/** Shopify CDN: Minification failed

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

**/
/* ============================================
   STUART RUNCIE GOLF — Custom Brand Overrides
   Store: acego1f.myshopify.com
   ============================================ */

/* --- Font Overrides --- */
:root {
  --heading-font-family: 'Anton', sans-serif;
  --heading-font-weight: 400;
  --heading-font-style: normal;
  --text-font-family: 'Barlow Condensed', sans-serif;
  --text-font-weight: 400;
  --text-font-style: normal;
  --text-font-bolder-weight: 600;

  /* SRG brand tokens */
  --srg-red: #cc1212;
  --srg-charcoal: #333333;
  --srg-black: #111111;
  --srg-white: #ffffff;
  --srg-off-white: #f5f4f0;
  --srg-light-grey: #f0efeb;
  --srg-mid-grey: #888888;
  --srg-border: #e8e8e8;
}

/* Force Google Fonts on key elements */
h1, h2, h3, h4, h5, h6,
.heading,
.section__title,
.product-item__price,
.product-meta__price {
  font-family: 'Anton', sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

body,
.text--body,
.rte,
input,
textarea,
select,
button {
  font-family: 'Barlow Condensed', sans-serif !important;
}

/* --- In-Store Only CTA (replaces Add to Cart) --- */
.srg-instore-cta {
  text-align: center;
  padding: 20px 0;
}
.srg-instore-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--srg-charcoal);
  margin-bottom: 12px;
}
.srg-instore-btn {
  display: inline-block;
  background: var(--srg-red) !important;
  color: var(--srg-white) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.5px;
  padding: 14px 32px;
  border-radius: 4px;
  text-decoration: none;
  transition: background 200ms ease-out;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}
.srg-instore-btn:hover {
  background: #a80f0f !important;
  color: var(--srg-white) !important;
}
.srg-instore-note {
  font-size: 12px;
  color: var(--srg-mid-grey);
  margin-top: 12px;
  letter-spacing: 0.3px;
}

/* Hide cart-related UI since no online sales */
.header__cart-count,
.cart-count {
  display: none !important;
}

/* --- Product card badge override --- */
.product-item .srg-badge-instore {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fdeaea;
  color: #7a1a1a;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.5px;
  padding: 4px 8px;
  border-radius: 4px;
  margin-top: 8px;
}
.product-item .srg-badge-instore::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--srg-red);
  flex-shrink: 0;
}

/* --- Header refinements --- */
.header {
  border-bottom: 1px solid var(--srg-border);
}

/* --- Footer logo invert for dark bg --- */
.footer .footer__logo img {
  filter: brightness(0) invert(1);
  opacity: 0.9;
}

/* --- Button hover improvements --- */
.button--primary:hover {
  background: #a80f0f;
}

/* --- Announcement bar --- */
.announcement-bar {
  font-family: 'Barlow Condensed', sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 11px;
}

/* ============================================
   SRG LOGO — Header
   ============================================ */
/* Hide default Warehouse logo image (we use srg-logo.jpg with .srg-logo-img instead) */
.header__logo-image,
.header__logo img:not(.srg-logo-img) { display: none !important; }

.srg-header-logo {
  display: flex !important;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}
