/* WESTO Production Design System v11
   Art direction: approved Entrance v8 + category-index concepts + preserved glass language.
   This stylesheet intentionally overrides presentation only. Existing APIs, cart, i18n,
   ordering, WebGL carousel and admin contracts remain owned by the original runtime. */

:root {
  --prod-cyan: #1cc9d4;
  --prod-cyan-hi: #72eef4;
  --prod-ivory: #f7f3eb;
  --prod-bg: #020708;
  --prod-bg-2: #061113;
  --prod-ink: #f7f3eb;
  --prod-muted: rgba(226, 231, 229, .66);
  --prod-faint: rgba(226, 231, 229, .42);
  --prod-line: rgba(120, 224, 231, .20);
  --prod-line-neutral: rgba(255,255,255,.105);
  --prod-glass: rgba(5, 15, 18, .70);
  --prod-glass-strong: rgba(5, 16, 19, .90);
  --prod-glass-soft: rgba(255,255,255,.035);
  --prod-shadow: 0 30px 90px rgba(0,0,0,.34);
  --prod-card-shadow: 0 24px 72px rgba(0,0,0,.28);
  --prod-radius-lg: 34px;
  --prod-radius-md: 24px;
  --prod-radius-sm: 18px;
  --prod-ease: cubic-bezier(.22,.82,.22,1);
  --prod-pattern-micro: url('../assets/images/entrance/westo-micro-pattern-v8.png');
  --prod-cta-pattern: url('../assets/images/entrance/westo-cta-pattern-v8.webp');

  /* category fallbacks; category-theme.js overwrites the existing --cat-* family */
  --cat-wash: #eef3e8;
  --cat-surface: #f6f9f2;
  --cat-accent: #5a7a3e;
  --cat-accent-soft: rgba(90,122,62,.16);
  --cat-glow: rgba(120,160,80,.18);
}
html[data-theme='light'] {
  --prod-bg: #f5f1e9;
  --prod-bg-2: #eef2e8;
  --prod-ink: #111716;
  --prod-muted: rgba(34, 40, 38, .63);
  --prod-faint: rgba(34,40,38,.40);
  --prod-line: rgba(15, 161, 173, .18);
  --prod-line-neutral: rgba(12,25,22,.105);
  --prod-glass: rgba(255,255,255,.72);
  --prod-glass-strong: rgba(255,255,255,.92);
  --prod-glass-soft: rgba(255,255,255,.56);
  --prod-shadow: 0 30px 85px rgba(37,48,43,.12);
  --prod-card-shadow: 0 22px 62px rgba(37,48,43,.10);
}

/* ---------- global polish ---------- */
html {
  color-scheme: dark;
  background: var(--prod-bg);
  scrollbar-color: rgba(102,220,228,.30) transparent;
}
html[data-theme='light'] { color-scheme: light; }
body {
  color: var(--prod-ink);
  background:
    radial-gradient(62rem 48rem at 50% 40%, var(--cat-glow, rgba(120,160,80,.16)), transparent 67%),
    radial-gradient(55rem 36rem at 92% 16%, rgba(240,180,106,.055), transparent 72%),
    linear-gradient(180deg,var(--prod-bg),var(--prod-bg-2));
  text-rendering: optimizeLegibility;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: var(--prod-pattern-micro);
  background-size: 10px 10px;
  background-repeat: repeat;
  opacity: .032;
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(ellipse 62% 54% at 50% 48%, rgba(0,0,0,.14), rgba(0,0,0,.50) 60%, #000 100%);
          mask-image: radial-gradient(ellipse 62% 54% at 50% 48%, rgba(0,0,0,.14), rgba(0,0,0,.50) 60%, #000 100%);
}
html[data-theme='light'] body::before {
  opacity: .012;
  mix-blend-mode: multiply;
}
button, a, input, select, textarea {
  -webkit-tap-highlight-color: transparent;
}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--prod-cyan) 76%, white);
  outline-offset: 3px;
}
::selection { background: rgba(28,201,212,.24); color: inherit; }

/* Do not let expensive blur dominate economy devices. */
html[data-perf-tier='economy'] {
  --prod-glass: rgba(4,15,18,.93);
  --prod-glass-strong: rgba(4,15,18,.97);
}
html[data-theme='light'][data-perf-tier='economy'] {
  --prod-glass: rgba(255,255,255,.96);
  --prod-glass-strong: rgba(255,255,255,.98);
}

/* ---------- main cinematic navbar ---------- */
.navbar {
  z-index: 80 !important;
  pointer-events: none;
}
.navbar_content {
  min-height: 84px !important;
  height: 84px !important;
  padding: 12px clamp(14px,3vw,34px) !important;
  background: transparent !important;
  border: 0 !important;
  pointer-events: auto;
}
.navbar_container {
  width: min(100%, 1120px) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 16px !important;
}
.navbar_logo-link {
  grid-column: 2 !important;
  justify-self: center !important;
  width: clamp(150px,18vw,215px) !important;
  height: 58px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  background: transparent !important;
}
.navbar_logo {
  width: 100% !important;
  height: 100% !important;
  max-height: 58px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 6px 16px rgba(0,0,0,.08));
}
.navbar_sound-wrapper {
  grid-column: 1 !important;
  justify-self: start !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
}
.navbar_menu-wrapper {
  grid-column: 3 !important;
  justify-self: end !important;
}
.navbar_table,
.westo-back-categories,
.navbar_menu-button,
#nav-auth-btn {
  min-height: 54px !important;
  border: 1px solid var(--prod-line-neutral) !important;
  border-radius: 999px !important;
  color: var(--prod-ink) !important;
  background: var(--prod-glass) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
  backdrop-filter: blur(14px) saturate(1.08) !important;
  box-shadow: 0 13px 34px rgba(0,0,0,.13), inset 0 1px 0 rgba(255,255,255,.05) !important;
  transition: border-color .22s ease, background .25s ease, transform .18s var(--prod-ease), box-shadow .25s ease !important;
}
.navbar_table {
  padding-inline: 18px !important;
  gap: 8px !important;
}
.westo-back-categories { padding-inline: 16px !important; }
.navbar_menu-button { min-width: 112px !important; padding-inline: 20px !important; }
.navbar_menu-button-wrapper { gap: 10px !important; }
.navbar_menu-button:hover,
.navbar_table:hover,
.westo-back-categories:hover {
  border-color: color-mix(in srgb, var(--prod-cyan) 42%, transparent) !important;
  background: color-mix(in srgb, var(--prod-glass-strong) 90%, var(--prod-cyan) 2%) !important;
  transform: translateY(-1px) !important;
}
.navbar_menu-button:active,
.navbar_table:active,
.westo-back-categories:active { transform: translateY(1px) scale(.994) !important; }
.navbar_menu-button .westo-menu-trigger__icon { color: var(--prod-cyan) !important; }
.scroll_component {
  position: fixed !important;
  top: 0 !important;
  inset-inline: 0 !important;
  height: 2px !important;
  opacity: .72 !important;
}
.scroll_indicator__core {
  background: linear-gradient(90deg, rgba(28,201,212,.18), var(--prod-cyan-hi)) !important;
  box-shadow: 0 0 9px rgba(28,201,212,.20) !important;
}

