/* VegasHero Casino – template v2 (reference: vegashero.com/en – navy stb lobby with a left sidebar, skewed cyan/green buttons (clip-path),
   Grandpot widget, superhero banners – stills of the brand videos). Fonts: Bebas Neue Pro (commercial) → free Bebas Neue (display: uppercase titles, buttons, nav;
   italics synthesised) + Barlow Condensed (text with lowercase), both fontsource 5.2.6, latin + latin-ext, local files only. */
@font-face { font-family: "Bebas Neue"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/fonts/bebas-neue-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Bebas Neue"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/fonts/bebas-neue-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/barlow-condensed-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/barlow-condensed-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/barlow-condensed-latin-ext-500-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/barlow-condensed-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fonts/barlow-condensed-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fonts/barlow-condensed-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/barlow-condensed-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/barlow-condensed-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow Condensed"; font-style: italic; font-weight: 400; font-display: swap; src: url("/fonts/barlow-condensed-latin-ext-400-italic.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Condensed"; font-style: italic; font-weight: 400; font-display: swap; src: url("/fonts/barlow-condensed-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow Condensed"; font-style: italic; font-weight: 500; font-display: swap; src: url("/fonts/barlow-condensed-latin-ext-500-italic.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Condensed"; font-style: italic; font-weight: 500; font-display: swap; src: url("/fonts/barlow-condensed-latin-500-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow Condensed"; font-style: italic; font-weight: 700; font-display: swap; src: url("/fonts/barlow-condensed-latin-ext-700-italic.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Condensed"; font-style: italic; font-weight: 700; font-display: swap; src: url("/fonts/barlow-condensed-latin-700-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  /* palette (vegashero.com --stb-* tokens, rgb triplets) */
  --n50: 240 242 248; --n100: 225 229 241; --n150: 210 217 234; --n200: 195 204 227; --n300: 166 178 213; --n400: 136 153 199; --n500: 106 127 185; --n600: 86 104 152; --n700: 67 81 118; --n800: 47 57 85; --n900: 28 34 51; --n950: 18 23 35; --n1000: 8 11 18;
  --br100: 212 243 255; --br150: 190 237 255; --br200: 169 231 255; --br300: 125 218 255; --br400: 82 206 255; --br500: 39 194 255; --br600: 31 163 215; --br700: 23 132 175; --br800: 16 101 134; --br900: 8 70 94; --br950: 4 55 74;
  --g100: 226 251 222; --g200: 197 247 190; --g300: 169 242 157; --g400: 140 238 125; --g500: 111 234 92; --g600: 90 193 74; --g700: 69 151 56; --g800: 49 110 39; --g900: 28 68 21; --g950: 17 48 12;
  --bl200: 165 203 247; --bl400: 74 151 240; --bl500: 29 125 236; --bl600: 23 100 189; --bl700: 17 75 142; --bl800: 12 50 94; --bl900: 6 25 47;
  --p800: 34 30 50; --y400: 255 198 51; --y500: 255 184 0; --red500: 254 71 105;
  --panel: 27 32 71;
  --white: 255 255 255; --black: 0 0 0;
  --text: rgb(var(--n150)); --text-2: rgb(var(--n300)); --text-3: rgb(var(--n200)); --accent: rgb(var(--br500)); --accent-2: rgb(var(--g500)); --link: rgb(var(--n100));
  --bg: rgb(var(--n950)); --bg-2: rgb(var(--n900)); --bg-3: rgb(var(--n1000)); --bg-4: rgb(var(--n800));
  --font: "Barlow Condensed", "Bebas Neue Pro", "Arial Narrow", Arial, sans-serif; --font-display: "Bebas Neue", "Bebas Neue Pro", "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --skew: 9deg; --skew-n: -9deg;
  --grad-tab-border: linear-gradient(rgb(var(--n400) / .32), rgb(var(--n950) / 0) 15%, rgb(var(--n400) / 0), rgb(var(--n950) / 0) 84.9%, rgb(var(--n400) / 0)); --grad-blue-400: linear-gradient(90deg, rgb(var(--bl800)), rgb(var(--bl700)), rgb(var(--bl800)));
  --grad-blue-300: linear-gradient(90.91deg, rgb(var(--bl800) / .6) 2.13%, rgb(var(--bl800) / 0) 97%);
  --grad-tab-active: linear-gradient(81deg, rgb(var(--bl700) / .2), rgb(var(--bl800) / .5));
  --grad-line-blue: linear-gradient(90deg, rgb(var(--bl600) / .8), rgb(var(--bl600) / 0));
  --grad-n400: linear-gradient(90deg, rgb(var(--n600) / 0), rgb(var(--n800)), rgb(var(--n600) / 0));
  --grad-fade-dark: linear-gradient(rgb(var(--n400) / .12), rgb(var(--n950) / 0));
  --grad-n100: linear-gradient(90deg, rgb(var(--n950)), rgb(var(--n900)));
  --grad-n500: linear-gradient(90deg, rgb(var(--n900)), rgb(var(--n800)));
  --grad-index: linear-gradient(270deg, rgb(var(--g800)) 18%, rgb(var(--g500)) 36%, rgb(var(--g400)) 100%);
  --grad-label-new: linear-gradient(rgb(var(--g300)), rgb(var(--g500)));
  /* layout (desktop ≥1920: header 64, sidebar 234 (panel 210 + 12px margins), container 1920/16 → content 1888; tiles 2:3 in 10 columns (gap 8 → 178px, ref 180), ranked 7 columns (tile + 48px index), Grandpot 12 squares) */
  --hdr-h: 64px; --side-w: 234px; --pad: 16px;
  --cols: 10; --cols-rank: 7; --cols-promo: 5; --cols-jp: 12; --cols-prov: 12;
  --gap: 8px; --gap-rank: 0px; --rank-shift: 48px; --rank-first: 34px; --row-gap: 16px; --jp-gap: 8px;
  /* legacy aliases for shared parts */
  --muted: var(--text-2); --radius: 4px; --radius-sm: 4px; --shadow: 0 6px 16px rgb(37 14 61 / .1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 90px; min-width: 360px; }
body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: var(--font); font-size: 16px; line-height: 1.4; font-weight: 500; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
img, svg, video { display: block; max-width: 100%; }
a { color: var(--text); text-decoration: none; }
a:hover { color: var(--accent); }
button { font-family: inherit; }
h1, h2, h3, h4, .stall-shelf__title, .token-prize__title, .boardwalk-foot__col-title { margin: 0; line-height: 1.2; font-family: var(--font-display); font-weight: 700; color: #fff; }
p { margin: 0 0 12px; }
ul, ol { margin: 0; padding: 0; list-style: none; }
[role="button"] { cursor: pointer; user-select: none; }
.attendant-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* display face (Bebas Neue): everything the original sets in uppercase italic/bold */
.plunger-btn, .bigwheel-slide__title, .stall-shelf__title, .podium-number, .game-cabinet__badge, .game-cabinet__jackpot, .coin-cascade__new, .gangway-menu__item, .gangway-menu__plate, .flipper-tab, .fanfare-banner__title, .token-prize__name, .token-prize__title,
.arcade-title, .arcade-subtitle, .booth-panel--front-gate h1, .arcade-index__head, .arcade-index__list li a, .bulb-item__value, .daytripper-notes__word, .coin-cascade__amount, .coin-cascade__tier-amount, .coin-cascade__tier-name,
.game-cabinet__demo, .ride-step__num, .boardwalk-foot__age, .changebooth-method__initial, .maker-plate, thead th { font-family: var(--font-display); }

/* ---------- Buttons (stb .button: hexagonal clip-path, two translucent outer layers (::before / ::after) + inner layer (.plunger-btn__t) with the colour gradient,
   pattern.png + grey-line.webp; italic 700 uppercase; sizes l 68 / m 56 / s 48 / xs 36; palettes primary green, secondary cyan, tertiary dark;
   quaternary / fifth = skewed rectangles (header, footer, Grandpot "see all")) ---------- */
.plunger-btn { --raw: var(--g500); --h: 48px; --fs: 20px; --pxo: 8px; --pxi: 16px; --corner: 12px; --l1: 3px 0; --l2: 0 5.5px; --off: 4.5px; --line: 24px; --s0: calc(5% + 10px); --s1: calc(95% - 10px); --tcolor: rgb(var(--n950));
  --clip: polygon(var(--corner) 0, calc(100% - var(--corner)) 0, 100% 50%, calc(100% - var(--corner)) 100%, var(--corner) 100%, 0 50%);
  position: relative; display: inline-grid; align-items: center; justify-items: center; grid-auto-flow: column; min-height: var(--h); padding-inline: var(--pxo); border: 0; background: transparent; font-family: var(--font-display); font-size: var(--fs); font-weight: 700; font-style: italic; line-height: 1; text-transform: uppercase; text-align: center; text-decoration: none; white-space: nowrap; color: var(--tcolor); cursor: pointer; -webkit-user-select: none; user-select: none; }
.plunger-btn::before, .plunger-btn::after { content: ""; position: absolute; background: rgb(var(--raw) / .3); clip-path: var(--clip); transition: background-color .2s; }
.plunger-btn::before { inset: var(--l1); }
.plunger-btn::after { inset: var(--l2); z-index: 1; }
.plunger-btn__t { position: relative; z-index: 2; display: inline-flex; justify-content: center; align-items: center; gap: 6px; width: 100%; height: calc(100% - var(--off)); padding: 2px var(--pxi) 0; clip-path: var(--clip); background: linear-gradient(90deg, rgb(var(--raw)) var(--s0), rgb(var(--raw) / 0) 25%, rgb(var(--raw) / 0) 70%, rgb(var(--raw)) var(--s1)), url("/images/ui/pattern.png") right 27% bottom -5px / 70px 60px, url("/images/ui/grey-line.webp") center / calc(100% - var(--line)) 100% no-repeat, linear-gradient(90deg, rgb(var(--raw)), rgb(var(--raw))); transition: background-color .2s; }
.plunger-btn:hover { color: var(--tcolor); }
.plunger-btn--l { --h: 68px; --fs: 44px; --pxo: 13.5px; --pxi: 27px; --corner: 17px; --l1: 4.5px 0; --l2: 0 9px; --off: 6px; --line: 35px; --s0: 10%; --s1: 90%; }
.plunger-btn--m { --h: 56px; --fs: 28px; --pxo: 12px; --pxi: 21px; --corner: 14px; --l1: 4.5px 0; --l2: 0 7px; --off: 6px; --line: 28px; --s0: 10%; --s1: 90%; }
.plunger-btn--s { --h: 48px; --fs: 20px; --pxo: 8px; --pxi: 16px; --corner: 12px; --l1: 3px 0; --l2: 0 5.5px; --off: 4.5px; --line: 24px; }
.plunger-btn--xs, .plunger-btn--xxs { --h: 36px; --fs: 16px; --pxo: 4px; --pxi: 11px; --corner: 10px; --l1: 2px 0; --l2: 0 4px; --off: 3px; --line: 20px; --skew: 8deg; --skew-n: -8deg; min-width: 36px; }
.plunger-btn--xxs { --fs: 14px; --pxo: 7px; --pxi: 13.5px; --l2: 0 4.5px; --s0: calc(10% + 5px); --s1: calc(90% - 5px); }
.plunger-btn--neon { --raw: var(--g500); }
.plunger-btn--neon:hover { --raw: var(--g300); }
.plunger-btn--tin { --raw: var(--br500); }
.plunger-btn--tin:hover { --raw: var(--br300); }
.plunger-btn--slate { --raw: var(--n800); --tcolor: rgb(var(--n150)); }
.plunger-btn--slate:hover { --raw: var(--n700); }
/* skewed rectangles: quaternary = dark outlined (header login, footer plates, "more"), fifth = green filled (header register) */
.plunger-btn--pebble, .plunger-btn--candy { --pxo: 0; --pxi: 20px; --tcolor: rgb(var(--n150)); border: 1px solid rgb(var(--n800)); background: var(--bg); box-shadow: 0 2px rgb(var(--black) / .25), 1px -1px 2px rgb(var(--n1000)) inset; transform: skew(var(--skew-n)); transition: background-color .2s, border-color .2s; }
.plunger-btn--pebble::before, .plunger-btn--pebble::after, .plunger-btn--candy::before, .plunger-btn--candy::after { display: none; }
.plunger-btn--pebble .plunger-btn__t, .plunger-btn--candy .plunger-btn__t { height: auto; padding: 1px var(--pxi) 0; clip-path: none; background: none; transform: skew(var(--skew)); }
.plunger-btn--pebble:hover { background: var(--bg-2); }
.plunger-btn--pebble:active { border-color: rgb(var(--br500)); background: rgb(var(--br900)); }
.plunger-btn--pebble.plunger-btn--xs, .plunger-btn--candy.plunger-btn--xs { --pxi: 14px; }
.plunger-btn--pebble.plunger-btn--s, .plunger-btn--candy.plunger-btn--s { --pxi: 20px; }
.plunger-btn--candy { --raw: var(--g500); --tcolor: rgb(var(--n950)); border: 0; background: linear-gradient(90deg, rgb(var(--raw)) var(--s0), rgb(var(--raw) / 0) 25%, rgb(var(--raw) / 0) 70%, rgb(var(--raw)) var(--s1)), url("/images/ui/pattern.png") left bottom / 70px 60px, url("/images/ui/grey-line.webp") center / calc(100% - 5px) 100% no-repeat, linear-gradient(90deg, rgb(var(--raw)), rgb(var(--raw))); box-shadow: 0 2px rgb(var(--black) / .25); }
.plunger-btn--candy:hover { --raw: var(--g300); }
.plunger-btn--marquee { --h: 48px; --fs: 18px; --pxi: 16px; }
.plunger-btn--lg { --fs: 18px; white-space: normal; }
/* main banner CTA (stb .action-button.button--l): sharper hexagon (side 24 at ≥1280), layers 3px -1px / 0 9px, double pulse 5.9s */
.plunger-btn--big-prize { --h: 68px; --fs: 44px; --pxo: 13.5px; --pxi: 27px; --off: 5px; --side: 24px; --l1: 3px -1px; --l2: 0 9px; --line: 35px; --s0: 10%; --s1: 90%; min-width: 230px;
  --clip: polygon(var(--side) 0, calc(100% - var(--side)) 0, 100% 50%, calc(100% - var(--side)) 100%, var(--side) 100%, 0 50%); }
.plunger-btn--big-prize::before { --side: 23px; }
.plunger-btn--big-prize::before, .plunger-btn--big-prize::after, .plunger-btn--big-prize .plunger-btn__t { animation: cta-pulse 5.9s ease-in-out .1s infinite; }
.plunger-btn--big-prize .plunger-btn__t { --clip: polygon(var(--side) 0, calc(100% - var(--side)) 0, calc(100% - 1px) 50%, calc(100% - var(--side)) 100%, var(--side) 100%, 1px 50%); }
.plunger-btn--big-prize .plunger-btn__t > span, .plunger-btn--big-prize .plunger-btn__t { animation-name: cta-pulse; }
@keyframes cta-pulse { 0% { transform: scaleX(1); } 20% { transform: scaleX(1.15); } 33% { transform: scaleX(1); } 46% { transform: scaleX(1.15); } 59%, 100% { transform: scaleX(1); } }
@keyframes cta-text { 0% { color: rgb(var(--n950)); transform: scale(1); } 20% { color: rgb(var(--g950)); transform: scale(1.07); } 33% { color: rgb(var(--n950)); transform: scale(1); } 46% { color: rgb(var(--g950)); transform: scale(1.07); } 59%, 100% { color: rgb(var(--n950)); transform: scale(1); } }
.plunger-btn--big-prize .plunger-btn__t { animation: cta-text 5.9s ease-in-out .1s infinite; }

/* ---------- Header (64px fixed: dark navy + diagonal pattern, 1px gradient line; sidebar toggle 24, logo 147x48, search 320x48 skewed, Zaloguj (quaternary) / Zarejestruj (fifth, green) 48px) ---------- */
.fascia-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 60; height: var(--hdr-h); background: rgb(var(--n1000)) url("/images/ui/bg-header-desk.webp") top left / auto 100% no-repeat; }
.fascia-bar::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--grad-n400); }
.fascia-bar__inner { position: relative; display: flex; align-items: center; gap: 14px; height: var(--hdr-h); padding: 8px 24px 8px 28px; }
.turnstile-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 28px; height: 28px; margin-right: 14px; padding: 0; border: 0; background: transparent; color: rgb(var(--n150)); cursor: pointer; }
.turnstile-toggle__d { display: block; width: 24px; height: 24px; background: url("/images/ui/sidebar-opened.png") center / contain no-repeat; }
.turnstile-toggle:hover .turnstile-toggle__d { background-image: url("/images/ui/sidebar-opened-hover.png"); }
.turnstile-toggle__m, .turnstile-toggle__x { display: none; }
.turnstile-toggle__m svg { width: 24px; height: 18px; }
.turnstile-toggle__x svg { width: 22px; height: 22px; }
.arcade-logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.arcade-logo__d { width: 147px; height: 48px; }
.arcade-logo__m { display: none; width: 74px; height: 46px; }
.fascia-bar__spacer { flex: 1 1 auto; }
.spotlight-search { position: relative; display: flex; align-items: center; gap: 8px; flex: 0 0 auto; min-width: 295px; height: 48px; padding: 0 12px; border: 1px solid rgb(var(--n700)); color: var(--text-2); font-family: var(--font); font-weight: 500; font-size: 16px; line-height: 1.2; white-space: nowrap; overflow: hidden; background: rgb(var(--n900)); box-shadow: 0 2px rgb(var(--black) / .25), 1px -1px 2px rgb(var(--n1000)) inset; transform: skew(-6deg); transition: background-color .2s, border-color .2s; }
.spotlight-search:hover { border-color: rgb(var(--n600)); background: rgb(var(--n800)); }
.spotlight-search > * { transform: skew(6deg); }
.spotlight-search__ico { display: inline-block; width: 16px; height: 16px; flex: 0 0 auto; background: url("/images/icons/search.png") center / contain no-repeat; }
.fascia-bar__actions { display: flex; align-items: center; gap: 14px; }
.fascia-bar__login-m, .fascia-bar__reg-m { display: none; }

/* ---------- Mobile sub-menu (Sport | Kasyno | Kasyno na żywo) – 40px, skewed separators, hidden on desktop ---------- */
.flipper-tabs { display: none; }

/* ---------- Sidebar (≥1280: panel 210px at 12px from the edge, sticky under the header; items 44px: icon 24 (default / hover / active png) + 14px uppercase; groups separated by 1px lines; "Nowość" cyan pills; collapsed = 56px icons only) ---------- */
.gangway-menu__backdrop { display: none; }
.gangway-menu { position: fixed; top: calc(var(--hdr-h) + 11px); bottom: 12px; left: 14px; z-index: 50; display: flex; flex-direction: column; width: calc(var(--side-w) - 27px); border: 1px solid transparent; border-image: var(--grad-tab-border) 1; background: var(--grad-fade-dark) no-repeat; background-size: 100% 65%; transition: width .3s; }
.gangway-menu__head { display: none; }
.gangway-menu__body { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; padding: 12px 0 0; }
.gangway-menu__search { display: none; }
.gangway-menu__nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: none; }
.gangway-menu__nav::-webkit-scrollbar { display: none; }
.gangway-menu__group { position: relative; padding: 0 0 4px; }
.gangway-menu__group + .gangway-menu__group { margin-top: 4px; }
.gangway-menu__group + .gangway-menu__group::before { content: ""; position: absolute; left: 11px; right: 11px; top: -4px; height: 1px; background: linear-gradient(90deg, rgb(var(--n700) / 0), rgb(var(--n700)) 20%, rgb(var(--n700)) 80%, rgb(var(--n700) / 0)); }
.gangway-menu__item { position: relative; display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 11px 0 18px; font-family: var(--font-display); font-size: 14px; font-weight: 500; line-height: 1.2; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; color: rgb(var(--n200)); transition: color .2s; }
.gangway-menu__item span { overflow: hidden; text-overflow: ellipsis; }
.gangway-menu__item:hover { color: #fff; }
.gangway-menu__item.is-bulbs-on { color: var(--accent); background: var(--grad-tab-active); }
.gangway-menu__item.is-bulbs-on::before, .gangway-menu__item.is-bulbs-on::after { content: ""; position: absolute; left: 0; right: 0; height: 1px; background: var(--grad-line-blue); }
.gangway-menu__item.is-bulbs-on::before { top: 0; }
.gangway-menu__item.is-bulbs-on::after { bottom: 0; }
.gangway-menu__ico { display: inline-block; flex: 0 0 auto; width: 24px; height: 24px; background: var(--ico) center / contain no-repeat; }
.gangway-menu__item:hover .gangway-menu__ico { background-image: var(--ico-h, var(--ico)); }
.gangway-menu__item.is-bulbs-on .gangway-menu__ico { background-image: var(--ico-a, var(--ico)); }
.gangway-menu__ico--s { width: 20px; height: 20px; }
.gangway-menu__item em { display: inline-flex; align-items: center; flex: 0 0 auto; height: 12px; margin-left: auto; padding: 0 5px 1px; font-size: 8px; font-style: normal; font-weight: 700; letter-spacing: .02em; color: rgb(var(--n950)); background: rgb(var(--br500)); transform: skew(var(--skew-n)); }
.gangway-menu__bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; flex: 0 0 auto; padding: 12px 3px 0 1px; }
.gangway-menu__plate { display: inline-grid; justify-items: center; align-content: center; gap: 6px; min-height: 60px; padding: 6px 4px; border: 1px solid rgb(var(--n800)); background: var(--bg); box-shadow: 0 2px rgb(var(--black) / .25), 1px -1px 2px rgb(var(--n1000)) inset; font-size: 12px; font-style: italic; font-weight: 700; text-transform: uppercase; color: rgb(var(--n150)); transform: skew(var(--skew-n)); transition: background-color .2s; cursor: pointer; }
.gangway-menu__plate > * { transform: skew(var(--skew)); }
.gangway-menu__plate:hover { background: var(--bg-2); color: #fff; }
.gangway-menu__plate img { width: 16px; height: 16px; }
.gangway-menu__plate .gangway-menu__ico { width: 18px; height: 18px; }
body.gangway-shut .gangway-menu { width: 54px; }
body.gangway-shut .gangway-menu__item { padding: 0 0 0 15px; }
body.gangway-shut .gangway-menu__item span, body.gangway-shut .gangway-menu__item em, body.gangway-shut .gangway-menu__bottom { display: none; }
body.gangway-shut .turnstile-toggle__d { background-image: url("/images/ui/sidebar-opened-active.png"); }

/* ---------- Main (area right of the sidebar; container 1920/16 centred inside it) ---------- */
.promenade-main { padding-top: var(--hdr-h); }
.promenade-wrap { margin-left: var(--side-w); transition: margin-left .3s; }
body.gangway-shut .promenade-wrap { margin-left: 80px; }
.pier-deck { width: 100%; max-width: 1920px; margin: 0 auto; padding: 0 var(--pad); }
.promenade-page { display: flex; flex-direction: column; gap: 13px; padding: 13px 0 0; }
.kiosk-panel { position: relative; padding: 12px 15px 16px; background: rgb(var(--panel)); overflow: hidden; }
.kiosk-panel::before { content: ""; position: absolute; inset: 0; z-index: 0; background: url("/images/ui/games-pattern.webp") center / cover no-repeat; -webkit-mask-image: linear-gradient(rgb(var(--black) / .2), rgb(var(--black))); mask-image: linear-gradient(rgb(var(--black) / .2), rgb(var(--black))); pointer-events: none; }
.kiosk-panel > * { position: relative; z-index: 1; }
.kiosk-panel--special { padding: 0; }

/* ---------- Main banner (1888 x 490 at ≥1920; 2px gradient frame, image (HQ last frame of the brand rolik), bottom pattern band 56px; text column 660 (padding 40) on the left: skewed cyan label ribbon 18px, title 52px italic with 2px stroke, green CTA; dashes 21x6 skewed −30°, arrows 32x32 at the edges) ---------- */
.bigwheel-banner { position: relative; padding-top: 12px; }
.bigwheel-carousel { position: relative; width: 100%; height: 490px; overflow: hidden; }
.bigwheel-carousel::before { content: ""; position: absolute; inset: 0; z-index: 5; border: 2px solid; border-image: var(--grad-tab-border) 1; pointer-events: none; }
.bigwheel-slide::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; height: 56px; opacity: .8; background: url("/images/ui/bg-pattern.webp") center / cover no-repeat; -webkit-mask-image: linear-gradient(rgb(var(--black) / 0), rgb(var(--black))); mask-image: linear-gradient(rgb(var(--black) / 0), rgb(var(--black))); pointer-events: none; }
.bigwheel-carousel__track { position: relative; height: 100%; }
.bigwheel-slide { position: absolute; inset: 0; display: grid; grid-template-columns: 660px 1fr; opacity: 0; visibility: hidden; transition: opacity .5s ease, visibility .5s; }
.bigwheel-slide.is-bulbs-on { opacity: 1; visibility: visible; z-index: 1; }
.bigwheel-slide__media { grid-area: 1 / 1 / -1 / -1; position: relative; overflow: hidden; background: var(--bg-2); }
.bigwheel-slide__media picture, .bigwheel-slide__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.bigwheel-slide__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(270deg, rgb(var(--n950) / 0) 55%, rgb(var(--n950) / .3) 75%, rgb(var(--n950) / .4)); pointer-events: none; }
.bigwheel-slide__inner { grid-area: 1 / 1; position: relative; z-index: 2; display: grid; align-content: center; justify-items: center; gap: 0; padding: 16px 40px 20px; text-align: center; }
.bigwheel-slide__card { display: grid; gap: 0; justify-items: center; max-width: 100%; }
.bigwheel-slide__label { position: relative; display: inline-block; width: fit-content; max-width: 100%; padding: 3px 6px 5px; font-size: 18px; font-style: italic; font-weight: 500; line-height: 1.05; letter-spacing: -.01em; color: rgb(var(--br100)); background: linear-gradient(90deg, rgb(var(--bl800) / .2), rgb(var(--bl600) / .8), rgb(var(--bl800) / .2)); }
.bigwheel-slide__label::before, .bigwheel-slide__label::after { content: ""; position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, rgb(var(--br500) / 0), rgb(var(--bl500)), rgb(var(--br500) / 0)); }
.bigwheel-slide__label::before { top: 0; }
.bigwheel-slide__label::after { bottom: 0; }
.bigwheel-slide__title { max-width: 100%; margin-top: -2px; font-size: 52px; font-weight: 700; font-style: italic; line-height: 1; text-transform: uppercase; white-space: nowrap; -webkit-text-stroke: 2px rgb(var(--n800)); paint-order: stroke fill; color: #fff; filter: drop-shadow(0 2px rgb(var(--black) / .25)); }
.bigwheel-slide__action { display: grid; justify-items: center; margin-top: 6px; }
.bigwheel-carousel__nav { position: absolute; inset: 0; z-index: 4; display: flex; justify-content: space-between; align-items: center; padding: 0 10px; pointer-events: none; }
.bigwheel-carousel__arrow { display: flex; align-items: center; justify-content: center; width: 30px; height: 33px; padding: 0; border: 1px solid rgb(var(--n800)); background: rgb(var(--n950) / .9); cursor: pointer; pointer-events: auto; transform: skew(var(--skew-n)); transition: background-color .2s; }
.bigwheel-carousel__arrow i { display: block; width: 24px; height: 24px; background: url("/images/ui/arrow-left.png") center / contain no-repeat; transform: skew(var(--skew)); }
.bigwheel-carousel__arrow--next i { background-image: url("/images/ui/arrow-right.png"); }
.bigwheel-carousel__arrow:hover { background: rgb(var(--n900)); }
.bigwheel-carousel__arrow:hover i { background-image: url("/images/ui/arrow-left-hover.png"); }
.bigwheel-carousel__arrow--next:hover i { background-image: url("/images/ui/arrow-right-hover.png"); }
.bigwheel-carousel__dots { position: absolute; left: 0; bottom: 39px; z-index: 4; display: flex; justify-content: center; align-items: center; width: 660px; pointer-events: none; }
.bigwheel-carousel__dot { position: relative; display: block; width: 21px; height: 6px; margin: 11px 3px; padding: 0; border: 0; background: rgb(var(--n500)); opacity: .72; cursor: pointer; pointer-events: auto; transform: skew(-30deg); transition: background-color .2s, opacity .2s; }
.bigwheel-carousel__dot::after { content: ""; position: absolute; inset: 0; }
.bigwheel-carousel__dot:hover { opacity: 1; }
.bigwheel-carousel__dot.is-bulbs-on { opacity: 1; background: linear-gradient(90deg, rgb(var(--br500)), rgb(var(--bl500)), rgb(var(--br500))) border-box; box-shadow: inset 0 0 0 1px transparent; }
.bigwheel-carousel__dot.is-bulbs-on::after { inset: 1px; background: rgb(var(--br400)); }


/* ---------- Rows (stb .title-block--m: 24px italic 700 white with a skewed blue underlay from the panel edge; "Zobacz wszystko (n)" cyan 14px italic + skewed arrow buttons 36x29) ---------- */
.stall-shelf { position: relative; }
.stall-shelf--games + .stall-shelf--games, [data-games-range] + [data-jackpot] { margin-top: var(--row-gap); }
.stall-shelf__head { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 30px; margin-bottom: 10px; }
.stall-shelf__title { position: relative; display: flex; align-items: center; min-height: 30px; padding-left: 0; font-size: 24px; font-weight: 700; font-style: italic; line-height: 1.2; text-transform: uppercase; color: #fff; }
.stall-shelf__title::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; z-index: -1; width: 225px; max-width: 100%; background: var(--grad-blue-300); transform: skew(var(--skew-n)) translate(-4px); }
.stall-shelf__more { display: flex; align-items: center; gap: 16px; }
.stall-shelf__link { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 700; font-style: italic; line-height: 1.4; color: var(--accent); transition: color .2s; }
.stall-shelf__link:hover { color: rgb(var(--br300)); }
.stall-shelf__link svg { display: none; width: 14px; height: 14px; }
.stall-shelf__arrows { display: flex; gap: 8px; }
.stall-shelf__arrow { display: flex; align-items: center; justify-content: center; width: 32px; height: 29px; padding: 0; border: 1px solid rgb(var(--n700) / .6); background: rgb(var(--n800) / .25); color: #fff; cursor: pointer; transform: skew(var(--skew-n)); transition: background-color .2s, border-color .2s; }
.stall-shelf__arrow svg { display: none; }
.stall-shelf__arrow::before { content: ""; display: block; width: 24px; height: 24px; background: url("/images/ui/arrow-left.png") center / contain no-repeat; transform: skew(var(--skew)); }
.stall-shelf__arrow--next::before { background-image: url("/images/ui/arrow-right.png"); }
.stall-shelf__arrow:hover { border-color: rgb(var(--bl600) / .8); background: rgb(var(--bl700) / .2); }
.stall-shelf__arrow:hover::before { background-image: url("/images/ui/arrow-left-hover.png"); }
.stall-shelf__arrow--next:hover::before { background-image: url("/images/ui/arrow-right-hover.png"); }
.stall-shelf__arrow:disabled { opacity: .5; cursor: default; }
.stall-scroll { --cols-n: var(--cols); display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--cols-n) - 1) * var(--gap)) / var(--cols-n)); gap: var(--gap); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; scrollbar-width: none; margin: 0 -3px; padding: 3px; scroll-padding: 3px; scroll-behavior: smooth; }
.stall-scroll::-webkit-scrollbar { display: none; }
.stall-scroll > * { scroll-snap-align: start; }
.stall-scroll--ranked { --cols-n: var(--cols-rank); gap: 0; margin-left: calc(var(--rank-first) - var(--rank-shift) - 3px); grid-auto-columns: calc(100% / var(--cols-n)); }
.stall-scroll.is-being-pushed { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; }
.stall-scroll.is-being-pushed > * { pointer-events: none; }

