/* NOVO TEMA CLARO — layout V2 com correção das barras topo */
:root{
  --bg:#ffffff; --bg-soft:#f7f7fb; --ink:#111827; --muted:#6b7280;
  --brand:#1d4ed8; --brand-2:#059669; --ring:#93c5fd; --card:#ffffff;
  --border:#e5e7eb; --shadow:0 10px 28px rgba(0,0,0,.10);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial;color:var(--ink);background:var(--bg-soft)}
a{color:var(--brand);text-decoration:none} a:hover{text-decoration:underline}
.wrap{width:min(1180px,92vw);margin:0 auto}

/* Cabeçalho */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.8);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--ink)}
.mark{flex:0 0 auto}
.links a{padding:8px 10px;border-radius:8px}
.links a:hover,.links a:focus{outline:2px solid transparent;box-shadow:0 0 0 3px var(--ring);background:#eef6ff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--brand);color:#fff;padding:11px 16px;border:none;border-radius:8px;cursor:pointer;font-weight:700;box-shadow:var(--shadow)}
.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--border)}
.btn.sm{padding:8px 12px}

/* Herói */
.hero{border-bottom:1px solid var(--border)}
.hero-light{background:linear-gradient(180deg,#fff, #fafafa)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;padding:60px 0}
@media (max-width:920px){.hero-grid{grid-template-columns:1fr}}
.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px;margin:0 0 6px}
h1{font-size:clamp(28px,4vw,48px);line-height:1.1;margin:6px 0 10px}
.hl{background:linear-gradient(90deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:var(--muted);margin:0}
.hero-art img{width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow)}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

/* Layout principal */
.layout{display:grid;grid-template-columns:320px 1fr;gap:22px;margin-top:24px}
@media (max-width:980px){.layout{grid-template-columns:1fr} .side{order:2} .main{order:1}}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.p{padding:16px}.s>*+*{margin-top:10px}
.h-side{font-size:18px;margin:0 0 8px}
.lbl{display:grid;gap:6px;font-size:14px;color:var(--muted)}
input,select,textarea{background:#fff;color:var(--ink);border:1px solid var(--border);padding:10px 12px;border-radius:8px;width:100%}
input[type="search"]{background:#fff}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:7px 10px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--ink);cursor:pointer}
.chip.active{background:#eef6ff;border-color:#c7ddff;color:#0b3b9e}
.meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.meta dt{font-size:12px;color:var(--muted)} .meta dd{margin:0;font-weight:700}

/* Lista */
.h-section{font-size:clamp(22px,2.2vw,30px);margin:8px 0 14px}
.list{display:grid;gap:14px}
.offer{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center}
@media (max-width:640px){.offer{grid-template-columns:1fr}}
.offer .logo{width:140px;height:100px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;background:#fff}
.offer .logo img{max-width:90%;max-height:80%;object-fit:contain}
.offer .head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.muted{color:var(--muted)}
.kv{display:flex;gap:8px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--ink);font-weight:600;font-size:12px}
.badge{background:#0ea5e9;color:#fff;border-color:transparent}
.stars{display:flex;gap:2px} .star{width:18px;height:18px}

/* Guias/FAQ/Contacto */
.grid.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:820px){.grid.g3{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.grid.g3,.grid.g2{grid-template-columns:1fr}}
.card.guide{padding:16px}
.faq details{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px}
.faq details+details{margin-top:10px}
.form{margin-top:8px}
.check{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--muted)}
.success{display:none;background:#dcfce7;color:#064e3b;padding:12px;border-radius:10px;margin-top:10px;font-weight:700;border:1px solid #bbf7d0}

/* Rodapé */
.site-footer{margin-top:28px;border-top:1px solid var(--border);background:#fff}
.foot{padding:18px 0}
.brandline{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.foot-cols{align-items:start}
.legal{font-size:12px;color:var(--muted)}

/* Barras topo (corrigido para não sobrepor) */
.bar.topbar{position:fixed;left:0;right:0;top:0;z-index:90;display:none;background:#0b3b9e;color:#fff;border-bottom:1px solid #0a2f7f}
/* A barra de idade já não define top fixo em CSS; será posicionada via JS consoante a altura da de cookies */
.bar.topbar.age{top:auto;background:#065f46;border-color:#065f46}
.bar-flex{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;flex-wrap:wrap}
.bar.topbar p{margin:0;line-height:1.35}
@media (max-width:480px){ .bar.topbar p{font-size:14px} .btn.sm{padding:7px 10px} }

/* Modal */
.modal{position:fixed;inset:0;display:none;place-items:center;z-index:100;background:rgba(0,0,0,.45)}
.dialog{width:min(560px,92vw);background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:var(--shadow)}
.dialog-head{display:flex;align-items:center;justify-content:space-between}
.close{background:transparent;border:0;font-size:22px;cursor:pointer}

/* Botão topo */
.top-btn{position:fixed;right:18px;bottom:18px;display:none;background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--ink)}

:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}


/* ===== Corrections responsive (FR) ===== */
img, video {max-width:100%; height:auto; display:block;}
.container, .wrap, .shell {max-width:1200px; margin-inline:auto; padding-inline:16px;}
.grid, .cards {display:grid; gap:16px;}
@media (min-width:768px){ .grid.cols-2{grid-template-columns:repeat(2,1fr)} .grid.cols-3{grid-template-columns:repeat(3,1fr)} }
@media (max-width:767px){
  h1{font-size:1.9rem; line-height:1.2}
  h2{font-size:1.4rem}
  .hero .text{padding:12px 0}
  .offer .logo img{max-width:120px}
  .cta-row{flex-direction:column; gap:10px}
}
.footer-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: center;
  padding: 14px 0;
}

.footer-logos a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  border-radius: 10px;
  background: #666; /* серый фон за картинкой */
  box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}

.footer-logos img {
  height: 40px;
  width: auto;
  object-fit: contain;
  filter: none;
}

/* Селектор именно для формы внизу */
form#lead label.check {
  display: grid;                  /* превращаем в сетку */
  grid-template-columns: auto 1fr;/* слева чекбокс, справа текст */
  align-items: start;
  gap: 8px;

  width: 100%;                    /* занимает всю ширину */
  text-align: left;
  white-space: normal;            /* переносим текст нормально */
}

form#lead label.check input[type="checkbox"] {
  margin-top: 3px;                /* чуть опускаем галочку */
}