/* ---------- full site menu overlay ---------- */
.navbar_menu {
  border: 1px solid var(--prod-line-neutral) !important;
  background:
    radial-gradient(50rem 36rem at 15% 20%, rgba(28,201,212,.08), transparent 68%),
    var(--prod-glass-strong) !important;
  box-shadow: 0 34px 100px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.055) !important;
}
.navbar_menu-grain {
  background-image: var(--prod-pattern-micro) !important;
  background-size: 10px 10px !important;
  opacity: .035 !important;
}
.navbar_link {
  border-color: var(--prod-line-neutral) !important;
  transition: background .22s ease, border-color .22s ease, transform .2s var(--prod-ease) !important;
}
.navbar_link:hover {
  background: rgba(28,201,212,.045) !important;
  border-color: rgba(28,201,212,.24) !important;
  transform: translateX(-2px);
}
html[dir='ltr'] .navbar_link:hover { transform: translateX(2px); }

/* ========================================================================
   APPROVED ENTRANCE v8 — pixel-polished integration on original DOM
   ======================================================================== */
#westo-entrance {
  --eg-accent: var(--prod-cyan);
  --eg-accent-bright: var(--prod-cyan-hi);
  background: #020708 !important;
}
html[data-theme='light'] #westo-entrance { background: #f5f1e9 !important; }
#westo-entrance::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: var(--prod-pattern-micro);
  background-size: 10px 10px;
  background-repeat: repeat;
  opacity: .044;
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(ellipse 58% 48% at 50% 48%, rgba(0,0,0,.12), rgba(0,0,0,.52) 64%, #000);
          mask-image: radial-gradient(ellipse 58% 48% at 50% 48%, rgba(0,0,0,.12), rgba(0,0,0,.52) 64%, #000);
}
html[data-theme='light'] #westo-entrance::after { opacity: .016; mix-blend-mode: multiply; }
#westo-entrance .eg-ambient__photo img {
  filter: saturate(.78) brightness(.44) contrast(1.09) !important;
  transform: scale(1.045) !important;
}
html[data-theme='light'] #westo-entrance .eg-ambient__photo img {
  filter: saturate(.54) brightness(1.24) contrast(.90) !important;
}
#westo-entrance .eg-ambient__veil {
  background:
    linear-gradient(180deg,rgba(1,6,8,.54),rgba(1,7,9,.32) 36%,rgba(1,5,7,.88)),
    radial-gradient(ellipse 76% 56% at 50% 43%,transparent 14%,rgba(1,6,8,.28) 55%,rgba(1,5,7,.80)) !important;
}
html[data-theme='light'] #westo-entrance .eg-ambient__veil {
  background:
    linear-gradient(180deg,rgba(248,245,239,.70),rgba(248,245,239,.46) 36%,rgba(245,241,233,.86)),
    radial-gradient(ellipse 76% 56% at 50% 43%,transparent 16%,rgba(245,241,233,.25) 56%,rgba(245,241,233,.70)) !important;
}
#westo-entrance .eg-pattern { display: none !important; }
#westo-entrance .eg-shell {
  width: min(100%, 1180px) !important;
  padding: calc(18px + var(--eg-safe-t)) clamp(14px,3vw,30px) calc(18px + var(--eg-safe-b)) !important;
  gap: clamp(12px,1.8vh,20px) !important;
}
#westo-entrance .eg-top {
  min-height: 68px !important;
  position: relative !important;
  z-index: 3 !important;
}
#westo-entrance .eg-top > .eg-glass-btn:first-child {
  width: 66px !important;
  min-width: 66px !important;
  height: 66px !important;
  min-height: 66px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(56,209,218,.35) !important;
  color: #36d5dd !important;
  background: rgba(4,13,16,.70) !important;
  box-shadow: 0 13px 38px rgba(0,0,0,.20), inset 0 1px rgba(255,255,255,.055) !important;
}
html[data-theme='light'] #westo-entrance .eg-top > .eg-glass-btn:first-child {
  color: #111716 !important;
  background: rgba(255,255,255,.76) !important;
  border-color: rgba(11,170,182,.22) !important;
}
#westo-entrance #eg-site-menu.westo-menu-trigger {
  min-width: 126px !important;
  min-height: 62px !important;
  padding: 0 21px !important;
  gap: 13px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(56,209,218,.26) !important;
  background: rgba(4,13,16,.70) !important;
  box-shadow: 0 13px 38px rgba(0,0,0,.20), inset 0 1px rgba(255,255,255,.05) !important;
}
html[data-theme='light'] #westo-entrance #eg-site-menu.westo-menu-trigger {
  background: rgba(255,255,255,.76) !important;
  border-color: rgba(11,170,182,.20) !important;
}
#westo-entrance .eg-mid { padding-inline: 0 !important; z-index: 2 !important; }
#westo-entrance .eg-card {
  width: min(100%, 880px) !important;
  padding: clamp(38px,5.2vh,62px) clamp(25px,5vw,54px) clamp(27px,3.8vh,42px) !important;
  border-radius: 38px !important;
  border: 1px solid rgba(64,222,231,.29) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.024),transparent 18%),
    linear-gradient(148deg,rgba(4,17,20,.85),rgba(5,25,28,.71)) !important;
  box-shadow:
    0 38px 100px rgba(0,0,0,.44),
    0 0 0 1px rgba(38,210,220,.018),
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 0 94px rgba(28,190,200,.045) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.06) !important;
  backdrop-filter: blur(14px) saturate(1.06) !important;
}
html[data-theme='light'] #westo-entrance .eg-card {
  background: linear-gradient(150deg,rgba(255,255,255,.95),rgba(250,248,243,.90)) !important;
  border-color: rgba(11,170,182,.18) !important;
  box-shadow: 0 30px 90px rgba(38,48,45,.11), inset 0 1px 0 rgba(255,255,255,.95) !important;
}
#westo-entrance .eg-card::before {
  height: 1px !important;
  inset-inline: 5% !important;
  top: 0 !important;
  background: linear-gradient(90deg,transparent,rgba(99,236,243,.78) 26%,rgba(99,236,243,.20) 60%,transparent) !important;
  opacity: .62 !important;
}
#westo-entrance .eg-card__glow {
  background:
    radial-gradient(ellipse 54% 28% at 50% 13%,rgba(28,201,212,.055),transparent 70%),
    radial-gradient(ellipse 58% 22% at 50% 100%,rgba(28,201,212,.045),transparent 70%) !important;
}
#westo-entrance .eg-card__reflect { opacity: .07 !important; }
#westo-entrance .eg-logo-stage {
  width: clamp(132px,15vw,170px) !important;
  margin: 0 auto 13px !important;
}
#westo-entrance .eg-logo-png {
  filter: drop-shadow(0 18px 32px rgba(0,0,0,.29)) !important;
}
#westo-entrance .eg-brand-wordmark-img {
  width: min(420px,64vw) !important;
  max-height: 88px !important;
}
#westo-entrance .eg-tagline {
  margin-top: 13px !important;
  font-size: clamp(14px,1.3vw,17px) !important;
  color: var(--prod-muted) !important;
}
#westo-entrance .eg-subtitle {
  margin-top: 5px !important;
  color: rgba(64,214,222,.78) !important;
  font-size: 12px !important;
  letter-spacing: .30em !important;
}
#westo-entrance .eg-status {
  min-height: 52px !important;
  margin-top: clamp(17px,2vh,24px) !important;
  padding: 7px 20px !important;
  border-color: rgba(70,218,226,.25) !important;
  background: rgba(3,14,17,.38) !important;
  border-radius: 999px !important;
  color: var(--prod-muted) !important;
  box-shadow: inset 0 0 20px rgba(28,201,212,.02), 0 7px 20px rgba(0,0,0,.07) !important;
}
html[data-theme='light'] #westo-entrance .eg-status {
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(11,170,182,.18) !important;
}
#westo-entrance .eg-experience {
  margin-top: clamp(17px,2vh,25px) !important;
  gap: 14px !important;
}
#westo-entrance .eg-experience__lead { color: var(--prod-muted) !important; font-size: 14px !important; }
#westo-entrance .eg-steps-row {
  width: min(100%,560px) !important;
  gap: 13px !important;
}
#westo-entrance .eg-steps-row::before {
  top: 34px !important;
  inset-inline: 44px !important;
  background: repeating-linear-gradient(90deg,rgba(58,220,230,.45) 0 4px,transparent 4px 12px) !important;
}
#westo-entrance .eg-step-icon {
  width: 68px !important;
  height: 68px !important;
  background: radial-gradient(circle,rgba(28,201,212,.10),transparent 68%),rgba(3,15,18,.74) !important;
  border-color: rgba(53,222,233,.53) !important;
  box-shadow: inset 0 0 0 4px rgba(35,224,235,.018),0 0 22px rgba(28,201,212,.045) !important;
}
html[data-theme='light'] #westo-entrance .eg-step-icon {
  background: rgba(255,255,255,.72) !important;
  color: #078d98 !important;
}
#westo-entrance .eg-step-label { color: var(--prod-muted) !important; font-size: 11px !important; }
#westo-entrance .eg-progress { margin-top: 3px !important; gap: 18px !important; }
#westo-entrance .eg-progress__track { height: 4px !important; background: rgba(255,255,255,.055) !important; }
#westo-entrance .eg-progress__fill { background: linear-gradient(90deg,#087e88,#21c9d4 58%,#70eef3) !important; box-shadow: 0 0 13px rgba(35,226,236,.16) !important; }
#westo-entrance .eg-progress__pct { color: var(--prod-cyan-hi) !important; font-weight: 800 !important; }
#westo-entrance .eg-quote { color: var(--prod-muted) !important; margin-top: 3px !important; font-size: 14px !important; }
#westo-entrance .eg-cta {
  min-height: 82px !important;
  height: 82px !important;
  border-radius: 999px !important;
  border-color: rgba(80,235,244,.82) !important;
  background:
    radial-gradient(250px 100px at 14% 50%,rgba(103,235,241,.13),transparent 72%),
    linear-gradient(108deg,#0a5962,#0b7781 55%,#09646e) !important;
  box-shadow: 0 20px 48px rgba(0,104,114,.19), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
html[data-theme='light'] #westo-entrance .eg-cta {
  background: linear-gradient(108deg,#14c2cd,#0fa9b4 58%,#0a929d) !important;
  color: #fff !important;
}
#westo-entrance .eg-cta::before {
  display: block !important;
  content: '' !important;
  position: absolute !important;
  inset-block: -4px !important;
  inset-inline-start: -7px !important;
  width: min(250px,36%) !important;
  background-image: var(--prod-cta-pattern) !important;
  background-size: cover !important;
  background-position: 18% 46% !important;
  background-repeat: no-repeat !important;
  opacity: .22 !important;
  mix-blend-mode: screen !important;
  clip-path: polygon(0 0,78% 0,100% 26%,82% 56%,96% 100%,0 100%) !important;
  -webkit-mask-image: linear-gradient(90deg,#000 0 38%,rgba(0,0,0,.88) 50%,rgba(0,0,0,.5) 67%,transparent 90%) !important;
          mask-image: linear-gradient(90deg,#000 0 38%,rgba(0,0,0,.88) 50%,rgba(0,0,0,.5) 67%,transparent 90%) !important;
  z-index: -1 !important;
}
html[dir='ltr'] #westo-entrance .eg-cta::before {
  inset-inline-start: auto !important;
  inset-inline-end: -7px !important;
  transform: scaleX(-1);
}
html[data-theme='light'] #westo-entrance .eg-cta::before { opacity: .16 !important; mix-blend-mode: soft-light !important; }
#westo-entrance .eg-cta:not(:disabled):hover { transform: translateY(-2px) !important; border-color: rgba(110,242,248,.95) !important; }
#westo-entrance .eg-cta-arrow { transition: transform .24s var(--prod-ease) !important; }
#westo-entrance .eg-cta:not(:disabled):hover .eg-cta-arrow { transform: translateX(-5px) !important; }
html[dir='ltr'] #westo-entrance .eg-cta:not(:disabled):hover .eg-cta-arrow { transform: translateX(5px) !important; }

/* ========================================================================
   CATEGORY INDEX — preserve Three.js carousel logic, replace visual system
   ======================================================================== */
main.main-wrapper > canvas {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
.section.is-gamme {
  position: relative !important;
  min-height: 100svh !important;
  height: 100svh !important;
  overflow: hidden !important;
  z-index: 3 !important;
  background: transparent !important;
}
.section.is-gamme::before {
  content: '';
  position: absolute;
  width: min(66vw, 760px);
  aspect-ratio: 1;
  left: 50%;
  top: 43%;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: radial-gradient(circle,var(--cat-glow,rgba(120,160,80,.18)),transparent 68%);
  filter: blur(14px);
  opacity: .78;
  pointer-events: none;
}
.section.is-gamme .gamme_container,
.section.is-gamme .padding-global,
.section.is-gamme .container-large,
.section.is-gamme .padding-bottom,
.section.is-gamme .max-width-medium {
  min-height: 100% !important;
  height: 100% !important;
}
.section.is-gamme .gamme_container > .padding-global > .container-large > .padding-bottom > .max-width-medium {
  position: relative !important;
  display: grid !important;
  grid-template-rows: 1fr auto !important;
  align-items: end !important;
  justify-items: center !important;
  padding: 92px 18px 22px !important;
}
.gamme_gradient-wrapper { opacity: .26 !important; }
.carousel_title-collection {
  position: absolute !important;
  left: 50% !important;
  bottom: clamp(205px,20vh,260px) !important;
  transform: translateX(-50%) !important;
  width: min(800px,92vw) !important;
  z-index: 4 !important;
  text-align: center !important;
  pointer-events: none !important;
}
.carousel_list.is-hero {
  width: 100% !important;
  text-align: center !important;
}
.carousel_list.is-hero .carousel_slide {
  width: 100% !important;
  text-align: center !important;
}
.carousel_list.is-hero .heading-style-h2 {
  font-size: clamp(42px,5.4vw,68px) !important;
  line-height: .96 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  color: var(--prod-ink) !important;
  text-shadow: 0 12px 34px rgba(0,0,0,.20) !important;
}
.carousel_list.is-hero .heading-style-h2 span + span { margin-inline-start: .18em !important; }
.carousel_nav {
  position: absolute !important;
  inset: 0 !important;
  z-index: 7 !important;
  pointer-events: none !important;
}
.carousel_arrow {
  pointer-events: auto !important;
  position: absolute !important;
  top: 48% !important;
  width: 50px !important;
  height: 50px !important;
  border: 1px solid var(--prod-line-neutral) !important;
  border-radius: 50% !important;
  color: var(--prod-ink) !important;
  background: var(--prod-glass) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.12) !important;
  transition: transform .2s var(--prod-ease), border-color .2s ease !important;
}
.carousel_arrow.is-prev { inset-inline-start: clamp(16px,4vw,54px) !important; }
.carousel_arrow.is-next { inset-inline-end: clamp(16px,4vw,54px) !important; }
.carousel_arrow:hover { border-color: color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 52%,transparent) !important; transform: translateY(-1px) !important; }
.carousel_pagination {
  position: absolute !important;
  left: 50% !important;
  bottom: 111px !important;
  transform: translateX(-50%) !important;
  width: min(660px,74vw) !important;
  height: 14px !important;
  z-index: 5 !important;
}
.carousel_pagination-svg { height: 14px !important; overflow: visible !important; }
.carousel_pagination-bar { opacity: .70 !important; }
.scroll_discover {
  position: absolute !important;
  left: 50% !important;
  bottom: 135px !important;
  transform: translateX(-50%) !important;
  z-index: 5 !important;
  color: var(--prod-muted) !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

/* Editorial meta mounted by production-v11.js */
.westo-prod-hero-meta {
  position: absolute;
  left: 50%;
  bottom: clamp(275px,27vh,330px);
  transform: translateX(-50%);
  width: min(760px,88vw);
  z-index: 5;
  text-align: center;
  pointer-events: none;
}
.westo-prod-hero-kicker {
  color: color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 72%,var(--prod-muted));
  font: 600 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing: .30em;
  direction: ltr;
  text-transform: uppercase;
}
.westo-prod-hero-desc {
  margin: 74px auto 0;
  max-width: 530px;
  color: var(--prod-muted);
  font-size: 13px;
  line-height: 1.8;
}
.westo-prod-hero-desc::before {
  content: '◇';
  color: var(--cat-accent,var(--prod-cyan));
  margin-inline-end: 8px;
}
.westo-prod-hero-cats {
  position: absolute;
  left: 50%;
  bottom: 19px;
  transform: translateX(-50%);
  width: min(880px,94vw);
  height: 78px;
  padding: 7px;
  z-index: 8;
  display: flex;
  align-items: stretch;
  gap: 4px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  border: 1px solid var(--prod-line-neutral);
  border-radius: 39px;
  background: var(--prod-glass);
  -webkit-backdrop-filter: blur(15px) saturate(1.08);
  backdrop-filter: blur(15px) saturate(1.08);
  box-shadow: 0 16px 42px rgba(0,0,0,.13), inset 0 1px 0 rgba(255,255,255,.05);
  direction: rtl;
}
.westo-prod-hero-cats::-webkit-scrollbar { display: none; }
.westo-prod-hero-cat {
  appearance: none;
  flex: 0 0 94px;
  min-width: 94px;
  border: 0;
  border-radius: 28px;
  background: transparent;
  color: var(--prod-muted);
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 7px;
  padding: 5px 8px;
  cursor: pointer;
  transition: color .2s ease, background .25s ease, box-shadow .25s ease, transform .18s var(--prod-ease);
}
.westo-prod-hero-cat img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: drop-shadow(0 4px 7px rgba(0,0,0,.13));
}
.westo-prod-hero-cat span {
  font-size: 9px;
  line-height: 1.3;
  white-space: nowrap;
}
.westo-prod-hero-cat:hover { color: var(--prod-ink); background: rgba(255,255,255,.035); }
.westo-prod-hero-cat:active { transform: translateY(1px); }
.westo-prod-hero-cat.is-active {
  color: var(--prod-ink);
  background: color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 9%,transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 35%,transparent);
}

