/* =============================================================================
 *  lp-blocks-v2.css — CSS dedicado aos blocos da Landing Page v2.
 *  Versão: 1.0  ·  Data: 2026-05-29
 *  Carregado pelo tema filho via wp_enqueue_scripts (ver inc/lp-renderers.php)
 *  quando is_singular('landing_page').
 *
 *  Princípio: estende os tokens já definidos em style.css (--pd-blue*, etc.)
 *  sem duplicar. Mobile-first. Sem JS para nada além do necessário.
 * ============================================================================= */

:root {
	/* Tokens estendidos formalizados a partir do design system. */
	--pd-space-xs: 4px;
	--pd-space-sm: 8px;
	--pd-space-md: 16px;
	--pd-space-lg: 24px;
	--pd-space-xl: 40px;
	--pd-space-2xl: 56px;
	--pd-space-3xl: 84px;
	--pd-space-4xl: 120px;

	--pd-shadow-card: 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 12px rgba(0, 0, 0, 0.04);
	--pd-shadow-cta: 0 8px 20px rgba(0, 119, 204, 0.35);
	--pd-shadow-cta-wa: 0 8px 20px rgba(37, 211, 102, 0.35);

	--pd-radius-card: 12px;
	--pd-radius-btn: 8px;
	--pd-radius-image: 16px;

	--pd-border-fine: 1px solid rgba(0, 0, 0, 0.08);
	--pd-border-fine-light: 1px solid rgba(255, 255, 255, 0.12);
}

/* -----------------------------------------------------------------------------
 *  Seções base
 * -------------------------------------------------------------------------- */
.pd-section {
	position: relative;
	padding-block: var(--pd-space-2xl);
	background: var(--pd-white);
}
.pd-section--alt { background: var(--pd-bg); }

.pd-section__inner {
	max-width: var(--pd-maxw, 1200px);
	margin: 0 auto;
	padding-inline: var(--pd-space-lg);
}
.pd-section__inner--narrow {
	max-width: var(--pd-maxw-content, 920px);
}

.pd-pre-headline {
	font-family: var(--pd-font-body);
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pd-blue);
	margin: 0 0 var(--pd-space-md);
}

.pd-section__title {
	font-family: var(--pd-font-display);
	color: var(--pd-blue-dark);
	font-size: clamp(1.7rem, 5vw, 2.6rem);
	line-height: 1.05;
	margin: 0 0 var(--pd-space-lg);
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.pd-section__title--centered { text-align: center; }

.pd-section-intro {
	font-family: var(--pd-font-body);
	color: var(--pd-text);
	font-size: 1.05rem;
	line-height: 1.55;
	margin: 0 0 var(--pd-space-xl);
	max-width: var(--pd-maxw-text, 760px);
}
.pd-section-intro--centered { margin-inline: auto; text-align: center; }

@media (min-width: 1024px) {
	.pd-section { padding-block: var(--pd-space-3xl); }
}

/* -----------------------------------------------------------------------------
 *  Botões
 * -------------------------------------------------------------------------- */
.pd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--pd-space-sm);
	padding: 16px 28px;
	font-family: var(--pd-font-body);
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
	border-radius: var(--pd-radius-btn);
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-align: center; /* centraliza o texto quando o rótulo quebra em 2 linhas (ex.: "Ver no Google Maps" no mobile) */
	border: 0;
	cursor: pointer;
}
.pd-btn:hover { transform: translateY(-2px); }
.pd-btn:focus-visible { outline: 3px solid var(--pd-blue-light); outline-offset: 3px; }

.pd-btn__icon { width: 20px; height: 20px; fill: currentColor; flex: 0 0 20px; }
.pd-btn__label { line-height: 1; }

.pd-btn--primary {
	background: var(--pd-blue);
	color: var(--pd-white);
	box-shadow: var(--pd-shadow-cta);
}
.pd-btn--primary:hover { background: var(--pd-blue-light); color: var(--pd-white); }

.pd-btn--whatsapp {
	background: var(--pd-whatsapp);
	color: var(--pd-white);
	box-shadow: var(--pd-shadow-cta-wa);
}
.pd-btn--whatsapp:hover { background: var(--pd-whatsapp-d); color: var(--pd-white); }

.pd-btn--outline {
	background: transparent;
	color: var(--pd-blue);
	border: 2px solid var(--pd-blue);
}
.pd-btn--outline:hover { background: var(--pd-blue); color: var(--pd-white); }

/* -----------------------------------------------------------------------------
 *  Bullets / listas
 * -------------------------------------------------------------------------- */
.pd-bullets {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: var(--pd-space-md);
}
.pd-bullets li {
	display: flex;
	gap: var(--pd-space-md);
	align-items: flex-start;
	font-size: 1.02rem;
	line-height: 1.5;
}
.pd-bullet-icon {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-weight: 700;
	font-size: 0.85rem;
}
.pd-bullet-icon--ok {
	background: rgba(0, 119, 204, 0.10);
	color: var(--pd-blue);
}
.pd-bullets--negative li { color: var(--pd-text); }
.pd-bullets--negative .pd-bullet-icon,
.pd-bullets--negative li > span[aria-hidden] {
	background: rgba(0, 0, 0, 0.05);
	color: var(--pd-ash);
}
@media (min-width: 768px) {
	.pd-bullets--two-col { grid-template-columns: repeat(2, 1fr); column-gap: var(--pd-space-xl); }
	.pd-bullets--grid { grid-template-columns: repeat(2, 1fr); column-gap: var(--pd-space-xl); }
}
@media (min-width: 1024px) {
	.pd-bullets--grid { grid-template-columns: repeat(3, 1fr); }
}

/* -----------------------------------------------------------------------------
 *  BLOCO 1 — HERO
 * -------------------------------------------------------------------------- */
