/** 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 OVERRIDE — minimum 16px / 12pt (replaces old block)
   ================================================================ */

html {
  font-size: 16px !important;
}

/* Step 2: Body baseline — 1rem = 16px minimum everywhere */
body {
  font-size: 1rem !important;           /* 16px — satisfies 12pt / 16px requirement */
  line-height: 1.7 !important;
  font-family: 'Figtree', sans-serif !important;
}

/* Step 3: Desktop upgrade — slightly larger for comfortable reading on wider screens */
@media screen and (min-width: 750px) {
  body {
    font-size: 1.0625rem !important;    /* 17px on desktop */
  }
}

/* Step 4: All paragraph and list content — never below 1rem */
p, li, td, th, label, span, div,
.rte p, .rte li {
  font-size: inherit;                   /* inherits from body — respects cascade cleanly */
}

/* Step 5: Specific content areas — bumped up for legibility */
/* Body copy / rich text */
.rte, .page-content, .article__content,
.product__description, .hfn-lead, .hfn-feature__desc,
.hfn-venue-card__desc, .hcd-body-text,
.hs-body-text, .hship-body-text {
  font-size: 1rem !important;           /* 16px minimum */
  line-height: 1.75 !important;
}

/* Navigation — clear and legible */
.header__inline-menu .header__menu-item,
.header__inline-menu > ul > li > a {
  font-size: 0.9375rem !important;      /* 15px — intentional for nav compactness */
}
.header__submenu .list-menu__item--link,
.header__submenu a.list-menu__item {
  font-size: 0.9375rem !important;
}

/* Product cards */
.card__heading a {
  font-size: 1rem !important;           /* was 0.88-0.95rem — now minimum 16px */
}
.card__information,
.card-information {
  font-size: 0.9375rem !important;
}
.price {
  font-size: 1rem !important;
}

/* Buttons — readable call-to-action text */
.button, .btn,
.hfn-btn, .hsl-btn, .hmm-btn,
.hch-btn, .he-btn {
  font-size: 0.875rem !important;       /* 14px — uppercase buttons can be slightly smaller */
}

/* Form labels and inputs */
.hfn-form__label, .field__label, .hc-form__label {
  font-size: 0.8125rem !important;      /* 13px labels */
}
.hfn-form__input, .hfn-form__select, .hfn-form__textarea,
.field__input, input[type="text"], input[type="email"],
input[type="tel"], input[type="date"], select, textarea {
  font-size: 1rem !important;           /* 16px — prevents iOS auto-zoom on focus */
}

/* Table content */
.hfn-table td, .hfn-table th,
.hship-table td, .hship-table th,
.hcd-hours-table tr td {
  font-size: 0.9375rem !important;
}

/* Eyebrow labels — intentionally small but still accessible */
.hfn-eyebrow, .hsl-eyebrow, .hcd-eyebrow,
.he-breadcrumbs__link, .he-breadcrumbs__item--current {
  font-size: 0.75rem !important;        /* 12px — uppercase tracking compensates */
}

/* Footer text — clear hierarchy */
.hf-footer {
  font-size: 0.9375rem !important;
}
.hf-about__text, .hf-links a,
.hf-address, .hf-contact-details {
  font-size: 0.875rem !important;       /* 14px footer links */
}
.hf-hours-day, .hf-hours-time,
.hcd-hours-day, .hcd-hours-time {
  font-size: 0.9375rem !important;
}
.hf-bottom__copy, .hf-bottom__policies a,
.hf-rsa {
  font-size: 0.8125rem !important;
}

/* Venue/functions page copy */
.hv-body, .hv-detail,
.ht-body-text, .he-tour-desc {
  font-size: 1rem !important;
}