/* ========================================================================
   DISH STORY — preserve scroll state machine, re-skin to concept system
   ======================================================================== */
html.is-dish-boards body {
  background:
    radial-gradient(50rem 40rem at 50% 36%, var(--cat-glow,rgba(120,160,80,.18)), transparent 68%),
    linear-gradient(180deg,var(--prod-bg),var(--prod-bg-2)) !important;
}
html[data-theme='light'].is-dish-boards body {
  background:
    radial-gradient(50rem 40rem at 50% 36%, var(--cat-glow,rgba(120,160,80,.18)), transparent 68%),
    linear-gradient(180deg,var(--cat-surface,#f6f9f2),var(--cat-wash,#eef3e8)) !important;
}
.westo-dish-catbar {
  top: 82px !important;
  width: min(930px,96vw) !important;
  min-height: 76px !important;
  padding: 7px 10px !important;
  border: 1px solid var(--prod-line-neutral) !important;
  border-radius: 38px !important;
  background: var(--prod-glass) !important;
  -webkit-backdrop-filter: blur(15px) saturate(1.08) !important;
  backdrop-filter: blur(15px) saturate(1.08) !important;
  box-shadow: 0 16px 44px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.westo-dish-catbar::before { opacity: .32 !important; }
.westo-dish-catbar__track {
  gap: 5px !important;
  padding-inline: 8px !important;
}
.westo-dish-catbar__chip {
  min-width: 90px !important;
  height: 61px !important;
  padding: 4px 8px !important;
  border-radius: 26px !important;
  color: var(--prod-muted) !important;
  transition: transform .18s var(--prod-ease), color .22s ease, background .24s ease, box-shadow .24s ease !important;
}
.westo-dish-catbar__icon {
  width: 34px !important;
  height: 34px !important;
  box-shadow: none !important;
  border: 0 !important;
  background: transparent !important;
}
.westo-dish-catbar__thumb { object-fit: contain !important; filter: drop-shadow(0 4px 7px rgba(0,0,0,.14)) !important; }
.westo-dish-catbar__label { font-size: 9px !important; line-height: 1.1 !important; max-width: 76px !important; }
.westo-dish-catbar__chip.is-active {
  color: var(--prod-ink) !important;
  background: color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 10%,transparent) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 38%,transparent) !important;
}
.westo-dish-catbar__chip.is-active::after {
  width: 22px !important;
  height: 2px !important;
  bottom: 3px !important;
  border-radius: 3px !important;
  background: var(--cat-accent,var(--prod-cyan)) !important;
  box-shadow: 0 0 12px var(--cat-glow,rgba(28,201,212,.20)) !important;
}
.westo-dish-catbar__chip:hover { color: var(--prod-ink) !important; background: rgba(255,255,255,.035) !important; }

html.is-dish-boards section.is-benefits {
  background: transparent !important;
}
html.is-dish-boards section.is-benefits .benefits_container {
  position: relative !important;
}
html.is-dish-boards section.is-benefits .dish-board-media {
  isolation: isolate !important;
}
html.is-dish-boards section.is-benefits .dish-board-media::before {
  content: '' !important;
  position: absolute !important;
  width: 78% !important;
  aspect-ratio: 1 !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%,-50%) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle,var(--cat-glow,rgba(120,160,80,.18)),transparent 70%) !important;
  filter: blur(13px) !important;
  opacity: .90 !important;
  z-index: -1 !important;
}
html.is-dish-boards section.is-benefits .dish-board-media::after {
  background: radial-gradient(ellipse at center,rgba(0,0,0,.25),transparent 70%) !important;
  opacity: .32 !important;
}
html.is-dish-boards section.is-benefits .dish-board-media img {
  filter: drop-shadow(0 30px 34px rgba(0,0,0,.28)) !important;
  will-change: transform, opacity !important;
}
html[data-theme='light'].is-dish-boards section.is-benefits .dish-board-media img {
  filter: drop-shadow(0 27px 30px rgba(36,45,40,.17)) !important;
}

