/* Pistolo Casino – template v2 (reference layout: blue cartoon lobby, left sidebar, full-width rows) */
@font-face { font-family: "M PLUS Rounded 1c"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/m-plus-rounded-1c-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: "M PLUS Rounded 1c"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/m-plus-rounded-1c-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: "M PLUS Rounded 1c"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/m-plus-rounded-1c-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: "M PLUS Rounded 1c"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/m-plus-rounded-1c-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: "M PLUS Rounded 1c"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/m-plus-rounded-1c-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: "M PLUS Rounded 1c"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/m-plus-rounded-1c-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: "M PLUS Rounded 1c"; font-style: normal; font-weight: 800; font-display: swap; src: url("/fonts/m-plus-rounded-1c-latin-ext-800-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: "M PLUS Rounded 1c"; font-style: normal; font-weight: 800; font-display: swap; src: url("/fonts/m-plus-rounded-1c-latin-800-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: "M PLUS Rounded 1c"; font-style: normal; font-weight: 900; font-display: swap; src: url("/fonts/m-plus-rounded-1c-latin-ext-900-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: "M PLUS Rounded 1c"; font-style: normal; font-weight: 900; font-display: swap; src: url("/fonts/m-plus-rounded-1c-latin-900-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: "Jost"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/jost-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: "Jost"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/jost-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: "Jost"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/jost-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: "Jost"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/jost-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: "Jost"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fonts/jost-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: "Jost"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fonts/jost-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: "Jost"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/jost-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: "Jost"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/jost-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: "Baloo 2"; font-style: normal; font-weight: 800; font-display: swap; src: url("/fonts/baloo-2-latin-ext-800-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: "Baloo 2"; font-style: normal; font-weight: 800; font-display: swap; src: url("/fonts/baloo-2-latin-800-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: "Sofia Sans Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/sofia-sans-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: "Sofia Sans Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/sofia-sans-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: "Sofia Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/sofia-sans-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: "Sofia Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/sofia-sans-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; }

:root {
  --cols: 8; --cols-rank: 6; --cols-wide: 4; --cols-live: 8;
  /* palette (pistolo.com tokens) */
  --bg: #1d3788;
  --b25: #81b6ff; --b50: #67abfe; --b100: #5397f6; --b150: #458ce6; --b160: #3285ea; --b200: #3781f0; --b300: #0f72ff; --b400: #1669fb;
  --b500: #3469de; --b600: #2b53de; --b700: #254cd5; --b800: #254ac7; --b900: #1d58c8; --b950: #0249ac; --b1000: #1f3eb2; --b1100: #092ba4; --b1200: #122d8b; --b1500: #0d38a5;
  --n50: #faffe5; --n100: #dbeaff; --n400: #85c4ff; --n900: #0a1b30; --n1050: #1c2127;
  --green-100: #acff82; --green-500: #147a02; --yellow-300: #ffdd3d; --yellow-400: #ffbf00; --yellow-800: #c9491d;
  --side: #2245be; --panel: #254cd5; --panel-3: #1f3eb2; --line: #4a84ea;
  --blue: #3b84f0; --blue-bottom: #092ba4;
  --text: #faffe5; --text-2: #faffe5; --muted: #dbeaff; --muted-2: #85c4ff; --muted-3: #67abfe;
  --gold: #ffdd3d; --red: #ff0000; --green: #52f140;
  --stroke: #1c2127; --stroke-w: 2px; --stroke-shadow: 0 2px 0 #1c2127, 0 2px 0 rgba(0, 0, 0, .15);
  /* gradients */
  --grad-primary: linear-gradient(178deg, rgba(93, 255, 89, .2) 6.87%, rgba(93, 255, 89, 0) 120.68%), radial-gradient(171.59% 82.06% at 51.32% 18.75%, #52f140 .44%, #66f857 44.3%, #41e331 46.51%, #3aca09 100%);
  --grad-primary-hover: linear-gradient(0deg, rgba(172, 255, 130, .35), rgba(172, 255, 130, .35)), radial-gradient(171.59% 82.06% at 51.32% 18.75%, #52f140 .44%, #66f857 44.3%, #41e331 46.51%, #3aca09 100%);
  --grad-secondary: linear-gradient(rgba(252, 255, 104, .7) 0%, rgba(255, 191, 0, 0) 98.48%), radial-gradient(145.85% 88.04% at 50% 15.91%, #ffad00 .44%, #ffdd3d 47.7%, #ffbf00 48.79%, #ff8a00 100%);
  --grad-secondary-hover: linear-gradient(0deg, rgba(252, 255, 104, .2), rgba(252, 255, 104, .2)), linear-gradient(rgba(252, 255, 104, .7), rgba(255, 191, 0, 0) 98.48%), radial-gradient(145.85% 88.04% at 50% 15.91%, #ffad00 .44%, #ffdd3d 47.7%, #ffbf00 48.79%, #ff8a00 100%);
  --grad-tertiary: radial-gradient(57.41% 52.5% at 50% 100%, rgba(153, 224, 255, .35) 0%, rgba(153, 224, 255, .35) 31.84%, rgba(153, 224, 255, 0) 100%), linear-gradient(#5397f6, #458ce6 57.84%, #3285ea);
  --grad-tertiary-hover: linear-gradient(0deg, rgba(187, 235, 255, .36), rgba(187, 235, 255, .36)), linear-gradient(180deg, #5397f6 0%, #458ce6 57.84%, #3285ea);
  --grad-quaternary: linear-gradient(#3469de, #1d58c8);
  --grad-quaternary-hover: linear-gradient(0deg, rgba(190, 234, 255, .32), rgba(190, 234, 255, .32)), linear-gradient(#3469de, #1d58c8);
  --grad-tile: linear-gradient(#3285ea, #5397f6);
  --grad-chip: linear-gradient(181deg, #5397f6 .56%, #458ce6 48.84%, #3285ea 87.08%);
  --grad-chip-hover: radial-gradient(362.73% 109.38% at 45.42% -9.38%, #99e0ff 0%, #5397f6 100%);
  --grad-chip-active: radial-gradient(414.17% 125.77% at 45.42% -9.38%, #cff1ff 0%, #cff1ff 33.5%, #80caff 76%, #57a8f9 99.98%);
  --grad-gold: linear-gradient(#fdee51, #fcd126 66.04%, #ffb01c 111.93%);
  --grad-panel: linear-gradient(181deg, #2b53de -2.56%, #254cd5 31.76%, #254cd5 84.39%, #2b53de 102.77%);
  --grad-side-hover: linear-gradient(#2950d6 2.22%, #1934ac 111.59%);
  --grad-side-active: linear-gradient(175deg, #5595fe -1.21%, #3676e7 50.6%, #284cd3 99.31%);
  --shadow-block: 0 2px 0 rgba(0, 0, 0, .15), inset 0 2px 0 rgba(255, 255, 255, .34), inset 0 -4px 0 #0d38a5;
  --inner-bg: #1f3eb2;
  --inner-line: inset 0 0 0 1px rgba(83, 151, 246, .35);
  /* legacy aliases used by shared template parts */
  --btn-grad: var(--grad-tertiary); --btn-hover: var(--grad-tertiary-hover);
  --green-grad: var(--grad-primary); --green-bottom: #147a02;
  --yellow-grad: var(--grad-secondary); --yellow-bottom: #c9491d; --yellow: #ffdd3d;
  --font: "M PLUS Rounded 1c", "Segoe UI", Roboto, Arial, sans-serif;
  --font-helper: "Jost", "Segoe UI", Arial, sans-serif;
  --font-display: "Baloo 2", "M PLUS Rounded 1c", Arial, sans-serif;
  --font-cond: "Sofia Sans Condensed", "Sofia Sans", Arial, sans-serif;
  --side-w: 240px;
  --side-w-min: 80px;
  --hdr-h: 64px;
  --tile-w: 227px;
  --tile-gap: 12px;
  --tile-r: 15px;
  --tile-b: 3px;
  --rank-gap: 100px;
  --rank-in: 12px;
  --radius: 15px;
  --radius-sm: 10px;
  --shadow: 0 10px 30px rgba(5, 20, 70, .45);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: var(--bg) url("/images/ui/bg.png") 0 0 / 161px 94px repeat; color: var(--text); font-family: var(--font); font-size: 16px; line-height: 1.4; font-weight: 500; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, svg, video { display: block; max-width: 100%; }
a { color: var(--text); text-decoration: none; }
a:hover { color: var(--gold); }
button { font-family: inherit; }
h1, h2, h3, h4, .cask-row__title, .vintage-card__title, .cellar-foot__col-title { margin: 0; line-height: 1.2; font-weight: 900; color: var(--text); }
p { margin: 0 0 12px; }
ul, ol { margin: 0; padding: 0; list-style: none; }
[role="button"] { cursor: pointer; user-select: none; }
.sommelier-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Stroked text (как во всём интерфейсе pistolo: обводка 2px + тень) ---------- */
.estate-seal, .cellar-menu__item span, .cellar-menu__urus b, .cellar-menu__tile span, .cellar-menu__lang span, .cellar-menu__help span, .cellar-menu__item em, .grape-chip span, .cask-row__title, .vineyard-slide__label span, .tasting-flyer__label, .tasting-flyer__title, .pitchside-card__name, .game-bottle__badge, .game-bottle__demo, .game-bottle__limits, .flight-tabs span, .cellar-dock__item, .cellar-foot__lang span, .cellar-foot__chat span, .wine-list__title, .decanter-title, .vintage-card__tag, .vintage-card__title, .tannin-item__value, .taster-notes__word, .barrel-panel--aperitif h1, .decanter-subtitle, .winemaker-mark__name, .payslip-method__initial, .cellar-menu__head .cork-btn__t, .cellar-foot__pay-row .payslip-method--more .payslip-method__initial, .pour-step__num, .wine-list__list li a::before, .label-strip__label, .magnum-pot__tier-name {
  -webkit-text-stroke: var(--stroke-w) var(--stroke); paint-order: stroke fill; text-shadow: var(--stroke-shadow);
}

/* ---------- Buttons (system pistolo: inline-grid, glare, inner border, bottom edge, stroked text) ---------- */
.cork-btn { --bo: 3px; --ibw: 2px; --pad: 26px; --r: 11px; --mh: 49px; --fs: 16px; --tsh: 1px; --glare: url("/images/ui/glare-primary.webp"); --glare-pos: 4px 2.5px; --glare-size: 6.5px 5px; --btn-bg: var(--grad-tertiary); --ibc: transparent; --inner: inset 0 2px 0 0 rgba(255, 255, 255, .3), inset 0 calc(-1 * var(--bo)) 0 0 #0349a4; --glare-img: none;
  position: relative; display: inline-grid; grid-auto-flow: column; align-items: center; justify-content: center; justify-items: center; gap: 6px; min-height: var(--mh); margin: 1px; padding: 0 var(--pad) var(--bo); border: 0; border-radius: var(--r); font-family: var(--font); font-weight: 900; font-size: var(--fs); line-height: 1; text-transform: uppercase; text-decoration: none; text-align: center; white-space: nowrap; color: var(--n50); background-image: var(--btn-bg); box-shadow: 0 2px 0 rgba(0, 0, 0, .15); cursor: pointer; transition: box-shadow .15s; }
.cork-btn::before { content: ""; position: absolute; inset: 0 0 var(--bo) 0; z-index: 2; border-radius: var(--r); background: var(--glare-img) var(--glare-pos) / var(--glare-size) no-repeat; box-shadow: var(--inner); pointer-events: none; }
.cork-btn::after { content: ""; position: absolute; inset: 0 0 var(--bo) 0; border-radius: var(--r); border: var(--ibw) solid var(--ibc); pointer-events: none; }
.cork-btn:hover { box-shadow: 0 0 10px rgba(34, 136, 255, .7); color: var(--n50); }
.cork-btn:active { --bo: 1.5px; }
.cork-btn__t { position: relative; z-index: 3; display: inline-flex; align-items: center; gap: 5px; -webkit-text-stroke: .14em var(--stroke); paint-order: stroke fill; text-shadow: 0 var(--tsh) 0 var(--stroke), 0 var(--tsh) 0 rgba(0, 0, 0, .15); }
.cork-btn svg { position: relative; z-index: 3; width: 18px; height: 18px; }
/* palettes */
.cork-btn--cellar-key, .cork-btn--must { --btn-bg: var(--grad-tertiary); --inner: inset 0 2px 0 0 rgba(255, 255, 255, .3), inset 0 calc(-1 * var(--bo)) 0 0 #0349a4; }
.cork-btn--cellar-key:hover, .cork-btn--must:hover { --btn-bg: var(--grad-tertiary-hover); --inner: inset 0 2px 0 0 rgba(255, 255, 255, .4), inset 0 calc(-1 * var(--bo)) 0 0 #0349a4; }
.cork-btn--oak, .cork-btn--sediment { --btn-bg: var(--grad-quaternary); --inner: inset 0 2px 0 0 rgba(255, 255, 255, .2), inset 0 calc(-1 * var(--bo)) 0 0 var(--b1100); }
.cork-btn--oak:hover, .cork-btn--sediment:hover { --btn-bg: var(--grad-quaternary-hover); --inner: inset 0 2px 0 0 rgba(255, 255, 255, .35), inset 0 calc(-1 * var(--bo)) 0 0 var(--b1100); }
.cork-btn--claret, .cork-btn--vine-leaf { --btn-bg: var(--grad-primary); --glare-img: url("/images/ui/glare-primary.webp"); --ibc: rgba(172, 255, 130, .2); --inner: inset 0 3px 0 0 rgba(172, 255, 130, .7), inset 0 calc(-1 * var(--bo)) 0 0 var(--green-500); }
.cork-btn--claret:hover, .cork-btn--vine-leaf:hover { --btn-bg: var(--grad-primary-hover); --inner: inset 0 0 25px 0 rgba(255, 255, 255, .73), inset 0 calc(-1 * var(--bo)) 0 0 var(--green-500); }
.cork-btn--chardonnay, .cork-btn--rose-blush { --btn-bg: var(--grad-secondary); --glare-img: url("/images/ui/glare-secondary.webp"); --ibc: rgba(255, 191, 0, .5); --inner: inset 0 3px 0 0 rgba(255, 255, 255, .45), inset 0 calc(-1 * var(--bo)) 0 0 var(--yellow-800); color: var(--n50); }
.cork-btn--chardonnay:hover, .cork-btn--rose-blush:hover { --btn-bg: var(--grad-secondary-hover); --inner: inset 0 0 31px 0 #fff7c2, inset 0 calc(-1 * var(--bo)) 0 0 var(--yellow-800), inset 0 3px 0 0 rgba(255, 255, 255, .4); color: var(--n50); }
.cork-btn--stem-line { --btn-bg: none; --inner: none; background: transparent; box-shadow: inset 0 0 0 2px var(--b100); }
.cork-btn--stem-line:hover { background: rgba(83, 151, 246, .25); box-shadow: inset 0 0 0 2px var(--b25); }
/* sizes */
.cork-btn--xxs, .cork-btn--sm { --pad: 14px; --r: 8px; --ibw: 1.5px; --bo: 2.5px; --mh: 36px; --fs: 14px; --tsh: 1px; --glare-pos: 4px 2.5px; --glare-size: 5px 4px; }
.cork-btn--xs { --pad: 22px; --r: 10px; --ibw: 1.5px; --bo: 3px; --mh: 45px; --fs: 16px; --tsh: 1px; --glare-pos: 4.5px 2.5px; --glare-size: 6px 4.5px; }
.cork-btn--s { --pad: 26px; --r: 11px; --ibw: 2px; --bo: 3px; --mh: 49px; --fs: 16px; --tsh: 1px; }
.cork-btn--m, .cork-btn--lg { --pad: 30px; --r: 14px; --ibw: 3px; --bo: 4px; --mh: 56px; --fs: 20px; --tsh: 1px; --glare-pos: 5.5px 3px; --glare-size: 7.5px 5.5px; margin: 2px; }
.cork-btn--l { --pad: 46px; --r: 18px; --ibw: 3px; --bo: 5px; --mh: 76px; --fs: 32px; --tsh: 2px; --glare-pos: 7.5px 2.5px; --glare-size: 10.5px 7.5px; margin: 2px; }
.cork-btn--l .cork-btn__t { -webkit-text-stroke-width: .12em; }
.cork-btn--full-cask { width: calc(100% - 2px); }
.cork-btn--fizz { animation: none; }

/* ---------- Header (64px: pattern of grenades, glossy two-tone gradient, light shapes) ---------- */
.pressing-bar { position: fixed; top: 0; left: 0; right: 0; height: var(--hdr-h); z-index: 60; background: url("/images/ui/grenades.png") 0 0 / 100px 100px repeat, linear-gradient(180deg, #2b53de 10%, #1669fb 45.5%, #0f72ff 47.68%, #1669fb 100%); }
.pressing-bar::before { content: ""; position: absolute; inset: 0; z-index: 0; background: url("/images/ui/light-shapes.webp") left top / 1280px 100% no-repeat; mix-blend-mode: plus-lighter; pointer-events: none; }
.pressing-bar::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--b100); }
.pressing-bar__inner { position: relative; z-index: 1; display: flex; align-items: center; gap: 20px; height: 100%; padding: 0 20px 0 24px; }
.bung-toggle { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; background: transparent; cursor: pointer; border-radius: 8px; flex: 0 0 auto; color: var(--n50); filter: drop-shadow(0 1px 0 var(--stroke)) drop-shadow(0 1px 0 rgba(0, 0, 0, .15)); }
.bung-toggle span { display: none; }
.bung-toggle::before { content: ""; width: 28px; height: 22px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 22' fill='none' stroke='%23faffe5' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M2 2h24M2 11h24M2 20h24' stroke='%231c2127' stroke-width='5.4'/%3E%3Cpath d='M2 2h24M2 11h24M2 20h24'/%3E%3C/svg%3E") center / contain no-repeat; }
.bung-toggle:hover { filter: none; }
.estate-logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.estate-logo img { height: 42px; width: auto; }
.pressing-bar__spacer { flex: 1; }
.corkscrew-search { display: flex; align-items: center; gap: 8px; width: 300px; height: 48px; padding: 0 16px; border-radius: 10px; border: 2px solid #4f8df3; background: #2652c9; box-shadow: 0 2px 3px #092ba4; color: var(--b50); font-family: var(--font); font-weight: 500; font-size: 14px; line-height: 1.25; cursor: text; transition: box-shadow .15s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.corkscrew-search:hover { box-shadow: inset 0 -14px 10px rgba(22, 105, 251, .4), 0 2px 3px #092ba4; }
.corkscrew-search img, .corkscrew-search svg { width: 16px; height: 16px; flex: 0 0 auto; color: var(--b50); }
.pressing-bar__actions { display: flex; align-items: center; gap: 8px; }
.pressing-bar__reg-m, .pressing-bar__login-m { display: none; }

/* ---------- Mobile sub-tabs ---------- */
.flight-tabs { display: none; }

/* ---------- Sidebar (240px) ---------- */
.cellar-menu { position: fixed; top: var(--hdr-h); left: 0; bottom: 0; width: var(--side-w); background: url("/images/ui/sidebar.webp") center top / 240px 163px no-repeat, linear-gradient(90deg, #254ac7 23.93%, #1f3eb2 86.59%); box-shadow: 4px 0 18px rgba(5, 20, 70, .3); z-index: 55; display: flex; flex-direction: column; padding: 24px 12px 8px; overflow-y: auto; scrollbar-width: none; transition: width .25s ease; }
.cellar-menu::-webkit-scrollbar { display: none; }
.cellar-menu__backdrop { display: none; }
.cellar-menu__head, .cellar-menu__cta, .cellar-menu__search { display: none; }
.cellar-menu__divider, .cellar-menu__group + .cellar-menu__group::before { content: ""; display: block; height: 1px; margin: 0 0 4px; background: rgba(52, 105, 222, .55); }
.cellar-menu__urus { display: flex; align-items: center; gap: 4px; min-height: 42px; padding: 2px 4px 2px 11px; margin-bottom: 4px; cursor: pointer; border-radius: 10px; border: 1px solid transparent; transition: background .15s; }
.cellar-menu__urus:hover { background: var(--grad-side-hover) padding-box, linear-gradient(96deg, #2a58df 26.9%, #1843c1 84.61%) border-box; box-shadow: 0 1px 0 rgba(24, 8, 105, .7), 0 1px 5px rgba(18, 45, 139, .3); }
.cellar-menu__urus-ico { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; }
.cellar-menu__urus-ico img { width: 32px; height: 32px; object-fit: contain; }
.cellar-menu__urus > span:not(.cellar-menu__urus-ico) { display: flex; align-items: center; flex: 1; padding-left: 8px; }
.cellar-menu__urus b { display: block; font-family: var(--font); font-weight: 900; font-size: 14px; text-transform: uppercase; color: var(--n50); line-height: 1.2; }
.cellar-menu__urus span span { display: none; }
.cellar-menu__urus i { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-left: auto; border-radius: 50%; background: var(--stroke); color: var(--n50); font-style: normal; font-weight: 900; font-size: 12px; filter: drop-shadow(0 1px 0 var(--stroke)) drop-shadow(0 1px 0 rgba(0, 0, 0, .15)); }
.cellar-menu__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 0; padding: 4px 0 8px; }
.cellar-menu__tiles::before { display: none; }
.cellar-menu__tile { position: relative; display: flex; align-items: flex-end; justify-content: flex-start; height: 100px; padding: 8px 10px; border-radius: 16px; background: url("/images/ui/side-tile.webp") 0 0 / 100% 100% no-repeat; box-shadow: 0 1px 5px 1px rgba(18, 45, 139, .3), 0 1px rgba(24, 8, 105, .7); cursor: pointer; font-family: var(--font); font-weight: 900; font-size: 14px; line-height: 1.25; text-transform: uppercase; color: var(--n50); overflow: hidden; text-align: left; transition: background-image .2s; }
.cellar-menu__tile:hover { background-image: url("/images/ui/side-tile-hover.webp"); }
.cellar-menu__tile img { position: absolute; right: 10px; top: 2px; width: 66px; height: 66px; object-fit: contain; }
.cellar-menu__tile em { display: none; }
.cellar-menu__tile span { display: block; position: relative; z-index: 1; max-width: 88px; }
.cellar-menu__group { padding: 4px 0 8px; display: grid; gap: 4px; }
.cellar-menu__group + .cellar-menu__group { padding-top: 0; }
.cellar-menu__item { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 2px 11px; border-radius: 10px; border: 1px solid transparent; font-family: var(--font); font-weight: 900; font-size: 14px; text-transform: uppercase; color: var(--n50); cursor: pointer; transition: background .15s, color .15s; white-space: nowrap; }
.cellar-menu__item:hover { background: var(--grad-side-hover) padding-box, linear-gradient(96deg, #2a58df 26.9%, #1843c1 84.61%) border-box; box-shadow: 0 1px 0 rgba(24, 8, 105, .7), 0 1px 5px rgba(18, 45, 139, .3); }
.cellar-menu__item.is-being-poured { color: var(--gold); background: var(--grad-side-active) padding-box, linear-gradient(#3781f0, #3781f0) border-box; }
.cellar-menu__item img { width: 32px; height: 32px; flex: 0 0 auto; object-fit: contain; }
.cellar-menu__item em { margin-left: auto; margin-right: -3px; display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 3px 6px; border-radius: 12px; background: linear-gradient(180deg, #ff685b, #ff0000); box-shadow: 0 1px 0 0 var(--stroke), 0 2px rgba(0, 0, 0, .15); font-style: normal; font-size: 12px; font-weight: 800; line-height: 1.4; color: var(--n50); --stroke-w: 1px; --stroke-shadow: 0 1px 0 var(--stroke); }
.cellar-menu__bottom { margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding-top: 12px; }
.cellar-menu__lang, .cellar-menu__help { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; height: 72px; padding: 6px 6px 9px; border-radius: 10px; background: var(--grad-quaternary); box-shadow: 0 2px 0 rgba(0, 0, 0, .15), inset 0 2px 0 rgba(255, 255, 255, .2), inset 0 -3px 0 var(--b1100); font-family: var(--font); font-weight: 900; font-size: 12px; line-height: 1.2; text-transform: uppercase; color: var(--n50); cursor: pointer; text-align: center; }
.cellar-menu__lang:hover, .cellar-menu__help:hover { background: var(--grad-quaternary-hover); color: var(--n50); }
.cellar-menu__lang img { width: 24px; height: 24px; border-radius: 4px; border: 1px solid var(--stroke); object-fit: cover; filter: drop-shadow(0 1px 0 var(--stroke)); }
.cellar-menu__help svg { display: none; }
.cellar-menu__help i { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--n50); color: var(--b900); font-style: normal; font-weight: 900; font-size: 14px; box-shadow: 0 1px 0 var(--stroke); }
body.cellar-menu-shut .cellar-menu { width: var(--side-w-min); padding: 24px 6px 8px; background-size: 240px 163px, auto; }
body.cellar-menu-shut .cellar-menu__urus { padding: 0; justify-content: center; }
body.cellar-menu-shut .cellar-menu__urus > span:not(.cellar-menu__urus-ico), body.cellar-menu-shut .cellar-menu__item span, body.cellar-menu-shut .cellar-menu__item em, body.cellar-menu-shut .cellar-menu__tile span, body.cellar-menu-shut .cellar-menu__lang span, body.cellar-menu-shut .cellar-menu__help span { display: none; }
body.cellar-menu-shut .cellar-menu__tiles { grid-template-columns: 1fr; }
body.cellar-menu-shut .cellar-menu__tile { height: 60px; justify-content: center; align-items: center; padding: 0; }
body.cellar-menu-shut .cellar-menu__tile img { position: static; transform: none; width: 44px; height: 44px; }
body.cellar-menu-shut .cellar-menu__item { justify-content: center; padding: 0; }
body.cellar-menu-shut .cellar-menu__bottom { grid-template-columns: 1fr; }
body.cellar-menu-shut .cellar-menu__lang, body.cellar-menu-shut .cellar-menu__help { height: 52px; }

/* ---------- Main ---------- */
.winery-main { margin-left: var(--side-w); padding-top: var(--hdr-h); transition: margin-left .25s ease; min-height: 100vh; }
body.cellar-menu-shut .winery-main { margin-left: var(--side-w-min); }
.vineyard-frame { width: 100%; margin: 0 auto; padding: 0 76px; }

/* ---------- Main banner (image 480 / content 400; banner image 3840 centered – HQ last frame of the brand rolik, fades to page bg at the sides and bottom) ---------- */
.terroir-banner { padding: 0; }
.terroir-banner .vineyard-frame { padding: 0; max-width: none; }
.vineyard-carousel { position: relative; width: 100%; height: 480px; margin-bottom: -80px; overflow: hidden; background: var(--bg); }
.vineyard-slide { position: absolute; inset: 0; opacity: 0; overflow: hidden; transition: opacity .6s ease; }
.vineyard-slide.is-being-poured { opacity: 1; z-index: 1; }
.vineyard-slide__media { position: absolute; left: 50%; top: 0; width: 1920px; height: 100%; transform: translateX(-50%); }
.vineyard-slide__media picture, .vineyard-slide__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.vineyard-slide__media::before { content: ""; position: absolute; left: 50%; top: 0; width: 2560px; height: 100%; transform: translateX(-50%); z-index: 2; pointer-events: none; background: radial-gradient(50% 168% at 50% 50%, rgba(29, 55, 136, 0) 0%, rgba(29, 55, 136, 0) 60%, #1d3788 70%) center / 100% 100% no-repeat, linear-gradient(90deg, #1d3788 0%, rgba(29, 55, 136, .4) 85%, rgba(29, 55, 136, 0) 100%) left center / 50% 100% no-repeat; }
.vineyard-slide__media::after { content: ""; position: absolute; left: 50%; top: -280px; width: 2560px; height: 760px; transform: translateX(-50%); z-index: 3; pointer-events: none; background: var(--bg) url("/images/ui/bg.png") 0 bottom / 161px 94px repeat; -webkit-mask-image: linear-gradient(rgba(0, 0, 0, 0) 90%, #000 100%), radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, #000 100%); mask-image: linear-gradient(rgba(0, 0, 0, 0) 90%, #000 100%), radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 65%, #000 100%); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; }
.vineyard-slide__inner, .vineyard-carousel__inner { position: absolute; left: 50%; top: 0; width: min(100%, 1920px); height: 400px; transform: translateX(-50%); z-index: 4; pointer-events: none; }
.vineyard-slide__inner > *, .vineyard-carousel__inner > * { pointer-events: auto; }
.vineyard-slide__card { position: absolute; left: 142px; top: 88px; width: 422px; padding: 0 0 2px; border-radius: 16px; border: 1px solid var(--n900); background: var(--b1500); box-shadow: 0 1px 4px rgba(0, 0, 0, .2), 0 3px rgba(0, 0, 0, .15); display: grid; justify-items: center; }
.vineyard-slide__body { position: relative; width: 420px; display: grid; justify-items: center; gap: 18px; padding: 0 17px; border-radius: 16px; border: 2px solid transparent; background: url("/images/ui/grenades.png") center / 115px 115px repeat padding-box, linear-gradient(rgba(37, 74, 199, 0), rgba(37, 74, 199, .8) 60%, #254ac7) center bottom / 100% 32% no-repeat padding-box, linear-gradient(#5397f6 3.13%, #1669fb 68.52%, #3469de) padding-box, linear-gradient(#5397f6 3.13%, rgba(129, 182, 255, .95) 50.6%, rgba(129, 182, 255, .5) 85.47%, rgba(52, 105, 222, 0)) border-box; }
.vineyard-slide__body::before { content: ""; position: absolute; inset: -2px; border-radius: inherit; box-shadow: inset 0 -2px 2px rgba(13, 59, 175, .87), inset 0 4px 3px rgba(255, 255, 255, .35); pointer-events: none; }
.vineyard-slide__body::after { content: ""; position: absolute; inset: -2px; border-radius: inherit; background: url("/images/ui/glass.png") left top / cover no-repeat; pointer-events: none; }
.vineyard-slide__label { position: relative; z-index: 1; display: grid; place-items: center; min-width: 230px; min-height: 30px; margin-top: -16px; padding: 4px 28px 6px; background: url("/images/ui/title-bg-orange.webp") center / 100% 100% no-repeat; text-align: center; }
.vineyard-slide__label span { font-family: var(--font); font-weight: 900; font-size: 16px; line-height: 1.25; color: #fff; }
.vineyard-slide__title { position: relative; z-index: 1; padding: 18px 0; font-family: var(--font); font-weight: 900; font-size: 28px; line-height: 1.2; color: var(--yellow-300); text-align: center; -webkit-text-stroke: 4px var(--stroke); paint-order: stroke fill; text-shadow: 0 3px 1px var(--stroke), 0 3px 0 rgba(28, 33, 39, .15); max-width: 320px; text-wrap: balance; }
.vineyard-slide__title br { display: block; }
.vineyard-slide__sub { display: none; }
.vineyard-slide__action { position: relative; z-index: 3; margin: 18px 0 -34px; min-width: 260px; max-width: 320px; transform-origin: 50% 50%; }
.vineyard-slide__action.is-fermenting { animation: btn-jump 3s ease-out 1; }
.vineyard-slide__btn { min-width: 280px; max-width: 100%; }
.vineyard-slide__bullets { position: absolute; left: 50%; top: 50%; height: 150%; width: auto; max-width: none; transform: translate(-50%, -50%); z-index: 5; pointer-events: none; }
@keyframes btn-jump { 0% { transform: translateY(0) scale(1); } 3% { transform: translateY(0) scale(1.07); } 19% { transform: translateY(0) scale(1.05); } 20% { transform: translateY(0) scale(1.11); } 34% { transform: translateY(0) scale(1.09); } 35% { transform: translateY(0) scale(1.13); } 45% { transform: translateY(0) scale(1.13); } 46% { transform: translateY(3px) scale(1.13); } 50.5% { transform: translateY(-35px) scale(1.2); } 66.5% { transform: translateY(-50px) scale(1.2); } 70% { transform: translateY(7px) scale(.9); } 77.5% { transform: translateY(-2px) scale(1.01); } 85% { transform: translateY(1px) scale(.98); } to { transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { .vineyard-slide__action.is-fermenting { animation: none; } }
.vineyard-carousel__inner--dots { z-index: 5; height: 100%; }
.vineyard-carousel__dots { position: absolute; left: 142px; top: 340px; width: 424px; display: flex; justify-content: center; gap: 6px; }
.vineyard-carousel__dot { width: 8px; height: 8px; border-radius: 50%; border: 1px solid var(--n50); background: transparent; padding: 0; cursor: pointer; transition: background .2s; }
.vineyard-carousel__dot.is-being-poured { background: var(--n50); }
.vineyard-carousel__arrow { position: absolute; top: 168px; z-index: 3; width: 36px; height: 36px; border-radius: 10px; border: 0; padding: 0; background: var(--grad-quaternary); box-shadow: 0 2px 0 rgba(0, 0, 0, .15), inset 0 2px 0 rgba(255, 255, 255, .2), inset 0 -3px 0 var(--b1100); color: var(--n400); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: color .15s; }
.vineyard-carousel__arrow:hover { color: var(--n50); background: var(--grad-quaternary-hover); }
.vineyard-carousel__arrow--prev { left: 20px; }
.vineyard-carousel__arrow--next { right: 20px; }
.vineyard-carousel__arrow svg { width: 20px; height: 20px; margin-top: -2px; filter: drop-shadow(0 1.5px 0 var(--stroke)) drop-shadow(0 1.5px 0 rgba(0, 0, 0, .15)); }

/* ---------- Category chips (centered strip) ---------- */
.winery-floor { position: relative; z-index: 2; margin-top: 0; padding: 32px 0 0; }
.grape-chips__wrap { position: relative; }
.grape-chips { display: flex; gap: 8px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; padding: 2px 0 6px; cursor: grab; }
.grape-chips::before, .grape-chips::after { content: ""; flex: 0 0 0; margin: auto; }
.grape-chips.is-being-decanted { cursor: grabbing; }
.grape-chips::-webkit-scrollbar { display: none; }
.grape-chips__arrow { display: none !important; }
.grape-chip { flex: 0 0 auto; display: inline-grid; grid-auto-flow: column; align-items: center; gap: 8px; min-height: 36px; padding: 4px 16px 4px 8px; border: 1px solid var(--n900); border-radius: 10px; background: var(--grad-chip); box-shadow: 0 2px rgba(0, 0, 0, .15), 0 2px 16px rgba(0, 0, 0, .4), inset 0 1px rgba(255, 255, 255, .34), inset 0 -2px 0 var(--b950); color: var(--n50); font-family: var(--font); font-weight: 900; font-size: 14px; line-height: 1.4; text-transform: uppercase; cursor: pointer; transition: background .15s; white-space: nowrap; }
.grape-chip:hover { background: var(--grad-chip-hover); color: var(--n50); }
.grape-chip--active { background: var(--grad-chip-active); box-shadow: 0 1px rgba(0, 0, 0, .15), 0 2px 16px rgba(0, 0, 0, .4), inset 0 1px rgba(255, 255, 255, .34), inset 0 -1px 0 var(--b950); }
.grape-chip img { width: 40px; height: 40px; object-fit: contain; }
.grape-chip--search { display: none; }
.winery-floor .corkscrew-search { display: none; }

/* ---------- Rows ---------- */
.cask-row { margin-top: 16px; }
.cask-row__head { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; min-height: 40px; padding: 0 16px; min-width: 0; }
.cask-row__title { display: flex; align-items: center; gap: 8px; min-height: 24px; font-family: var(--font); font-weight: 900; font-size: 20px; line-height: 1.2; text-transform: none; color: var(--n50); --stroke-w: 3px; }
.cask-row__title img, .cask-row__title svg { display: none; }
.cask-row__more { margin-left: auto; display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.cask-row__link { font-family: var(--font); font-weight: 900; font-size: 14px; line-height: 1.4; text-transform: uppercase; color: var(--n400); cursor: pointer; margin-right: 12px; white-space: nowrap; }
.cask-row__link:hover { color: var(--n50); }
.cask-row__arrow { width: 40px; height: 40px; border-radius: 10px; border: 0; padding: 0; background: var(--grad-quaternary); box-shadow: 0 2px 0 rgba(0, 0, 0, .15), inset 0 2px 0 rgba(255, 255, 255, .2), inset 0 -3px 0 var(--b1100); color: var(--n400); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: color .15s, background .15s; }
.cask-row__arrow:hover { background: var(--grad-quaternary-hover); color: var(--n50); }
.cask-row__arrow:disabled { color: #6b85df; cursor: default; background: var(--grad-quaternary); }
.cask-row__arrow svg { width: 16px; height: 16px; margin-top: -2px; filter: drop-shadow(0 1.5px 0 var(--stroke)) drop-shadow(0 1.5px 0 rgba(0, 0, 0, .15)); }
.cask-scroll { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--cols) - 1) * var(--tile-gap)) / var(--cols)); gap: var(--tile-gap); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding: 0 16px; scrollbar-width: none; padding: 0 16px 8px; cursor: grab; }
.cask-scroll.is-being-decanted { cursor: grabbing; scroll-snap-type: none; }
.cask-scroll.is-being-decanted > * { pointer-events: none; }
.cask-scroll::-webkit-scrollbar { display: none; }
.cask-scroll > * { scroll-snap-align: start; }
.cask-row .cask-scroll, .magnum-pot__grid { clip-path: inset(0 16px 0 16px); }
.magnum-pot__grid { clip-path: none; }

/* Game tiles: blue frame (gradient + 1px dark outline + 3px drop + 4px darker bottom band), picture inset 3px */
.game-bottle { position: relative; display: block; aspect-ratio: 2 / 3; border-radius: var(--tile-r); border: 1px solid var(--stroke); background: var(--grad-tile); box-shadow: 0 3px 0 rgba(0, 0, 0, .25), inset 0 -4px 0 var(--b950); cursor: pointer; }
.game-bottle__media { position: absolute; inset: calc(var(--tile-b) - 1px) calc(var(--tile-b) - 1px) calc(var(--tile-b) + 3px); border-radius: calc(var(--tile-r) - var(--tile-b)); overflow: hidden; background: var(--b1000); contain: content; }
.game-bottle__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.game-bottle__media::after { content: ""; position: absolute; inset: 0; z-index: 2; background: url("/images/ui/card-hover.webp") center / cover no-repeat; opacity: 0; transition: opacity .2s; }
.game-bottle:hover .game-bottle__media::after { opacity: 1; }
.game-bottle__play { position: absolute; left: 50%; top: 50%; width: 54px; height: 54px; margin: -43px 0 0 -27px; border-radius: 50%; display: grid; place-items: center; background-image: var(--grad-secondary); box-shadow: 0 0 0 2px var(--n900), 0 2px 0 2px rgba(0, 0, 0, .25), inset 0 3px 0 0 rgba(255, 255, 255, .45), inset 0 -3px 0 0 var(--yellow-800); opacity: 0; transform: scale(.9); transition: opacity .2s, transform .2s; z-index: 4; }
.game-bottle__play img { position: static; width: 24px; height: 24px; margin: -2px 0 0 2px; object-fit: contain; filter: drop-shadow(0 1px 0 var(--n1050)) drop-shadow(0 2px 0 rgba(0, 0, 0, .25)); }
.game-bottle:hover .game-bottle__play { opacity: 1; transform: scale(1); }
.game-bottle__demo { position: absolute; left: 0; right: 0; top: calc(50% + 27px); text-align: center; font-family: var(--font); font-weight: 800; font-size: 14px; line-height: 16px; color: var(--yellow-300); opacity: 0; transition: opacity .2s; z-index: 4; --stroke-w: 1.5px; --stroke-shadow: 0 1px 0 var(--stroke), 0 2px 0 rgba(0, 0, 0, .15); }
.game-bottle:hover .game-bottle__demo { opacity: 1; }
.game-bottle__badge { position: absolute; right: calc(-1 * (var(--tile-b) + 5px)); bottom: 14px; z-index: 3; display: inline-grid; align-content: center; height: 26px; padding: 2px 8px 3px; border-radius: 4px; box-shadow: 0 2px rgba(0, 0, 0, .25); color: var(--n50); font-family: var(--font); font-weight: 900; font-size: 14px; line-height: 1.4; text-transform: uppercase; transition: opacity .2s; }
.game-bottle__badge::before, .game-bottle__badge::after { content: ""; position: absolute; z-index: -1; border: 1px solid var(--stroke); border-radius: inherit; background: linear-gradient(#ff685b, #ff0000); box-shadow: inset 0 -2px 1px #930707, inset 0 2px 1px #ffb5b5, inset 0 4px 4px rgba(249, 14, 14, .3); }
.game-bottle__badge::before { inset: 0 2% 0 0; transform: skew(-5.5deg); }
.game-bottle__badge::after { inset: 0 0 0 28%; border-left: 0; border-radius: 0 4px 4px 0; clip-path: inset(0 0 0 1px); }
.game-bottle__jackpot { position: absolute; left: var(--tile-b); right: var(--tile-b); bottom: calc(var(--tile-b) + 4px); z-index: 3; height: 22px; line-height: 22px; border-radius: 0 0 12px 12px; background: var(--grad-gold); color: var(--stroke); text-align: center; font-family: var(--font); font-weight: 800; font-size: 14px; text-transform: none; white-space: nowrap; transition: opacity .2s; }
.game-bottle:hover .game-bottle__jackpot, .game-bottle:hover .game-bottle__badge, .game-bottle:hover .game-bottle__limits { opacity: 0; }
.game-bottle__name, .game-bottle__provider { display: none; }

/* Ranked top row */
.cask-scroll--ranked { grid-auto-columns: calc((100% - (var(--cols-rank) - 1) * var(--rank-gap)) / var(--cols-rank)); gap: var(--rank-gap); padding-left: 46px; scroll-padding: 0 46px; clip-path: inset(0 16px 0 0); }
.cask-scroll--wide { grid-auto-columns: calc((100% - (var(--cols-wide) - 1) * var(--tile-gap)) / var(--cols-wide)); }
.game-bottle--wide { aspect-ratio: 3 / 2; }
.game-bottle--wide .game-bottle__media::after { background-image: url("/images/ui/card-hover-wide.webp"); }
.cask-scroll--live { grid-auto-columns: calc((100% - (var(--cols-live) - 1) * var(--tile-gap)) / var(--cols-live)); }
.game-bottle--tall { aspect-ratio: 9 / 21; }
.game-bottle--tall .game-bottle__media::after { background-image: url("/images/ui/card-hover-tall.webp"); }
.game-bottle--live { margin-bottom: 6px; }
.game-bottle--live .game-bottle__badge { bottom: 16px; }
.game-bottle__limits { position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%); z-index: 3; display: flex; align-items: center; justify-content: center; height: 20px; max-width: 100%; padding: 0 6px; border: 1px solid var(--n900); border-radius: 4px; background: #2e5fe2; box-shadow: 0 1px #0a1b30, 0 2px rgba(0, 0, 0, .25); font-family: var(--font); font-weight: 800; font-size: 14px; line-height: 1; color: var(--n50); text-align: center; white-space: nowrap; transition: opacity .2s; --stroke-w: 0; --stroke-shadow: 0 2px 0 rgba(0, 0, 0, .15), 0 1px 0 var(--n1050); }
.grand-cru { position: relative; display: block; container-type: inline-size; }
.vintage-number { position: absolute; right: calc(100% - var(--rank-in) - 6px); bottom: -8px; z-index: 3; overflow: hidden; padding: 0 6px 0; font-family: var(--font-display); font-weight: 800; font-size: 41cqw; line-height: .85; letter-spacing: -.02em; white-space: nowrap; pointer-events: none; color: #ffd038; -webkit-text-stroke: 1px #2c0303; paint-order: stroke fill; filter: drop-shadow(0 3px 0 rgba(0, 0, 0, .3)) drop-shadow(0 1px 0 #2c0303) drop-shadow(0 0 2px rgba(255, 150, 0, .95)); }

/* Sports cards (frame like tiles, sky texture, clouds that part on hover) */
.pitchside-card { position: relative; display: block; aspect-ratio: 2 / 3; border-radius: var(--tile-r); border: 1px solid var(--stroke); background: var(--grad-tile); box-shadow: 0 3px 0 rgba(0, 0, 0, .25), inset 0 -4px 0 var(--b950); cursor: pointer; }
.pitchside-card__wrap { position: absolute; inset: 2px 2px 6px; border-radius: 13px; overflow: hidden; background: url("/images/ui/sport-card.webp") center / cover no-repeat; }
.pitchside-card__bg { position: absolute; inset: 0; border-radius: inherit; background: url("/images/ui/sport-card-hover.webp") center bottom / cover no-repeat; opacity: 0; transition: opacity .5s; }
.pitchside-card__wrap::before, .pitchside-card__wrap::after { content: ""; position: absolute; left: 50%; bottom: -5px; width: 310px; height: 100%; background-position: center bottom; background-size: 100%; background-repeat: no-repeat; transform: translateX(-50%); transition: transform .5s; pointer-events: none; }
.pitchside-card__wrap::before { bottom: 10px; z-index: 1; background-image: url("/images/ui/sport-clouds-top.webp"); }
.pitchside-card__wrap::after { z-index: 3; background-image: url("/images/ui/sport-clouds-bottom.webp"); }
.pitchside-card img { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; transition: scale .5s; }
.pitchside-card:hover img { scale: 1.03; }
.pitchside-card:hover .pitchside-card__bg { opacity: 1; }
.pitchside-card:hover .pitchside-card__wrap::before { transform: translateX(-150%); }
.pitchside-card:hover .pitchside-card__wrap::after { transform: translateX(50%); }
.pitchside-card__name { position: absolute; left: 0; right: 0; bottom: 8px; z-index: 4; display: flex; align-items: flex-end; justify-content: center; min-height: 56px; padding: 2px 4px; font-family: var(--font); font-weight: 800; font-size: 20px; line-height: 1.4; text-align: center; text-transform: none; color: var(--n50); }
.pitchside-card__name::before { content: attr(data-text); position: absolute; inset: 0; z-index: 1; display: flex; align-items: flex-end; justify-content: center; padding: 2px 4px; -webkit-text-stroke: 0; text-shadow: none; -webkit-text-fill-color: transparent; background: var(--n50); -webkit-background-clip: text; background-clip: text; }
.pitchside-card:hover .pitchside-card__name::before { background: var(--grad-gold); -webkit-background-clip: text; background-clip: text; }

/* ---------- Wonderpot (jackpot widget) ---------- */
.magnum-pot { position: relative; margin: 0 16px; border-radius: 15px; border: 1px solid #4d4d4d; background: linear-gradient(#050f39, #050f39); color: var(--n50); overflow: hidden; }
.magnum-pot__row { display: flex; align-items: stretch; padding: 16px 16px 0; }
.magnum-pot__card { position: relative; display: grid; gap: 16px; width: 412px; flex: 0 0 412px; margin-right: 12px; padding: 12px; background: url("/images/jackpot/lobby-bg.webp") center top / contain no-repeat; text-align: center; cursor: pointer; justify-items: center; }
.magnum-pot__caption { position: relative; display: block; width: 304px; height: 80px; margin-top: -14px; background: url("/images/jackpot/caption-bg.svg") center / 100% 100% no-repeat; }
.magnum-pot__logo { position: absolute; left: 0; right: 0; top: 16px; display: flex; justify-content: center; }
.magnum-pot__logo img { width: 109px; height: 11px; }
.magnum-pot__amount { position: absolute; left: 0; right: 0; top: 34px; height: 44px; display: flex; align-items: center; justify-content: center; font-family: var(--font-cond); font-weight: 700; font-size: 44px; line-height: 1; letter-spacing: -.05em; font-variant-numeric: tabular-nums; color: #ffedcc; background: linear-gradient(180deg, #ffedcc 0%, #fdc070 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 2px 0 rgba(0, 0, 0, .4)) drop-shadow(0 4px 1px rgba(0, 0, 0, .2)); white-space: nowrap; }
.magnum-pot__tiers { position: relative; display: flex; width: 100%; max-width: 388px; margin-top: 6px; padding: 14px 0 8px; border: 1px solid #c79a62; border-radius: 32px; background: #0a1c4a url("/images/jackpot/levels-bg.webp") center / cover no-repeat; }
.magnum-pot__tier { position: relative; flex: 1 1 33.333%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; min-width: 0; }
.magnum-pot__tier-name { position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%) translateY(-14px); z-index: 2; display: block; padding: 2px 10px; border: 1px solid #c79a62; border-radius: 9999px; background: linear-gradient(0deg, rgba(255, 255, 255, .2) 0%, rgba(0, 0, 0, .2) 100%), #992890; background-blend-mode: overlay, normal; box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, .2); font-family: var(--font); font-weight: 700; font-size: 11px; line-height: 1; letter-spacing: -.24px; text-transform: uppercase; color: #ffedcc; white-space: nowrap; --stroke-w: 0; --stroke-shadow: 0 1px 0 rgba(0, 0, 0, .4); }
.magnum-pot__tier-name::before, .magnum-pot__tier-name::after { content: ""; position: absolute; top: 0; left: -4px; height: 100%; aspect-ratio: 1 / 1; z-index: -1; background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' fill='none'%3e%3cpath fill='%23C79A62' d='M0 8.5c2.769-4.053 4.153-6.08 6.203-7.227.142-.08.286-.155.431-.227C8.737 0 11.191 0 16.1 0h.9v17h-.9c-4.908 0-7.363 0-9.466-1.046a9.998 9.998 0 0 1-.43-.227C4.153 14.58 2.768 12.553 0 8.5Z'/%3e%3c/svg%3e") center / cover no-repeat; }
.magnum-pot__tier-name::after { left: auto; right: -4px; transform: scale(-1); }
.magnum-pot__tier--boost .magnum-pot__tier-name { background-color: #135b93; }
.magnum-pot__tier--flash .magnum-pot__tier-name { background-color: #327a2a; }
.magnum-pot__tier-amount { font-family: var(--font-cond); font-weight: 700; font-size: 18px; line-height: 1; letter-spacing: -.05em; font-variant-numeric: tabular-nums; color: #ffedcc; background: linear-gradient(180deg, #ffedcc 0%, #fdc070 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 2px 0 rgba(0, 0, 0, .4)); white-space: nowrap; }
.magnum-pot__btn { width: 220px; margin-top: 2px; }
.magnum-pot__btn--m { display: none; }
.magnum-pot__games { position: relative; flex: 1 1 auto; min-width: 0; padding: 0; }
.magnum-pot__grid { grid-auto-columns: 108px; grid-template-rows: 108px 108px; grid-auto-flow: column; gap: 8px; padding: 0 12px 0 0; }
.magnum-pot__tile { position: relative; border-radius: 4px; overflow: hidden; cursor: pointer; background: #0a1c4a; }
.magnum-pot__tile img { width: 100%; height: 100%; object-fit: cover; }
.magnum-pot__new { position: absolute; left: -22px; top: 6px; width: 80px; transform: rotate(-45deg); background: #e63434; color: #fff; font-family: var(--font); font-weight: 800; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; text-align: center; line-height: 14px; }
.magnum-pot__ticker { height: 18px; margin: 14px 12px; overflow: hidden; min-width: 0; }
.magnum-pot__ticker-track { display: inline-flex; gap: 18px; align-items: center; height: 18px; white-space: nowrap; animation: ticker 70s linear infinite; }
.magnum-pot__win { font-family: var(--font); font-weight: 500; font-size: 12px; line-height: 1; color: #fff; }
.magnum-pot__win em { font-style: normal; font-weight: 500; color: #e5a749; }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Promo banners (full container width, cloud edges) ---------- */
.tasting-flyer { position: relative; display: block; margin: 20px 0 0; cursor: pointer; isolation: isolate; }
.tasting-flyer__media { position: relative; display: block; width: 100%; aspect-ratio: 1917 / 339; min-height: 160px; overflow: hidden; border-radius: 0; }
.tasting-flyer__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 20px; }
.tasting-flyer::before, .tasting-flyer::after { content: ""; position: absolute; left: 0; right: 0; z-index: 2; pointer-events: none; background-repeat: repeat-x; }
.tasting-flyer::before { top: -16px; height: 82px; background-image: linear-gradient(0deg, rgba(29, 53, 132, 0) 3.15%, #1d3584 32.65%, #1d3584 40.65%, rgba(27, 50, 123, 0) 100%), url("/images/ui/clouds-top.webp"); background-position: top, left 16px; background-size: 100% 24px, auto 66px; }
.tasting-flyer::after { bottom: -16px; height: 82px; background-image: linear-gradient(180deg, rgba(29, 53, 132, 0) 3.15%, #1d3584 32.65%, #1d3584 40.65%, rgba(27, 50, 123, 0) 100%), url("/images/ui/clouds-bottom.webp"); background-position: 0 bottom, left 0; background-size: 100% 24px, auto 66px; }
.tasting-flyer__content { position: absolute; left: 0; right: 0; bottom: 60px; display: grid; justify-items: center; row-gap: 10px; text-align: center; z-index: 3; padding: 0 16px; }
.tasting-flyer__play { position: relative; display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 8px; border-radius: 50%; border: 3px solid rgba(255, 255, 255, .92); background: rgba(0, 0, 0, .25); box-shadow: 0 2px 8px rgba(0, 0, 0, .25); }
.tasting-flyer__play::after { content: ""; margin-left: 4px; border-style: solid; border-width: 8px 0 8px 14px; border-color: transparent transparent transparent #fff; }
.tasting-flyer__text { position: relative; display: grid; justify-items: center; }
.tasting-flyer__text::before { content: ""; position: absolute; left: 50%; top: 50%; width: 468px; max-width: calc(100vw - 24px); height: 224px; transform: translate(-50%, -50%); z-index: -1; opacity: .6; background: radial-gradient(50% 50% at 50% 50%, rgba(42, 66, 142, .8), rgba(42, 66, 142, .6) 30%, rgba(42, 66, 142, .4) 70%, rgba(42, 66, 142, 0)); pointer-events: none; }
.tasting-flyer__label { display: inline-flex; align-items: center; min-height: 26px; padding: 2px 20px 4px; margin-bottom: 6px; background: url("/images/ui/title-bg-blue.webp") center / 100% 100% no-repeat; font-family: var(--font); font-weight: 900; font-size: 14px; color: #fff; }
.tasting-flyer__title { font-family: var(--font); font-weight: 900; font-size: 32px; line-height: 1.2; color: var(--n50); --stroke-w: 3px; max-width: 720px; margin-bottom: 2px; }
.tasting-flyer__title b { position: relative; display: block; font-weight: 900; font-size: 32px; line-height: 1.2; color: transparent; background: var(--grad-gold); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; -webkit-text-stroke: 0; text-shadow: none; }
.tasting-flyer__title b::before { content: attr(data-text); position: absolute; inset: 0; z-index: -1; -webkit-text-fill-color: var(--stroke); color: var(--stroke); -webkit-text-stroke: 4px var(--stroke); paint-order: stroke fill; text-shadow: 0 3px 1px var(--stroke), 0 3px 0 rgba(0, 0, 0, .15); }
.tasting-flyer__btn { min-width: 260px; margin-top: 8px; }
.tasting-flyer--video .tasting-flyer__content { bottom: 60px; }

/* ---------- Bonus cards (promo cards row) ---------- */
.cask-scroll--bonuses { grid-auto-columns: calc((100% - 32px - 2 * 16px) / 3); gap: 16px; }
.vintage-card { position: relative; display: flex; flex-direction: column; border-radius: 15px; border: 1px solid var(--stroke); background: var(--grad-tile); box-shadow: 0 3px 0 rgba(0, 0, 0, .25), inset 0 -4px 0 var(--b950); padding: 2px 2px 6px; }
.vintage-card__media { position: relative; aspect-ratio: 404 / 176; border-radius: 13px 13px 0 0; overflow: hidden; background: var(--b1000); }
.vintage-card__media img { width: 100%; height: 100%; object-fit: cover; }
.vintage-card__tag { position: absolute; left: 10px; top: 10px; display: inline-flex; align-items: center; min-height: 26px; padding: 2px 16px 4px; background: url("/images/ui/title-bg-orange.webp") center / 100% 100% no-repeat; color: #fff; font-family: var(--font); font-weight: 900; font-size: 12px; text-transform: uppercase; }
.vintage-card--featured .vintage-card__tag { background-image: url("/images/ui/title-bg-blue.webp"); }
.vintage-card__body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; border-radius: 0 0 13px 13px; background: var(--grad-panel); }
.vintage-card__title { font-family: var(--font); font-weight: 900; font-size: 20px; line-height: 1.2; color: var(--gold); --stroke-w: 3px; }
.vintage-card__amount { font-size: 14px; font-weight: 700; color: var(--n100); }
.vintage-card__text { font-size: 14px; line-height: 1.45; color: var(--n100); margin: 0; }
.vintage-card__terms { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.vintage-card__terms li { padding: 3px 9px; border-radius: 7px; background: var(--inner-bg); box-shadow: var(--inner-line); font-size: 12px; font-weight: 700; color: var(--n50); }
.vintage-card__cta { display: flex; gap: 8px; margin-top: 8px; }
.vintage-card__cta .cork-btn { flex: 1; --pad: 10px; --mh: 45px; --fs: 15px; }
.vintage-rack__terms { margin: 14px 16px 0; font-size: 12px; font-weight: 500; color: var(--n400); text-align: center; }

/* Providers */
.winemaker-mark { display: flex; align-items: center; justify-content: center; gap: 10px; height: 72px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--n900); background: var(--grad-quaternary); box-shadow: 0 2px 0 rgba(0, 0, 0, .15), inset 0 2px 0 rgba(255, 255, 255, .2), inset 0 -3px 0 var(--b1100); transition: background .15s; cursor: pointer; }
.winemaker-mark:hover { background: var(--grad-quaternary-hover); }
.winemaker-mark__logo { height: 32px; max-width: 160px; width: auto; object-fit: contain; }
.winemaker-mark__name { font-family: var(--font); font-weight: 900; font-size: 18px; text-transform: uppercase; }
.winemaker-mark__meta { display: none; }
.winemaker-marks__grid { grid-auto-columns: calc((100% - 32px - 5 * 12px) / 6); }

/* Payments */
.payslip-desk__strip { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; padding: 18px 20px; border-radius: 12px; background: var(--inner-bg); box-shadow: var(--inner-line); }
.payslip-method { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 80px; height: 36px; border-radius: 8px; border: 1px solid var(--n900); background: var(--grad-tertiary); box-shadow: 0 2px 0 rgba(0, 0, 0, .15), inset 0 1px 0 rgba(255, 255, 255, .3), inset 0 -2px 0 #0349a4; }
.payslip-method:hover { background: var(--grad-tertiary-hover); }
.payslip-method__icon img { height: 20px; width: auto; max-width: 64px; }
.payslip-method__initial { font-family: var(--font); font-weight: 900; font-size: 13px; text-transform: uppercase; color: var(--n50); }
.payslip-method__name, .payslip-method__type { display: none; }

/* ---------- SEO / content boxes (panels like the brand's dialogs: brighter blue, highlight on top, dark band below) ---------- */
.barrel-panel { margin: 24px 16px 0; background: var(--grad-panel); border-radius: 15px; border: 1px solid var(--n900); padding: 26px 30px 30px; box-shadow: var(--shadow-block); }
.barrel-panel > *, .tasting-phone__grid > * { min-width: 0; }
.barrel-panel--aperitif { max-width: none; padding: 26px 30px; }
.barrel-panel--aperitif h1 { font-size: 24px; font-weight: 900; line-height: 1.2; color: var(--n50); margin-bottom: 14px; --stroke-w: 3px; }
.barrel-panel--aperitif p { color: var(--n100); font-size: 16px; font-weight: 500; line-height: 1.55; margin: 0 0 10px; }
.barrel-panel--cellar-book { position: relative; }
.barrel-panel--cellar-book.is-corked-shut .barrel-panel__body { max-height: 120px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 40%, transparent); mask-image: linear-gradient(180deg, #000 40%, transparent); }
.barrel-panel__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; border: 0; background: transparent; color: var(--gold); font-family: var(--font); font-size: 15px; font-weight: 900; text-transform: uppercase; cursor: pointer; padding: 0; }
.barrel-panel__more:hover { color: var(--n50); }
.barrel-panel__more svg { width: 12px; height: 12px; transition: transform .2s; }
.barrel-panel--cellar-book:not(.is-corked-shut) .barrel-panel__more svg { transform: rotate(180deg); }
.decanter-title { font-family: var(--font); font-weight: 900; font-size: 24px; line-height: 1.2; margin: 0 0 14px; display: flex; align-items: center; gap: 10px; color: var(--n50); --stroke-w: 3px; }
.decanter-title img, .decanter-title svg { display: none; }
.decanter-subtitle { font-family: var(--font); font-weight: 900; font-size: 19px; margin: 22px 0 10px; color: var(--gold); }
.decanter-lead { color: var(--n100); font-size: 15px; font-weight: 500; line-height: 1.55; margin: 0 0 12px; }
.barrel-panel > p.decanter-lead:last-child { padding: 14px 16px; border-radius: 10px; background: var(--inner-bg); box-shadow: var(--inner-line); }
.sommelier-copy p { color: var(--n100); font-size: 15px; font-weight: 500; line-height: 1.6; }
.sommelier-copy p:last-child { margin-bottom: 0; }
.cuvee-scroll { overflow-x: auto; margin: 6px 0 4px; border-radius: 10px; box-shadow: var(--inner-line); }
table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 380px; }
th, td { padding: 10px 12px; text-align: left; vertical-align: top; }
thead th { background: var(--b1200); font-family: var(--font); font-weight: 900; font-size: 13px; text-transform: uppercase; color: var(--gold); }
tbody tr:nth-child(odd) td { background: rgba(31, 62, 178, .85); }
tbody tr:nth-child(even) td { background: rgba(31, 62, 178, .5); }
tbody td:first-child { font-weight: 800; color: var(--n50); }
tbody td { color: var(--n100); font-weight: 500; }
.cuvee-note { font-size: 12px; color: var(--n400); margin: 8px 0 0; }
.tannin-items { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 14px 0 6px; }
.tannin-item { background: var(--inner-bg); box-shadow: var(--inner-line); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 4px; }
.tannin-item__value { font-family: var(--font); font-size: 26px; font-weight: 900; color: var(--gold); --stroke-w: 3px; }
.tannin-item__label { font-size: 12px; color: var(--n100); }
.pour-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 10px 0 6px; }
.pour-step { display: flex; gap: 12px; padding: 14px; border-radius: 10px; background: var(--inner-bg); box-shadow: var(--inner-line); }
.pour-step__num { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 8px; background: var(--grad-primary); box-shadow: inset 0 2px 0 rgba(172, 255, 130, .7), inset 0 -3px 0 var(--green-500), 0 2px 0 rgba(0, 0, 0, .15); color: var(--n50); font-family: var(--font); font-weight: 900; font-size: 16px; display: inline-flex; align-items: center; justify-content: center; }
.pour-step strong { display: block; font-size: 15px; font-weight: 800; margin-bottom: 2px; color: var(--n50); }
.pour-step p { font-size: 13px; color: var(--n100); margin: 0; }
.picker-ticks { display: flex; flex-direction: column; gap: 8px; margin: 10px 0 12px; padding: 14px 16px; border-radius: 10px; background: var(--inner-bg); box-shadow: var(--inner-line); }
.picker-ticks li { position: relative; padding-left: 26px; font-size: 15px; color: var(--n100); }
.picker-ticks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 16px; height: 16px; border-radius: 5px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' 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"), var(--grad-primary); background-size: 10px, cover; background-position: center; background-repeat: no-repeat; box-shadow: inset 0 -2px 0 var(--green-500); }
.cork-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.tasting-phone__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; align-items: start; }
.tasting-phone__badges { display: flex; gap: 10px; margin-top: 6px; }
.tasting-phone__badges img { height: 40px; width: auto; border-radius: 6px; }
.cellar-master-desk__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 14px 0 6px; }
.cellar-master-desk__card { display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: 10px; background: var(--inner-bg); box-shadow: var(--inner-line); }
.cellar-master-desk__icon { width: 38px; height: 38px; border-radius: 10px; background: var(--grad-tertiary); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .3), inset 0 -3px 0 #0349a4, 0 2px 0 rgba(0, 0, 0, .15); display: inline-flex; align-items: center; justify-content: center; color: var(--n50); margin-bottom: 4px; }
.cellar-master-desk__icon svg { width: 20px; height: 20px; }
.cellar-master-desk__card strong { font-size: 15px; font-weight: 800; color: var(--n50); }
.cellar-master-desk__meta { font-size: 11px; color: var(--n400); }
.cellar-master-desk__card p { font-size: 13px; color: var(--n100); margin: 0 0 auto; }
.cellar-master-desk__card .cork-btn { align-self: flex-start; margin-top: 10px; }

/* Reviews */
.taster-notes__summary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 16px; }
.taster-notes__word { font-family: var(--font); font-size: 24px; font-weight: 900; color: var(--gold); --stroke-w: 3px; }
.taster-notes__text { font-size: 13px; color: var(--n100); }
.sparkle-stars { display: inline-flex; gap: 2px; }
.sparkle-star { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 5px; background: #00b67a; }
.sparkle-star svg { width: 14px; height: 14px; fill: #fff; }
.sparkle-star.is-half-a-glass { background: linear-gradient(90deg, #00b67a 50%, #1f3eb2 50%); }
.taster-note__rating { display: flex; align-items: center; gap: 8px; }
.taster-note__rating .sparkle-star { width: 16px; height: 16px; }
.taster-note__rating .sparkle-star svg { width: 10px; height: 10px; }
.taster-notes__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.taster-note { display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 10px; background: var(--inner-bg); box-shadow: var(--inner-line); }
.taster-note__head { display: flex; align-items: center; gap: 10px; }
.taster-note__avatar { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: var(--panel-3); flex: 0 0 auto; box-shadow: 0 0 0 2px rgba(83, 151, 246, .6); }
.taster-note__avatar img { width: 100%; height: 100%; object-fit: cover; }
.taster-note__name { font-size: 14px; font-weight: 800; color: var(--n50); }
.taster-note__sub { font-size: 11px; color: var(--n400); }
.taster-note__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.taster-note__date { font-size: 11px; color: var(--n400); }
.taster-note__title { font-size: 14px; font-weight: 800; color: var(--gold); }
.taster-note__text { font-size: 13px; color: var(--n100); margin: 0; }
.taster-note__verified { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; color: #acff82; margin-top: auto; }
.taster-note__verified svg { width: 14px; height: 14px; }

/* FAQ */
.cellarman-qa__list { display: flex; flex-direction: column; gap: 8px; }
.cellarman-qa__item { border-radius: 10px; background: var(--inner-bg); box-shadow: var(--inner-line); overflow: hidden; }
.cellarman-qa__question { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; border: 0; background: transparent; color: var(--n50); font-family: var(--font); font-size: 16px; font-weight: 800; text-align: left; cursor: pointer; }
.cellarman-qa__icon { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 8px; background: var(--grad-tertiary); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), inset 0 -2px 0 #0349a4, 0 2px 0 rgba(0, 0, 0, .15); color: var(--n50); display: inline-flex; align-items: center; justify-content: center; transition: transform .2s; }
.cellarman-qa__icon svg { width: 12px; height: 12px; }
.cellarman-qa__item.is-cask-open .cellarman-qa__icon { transform: rotate(180deg); background: var(--grad-secondary); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), inset 0 -2px 0 var(--yellow-800), 0 2px 0 rgba(0, 0, 0, .15); color: var(--stroke); }
.cellarman-qa__answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.cellarman-qa__item.is-cask-open .cellarman-qa__answer { grid-template-rows: 1fr; }
.cellarman-qa__answer-inner { overflow: hidden; min-height: 0; }
.cellarman-qa__answer p { padding: 0 18px 16px; font-size: 15px; color: var(--n100); margin: 0; }

/* TOC */
.wine-list { margin: 24px 16px 0; }
.wine-list__box { background: var(--grad-panel); border-radius: 15px; border: 1px solid var(--n900); padding: 6px 20px; box-shadow: var(--shadow-block); }
.wine-list__head { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0; border: 0; background: transparent; color: var(--n50); cursor: pointer; font-family: var(--font); font-size: 20px; font-weight: 900; }
.wine-list__title { display: inline-flex; align-items: center; gap: 8px; --stroke-w: 3px; }
.wine-list__title svg { width: 18px; height: 18px; color: var(--gold); filter: drop-shadow(0 1px 0 var(--stroke)); }
.wine-list__toggle { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font); font-size: 13px; font-weight: 900; text-transform: uppercase; color: var(--n400); }
.wine-list__toggle svg { width: 12px; height: 12px; transition: transform .2s; }
.wine-list.is-corked-shut .wine-list__toggle svg { transform: rotate(180deg); }
.wine-list__body { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .25s ease; }
.wine-list.is-corked-shut .wine-list__body { grid-template-rows: 0fr; }
.wine-list__body-inner { overflow: hidden; }
.wine-list__list { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 0 14px; counter-reset: toc; }
.wine-list__list li a { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 4px 14px 6px; border-radius: 8px; border: 1px solid var(--n900); background: var(--grad-tertiary); box-shadow: 0 2px 0 rgba(0, 0, 0, .15), inset 0 1px 0 rgba(255, 255, 255, .3), inset 0 -2px 0 #0349a4; color: var(--n50); font-size: 14px; font-weight: 900; }
.wine-list__list li a::before { counter-increment: toc; content: counter(toc); width: 20px; height: 20px; border-radius: 6px; background: var(--grad-secondary); color: var(--n50); font-size: 12px; font-weight: 900; display: inline-flex; align-items: center; justify-content: center; --stroke-w: 1.5px; --stroke-shadow: 0 1px 0 var(--stroke); }
.wine-list__list li a:hover { background: var(--grad-tertiary-hover); color: var(--n50); }
.bottling-date { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; margin-top: 16px; padding: 12px 14px; border-radius: 10px; background: var(--inner-bg); box-shadow: var(--inner-line); font-size: 12px; color: var(--n100); }
.bottling-date__label { font-weight: 800; color: var(--n50); }
.bottling-date__icon { display: none; }
.bottling-date__body { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.bottling-date__badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 7px; background: rgba(82, 241, 64, .18); color: #acff82; font-size: 11px; font-weight: 800; }
.bottling-date__badge svg { width: 14px; height: 14px; }

/* ---------- Footer ---------- */
.cellar-foot { position: relative; margin-top: 40px; margin-left: var(--side-w); padding: 24px 0 40px; background: radial-gradient(100% 100% at 50% 0%, #3469de 0%, #1f3eb2 45%, #1f3eb2 100%); transition: margin-left .25s ease; overflow: hidden; }
.cellar-foot .vineyard-frame { position: relative; }
body.cellar-menu-shut .cellar-foot { margin-left: var(--side-w-min); }
.cellar-foot__top { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 36px; }
.cellar-foot__lang, .cellar-foot__chat { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 194px; min-height: 56px; padding: 0 18px 4px; border-radius: 14px; background: var(--grad-tertiary); box-shadow: 0 2px 0 rgba(0, 0, 0, .15), inset 0 2px 0 rgba(255, 255, 255, .3), inset 0 -4px 0 #0349a4; font-family: var(--font); font-weight: 900; font-size: 16px; text-transform: uppercase; color: var(--n50); cursor: pointer; }
.cellar-foot__lang:hover, .cellar-foot__chat:hover { background: var(--grad-tertiary-hover); color: var(--n50); }
.cellar-foot__lang img { width: 24px; height: 24px; border-radius: 4px; border: 1px solid var(--stroke); object-fit: cover; }
.cellar-foot__lang svg { display: none; }
.cellar-foot__chat img { width: 26px; height: 26px; filter: drop-shadow(0 1px 0 var(--stroke)); }
.cellar-foot__chat svg { display: none; }
.cellar-foot__tg { display: none; }
.cellar-foot__cols { display: grid; grid-template-columns: repeat(7, 1fr); gap: 24px 16px; }
.cellar-foot__col .cellar-foot__col-title { font-family: var(--font); font-size: 15px; font-weight: 900; color: var(--n50); margin-bottom: 16px; }
.cellar-foot__col ul { display: flex; flex-direction: column; gap: 14px; }
.cellar-foot__col a, .cellar-foot__col span { font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--n100); cursor: pointer; }
.cellar-foot__col a:hover, .cellar-foot__col span:hover { color: var(--gold); }
.cellar-foot__links { display: none; }
.cellar-foot__pay { margin-top: 46px; display: flex; flex-direction: column; align-items: center; gap: 24px; }
.cellar-foot__pay-title { display: none; }
.cellar-foot__pay-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.cellar-foot__pay-row .payslip-method { width: 80px; height: 36px; }
.cellar-foot__pay-row .payslip-method--more { width: auto; border: 0; background: transparent; box-shadow: none; }
.cellar-foot__pay-row .payslip-method--more .payslip-method__initial { color: var(--n50); text-transform: none; font-size: 14px; }
.cellar-foot__badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 28px; }
.cellar-foot__badges img { height: 36px; width: auto; }
.cellar-foot__badges [role="button"] { cursor: pointer; }
.cellar-foot__badges .cellar-foot__18 { display: inline-flex; align-items: center; gap: 8px; }
.cellar-foot__badges .cellar-foot__18 img { height: 40px; }
.cellar-foot__badges .cellar-foot__logo img { height: 36px; }
.cellar-foot__badges .cellar-foot__ga img { height: 24px; }
.cellar-foot__legal { font-size: 13px; font-weight: 700; color: var(--b50); text-align: center; line-height: 1.6; max-width: 980px; }
.cellar-foot__legal p { margin: 0 0 8px; }
.toast-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.toast-links img { width: 30px; height: 30px; border-radius: 50%; opacity: .85; transition: opacity .15s; }
.toast-links a:hover img, .toast-links span:hover img { opacity: 1; }
.estate-rights { text-align: center; font-size: 13px; font-weight: 700; color: var(--b50); }

/* Bottom mobile navigation */
.cellar-dock { display: none; }

/* Promo bar */
.label-strip { position: fixed; left: 50%; bottom: 14px; transform: translate(-50%, 140%); width: min(1180px, calc(100% - 24px)); z-index: 70; transition: transform .35s ease; }
.label-strip.is-on-the-tasting-table { transform: translate(-50%, 0); }
.label-strip__inner { display: flex; align-items: center; gap: 14px; padding: 10px 14px; border-radius: 14px; border: 1px solid var(--n900); background: var(--grad-panel); box-shadow: var(--shadow-block), var(--shadow); }
.label-strip__logo { height: 32px; width: auto; }
.label-strip__info { display: flex; flex-direction: column; min-width: 0; }
.label-strip__label { font-family: var(--font); font-size: 12px; font-weight: 900; color: var(--gold); text-transform: uppercase; --stroke-w: 1.5px; }
.label-strip__title { font-size: 14px; font-weight: 700; color: var(--n50); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.label-strip__btn { margin-left: auto; }
.label-strip__close { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 8px; border: 0; background: var(--b1200); color: var(--n50); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.label-strip__close svg { width: 14px; height: 14px; }
.back-to-the-vines { position: fixed; right: 18px; bottom: 90px; width: 44px; height: 44px; border-radius: 10px; border: 0; background: var(--grad-quaternary); box-shadow: 0 2px 0 rgba(0, 0, 0, .15), inset 0 2px 0 rgba(255, 255, 255, .2), inset 0 -3px 0 var(--b1100); color: var(--n50); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; z-index: 65; }
.back-to-the-vines.is-on-the-tasting-table { opacity: 1; visibility: visible; }
.back-to-the-vines svg { width: 18px; height: 18px; }

/* ---------- Responsive ---------- */
@media (max-width: 1919px) {
  :root { --cols: 7; --cols-rank: 5; --cols-wide: 3; --cols-live: 7; --rank-gap: 80px; }
}
@media (max-width: 1535px) {
  .vineyard-carousel { height: 320px; margin-bottom: -48px; }
  .vineyard-slide__inner, .vineyard-carousel__inner { height: 272px; width: min(100%, 1600px); }
  .vineyard-slide__media { width: 1600px; }
  .vineyard-slide__media::before { width: 1600px; background: radial-gradient(50% 114% at 50% 50%, rgba(29, 55, 136, 0) 0%, rgba(29, 55, 136, 0) 80%, #1d3788 100%) center / 100% 100% no-repeat, linear-gradient(90deg, #1d3788 0%, rgba(29, 55, 136, .4) 75%, rgba(29, 55, 136, 0) 100%) left center / 50% 100% no-repeat; }
  .vineyard-slide__media::after { top: -100px; height: 420px; width: 1600px; -webkit-mask-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 70%, #000 100%); mask-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 70%, #000 100%); }
  .vineyard-slide__card { left: 62px; top: 28px; width: 380px; }
  .vineyard-slide__body { width: 378px; }
  .vineyard-slide__title { font-size: 24px; }
  .vineyard-slide__action { margin-top: 12px; }
  .vineyard-slide__btn { --mh: 60px; --fs: 24px; --pad: 30px; }
  .vineyard-carousel__dots { left: 62px; width: 380px; top: 236px; }
  .vineyard-carousel__arrow { top: 118px; }
}
@media (max-width: 1400px) {
  .cask-scroll--bonuses { grid-auto-columns: calc((100% - 32px - 16px) / 2); }
  .winemaker-marks__grid { grid-auto-columns: calc((100% - 32px - 3 * 12px) / 4); }
  .cellar-foot__cols { grid-template-columns: repeat(4, 1fr); }
  .magnum-pot__card { width: 380px; flex-basis: 380px; }
  .tasting-flyer__title, .tasting-flyer__title b { font-size: 28px; }
}
@media (max-width: 1279px) {
  :root { --cols: 6; --cols-rank: 4; --cols-wide: 3; --cols-live: 6; }
}
@media (max-width: 1100px) {
  .corkscrew-search { width: 220px; }
  .cellar-master-desk__grid, .tannin-items { grid-template-columns: repeat(2, 1fr); }
  .taster-notes__grid { grid-template-columns: repeat(2, 1fr); }
  .magnum-pot__row { flex-direction: column; }
  .magnum-pot__card { width: 100%; flex-basis: auto; margin: 0 0 12px; }
  .tasting-flyer__title, .tasting-flyer__title b { font-size: 24px; }
}
@media (max-width: 900px) {
  .tasting-phone__grid { grid-template-columns: 1fr; }
  .cellar-foot__cols { grid-template-columns: repeat(3, 1fr); }
  .winemaker-marks__grid { grid-auto-columns: calc((100% - 32px - 2 * 12px) / 3); }
}
@media (max-width: 767px) {
  :root { --hdr-h: 60px; --tile-w: 92px; --tile-gap: 8px; --tile-r: 11px; --tile-b: 2px; --rank-gap: 50px; --rank-in: 13px; --stroke-shadow: 0 1px 0 #1c2127, 0 1px 0 rgba(0, 0, 0, .15); }
  html { scroll-padding-top: 114px; }
  body { padding-bottom: 64px; }
  .pressing-bar::before { background-image: url("/images/ui/light-shapes-m.webp"); background-size: 788px 100%; }
  .pressing-bar__inner { gap: 0; padding: 0 10px 0 6px; }
  .bung-toggle { width: 40px; height: 44px; }
  .bung-toggle::before { width: 28px; height: 22px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 22' fill='none' stroke='%23faffe5' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M2 2h12M2 11h12M2 20h12'/%3E%3Ccircle cx='21' cy='9' r='5'/%3E%3Cpath d='M24.5 12.5l2.5 2.5'/%3E%3C/svg%3E"); }
  .estate-logo { margin-left: 4px; }
  .estate-logo img { height: 36px; }
  .corkscrew-search, .pressing-bar__actions { display: none; }
  .pressing-bar__login-m, .pressing-bar__reg-m { display: inline-grid; --pad: 10px; --r: 8px; --ibw: 1px; --bo: 2.5px; --mh: 36px; --fs: 14px; --glare-pos: 4.5px 2.5px; --glare-size: 6px 4.5px; }
  .pressing-bar__login-m { margin-left: auto; }
  .pressing-bar__reg-m { margin-left: 8px; }
  .flight-tabs { display: grid; grid-template-columns: repeat(3, 1fr); position: fixed; top: var(--hdr-h); left: 0; right: 0; height: 44px; z-index: 50; border-bottom: 3px solid var(--b800); background: linear-gradient(0deg, #2b53de 63.64%, #254cd5); box-shadow: inset 0 -3px 2px rgba(50, 133, 234, .25), inset 0 4px 1px rgba(18, 45, 139, .14), 0 3px 4px rgba(0, 0, 0, .2); }
  .flight-tabs span { position: relative; display: flex; align-items: center; justify-content: center; font-family: var(--font); font-weight: 900; font-size: 14px; text-transform: uppercase; color: var(--n50); cursor: pointer; }
  .flight-tabs span + span::before { content: ""; position: absolute; left: 0; top: 6px; width: 1px; height: calc(100% - 9px); background: rgba(55, 129, 240, .4); }
  .cellar-menu { transform: translateX(-104%); width: 100%; max-width: 100vw; top: 0; padding: 0 16px 24px; z-index: 90; transition: transform .26s ease; box-shadow: 6px 0 24px rgba(0, 0, 0, .5); background: url("/images/ui/bottom-art.webp") right bottom / 100% auto no-repeat, linear-gradient(90deg, #254ac7 23.93%, #1f3eb2 86.59%); }
  .cellar-menu.is-cask-open { transform: translateX(0); }
  .cellar-menu__backdrop { display: block; position: fixed; inset: 0; background: rgba(5, 15, 60, .6); z-index: 80; opacity: 0; visibility: hidden; transition: opacity .25s; }
  .cellar-menu__backdrop.is-cask-open { opacity: 1; visibility: visible; }
  .cellar-menu__head { display: flex; align-items: center; gap: 10px; height: 60px; margin: 0 -16px 14px; padding: 0 10px 0 6px; background: url("/images/ui/grenades.png") 0 0 / 100px 100px repeat, linear-gradient(180deg, #2b53de 10%, #1669fb 45.5%, #0f72ff 47.68%, #1669fb 100%); box-shadow: inset 0 -2px 0 var(--b100); }
  .cellar-menu__head img { height: 36px; width: auto; margin-left: 8px; }
  .cellar-menu__close { width: 44px; height: 44px; border: 0; border-radius: 8px; background: transparent; color: var(--n50); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; filter: drop-shadow(0 1px 0 var(--stroke)); }
  .cellar-menu__close svg { width: 24px; height: 24px; }
  .cellar-menu__cta { display: flex; gap: 8px; margin-left: auto; }
  .cellar-menu__cta .cork-btn { --pad: 10px; --r: 8px; --ibw: 1px; --bo: 2.5px; --mh: 36px; --fs: 14px; }
  .cellar-menu__search { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 16px; margin-bottom: 12px; border-radius: 10px; border: 2px solid #4f8df3; background: #2652c9; box-shadow: 0 2px 3px #092ba4; color: var(--b50); font-weight: 500; font-size: 14px; }
  .cellar-menu__search img, .cellar-menu__search svg { width: 16px; height: 16px; }
  .cellar-menu__urus { min-height: 48px; }
  .cellar-menu__tiles { grid-template-columns: 1fr 1fr; gap: 8px; }
  .cellar-menu__tile { height: 66px; align-items: center; padding: 0 70px 0 14px; background-image: url("/images/ui/side-tile-m.webp"); }
  .cellar-menu__tile img { right: 6px; top: 50%; transform: translateY(-50%); width: 56px; height: 56px; }
  .cellar-menu__item { min-height: 48px; font-size: 14px; }
  .cellar-menu__bottom { margin-top: 20px; gap: 12px; }
  .cellar-menu__lang, .cellar-menu__help { height: 64px; font-size: 13px; }
  body.cellar-menu-shut .cellar-menu { width: 100%; padding: 0 16px 24px; background-size: 100% auto, auto; }
  body.cellar-menu-shut .cellar-menu__item span, body.cellar-menu-shut .cellar-menu__item em, body.cellar-menu-shut .cellar-menu__tile span, body.cellar-menu-shut .cellar-menu__urus > span, body.cellar-menu-shut .cellar-menu__lang span, body.cellar-menu-shut .cellar-menu__help span { display: initial; }
  body.cellar-menu-shut .cellar-menu__urus > span:not(.cellar-menu__urus-ico) { display: flex; }
  body.cellar-menu-shut .cellar-menu__tiles { grid-template-columns: 1fr 1fr; }
  body.cellar-menu-shut .cellar-menu__item { justify-content: flex-start; padding: 2px 11px; }
  body.cellar-menu-shut .cellar-menu__tile { height: 66px; justify-content: flex-start; padding: 0 70px 0 14px; }
  body.cellar-menu-shut .cellar-menu__tile img { position: absolute; transform: translateY(-50%); width: 56px; height: 56px; }
  body.cellar-menu-shut .cellar-menu__urus { padding: 2px 4px 2px 11px; justify-content: flex-start; }
  body.cellar-menu-shut .cellar-menu__bottom { grid-template-columns: 1fr 1fr; }
  .winery-main, body.cellar-menu-shut .winery-main { margin-left: 0; padding-top: calc(var(--hdr-h) + 44px); }
  .cellar-foot, body.cellar-menu-shut .cellar-foot { margin-left: 0; }
  .vineyard-frame { padding: 0; }
  .vineyard-carousel { height: 370px; margin-bottom: -10px; }
  .vineyard-slide__media { width: 100%; height: 300px; }
  .vineyard-slide__media picture, .vineyard-slide__media img { object-position: center top; }
  .vineyard-slide__media::before { width: 100%; background: radial-gradient(50% 114% at 50% 50%, rgba(29, 55, 136, 0) 0%, rgba(29, 55, 136, 0) 70%, #1d3788 100%) center / 100% 100% no-repeat; }
  .vineyard-slide__media::after { top: 0; height: 370px; width: 100%; -webkit-mask-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 55%, #000 81%); mask-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 55%, #000 81%); }
  .vineyard-slide__inner, .vineyard-carousel__inner { width: 100%; height: 100%; }
  .vineyard-slide__card { left: 0; top: auto; bottom: 0; width: 100%; max-width: 100vw; padding: 0 16px 32px; border: 0; border-radius: 0; background: none; box-shadow: none; }
  .vineyard-slide__body { width: 100%; max-width: 100%; gap: 8px; padding: 0; border: 0; background: none; }
  .vineyard-slide__body::before, .vineyard-slide__body::after { display: none; }
  .vineyard-slide__label { margin-top: 0; min-width: 0; min-height: 26px; padding: 2px 24px 4px; background-image: url("/images/ui/title-bg-blue.webp"); }
  .vineyard-slide__label span { font-size: 14px; }
  .vineyard-slide__title { padding: 0; font-size: 30px; max-width: 100%; white-space: normal; text-wrap: balance; -webkit-text-stroke-width: 3px; }
  .vineyard-slide__title br { display: none; }
  .vineyard-slide__action { margin: 10px 0 0; max-width: 100%; }
  .vineyard-slide__btn { --mh: 70px; --fs: 32px; --pad: 40px; min-width: 280px; }
  .vineyard-carousel__dots { left: 0; width: 100%; top: auto; bottom: 22px; }
  .vineyard-carousel__arrow { display: none; }
  .winery-floor { padding: 12px 0 0; }
  .grape-chips { padding: 2px 16px 8px; }
  .grape-chips::before, .grape-chips::after { display: none; }
  .grape-chip { min-height: 36px; font-size: 14px; padding: 0 14px 0 6px; gap: 6px; }
  .grape-chip img { width: 36px; height: 36px; }
  .grape-chip--search { display: inline-grid; width: 52px; padding: 0; justify-content: center; }
  .grape-chip--search img { width: 34px; height: 34px; }
  .cask-row { margin-top: 8px; }
  .cask-row__head { margin-bottom: 8px; min-height: 24px; }
  .cask-row__title { font-size: 20px; white-space: nowrap; }
  .cask-row__arrow { display: none; }
  .cask-row__link { font-size: 14px; margin-right: 0; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
  .cask-row__link::after { content: ""; width: 12px; height: 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2385c4ff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; margin-left: 6px; }
  .cask-scroll, .cask-scroll--live, .cask-scroll--wide { grid-auto-columns: var(--tile-w); }
  .cask-scroll--wide { grid-auto-columns: calc(var(--tile-w) * 2 + var(--tile-gap)); }
  .cask-scroll--ranked { grid-auto-columns: var(--tile-w); }
  .cask-scroll { padding: 0 16px 8px; }
  .cask-row .cask-scroll, .cask-scroll--ranked { clip-path: none; }
  .game-bottle { box-shadow: 0 2px 0 rgba(0, 0, 0, .25), inset 0 -4px 0 var(--b950); }
  .game-bottle__media { inset: 1px 1px 5px; border-radius: 9px; }
  .game-bottle__limits { height: 14px; padding: 0 4px; font-size: 10px; bottom: -4px; border-radius: 4px; }
  .game-bottle--live { margin-bottom: 4px; }
  .game-bottle--live .game-bottle__badge { bottom: 14px; }
  .vintage-number { font-size: 72cqw; bottom: -8px; }
  .cask-scroll--ranked { padding-left: 30px; scroll-padding: 0 30px; }
  .game-bottle__jackpot { height: 18px; line-height: 18px; font-size: 10px; left: 2px; right: 2px; bottom: 6px; border-radius: 0 0 8px 8px; }
  .game-bottle__badge { height: 20px; padding: 1px 4px 2px; font-size: 10px; line-height: 1.25; right: -5px; bottom: 14px; --stroke-w: 1.5px; }
  .game-bottle__play { width: 46px; height: 46px; margin: -35px 0 0 -23px; }
  .game-bottle__play img { width: 20px; height: 20px; }
  .game-bottle__demo { font-size: 12px; top: calc(50% + 19px); }
  .pitchside-card { box-shadow: 0 2px 0 rgba(0, 0, 0, .25), inset 0 -4px 0 var(--b950); }
  .pitchside-card__wrap { inset: 1px 1px 5px; border-radius: 9px; }
  .pitchside-card__wrap::before, .pitchside-card__wrap::after { width: 190px; }
  .pitchside-card__name { font-size: 14px; min-height: 40px; bottom: 6px; }
  .magnum-pot { margin: 0 16px; }
  .magnum-pot__row { padding: 16px 0 0; }
  .magnum-pot__card { width: 100%; flex-basis: auto; margin: 0; padding: 12px 12px 0; background-image: url("/images/jackpot/lobby-bg-m.webp"); background-size: cover; }
  .magnum-pot__amount { font-size: 40px; }
  .magnum-pot__tiers { max-width: 328px; }
  .magnum-pot__tier-name { font-size: 11px; padding: 2px 8px; }
  .magnum-pot__card .magnum-pot__btn { display: none; }
  .magnum-pot__games { display: flex; flex-direction: column; align-items: center; padding: 12px 0 0; }
  .magnum-pot__grid { width: 100%; grid-auto-columns: 92px; grid-template-rows: 92px; padding: 0 12px; }
  .magnum-pot__btn--m { display: inline-grid; width: 220px; margin: 12px auto 0; }
  .magnum-pot__ticker { margin: 12px 0; }
  .tasting-flyer { margin: 20px 0 0; }
  .tasting-flyer__media { aspect-ratio: auto; height: 420px; }
  .tasting-flyer__media img { object-position: center; }
  .tasting-flyer::before { top: -10px; height: 56px; background-image: linear-gradient(0deg, rgba(29, 53, 132, 0) 3.15%, #1d3584 32.65%, #1d3584 40.65%, rgba(27, 50, 123, 0) 100%), url("/images/ui/clouds-top-m.webp"); background-position: top, left 10px; background-size: 100% 16px, auto 46px; }
  .tasting-flyer::after { bottom: -10px; height: 76px; background-image: linear-gradient(180deg, rgba(29, 53, 132, 0) 3.15%, #1d3584 32.65%, #1d3584 40.65%, rgba(27, 50, 123, 0) 100%), url("/images/ui/clouds-bottom-m.webp"); background-position: 0 bottom, left 0; background-size: 100% 16px, auto 66px; }
  .tasting-flyer__content { bottom: 40px; }
  .tasting-flyer__play { position: absolute; left: 50%; bottom: calc(100% + 56px); margin: 0 0 0 -24px; }
  .tasting-flyer__text::before { width: 420px; height: 170px; }
  .tasting-flyer__title, .tasting-flyer__title b { font-size: 20px; max-width: 360px; }
  .tasting-flyer__btn { min-width: 200px; --mh: 60px; --fs: 24px; --pad: 32px; }
  .cask-scroll--bonuses { grid-auto-columns: calc(100% - 44px); gap: 10px; }
  .winemaker-marks__grid { grid-auto-columns: calc((100% - 32px - 9px) / 2.2); }
  .barrel-panel { padding: 16px; margin: 20px 16px 0; }
  .barrel-panel--aperitif { padding: 16px; }
  .barrel-panel--aperitif h1 { font-size: 20px; }
  .barrel-panel--aperitif p { font-size: 15px; }
  .decanter-title { font-size: 22px; }
  .cork-btn--lg { --pad: 20px; --mh: 54px; --fs: 18px; white-space: normal; text-align: center; line-height: 1.1; max-width: 100%; }
  .cork-row .cork-btn { max-width: 100%; }
  .cuvee-scroll { max-width: 100%; }
  .pour-steps, .cellar-master-desk__grid, .taster-notes__grid { grid-template-columns: 1fr; }
  .tannin-items { grid-template-columns: repeat(2, 1fr); }
  .wine-list { margin: 20px 16px 0; }
  .cellar-foot { padding: 24px 0 90px; }
  .cellar-foot .vineyard-frame { padding: 0 16px; }
  .cellar-foot__top { gap: 12px; margin-bottom: 30px; }
  .cellar-foot__lang, .cellar-foot__chat { width: calc(50% - 6px); min-height: 52px; font-size: 14px; }
  .cellar-foot__cols { grid-template-columns: 1fr; gap: 8px; }
  .cellar-foot__col { border-radius: 10px; background: var(--inner-bg); box-shadow: var(--inner-line); }
  .cellar-foot__col .cellar-foot__col-title { position: relative; margin: 0; padding: 16px 44px 16px 16px; font-size: 15px; cursor: pointer; }
  .cellar-foot__col .cellar-foot__col-title::after { content: ""; position: absolute; right: 16px; top: 50%; width: 12px; height: 12px; transform: translateY(-50%); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s; }
  .cellar-foot__col ul { display: none; padding: 0 16px 14px; gap: 10px; }
  .cellar-foot__col.is-cask-open ul { display: flex; }
  .cellar-foot__col.is-cask-open .cellar-foot__col-title::after { transform: translateY(-50%) rotate(180deg); }
  .cellar-foot__pay { margin-top: 30px; }
  .label-strip { display: none; }
  .back-to-the-vines { bottom: 80px; right: 12px; width: 40px; height: 40px; }
  .cellar-dock { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; left: 0; right: 0; bottom: 0; height: 60px; padding-bottom: env(safe-area-inset-bottom, 0px); background: linear-gradient(0deg, #2b53de 63.64%, #254cd5); box-shadow: inset 0 3px 2px rgba(50, 133, 234, .25), 0 -3px 4px rgba(0, 0, 0, .2); z-index: 75; }
  .cellar-dock__item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; height: 60px; color: var(--n50); font-family: var(--font); font-weight: 900; font-size: 11px; text-transform: uppercase; cursor: pointer; border: 0; background: transparent; }
  .cellar-dock__item img, .cellar-dock__item svg { width: 26px; height: 26px; object-fit: contain; filter: drop-shadow(0 1px 0 var(--stroke)); }
  .cellar-dock__center, .cellar-dock__fab, .cellar-dock__dot::after { display: none; }
}
@media (max-width: 420px) {
  .cellar-foot__badges { gap: 12px 18px; }
  .vineyard-slide__title { font-size: 27px; }
  .vineyard-slide__btn { min-width: 240px; --mh: 64px; --fs: 28px; }
  .cask-row__title { display: block; min-width: 0; font-size: 18px; white-space: normal; overflow-wrap: anywhere; }   /* shelf names wrap instead of being cut */
  .cask-row__link { font-size: 12px; }
  .flight-tabs span { font-size: 12px; white-space: nowrap; }
  .pressing-bar__login-m, .pressing-bar__reg-m { --fs: 12px; --pad: 8px; }
}

/* text-only payment tiles: two-line names sit centred */
.payslip-method__initial { text-align: center; line-height: 1.25; }

/* perf pass 13.10 (no visual change): the Wonderpot ticker sleeps while the widget is off-screen (attribute set by main.js) */
[data-asleep] .magnum-pot__ticker-track { animation-play-state: paused; }

/* wide promo banners: room above, so the banner text does not lie on the shelf before it (17.68% of the width = the picture height) */
@media (min-width: 768px) {
  .tasting-flyer { margin-top: max(20px, calc(258px - max(160px, 17.68%))); }
  .tasting-flyer--video { margin-top: max(20px, calc(324px - max(160px, 17.68%))); }
}
