/* =======================================================================
   AceleradoraPRO — Landing Page "Consultoria de Diagnóstico"
   Stylesheet autossuficiente (não depende de main.css): a página não usa
   header/footer/menu do site, então também não carrega o CSS deles — só
   este arquivo, pequeno, pensado para tráfego pago (Core Web Vitals).
   Tokens abaixo repetem os mesmos valores da identidade do tema.
   ======================================================================= */

:root {
	--ap-blue-dark: #071B4A;
	--ap-blue: #076EF5;
	--ap-blue-light: #EAF5FF;
	--ap-orange: #FF7900;
	--ap-orange-hover: #E96E00;
	--ap-white: #FFFFFF;
	--ap-gray-50: #F8FAFC;
	--ap-gray-100: #F1F5F9;
	--ap-gray-300: #CBD5E1;
	--ap-gray-600: #475569;
	--ap-gray-900: #0F172A;
	--ap-danger-bg: #FDECEA;
	--ap-danger-text: #B3261E;

	--ap-font-heading: 'Manrope', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	--ap-font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

	--ap-radius-sm: 10px;
	--ap-radius-md: 16px;
	--ap-radius-lg: 24px;
	--ap-radius-pill: 999px;

	--ap-shadow-md: 0 12px 32px rgba(7, 27, 74, 0.1);
	--ap-shadow-lg: 0 30px 70px rgba(7, 27, 74, 0.22);

	--ap-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*, *::before, *::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body.ap-lp-page {
	margin: 0;
	font-family: var(--ap-font-body);
	color: var(--ap-gray-900);
	background: var(--ap-white);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

/* Fundo claro em gradiente só na página do FORMULÁRIO (composição nova,
   centralizada) — a página de obrigado (aprovada) continua com o fundo
   branco sólido de sempre, sem nenhuma alteração visual. */
body[data-ap-page="form"] {
	background: linear-gradient(180deg, #F8FAFC 0%, #EEF3FB 100%);
}

img { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ap-skip-link:focus {
	position: fixed;
	top: 12px;
	left: 12px;
	width: auto;
	height: auto;
	padding: 10px 16px;
	background: var(--ap-blue-dark);
	color: var(--ap-white);
	border-radius: var(--ap-radius-sm);
	z-index: 999;
	clip: auto;
}

:focus-visible {
	outline: 3px solid var(--ap-blue);
	outline-offset: 2px;
}

.is-orange { color: var(--ap-orange); }

/* -----------------------------------------------------------------------
   Layout — composição única e centralizada. O formulário é o elemento
   mais importante da página: logo, título e uma frase curta acima dele,
   nada mais, para o campo "Nome completo" aparecer o mais cedo possível
   (prioridade máxima no mobile — ver breakpoints abaixo).
   ----------------------------------------------------------------------- */

/* .ap-lp é o <main> das DUAS páginas (form e obrigado, via header-consultoria.php)
   — por isso só a regra abaixo, compartilhada, vive aqui; toda centralização
   vertical específica da página de formulário fica isolada em .ap-lp__shell,
   pra não alterar o comportamento (aprovado) da página de obrigado. */
.ap-lp {
	min-height: 100vh;
}

.ap-lp__shell {
	width: 100%;
	max-width: 620px;
	margin: 0 auto;
	/* Sem logo no topo desta página (só na de obrigado) — padding-top um
	   pouco maior que o cálculo "cru" pra manter equilíbrio visual, sem
	   que o eyebrow fique colado na borda da tela. */
	padding: clamp(36px, 8vh, 76px) clamp(20px, 4vw, 32px) clamp(40px, 8vh, 72px);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* .ap-lp__logo continua em uso na página de obrigado (.ap-thanks__logo
   combina as duas classes) — não removida, só não é mais chamada aqui. */
.ap-lp__logo { margin-bottom: 20px; }

.ap-lp__logo img {
	height: 34px;
	width: auto;
}

.ap-lp__eyebrow {
	margin: 0 0 14px;
	font-family: var(--ap-font-heading);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ap-orange);
}

.ap-lp__headline {
	margin: 0 0 14px;
	max-width: 460px;
	font-family: var(--ap-font-heading);
	font-size: clamp(1.5rem, 1.15rem + 1.5vw, 2.1rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--ap-blue-dark);
}

.ap-lp__subheadline {
	margin: 0 0 16px;
	max-width: 420px;
	font-size: 16px;
	line-height: 1.55;
	color: var(--ap-gray-600);
}

.ap-lp__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 28px;
	padding: 7px 16px;
	border-radius: var(--ap-radius-pill);
	background: #FFF1E3;
	font-family: var(--ap-font-heading);
	font-size: 13px;
	font-weight: 700;
	color: var(--ap-orange-hover);
}

/* -----------------------------------------------------------------------
   Card do formulário
   ----------------------------------------------------------------------- */

.ap-lp-card {
	width: 100%;
	max-width: 560px;
	padding: clamp(24px, 3.4vw, 40px);
	border-radius: var(--ap-radius-lg);
	background: var(--ap-white);
	box-shadow: 0 10px 30px rgba(7, 27, 74, 0.08);
	text-align: left;
}

.ap-lp-card__note {
	margin: 14px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--ap-gray-600);
	text-align: center;
}

.ap-lp-form__banner {
	margin: 0 0 20px;
	padding: 12px 16px;
	border-radius: var(--ap-radius-sm);
	background: var(--ap-danger-bg);
	color: var(--ap-danger-text);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.5;
}

.ap-lp-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ap-lp-form__row label {
	display: block;
	margin-bottom: 8px;
	font-family: var(--ap-font-heading);
	font-size: 13.5px;
	font-weight: 700;
	color: var(--ap-blue-dark);
}

.ap-lp-form__required { color: var(--ap-orange); }

.ap-lp-form__control {
	position: relative;
	display: flex;
	align-items: center;
}

.ap-lp-form__icon {
	position: absolute;
	left: 14px;
	display: flex;
	color: var(--ap-gray-300);
	pointer-events: none;
}

.ap-lp-form__icon svg { width: 18px; height: 18px; }

.ap-lp-form__control input,
.ap-lp-form__control select {
	width: 100%;
	height: 52px;
	padding: 0 16px 0 44px;
	border-radius: var(--ap-radius-sm);
	border: 1.5px solid var(--ap-gray-100);
	background: var(--ap-white);
	font-family: var(--ap-font-body);
	font-size: 16px; /* nunca menor que 16px: evita zoom automático do Safari no iOS ao focar o campo */
	color: var(--ap-gray-900);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ap-lp-form__control select {
	appearance: none;
	padding-right: 40px;
	cursor: pointer;
}

.ap-lp-form__control select:invalid {
	color: var(--ap-gray-300);
}

.ap-lp-form__chevron {
	position: absolute;
	right: 14px;
	display: flex;
	color: var(--ap-gray-300);
	pointer-events: none;
}

.ap-lp-form__chevron svg { width: 16px; height: 16px; }

.ap-lp-form__control input::placeholder {
	color: var(--ap-gray-300);
}

.ap-lp-form__control input:focus,
.ap-lp-form__control select:focus {
	outline: none;
	border-color: var(--ap-blue);
	box-shadow: 0 0 0 4px rgba(7, 110, 245, 0.14);
}

.ap-lp-form__control input:invalid:not(:placeholder-shown),
.ap-lp-form__control input:user-invalid {
	border-color: #E4A3A0;
}

.ap-lp-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 58px;
	margin-top: 6px;
	border: none;
	border-radius: var(--ap-radius-pill);
	background: var(--ap-orange);
	color: var(--ap-white);
	font-family: var(--ap-font-heading);
	font-size: 16.5px;
	font-weight: 800;
	cursor: pointer;
	box-shadow: 0 14px 30px rgba(255, 121, 0, 0.32);
	transition: background-color 0.2s ease, transform 0.2s var(--ap-ease), box-shadow 0.2s ease, opacity 0.2s ease;
}

.ap-lp-form__submit svg { width: 19px; height: 19px; transition: transform 0.2s var(--ap-ease); }

.ap-lp-form__submit:hover {
	background: var(--ap-orange-hover);
	transform: translateY(-2px);
	box-shadow: 0 18px 36px rgba(255, 121, 0, 0.4);
}

.ap-lp-form__submit:hover svg { transform: translateX(3px); }

.ap-lp-form__submit:disabled {
	opacity: 0.75;
	cursor: progress;
	transform: none;
}

.ap-lp-form__privacy {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 4px 0 0;
	font-size: 12.5px;
	color: var(--ap-gray-300);
}

.ap-lp-form__privacy-icon {
	display: flex;
	flex-shrink: 0;
}

.ap-lp-form__privacy-icon svg { width: 14px; height: 14px; }

/* Honeypot — mesma técnica "visualmente oculto" usada no blog: invisível
   para humanos, sem deslocamento negativo que abriria scroll horizontal. */
.ap-hp-field {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* -----------------------------------------------------------------------
   Página de obrigado
   ----------------------------------------------------------------------- */

.ap-thanks {
	max-width: 520px;
	margin: 0 auto;
	padding: clamp(56px, 8vh, 96px) 24px;
	text-align: center;
}

.ap-thanks__logo {
	display: inline-block;
	margin-bottom: 40px;
}

.ap-thanks__logo img { height: 40px; width: auto; margin-inline: auto; }

.ap-thanks__check {
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	margin: 0 auto 28px;
	border-radius: 50%;
	background: #E7F8EF;
	color: #1FA971;
}

.ap-thanks__check svg { width: 40px; height: 40px; stroke-width: 2.5; }

.ap-thanks__title {
	font-family: var(--ap-font-heading);
	font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem);
	font-weight: 800;
	color: var(--ap-blue-dark);
	margin: 0 0 16px;
}

.ap-thanks__text {
	font-size: 16px;
	line-height: 1.65;
	color: var(--ap-gray-600);
	margin: 0;
}

/* Vídeo opcional (Personalizar → Consultoria) — 16:9, responsivo,
   carregado só quando há uma URL válida (ver ap_video_embed_url()). */
.ap-thanks__video {
	position: relative;
	width: 100%;
	max-width: 480px;
	margin: 28px auto 0;
	aspect-ratio: 16 / 9;
	border-radius: var(--ap-radius-md);
	overflow: hidden;
	background: var(--ap-gray-100);
}

.ap-thanks__video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.ap-thanks__divider {
	width: 64px;
	height: 3px;
	margin: 40px auto;
	border: none;
	border-radius: var(--ap-radius-pill);
	background: var(--ap-gray-100);
}

.ap-thanks__subtitle {
	font-family: var(--ap-font-heading);
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--ap-blue-dark);
	margin: 0 0 10px;
}

.ap-thanks__subtext {
	font-size: 15px;
	color: var(--ap-gray-600);
	margin: 0 0 28px;
}

.ap-thanks__whatsapp {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 58px;
	padding: 0 32px;
	border-radius: var(--ap-radius-pill);
	background: #25D366;
	color: var(--ap-white);
	font-family: var(--ap-font-heading);
	font-size: 16px;
	font-weight: 800;
	box-shadow: 0 14px 30px rgba(37, 211, 102, 0.32);
	transition: background-color 0.2s ease, transform 0.2s var(--ap-ease), box-shadow 0.2s ease;
}

.ap-thanks__whatsapp-icon {
	display: flex;
	flex-shrink: 0;
}

.ap-thanks__whatsapp-icon svg {
	width: 20px;
	height: 20px;
}

.ap-thanks__whatsapp:hover {
	background: #1EBE5B;
	transform: translateY(-2px);
	box-shadow: 0 18px 36px rgba(37, 211, 102, 0.4);
}

.ap-thanks__admin-note {
	margin-top: 8px;
	padding: 10px 14px;
	border: 1px dashed var(--ap-orange);
	border-radius: var(--ap-radius-sm);
	background: #FFF6EC;
	color: var(--ap-orange-hover);
	font-size: 13px;
}

/* -----------------------------------------------------------------------
   Micro-rodapé — discreto, nas duas páginas (form e obrigado). Na página
   de obrigado, o body vira uma coluna flex de altura mínima igual à tela
   e o rodapé ganha margin-top:auto — ele só "gruda" embaixo quando o
   conteúdo é mais curto que a tela; em telas pequenas (conteúdo mais alto
   que a viewport) ele simplesmente segue depois do conteúdo, sem
   sobrepor nada. Na página do formulário ele só flui normalmente após o
   grid, sem esse comportamento (o formulário já ocupa a tela toda).
   ----------------------------------------------------------------------- */

body[data-ap-page="obrigado"] {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body[data-ap-page="obrigado"] #main {
	flex: 1 0 auto;
}

.ap-lp-footer {
	flex-shrink: 0;
	padding: 20px 20px 28px;
	text-align: center;
}

.ap-lp-footer__links {
	margin: 0 0 6px;
	font-size: 12.5px;
	color: var(--ap-gray-300);
}

.ap-lp-footer__links a {
	color: var(--ap-gray-300);
	text-decoration: underline;
	text-decoration-color: transparent;
	transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.ap-lp-footer__links a:hover {
	color: var(--ap-gray-600);
	text-decoration-color: currentColor;
}

.ap-lp-footer__sep {
	margin: 0 6px;
	color: var(--ap-gray-100);
}

.ap-lp-footer__disclaimer {
	max-width: 560px;
	margin: 0 auto;
	font-size: 11.5px;
	line-height: 1.5;
	color: var(--ap-gray-300);
}

/* Mobile é prioridade máxima: o campo "Nome completo" precisa aparecer o
   mais cedo possível na tela — por isso as margens/paddings acima do
   formulário encolhem bastante aqui, sem ficar apertado. */
@media (max-width: 640px) {
	.ap-lp__shell {
		padding: 26px 16px 28px;
	}

	.ap-lp__logo { margin-bottom: 10px; }
	.ap-lp__logo img { height: 26px; }

	.ap-lp__eyebrow {
		margin-bottom: 8px;
		font-size: 11.5px;
	}

	.ap-lp__headline {
		margin-bottom: 10px;
	}

	.ap-lp__subheadline {
		margin-bottom: 10px;
		font-size: 14.5px;
	}

	.ap-lp__badge {
		margin-bottom: 18px;
		padding: 6px 14px;
		font-size: 12.5px;
	}

	.ap-lp-card {
		padding: 20px 16px;
		box-shadow: 0 6px 20px rgba(7, 27, 74, 0.07);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ap-lp-form__submit,
	.ap-thanks__whatsapp {
		transition: none;
	}
}
