/* ==========================================================================
   Melhorias de layout e conversão — Acalmando a Mente
   Carregado por último: sobrescreve estilos anteriores.
   ========================================================================== */
:root {
	--jc-navy: #000A4D;
	--jc-accent: #6B59BF;        /* cor de destaque única (lilás da marca) */
	--jc-accent-dark: #54449F;
	--jc-accent-soft: #EEEAFB;
	--jc-blue-soft: #E0EAFF;
	--jc-text: #2E2E2E;
	--jc-muted: #5A5F7A;
	--jc-radius: 16px;
	--jc-shadow: 0 10px 30px -12px rgba(0, 10, 77, 0.22);
}

/* ---------- 5. Uma fonte só (Lato) ---------- */
body,
body *:not(svg):not(path):not(circle):not([class*="eicon"]):not([class*="swiper-button"]) {
	font-family: "Lato", -apple-system, "Segoe UI", Roboto, sans-serif !important;
}

/* ---------- Botão padrão (6. uma cor de destaque) ---------- */
.jc-btn,
.jc-hero-btn,
.jc-card-btn-primary,
.jc-card-btn-secondary,
.elementor-23136 .elementor-element.elementor-element-2593fff .elementor-button {
	background: var(--jc-accent) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 24px -8px rgba(107, 89, 191, 0.55) !important;
	font-weight: 700 !important;
	letter-spacing: 0.3px;
	text-decoration: none !important;
	transition: background 0.2s ease, transform 0.2s ease;
}
.jc-btn:hover, .jc-btn:focus-visible,
.jc-hero-btn:hover, .jc-hero-btn:focus-visible,
.jc-card-btn-primary:hover, .jc-card-btn-primary:focus,
.jc-card-btn-secondary:hover, .jc-card-btn-secondary:focus,
.elementor-23136 .elementor-element.elementor-element-2593fff .elementor-button:hover {
	background: var(--jc-accent-dark) !important;
	color: #fff !important;
}
/* No card do combo (fundo escuro) o botão fica claro para contrastar */
.jc-price-card-featured .jc-card-btn-primary {
	background: #fff !important;
	color: var(--jc-navy) !important;
	box-shadow: 0 10px 24px -8px rgba(0, 0, 0, 0.45) !important;
}
.jc-price-card-featured .jc-card-btn-primary:hover { background: var(--jc-accent-soft) !important; color: var(--jc-navy) !important; }
.jc-price-card-featured .jc-card-features svg circle { fill: var(--jc-accent); }
.jc-savings-badge { background: var(--jc-accent) !important; color: #fff !important; }
.jc-farmacinha-title, .jc-pricing-main-title, .jc-card-title { color: var(--jc-navy) !important; }
.jc-price-card-featured .jc-card-title { color: #fff !important; }

/* Selos/etiquetas de seção */
.jc-section-tag {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 1.2px;
	color: var(--jc-accent);
	background: var(--jc-accent-soft);
	padding: 6px 14px;
	border-radius: 999px;
	margin-bottom: 12px;
	line-height: 1.3;
}
.jc-section-tag-center { display: table; margin-left: auto; margin-right: auto; }

/* ---------- 1. Topo com botão, preço e prova social ---------- */
.jc-hero-logo { max-width: 300px !important; width: 300px !important; height: auto !important; }
.jc-hero-cta-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	margin: 28px auto 0;
	text-align: center;
	width: 100%;
}
.jc-hero-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 18px 34px;
	font-size: 1.1rem;
}
.jc-hero-btn svg { width: 20px !important; height: 20px !important; flex: 0 0 20px; }
.jc-hero-subprice { margin: 0; font-size: 1rem; color: var(--jc-navy); }
.jc-hero-subprice strong { color: var(--jc-accent); }
.jc-hero-proof { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 760px; }
.jc-proof-pill {
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid rgba(107, 89, 191, 0.18);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 0.85rem;
	color: var(--jc-navy);
	line-height: 1.4;
}
.elementor-23136 .elementor-element.elementor-element-f0fdadb { padding-bottom: 8em; }

