/* Carta Anônima: landing page (tudo dentro de .ca-lp para não conflitar com o tema). */

body.ca-lp-body {
	margin: 0;
	background: #fbfaff;
}

.ca-lp {
	--lp-cor: #6c3ce0;
	--lp-cor-escura: #4f27b0;
	--lp-cor-clara: #ece4ff;
	--lp-texto: #2b2233;
	--lp-suave: #6f6478;
	--lp-borda: #e4dcf7;
	--lp-fundo: #fbfaff;
	--lp-fundo-2: #f3eeff;
	--lp-titulo: Georgia, "Iowan Old Style", "Times New Roman", serif;
	--lp-corpo: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	color: var(--lp-texto);
	font-family: var(--lp-corpo);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.6;
	background: var(--lp-fundo);
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

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

.ca-lp a { color: var(--lp-cor-escura); }

.ca-lp h1,
.ca-lp h2,
.ca-lp h3 {
	font-family: var(--lp-titulo);
	color: var(--lp-texto);
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin: 0 0 14px;
	font-weight: 700;
}

.ca-lp h1 { font-size: clamp(2.3rem, 5.4vw, 3.8rem); }
.ca-lp h1 em { color: var(--lp-cor); font-style: italic; }
.ca-lp h2 { font-size: clamp(1.8rem, 3.6vw, 2.6rem); max-width: 22ch; }
.ca-lp h3 { font-size: 1.2rem; }
.ca-lp p { margin: 0 0 14px; }

.lp-largura { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.lp-estreito { max-width: 760px; }
.lp-centro { text-align: center; margin-left: auto !important; margin-right: auto !important; }

.lp-lead { font-size: 1.15rem; color: var(--lp-suave); max-width: 46ch; }

.lp-sobretitulo {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--lp-cor);
	margin-bottom: 10px !important;
}

/* Botões */
.ca-lp .lp-botao {
	display: inline-block;
	background: var(--lp-cor);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	padding: 16px 28px;
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(108, 60, 224, 0.25);
	transition: transform 0.15s, background 0.15s, box-shadow 0.15s;
	text-align: center;
}

.ca-lp .lp-botao:hover { background: var(--lp-cor-escura); color: #fff; transform: translateY(-1px); }
.ca-lp .lp-botao-pequeno { padding: 10px 18px; font-size: 0.95rem; box-shadow: none; }

/* Topo */
.lp-topo {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(251, 250, 255, 0.9);
	backdrop-filter: saturate(1.4) blur(10px);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--lp-borda);
}

.lp-topo-linha { display: flex; align-items: center; gap: 24px; height: 66px; }
.ca-lp .lp-marca { font-family: var(--lp-titulo); font-weight: 700; font-size: 1.25rem; color: var(--lp-texto); text-decoration: none; }
.lp-menu { display: flex; gap: 22px; margin-left: auto; }
.ca-lp .lp-menu a { color: var(--lp-suave); text-decoration: none; font-weight: 600; font-size: 0.95rem; }
.ca-lp .lp-menu a:hover { color: var(--lp-cor); }

/* Hero */
.lp-hero {
	padding: 72px 0 88px;
	background:
		radial-gradient(900px 420px at 85% 10%, var(--lp-cor-clara), transparent 70%),
		radial-gradient(600px 300px at 0% 100%, #e9f1ff, transparent 70%);
}

.lp-hero-grade { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 56px; align-items: center; }

.lp-selo {
	display: inline-block;
	background: #fff;
	border: 1px solid var(--lp-borda);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--lp-cor-escura);
	margin-bottom: 20px !important;
}

.lp-cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 28px 0 26px; }
.lp-cta-nota { color: var(--lp-suave); font-size: 0.92rem; }