.pd-section--hero {
	position: relative;
	overflow: hidden;
	padding: 0;
	background: var(--pd-blue-deep);
	min-height: 540px;
	display: flex;
	align-items: center;
}
.pd-hero__bg {
	position: absolute; inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.pd-hero__overlay {
	position: absolute; inset: 0;
	background: linear-gradient(140deg, rgba(0, 38, 77, 0.92) 0%, rgba(0, 51, 102, 0.78) 100%);
}
/* Hero da EQUIPE (composição Rodada 9): overlay leve — escuro só no topo (headline)
 * e na base; transparente no meio para os professores aparecerem. */
.pd-hero--equipe .pd-hero__overlay {
	background: linear-gradient(180deg,
		rgba(0, 14, 30, 0.80) 0%,
		rgba(0, 14, 30, 0.44) 24%,
		rgba(0, 18, 38, 0.10) 50%,
		rgba(0, 18, 38, 0.00) 72%,
		rgba(0, 18, 38, 0.34) 100%);
}
/* Art direction mobile: troca a imagem de fundo por uma composição vertical
 * (professores em foco, ancorados na base). Inline style usa var(--pd-hero-bg);
 * aqui sobrescrevemos para a versão mobile. */
@media (max-width: 768px) {
	.pd-hero--equipe .pd-hero__bg {
		background-image: var(--pd-hero-bg-mobile) !important;
		background-position: center bottom;
	}
}
.pd-hero__inner {
	position: relative;
	z-index: 2;
	max-width: var(--pd-maxw, 1200px);
	margin: 0 auto;
	padding: var(--pd-space-3xl) var(--pd-space-lg);
	color: var(--pd-white);
	display: flex;
	flex-direction: column;
	gap: var(--pd-space-lg);
}
.pd-hero__selo {
	display: inline-block;
	background: rgba(255, 255, 255, 0.12);
	border: var(--pd-border-fine-light);
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	align-self: flex-start;
}
.pd-hero__inner .pd-pre-headline {
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
}
.pd-hero-headline {
	font-family: var(--pd-font-display);
	font-size: clamp(2.4rem, 7vw, 4.2rem);
	line-height: 1.02;
	margin: 0;
	max-width: 22ch; /* respiro: limita a largura e força quebra equilibrada */
	text-transform: uppercase;
	letter-spacing: 0.01em;
}
.pd-hero-subheadline {
	font-family: var(--pd-font-body);
	font-size: clamp(1rem, 2.5vw, 1.2rem);
	line-height: 1.5;
	margin: 0;
	max-width: 720px;
	color: rgba(255, 255, 255, 0.92);
}
.pd-hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pd-space-md) var(--pd-space-xl);
	font-weight: 600;
	color: var(--pd-white);
}
.pd-hero__fact { display: inline-flex; gap: 8px; align-items: center; }
.pd-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pd-space-md);
	margin-top: var(--pd-space-md);
}
@media (min-width: 768px) {
	.pd-section--hero { min-height: 620px; }
}

/* -----------------------------------------------------------------------------
 *  BLOCO 1B — HERO BADGES (prova social institucional + microcopy CTA)
 *  Faixa estreita ENTRE hero e quick_facts. Não rouba protagonismo do hero.
 * -------------------------------------------------------------------------- */
.pd-section--hero-badges {
	background: var(--pd-blue-deep);
	color: rgba(255, 255, 255, 0.92);
	padding-block: var(--pd-space-lg);
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.pd-hero-badges__inner {
	max-width: var(--pd-maxw, 1200px);
	margin: 0 auto;
	padding-inline: var(--pd-space-lg);
	display: flex;
	flex-direction: column;
	gap: var(--pd-space-md);
	align-items: center;
	text-align: center;
}
.pd-hero-badges__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--pd-space-md) var(--pd-space-xl);
	justify-content: center;
}
.pd-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.92);
}
.pd-hero-badge__icon { font-size: 1.2rem; line-height: 1; }
.pd-hero-badges__microcopy {
	margin: 0;
	font-size: 0.88rem;
	color: rgba(255, 255, 255, 0.75);
	font-style: italic;
}

/* -----------------------------------------------------------------------------
 *  BLOCO 2 — QUICK FACTS
 * -------------------------------------------------------------------------- */
