/* GTA6FAN / Leonida legal zone + privacy control. No neon, no dark patterns. */
.g6-legal, .g6-consent-shell { --g6lc-ink: #131b25; --g6lc-sand: #f3e8d8; --g6lc-line: #38414a; --g6lc-orange: #f6ae77; --g6lc-gold: #f4ca82; }
.g6-legal { color:#f7efe5; background:#0f171f; min-height:75vh; overflow:hidden; }
.g6-legal * { box-sizing:border-box; }
.g6-legal-hero { isolation:isolate; position:relative; min-height:clamp(280px,32vw,440px); background:#272536; overflow:hidden; display:flex; align-items:end; border-bottom:1px solid #ffffff25; }
.g6-legal-hero__photo { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(9,18,27,.93) 1%,rgba(9,18,27,.68) 60%,rgba(9,18,27,.45)),url('/assets/gta6fan-visuals/marina-day.webp') center 42%/cover no-repeat; }
.g6-legal-hero__inner { max-width:1200px; width:100%; margin:auto; padding:85px clamp(19px,5vw,54px) 45px; }
.g6-legal-eyebrow,.g6-legal-date,.g6-legal-aside__label { font:800 13px/1.4 'Barlow Condensed',sans-serif; letter-spacing:.15em; text-transform:uppercase; color:#f5bf81; }
.g6-legal-eyebrow span { color:#bfa793; padding:0 5px; }
.g6-legal-hero h1 { color:#fff3e6; font:400 clamp(44px,6vw,84px)/1.02 Anton,'Barlow Condensed',sans-serif; letter-spacing:.012em; text-transform:uppercase; text-wrap:balance; max-width:820px; margin:12px 0 16px; }
.g6-legal-hero p { color:#f0dfd1; line-height:1.6; font-size:clamp(15px,1.5vw,19px); max-width:730px; margin:0 0 16px; }
.g6-legal-container { max-width:1200px; padding:22px clamp(18px,5vw,54px) 78px; margin:auto; }
.g6-legal-tabs { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:20px; border-bottom:1px solid #ffffff27; }
.g6-legal-tabs a { padding:10px 14px; border:1px solid #ffffff35; color:#e9ddd1; text-decoration:none; background:#1b2632; font:800 14px 'Barlow Condensed',sans-serif; letter-spacing:.045em; text-transform:uppercase; border-radius:4px; transition:background .2s,transform .2s; }
.g6-legal-tabs a[aria-current="page"],.g6-legal-tabs a:hover { color:#151c25; background:#f4be89; border-color:#f4be89; }
.g6-legal-grid { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:clamp(20px,4vw,55px); padding-top:30px; }
.g6-legal-article { min-width:0; }
.g6-legal-section { margin:0 0 30px; padding:0 0 28px; border-bottom:1px solid #ffffff22; }
.g6-legal-section h2 { color:#f4b47d; display:flex; align-items:baseline; gap:15px; margin:0 0 16px; font:800 14px 'Barlow Condensed',sans-serif; letter-spacing:.1em; }
.g6-legal-section h2 span { color:#f9ede0; font:400 clamp(24px,3vw,34px)/1.15 Anton,'Barlow Condensed',sans-serif; letter-spacing:.01em; text-transform:uppercase; }
.g6-legal-section p { margin:0 0 12px; color:#d6d4d2; font-size:16px; line-height:1.85; }
.g6-legal a { color:#f4ca82; text-underline-offset:3px; overflow-wrap:anywhere; }
.g6-legal-setup { padding:17px 18px; border-left:3px solid #ffba79; background:#513225; margin-bottom:27px; color:#fff3e3; }
.g6-legal-facts { margin:20px 0 0; }
.g6-legal-facts div { display:grid; grid-template-columns:minmax(115px,34%) 1fr; gap:16px; padding:12px 0; border-bottom:1px solid #ffffff20; }
.g6-legal-facts dt { color:#bcbbb9; font:800 13px 'Barlow Condensed',sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.g6-legal-facts dd { min-width:0; margin:0; overflow-wrap:anywhere; color:#fff1dd; }
.g6-legal-aside { align-self:start; position:sticky; top:105px; background:linear-gradient(145deg,#333446,#17212b); border:1px solid #ffffff2d; padding:24px 20px; border-radius:5px; }
.g6-legal-aside img { max-width:180px; height:auto; margin:16px 0 18px; }
.g6-legal-aside__links { display:flex; flex-direction:column; gap:4px; }
.g6-legal-aside__links :is(a,button) { display:flex; justify-content:space-between; gap:10px; text-align:left; font:800 15px 'Barlow Condensed',sans-serif; color:#f0e7dc; text-decoration:none; border:0; border-bottom:1px solid #ffffff20; background:transparent; padding:12px 0; cursor:pointer; }
.g6-legal-aside__links :is(a,button):hover { color:#f6bd86; }
.g6-legal-preferences { border:1px solid #f7bc82; color:#1a2029; background:#f7bc82; cursor:pointer; border-radius:3px; font:800 15px 'Barlow Condensed',sans-serif; padding:12px 18px; }
.g6-legal-contact { padding:19px 0 32px; }
.g6-legal-home { display:inline-block; margin:28px 0 8px; font:800 16px 'Barlow Condensed',sans-serif; text-decoration:none; }
:is(.g6-footer,.footer) .g6-legal-footer { display:flex; flex-wrap:wrap; gap:10px 18px; grid-column:1 / -1; align-items:center; justify-content:flex-start; border-top:1px solid #ffffff28; margin-top:22px; padding-top:20px; }
:is(.g6-footer,.footer) .g6-legal-footer :is(a,button) { display:inline-block; width:auto; color:#e8dfd5; font:700 13px/1.4 'Barlow Condensed',sans-serif; letter-spacing:.05em; text-transform:uppercase; padding:8px 0; background:none; border:0; text-align:left; cursor:pointer; }
:is(.g6-footer,.footer) .g6-legal-footer :is(a,button):hover { color:#f5bb7f; }
/* The non-modal first-visit prompt never requires acceptance to use the site. */
.g6-consent-shell[hidden],.g6-consent-shell [hidden] { display:none!important; }
.g6-consent-shell { position:fixed; left:clamp(12px,2vw,28px); right:clamp(12px,2vw,28px); bottom:clamp(12px,2vw,28px); z-index:9999; max-width:850px; color:#1b2230; font-family:'Barlow',Arial,sans-serif; filter:drop-shadow(0 20px 55px #040b19b8); }
.g6-consent-shell * { box-sizing:border-box; }
.g6-consent-panel { display:grid; grid-template-columns:minmax(190px,35%) minmax(0,1fr); border:1px solid #f4c38e; border-radius:9px; overflow:hidden; background:var(--g6lc-sand); }
.g6-consent-art { isolation:isolate; position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:320px; padding:20px; background:#17212c url('/assets/gta6fan-visuals/marina-day.webp') center/cover no-repeat; color:#fff1de; }
.g6-consent-art:before { content:''; z-index:-1; position:absolute; inset:0; background:linear-gradient(160deg,rgba(10,21,30,.92),rgba(29,28,42,.28) 45%,rgba(9,16,27,.92)); }
.g6-consent-art__edition { font:800 13px 'Barlow Condensed',sans-serif; letter-spacing:.15em; }
.g6-consent-art__name { font:400 clamp(32px,4.5vw,54px)/.98 Anton,'Barlow Condensed',sans-serif; letter-spacing:.01em; text-shadow:0 2px 15px #0008; }
.g6-consent-art__name em { font-style:normal; color:#ffc38e; display:block; }
.g6-consent-art__bar { height:6px; width:78%; background:linear-gradient(90deg,#fa9f82 0 33%,#ffc98f 33% 66%,#7eb9bc 66%); }
.g6-consent-body { padding:25px clamp(20px,3vw,34px) 21px; min-width:0; max-height:min(78dvh,650px); overflow-y:auto; }
.g6-consent-kicker { font:800 12px 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.18em; color:#94533b; }
.g6-consent-body h2 { margin:7px 0 10px; color:#1b2632; font:400 clamp(30px,3.2vw,44px)/1.05 Anton,'Barlow Condensed',sans-serif; letter-spacing:.02em; text-transform:uppercase; }
.g6-consent-body p { color:#424a51; line-height:1.58; font:500 14px/1.65 'Barlow',Arial,sans-serif; margin:0 0 16px; }
.g6-consent-actions,.g6-consent-settings-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:17px; }
.g6-consent-choice { min-height:49px; width:100%; border:2px solid #202632; border-radius:4px; background:#24303d; color:#fff0df; cursor:pointer; font:800 16px 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.045em; padding:10px 8px; transition:transform .16s,background .16s; }
.g6-consent-choice:hover { background:#3a4654; transform:translateY(-2px); }
.g6-consent-choice:focus-visible,.g6-consent-body button:focus-visible,.g6-legal button:focus-visible { outline:3px solid #d47f50; outline-offset:3px; }
.g6-consent-custom { width:100%; display:flex; align-items:center; justify-content:center; gap:12px; min-height:44px; color:#1f2834; background:#f6d5b0; border:1px solid #a47b5c; border-radius:3px; cursor:pointer; margin-top:10px; font:800 15px 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.g6-consent-link { display:block; text-align:center; color:#53555a; margin-top:10px; font:600 12px 'Barlow',Arial,sans-serif; text-decoration:underline; }
.g6-consent-options { margin:12px 0; border-top:1px solid #d7bd9f; }
.g6-consent-option { display:flex; gap:14px; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid #d9c5ad; cursor:pointer; }
.g6-consent-option > :first-child { flex:1; }
.g6-consent-option strong { display:block; font:800 16px 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.g6-consent-option small { display:block; font-size:12px; line-height:1.4; color:#4f5154; margin-top:2px; }
.g6-consent-option input { width:23px; height:23px; flex:none; accent-color:#26303d; cursor:pointer; }
.g6-consent-always { white-space:nowrap; font:800 11px 'Barlow Condensed',sans-serif; text-transform:uppercase; color:#76563e; }
.g6-consent-body .g6-consent-disclosure { font-size:12px; margin:8px 0; }
@media(max-width:760px) {
    .g6-legal-grid { grid-template-columns:1fr; }
    .g6-legal-aside { position:static; }
    .g6-legal-facts div { grid-template-columns:1fr; gap:4px; }
    .g6-legal-hero__inner { padding-top:62px; }
    .g6-legal-hero h1 { font-size:clamp(37px,10vw,59px); overflow-wrap:anywhere; }
    .g6-consent-shell { left:8px; right:8px; bottom:calc(8px + env(safe-area-inset-bottom)); max-width:none; }
    body:has(.g6-mobile-nav) .g6-consent-shell,
    body:has(.mobile-nav) .g6-consent-shell { bottom:calc(66px + env(safe-area-inset-bottom)); }
    .g6-consent-panel { display:block; max-height:calc(100dvh - 93px - env(safe-area-inset-bottom)); overflow:hidden; }
    .g6-consent-art { min-height:81px; padding:12px 16px; flex-direction:row; align-items:center; background-position:center 42%; }
    .g6-consent-art__name { font-size:25px; }
    .g6-consent-art__bar { display:none; }
    .g6-consent-body { padding:17px 18px 16px; max-height:calc(100dvh - 200px - env(safe-area-inset-bottom)); }
    .g6-consent-body h2 { font-size:31px; }
    .g6-consent-body p { font-size:13px; }
    .g6-consent-choice { min-height:45px; font-size:14px; }
    .g6-consent-art__edition { font-size:10px; }
}
@media (max-width:370px) {
    .g6-consent-shell { bottom:calc(57px + env(safe-area-inset-bottom)); }
    .g6-consent-actions,.g6-consent-settings-actions { gap:7px; }
    .g6-consent-choice { padding:8px 4px; font-size:12px; }
}
@media (prefers-reduced-motion:reduce) { .g6-consent-shell *, .g6-legal-tabs a { transition:none!important; } }
