/*
Theme Name: Hooligans Arcade
Theme URI: https://hooligansarcade.com
Author: Hooligans Arcade
Description: Retro arcade theme with CRT scanlines and neon glow, matching the Arcade Scores high-score boards. Includes an easy-to-edit Games list, a Directions & Hours page with a Google map, and a Party & Event Pricing page. Edit the content under "Arcade Site", "Games" and "Party Pricing" in the WordPress admin.
Version: 1.2.8
Requires at least: 6.2
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: hooligans-arcade
*/

@font-face{font-family:'Press Start 2P';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/press-start-2p.woff2') format('woff2')}

:root{
  --c1:#ff2bd6; --c2:#19f0ff; --gold:#ffd700; --red:#ff4d5e;
  --bg0:#150a30; --bg1:#030108; --panel:rgba(18,9,44,.82); --line:rgba(255,255,255,.14);
  --ink:#f3eeff; --muted:#b9aee0;
  --px:'Press Start 2P',ui-monospace,Menlo,Consolas,monospace;
  --body:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --w:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;color:var(--ink);font:400 1.0625rem/1.65 var(--body);
  background:var(--bg1) radial-gradient(ellipse at 50% -10%,var(--bg0) 0,var(--bg1) 70%) fixed}
/* CRT scanlines over everything (never blocks clicks) */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,rgba(0,0,0,.2) 0 2px,transparent 2px 4px)}
main{flex:1}
img{max-width:100%;height:auto;display:block}
a{color:var(--c2);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#fff}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--gold);color:#000;padding:.8em 1.2em;font-family:var(--px);font-size:.7rem}
.skip-link:focus{left:0}
.wrap{width:100%;max-width:var(--w);margin:0 auto;padding:0 20px}
.narrow{max-width:820px}
.center{text-align:center}
.mt{margin-top:2rem}
.gold{color:var(--gold);text-shadow:0 0 12px var(--gold)}

/* ---------- type ---------- */
h1,h2,h3,h4{font-family:var(--px);font-weight:400;line-height:1.5;margin:0 0 .8em;color:#fff}
.title{font-size:clamp(1.1rem,3.4vw,2rem);color:var(--c1);text-shadow:0 0 14px var(--c1),0 0 2px var(--c1);margin:0 0 .6em}
.title.big{font-size:clamp(2.4rem,9vw,5rem)}
.h2{font-size:clamp(.95rem,2.4vw,1.5rem);color:var(--c2);text-shadow:0 0 12px var(--c2)}
.h3{font-size:.9rem;color:var(--c1);text-shadow:0 0 10px var(--c1);letter-spacing:.02em}
.eyebrow{font-family:var(--px);font-size:.7rem;color:var(--c2);text-shadow:0 0 10px var(--c2);margin:0 0 1.2rem}
.lead{font-size:1.2rem;color:var(--muted);max-width:60ch}
.center .lead,.lead.center{margin-left:auto;margin-right:auto}
.meta{color:var(--muted);font-size:.9rem;margin:.2em 0 1em}

/* ---------- header ---------- */
.notice-bar{background:var(--gold);color:#000;text-align:center;font-family:var(--px);font-size:.62rem;line-height:1.8;padding:.7em 1em}
.site-header{position:sticky;top:0;z-index:10001;background:rgba(6,2,18,.92);backdrop-filter:blur(6px);border-bottom:2px solid var(--c1);box-shadow:0 0 22px rgba(255,43,214,.35)}
.site-header::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.2) 0 2px,transparent 2px 4px)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand-logo{max-height:var(--logo-h,56px);width:auto;max-width:60vw}
.brand-text{font-family:var(--px);font-size:1rem;color:var(--c1);text-shadow:0 0 12px var(--c1)}
.primary-nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.primary-nav a{display:block;padding:.85em .9em;font-family:var(--px);font-size:.6rem;line-height:1.4;color:#fff;text-decoration:none;text-transform:uppercase;border:2px solid transparent}
.primary-nav a:hover,.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:var(--c2);border-color:var(--c2);box-shadow:0 0 12px rgba(25,240,255,.5),inset 0 0 10px rgba(25,240,255,.2)}
.nav-toggle{display:none;background:none;border:2px solid var(--c2);color:var(--c2);padding:12px 12px;cursor:pointer;border-radius:0}
.nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{display:block;width:24px;height:3px;background:var(--c2);position:relative;content:'';box-shadow:0 0 8px var(--c2)}
.nav-toggle .bars::before{position:absolute;top:-8px}.nav-toggle .bars::after{position:absolute;top:8px}
.marquee{overflow:hidden;background:#000;border-top:1px solid var(--line);white-space:nowrap}
.marquee-track{display:inline-flex;animation:mq var(--mq-d,38s) linear infinite;will-change:transform}
.marquee-set{display:inline-flex;flex:none}
.marquee span{font-family:var(--px);font-size:.6rem;color:var(--gold);text-shadow:0 0 8px var(--gold);padding:.9em 0}
.marquee span::after{content:'';display:inline-block;width:8px;height:8px;background:var(--c1);margin:0 2.4em;box-shadow:0 0 8px var(--c1);transform:rotate(45deg)}
@keyframes mq{to{transform:translateX(var(--mq-x,-50%))}}

/* ---------- buttons ---------- */
.btn,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{
  display:inline-block;font-family:var(--px);font-size:.72rem;line-height:1.5;text-transform:uppercase;text-decoration:none;cursor:pointer;
  padding:1.05em 1.5em;background:var(--c1);color:#000;border:0;border-radius:0;box-shadow:5px 5px 0 #000,0 0 0 2px #000,0 0 18px var(--c1);transition:transform .08s,box-shadow .08s}
.btn:hover,.wp-block-button__link:hover{color:#000;transform:translate(2px,2px);box-shadow:3px 3px 0 #000,0 0 0 2px #000,0 0 24px var(--c1)}
.btn:active{transform:translate(5px,5px);box-shadow:0 0 0 2px #000}
.btn-alt{background:var(--c2);box-shadow:5px 5px 0 #000,0 0 0 2px #000,0 0 18px var(--c2)}.btn-alt:hover{box-shadow:3px 3px 0 #000,0 0 0 2px #000,0 0 24px var(--c2)}
.btn-gold{background:var(--gold);box-shadow:5px 5px 0 #000,0 0 0 2px #000,0 0 18px var(--gold)}.btn-gold:hover{box-shadow:3px 3px 0 #000,0 0 0 2px #000,0 0 24px var(--gold)}
.btn:disabled,.btn.is-disabled{background:#2c2342;color:#e9e3ff;box-shadow:none;border:2px dashed rgba(255,215,0,.6);cursor:not-allowed;transform:none;text-shadow:none}
.btn:disabled:hover{transform:none;box-shadow:none;color:#e9e3ff}
.btn-sm{font-size:.6rem;padding:.9em 1.1em}
.btn-row{display:flex;flex-wrap:wrap;gap:16px;margin:1.6rem 0 0}
.center .btn-row,.hero .btn-row{justify-content:center}
.btn-row.left{justify-content:flex-start;margin:.7rem 0 0;gap:10px}
.mini{display:inline-block;font-family:var(--px);font-size:.5rem;line-height:1.4;text-transform:uppercase;text-decoration:none;color:#000;background:var(--c1);padding:.8em .9em;box-shadow:3px 3px 0 #000}
.mini:hover{color:#000;filter:brightness(1.15)}.mini-alt{background:var(--c2)}.mini-gold{background:var(--gold)}

/* ---------- open / closed badge ---------- */
.status{display:inline-flex;align-items:center;gap:.7em;font-family:var(--px);font-size:.62rem;line-height:1.5;padding:.7em 1em;border:2px solid;background:rgba(0,0,0,.55)}
.status i{width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor;flex:none}
.status b{font-weight:400}
.status.is-open{color:#39ff88;border-color:#39ff88;text-shadow:0 0 8px #39ff88}
.status.is-open i{animation:blink 1.4s steps(2) infinite}
.status.is-closed{color:var(--red);border-color:var(--red);text-shadow:0 0 8px var(--red)}
.status.lg{font-size:.8rem;padding:.9em 1.3em}
@keyframes blink{50%{opacity:.25}}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:84px 0 96px;text-align:center;border-bottom:2px solid var(--c2);box-shadow:0 8px 40px rgba(25,240,255,.18)}
.hero-grid{position:absolute;left:-50%;right:-50%;bottom:-2px;height:55%;background:
  linear-gradient(transparent 0,rgba(255,43,214,.0) 20%,rgba(255,43,214,.22) 100%),
  repeating-linear-gradient(90deg,rgba(255,43,214,.55) 0 2px,transparent 2px 70px),
  repeating-linear-gradient(0deg,rgba(255,43,214,.55) 0 2px,transparent 2px 44px);
  transform:perspective(420px) rotateX(62deg);transform-origin:bottom;-webkit-mask-image:linear-gradient(transparent,#000 70%);mask-image:linear-gradient(transparent,#000 70%);animation:grid 3.2s linear infinite}
@keyframes grid{to{background-position:0 0,0 0,0 44px}}
.hero-inner{position:relative;z-index:3}
.hero-video,.hero-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-still{background-size:cover;background-position:center}
.hero-dim{position:absolute;inset:0;z-index:1;background:rgba(3,1,8,var(--dim,.55))}
.hero.has-video .hero-grid{z-index:2}.hero-grid{z-index:2}
.hero.has-video .hero-title,.hero.has-video .hero-tag{text-shadow:0 0 6px #fff,0 0 22px var(--c1),0 0 46px var(--c1),0 3px 0 #000,0 0 18px #000}
.hero-title{font-size:clamp(1.5rem,6.2vw,3.6rem);line-height:1.35;color:#fff;margin:0 0 .5em;text-shadow:0 0 6px #fff,0 0 22px var(--c1),0 0 46px var(--c1),0 4px 0 #000}
.hero-tag{font-family:var(--px);font-size:clamp(.75rem,1.9vw,1.05rem);line-height:1.8;color:var(--gold);text-shadow:0 0 12px var(--gold);margin:0 0 1.8rem}
.hero-status{margin:0 0 .4rem}

/* ---------- home: game highlight sections ---------- */
.feats{display:grid;gap:64px}
.feat{--fc:var(--c2);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center}
.feat.f1{--fc:var(--c1)}.feat.f2{--fc:var(--gold)}.feat.f3{--fc:#39ff88}
.feat.rev .feat-pic{order:2}
.feat-pic{border:2px solid var(--fc);box-shadow:0 0 28px color-mix(in srgb,var(--fc) 55%,transparent);position:relative}
.feat-body .h2{color:var(--fc);text-shadow:0 0 12px var(--fc);margin-bottom:.9em}
.feat-body p{font-size:1.12rem;color:#e7e0ff;max-width:52ch}
.feat-pic.ph{aspect-ratio:4/3}
.feat-pic.ph span{font-size:4.5rem}
.feat-pic.ph em{position:absolute;z-index:3;left:12px;right:12px;bottom:12px;font:normal .8rem/1.4 var(--body);color:var(--gold);background:rgba(0,0,0,.7);padding:.5em .7em;text-align:center}

/* ---------- sections, panels ---------- */
.section{padding-top:56px;padding-bottom:56px}
.page-head{margin-bottom:2rem}
.strip{background:rgba(255,255,255,.03);border-block:1px solid var(--line)}
.passes{list-style:none;margin:2rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.pass{display:flex;flex-direction:column;align-items:center;gap:.7rem;min-width:240px;padding:26px 30px;background:var(--panel);border:2px solid var(--gold);box-shadow:0 0 22px rgba(255,215,0,.35),inset 0 0 20px rgba(255,215,0,.08);text-align:center}
.pass-l{font-family:var(--px);font-size:.75rem;color:#fff}
.pass-p{font-family:var(--px);font-size:2rem;color:var(--gold);text-shadow:0 0 14px var(--gold)}
.pass-n{color:var(--muted);font-size:.9rem}
.pass-tax{font-family:var(--px);font-size:.5rem;line-height:1.4;color:var(--muted);text-transform:uppercase;margin-top:-.2em}
.panel{background:var(--panel);border:2px solid var(--c1);box-shadow:0 0 22px rgba(255,43,214,.28),inset 0 0 22px rgba(255,43,214,.07);padding:26px 28px;margin-bottom:24px}
.two>.panel:last-child,.two>div>.panel:last-child{margin-bottom:0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.two.loc{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.cta{background:linear-gradient(180deg,transparent,rgba(255,215,0,.07),transparent);border-block:1px solid rgba(255,215,0,.25)}
.addr{font-size:1.2rem;line-height:1.7;margin:0 0 .8em}
.phone{font-family:var(--px);font-size:.95rem;color:var(--gold);text-decoration:none;text-shadow:0 0 10px var(--gold)}
.notice-box{border:2px dashed var(--gold);padding:1em 1.2em;color:var(--gold);background:rgba(255,215,0,.06)}
.notice-box a{color:#fff}
.callus{margin-left:1em;color:var(--muted)}

/* hours tables */
table.hours,table.hours-mini{border-collapse:collapse;width:100%}
.hours th,.hours td,.hours-mini th,.hours-mini td{padding:.62em 0;text-align:left;border-bottom:1px dashed var(--line);font-weight:400}
.hours td,.hours-mini td{text-align:right;color:#fff}
.hours th,.hours-mini th{color:var(--muted)}
.hours tr.today th,.hours tr.today td{color:var(--gold);text-shadow:0 0 8px var(--gold)}
.hours-mini.big{font-size:1.1rem}
.hours-mini td,.hours-mini th{font-size:.95rem}

/* price lists */
.price-list{list-style:none;margin:0;padding:0}
.price-list li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:.8em 0;border-bottom:1px dashed var(--line)}
.price-list li:last-child{border-bottom:0}
.price-list small{display:block;color:var(--muted);font-size:.85rem}
.price-list b{font-family:var(--px);font-weight:400;font-size:1rem;color:var(--gold);text-shadow:0 0 10px var(--gold);white-space:nowrap}

/* ---------- home tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:2rem}
.tile{--tc:var(--c1);display:flex;flex-direction:column;gap:.7rem;padding:24px;text-decoration:none;color:#fff;background:var(--panel);border:2px solid var(--tc);box-shadow:0 0 18px color-mix(in srgb,var(--tc) 40%,transparent);transition:transform .12s,box-shadow .12s}
.tile:hover{transform:translateY(-4px);color:#fff;box-shadow:0 0 30px var(--tc)}
.tile.t1{--tc:var(--c2)}.tile.t2{--tc:var(--gold)}.tile.t3{--tc:#39ff88}
.tile-n{font-family:var(--px);font-size:2.1rem;color:var(--tc);text-shadow:0 0 14px var(--tc)}
.tile-t{font-family:var(--px);font-size:.78rem;line-height:1.5}
.tile-s{color:var(--muted);font-size:.9rem}

/* ---------- games list ---------- */
.counts{font-family:var(--px);font-size:.7rem;color:var(--muted);margin:1.2rem 0 0}.counts b{color:var(--gold);font-weight:400}
.gamebar{position:sticky;top:77px;z-index:10001;padding:14px 0;margin-bottom:1rem;background:linear-gradient(var(--bg1) 70%,transparent)}
#game-search{width:100%;max-width:420px;font-family:var(--px);font-size:.75rem;padding:1em 1.1em;background:#000;color:var(--c2);border:2px solid var(--c2);border-radius:0;box-shadow:0 0 14px rgba(25,240,255,.35)}
#game-search::placeholder{color:rgba(25,240,255,.5)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{font-family:var(--px);font-size:.55rem;line-height:1.4;padding:.85em 1em;background:transparent;color:#fff;border:2px solid var(--line);border-radius:0;cursor:pointer;text-transform:uppercase}
.chip:hover{border-color:var(--c1);color:var(--c1)}
.chip.is-on{background:var(--c1);border-color:var(--c1);color:#000;box-shadow:0 0 14px var(--c1)}
.group-h{margin:2.2rem 0 1rem;display:flex;align-items:center;gap:14px}
.group-n{font-size:.6rem;color:#000;background:var(--c2);padding:.5em .7em;text-shadow:none}
.game-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.game{position:relative;top:0;display:flex;flex-direction:column;background:var(--panel);border:2px solid rgba(255,255,255,.16);transition:border-color .12s,box-shadow .12s,top .12s}
.game:hover{border-color:var(--c2);box-shadow:0 0 20px rgba(25,240,255,.4);top:-3px}
.game.is-down{opacity:.7}
.game-body{padding:14px 16px 16px}
.game-t{font-size:.7rem;line-height:1.6;color:#fff;margin:0 0 .6em}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.badge{font-family:var(--px);font-size:.45rem;line-height:1.3;text-transform:uppercase;padding:.6em .7em;background:var(--c1);color:#000}
.b-red{background:var(--red);color:#000}.b-cyan{background:var(--c2)}.b-gold{background:var(--gold)}.b-dim{background:rgba(255,255,255,.18);color:#fff}
.game-note{margin:.7em 0 0;color:var(--muted);font-size:.88rem;line-height:1.5}
.game-body .mini{margin-top:.8em}
.none{font-family:var(--px);font-size:.75rem;color:var(--gold);line-height:2;margin-top:2rem}
.game-group{scroll-margin-top:190px}
.game-group[hidden],.game[hidden]{display:none}

/* pictures with the CRT look (same idea as the score-board submit page) */
.pic{position:relative;aspect-ratio:4/3;overflow:hidden;background:#000;display:block}
.pic img{width:100%;height:100%;object-fit:cover}
.crt img{filter:saturate(1.25) contrast(1.08) brightness(.95)}
.crt::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.3) 0 2px,transparent 2px 4px),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55));box-shadow:inset 0 0 22px rgba(25,240,255,.25)}
.pic.wide{aspect-ratio:16/9;margin-bottom:1.6rem}
.pic.ph{background:radial-gradient(circle at 30% 20%,#2a1160,#0b0420);display:grid;place-items:center}
.pic.ph span{font-family:var(--px);font-size:2.6rem;color:var(--c1);text-shadow:0 0 18px var(--c1)}
.pic.ph::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.3) 0 2px,transparent 2px 4px)}
.scores .game-t{font-size:.8rem}
.scores-text p{margin:.4em 0}
/* game cards show the whole marquee: wide shape, picture is fitted, never cropped */
.game .pic{aspect-ratio:13/4;background:#000}
.game .pic img{object-fit:contain}
.game .pic.ph span{font-size:1.9rem}

/* ---------- party packages ---------- */
.packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:26px;align-items:stretch}
.packages.one{grid-template-columns:minmax(0,560px);justify-content:center}
.package{position:relative;display:flex;flex-direction:column;padding:34px 30px 30px;background:var(--panel);border:2px solid var(--c2);box-shadow:0 0 24px rgba(25,240,255,.3),inset 0 0 24px rgba(25,240,255,.06)}
.package.is-feat{border-color:var(--gold);box-shadow:0 0 30px rgba(255,215,0,.4),inset 0 0 24px rgba(255,215,0,.07)}
.ribbon{position:absolute;top:-14px;left:24px;font-family:var(--px);font-size:.5rem;background:var(--gold);color:#000;padding:.8em 1em;box-shadow:3px 3px 0 #000}
.pk-t{font-size:.95rem;color:#fff;margin-bottom:.6em}
.pk-price{font-family:var(--px);font-size:clamp(2rem,6vw,3rem);line-height:1.2;color:var(--gold);text-shadow:0 0 16px var(--gold);margin:.1em 0}
.pk-sub{color:var(--muted);margin:0 0 1.2em}
.checks{list-style:none;margin:0 0 1.4rem;padding:0;flex:1}
.checks li{position:relative;padding:.45em 0 .45em 1.9em}
.checks li::before{content:'';position:absolute;left:2px;top:.95em;width:10px;height:10px;background:var(--c2);box-shadow:0 0 8px var(--c2)}
.checks.cols{columns:2;column-gap:40px;margin-bottom:0}.checks.cols li{break-inside:avoid}
.checks.plain li::before{background:var(--c1);box-shadow:0 0 8px var(--c1)}

/* ---------- map ---------- */
.map{position:relative;z-index:10000;border:2px solid var(--c2);box-shadow:0 0 26px rgba(25,240,255,.35);background:#000} /* above the page scanlines, so the map is clean */
.map iframe{display:block;width:100%;height:min(560px,70vh);min-height:340px;border:0}

/* ---------- posts / pages ---------- */
.entry-content{overflow-wrap:break-word}
.entry-content>*{max-width:100%}
.entry-content h2{font-size:1.1rem;color:var(--c2);text-shadow:0 0 10px var(--c2);margin-top:2em}
.entry-content h3{font-size:.9rem;color:var(--c1);margin-top:1.8em}
.entry-content h4{font-size:.8rem;color:var(--gold)}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content li{margin:.3em 0}
.entry-content blockquote{margin:1.6em 0;padding:.6em 1.4em;border-left:4px solid var(--c1);background:rgba(255,43,214,.07);color:var(--muted)}
.entry-content img{height:auto}
.entry-content table{border-collapse:collapse;width:100%}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:.6em .8em;text-align:left}
.entry-content th{color:var(--c2)}
.entry-content figure{margin:1.6em 0}.entry-content figcaption{color:var(--muted);font-size:.85rem;margin-top:.5em}
.entry-content input,.entry-content textarea,.entry-content select,.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{background:#0b0420;color:#fff;border:2px solid var(--c2);border-radius:0;padding:.7em .8em;font:inherit;max-width:100%}
.entry-content input[type=submit],.entry-content button{font-family:var(--px);font-size:.7rem;background:var(--c1);color:#000;border:0;padding:1em 1.4em;cursor:pointer;box-shadow:4px 4px 0 #000}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.card{background:var(--panel);border:2px solid var(--line)}
.card-body{padding:16px 20px 20px}
.card-title{font-size:.8rem;margin:0}.card-title a{color:#fff;text-decoration:none}.card-title a:hover{color:var(--c2)}
.pager{margin-top:2.4rem;font-family:var(--px);font-size:.65rem}
.pager .page-numbers{display:inline-block;padding:.8em 1em;border:2px solid var(--line);color:#fff;text-decoration:none;margin-right:6px}
.pager .current{background:var(--c1);border-color:var(--c1);color:#000}

/* ---------- footer ---------- */
.site-footer{margin-top:40px;background:#04010d;border-top:2px solid var(--c2);box-shadow:0 -6px 30px rgba(25,240,255,.18)}
.foot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-top:44px;padding-bottom:30px}
.fh{font-size:.8rem;color:var(--c1);text-shadow:0 0 10px var(--c1)}
.foot-col p{margin:.4em 0}
.socials{list-style:none;margin:1em 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.socials a{display:inline-block;font-family:var(--px);font-size:.55rem;padding:.8em 1em;border:2px solid var(--c2);text-decoration:none;color:var(--c2)}
.socials a:hover{background:var(--c2);color:#000}
.foot-nav ul{list-style:none;margin:0;padding:0 0 10px;display:flex;flex-wrap:wrap;gap:18px}
.foot-nav a{font-family:var(--px);font-size:.55rem;color:var(--muted);text-decoration:none}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:16px;padding-bottom:26px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}

/* ---------- WooCommerce basics (merch & gift cards) ---------- */
.shop-wrap .woocommerce-breadcrumb{color:var(--muted);font-size:.85rem}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin:0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;background:var(--panel);border:2px solid var(--line);padding:14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--px);font-size:.62rem;line-height:1.6;color:#fff}
.woocommerce .price,.woocommerce div.product p.price{color:var(--gold)!important;font-family:var(--px);font-size:.85rem}
.woocommerce div.product .product_title{font-size:1.2rem;color:var(--c1)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--panel);border:2px solid var(--c2);color:#fff;padding:1em 1.2em;margin:0 0 1.4em;list-style:none}
.woocommerce table.shop_table{border:2px solid var(--line);border-collapse:collapse;background:var(--panel)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line);padding:.8em}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--gold)}
.woocommerce form .form-row label{color:var(--muted)}

/* ---------- WordPress block bits ---------- */
.alignwide{max-width:var(--w)}
.wp-block-image img{height:auto}
.wp-block-button__link{background:var(--c1)}
.wp-block-separator{border:0;border-top:2px dashed var(--line)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- small screens ---------- */
@media (max-width:900px){
  .two,.two.loc{grid-template-columns:1fr}
  .checks.cols{columns:1}
  .feat{grid-template-columns:1fr;gap:22px}.feat.rev .feat-pic{order:0}.feats{gap:48px}
  .foot-grid{grid-template-columns:1fr}
  .gamebar{top:77px}
}
@media (max-width:820px){
  .nav-toggle{display:block}
  .primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#06021a;border-bottom:2px solid var(--c1);box-shadow:0 12px 30px rgba(0,0,0,.6)}
  .primary-nav.is-open{display:block}
  .primary-nav .menu{flex-direction:column;gap:0;padding:8px 20px 16px}
  .primary-nav a{padding:1.1em .4em;border:0;border-bottom:1px dashed var(--line)}
  .hero{padding:56px 0 76px}
  .section{padding-top:40px;padding-bottom:40px}
  .btn-row{flex-direction:column;align-items:stretch}.hero .btn,.cta .btn{text-align:center}
  .btn-row.left{flex-direction:row;align-items:flex-start}
  .gamebar{position:static;background:none}
  .callus{display:block;margin:1em 0 0}
}
@media (max-width:480px){
  .wrap{padding:0 16px}
  .game-grid{grid-template-columns:1fr;gap:14px}
  .game-body{padding:12px 14px 14px}.game-t{font-size:.65rem}
  .pass{min-width:0;width:100%}
  .panel{padding:20px 18px}
  .brand-logo{max-height:min(var(--logo-h,56px),46px)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ---------- Store page + WooCommerce polish ---------- */
.store-cart{text-align:right;margin:0 0 1rem}
.store-grid{list-style:none;margin:0 0 2rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.prod{background:var(--panel);border:2px solid var(--line);display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s}
.prod:hover{border-color:var(--c2);box-shadow:0 0 18px rgba(25,240,255,.25)}
.prod .pic{aspect-ratio:1/1;border-bottom:2px solid var(--line)}
.prod .pic img{object-fit:contain;background:#000}
.prod .pic.prod-pic::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 2px,transparent 2px 4px)}
.prod-body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.prod-t{font-size:.7rem;line-height:1.6;margin:0 0 .6em}.prod-t a{color:#fff;text-decoration:none}.prod-t a:hover{color:var(--c2)}
.prod-price{margin:0 0 .6em;color:var(--gold);font-family:var(--px);font-size:.95rem}
.prod-price del{opacity:.5;font-size:.7em}.prod-price ins{text-decoration:none}
.prod-d{margin:0 0 1em;color:var(--muted);font-size:.95rem}
.prod-btn{margin:auto 0 0}
.mini-off{background:#3a2f55;color:#9d92b8;box-shadow:none;cursor:not-allowed}
.prod.out .pic{opacity:.55}
.store-note{margin-top:1rem}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none!important;width:auto!important;margin:0!important}
.woocommerce div.product div.images img{border:2px solid var(--line);background:#000}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 1em;list-style:none;display:flex;gap:8px;flex-wrap:wrap;border:0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--panel);border:2px solid var(--line);border-radius:0;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:#fff;font-family:var(--px);font-size:.55rem;padding:.9em 1em;display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-color:var(--c1)}
.woocommerce .quantity .qty{width:5em;background:#0b0420;color:#fff;border:2px solid var(--c2);border-radius:0;padding:.7em .5em}
.woocommerce div.product form.cart{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:1.2em 0}
.woocommerce div.product form.cart .variations{width:100%;border:0}.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;padding:.3em 0;text-align:left;border:0}
.woocommerce div.product form.cart .variations label{color:var(--muted)}
.woocommerce-message,.woocommerce-info{display:flex;flex-wrap:wrap;gap:.6em 1em;align-items:center;justify-content:space-between}.woocommerce-message a.button,.woocommerce-info a.button{order:2;float:none}
.woocommerce-message::before,.woocommerce-info::before{display:none}
.woocommerce table.shop_table{color:#fff}.woocommerce table.shop_table a{color:var(--c2)}
.woocommerce-cart .cart_totals,.woocommerce-checkout #order_review{background:var(--panel);border:2px solid var(--c1);padding:18px 20px}
.woocommerce-checkout #payment{background:var(--panel);border-radius:0}.woocommerce-checkout #payment div.payment_box{background:#0b0420;color:#fff;border-radius:0}.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{width:100%}
.woocommerce nav.woocommerce-pagination ul{border:0}.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 3px}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{background:var(--panel);color:#fff;border:2px solid var(--line)}
.woocommerce span.onsale{background:var(--gold);color:#000;border-radius:0;font-family:var(--px);font-size:.55rem;min-height:0;line-height:1.4;padding:.6em .8em}
@media (max-width:700px){.store-grid{grid-template-columns:1fr 1fr;gap:12px}.prod-body{padding:12px}.prod-t{font-size:.6rem}.woocommerce div.product{grid-template-columns:1fr}}
@media (max-width:380px){.store-grid{grid-template-columns:1fr}}

/* Dropdowns (t-shirt size etc.): dark box, light text, also for the open list */
main select,.woocommerce select,.woocommerce div.product form.cart .variations select{background-color:#0b0420!important;color:#fff!important;border:2px solid var(--c2)!important;border-radius:0;padding:.7em 2.2em .7em .8em;font:inherit;min-width:12em;color-scheme:dark;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--c2) 50%),linear-gradient(135deg,var(--c2) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 12px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
main select option,.woocommerce select option{background:#0b0420;color:#fff}
main select:focus,.woocommerce select:focus{outline:2px solid var(--c1);outline-offset:2px}
.woocommerce a.reset_variations{color:var(--c2);margin-left:.8em}

/* ---------- Cart / Checkout / My Account pages ---------- */
.woo-page .woocommerce{color:#fff}
.woo-page .woocommerce a:not(.button):not(.btn){color:var(--c2)}
.woo-page table.shop_table{width:100%}
.woo-page table.shop_table th{font-family:var(--px);font-size:.55rem;text-transform:uppercase;color:var(--c1);text-align:left}
.woo-page .cart_item img{width:72px;height:auto;border:2px solid var(--line)}
.woo-page td.product-remove a.remove{color:#fff!important;background:var(--c1);border-radius:0;width:1.6em;height:1.6em;line-height:1.5em;text-align:center;text-decoration:none}
.woo-page td.product-remove a.remove:hover{background:#fff;color:#000!important}
.woo-page .coupon{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.woo-page .coupon label{display:none}
.woo-page .cart-collaterals{margin-top:1.6rem}
.woo-page .cart_totals h2,.woo-page #order_review_heading,.woo-page .woocommerce-billing-fields h3,.woo-page .woocommerce-additional-fields h3,.woo-page .woocommerce-MyAccount-content h2,.woo-page .woocommerce-Address-title h3{font-size:.85rem;color:var(--c1);margin:0 0 1em}
.woo-page .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;background:var(--gold)!important;color:#000!important;font-size:.7rem;padding:1.1em}
.woo-page form.checkout .col2-set{display:block}.woo-page form.checkout .col2-set .col-1,.woo-page form.checkout .col2-set .col-2{float:none;width:100%}
.woo-page form .form-row{margin:0 0 1em}.woo-page form .form-row label{display:block;margin-bottom:.35em}
.woo-page .select2-container .select2-selection{background:#0b0420;border:2px solid var(--c2);border-radius:0;height:auto;padding:.4em .5em}
.woo-page .select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff}
.select2-dropdown{background:#0b0420;border:2px solid var(--c2);border-radius:0;color:#fff}.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--c1);color:#000}
.select2-container--default .select2-search--dropdown .select2-search__field{background:#0b0420;color:#fff;border:2px solid var(--c2)}
.woo-page .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.woo-page .woocommerce-MyAccount-navigation a{display:block;font-family:var(--px);font-size:.55rem;text-transform:uppercase;text-decoration:none;color:#fff!important;background:var(--panel);border:2px solid var(--line);padding:.9em 1em}
.woo-page .woocommerce-MyAccount-navigation .is-active a,.woo-page .woocommerce-MyAccount-navigation a:hover{border-color:var(--c1)}
.woo-page .woocommerce-MyAccount-navigation,.woo-page .woocommerce-MyAccount-content{float:none!important;width:auto!important}
.woo-page .woocommerce form.login,.woo-page .woocommerce form.register,.woo-page .woocommerce form.lost_reset_password{background:var(--panel);border:2px solid var(--c1);border-radius:0;padding:20px 22px;max-width:520px}
.woo-page .woocommerce-order-overview{list-style:none;padding:0;display:flex;gap:1.4rem;flex-wrap:wrap}
/* block-based Cart and Checkout (newer WooCommerce) */
.woo-page .wc-block-components-sidebar-layout{gap:24px}
.woo-page .wp-block-woocommerce-cart,.woo-page .wp-block-woocommerce-checkout{color:#fff}
.woo-page .wc-block-components-text-input input,.woo-page .wc-block-components-textarea,.woo-page .wc-block-components-combobox .components-combobox-control__input,.woo-page .wc-blocks-components-select__select,.woo-page .wc-block-components-quantity-selector input{background:#0b0420!important;color:#fff!important;border:2px solid var(--c2)!important;border-radius:0!important}
.woo-page .wc-block-components-text-input label,.woo-page .wc-blocks-components-select__label{color:var(--muted)!important}
.woo-page .wc-block-components-totals-wrapper,.woo-page .wc-block-cart-items td,.woo-page .wc-block-cart-items th{border-color:var(--line)!important}
.woo-page .wc-block-components-sidebar,.woo-page .wc-block-checkout__sidebar{background:var(--panel);border:2px solid var(--c1);padding:18px 20px}
.woo-page .wc-block-components-button,.woo-page .wc-block-cart__submit-button,.woo-page .wc-block-components-checkout-place-order-button{background:var(--gold)!important;color:#000!important;border-radius:0!important;font-family:var(--px);font-size:.65rem;text-transform:uppercase}
.woo-page .wc-block-components-product-name,.woo-page .wc-block-components-product-price,.woo-page .wc-block-components-formatted-money-amount{color:#fff}
.woo-page .wc-block-components-checkbox__mark{fill:var(--c2)}
/* a game picture with the CRT look switched off is lifted above the page-wide scanline layer, so it is fully clean */
.pic.nocrt{position:relative;z-index:10000}

@media (min-width:821px) and (max-width:1320px){.primary-nav a{padding:.85em .55em;font-size:.55rem}.hdr{gap:12px}}
/* CRT look is switched OFF site-wide: no page, header, picture or tile scanlines or tints */
body::after,.site-header::after,.crt::after,.pic.ph::after,.prod .pic.prod-pic::after{display:none!important}
.crt img{filter:none!important}
