/* ============================================================
   Santos & Bochnia — lp.css
   Template das 4 landing pages de conversão (tráfego pago).
   Uma folha única; variações por área via classe no <body>:
   .lp--prev  .lp--penal  .lp--consumidor  .lp--imob
   ============================================================ */

body.lp { background: var(--paper); }

/* Previdenciário: público 50+ → corpo maior */
body.lp--prev { font-size: clamp(1.06rem, .4vw + 1rem, 1.19rem); }
/* Penal: atmosfera mais fechada */
body.lp--penal { --ice: #F2F6F8; }

/* ---------- Header mínimo ---------- */
.lp-header { position: absolute; inset: 0 0 auto 0; z-index: 50; padding-block: 1.1rem; }
.lp-header .bar { display: flex; align-items: center; justify-content: space-between; }
.lp-header .brand img { height: 68px; width: auto; }
.lp-header .btn { min-height: 44px; padding: .5rem 1.3rem; font-size: .92rem; }
@media (max-width: 560px) { .lp-header .brand img { height: 54px; } .lp-header .btn { display: none; } }

/* ---------- Hero ---------- */
.lp-hero {
  position: relative; overflow: hidden;
  display: grid; align-items: center;
  min-height: min(88svh, 860px);
  padding-block: clamp(7rem, 14vw, 9rem) clamp(3rem, 6vw, 4.5rem);
  background:
    radial-gradient(1000px 480px at 108% 8%, rgba(154, 215, 233, .18), transparent 62%),
    linear-gradient(170deg, #FDFEFE 0%, var(--ice) 60%, #E7EFF4 100%);
}
body.lp--penal .lp-hero {
  background:
    radial-gradient(1000px 520px at 110% 0%, rgba(119, 185, 201, .12), transparent 60%),
    linear-gradient(168deg, #10344F 0%, var(--navy-deep) 70%);
}
body.lp--penal .lp-hero h1, body.lp--penal .lp-hero .lp-sub { color: #fff; }
body.lp--penal .lp-hero .lp-sub { color: #B9CFDD; }
body.lp--penal .lp-hero .eyebrow { color: var(--teal-light); }

.lp-hero .container { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (max-width: 880px) { .lp-hero .container { grid-template-columns: 1fr; } }

.lp-hero h1 { font-size: clamp(2.3rem, 5.6vw, 3.9rem); letter-spacing: -.01em; }
.lp-sub { margin-top: 1.2rem; font-size: clamp(1.06rem, 1.5vw, 1.22rem); color: var(--ink-soft); max-width: 32em; }
.lp-hero .btn-wa { margin-top: 2rem; }

.lp-hero-media { border-radius: var(--r-card); overflow: hidden; box-shadow: var(--shadow-2); }
.lp-hero-media img { width: 100%; height: clamp(280px, 34vw, 460px); object-fit: cover; }
@media (max-width: 880px) {
  /* mobile: sem imagem no hero → LCP é o headline */
  .lp-hero-media { display: none; }
}

/* microcopy de confiança sob o CTA */
.trust-line {
  display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin-top: 1.1rem;
  font-size: .88rem; color: var(--ink-soft); font-weight: 500;
}
body.lp--penal .trust-line { color: #9DB6C6; }
.trust-line span { display: inline-flex; align-items: center; gap: .45rem; }
.trust-line span::before { content: "✓"; color: var(--petrol); font-weight: 700; }
body.lp--penal .trust-line span::before { color: var(--teal); }

/* ---------- Checklist "é para você se..." ---------- */
.sintomas { padding-block: var(--sect); }
.sintomas h2, .lp h2 { font-size: var(--fs-h2); }
.check-list { margin: clamp(1.8rem, 4vw, 2.6rem) 0 0; padding: 0; list-style: none; display: grid; gap: .9rem; max-width: 720px; }
.check-list li {
  display: flex; gap: .9rem; align-items: flex-start;
  background: var(--ice); border: 1px solid var(--hairline); border-radius: 12px;
  padding: 1.05rem 1.3rem; font-weight: 500;
}
.check-list li::before {
  content: "✓"; flex: none; width: 1.7em; height: 1.7em; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--teal); color: var(--navy); font-weight: 700; font-size: .9em;
  margin-top: .05em;
}
.sintomas .btn-wa { margin-top: 2.2rem; }

/* ---------- Confiança / selos ---------- */
.confianca { background: var(--ice); border-block: 1px solid var(--hairline); padding-block: clamp(3rem, 7vw, 5rem); }
.mini-stats { display: flex; flex-wrap: wrap; gap: 2.5rem 4rem; margin-bottom: 2.4rem; }
.mini-stats .stat .num { font-size: clamp(2rem, 3.6vw, 2.7rem); }
.selos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
@media (max-width: 760px) { .selos { grid-template-columns: 1fr; } }
.selo {
  background: var(--paper); border: 1px solid var(--hairline); border-radius: var(--r-card);
  padding: 1.5rem; display: flex; flex-direction: column; gap: .5rem;
}
.selo svg { width: 30px; height: 30px; color: var(--petrol); }
.selo h3 { font-family: var(--sans); font-size: 1.02rem; font-weight: 600; color: var(--navy); }
.selo p { font-size: .92rem; color: var(--ink-soft); }

/* ---------- Como funciona ---------- */
.passos { padding-block: var(--sect); }
.passos-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.5rem, 3vw, 2.5rem);
  margin-top: clamp(2rem, 4vw, 3rem); padding: 0; list-style: none;
}
@media (max-width: 760px) { .passos-grid { grid-template-columns: 1fr; } }
.passo { position: relative; padding: 1.6rem; background: var(--ice); border: 1px solid var(--hairline); border-radius: var(--r-card); }
.passo-n {
  font-family: var(--serif); font-size: 2.8rem; font-weight: 600; line-height: 1;
  background: linear-gradient(135deg, #9AD7E9, #519EAD);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.passo h3 { margin-top: .6rem; font-size: 1.22rem; }
.passo p { margin-top: .5rem; color: var(--ink-soft); font-size: .96rem; }
.passos .btn-wa { margin-top: 2.2rem; }

/* ---------- Quem atende ---------- */
.quem { background: var(--ice); border-block: 1px solid var(--hairline); padding-block: var(--sect); }
.quem-card {
  display: grid; grid-template-columns: auto 1fr; gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center; max-width: 880px;
  background: linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%);
  border-radius: var(--r-card); padding: clamp(1.8rem, 4vw, 2.8rem);
  color: #C3D6E2; box-shadow: var(--shadow-2);
}
@media (max-width: 640px) { .quem-card { grid-template-columns: 1fr; } }
.quem-mono {
  font-family: var(--serif); font-weight: 600; line-height: .9; user-select: none;
  font-size: clamp(4rem, 8vw, 6rem); letter-spacing: -.04em;
  background: linear-gradient(135deg, #9AD7E9 0%, #77B9C9 45%, #519EAD 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.quem-card h3 { color: #fff; font-size: 1.6rem; }
.quem-role { color: var(--teal-light); font-size: .88rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; margin-top: .25rem; }
.quem-card p:not(.quem-role) { margin-top: .8rem; font-size: .98rem; }

/* ---------- FAQ ---------- */
.lp-faq { padding-block: var(--sect); }
.lp-faq .faq { margin-top: clamp(1.8rem, 4vw, 2.6rem); max-width: 780px; }

/* ---------- CTA final ---------- */
.lp-cta {
  text-align: center; padding-block: clamp(4rem, 8vw, 6.5rem);
  background:
    radial-gradient(900px 420px at 50% -20%, rgba(119, 185, 201, .25), transparent 65%),
    linear-gradient(165deg, var(--navy) 0%, var(--navy-deep) 100%);
}
.lp-cta h2 { color: #fff; }
.lp-cta p { color: #B9CFDD; margin-top: .8rem; }
.lp-cta .btn-wa { margin-top: 1.8rem; }
.lp-cta .lp-end { margin-top: 2.6rem; font-size: .85rem; color: #9DB6C6; }

/* ---------- Footer mínimo ---------- */
.lp-footer { background: var(--navy-deep); }

/* ---------- Sticky mobile / float desktop ---------- */
@media (min-width: 761px) { .lp .wa-bar { display: none; } }
@media (max-width: 760px) {
  .lp .wa-float { display: none; }
  .lp .wa-bar { display: block; }
  .lp-cta { padding-bottom: clamp(6rem, 12vw, 8rem); } /* respiro p/ a barra fixa */
}