/* Mobile — maintain 16px minimum on small screens */
@media screen and (max-width: 749px) {
  body {
    font-size: 1rem !important;         /* Never drop below 16px on mobile */
  }
  /* Prevent iOS from auto-zooming on inputs (requires 16px) */
  input, select, textarea {
    font-size: 1rem !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; }


/* ================================================================
   PRODUCT IMAGE LAYOUT FIX — object-fit contain for bottle photography
   ================================================================ */

/* ================================================================
   FIX 1: Collection grid card images — switch from cover to contain
   so bottle labels are never cropped. A neutral background fills
   any letterbox/pillarbox padding.
   ================================================================ */

/* The card media container — override the padding-bottom ratio
   to a consistent, elegant portrait ratio that suits bottle photography */
.card-wrapper .card__media,
.card-wrapper .card__inner .card__media {
  /* Override: use a consistent 4:5 portrait box for bottles/cans */
  position: relative !important;
  padding-bottom: 0 !important;
  height: 0 !important;
  padding-bottom: 120% !important; /* 4:5 portrait ratio */
  background: #f9f5ef !important; /* warm cream — matches brand */
}

/* Image inside the fixed-ratio box — use CONTAIN so full label shows */
.card-wrapper .card__media .media img,
.card-wrapper .card__media img,
.card .card__media .media > img {
  object-fit: contain !important;
  object-position: center center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 8px !important; /* slight breathing room around bottle */
  box-sizing: border-box !important;
}

/* The .media wrapper that sits inside card__media — ensure it fills correctly */
.card .card__media .media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: #f9f5ef !important;
}

/* ================================================================
   FIX 2: Remove the hover scale that causes "zoomed in" appearance.
   Hope Estate's custom CSS already disables hover zoom via the
   REMOVE ALL CARD HOVER EFFECTS block, but this provides an
   explicit, lower-specificity fallback for any cards not caught.
   ================================================================ */
.card-wrapper .media.media--hover-effect > img,
.card-wrapper .media.media--hover-effect > img:first-child,
.card-wrapper:hover .media.media--hover-effect > img:first-child:only-child,
.card-wrapper:hover .media.media--hover-effect > img:first-child:not(:only-child),
.card-wrapper:hover .media.media--hover-effect > img + img {
  transform: none !important;
  transition: opacity 0.3s ease !important;
  opacity: 1 !important;
}
/* Second image (alt hover image) — keep hidden but without transform */
.card-wrapper .media.media--hover-effect > img + img {
  opacity: 0 !important;
}
.card-wrapper:hover .media.media--hover-effect > img + img {
  opacity: 1 !important;
}

/* ================================================================
   FIX 3: Product Detail Page (individual product) image gallery
   Prevent the main product image from cropping or stretching.
   ================================================================ */

/* The main media wrapper on product pages */
.product__media-item .media,
.product-single__media,
.product__media-list .media {
  background: #f9f5ef !important;
}

/* The actual product image on the product detail page */
.product__media-item .media img,
.product__media-list .media img,
.product__photo img {
  object-fit: contain !important;
  object-position: center center !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 700px !important; /* cap height on desktop */
}

/* Product gallery container — ensure consistent sizing */
.product__media-wrapper .product__media-item {
  background: #f9f5ef !important;
}

/* Thumbnail images in gallery — contain rather than cover */
.thumbnail-list .media img,
.product__media-thumbnail img {
  object-fit: contain !important;
  object-position: center !important;
  background: #f9f5ef !important;
  padding: 4px !important;
}

/* ================================================================
   FIX 4: Featured Product section (homepage featured product block)
   ================================================================ */
.featured-product .product__media-item .media,
.featured-product .product__media-item .media img {
  object-fit: contain !important;
  background: #f9f5ef !important;
}

/* ================================================================
   FIX 5: Search results & product cards in predictive search
   ================================================================ */
.predictive-search .predictive-search__image,
.predictive-search .media img {
  object-fit: contain !important;
  object-position: center !important;
  background: #f9f5ef !important;
}
.predictive-search-result img {
  object-fit: contain !important;
}

/* ================================================================
   FIX 6: Quick-order list and cart item images — no distortion
   ================================================================ */
.cart-item__image,
.cart-item .media img {
  object-fit: contain !important;
  background: #f9f5ef !important;
}

/* ================================================================
   FIX 7: Collection header banner image — cover is correct here
   (landscape photography, not product). Explicit to avoid override.
   ================================================================ */
.collection-hero .media img,
.main-collection-banner .media img,
.image-banner .media img {
  object-fit: cover !important; /* correct for landscape hero images */
  object-position: center center !important;
}

/* ================================================================
   FIX 8: Mobile — ensure product images don't overflow on small screens
   ================================================================ */
