/* Página /landing-page/ — estilos próprios. Não altera o app.4038122949.css. */
.lp {
  --azul: #1F3A5F; --azul-fundo: #0E1C2E; --amarelo: #FFC93C; --azul-claro: #EAF0F7; --cinza: #4A5D78;
  font-family: var(--font-poppins), system-ui, sans-serif; color: var(--azul); overflow-x: clip;
}
.lp *, .lp *::before, .lp *::after { box-sizing: border-box; }
.lp-wrap { max-width: 72rem; margin: 0 auto; padding: 0 16px; }
@media (min-width: 768px) { .lp-wrap { padding: 0 24px; } }
.lp-estreito { max-width: 48rem; }
.lp-h2 { font-size: 1.75rem; line-height: 1.15; font-weight: 700; letter-spacing: -0.02em; text-wrap: balance; margin: 0; }
.lp-h3 { font-size: 1.25rem; font-weight: 700; margin: 3.5rem 0 0; }
.lp-intro { margin: 0.9rem 0 0; max-width: 40rem; color: var(--cinza); font-size: 1rem; line-height: 1.65; }
.lp-nota { margin: 1rem 0 0; color: var(--cinza); font-size: 0.9rem; line-height: 1.6; }
@media (min-width: 768px) { .lp-h2 { font-size: 2.5rem; } .lp-intro { font-size: 1.0625rem; } }

/* Botões */
.lp-botao { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 3rem; padding: 0 1.5rem;
  border-radius: 999px; font-weight: 700; font-size: 1rem; text-decoration: none; transition: background-color .2s, transform .2s; }