/* ---------- Game tile (stb thumbnail 2:3: 1px blue frame, radius 4, picture inset 1px; NEW label – green skewed 20px at the top-left corner (−5/−4);
   Drops & Wins 44px; jackpot – green strip 20px at the bottom; hover – pattern overlay with a green hex "Graj" button + "Demo") ---------- */
.game-cabinet { position: relative; display: grid; grid-template-rows: 1fr; aspect-ratio: 2 / 3; width: 100%; border-radius: 4px; background: rgb(var(--bl800) / .6); overflow: visible; cursor: pointer; isolation: isolate; }
.game-cabinet::before { content: ""; position: absolute; inset: -2px; z-index: -1; border-radius: 5px; background: var(--grad-blue-400); transition: background .2s; }
.game-cabinet__pic { position: absolute; inset: 0; z-index: 0; display: block; overflow: hidden; border-radius: 4px; background: var(--bg-2) url("/images/ui/picture-load.webp") center / 50px 50px no-repeat; }
.game-cabinet__pic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.game-cabinet__badge { position: absolute; left: -5px; top: -4px; z-index: 5; display: flex; align-items: center; height: 20px; padding: 0 5px 2px 4px; font-size: 11px; font-weight: 700; font-style: italic; line-height: 1; text-transform: uppercase; color: rgb(var(--g900)); background: var(--grad-label-new); clip-path: polygon(0 0, 100% 0, calc(100% - 5px) 100%, 0 100%); text-shadow: 0 .5px rgb(var(--black) / .15); }
.game-cabinet__badge::before { content: ""; position: absolute; left: 0; top: 100%; width: 4px; height: 4px; background: linear-gradient(rgb(var(--g900)), rgb(var(--g700))); clip-path: polygon(0 0, 100% 100%, 100% 0); }
.game-cabinet__dnw { position: absolute; left: 4px; top: 4px; z-index: 5; width: 44px; height: 44px; background: url("/images/ui/dropnwin.svg") center / contain no-repeat; pointer-events: none; }
.game-cabinet__jackpot { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: flex; justify-content: center; align-items: center; min-height: 20px; padding: 2px 2px 2px; font-size: 14px; font-weight: 700; font-style: italic; font-variant-numeric: lining-nums tabular-nums; line-height: 1.2; text-align: center; color: rgb(var(--p800)); background: rgb(var(--g500)); box-shadow: 0 2px rgb(var(--black) / .25); text-shadow: 0 1px rgb(var(--black) / .15); border-radius: 0 0 4px 4px; }
.game-cabinet__live, .game-cabinet__name, .game-cabinet__provider { display: none; }
/* hover (stb .thumbnail__actions): pattern-50 layer; top "curtain" (dark glass with a V-notch) slides down, bottom wedges slide up, play + Demo rise from 58px; play pulses once */
.game-cabinet__hover { position: absolute; inset: 0; z-index: 6; display: grid; justify-content: center; align-content: center; justify-items: center; grid-auto-rows: min-content; row-gap: 12px; padding-top: 26px; overflow: hidden; border-radius: 4px; opacity: 0; background: url("/images/ui/pattern-50.png") 0 0 / 70px 60px; transition: opacity .2s; pointer-events: none; }
.game-cabinet__hover::before, .game-cabinet__hover::after { content: ""; position: absolute; inset: 0; transition: transform .4s; }
.game-cabinet__hover::before { background: rgb(var(--n950) / .5) repeating-linear-gradient(135deg, rgb(var(--n400) / .06) 0 1px, transparent 1px 7px); clip-path: polygon(100% 0, 100% 59%, 50% 43.4%, 0 59%, 0 0); transform: translateY(-100%); }
.game-cabinet__hover::after { background-image: linear-gradient(335deg, rgb(var(--n950)), rgb(var(--n950)) 44.3%, rgb(var(--n950) / .8) 44.3%, rgb(var(--n950) / .8) 49%, rgb(var(--n950) / 0) 49%, rgb(var(--n950) / 0)), linear-gradient(25deg, rgb(var(--n950)), rgb(var(--n950)) 44.3%, rgb(var(--n950) / .8) 44.3%, rgb(var(--n950) / .8) 49%, rgb(var(--n950) / 0) 49%, rgb(var(--n950) / 0)); background-position: 0 0, 100% 0; background-size: 50.2% 100%; background-repeat: no-repeat; transform: translateY(100%); }
.game-cabinet__play { --raw: var(--br500); --side: 15px; position: relative; z-index: 1; display: inline-grid; align-items: center; justify-items: center; width: 74px; height: 42px; padding: 0 8px; color: rgb(var(--n950)); opacity: 0; transform: translateY(58px); transition: opacity .2s, transform .5s; }
.game-cabinet__play::before, .game-cabinet__play::after { content: ""; position: absolute; background: rgb(var(--raw) / .3); clip-path: polygon(var(--side) 0, calc(100% - var(--side)) 0, 100% 50%, calc(100% - var(--side)) 100%, var(--side) 100%, 0 50%); }
.game-cabinet__play::before { inset: 3px -2px; }
.game-cabinet__play::after { inset: 0 5px; z-index: 1; }
.game-cabinet__play svg { position: relative; z-index: 2; box-sizing: border-box; width: 100%; height: calc(100% - 5px); padding: 8px 20px; clip-path: polygon(var(--side) 0, calc(100% - var(--side)) 0, calc(100% - 1px) 50%, calc(100% - var(--side)) 100%, var(--side) 100%, 1px 50%); background: linear-gradient(90deg, rgb(var(--raw)) calc(5% + 5px), rgb(var(--raw) / 0) 60%, rgb(var(--raw) / 0) 30%, rgb(var(--raw)) calc(95% - 5px)), url("/images/ui/pattern.png") right 27% bottom -5px / 70px 60px, url("/images/ui/grey-line.webp") center / calc(100% - 34px) 100% no-repeat, linear-gradient(90deg, rgb(var(--raw)), rgb(var(--raw))); fill: rgb(var(--n950)); color: rgb(var(--n950)); }
.game-cabinet__play svg path { transform-origin: center; transform-box: fill-box; }
.game-cabinet__demo { position: relative; z-index: 1; font-size: 16px; font-weight: 700; font-style: italic; line-height: 1.2; color: #fff; opacity: 0; transform: translateY(58px) scale(0); transition: opacity .2s, transform .5s; }
@keyframes play-pulse { 0% { clip-path: polygon(var(--side) 0, calc(100% - var(--side)) 0, 100% 50%, calc(100% - var(--side)) 100%, var(--side) 100%, 0 50%); transform: scaleX(1); } 50% { clip-path: polygon(calc(var(--side) - 1px) 0, calc(100% - var(--side) + 1px) 0, calc(100% - 1px) 50%, calc(100% - var(--side) + 1px) 100%, calc(var(--side) - 1px) 100%, 1px 50%); transform: scaleX(1.05); } to { clip-path: polygon(var(--side) 0, calc(100% - var(--side)) 0, 100% 50%, calc(100% - var(--side)) 100%, var(--side) 100%, 0 50%); transform: scaleX(1); } }
@keyframes icon-pulse { 0% { transform: scale(1); } 50% { transform: scale(1.1); } to { transform: scale(1); } }
@media (hover: hover) and (pointer: fine) {
  .game-cabinet:hover::before { background: rgb(var(--br700)); }
  .game-cabinet:hover .game-cabinet__hover { opacity: 1; pointer-events: auto; }
  .game-cabinet:hover .game-cabinet__hover::before, .game-cabinet:hover .game-cabinet__hover::after { transform: translateY(0); }
  .game-cabinet:hover .game-cabinet__play, .game-cabinet:hover .game-cabinet__demo { opacity: 1; transform: translateY(0) scale(1); }
  .game-cabinet:hover .game-cabinet__play::before, .game-cabinet:hover .game-cabinet__play::after, .game-cabinet:hover .game-cabinet__play svg { animation: play-pulse .6s ease-in-out forwards .4s; }
  .game-cabinet:hover .game-cabinet__play svg path { animation: icon-pulse .6s ease-in-out forwards .4s; }
  .game-cabinet:hover .game-cabinet__badge, .game-cabinet:hover .game-cabinet__jackpot, .game-cabinet:hover .game-cabinet__dnw { opacity: 0; }
}
/* ranked first row: cell = index column 48px + tile; digits 50px italic 700 green gradient with a darker green underlay */
.numbered-podium { position: relative; display: grid; grid-template-columns: var(--rank-shift) minmax(0, 1fr); align-items: end; }
.numbered-podium .game-cabinet { grid-column: 2; }
.podium-number { grid-column: 1; position: relative; z-index: 3; display: flex; justify-content: flex-end; align-self: end; height: 50px; margin-right: -6px; margin-bottom: 0; padding: 0 8px 0 0; overflow: hidden; font-size: 50px; font-weight: 700; font-style: italic; line-height: 50px; letter-spacing: -.02em; pointer-events: none; }
.podium-number i { position: relative; display: inline-block; font-style: inherit; color: transparent; background: linear-gradient(270deg, rgb(var(--g500)), rgb(var(--g400)) 60%, rgb(var(--g300))); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; -webkit-text-stroke: 2px rgb(var(--g200) / .9); paint-order: stroke fill; filter: drop-shadow(1px 4px 0 rgb(var(--g700))); }
.podium-number i + i { margin-left: -4px; }
.podium-number--small { font-size: 50px; }

/* ---------- Grandpot (jackpot SDK widget: bordered dark-green box, card 412 on the lobby background, square tiles 2 rows, winners ticker) ---------- */
.coin-cascade { position: relative; z-index: 1; display: flex; flex-direction: column; margin: 0 -9px; padding: 16px 16px 0; border: 1px solid rgb(29 81 45); border-radius: 4px; background: #0b1a14; color: #fff; overflow: hidden; }
.coin-cascade__row { display: grid; grid-template-columns: 412px minmax(0, 1fr); gap: 24px; align-items: start; }
.coin-cascade__card { position: relative; display: grid; align-content: start; justify-items: center; gap: 8px; min-height: 224px; padding: 12px 15px 10px; overflow: hidden; border-radius: 4px; background: #0b1a14 url("/images/jackpot/lobby-bg.webp") center / cover no-repeat; text-align: center; cursor: pointer; }
.coin-cascade__caption { display: grid; justify-items: center; gap: 2px; }
.coin-cascade__logo img { width: 180px; height: 47px; object-fit: contain; }
.coin-cascade__amount { font-size: 36px; font-weight: 700; line-height: 1.1; letter-spacing: -.01em; font-variant-numeric: tabular-nums; white-space: nowrap; color: transparent; background: linear-gradient(180deg, #fffaef 0%, #fee0a1 55%, #d99b36 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 2px 0 rgb(0 0 0 / .5)); }
.coin-cascade__tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; width: 100%; margin-top: 10px; }
.coin-cascade__tier { position: relative; display: grid; justify-items: center; align-content: center; min-height: 40px; padding: 8px 4px 4px; border: 1px solid transparent; border-radius: 6px; background: linear-gradient(180deg, #08271d, #134032) padding-box, linear-gradient(180deg, #e9c072, #9c6a1f) border-box; }
.coin-cascade__tier-name { position: absolute; left: 50%; top: 0; padding: 2px 10px; border-radius: 4px; font-size: 11px; font-weight: 700; line-height: 1.1; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; color: #fff; text-shadow: 0 1px 0 rgb(0 0 0 / .4); background: linear-gradient(90deg, #ff7d41, #ec4b00 49%, #c63f00); transform: translate(-50%, -50%); }
.coin-cascade__tier--strike .coin-cascade__tier-name { background: linear-gradient(90deg, #ea2eea, #c90a80, #b2006e); }
.coin-cascade__tier--glint .coin-cascade__tier-name { background: linear-gradient(90deg, #009cb1, #00808c, #005e65); }
.coin-cascade__tier-amount { font-size: 16px; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; white-space: nowrap; color: transparent; background: linear-gradient(180deg, #fffaef, #fee0a1 60%, #d99b36); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.coin-cascade__btn { width: 210px; margin-top: 0; }
.coin-cascade__games { position: relative; min-width: 0; }
.coin-cascade__arrow { position: absolute; top: 50%; left: -8px; z-index: 2; width: 24px; height: 24px; padding: 0; border: 0; background: url("/images/ui/arrow-left.png") center / contain no-repeat; cursor: pointer; opacity: .9; transform: translateY(-50%); filter: drop-shadow(0 1px 2px rgb(0 0 0 / .8)); transition: opacity .2s; }
.coin-cascade__arrow--next { left: auto; right: -8px; background-image: url("/images/ui/arrow-right.png"); }
.coin-cascade__arrow:hover { opacity: 1; background-image: url("/images/ui/arrow-left-hover.png"); }
.coin-cascade__arrow--next:hover { background-image: url("/images/ui/arrow-right-hover.png"); }
.coin-cascade__arrow:disabled { opacity: .35; cursor: default; }
.coin-cascade__grid { --cols-n: var(--cols-jp); display: grid; grid-template-rows: auto auto; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--cols-n) - 1) * var(--jp-gap)) / var(--cols-n)); gap: var(--jp-gap); margin: 0; padding: 0; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; scroll-behavior: smooth; scrollbar-width: none; }
.coin-cascade__tile { scroll-snap-align: start; }
.coin-cascade__grid::-webkit-scrollbar { display: none; }
.coin-cascade__tile { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 4px; background: #08271d; cursor: pointer; }
.coin-cascade__tile img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; transition: transform .2s; }
.coin-cascade__tile:hover img { transform: scale(1.06); }
.coin-cascade__new { position: absolute; left: -5px; top: -4px; display: flex; align-items: center; height: 20px; padding: 0 5px 2px 4px; font-size: 11px; font-weight: 700; font-style: italic; text-transform: uppercase; color: rgb(var(--g900)); background: var(--grad-label-new); clip-path: polygon(0 0, 100% 0, calc(100% - 5px) 100%, 0 100%); }
.coin-cascade__ticker { position: relative; height: 20px; margin: 20px 0 14px; overflow: hidden; min-width: 0; }
.coin-cascade__ticker-track { display: inline-flex; gap: 28px; align-items: center; height: 20px; white-space: nowrap; animation: jp-ticker 70s linear infinite; }
.coin-cascade__ticker:hover .coin-cascade__ticker-track { animation-play-state: paused; }
.coin-cascade__win { font-size: 12px; font-weight: 500; line-height: 1; color: #fff; }
.coin-cascade__win em { font-style: normal; font-weight: 500; color: #e5a749; }
@keyframes jp-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Special banner (shop): stb .special-banner – min-height 330, brand image (HQ last frame of the rolik, cover), 1px gradient frame, pattern band 56px, title 52px italic max-width 500, cyan button s ---------- */
.fanfare-banner { position: relative; z-index: 0; display: grid; grid-template-columns: minmax(0, 1fr); align-content: center; overflow: hidden; width: 100%; aspect-ratio: 4496 / 1166; min-height: 330px; max-height: 406px; background: var(--bg-3); cursor: pointer; }
.fanfare-banner::before { content: ""; position: absolute; inset: 0; z-index: 2; border: 1px solid; border-image: var(--grad-tab-border) 1; pointer-events: none; }
.fanfare-banner::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; height: 56px; background: url("/images/ui/bg-pattern.webp") center / cover no-repeat; -webkit-mask-image: linear-gradient(rgb(var(--black) / 0), rgb(var(--black))); mask-image: linear-gradient(rgb(var(--black) / 0), rgb(var(--black))); pointer-events: none; }
.fanfare-banner__media { position: absolute; inset: 0; z-index: 0; }
.fanfare-banner__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.fanfare-banner__content { position: relative; z-index: 3; grid-area: 1 / 1; align-self: center; display: grid; align-content: center; justify-items: start; row-gap: 16px; max-width: calc(500px + 64px * 2); min-height: 124px; padding: 12px 64px; }
.fanfare-banner__title { position: relative; width: 100%; max-width: 500px; font-size: 52px; font-weight: 700; font-style: italic; line-height: 1.2; letter-spacing: .01em; text-align: start; text-wrap: balance; text-transform: uppercase; -webkit-text-stroke: 2px rgb(var(--n800)); paint-order: stroke fill; color: #fff; filter: drop-shadow(0 2px rgb(var(--black) / .25)); }
.fanfare-banner__label { display: block; margin-bottom: -6px; font-family: var(--font-display); font-size: 22px; font-weight: 700; font-style: italic; line-height: 1.2; text-transform: uppercase; color: var(--accent); }
.fanfare-banner__btn { --pxi: 19px; justify-self: start; }

/* ---------- Promo cards (our standard strip; VegasHero skin = the lobby promo cards: 341x167 navy card with a diagonal highlight, two-line italic title, quaternary button, character photo on the right) ---------- */
.stall-scroll--bonuses { --cols-n: var(--cols-promo); --gap: 12px; }
.token-prize { position: relative; z-index: 0; display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; width: 100%; aspect-ratio: 341 / 167; background: rgb(var(--n900)); box-shadow: inset 0 0 0 1px rgb(var(--n800)); cursor: pointer; }
.token-prize::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(104deg, rgb(var(--bl800) / 0) 6%, rgb(var(--bl700) / .35) 6.5%, rgb(var(--bl800) / .1) 22%, rgb(var(--bl800) / 0) 23%); pointer-events: none; }
.token-prize__media { position: absolute; inset: 0 0 0 44%; z-index: 0; overflow: hidden; }
.token-prize__media img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .2s; }
.token-prize__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(var(--n900)), rgb(var(--n900) / 0) 32%); }
.token-prize:hover .token-prize__media img { transform: scale(1.04); }
.token-prize__tag { display: none; }
.token-prize__body { position: relative; z-index: 2; grid-area: 1 / 1 / -1 / -1; display: grid; align-content: center; justify-items: start; gap: 18px; width: 58%; padding: 16px 20px; }
.token-prize__text-wrap { display: grid; gap: 2px; color: #fff; }
.token-prize__name, .token-prize__title { font-size: 18px; font-weight: 700; font-style: italic; line-height: 1.3; text-transform: uppercase; color: #fff; }
.token-prize__amount, .token-prize__text, .token-prize__terms { display: none; }
.token-prize__cta { display: grid; justify-items: start; }
.token-prize__cta .plunger-btn { min-width: 100px; }
.token-prizes__terms { margin: 10px 0 0; font-size: 12px; color: var(--text-2); }

/* ---------- Providers (inside the text section: 2 rows x 12 dark tiles 148x78 with 1px frame, icon 28 + name 10px) ---------- */
.stall-shelf[data-providers] { padding: 0; }
.maker-plates__grid { display: grid; grid-template-rows: repeat(2, 78px); grid-template-columns: repeat(var(--cols-prov), minmax(0, 1fr)); grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 10px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; margin: 16px -2px 0; padding: 2px 2px 0; }
.maker-plates__grid::-webkit-scrollbar { display: none; }
.maker-plate { position: relative; z-index: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; row-gap: 6px; width: 100%; height: 100%; padding: 6px 4px; border-radius: 4px; background: var(--grad-n100); box-shadow: 0 0 0 1px rgb(var(--n800)); font-size: 10px; font-weight: 700; line-height: 1.2; text-align: center; text-transform: uppercase; color: var(--text-2); transition: color .2s; cursor: pointer; }
.maker-plate__hover { position: absolute; inset: 0; z-index: -1; border-radius: 4px; background: var(--grad-n500); opacity: 0; transition: opacity .2s; }
.maker-plate:hover { color: #fff; }
.maker-plate:hover .maker-plate__hover { opacity: 1; }
.maker-plate__logo { width: auto; max-width: 96px; height: 30px; object-fit: contain; }
.maker-plate__name { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.maker-plate__meta { display: none; }
.maker-plate--more .maker-plate__logo { display: inline-flex; align-items: center; justify-content: center; color: var(--accent); }
.maker-plate--more svg { width: 24px; height: 24px; }
.maker-plate--more .maker-plate__logo { height: 30px; }

/* ---------- SEO / content boxes (dark panels with 1px frame) ---------- */
.booth-panel { position: relative; margin: 16px 0 0; padding: 24px 28px 28px; background: rgb(var(--n900) / .92); box-shadow: 0 0 0 1px rgb(var(--n800)) inset; }
.booth-panel > *, .arcade-phone__grid > * { position: relative; z-index: 3; min-width: 0; }
.booth-panel--front-gate { padding: 24px 28px; }
.booth-panel--front-gate h1 { margin-bottom: 14px; font-size: 28px; font-weight: 700; font-style: italic; line-height: 1.2; text-transform: uppercase; color: #fff; }
.booth-panel--front-gate p { margin: 0 0 10px; font-size: 15px; font-weight: 500; line-height: 1.55; color: var(--text); }
.booth-panel--handbill.is-shuttered .booth-panel__body { max-height: 120px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 40%, transparent); mask-image: linear-gradient(180deg, #000 40%, transparent); }
.booth-panel__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; padding: 0; border: 0; background: transparent; font-family: var(--font); font-size: 14px; font-weight: 700; font-style: italic; color: var(--accent); cursor: pointer; transition: color .2s; }
.booth-panel__more:hover { color: rgb(var(--br300)); }
.booth-panel__more svg { width: 12px; height: 12px; transition: transform .2s; }
.booth-panel--handbill:not(.is-shuttered) .booth-panel__more svg { transform: rotate(180deg); }
.arcade-title { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 24px; font-weight: 700; font-style: italic; line-height: 1.2; text-transform: uppercase; color: #fff; }
.arcade-title img, .arcade-title svg { display: none; }
.arcade-subtitle { margin: 22px 0 10px; font-size: 18px; font-weight: 700; font-style: italic; text-transform: uppercase; color: var(--accent); }
.arcade-lead { margin: 0 0 12px; font-size: 15px; line-height: 1.55; color: var(--text); }
.booth-panel > p.arcade-lead:last-child { padding: 14px 16px; background: rgb(var(--n950)); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.barker-copy p { font-size: 15px; line-height: 1.6; color: var(--text); }
.barker-copy p:last-child { margin-bottom: 0; }
.barker-copy a, .booth-panel p a { font-weight: 700; text-decoration: underline; color: #fff; }
.barker-copy a:hover, .booth-panel p a:hover { color: var(--accent); }
.scorecard-scroll { overflow-x: auto; margin: 6px 0 4px; box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
table { width: 100%; min-width: 380px; border-collapse: collapse; font-size: 14px; }
th, td { padding: 10px 12px; text-align: left; vertical-align: top; border: 1px solid rgb(var(--n800)); }
thead th { font-size: 13px; font-weight: 700; font-style: italic; text-transform: uppercase; color: var(--accent); background: rgb(var(--n950)); }
tbody tr:nth-child(odd) td { background: rgb(var(--n950) / .7); }
tbody tr:nth-child(even) td { background: rgb(var(--n900)); }
tbody td:first-child { font-weight: 700; color: #fff; }
tbody td { color: var(--text); }
.scorecard-note { margin: 8px 0 0; font-size: 12px; color: var(--text-2); }
.bulb-items { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 14px 0 6px; }
.bulb-item { display: flex; flex-direction: column; gap: 4px; padding: 14px; background: rgb(var(--n950)); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.bulb-item__value { font-size: 24px; font-weight: 700; font-style: italic; color: var(--accent-2); }
.bulb-item__label { font-size: 12px; color: var(--text); }
.ride-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 10px 0 6px; }
.ride-step { display: flex; gap: 12px; padding: 14px; background: rgb(var(--n950)); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.ride-step__num { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 32px; height: 32px; background: linear-gradient(rgb(var(--g300)), rgb(var(--g500))); clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 8px 100%, 0 50%); color: rgb(var(--n950)); font-weight: 700; font-style: italic; font-size: 16px; }
.ride-step strong { display: block; margin-bottom: 2px; font-size: 15px; font-weight: 700; color: #fff; }
.ride-step p { margin: 0; font-size: 13px; color: var(--text); }
.ticket-ticks { display: flex; flex-direction: column; gap: 8px; margin: 10px 0 12px; padding: 14px 16px; background: rgb(var(--n950)); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.ticket-ticks li { position: relative; padding-left: 26px; font-size: 15px; color: var(--text); }
.ticket-ticks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23121723' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 10px no-repeat, linear-gradient(rgb(var(--g300)), rgb(var(--g500))); clip-path: polygon(4px 0, calc(100% - 4px) 0, 100% 50%, calc(100% - 4px) 100%, 4px 100%, 0 50%); }
.plunger-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 18px; }
.arcade-phone__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; align-items: start; }
.arcade-phone__badges { display: flex; gap: 10px; margin-top: 6px; }
.arcade-phone__badges img { height: 40px; width: auto; border-radius: 4px; }
.cashier-hatch__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 14px 0 6px; }
.cashier-hatch__card { display: flex; flex-direction: column; gap: 6px; padding: 16px; background: rgb(var(--n950)); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.cashier-hatch__icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 4px; border: 1px solid rgb(var(--n700)); background: var(--grad-n500); color: var(--accent); transform: skew(var(--skew-n)); }
.cashier-hatch__icon svg { width: 20px; height: 20px; transform: skew(var(--skew)); }
.cashier-hatch__card strong { font-size: 15px; font-weight: 700; color: #fff; }
.cashier-hatch__meta { font-size: 11px; color: var(--text-2); }
.cashier-hatch__card p { margin: 0 0 auto; font-size: 13px; color: var(--text); }
.cashier-hatch__card .plunger-btn { align-self: flex-start; margin-top: 10px; margin-left: 4px; }
.changebooth-box__strip { display: flex; flex-wrap: wrap; gap: 12px 16px; margin: 8px 4px 4px; }
.changebooth-method { position: relative; display: flex; justify-content: center; align-items: center; width: 74px; height: 36px; padding: 6px 8px; border: 1px solid rgb(var(--n800)); background: rgb(var(--n950)); box-shadow: 0 2px rgb(var(--black) / .25), 1px -1px 2px rgb(var(--n1000)) inset; transform: skew(-8deg); transition: background-color .2s; }
.changebooth-method:hover { background: rgb(var(--n900)); }
.changebooth-method > * { transform: skew(8deg); }
.changebooth-method__icon img { height: 18px; width: auto; max-width: 56px; object-fit: contain; }
.changebooth-method__initial { font-size: 12px; font-weight: 700; text-transform: uppercase; color: #fff; }
.changebooth-method--more { width: auto; border: 0; background: transparent; box-shadow: none; color: var(--accent); }
.changebooth-method--more .changebooth-method__initial { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 700; font-style: italic; text-transform: none; color: var(--accent); }
.changebooth-method--more svg { width: 14px; height: 14px; }

/* Reviews */
.daytripper-notes__summary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 16px; }
.daytripper-notes__word { font-size: 22px; font-weight: 700; font-style: italic; text-transform: uppercase; color: var(--accent); }
.daytripper-notes__text { font-size: 13px; color: var(--text); }
.candyfloss-stars { display: inline-flex; gap: 2px; }
.candyfloss-star { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 3px; background: #00b67a; }
.candyfloss-star svg { width: 14px; height: 14px; fill: #fff; }
.candyfloss-star.is-half-aglow { background: linear-gradient(90deg, #00b67a 50%, rgb(var(--n700)) 50%); }
.daytripper-note__rating { display: flex; align-items: center; gap: 8px; }
.daytripper-note__rating .candyfloss-star { width: 16px; height: 16px; }
.daytripper-note__rating .candyfloss-star svg { width: 10px; height: 10px; }
.daytripper-notes__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.daytripper-note { display: flex; flex-direction: column; gap: 8px; padding: 16px; background: rgb(var(--n950)); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.daytripper-note__head { display: flex; align-items: center; gap: 10px; }
.daytripper-note__avatar { flex: 0 0 auto; width: 40px; height: 40px; overflow: hidden; border-radius: 50%; background: var(--bg-3); box-shadow: 0 0 0 2px rgb(var(--br500)); }
.daytripper-note__avatar img { width: 100%; height: 100%; object-fit: cover; }
.daytripper-note__name { font-size: 14px; font-weight: 700; color: #fff; }
.daytripper-note__sub { font-size: 11px; color: var(--text-2); }
.daytripper-note__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.daytripper-note__date { font-size: 11px; color: var(--text-2); }
.daytripper-note__title { font-size: 14px; font-weight: 700; font-style: italic; color: var(--accent); }
.daytripper-note__text { margin: 0; font-size: 13px; color: var(--text); }
.daytripper-note__verified { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; font-size: 11px; font-weight: 700; color: rgb(var(--g500)); }
.daytripper-note__verified svg { width: 14px; height: 14px; }

/* FAQ */
.arcade-qa__list { display: flex; flex-direction: column; gap: 8px; }
.arcade-qa__item { overflow: hidden; border: 1px solid rgb(var(--n800)); background: var(--grad-n100); }
.arcade-qa__question { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 16px; border: 0; background: transparent; color: #fff; font-family: var(--font); font-size: 16px; font-weight: 700; text-align: left; cursor: pointer; transition: color .2s; }
.arcade-qa__question:hover { color: var(--accent); }
.arcade-qa__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 20px; height: 20px; color: var(--text-2); transition: transform .2s; }
.arcade-qa__icon svg { width: 14px; height: 14px; }
.arcade-qa__item.is-shutter-up .arcade-qa__icon { transform: rotate(180deg); color: var(--accent); }
.arcade-qa__answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.arcade-qa__item.is-shutter-up .arcade-qa__answer { grid-template-rows: 1fr; }
.arcade-qa__answer-inner { overflow: hidden; min-height: 0; }
.arcade-qa__answer p { margin: 0; padding: 0 16px 16px; font-size: 14px; line-height: 1.5; color: var(--text); }

/* TOC */
.arcade-index { margin: 16px 0 0; }
.arcade-index__box { position: relative; padding: 6px 20px; background: rgb(var(--n900) / .92); box-shadow: 0 0 0 1px rgb(var(--n800)) inset; }
.arcade-index__box > * { position: relative; z-index: 3; }
.arcade-index__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 12px 0; border: 0; background: transparent; color: #fff; cursor: pointer; font-family: var(--font-display); font-size: 20px; font-weight: 700; font-style: italic; text-transform: uppercase; }
.arcade-index__title { display: inline-flex; align-items: center; gap: 8px; }
.arcade-index__title svg { width: 18px; height: 18px; color: var(--accent); }
.arcade-index__toggle { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; font-style: normal; text-transform: none; color: var(--text-2); }
.arcade-index__toggle svg { width: 12px; height: 12px; transition: transform .2s; }
.arcade-index.is-shuttered .arcade-index__toggle svg { transform: rotate(180deg); }
.arcade-index__body { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .25s ease; }
.arcade-index.is-shuttered .arcade-index__body { grid-template-rows: 0fr; }
.arcade-index__body-inner { overflow: hidden; }
.arcade-index__list { display: flex; flex-wrap: wrap; gap: 8px 12px; padding: 4px 4px 14px; counter-reset: toc; }
.arcade-index__list li a { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 4px 12px 4px 6px; border: 1px solid rgb(var(--n800)); background: var(--grad-n100); color: var(--text-2); font-size: 14px; font-weight: 700; font-style: italic; text-transform: uppercase; transform: skew(var(--skew-n)); transition: color .2s, border-color .2s; }
.arcade-index__list li a > * { transform: skew(var(--skew)); }
.arcade-index__list li a::before { counter-increment: toc; content: counter(toc); display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: linear-gradient(rgb(var(--g300)), rgb(var(--g500))); color: rgb(var(--n950)); font-size: 12px; font-weight: 700; transform: skew(var(--skew)); }
.arcade-index__list li a:hover { color: #fff; border-color: rgb(var(--n600)); }

/* ---------- Footer (stb .boardwalk-foot in the content column: fade-to-dark gradient at the top, plates row (min 160), navigation-list 7 columns x 3 rows gap 40 (items 2-5, 8 span the rows; 1, 6 row 1; 7, 9 rows 2-3), payments 74x36, 18+, legal 14px) ---------- */
.boardwalk-foot { position: relative; z-index: 1; margin: 16px 0 0 var(--side-w); background: var(--bg); transition: margin-left .3s; }
body.gangway-shut .boardwalk-foot { margin-left: 80px; }
.boardwalk-foot::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 120px; background: var(--grad-fade-dark); pointer-events: none; }
.boardwalk-foot__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 40px; max-width: 1920px; margin: 0 auto; padding: 12px 4px 32px; }
.boardwalk-foot__top { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(160px, auto); justify-content: center; align-items: center; gap: 12px; padding: 0 16px; }
.boardwalk-foot__top .plunger-btn__t { gap: 8px; }
.boardwalk-foot__top .plunger-btn__t img, .boardwalk-foot__top .plunger-btn__t .gangway-menu__ico { flex: 0 0 auto; width: 16px; height: 16px; margin-top: -1px; }
.boardwalk-foot__body { padding: 0 12px; }
.boardwalk-foot__cols { display: grid; grid-template-rows: repeat(3, auto); grid-template-columns: repeat(7, 1fr); gap: 0 40px; }
.boardwalk-foot__col:nth-child(2), .boardwalk-foot__col:nth-child(3), .boardwalk-foot__col:nth-child(4), .boardwalk-foot__col:nth-child(5), .boardwalk-foot__col:nth-child(8) { grid-row: 1 / 4; }
.boardwalk-foot__col:nth-child(1), .boardwalk-foot__col:nth-child(6) { grid-row: 1 / 2; }
.boardwalk-foot__col:nth-child(7) { grid-row: 2 / 4; }
.boardwalk-foot__col:nth-child(9) { grid-row: 2 / 4; grid-column: 1 / 2; }
.boardwalk-foot__col .boardwalk-foot__col-title { margin: 0 0 20px; font-family: var(--font); font-size: 16px; font-weight: 700; line-height: 1.4; color: rgb(var(--n100)); }
.boardwalk-foot__col ul { display: flex; flex-direction: column; gap: 30px; padding-bottom: 20px; }
.boardwalk-foot__col a, .boardwalk-foot__col span { display: inline-block; font-size: 14px; font-weight: 500; line-height: 20px; color: var(--text-2); cursor: pointer; transition: color .2s; }
.boardwalk-foot__col a:hover, .boardwalk-foot__col span:hover { color: #fff; }
.boardwalk-foot__pay { display: flex; justify-content: center; padding: 0 16px; }
.boardwalk-foot__pay-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 16px; }
.boardwalk-foot__legal { display: grid; justify-items: center; gap: 20px; padding: 0 16px; text-align: center; }
.boardwalk-foot__age { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 2px solid #fff; border-radius: 50%; font-size: 12px; font-weight: 700; color: #fff; }
.boardwalk-foot__legal p { max-width: 900px; margin: 0; font-size: 14px; line-height: 1.4; color: var(--text-2); }
.back-to-pier-head { position: fixed; right: 24px; bottom: 24px; z-index: 40; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgb(var(--n800)); background: rgb(var(--n950)); color: #fff; cursor: pointer; opacity: 0; visibility: hidden; transform: skew(var(--skew-n)); transition: opacity .2s, visibility .2s, background-color .2s; }
.back-to-pier-head svg { width: 22px; height: 22px; transform: skew(var(--skew)); }
.back-to-pier-head.is-on-the-pier { opacity: 1; visibility: visible; }
.back-to-pier-head:hover { background: rgb(var(--n900)); }
.pennant-strip { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 2199px) {
  :root { --cols: 9; --cols-rank: 7; --cols-promo: 5; --cols-jp: 11; --cols-prov: 11; }
}
@media (max-width: 1919px) {
  /* stb <1920: banner 431 (≥1536) / 360, text column 460, title 44; special 198 / title 28 */
  :root { --cols: 8; --cols-rank: 6; --cols-promo: 4; --cols-jp: 9; --cols-prov: 9; }
  .bigwheel-carousel { height: 431px; }
  .bigwheel-slide { grid-template-columns: 460px 1fr; }
  .bigwheel-carousel__dots { width: 460px; }
  .bigwheel-slide__inner { padding: 16px 28px 20px; }
  .bigwheel-slide__title { font-size: 44px; }
  .fanfare-banner { min-height: 198px; max-height: 330px; }
  .fanfare-banner__content { max-width: calc(290px + 16px * 2); padding: 12px 16px; }
  .fanfare-banner__title { max-width: 290px; font-size: 28px; }
  .fanfare-banner__label { font-size: 14px; margin-bottom: -8px; }
  .boardwalk-foot__cols { gap: 0 24px; }
}
@media (max-width: 1699px) {
  :root { --cols: 7; --cols-rank: 5; --cols-promo: 4; --cols-jp: 8; --cols-prov: 8; }
}
@media (max-width: 1535px) {
  :root { --cols: 6; --cols-rank: 4; --cols-promo: 3; --cols-jp: 6; --cols-prov: 7; }
  .bigwheel-carousel { height: 360px; }
  .coin-cascade__row { grid-template-columns: 400px minmax(0, 1fr); gap: 16px; }
  .coin-cascade__logo img { width: 170px; height: 45px; }
  .coin-cascade__amount { font-size: 34px; }
  .cashier-hatch__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1365px) {
  :root { --cols: 5; --cols-rank: 4; --cols-promo: 3; --cols-jp: 5; --cols-prov: 6; }
  .daytripper-notes__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1279px) {
  /* tablet (stb 768–1279): no sidebar column – burger opens the drawer, content full width; banner 400 with a 340px text column, CTA 36px */
  :root { --side-w: 0px; --hdr-h: 62px; --cols: 6; --cols-rank: 4; --cols-promo: 3; --cols-jp: 9; --cols-prov: 6; }
  html { scroll-padding-top: 110px; }
  .promenade-main { padding-top: 0; }
  .bigwheel-banner { padding-top: 8px; }
  .flipper-tabs { position: relative; z-index: 1; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; height: 41px; margin: var(--hdr-h) 0 0; padding-bottom: 1px; background: rgb(var(--n950)); box-shadow: inset 0 -1px 0 rgb(var(--n800)); }
  .flipper-tabs::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .2; background: url("/images/ui/bg-pattern.webp") center / cover no-repeat; pointer-events: none; }
  .flipper-tab { position: relative; display: flex; align-items: center; justify-content: center; height: 40px; font-family: var(--font-display); font-size: 16px; font-weight: 700; font-style: italic; text-transform: uppercase; color: var(--text-3); cursor: pointer; transition: color .2s; }
  .flipper-tab + .flipper-tab::before { content: ""; position: absolute; left: -6px; top: 0; bottom: 0; width: 1px; background: linear-gradient(rgb(var(--n700)), rgb(var(--n800))); transform: skew(var(--skew-n)); }
  .flipper-tab.is-bulbs-on { color: #fff; background: linear-gradient(90deg, rgb(var(--bl700) / .25), rgb(var(--bl800) / .45)); clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%); }
  .flipper-tab:hover { color: #fff; }
  .promenade-wrap, .boardwalk-foot, body.gangway-shut .promenade-wrap, body.gangway-shut .boardwalk-foot { margin-left: 0; }
  .fascia-bar__inner { padding: 7px 16px 7px 12px; gap: 8px; }
  .turnstile-toggle { margin-right: 8px; }
  .turnstile-toggle__d { display: none; }
  .turnstile-toggle__m { display: inline-flex; }
  .spotlight-search { min-width: 260px; }
  .bigwheel-carousel { height: 400px; }
  .bigwheel-slide { grid-template-columns: 340px 1fr; }
  .bigwheel-carousel__dots { width: 340px; bottom: 30px; }
  .bigwheel-slide__inner { padding: 16px 28px 20px; }
  .bigwheel-slide__title { font-size: 36px; white-space: normal; }
  .bigwheel-slide__label { font-size: 16px; }
  .plunger-btn--big-prize { --h: 56px; --fs: 36px; --pxi: 21px; --side: 16px; --l1: 3px 4px; --l2: 0 10px; min-width: 220px; }
  .plunger-btn--big-prize::before { --side: 15px; }
  .bigwheel-carousel__nav { padding: 0 8px; }
  .coin-cascade__row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .coin-cascade__card { width: 100%; }
  .fanfare-banner__btn { --h: 36px; --fs: 16px; --pxo: 4px; --pxi: 11px; --corner: 10px; --l1: 2px 0; --l2: 0 4px; --off: 3px; --line: 20px; }
  .boardwalk-foot__body { padding: 0 20px; }
  .boardwalk-foot__cols { grid-template-columns: repeat(4, 1fr); gap: 0 24px; }
  .boardwalk-foot__col:nth-child(n) { grid-row: auto; grid-column: auto; }
  /* drawer (stb burger menu <1280): the real header stays (burger turns into X), the panel 420px slides in below it with search, groups and plates; the page is dimmed on the right (click closes) */
  .turnstile-toggle.is-shutter-up .turnstile-toggle__m { display: none; }
  .turnstile-toggle.is-shutter-up .turnstile-toggle__x { display: inline-flex; }
  .gangway-menu__backdrop { display: block; position: fixed; inset: var(--hdr-h) 0 0 0; z-index: 80; background: rgb(var(--black) / .6); opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
  .gangway-menu__backdrop.is-shutter-up { opacity: 1; visibility: visible; }
  .gangway-menu { --panel: min(420px, calc(100% - 40px)); top: var(--hdr-h); bottom: 0; left: 0; z-index: 90; width: var(--panel); border: 0; border-image: none; background: var(--bg); box-shadow: 6px 0 24px rgb(var(--black) / .6); transform: translateX(-104%); transition: transform .26s ease; }
  .gangway-menu.is-shutter-up { transform: translateX(0); }
  .gangway-menu__head { display: none; }
  .gangway-menu__body { flex: 1 1 auto; min-height: 0; width: 100%; overflow-y: auto; overscroll-behavior: contain; padding: 16px 16px 16px; scrollbar-width: none; }
  .gangway-menu__body::-webkit-scrollbar { display: none; }
  .gangway-menu__search { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; height: 48px; margin: 0 2px 16px; padding: 0 12px; border: 1px solid rgb(var(--n700)); color: var(--text-2); font-weight: 500; font-size: 16px; white-space: nowrap; overflow: hidden; background: rgb(var(--n900)); box-shadow: 0 2px rgb(var(--black) / .25), 1px -1px 2px rgb(var(--n1000)) inset; transform: skew(-6deg); }
  .gangway-menu__search > * { transform: skew(6deg); }
  .gangway-menu__search .spotlight-search__ico { width: 16px; height: 16px; }
  .gangway-menu__nav { overflow: visible; }
  .gangway-menu__item { padding: 0 8px 0 8px; font-size: 16px; }
  .gangway-menu__bottom { position: static; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; padding: 24px 4px 0; }
  .gangway-menu__plate { min-height: 60px; font-size: 12px; }
}
@media (max-width: 1023px) {
  :root { --cols: 5; --cols-rank: 3; --cols-promo: 2; --cols-jp: 7; --cols-prov: 5; }
}
@media (max-width: 900px) {
  .arcade-phone__grid { grid-template-columns: 1fr; }
  .boardwalk-foot__cols { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  :root { --pad: 16px; --rank-shift: 32px; --row-gap: 16px; }
  html { scroll-padding-top: 110px; }
  body { font-size: 15px; }
  .fascia-bar { background-image: url("/images/ui/bg-header-mobile.png"); background-size: auto 100%; }
  .fascia-bar__inner { gap: 8px; padding: 13px 15px 13px 13px; }
  .bigwheel-banner { padding-top: 0; }
  .turnstile-toggle { width: 24px; height: 24px; margin-right: 12px; }
  .arcade-logo__d { display: none; }
  .arcade-logo__m { display: block; }
  .spotlight-search { display: none; }
  .fascia-bar__actions { gap: 1px; margin-left: 0; }
  .plunger-btn--marquee { --h: 36px; --fs: 16px; --pxi: 14px; }
  .bigwheel-banner .pier-deck { padding: 0; }
  .bigwheel-carousel { height: 400px; }
  .bigwheel-carousel::before { display: none; }
  .bigwheel-slide::after { height: 191px; }
  .bigwheel-slide { grid-template-columns: 1fr; }
  .bigwheel-slide__media::after { background: linear-gradient(rgb(var(--black) / 0) 53%, rgb(var(--black) / .4) 71%, rgb(var(--black) / .86) 93%); }
  .bigwheel-slide__inner { align-content: end; gap: 0; padding: 16px 28px 24px; }
  .bigwheel-slide__card { gap: 6px; }
  .bigwheel-slide__label { font-size: 18px; }
  .bigwheel-slide__title { font-size: 44px; white-space: normal; }
  .bigwheel-slide__action { margin-top: 3px; }
  .plunger-btn--big-prize { --h: 56px; --fs: 28px; --pxi: 21px; --side: 16px; --l1: 3px 4px; --l2: 0 10px; min-width: 220px; }
  .bigwheel-carousel__nav { display: none; }
  .bigwheel-carousel__dots { width: 100%; bottom: 6px; }
  .bigwheel-carousel__dot { width: 15px; height: 3px; margin: 2px 3px; }
  .promenade-page { gap: 12px; padding-top: 12px; }
  .kiosk-panel { padding: 12px 0 12px; margin: 0 -16px; }
  .kiosk-panel::before { background-image: url("/images/ui/games-pattern-m.webp"); }
  .kiosk-panel--special { margin: 0 -16px; }
  .stall-shelf__head { min-height: 24px; margin: 0 16px 10px; }
  .stall-shelf__title { min-height: 24px; font-size: 20px; }
  .stall-shelf__title::after { left: -16px; width: 160px; }
  .stall-shelf__link { font-size: 12px; text-transform: uppercase; }
  .stall-shelf__link svg { display: block; }
  .stall-shelf__arrows { display: none; }
  .stall-scroll { grid-auto-columns: 92px; margin: 0; padding: 3px 16px; scroll-padding: 16px; }
  .stall-scroll--ranked { grid-auto-columns: calc(92px + var(--rank-shift)); margin-left: 0; padding-left: calc(16px + var(--rank-first) - var(--rank-shift)); }
  .game-cabinet__badge { height: 14px; padding: 0 4px 1px 3px; font-size: 9px; }
  .game-cabinet__badge::before { width: 3px; height: 3px; }
  .game-cabinet__jackpot { min-height: 18px; font-size: 12px; }
  .game-cabinet__dnw { width: 32px; height: 32px; }
  .game-cabinet__play { --side: 8px; width: 56px; height: 32px; padding: 0 4px; }
  .game-cabinet__play::before { inset: 2px -3px; }
  .game-cabinet__play::after { inset: 0 2px; }
  .game-cabinet__play svg { padding: 6px 15px; }
  .game-cabinet__hover { row-gap: 8px; padding-top: 16px; }
  .game-cabinet__demo { font-size: 12px; }
  .podium-number { height: 40px; font-size: 40px; line-height: 40px; margin-right: -7px; }
  .coin-cascade { margin: 0 12px; padding: 12px 12px 0; }
  .coin-cascade__row { gap: 12px; }
  .coin-cascade__card { min-height: 0; padding: 12px 10px 12px; background-image: url("/images/jackpot/lobby-bg-m.webp"); }
  .coin-cascade__logo img { width: 250px; }
  .coin-cascade__amount { font-size: 40px; }
  .coin-cascade__tiers { gap: 8px; }
  .coin-cascade__tier-amount { font-size: 15px; }
  .coin-cascade__tier { padding: 12px 4px 6px; }
  .coin-cascade__card .coin-cascade__btn { display: none; }
  .coin-cascade__grid { grid-template-rows: auto; grid-auto-columns: 92px; gap: 8px; }
  .coin-cascade__ticker { margin: 12px 0 12px; }
  .coin-cascade__ticker { margin: 0 -16px; padding: 0 16px; }
  .coin-cascade__win { font-size: 13px; }
  .fanfare-banner { aspect-ratio: auto; min-height: 270px; max-height: none; align-content: stretch; }
  .fanfare-banner__label { font-size: 14px; margin-bottom: -4px; }
  .coin-cascade__arrow { display: none; }
  .fanfare-banner::after { height: 126px; }
  .fanfare-banner__media img { object-position: 62% center; }
  .fanfare-banner__content { align-self: end; align-content: end; justify-items: center; row-gap: 12px; max-width: none; min-height: 124px; padding: 12px 16px; }
  .fanfare-banner__title { max-width: none; font-size: 24px; text-align: center; }
  .fanfare-banner__btn { justify-self: center; }
  .stall-scroll--bonuses { grid-auto-columns: 341px; --gap: 8px; }
  .token-prize__name, .token-prize__title { font-size: 16px; }
  .token-prize__body { padding: 12px 16px; }
  .token-prize__cta .plunger-btn { --h: 36px; --fs: 16px; --pxi: 14px; }
  .maker-plates__grid { grid-template-rows: repeat(2, 72px); grid-template-columns: none; grid-auto-columns: 88px; gap: 8px; }
  .maker-plate__logo { max-width: 100%; }
  .booth-panel { margin: 16px 0 0; padding: 16px; }
  .booth-panel--front-gate { padding: 16px; }
  .booth-panel--front-gate h1 { font-size: 22px; }
  .booth-panel--front-gate p { font-size: 14px; }
  .arcade-title { font-size: 20px; }
  .plunger-btn--lg { --pxi: 16px; --h: 48px; --fs: 16px; white-space: normal; text-align: center; line-height: 1.1; max-width: 100%; }
  .plunger-row .plunger-btn { max-width: 100%; }
  .scorecard-scroll { max-width: 100%; }
  .ride-steps, .cashier-hatch__grid, .daytripper-notes__grid { grid-template-columns: 1fr; }
  .bulb-items { grid-template-columns: repeat(2, 1fr); }
  .arcade-index { margin: 16px 0 0; }
  .boardwalk-foot { margin-top: 16px; background: rgb(var(--n950)) url("/images/ui/bg-footer-mob.png") top center / 100% auto no-repeat; }
  .boardwalk-foot::before { display: none; }
  .boardwalk-foot { background: var(--bg) url("/images/ui/bg-footer-mob.png") center bottom / auto no-repeat; }
  .boardwalk-foot__inner { row-gap: 32px; padding: 12px 4px 32px; }
  .boardwalk-foot__top { grid-auto-columns: 1fr; gap: 12px; padding: 0 12px; }
  .boardwalk-foot__top .plunger-btn { --h: 48px; --fs: 12px; --pxi: 4px; min-width: 0; }
  .boardwalk-foot__top .plunger-btn__t { flex-direction: column; gap: 4px; }
  .boardwalk-foot__body { padding: 0; }
  .boardwalk-foot__cols { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .boardwalk-foot__col { position: relative; overflow: hidden; background: linear-gradient(90deg, rgb(var(--bl700) / 0), rgb(var(--bl700) / .3), rgb(var(--bl700) / 0)); backdrop-filter: blur(3px); }
  .boardwalk-foot__col::before, .boardwalk-foot__col::after { content: ""; position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, rgb(var(--bl600) / 0), rgb(var(--bl600)), rgb(var(--bl600) / 0)); }
  .boardwalk-foot__col::before { top: 0; }
  .boardwalk-foot__col::after { bottom: 0; }
  .boardwalk-foot__col .boardwalk-foot__col-title { position: relative; display: flex; justify-content: center; align-items: center; min-height: 48px; margin: 0; padding: 13px 40px; font-size: 16px; line-height: 1.4; text-align: center; cursor: pointer; }
  .boardwalk-foot__col .boardwalk-foot__col-title::after { content: ""; position: absolute; right: 16px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); background: url("/images/ui/arrow-down.png") center / contain no-repeat; transition: transform .2s; }
  .boardwalk-foot__col ul { display: none; gap: 7px; padding: 14px 24px 24px; text-align: center; }
  .boardwalk-foot__col li { display: block; }
  .boardwalk-foot__col a, .boardwalk-foot__col span { padding-bottom: 7px; }
  .boardwalk-foot__col.is-shutter-up ul { display: flex; }
  .boardwalk-foot__col.is-shutter-up .boardwalk-foot__col-title::after { transform: translateY(-50%) rotate(180deg); }
  .boardwalk-foot__pay-row { gap: 12px 16px; }
  .boardwalk-foot__legal p { font-size: 14px; }
  .back-to-pier-head { right: 12px; bottom: 16px; width: 40px; height: 40px; }
}
@media (max-width: 420px) {
  .plunger-btn--marquee { --pxi: 12px; }
  .gangway-menu { --panel: calc(100% - 40px); }
}
@media (max-width: 411px) {
  .bigwheel-carousel { height: 360px; }
  .bigwheel-slide__title { font-size: 36px; }
}

/* footer plates row (store plates + UK help organisations) */
.boardwalk-foot__badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 26px; padding: 20px 16px 4px; }
.boardwalk-foot__badges img { display: block; height: 36px; width: auto; }
.boardwalk-foot__badges a img[src*="gambleaware"] { height: 20px; }
.boardwalk-foot__badges a img[src*="gordon-moody"] { height: 32px; }
.boardwalk-foot__badges [role="button"] { cursor: pointer; }

/* perf pass 12.10 (no visual change): looped animations sleep while their block is off-screen (attribute set by main.js) and on the hidden slides */
[data-asleep], [data-asleep] *, [data-asleep]::before, [data-asleep]::after, [data-asleep] *::before, [data-asleep] *::after,
.bigwheel-slide:not(.is-bulbs-on) .plunger-btn--big-prize, .bigwheel-slide:not(.is-bulbs-on) .plunger-btn--big-prize::before, .bigwheel-slide:not(.is-bulbs-on) .plunger-btn--big-prize::after,
.bigwheel-slide:not(.is-bulbs-on) .plunger-btn--big-prize .plunger-btn__t, .bigwheel-slide:not(.is-bulbs-on) .plunger-btn--big-prize .plunger-btn__t > span { animation-play-state: paused; }