html.is-dish-boards #westo-dish-card.is-shared-dish-card {
  border-radius: 30px !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),
    var(--prod-glass-strong) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  box-shadow: 0 22px 62px rgba(0,0,0,.27), inset 0 1px 0 rgba(255,255,255,.09) !important;
  overflow: hidden !important;
}
html[data-theme='light'].is-dish-boards #westo-dish-card.is-shared-dish-card {
  border-color: rgba(15,30,27,.11) !important;
  background: linear-gradient(180deg,rgba(255,255,255,.93),rgba(255,255,255,.76)) !important;
  box-shadow: 0 20px 52px rgba(38,48,43,.11), inset 0 1px 0 #fff !important;
}
html.is-dish-boards #westo-dish-card.is-shared-dish-card::before {
  opacity: .10 !important;
  background:
    radial-gradient(18rem 10rem at 6% 100%, color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 14%,transparent),transparent 70%),
    linear-gradient(90deg,transparent,rgba(255,255,255,.02)) !important;
}
html.is-dish-boards #westo-dish-card.is-shared-dish-card::after {
  content: '' !important;
  position: absolute !important;
  inset-inline-start: -46px !important;
  bottom: -55px !important;
  width: 190px !important;
  height: 150px !important;
  background-image: var(--prod-cta-pattern) !important;
  background-size: cover !important;
  opacity: .045 !important;
  -webkit-mask-image: linear-gradient(90deg,#000,transparent) !important;
          mask-image: linear-gradient(90deg,#000,transparent) !important;
  pointer-events: none !important;
}
html.is-dish-boards #westo-dish-card [data-menu-name] {
  font-size: clamp(25px,3.3vw,37px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
  font-weight: 900 !important;
  color: var(--prod-ink) !important;
}
html.is-dish-boards #westo-dish-card [data-menu-desc] {
  color: var(--prod-muted) !important;
  font-size: clamp(11px,1.1vw,13px) !important;
  line-height: 1.9 !important;
}
html.is-dish-boards #westo-dish-card .menu-cat-label {
  color: color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 72%,var(--prod-muted)) !important;
  letter-spacing: .18em !important;
  font-size: 10px !important;
}
html.is-dish-boards #westo-dish-card .subhead_text:has([data-menu-price]) {
  border-color: var(--prod-line-neutral) !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--prod-muted) !important;
}
html.is-dish-boards #westo-dish-card .menu-allergen {
  border-color: var(--prod-line-neutral) !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--prod-muted) !important;
}
html.is-dish-boards #westo-dish-card .menu-add-btn.glass-button {
  min-height: 46px !important;
  border: 1px solid color-mix(in srgb,var(--prod-cyan) 36%,transparent) !important;
  border-radius: 999px !important;
  background: linear-gradient(110deg,rgba(10,89,98,.88),rgba(11,119,129,.91)) !important;
  color: white !important;
  box-shadow: 0 10px 26px rgba(0,104,114,.16), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
