/* ============================================================
   PROJETO WA — Sistema de Design Partilhado
   Usado por todas as páginas do site. Editar aqui afeta tudo.
   ============================================================ */

:root{
  color-scheme: dark;

  /* --- Cor --- */
  --black:#050403;
  --charcoal:#161513;       /* cinza grafite — para secções alternadas */
  --panel:#0d0c0a;
  --panel-border:rgba(201,162,74,0.24);
  --panel-border-strong:rgba(201,162,74,0.4);
  --gold:#C9A24A;
  --gold-bright:#E4C878;
  --gold-deep:#7d6127;
  --white:#F6F4EF;
  --gray:#EDEBE4;       /* texto secundário — quase branco, nunca "cinza claro" */
  --gray-dim:#C8C5BC;   /* texto terciário/legal — ainda claramente forte, não desbotado */

  /* --- Tipo --- */
  --font-display:'Poppins', -apple-system, sans-serif;
  --font-body:'Poppins', -apple-system, sans-serif;

  /* --- Layout --- */
  --maxw:1180px;
  --radius-sm:8px;
  --radius:14px;
  --radius-lg:22px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{ margin:0; padding:0; background:var(--black); }
body{
  font-family:var(--font-body);
  color:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
ul{ list-style:none; margin:0; padding:0; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
}

.container{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
@media (min-width:900px){ .container{ padding:0 48px; } }

/* ---------------- TYPE SCALE ---------------- */
.eyebrow{ font-size:12.5px; font-weight:600; letter-spacing:3px; color:var(--gold); text-transform:uppercase; }
h1,h2,h3{ font-family:var(--font-display); font-weight:700; margin:0; line-height:1.15; }
h1{ font-size:clamp(34px, 6vw, 62px); }
h2{ font-size:clamp(26px, 4vw, 40px); }
h3{ font-size:clamp(19px, 2.4vw, 24px); }
p{ margin:0; color:var(--gray); }
.gold{ color:var(--gold); }
.lede{ font-size:clamp(16px, 2vw, 19px); color:var(--gray); line-height:1.65; max-width:620px; }

/* ---------------- NAV ---------------- */
.site-header{ position:sticky; top:0; z-index:80; background:rgba(5,4,3,0.85); backdrop-filter:blur(10px); border-bottom:1px solid rgba(201,162,74,0.14); }
.nav{ display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:var(--maxw); margin:0 auto; }
.nav-logo{ display:flex; align-items:center; gap:10px; }
.nav-logo img{ height:32px; }
.nav-logo .t{ font-size:15px; font-weight:700; letter-spacing:1.5px; }
.nav-logo .t .wa{ color:var(--gold); }
.nav-links{ display:none; align-items:center; gap:28px; }
.nav-links a{ font-size:13.5px; font-weight:500; color:var(--gray); letter-spacing:0.3px; transition:color 0.15s; }
.nav-links a:hover, .nav-links a.active{ color:var(--gold); }
.nav-cta.btn{ display:none; }
.nav-burger{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:none; border:1px solid var(--panel-border); border-radius:8px; color:var(--white); }
@media (min-width:920px){
  .nav-links{ display:flex; }
  .nav-cta.btn{ display:inline-flex; }
  .nav-burger{ display:none; }
}
.nav-mobile{ display:none; flex-direction:column; gap:2px; padding:8px 24px 20px; border-top:1px solid rgba(201,162,74,0.14); }
.nav-mobile.open{ display:flex; }
.nav-mobile a{ padding:13px 4px; font-size:15px; font-weight:500; color:var(--gray); border-bottom:1px solid rgba(255,255,255,0.05); }

/* ---------------- BUTTONS ---------------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:15px 26px; border-radius:9px; font-size:14.5px; font-weight:600; letter-spacing:0.3px; border:none; transition:transform 0.15s ease, opacity 0.15s ease; white-space:nowrap; }
.btn:active{ transform:scale(0.98); }
.btn svg{ width:18px; height:18px; flex-shrink:0; }
.btn-primary{ background:linear-gradient(135deg, var(--gold-bright), var(--gold)); color:#100c05; box-shadow:0 6px 20px rgba(201,162,74,0.22); }
.btn-secondary{ background:rgba(255,255,255,0.06); color:var(--white); border:1.5px solid var(--panel-border); }
.btn-outline{ background:transparent; color:var(--gold); border:1.5px solid var(--panel-border-strong); }
.btn-block{ width:100%; }
.btn-lg{ padding:18px 30px; font-size:15.5px; }

/* ---------------- SECTIONS ---------------- */
.section{ padding:76px 0; }
.section.alt{ background:var(--charcoal); }
.section-head{ text-align:center; max-width:640px; margin:0 auto 44px; }
.section-head.left{ text-align:left; margin:0 0 44px; }
.section-head h2{ margin-top:10px; }

/* ---------------- CARDS ---------------- */
.card{ background:var(--panel); border:1px solid var(--panel-border); border-radius:var(--radius); padding:28px 26px; }
.icon-badge{ width:52px; height:52px; border-radius:50%; border:1.5px solid var(--panel-border-strong); display:flex; align-items:center; justify-content:center; background:rgba(201,162,74,0.06); flex-shrink:0; }
.ic{ width:24px; height:24px; stroke:var(--gold); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

/* ---------------- TRUST BAR ---------------- */
.trust-bar{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.trust-chip{ display:flex; align-items:center; gap:8px; padding:9px 16px; border-radius:24px; border:1px solid var(--panel-border); font-size:12.5px; font-weight:500; color:var(--gray); }
.trust-chip .ic{ width:15px; height:15px; }

/* ---------------- FLOATING WHATSAPP ---------------- */
.fab{ position:fixed; right:20px; bottom:20px; z-index:90; width:56px; height:56px; border-radius:50%;
  background:linear-gradient(135deg, var(--gold-bright), var(--gold)); display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,0.5); }
.fab svg{ width:26px; height:26px; stroke:#100c05; fill:none; stroke-width:1.8; }

/* ---------------- FOOTER ---------------- */
.site-footer{ border-top:1px solid rgba(201,162,74,0.16); padding:56px 0 130px; background:#050403; }
.footer-grid{ display:grid; grid-template-columns:1fr; gap:34px; }
.footer-brand .t{ font-size:19px; font-weight:700; letter-spacing:1px; color:var(--white); }
.footer-brand .t .wa{ color:var(--gold); }
.footer-brand p{ margin-top:10px; font-size:13.5px; max-width:280px; color:var(--gray); line-height:1.6; }
.footer-col h4{ font-size:12px; font-weight:700; letter-spacing:1.5px; color:var(--gold); text-transform:uppercase; margin-bottom:16px; }
.footer-col a, .footer-col span{ display:block; font-size:14.5px; color:var(--gray); padding:6px 0; }
.footer-col a:hover{ color:var(--gold-bright); }
.footer-bottom{ margin-top:40px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.1); display:flex; flex-direction:column; gap:12px; font-size:12.5px; color:var(--gray); }
.footer-bottom a{ color:var(--gray); text-decoration:underline; text-underline-offset:2px; }
.footer-bottom a:hover{ color:var(--gold); }
@media (min-width:700px){
  .footer-bottom{ flex-direction:row; flex-wrap:wrap; justify-content:space-between; }
}
@media (min-width:800px){
  .footer-grid{ grid-template-columns:1.4fr 1fr 1fr 1fr; }
}

/* ---------------- UTIL ---------------- */
.grid-2{ display:grid; grid-template-columns:1fr; gap:20px; }
.grid-3{ display:grid; grid-template-columns:1fr; gap:20px; }
.grid-4{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.grid-2 > *, .grid-3 > *, .grid-4 > *{ min-width:0; overflow-wrap:break-word; }
@media (min-width:700px){ .grid-2{ grid-template-columns:1fr 1fr; } .grid-3{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:900px){ .grid-4{ grid-template-columns:repeat(4,1fr); } }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

/* ---------------- SCROLL REVEAL ---------------- */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity 0.6s ease, transform 0.6s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }

select, option{
  background-color: var(--panel) !important;
  color: var(--white) !important;
}
option:checked, option:hover{
  background-color: var(--charcoal) !important;
}
.cookie-banner{ position:fixed; left:16px; right:16px; bottom:16px; z-index:200; max-width:560px; margin:0 auto;
  background:#050403; border:1.5px solid var(--gold); border-radius:var(--radius); padding:22px 22px 20px;
  box-shadow:0 12px 40px rgba(0,0,0,0.6); display:none; }
.cookie-banner.show{ display:block; }
.cookie-banner p{ font-size:13.5px; color:var(--white); line-height:1.6; margin:0 0 16px; }
.cookie-banner p a{ color:var(--gold-bright); text-decoration:underline; font-weight:600; }
.cookie-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.cookie-actions .btn{ flex:1; padding:12px 16px; font-size:13.5px; }
.cookie-actions .btn-secondary{ background:#1a1815; border:1.5px solid var(--white); color:var(--white); }