.lp-botao:active { transform: scale(.98); }
.lp-botao:focus-visible, .lp a:focus-visible, .lp summary:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 3px; }
.lp-botao-amarelo { background: var(--amarelo); color: var(--azul); box-shadow: 0 10px 28px -12px rgba(255,201,60,.9); }
.lp-botao-amarelo:hover { background: #ffd666; }
.lp-botao-azul { background: var(--azul); color: #fff; }
.lp-botao-azul:hover { background: #2a4b78; }
@media (prefers-reduced-motion: reduce) { .lp-botao { transition: none; } .lp-botao:active { transform: none; } }

/* Topo */
.lp-topo { background: radial-gradient(120% 80% at 85% 10%, #2a4b78 0%, var(--azul) 45%, var(--azul-fundo) 100%); color: #fff; padding: 6.5rem 0 4rem; }
.lp-topo-grade { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 960px) { .lp-topo { padding: 8.5rem 0 6rem; } .lp-topo-grade { grid-template-columns: 1.1fr 1fr; gap: 4rem; } }
.lp-topo h1 { margin: 0; font-size: 2.1rem; line-height: 1.1; font-weight: 700; letter-spacing: -0.025em; text-wrap: balance; }
@media (min-width: 768px) { .lp-topo h1 { font-size: 3.25rem; } }
.lp-topo-sub { margin: 1.25rem 0 2rem; max-width: 34rem; font-size: 1.05rem; line-height: 1.65; color: rgba(255,255,255,.86); }
.lp-topo-preco { margin: 1rem 0 0; font-size: .9rem; color: rgba(255,255,255,.75); }

/* O caminho: página → botão → WhatsApp ou checkout */
.lp-caminho { position: relative; display: grid; justify-items: center; gap: 0; max-width: 26rem; width: 100%; margin: 0 auto; }
.lp-pagina { width: 100%; background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 30px 60px -25px rgba(0,0,0,.6); color: var(--azul); }
.lp-pagina-barra { display: flex; align-items: center; gap: 5px; padding: 10px 12px; background: var(--azul-claro); font-size: .7rem; }
.lp-pagina-barra span { width: 8px; height: 8px; border-radius: 50%; background: #c3d0e0; }
.lp-pagina-barra b { margin-left: 8px; font-weight: 500; color: var(--cinza); }
.lp-pagina-corpo { display: grid; gap: 8px; padding: 18px 18px 20px; }
.lp-l { display: block; height: 10px; border-radius: 6px; background: var(--azul); }
.lp-l1 { width: 85%; height: 14px; } .lp-l2 { width: 60%; height: 14px; } .lp-l3 { width: 75%; background: #c3d0e0; margin-top: 4px; }
.lp-pagina-foto { display: block; height: 72px; border-radius: 10px; margin-top: 6px; background: linear-gradient(135deg, #EAF0F7, #c3d0e0); }
.lp-pagina-botao { justify-self: start; margin-top: 8px; padding: 10px 20px; border-radius: 999px; background: var(--amarelo); font-weight: 700; font-size: .85rem;
  box-shadow: 0 0 0 6px rgba(255,201,60,.25); }
.lp-fio { display: block; width: 2px; height: 44px; background: repeating-linear-gradient(to bottom, var(--amarelo) 0 6px, transparent 6px 12px); }
.lp-destinos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; position: relative; }
.lp-destinos::before { content: ""; position: absolute; top: -1px; left: 25%; right: 25%; height: 2px;
  background: repeating-linear-gradient(to right, var(--amarelo) 0 6px, transparent 6px 12px); }
.lp-balao, .lp-checkout { margin-top: 18px; border-radius: 14px; padding: 12px; font-size: .8rem; line-height: 1.4; }
.lp-balao { background: #DCF8C6; color: #1d2b1f; border-top-left-radius: 4px; }
.lp-balao-quem, .lp-checkout-quem { display: block; font-weight: 700; font-size: .72rem; margin-bottom: 4px; }
.lp-balao-quem { color: #1f7a3d; }
.lp-balao-hora { display: block; text-align: right; font-size: .65rem; color: #5a6b5c; margin-top: 4px; }
.lp-checkout { background: #fff; color: var(--azul); }
.lp-checkout-quem { color: var(--cinza); }
.lp-checkout-linha { display: block; padding: 6px 8px; border: 1px solid #d7e0ec; border-radius: 8px; font-size: .75rem; }
.lp-checkout-ok { display: inline-block; margin-top: 8px; padding: 3px 8px; border-radius: 999px; background: var(--azul); color: #fff; font-size: .68rem; font-weight: 500; }

/* Pacotes */
.lp-pacotes { background: #fff; padding: 4.5rem 0; scroll-margin-top: 64px; }
@media (min-width: 768px) { .lp-pacotes { padding: 6rem 0; } }
.lp-cards { list-style: none; margin: 2.5rem 0 0; padding: 0; display: grid; gap: 1rem; }
@media (min-width: 900px) { .lp-cards { grid-template-columns: repeat(3, 1fr); align-items: start; } }
.lp-card { position: relative; display: flex; flex-direction: column; border: 1px solid #d7e0ec; border-radius: 24px; padding: 1.75rem 1.5rem 1.5rem; background: #fff; }
.lp-card h3 { margin: 0; font-size: 1.35rem; font-weight: 700; }
.lp-card-para { margin: .4rem 0 0; color: var(--cinza); font-size: .95rem; line-height: 1.5; min-height: 2.9em; }
.lp-preco { margin: 1.25rem 0 0; display: flex; flex-direction: column; }
.lp-preco b { font-size: 2.25rem; line-height: 1; letter-spacing: -0.02em; }
.lp-preco span { margin-top: .35rem; font-size: .9rem; color: var(--cinza); }
.lp-lista { list-style: none; margin: 1.5rem 0 1.75rem; padding: 0; display: grid; gap: .6rem; font-size: .95rem; line-height: 1.45; flex: 1; }
.lp-lista li { position: relative; padding-left: 1.6rem; }
.lp-lista li::before { content: ""; position: absolute; left: 0; top: .2em; width: 1.05rem; height: 1.05rem; border-radius: 50%;
  background: var(--amarelo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F3A5F' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 62% no-repeat; }
.lp-card .lp-botao { width: 100%; }
.lp-card-destaque { background: var(--azul); color: #fff; border-color: var(--azul); box-shadow: 0 30px 60px -30px rgba(31,58,95,.7); }
@media (min-width: 900px) { .lp-card-destaque { margin-top: -1rem; padding-top: 2.75rem; padding-bottom: 2.5rem; } }
.lp-card-destaque .lp-card-para, .lp-card-destaque .lp-preco span { color: rgba(255,255,255,.8); }
.lp-selo { position: absolute; top: -0.85rem; left: 1.5rem; margin: 0; padding: .3rem .85rem; border-radius: 999px; background: var(--amarelo); color: var(--azul); font-size: .8rem; font-weight: 700; }
.lp-hospedagem { margin-top: 2rem; padding: 1.25rem 1.5rem; border-radius: 18px; background: var(--azul-claro); display: grid; gap: .25rem; font-size: 1rem; line-height: 1.5; }
.lp-hospedagem p { margin: 0; }
@media (min-width: 768px) { .lp-hospedagem { grid-template-columns: auto auto; justify-content: space-between; } }

/* Tabela */
.lp-comparar { background: var(--azul-claro); padding: 4.5rem 0; }
@media (min-width: 768px) { .lp-comparar { padding: 6rem 0; } }
.lp-tabela { width: 100%; margin-top: 2rem; border-collapse: separate; border-spacing: 0; background: #fff; border-radius: 20px; overflow: hidden; font-size: .95rem; }
.lp-tabela th, .lp-tabela td { padding: .85rem 1rem; text-align: center; border-bottom: 1px solid #e3e9f2; vertical-align: middle; }
.lp-tabela tbody tr:last-child > * { border-bottom: 0; }
.lp-tabela thead th { font-weight: 700; font-size: 1rem; }
.lp-tabela th[scope="row"] { text-align: left; font-weight: 500; }
.lp-tabela small { display: block; font-weight: 400; font-size: .8rem; color: var(--cinza); margin-top: 2px; }
.lp-col-destaque { background: #f6f8fc; }
.lp-tabela thead .lp-col-destaque { background: var(--azul); color: #fff; }
.lp-sim, .lp-nao { display: inline-block; width: 1.25rem; height: 1.25rem; border-radius: 50%; vertical-align: middle; }
.lp-sim { background: var(--amarelo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F3A5F' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 62% no-repeat; }
.lp-nao { width: .9rem; height: 2px; border-radius: 2px; background: #b4c1d3; }
/* No celular: cada linha vira um bloco, o nome do item ocupa a largura e os 3 valores ficam em 3 colunas */
@media (max-width: 719px) {
  .lp-tabela, .lp-tabela thead, .lp-tabela tbody { display: block; }
  .lp-tabela { font-size: .85rem; }
  .lp-tabela tr { display: grid; grid-template-columns: repeat(3, 1fr); }
  .lp-tabela thead td { display: none; }
  .lp-tabela thead { position: sticky; top: 64px; z-index: 5; }
  .lp-tabela thead th { padding: .7rem .25rem; font-size: .8rem; background: #fff; border-bottom: 2px solid #d7e0ec; }
  .lp-tabela th[scope="row"] { grid-column: 1 / -1; padding: .8rem .9rem .2rem; border-bottom: 0; background: #fff; }
  .lp-tabela td { padding: .35rem .3rem .8rem; overflow-wrap: anywhere; }
  .lp-tabela tbody td.lp-col-destaque { background: #f6f8fc; }
  .lp-tabela { overflow: visible; }
}

/* Extras */
.lp-extras { background: #fff; padding: 4.5rem 0; }
@media (min-width: 768px) { .lp-extras { padding: 6rem 0; } }
.lp-extras-grade { display: grid; gap: 2rem; }
@media (min-width: 960px) { .lp-extras-grade { grid-template-columns: 1fr 1.5fr; gap: 4rem; align-items: start; } .lp-extras-grade > div:first-child { position: sticky; top: 96px; } }
.lp-extras-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid #d7e0ec; }
.lp-extras-lista li { display: grid; gap: .35rem; padding: 1.1rem 0; border-bottom: 1px solid #d7e0ec; }
@media (min-width: 600px) { .lp-extras-lista li { grid-template-columns: 1fr auto; gap: 1.5rem; align-items: baseline; } }
.lp-extras-lista b { display: block; font-weight: 700; font-size: 1rem; line-height: 1.4; }
.lp-extras-lista span { display: block; margin-top: .2rem; color: var(--cinza); font-size: .9rem; line-height: 1.55; }
.lp-extras-lista p { margin: 0; font-weight: 700; white-space: nowrap; }

/* Passos */
.lp-passos { background: var(--azul); color: #fff; padding: 4.5rem 0; }
@media (min-width: 768px) { .lp-passos { padding: 6rem 0; } }
.lp-passos-lista { list-style: none; counter-reset: passo; margin: 2.5rem 0 0; padding: 0; display: grid; gap: 1.75rem; }
@media (min-width: 768px) { .lp-passos-lista { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; } }
.lp-passos-lista li { counter-increment: passo; position: relative; padding-top: 3.5rem; }
.lp-passos-lista li::before { content: counter(passo); position: absolute; top: 0; left: 0; width: 2.5rem; height: 2.5rem; border-radius: 50%;
  display: grid; place-items: center; background: var(--amarelo); color: var(--azul); font-weight: 700; }
@media (min-width: 768px) { .lp-passos-lista li:not(:last-child)::after { content: ""; position: absolute; top: 1.25rem; left: 3.25rem; right: .5rem; height: 2px; background: rgba(255,255,255,.2); } }
.lp-passos-lista b { display: block; font-size: 1.1rem; }
.lp-passos-lista span { display: block; margin-top: .35rem; color: rgba(255,255,255,.8); line-height: 1.55; font-size: .95rem; }

/* Prova */
.lp-prova { background: #fff; padding: 4.5rem 0; }
@media (min-width: 768px) { .lp-prova { padding: 6rem 0; } }
.lp-trabalhos { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (min-width: 768px) { .lp-trabalhos { grid-template-columns: repeat(4, 1fr); } }
.lp-trabalho-1 { grid-column: 1 / -1; }
@media (min-width: 768px) { .lp-trabalho-1 { grid-column: span 2; grid-row: span 2; } }
.lp-trabalhos a { display: block; text-decoration: none; color: var(--azul); }
.lp-trabalhos img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 14px; background: var(--azul-claro); }
.lp-trabalhos span { display: block; margin-top: .5rem; font-size: .85rem; color: var(--cinza); line-height: 1.4; }
.lp-trabalhos span b { display: block; color: var(--azul); font-size: .95rem; }
.lp-trabalhos a:hover b { text-decoration: underline; }
.lp-depoimentos { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: 1rem; }
@media (min-width: 768px) { .lp-depoimentos { grid-template-columns: 1fr 1fr; } }
.lp-depoimentos li { display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; padding: 1.5rem; border-radius: 20px; background: var(--azul-claro); }
.lp-depoimentos blockquote { margin: 0; font-size: 1rem; line-height: 1.6; }
.lp-depoimentos p { margin: 0; display: flex; align-items: center; gap: .75rem; font-size: .85rem; color: var(--cinza); }
.lp-depoimentos img { width: 48px; height: 48px; border-radius: 50%; }
.lp-depoimentos p b { display: block; color: var(--azul); font-size: .95rem; }

/* Dúvidas */
.lp-duvidas { background: var(--azul-claro); padding: 4.5rem 0; scroll-margin-top: 64px; }
@media (min-width: 768px) { .lp-duvidas { padding: 6rem 0; } }
.lp-duvidas .lp-h2 { margin-bottom: 1.5rem; }
.lp-duvidas details { background: #fff; border-radius: 16px; margin-top: .75rem; }
.lp-duvidas summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; align-items: center; min-height: 3.25rem; padding: .9rem 1.25rem; font-weight: 700; line-height: 1.4; }
.lp-duvidas summary::-webkit-details-marker { display: none; }
.lp-duvidas summary::after { content: "+"; flex: none; width: 1.75rem; height: 1.75rem; border-radius: 50%; display: grid; place-items: center; background: var(--azul-claro); font-size: 1.2rem; font-weight: 500; }
.lp-duvidas details[open] summary::after { content: "−"; }
.lp-duvidas details p { margin: 0; padding: 0 1.25rem 1.25rem; color: var(--cinza); line-height: 1.65; }
.lp-duvidas details p b { color: var(--azul); }

/* Chamada final */
.lp-final { background: var(--amarelo); color: var(--azul); padding: 4.5rem 0; text-align: center; }
@media (min-width: 768px) { .lp-final { padding: 6rem 0; } }
.lp-final h2 { margin: 0; font-size: 1.85rem; line-height: 1.15; font-weight: 700; letter-spacing: -0.02em; text-wrap: balance; }
@media (min-width: 768px) { .lp-final h2 { font-size: 2.75rem; } }
.lp-final p { margin: 1rem auto 2rem; max-width: 32rem; line-height: 1.6; font-size: 1.05rem; }
