/* Styles extraídos do index.html para suportar CSP sem 'unsafe-inline' */
/* Paleta HB (laranja, neutra) */
:root { --hb-red-600:#C2410C; --hb-red-500:#F97316; --brand1:#C2410C; --brand2:#F97316; --brand1-rgb:194,65,12; --brand2-rgb:249,115,22; --focus:#FDBA74; --danger:#C2410C; --ok:#2ecc71; font-size:16px; color-scheme: light dark; }
/* Tema ESCURO (padrão) */
[data-theme="dark"]{
    --bg:#0B0B10; --panel:#151a20; --panel-alt:#1d242c; --text:#F2F4F7; --muted:#A0A0AD;
    --border-1:#1f2731; --border-2:#262f38; --border-3:#2d3945;
    --control-bg:#2a323c; --control-border:#303a44;
    --outline-bg:#1c242d; --outline-border:#2d3945;
    --chip-1:#1b232c; --chip-2:#1d252e; --chip-hover:#242e38;
    --scroll-track:#12161c;
    color-scheme: dark;
}
/* Tema CLARO */
[data-theme="light"]{
    --bg:#f6f7f9; --panel:#ffffff; --panel-alt:#f1f5f9; --text:#111827; --muted:#475569;
    --border-1:#e5e7eb; --border-2:#d1d5db; --border-3:#cbd5e1;
    --control-bg:#f3f4f6; --control-border:#e5e7eb;
    --outline-bg:#ffffff; --outline-border:#e5e7eb;
    --chip-1:#f3f4f6; --chip-2:#eef2f7; --chip-hover:#e8edf3;
    --scroll-track:#e9eef5;
    color-scheme: light;
}
* { box-sizing:border-box; }
html,body { margin:0; padding:0; background:var(--bg); color:var(--text); font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif; -webkit-font-smoothing:antialiased; }
body { min-height:100dvh; display:flex; flex-direction:column; }
.skip-link { position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus { position:static; width:auto; height:auto; padding:.75rem 1rem; background:var(--panel); border:2px solid var(--focus); border-radius:.5rem; z-index:1000; }
.header { padding:1.25rem clamp(1rem,3vw,2rem); display:flex; align-items:center; justify-content:center; position:relative; }
.brand { display:flex; align-items:center; gap:.75rem; font-size:1.15rem; font-weight:600; letter-spacing:.5px; }
.brand svg { width:42px; height:42px; }
.main { width:100%; max-width:1100px; margin:0 auto; padding:clamp(1.25rem,3.5vw,2.75rem) clamp(1rem,3vw,2rem) 2.25rem; display:grid; gap:1.75rem; grid-template-columns:1fr; align-items:start; flex:1; }

/* Gate neutro (UX silenciosa) */
body.gate .main { max-width:560px; display:flex; align-items:center; justify-content:center; padding:clamp(1.25rem,4vw,3rem) clamp(1rem,3vw,2rem); }
body.gate .hero { width:100%; text-align:center; }
body.gate .hero-header { max-width:none; }
body.gate .subtitle { margin:0 0 1.25rem; font-weight:500; }
body.gate .actions { align-items:center; }
body.gate .btn { min-width:220px; }
body.gate .confirm.gate-confirm { width:100%; max-width:520px; margin:0 auto 1rem; text-align:left; }
body.gate .actions { width:100%; max-width:520px; margin:0 auto; }
.hero { position:relative; background:linear-gradient(145deg,var(--panel),var(--panel-alt)); padding:2.25rem 1.75rem 2.5rem; border:1px solid var(--border-1); border-radius:1.25rem; box-shadow:0 4px 32px -8px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04) inset; overflow:hidden; isolation:isolate; }
.hero:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 70% 30%,rgba(var(--brand2-rgb),.14),transparent 60%),radial-gradient(circle at 30% 70%,rgba(var(--brand1-rgb),.10),transparent 65%); opacity:.85; pointer-events:none; }
.hero-grid { position:relative; z-index:1; display:grid; gap:1.6rem; grid-template-columns:1fr; align-items:start; }
@media (min-width:900px){
    .hero-grid { grid-template-columns: 1.3fr .9fr; gap:2rem; }
}