html[data-theme='light'].is-dish-boards #westo-dish-card .menu-add-btn.glass-button {
  background: linear-gradient(110deg,#12b8c3,#0e98a4) !important;
}
.benefits_nav.is-menu-rail {
  border: 1px solid var(--prod-line-neutral) !important;
  border-radius: 26px !important;
  background: var(--prod-glass) !important;
  -webkit-backdrop-filter: blur(13px) saturate(1.06) !important;
  backdrop-filter: blur(13px) saturate(1.06) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.13), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.benefits_nav.is-menu-rail .benefits_icon-wrapper {
  border-radius: 18px !important;
  border-color: transparent !important;
  transition: background .22s ease, border-color .22s ease, transform .18s var(--prod-ease) !important;
}
.benefits_nav.is-menu-rail .benefits_icon-wrapper.is-active,
.benefits_nav.is-menu-rail .benefits_icon-wrapper.w--current {
  background: color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 9%,transparent) !important;
  border-color: color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 38%,transparent) !important;
}
.benefits_nav.is-menu-rail .benefits_dish-thumb {
  object-fit: contain !important;
  filter: drop-shadow(0 4px 7px rgba(0,0,0,.14)) !important;
}
.benefits_nav.is-menu-rail .benefits_rail-label { color: var(--prod-muted) !important; font-size: 9px !important; }
.benefits_nav.is-menu-rail .benefits_icon-wrapper.is-active .benefits_rail-label { color: var(--prod-ink) !important; }

