/** Shopify CDN: Minification failed

Line 25:0 All "@import" rules must come first

**/
/* ================================================================
   HOPE ESTATE — GLOBAL CUSTOM STYLES  v4-final
   Brand overrides, typography, header, cart, forms, collection, product
   ================================================================ */

/* ── Colour tokens ── */
:root {
  --he-black:    #111110;
  --he-dark:     #1f1f21;
  --he-gold:     #c9a84c;
  --he-gold-lt:  #e8c97a;
  --he-cream:    #f9f4e9;
  --he-white:    #ffffff;
  --he-muted:    #5a5a5a;
  --he-border:   rgba(31,31,33,0.12);
  --he-border-lt:rgba(255,255,255,0.08);
}

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Figtree:wght@400;500;600;700&display=swap');

/* ================================================================
   ANNOUNCEMENT BAR — hidden
   ================================================================ */
.shopify-section-group-header-group .shopify-section:has(.announcement-bar-section),
.announcement-bar-section,
.shopify-section-group-header-group > .shopify-section:first-child:not(:has(.section-header)) {
  display: none !important;
}

/* ================================================================
   HEADER — dark, matches footer design language
   Same: #111110 bg, Oswald labels, Figtree links, gold accents
   ================================================================ */
.section-header {
  position: sticky;
  top: 0;
  z-index: 200;
  transition: transform 0.3s ease;
}
.section-header.he-header-hidden { transform: translateY(-100%); }

/* Main header bar */
.header-wrapper,
.header {
  background-color: #111110 !important;
  border-bottom: 1px solid rgba(201,168,76,0.18) !important;
}

/* Logo — invert to white */
.header__heading-logo,
.header__heading-link img { filter: brightness(0) invert(1) !important; }

/* Top-level nav items — Oswald, uppercase, spaced */
.header__inline-menu .header__menu-item,
.header__inline-menu .header__menu-item > span,
.header__inline-menu > ul > li > a,
.header__inline-menu > ul > li > details > summary {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.82) !important;
  text-decoration: none !important;
}
.header__inline-menu .header__menu-item:hover,
.header__inline-menu .header__menu-item:hover > span {
  color: #c9a84c !important;
}
/* Active page indicator */
.header__active-menu-item {
  color: #c9a84c !important;
  border-bottom: 2px solid #c9a84c !important;
}