@media screen and (max-width: 749px) {
  .card-wrapper .card__media {
    padding-bottom: 115% !important; /* slightly tighter on mobile */
  }
  .product__media-item .media img {
    max-height: 80vw !important;
  }
}

/* ================================================================
   INSTRUCTION: How to apply this fix
   ================================================================
   1. Open: Online Store → Themes → Edit Code → assets/hope-custom.css
   2. Scroll to the very bottom of the file
   3. Paste this entire CSS block after the last line
   4. Save and preview your collection pages
   
   If you find bottles have too much whitespace with contain,
   you can soften this by changing `object-fit: contain` back to
   `object-fit: cover` on .card-wrapper .card__media .media img
   and adjusting `padding-bottom` on the card__media to a tighter
   ratio like 100% (square). The key fix is removing transform:scale.
   ================================================================ */


/* ================================================================
   SITE AUDIT FIXES — tap targets, cart progress, lazy loading
   ================================================================ */

/* ================================================================
   7B — MOBILE TAP TARGETS: 44×44px minimum
   Ensures all interactive elements meet WCAG 2.5.5 guidelines.
   Injects into global button/link/form elements.
   ================================================================ */

/* Global button minimum */
button, [role="button"], [type="button"], [type="submit"],
.button, .btn {
  min-height: 44px !important;
  min-width: 44px !important;
}

/* Navigation links */
.list-menu__item--link,
.header__menu-item,
.header__icon,
.menu-drawer .list-menu__item--link {
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
}

/* Collection filter pills and dropdowns */
.mobile-facets__open,
.facets__summary,
.active-facets__button,
.facets .field__input {
  min-height: 44px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Form inputs and selects */
.field__input,
.select__select,
select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"] {
  min-height: 44px !important;
  padding: 10px 14px !important;
}