.pd-section--quick-facts { padding-block: var(--pd-space-xl); background: var(--pd-white); }
.pd-section--quick-facts .pd-quick-facts__grid {
	max-width: var(--pd-maxw, 1200px);
	margin: 0 auto;
	padding-inline: var(--pd-space-lg);
	display: grid;
	gap: var(--pd-space-md);
	grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
	.pd-section--quick-facts .pd-quick-facts__grid { grid-template-columns: repeat(4, 1fr); gap: var(--pd-space-lg); }
}
.pd-fact-chip {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 4px;
	padding: var(--pd-space-md);
	border-radius: var(--pd-radius-card);
	background: var(--pd-bg);
	border: var(--pd-border-fine);
}
.pd-fact-chip__icon { font-size: 2rem; line-height: 1; }
.pd-fact-chip__label {
	font-weight: 700;
	font-size: 0.92rem;
	color: var(--pd-blue-dark);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.pd-fact-chip__sublabel { font-size: 0.82rem; color: var(--pd-text); }

/* -----------------------------------------------------------------------------
 *  BLOCO 3 — PROBLEMA
 * -------------------------------------------------------------------------- */
.pd-section--problema .pd-bullets li { font-weight: 500; }

/* -----------------------------------------------------------------------------
 *  BLOCO 4 — DIFERENCIAL PRESENCIAL × ONLINE (★ chave)
 * -------------------------------------------------------------------------- */
.pd-section--diferencial { background: var(--pd-white); }
.pd-diferencial__grid {
	display: grid;
	gap: var(--pd-space-lg);
	grid-template-columns: 1fr;
}
@media (min-width: 900px) {
	.pd-diferencial__grid { grid-template-columns: 1fr 1fr; gap: var(--pd-space-xl); }
}
.pd-diferencial__col {
	border-radius: var(--pd-radius-card);
	padding: var(--pd-space-xl);
	box-shadow: var(--pd-shadow-card);
}
.pd-diferencial__col--online {
	background: #f3f4f6;
	color: #6b7280;
	border: 1px solid #e5e7eb;
}
.pd-diferencial__col--online ul li > span[aria-hidden] {
	color: #9ca3af;
	font-weight: 700;
	margin-right: 10px;
}
.pd-diferencial__col--presencial {
	background: var(--pd-blue-dark);
	color: var(--pd-white);
}
.pd-diferencial__col--presencial ul li > span[aria-hidden] {
	color: #5db0f1;
	font-weight: 700;
	margin-right: 10px;
}
.pd-diferencial__col-title {
	font-family: var(--pd-font-display);
	font-size: 1.4rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: var(--pd-space-lg);
	padding-bottom: var(--pd-space-md);
	border-bottom: 2px solid currentColor;
	opacity: 0.95;
}
.pd-diferencial__col ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: var(--pd-space-md);
}
.pd-diferencial__col li {
	font-size: 1.02rem;
	line-height: 1.5;
	display: flex;
	align-items: flex-start;
}

/* -----------------------------------------------------------------------------
 *  BLOCO 5 — APRENDIZADO
 * -------------------------------------------------------------------------- */
.pd-section--aprendizado .pd-section__title { margin-bottom: var(--pd-space-xl); }

/* -----------------------------------------------------------------------------
 *  BLOCO 6 — PROCESSO
 * -------------------------------------------------------------------------- */
