/* ============================================================
   VERDINHA · DESIGN SYSTEM v1.2 · verdinha.site
   Guia de Marca v1.2 + regra de links v1.2.1
   Bitter (títulos e navegação) + Poppins (texto)
   Acento por site via <html data-site="online|live|site">
   ============================================================ */

:root{
  /* Cores fixas nos 3 sites */
  --verde:#0F8846;           /* marca-mãe: logo, header */
  --verde-profundo:#0A5C30;  /* texto e bases escuras */
  --ambar:#C89A3E;           /* DECORATIVO: faixas, selos, detalhes */
  --ambar-escuro:#8A5F1E;    /* obrigatório quando o âmbar carrega texto */
  --creme:#F7EEDD;
  --offwhite:#EEF0EB;
  --branco:#FFFFFF;
  --linha:#DCE2DB;

  /* Aliases de compatibilidade (mesmos nomes do sistema anterior) */
  --verde-escuro:var(--verde-profundo);
  --carvao:var(--verde-profundo);
  --fundo:var(--offwhite);
  --cinza:#41544A;           /* texto secundário: verde acinzentado AA sobre neutros */
  --raio:12px;

  --display:'Bitter',serif;
  --corpo:'Poppins',sans-serif;

  /* Acento padrão (online) */
  --acento:var(--verde);
  --acento-hover:#0C6E39;
}
[data-site="live"]{--acento:var(--ambar-escuro);--acento-hover:#6F4A15}
[data-site="site"]{--acento:var(--verde-profundo);--acento-hover:#07461F}
:root{--verde-vivo:var(--acento)}  /* compat: usos antigos de --verde-vivo seguem o acento */

/* ---------- BASE (mobile first) ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--corpo);font-weight:400;color:var(--verde-profundo);background:var(--offwhite);line-height:1.65;font-size:16.5px}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
@media(min-width:720px){.wrap{padding:0 32px}}
section{padding:56px 0}
@media(min-width:860px){section{padding:80px 0}}

/* ---------- TIPOGRAFIA ---------- */
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.15;letter-spacing:0;text-transform:none;color:var(--verde-profundo)}
h1{font-size:clamp(30px,6vw,52px)}
h2{font-size:clamp(24px,4.2vw,38px);margin-bottom:14px}
h3{font-size:20px}
.eyebrow{font-family:var(--corpo);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--acento);display:block;margin-bottom:10px}
.lead{font-size:17.5px;color:var(--cinza);max-width:640px;font-weight:300}
strong,b{font-weight:700}

/* Links (regra v1.2.1): em corpo sobre off-white/creme, Verde Profundo sublinhado.
   Acento como texto só sobre branco ou em texto grande/bold. */
a{color:var(--verde-profundo);text-decoration:underline;text-underline-offset:2px}
a.link-forte{color:var(--acento);font-weight:600;text-decoration:none}
a.link-forte:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:3px solid var(--ambar);outline-offset:2px}

/* ---------- BOTÕES (sem sombras, Regra 5) ---------- */
.btn{display:inline-block;font-family:var(--corpo);font-weight:600;font-size:16px;padding:14px 28px;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;min-height:48px}
.btn:focus-visible{outline:3px solid var(--ambar);outline-offset:3px}
.btn-primario{background:var(--acento);color:var(--branco)}
.btn-primario:hover{background:var(--acento-hover)}
.btn-secundario{background:transparent;color:var(--branco);border-color:rgba(255,255,255,.55)}
.btn-secundario:hover{background:var(--branco);color:var(--verde-profundo);border-color:var(--branco)}
.btn-contorno{background:transparent;color:var(--acento);border-color:var(--acento)}
.btn-contorno:hover{background:var(--acento);color:var(--branco)}

/* ---------- HEADER (verde-mãe, idêntico nos 3 sites) ---------- */
header.site{background:var(--verde);position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;max-width:1080px;margin:0 auto}
@media(min-width:720px){.nav{padding:14px 32px}}
.logo{display:flex;align-items:center;text-decoration:none}
.logo-img{height:30px;width:auto;display:block}
@media(min-width:720px){.logo-img{height:34px}}
.nav-cta{font-family:var(--corpo);font-weight:600;font-size:14px;color:var(--verde);background:var(--branco);padding:9px 18px;border-radius:999px;text-decoration:none;white-space:nowrap}
.nav .nav-cta,.nav .nav-cta:hover{color:var(--verde)}
@media(max-width:520px){.nav{gap:10px}.logo-img{height:26px}.nav-cta{font-size:13px;padding:8px 14px}}