.hero-copy { min-width:0; }
.hero-header { max-width:680px; }
.eyebrow { margin:0 0 .6rem; display:inline-flex; align-items:center; gap:.5rem; font-weight:650; letter-spacing:.6px; font-size:.78rem; text-transform:uppercase; color:var(--muted); background:var(--chip-1); border:1px solid var(--border-2); padding:.35rem .6rem; border-radius:999px; }
.hero-header h1 { margin:0 0 .75rem; font-size:clamp(1.85rem,4.6vw,2.65rem); line-height:1.15; letter-spacing:.5px; background:linear-gradient(90deg,var(--brand1),var(--brand2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.subtitle { margin:0 0 1.75rem; font-size:clamp(1rem,2.1vw,1.2rem); line-height:1.35; color:var(--muted); font-weight:500; }
.actions { display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; }
.microcopy { margin:0; font-size:.9rem; color:var(--muted); max-width:46ch; }
.kpis { list-style:none; margin:1.35rem 0 0; padding:0; display:grid; grid-template-columns:1fr; gap:.75rem; }
@media (min-width:620px){
    .kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.kpis li { background:var(--chip-1); border:1px solid var(--border-2); border-radius:1rem; padding:.85rem .9rem; display:flex; flex-direction:column; gap:.1rem; }
.kpis strong { font-size:.95rem; letter-spacing:.2px; }
.kpis span { font-size:.82rem; color:var(--muted); }
.btn { --grad:linear-gradient(135deg,var(--brand1),var(--brand2)); position:relative; cursor:pointer; font:600 1rem/1 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif; letter-spacing:.5px; padding:.9rem 1.4rem 1rem; border-radius:.9rem; border:1px solid var(--brand1); color:#fff; background:var(--grad); box-shadow:0 2px 10px -2px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.05) inset; display:inline-flex; align-items:center; justify-content:center; gap:.55rem; transition:background .35s,transform .35s,box-shadow .35s,border-color .35s; min-width:120px; }
.btn.secondary { background:var(--control-bg); color:var(--text); border-color:var(--control-border); }
.btn.outline { background:var(--outline-bg); border-color:var(--outline-border); }
.btn:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.btn:hover { transform:translateY(-2px); box-shadow:0 6px 18px -6px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06) inset; }
.btn:active { transform:translateY(0); box-shadow:0 2px 8px -2px rgba(0,0,0,.5); }
.btn[disabled] { cursor:not-allowed; opacity:.6; filter:grayscale(.2); }
.trust { position:relative; background:linear-gradient(160deg,var(--panel),var(--panel-alt)); padding:1.6rem 1.4rem 1.75rem; border:1px solid var(--border-1); border-radius:1.25rem; box-shadow:0 4px 32px -10px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04) inset; overflow:hidden; isolation:isolate; }
.trust-title { margin:0 0 .55rem; font-size:1.2rem; letter-spacing:.4px; }
.trust-sub { margin:0 0 1rem; color:var(--muted); line-height:1.35; }
.trust-list { list-style:none; margin:0; padding:0; display:grid; gap:.7rem; }
.trust-list li { position:relative; padding-left:1.35rem; line-height:1.35; color:var(--text); }
.trust-list li:before { content:""; position:absolute; left:0; top:.45rem; width:.7rem; height:.7rem; border-radius:999px; background:linear-gradient(90deg,var(--brand1),var(--brand2)); box-shadow:0 0 0 4px rgba(var(--brand2-rgb),.12); }
.glow-ring { position:absolute; inset:0; pointer-events:none; }
.glow-ring:before { content:""; position:absolute; width:240px; height:240px; top:-60px; right:-50px; background:radial-gradient(circle at center,rgba(var(--brand2-rgb),.22),transparent 70%); opacity:.7; }
footer { margin-top:auto; padding:2.25rem 1.75rem 3.5rem; display:flex; flex-direction:column; align-items:center; gap:1.1rem; font-size:.85rem; letter-spacing:.3px; color:var(--muted); text-align:center; }
footer nav { display:flex; gap:1.25rem; flex-wrap:wrap; font-size:.78rem; }
footer a { color:var(--muted); text-decoration:none; position:relative; }
footer a:focus-visible { outline:2px solid var(--focus); outline-offset:3px; border-radius:.25rem; }
footer a:after { content:""; position:absolute; left:0; bottom:-2px; width:100%; height:1px; background:linear-gradient(90deg,var(--brand1),var(--brand2)); opacity:.4; transform:scaleX(0); transform-origin:left; transition:transform .4s,opacity .4s; }
footer a:hover:after { transform:scaleX(1); opacity:.9; }
.copy { margin:0; max-width:720px; }
/* badge removido */
#ageModal { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(10,12,15,.72); opacity:0; pointer-events:none; transition:opacity .25s; z-index:200; padding:1rem; } /* sem backdrop-filter p/ economizar GPU */
#ageModal[aria-hidden="false"] { opacity:1; pointer-events:auto; }
.modal-dialog { width:100%; max-width:460px; background:linear-gradient(160deg,var(--panel),var(--panel-alt)); border:1px solid var(--border-2); border-radius:1.4rem; padding:2.2rem 2rem 2.4rem; position:relative; box-shadow:0 6px 38px -8px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04) inset; display:flex; flex-direction:column; gap:1.35rem; }
.modal-dialog h3 { margin:0; font-size:1.3rem; letter-spacing:.5px; background:linear-gradient(90deg,var(--brand1),var(--brand2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.modal-dialog p { margin:.25rem 0 0; line-height:1.35; color:var(--muted); font-size:.95rem; }
.confirm { display:flex; gap:.75rem; align-items:center; font-size:.9rem; line-height:1.3; background:var(--chip-1); padding:.9rem 1rem; border:1px solid var(--border-2); border-radius:.9rem; cursor:pointer; user-select:none; }
.confirm input { width:1.125rem; height:1.125rem; margin:0; accent-color:var(--brand1); cursor:pointer; }
.modal-actions { display:flex; gap:.85rem; justify-content:flex-end; }
.btn.outline { color:var(--text); }
.close-x { position:absolute; top:.9rem; right:.9rem; background:var(--chip-2); color:var(--text); border:1px solid var(--border-2); width:2.1rem; height:2.1rem; border-radius:.7rem; display:flex; align-items:center; justify-content:center; font:600 1.1rem/1 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif; cursor:pointer; box-shadow:0 2px 10px -4px rgba(0,0,0,.15); }
.close-x:hover { background:var(--chip-hover); }
.close-x:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.fade-up { animation:fade-up .6s ease-out both; }
@keyframes fade-up { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:760px) { .hero { padding:1.85rem 1.35rem 2rem; } .hero-header h1 { font-size:clamp(1.9rem,9vw,2.5rem); } .modal-dialog { padding:2rem 1.6rem 2.2rem; } }
@media (max-width:520px) { .actions .btn { width:100%; } footer nav { justify-content:center; } }
:focus { outline:none; }
:focus-visible { outline:2px solid var(--focus); outline-offset:3px; border-radius:.4rem; }
::selection { background:var(--brand2); color:#fff; }
::-webkit-scrollbar { width:12px; }
::-webkit-scrollbar-track { background:var(--scroll-track); }
::-webkit-scrollbar-thumb { background:linear-gradient(var(--brand1),var(--brand2)); border:3px solid #12161c; border-radius:20px; }
body.modal-open { overflow:hidden; } /* evita :has() reativo */
[data-theme] .theme-btn { position:absolute; right:.75rem; top:.6rem; border:1px solid var(--border-2); background:var(--panel-alt); color:var(--text); width:2.25rem; height:2.25rem; border-radius:.7rem; display:flex; align-items:center; justify-content:center; font-size:1rem; cursor:pointer; }
.theme-btn:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
[aria-hidden="true"] * { pointer-events:none; }
/* Classes utilitárias adicionais */
.cta-form { display:inline; }
.copy-note { font-size:.7rem; color:var(--muted); opacity:.85; }
/* UI de consentimento removida (simplificação) */