/* ========================================================================
   CART / QUANTITY / ORDER — preserve full source behavior, unify design
   ======================================================================== */
.qty-modal__backdrop,
.table-drawer__backdrop {
  background: rgba(0,0,0,.46) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
}
.qty-modal__card,
.table-drawer__panel {
  border-color: var(--prod-line-neutral) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 30%),
    var(--prod-glass-strong) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.055) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.08) !important;
  backdrop-filter: blur(20px) saturate(1.08) !important;
}
html[data-theme='light'] .qty-modal__card,
html[data-theme='light'] .table-drawer__panel {
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 28px 80px rgba(40,50,45,.14), inset 0 1px 0 #fff !important;
}
.table-line,
.table-pay-opt,
.qty-circle,
.table-drawer input {
  border-color: var(--prod-line-neutral) !important;
  background: rgba(255,255,255,.035) !important;
}
.table-drawer .btn:not(.btn-ghost),
#qty-confirm.glass-button {
  border-radius: 999px !important;
  background: linear-gradient(108deg,#0a5962,#0b7781) !important;
  color: white !important;
  border-color: rgba(80,235,244,.38) !important;
}

/* ========================================================================
   CLASSIC FULL MENU — same design system, grid/list functionality preserved
   ======================================================================== */
body.classic-menu {
  --cm-bg: var(--prod-bg) !important;
  --cm-surface: var(--prod-glass) !important;
  --cm-card: var(--prod-glass-strong) !important;
  --cm-border: var(--prod-line-neutral) !important;
  --cm-ink: var(--prod-ink) !important;
  --cm-muted: var(--prod-muted) !important;
  min-height: 100svh !important;
  background:
    radial-gradient(50rem 38rem at 50% 20%,var(--cat-glow,rgba(120,160,80,.16)),transparent 70%),
    linear-gradient(180deg,var(--prod-bg),var(--prod-bg-2)) !important;
}
body.classic-menu::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: var(--prod-pattern-micro);
  background-size: 10px 10px;
  opacity: .027;
  mix-blend-mode: screen;
  z-index: -1;
}
html[data-theme='light'] body.classic-menu {
  background:
    radial-gradient(50rem 38rem at 50% 20%,var(--cat-glow,rgba(120,160,80,.14)),transparent 70%),
    linear-gradient(180deg,var(--cat-surface,#f6f9f2),var(--cat-wash,#eef3e8)) !important;
}
html[data-theme='light'] body.classic-menu::before { opacity: .010; mix-blend-mode: multiply; }
.cm-header {
  padding: 12px 14px 0 !important;
  background: transparent !important;
  border: 0 !important;
}
.cm-header__bar {
  max-width: 1180px !important;
  min-height: 72px !important;
  padding: 8px 12px !important;
  border: 1px solid var(--prod-line-neutral) !important;
  border-radius: 36px !important;
  background: var(--prod-glass) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
  backdrop-filter: blur(16px) saturate(1.08) !important;
  box-shadow: 0 16px 44px rgba(0,0,0,.13), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.cm-logo { width: 170px !important; height: 50px !important; }
.cm-logo img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.cm-icon-btn,
.cm-table-btn,
.cm-lang-btn {
  min-height: 48px !important;
  border: 1px solid var(--prod-line-neutral) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--prod-ink) !important;
  box-shadow: none !important;
}
.cm-icon-btn:hover,
.cm-table-btn:hover,
.cm-lang-btn:hover { border-color: rgba(28,201,212,.26) !important; background: rgba(28,201,212,.035) !important; }
.cm-search-panel {
  max-width: 1180px !important;
  margin: 8px auto 0 !important;
  padding: 8px !important;
  border: 1px solid var(--prod-line-neutral) !important;
  border-radius: 24px !important;
  background: var(--prod-glass) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  backdrop-filter: blur(14px) !important;
}
.cm-search-panel input {
  min-height: 50px !important;
  border-radius: 18px !important;
  border-color: var(--prod-line-neutral) !important;
  background: rgba(255,255,255,.03) !important;
  color: var(--prod-ink) !important;
}
.cm-cats-wrap { max-width: 1180px !important; margin: 9px auto 0 !important; padding: 0 !important; }
.cm-cats {
  min-height: 76px !important;
  padding: 7px !important;
  gap: 5px !important;
  border: 1px solid var(--prod-line-neutral) !important;
  border-radius: 38px !important;
  background: var(--prod-glass) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  backdrop-filter: blur(14px) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.11), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.cm-cat {
  min-width: 94px !important;
  min-height: 60px !important;
  padding: 5px 8px !important;
  border-radius: 28px !important;
  color: var(--prod-muted) !important;
  border-color: transparent !important;
  background: transparent !important;
}
.cm-cat__thumb,
.cm-cat__thumb--empty {
  width: 37px !important;
  height: 37px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 4px 7px rgba(0,0,0,.13)) !important;
}
.cm-cat__label { font-size: 9px !important; }
.cm-cat.is-active {
  color: var(--prod-ink) !important;
  background: color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 9%,transparent) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 36%,transparent) !important;
}
.cm-shell { max-width: 1180px !important; padding: 24px 18px 50px !important; }
.cm-meta { color: var(--prod-muted) !important; font-size: 12px !important; padding-inline: 4px !important; }
.cm-grid {
  gap: clamp(12px,2vw,20px) !important;
  grid-template-columns: repeat(auto-fit,minmax(min(220px,100%),1fr)) !important;
}
.cm-item {
  min-height: 330px !important;
  border: 1px solid var(--prod-line-neutral) !important;
  border-radius: 28px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),transparent 34%),
    var(--prod-glass) !important;
  overflow: hidden !important;
  box-shadow: 0 16px 44px rgba(0,0,0,.11), inset 0 1px 0 rgba(255,255,255,.035) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
  transition: transform .24s var(--prod-ease), border-color .24s ease, box-shadow .24s ease !important;
}
.cm-item:hover {
  transform: translateY(-3px) !important;
  border-color: color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 38%,transparent) !important;
  box-shadow: 0 22px 55px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.cm-item__media {
  min-height: 220px !important;
  padding: 14px !important;
  background: radial-gradient(circle at 50% 58%,var(--cat-glow,rgba(120,160,80,.14)),transparent 65%) !important;
}
.cm-item__media img {
  width: 100% !important;
  height: 220px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 18px 20px rgba(0,0,0,.22)) !important;
  transition: transform .35s var(--prod-ease) !important;
}
.cm-item:hover .cm-item__media img { transform: scale(1.025) translateY(-2px); }
.cm-item__body { padding: 15px 17px 17px !important; }
.cm-item__name { font-size: 17px !important; color: var(--prod-ink) !important; line-height: 1.45 !important; }
.cm-item__en { color: var(--prod-muted) !important; font-size: 10px !important; letter-spacing: .08em !important; }
.cm-item__price { color: color-mix(in srgb,var(--cat-accent,var(--prod-cyan)) 76%,var(--prod-ink)) !important; font-weight: 800 !important; }
.cm-detail__backdrop,
.cm-drawer__backdrop { background: rgba(0,0,0,.46) !important; -webkit-backdrop-filter: blur(10px) !important; backdrop-filter: blur(10px) !important; }
.cm-detail__card,
.cm-drawer__panel {
  border-color: var(--prod-line-neutral) !important;
  background: var(--prod-glass-strong) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.05) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.08) !important;
  backdrop-filter: blur(20px) saturate(1.08) !important;
}
.cm-detail__media { background: radial-gradient(circle,var(--cat-glow,rgba(120,160,80,.16)),transparent 66%) !important; }
.cm-detail__media img { object-fit: contain !important; filter: drop-shadow(0 22px 25px rgba(0,0,0,.22)) !important; }
.cm-detail-add {
  border-radius: 999px !important;
  border-color: rgba(80,235,244,.38) !important;
  background: linear-gradient(108deg,#0a5962,#0b7781) !important;
  color: white !important;
}
html[data-theme='light'] .cm-detail-add { background: linear-gradient(108deg,#12b8c3,#0e98a4) !important; }

/* ---------- responsive safeguards ---------- */
@media (max-width: 991px) {
  .navbar_content { height: 72px !important; min-height: 72px !important; padding: 9px 10px !important; }
  .navbar_logo-link { width: 150px !important; height: 48px !important; }
  .navbar_table,.westo-back-categories,.navbar_menu-button { min-height: 50px !important; }
  .navbar_menu-button { min-width: 96px !important; padding-inline: 15px !important; }
  .navbar_table__label { display: none !important; }
  .westo-back-categories__label { font-size: 11px !important; }

  #westo-entrance .eg-shell { padding: calc(12px + var(--eg-safe-t)) 12px calc(13px + var(--eg-safe-b)) !important; }
  #westo-entrance .eg-top { min-height: 58px !important; }
  #westo-entrance .eg-top > .eg-glass-btn:first-child { width: 58px !important; min-width:58px !important; height:58px !important; min-height:58px !important; }
  #westo-entrance #eg-site-menu.westo-menu-trigger { min-height: 56px !important; min-width: 112px !important; padding-inline:17px !important; }
  #westo-entrance .eg-card { width:100% !important; border-radius:31px !important; padding: clamp(31px,4.5vh,44px) 18px 26px !important; }
  #westo-entrance .eg-logo-stage { width: 132px !important; margin-bottom:10px !important; }
  #westo-entrance .eg-brand-wordmark-img { width:min(360px,72vw) !important; max-height:72px !important; }
  #westo-entrance .eg-status { min-height:47px !important; font-size:12px !important; padding-inline:14px !important; }
  #westo-entrance .eg-step-icon { width:58px !important; height:58px !important; }
  #westo-entrance .eg-steps-row::before { top:29px !important; inset-inline:34px !important; }
  #westo-entrance .eg-step-label { font-size:9px !important; }
  #westo-entrance .eg-cta { min-height:72px !important; height:72px !important; }
  #westo-entrance .eg-cta::before { width:min(175px,40%) !important; }

  .section.is-gamme .gamme_container > .padding-global > .container-large > .padding-bottom > .max-width-medium { padding-top:72px !important; padding-bottom:13px !important; }
  .section.is-gamme::before { width:96vw !important; top:42% !important; }
  .carousel_title-collection { bottom: 190px !important; }
  .carousel_list.is-hero .heading-style-h2 { font-size: clamp(38px,10vw,52px) !important; }
  .westo-prod-hero-meta { bottom: 248px !important; }
  .westo-prod-hero-desc { margin-top: 55px !important; font-size:11px !important; max-width:84vw !important; }
  .carousel_pagination { bottom: 95px !important; width:78vw !important; }
  .scroll_discover { bottom:116px !important; font-size:10px !important; }
  .westo-prod-hero-cats { bottom:12px !important; height:70px !important; width:97vw !important; padding:6px !important; border-radius:35px !important; }
  .westo-prod-hero-cat { flex-basis:80px !important; min-width:80px !important; grid-template-columns:30px 1fr !important; padding:4px 5px !important; }
  .westo-prod-hero-cat img { width:30px !important; height:30px !important; }
  .carousel_arrow { width:42px !important; height:42px !important; top:46% !important; }
  .carousel_arrow.is-prev { inset-inline-start:6px !important; }
  .carousel_arrow.is-next { inset-inline-end:6px !important; }

  .westo-dish-catbar { top:70px !important; width:98vw !important; min-height:66px !important; padding:5px 7px !important; }
  .westo-dish-catbar__chip { min-width:78px !important; height:54px !important; }
  .westo-dish-catbar__icon { width:30px !important; height:30px !important; }
  .westo-dish-catbar__label { font-size:8px !important; }

  html.is-dish-boards #westo-dish-card.is-shared-dish-card { border-radius:24px !important; }
  .benefits_nav.is-menu-rail { border-radius:21px !important; }
}
@media (max-width: 600px) {
  .navbar_logo-link { width: 128px !important; }
  .navbar_menu-button { min-width: 84px !important; }
  .navbar_menu-button .text-block { font-size:11px !important; }
  .carousel_title-collection { bottom: 176px !important; }
  .westo-prod-hero-meta { bottom: 226px !important; }
  .westo-prod-hero-kicker { font-size:8px !important; }
  .westo-prod-hero-desc { display:none !important; }
  .carousel_pagination { bottom:87px !important; }
  .scroll_discover { bottom:106px !important; }
}
@media (max-height: 720px) and (min-width: 700px) {
  #westo-entrance .eg-card { padding-top:28px !important; padding-bottom:22px !important; }
  #westo-entrance .eg-logo-stage { width:112px !important; }
  #westo-entrance .eg-brand-wordmark-img { max-height:58px !important; }
  #westo-entrance .eg-tagline { margin-top:8px !important; }
  #westo-entrance .eg-experience { margin-top:12px !important; }
  #westo-entrance .eg-step-icon { width:52px !important; height:52px !important; }
  #westo-entrance .eg-steps-row::before { top:26px !important; }
  #westo-entrance .eg-cta { height:64px !important; min-height:64px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .cm-item,.cm-item__media img,.westo-prod-hero-cat,.navbar_table,.navbar_menu-button,.westo-back-categories { transition:none !important; }
}

/* economy: no expensive blur, but geometry remains identical */
html[data-perf-tier='economy'] .navbar_table,
html[data-perf-tier='economy'] .westo-back-categories,
html[data-perf-tier='economy'] .navbar_menu-button,
html[data-perf-tier='economy'] .westo-prod-hero-cats,
html[data-perf-tier='economy'] .westo-dish-catbar,
html[data-perf-tier='economy'] .benefits_nav.is-menu-rail,
html[data-perf-tier='economy'] .cm-header__bar,
html[data-perf-tier='economy'] .cm-cats,
html[data-perf-tier='economy'] .cm-item {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