/* ---------- HERO (cor chapada + anel decorativo sutil) ---------- */
.hero{background:var(--verde-profundo);color:var(--branco);padding:56px 0 64px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-80px;width:420px;height:420px;border-radius:50%;border:56px solid rgba(255,255,255,.05);pointer-events:none}
@media(min-width:860px){.hero{padding:88px 0 96px}}
.hero h1{color:var(--branco);max-width:780px;margin-bottom:18px}
.hero p{font-size:clamp(16.5px,2vw,19px);max-width:640px;color:var(--offwhite);margin-bottom:12px;font-weight:300}
.hero .eyebrow{color:var(--creme)}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero .btn-primario{background:var(--branco);color:var(--verde-profundo)}
.hero .btn-primario:hover{background:var(--creme)}

/* ---------- FAIXA (âmbar decorativo, texto no âmbar escuro) ---------- */
.faixa{background:var(--creme);border-top:3px solid var(--ambar);border-bottom:3px solid var(--ambar);color:var(--ambar-escuro);padding:14px 0;font-family:var(--corpo);font-weight:600;font-size:15px;text-align:center}
.faixa strong{color:var(--ambar-escuro)}

/* ---------- SEÇÕES E PAINÉIS ---------- */
.sec-branca{background:var(--branco)}
.sec-escura{background:var(--verde-profundo);color:var(--branco)}
.sec-escura h2{color:var(--branco)}
.sec-escura .eyebrow{color:var(--creme)}
.sec-escura .lead{color:var(--offwhite)}
.sec-verde{background:var(--verde-profundo);color:var(--branco);position:relative;overflow:hidden}
.sec-verde::after{content:"";position:absolute;left:-140px;bottom:-160px;width:380px;height:380px;border-radius:50%;border:48px solid rgba(255,255,255,.045);pointer-events:none}
.sec-verde h2{color:var(--branco)}
.grid-2{display:grid;grid-template-columns:1fr;gap:20px}
.duas-col{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
@media(min-width:860px){.grid-2{grid-template-columns:1fr 1fr;gap:28px}.duas-col{grid-template-columns:1.1fr .9fr;gap:48px}}
.painel{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:28px 26px}
.painel.verde-painel{background:var(--verde-profundo);color:var(--branco);border:none}
.painel h3{margin-bottom:16px;font-size:22px}
.painel.verde-painel h3{color:var(--creme)}
.painel ul{list-style:none}
.painel li{padding:8px 0 8px 28px;position:relative;font-size:15px;border-bottom:1px solid rgba(10,92,48,.08)}
.painel li:last-child{border-bottom:none}
.painel li::before{content:"✓";position:absolute;left:0;font-weight:700;color:var(--acento)}
.painel.verde-painel li{border-bottom:1px solid rgba(255,255,255,.12)}
.painel.verde-painel li::before{color:var(--ambar)}

/* ---------- ROTA (etapas) ---------- */
.rota{list-style:none;position:relative;max-width:720px;margin:40px auto 0}
.rota li{position:relative;padding:0 0 36px 80px}
.rota li:last-child{padding-bottom:0}
.rota li::before{content:"";position:absolute;left:27px;top:56px;bottom:-2px;border-left:2px dashed var(--acento)}
.rota li:last-child::before{display:none}
.parada{position:absolute;left:0;top:0;width:56px;height:56px;border-radius:50%;background:var(--verde-profundo);color:var(--branco);display:flex;align-items:center;justify-content:center;font-size:24px}
.rota li:first-child .parada,.rota li:last-child .parada{background:var(--creme);border:2px solid var(--ambar)}
.rota h3{font-size:19px;margin-bottom:4px}
.rota p{color:var(--cinza);font-size:15px;max-width:520px;font-weight:300}

/* ---------- NOTA ---------- */
.nota{background:var(--creme);border-left:4px solid var(--ambar);border-radius:0 var(--raio) var(--raio) 0;padding:18px 22px;font-size:15px;color:var(--cinza)}
.nota strong{color:var(--verde-profundo)}

/* ---------- CHIPS (fundo escuro) ---------- */
.chips{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:640px){.chips{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}}
.chip{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--raio);padding:15px 18px;font-size:15px;display:flex;gap:12px;align-items:flex-start}
.chip .x{color:var(--creme);font-weight:700;font-family:var(--corpo);font-size:16px;flex-shrink:0}