/* ---------- 8. "Sobre o curso" / "Ajudará a" em 2 colunas de cartões ---------- */
.jc-overview-two-col {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	max-width: 1100px;
	margin: 0 auto 48px;
	width: 100%;
}
.jc-overview-card {
	background: #fff;
	border-radius: var(--jc-radius);
	box-shadow: var(--jc-shadow);
	padding: 28px 28px 20px;
}
.jc-overview-card-head .elementor-heading-title {
	background: none !important;
	padding: 0 !important;
	color: var(--jc-navy) !important;
	font-size: 1.35rem !important;
	margin: 0 0 14px;
}
.jc-overview-card-head .elementor-widget-heading { background: none !important; padding: 0 !important; width: 100% !important; }
.jc-overview-card .elementor-icon-list-item,
.jc-for-who-list .elementor-icon-list-item {
	align-items: flex-start !important;
	padding: 8px 0 !important;
	border-bottom: 1px solid #F0EEF8;
}
.jc-overview-card .elementor-icon-list-item:last-child { border-bottom: 0; }
.jc-overview-card .elementor-icon-list-text,
.jc-for-who-list .elementor-icon-list-text { font-size: 1rem !important; color: var(--jc-text) !important; line-height: 1.5 !important; }
.jc-overview-card .elementor-icon-list-icon svg,
.jc-for-who-list .elementor-icon-list-icon svg { fill: var(--jc-accent) !important; width: 18px !important; height: 18px !important; margin-top: 3px; }

/* "Para quem é indicado" */
.elementor-23136 .elementor-element.elementor-element-1ce5121 { max-width: 1100px; margin: 0 auto; border-radius: var(--jc-radius); }
.elementor-23136 .elementor-element.elementor-element-ce19f19 > .elementor-widget-wrap { justify-content: center; text-align: center; }
.elementor-23136 .elementor-element.elementor-element-bc2ca6d { width: 100% !important; text-align: center; }
.elementor-23136 .elementor-element.elementor-element-bc2ca6d .elementor-heading-title {
	background: none !important; padding: 0 !important; color: var(--jc-navy) !important; font-size: 1.6rem !important;
}
.jc-for-who-list { width: 100%; }
.jc-for-who-list .elementor-icon-list-items {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 32px;
	text-align: left;
}
.jc-for-who-list .elementor-icon-list-item { margin: 0 !important; }