.lp-garantias { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.lp-garantias li { font-size: 0.95rem; font-weight: 600; color: var(--lp-texto); }

/* Celular ilustrativo */
.lp-celular {
	background: #efe7de;
	border: 10px solid #1f1a24;
	border-radius: 38px;
	overflow: hidden;
	box-shadow: 0 30px 60px rgba(43, 34, 51, 0.22);
	max-width: 360px;
	margin-left: auto;
	transform: rotate(2deg);
}

.lp-celular-topo { display: flex; align-items: center; gap: 10px; background: #075e54; color: #fff; padding: 14px 16px; }
.lp-celular-topo small { display: block; opacity: 0.8; font-size: 0.75rem; }
.lp-avatar { width: 36px; height: 36px; border-radius: 50%; background: #fff; display: grid; place-items: center; }

.lp-chat { padding: 16px 12px 22px; display: flex; flex-direction: column; gap: 8px; font-size: 0.88rem; line-height: 1.45; }
.lp-msg { max-width: 85%; padding: 8px 11px; border-radius: 10px; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08); }
.lp-msg-in { background: #fff; border-top-left-radius: 2px; }
.lp-msg-out { background: #d9fdd3; align-self: flex-end; border-top-right-radius: 2px; }

/* Seções */
.lp-secao { padding: 88px 0; }
.lp-secao-destaque { background: var(--lp-texto); color: #f6eff8; }
.ca-lp .lp-secao-destaque h2,
.ca-lp .lp-secao-destaque h3 { color: #fff; }
.lp-secao-destaque .lp-lead,
.lp-secao-destaque p { color: #d9cfe0; }
.lp-secao-destaque .lp-sobretitulo { color: #c9b0ff; }
.lp-secao-suave { background: var(--lp-fundo-2); }

/* Passos */
.lp-passos { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; counter-reset: none; }
.lp-passos li { background: #fff; border: 1px solid var(--lp-borda); border-radius: 18px; padding: 26px 22px; }
.lp-passos p { color: var(--lp-suave); margin: 0; font-size: 0.97rem; }

.lp-num {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--lp-cor-clara);
	color: var(--lp-cor-escura);
	font-weight: 800;
	margin-bottom: 16px;
}

/* Garantia */
.lp-garantia-grade { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 48px; align-items: center; }
.lp-cartoes { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.lp-cartoes li { display: flex; gap: 16px; align-items: flex-start; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 16px; padding: 20px; }
.lp-cartoes h3 { margin-bottom: 4px; font-size: 1.1rem; }
.lp-cartoes p { margin: 0; font-size: 0.97rem; }
.lp-icone { font-size: 1.6rem; line-height: 1; }

/* Acompanhamento */
.lp-acomp-grade { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 56px; align-items: center; }

.lp-acomp-card {
	background: #fff;
	border: 1px solid var(--lp-borda);
	border-radius: 20px;
	padding: 26px;
	box-shadow: 0 20px 50px rgba(80, 40, 170, 0.1);
}

.lp-acomp-titulo { font-family: var(--lp-titulo); font-weight: 700; font-size: 1.2rem; }
.lp-acomp-card ol { list-style: none; margin: 14px 0; padding: 0; }
.lp-acomp-card li { display: flex; justify-content: space-between; padding: 10px 0 10px 26px; border-bottom: 1px solid var(--lp-borda); position: relative; }
.lp-acomp-card li::before { content: ""; position: absolute; left: 4px; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: var(--lp-cor); }
.lp-acomp-card time { color: var(--lp-suave); font-size: 0.9rem; }
.lp-acomp-resposta { background: var(--lp-fundo-2); border-left: 4px solid var(--lp-cor); border-radius: 10px; padding: 14px 16px; font-style: italic; }

.lp-lista-check { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 12px; }
.lp-lista-check li { position: relative; padding-left: 32px; }
.lp-lista-check li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 1px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--lp-cor-clara);
	color: var(--lp-cor-escura);
	font-weight: 800;
	font-size: 0.8rem;
	display: grid;
	place-items: center;
}

/* Ideias */
.lp-ideias { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 36px; }
.lp-ideias > div { background: #fff; border: 1px solid var(--lp-borda); border-radius: 18px; padding: 24px; }
.lp-ideias span { font-size: 1.8rem; display: block; margin-bottom: 10px; }
.lp-ideias h3 { margin-bottom: 6px; }
.lp-ideias p { color: var(--lp-suave); margin: 0; font-size: 0.97rem; }

/* Segurança */
.lp-seguranca { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 36px; }
.lp-seguranca > div { border: 1px solid var(--lp-borda); border-radius: 18px; padding: 24px; background: #fff; }
.lp-seguranca p { color: var(--lp-suave); margin: 0; }

/* Preço */
.lp-preco { display: flex; justify-content: center; }
.lp-preco-card { background: #fff; color: var(--lp-texto); border-radius: 24px; padding: 40px; max-width: 460px; width: 100%; text-align: center; box-shadow: 0 30px 60px rgba(0, 0, 0, 0.25); }
.ca-lp .lp-preco-card p { color: var(--lp-texto); }
.ca-lp .lp-preco-card .lp-sobretitulo { color: var(--lp-cor); }
.ca-lp .lp-valor { font-family: var(--lp-titulo); font-size: 3.4rem; font-weight: 700; line-height: 1; margin: 8px 0 10px !important; }
.lp-valor small { font-family: var(--lp-corpo); font-size: 1rem; font-weight: 500; color: var(--lp-suave); }
.lp-preco-card .lp-lista-check { text-align: left; margin: 24px 0 28px; }
.lp-preco-card .lp-botao { display: block; }

/* FAQ */
.lp-faq { margin-top: 28px; display: grid; gap: 12px; }
.lp-faq details { background: #fff; border: 1px solid var(--lp-borda); border-radius: 14px; padding: 4px 20px; }
.lp-faq summary { cursor: pointer; font-weight: 700; padding: 16px 0; list-style: none; position: relative; padding-right: 30px; }
.lp-faq summary::-webkit-details-marker { display: none; }
.lp-faq summary::after { content: "+"; position: absolute; right: 0; top: 12px; font-size: 1.5rem; color: var(--lp-cor); font-weight: 400; }
.lp-faq details[open] summary::after { content: "−"; }
.lp-faq details p { color: var(--lp-suave); padding-bottom: 6px; }

/* Formulário */
.lp-secao-form { background: linear-gradient(180deg, var(--lp-fundo) 0%, var(--lp-fundo-2) 100%); }
.lp-secao-form h2 { margin-bottom: 30px; }
.lp-secao-form .ca-app { padding: 0; }
.ca-lp .ca-app { font-family: var(--lp-corpo); font-weight: 400; }
.ca-lp .ca-app .ca-titulo { font-size: 1.5rem; max-width: none; }
.ca-lp .ca-form > .ca-titulo { display: none; } /* o título já está na seção */

/* Rodapé */
.lp-rodape { padding: 40px 0 110px; text-align: center; color: var(--lp-suave); font-size: 0.92rem; border-top: 1px solid var(--lp-borda); }
.lp-rodape p { margin: 0 0 6px; }
.lp-pequeno { font-size: 0.82rem; }

/* Botão fixo (só no celular) */
.ca-lp .lp-fixo { display: none; }

/* Responsivo */
@media (max-width: 960px) {
	.lp-hero-grade,
	.lp-garantia-grade,
	.lp-acomp-grade { grid-template-columns: 1fr; gap: 40px; }
	.lp-celular { margin: 0 auto; transform: none; }
	.lp-passos { grid-template-columns: repeat(2, 1fr); }
	.lp-ideias { grid-template-columns: repeat(2, 1fr); }
	.lp-acomp-card { order: 2; }
}

@media (max-width: 640px) {
	.ca-lp { font-size: 16px; }
	.lp-menu { display: none; }
	.lp-topo-linha { justify-content: space-between; }
	.lp-hero { padding: 44px 0 56px; }
	.lp-secao { padding: 60px 0; }
	.lp-passos,
	.lp-ideias,
	.lp-seguranca { grid-template-columns: 1fr; }
	.lp-cta .lp-botao { width: 100%; }
	.lp-preco-card { padding: 30px 22px; }

	.ca-lp .lp-fixo {
		display: block;
		position: fixed;
		left: 16px;
		right: 16px;
		bottom: 14px;
		z-index: 30;
		transition: opacity 0.2s, transform 0.2s;
	}

	.ca-lp .lp-fixo.lp-oculto { opacity: 0; transform: translateY(20px); pointer-events: none; }
}

@media (prefers-reduced-motion: reduce) {
	.ca-lp * { transition: none !important; scroll-behavior: auto !important; }
}

html:has(.ca-lp) { scroll-behavior: smooth; scroll-padding-top: 76px; }

/* Logo no topo */
.ca-lp .lp-marca { display: inline-flex; align-items: center; gap: 8px; }
.ca-lp .lp-marca .ca-logo-icone { width: 36px; height: 36px; }
.ca-lp .lp-marca .ca-logo-nome { height: 24px; width: auto; }
.lp-avatar img { width: 26px; height: 26px; display: block; }
@media (max-width: 640px) {
	.ca-lp .lp-marca .ca-logo-nome { height: 18px; }
	.ca-lp .lp-marca .ca-logo-icone { width: 30px; height: 30px; }
}