/* Header icons (cart, search, account) */
.header__icon svg { color: rgba(255,255,255,0.82) !important; }
.header__icon svg path,
.header__icon svg circle,
.header__icon svg polyline,
.header__icon svg line,
.header__icon svg rect { stroke: rgba(255,255,255,0.82) !important; fill: none !important; }
.header__icon:hover svg path,
.header__icon:hover svg circle,
.header__icon:hover svg line { stroke: #c9a84c !important; }

/* Caret arrow in dropdowns */
.header__menu-item .icon-caret { color: rgba(255,255,255,0.5) !important; }
.header__menu-item:hover .icon-caret { color: #c9a84c !important; }

/* ── DROPDOWN PANEL — matches footer style ── */
details[open] > .header__submenu,
.header__submenu {
  background-color: #1f1f21 !important;
  border: 1px solid rgba(201,168,76,0.18) !important;
  border-top: 2px solid #c9a84c !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.5) !important;
  border-radius: 0 !important;
  padding: 8px 0 !important;
  min-width: 200px !important;
}

/* Dropdown category heading (top-level link title inside panel) */
.header__submenu .header__menu-item--heading,
.header__submenu summary.list-menu__item {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #c9a84c !important;
  padding: 10px 20px 6px !important;
  border-bottom: 1px solid rgba(201,168,76,0.15) !important;
  margin-bottom: 4px !important;
  pointer-events: none !important;
}

/* Dropdown links — Figtree, matches footer link style */
.header__submenu .list-menu__item--link,
.header__submenu a.list-menu__item {
  font-family: 'Figtree', sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  color: rgba(255,255,255,0.65) !important;
  padding: 9px 20px !important;
  display: block !important;
  text-decoration: none !important;
  transition: color 0.16s ease, background 0.16s ease !important;
  border-bottom: none !important;
}
.header__submenu .list-menu__item--link:hover,
.header__submenu a.list-menu__item:hover {
  color: #c9a84c !important;
  background: rgba(201,168,76,0.07) !important;
}
/* Active state in dropdown */
.header__submenu .list-menu__item--active {
  color: #c9a84c !important;
  font-weight: 600 !important;
}

/* ── MOBILE MENU DRAWER — same dark treatment ── */
.menu-drawer__container,
.menu-drawer {
  background-color: #111110 !important;
  border-right: 1px solid rgba(201,168,76,0.15) !important;
}
.menu-drawer__inner-container { background: #111110 !important; }
/* Mobile nav links */
.menu-drawer .list-menu__item--link {
  font-family: 'Figtree', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: rgba(255,255,255,0.82) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  padding: 14px 0 !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
}
.menu-drawer .list-menu__item--link:hover { color: #c9a84c !important; }
/* Mobile drawer sub-heading */
.menu-drawer .header__menu-item--heading {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #c9a84c !important;
  padding: 12px 0 5px !important;
}
/* Close button */
.menu-drawer__close-button svg path,
.menu-drawer__close-button svg line { stroke: rgba(255,255,255,0.7) !important; }
.menu-drawer__close-button:hover svg path,
.menu-drawer__close-button:hover svg line { stroke: #c9a84c !important; }
/* Mobile burger icon */
.header__icon--menu svg path,
.header__icon--menu svg line { stroke: rgba(255,255,255,0.88) !important; }
/* Summary/details disclosure in mobile */
.menu-drawer details > summary {
  color: rgba(255,255,255,0.82) !important;
  font-family: 'Figtree', sans-serif !important;
}
/* Disclosure sub-list */
.menu-drawer details > ul {
  background: rgba(255,255,255,0.04) !important;
  border-left: 2px solid rgba(201,168,76,0.25) !important;
  margin-left: 12px !important;
  padding-left: 4px !important;
}
/* Breadcrumb-style separator in mobile header */
.menu-drawer__navigation-heading {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #c9a84c !important;
}

/* ================================================================
   CART DRAWER — dark theme
   ================================================================ */
cart-drawer,
.cart-drawer {
  --color-background: 31,31,33 !important;
  background: var(--he-dark) !important;
  color: var(--he-white) !important;
  border-left: 1px solid rgba(201,168,76,0.18) !important;
}
.cart-drawer__header {
  background: var(--he-dark) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  color: var(--he-white) !important;
}
.cart-drawer__header h2 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--he-white) !important;
}
.cart-drawer__close svg path { stroke: rgba(255,255,255,0.7) !important; }
.cart-drawer__close:hover svg path { stroke: var(--he-gold) !important; }
.cart-drawer__footer {
  background: var(--he-dark) !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}
.cart-drawer__footer .totals {
  color: var(--he-white) !important;
  font-family: 'Figtree', sans-serif !important;
}
.cart-item__name { color: #1f1f21 !important; }
.cart-item__details .product-option { color: #5a5a5a !important; }
.cart-item .price { color: #1f1f21 !important; }
/* Cart drawer button */
.cart-drawer__footer .button--primary {
  background: var(--he-gold) !important;
  color: var(--he-dark) !important;
  border-color: var(--he-gold) !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  font-size: 0.85rem !important;
}
.cart-drawer__footer .button--primary:hover {
  background: var(--he-gold-lt) !important;
  border-color: var(--he-gold-lt) !important;
}
/* Cart empty state */
.is-empty .cart-drawer__inner { color: rgba(255,255,255,0.5) !important; }

/* ================================================================
   BUTTONS — gold primary, squared
   ================================================================ */
.button, .btn { border-radius: 0 !important; }
.button--primary {
  background: var(--he-gold) !important;
  color: var(--he-dark) !important;
  border: 2px solid var(--he-gold) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  transition: background 0.2s, border-color 0.2s !important;
}
.button--primary:hover {
  background: var(--he-gold-lt) !important;
  border-color: var(--he-gold-lt) !important;
}
.button--secondary {
  background: transparent !important;
  color: var(--he-dark) !important;
  border: 2px solid var(--he-dark) !important;
  border-radius: 0 !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.button--secondary:hover {
  background: var(--he-dark) !important;
  color: var(--he-white) !important;
}
/* Shopify Pay dynamic checkout */
.shopify-payment-button__button { border-radius: 0 !important; }

/* ================================================================
   PRODUCT CARDS — clean, sharp
   ================================================================ */
.card-wrapper { border-radius: 0 !important; }
.card { border-radius: 0 !important; }
.card--standard {
  border: 1px solid var(--he-border) !important;
  background: var(--he-white) !important;
  transition: box-shadow 0.22s ease, transform 0.22s ease !important;
  border-radius: 0 !important;
}
.card--standard:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,0.1) !important;
  transform: translateY(-2px) !important;
}
.card__media { border-radius: 0 !important; overflow: hidden !important; }
.card__heading a {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-size: 0.95rem !important;
  color: var(--he-dark) !important;
}
.card__heading a:hover { color: var(--he-gold) !important; }
.price__sale { color: var(--he-dark) !important; }
.price--on-sale .price-item--sale { color: var(--he-gold) !important; }
/* Card badges */
.card__badge .badge {
  border-radius: 0 !important;
  font-family: 'Figtree', sans-serif !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background: var(--he-dark) !important;
  color: var(--he-white) !important;
}
.card__badge .badge--on-sale { background: var(--he-gold) !important; color: var(--he-dark) !important; }
/* Quick add button */
.quick-add__submit {
  border-radius: 0 !important;
  background: var(--he-dark) !important;
  color: var(--he-white) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  transition: background 0.2s !important;
}
.quick-add__submit:hover { background: var(--he-gold) !important; color: var(--he-dark) !important; }

/* ================================================================
   COLLECTION PAGE — sidebar filters
   ================================================================ */
/* Banner */
.collection-hero {
  background: var(--he-dark) !important;
  color: var(--he-white) !important;
  padding: 48px 0 !important;
}
/* Force all text in collection hero to be white — fix black-on-black */
.collection-hero,
.collection-hero *,
.collection-hero .collection-hero__title,
.collection-hero h1,
.collection-hero .title {
  color: var(--he-white) !important;
  font-family: 'Oswald', sans-serif !important;
}
.collection-hero h1,
.collection-hero .collection-hero__title {
  font-size: clamp(1.8rem,4vw,2.8rem) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.collection-hero .collection-hero__description,
.collection-hero .rte,
.collection-hero .rte p {
  color: rgba(255,255,255,0.75) !important;
  font-family: 'Figtree', sans-serif !important;
  font-size: 0.95rem !important;
}

/* Filter sidebar */
.facets-vertical {
  display: grid !important;
  grid-template-columns: 240px 1fr !important;
  gap: 32px !important;
  align-items: start !important;
}
.facets-vertical .facets-wrapper--disclosure { max-width: none !important; }
.facets__summary {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--he-dark) !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--he-border) !important;
}
.facets__summary:hover { color: var(--he-gold) !important; }
.facets__heading {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--he-dark) !important;
}
/* Active filter chips */
.active-facets__button {
  background: var(--he-dark) !important;
  color: var(--he-white) !important;
  border-radius: 0 !important;
  font-family: 'Figtree', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  border: 1px solid var(--he-dark) !important;
}
.active-facets__button-remove svg { stroke: var(--he-gold) !important; }
/* Filter checkbox accent */
.facets__checkbox:checked + .facets__label::before,
input[type="checkbox"]:checked { accent-color: var(--he-gold) !important; }
/* Sort dropdown */
.facet-filters__sort select {
  border-radius: 0 !important;
  border-color: var(--he-border) !important;
  font-family: 'Figtree', sans-serif !important;
  font-size: 0.82rem !important;
}

/* ================================================================
   PRODUCT PAGE — clean layout, sticky cart
   ================================================================ */
.product__info-container .product__title {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-size: clamp(1.4rem,2.8vw,2.2rem) !important;
  color: var(--he-dark) !important;
  line-height: 1.15 !important;
}
.product .price {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: var(--he-dark) !important;
}
.product .price--on-sale .price-item--sale { color: var(--he-gold) !important; }
/* Variant pills */
.product-form__input .swatch__value,
.product-form__input .button { border-radius: 0 !important; }
.product-form__input input:checked + .swatch__value,
.product-form__input input:checked + .button {
  border-color: var(--he-gold) !important;
  box-shadow: 0 0 0 2px var(--he-gold) !important;
}
/* Quantity input */
.quantity__input { border-radius: 0 !important; border-color: var(--he-border) !important; }
.quantity__button { color: var(--he-dark) !important; }
/* Product form submit */
.product-form__submit {
  border-radius: 0 !important;
  background: var(--he-dark) !important;
  color: var(--he-white) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  min-height: 52px !important;
  transition: background 0.2s !important;
}
.product-form__submit:hover { background: var(--he-gold) !important; color: var(--he-dark) !important; }
/* Sticky product info */
.product__info-container.product__column-sticky {
  position: sticky !important;
  top: 80px !important;
}
/* Mobile sticky ATC */
@media screen and (max-width: 749px) {
  .product-form__submit {
    position: fixed !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    z-index: 49 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    min-height: 56px !important;
    background: var(--he-dark) !important;
    border-top: 1px solid rgba(201,168,76,0.2) !important;
    width: 100% !important;
  }
  .product__info-wrapper { padding-bottom: 72px !important; }
}
/* Related products heading */
.related-products .title {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--he-dark) !important;
}

/* ================================================================
   COLLECTION BANNER — dark bg
   ================================================================ */
.main-collection-banner .color-scheme-2 {
  background: var(--he-dark) !important;
}

/* ================================================================
   FORM INPUTS — brand consistency
   ================================================================ */
.field__input, .select__select, textarea, input[type="text"],
input[type="email"], input[type="tel"], input[type="date"], select {
  border-radius: 0 !important;
  border-color: var(--he-border) !important;
  font-family: 'Figtree', sans-serif !important;
}
.field__input:focus, .select__select:focus, textarea:focus,
input[type="text"]:focus, input[type="email"]:focus,
input[type="tel"]:focus, input[type="date"]:focus, select:focus {
  border-color: var(--he-gold) !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Labels */
.field__label {
  font-family: 'Figtree', sans-serif !important;
  font-size: 0.82rem !important;
  color: var(--he-muted) !important;
}

/* ================================================================
   SECTION SPACING & TYPOGRAPHY
   ================================================================ */
.shopify-section { border-radius: 0 !important; }
/* Generic section titles */
.section-title, .title-wrapper .title, h2.title {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--he-dark) !important;
}
/* Rich text sections */
.rich-text__heading {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
/* Pagination */
.pagination .page-link {
  border-radius: 0 !important;
  font-family: 'Figtree', sans-serif !important;
  color: var(--he-dark) !important;
}
.pagination .page-link.is-current { background: var(--he-gold) !important; color: var(--he-dark) !important; }

/* ================================================================
   MOBILE IMPROVEMENTS
   ================================================================ */
@media screen and (max-width: 749px) {
  /* Tap targets */
  .list-menu__item--link { min-height: 48px !important; padding: 14px 16px !important; }
  /* Card spacing */
  .card__content { padding: 14px 12px !important; }
  .card__heading a { font-size: 0.88rem !important; }
  /* Header compact */
  .header { padding-top: 10px !important; padding-bottom: 10px !important; }
  /* Touch-friendly quantity */
  .quantity__button { min-width: 44px !important; min-height: 44px !important; }
  .quantity__input { min-height: 44px !important; font-size: 1rem !important; }
  /* Filter drawer button */
  .mobile-facets__open { min-height: 44px !important; }
}

/* ================================================================
   BODY & FONT DEFAULTS
   ================================================================ */
body { font-family: 'Figtree', sans-serif !important; }
a { text-decoration: none; }

/* ================================================================
   MISC CLEANUP
   ================================================================ */
/* Remove any rounded corners from section wrappers */
.content-container, .card__information, .card__content { border-radius: 0 !important; }
/* Gold underline on links in rich text */
.rte a { color: var(--he-dark); text-decoration: underline; text-decoration-color: var(--he-gold); }
.rte a:hover { color: var(--he-gold); }

/* ================================================================
   GLOBAL FONT SIZE INCREASE
   ================================================================ */
body { font-size: 1.7rem !important; }
@media screen and (min-width: 750px) {
  body { font-size: 1.8rem !important; }
}
.card__heading a { font-size: 1rem !important; }
.price { font-size: 0.95rem !important; }
.card__information { font-size: 0.88rem !important; }

/* ================================================================
   FOOTER TEXT SIZE INCREASE
   ================================================================ */
.hf-footer { font-size: 0.88rem !important; }
.hf-about__text { font-size: 0.88rem !important; }
.hf-links a { font-size: 0.88rem !important; }
.hf-hours tr td { font-size: 0.86rem !important; }
.hf-address { font-size: 0.88rem !important; }
.hf-bottom__copy { font-size: 0.78rem !important; }
.hf-bottom__policies a { font-size: 0.78rem !important; }
.hf-rsa { font-size: 0.76rem !important; }

/* ================================================================
   FIX ALL BLUE BUTTONS — brand palette only
   ================================================================ */
/* Remove any blue/sky-blue button colours */
.button { background-color: var(--he-dark) !important; color: var(--he-white) !important; border-color: var(--he-dark) !important; }
.button:hover { background-color: var(--he-gold) !important; color: var(--he-dark) !important; border-color: var(--he-gold) !important; }
.button--primary { background: var(--he-gold) !important; color: var(--he-dark) !important; border-color: var(--he-gold) !important; }
.button--primary:hover { background: var(--he-gold-lt) !important; border-color: var(--he-gold-lt) !important; }
/* Fix scheme-sky-blue and scheme-1 button color from blue (#0ea5e9) */
.color-scheme-sky-blue .button, .color-scheme-1 .button { background: var(--he-dark) !important; color: var(--he-white) !important; }
/* Quick add */
.quick-add__submit { background: var(--he-dark) !important; color: var(--he-white) !important; border-radius: 0 !important; }
.quick-add__submit:hover { background: var(--he-gold) !important; color: var(--he-dark) !important; }
/* Remove any inline blue from button variables */
:root {
  --color-button: 31,31,33 !important;
  --color-button-text: 255,255,255 !important;
}

/* ================================================================
   PRODUCT CARD BUTTONS — gold/dark, no blue
   Reliable styling without text override (text changed in templates)
   ================================================================ */
.card__footer .button {
  background: var(--he-dark) !important;
  color: var(--he-white) !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  transition: background 0.2s !important;
  padding: 10px 16px !important;
  width: 100% !important;
}
.card__footer .button:hover { background: var(--he-gold) !important; color: var(--he-dark) !important; }

/* ================================================================
   TRADING HOURS TEXT SIZE INCREASE (homepage + cellar door)
   ================================================================ */
.he-day { font-size: 0.93rem !important; }
.he-day strong { font-size: 0.93rem !important; }
.hcd-hours-table tr td { font-size: 0.9rem !important; }
.hf-hours tr td { font-size: 0.88rem !important; }

/* ================================================================
   MIX & MATCH — guide customers toward it on product pages
   ================================================================ */
/* Highlight the Mix & Match CTA block above related products */
.product-form__submit + .product-form__complement,
.product__description + * { }

/* ================================================================
   COLLECTION PAGE — ensure all text visible
   ================================================================ */
/* Override Dawn's CSS variable for collection hero */
.collection-hero .color-scheme-2,
.collection-hero .color-scheme-1 {
  --color-foreground: 255,255,255 !important;
}
.collection-hero__title {
  color: #fff !important;
}

/* ================================================================
   MORE INFO MODAL — Full Case vs Mix & Match chooser
   Triggered by product card "More Info" buttons
   ================================================================ */
.he-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.72);
  z-index: 9000;
  align-items: center;
  justify-content: center;
  padding: 20px;
  backdrop-filter: blur(3px);
}
.he-modal-overlay.active { display: flex; }
.he-modal {
  background: #111110;
  border: 1px solid rgba(201,168,76,0.25);
  max-width: 560px;
  width: 100%;
  position: relative;
  animation: heModalIn 0.22s ease;
}
@keyframes heModalIn {
  from { opacity: 0; transform: translateY(16px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.he-modal__close {
  position: absolute;
  top: 16px; right: 16px;
  background: none; border: none; cursor: pointer;
  color: rgba(255,255,255,0.5); font-size: 1.4rem; line-height: 1;
  transition: color 0.18s; padding: 4px; z-index: 1;
}
.he-modal__close:hover { color: #c9a84c; }
.he-modal__header {
  padding: 32px 32px 20px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.he-modal__eyebrow {
  font-family: 'Figtree', sans-serif;
  font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: #c9a84c; margin: 0 0 6px;
}
.he-modal__product-name {
  font-family: 'Oswald', sans-serif;
  font-size: 1.25rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.04em;
  color: #fff; margin: 0;
}
.he-modal__body { padding: 20px 32px 32px; }
.he-modal__prompt {
  font-family: 'Figtree', sans-serif;
  font-size: 0.88rem; color: rgba(255,255,255,0.55);
  margin: 0 0 20px; line-height: 1.6;
}
.he-modal__options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.he-modal__options--single { grid-template-columns: 1fr; }
.he-modal__opt {
  display: flex; flex-direction: column;
  align-items: center; text-align: center;
  gap: 10px; padding: 24px 18px;
  border: 1px solid rgba(255,255,255,0.1);
  text-decoration: none; color: #fff;
  transition: all 0.2s ease; cursor: pointer;
  background: rgba(255,255,255,0.04);
}
.he-modal__opt:hover {
  border-color: rgba(201,168,76,0.5);
  background: rgba(201,168,76,0.08);
  color: #fff; transform: translateY(-2px);
}
.he-modal__opt--primary {
  background: #c9a84c; border-color: #c9a84c; color: #1f1f21;
}
.he-modal__opt--primary:hover {
  background: #e8c97a; border-color: #e8c97a; color: #1f1f21; transform: translateY(-2px);
}
.he-modal__opt-icon {
  width: 44px; height: 44px;
  background: rgba(255,255,255,0.08);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.he-modal__opt--primary .he-modal__opt-icon { background: rgba(31,31,33,0.2); }
.he-modal__opt-title {
  font-family: 'Oswald', sans-serif;
  font-size: 0.9rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em;
}
.he-modal__opt-desc {
  font-family: 'Figtree', sans-serif;
  font-size: 0.75rem; color: rgba(255,255,255,0.55);
  line-height: 1.5;
}
.he-modal__opt--primary .he-modal__opt-desc { color: rgba(31,31,33,0.6); }
/* Sub-options row (Beer 12pk vs 24pk etc.) */
.he-modal__subopts {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 8px; margin-top: 12px;
}
.he-modal__subopt {
  display: block; text-align: center;
  padding: 12px 10px;
  border: 1px solid rgba(201,168,76,0.35);
  font-family: 'Oswald', sans-serif;
  font-size: 0.8rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: #c9a84c; text-decoration: none;
  transition: all 0.18s;
}
.he-modal__subopt:hover {
  background: #c9a84c; color: #1f1f21; border-color: #c9a84c;
}
/* Mobile */
@media screen and (max-width: 480px) {
  .he-modal__options { grid-template-columns: 1fr; }
  .he-modal__header, .he-modal__body { padding-left: 20px; padding-right: 20px; }
}

/* ================================================================
   HEADER DROPDOWN — enhanced category structure
   Visually separates groups, highlights Mix & Match
   ================================================================ */

/* Dropdown panel wider for multi-item menus */
.header__submenu {
  min-width: 220px !important;
  max-width: 280px !important;
}

/* First link in each dropdown acts as a section — style it as a label */
.header__submenu > ul > li:first-child > a,
.header__submenu > ul > li:first-child > .list-menu__item--link {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #c9a84c !important;
  padding-top: 14px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(201,168,76,0.15) !important;
  pointer-events: none !important;
  cursor: default !important;
  margin-bottom: 4px !important;
}

/* Mix & Match links — gold tint */
.header__submenu .list-menu__item--link[href*="mix-match"],
.header__submenu .list-menu__item--link[href*="mix-and-match"] {
  color: rgba(201,168,76,0.9) !important;
  font-weight: 600 !important;
}
.header__submenu .list-menu__item--link[href*="mix-match"]:hover,
.header__submenu .list-menu__item--link[href*="mix-and-match"]:hover {
  color: #c9a84c !important;
  background: rgba(201,168,76,0.1) !important;
}

/* Divider before "Full Range" items — add visual separation */
.header__submenu .list-menu__item--link[href*="/collections/"]:not([href*="mix"]):first-of-type {
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  margin-top: 4px !important;
  padding-top: 12px !important;
}

/* Dropdown item spacing */
.header__submenu .list-menu__item--link {
  padding: 8px 20px !important;
  font-size: 0.86rem !important;
}

/* Active / current page highlight */
.header__submenu .list-menu__item--active > a,
.header__submenu .list-menu__item--active > .list-menu__item--link {
  color: #c9a84c !important;
  font-weight: 600 !important;
}

/* ================================================================
   4-PACK BEER HIDING
   Hides 4-pack beer products from collection grids and search results.
   They remain accessible inside the Mix & Match product builder
   (which uses Locksmith's embedded variant selector, not standard cards).

   How it works:
   - Products tagged '4pack' or '4-pack' in Shopify Admin get
     data-product-tags="...,4pack,..." on their card wrapper
   - CSS hides those wrappers everywhere EXCEPT inside the
     Mix & Match product builder (.locksmith--hidden is handled
     by Locksmith; we just hide at grid level)
   - The main-collection-product-grid still requests them from
     Shopify's API (we can't filter server-side without liquid edits)
     so they render briefly then are hidden — for a true server-side
     filter, also create a smart collection excluding tag '4pack'

   SETUP REQUIRED in Shopify Admin:
   Tag all 4-pack beer products with: 4pack
   (Products → select each 4-pack → add tag '4pack')
   ================================================================ */

/* Hide 4-pack cards in all collection grids */
.collection [data-product-tags*="4pack"],
.collection [data-product-tags*="4-pack"],
.template-collection [data-product-tags*="4pack"],
.template-collection [data-product-tags*="4-pack"] {
  display: none !important;
}

/* Hide in search results */
.template-search [data-product-tags*="4pack"],
.template-search [data-product-tags*="4-pack"] {
  display: none !important;
}

/* Hide in the Shop landing page product grids */
.hsl-category [data-product-tags*="4pack"],
.hsl-category [data-product-tags*="4-pack"] {
  display: none !important;
}

/* Hide in predictive search dropdown */
.predictive-search [data-product-tags*="4pack"],
.predictive-search [data-product-tags*="4-pack"] {
  display: none !important;
}

/* DO NOT hide inside Mix & Match / product bundle pages —
   Locksmith handles access there via its own rules.
   The product builder embeds products via its own iframe/widget
   so these CSS rules do not interfere. */

/* ================================================================
   CART DRAWER — Delivery Notes + Authority to Leave
   ================================================================ */
.he-cart-delivery {
  padding: 16px 20px;
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.1);
  margin: 0 0 16px;
}
.he-cart-delivery__header {
  display: flex; align-items: center; gap: 8px;
  font-family: 'Oswald', sans-serif; font-size: 0.7rem; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: #c9a84c;
  margin-bottom: 12px;
}
.he-cart-delivery__label {
  display: block; font-size: 0.72rem; color: #5a5a5a;
  margin-bottom: 6px; line-height: 1.4;
}
.he-cart-delivery__textarea {
  width: 100%; background: #fff;
  border: 1px solid rgba(0,0,0,0.2); color: #1f1f21;
  padding: 10px 12px; font-family: 'Figtree', sans-serif; font-size: 0.82rem;
  resize: vertical; min-height: 72px; outline: none;
  transition: border-color 0.2s; border-radius: 0; box-sizing: border-box;
}
.he-cart-delivery__textarea::placeholder { color: #aaa; }
.he-cart-delivery__textarea:focus { border-color: #c9a84c; }
.he-cart-delivery__atl {
  display: flex; align-items: flex-start; gap: 10px;
  margin-top: 12px; cursor: pointer;
}
.he-cart-delivery__checkbox {
  width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px;
  accent-color: #c9a84c; cursor: pointer;
}
.he-cart-delivery__atl-text {
  font-size: 0.78rem; color: #3a3a3a; line-height: 1.5;
}
.he-cart-delivery__atl-text strong {
  color: #1f1f21; display: block; margin-bottom: 2px;
}

/* ================================================================
   AGE VERIFICATION GATE
   ================================================================ */
#he-age-overlay {
  position: fixed; inset: 0; z-index: 99999;
  background: rgba(0,0,0,0.92);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  backdrop-filter: blur(6px);
  animation: heAgeIn 0.4s ease;
}
#he-age-overlay.he-age--closing {
  animation: heAgeOut 0.38s ease forwards;
}
@keyframes heAgeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes heAgeOut {
  from { opacity: 1; }
  to   { opacity: 0; }
}
.he-age__box {
  background: #111110;
  border: 1px solid rgba(201,168,76,0.3);
  max-width: 480px; width: 100%;
  padding: 48px 40px; text-align: center;
  animation: heAgeBoxIn 0.4s ease;
  position: relative;
}
@keyframes heAgeBoxIn {
  from { transform: translateY(20px) scale(0.97); opacity: 0; }
  to   { transform: translateY(0) scale(1); opacity: 1; }
}
.he-age__logo-wrap { margin-bottom: 28px; }
.he-age__logo { max-width: 140px; filter: brightness(0) invert(1); opacity: 0.9; }
.he-age__logo-text {
  font-family: 'Oswald', sans-serif; font-size: 1.2rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.14em; color: #fff; opacity: 0.9;
}
.he-age__eyebrow {
  font-family: 'Figtree', sans-serif; font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase; color: #c9a84c; margin: 0 0 10px;
}
.he-age__title {
  font-family: 'Oswald', sans-serif; font-size: clamp(1.6rem,4vw,2.2rem);
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
  color: #fff; margin: 0 0 12px; line-height: 1.1;
}
.he-age__sub {
  font-family: 'Figtree', sans-serif; font-size: 0.9rem;
  color: rgba(255,255,255,0.55); margin: 0 0 24px; line-height: 1.65;
}
.he-age__question {
  font-family: 'Oswald', sans-serif; font-size: 1.05rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em; color: #fff; margin: 0 0 20px;
}
.he-age__btns {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px;
}
.he-age__btn {
  font-family: 'Oswald', sans-serif; font-size: 0.88rem; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase; padding: 15px 20px;
  border: 2px solid transparent; cursor: pointer; transition: all 0.2s; line-height: 1;
}
.he-age__btn--yes {
  background: #c9a84c; color: #111110; border-color: #c9a84c;
}
.he-age__btn--yes:hover { background: #e8c97a; border-color: #e8c97a; transform: translateY(-1px); }
.he-age__btn--no {
  background: transparent; color: rgba(255,255,255,0.6); border-color: rgba(255,255,255,0.2);
}
.he-age__btn--no:hover {
  background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.5); color: #fff;
}
.he-age__rsa {
  font-size: 0.68rem; color: rgba(255,255,255,0.2); line-height: 1.65;
}
.he-age__rsa a { color: rgba(255,255,255,0.3); text-decoration: underline; }
@media (max-width: 420px) {
  .he-age__box { padding: 36px 20px; }
  .he-age__btns { grid-template-columns: 1fr; }
}

/* ================================================================
   AUDIT IMPROVEMENTS
   ================================================================ */

/* Better focus states for accessibility */
:focus-visible {
  outline: 2px solid #c9a84c !important;
  outline-offset: 2px !important;
}
button:focus-visible, a:focus-visible { outline: 2px solid #c9a84c !important; }

/* Product page — better quantity + add to cart spacing */
.product-form__quantity + .product-form__submit-wrapper { margin-top: 16px !important; }
.product-form__input + .product-form__input { margin-top: 12px !important; }

/* Improve product variant label legibility */
.product-form__input label,
.variant-radios label { font-size: 0.88rem !important; font-weight: 600 !important; }

/* Make sale badge more visible */
.price__sale .price-item--sale { font-weight: 700 !important; }

/* Improve collection page filter sidebar labels */
.facets__heading { font-size: 0.78rem !important; margin-bottom: 6px !important; }

/* Better mobile cart button height */
@media screen and (max-width: 749px) {
  .cart__checkout-button { min-height: 54px !important; font-size: 0.92rem !important; }
}

/* Ensure checkout button is always gold */
#CartDrawer-Checkout {
  background: #c9a84c !important; color: #111110 !important;
  border-color: #c9a84c !important; font-weight: 700 !important;
}
#CartDrawer-Checkout:hover { background: #e8c97a !important; border-color: #e8c97a !important; }

/* Club page — slightly larger form labels */
.hc-form__label { font-size: 0.74rem !important; }

/* Cellar door FAQ — larger answer text */
.hcd-faq__a { font-size: 0.88rem !important; }

/* Stay page — larger body text */
.hs-body-text { font-size: 0.95rem !important; }

/* Better link underline on content pages */
.hcd-content a:not(.hcd-btn):not(.hcd-book-link):not(.hcd-tap-link) {
  text-decoration: underline; text-decoration-color: #c9a84c;
}

/* Shipping page improvements */
.hship-body-text { font-size: 0.95rem !important; }
.hship-table td, .hship-table th { font-size: 0.9rem !important; }

/* Footer link hover transition consistency */
.hf-links a { transition: color 0.18s ease !important; }
.hf-links a:hover { padding-left: 4px !important; }

/* Mix & Match pages — hero min-height on small screens */
@media (max-width: 480px) {
  .hmm-hero { min-height: 60vh !important; }
  .hmm-hero__content { padding: 48px 20px !important; }
}

/* ================================================================
   CART CTA — Enhanced checkout button + trust signals
   ================================================================ */
.he-cart-cta {
  display: flex; flex-direction: column; gap: 12px;
  padding: 0;
}
.he-cart-cta__summary {
  display: flex; align-items: center; justify-content: space-between;
  font-family: 'Figtree', sans-serif; font-size: 0.78rem;
}
.he-cart-cta__items { color: #5a5a5a; }
.he-cart-cta__edit-link {
  color: #c9a84c; text-decoration: none; font-weight: 700;
  font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase;
  transition: opacity 0.18s;
}
.he-cart-cta__edit-link:hover { opacity: 0.75; }
/* Main cart page edit link — dark version */
.template-cart .he-cart-cta__edit-link { color: #c9a84c; }
.he-cart-cta__checkout {
  width: 100% !important;
  background: #c9a84c !important; color: #111110 !important;
  border: 2px solid #c9a84c !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.92rem !important; font-weight: 700 !important;
  letter-spacing: 0.12em !important; text-transform: uppercase !important;
  padding: 17px 20px !important; border-radius: 0 !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 8px !important;
  transition: all 0.2s !important; min-height: 54px !important;
}
.he-cart-cta__checkout:hover:not(:disabled) {
  background: #e8c97a !important; border-color: #e8c97a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 18px rgba(201,168,76,0.3) !important;
}
.he-cart-cta__checkout:disabled {
  opacity: 0.45 !important; cursor: not-allowed !important;
}
.he-cart-cta__trust {
  display: flex; align-items: center; justify-content: center;
  gap: 16px; flex-wrap: wrap;
}
.he-cart-cta__trust-item {
  display: flex; align-items: center; gap: 5px;
  font-family: 'Figtree', sans-serif; font-size: 0.7rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: rgba(255,255,255,0.35);
}
/* Main cart page trust items — dark bg */
.template-cart .he-cart-cta__trust-item { color: rgba(31,31,33,0.45); }
.he-cart-cta__modify-note {
  font-family: 'Figtree', sans-serif; font-size: 0.72rem;
  color: #888; text-align: center; line-height: 1.5;
  margin: 0;
}
.template-cart .he-cart-cta__modify-note { color: rgba(31,31,33,0.4); }

/* ================================================================
   FORM SUCCESS STATES — Improved
   ================================================================ */
.hc-form__success, .hfn-form__success {
  text-align: center !important;
  padding: 28px 24px !important;
  line-height: 1.65 !important;
  font-size: 0.9rem !important;
}
.hc-form__success strong, .hfn-form__success strong {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* ================================================================
   CHECKOUT PAGE IMPROVEMENTS
   (Applies to thank you / order status page via additional_scripts)
   ================================================================ */

/* ================================================================
   MOBILE FILTER FIX — Vertical sidebar must collapse on mobile
   Dawn's facets-vertical layout breaks on small screens
   ================================================================ */

/* On mobile: hide the vertical sidebar, show mobile filter button instead */
@media screen and (max-width: 989px) {
  /* Force the facets-vertical wrapper to stack rather than grid */
  .facets-vertical {
    display: block !important;
  }
  /* Hide the desktop sidebar on mobile entirely */
  .facets-vertical .facets-wrapper {
    display: none !important;
  }
  /* Show mobile facets drawer button */
  .facets-vertical .mobile-facets__open {
    display: flex !important;
  }
  /* Make product grid full width on mobile */
  .facets-vertical .product-grid-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  /* Sort by full width on mobile */
  .facets-vertical-sort {
    display: block !important;
    width: 100% !important;
    padding: 0 16px !important;
  }
  /* Collection grid — full width, 2 columns */
  .collection .product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    padding: 0 12px !important;
  }
  /* Ensure the facets form doesn't overflow */
  .facets-vertical-form {
    width: 100% !important;
  }
  /* Fix page-width container on mobile */
  .facets-vertical.page-width {
    padding: 0 !important;
  }
}

@media screen and (max-width: 749px) {
  /* Tighter mobile grid */
  .collection .product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    padding: 0 8px !important;
  }
  /* Filter + sort button row */
  .mobile-facets__open {
    width: calc(100% - 16px) !important;
    margin: 0 8px 12px !important;
    min-height: 44px !important;
    font-size: 0.82rem !important;
  }
  /* Sort dropdown full width */
  .facets-vertical-sort,
  .facets-vertical-sort form {
    width: 100% !important;
    padding: 0 8px !important;
  }
  /* Collection header on mobile */
  .hch-hero__inner {
    padding: 0 16px 28px !important;
  }
  /* Product card text smaller on mobile */
  .card__heading a {
    font-size: 0.82rem !important;
  }
}

/* ================================================================
   PRODUCT PAGE MOBILE FIXES
   ================================================================ */
@media screen and (max-width: 749px) {
  /* Product images — proper sizing */
  .product__media-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Product info — full width */  
  .product__info-wrapper {
    width: 100% !important;
    padding: 16px !important;
  }
  /* Product title size */
  .product__title {
    font-size: 1.4rem !important;
  }
  /* Variant buttons — larger tap targets */
  .product-form__input .button {
    min-height: 44px !important;
    min-width: 44px !important;
  }
  /* Price */
  .price--large {
    font-size: 1.3rem !important;
  }
}

/* ================================================================
   COLLECTION HEADER MOBILE FIX
   ================================================================ */
@media screen and (max-width: 749px) {
  .hch-hero {
    padding: 36px 0 0 !important;
  }
  .hch-hero__title {
    font-size: 1.8rem !important;
  }
  .hch-mm__inner {
    padding: 0 !important;
  }
  .hch-mm__label {
    padding: 16px !important;
  }
  .hch-mm__opt {
    padding: 16px !important;
  }
}

/* ================================================================
   BUTTON VISIBILITY & CONSISTENCY — v7 overhaul
   ================================================================ */

/* All Dawn buttons — remove any blue, make brand consistent */
.button, .btn, [class*="button--"] { border-radius: 0 !important; }

/* Primary — gold, bold, high contrast */
.button--primary,
.quick-add__submit.button--secondary,
.card__footer .button,
.cart__checkout-button,
#CartDrawer-Checkout {
  background: #c9a84c !important;
  color: #111110 !important;
  border: 2px solid #c9a84c !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 14px 20px !important;
  min-height: 48px !important;
  border-radius: 0 !important;
  transition: all 0.2s !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: 100% !important;
}
.button--primary:hover,
.quick-add__submit:hover,
.card__footer .button:hover {
  background: #e8c97a !important;
  border-color: #e8c97a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(201,168,76,0.3) !important;
}

/* Secondary — dark outline */
.button--secondary:not(.quick-add__submit) {
  background: transparent !important;
  color: #1f1f21 !important;
  border: 2px solid #1f1f21 !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  min-height: 46px !important;
  border-radius: 0 !important;
}
.button--secondary:not(.quick-add__submit):hover {
  background: #1f1f21 !important;
  color: #fff !important;
}

/* Product page add to cart */
.product-form__submit {
  background: #1f1f21 !important;
  color: #fff !important;
  border: 2px solid #1f1f21 !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  min-height: 54px !important;
  border-radius: 0 !important;
  width: 100% !important;
  transition: all 0.2s !important;
}
.product-form__submit:hover {
  background: #c9a84c !important;
  border-color: #c9a84c !important;
  color: #111110 !important;
}

/* ================================================================
   MORE INFO / QUICK ADD BUTTON — prominent
   ================================================================ */
.quick-add { width: 100% !important; }
.quick-add__submit {
  background: #c9a84c !important;
  color: #111110 !important;
  border: none !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 14px 16px !important;
  border-radius: 0 !important;
  transition: all 0.2s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.quick-add__submit:hover {
  background: #1f1f21 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* ================================================================
   PRODUCT CARD — variant display
   ================================================================ */
.he-card-variant {
  font-family: 'Figtree', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #fff;
  background: #1f1f21;
  display: inline-block;
  padding: 3px 8px;
  margin: 6px 0 2px;
}
.he-card-variants-count {
  font-family: 'Figtree', sans-serif;
  font-size: 0.72rem;
  color: #888;
  margin-bottom: 4px;
}

/* Card footer — give it breathing room so button is visible */
.card__footer {
  padding: 10px 12px 12px !important;
  background: #fff !important;
}
.card-information {
  padding: 10px 0 6px !important;
}
.card__information {
  padding: 14px 12px 0 !important;
}
.card__heading { margin-bottom: 2px !important; }
.card__heading a {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #1f1f21 !important;
}
.card__heading a:hover { color: #c9a84c !important; }
.price { font-family: 'Oswald', sans-serif !important; font-size: 0.95rem !important; font-weight: 600 !important; }

/* Hover effect on card — show button */
.card-wrapper .card { overflow: hidden !important; }
.card-wrapper:hover { box-shadow: 0 8px 28px rgba(0,0,0,0.12) !important; transform: translateY(-2px) !important; }

/* ================================================================
   MIX & MATCH LINKS — highly visible
   ================================================================ */
/* Make MM tiles / links stand out with gold underline */
.hsl-mm-tile, .hch-mm__opt--primary, .hmm-btn--gold {
  position: relative;
}
/* Pulsing gold dot on Mix & Match primary options */
.hch-mm__opt--primary .hch-mm__opt-tag::before,
.hsl-mm-tile .hsl-mm-tile__tag::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #c9a84c;
  border-radius: 50%;
  margin-right: 6px;
  animation: he-pulse 2s infinite;
}
@keyframes he-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.8); }
}

/* Mix & Match band on collection pages — more prominent */
.hch-mm {
  background: #1a1a1c !important;
  border-top: 3px solid #c9a84c !important;
}
.hch-mm__label-title { font-size: 1.1rem !important; }
.hch-mm__opt--primary {
  background: rgba(201,168,76,0.12) !important;
  border-left: 3px solid #c9a84c !important;
}
.hch-mm__opt-name { font-size: 1.05rem !important; }

/* ================================================================
   FOOTER LINKS — clearer, larger
   ================================================================ */
.hf-links a {
  font-size: 0.88rem !important;
  color: rgba(255,255,255,0.7) !important;
  padding: 3px 0 !important;
  display: block !important;
}
.hf-links a:hover {
  color: #c9a84c !important;
  padding-left: 4px !important;
}

/* ================================================================
   MOBILE GLOBAL IMPROVEMENTS
   ================================================================ */
@media screen and (max-width: 749px) {
  /* Body text size */
  body { font-size: 1rem !important; }
  
  /* All tap targets min 48px */
  a, button, [role="button"], input, select, textarea {
    min-height: 44px;
  }
  a { min-height: auto; } /* Links in text shouldn't force height */
  
  /* Navigation */
  .header { padding: 10px 16px !important; }
  .header__icon { min-height: 44px !important; min-width: 44px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  
  /* Product grid — 2 columns, tighter */
  .product-grid { gap: 8px !important; }
  .card__information { padding: 10px 8px 0 !important; }
  .card__footer { padding: 8px !important; }
  
  /* Product page */
  .product__media-wrapper { margin-bottom: 20px !important; }
  .product__title h1 { font-size: 1.6rem !important; }
  
  /* Buttons on mobile */
  .product-form__submit,
  .quick-add__submit,
  .button--primary { min-height: 52px !important; font-size: 0.9rem !important; }
  
  /* Cart */
  .cart__checkout-button { min-height: 56px !important; font-size: 0.95rem !important; }
  
  /* Section padding */
  .shopify-section { margin-bottom: 0 !important; }
  
  /* Page headers */
  .hch-hero { padding: 32px 0 0 !important; }
  .hch-hero__title { font-size: 1.6rem !important; }
  .hch-hero__desc { font-size: 0.88rem !important; }
  .hch-hero__inner { padding: 0 16px 24px !important; }
  
  /* Collection header MM band on mobile — stack it */
  .hch-mm__inner { gap: 0 !important; }
  .hch-mm__label { padding: 14px 16px !important; }
  .hch-mm__opt { padding: 14px 16px !important; min-width: auto !important; }
  .hch-mm__opt-name { font-size: 0.92rem !important; }
  
  /* Shop landing */
  .hsl-hero { min-height: 60vw !important; }
  .hsl-mm-band__inner { padding: 20px 16px !important; }
  .hsl-products { gap: 8px !important; }
  
  /* Footer */
  .hf-about__inner { padding: 0 16px !important; }
  .hf-main__inner { padding: 0 16px !important; }
  .hf-bottom__inner { padding: 0 16px !important; }
  
  /* Forms */
  .hc-form { padding: 18px 14px !important; }
  .hfn-form { padding: 18px 14px !important; }
  .hc-form__grid { grid-template-columns: 1fr !important; }
  .hfn-form__grid { grid-template-columns: 1fr !important; }
  
  /* Age gate */
  .he-age__box { padding: 32px 18px !important; }
  .he-age__btns { grid-template-columns: 1fr !important; gap: 10px !important; }
  
  /* Cellar door */
  .hcd-wrap { padding: 0 14px !important; }
  .hcd-hero { padding: 40px 0 36px !important; }
  .hcd-hero__sub { font-size: 0.9rem !important; }
  .hcd-info-bar__inner { grid-template-columns: 1fr !important; }
  .hcd-main__grid { grid-template-columns: 1fr !important; }
  
  /* Stay page */
  .hs-infostrip__inner { grid-template-columns: 1fr 1fr !important; }
  .hs-price-cards { grid-template-columns: 1fr !important; }
  
  /* Shipping */
  .hship-cards { grid-template-columns: 1fr !important; }
  
  /* Mix & Match hero pages */
  .hmm-hero { min-height: 55vw !important; }
  .hmm-hero__content { padding: 32px 16px !important; }
  .hmm-title { font-size: 2rem !important; }
  .hmm-packs__inner { grid-template-columns: 1fr !important; padding: 0 16px !important; }
  .hmm-copy { padding: 40px 16px !important; }
  
  /* Functions page */
  .hfn-wrap { padding: 0 14px !important; }
  .hfn-venues-grid { grid-template-columns: 1fr !important; }
  .hfn-features__grid { grid-template-columns: 1fr 1fr !important; }
  
  /* Club page */
  .hc-tiers__grid { grid-template-columns: 1fr !important; }
}

/* ================================================================
   COLLECTION FILTER — mobile fix (override sidebar)
   ================================================================ */
@media screen and (max-width: 989px) {
  .facets-vertical { display: block !important; }
  .facets-vertical .facets-wrapper { display: none !important; }
  .facets-vertical .mobile-facets__open { display: flex !important; }
  .facets-vertical .product-grid-container { width: 100% !important; padding: 0 !important; }
  .collection .product-grid { gap: 10px !important; }
}

/* ================================================================
   PRODUCT VARIANT DISPLAY — collection + product pages
   ================================================================ */
/* Show variant pill on collection card */
.product-card__variant-name { display: none !important; } /* hide old inline style version */

/* Product page variant picker labels */
.product-form__input legend,
.product-form__input .form__label {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #1f1f21 !important;
  margin-bottom: 8px !important;
}
/* Variant buttons */
.variant-radios .button,
.product-form__input .button {
  min-height: 44px !important;
  min-width: 44px !important;
  font-family: 'Figtree', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  border: 2px solid #e0d8c8 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #1f1f21 !important;
  transition: all 0.18s !important;
}
.variant-radios .button:hover,
.product-form__input .button:hover {
  border-color: #1f1f21 !important;
}
.variant-radios input:checked + .button,
.product-form__input input:checked + .button {
  background: #1f1f21 !important;
  color: #fff !important;
  border-color: #1f1f21 !important;
  box-shadow: 0 0 0 2px #c9a84c !important;
}

/* ================================================================
   CHAT WIDGET HIDING — remove any third-party chat bubble
   ================================================================ */
/* Hide common chat widget containers */
#tidio-chat, #tidio-chat-iframe,
#crisp-chatbox, .crisp-client,
#hubspot-messages-iframe-container,
#intercom-container, #intercom-frame,
.tawk-min-container, #tawk-bubble-container,
#fc_frame, #freshchat-container,
[id*="chat-widget"], [class*="chat-widget"],
[id*="live-chat"], [class*="live-chat"],
iframe[title*="chat" i], iframe[title*="Chat" i] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ================================================================
   REMOVE ALL CARD HOVER EFFECTS — comprehensive
   ================================================================ */
.media--hover-effect > img,
.card .media--hover-effect > img,
.card-wrapper .media--hover-effect > img,
.card-wrapper:hover .media--hover-effect > img,
.card-wrapper:hover .media--hover-effect > img:first-child,
.card-wrapper:hover .media--hover-effect > img + img {
  transform: none !important;
  transition: none !important;
  opacity: 1 !important;
}
.card-wrapper:hover, .card:hover, .card--standard:hover,
.card-wrapper:hover .card, .card-wrapper:hover .card__inner {
  transform: none !important;
  box-shadow: none !important;
}
.card-wrapper:hover .card__heading a { color: #c9a84c !important; }

/* ================================================================
   PRODUCT PAGE — consistent branding
   ================================================================ */
.product__title h1,
.product .product__title h1 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  color: #1f1f21 !important;
  line-height: 1.1 !important;
}
.he-product-variant-badge {
  display: inline-block;
  background: #1f1f21;
  color: #c9a84c;
  font-family: 'Oswald', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 5px 12px;
  margin-top: 8px;
  border-left: 3px solid #c9a84c;
}
/* Product page section background */
.template-product .color-scheme-1 {
  background: #f9f4e9 !important;
}
/* Price on product page */
.product .price--large .price-item {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: #1f1f21 !important;
}
/* Variant picker labels */
.product-form__input legend,
.product-form__input .form__label {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}
/* Mix & Match CTA section on product page */
.template-product .color-scheme-2 .rich-text__heading {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #fff !important;
}
.template-product .color-scheme-2 .rich-text__text p {
  color: rgba(255,255,255,0.65) !important;
  font-size: 0.95rem !important;
}

/* ================================================================
   MIX & MATCH BUTTONS — mobile: larger, more visible
   ================================================================ */
@media screen and (max-width: 749px) {
  .hmm-btn {
    font-size: 0.92rem !important;
    padding: 15px 20px !important;
    min-height: 52px !important;
    width: 100% !important;
    justify-content: center !important;
    display: flex !important;
  }
  .hmm-btn--outline {
    background: rgba(255,255,255,0.12) !important;
    border-color: rgba(255,255,255,0.7) !important;
    color: #fff !important;
  }
  .hmm-hero__btns { gap: 12px !important; }
  .hmm-packs__inner { gap: 0 !important; }
  .hmm-pack { padding: 24px 20px !important; }
}

/* ================================================================
   COLLECTION HEADER MM BAND — mobile alignment fix
   ================================================================ */
@media screen and (max-width: 760px) {
  .hch-mm__inner {
    flex-direction: column !important;
    padding: 0 !important;
  }
  .hch-mm__label {
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    padding: 14px 16px !important;
  }
  .hch-mm__options {
    flex-direction: column !important;
    overflow: visible !important;
  }
  .hch-mm__opt {
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    min-width: auto !important;
    width: 100% !important;
    padding: 14px 16px !important;
  }
  .hch-mm__opt:last-child { border-bottom: none !important; }
  /* No more margin-left: auto misalignment */
  .hch-mm__opt[style*="margin-left"] { margin-left: 0 !important; }
}

/* ================================================================
   FOOTER CTA LINKS HOVER STATE
   ================================================================ */
.hf-booking-strip { background: #1a1a1c; border-top: 1px solid rgba(201,168,76,0.2); padding: 18px 0; }
.hf-booking-strip__inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.hf-booking-strip__label { font-family: 'Oswald', sans-serif; font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; color: #c9a84c; margin: 0 0 3px; }
.hf-booking-strip__sub { font-size: 0.72rem; color: rgba(255,255,255,0.38); margin: 0; }

@media (max-width: 640px) {
  .hf-booking-strip__inner { flex-direction: column; padding: 16px 20px !important; gap: 14px; }
}

/* ================================================================
   TRADING HOURS — mobile optimisation (footer + cellar door)
   ================================================================ */

/* Footer hours — on mobile these sit in the 4-col grid which collapses
   Ensure the hours block gets full width on small screens */
@media screen and (max-width: 640px) {
  .hf-hours-grid { gap: 2px; }
  .hf-hours-row { padding: 9px 12px; }
  .hf-hours-day { font-size: 0.86rem !important; }
  .hf-hours-time { font-size: 0.88rem !important; }
}

/* Cellar door hours — sidebar becomes stacked on mobile */
@media screen and (max-width: 900px) {
  .hcd-hours-grid { gap: 3px; }
  .hcd-hours-row { padding: 11px 14px; }
  .hcd-hours-day { font-size: 0.9rem !important; }
  .hcd-hours-time { font-size: 0.9rem !important; }
}

/* On very small screens the sidebar goes full-width — hours should fill it */
@media screen and (max-width: 480px) {
  .hcd-hours-row { padding: 12px 14px; }
  .hcd-hours-day { font-size: 0.95rem !important; }
  .hcd-hours-time { font-size: 0.95rem !important; font-weight: 700 !important; }
}

/* ================================================================
   COLLECTIONS PAGE — WINE SECTION TEXT CONTRAST FIX
   ================================================================ */
/* Dark background wine section — force all text white */
.hsl-category--dark .hsl-product,
.hsl-category--dark .hsl-product * { color: #fff !important; }
.hsl-category--dark .hsl-product__type { color: #c9a84c !important; }
.hsl-category--dark .hsl-product__price { color: #fff !important; }
.hsl-category--dark .hsl-product__name { color: #fff !important; font-family: 'Oswald', sans-serif !important; }
/* Product card body on dark bg */
.hsl-category--dark .hsl-product__body { background: rgba(0,0,0,0.25) !important; }
/* Wine range sub-links */
.hsl-category--dark a[style*="color:#1f1f21"] { color: #fff !important; }

/* ================================================================
   SPIRITS — sub-category filter pills hover state
   ================================================================ */
.hsl-wrap a[href*="/collections/gin"]:hover,
.hsl-wrap a[href*="/collections/vodka"]:hover,
.hsl-wrap a[href*="/collections/whiskey"]:hover,
.hsl-wrap a[href*="/collections/moonshine"]:hover {
  background: rgba(201,168,76,0.15) !important;
  border-color: rgba(201,168,76,0.5) !important;
  color: #c9a84c !important;
}

/* ================================================================
   PRODUCT PAGE — Mix & Match + Club CTA sections
   ================================================================ */
/* Make rich-text CTAs on product page visually prominent */
.template-product .color-scheme-2 .rich-text__heading,
.template-product .shopify-section .color-scheme-2 h2 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #fff !important;
  font-size: clamp(1.3rem, 2.5vw, 1.8rem) !important;
}
.template-product .color-scheme-2 .rich-text__text p {
  color: rgba(255,255,255,0.65) !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
}
.template-product .color-scheme-3 .rich-text__heading,
.template-product .shopify-section .color-scheme-3 h2 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  color: #1f1f21 !important;
  font-size: clamp(1.3rem, 2.5vw, 1.8rem) !important;
}
.template-product .color-scheme-3 .rich-text__text p {
  color: #5a5a5a !important;
  font-size: 0.95rem !important;
}

/* ================================================================
   COLLECTION HEADER — More Info buttons → Mix & Match
   ================================================================ */
/* On collection pages, quick-add button label */
.quick-add__submit {
  position: relative;
}

/* ================================================================
   MOBILE — comprehensive optimisation
   ================================================================ */
@media screen and (max-width: 749px) {
  /* Collections page */
  .hsl-hero { min-height: 50vw !important; }
  .hsl-hero__inner { padding: 28px 16px !important; }
  .hsl-mm-band__inner { padding: 16px !important; flex-direction: column; }
  .hsl-mm-band__header { padding-bottom: 14px !important; flex-direction: column; gap: 6px; }
  .hsl-mm-tile { padding: 20px 16px !important; }
  .hsl-divider { gap: 20px !important; padding: 14px 16px !important; flex-wrap: wrap; }
  .hsl-category { padding: 36px 0 !important; }
  .hsl-category__header { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  .hsl-products { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .hsl-product__body { padding: 10px 8px !important; }
  .hsl-product__name { font-size: 0.82rem !important; }
  .hsl-wrap { padding: 0 12px !important; }

  /* Wine ranges grid on mobile */
  .hsl-category [style*="grid-template-columns: repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Spirits sub-links on mobile */
  .hsl-wrap > div[style*="display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px"] {
    gap: 6px !important;
  }

  /* Product page */
  .product__media-wrapper { margin-bottom: 16px !important; }
  .product-form__submit { font-size: 0.88rem !important; min-height: 52px !important; }
  .product__title h1 { font-size: 1.4rem !important; }

  /* Club page mobile */
  .hc-tiers__grid { grid-template-columns: 1fr !important; }
  .hc-cases__grid { grid-template-columns: 1fr !important; }
  .hc-compare { overflow-x: auto !important; }
  .hc-table { font-size: 0.78rem !important; }
  .hc-table th, .hc-table td { padding: 8px 10px !important; }
  .hc-tier { padding: 24px 18px !important; }
  .hc-wrap { padding: 0 14px !important; }
  .hc-form { padding: 20px 14px !important; }
  .hc-hero { padding: 48px 0 40px !important; }

  /* Navigation CTAs */
  .hch-mm__opt-name { font-size: 0.88rem !important; }
  .hch-hero__title { font-size: 1.6rem !important; }
  .hch-btn { font-size: 0.78rem !important; padding: 10px 16px !important; }

  /* Footer mobile */
  .hf-main__inner { grid-template-columns: 1fr 1fr !important; gap: 24px !important; padding: 0 16px !important; }
  .hf-about__inner { grid-template-columns: 1fr !important; padding: 32px 16px !important; }
  .hf-booking-strip__inner { flex-direction: column !important; gap: 12px !important; padding: 16px !important; }

  /* Age gate */
  .he-age__box { padding: 28px 16px !important; }
}

@media screen and (max-width: 480px) {
  /* Extra small screens */
  .hsl-products { grid-template-columns: repeat(2, 1fr) !important; }
  .hc-tiers__grid { grid-template-columns: 1fr !important; }
  .hf-main__inner { grid-template-columns: 1fr !important; }
  .he-hero__ctas { flex-direction: column !important; }
  .he-btn { width: 100% !important; justify-content: center !important; text-align: center !important; }
}

/* ================================================================
   GIFT VOUCHER CTA — consistent styling
   ================================================================ */
a[href*="digital-gift-voucher"] {
  /* ensure gift voucher links are always styled correctly */
}

/* ================================================================
   CLUB PAGE — Silver membership clarity
   ================================================================ */
.hc-tier__min {
  font-size: 0.8rem !important;
  line-height: 1.6 !important;
}
/* Straight Case pricing consistency */
.hc-case__pricing .hc-case__price strong[style*="color:#1f1f21"] {
  font-size: 0.95rem !important;
}

/* ================================================================
   SHOP LANDING — WINE SECTION (deep wine background, white text)
   ================================================================ */
.hsl-category--wine {
  background: #1a0e14 !important;  /* deep wine/merlot */
  padding: 60px 0;
}
.hsl-category--wine .hsl-category__title { color: #fff !important; }
.hsl-category--wine .hsl-category__desc { color: rgba(255,255,255,0.6) !important; }
.hsl-category--wine .hsl-category__eyebrow { color: #c9a84c !important; }
.hsl-category--wine .hsl-product { background: rgba(255,255,255,0.07) !important; border-color: rgba(255,255,255,0.12) !important; color: #fff !important; }
.hsl-category--wine .hsl-product * { color: #fff !important; }
.hsl-category--wine .hsl-product__type { color: #c9a84c !important; }
.hsl-category--wine .hsl-product__name { color: #fff !important; }
.hsl-category--wine .hsl-product__price { color: #fff !important; font-weight: 700 !important; }
.hsl-category--wine .hsl-product__body { background: rgba(0,0,0,0.3) !important; }
.hsl-category--wine .hsl-product__variant { background: rgba(255,255,255,0.15) !important; color: #fff !important; }
.hsl-category--wine .hsl-product__variant-count { color: rgba(255,255,255,0.5) !important; }
.hsl-category--wine .hsl-product__add { background: rgba(255,255,255,0.14) !important; color: #fff !important; }
.hsl-category--wine .hsl-product:hover .hsl-product__add { background: #c9a84c !important; color: #111110 !important; }
.hsl-category--wine .hsl-product:hover { box-shadow: none !important; transform: none !important; }
.hsl-category--wine .hsl-btn--outline-w { border-color: rgba(255,255,255,0.6) !important; color: #fff !important; }

/* ================================================================
   SHOP LANDING — SPIRITS SECTION (dark slate bg, proper contrast)
   ================================================================ */
.hsl-category--spirits {
  background: #14161a;
  padding: 60px 0;
}
.hsl-category--spirits .hsl-category__title { color: #fff !important; }
.hsl-category--spirits .hsl-category__desc { color: rgba(255,255,255,0.6) !important; }
.hsl-category--spirits .hsl-category__eyebrow { color: #c9a84c !important; }
.hsl-category--spirits .hsl-product { background: rgba(255,255,255,0.06) !important; border-color: rgba(255,255,255,0.1) !important; color: #fff !important; }
.hsl-category--spirits .hsl-product * { color: #fff !important; }
.hsl-category--spirits .hsl-product__type { color: #c9a84c !important; }
.hsl-category--spirits .hsl-product__name { color: #fff !important; }
.hsl-category--spirits .hsl-product__price { color: #fff !important; font-weight: 700 !important; }
.hsl-category--spirits .hsl-product__body { background: rgba(0,0,0,0.25) !important; }
.hsl-category--spirits .hsl-product__variant { background: rgba(255,255,255,0.15) !important; color: #fff !important; }
.hsl-category--spirits .hsl-product__variant-count { color: rgba(255,255,255,0.45) !important; }
.hsl-category--spirits .hsl-product__add { background: rgba(255,255,255,0.12) !important; color: #fff !important; }
.hsl-category--spirits .hsl-product:hover .hsl-product__add { background: #c9a84c !important; color: #111110 !important; }
.hsl-category--spirits .hsl-product:hover { box-shadow: none !important; transform: none !important; }
/* Spirits sub-link pills — on dark bg */
.hsl-category--spirits a[href*="/collections/gin"],
.hsl-category--spirits a[href*="/collections/vodka"],
.hsl-category--spirits a[href*="/collections/whiskey"],
.hsl-category--spirits a[href*="/collections/moonshine"] {
  border-color: rgba(255,255,255,0.3) !important;
  color: rgba(255,255,255,0.85) !important;
}
.hsl-category--spirits a[href*="/collections/gin"]:hover,
.hsl-category--spirits a[href*="/collections/vodka"]:hover,
.hsl-category--spirits a[href*="/collections/whiskey"]:hover,
.hsl-category--spirits a[href*="/collections/moonshine"]:hover {
  background: rgba(201,168,76,0.15) !important;
  border-color: #c9a84c !important;
  color: #c9a84c !important;
}
.hsl-category--spirits .hsl-btn--dark { background: rgba(255,255,255,0.12) !important; color: #fff !important; border-color: rgba(255,255,255,0.2) !important; }
.hsl-category--spirits .hsl-btn--outline-d { color: rgba(255,255,255,0.75) !important; border-color: rgba(255,255,255,0.3) !important; }
.hsl-category--spirits .hsl-btn--outline-d:hover { background: rgba(255,255,255,0.1) !important; color: #fff !important; }

/* ================================================================
   PRODUCT PAGE — Mix & Match + Club CTA consistency
   ================================================================ */
.template-product .rich-text__heading,
.template-product [class*="rich-text"] h2 {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-size: clamp(1.3rem, 2.5vw, 1.8rem) !important;
  line-height: 1.15 !important;
}
.template-product .color-scheme-2 .rich-text__heading,
.template-product .color-scheme-2 h2 { color: #fff !important; }
.template-product .color-scheme-2 p { color: rgba(255,255,255,0.65) !important; font-size: 0.95rem !important; }
.template-product .color-scheme-3 .rich-text__heading,
.template-product .color-scheme-3 h2 { color: #1f1f21 !important; }
.template-product .color-scheme-3 p { color: #5a5a5a !important; font-size: 0.95rem !important; }

/* ================================================================
   COLLECTION PAGES — More Info button prominence
   ================================================================ */
.quick-add__submit {
  background: #c9a84c !important;
  color: #111110 !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  min-height: 46px !important;
  border-radius: 0 !important;
  border: none !important;
  transition: all 0.2s !important;
}
.quick-add__submit:hover {
  background: #1f1f21 !important;
  color: #fff !important;
}

/* ================================================================
   CLUB PAGE — Silver clarity + Straight Case consistency
   ================================================================ */
.hc-tier__min {
  font-size: 0.8rem !important;
  color: #666 !important;
  line-height: 1.65 !important;
  background: #f9f4e9;
  padding: 8px 10px;
  border-left: 2px solid #c9a84c;
  margin-bottom: 12px !important;
}
.hc-tier--featured .hc-tier__min { background: rgba(201,168,76,0.08); }
.hc-case__pricing { align-items: stretch !important; }

/* ================================================================
   GLOBAL MOBILE OPTIMISATION — comprehensive
   ================================================================ */
@media screen and (max-width: 749px) {

  /* --- Collections page --- */
  .hsl-hero { min-height: 260px !important; }
  .hsl-hero__inner { padding: 24px 16px 32px !important; flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
  .hsl-hero__title { font-size: 1.7rem !important; }
  .hsl-hero__sub { font-size: 0.88rem !important; }
  .hsl-hero__btns { flex-direction: column !important; width: 100% !important; }
  .hsl-hero__btns .hsl-btn { width: 100% !important; justify-content: center !important; }

  .hsl-quicknav__inner { padding: 0 8px !important; }
  .hsl-quicknav__item { padding: 12px 10px !important; font-size: 0.7rem !important; }

  .hsl-mm-band__inner { flex-direction: column !important; padding: 20px 16px !important; gap: 0 !important; }
  .hsl-mm-band__header { padding-bottom: 12px !important; flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }
  .hsl-mm-band__header p { text-align: left !important; }
  .hsl-mm-tile { padding: 18px 16px !important; min-width: auto !important; border-right: none !important; border-bottom: 1px solid rgba(255,255,255,0.07) !important; }

  .hsl-divider { gap: 16px !important; padding: 14px 16px !important; }
  .hsl-divider__item { font-size: 0.7rem !important; }

  .hsl-category { padding: 36px 0 !important; }
  .hsl-category--wine, .hsl-category--spirits { padding: 36px 0 !important; }
  .hsl-category__header { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; margin-bottom: 20px !important; }
  .hsl-wrap { padding: 0 14px !important; }

  .hsl-products { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .hsl-products--5 { grid-template-columns: repeat(2, 1fr) !important; }
  .hsl-product__body { padding: 10px 8px !important; }
  .hsl-product__name { font-size: 0.82rem !important; }
  .hsl-product__type { font-size: 0.58rem !important; }
  .hsl-product__price { font-size: 0.82rem !important; }
  .hsl-product__add { font-size: 0.68rem !important; padding: 9px 8px !important; }

  /* Wine ranges 4-col → 2-col on mobile */
  div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Spirits sub-pill links — wrap nicely */
  div[style*="display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px"] a {
    padding: 8px 12px !important;
    font-size: 0.72rem !important;
  }

  .hsl-cta { padding: 40px 16px !important; }
  .hsl-cta h2 { font-size: 1.4rem !important; }
  .hsl-cta__btns { flex-direction: column !important; }
  .hsl-cta__btns .hsl-btn { width: 100% !important; justify-content: center !important; }

  /* --- Collection header (individual collection pages) --- */
  .hch-hero { padding: 32px 0 0 !important; }
  .hch-hero__inner { padding: 0 14px 24px !important; flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
  .hch-hero__title { font-size: 1.6rem !important; }
  .hch-hero__actions { width: 100% !important; flex-direction: column !important; }
  .hch-btn { width: 100% !important; justify-content: center !important; }
  .hch-mm__inner { flex-direction: column !important; }
  .hch-mm__label { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,0.07) !important; padding: 14px !important; }
  .hch-mm__options { flex-direction: column !important; overflow: visible !important; }
  .hch-mm__opt { min-width: auto !important; width: 100% !important; border-right: none !important; border-bottom: 1px solid rgba(255,255,255,0.07) !important; padding: 14px 16px !important; }

  /* --- Product pages --- */
  .product__media-wrapper { margin-bottom: 20px !important; }
  .product__title h1 { font-size: 1.4rem !important; }
  .product-form__submit { min-height: 52px !important; font-size: 0.88rem !important; }
  .price--large .price-item { font-size: 1.25rem !important; }
  .he-product-variant-badge { font-size: 0.72rem !important; padding: 4px 10px !important; }

  /* Rich text CTA sections on product page */
  .template-product .rich-text__heading { font-size: 1.2rem !important; }
  .template-product .rich-text__text p { font-size: 0.88rem !important; }

  /* --- Club page --- */
  .hc-hero { padding: 44px 0 36px !important; }
  .hc-hero__title { font-size: 1.8rem !important; }
  .hc-wrap { padding: 0 14px !important; }
  .hc-tiers__grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .hc-tier { padding: 24px 16px !important; }
  .hc-tier__name { font-size: 1.4rem !important; }
  .hc-tier__perks { font-size: 0.84rem !important; }
  .hc-cases__grid { grid-template-columns: 1fr !important; }
  .hc-case { padding: 16px !important; }
  .hc-case__pricing { flex-wrap: wrap !important; gap: 8px !important; }
  .hc-compare { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .hc-table { font-size: 0.78rem !important; min-width: 480px !important; }
  .hc-table th, .hc-table td { padding: 8px 10px !important; }
  .hc-form { padding: 20px 14px !important; }
  .hc-form__grid { grid-template-columns: 1fr !important; }

  /* --- Navigation --- */
  .header__icons .header__icon { min-width: 44px !important; min-height: 44px !important; display: flex !important; align-items: center !important; justify-content: center !important; }

  /* --- Footer --- */
  .hf-main__inner { grid-template-columns: 1fr 1fr !important; gap: 24px !important; padding: 32px 16px !important; }
  .hf-about__inner { grid-template-columns: 1fr !important; padding: 32px 16px !important; gap: 24px !important; }
  .hf-booking-strip__inner { flex-direction: column !important; gap: 12px !important; padding: 16px !important; }
  .hf-social-row { flex-wrap: wrap !important; gap: 6px !important; }

  /* --- Mix & Match pages --- */
  .hmm-hero { min-height: 55vw !important; }
  .hmm-hero__content { padding: 32px 16px !important; }
  .hmm-title { font-size: 2rem !important; }
  .hmm-hero__btns { flex-direction: column !important; width: 100% !important; }
  .hmm-btn { width: 100% !important; justify-content: center !important; min-height: 52px !important; font-size: 0.9rem !important; }
  .hmm-btn--outline { background: rgba(255,255,255,0.1) !important; border-color: rgba(255,255,255,0.6) !important; color: #fff !important; }
  .hmm-packs__inner { grid-template-columns: 1fr !important; padding: 0 16px !important; }
  .hmm-copy { grid-template-columns: 1fr !important; padding: 36px 16px !important; gap: 28px !important; }
  .hmm-cta-band { padding: 36px 16px !important; }
  .hmm-cta-band__btns { flex-direction: column !important; }

  /* --- Age gate --- */
  .he-age__box { padding: 28px 16px !important; }
  .he-age__btns { grid-template-columns: 1fr !important; gap: 10px !important; }
}

@media screen and (max-width: 480px) {
  .hsl-products { grid-template-columns: repeat(2, 1fr) !important; gap: 6px !important; }
  .hf-main__inner { grid-template-columns: 1fr !important; }
  .hc-tiers__grid { grid-template-columns: 1fr !important; }
}

/* ================================================================
   ENHANCEMENTS — hope-enhancements.js visual styles
   ================================================================ */

/* ── Open/Closed Indicator ── */
.he-open-dot {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  background: #888; flex-shrink: 0;
}
.he-open-dot[data-status="open"] { background: #22c55e; animation: hePulseGreen 2s infinite; }
.he-open-dot[data-status="closed"] { background: #ef4444; }
@keyframes hePulseGreen {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0.5); }
  50% { box-shadow: 0 0 0 5px rgba(34,197,94,0); }
}
.he-open-label[data-status="open"] { color: #22c55e !important; }
.he-open-label[data-status="closed"] { color: #ef4444 !important; }

/* Highlight today's hours row */
.he-hours-today { background: rgba(201,168,76,0.1) !important; }
.hf-hours-row.he-hours-today, .hcd-hours-row.he-hours-today {
  background: rgba(201,168,76,0.1) !important;
}
.he-hours-today .hf-hours-day,
.he-hours-today .hcd-hours-day { color: #c9a84c !important; font-weight: 700 !important; }
.he-hours-today .hf-hours-time,
.he-hours-today .hcd-hours-time { color: #c9a84c !important; font-weight: 700 !important; }

/* ── Scroll Reveal ── */
.he-reveal {
  opacity: 0; transform: translateY(18px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.he-reveal.he-revealed { opacity: 1; transform: translateY(0); }

/* ── Card Stagger ── */
.he-card-stagger {
  opacity: 0; transform: translateY(14px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}
.he-card-stagger--in { opacity: 1; transform: translateY(0); }

/* ── Gold Shimmer on CTAs ── */
.hmm-btn--gold, .hsl-btn--gold, .hch-btn--gold,
.he-btn--primary, .hc-btn--gold,
.hcd-book-btn--gold, .he-cart-cta__checkout,
button[name="checkout"], .cart__checkout-button {
  position: relative; overflow: hidden;
}
.hmm-btn--gold::after, .hsl-btn--gold::after, .hch-btn--gold::after,
.hc-btn--gold::after, .hcd-book-btn--gold::after {
  content: '';
  position: absolute; top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(to right, transparent 0%, rgba(255,255,255,0.25) 50%, transparent 100%);
  transform: skewX(-15deg);
  animation: heShimmer 3.5s infinite 1s;
}
@keyframes heShimmer {
  0% { left: -100%; }
  40%, 100% { left: 150%; }
}

/* ── Collection MM band hover sweep (matching homepage tiles) ── */
.hch-mm__opt {
  position: relative; overflow: hidden;
}
.hch-mm__opt::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: #c9a84c; transform: scaleX(0); transform-origin: left;
  transition: transform 0.25s ease;
}
.hch-mm__opt:hover::after { transform: scaleX(1); }
.hch-mm__opt--primary::after { transform: scaleX(1); }

/* Also sweep on the MM band tiles in shop landing */
.hsl-mm-tile::after {
  transform-origin: left !important;
  transition: transform 0.25s ease !important;
}
.hsl-mm-tile:hover::after { transform: scaleX(1) !important; }

/* ── Sticky Cellar Door Booking Bar ── */
.he-sticky-book {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 8000;
  background: #c9a84c; padding: 12px 20px;
  transform: translateY(100%); transition: transform 0.3s ease;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.25);
  display: none;
}
.he-sticky-book--visible { transform: translateY(0) !important; }
.he-sticky-book__inner {
  max-width: 600px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.he-sticky-book__text { display: flex; flex-direction: column; gap: 2px; }
.he-sticky-book__label {
  font-family: 'Oswald', sans-serif; font-size: 0.85rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em; color: #111110;
}
.he-sticky-book__sub { font-size: 0.72rem; color: rgba(17,17,16,0.65); }
@media screen and (max-width: 749px) {
  .template-page .he-sticky-book { display: block; }
}

/* ── Club Savings Calculator ── */
.hc-calc {
  background: #f9f4e9; padding: 56px 0;
  border-top: 1px solid rgba(0,0,0,0.08);
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.hcc {
  background: #fff; border: 1px solid rgba(0,0,0,0.1);
  padding: 32px 28px; margin-top: 24px;
  max-width: 680px;
}
.hcc__controls { display: grid; grid-template-columns: 1fr 2fr; gap: 24px; margin-bottom: 24px; }
.hcc__label {
  display: block; font-family: 'Oswald', sans-serif; font-size: 0.75rem;
  font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em;
  color: #5a5a5a; margin-bottom: 8px;
}
.hcc__label strong { color: #1f1f21; }
.hcc__select {
  width: 100%; padding: 10px 12px; border: 1px solid #e0d8c8;
  font-family: 'Figtree', sans-serif; font-size: 0.88rem;
  background: #f9f4e9; color: #1f1f21; appearance: none; cursor: pointer;
}
.hcc__slider {
  width: 100%; accent-color: #c9a84c; height: 4px; cursor: pointer; margin-top: 4px;
}
.hcc__slider-labels {
  display: flex; justify-content: space-between;
  font-size: 0.68rem; color: #aaa; margin-top: 4px;
}
.hcc__result { border-top: 1px solid #e0d8c8; padding-top: 20px; }
.hcc-result__spend {
  font-size: 0.88rem; color: #5a5a5a; margin-bottom: 14px;
}
.hcc-result__spend strong { font-size: 1rem; color: #1f1f21; }
.hcc-result__tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 12px; }
.hcc-result__tier {
  padding: 14px 12px; text-align: center;
  display: flex; flex-direction: column; gap: 6px;
  border: 1px solid #e0d8c8;
}
.hcc-result__tier--gold { background: rgba(201,168,76,0.08); border-color: #c9a84c; }
.hcc-result__tier--platinum { background: #1f1f21; border-color: #1f1f21; }
.hcc-result__tier-name {
  font-family: 'Oswald', sans-serif; font-size: 0.72rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em; color: #888;
}
.hcc-result__tier--gold .hcc-result__tier-name { color: #c9a84c; }
.hcc-result__tier--platinum .hcc-result__tier-name { color: rgba(255,255,255,0.5); }
.hcc-result__tier-saving { font-family: 'Oswald', sans-serif; font-size: 1.1rem; font-weight: 700; color: #1f1f21; }
.hcc-result__tier--gold .hcc-result__tier-saving { color: #c9a84c; }
.hcc-result__tier--platinum .hcc-result__tier-saving { color: #fff; }
.hcc-result__tier-saving strong { font-size: 1.3rem; }
.hcc-result__note { font-size: 0.72rem; color: #aaa; line-height: 1.6; }
@media (max-width: 640px) {
  .hcc__controls { grid-template-columns: 1fr; }
  .hcc-result__tiers { grid-template-columns: 1fr; }
}

/* ── Breadcrumbs ── */
.he-breadcrumbs {
  padding: 12px 32px 0;
  max-width: 1200px; margin: 0 auto;
}
.he-breadcrumbs__list {
  display: flex; align-items: center; flex-wrap: wrap; gap: 4px;
  list-style: none; margin: 0; padding: 0;
}
.he-breadcrumbs__link {
  font-family: 'Figtree', sans-serif; font-size: 0.72rem;
  color: rgba(255,255,255,0.45); text-decoration: none;
  transition: color 0.18s;
}
.he-breadcrumbs__link:hover { color: #c9a84c; }
.he-breadcrumbs__sep { font-size: 0.72rem; color: rgba(255,255,255,0.25); }
.he-breadcrumbs__item--current {
  font-family: 'Figtree', sans-serif; font-size: 0.72rem;
  color: rgba(255,255,255,0.7); font-weight: 600;
}
/* On cream bg pages (product page) */
.template-product .he-breadcrumbs { padding: 16px 0 0; background: #f9f4e9; }
.template-product .he-breadcrumbs__link { color: #888; }
.template-product .he-breadcrumbs__link:hover { color: #c9a84c; }
.template-product .he-breadcrumbs__sep { color: #ccc; }
.template-product .he-breadcrumbs__item--current { color: #1f1f21; }
@media (max-width: 749px) {
  .he-breadcrumbs { padding: 10px 14px 0; }
}

/* ── Untappd Feed Section ── */
.he-untappd-feed {
  background: #111110; padding: 56px 0;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.he-untappd-feed__inner {
  max-width: 1200px; margin: 0 auto; padding: 0 32px;
}
.he-untappd-feed__header {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 28px;
}
.he-untappd-feed__eyebrow {
  font-size: 0.65rem; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: #c9a84c; margin: 0 0 6px;
}
.he-untappd-feed__title {
  font-family: 'Oswald', sans-serif; font-size: clamp(1.2rem,2.5vw,1.6rem);
  font-weight: 600; text-transform: uppercase; color: #fff; margin: 0;
}
.he-untappd-feed__link {
  font-family: 'Oswald', sans-serif; font-size: 0.75rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em; color: #c9a84c;
  text-decoration: none; border-bottom: 1px solid rgba(201,168,76,0.4);
  padding-bottom: 2px; transition: border-color 0.18s; white-space: nowrap;
}
.he-untappd-feed__link:hover { border-color: #c9a84c; }
.he-untappd-feed__widget { overflow: hidden; }
.he-untappd-feed__fallback { text-align: center; padding: 20px; }
.he-untappd-feed__cta-btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Oswald', sans-serif; font-size: 0.85rem; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  background: rgba(201,168,76,0.15); border: 1px solid #c9a84c;
  color: #c9a84c; padding: 12px 24px; text-decoration: none;
  transition: all 0.2s;
}
.he-untappd-feed__cta-btn:hover { background: #c9a84c; color: #111110; }
@media (max-width: 749px) {
  .he-untappd-feed { padding: 36px 0; }
  .he-untappd-feed__inner { padding: 0 16px; }
  .he-untappd-feed__header { flex-direction: column; align-items: flex-start; }
}

/* ================================================================
   COMPREHENSIVE FIXES — v10 final pass
   ================================================================ */

/* Hide MM inline images (empty placeholders removed) */
.hmm-images, .hmm-img { display: none !important; }
/* Make copy section full width on MM pages */
.hmm-copy { grid-template-columns: 1fr !important; max-width: 720px !important; }

/* Gift Voucher CTA Band */
.hsl-gv-cta { background: #c9a84c; padding: 40px 0; }
.hsl-gv-cta__inner { max-width: 1200px; margin: 0 auto; padding: 0 32px; display: flex; align-items: center; gap: 28px; flex-wrap: wrap; justify-content: center; }
.hsl-gv-cta__icon { flex-shrink: 0; width: 64px; height: 64px; background: rgba(17,17,16,0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.hsl-gv-cta__text { flex: 1; min-width: 220px; }
.hsl-gv-cta__title { font-family: 'Oswald', sans-serif; font-size: 1.2rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #111110; margin: 0 0 4px; }
.hsl-gv-cta__desc { font-size: 0.88rem; color: rgba(17,17,16,0.7); margin: 0; line-height: 1.5; }
.hsl-gv-cta__btn { display: inline-flex; align-items: center; gap: 8px; font-family: 'Oswald', sans-serif; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 14px 24px; background: #111110; color: #fff; border: 2px solid #111110; text-decoration: none; transition: all 0.2s; flex-shrink: 0; }
.hsl-gv-cta__btn:hover { background: #1f1f21; transform: translateY(-1px); }
@media (max-width: 640px) { .hsl-gv-cta__inner { flex-direction: column; text-align: center; padding: 0 16px; } }

/* Navigation font size — increase by 2px */
.header__menu-item a,
.header__menu-item .list-menu__item--link,
.list-menu--inline .list-menu__item > a {
  font-size: 0.92rem !important;
}

/* Add to cart pulse animation */
.product-form__submit,
.shopify-payment-button__button {
  position: relative !important;
  overflow: hidden !important;
  animation: heCartPulse 2.5s infinite !important;
  z-index: 1 !important;
}
.product-form__submit:hover,
.shopify-payment-button__button:hover {
  transform: scale(1.02) translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.18) !important;
  animation: none !important;
}
@keyframes heCartPulse {
  0% { box-shadow: 0 0 0 0 rgba(201,168,76,0.4); }
  70% { box-shadow: 0 0 0 10px rgba(201,168,76,0); }
  100% { box-shadow: 0 0 0 0 rgba(201,168,76,0); }
}
.product-form__submit::before,
.shopify-payment-button__button::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 50% !important; height: 100% !important;
  background: linear-gradient(to right, transparent 0%, rgba(255,255,255,0.35) 50%, transparent 100%) !important;
  transform: skewX(-25deg) !important;
  animation: heCartShine 4s infinite !important;
  z-index: -1 !important;
  pointer-events: none !important;
}
@keyframes heCartShine {
  0% { left: -100%; }
  15% { left: 200%; }
  100% { left: 200%; }
}

/* MM page button contrast fix */
.hmm-btn--outline {
  background: rgba(255,255,255,0.12) !important;
  border: 2px solid rgba(255,255,255,0.7) !important;
  color: #fff !important;
}
.hmm-btn--outline:hover {
  background: rgba(255,255,255,0.25) !important;
  border-color: #fff !important;
}

/* modal opts handled below */

/* Cart improvements - larger tap targets */
.cart-item__quantity .quantity__button {
  min-width: 44px !important; min-height: 44px !important;
  font-size: 1.1rem !important;
}
.cart-item__remove { min-height: 44px !important; padding: 12px 0 !important; }

/* Floating cart on mobile */
@media (max-width: 749px) {
  .header__icon--cart .cart-count-bubble {
    min-width: 20px !important; min-height: 20px !important;
    font-size: 0.72rem !important; font-weight: 700 !important;
  }
}

/* Search bar visibility improvement */
.header__search .search__button { min-width: 44px !important; min-height: 44px !important; }

/* Image lazy loading helpers */
img[loading="lazy"] { background: #f0ece3; }

/* MM builder mobile improvements */
@media (max-width: 749px) {
  .hmm-pack { padding: 20px 16px !important; }
  .hmm-pack__size { font-size: 2.8rem !important; }
  .hmm-copy { padding: 32px 16px !important; }
}

/* Smooth scroll globally */
html { scroll-behavior: smooth; }

/* ================================================================
   SCREENSHOT FIXES — v10b
   ================================================================ */

/* FIX 1: Cart — dark text on cream background */
.cart-item__name, .cart-item__name h4, .cart-item__name .h4 {
  color: #1f1f21 !important;
}
.cart-item__details, .cart-item__details * { color: #5a5a5a !important; }
.cart-item .price, .cart-item .price * { color: #1f1f21 !important; }
.cart-drawer .totals__total { color: #1f1f21 !important; }
.cart-drawer .totals { color: #1f1f21 !important; }

/* FIX 2: Blue outline on More Info buttons — kill Dawn's button border variable */
.quick-add__submit,
.card__footer .button,
.card__footer .button--primary {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
/* Dawn uses --color-button for border, override it */
.color-scheme-1 .card__footer .button {
  --color-button: #c9a84c !important;
  border-color: #c9a84c !important;
}

/* FIX 3: Remove blue focus outline from ALL buttons (replace with gold) */
.quick-add__submit:focus,
.quick-add__submit:focus-visible,
.card__footer .button:focus,
.card__footer .button:focus-visible {
  outline: 2px solid #c9a84c !important;
  box-shadow: none !important;
}



/* FIX 5: Footer broken logo box — hide empty image placeholder */
.hf-about__logo img[src=""],
.hf-about__logo img:not([src]) {
  display: none !important;
}
.hf-about__logo:empty { display: none !important; }

/* FIX 6: Book a beer tasting - fix icon (was showing hamburger ≡) */
.hcd-book-btn svg path[d="M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01"] {
  /* This is the list icon - correct for booking button */
}

/* ================================================================
   MODAL DEFINITIVE FIX — clean override, no duplicates
   ================================================================ */
.he-modal__opt {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;
  padding: 24px 18px !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: #fff !important;
  background: rgba(255,255,255,0.05) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.he-modal__opt:hover {
  border-color: rgba(201,168,76,0.5) !important;
  background: rgba(201,168,76,0.08) !important;
}
/* Primary (Mix & Match) panel — NOT gold background, keep dark so content is visible */
.he-modal__opt--primary {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(201,168,76,0.5) !important;
  border-width: 2px !important;
  color: #fff !important;
}
.he-modal__opt--primary:hover {
  background: rgba(201,168,76,0.15) !important;
}
.he-modal__opt-icon {
  width: 44px !important; height: 44px !important;
  background: rgba(255,255,255,0.1) !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; flex-shrink: 0 !important;
}
.he-modal__opt-title {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.9rem !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  color: #fff !important;
}
.he-modal__opt-desc {
  font-size: 0.75rem !important; color: rgba(255,255,255,0.6) !important;
  line-height: 1.5 !important;
}
.he-modal__subopts {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin-top: 8px !important;
  width: 100% !important;
}
.he-modal__subopt {
  display: block !important;
  text-align: center !important;
  padding: 11px 10px !important;
  border: 2px solid rgba(201,168,76,0.6) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.78rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  color: #c9a84c !important;
  text-decoration: none !important;
  transition: all 0.18s !important;
  background: transparent !important;
}
.he-modal__subopt:hover {
  background: #c9a84c !important;
  color: #111110 !important;
  border-color: #c9a84c !important;
}

/* ================================================================
   CART DRAWER — Dark text on cream background (scheme-1)
   ================================================================ */
.cart-drawer .cart-item__name,
.cart-drawer .cart-item__name *,
.cart-drawer .cart-item__name h4,
.cart-drawer .cart-item__name .h4 {
  color: #1f1f21 !important;
}
.cart-drawer .cart-item__details,
.cart-drawer .cart-item__details * {
  color: #5a5a5a !important;
}
.cart-drawer .cart-item .price,
.cart-drawer .cart-item .price * {
  color: #1f1f21 !important;
}
.cart-drawer .totals__total-value {
  color: #1f1f21 !important;
}
.cart-drawer .cart-items {
  color: #1f1f21 !important;
}
/* Keep the "Your cart" heading and footer dark-themed */
.cart-drawer__header { color: #1f1f21 !important; }
.cart-drawer__footer { background: #1f1f21 !important; }

/* ================================================================
   PRODUCT IMAGE GALLERY — fix stacking / scaling issues
   ================================================================ */
.product__media-wrapper { align-self: start !important; }
.product__media-list { display: flex !important; flex-direction: column !important; gap: 0 !important; }
/* Ensure each media item doesn't stack weirdly */
.product__media-item { width: 100% !important; }
.product-media-container { position: relative !important; overflow: hidden !important; }
/* Fix media gallery height */
.product--large .product__media-wrapper { max-height: none !important; }
/* Thumbnail slider */
.thumbnail-slider { display: flex !important; flex-wrap: nowrap !important; gap: 8px !important; overflow-x: auto !important; scrollbar-width: none !important; }
.thumbnail-slider::-webkit-scrollbar { display: none !important; }
/* Mobile product image */
@media (max-width: 749px) {
  .product__media-wrapper { margin-bottom: 20px !important; }
  .product__media-item { max-height: 70vw !important; }
}

/* ================================================================
   CART DRAWER BODY — Dark text on cream (scheme-1) background
   ================================================================ */
/* All text in the drawer body (not the dark footer) */
.cart-drawer .he-cart-delivery *:not(.he-cart-delivery__header) { color: #1f1f21 !important; }
.cart-drawer .he-cart-delivery__header { color: #c9a84c !important; }
.cart-drawer .he-cart-delivery__atl-text { color: #3a3a3a !important; }
.cart-drawer .he-cart-delivery__atl-text strong { color: #111110 !important; font-weight: 700 !important; }
.cart-drawer .he-cart-delivery__textarea { color: #1f1f21 !important; background: #fff !important; border-color: rgba(0,0,0,0.2) !important; }
.cart-drawer .he-cart-delivery__textarea::placeholder { color: #aaa !important; }
.cart-drawer .he-cart-cta__items { color: #5a5a5a !important; }
.cart-drawer .he-cart-cta__modify-note { color: #888 !important; }
/* Totals section stays white (it's in the dark footer) */
.cart-drawer__footer, .cart-drawer__footer * { color: #fff !important; }
.cart-drawer__footer .he-cart-cta__checkout { color: #111110 !important; }