/* ---------- 9. Conteúdo do curso em acordeão ---------- */
.jc-curriculum-header { max-width: 880px; margin: 0 auto 24px; text-align: center; }
.jc-curriculum-header .elementor-heading-title { font-size: 2rem !important; }
.jc-modules-toggle-all {
	margin-top: 8px;
	background: transparent !important;
	color: var(--jc-accent) !important;
	border: 1.5px solid var(--jc-accent) !important;
	border-radius: 999px !important;
	padding: 10px 20px !important;
	font-size: 0.9rem !important;
	cursor: pointer;
}
.jc-modules-toggle-all:hover { background: var(--jc-accent-soft) !important; }
.jc-modules-grid {
	max-width: 880px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.jc-module-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 16px -8px rgba(0, 10, 77, 0.18);
	border: 1px solid #ECEAF6;
	overflow: hidden;
}
.jc-module-header {
	all: unset;
	box-sizing: border-box;
	width: 100%;
	display: grid !important;
	grid-template-columns: auto 1fr auto 22px;
	align-items: center;
	gap: 14px;
	padding: 16px 20px !important;
	cursor: pointer;
	background: #fff !important;
	color: var(--jc-navy) !important;
}
.jc-module-header:hover { background: #FAF9FE !important; }
.jc-module-header:focus-visible { outline: 2px solid var(--jc-accent); outline-offset: -2px; }
.jc-module-num {
	font-size: 0.72rem; font-weight: 700; letter-spacing: 1px;
	color: var(--jc-accent); background: var(--jc-accent-soft);
	padding: 4px 10px; border-radius: 999px; white-space: nowrap;
}
.jc-module-title { font-size: 1.02rem; font-weight: 700; line-height: 1.35; }
.jc-module-meta { font-size: 0.85rem; color: var(--jc-muted); white-space: nowrap; }
.jc-module-chevron {
	width: 10px; height: 10px;
	border-right: 2px solid var(--jc-accent);
	border-bottom: 2px solid var(--jc-accent);
	transform: rotate(45deg);
	transition: transform 0.25s ease;
	justify-self: center;
	margin-top: -4px;
}
.jc-module-card.is-open .jc-module-chevron { transform: rotate(-135deg); margin-top: 4px; }
.jc-module-body {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease;
}
.jc-module-body > p {
	overflow: hidden;
	margin: 0;
	padding: 0 20px;
	font-size: 0.98rem;
	line-height: 2;
	color: var(--jc-text);
}
.jc-module-card.is-open .jc-module-body { grid-template-rows: 1fr; }
.jc-module-card.is-open .jc-module-body > p { padding: 4px 20px 18px; border-top: 1px solid #F0EEF8; }
.jc-module-body strong { color: var(--jc-accent); font-weight: 700; }

/* ---------- 11 e 12. Depoimentos ---------- */
.elementor-23136 .elementor-element.elementor-element-e01671d { padding-bottom: 2.5em !important; }
.elementor-23136 .elementor-element.elementor-element-5e02e4f { padding-top: 4em !important; }
.elementor-23136 .elementor-element.elementor-element-9f09701 .elementor-heading-title { color: var(--jc-navy) !important; font-size: 1.6rem !important; }
.elementor-23136 .elementor-element.elementor-element-50cd66d .swiper-slide { height: auto !important; }
.elementor-23136 .elementor-element.elementor-element-50cd66d .elementor-testimonial {
	display: flex; flex-direction: column-reverse; height: 100%;
	background: #fff; border-radius: var(--jc-radius); box-shadow: var(--jc-shadow); padding: 22px;
}
.elementor-23136 .elementor-element.elementor-element-50cd66d .elementor-testimonial__content {
	background: none !important; padding: 14px 0 0 !important; flex: 1;
}
.elementor-23136 .elementor-element.elementor-element-50cd66d .elementor-testimonial__content::after { display: none !important; }
.elementor-23136 .elementor-element.elementor-element-50cd66d .elementor-testimonial__text {
	font-style: normal !important; font-size: 0.98rem !important; line-height: 1.6 !important; color: var(--jc-text) !important;
}
.elementor-23136 .elementor-element.elementor-element-50cd66d .elementor-testimonial__footer {
	padding: 0 !important; display: flex; align-items: center; gap: 12px; margin: 0 !important;
}
.elementor-23136 .elementor-element.elementor-element-50cd66d .elementor-testimonial__image { margin: 0 !important; }
.jc-avatar {
	width: 44px; height: 44px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	color: #fff; font-weight: 700; font-size: 1rem; letter-spacing: 0.5px;
}
.elementor-23136 .elementor-element.elementor-element-50cd66d .elementor-testimonial__cite { display: flex; flex-direction: column; text-align: left; }
.elementor-23136 .elementor-element.elementor-element-50cd66d .elementor-testimonial__name { font-size: 1rem !important; color: var(--jc-navy) !important; }
.elementor-23136 .elementor-element.elementor-element-50cd66d .elementor-testimonial__title { font-size: 0.85rem !important; }

/* ---------- 10. Bônus ---------- */
.elementor-23136 .elementor-element.elementor-element-46daeaa {
	background: none !important; width: 100% !important; max-width: 100% !important; text-align: center; padding: 0 !important;
}
.elementor-23136 .elementor-element.elementor-element-46daeaa .elementor-heading-title {
	color: var(--jc-navy) !important; font-size: 2rem !important;
}
.jc-bonus-total {
	text-align: center; margin: 6px auto 0; font-size: 1.1rem; color: var(--jc-navy);
	width: 100%;
}
.jc-bonus-total strong { color: var(--jc-accent); }
.jc-bonus-row { padding-top: 24px !important; }
.jc-bonus-row > .elementor-container { gap: 24px; max-width: 1100px !important; align-items: stretch; }
.jc-bonus-row .elementor-column { display: flex; }
.jc-bonus-row .elementor-column > .elementor-element-populated {
	margin: 0 !important;
	--e-column-margin-left: 0 !important; --e-column-margin-right: 0 !important;
	width: 100%;
	height: 100%;
	border-radius: var(--jc-radius) !important;
	box-shadow: var(--jc-shadow) !important;
	background: #fff !important;
	padding: 28px 24px !important;
	align-content: flex-start !important;
}
.jc-bonus-icon {
	display: flex; align-items: center; justify-content: center;
	width: 52px; height: 52px; border-radius: 14px;
	background: var(--jc-accent-soft); font-size: 1.6rem; margin: 0 auto 14px;
}
.jc-bonus-row .elementor-heading-title { font-size: 1.1rem !important; line-height: 1.35 !important; color: var(--jc-navy) !important; }
.jc-bonus-row .elementor-widget-text-editor { margin: 8px 0 0 !important; }
.jc-bonus-row .elementor-widget-text-editor p { font-size: 0.96rem; line-height: 1.6; margin: 0 0 10px; }
.jc-bonus-row .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ---------- 2. Instrutora antes dos preços ---------- */
.elementor-23136 .elementor-element.elementor-element-6c6da95 { padding: 5em 2em !important; }
.elementor-23136 .elementor-element.elementor-element-aa457d8 > .elementor-container { max-width: 1050px !important; align-items: center; gap: 48px; }
.elementor-23136 .elementor-element.elementor-element-769ac6e { margin-top: 0 !important; text-align: left !important; }
.elementor-23136 .elementor-element.elementor-element-769ac6e .elementor-heading-title { font-size: 2rem !important; }
.elementor-23136 .elementor-element.elementor-element-6c6da95 .elementor-widget-text-editor { width: 100% !important; max-width: 100% !important; }
.elementor-23136 .elementor-element.elementor-element-6c6da95 .elementor-widget-text-editor p { font-size: 1.02rem; line-height: 1.65; margin: 0; }
.elementor-23136 .elementor-element.elementor-element-6c6da95 .elementor-widget:not(:last-child) { margin-bottom: 14px !important; }
.jc-instructor-photo {
	width: 100% !important;
	max-width: 420px !important;
	height: auto !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 80%;
	border-radius: 24px !important;
	box-shadow: var(--jc-shadow);
	display: block;
	margin: 0 auto;
}

/* ---------- 13. FAQ ---------- */
.elementor-23136 .elementor-element.elementor-element-f29d2e4 .elementor-toggle-item {
	background: #fff; border-radius: 12px; margin-bottom: 10px !important;
	box-shadow: 0 4px 16px -8px rgba(0, 10, 77, 0.18); border: 1px solid #ECEAF6; overflow: hidden;
}
.elementor-23136 .elementor-element.elementor-element-f29d2e4 .elementor-tab-title {
	display: flex !important; align-items: center; justify-content: space-between; flex-direction: row-reverse;
	gap: 16px; background: #fff !important; padding: 18px 20px !important; border: 0 !important;
}
.elementor-23136 .elementor-element.elementor-element-f29d2e4 .elementor-toggle-title {
	font-size: 1rem !important; line-height: 1.4 !important; color: var(--jc-navy) !important; margin: 0 !important;
}
.jc-faq-icon {
	position: relative; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%;
	background: var(--jc-accent-soft); transition: transform 0.25s ease, background 0.25s ease;
}
.jc-faq-icon::before, .jc-faq-icon::after {
	content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px;
	background: var(--jc-accent); transform: translate(-50%, -50%); border-radius: 2px;
}
.jc-faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.elementor-tab-title.elementor-active .jc-faq-icon { transform: rotate(45deg); background: var(--jc-accent); }
.elementor-tab-title.elementor-active .jc-faq-icon::before,
.elementor-tab-title.elementor-active .jc-faq-icon::after { background: #fff; }
.elementor-23136 .elementor-element.elementor-element-f29d2e4 .elementor-tab-content {
	border: 0 !important; padding: 0 20px 18px !important; font-size: 0.98rem; line-height: 1.6;
}
.elementor-tab-content.elementor-active { animation: jcFaqIn 0.28s ease; }
@keyframes jcFaqIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ---------- 3. Chamado final ---------- */
.jc-final-cta {
	background: linear-gradient(180deg, #FFFCF6 0%, var(--jc-blue-soft) 100%);
	padding: 72px 20px 96px;
}
.jc-final-inner { max-width: 760px; margin: 0 auto; text-align: center; }
.jc-final-title { color: var(--jc-navy) !important; font-size: 2rem !important; line-height: 1.3 !important; margin: 0 0 12px !important; }
.jc-final-lead { font-size: 1.08rem; color: var(--jc-text); margin: 0 auto 28px; max-width: 620px; }
.jc-final-card {
	background: #fff; border-radius: 20px; box-shadow: var(--jc-shadow);
	padding: 32px 28px; max-width: 460px; margin: 0 auto;
	display: flex; flex-direction: column; align-items: center; gap: 14px;
	border: 2px solid var(--jc-accent);
}
.jc-final-badge {
	font-size: 0.75rem; font-weight: 700; letter-spacing: 1px; color: #fff;
	background: var(--jc-accent); padding: 6px 14px; border-radius: 999px;
}
.jc-final-price { display: flex; flex-direction: column; gap: 2px; }
.jc-final-old { text-decoration: line-through; color: var(--jc-muted); font-size: 0.95rem; }
.jc-final-inst { font-size: 1.2rem; color: var(--jc-navy); }
.jc-final-inst strong { font-size: 2.4rem; }
.jc-final-cash { font-size: 0.95rem; color: var(--jc-muted); }
.jc-final-btn { display: block; width: 100%; padding: 18px 20px; font-size: 1.05rem; text-align: center; }
.jc-final-alt { font-size: 0.9rem !important; color: var(--jc-accent) !important; font-weight: 400 !important; }
.jc-final-guarantee { margin: 22px 0 0; font-size: 0.92rem; color: var(--jc-muted); }

/* ---------- 7. Rodapé ---------- */
.elementor-20781 .elementor-element.elementor-element-491a188 { background: var(--jc-navy) !important; padding: 28px 20px !important; }
.jc-footer { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.jc-footer-brand { color: #fff; font-weight: 700; font-size: 1.1rem; }
.jc-footer-ig { color: #C5AAEF !important; font-size: 0.95rem !important; font-weight: 400 !important; text-decoration: none; }
.jc-footer-ig:hover { text-decoration: underline; }
.jc-footer-copy { color: rgba(255, 255, 255, 0.65); font-size: 0.82rem; }


/* ---------- Responsivo ---------- */
@media (max-width: 1024px) {
	.elementor-23136 .elementor-element.elementor-element-aa457d8 > .elementor-container { gap: 24px; }
}
@media (max-width: 767px) {
	.jc-overview-two-col { grid-template-columns: 1fr; gap: 16px; margin-bottom: 32px; }
	.jc-overview-card { padding: 22px 18px 14px; }
	.jc-for-who-list .elementor-icon-list-items { grid-template-columns: 1fr; }
	.jc-hero-btn { padding: 16px 22px; font-size: 1rem; }
	.jc-hero-logo { max-width: 230px !important; width: 230px !important; }
	.jc-proof-pill { font-size: 0.8rem; }
	.jc-module-header { grid-template-columns: 1fr 22px; gap: 4px 10px; padding: 14px 16px !important; }
	.jc-module-num { grid-column: 1; justify-self: start; }
	.jc-module-title { grid-column: 1; }
	.jc-module-meta { grid-column: 1; }
	.jc-module-chevron { grid-column: 2; grid-row: 1 / span 3; }
	.jc-curriculum-header .elementor-heading-title { font-size: 1.6rem !important; }
	.jc-bonus-row > .elementor-container { gap: 16px; }
	.jc-bonus-row .elementor-column { width: 100% !important; }
	.elementor-23136 .elementor-element.elementor-element-46daeaa .elementor-heading-title { font-size: 1.6rem !important; }
	.elementor-23136 .elementor-element.elementor-element-6c6da95 { padding: 3em 1.25em !important; }
	.elementor-23136 .elementor-element.elementor-element-769ac6e { text-align: center !important; }
	.jc-instructor-photo { max-width: 300px !important; }
	.jc-final-title { font-size: 1.5rem !important; }
	.jc-final-cta { padding: 56px 16px 72px; }
	.jc-final-card { padding: 26px 18px; }
}
.elementor-23136 .elementor-element.elementor-element-bc2ca6d,
.elementor-23136 .elementor-element.elementor-element-bc2ca6d > .elementor-widget-container { background: none !important; padding: 0 !important; }
.jc-guarantee-strip { justify-content: center; }
html { scroll-behavior: smooth; }
#garanta-sua-vaga { scroll-margin-top: 24px; }

/* Pulsar mais lento e suave nos botões (antes: 0,3s, muito rápido) */
@keyframes jcPulseSoft { to { transform: scale(1.04); } }
.elementor-animation-pulse-grow:active,
.elementor-animation-pulse-grow:focus,
.elementor-animation-pulse-grow:hover {
	animation-name: jcPulseSoft;
	animation-duration: 1.2s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}
@media (prefers-reduced-motion: reduce) {
	.elementor-animation-pulse-grow:active,
	.elementor-animation-pulse-grow:focus,
	.elementor-animation-pulse-grow:hover { animation: none; }
}

/* ===== Ajustes de ritmo e comprimento (análise mobile) ===== */
/* 2. Bônus: selo de valor + "ver detalhes" */
.jc-bonus-badge {
	display: inline-block; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase;
	color: var(--jc-accent); background: var(--jc-accent-soft); padding: 5px 12px; border-radius: 999px; margin-bottom: 10px;
}
.jc-bonus-row .elementor-widget-text-editor { text-align: left; }
.jc-bonus-more summary {
	cursor: pointer; color: var(--jc-accent); font-weight: 700; font-size: 0.9rem; list-style: none; margin-top: 4px;
}
.jc-bonus-more summary::-webkit-details-marker { display: none; }
.jc-bonus-more summary::after { content: " +"; }
.jc-bonus-more[open] summary::after { content: " –"; }
.jc-bonus-more p { margin-top: 10px; }
/* 5. buracos entre fileiras e antes da instrutora */
.jc-bonus-row { padding-top: 0 !important; margin-top: 24px !important; }
.jc-bonus-row .elementor-column > .elementor-element-populated { padding: 22px 22px 18px !important; }
.elementor-23136 .elementor-element.elementor-element-6c6da95 { padding-top: 3.5em !important; padding-bottom: 3.5em !important; }
.elementor-23136 .elementor-element.elementor-element-49734a9 { padding-bottom: 3em !important; }
/* 7. módulos em uma linha */
.jc-module-header { padding: 13px 18px !important; }
/* 8. topo: respiro no botão; frase de apoio mais leve */
.jc-hero-cta-wrap { margin-bottom: 8px; }
.elementor-23136 .elementor-element.elementor-element-2d9dd7b .elementor-heading-title { font-weight: 400 !important; font-size: 1.1rem !important; }
/* 9. título animado sem pulo */
.elementor-23136 .elementor-element.elementor-element-7b707e4 .elementor-headline { min-height: 2.8em; }
/* 1. botão intermediário */
.jc-mid-cta { text-align: center; margin: 0 0 8px; width: 100%; }
.jc-mid-btn { display: inline-block; padding: 16px 30px; font-size: 1rem; }
/* 12. bloco final enxuto */
.jc-final-card { padding: 26px 24px; }
/* 13. contraste do rodapé */
.jc-footer-copy { color: rgba(255,255,255,0.85); }
.jc-footer-ig { color: #D7C9ED !important; }

@media (max-width: 767px) {
	.jc-module-header { grid-template-columns: auto 1fr auto 18px; gap: 10px; align-items: center; padding: 12px 14px !important; }
	.jc-module-num { grid-column: auto; font-size: 0.66rem; padding: 3px 8px; }
	.jc-module-title { grid-column: auto; font-size: 0.95rem; }
	.jc-module-meta { grid-column: auto; font-size: 0.78rem; }
	.jc-module-chevron { grid-column: auto; grid-row: auto; }
	.elementor-23136 .elementor-element.elementor-element-7b707e4 .elementor-headline { min-height: 3em; }
	.elementor-23136 .elementor-element.elementor-element-769ac6e .elementor-heading-title { font-size: 1.5rem !important; }
	.jc-bonus-row { margin-top: 14px !important; }
	.jc-bonus-row > .elementor-container { gap: 14px; }
	.elementor-23136 .elementor-element.elementor-element-6c6da95 { padding: 2.5em 1.25em !important; margin-top: 0 !important; }
	.jc-final-cta { padding: 44px 16px 56px; }
	.jc-final-lead { font-size: 1rem; margin-bottom: 20px; }
	.jc-farmacinha-showcase { padding: 22px 16px; }
	.jc-farmacinha-title { font-size: 1.25rem; }
	.jc-section-tag { font-size: 0.7rem; }
}
/* Farmacinha: detalhes recolhidos no celular, abertos no computador */
.jc-farmacinha-toggle { display: none; }
@media (max-width: 767px) {
	.jc-farmacinha-details > summary.jc-farmacinha-toggle {
		display: inline-block; list-style: none; cursor: pointer; padding: 13px 22px; font-size: 0.95rem;
		background: #fff !important; color: var(--jc-accent) !important; border: 1.5px solid var(--jc-accent) !important; box-shadow: none !important;
		margin: 4px auto 0; text-align: center;
	}
	.jc-farmacinha-toggle::-webkit-details-marker { display: none; }
	.jc-farmacinha-details[open] > .jc-farmacinha-toggle { margin-bottom: 18px; }
	.jc-farmacinha-header { margin-bottom: 0; text-align: center; }
	.jc-farmacinha-title { font-size: 1.2rem; }
	.jc-farmacinha-lead { font-size: 0.92rem; }
}
@media (min-width: 768px) {
	.jc-farmacinha-details { display: block; }
	.jc-farmacinha-details > summary { display: none; }
	.jc-farmacinha-details > .jc-farmacinha-grid { display: grid; }
}

/* ===== Paleta da logo (acentos) ===== */
:root {
	--jc-rosa: #D6337F;     --jc-rosa-soft: #FDEBF3;
	--jc-laranja: #E0661B;  --jc-laranja-soft: #FFF0E3;
	--jc-amarelo: #B98500;  --jc-amarelo-soft: #FFF6D9;
	--jc-turquesa: #0E8F88; --jc-turquesa-soft: #E2F6F4;
	--jc-verde: #3E8E2E;    --jc-verde-soft: #EAF6E4;
	--jc-lilas-soft: #F3EFFC;
}
/* selos dos bônus em cores alternadas */
.jc-bonus-badge.jc-c-rosa     { color: var(--jc-rosa) !important;     background: var(--jc-rosa-soft) !important; }
.jc-bonus-badge.jc-c-laranja  { color: var(--jc-laranja) !important;  background: var(--jc-laranja-soft) !important; }
.jc-bonus-badge.jc-c-amarelo  { color: var(--jc-amarelo) !important;  background: var(--jc-amarelo-soft) !important; }
.jc-bonus-badge.jc-c-turquesa { color: var(--jc-turquesa) !important; background: var(--jc-turquesa-soft) !important; }
.jc-bonus-badge.jc-c-verde    { color: var(--jc-verde) !important;    background: var(--jc-verde-soft) !important; }
/* faixa colorida no topo de cada card de bônus */
.jc-bonus-row .elementor-column > .elementor-element-populated { border-top: 4px solid var(--jc-accent) !important; }
.jc-bonus-row .elementor-column:has(.jc-c-rosa) > .elementor-element-populated     { border-top-color: #F28DBB !important; }
.jc-bonus-row .elementor-column:has(.jc-c-laranja) > .elementor-element-populated  { border-top-color: #F7A05B !important; }
.jc-bonus-row .elementor-column:has(.jc-c-amarelo) > .elementor-element-populated  { border-top-color: #F5C842 !important; }
.jc-bonus-row .elementor-column:has(.jc-c-turquesa) > .elementor-element-populated { border-top-color: #6FD3CB !important; }
.jc-bonus-row .elementor-column:has(.jc-c-verde) > .elementor-element-populated    { border-top-color: #8CC97A !important; }

/* temas da Farmacinha: uma cor de flor para cada */
.jc-pillars-grid li:nth-child(1) .jc-pill-dot { background: var(--jc-rosa) !important; }
.jc-pillars-grid li:nth-child(2) .jc-pill-dot { background: var(--jc-laranja) !important; }
.jc-pillars-grid li:nth-child(3) .jc-pill-dot { background: var(--jc-amarelo) !important; }
.jc-pillars-grid li:nth-child(4) .jc-pill-dot { background: var(--jc-turquesa) !important; }
.jc-pillars-grid li:nth-child(5) .jc-pill-dot { background: var(--jc-verde) !important; }
.jc-pillars-grid li:nth-child(6) .jc-pill-dot { background: var(--jc-accent) !important; }

/* módulos em turquesa; checks das listas em verde-folha */
.jc-module-num { color: var(--jc-turquesa) !important; background: var(--jc-turquesa-soft) !important; }
.jc-module-chevron { border-color: var(--jc-turquesa) !important; }
.jc-module-body strong { color: var(--jc-turquesa) !important; }
.jc-overview-card .elementor-icon-list-icon svg,
.jc-for-who-list .elementor-icon-list-icon svg { fill: var(--jc-verde) !important; }
.jc-bonus-mini-list svg circle { fill: var(--jc-verde); }
.jc-overview-card:nth-child(2) .jc-section-tag { color: var(--jc-rosa); background: var(--jc-rosa-soft); }
.jc-overview-card:nth-child(1) .jc-section-tag { color: var(--jc-turquesa); background: var(--jc-turquesa-soft); }

/* fundos das seções alternando tons claros da logo */
.elementor-23136 .elementor-element.elementor-element-1ce5121:not(.elementor-motion-effects-element-type-background) { background-color: var(--jc-lilas-soft) !important; }
.elementor-23136 .elementor-element.elementor-element-fb124db { background: var(--jc-turquesa-soft) !important; }
.elementor-23136 .elementor-element.elementor-element-2adc1a4:not(.elementor-motion-effects-element-type-background) { background-color: var(--jc-lilas-soft) !important; }
.elementor-23136 .elementor-element.elementor-element-a33b1f6 > .elementor-element-populated { background: #fff !important; border-radius: 20px; box-shadow: var(--jc-shadow); }
.elementor-23136 .elementor-element.elementor-element-e01671d { background: var(--jc-rosa-soft) !important; }
.elementor-23136 .elementor-element.elementor-element-5e02e4f:not(.elementor-motion-effects-element-type-background) { background-color: var(--jc-amarelo-soft) !important; }
.elementor-23136 .elementor-element.elementor-element-49734a9:not(.elementor-motion-effects-element-type-background) { background-color: #E6E0F8 !important; }
.elementor-23136 .elementor-element.elementor-element-778dbf8 { background: var(--jc-verde-soft) !important; }
.jc-final-cta { background: linear-gradient(180deg, var(--jc-verde-soft) 0%, var(--jc-lilas-soft) 100%) !important; }

/* florzinhas nos cantos (cores da logo) */
.elementor-23136 .elementor-element.elementor-element-fb124db,
.elementor-23136 .elementor-element.elementor-element-e01671d,
.elementor-23136 .elementor-element.elementor-element-778dbf8,
.jc-final-cta { position: relative; overflow: hidden; }
.elementor-23136 .elementor-element.elementor-element-fb124db::before,
.elementor-23136 .elementor-element.elementor-element-e01671d::before,
.elementor-23136 .elementor-element.elementor-element-778dbf8::before,
.jc-final-cta::before {
	content: ""; position: absolute; width: 120px; height: 120px; pointer-events: none; opacity: 0.55;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23F28DBB'%3E%3Cellipse cx='50' cy='24' rx='13' ry='20'/%3E%3Cellipse cx='50' cy='76' rx='13' ry='20'/%3E%3Cellipse cx='24' cy='50' rx='20' ry='13'/%3E%3Cellipse cx='76' cy='50' rx='20' ry='13'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='11' fill='%23F5C842'/%3E%3C/svg%3E") no-repeat center / contain;
	top: -30px; right: -30px;
}
.elementor-23136 .elementor-element.elementor-element-e01671d::before { filter: hue-rotate(150deg); left: -30px; right: auto; }
.elementor-23136 .elementor-element.elementor-element-778dbf8::before { filter: hue-rotate(60deg); }
.jc-final-cta::before { filter: hue-rotate(230deg); left: -30px; right: auto; top: auto; bottom: -30px; }
.elementor-23136 .elementor-element.elementor-element-fb124db > *,
.elementor-23136 .elementor-element.elementor-element-e01671d > *,
.elementor-23136 .elementor-element.elementor-element-778dbf8 > *,
.jc-final-cta > * { position: relative; z-index: 1; }
@media (max-width: 767px) {
	.elementor-23136 .elementor-element.elementor-element-fb124db::before,
	.elementor-23136 .elementor-element.elementor-element-e01671d::before,
	.elementor-23136 .elementor-element.elementor-element-778dbf8::before,
	.jc-final-cta::before { width: 80px; height: 80px; }
}

/* ===== Card do Combo (novo design) ===== */
.jc-price-card.jc-combo {
	background: #fff !important; border: 2px solid var(--jc-accent) !important; border-radius: 24px !important;
	padding: 0 !important; overflow: hidden; color: var(--jc-text) !important;
	box-shadow: 0 24px 50px -20px rgba(107, 89, 191, 0.55) !important; transform: none !important;
}
.jc-combo-head {
	background: linear-gradient(135deg, #7B68D4 0%, #6B59BF 55%, #8E6FD0 100%);
	color: #fff; text-align: center; padding: 28px 24px 24px;
}
.jc-combo-badge {
	display: inline-block; background: rgba(255,255,255,0.18); border: 1px solid rgba(255,255,255,0.35);
	color: #fff; font-size: 0.72rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
	padding: 6px 14px; border-radius: 999px; margin-bottom: 14px;
}
.jc-combo-title { color: #fff !important; font-size: 1.4rem !important; line-height: 1.3 !important; margin: 0 0 8px !important; font-weight: 700 !important; }
.jc-combo-plus { color: #FFD66B; }
.jc-combo-desc { margin: 0; font-size: 0.95rem; line-height: 1.5; color: rgba(255,255,255,0.9); }
.jc-combo-price {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px;
	padding: 24px 24px 20px; background: var(--jc-lilas-soft, #F3EFFC); border-bottom: 1px solid #ECE6FA;
}
.jc-combo-save { background: var(--jc-verde-soft, #EAF6E4); color: var(--jc-verde, #3E8E2E); font-weight: 700; font-size: 0.8rem; padding: 5px 12px; border-radius: 999px; margin-bottom: 6px; }
.jc-combo-old { text-decoration: line-through; color: var(--jc-muted); font-size: 0.92rem; }
.jc-combo-inst { color: var(--jc-navy); font-size: 1.15rem; line-height: 1.1; }
.jc-combo-inst strong { font-size: 2.6rem; font-weight: 700; }
.jc-combo-cash { color: var(--jc-muted); font-size: 0.92rem; margin-bottom: 12px; }
.jc-combo-btn { display: block; width: 100%; padding: 17px 20px; font-size: 1.05rem; text-align: center; }
.jc-combo-safe { font-size: 0.8rem; color: var(--jc-muted); margin-top: 8px; }
.jc-combo-list { list-style: none; margin: 0; padding: 20px 24px 26px; display: flex; flex-direction: column; gap: 12px; }
.jc-combo-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 0.95rem; line-height: 1.45; color: var(--jc-text); }
.jc-combo-list svg { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 1px; }
.jc-combo-list strong { color: var(--jc-navy); }
@media (max-width: 767px) {
	.jc-combo-head { padding: 24px 18px 20px; }
	.jc-combo-title { font-size: 1.25rem !important; }
	.jc-combo-price { padding: 20px 18px 18px; }
	.jc-combo-inst strong { font-size: 2.3rem; }
	.jc-combo-list { padding: 18px 18px 22px; }
}

/* Selos "Como funciona" / "Benefícios reais" centralizados com o título */
.jc-overview-card-head { display: flex; flex-direction: column; align-items: center; text-align: center; margin-bottom: 6px; }
.jc-overview-card-head .jc-section-tag { margin-bottom: 10px; }
.jc-overview-card-head .elementor-heading-title { text-align: center; margin-bottom: 4px !important; }