/* ---------- PLACAS ---------- */
.placas{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:640px){.placas{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}}
.placa{border:2px solid var(--verde-profundo);border-radius:16px;background:var(--branco);overflow:hidden;display:flex;flex-direction:column}
.placa .placa-titulo{background:var(--verde-profundo);color:var(--branco);font-family:var(--display);font-weight:700;font-size:18px;text-align:center;padding:11px}
.placa .cidades{padding:18px 22px;flex:1;list-style:none}
.placa .cidades li{padding:8px 0;border-bottom:1px dashed var(--linha);font-weight:500;font-size:15px}
.placa .cidades li:last-child{border-bottom:none}

/* ---------- PASSOS ---------- */
.passos{display:grid;grid-template-columns:1fr 1fr;gap:14px;counter-reset:passo}
@media(min-width:720px){.passos{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}}
.passo{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:18px 16px;counter-increment:passo}
.passo::before{content:counter(passo,decimal-leading-zero);font-family:var(--display);font-weight:800;font-size:24px;color:var(--acento);display:block;margin-bottom:6px}
.passo p{font-size:13.5px;font-weight:600;line-height:1.4}

/* ---------- FAQ ---------- */
.faq details{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;padding:17px 20px;font-weight:600;font-size:15.5px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--corpo);font-size:22px;color:var(--acento);font-weight:600;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 20px 18px;color:var(--cinza);font-size:15px;font-weight:300}

/* ---------- FORMULÁRIOS ---------- */
form.verdinha{background:var(--branco);border-radius:16px;border:1px solid var(--linha);padding:28px 20px;color:var(--verde-profundo)}
@media(min-width:720px){form.verdinha{padding:40px}}
.campos{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:720px){.campos{grid-template-columns:1fr 1fr;gap:20px}}
.campo{display:flex;flex-direction:column;gap:6px}
@media(min-width:720px){.campo.full{grid-column:1 / -1}}
label{font-weight:600;font-size:14px}
input[type=text],input[type=email],input[type=tel],select,textarea{font-family:var(--corpo);font-size:16px;padding:13px 14px;border:1.5px solid var(--linha);border-radius:10px;background:var(--offwhite);width:100%;color:var(--verde-profundo)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acento);border-color:var(--acento)}
textarea{resize:vertical;min-height:90px}
fieldset{border:1.5px solid var(--linha);border-radius:10px;padding:14px 16px}
legend{font-weight:600;font-size:14px;padding:0 6px}
.radio-linha{display:flex;gap:18px;flex-wrap:wrap;font-size:14px}
.radio-linha label{display:flex;align-items:center;gap:6px;font-weight:500;cursor:pointer}
.honeypot{position:absolute;left:-9999px}

/* ---------- FOOTER ---------- */
footer.site{background:var(--verde-profundo);color:var(--offwhite);padding:36px 0;font-size:14px}
footer.site a{color:var(--branco)}
footer.site .logo-img{height:26px}
footer.site p{margin-top:14px;max-width:640px;font-weight:300}

/* ---------- CTA FIXO MOBILE ---------- */
.cta-fixa{display:none}
@media(max-width:860px){
  .cta-fixa{display:block;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--verde-profundo);padding:10px 16px calc(10px + env(safe-area-inset-bottom));text-align:center;border-top:1px solid rgba(255,255,255,.15)}
  .cta-fixa .btn{display:block;width:100%;font-size:16px;padding:13px;background:var(--branco);color:var(--verde-profundo)}
  body.tem-cta-fixa{padding-bottom:72px}
}
