/* STEAMWERK · pages.css · shared dark theme for legal + error pages · v=20260620d */

/* === NAV MOBILE (shared) === */
.nav-mobile{position:fixed;top:80px;inset-inline:0;background:rgba(10,10,10,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--bord);padding:24px var(--gutter) 36px;transform:translateY(-110%);visibility:hidden;transition:transform .35s var(--ease),visibility 0s linear .35s;z-index:40}
.nav-mobile.open{transform:translateY(0);visibility:visible;transition:transform .35s var(--ease),visibility 0s linear 0s}
.nav-mobile a{display:block;padding:14px 0;font-size:16px;color:var(--txt);border-bottom:1px solid var(--bord);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.nav-mobile a.btn{display:flex;align-items:center;justify-content:center;padding:15px 28px;border-bottom:none;margin-top:18px}

/* === LEGAL HERO === */
.legal-hero{background:var(--bg);padding:140px 0 56px;position:relative;overflow:hidden;border-bottom:1px solid var(--bord)}
.legal-hero::before{content:'';position:absolute;top:0;left:-10%;width:60%;height:100%;background:radial-gradient(ellipse,rgba(201,164,92,.06),transparent 60%);filter:blur(60px);pointer-events:none}
.legal-hero::after{content:'';position:absolute;top:-20%;right:0;width:20%;height:140%;background:linear-gradient(180deg,transparent,var(--red-dark) 40%,var(--red) 60%,transparent);transform:rotate(-14deg);opacity:.25;filter:blur(1px);clip-path:polygon(30% 0,100% 0,70% 100%,0 100%);pointer-events:none}
.legal-hero .container{position:relative;z-index:2}
.legal-hero .eyebrow-red{display:inline-block;font-family:'Inter',sans-serif;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:20px}
.legal-hero h1{font-family:'Inter Tight',sans-serif;font-size:clamp(42px,7vw,84px);font-weight:900;letter-spacing:-.025em;line-height:1;color:var(--txt);text-transform:uppercase;margin-bottom:22px}
.legal-hero h1 em{font-style:normal;background:linear-gradient(180deg,var(--gold-l) 0%,var(--gold) 60%,var(--gold-d) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.legal-hero .lead{font-size:clamp(16px,1.3vw,18px);color:var(--txt-2);line-height:1.6;max-width:640px}
@media (min-width:880px){.legal-hero{padding:180px 0 80px}}

/* === LEGAL BODY === */
.legal-body{background:var(--bg-2);padding:60px 0 96px;border-bottom:1px solid var(--bord)}
.legal-content{max-width:820px;margin:0 auto}
.legal-content h2{font-family:'Inter Tight',sans-serif;font-size:22px;font-weight:800;letter-spacing:.5px;line-height:1.2;color:var(--gold);margin:44px 0 18px;text-transform:uppercase}
.legal-content h2:first-child{margin-top:0}
.legal-content h2 em{color:var(--red);font-style:normal}
.legal-content p{font-size:15.5px;line-height:1.75;color:var(--txt-2);margin-bottom:16px}
.legal-content ul{margin:8px 0 20px;display:grid;gap:10px}
.legal-content li{position:relative;padding-inline-start:24px;list-style:none;font-size:15.5px;line-height:1.7;color:var(--txt-2)}
.legal-content li::before{content:'';position:absolute;inset-inline-start:0;top:12px;width:14px;height:1px;background:var(--gold)}
.legal-content a{color:var(--gold);font-weight:500;transition:color .2s var(--ease);word-break:break-word}
.legal-content a:hover{color:var(--gold-h);text-decoration:underline}
.legal-content strong{color:var(--txt);font-weight:700}
.legal-card{background:var(--bg-3);border:1px solid var(--bord);border-left:3px solid var(--gold);padding:24px 28px;margin:22px 0}
.legal-card p:last-child{margin-bottom:0}
.legal-stand{font-size:13px;color:var(--txt-3);margin-top:56px;padding-top:24px;border-top:1px solid var(--bord);font-weight:500;letter-spacing:.5px;text-transform:uppercase}

/* === ERROR PAGE (404/500) === */
.err-page{background:var(--bg);flex:1;display:flex;align-items:center;padding:120px 0 80px;position:relative;overflow:hidden}
.err-page::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(201,164,92,.08),transparent 60%);filter:blur(80px);pointer-events:none}
.err-page::after{content:'';position:absolute;top:-15%;left:-5%;width:180px;height:130%;background:linear-gradient(180deg,transparent,var(--red-dark) 30%,var(--red) 55%,transparent);transform:rotate(-18deg);opacity:.35;filter:blur(.5px);clip-path:polygon(40% 0,100% 0,60% 100%,0 100%);pointer-events:none}
.err-page .container{position:relative;z-index:1;max-width:680px;text-align:center}
.err-code{font-family:'Inter',sans-serif;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:28px;display:inline-flex;align-items:center;gap:14px}
.err-code::before,.err-code::after{content:'';width:28px;height:1px;background:var(--red)}
.err-page h1{font-family:'Inter Tight',sans-serif;font-size:clamp(48px,9vw,108px);font-weight:900;letter-spacing:-.025em;line-height:.95;color:var(--txt);text-transform:uppercase;margin-bottom:24px}
.err-page h1 em{font-style:normal;background:linear-gradient(180deg,var(--gold-l) 0%,var(--gold) 60%,var(--gold-d) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.err-page .lead{font-size:clamp(16px,1.3vw,18px);color:var(--txt-2);line-height:1.6;margin:0 auto 36px;max-width:520px}
.err-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* === FOOTER (shared) === */
.footer{background:#050505;border-top:1px solid var(--bord);padding:64px 0 28px}
.footer-grid{display:grid;grid-template-columns:1fr;gap:40px;margin-bottom:48px}
.footer-brand .brand-logo{height:64px;width:auto}
.footer-brand p{font-size:13.5px;color:var(--txt-3);line-height:1.65;margin-top:20px;max-width:320px}
.footer-col h5{font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;color:var(--gold);text-transform:uppercase;margin-bottom:20px}
.footer-col ul li{padding:6px 0;font-size:13.5px;color:var(--txt-2);line-height:1.5}
.footer-col ul li a{transition:color .25s var(--ease)}
.footer-col ul li a:hover{color:var(--gold)}
.footer-bottom{padding-top:24px;border-top:1px solid var(--bord);font-size:12px;color:var(--txt-3);text-align:center}
@media (min-width:760px){.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}

/* === WHATSAPP FAB === */
.wa{position:fixed;bottom:24px;inset-inline-end:24px;width:60px;height:60px;border-radius:50%;background:#0A0A0A;border:1px solid var(--bord-2);display:grid;place-items:center;z-index:60;transition:all .35s var(--ease);box-shadow:0 12px 40px rgba(0,0,0,.6)}
.wa::before{content:'';position:absolute;inset:-3px;border-radius:50%;background:linear-gradient(135deg,#25D366,transparent 50%);opacity:.35;z-index:-1;animation:waRing 2.6s ease-out infinite}
@keyframes waRing{0%{transform:scale(1);opacity:.45}80%{transform:scale(1.4);opacity:0}100%{opacity:0}}
.wa:hover{transform:translateY(-2px);border-color:var(--gold)}
.wa svg{width:28px;height:28px;color:#25D366}
@media (max-width:560px){.wa{width:56px;height:56px;bottom:20px;inset-inline-end:20px}}

/* === PRINT === */
@media print{
  .header,.footer,.wa,.nav-mobile,.legal-hero::before,.legal-hero::after{display:none !important}
  .legal-hero{padding:24px 0;border-bottom:1px solid #000;background:#fff}
  .legal-body{padding:24px 0;background:#fff}
  .legal-content{max-width:none}
  body{background:#fff;color:#000;font-size:11pt}
  .legal-hero h1{font-size:28pt;color:#000;-webkit-text-fill-color:#000}
  .legal-hero h1 em{color:#000;-webkit-text-fill-color:#000}
  .legal-content h2{font-size:14pt;margin:24px 0 8px;color:#000}
  .legal-content p,.legal-content li{font-size:10pt;line-height:1.5;color:#000}
  .legal-card{border:1px solid #000;padding:12px;background:#fff;border-left-color:#000}
  a{color:#000;text-decoration:underline}
  .legal-stand{color:#000}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
}