.srg-header-logo-mark {
  display: flex;
  align-items: baseline;
  font-family: 'Anton', sans-serif;
  font-size: 32px;
  line-height: 1;
  letter-spacing: -1px;
}
.srg-header-logo-sr { color: var(--srg-black, #111111); }
.srg-header-logo-g  { color: var(--srg-red, #cc1212); }
.srg-header-logo-vert {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 7px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--srg-charcoal, #333333);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  line-height: 1.2;
}

/* ============================================
   IN-STORE BADGE
   Shown on collection/product cards
   ============================================ */
.srg-badge-instore {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #fdeaea;
  color: #7a1a1a;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 3px;
  margin-top: 6px;
}
.srg-badge-instore::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--srg-red);
  flex-shrink: 0;
}

/* ============================================
   COLLECTION FILTER PILLS
   ============================================ */
.srg-filter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.srg-pill {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 8px 18px;
  border: 1px solid var(--srg-border);
  border-radius: 20px;
  background: var(--srg-white);
  color: var(--srg-charcoal);
  cursor: pointer;
  transition: background 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
  text-decoration: none;
}
.srg-pill:hover,
.srg-pill--active {
  background: var(--srg-red);
  border-color: var(--srg-red);
  color: var(--srg-white);
}

/* ============================================
   CART PAGE
   Full suppression — no online sales
   ============================================ */
.cart,
.cart-page,
[id*="cart"] {
  display: none !important;
}

/* ============================================
   QUICK BUY / QUICK ADD
   Suppress quick-buy overlays on product cards
   ============================================ */
.quick-buy,
.quick-add,
.product-item__overlay,
[class*="quick-buy"],
[class*="quick-add"],
.card__overlay {
  display: none !important;
}

/* ============================================================
   HEADER OVERHAUL — Strip e-commerce elements
   ============================================================ */

/* Hide search bar, category filter, login/account, cart */
.header__search-bar-wrapper,
.search-bar,
.search-bar__filter,
.header__action-item--account,
.header__action-item--cart,
.header__cart-toggle,
.header__cart-icon,
.mini-cart {
  display: none !important;
}

/* Also suppress any condensed search toggle that may appear */
.header__action-item [data-action="toggle-search"] {
  display: none !important;
}

/* ── Header shell — tight, white, single-row ── */
.header {
  background: #ffffff !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--srg-border) !important;
}
.header__wrapper,
.header__inner {
  min-height: 70px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center;
  display: flex;
}

/* ── Centred desktop navigation ── */
.srg-desktop-nav {
  display: none; /* hidden on mobile */
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .srg-desktop-nav { display: flex; }
}
.srg-desktop-nav__link {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #333333;
  text-decoration: none;
  white-space: nowrap;
  padding-bottom: 4px;
  border-bottom: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.srg-desktop-nav__link:hover {
  color: #111111;
}
.srg-desktop-nav__link--active,
.srg-desktop-nav__link[aria-current="page"] {
  color: #111111;
  border-bottom-color: #cc1212;
}

/* ── Booking CTA buttons ── */
.srg-header-ctas {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
/* Hide CTAs on very small screens — mobile hamburger handles booking links */
@media screen and (max-width: 767px) {
  .srg-header-ctas { display: none; }
}
.srg-btn-lesson,
.srg-btn-fitting {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 10px 20px;
  border: 1.5px solid #333333;
  border-radius: 4px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.srg-btn-lesson {
  color: #333333;
  background: transparent;
}
.srg-btn-lesson:hover {
  background: #f0efeb;
  color: #333333;
}
.srg-btn-fitting {
  color: #ffffff;
  background: #cc1212;
  border-color: #cc1212;
}
.srg-btn-fitting:hover {
  background: #a80f0f;
  border-color: #a80f0f;
}

/* ============================================================
   PRODUCT CARDS & SECTIONS
   Matching prototype at newsite.stuartrunciegolf.co.uk
   ============================================================ */

/* ─── PRODUCT CARDS ────────────────────────────────────────────── */
/* Suppress swatches, stock, quick buy */
.product-item__swatch-list,
.color-swatch,
.swatch-list { display: none !important; }

.product-item__info .product-item__badge,
.product-label--sale,
.product-label { display: none !important; }

.product-item__stock { display: none !important; }

/* Prices shown on both collection cards and product pages */
/* Product PAGE prices — shown */
/* (no suppression — .price, .price-list, .product-meta__price, .price-item all visible) */

/* Style the price on product pages */
.product-meta__price .price,
.product-meta__price .price-item--regular {
  font-family: 'Anton', sans-serif;
  font-size: 28px;
  color: #111111;
  letter-spacing: -0.5px;
}
.product-meta__price .price-item--sale {
  font-family: 'Anton', sans-serif;
  font-size: 28px;
  color: #cc1212;
}
.product-meta__price .price-item--regular.price-item--on-sale {
  font-size: 18px;
  color: #888888;
  text-decoration: line-through;
}

/* Hide legacy sections still stored in Shopify DB (replaced by srg-homepage) */
[data-section-type="logo-list"],
[data-section-type="blog-posts"],
[data-section-type="srg-brands"] { display: none !important; }

/* In-store badge */
.product-item__info::after {
  content: '● IN-STORE · 01745 823813';
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #cc1212;
  margin-top: 6px;
}

/* Brand name styling — vendor */
.product-item__vendor,
.product-vendor {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #cc1212;
  display: block;
  margin-bottom: 4px;
}

/* Product title */
.product-item__title,
.product-item__name {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  color: #111111;
  text-transform: none;
}

/* Card background */
.product-item {
  background: #f5f4f0;
  border: none;
}

/* ─── SECTION HEADINGS ──────────────────────────────────────────── */
/* Featured collection section title */
.featured-collection__title,
.section-header__title,
.collection__title,
.section__title {
  font-family: 'Anton', sans-serif;
  font-size: 36px;
  color: #111111;
  text-transform: uppercase;
}

/* View all link */
.featured-collection__see-all,
.section-header__link,
.collection__see-all {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #cc1212;
}

/* ─── SUPPRESS QUICK BUY / ADD TO CART ─────────────────────────── */
.product-item__action-wrapper,
.quick-buy,
.product-item__quick-buy { display: none !important; }

/* ─── ANNOUNCEMENT BAR ──────────────────────────────────────────── */
.announcement-bar {
  background: #111111 !important;
  color: #888888 !important;
}
.announcement-bar__text,
.announcement-bar a {
  color: #888888 !important;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
/* Phone number / important text in announcement bar stays white */
.announcement-bar strong,
.announcement-bar b {
  color: #ffffff !important;
  font-weight: 500;
}

/* ─── DUPLICATE NAV BAR — hide Warehouse standalone nav below header ── */
.nav-bar,
.nav-bar__inner,
section.nav-bar { display: none !important; }

/* ─── PRODUCT CARD — hide ratings, reviews, stock counts ───────── */
.product-item__rating,
.product-item__review-count,
.product-item-review,
.rating,
.rating__wrapper,
[class*="star-rating"],
.product-item__stock-count,
.product-item__stock,
.inventory,
.inventory-count {
  display: none !important;
}

/* ============================================================
   HEADER LOGO — image-based (matches prototype)
   ============================================================ */
.srg-logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}
.srg-logo-img {
  height: 48px;
  width: auto;
  display: block;
}

/* ============================================================
   HEADER NAV — centred between logo and CTAs
   ============================================================ */
.header__inner > nav.hidden-pocket {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* The UL no longer needs flex:1 since the parent nav handles expansion */
.srg-desktop-nav {
  flex: 0 !important;
}

/* ============================================================
   HERO SLIDESHOW — prototype matching
   ============================================================ */

/* Cap hero height to match prototype (580px); !important beats Flickity JS overflow override */
.slideshow--preserve-ratio {
  max-height: 580px;
  overflow: hidden !important;
}
/* Belt-and-braces: also clip the Flickity viewport wrapper */
.slideshow--preserve-ratio .flickity-viewport {
  overflow: hidden !important;
}

/* Left-heavy gradient overlay (dark on left, clear on right) */
.slideshow__slide--overlay::before {
  background: linear-gradient(
    105deg,
    rgba(0,0,0,0.92) 0%,
    rgba(0,0,0,0.70) 35%,
    rgba(0,0,0,0.15) 65%,
    rgba(0,0,0,0.05) 100%
  ) !important;
}

/* Eyebrow badge */
.slideshow__eyebrow {
  display: inline-block;
  color: #ffffff;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 20px;
  padding: 6px 14px;
  border: 1px solid rgba(255,255,255,0.30);
}

/* Two-line heading */
.slideshow__title--two-line {
  line-height: 0.9 !important;
  letter-spacing: -1px !important;
  margin-bottom: 20px !important;
  font-size: clamp(44px, 5.5vw, 64px) !important;
}
.slideshow__title-top {
  color: #ffffff;
  display: block;
}
.slideshow__title-bottom {
  color: #cc1212;
  display: block;
}

/* Body paragraph */
.slideshow__content {
  color: rgba(255,255,255,0.78) !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  margin-bottom: 28px !important;
  font-weight: 300 !important;
  letter-spacing: 0.3px !important;
  max-width: 440px;
}

/* CTA wrapper (flex row) — constrain to body width so buttons
   stay aligned under the title/body block. */
.slideshow__ctas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  max-width: 440px;
  margin-top: 0;
}

/* ─────────────────────────────────────────────────────────
   HERO SLIDE LAYOUT — root cause fix for cropped CTAs
   The Warehouse base sets `.slideshow--preserve-ratio { max-height: 580px;
   overflow: hidden !important; }` which on wide viewports caps the
   slide height while content (eyebrow + 2-line title + body + 2 buttons)
   exceeds 580px, so the buttons fall out the bottom under overflow:hidden.
   Fix: remove the max-height cap, give every slide a min-height that
   accommodates the tallest content, and anchor the content wrapper to
   the lower-left corner of the slide via top:auto / bottom-padding so
   the buttons are guaranteed in-frame regardless of viewport width.
   ───────────────────────────────────────────────────────── */
.slideshow.slideshow--preserve-ratio,
.slideshow--preserve-ratio {
  max-height: 720px !important;
}
.slideshow--preserve-ratio .flickity-viewport,
.slideshow--preserve-ratio .slideshow__slide {
  min-height: 620px;
  max-height: 720px;
  height: 720px;
}
.slideshow--preserve-ratio .slideshow__slide-inner {
  min-height: 620px;
  max-height: 720px;
  height: 100%;
}
/* Cover the slide image so it fills the constrained slide height
   without distorting (replaces preserve-ratio's auto-sizing). */
.slideshow--preserve-ratio .slideshow__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.slideshow--preserve-ratio .slideshow__slide > div:first-child {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  .slideshow--preserve-ratio .flickity-viewport,
  .slideshow--preserve-ratio .slideshow__slide,
  .slideshow--preserve-ratio .slideshow__slide-inner { min-height: 540px; }
}
@media screen and (max-width: 600px) {
  .slideshow--preserve-ratio .flickity-viewport,
  .slideshow--preserve-ratio .slideshow__slide,
  .slideshow--preserve-ratio .slideshow__slide-inner { min-height: 480px; }
}

/* Anchor the content wrapper to the lower-left of the slide.
   This guarantees every slide's CTAs sit at a consistent offset
   from the bottom regardless of how much content is above. */
.slideshow--preserve-ratio .slideshow__content-wrapper {
  top: auto !important;
  bottom: 0 !important;
  left: 0 !important;
  transform: none !important;
  padding-top: 0 !important;
  padding-bottom: 56px !important;
}
.slideshow--preserve-ratio .slideshow__content-wrapper .container {
  padding-left: max(48px, calc(50% - 720px));
  padding-right: max(48px, calc(50% - 720px));
}
@media screen and (max-width: 768px) {
  .slideshow--preserve-ratio .slideshow__content-wrapper {
    padding-bottom: 48px !important;
  }
  .slideshow--preserve-ratio .slideshow__content-wrapper .container {
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* Push the carousel pagination dots BELOW the slide content area so
   they don't visually overlap the CTAs. */
.slideshow--preserve-ratio .flickity-page-dots {
  bottom: 16px;
}

/* Ghost / outline button */
.slideshow__button--ghost {
  display: inline-flex;
  align-items: center;
  background: transparent;
  color: #ffffff;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 14px 32px;
  border: 1.5px solid rgba(255,255,255,0.45);
  text-decoration: none;
  transition: border-color 200ms ease-out, background 200ms ease-out;
}
.slideshow__button--ghost:hover {
  border-color: #ffffff;
  background: rgba(255,255,255,0.08);
  color: #ffffff;
}

/* Primary button inside slides — match prototype */
.slideshow__slide .slideshow__button.button {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 14px 32px;
}

/* ─── FOOTER ────────────────────────────────────────────────────── */
.footer {
  background: #111111 !important;
  color: #ffffff !important;
}

/* Footer logo layout */
.srg-footer-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}
.srg-footer-logo-mark {
  display: flex;
  align-items: baseline;
  font-family: 'Anton', sans-serif;
  font-size: 32px;
  line-height: 1;
  letter-spacing: -1px;
}
.srg-footer-logo-vert {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 7px;
  letter-spacing: 2px;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  line-height: 1.2;
}
.footer .srg-footer-logo-sr { color: #ffffff; }
.footer .srg-footer-logo-g  { color: #cc1212; }
.footer .srg-footer-logo-vert { color: #999999; }
.footer__link-item,
.footer__title { color: #cccccc !important; }
.footer__link-item:hover { color: #ffffff !important; }

/* ============================================================
   COLLECTION PAGE — suppress default Warehouse image header
   SRG uses the srg-collection-hero section instead
   ============================================================ */
.collection__image-wrapper,
.collection__header-image,
.page__sub-header .breadcrumb {
  /* Keep breadcrumb but don't need to hide it */
}

/* Suppress quick buy, quick view on collection cards */
.product-item__quick-buy-wrapper,
.product-item__quick-view-wrapper {
  display: none !important;
}

/* Collection page background */
.collection__products-wrapper,
.collection .container--flush {
  background: #f0efeb;
}

/* Collection filter bar improvements */
.collection__filter-bar,
.filter-bar {
  background: #ffffff;
  border-bottom: 1px solid #e8e8e8;
}

/* ============================================================
   SRG CONTENT PAGES — ensure font loading (link tag added by
   the layout file via Google Fonts import)
   ============================================================ */

/* Reset any Warehouse container widths on SRG content pages */
.srg-page .container,
.srg-page .container--narrow {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Ensure the RTE wrapper doesn't fight our content */
.page__content.rte .srg-page,
.page__description.rte .srg-page {
  all: unset;
}

/* ============================================================
   GOOGLE FONTS — ensure Anton + Barlow are loaded globally
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Barlow+Condensed:wght@300;400;500;600&family=Montserrat:wght@800&display=swap');

/* ─── BRANDS STRIP ───────────────────────────────────────────── */
.srg-brands-section {
  padding: 56px 0;
  background: var(--srg-off-white, #f5f4f0);
  border-top: 1px solid var(--srg-border, #e8e8e8);
}
.srg-brands-heading {
  font-family: 'Anton', sans-serif;
  font-size: 28px;
  color: var(--srg-black, #111);
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 32px;
  letter-spacing: 1px;
}
.srg-brands-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  max-width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 900px) {
  .srg-brands-grid { grid-template-columns: repeat(4, 1fr); }
}
@media screen and (max-width: 600px) {
  .srg-brands-grid { grid-template-columns: repeat(3, 1fr); }
}
.srg-brand-item {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--srg-charcoal, #333);
  padding: 18px 8px;
  background: #fff;
  border: 1px solid var(--srg-border, #e8e8e8);
  text-align: center;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.srg-brand-item:hover,
.srg-brand-item:has(.srg-brand-link:hover) {
  border-color: var(--srg-red, #cc1212);
  color: var(--srg-red, #cc1212);
}
.srg-brand-link {
  color: inherit;
  text-decoration: none;
  display: block;
  width: 100%;
  text-align: center;
}
.srg-brand-link:hover { color: var(--srg-red, #cc1212); }

/* ============================================================
   NEWSLETTER SECTION — Prototype match overrides
   Target: Warehouse section[data-section-type="newsletter"]
   ============================================================ */

/* Section padding: 64px top/bottom (prototype: padding: 64px 32px) */
[data-section-type="newsletter"].section--tight,
[data-section-type="newsletter"].section--isolated {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

/* Heading: 32px Anton (h3 default is too small) */
[data-section-type="newsletter"] .heading.h3,
[data-section-type="newsletter"] h2,
[data-section-type="newsletter"] h3 {
  font-family: 'Anton', sans-serif !important;
  font-size: 32px !important;
  color: #ffffff !important;
  letter-spacing: -0.5px !important;
  margin-bottom: 12px !important;
  line-height: 1 !important;
}

/* Subtitle: grey (#888888) not white */
[data-section-type="newsletter"] .rte p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 15px !important;
  color: #888888 !important;
  max-width: 400px !important;
  margin: 0 auto 28px !important;
  line-height: 1.6 !important;
}

/* Form row: flex, constrained width */
[data-section-type="newsletter"] .form__input-row {
  display: flex !important;
  gap: 8px !important;
  max-width: 440px !important;
  margin: 0 auto !important;
  flex-wrap: nowrap !important;
}

/* Email input: dark background, subtle border */
[data-section-type="newsletter"] .form__field--text,
[data-section-type="newsletter"] .form__field--borderless {
  flex: 1 !important;
  background: #1a1a1a !important;
  border: 1px solid #333333 !important;
  color: #ffffff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important;
  padding: 14px 20px !important;
  border-radius: 4px !important;
  outline: none !important;
  transition: border-color 200ms ease-out !important;
  height: auto !important;
}
[data-section-type="newsletter"] .form__field--text:focus,
[data-section-type="newsletter"] .form__field--borderless:focus {
  border-color: #cc1212 !important;
}

/* Floating label — transform to look like a placeholder hint */
[data-section-type="newsletter"] .form__floating-label {
  color: #777777 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  left: 20px !important;
}
/* When input has value or is focused, hide the label */
[data-section-type="newsletter"] .form__field--text:focus ~ .form__floating-label,
[data-section-type="newsletter"] .form__field--text:not(:placeholder-shown) ~ .form__floating-label,
[data-section-type="newsletter"] .form__field--borderless:focus ~ .form__floating-label,
[data-section-type="newsletter"] .form__field--borderless:not(:placeholder-shown) ~ .form__floating-label {
  display: none !important;
}

/* Subscribe button */
[data-section-type="newsletter"] .form__submit.button--primary,
[data-section-type="newsletter"] .button.button--primary {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  background: #cc1212 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: background 200ms ease-out !important;
}
[data-section-type="newsletter"] .form__submit.button--primary:hover,
[data-section-type="newsletter"] .button.button--primary:hover {
  background: #a80f0f !important;
}

/* ============================================================
   Suppress legacy srg-credentials section instances. The canonical
   credentials strip is rendered by main-page.liquid via the
   srg-credentials-block snippet; any DOM instance whose section
   id ends with "__srg-credentials" is a stale customizer remnant.
   ============================================================ */
[id$="__srg-credentials"] { display: none !important; } /* cache-bust-2026-05-04-09-01 */

/* ============================================================
   Fitting page — Premier Fitting Partner badge row
   Surfaces the Titleist Premier Fitting Partner status (and
   other accreditations) just below the page hero on /pages/fitting.
   ============================================================ */
.fitting-partners {
  background: #ffffff;
  border-bottom: 1px solid #e8e8e8;
  padding: 32px max(48px, calc(50% - 560px));
}
.fitting-partners-inner {
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
}
.fitting-partners-eyebrow {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #888888;
  font-weight: 500;
  margin-bottom: 20px;
}
.fitting-partner-badges {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  align-items: stretch;
}
.fitting-partner-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 18px 16px;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  background: #ffffff;
  transition: border-color 200ms ease-out, transform 200ms ease-out;
}
.fitting-partner-badge:hover {
  border-color: #cc1212;
  transform: translateY(-2px);
}
.fitting-partner-badge--titleist {
  border-color: #cc1212;
  background: linear-gradient(180deg, #ffffff 0%, rgba(204,18,18,0.04) 100%);
  box-shadow: 0 4px 12px rgba(204,18,18,0.08);
}
.fitting-partner-brand {
  font-family: 'Anton', sans-serif;
  font-size: 22px;
  letter-spacing: -0.5px;
  color: #111111;
  text-transform: uppercase;
  line-height: 1;
}
.fitting-partner-badge--titleist .fitting-partner-brand {
  color: #cc1212;
}
.fitting-partner-status {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.5px;
  color: #666666;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .fitting-partners { padding: 24px 24px; }
  .fitting-partner-badges { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .fitting-partner-badge { padding: 14px 12px; }
  .fitting-partner-brand { font-size: 18px; }
  .fitting-partner-status { font-size: 11px; }
}

/* ============================================================
   FAQ block — accordion on every key inner page
   AI assistants (ChatGPT, Perplexity, Claude) and Google AI
   Overviews scrape FAQ blocks heavily. JSON-LD FAQPage schema
   is emitted by the snippet alongside the visible accordion.
   ============================================================ */
.srg-faq {
  background: #f5f4f0;
  padding: 64px max(48px, calc(50% - 560px));
  border-top: 1px solid #e8e8e8;
}
.srg-faq-inner {
  max-width: 860px;
  margin: 0 auto;
}
.srg-faq-header {
  text-align: center;
  margin-bottom: 32px;
}
.srg-faq-eyebrow {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #888888;
  font-weight: 500;
  margin-bottom: 8px;
}
.srg-faq-title {
  font-family: 'Anton', sans-serif !important;
  font-size: 36px !important;
  letter-spacing: -0.5px !important;
  color: #111111 !important;
  margin: 0 0 12px !important;
  text-transform: uppercase;
  line-height: 1.05;
}
.srg-faq-intro {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 16px;
  color: #666666;
  margin: 0;
}
.srg-faq-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.srg-faq-item {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  transition: border-color 200ms ease-out, box-shadow 200ms ease-out;
}
.srg-faq-item[open] {
  border-color: #cc1212;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}
.srg-faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 24px;
  cursor: pointer;
  list-style: none;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 17px;
  font-weight: 500;
  color: #111111;
  letter-spacing: 0.2px;
}
.srg-faq-q::-webkit-details-marker {
  display: none;
}
.srg-faq-q:hover {
  color: #cc1212;
}
.srg-faq-q-text {
  flex: 1;
}
.srg-faq-q-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f0efeb;
  color: #cc1212;
  font-size: 18px;
  font-weight: 400;
  flex-shrink: 0;
  transition: transform 200ms ease-out, background 200ms ease-out;
}
.srg-faq-item[open] .srg-faq-q-icon {
  transform: rotate(45deg);
  background: #cc1212;
  color: #ffffff;
}
.srg-faq-a {
  padding: 0 24px 20px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px;
  color: #444444;
  line-height: 1.65;
}

@media (max-width: 768px) {
  .srg-faq { padding: 48px 24px; }
  .srg-faq-title { font-size: 28px !important; }
  .srg-faq-q { padding: 14px 16px; font-size: 15px; }
  .srg-faq-a { padding: 0 16px 16px; font-size: 14px; }
}

/* ============================================================
   Mega menu — Shop nav with category + brand columns
   Per Stuart's brief: two avenues to find a product (category vs
   brand). Brand tiles use CSS-styled wordmarks; swap for <img>
   logos when proper SVGs are supplied.
   ============================================================ */
.srg-desktop-nav-item--has-mega {
  position: static; /* container for absolute mega panel uses .srg-desktop-nav-wrap as positioning context */
}
.srg-desktop-nav-wrap {
  position: relative;
}
/* Keep mega trigger on the same baseline as plain text nav siblings.
   Use inline display + a CSS chevron via ::after instead of inline-flex,
   so SHOP doesn't sit higher than HOME / LESSONS / etc. */
.srg-desktop-nav__link--mega-trigger {
  display: inline;
  white-space: nowrap;
}
.srg-mega-chevron {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 6px;
  vertical-align: middle;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid currentColor;
  transition: transform 200ms ease-out;
  position: relative;
  top: -1px;
}
.srg-desktop-nav-item--has-mega.is-open .srg-mega-chevron {
  transform: rotate(180deg);
}

.srg-mega {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #ffffff;
  border-top: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
  padding: 32px max(48px, calc(50% - 600px));
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 180ms ease-out, transform 180ms ease-out, visibility 180ms ease-out;
}
.srg-desktop-nav-item--has-mega.is-open .srg-mega,
.srg-desktop-nav-item--has-mega:hover .srg-mega {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  hidden: false;
}
.srg-mega[hidden] {
  display: block; /* override hidden when JS opens */
}
.srg-mega-inner {
  display: grid;
  grid-template-columns: 0.9fr 0.9fr 1.6fr 1fr;
  gap: 36px;
  max-width: 1360px;
  margin: 0 auto;
}
.srg-mega-col-title {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #888888;
  margin: 0 0 14px;
}
.srg-mega-col-title--secondary {
  margin-top: 24px;
}
.srg-mega-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.srg-mega-list li {
  margin: 0;
}
.srg-mega-list a {
  display: block;
  padding: 6px 0;
  color: #333333;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 14px;
  letter-spacing: 0.3px;
  text-decoration: none;
  transition: color 150ms ease-out;
}
.srg-mega-list a:hover {
  color: #cc1212;
}

/* Per-category drill-down (Drivers / Fairways / etc → by brand) */
.srg-mega-list--cats .srg-mega-cat {
  position: relative;
}
.srg-mega-cat-link {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-right: 4px;
}
.srg-mega-cat-chev {
  display: inline-block;
  font-size: 16px;
  color: #cccccc;
  line-height: 1;
  transition: color 150ms ease-out, transform 150ms ease-out;
}
.srg-mega-cat:hover .srg-mega-cat-chev,
.srg-mega-cat:focus-within .srg-mega-cat-chev {
  color: #cc1212;
  transform: translateX(2px);
}
.srg-mega-cat-sub {
  position: absolute;
  top: 0;
  left: calc(100% + 14px);
  min-width: 220px;
  padding: 12px 16px;
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-left: 3px solid #cc1212;
  border-radius: 4px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
  list-style: none;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-6px);
  transition: opacity 160ms ease-out, transform 160ms ease-out, visibility 160ms ease-out;
  z-index: 5;
  pointer-events: none;
}
.srg-mega-cat:hover .srg-mega-cat-sub,
.srg-mega-cat:focus-within .srg-mega-cat-sub {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  pointer-events: auto;
}
.srg-mega-cat-sub::before {
  content: '';
  position: absolute;
  top: 0;
  left: -14px;
  width: 14px;
  height: 100%;
  /* invisible bridge so the cursor doesn't fall off between item and submenu */
}
.srg-mega-cat-sub li {
  margin: 0;
}
.srg-mega-cat-sub a {
  display: block;
  padding: 7px 0;
  color: #333333;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 14px;
  letter-spacing: 0.2px;
  text-decoration: none;
  border-bottom: 1px solid #f0efeb;
  transition: color 150ms ease-out, padding-left 150ms ease-out;
}
.srg-mega-cat-sub li:last-child a { border-bottom: none; }
.srg-mega-cat-sub a:hover {
  color: #cc1212;
  padding-left: 4px;
}
.srg-mega-cat-sub-all {
  font-weight: 600 !important;
  color: #cc1212 !important;
  border-bottom: 1px solid #e8e8e8 !important;
  margin-bottom: 4px;
}

/* ── Brand tile grid (mega menu — featured 8 brands)
   2 cols × 4 rows so the constrained brand column gives each tile
   enough horizontal width for the logo to read clearly. ── */
.srg-brand-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.srg-brand-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  min-height: 70px;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  background: #ffffff;
  text-decoration: none;
  transition: border-color 150ms ease-out, background 150ms ease-out, transform 150ms ease-out, box-shadow 150ms ease-out;
  overflow: hidden;
}
.srg-brand-tile:hover {
  border-color: #cc1212;
  background: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(204, 18, 18, 0.08);
}
.srg-brand-tile img {
  max-width: 100%;
  max-height: 44px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.srg-brand-grid-all {
  display: inline-block;
  margin-top: 14px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #cc1212;
  text-transform: uppercase;
  text-decoration: none;
}
.srg-brand-grid-all:hover { text-decoration: underline; }

/* ── Dedicated BRANDS mega panel (full-width brand wall) ── */
.srg-mega--brands {
  padding: 36px max(48px, calc(50% - 720px)) 32px;
}
.srg-mega-inner--brands {
  display: block;
  max-width: 1320px;
  margin: 0 auto;
}
.srg-brands-header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: end;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e8e8e8;
}
.srg-brands-eyebrow {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #cc1212;
  font-weight: 600;
  margin-bottom: 6px;
}
.srg-brands-title {
  font-family: 'Anton', sans-serif !important;
  font-size: 32px !important;
  letter-spacing: -0.5px !important;
  color: #111111 !important;
  margin: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase;
}
.srg-brands-tagline {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 14px;
  color: #555555;
  margin: 0;
  max-width: 420px;
  text-align: right;
  line-height: 1.5;
}
.srg-brands-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 10px;
  margin-bottom: 24px;
}
.srg-brand-tile--lg {
  min-height: 120px;
  padding: 16px 18px;
}
.srg-brand-tile--lg img {
  max-width: 100%;
  max-height: 76px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.srg-brands-footer {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
  padding-top: 18px;
  border-top: 1px solid #e8e8e8;
}
.srg-brands-fitting-cta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-decoration: none;
}
.srg-brands-fitting-eyebrow {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #cc1212;
  font-weight: 600;
}
.srg-brands-fitting-text {
  font-family: 'Anton', sans-serif;
  font-size: 18px;
  color: #111111;
  letter-spacing: -0.3px;
  text-transform: uppercase;
  line-height: 1.05;
}
.srg-brands-fitting-cta:hover .srg-brands-fitting-text { color: #cc1212; }
.srg-brands-all-link {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #cc1212;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-decoration: none;
}
.srg-brands-all-link:hover { text-decoration: underline; }

@media (max-width: 1280px) {
  .srg-brands-grid { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 1024px) {
  .srg-brands-grid { grid-template-columns: repeat(4, 1fr); }
  .srg-brands-header { grid-template-columns: 1fr; }
  .srg-brands-tagline { text-align: left; max-width: none; }
  .srg-brands-footer { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .srg-brands-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
}

/* ── Featured cards on right edge ── */
.srg-mega-col--featured {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.srg-mega-feature {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 18px 20px;
  border-radius: 4px;
  background: #f5f4f0;
  text-decoration: none;
  transition: background 200ms ease-out;
}
.srg-mega-feature:hover {
  background: #f0efeb;
}
.srg-mega-feature--titleist {
  background: linear-gradient(180deg, rgba(204,18,18,0.04) 0%, rgba(204,18,18,0.10) 100%);
  border: 1px solid rgba(204,18,18,0.25);
}
.srg-mega-feature-eyebrow {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #888888;
}
.srg-mega-feature--titleist .srg-mega-feature-eyebrow {
  color: #cc1212;
}
.srg-mega-feature-title {
  font-family: 'Anton', sans-serif;
  font-size: 18px;
  letter-spacing: -0.3px;
  color: #111111;
  text-transform: uppercase;
  line-height: 1.1;
}
.srg-mega-feature-cta {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.5px;
  color: #cc1212;
  margin-top: 4px;
}

@media (max-width: 1024px) {
  .srg-mega { padding: 24px 24px; }
  .srg-mega-inner { grid-template-columns: 1fr 1fr; gap: 24px; }
  .srg-mega-col--featured { grid-column: span 2; flex-direction: row; }
  .srg-mega-feature { flex: 1; }
  .srg-brand-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  /* Hide mega menu on mobile — burger handles its own nav */
  .srg-mega { display: none !important; }
  .srg-mega-chevron { display: none; }
}

/* ============================================================
   Mobile menu drawer — SRG bespoke (CHG-inspired)
   Layered on top of Warehouse's mobile-menu skeleton.
   ============================================================ */

/* Top CTA row: Book Lesson / Book Fitting */
.srg-mm-ctas {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 16px !important;
  background: #f5f4f0;
  border-bottom: 1px solid #e8e8e8;
}
.srg-mm-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 14px 16px;
  border-radius: 4px;
  text-decoration: none;
  min-height: 48px;
  transition: background 200ms ease-out, border-color 200ms ease-out;
}
.srg-mm-cta--ghost {
  background: transparent;
  color: #111111;
  border: 1.5px solid #333333;
}
.srg-mm-cta--ghost:active {
  background: #ebebe5;
}
.srg-mm-cta--primary {
  background: #cc1212;
  color: #ffffff;
  border: 1.5px solid #cc1212;
}
.srg-mm-cta--primary:active {
  background: #a80f0f;
  border-color: #a80f0f;
}

/* Shop drill-down panel: brand grid */
.srg-mm-brand-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: 8px;
}
.srg-mm-brand-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  min-height: 60px;
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  text-decoration: none;
}
.srg-mm-brand-tile img {
  max-width: 100%;
  max-height: 38px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.srg-mm-brand-tile:active {
  border-color: #cc1212;
  background: #fafafa;
}

/* Tighten section titles inside Shop panel */
.srg-mm-shop-panel .mobile-menu__section-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #888888;
  font-weight: 600;
  margin-bottom: 8px;
}

/* iPad / tablet: keep the mobile menu pattern (don't try to use desktop nav at this width) */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .srg-desktop-nav-wrap { display: none !important; }
  .header__mobile-nav-toggle { display: inline-flex !important; }
  .srg-mm-brand-grid { grid-template-columns: repeat(4, 1fr); }
}

@media screen and (max-width: 480px) {
  .srg-mm-cta { font-size: 12px; padding: 12px 12px; }
}

/* ============================================================
   ACCESSIBILITY FIXES (WCAG 2.1/2.2 AA)
   Bundle from a11y audit 2026-05-07
   ============================================================ */

/* S2 — Contrast: muted column titles #888 (3.54:1) → #707070 (4.7:1) */
.srg-mega-col-title,
.srg-mega-feature-eyebrow,
.srg-mm-shop-panel .mobile-menu__section-title,
.mobile-menu__section-title {
  color: #707070 !important;
}
.srg-mega-feature--titleist .srg-mega-feature-eyebrow {
  color: #cc1212 !important;
}
/* Sub eyebrow on collection brand strip */
.srg-shop-brands-sub { color: #5f5f5f; }

/* S4 — Brand-styled focus-visible ring across all interactive nav surfaces */
.srg-desktop-nav__link:focus-visible,
.srg-mega-list a:focus-visible,
.srg-mega-cat-link:focus-visible,
.srg-mega-cat-sub a:focus-visible,
.srg-mega-feature:focus-visible,
.srg-brand-tile:focus-visible,
.mobile-menu__nav-link:focus-visible,
.srg-mm-cta:focus-visible,
.srg-mm-brand-tile:focus-visible,
.mobile-menu__back-button:focus-visible,
.header__mobile-nav-toggle:focus-visible,
.srg-shop-brand-tile:focus-visible,
.srg-collection-hero__brand-cta:focus-visible {
  outline: 2px solid #cc1212;
  outline-offset: 2px;
  border-radius: 2px;
}

/* B6 — Mobile burger min tap target 44×44 (WCAG 2.5.8 AA) */
.header__mobile-nav-toggle {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* S6 — Mobile back button 44px height (WCAG 2.5.5 AAA, 2.5.8 AA) */
.mobile-menu__back-button {
  min-height: 44px;
  display: inline-flex !important;
  align-items: center;
}

/* B5 helper — when a nested mobile panel is open, parent panel becomes inert */
/* (the JS sets the [inert] attribute; modern browsers handle the rest, but
    add a visual cue + lock CSS just in case the JS fails) */
.mobile-menu__panel[inert] { pointer-events: none; }

/* Enforce focus visibility inside nested panels — overflow-hidden parents
   were potentially clipping focus rings */
.srg-mega { overflow: visible; }

/* S3 — Respect prefers-reduced-motion */
/* ============================================================
   SHOP SUB-NAV — appears on collection / product / brands pages.
   Horizontal scrollable strip below the main header so customers
   can jump categories without re-opening the mega menu.
   ============================================================ */
.srg-shop-subnav {
  background: #f5f4f0;
  border-bottom: 1px solid #e8e8e8;
  position: sticky;
  top: 0;
  z-index: 90;
}
.srg-shop-subnav__inner {
  display: flex;
  align-items: center;
  gap: 4px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 max(24px, calc(50% - 720px));
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.srg-shop-subnav__inner::-webkit-scrollbar { display: none; }
.srg-shop-subnav__link {
  display: inline-flex;
  align-items: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #555555;
  text-decoration: none;
  padding: 14px 14px;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color 150ms ease-out, border-color 150ms ease-out;
}
.srg-shop-subnav__link:hover {
  color: #111111;
}
.srg-shop-subnav__link.is-active {
  color: #111111;
  border-bottom-color: #cc1212;
  font-weight: 600;
}
.srg-shop-subnav__link--brands {
  color: #cc1212;
  font-weight: 600;
}
.srg-shop-subnav__link--sale {
  color: #cc1212;
  font-weight: 700;
}
.srg-shop-subnav__divider {
  display: inline-block;
  width: 1px;
  height: 18px;
  background: #d8d6d0;
  margin: 0 8px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  /* On mobile the burger drawer covers this need — hide to reduce noise */
  .srg-shop-subnav { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .srg-mega,
  .srg-mega-cat-sub,
  .srg-mega-cat-chev,
  .srg-mega-chevron,
  .srg-brand-tile,
  .srg-brand-tile img,
  .srg-mega-feature,
  .srg-shop-brand-tile,
  .srg-shop-brand-tile img,
  .srg-mm-brand-tile,
  .srg-pricing-card,
  .srg-pricing-card-name,
  .srg-pricing-card-header,
  .srg-pricing-card-footer,
  .srg-pricing-table tr,
  .pricing-card,
  .pricing-card-header,
  .pricing-table tr,
  .mobile-menu,
  .mobile-menu__panel,
  .fitting-partner-badge,
  .srg-mega-feature-cta,
  .srg-pillar-cta,
  .srg-about-cta,
  .srg-pc-light,
  .srg-pc-dark,
  .srg-faq-item,
  .srg-faq-q-icon,
  .srg-collection-hero__brand-cta {
    transition: none !important;
    animation: none !important;
  }
  .srg-brand-tile:hover,
  .srg-shop-brand-tile:hover,
  .srg-pricing-card:hover,
  .pricing-card:hover,
  .fitting-partner-badge:hover,
  .srg-pc-light:hover,
  .srg-pc-dark:hover {
    transform: none !important;
  }
}