/* Processo: 2×2 estrito (era 4×1 que quebrava em telas intermediárias) */
.pd-grid--steps {
	display: grid;
	gap: var(--pd-space-lg);
	grid-template-columns: 1fr;
}
@media (min-width: 700px) { .pd-grid--steps { grid-template-columns: repeat(2, 1fr); } }
.pd-step {
	position: relative;
	background: var(--pd-white);
	border-radius: var(--pd-radius-card);
	padding: var(--pd-space-xl) var(--pd-space-lg) var(--pd-space-lg);
	box-shadow: var(--pd-shadow-card);
	border: var(--pd-border-fine);
}
.pd-step-number {
	font-family: var(--pd-font-display);
	font-size: 2.6rem;
	line-height: 1;
	color: var(--pd-blue-light);
	margin-bottom: var(--pd-space-md);
}
.pd-step-title {
	font-family: var(--pd-font-body);
	font-weight: 700;
	font-size: 1.1rem;
	margin: 0 0 var(--pd-space-sm);
	color: var(--pd-blue-dark);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.pd-step-desc { font-size: 0.96rem; line-height: 1.5; margin: 0; color: var(--pd-text); }

/* -----------------------------------------------------------------------------
 *  BLOCO 7 — INSTRUTORES
 * -------------------------------------------------------------------------- */
/* Slot da imagem hero institucional da equipe (foto real, sem composição CSS).
 * Wellington fornece a arte premium gerada externamente (Photoshop/Canva/designer)
 * e ela aparece aqui sem qualquer filtro ou overlay que altere percepção. */
.pd-instructor-hero {
	margin: var(--pd-space-xl) 0 0;
	border-radius: var(--pd-radius-card);
	overflow: hidden;
	box-shadow: var(--pd-shadow-card);
	max-width: 100%;
}
.pd-instructor-hero img {
	width: 100%;
	height: auto;
	display: block;
}

/* Cards individuais: 2×2 estrito (mais legíveis que 4×1 em laptops) */
.pd-instructor-grid {
	display: grid;
	gap: var(--pd-space-lg);
	/* Mobile-first: 2×2 (team grid) — evita 4 cards gigantes empilhados ("página infinita") */
	grid-template-columns: repeat(2, 1fr);
	margin-top: var(--pd-space-xl);
}
@media (min-width: 1100px) { .pd-instructor-grid { grid-template-columns: repeat(4, 1fr); } }
/* Sem filter CSS — respeitar a foto real exatamente como foi cropada */
.pd-instructor-photo img { object-position: center top; }
.pd-instructor-card {
	background: var(--pd-white);
	border-radius: var(--pd-radius-card);
	padding: var(--pd-space-lg);
	box-shadow: var(--pd-shadow-card);
	border: var(--pd-border-fine);
	text-align: center;
}
.pd-instructor-photo {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: var(--pd-radius-image);
	overflow: hidden;
	margin-bottom: var(--pd-space-md);
	background: var(--pd-bg);
}
.pd-instructor-photo img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.pd-instructor-placeholder {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: var(--pd-radius-image);
	background: linear-gradient(135deg, var(--pd-blue-dark) 0%, var(--pd-blue) 100%);
	color: rgba(255, 255, 255, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--pd-font-display);
	font-size: 5rem;
	margin-bottom: var(--pd-space-md);
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.pd-instructor-name {
	font-family: var(--pd-font-display);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 1.2rem;
	color: var(--pd-blue-dark);
	margin: 0 0 var(--pd-space-xs);
}
.pd-instructor-title { font-size: 0.88rem; color: var(--pd-blue); margin: 0 0 var(--pd-space-sm); font-weight: 600; letter-spacing: 0.02em; }
.pd-instructor-credencial {
	font-size: 0.85rem;
	line-height: 1.4;
	color: var(--pd-text);
	margin: var(--pd-space-sm) 0 0;
	padding-top: var(--pd-space-sm);
	border-top: 1px solid var(--pd-line);
}
.pd-instructor-status {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pd-blue);
	background: rgba(0, 119, 204, 0.08);
	padding: 4px 10px;
	border-radius: 999px;
}

/* -----------------------------------------------------------------------------
 *  BLOCO 8 — ESTRUTURA
 * -------------------------------------------------------------------------- */
.pd-estrutura__grid {
	display: grid;
	gap: var(--pd-space-md);
	grid-template-columns: 1fr;
	margin: var(--pd-space-xl) 0;
}
@media (min-width: 700px)  { .pd-estrutura__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pd-estrutura__grid { grid-template-columns: repeat(3, 1fr); } }
/* Variante 'duo' — 4 imagens fortes em 2×2 (sem órfão), proporção premium */
.pd-estrutura__grid--duo { max-width: 980px; margin-inline: auto; }
@media (min-width: 700px)  { .pd-estrutura__grid--duo { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pd-estrutura__grid--duo { grid-template-columns: repeat(2, 1fr); } }
/* Variante 'solo' — imagem composta única, centralizada no mesmo eixo do título/texto.
   Mantém coluna única em todos os breakpoints (sobrescreve o grid base de 2/3 colunas)
   e respeita a proporção nativa da imagem para não recortar o texto embutido. */
.pd-estrutura__grid--solo { max-width: 820px; margin-inline: auto; grid-template-columns: 1fr; }
@media (min-width: 700px)  { .pd-estrutura__grid--solo { grid-template-columns: 1fr; } }
@media (min-width: 1024px) { .pd-estrutura__grid--solo { grid-template-columns: 1fr; } }
.pd-estrutura__grid--solo .pd-estrutura__item img { aspect-ratio: auto; height: auto; }
.pd-estrutura__item {
	margin: 0;
	border-radius: var(--pd-radius-image);
	overflow: hidden;
	box-shadow: var(--pd-shadow-card);
	background: var(--pd-white);
}
.pd-estrutura__item img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 4 / 3; }
.pd-estrutura__item figcaption {
	padding: 12px 16px;
	font-size: 0.92rem;
	color: var(--pd-text);
	background: var(--pd-white);
	border-top: var(--pd-border-fine);
}
.pd-estrutura__location {
	display: flex;
	flex-direction: column;
	gap: var(--pd-space-md);
	align-items: flex-start;
	padding: var(--pd-space-lg);
	background: var(--pd-white);
	border-radius: var(--pd-radius-card);
	border: var(--pd-border-fine);
}
@media (min-width: 768px) {
	.pd-estrutura__location { flex-direction: row; justify-content: space-between; align-items: center; }
}
.pd-estrutura__address { margin: 0; font-weight: 500; }
/* Card "local em definição" — turma sem endereço confirmado (1ª turma na região). */
.pd-estrutura__aviso {
	display: flex;
	gap: var(--pd-space-md);
	align-items: flex-start;
	max-width: 820px;
	margin: var(--pd-space-md) auto 0;
	padding: var(--pd-space-lg);
	background: var(--pd-blue-wash, #eef4fb);
	border: 1px dashed var(--pd-blue, #003366);
	border-radius: var(--pd-radius-card);
}
.pd-estrutura__aviso-icon { font-size: 1.6rem; line-height: 1.2; flex-shrink: 0; }
.pd-estrutura__aviso-body { text-align: left; }
.pd-estrutura__aviso-titulo {
	margin: 0 0 6px;
	font-weight: 700;
	color: var(--pd-blue, #003366);
	font-size: 1.05rem;
}
.pd-estrutura__aviso-texto { margin: 0; color: var(--pd-text); font-size: 0.95rem; line-height: 1.6; }

/* -----------------------------------------------------------------------------
 *  BLOCO 9 — MATERIAIS
 * -------------------------------------------------------------------------- */
.pd-materiais__list {
	background: var(--pd-white);
	border-radius: var(--pd-radius-card);
	padding: var(--pd-space-xl);
	box-shadow: var(--pd-shadow-card);
	border: var(--pd-border-fine);
}

/* -----------------------------------------------------------------------------
 *  BLOCO 10 — PROVA SOCIAL
 * -------------------------------------------------------------------------- */
.pd-prova__grid {
	display: grid;
	gap: var(--pd-space-lg);
	grid-template-columns: 1fr;
}
@media (min-width: 768px)  { .pd-prova__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pd-prova__grid { grid-template-columns: repeat(3, 1fr); } }
.pd-prova__card {
	background: var(--pd-white);
	border-radius: var(--pd-radius-card);
	padding: var(--pd-space-lg);
	box-shadow: var(--pd-shadow-card);
	border: var(--pd-border-fine);
	position: relative;
}
.pd-prova__card::before {
	content: "“";
	position: absolute;
	top: 8px; left: 16px;
	font-family: var(--pd-font-display);
	font-size: 3.5rem;
	line-height: 0.8;
	color: var(--pd-blue-light);
	opacity: 0.45;
}
.pd-prova__quote {
	font-style: italic;
	font-size: 1.02rem;
	line-height: 1.5;
	color: var(--pd-text);
	margin-bottom: var(--pd-space-md);
	padding-top: var(--pd-space-md);
}
.pd-prova__author { display: flex; align-items: center; gap: var(--pd-space-sm); }
.pd-prova__avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.pd-prova__name { font-weight: 600; font-size: 0.95rem; }
.pd-prova__city { font-size: 0.85rem; color: var(--pd-ash); }

/* Prova social com PRINTS REAIS (WhatsApp/Instagram) — grid alinhado (premium).
 * Trocado o masonry por CSS columns (que dava aspecto de "mosaico" desorganizado)
 * por um grid de 3 colunas com cards alinhados ao topo e proporção controlada. */
.pd-prova__grid--prints {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--pd-space-lg);
	align-items: start;
}
@media (min-width: 640px)  { .pd-prova__grid--prints { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pd-prova__grid--prints { grid-template-columns: repeat(3, 1fr); } }
.pd-prova__card--print {
	margin: 0;
	padding: var(--pd-space-sm);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: var(--pd-space-sm);
}
.pd-prova__card--print::before { content: none; } /* sem aspa decorativa no print */
.pd-prova__print {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--pd-radius-card, 12px);
}
.pd-prova__fonte {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #fff;
	padding: 4px 10px;
	border-radius: 999px;
	margin: 0 0 var(--pd-space-sm);
}
.pd-prova__fonte--whatsapp  { background: var(--pd-whatsapp, #25D366); }
.pd-prova__fonte--instagram { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }

/* -----------------------------------------------------------------------------
 *  BLOCO VÍDEO APRESENTAÇÃO (lazy iframe / native <video>)
 *  Posicionado entre quick_facts e problema. Por default oculto até vídeo chegar.
 * -------------------------------------------------------------------------- */
.pd-section--video { background: var(--pd-white); }
.pd-video__wrap {
	max-width: 900px;
	margin: var(--pd-space-xl) auto 0;
	border-radius: var(--pd-radius-card);
	overflow: hidden;
	box-shadow: var(--pd-shadow-card);
	background: #000;
}
.pd-video__facade {
	position: relative;
	aspect-ratio: 16 / 9;
	background-color: var(--pd-blue-deep);
	background-size: cover;
	background-position: center;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pd-video__facade::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(140deg, rgba(0,38,77,0.55) 0%, rgba(0,0,0,0.35) 100%);
}
.pd-video__play {
	position: relative;
	z-index: 2;
	width: 84px; height: 84px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, 0.92);
	border-radius: 50%;
	color: var(--pd-blue-dark);
	font-size: 2rem;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.32);
	transition: transform .15s ease;
}
.pd-video__facade:hover .pd-video__play { transform: scale(1.06); }
.pd-video__duration {
	position: absolute;
	z-index: 2;
	bottom: 14px;
	right: 14px;
	background: rgba(0, 0, 0, 0.7);
	color: #fff;
	font-size: 0.78rem;
	padding: 4px 8px;
	border-radius: 4px;
	font-weight: 600;
	letter-spacing: 0.04em;
}
.pd-video__player {
	width: 100%; height: auto; display: block; background: #000;
}
.pd-video__iframe {
	width: 100%; aspect-ratio: 16 / 9; border: 0; display: block;
}

/* -----------------------------------------------------------------------------
 *  BLOCO PARCEIROS (logos + nome + descricao curta)
 * -------------------------------------------------------------------------- */
.pd-section--parceiros { background: var(--pd-white); }
.pd-parceiros__grid {
	list-style: none; padding: 0; margin: var(--pd-space-xl) 0 0;
	display: grid;
	gap: var(--pd-space-lg);
	grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px)  { .pd-parceiros__grid { grid-template-columns: repeat(4, 1fr); } }
.pd-parceiro {
	background: var(--pd-bg);
	border: var(--pd-border-fine);
	border-radius: var(--pd-radius-card);
	padding: var(--pd-space-lg);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: var(--pd-space-sm);
	transition: transform .12s ease, box-shadow .12s ease;
}
.pd-parceiro:hover { transform: translateY(-2px); box-shadow: var(--pd-shadow-card); }
.pd-parceiro__link { display: contents; color: inherit; text-decoration: none; }
.pd-parceiro__logo {
	max-width: 100%;
	max-height: 64px;
	width: auto;
	height: auto;
	object-fit: contain;
	margin-bottom: var(--pd-space-xs);
}
.pd-parceiro__nome-fallback {
	font-family: var(--pd-font-display);
	font-size: 1.35rem;
	color: var(--pd-blue-dark);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.pd-parceiro__descricao {
	font-size: 0.85rem;
	color: var(--pd-text);
	line-height: 1.4;
}

/* -----------------------------------------------------------------------------
 *  Avatar inicial (fallback) — prova social sem foto
 * -------------------------------------------------------------------------- */
.pd-prova__avatar--initial {
	display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--pd-blue-light), var(--pd-blue));
	color: #fff; font-weight: 700; font-size: 1rem;
	width: 48px; height: 48px; border-radius: 50%;
}

/* Pre-headline centered helper (usado em parceiros, video) */
.pd-pre-headline--centered { text-align: center; }

/* -----------------------------------------------------------------------------
 *  BLOCO 11 — BASTIDORES
 * -------------------------------------------------------------------------- */
.pd-bastidores__grid {
	display: grid;
	gap: var(--pd-space-sm);
	grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 1024px) { .pd-bastidores__grid { grid-template-columns: repeat(3, 1fr); } }
.pd-bastidores__item {
	width: 100%; height: 100%;
	object-fit: cover;
	aspect-ratio: 1 / 1;
	border-radius: var(--pd-radius-md, 12px);
	display: block;
}

/* -----------------------------------------------------------------------------
 *  BLOCO 12 — PÚBLICO-ALVO
 * -------------------------------------------------------------------------- */
.pd-publico__grid {
	display: grid;
	gap: var(--pd-space-xl);
	grid-template-columns: 1fr;
	align-items: stretch;
}
@media (min-width: 768px) { .pd-publico__grid { grid-template-columns: 1fr 1fr; } }
.pd-publico__col {
	display: flex;
	flex-direction: column;
	border-radius: var(--pd-radius-card);
	padding: var(--pd-space-xl);
	box-shadow: var(--pd-shadow-card);
	border: var(--pd-border-fine);
}
.pd-publico__col--positive {
	background: linear-gradient(180deg, rgba(0, 119, 204, 0.04) 0%, rgba(0, 119, 204, 0.02) 100%);
	border-color: rgba(0, 119, 204, 0.18);
}
.pd-publico__col--negative {
	background: #f9fafb;
	border-color: var(--pd-line);
}
.pd-publico__col ul {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: var(--pd-space-md);
	flex: 1;
}
.pd-publico__col li {
	display: flex; gap: 14px;
	font-size: 1rem; line-height: 1.5;
	padding-left: 0;
}
.pd-publico__col li > span[aria-hidden] {
	flex: 0 0 28px;
	width: 28px; height: 28px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%; font-weight: 700; font-size: 0.92rem;
}
.pd-publico__col--positive li > span[aria-hidden] {
	background: var(--pd-blue);
	color: #fff;
}
.pd-publico__col--negative li > span[aria-hidden] {
	background: rgba(0, 0, 0, 0.08);
	color: var(--pd-ash);
}
.pd-publico__col-title {
	font-family: var(--pd-font-display);
	font-size: 1.3rem;
	text-transform: uppercase;
	color: var(--pd-blue-dark);
	margin: 0 0 var(--pd-space-md);
	letter-spacing: 0.04em;
}
.pd-publico__col--positive::before {
	content: "✓ É PARA VOCÊ";
	display: inline-block;
	font-family: var(--pd-font-body);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	color: var(--pd-blue);
	margin-bottom: var(--pd-space-md);
}
.pd-publico__col--negative::before {
	content: "✕ NÃO É PARA VOCÊ";
	display: inline-block;
	font-family: var(--pd-font-body);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	color: var(--pd-ash);
	margin-bottom: var(--pd-space-md);
}
/* Esconder o h3 redundante "NÃO É PARA VOCÊ SE..." (substituído por ::before) */
.pd-publico__col-title { display: none; }

/* -----------------------------------------------------------------------------
 *  BLOCO 13 — VAGAS LIMITADAS (fundo dark, separa visualmente do FAQ)
 * -------------------------------------------------------------------------- */
.pd-section--vagas {
	text-align: center;
	background:
		radial-gradient(circle at 50% 0%, rgba(42, 120, 213, 0.20) 0%, transparent 60%),
		linear-gradient(180deg, var(--pd-blue-deep) 0%, var(--pd-blue-dark) 100%);
	color: rgba(255, 255, 255, 0.95);
	padding-block: var(--pd-space-3xl);
}
.pd-section--vagas .pd-pre-headline {
	text-align: center;
	color: rgba(255, 255, 255, 0.80);
	letter-spacing: 0.16em;
}
.pd-section--vagas .pd-section__title {
	text-align: center;
	color: #fff;
}
/* Rodada 9 — o reset de cor do tema (Kadence, var(--global-palette)) herda #414B54
 * nos parágrafos e vence o seletor de 2 classes da LP. Em fundo claro passa
 * despercebido; em fundo escuro (vagas) vira texto apagado. Corrigido com escopo
 * .pd-lp-main (especificidade maior) e !important só no override de fundo escuro. */
.pd-lp-main .pd-section-intro { color: var(--pd-text); }
.pd-section--vagas .pd-section-intro {
	margin-inline: auto;
	text-align: center;
	font-size: 1.08rem;
	line-height: 1.6;
	font-weight: 500;
	max-width: 720px;
}
.pd-lp-main .pd-section--vagas .pd-pre-headline { color: rgba(255, 255, 255, 0.85) !important; }
.pd-lp-main .pd-section--vagas .pd-section__title { color: #ffffff !important; }
.pd-lp-main .pd-section--vagas .pd-section-intro { color: rgba(255, 255, 255, 0.92) !important; }
/* Divisor visual entre vagas (dark) e FAQ (claro) — onda SVG sutil + sombra */
.pd-section--vagas {
	position: relative;
	overflow: hidden;
}
.pd-section--vagas::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: 48px;
	background:
		linear-gradient(180deg, transparent 0%, rgba(255,255,255,0.0) 30%, #ffffff 100%),
		radial-gradient(ellipse at 50% 100%, rgba(255,255,255,0.18) 0%, transparent 70%);
	pointer-events: none;
}

/* FAQ vem logo após — destacar como bloco branco premium */
.pd-section--vagas + .pd-section--faq,
.pd-section--vagas + .pd-section--alt {
	background: var(--pd-white);
	padding-top: calc(var(--pd-space-3xl) + var(--pd-space-md));
	position: relative;
}
.pd-section--vagas + .pd-section--faq::before,
.pd-section--vagas + .pd-section--alt::before {
	content: "";
	position: absolute;
	top: 0; left: 50%;
	transform: translate(-50%, -50%);
	width: 56px; height: 56px;
	background: var(--pd-blue);
	border-radius: 50%;
	box-shadow: 0 0 0 8px var(--pd-white), 0 8px 20px rgba(0, 119, 204, 0.32);
}
.pd-section--vagas + .pd-section--faq::after,
.pd-section--vagas + .pd-section--alt::after {
	content: "?";
	position: absolute;
	top: 0; left: 50%;
	transform: translate(-50%, calc(-50% + 1px));
	width: 56px; height: 56px;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--pd-font-display);
	color: #fff;
	font-size: 1.8rem;
	pointer-events: none;
}

/* -----------------------------------------------------------------------------
 *  BLOCO 14 — FAQ
 * -------------------------------------------------------------------------- */
.pd-faq__list { display: grid; gap: var(--pd-space-md); }
.pd-faq__item {
	background: var(--pd-white);
	border-radius: var(--pd-radius-card);
	border: var(--pd-border-fine);
	padding: 0;
	overflow: hidden;
}
.pd-faq__question {
	cursor: pointer;
	padding: var(--pd-space-md) var(--pd-space-lg);
	font-weight: 600;
	font-size: 1.02rem;
	color: var(--pd-blue-dark);
	list-style: none;
	position: relative;
	padding-right: 48px;
	line-height: 1.4;
}
.pd-faq__question::after {
	content: "+";
	position: absolute;
	right: var(--pd-space-lg);
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.6rem;
	color: var(--pd-blue);
	font-weight: 400;
	transition: transform .15s ease;
}
.pd-faq__item[open] > .pd-faq__question::after { content: "–"; transform: translateY(-50%); }
.pd-faq__answer {
	padding: 0 var(--pd-space-lg) var(--pd-space-lg);
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--pd-text);
}

/* -----------------------------------------------------------------------------
 *  BLOCO 15 — CTA FINAL
 * -------------------------------------------------------------------------- */
.pd-section--cta-final {
	background: linear-gradient(135deg, var(--pd-blue-deep) 0%, var(--pd-blue-dark) 100%);
	color: var(--pd-white);
	text-align: center;
}
.pd-cta-final__inner { display: flex; flex-direction: column; gap: var(--pd-space-lg); align-items: center; }
.pd-section--cta-final .pd-section__title { color: var(--pd-white); }
.pd-cta-final__sub {
	font-size: clamp(1rem, 2vw, 1.15rem);
	line-height: 1.5;
	max-width: 720px;
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
}
.pd-cta-final__btn-wrap { margin: var(--pd-space-md) 0; }
.pd-cta-final__footer-line {
	font-size: 0.9rem;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
}

/* -----------------------------------------------------------------------------
 *  WhatsApp flutuante — refinamento de aparição via scroll handler (já no tema)
 * -------------------------------------------------------------------------- */
.pd-wa-float { box-shadow: var(--pd-shadow-cta-wa); }

/* -----------------------------------------------------------------------------
 *  Acessibilidade — foco visível
 * -------------------------------------------------------------------------- */
.pd-section a:focus-visible,
.pd-section button:focus-visible,
.pd-faq__question:focus-visible {
	outline: 3px solid var(--pd-blue-light);
	outline-offset: 3px;
	border-radius: 4px;
}

/* -----------------------------------------------------------------------------
 *  Print-safe (LP impressa = sem efeitos pesados)
 * -------------------------------------------------------------------------- */
@media print {
	.pd-wa-float, .pd-hero__overlay { display: none; }
	.pd-section { padding-block: 24px; }
	.pd-hero__bg { display: none; }
	.pd-section--hero { color: #000; background: #fff; }
	.pd-hero-headline, .pd-section__title { color: #000 !important; }
}

/* Galerias de fotos reais (última turma + resultados) — grid uniforme alinhado */
.pd-galeria__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* mobile compacto (2 col) — menos "página infinita" */
	gap: var(--pd-space-md);
	margin-top: var(--pd-space-xl);
}
@media (min-width: 960px) { .pd-galeria__grid { grid-template-columns: repeat(3, 1fr); } }
/* Variante "duo": resultados — peças maiores (1 no mobile, 2 no desktop) */
.pd-galeria__grid--duo { grid-template-columns: 1fr; }
@media (min-width: 700px) {
	.pd-galeria__grid--duo { grid-template-columns: repeat(2, 1fr); max-width: 940px; margin-inline: auto; }
}
.pd-galeria__item {
	margin: 0;
	border-radius: var(--pd-radius-card, 12px);
	overflow: hidden;
	box-shadow: var(--pd-shadow-card);
	background: #0b1a30;
	display: flex;
	flex-direction: column;
}
.pd-galeria__item img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.pd-galeria__cap {
	background: var(--pd-white);
	color: var(--pd-blue-dark);
	font-family: var(--pd-font-body);
	font-weight: 600;
	font-size: 0.86rem;
	letter-spacing: 0.01em;
	padding: 12px 16px;
	text-align: left;
}

/* Banda de CTA intermediária — discreta (não compete com hero/CTA final) */
.pd-block-cta-band { padding-block: var(--pd-space-xl); }
.pd-block-cta-band .pd-cta-band { text-align: center; }
.pd-cta-band__title {
	font-family: var(--pd-font-display);
	font-size: clamp(1.15rem, 2.4vw, 1.55rem);
	line-height: 1.2;
	color: var(--pd-blue-dark);
	margin: 0 auto var(--pd-space-md);
	max-width: 26ch;
}
.pd-block-cta-band .pd-btn { padding: 13px 24px; font-size: 0.95rem; }
.pd-cta-band__btn { display: flex; justify-content: center; }

/* ---------------------------------------------------------------------------
 *  REFINO PREMIUM (2026-06-06): respiro mobile, professores, parceiros
 * ------------------------------------------------------------------------- */

/* Professores — headshot retrato (rostos prominentes, distintos), nomes destacados, premium */
.pd-instructor-grid { gap: var(--pd-space-xl); align-items: stretch; }
.pd-instructor-card {
	padding: 0 0 var(--pd-space-lg);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
/* Enquadramento aprovado (arte cards/ 2:3): imagem inteira — logo "Protética Dente"
 * no topo + logo da camisa completos, rosto em tamanho natural (sem ampliar/cortar).
 * Container casa com a proporção da arte (2:3), object-fit cover sem deslocamento =
 * nada é recortado pelo CSS. */
.pd-instructor-photo {
	aspect-ratio: 2 / 3;
	border-radius: 0;
	margin-bottom: var(--pd-space-md);
}
.pd-instructor-photo img { object-position: center; }
.pd-instructor-card > :not(.pd-instructor-photo) { padding-inline: var(--pd-space-lg); }
.pd-instructor-name { font-size: 1.3rem; letter-spacing: 0.03em; margin-top: var(--pd-space-xs); }
.pd-instructor-credencial { margin-top: auto; }
@media (min-width: 1100px) { .pd-instructor-grid { gap: var(--pd-space-lg); } }

/* Centralização consistente (premium) — galerias + professores: eyebrow, título e intro centralizados */
.pd-block-galeria .pd-pre-headline,
.pd-block-galeria .pd-section__title,
.pd-section--instrutores .pd-pre-headline,
.pd-section--instrutores .pd-section__title { text-align: center; }
.pd-block-galeria .pd-section-intro,
.pd-section--instrutores .pd-section-intro { text-align: center; margin-inline: auto; }

/* CTAs intermediários — sombra verde mais suave (não "gritar") */
.pd-block-cta-band .pd-btn--whatsapp { box-shadow: 0 6px 16px rgba(37, 211, 102, 0.22); }

/* Centralização blindada dos CTAs intermediários (2026-06-06):
 * o tema (Kadence) aplica text-align nos h2 com especificidade que vencia o
 * text-align herdado do container — por isso o título caía à esquerda enquanto
 * o botão ficava centralizado. Forçamos título E botão no MESMO eixo central. */
.pd-block-cta-band .pd-cta-band {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.pd-block-cta-band .pd-cta-band__title {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.pd-block-cta-band .pd-cta-band__btn { width: 100%; justify-content: center; }

/* Parceiros — reforço de autoridade: cards alinhados, logos centralizados, altura igual */
.pd-parceiro {
	justify-content: center;
	min-height: 168px;
	gap: var(--pd-space-md);
}
.pd-parceiro__logo { max-height: 56px; }

/* Mobile premium — menos sensação de página infinita, melhor ritmo */
/* ---------------------------------------------------------------------------
 *  RODADA 11 (2026-06-06) — melhorias cirúrgicas de conversão (sem refatoração):
 *  selo de movimento no hero, bloco diferenciais, foto da turma, frase final.
 * ------------------------------------------------------------------------- */

/* Selo de movimento no hero — verde discreto com ponto pulsante, próximo ao CTA */
.pd-hero__seal {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	align-self: flex-start;
	background: rgba(37, 211, 102, 0.14);
	border: 1px solid rgba(37, 211, 102, 0.45);
	color: #eafff2;
	font-family: var(--pd-font-body);
	font-weight: 600;
	font-size: 0.84rem;
	letter-spacing: 0.02em;
	padding: 7px 14px;
	border-radius: 999px;
}
.pd-hero__seal-dot {
	width: 9px; height: 9px; border-radius: 50%;
	background: var(--pd-whatsapp, #25D366);
	flex: 0 0 9px;
	animation: pd-seal-pulse 2s infinite;
}
@keyframes pd-seal-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.55); }
	70%  { box-shadow: 0 0 0 9px rgba(37, 211, 102, 0); }
	100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
@media (prefers-reduced-motion: reduce) { .pd-hero__seal-dot { animation: none; } }

/* Bloco DIFERENCIAIS — checklist compacto centralizado (combate objeções) */
.pd-block-diferenciais { background: var(--pd-white); }
.pd-block-diferenciais .pd-diferenciais__list { max-width: 880px; margin-inline: auto; }
.pd-block-diferenciais .pd-bullets li { font-weight: 500; }

/* Foto da TURMA completa (prova social presencial) */
.pd-turma-destaque__figure {
	margin: var(--pd-space-xl) auto 0;
	max-width: 1040px;
	border-radius: var(--pd-radius-image);
	overflow: hidden;
	box-shadow: var(--pd-shadow-card);
}
.pd-turma-destaque__figure img { display: block; width: 100%; height: auto; }

/* Frase de POSICIONAMENTO — display elegante, centralizada */
.pd-block-statement { background: var(--pd-white); }
.pd-statement__text {
	font-family: var(--pd-font-display);
	color: var(--pd-blue-dark);
	font-size: clamp(1.3rem, 3vw, 2rem);
	line-height: 1.3;
	letter-spacing: 0.01em;
	text-align: center;
	margin: 0;
	text-wrap: balance;
}

@media (max-width: 639px) {
	.pd-section { padding-block: var(--pd-space-xl); }
	.pd-section__title { font-size: clamp(1.5rem, 6.5vw, 1.9rem); }
	.pd-galeria__grid { gap: var(--pd-space-sm); }
	.pd-galeria__item img { aspect-ratio: 3 / 2; }

	/* Professores 2×2 compacto no mobile — gap menor + tipografia ajustada à coluna estreita */
	.pd-instructor-grid { gap: var(--pd-space-md); }
	.pd-instructor-card { padding-bottom: var(--pd-space-md); }
	.pd-instructor-card > :not(.pd-instructor-photo) { padding-inline: var(--pd-space-md); }
	.pd-instructor-name { font-size: 1.02rem; letter-spacing: 0.02em; }
	.pd-instructor-title { font-size: 0.78rem; }
	.pd-instructor-credencial { font-size: 0.76rem; line-height: 1.35; }

	/* CTA do hero: botão de largura cheia + texto que cabe (não estoura nem colide) */
	.pd-hero__ctas { width: 100%; }
	.pd-hero__ctas .pd-btn { width: 100%; font-size: 0.82rem; letter-spacing: 0.02em; padding: 15px 16px; }
	.pd-hero__ctas .pd-btn__label { line-height: 1.25; }

	/* Botão flutuante de WhatsApp removido no mobile (decisão Wellington 2026-06-06):
	 * mantém só o fixo do topo + os CTAs das seções. Evita poluição/colisão. */
	.pd-wa-float { display: none !important; }
}