/* Cart quantity buttons */
.quantity__button,
.quantity__input {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* Drawer close buttons */
.drawer__close,
.menu-drawer__close-button {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* Mobile — additional touch targets */
@media screen and (max-width: 749px) {
  /* Product filter sort select */
  .facets-vertical-sort .select__select,
  .facets-vertical-sort select {
    min-height: 44px !important;
    padding: 10px 14px !important;
    font-size: 1rem !important; /* prevents iOS zoom */
  }

  /* Product card CTA */
  .quick-add__submit,
  .card__footer .button {
    min-height: 48px !important;
    font-size: 0.9rem !important;
  }

  /* Checkout button */
  .he-cart-cta__checkout,
  .cart__checkout-button,
  #CartDrawer-Checkout {
    min-height: 56px !important;
  }

  /* Pagination links */
  .pagination__item {
    min-width: 44px !important;
    min-height: 44px !important;
  }
}


/* ================================================================
   7D — IMAGE LAZY LOADING: Prevent Layout Shift (CLS)
   These CSS rules ensure images reserve space before loading.
   ================================================================ */

/*
  CSS approach to preventing CLS from images:
  Any <img> with a known aspect ratio (from width/height attributes)
  will not cause layout shift. This CSS ensures they render correctly
  while loading.
*/

/* Make all images render with correct aspect ratio from attributes */
img {
  height: auto; /* default: auto respects width/height attributes */
}

/* Hero images — ensure they don't collapse before loading */
.hfn-hero img,
.image-banner .media img,
.slideshow .media img,
.he-hero img {
  width: 100% !important;
  height: 100% !important; /* these are in aspect-ratio boxes */
  object-fit: cover !important;
}

/* Collection card images — reserve space */
.card__media .media {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/*
  NOTE ON LIQUID IMAGE TAGS:
  The Liquid modification for adding explicit width/height to all
  image tags must be done in the snippet/template files.
  See the Liquid snippets section below in this file.
*/


/* ================================================================
   7C — CART THRESHOLD BANNER (CSS only)
   The actual logic is in the cart-drawer snippet modification below.
   These are the visual styles for the Mix & Match progress banner.
   ================================================================ */

/* ── Mix & Match Progress Banner ── */
.he-mm-progress {
  background: rgba(201,168,76,0.06);
  border: 1px solid rgba(201,168,76,0.25);
  border-left: 4px solid #c9a84c;
  padding: 14px 16px;
  margin: 0 0 14px;
  font-family: 'Figtree', sans-serif;
}
.he-mm-progress__label {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #c9a84c;
  margin: 0 0 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.he-mm-progress__label svg { flex-shrink: 0; }
.he-mm-progress__text {
  font-size: 0.875rem;
  color: #3a3a3a;
  line-height: 1.55;
  margin: 0 0 10px;
}
.he-mm-progress__bar-wrap {
  background: rgba(0,0,0,0.08);
  height: 4px;
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 8px;
}
.he-mm-progress__bar {
  height: 100%;
  background: #c9a84c;
  border-radius: 2px;
  transition: width 0.4s ease;
  min-width: 4px;
}
.he-mm-progress__complete {
  background: rgba(34,197,94,0.08);
  border-color: rgba(34,197,94,0.3);
  border-left-color: #22c55e;
  display: none; /* shown via JS when threshold met */
}
.he-mm-progress__complete .he-mm-progress__label { color: #22c55e; }
.he-mm-progress__complete .he-mm-progress__bar { background: #22c55e; }
.he-mm-progress__complete .he-mm-progress__text { color: #166534; }
.he-mm-progress--unlocked { display: block !important; }

/* Dark cart drawer version */
.cart-drawer .he-mm-progress {
  background: rgba(201,168,76,0.04);
}
.cart-drawer .he-mm-progress__text { color: rgba(255,255,255,0.6); }
.cart-drawer .he-mm-progress__bar-wrap { background: rgba(255,255,255,0.1); }
.cart-drawer .he-mm-progress__complete .he-mm-progress__text { color: rgba(255,255,255,0.7); }

/* Bundle component badge on cart items */
.he-bundle-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c9a84c;
  border: 1px solid rgba(201,168,76,0.4);
  padding: 2px 7px;
  margin-top: 4px;
  background: rgba(201,168,76,0.06);
}


/* ================================================================
   NAVIGATION: Shop by Category — improve visual hierarchy
   Styles for the collection category filter that can be added
   to the top of collection pages.
   ================================================================ */
.he-cat-nav {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 20px 0;
  border-bottom: 1px solid #e0d8c8;
  margin-bottom: 28px;
}
.he-cat-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Oswald', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 10px 18px;
  min-height: 44px;
  text-decoration: none;
  border: 1px solid #e0d8c8;
  color: #5a5a5a;
  background: #fff;
  transition: all 0.18s;
}
.he-cat-nav__link:hover,
.he-cat-nav__link--active {
  background: #1f1f21;
  color: #fff;
  border-color: #1f1f21;
}
.he-cat-nav__link--beer:hover,
.he-cat-nav__link--beer.he-cat-nav__link--active {
  background: #c9a84c;
  color: #1f1f21;
  border-color: #c9a84c;
}

/* ================================================================
   VIVINO PER-PRODUCT RATING BADGE
   Rendered via snippets/hope-vivino-badge.liquid
   Appears on wine product cards and product detail pages.
   ================================================================ */
.he-vivino-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  padding: 3px 8px 3px 6px;
  background: rgba(201,168,76,0.07);
  border: 1px solid rgba(201,168,76,0.25);
}
.he-vivino-badge__stars {
  display: flex;
  gap: 1px;
  font-size: 0.65rem;
  line-height: 1;
}
.he-vivino-star          { color: rgba(0,0,0,0.12); }
.he-vivino-star--full    { color: #c9a84c; }
.he-vivino-star--half    { color: #c9a84c; opacity: 0.55; }
.he-vivino-badge__score  { font-family: 'Oswald', sans-serif; font-size: 0.72rem; font-weight: 700; color: #1f1f21; line-height: 1; }
.he-vivino-badge__label  { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #999; }

/* Dark scheme variant (on dark product cards / product detail page) */
.color-scheme-2 .he-vivino-badge,
.template-product .he-vivino-badge {
  background: rgba(201,168,76,0.08);
  border-color: rgba(201,168,76,0.2);
}
.color-scheme-2 .he-vivino-star,
.template-product .he-vivino-star         { color: rgba(255,255,255,0.15); }
.color-scheme-2 .he-vivino-badge__score,
.template-product .he-vivino-badge__score { color: #fff; }
.color-scheme-2 .he-vivino-badge__label,
.template-product .he-vivino-badge__label { color: rgba(255,255,255,0.35); }
