/** Shopify CDN: Minification failed

Line 7:0 Unexpected "}"

**/

}

/* Marquee sits in the sticky stack with the header — also glass so the strip matches */
#shopify-section-group-header-group .hc-marquee-section,
.shopify-section-group-header-group .hc-marquee-section,
.hc-marquee-section {
  position: relative;
  z-index: 1;
  background: transparent !important;
}

#shopify-section-group-header-group .hc-marquee,
.shopify-section-group-header-group .hc-marquee,
.hc-marquee {
  background: transparent !important;
}

/* Menus / drawers always above page content (slideshow arrows, etc.) */
sticky-header,
.header-wrapper,
.section-header,
#shopify-section-header,
#shopify-section-header-group,
header.header,
.site-header,
.header,
.mega-menu,
.header__submenu,
.menu-drawer,
.nav-dropdown,
.nav-dropdown[aria-hidden="false"],
.desktop-menu,
.mobile-menu,
#mobile-menu {
  z-index: 10060 !important;
}

/* Header shop logo — gold edge + static red glow (no pulse).
   Shopify Theme settings Custom CSS rejects `filter`; lives here instead.
   Wholesale logo is excluded. Rollback: delete this block. */
.header__logo-image:not(.header__logo-image--wholesale) {
  filter: drop-shadow(0 0 1px #e8c37a) drop-shadow(0 0 8px #7f1d1d);
}

/* Page slideshow stays under sticky header + open menu */
.cm-slideshow-section {
  position: relative;
  z-index: 1 !important;
  isolation: isolate;
}

/* -------------------------------------------------------------------------
   Shared “CM card” surface (Our Mission style — red/orange wash)
   Aligns with CM Featured Collection product tiles.
   ------------------------------------------------------------------------- */
.template-collection .card,
.template-product .card,
.template-search .card,
.template-collection .product-item,
.template-search .product-item,
.template-product .product-item,
.template-index .product-item {
  border-radius: 0.95rem !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  background: var(--cm-card-bg) !important;
  box-shadow: 0 0 28px rgba(239, 68, 68, 0.06) !important;
  overflow: hidden !important;
}

/*
  Warehouse draws a light grid via .product-item:after box-shadow + product-list
  borders (often reads as a white edge on dark themes). CM Featured Collection
  kills those; match that here.
*/
.template-collection .product-list,
.template-search .product-list,
.template-product .product-list,
.template-index .product-list,
[data-section-type="product-recommendations"] .product-list,
[data-section-type="recently-viewed-products"] .product-list {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.template-collection .product-list:before,
.template-collection .product-list:after,
.template-search .product-list:before,
.template-search .product-list:after,
.template-product .product-list:before,
.template-product .product-list:after,
.template-index .product-list:before,
.template-index .product-list:after,
[data-section-type="product-recommendations"] .product-list:before,
[data-section-type="product-recommendations"] .product-list:after,
[data-section-type="recently-viewed-products"] .product-list:before,
[data-section-type="recently-viewed-products"] .product-list:after {
  display: none !important;
  content: none !important;
  border: none !important;
  box-shadow: none !important;
}

.template-collection .product-item:after,
.template-search .product-item:after,
.template-product .product-item:after,
.template-index .product-item:after,
.product-recommendations .product-item:after,
.recently-viewed-products-placeholder .product-item:after,
[data-section-type="product-recommendations"] .product-item:after,
[data-section-type="recently-viewed-products"] .product-item:after {
  display: none !important;
  content: none !important;
  box-shadow: none !important;
  border: none !important;
}

/*
  Soft gap for scroll rows only (width is not % of full row).
  Collection grid keeps theme % widths — no gap (would wrap early).
*/
.template-product .product-list--scrollable,
[data-section-type="product-recommendations"] .product-list--scrollable,
[data-section-type="recently-viewed-products"] .product-list--scrollable {
  gap: 0.75rem !important;
}

/* Match CM Featured Collection card hover edge */
.template-collection .product-item:hover,
.template-search .product-item:hover,
.template-product .product-item:hover,
.template-index .product-item:hover {
  border-color: rgba(239, 68, 68, 0.55) !important;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.14), 0 10px 24px rgba(0, 0, 0, 0.35) !important;
}

/* -------------------------------------------------------------------------
   COLLECTION PAGES — hub-style pieces, not one mega frame
   Banner / title / products / description sit separately like collection hubs.
   ------------------------------------------------------------------------- */

.template-collection .collection > .card,
.template-collection .collection .card {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* Standalone hero strip — same glass frame as hub banners */
.template-collection .collection__image-wrapper {
  position: relative;
  z-index: 1;
  margin-bottom: 1.25rem !important;
  border-radius: 1.15rem !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  overflow: hidden !important;
  isolation: isolate;
  background:
    radial-gradient(ellipse 70% 80% at 50% 0%, rgba(239, 68, 68, 0.18), transparent 60%),
    #0a0a0a !important;
  box-shadow:
    0 0 0 1px rgba(239, 68, 68, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.4),
    inset 0 8px 24px rgba(255, 255, 255, 0.06),
    inset 0 -1px 0 rgba(255, 255, 255, 0.06),
    0 0 28px rgba(239, 68, 68, 0.22),
    0 0 56px rgba(239, 68, 68, 0.12),
    0 12px 32px rgba(0, 0, 0, 0.35) !important;
}

/*
  Glossy glass sheet over the banner (stronger shine)
  ::before = diagonal specular highlight (like light on glass)
  ::after  = glass film + edge bevel
*/
.template-collection .collection__image-wrapper::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background:
    /* hot top-left glass reflection */
    linear-gradient(
      122deg,
      rgba(255, 255, 255, 0.72) 0%,
      rgba(255, 255, 255, 0.38) 8%,
      rgba(255, 255, 255, 0.14) 18%,
      rgba(255, 255, 255, 0.04) 32%,
      transparent 52%
    ),
    /* sharp secondary streak (wet-glass highlight) */
    linear-gradient(
      108deg,
      transparent 36%,
      rgba(255, 255, 255, 0.22) 48%,
      rgba(255, 255, 255, 0.06) 54%,
      transparent 62%
    ),
    /* thin third sparkle line */
    linear-gradient(
      115deg,
      transparent 58%,
      rgba(255, 255, 255, 0.12) 63%,
      transparent 70%
    );
  mix-blend-mode: soft-light;
  opacity: 1;
}

.template-collection .collection__image-wrapper::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  /* glossier film: brighter top, clear mid, depth at bottom */
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.28) 0%,
      rgba(255, 255, 255, 0.1) 14%,
      rgba(255, 255, 255, 0.03) 40%,
      rgba(0, 0, 0, 0.14) 100%
    ),
    radial-gradient(
      ellipse 90% 55% at 15% -5%,
      rgba(255, 255, 255, 0.42),
      transparent 58%
    ),
    radial-gradient(
      ellipse 40% 30% at 85% 20%,
      rgba(255, 255, 255, 0.12),
      transparent 50%
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 2px 8px rgba(255, 255, 255, 0.12),
    inset 0 0 0 1px rgba(255, 255, 255, 0.14),
    inset 0 -24px 48px rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: saturate(130%) blur(0.5px);
  backdrop-filter: saturate(130%) blur(0.5px);
}

.template-collection .collection__image-wrapper + .card {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin-top: 0 !important;
}

.template-collection .collection__image-wrapper img,
.template-collection .collection__image-wrapper .image-background,
.template-collection .collection__image {
  border-radius: 0 !important;
  object-fit: cover;
  position: relative;
  z-index: 0;
  /* tiny clarity so glass reads on top, not muddy */
  filter: contrast(1.03) saturate(1.04);
}

/* Brand template logo tile */
.template-collection .collection__brand-logo-wrapper {
  border: 1px solid rgba(239, 68, 68, 0.4) !important;
  border-radius: 0.95rem !important;
  background:
    radial-gradient(ellipse 80% 80% at 0% 0%, rgba(239, 68, 68, 0.14), transparent 60%),
    linear-gradient(160deg, #1c1c1f 0%, #141416 100%) !important;
  box-shadow: 0 0 20px rgba(239, 68, 68, 0.1) !important;
  padding: 12px !important;
  overflow: hidden;
}

.template-collection .collection__brand-logo-image {
  border-radius: 0.55rem;
  overflow: hidden;
}

.template-collection .collection__brand-logo-image img {
  border-radius: 0.55rem !important;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* Title sits on the page, like a hub header — no boxed strip */
.template-collection .collection .card__header {
  border: none !important;
  background: transparent !important;
  padding: 0.15rem 0 0.85rem !important;
}

.template-collection .collection__header {
  width: 100%;
}

.template-collection .collection__meta-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
  width: 100%;
}

.template-collection .collection__heading {
  flex: 1 1 12rem;
  min-width: 0;
}

.cm-set-singles-cta {
  flex: 0 0 auto;
}

.cm-set-singles-cta a {
  display: inline-block;
  padding: 0.7rem 1.15rem;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  color: #111 !important;
  background: linear-gradient(180deg, #facc15, #e8c37a);
  white-space: nowrap;
  box-shadow: 0 0 16px rgba(232, 195, 122, 0.28);
}

.cm-set-singles-cta a:hover {
  filter: brightness(1.06);
}

.template-collection .collection__title,
.template-collection h1.collection__title {
  letter-spacing: -0.03em !important;
  color: #fafafa !important;
  font-weight: 900 !important;
  text-align: left !important;
  margin-top: 0 !important;
  margin-bottom: 0.35rem !important;
}

.template-collection .collection__title::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2px;
  margin-top: 0.55rem;
  border-radius: 2px;
  background: linear-gradient(90deg, #ef4444, rgba(249, 115, 22, 0.85));
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.35);
}

.template-collection .collection__products-count,
.template-collection .collection__showing-count {
  color: #a1a1aa !important;
}

.template-collection .collection__description {
  margin-top: 1.5rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(239, 68, 68, 0.28);
  background:
    radial-gradient(ellipse 70% 60% at 0% 0%, rgba(239, 68, 68, 0.12), transparent 55%),
    radial-gradient(ellipse 50% 45% at 100% 100%, rgba(249, 115, 22, 0.07), transparent 50%),
    linear-gradient(160deg, #1c1c1f 0%, #141416 100%);
  box-shadow: 0 0 28px rgba(239, 68, 68, 0.06);
  color: #d4d4d8;
  padding: 1.15rem 1.2rem 1.25rem;
}

/* Meta row — no nested white/double card; sit cleanly in header */
.template-collection .collection__meta {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

.template-collection .collection__filter-group-name,
.template-collection .card__title--small {
  color: #fafafa !important;
}

/* Toolbar — rounded pills, not a full-width strip */
.template-collection .collection__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 0 0.85rem !important;
  margin-top: 0.35rem !important;
  margin-bottom: 0.95rem !important;
  color: #e4e4e7;
}

.template-collection .collection__toolbar--bordered {
  box-shadow: none !important;
}

.template-collection .collection__toolbar-item,
.template-collection .collection__showing-count,
.template-collection .collection__toolbar-item--sort {
  height: auto !important;
  margin: 0 !important;
}

.template-collection .cm-filters-toggle,
.template-collection .collection__toolbar-item--filter,
.template-collection .collection__showing-count,
.template-collection .collection__toolbar .value-picker-button,
.template-collection .collection__toolbar-item--layout {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.15rem;
  padding: 0.35rem 0.85rem;
  border: 1px solid rgba(239, 68, 68, 0.32);
  border-radius: 999px;
  background: rgba(12, 12, 14, 0.78);
  color: #f4f4f5;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.06);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}

.template-collection .collection__toolbar .value-picker-button {
  background: rgba(12, 12, 14, 0.78);
  color: #f4f4f5;
}

.template-collection .collection__toolbar .value-picker-button:hover,
.template-collection .cm-filters-toggle:hover,
.template-collection .collection__toolbar-item--filter:hover {
  border-color: rgba(239, 68, 68, 0.55);
  color: #fdba74;
}

.template-collection .collection__toolbar .value-picker-button svg {
  width: 8px;
  height: 6px;
  margin-left: 0.15rem;
}

.template-collection .collection__toolbar-item--layout {
  gap: 0.15rem;
  padding: 0.2rem 0.35rem;
}

.template-collection .collection__layout-label {
  margin-right: 0.25rem;
  color: #a1a1aa;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.template-collection .collection__layout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  margin: 0 !important;
  border-radius: 999px;
  color: #a1a1aa;
  opacity: 1;
}

.template-collection .collection__layout-button.is-selected,
.template-collection .collection__layout-button:hover {
  background: rgba(239, 68, 68, 0.16);
  color: #fdba74 !important;
  opacity: 1;
}

.template-collection .collection__filter-icon--active {
  color: #ef4444;
}

/* Product grid cards */
.template-collection .product-item,
.template-search .product-item,
.template-index .product-item,
.template-product .product-item {
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.template-collection .product-item:hover,
.template-search .product-item:hover,
.template-index .product-item:hover,
.template-product .product-item:hover {
  border-color: var(--cm-border-hover) !important;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.15), 0 0 28px rgba(239, 68, 68, 0.1), 0 12px 28px rgba(0, 0, 0, 0.35);
  transform: translateY(-2px);
}

/* Image corners inside product cards */
.template-collection .product-item__image-wrapper,
.template-search .product-item__image-wrapper,
.template-index .product-item__image-wrapper,
.template-product .product-item__image-wrapper {
  border-radius: calc(var(--cm-radius) - 2px);
  overflow: hidden;
}

.template-collection .product-item__image-wrapper img,
.template-search .product-item__image-wrapper img,
.template-index .product-item__image-wrapper img,
.template-product .product-item__image-wrapper img {
  border-radius: calc(var(--cm-radius) - 2px);
}

/*
  Collection / grid cards: uniform 2:3 frame.
  Primary (1st) image uses object-fit: cover so white-padding product shots
  fill the frame (empty sides cropped) instead of shrinking inside letterbox.
  Secondary hover image stays contain so alternate views aren't clipped oddly.
  CSS cannot auto-detect product vs white — cover is the practical fit.
*/
.template-collection .product-item__image-wrapper .aspect-ratio,
.template-search .product-item__image-wrapper .aspect-ratio,
.template-index .product-item__image-wrapper .aspect-ratio,
.template-product .product-item__image-wrapper .aspect-ratio {
  padding-bottom: 150% !important; /* 2:3 */
  background: rgba(0, 0, 0, 0.28);
}

.template-collection .product-item__image-wrapper .aspect-ratio img,
.template-search .product-item__image-wrapper .aspect-ratio img,
.template-index .product-item__image-wrapper .aspect-ratio img,
.template-product .product-item__image-wrapper .aspect-ratio img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  object-position: center center !important;
}

/* First / featured image only — fill frame, crop excess white margins */
.template-collection .product-item__primary-image,
.template-search .product-item__primary-image,
.template-index .product-item__primary-image,
.template-product .product-item__primary-image {
  object-fit: cover !important;
  font-family: "object-fit: cover; object-position: center;" !important;
}

/* Hover secondary — show full alternate image */
.template-collection .product-item__secondary-image,
.template-search .product-item__secondary-image,
.template-index .product-item__secondary-image,
.template-product .product-item__secondary-image {
  object-fit: contain !important;
  font-family: "object-fit: contain; object-position: center;" !important;
}

/* Product info area inside card */
.template-collection .product-item__info,
.template-search .product-item__info,
.template-product .product-item__info {
  padding: 0.65rem 0.75rem 0.85rem;
}

.template-collection .product-item__title,
.template-search .product-item__title,
.template-product .product-item__title {
  color: #fafafa !important;
}

/* Prices + vendor — same as related/recent cards */
.template-collection .product-item .price-list,
.template-collection .product-item .price,
.template-collection .product-item__price-list,
.template-search .product-item .price-list,
.template-search .product-item .price {
  color: #e4e4e7 !important;
}

.template-collection .product-item__vendor,
.template-search .product-item__vendor {
  color: #a1a1aa !important;
}

.template-collection .product-label,
.template-search .product-label {
  border-radius: 6px;
}

/* Preorder tiles under the buy card */
.template-product .cm-preorder-tiles {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.7rem;
  margin-top: 0.85rem;
}

@media screen and (min-width: 641px) {
  .template-product .cm-preorder-tiles {
    grid-template-columns: 1fr 1fr;
  }
}

.template-product .cm-preorder-tiles__tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 6.6rem;
  padding: 1.1rem 0.9rem;
  border: 1px solid rgba(239, 68, 68, 0.32);
  border-radius: 0.95rem;
  background: var(--cm-card-bg);
  box-shadow: 0 0 28px rgba(239, 68, 68, 0.06);
  text-align: center;
  text-decoration: none;
  color: inherit;
}

.template-product a.cm-preorder-tiles__tile:hover {
  border-color: rgba(239, 68, 68, 0.5);
}

.template-product .cm-preorder-tiles__label {
  margin: 0;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.15;
  text-transform: uppercase;
}

.template-product .cm-preorder-tiles__value {
  margin: 0;
  color: #fbbf24;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.25;
  text-transform: uppercase;
}

.template-product .cm-preorder-tiles__kicker {
  margin: 0;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.15;
  text-transform: uppercase;
}

.template-product a.cm-preorder-tiles__tile .cm-preorder-tiles__label {
  font-size: 0.78rem;
  font-weight: 800;
  color: #e4e4e7;
}

.template-product a.cm-preorder-tiles__tile .cm-preorder-tiles__value {
  color: #fdba74;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.template-product .cm-preorder-tiles__tile--info {
  grid-column: 1 / -1;
  min-height: 0;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}

.template-product .cm-preorder-tiles__tile--info .cm-preorder-tiles__value {
  text-transform: none;
  letter-spacing: 0.01em;
  font-weight: 600;
  line-height: 1.45;
  color: #fde68a;
}

.template-product .cm-preorder-tiles__infolink {
  display: inline-block;
  margin-top: 0.15rem;
  color: #fdba74;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.template-product .cm-preorder-tiles__infolink:hover {
  color: #fff;
}

/* Add to cart = SAVE gold pill */
.template-collection .product-item .button--primary:not(.cm-atc--preorder):not(.cm-atc--options),
.template-search .product-item .button--primary:not(.cm-atc--preorder):not(.cm-atc--options),
.template-index .product-item .button--primary:not(.cm-atc--preorder):not(.cm-atc--options),
.template-product .product-form .button--primary:not(.cm-atc--preorder),
.template-product .product-item .button--primary:not(.cm-atc--preorder):not(.cm-atc--options),
.cm-atc--cart {
  border-radius: 999px !important;
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 55%, #d97706 100%) !important;
  border: 1px solid rgba(255, 237, 184, 0.45) !important;
  color: #1c1410 !important;
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.28);
  font-weight: 800 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.template-collection .product-item .button--primary:not(.cm-atc--preorder):not(.cm-atc--options):hover,
.template-search .product-item .button--primary:not(.cm-atc--preorder):not(.cm-atc--options):hover,
.template-index .product-item .button--primary:not(.cm-atc--preorder):not(.cm-atc--options):hover,
.template-product .product-form .button--primary:not(.cm-atc--preorder):hover,
.template-product .product-item .button--primary:not(.cm-atc--preorder):not(.cm-atc--options):hover,
.cm-atc--cart:hover {
  background: linear-gradient(135deg, #fde68a 0%, #fbbf24 50%, #f59e0b 100%) !important;
  color: #1c1410 !important;
}

/* Pre-order = PREORDER image pill (must beat the gold ATC rule) */
.template-collection .product-item .button--primary.cm-atc--preorder,
.template-search .product-item .button--primary.cm-atc--preorder,
.template-index .product-item .button--primary.cm-atc--preorder,
.template-product .product-form .button--primary.cm-atc--preorder,
.template-product .product-form__add-button.cm-atc--preorder,
.template-suffix-pre-order .product-form .button--primary,
.template-suffix-pre-order .product-form__add-button {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 42%, #ae1e1e 100%) !important;
  border: 1px solid rgba(251, 191, 36, 0.55) !important;
  color: #fff7ed !important;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.28),
    0 4px 14px rgba(174, 30, 30, 0.38);
}

.template-collection .product-item .button--primary.cm-atc--preorder:hover,
.template-search .product-item .button--primary.cm-atc--preorder:hover,
.template-index .product-item .button--primary.cm-atc--preorder:hover,
.template-product .product-form .button--primary.cm-atc--preorder:hover,
.template-product .product-form__add-button.cm-atc--preorder:hover,
.template-suffix-pre-order .product-form__add-button:hover {
  background: linear-gradient(135deg, #f87171 0%, #ef4444 40%, #dc2626 100%) !important;
  color: #fff7ed !important;
}

/* Secondary / quick view on collection + search cards */
.template-collection .product-item .button--secondary,
.template-search .product-item .button--secondary {
  border-radius: 999px !important;
  border-color: rgba(239, 68, 68, 0.4) !important;
  color: #fafafa !important;
  background: rgba(0, 0, 0, 0.35) !important;
}

.template-collection .product-item .button--secondary:hover,
.template-search .product-item .button--secondary:hover {
  border-color: rgba(239, 68, 68, 0.65) !important;
  background: rgba(239, 68, 68, 0.12) !important;
  color: #fdba74 !important;
}

/* -------------------------------------------------------------------------
   PRODUCT PAGES
   ------------------------------------------------------------------------- */

/* Main product blocks (description, content cards) */
.template-product .product-block-list__item .card {
  overflow: hidden;
}

.template-product .card__header,
.template-product .card__title {
  color: #fff;
}

.template-product .card__section {
  border-color: rgba(63, 63, 70, 0.6);
}

/* Gallery frame */
.template-product .product-gallery,
.template-product .product-gallery__carousel,
.template-product .product-gallery__image,
.template-product .product-block-list__item--gallery {
  border-radius: var(--cm-radius-lg);
}

.template-product .product-block-list__item--gallery {
  overflow: hidden;
}

/* Product info column — soft card surface without breaking layout */
.template-product .product-block-list__item--info > .card,
.template-product .product-form,
.template-product .product-meta {
  /* meta/form stay structural; wrap tone via nearby cards */
}

.template-product .product-block-list__item--info {
  border-radius: var(--cm-radius-lg);
}

/* If product info sits in a plain block, give it a mission-style surface */
.template-product .product-block-list__item--info .product-form,
.template-product .product-meta {
  border-radius: var(--cm-radius);
}

/* Add to cart area — do NOT style Shopify dynamic checkout the same way
   (that’s what caused a blank red slab under ATC / Pre-order). */
.template-product .product-form__buy-buttons .button--primary,
.template-product .product-form__add-button,
.template-product button[type="submit"].button--primary {
  border-radius: 999px !important;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Quantity stepper — same CM capsule as other PDP controls */
.template-product .quantity-selector,
.template-product .quantity-selector--product {
  height: 44px !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  border-radius: 999px !important;
  background: rgba(12, 12, 14, 0.78) !important;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.06) !important;
  overflow: hidden;
}

.template-product .quantity-selector__button {
  color: #e4e4e7 !important;
  padding: 0 16px !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.template-product .quantity-selector__button:not([disabled]):hover {
  color: #fdba74 !important;
  background: rgba(239, 68, 68, 0.12) !important;
}

.template-product .quantity-selector__value,
.template-product .quantity-selector--product .quantity-selector__value {
  width: 52px !important;
  min-width: 52px !important;
  border-left: 1px solid rgba(239, 68, 68, 0.22) !important;
  border-right: 1px solid rgba(239, 68, 68, 0.22) !important;
  box-shadow: none !important;
  background: rgba(0, 0, 0, 0.28) !important;
  color: #fff !important;
  font-weight: 800;
}

/*
  OOS / back-in-stock (BIS) button layout fix
  Theme desktop rule: .product-form__payment-container > * { width: 50% }
  for ATC + Buy it now side-by-side. When ATC is hidden, the BIS “Notify me”
  button stayed ~half width and long labels stacked vertically (deformed pill).
*/
@media screen and (min-width: 641px) {
  .template-product .product-form__payment-container:has(.product-form__add-button:disabled) > *:not(.product-form__add-button),
  .template-product .product-form__payment-container:has(.product-form__add-button--oos-hidden) > *:not(.product-form__add-button--oos-hidden) {
    width: calc(100% - 18px) !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
}

/* BIS app injects various class names — force a normal full-width CTA */
.template-product .product-form__buy-buttons .BIS_trigger,
.template-product .product-form__payment-container .BIS_trigger,
.template-product .product-form .BIS_trigger,
.template-product .product-form__buy-buttons [class*="BIS_"],
.template-product .product-form__payment-container [class*="BIS_"],
.template-product .product-form a.BIS_trigger,
.template-product .product-form button.BIS_trigger,
.template-product .product-form [data-bis-trigger],
.template-product .product-form [class*="back-in-stock"],
.template-product .product-form [class*="BackInStock"],
.template-product .product-form [id*="bis"],
.template-product .product-form [id*="BIS"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  height: auto !important;
  padding: 0.85rem 1.25rem !important;
  margin-top: 0.5rem !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  line-height: 1.25 !important;
  writing-mode: horizontal-tb !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(12, 12, 14, 0.88) !important;
  color: #fde68a !important;
  border: 1px solid rgba(251, 191, 36, 0.45) !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.28);
}

/* Collection card actions — one pill shape; only the fill colour changes */
.template-collection .product-item .cm-card-action,
.template-search .product-item .cm-card-action,
.template-index .product-item .cm-card-action,
.template-collection .product-item .cm-atc,
.template-search .product-item .cm-atc,
.template-index .product-item .cm-atc,
.template-collection .product-item .bis-collection-button,
.template-search .product-item .bis-collection-button,
.template-index .product-item .bis-collection-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  margin-top: 10px !important;
  padding: 0 1rem !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-align: center !important;
}

.template-collection .product-item .cm-atc--notify,
.template-search .product-item .cm-atc--notify,
.template-index .product-item .cm-atc--notify,
.template-collection .product-item .bis-collection-button,
.template-search .product-item .bis-collection-button,
.template-index .product-item .bis-collection-button {
  background: rgba(12, 12, 14, 0.88) !important;
  color: #fde68a !important;
  border: 1px solid rgba(251, 191, 36, 0.45) !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.28);
}

.template-collection .product-item .cm-atc--options,
.template-search .product-item .cm-atc--options,
.template-index .product-item .cm-atc--options {
  background: rgba(12, 12, 14, 0.88) !important;
  color: #f4f4f5 !important;
  border: 1px solid rgba(239, 68, 68, 0.4) !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.28);
}

/* Payment container: stack full-width when only BIS (or similar) remains */
.template-product .product-form__payment-container:has(.product-form__add-button:disabled),
.template-product .product-form__payment-container:has(.product-form__add-button--oos-hidden) {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}

/* Dynamic checkout / Buy it now — keep Shopify branding readable */
.template-product .shopify-payment-button,
.template-product .shopify-payment-button__button,
.template-product shopify-accelerated-checkout,
.template-product shopify-accelerated-checkout-cart {
  color: inherit;
}

.template-product .shopify-payment-button__button--unbranded {
  border-radius: 999px !important;
  background: #1c1c1f !important;
  color: #fafafa !important;
  border: 1px solid rgba(239, 68, 68, 0.4) !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  min-height: 48px;
}

.template-product .shopify-payment-button__button--unbranded:hover {
  background: #2a2a2e !important;
  color: #fdba74 !important;
  border-color: rgba(239, 68, 68, 0.6) !important;
}

/* Quick view modal: hide any leftover empty payment button shell */
.modal .shopify-payment-button:empty,
.modal .shopify-payment-button__button:empty {
  display: none !important;
}

/* Quick view: hide Swym Wishlist button (injects empty #swym-atw-pdp-button-icon, does nothing) */
.modal #swym-atw-pdp-button,
.modal #swym-atw-pdp-button-icon,
.modal .swym-atw-button-container,
.modal .swym-btn-container.swym-inject,
.modal .swym-button-bar,
.modal .swym-wishlist-button-bar {
  display: none !important;
}

/* Variant selectors / quantity — rounded inputs */
.template-product .product-form select,
.template-product .product-form input[type="number"],
.template-product .combo-box,
.template-product .block-swatch,
.template-product .color-swatch {
  border-radius: 10px !important;
}

.template-product .block-swatch {
  border-color: var(--cm-border);
}

.template-product .block-swatch.is-selected,
.template-product .block-swatch[aria-current="true"] {
  border-color: var(--cm-red-bright) !important;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.35);
}

/* Price emphasis */
.template-product .price-list,
.template-product .price {
  color: #fff;
}

/* -------------------------------------------------------------------------
   Related products + Recently viewed
   Product pages (default + pre-order), collection pages, cart if present.
   Same mission-card tiles + CM section titles.
   ------------------------------------------------------------------------- */

[data-section-type="product-recommendations"],
[data-section-type="recently-viewed-products"] {
  position: relative;
}

[data-section-type="product-recommendations"].section,
[data-section-type="recently-viewed-products"].section,
.shopify-section[id*="product-recommendations"] > .section,
.shopify-section[id*="recently-viewed"] > .section {
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}

/* Headings */
[data-section-type="product-recommendations"] .section__header,
[data-section-type="recently-viewed-products"] .section__header {
  margin-bottom: 1.25rem;
}

[data-section-type="product-recommendations"] .section__title,
[data-section-type="recently-viewed-products"] .section__title {
  color: #fafafa !important;
  letter-spacing: -0.02em;
  font-weight: 700;
}

[data-section-type="product-recommendations"] .section__title::after,
[data-section-type="recently-viewed-products"] .section__title::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2px;
  margin-top: 0.55rem;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--cm-red-bright), rgba(249, 115, 22, 0.85));
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.35);
}

/* Cards inside related / recently viewed (any template) */
.product-recommendations .product-item,
.recently-viewed-products-placeholder .product-item,
[data-section-type="product-recommendations"] .product-item,
[data-section-type="recently-viewed-products"] .product-item {
  border-radius: var(--cm-radius-lg) !important;
  border: 1px solid var(--cm-border) !important;
  background: var(--cm-card-bg) !important;
  box-shadow: var(--cm-glow);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.product-recommendations .product-item:hover,
.recently-viewed-products-placeholder .product-item:hover,
[data-section-type="product-recommendations"] .product-item:hover,
[data-section-type="recently-viewed-products"] .product-item:hover {
  border-color: var(--cm-border-hover) !important;
  box-shadow:
    0 0 0 1px rgba(239, 68, 68, 0.15),
    0 0 28px rgba(239, 68, 68, 0.1),
    0 12px 28px rgba(0, 0, 0, 0.35);
  transform: translateY(-2px);
}

/* Titles, price, vendor */
[data-section-type="product-recommendations"] .product-item__title,
[data-section-type="recently-viewed-products"] .product-item__title,
.product-recommendations .product-item__title,
.recently-viewed-products-placeholder .product-item__title {
  color: #fafafa !important;
}

[data-section-type="product-recommendations"] .product-item__price-list,
[data-section-type="recently-viewed-products"] .product-item__price-list,
[data-section-type="product-recommendations"] .price-list,
[data-section-type="recently-viewed-products"] .price-list,
[data-section-type="product-recommendations"] .price,
[data-section-type="recently-viewed-products"] .price {
  color: #e4e4e7 !important;
}

[data-section-type="product-recommendations"] .product-item__vendor,
[data-section-type="recently-viewed-products"] .product-item__vendor {
  color: #a1a1aa !important;
}

[data-section-type="product-recommendations"] .product-label,
[data-section-type="recently-viewed-products"] .product-label {
  border-radius: 6px;
}

/* Secondary / quick view actions */
[data-section-type="product-recommendations"] .product-item .button--secondary,
[data-section-type="recently-viewed-products"] .product-item .button--secondary,
[data-section-type="product-recommendations"] .product-item .product-item__action-button,
[data-section-type="recently-viewed-products"] .product-item .product-item__action-button {
  border-radius: 999px !important;
  border-color: rgba(239, 68, 68, 0.4) !important;
  color: #fafafa !important;
  background: rgba(0, 0, 0, 0.35) !important;
}

[data-section-type="product-recommendations"] .product-item .button--secondary:hover,
[data-section-type="recently-viewed-products"] .product-item .button--secondary:hover {
  border-color: rgba(239, 68, 68, 0.65) !important;
  background: rgba(239, 68, 68, 0.12) !important;
  color: #fdba74 !important;
}

[data-section-type="product-recommendations"] .product-list--scrollable .product-item,
[data-section-type="recently-viewed-products"] .product-list--scrollable .product-item {
  background-clip: padding-box;
}

/* Collection / home cards already use shared CM surface above.
   Reinforce same border token as CM Featured Collection. */
.template-collection .product-list .product-item,
.template-collection .product-item--vertical,
.template-collection .product-item--list,
.template-index .product-item,
.product-recommendations .product-item,
.recently-viewed-products-placeholder .product-item {
  border-radius: 0.95rem !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  background: var(--cm-card-bg) !important;
  box-shadow: 0 0 28px rgba(239, 68, 68, 0.06) !important;
}

/* Space the collection grid so tiles sit apart on the page (hub-style).
   CSS grid + 100% item width avoids Warehouse % widths wrapping when gap is added. */
.template-collection .product-list--collection,
.template-search .product-list--collection {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  overflow: visible !important;
}

@media screen and (min-width: 641px) {
  .template-collection .product-list--collection,
  .template-search .product-list--collection {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.95rem;
  }
}

@media screen and (min-width: 1000px) {
  .template-collection .product-list--collection,
  .template-search .product-list--collection {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.1rem;
  }
}

.template-collection .product-list--collection:has(.product-item--list),
.template-search .product-list--collection:has(.product-item--list) {
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

/* Mobile list view: pills, then image | info, then the action under both. */
@media screen and (max-width: 640px) {
  .template-collection .product-item--list,
  .template-search .product-item--list {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 0.45rem 0.75rem;
    align-items: start;
    padding: 0.75rem !important;
  }

  .template-collection .product-item--list .product-item__label-list,
  .template-search .product-item--list .product-item__label-list {
    grid-column: 1 / -1;
    grid-row: 1;
    position: static !important;
    top: auto !important;
    left: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
  }

  .template-collection .product-item--list .product-item__image-wrapper,
  .template-search .product-item--list .product-item__image-wrapper {
    grid-column: 1;
    grid-row: 2;
    width: 110px !important;
    margin: 0 !important;
  }

  .template-collection .product-item--list .product-item__info,
  .template-search .product-item--list .product-item__info {
    grid-column: 2;
    grid-row: 2;
    min-width: 0 !important;
    width: auto !important;
    flex: none !important;
    padding: 0 !important;
  }

  .template-collection .product-item--list .product-item__title,
  .template-search .product-item--list .product-item__title {
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .template-collection .product-item--list .product-item__action-list,
  .template-search .product-item--list .product-item__action-list,
  .template-collection .product-item--list buy-button,
  .template-search .product-item--list buy-button,
  .template-collection .product-item--list .bis-collection-button,
  .template-search .product-item--list .bis-collection-button,
  .template-collection .product-item--list .cm-card-action,
  .template-search .product-item--list .cm-card-action {
    grid-column: 1 / -1;
    grid-row: 3;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    height: 42px !important;
  }
}

.template-collection .product-list--collection .product-item,
.template-search .product-list--collection .product-item {
  width: 100% !important;
  max-width: none !important;
}

/* -------------------------------------------------------------------------
   HOMEPAGE “Collection list” / featured collections
   Same mission-card look as CM Set logo grid + collection product cards
   ------------------------------------------------------------------------- */

.collection-list .collection-item {
  box-sizing: border-box;
  padding: 0.85rem 0.75rem 0.95rem !important;
  border-radius: var(--cm-radius-lg) !important;
  border: 1px solid var(--cm-border) !important;
  background: var(--cm-card-bg) !important;
  box-shadow: var(--cm-glow);
  text-decoration: none !important;
  color: #fff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  /* keep Warehouse width rules; tighten horizontal gap via padding already in theme */
}

.collection-list .collection-item:hover {
  border-color: var(--cm-border-hover) !important;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.12), 0 0 28px rgba(239, 68, 68, 0.1), 0 10px 24px rgba(0, 0, 0, 0.35);
  transform: translateY(-2px);
  color: #fff !important;
}

/* Square logo panel (not circular) — matches series set grid */
.collection-list .collection-item__image-wrapper,
.collection-list .collection-item__image-wrapper--rounded {
  margin-bottom: 0.55rem !important;
  border-radius: 0.75rem !important;
  background: rgba(0, 0, 0, 0.35);
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.collection-list .collection-item__image-wrapper .aspect-ratio {
  border-radius: 0.75rem;
  overflow: hidden;
}

.collection-list .collection-item__image-wrapper img {
  object-fit: contain !important;
  object-position: center !important;
  font-family: "object-fit: contain; object-position: center;" !important;
  transform: none !important;
  padding: 0.5rem;
  box-sizing: border-box;
  background: transparent;
}

.collection-list .collection-item:hover .collection-item__image-wrapper img {
  transform: scale(1.03) !important;
}

.collection-list .collection-item__title {
  color: #f4f4f5 !important;
  font-weight: 700;
  font-size: 0.85rem;
  line-height: 1.25;
  text-align: center;
  transform: none !important;
}

.collection-list .collection-item:hover .collection-item__title {
  color: #fff !important;
  transform: none !important;
}

.collection-list .collection-item__title svg {
  display: none !important; /* cleaner CM card label */
}

/* Desktop carousel still works; cards keep mission surface */
@media screen and (min-width: 1000px) {
  .collection-list .collection-item {
    /* theme uses width % + horizontal padding; keep vertical breathing room */
    margin-bottom: 0.25rem;
  }
}

/* -------------------------------------------------------------------------
   All collections page (collection-block-item tiles)
   ------------------------------------------------------------------------- */

.collection-block-item {
  display: block;
  border-radius: var(--cm-radius-lg) !important;
  border: 1px solid var(--cm-border) !important;
  background: var(--cm-card-bg) !important;
  box-shadow: var(--cm-glow);
  overflow: hidden;
  text-decoration: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.collection-block-item:hover {
  border-color: var(--cm-border-hover) !important;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.12), 0 0 28px rgba(239, 68, 68, 0.1), 0 10px 24px rgba(0, 0, 0, 0.35);
  transform: translateY(-2px);
}

.collection-block-item__image,
.collection-block-item .aspect-ratio {
  border-radius: 0;
}

.collection-block-item__title {
  color: #fff !important;
  font-weight: 800;
}

/* -------------------------------------------------------------------------
   LIGHT GLOBAL TOUCH (collection + product only intent, safe elsewhere)
   ------------------------------------------------------------------------- */

/* Soften harsh light borders on filter/content cards */
.template-collection .card,
.template-product .card {
  border-color: rgba(239, 68, 68, 0.28) !important;
}

/* Absolute kill for leftover white grid edges (theme + any app CSS) */
.template-collection .product-item,
.template-search .product-item,
.template-product .product-item {
  outline: none !important;
}

.template-collection .product-item:after,
.template-search .product-item:after,
.template-product .product-item:after {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Prefer reduced motion: no lift */
@media (prefers-reduced-motion: reduce) {
  .template-collection .product-item:hover,
  .template-search .product-item:hover,
  .template-index .product-item:hover,
  .collection-list .collection-item:hover,
  .collection-block-item:hover {
    transform: none;
  }
}

/* =========================================================================
   HEADER + MEGA MENU (sitewide Phase 1)
   BLAST RADIUS: every page that uses the theme header / mega menu.
   CSS only — does not change header Liquid or navigation structure.
   ========================================================================= */

/* --- Header bar surface (glass — content shows through slightly) --- */
#shopify-section-header-group .header,
.shopify-section-group-header-group .header,
header.header,
.header {
  background:
    radial-gradient(ellipse 70% 120% at 0% 100%, rgba(239, 68, 68, 0.08), transparent 55%),
    radial-gradient(ellipse 50% 100% at 100% 0%, rgba(249, 115, 22, 0.04), transparent 50%),
    linear-gradient(180deg, rgba(18, 18, 20, 0.18) 0%, rgba(10, 10, 10, 0.14) 100%) !important;
  border-bottom: 1px solid rgba(239, 68, 68, 0.28);
  box-shadow:
    0 0 28px rgba(239, 68, 68, 0.08),
    0 8px 24px rgba(0, 0, 0, 0.18);
  color: #f4f4f5;
  -webkit-backdrop-filter: saturate(150%) blur(10px);
  backdrop-filter: saturate(150%) blur(10px);
}

/* Sticky / stuck header — same glass, slightly stronger edge */
.header.is-sticky,
.header--sticky,
sticky-header .header,
.is-sticky .header {
  box-shadow:
    0 0 32px rgba(239, 68, 68, 0.1),
    0 10px 28px rgba(0, 0, 0, 0.28) !important;
}

/* Fallback when backdrop-filter unsupported — solid dark bar */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  #shopify-section-group-header-group,
  .shopify-section-group-header-group,
  #header-group,
  .shopify-section-group-header {
    background: #0a0a0a !important;
  }

  #shopify-section-header-group .header,
  .shopify-section-group-header-group .header,
  header.header,
  .header {
    background: linear-gradient(180deg, #121214 0%, #0a0a0a 100%) !important;
  }
}

/* --- Desktop “Menu” toggle (condensed layout) ---
   Keep “Madness Vault” on one line. A 44px pill + wrapped label overflows
   onto the hub pills. Shrink search first, never this button. */
.header__desktop-nav {
  flex: 0 0 auto;
}

.header__desktop-nav-toggle {
  border: 1px solid rgba(239, 68, 68, 0.4) !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, 0.35) !important;
  color: #fff !important;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  white-space: nowrap !important;
  flex-shrink: 0;
  height: 44px;
  overflow: hidden;
}

.header__desktop-nav-toggle > span {
  display: inline-flex !important;
  align-items: center;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.header__desktop-nav-text {
  white-space: nowrap;
}

.header__desktop-nav-toggle:hover,
.header__desktop-nav-toggle[aria-expanded="true"] {
  border-color: rgba(239, 68, 68, 0.65) !important;
  background: rgba(239, 68, 68, 0.12) !important;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.2);
}

/* --- Nav / action link hover accents --- */
.header__action-item-link,
.header__desktop-nav-text,
.nav-bar__link,
.header a.nav-bar__link {
  transition: color 0.15s ease;
}

.header__action-item-link:hover,
.header__desktop-nav-toggle:hover .header__desktop-nav-text,
.nav-bar__link:hover,
.header a.nav-bar__link:hover {
  color: #fdba74 !important;
}

/* --- Search bar --- */
.header .search-bar__top,
.header .search-bar__input-wrapper {
  border-radius: 999px;
}

.header .search-bar__top {
  border: 1px solid rgba(63, 63, 70, 0.9) !important;
  background: rgba(0, 0, 0, 0.45) !important;
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.header .search-bar__top:focus-within {
  border-color: rgba(239, 68, 68, 0.55) !important;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.2), 0 0 18px rgba(249, 115, 22, 0.15);
}

.header .search-bar__input {
  background: transparent !important;
  color: #f4f4f5 !important;
}

.header .search-bar__input::placeholder {
  color: #a1a1aa !important;
}

.header .search-bar__submit {
  color: #fdba74;
  transition: color 0.15s ease;
}

.header .search-bar__submit:hover {
  color: #fff;
}

/* Predictive search dropdown */
.header .search-bar__inner,
.header .search-bar__results,
.header .search-bar__menu-wrapper {
  border-radius: 0 0 var(--cm-radius) var(--cm-radius);
  border-color: rgba(239, 68, 68, 0.25) !important;
  background: #141416 !important;
}

.header .search-bar__menu-link:hover,
.header .search-bar__result-item:hover {
  color: #fdba74;
}

/* --- Cart count pill --- */
.header__cart-count {
  background: linear-gradient(90deg, #dc2626, #f97316) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.45);
  font-weight: 800 !important;
}

/* --- Account / cart icon hover --- */
.header__action-item-link:hover .icon,
.header__cart-toggle:hover .icon,
.header__mobile-nav-toggle:hover .icon {
  color: #fdba74;
}

/* =========================================================================
   MEGA MENU PANEL — CM card styling (desktop)
   BLAST RADIUS: header mega dropdown only. No nav structure / Liquid.
   ========================================================================= */
.mega-menu,
.mega-menu[aria-hidden="false"] {
  background:
    radial-gradient(ellipse 55% 50% at 0% 0%, rgba(239, 68, 68, 0.14), transparent 55%),
    radial-gradient(ellipse 45% 40% at 100% 100%, rgba(249, 115, 22, 0.06), transparent 50%),
    linear-gradient(165deg, #1a1a1d 0%, #101012 55%, #0c0c0e 100%) !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  border-top: 1px solid rgba(239, 68, 68, 0.4) !important;
  border-radius: 0 0 var(--cm-radius-lg) var(--cm-radius-lg);
  box-shadow:
    0 0 40px rgba(239, 68, 68, 0.12),
    0 22px 48px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  color: #e4e4e7;
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
}

/* Condensed floating mega — card radius (height/scroll handled in desktop media query) */
.mega-menu--floating,
.mega-menu.mega-menu--floating[aria-hidden="false"] {
  border-radius: var(--cm-radius-lg) !important;
}

/* Soft clip only on promo images inside mega (safe) */
.mega-menu__promo,
.mega-menu__image-wrapper {
  overflow: hidden;
}

.mega-menu__inner {
  padding: 1.35rem 1.25rem 1.1rem !important;
  gap: 0.35rem 0.5rem;
}

.mega-menu__column {
  border-color: rgba(63, 63, 70, 0.55) !important;
  padding: 0.65rem 0.85rem 0.85rem !important;
  margin-bottom: 0.75rem !important;
  border-radius: var(--cm-radius) !important;
  background:
    radial-gradient(ellipse 80% 60% at 0% 0%, rgba(239, 68, 68, 0.08), transparent 60%),
    rgba(0, 0, 0, 0.22) !important;
  border: 1px solid rgba(239, 68, 68, 0.18) !important;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mega-menu__column:hover {
  border-color: rgba(239, 68, 68, 0.35) !important;
  box-shadow: 0 0 24px rgba(239, 68, 68, 0.08);
}

.mega-menu__title,
.mega-menu__title a {
  color: #fafafa !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  line-height: 1.25;
  text-decoration: none !important;
}

.mega-menu__title {
  margin-bottom: 0.65rem !important;
  padding-bottom: 0.45rem;
  border-bottom: 1px solid rgba(239, 68, 68, 0.22);
  position: relative;
}

.mega-menu__title::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  margin-top: 0.45rem;
  border-radius: 2px;
  background: linear-gradient(90deg, #dc2626, #f97316);
}

.mega-menu__title:hover,
.mega-menu__title a:hover {
  color: #fdba74 !important;
}

.mega-menu__linklist {
  margin: 0;
  padding: 0;
}

.mega-menu__link,
.mega-menu a.mega-menu__link {
  color: #d4d4d8 !important;
  border-radius: 8px;
  padding: 0.4rem 0.55rem !important;
  margin: 0 -0.35rem;
  transition: color 0.15s ease, background 0.15s ease, transform 0.12s ease;
  line-height: 1.35;
}

.mega-menu__link:hover,
.mega-menu a.mega-menu__link:hover {
  color: #fdba74 !important;
  background: rgba(239, 68, 68, 0.1) !important;
}

/* Promo tiles inside mega */
.mega-menu__promo {
  border-radius: var(--cm-radius) !important;
  border: 1px solid rgba(239, 68, 68, 0.28) !important;
  background:
    radial-gradient(ellipse 70% 50% at 0% 0%, rgba(239, 68, 68, 0.12), transparent 55%),
    rgba(0, 0, 0, 0.28) !important;
  padding: 0.75rem !important;
  margin-bottom: 1rem !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  overflow: hidden;
}

.mega-menu__promo:hover {
  border-color: rgba(239, 68, 68, 0.5) !important;
  box-shadow: 0 0 22px rgba(239, 68, 68, 0.12);
}

.mega-menu__image-wrapper {
  border-radius: 10px !important;
  overflow: hidden;
  border: 1px solid rgba(239, 68, 68, 0.2);
  margin-bottom: 0.75rem !important;
}

.mega-menu__image-wrapper img {
  border-radius: inherit;
  display: block;
  width: 100%;
  height: auto;
}

.mega-menu__image-heading,
.mega-menu__image-heading.heading {
  color: #fafafa !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

.mega-menu__image-text {
  color: #a1a1aa !important;
  font-size: 0.9em;
  line-height: 1.4;
}

/* Nested dropdowns under header
   IMPORTANT:
   1) Never set position:relative on .has-mega-menu (mega height collapses to one row).
   2) Short viewports: cap panel height to viewport and allow scroll so lower
      items + long child menus stay reachable (condensed Madness Vault). */
.nav-dropdown,
.nav-dropdown[aria-hidden="false"] {
  background:
    radial-gradient(ellipse 60% 50% at 0% 0%, rgba(239, 68, 68, 0.1), transparent 55%),
    linear-gradient(165deg, #1a1a1d 0%, #121214 100%) !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  border-radius: var(--cm-radius) !important;
  box-shadow:
    0 0 28px rgba(239, 68, 68, 0.08),
    0 14px 36px rgba(0, 0, 0, 0.45) !important;
  color: #e4e4e7;
}

/* Available height under sticky header (+ marquee). 100dvh handles mobile browser chrome. */
:root {
  --cm-menu-max-height: calc(
    100dvh - var(--header-height, 120px) - var(--announcement-bar-height, 0px) - 12px
  );
}

/* Child flyouts above parent panel */
.nav-dropdown .nav-dropdown {
  z-index: 3 !important;
}

.nav-dropdown .mega-menu,
.nav-dropdown .mega-menu--floating,
.nav-dropdown .mega-menu[aria-hidden="false"] {
  z-index: 4 !important;
}

/* Match theme: only simple nested items create a positioning context */
.nav-dropdown__item:not(.has-mega-menu) {
  position: relative;
}

.nav-dropdown__item:not(.has-mega-menu).is-dropdown-open,
.nav-dropdown__item:not(.has-mega-menu):hover {
  z-index: 3;
}

/* --- Desktop only: viewport-capped menus that still allow side flyouts ---
   overflow-y:auto on the parent CLIPS children that open at left:100%.
   So: scroll the parent only while closed; when a child is open, overflow
   becomes visible so mega/nested panels can paint beside it. Each child
   scrolls itself if its content is taller than the viewport. */
@media screen and (min-width: 1000px) {
  /* Madness Vault first panel */
  .header .nav-dropdown--floating,
  .header .nav-dropdown.nav-dropdown--floating {
    max-height: var(--cm-menu-max-height) !important;
    min-height: 0 !important;
    /* Default: allow scrolling the long top-level list */
    overflow-x: visible !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .header .nav-dropdown--floating.nav-dropdown--fixed {
    min-height: min(420px, var(--cm-menu-max-height)) !important;
  }

  /*
    CRITICAL: while any child is open, stop clipping side panels.
    (overflow-y:auto alone makes POKEMON / CARD PROTECTION invisible again.)
  */
  .header .nav-dropdown--floating:has(.is-dropdown-open),
  .header .nav-dropdown--floating:has([aria-expanded="true"]),
  .header .nav-dropdown--floating:has(.mega-menu[aria-hidden="false"]),
  .header .nav-dropdown--floating:has(.nav-dropdown[aria-hidden="false"]) {
    overflow: visible !important;
  }

  /* Nested simple flyouts (POKEMON TCG HUB, etc.) */
  .header .nav-dropdown .nav-dropdown,
  .header .nav-dropdown .nav-dropdown[aria-hidden="false"] {
    max-height: var(--cm-menu-max-height) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    top: -16px !important;
    left: 100% !important;
    visibility: visible; /* theme toggles via aria-hidden + opacity */
  }

  /* Floating mega (CARD PROTECTION, MAIN AND INFO, …) */
  .header .mega-menu--floating,
  .header .mega-menu.mega-menu--floating[aria-hidden="false"],
  .header .nav-dropdown--floating .mega-menu--floating {
    top: 0 !important;
    left: 100% !important;
    /* Match parent panel box height when possible; never exceed viewport */
    height: 100% !important;
    max-height: var(--cm-menu-max-height) !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .header .mega-menu--floating .mega-menu__inner {
    min-height: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: 1.25rem !important;
  }

  /* Scrollbars (parent list + child panels) */
  .header .nav-dropdown--floating,
  .header .nav-dropdown .nav-dropdown,
  .header .mega-menu--floating {
    scrollbar-width: thin;
    scrollbar-color: rgba(239, 68, 68, 0.55) rgba(0, 0, 0, 0.35);
  }

  .header .nav-dropdown--floating::-webkit-scrollbar,
  .header .nav-dropdown .nav-dropdown::-webkit-scrollbar,
  .header .mega-menu--floating::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }

  .header .nav-dropdown--floating::-webkit-scrollbar-thumb,
  .header .nav-dropdown .nav-dropdown::-webkit-scrollbar-thumb,
  .header .mega-menu--floating::-webkit-scrollbar-thumb {
    background: rgba(239, 68, 68, 0.5);
    border-radius: 8px;
  }

  .header .nav-dropdown--floating::-webkit-scrollbar-track,
  .header .nav-dropdown .nav-dropdown::-webkit-scrollbar-track,
  .header .mega-menu--floating::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.25);
  }
}

.nav-dropdown__link {
  color: #d4d4d8 !important;
  border-radius: 6px;
  margin: 0 0.25rem;
  transition: color 0.15s ease, background 0.15s ease;
}

.nav-dropdown__link:hover,
.nav-dropdown__link[aria-expanded="true"] {
  color: #fdba74 !important;
  background: rgba(239, 68, 68, 0.1) !important;
}

/* =========================================================================
   MOBILE MENU DRAWER — visual pass
   BLAST RADIUS: #mobile-menu drawer only. No menu tree / account changes.
   ========================================================================= */
.mobile-menu,
#mobile-menu,
.menu-drawer {
  background:
    radial-gradient(ellipse 80% 45% at 0% 0%, rgba(239, 68, 68, 0.16), transparent 55%),
    radial-gradient(ellipse 50% 35% at 100% 100%, rgba(249, 115, 22, 0.06), transparent 50%),
    linear-gradient(180deg, #141416 0%, #0c0c0e 45%, #0a0a0a 100%) !important;
  color: #f4f4f5 !important;
  border-right: 1px solid rgba(239, 68, 68, 0.32) !important;
  box-shadow: 12px 0 40px rgba(0, 0, 0, 0.45);
}

/* Triangle pointer above drawer — match CM dark */
.mobile-menu .icon--nav-triangle-borderless path,
#mobile-menu .icon--nav-triangle-borderless path {
  fill: #141416 !important;
}

.mobile-menu__inner {
  background: transparent !important;
}

.mobile-menu__panel {
  background: transparent !important;
}

/* Sticky back bar on nested panels */
.mobile-menu__section.is-sticky {
  background: rgba(10, 10, 10, 0.92) !important;
  border-bottom: 1px solid rgba(239, 68, 68, 0.28) !important;
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
  z-index: 2;
}

.mobile-menu__section:not(:last-child) {
  border-bottom-color: rgba(239, 68, 68, 0.14) !important;
}

.mobile-menu__section--loose {
  background: rgba(0, 0, 0, 0.2);
}

.mobile-menu__section-title,
.mobile-menu__section-title.heading {
  color: #fafafa !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  position: relative;
  padding-bottom: 0.35rem;
  margin-bottom: 0.75rem !important;
}

.mobile-menu__section-title::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  margin-top: 0.4rem;
  border-radius: 2px;
  background: linear-gradient(90deg, #dc2626, #f97316);
}

/* Primary nav rows — larger tap targets */
.mobile-menu__nav-link,
.mobile-menu a.mobile-menu__nav-link,
button.mobile-menu__nav-link {
  color: #f4f4f5 !important;
  font-weight: 600;
  min-height: 48px;
  padding-top: 0.85rem !important;
  padding-bottom: 0.85rem !important;
  border-radius: 10px;
  transition: color 0.15s ease, background 0.15s ease;
}

.mobile-menu__nav-link:hover,
.mobile-menu a.mobile-menu__nav-link:hover,
button.mobile-menu__nav-link:hover {
  color: #fdba74 !important;
  background: rgba(239, 68, 68, 0.08) !important;
}

.mobile-menu__nav-item {
  border-bottom: 1px solid rgba(63, 63, 70, 0.45);
}

.mobile-menu__nav-item:last-child {
  border-bottom: none;
}

.mobile-menu__nav-link .icon--arrow-right,
.mobile-menu__nav-link .icon--arrow-left {
  color: #f97316;
  opacity: 0.9;
}

/* Back button */
.mobile-menu__back-button {
  color: #fdba74 !important;
  font-weight: 700 !important;
  min-height: 44px;
  border-radius: 8px;
  transition: color 0.15s ease, background 0.15s ease;
}

.mobile-menu__back-button:hover {
  color: #fff !important;
  background: rgba(239, 68, 68, 0.1) !important;
}

.mobile-menu__back-button svg {
  color: #f97316;
}

/* Nested mega-style list (series / hubs) */
.mobile-menu__nav-list-item {
  border-bottom: 1px solid rgba(63, 63, 70, 0.4);
  margin: 0;
}

.mobile-menu__nav-list-toggle,
a.mobile-menu__nav-list-toggle {
  color: #fafafa !important;
  font-weight: 700 !important;
  min-height: 48px;
  padding: 0.85rem 0.35rem !important;
  border-radius: 8px;
  width: 100%;
  text-align: left;
  transition: color 0.15s ease, background 0.15s ease;
}

.mobile-menu__nav-list-toggle:hover,
a.mobile-menu__nav-list-toggle:hover {
  color: #fdba74 !important;
  background: rgba(239, 68, 68, 0.08) !important;
}

.mobile-menu__nav-list-toggle svg {
  color: #f97316;
}

.mobile-menu__nav-collapsible-content {
  background: rgba(0, 0, 0, 0.28);
  border-radius: 10px;
  border: 1px solid rgba(239, 68, 68, 0.16);
  margin: 0 0 0.65rem;
  padding: 0.25rem 0.5rem;
}

.mobile-menu__nav-collapsible-content .mobile-menu__nav-link {
  font-weight: 500;
  color: #d4d4d8 !important;
  min-height: 44px;
  padding-top: 0.65rem !important;
  padding-bottom: 0.65rem !important;
}

/* Nested panel shell */
.mobile-menu__panel.is-nested {
  background:
    radial-gradient(ellipse 70% 40% at 0% 0%, rgba(239, 68, 68, 0.1), transparent 55%),
    linear-gradient(180deg, #121214 0%, #0a0a0a 100%) !important;
}

/* Help / contact rows */
.mobile-menu__help-wrapper {
  color: #d4d4d8 !important;
  border-radius: 10px;
  padding: 0.55rem 0.65rem;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(239, 68, 68, 0.14);
  margin-bottom: 0.45rem;
}

.mobile-menu__help-wrapper a {
  color: #fdba74 !important;
}

.mobile-menu__help-wrapper .icon {
  color: #f97316;
}

/* Promo tiles in mobile drawer */
.mobile-menu__promo {
  border-radius: var(--cm-radius) !important;
  border: 1px solid rgba(239, 68, 68, 0.28) !important;
  background: rgba(0, 0, 0, 0.28) !important;
  overflow: hidden;
  padding: 0.65rem !important;
}

.mobile-menu__image-wrapper {
  border-radius: 10px !important;
  overflow: hidden;
  border: 1px solid rgba(239, 68, 68, 0.2);
}

.mobile-menu__image-heading {
  color: #fafafa !important;
  font-weight: 800 !important;
}

.mobile-menu__image-text {
  color: #a1a1aa !important;
}

/* Generic links in drawer */
.mobile-menu a,
.mobile-menu__link,
#mobile-menu a {
  color: #e4e4e7;
  transition: color 0.15s ease;
}

.mobile-menu a:hover,
.mobile-menu__link:hover,
#mobile-menu a:hover {
  color: #fdba74 !important;
}

/* Social icons in drawer */
.mobile-menu .social-media__item > a,
.mobile-menu .social-media__item svg {
  color: #d4d4d8;
  transition: color 0.15s ease;
}

.mobile-menu .social-media__item > a:hover,
.mobile-menu .social-media__item:hover svg {
  color: #fdba74 !important;
}

/* Announcement bar — light CM edge so it ties to header */
.announcement-bar,
#shopify-section-announcement-bar,
.shopify-section-group-header-group .announcement-bar {
  border-bottom: 1px solid rgba(239, 68, 68, 0.15);
}

/* =========================================================================
   FOOTER + TRUST BAR (sitewide)
   BLAST RADIUS: footer group only (trust icons strip + footer section).
   CSS only — does not change footer Liquid / menus.
   ========================================================================= */

/* --- Footer group shell: continuous dark band --- */
#shopify-section-group-footer-group,
.shopify-section-group-footer-group {
  background:
    radial-gradient(ellipse 80% 50% at 0% 0%, rgba(239, 68, 68, 0.1), transparent 55%),
    radial-gradient(ellipse 60% 40% at 100% 100%, rgba(249, 115, 22, 0.05), transparent 50%),
    linear-gradient(180deg, #121214 0%, #0a0a0a 100%);
  border-top: 1px solid rgba(239, 68, 68, 0.28);
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.25);
  color: #d4d4d8;
}

/* -------------------------------------------------------------------------
   Trust icons strip (text-with-icons inside footer group only)
   ------------------------------------------------------------------------- */
.shopify-section-group-footer-group .shopify-section:first-child,
#shopify-section-group-footer-group .shopify-section:first-child {
  border-bottom: 1px solid rgba(239, 68, 68, 0.15);
}

.shopify-section-group-footer-group .section--tight,
#shopify-section-group-footer-group .section--tight {
  padding-top: 28px;
  padding-bottom: 28px;
}

.shopify-section-group-footer-group .text-with-icons,
#shopify-section-group-footer-group .text-with-icons {
  gap: 0;
}

.shopify-section-group-footer-group .text-with-icons__item,
#shopify-section-group-footer-group .text-with-icons__item {
  align-items: center;
  border-radius: var(--cm-radius);
  background:
    radial-gradient(ellipse 80% 80% at 0% 0%, rgba(239, 68, 68, 0.1), transparent 60%),
    linear-gradient(160deg, rgba(28, 28, 31, 0.9) 0%, rgba(18, 18, 20, 0.95) 100%);
  border: 1px solid rgba(239, 68, 68, 0.22);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
  padding: 18px 16px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

@media screen and (min-width: 641px) {
  .shopify-section-group-footer-group .text-with-icons,
  #shopify-section-group-footer-group .text-with-icons {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0 !important;
    padding: 0 !important;
  }

  .shopify-section-group-footer-group .text-with-icons__item,
  #shopify-section-group-footer-group .text-with-icons__item {
    flex-basis: auto !important;
    margin: 0 !important;
    min-width: 0;
  }
}

@media screen and (min-width: 1000px) {
  .shopify-section-group-footer-group .text-with-icons,
  #shopify-section-group-footer-group .text-with-icons {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }

  .shopify-section-group-footer-group .text-with-icons__item:hover,
  #shopify-section-group-footer-group .text-with-icons__item:hover {
    border-color: rgba(239, 68, 68, 0.45);
    box-shadow:
      0 0 24px rgba(239, 68, 68, 0.1),
      0 8px 22px rgba(0, 0, 0, 0.28);
    transform: translateY(-2px);
  }
}

@media screen and (max-width: 640px) {
  .shopify-section-group-footer-group .text-with-icons,
  #shopify-section-group-footer-group .text-with-icons {
    padding-bottom: 0 !important;
  }

  .shopify-section-group-footer-group .text-with-icons__item,
  #shopify-section-group-footer-group .text-with-icons__item {
    margin: 0 8px;
  }

  .shopify-section-group-footer-group .text-with-icons--stacked .text-with-icons__item:not(:last-child),
  #shopify-section-group-footer-group .text-with-icons--stacked .text-with-icons__item:not(:last-child) {
    margin-bottom: 12px;
  }
}

.shopify-section-group-footer-group .text-with-icons__icon-wrapper,
#shopify-section-group-footer-group .text-with-icons__icon-wrapper {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0 14px 0 0 !important;
  border-radius: 12px;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.12);
  color: #f87171;
}

.shopify-section-group-footer-group .text-with-icons__icon-wrapper svg,
#shopify-section-group-footer-group .text-with-icons__icon-wrapper svg {
  width: 26px !important;
  height: 26px !important;
  stroke: currentColor;
  color: #f87171;
}

.shopify-section-group-footer-group .text-with-icons__icon-wrapper img,
#shopify-section-group-footer-group .text-with-icons__icon-wrapper img {
  max-width: 26px;
  filter: brightness(1.1);
}

.shopify-section-group-footer-group .text-with-icons__title,
#shopify-section-group-footer-group .text-with-icons__title {
  color: #fafafa !important;
  font-weight: 700;
  letter-spacing: 0.01em;
  margin-bottom: 2px;
}

.shopify-section-group-footer-group .text-with-icons__content,
.shopify-section-group-footer-group .text-with-icons__content p,
#shopify-section-group-footer-group .text-with-icons__content,
#shopify-section-group-footer-group .text-with-icons__content p {
  color: #a1a1aa !important;
  font-size: 0.9em;
  line-height: 1.45;
  margin-bottom: 0;
}

/* -------------------------------------------------------------------------
   Main footer section
   ------------------------------------------------------------------------- */
.shopify-section-group-footer-group .footer,
#shopify-section-group-footer-group .footer,
.footer {
  background: transparent !important;
  color: #d4d4d8 !important;
  border-top: none !important;
}

.footer__wrapper {
  border-top: 1px solid rgba(239, 68, 68, 0.15) !important;
}

/* Column headings */
.footer__title,
.footer__title.heading,
.footer .footer__title {
  color: #fafafa !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.78rem !important;
}

.footer__aside-title {
  color: #fafafa !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.72rem !important;
  margin-bottom: 10px;
}

/* Links */
.footer a,
.footer__link-item,
.footer .link {
  color: #d4d4d8;
  transition: color 0.15s ease;
}

.footer a:hover,
.footer__link-item:hover,
.footer .link:hover {
  color: #fdba74 !important;
}

.footer .rte,
.footer .rte p,
.footer__newsletter-text,
.footer__newsletter-text p {
  color: #a1a1aa;
}

/* Mobile accordion dividers */
@media screen and (max-width: 640px) {
  .footer__block-item {
    border-bottom-color: rgba(239, 68, 68, 0.18) !important;
  }

  .footer__title .plus-button {
    border-color: rgba(239, 68, 68, 0.4);
  }
}

/* Newsletter form */
.footer__newsletter-form .form__field,
.footer .form__field--text {
  background: rgba(0, 0, 0, 0.4) !important;
  border: 1px solid rgba(239, 68, 68, 0.28) !important;
  border-radius: 10px !important;
  color: #f4f4f5 !important;
}

.footer__newsletter-form .form__field:focus,
.footer .form__field--text:focus {
  border-color: rgba(239, 68, 68, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12);
  outline: none;
}

.footer .form__floating-label {
  color: #a1a1aa !important;
}

.footer .button--primary,
.footer__newsletter-form .button--primary,
.footer .form__submit {
  background: linear-gradient(180deg, #c42525 0%, var(--cm-red) 100%) !important;
  border: 1px solid rgba(239, 68, 68, 0.5) !important;
  border-radius: 10px !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(174, 30, 30, 0.35);
  transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.footer .button--primary:hover,
.footer__newsletter-form .button--primary:hover,
.footer .form__submit:hover {
  background: linear-gradient(180deg, #ef4444 0%, #c42525 100%) !important;
  box-shadow: 0 6px 18px rgba(239, 68, 68, 0.4);
  transform: translateY(-1px);
}

/* Social icons */
.footer .social-media__item > a,
.footer .social-media__item svg {
  color: #e4e4e7;
  transition: color 0.15s ease, transform 0.15s ease;
}

.footer .social-media__item > a:hover,
.footer .social-media__item:hover svg {
  color: #fdba74 !important;
  transform: translateY(-1px);
}

/* Payment icons — slight lift on dark footer */
.footer .payment-list__item {
  border-radius: 4px;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
  opacity: 0.95;
}

/* Localization / country selector */
.footer .select-button,
.footer__localization-form .select-button {
  background: rgba(0, 0, 0, 0.35) !important;
  color: #e4e4e7 !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  border-radius: 8px !important;
}

.footer .select-button:hover {
  border-color: rgba(239, 68, 68, 0.5) !important;
  color: #fff !important;
}

/* Footer country / currency list
   Warehouse picker is z-index 4–5. Product sticky buy is 10055, so the list
   opened behind it. Collection/search sort CSS also sets top: calc(100% + 8px)
   on every .value-picker, which shoved this list below the footer (off-screen).
   Homepage has neither, so it already worked. */
.footer .value-picker-wrapper,
.footer__localization-form .value-picker-wrapper {
  position: relative;
  z-index: 10180;
  overflow: visible !important;
}

.footer .value-picker,
.footer #footer-currency-picker,
.footer #footer-locale-picker {
  z-index: 10180 !important;
}

@media screen and (min-width: 641px) {
  .footer .value-picker[data-picker-position="top"],
  .footer #footer-currency-picker,
  .footer #footer-locale-picker {
    top: auto !important;
    bottom: calc(100% + 10px) !important;
  }

  .footer .value-picker {
    min-width: 16rem;
    border: 1px solid rgba(239, 68, 68, 0.35) !important;
    border-radius: 0.85rem !important;
    background:
      radial-gradient(ellipse 70% 60% at 0% 0%, rgba(239, 68, 68, 0.14), transparent 55%),
      linear-gradient(160deg, #1c1c1f 0%, #121214 100%) !important;
    color: #f4f4f5 !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), 0 0 24px rgba(239, 68, 68, 0.1) !important;
    overflow: visible !important;
  }

  .footer .value-picker__inner,
  .footer .value-picker__inner--restrict {
    background: transparent !important;
    max-height: min(50vh, 22rem);
  }

  .footer .value-picker__choice-item {
    color: #d4d4d8;
  }

  .footer .value-picker__choice-item:hover,
  .footer .value-picker__choice-item[aria-current="true"] {
    color: #fdba74 !important;
    background: rgba(239, 68, 68, 0.1) !important;
  }
}

/* Phone: don't let the PRE-ORDER / ATC bar sit on the country sheet */
body:has(#footer-currency-picker[aria-hidden="false"]) .cm-sticky-buy,
body:has(#footer-locale-picker[aria-hidden="false"]) .cm-sticky-buy {
  z-index: 1 !important;
}

/* Copyright + powered-by */
.footer__aside-item--copyright,
.footer__aside-item--localization p,
.footer__aside-item--localization {
  color: #71717a;
}

.footer__aside-item--copyright a,
.footer__aside-item--localization a {
  color: #a1a1aa;
}

.footer__aside-item--copyright a:hover,
.footer__aside-item--localization a:hover {
  color: #fdba74 !important;
}

/* Aside row spacing */
@media screen and (min-width: 641px) {
  .footer__aside {
    padding-top: 8px;
    border-top: 1px solid rgba(239, 68, 68, 0.12);
    margin-top: 48px !important;
  }
}

/* -------------------------------------------------------------------------
   PREORDER pill — replaces the scrolling hc-preorder-marquee ticker
   ------------------------------------------------------------------------- */
.cm-preorder-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: 100%;
  padding: 6px 12px 6px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 42%, #ae1e1e 100%);
  color: #fff7ed;
  border: 1px solid rgba(251, 191, 36, 0.55);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.28),
    0 4px 14px rgba(174, 30, 30, 0.38);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1;
  vertical-align: top;
}

.cm-preorder-pill__gem {
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 1px;
  background: #fbbf24;
  box-shadow: 0 0 7px rgba(251, 191, 36, 0.85);
  transform: rotate(45deg);
}

.cm-preorder-pill__text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-item__label-list,
.hc-label-list,
.product-meta__label-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.product-item__label-list > .cm-preorder-pill,
.product-item__label-list > .cm-date-pill,
.product-item__label-list > .cm-save-pill,
.hc-label-list > .cm-preorder-pill,
.hc-label-list > .cm-date-pill,
.hc-label-list > .cm-save-pill {
  display: inline-flex;
  border-radius: 999px;
  margin: 0;
}

.hc-label-list {
  margin-bottom: 10px;
}

/* Mobile PDP: Warehouse pulls the buy card up 18px under the gallery
   (card--collapsed) and zeros padding. Pills at the top get clipped. */
@media screen and (max-width: 999px) {
  .template-product .product-block-list__item--info > .card.card--collapsed {
    margin-top: 0.75rem !important;
    position: relative;
    z-index: 2;
  }

  .template-product .product-block-list__item--info > .card.card--collapsed > .card__section {
    padding-top: 1rem;
  }

  .template-product .hc-label-list {
    position: relative;
    z-index: 3;
    overflow: visible;
  }
}

/* Date — quiet gold-on-charcoal, same capsule as PREORDER */
.cm-date-pill {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding: 6px 11px;
  border-radius: 999px;
  background: rgba(12, 12, 14, 0.82);
  color: #fde68a;
  border: 1px solid rgba(251, 191, 36, 0.38);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.28);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
}

/* Sale / Save — gold fill so it sits with PREORDER, not the old square flag */
.product-item__label-list > .product-label,
.product-meta__label-list > .product-label,
.hc-label-list > .product-label {
  display: inline-flex;
  align-items: center;
  border-radius: 999px !important;
  margin: 0 !important;
  padding: 6px 11px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
}

.hc-label-list:not(:has(.cm-preorder-pill, .cm-date-pill, .cm-save-pill, .product-label)) {
  display: none;
}

.product-label--on-sale,
.cm-save-pill {
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 55%, #d97706 100%) !important;
  color: #1c1410 !important;
  border: 1px solid rgba(255, 237, 184, 0.45);
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.28);
}

/* Hide leftover ticker + old date block if a cached section still emits them */
.hc-preorder-marquee,
.hc-label-list > .hc-release-date {
  display: none !important;
}

/* -------------------------------------------------------------------------
   Collection cards: one action (no Quick view)
   ------------------------------------------------------------------------- */
.template-collection .product-item [data-secondary-action="open-quick-view"],
.template-search .product-item [data-secondary-action="open-quick-view"],
.template-index .product-item [data-secondary-action="open-quick-view"] {
  display: none !important;
}

/* -------------------------------------------------------------------------
   Collection filters — Gameology-style accordion sidebar + Hide/Show
   ------------------------------------------------------------------------- */
.template-collection .cm-filters-toggle {
  margin-right: 0;
  text-transform: uppercase;
  cursor: pointer;
}

.template-collection .cm-filters-toggle .cm-filters-toggle__show {
  display: none;
}

.template-collection .cm-filters-toggle.is-filters-hidden .cm-filters-toggle__hide {
  display: none;
}

.template-collection .cm-filters-toggle.is-filters-hidden .cm-filters-toggle__show {
  display: inline;
}

.template-collection .cm-collection-layout.is-filters-hidden .layout__section--secondary {
  display: none !important;
}

.template-collection .cm-collection-layout.is-filters-hidden .layout__section {
  margin-left: 0;
  margin-right: 0;
}

.template-collection .layout__section--secondary .card {
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  border-radius: 0.95rem !important;
  background:
    radial-gradient(ellipse 70% 50% at 0% 0%, rgba(239, 68, 68, 0.14), transparent 55%),
    linear-gradient(160deg, #1c1c1f 0%, #121214 100%) !important;
  box-shadow: 0 0 24px rgba(239, 68, 68, 0.08) !important;
}

/* Pin filters under the sticky header while the product grid is on screen.
   Releases naturally once you scroll past the products / description. */
@media screen and (min-width: 1000px) {
  .template-collection .cm-collection-layout {
    align-items: stretch;
  }

  .template-collection .layout__section--secondary > .card {
    position: sticky;
    top: var(--cm-sticky-offset, calc(var(--header-height, 80px) + 52px));
    z-index: 4;
    max-height: calc(100dvh - var(--cm-sticky-offset, 132px) - 16px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-right: 0.35rem;
  }

  /* Long facet lists (Card type, Expansion set) scroll inside the group.
     Price range is excluded so the slider is not clipped. */
  .template-collection .collection__filter-collapsible[aria-hidden="false"]:has(.collection__filter-checkbox-list),
  .template-collection .collection__filter-collapsible[aria-hidden="false"]:has(.collection__filter-visual-filter-list) {
    max-height: min(42vh, 24rem);
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .template-collection .layout__section--secondary > .card::-webkit-scrollbar,
  .template-collection .collection__filter-collapsible::-webkit-scrollbar {
    width: 8px;
  }

  .template-collection .layout__section--secondary > .card::-webkit-scrollbar-thumb,
  .template-collection .collection__filter-collapsible::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(239, 68, 68, 0.5);
  }
}

.template-collection #desktop-filters-form {
  padding: 0.75rem 0.7rem 0.85rem !important;
}

.template-collection #desktop-filters-form > .card__title--small,
.template-collection #desktop-filters-form > button[type="submit"] {
  display: none !important;
}

.template-collection .collection__active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 0.7rem;
}

.template-collection .collection__active-filter-item,
.template-collection .collection__clear-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-height: 1.7rem;
  padding: 0.25rem 0.65rem;
  border: 1px solid rgba(239, 68, 68, 0.32);
  border-radius: 999px;
  background: rgba(12, 12, 14, 0.72);
  color: #f4f4f5;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.template-collection .collection__clear-filter {
  width: auto;
  margin: 0;
}

.template-collection .collection__filter-group-list {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.template-collection .collection__filter-group {
  padding: 0 !important;
  border: none !important;
}

.template-collection .collection__filter-group-name {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 2.15rem;
  padding: 0.4rem 0.8rem !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  border-radius: 999px;
  background: rgba(12, 12, 14, 0.72);
  color: #f4f4f5 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.template-collection .collection__filter-group-name:hover,
.template-collection .collection__filter-group-name[aria-expanded="true"] {
  border-color: rgba(239, 68, 68, 0.55) !important;
  color: #fdba74 !important;
}

.template-collection .collection__filter-group-name svg {
  display: none !important;
}

.template-collection .collection__filter-group-name::after {
  content: "+";
  margin-left: auto;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1;
  color: inherit;
}

.template-collection .collection__filter-group-name[aria-expanded="true"]::after {
  content: "−";
}

.template-collection .collection__filter-collapsible {
  padding: 0.15rem 0.15rem 0.35rem;
}

.template-collection .collection__filter-checkbox-list {
  padding: 0.15rem 0 0.25rem;
}

.template-collection .collection__filter-checkbox {
  margin: 0;
}

.template-collection .collection__filter-checkbox label {
  display: block;
  padding: 0.4rem 0.7rem;
  border-radius: 0.55rem;
  color: #d4d4d8;
  font-size: 0.8rem;
}

.template-collection .collection__filter-checkbox:hover label {
  background: rgba(239, 68, 68, 0.1);
  color: #fafafa;
}

.template-collection .collection__filter-checkbox .checkbox:checked ~ label,
.template-collection .collection__filter-checkbox:has(.checkbox:checked) label {
  color: #fdba74;
}

.template-collection .price-range {
  padding: 0.55rem 0.35rem 0.35rem;
}

.template-collection .price-range__input,
.template-collection .price-range input {
  border: 1px solid rgba(239, 68, 68, 0.28);
  border-radius: 0.55rem;
  background: rgba(12, 12, 14, 0.72);
  color: #f4f4f5;
}

/* Display / Sort menus — dark CM dropdown, not Warehouse sheet */
.template-collection .value-picker-wrapper {
  position: relative;
}

.template-collection .value-picker .icon--nav-triangle-borderless {
  display: none !important;
}

@media screen and (min-width: 641px) {
  .template-collection .value-picker {
    top: calc(100% + 8px) !important;
    right: 0 !important;
    min-width: 13.5rem;
    border: 1px solid rgba(239, 68, 68, 0.35) !important;
    border-radius: 0.85rem !important;
    background:
      radial-gradient(ellipse 70% 60% at 0% 0%, rgba(239, 68, 68, 0.14), transparent 55%),
      linear-gradient(160deg, #1c1c1f 0%, #121214 100%) !important;
    color: #f4f4f5 !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), 0 0 24px rgba(239, 68, 68, 0.1) !important;
    overflow: hidden;
  }

  .template-collection .value-picker__inner {
    background: transparent !important;
    border-radius: 0.85rem !important;
  }

  .template-collection .value-picker__header {
    display: none;
  }

  .template-collection .value-picker__choice-list {
    padding: 0.4rem 0;
    max-height: 18rem;
  }

  .template-collection .value-picker__choice-item {
    padding: 0.55rem 2.4rem 0.55rem 0.9rem;
    color: #d4d4d8;
    font-size: 0.8rem;
  }

  .template-collection .value-picker__choice-item:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #fafafa;
  }

  .template-collection .value-picker__choice-item.is-selected {
    color: #fdba74 !important;
    font-weight: 800;
  }

  .template-collection .value-picker__choice-item svg {
    top: 50%;
    right: 0.85rem;
    transform: translateY(-50%) scale(0);
    color: #fdba74;
  }

  .template-collection .value-picker__choice-item.is-selected svg {
    transform: translateY(-50%) scale(1);
  }
}

@media screen and (max-width: 640px) {
  .template-collection .value-picker:before {
    background: rgba(0, 0, 0, 0.62);
  }

  .template-collection .value-picker__inner {
    background:
      radial-gradient(ellipse 70% 50% at 0% 0%, rgba(239, 68, 68, 0.16), transparent 55%),
      #121214 !important;
    border-top: 1px solid rgba(239, 68, 68, 0.32);
    border-radius: 1rem 1rem 0 0;
  }

  .template-collection .value-picker__header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: #fafafa;
  }

  .template-collection .value-picker__title {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .template-collection .value-picker__choice-item {
    color: #d4d4d8;
  }

  .template-collection .value-picker__choice-item.is-selected {
    color: #fdba74 !important;
  }
}

/* Mobile filter drawer — same dark CM surface as the page */
.template-collection #mobile-collection-filters {
  z-index: 10120 !important;
}

.template-collection #mobile-collection-filters .drawer__inner {
  background:
    radial-gradient(ellipse 80% 40% at 0% 0%, rgba(239, 68, 68, 0.14), transparent 50%),
    #0e0e10 !important;
  border-left: 1px solid rgba(239, 68, 68, 0.28);
  max-width: 22rem;
}

.template-collection .collection-drawer__header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.28);
  color: #fafafa;
}

.template-collection .collection-drawer__title {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.template-collection .collection-drawer__close {
  color: #f4f4f5;
}

.template-collection .collection-drawer__section-title {
  display: none;
}

.template-collection #mobile-collection-filters .collection__filter-group {
  margin: 0 1rem;
}

.template-collection #mobile-collection-filters .collection__filter-group-name {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.template-collection #mobile-collection-filters .collection__filter-checkbox label,
.template-collection #mobile-collection-filters .collection__filter-item-active {
  color: #d4d4d8;
}

.template-collection .collection-drawer__footer {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.35);
  box-shadow: none;
}

.template-collection .collection-drawer__footer .button {
  background: #ae1e1e;
  border-color: #ae1e1e;
  color: #fff;
  border-radius: 999px;
}

.template-collection .collection__mobile-active-filter-item {
  border: 1px solid rgba(239, 68, 68, 0.32);
  border-radius: 999px;
  background: rgba(12, 12, 14, 0.78);
  color: #f4f4f5;
}

/* -------------------------------------------------------------------------
   PDP: Gameology-style BNPL — logo + ? (official widgets stay for popups)
   ------------------------------------------------------------------------- */
.template-product .product-form__info-content {
  position: relative;
}

.template-product .cm-bnpl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1.1rem;
  margin: 0.7rem 0 0.2rem;
}

.template-product .cm-bnpl__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: inherit;
}

.template-product .cm-bnpl__chip:hover .cm-bnpl__q,
.template-product .cm-bnpl__chip:focus-visible .cm-bnpl__q {
  border-color: #fdba74;
  color: #fdba74;
}

.template-product .cm-bnpl__logo {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.template-product .cm-bnpl__logo--afterpay svg {
  display: block;
  height: 13px;
  width: auto;
}

.template-product .cm-bnpl__amt {
  color: #a1a1aa;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
}

.template-product .cm-bnpl__logo--zip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 16px;
  padding: 0 7px;
  border-radius: 4px;
  background: #fff;
  color: #111;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: -0.03em;
  text-transform: lowercase;
}

.template-product .cm-bnpl__logo--klarna {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  height: 16px;
  padding: 0 7px;
  border-radius: 4px;
  background: #ffb3c7;
  color: #0a0b09;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.template-product .cm-bnpl__q {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  border-radius: 999px;
  border: 1.5px solid rgba(255, 255, 255, 0.45);
  color: #d4d4d8;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}

/* Official Afterpay / Klarna / Zip stay in the DOM (compliance) but off-screen */
.template-product .cm-bnpl-sources,
.template-product .afterpay-paragraph,
.template-product p[class*="afterpay"],
.template-product square-placement,
.template-product klarna-placement,
.template-product .product-info__block-item--\@app:has(klarna-placement),
.template-product .shopify-app-block:has(klarna-placement),
.template-product [id*="shopify-block"]:has(klarna-placement) {
  position: absolute !important;
  left: -9999px !important;
  top: 0 !important;
  width: 240px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  float: none !important;
}

.template-product .cm-bnpl-sources iframe,
.template-product #zip-prod-widget {
  max-width: 240px;
}

.template-product [data-zm-merchant] {
  display: none !important;
}

/* -------------------------------------------------------------------------
   CART PAGE + MINI-CART
   Same CM cards, capsules, and gold checkout as product / collection.
   ------------------------------------------------------------------------- */
.template-cart .card,
.template-cart .empty-state {
  border-radius: 0.95rem !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  background: var(--cm-card-bg) !important;
  box-shadow: 0 0 28px rgba(239, 68, 68, 0.06) !important;
  overflow: hidden;
}

.template-cart .page__title,
.template-cart .page__header .heading {
  color: #fafafa !important;
}

.template-cart .page__description,
.template-cart .empty-state__heading,
.template-cart .empty-state__description {
  color: #d4d4d8;
}

.template-cart .line-item-table,
.template-cart .table,
.template-cart .table-wrapper {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #e4e4e7;
}

.template-cart .line-item-table th,
.template-cart .line-item-table td,
.template-cart .table th,
.template-cart .table td {
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #e4e4e7;
}

.template-cart .line-item__title,
.template-cart .line-item__title.link,
.template-cart .line-item__line-price,
.template-cart .line-item__price {
  color: #fafafa !important;
}

.template-cart .line-item__vendor,
.template-cart .line-item__property,
.template-cart .line-item__plan-allocation,
.template-cart .line-item__quantity-remove {
  color: #a1a1aa;
}

.template-cart .line-item__quantity-remove:hover,
.template-cart .line-item__title.link:hover {
  color: #fdba74 !important;
}

.template-cart .line-item__image-wrapper,
.template-cart .line-item__image-wrapper img {
  border-radius: 0.65rem;
  overflow: hidden;
}

.template-cart .line-item__price--compare {
  color: #71717a;
  text-decoration: line-through;
}

.template-cart .line-item__discount {
  color: #fbbf24;
}

.template-cart .quantity-selector {
  height: 38px !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  border-radius: 999px !important;
  background: rgba(12, 12, 14, 0.78) !important;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.06) !important;
  overflow: hidden;
}

.template-cart .quantity-selector__button {
  color: #e4e4e7 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.template-cart .quantity-selector__button:not([disabled]):hover {
  color: #fdba74 !important;
  background: rgba(239, 68, 68, 0.12) !important;
}

.template-cart .quantity-selector__value {
  border-left: 1px solid rgba(239, 68, 68, 0.22) !important;
  border-right: 1px solid rgba(239, 68, 68, 0.22) !important;
  box-shadow: none !important;
  background: rgba(0, 0, 0, 0.28) !important;
  color: #fff !important;
  font-weight: 800;
}

.template-cart .cart-recap__price-line-label,
.template-cart .cart-recap__price-line-price {
  color: #fafafa !important;
}

.template-cart .cart-recap__amount-saved,
.template-cart .cart-recap__price-line--highlight {
  color: #fbbf24 !important;
}

.template-cart .cart-recap__notices,
.template-cart .cart-recap__notices a,
.template-cart .cart-recap__note-button {
  color: #a1a1aa;
}

.template-cart .cart-recap__notices a:hover,
.template-cart .cart-recap__note-button:hover {
  color: #fdba74 !important;
}

.template-cart .form__field,
.template-cart .form__field--textarea,
.template-cart .form__field--text,
.template-cart select {
  border: 1px solid rgba(239, 68, 68, 0.28) !important;
  border-radius: 0.65rem !important;
  background: rgba(12, 12, 14, 0.72) !important;
  color: #f4f4f5 !important;
}

.template-cart .estimate-shipping__toggle,
.template-cart .gift-wrap {
  color: #e4e4e7;
}

/* Checkout / continue shopping = gold SAVE pill */
.template-cart .cart-recap__checkout,
.template-cart .empty-state__button,
.template-cart .button--primary {
  border-radius: 999px !important;
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 55%, #d97706 100%) !important;
  border: 1px solid rgba(255, 237, 184, 0.45) !important;
  color: #1c1410 !important;
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.28);
  font-weight: 800 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.template-cart .cart-recap__checkout:hover,
.template-cart .empty-state__button:hover,
.template-cart .button--primary:hover {
  background: linear-gradient(135deg, #fde68a 0%, #fbbf24 50%, #f59e0b 100%) !important;
  color: #1c1410 !important;
}

.template-cart .button--secondary {
  border-radius: 999px !important;
  background: rgba(12, 12, 14, 0.78) !important;
  border: 1px solid rgba(239, 68, 68, 0.35) !important;
  color: #f4f4f5 !important;
}

.template-cart .button--secondary:hover {
  border-color: rgba(239, 68, 68, 0.55) !important;
  color: #fdba74 !important;
}

/* Mini-cart drawer (all pages) */
.mini-cart {
  background:
    radial-gradient(ellipse 70% 50% at 0% 0%, rgba(239, 68, 68, 0.12), transparent 50%),
    #121214 !important;
  color: #e4e4e7 !important;
  border: 1px solid rgba(239, 68, 68, 0.28);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

.mini-cart__product-title,
.mini-cart__recap-price-line,
.mini-cart__empty-state .heading {
  color: #fafafa !important;
}

.mini-cart__product-vendor,
.mini-cart__quantity-remove,
.mini-cart__plan-allocation {
  color: #a1a1aa;
}

.mini-cart__quantity-remove:hover,
.mini-cart__product-title:hover {
  color: #fdba74 !important;
}

.mini-cart .quantity-selector {
  height: 34px !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  border-radius: 999px !important;
  background: rgba(12, 12, 14, 0.78) !important;
  overflow: hidden;
}

.mini-cart .quantity-selector__button {
  color: #e4e4e7 !important;
  border-radius: 0 !important;
}

.mini-cart .quantity-selector__button:hover {
  color: #fdba74 !important;
}

.mini-cart .quantity-selector__value {
  color: #fff !important;
  background: rgba(0, 0, 0, 0.28) !important;
  box-shadow: none !important;
}

.mini-cart .button--primary,
.mini-cart__button-container .button--primary {
  border-radius: 999px !important;
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 55%, #d97706 100%) !important;
  border: 1px solid rgba(255, 237, 184, 0.45) !important;
  color: #1c1410 !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mini-cart .alert {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.28);
  color: #fde68a;
}

/* -------------------------------------------------------------------------
   SHARED CHROME — search, account, blog, pages, 404, pagination, perk gate
   ------------------------------------------------------------------------- */
.pagination__inner,
.pagination__nav-item,
.pagination__prev,
.pagination__next {
  color: #d4d4d8;
}

.pagination__nav-item {
  border-radius: 999px;
  min-width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pagination__nav-item.is-active,
.pagination__nav-item:hover,
.pagination__prev:hover,
.pagination__next:hover {
  background: rgba(239, 68, 68, 0.14);
  color: #fdba74 !important;
}

.empty-state,
.template-search .empty-state,
.template-404 .empty-state,
.template-blog .empty-state {
  border-radius: 0.95rem;
  border: 1px solid rgba(239, 68, 68, 0.28);
  background: var(--cm-card-bg);
  box-shadow: 0 0 28px rgba(239, 68, 68, 0.06);
  color: #d4d4d8;
}

.empty-state__heading,
.page__title,
.form__title,
.template-blog .page__title,
.template-article .article__title,
.template-page .page__title,
.template-404 .empty-state__heading {
  color: #fafafa !important;
}

.empty-state__description,
.form__legend,
.page__description,
.page__content,
.rte {
  color: #d4d4d8;
}

.empty-state .button--primary,
.form--main .button--primary,
.template-customers-login .button--primary,
.template-customers-register .button--primary,
.template-customers-account .button--primary,
.template-customers-addresses .button--primary,
.template-customers-reset_password .button--primary,
.template-customers-activate_account .button--primary,
.template-blog .button--primary,
.template-404 .button--primary,
.template-page .button--primary,
.template-search .empty-state .button--primary {
  border-radius: 999px !important;
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 55%, #d97706 100%) !important;
  border: 1px solid rgba(255, 237, 184, 0.45) !important;
  color: #1c1410 !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.form__field,
.form--main .form__field,
.template-customers-login .form__field,
.template-customers-register .form__field,
.template-customers-addresses .form__field,
.template-customers-account .form__field,
.template-page .form__field,
.template-search .empty-state .form__field,
.template-404 .form__field,
.template-blog .form__field,
.template-contact .form__field {
  border: 1px solid rgba(239, 68, 68, 0.28) !important;
  border-radius: 0.65rem !important;
  background: rgba(12, 12, 14, 0.72) !important;
  color: #f4f4f5 !important;
}

.form__floating-label,
.form__label {
  color: #a1a1aa;
}

.link--accented,
.form__secondary-action a,
.form__secondary-action button.link {
  color: #fdba74 !important;
}

.template-customers-login .form--main,
.template-customers-register .form--main,
.template-customers-reset_password .form--main,
.template-customers-activate_account .form--main,
.template-customers-account .card,
.template-customers-addresses .card,
.template-customers-order .card {
  border-radius: 0.95rem !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  background: var(--cm-card-bg) !important;
  box-shadow: 0 0 28px rgba(239, 68, 68, 0.06) !important;
}

.template-customers-account .card__linklist-item,
.template-customers-order .card__linklist-item,
.template-customers-addresses .card__linklist-item {
  color: #d4d4d8;
}

.template-customers-account .card__linklist-item:hover,
.template-customers-account .card__linklist-item.text--strong {
  color: #fdba74 !important;
}

.alert--error {
  border-radius: 0.65rem;
  border: 1px solid rgba(239, 68, 68, 0.45);
  background: rgba(127, 29, 29, 0.35);
  color: #fecaca;
}

/* Search reuses collection toolbar + filter chrome */
.template-search .collection__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 0 0.85rem !important;
}

.template-search .cm-filters-toggle,
.template-search .collection__toolbar-item--filter,
.template-search .collection__showing-count,
.template-search .collection__toolbar .value-picker-button,
.template-search .collection__toolbar-item--layout {
  display: inline-flex;
  align-items: center;
  min-height: 2.15rem;
  padding: 0.35rem 0.85rem;
  border: 1px solid rgba(239, 68, 68, 0.32);
  border-radius: 999px;
  background: rgba(12, 12, 14, 0.78);
  color: #f4f4f5;
  font-size: 0.72rem;
  font-weight: 700;
}

.template-search .layout__section--secondary .card {
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  border-radius: 0.95rem !important;
  background: var(--cm-card-bg) !important;
}

.template-search .collection__filter-group-name {
  display: flex !important;
  align-items: center;
  width: 100%;
  min-height: 2.15rem;
  padding: 0.4rem 0.8rem !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  border-radius: 999px;
  background: rgba(12, 12, 14, 0.72);
  color: #f4f4f5 !important;
  text-transform: uppercase;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
}

.template-search .collection__filter-group-name svg {
  display: none !important;
}

.template-search .collection__filter-group-name::after {
  content: "+";
  margin-left: auto;
}

.template-search .collection__filter-group-name[aria-expanded="true"]::after {
  content: "−";
}

@media screen and (min-width: 1000px) {
  .template-search .layout__section--secondary > .card {
    position: sticky;
    top: var(--cm-sticky-offset, 132px);
    max-height: calc(100vh - var(--cm-sticky-offset, 132px) - 16px);
    overflow-y: auto;
  }
}

/* Blog / article */
.template-blog .article-item,
.template-article .card,
.template-blog .card {
  border-radius: 0.95rem !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  background: var(--cm-card-bg) !important;
  box-shadow: 0 0 28px rgba(239, 68, 68, 0.06) !important;
  overflow: hidden;
}

.template-blog .article-item__title,
.template-article .article__title,
.template-article .card__title {
  color: #fafafa !important;
}

.template-blog .page__tag-item a,
.template-article .article__meta,
.template-article .article__tags {
  color: #a1a1aa;
}

.template-blog .page__tag-item.is-selected a,
.template-blog .page__tag-item a:hover {
  color: #fdba74 !important;
}

/* Generic pages / FAQ / contact */
.template-page .page__content,
.template-page .card,
.template-suffix-contact .card,
.template-suffix-faq .card {
  border-radius: 0.95rem;
  color: #d4d4d8;
}

.template-page .page__content a,
.template-article .rte a {
  color: #fdba74;
}

/* Predictive search results */
.header .search-bar__result-category,
.header .search-bar__result-item,
.header .search-bar__result-link {
  color: #e4e4e7;
}

.header .search-bar__result-item .product-item-meta__title,
.header .search-bar__inner .price {
  color: #fafafa !important;
}

/* Perk gate — product, collection, homepage, and cart */
.cm-perk-modal,
#perk-modal,
#perk-gate-modal,
#perk-modal-cart {
  background: rgba(0, 0, 0, 0.85);
}

.cm-perk-modal__card,
#perk-modal #modal-content,
#perk-gate-modal .cm-perk-modal__card,
#perk-modal-cart .cm-perk-modal__card,
#perk-modal-cart-content {
  background: var(--cm-card-bg) !important;
  border: 1px solid rgba(239, 68, 68, 0.4) !important;
  border-radius: 0.95rem !important;
  max-width: 460px;
  width: 90%;
  padding: 1.75rem 1.5rem !important;
  text-align: center;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
  color: #e4e4e7 !important;
}

.cm-perk-modal__title {
  margin: 0 0 1rem;
  color: #fff !important;
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cm-perk-modal__text {
  margin: 0 0 1.5rem;
  color: #d4d4d8 !important;
  font-size: 1rem;
  line-height: 1.5;
  white-space: pre-wrap;
}

.cm-perk-modal__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.85rem 1.6rem;
  border: 1px solid rgba(251, 191, 36, 0.55);
  border-radius: 999px;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 42%, #ae1e1e 100%);
  color: #fff7ed !important;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}

.cm-perk-modal__foot {
  margin-top: 1.25rem;
}

.cm-perk-modal__dismiss {
  background: none;
  border: 0;
  color: #a1a1aa;
  text-decoration: underline;
  cursor: pointer;
}

/* Quick view sits on product template — match cards */
.template-suffix-quick-view .card,
.modal .card {
  border-radius: 0.95rem !important;
  background: var(--cm-card-bg) !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
}

/* Light wrap for Swym / Stamped on our dark page */
.template-product .jdgm-rev-widg,
.template-product .stamped-container,
.template-product #stamped-main-widget,
.template-product .swym-wishlist,
.template-page .swym-wishlist {
  color: #d4d4d8;
}

.template-product .stamped-container a,
.template-product #stamped-main-widget a {
  color: #fdba74;
}

/* -------------------------------------------------------------------------
   Mobile: sticky header (actions) + pinned department chips. No bottom nav.
   Desktop (≥1000px) unchanged.
   ------------------------------------------------------------------------- */
.cm-mobile-nav,
.cm-mobile-chips,
.cm-sticky-buy__meta {
  display: none;
}

@media screen and (max-width: 999px) {
  /* Inside sticky header-group — stay put with the logo bar. */
  .cm-mobile-chips {
    display: flex;
    gap: 0.45rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    position: relative;
    z-index: 2;
    padding: 0.5rem 0.85rem 0.6rem;
    background: rgba(10, 10, 10, 0.94);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(239, 68, 68, 0.22);
  }

  /* Safety if chips were left as a body sibling (old theme.liquid). */
  body > .cm-mobile-chips {
    position: fixed;
    top: var(--header-height, 56px);
    left: 0;
    right: 0;
    z-index: 10049;
  }

  .cm-mobile-chips::-webkit-scrollbar {
    display: none;
  }

  .cm-mobile-chips a {
    flex: 0 0 auto;
    padding: 0.42rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(239, 68, 68, 0.38);
    background: rgba(28, 28, 31, 0.95);
    color: #f4f4f5;
    text-decoration: none;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .cm-mobile-chips a:hover,
  .cm-mobile-chips a[aria-current="page"] {
    border-color: #fdba74;
    color: #fdba74;
  }

  .cm-mobile-chips a[aria-current="page"] {
    background: rgba(239, 68, 68, 0.18);
  }

  .cm-sticky-buy__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.05rem;
    flex: 0 0 auto;
    min-width: 4.25rem;
  }

  .cm-sticky-buy__price {
    color: #fde68a;
    font-weight: 800;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    line-height: 1.15;
    white-space: nowrap;
  }

  .cm-sticky-buy__was {
    color: #a1a1aa;
    font-size: 0.68rem;
    text-decoration: line-through;
    line-height: 1.1;
    white-space: nowrap;
  }

  .template-product .cm-sticky-buy {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10055;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.8rem calc(0.55rem + env(safe-area-inset-bottom, 0px));
    background: rgba(12, 12, 14, 0.96);
    border-top: 1px solid rgba(239, 68, 68, 0.35);
    box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.35);
  }

  .template-product .cm-sticky-buy .product-form__payment-container,
  .template-product .cm-sticky-buy .buy-button {
    flex: 1 1 auto;
    min-width: 0;
  }

  .template-product .cm-sticky-buy .shopify-payment-button {
    display: none !important;
  }

  .template-product .cm-sticky-buy .product-form__add-button,
  .template-product .cm-sticky-buy .button,
  .template-product .cm-sticky-buy .BIS_trigger,
  .template-product .cm-sticky-buy [class*="bis-"] {
    min-height: 44px !important;
    width: 100% !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.82rem !important;
    padding-left: 0.7rem !important;
    padding-right: 0.7rem !important;
  }

  .template-product .product-block-list__item--info {
    padding-bottom: 5.75rem;
  }

  .template-suffix-quick-view .cm-sticky-buy,
  .modal .cm-sticky-buy {
    position: static !important;
    border: 0;
    box-shadow: none;
    background: transparent;
    padding: 0;
  }

  .template-suffix-quick-view .cm-sticky-buy__meta,
  .modal .cm-sticky-buy__meta {
    display: none !important;
  }
}

/* -------------------------------------------------------------------------
   Chat + CM Rewards launchers: homepage only.
   Hidden on collection / product / cart / account, and when mini-cart is open
   (even on home — otherwise they sit on Checkout).
   ------------------------------------------------------------------------- */
body:not(.template-index) shopify-chat,
body:not(.template-index) #shopify-chat,
body:not(.template-index) #ShopifyChat,
body:not(.template-index) #dummy-chat-button-iframe,
body:not(.template-index) iframe[id*="dummy-chat"],
body:not(.template-index) iframe[title*="Chat"],
body:not(.template-index) iframe[title*="chat"],
body:not(.template-index) #tidio-chat,
body:not(.template-index) iframe#tidio-chat-button,
body:not(.template-index) #gorgias-chat-container,
body:not(.template-index) #smile-ui-container,
body:not(.template-index) #smile-ui-lite-container,
body:not(.template-index) iframe[id*="smile"],
body:not(.template-index) iframe[title*="Smile"],
body:not(.template-index) iframe[title*="smile"],
body:not(.template-index) iframe[name*="smile"],
body:not(.template-index) iframe[title*="Reward"],
body:not(.template-index) iframe[title*="reward"],
body:not(.template-index) .cm-rewards-float,
html.cm-launchers-off shopify-chat,
html.cm-launchers-off #shopify-chat,
html.cm-launchers-off #ShopifyChat,
html.cm-launchers-off #dummy-chat-button-iframe,
html.cm-launchers-off iframe[id*="dummy-chat"],
html.cm-launchers-off iframe[title*="Chat"],
html.cm-launchers-off iframe[title*="chat"],
html.cm-launchers-off #tidio-chat,
html.cm-launchers-off iframe#tidio-chat-button,
html.cm-launchers-off #gorgias-chat-container,
html.cm-launchers-off #smile-ui-container,
html.cm-launchers-off #smile-ui-lite-container,
html.cm-launchers-off iframe[id*="smile"],
html.cm-launchers-off iframe[title*="Smile"],
html.cm-launchers-off iframe[title*="smile"],
html.cm-launchers-off iframe[name*="smile"],
html.cm-launchers-off iframe[title*="Reward"],
html.cm-launchers-off iframe[title*="reward"],
html.cm-launchers-off .cm-rewards-float,
html.cm-storefront-lock shopify-chat,
html.cm-storefront-lock #shopify-chat,
html.cm-storefront-lock #ShopifyChat,
html.cm-storefront-lock #dummy-chat-button-iframe,
html.cm-storefront-lock iframe[id*="dummy-chat"],
html.cm-storefront-lock iframe[title*="Chat"],
html.cm-storefront-lock iframe[title*="chat"],
html.cm-storefront-lock #tidio-chat,
html.cm-storefront-lock iframe#tidio-chat-button,
html.cm-storefront-lock #gorgias-chat-container,
html.cm-storefront-lock #smile-ui-container,
html.cm-storefront-lock #smile-ui-lite-container,
html.cm-storefront-lock iframe[id*="smile"],
html.cm-storefront-lock iframe[title*="Smile"],
html.cm-storefront-lock iframe[title*="smile"],
html.cm-storefront-lock iframe[name*="smile"],
html.cm-storefront-lock iframe[title*="Reward"],
html.cm-storefront-lock iframe[title*="reward"],
html.cm-storefront-lock .cm-rewards-float,
html.cm-storefront-widgets-hold shopify-chat,
html.cm-storefront-widgets-hold #shopify-chat,
html.cm-storefront-widgets-hold #ShopifyChat,
html.cm-storefront-widgets-hold #dummy-chat-button-iframe,
html.cm-storefront-widgets-hold iframe[id*="dummy-chat"],
html.cm-storefront-widgets-hold iframe[title*="Chat"],
html.cm-storefront-widgets-hold iframe[title*="chat"],
html.cm-storefront-widgets-hold #tidio-chat,
html.cm-storefront-widgets-hold iframe#tidio-chat-button,
html.cm-storefront-widgets-hold #gorgias-chat-container,
html.cm-storefront-widgets-hold #smile-ui-container,
html.cm-storefront-widgets-hold #smile-ui-lite-container,
html.cm-storefront-widgets-hold iframe[id*="smile"],
html.cm-storefront-widgets-hold iframe[title*="Smile"],
html.cm-storefront-widgets-hold iframe[title*="smile"],
html.cm-storefront-widgets-hold iframe[name*="smile"],
html.cm-storefront-widgets-hold iframe[title*="Reward"],
html.cm-storefront-widgets-hold iframe[title*="reward"],
html.cm-storefront-widgets-hold .cm-rewards-float {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Home: hide CM Rewards while Chat is open so it cannot sit on “Ask anything”. */
html.cm-rewards-off #smile-ui-container,
html.cm-rewards-off #smile-ui-lite-container,
html.cm-rewards-off iframe[id*="smile"],
html.cm-rewards-off iframe[title*="Smile"],
html.cm-rewards-off iframe[title*="smile"],
html.cm-rewards-off iframe[name*="smile"],
html.cm-rewards-off iframe[title*="Reward"],
html.cm-rewards-off iframe[title*="reward"],
html.cm-rewards-off .cm-rewards-float {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Giveaway page: floating chat/rewards sit on the Enter button on phones. */
.template-suffix-cm-giveaway #tidio-chat,
.template-suffix-cm-giveaway iframe#tidio-chat-button,
.template-suffix-cm-giveaway #gorgias-chat-container,
.template-suffix-cm-giveaway shopify-chat,
.template-suffix-cm-giveaway #shopify-chat,
.template-suffix-cm-giveaway #ShopifyChat,
.template-suffix-cm-giveaway #dummy-chat-button-iframe,
.template-suffix-cm-giveaway iframe[id*="dummy-chat"],
.template-suffix-cm-giveaway #smile-ui-container,
.template-suffix-cm-giveaway #smile-ui-lite-container,
.template-suffix-cm-giveaway iframe[id*="smile"],
.template-suffix-cm-giveaway iframe[title*="Smile"],
.template-suffix-cm-giveaway iframe[title*="smile"],
.template-suffix-cm-giveaway iframe[name*="smile"],
.template-suffix-cm-giveaway iframe[title*="Reward"],
.template-suffix-cm-giveaway iframe[title*="reward"],
.template-suffix-cm-giveaway .cm-rewards-float {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* -------------------------------------------------------------------------
   Phone app-feel: short PDP gallery, filter sheet, one-hero home.
   ------------------------------------------------------------------------- */
@media screen and (max-width: 999px) {
  .template-product .product-gallery__carousel-wrapper {
    margin-bottom: 0.45rem;
  }

  .template-product .product-gallery__carousel-item {
    padding: 0;
  }

  .template-product .product-gallery__size-limiter,
  .template-product .product-gallery__carousel .flickity-viewport {
    max-height: min(38vh, 280px) !important;
  }

  .template-product .product-gallery__image,
  .template-product .product-gallery__carousel-item img {
    max-height: min(38vh, 280px) !important;
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    object-fit: contain;
    margin-inline: auto;
    display: block;
  }

  .template-product .product-gallery__thumbnail-list {
    padding: 0.35rem 0.6rem 0.15rem;
  }

  /* Real Filter / Sort buttons, parked as a bottom pill (Safari sits lower). */
  .template-collection .collection__toolbar,
  .template-search .collection__toolbar {
    position: fixed !important;
    left: 0.85rem;
    right: 0.85rem;
    top: auto !important;
    bottom: var(--cm-filter-bar-bottom, 12px) !important;
    z-index: 10060 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: center;
    gap: 0 !important;
    width: auto !important;
    height: auto !important;
    min-height: 46px;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    pointer-events: auto !important;
    border-radius: 999px !important;
    border: 1px solid rgba(239, 68, 68, 0.45) !important;
    background: rgba(16, 16, 18, 0.96) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }

  body:has(#mini-cart[aria-hidden="false"]) .template-collection .collection__toolbar,
  body:has(#mini-cart[aria-hidden="false"]) .template-search .collection__toolbar,
  html.cm-mini-cart-open .template-collection .collection__toolbar,
  html.cm-mini-cart-open .template-search .collection__toolbar {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .template-collection .collection__toolbar-item--count,
  .template-search .collection__toolbar-item--count,
  .template-collection .collection__toolbar-item--layout,
  .template-search .collection__toolbar-item--layout {
    display: none !important;
  }

  .template-collection .collection__toolbar-item--filter,
  .template-search .collection__toolbar-item--filter,
  .template-collection .collection__toolbar-item--sort,
  .template-search .collection__toolbar-item--sort {
    flex: 1 1 50%;
    justify-content: center !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0.55rem 0.8rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: auto !important;
  }

  .template-collection .collection__toolbar-item--filter,
  .template-search .collection__toolbar-item--filter {
    border-right: 1px solid rgba(244, 244, 245, 0.22) !important;
  }

  .template-collection .collection__toolbar .value-picker-button,
  .template-search .collection__toolbar .value-picker-button {
    width: 100%;
    justify-content: center;
    min-height: 46px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #f4f4f5 !important;
    font-weight: 800;
    letter-spacing: 0.04em;
  }

  .cm-filter-sheet-bar {
    display: none !important;
  }

  .template-collection .collection__inner,
  .template-search .collection__inner,
  .template-collection .product-list,
  .template-search .product-list {
    padding-bottom: 5.5rem;
  }

  body:has(#mobile-collection-filters[aria-hidden="false"]) .collection__toolbar,
  body:has(.value-picker[aria-hidden="false"]) .collection__toolbar {
    visibility: hidden;
    pointer-events: none;
  }

  .template-collection #mobile-collection-filters .drawer__inner,
  .template-search #mobile-collection-filters .drawer__inner {
    max-width: none !important;
    width: 100% !important;
    height: min(78vh, 640px) !important;
    top: auto !important;
    bottom: var(--cm-filter-bar-bottom, 12px) !important;
    right: 0 !important;
    left: 0 !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(239, 68, 68, 0.35);
    border-radius: 18px 18px 0 0;
    transform: translateY(110%) !important;
  }

  .template-collection #mobile-collection-filters[aria-hidden="false"] .drawer__inner,
  .template-search #mobile-collection-filters[aria-hidden="false"] .drawer__inner {
    transform: translateY(0) !important;
  }

  .template-collection .collection-drawer__footer,
  .template-search .collection-drawer__footer {
    padding-bottom: 0.85rem !important;
  }

  .template-collection .value-picker,
  .template-search .value-picker {
    z-index: 10130 !important;
  }

  .template-collection .value-picker__inner,
  .template-search .value-picker__inner {
    bottom: var(--cm-filter-bar-bottom, 12px) !important;
    padding-bottom: 0.5rem;
  }

  .template-index .cm-pr__header,
  .template-index .cm-pr__track,
  .template-index .cm-pr__nav,
  .template-index .cm-pr__dots,
  .template-index .cm-pr__hint {
    display: none !important;
  }

  .template-index .cm-pr {
    padding-top: 0.55rem !important;
    padding-bottom: 0.35rem !important;
  }

  .template-index .cm-pr__main {
    margin: 0 0.85rem 0.65rem !important;
    aspect-ratio: 16 / 9;
    max-height: 42vh;
  }

  .template-index .cm-pr__main-image {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

  .template-index .shopify-section:has([data-section-type="collection-list"]),
  .template-index [data-section-type="collection-list"] {
    display: none !important;
  }

  .template-index .shopify-section:has([class*="stamped"]),
  .template-index .shopify-section:has([id*="stamped"]) {
    display: none !important;
  }
}

/* -------------------------------------------------------------------------
   Make an offer — TM00001 singles (product buy box + cart recap)
   ------------------------------------------------------------------------- */
.cm-offer {
  width: 100%;
  margin-top: 10px;
}
.cm-offer__toggle {
  display: block;
  width: 100%;
  border: 1px solid rgba(232, 195, 122, 0.45);
  background: transparent;
  color: #e8c37a;
  border-radius: 999px;
  padding: 11px 18px;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}
.cm-offer__toggle:hover {
  border-color: #e8c37a;
  color: #fff;
}
a.cm-offer__toggle {
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}
.cm-offer__text--locked {
  opacity: 0.85;
  cursor: default;
}
.cm-offer__box {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(232, 195, 122, 0.28);
  border-radius: 12px;
  background: #0e0e10;
}
.cm-offer__lede {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.45;
  color: #a1a1aa;
}
.cm-offer__row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  margin: 0 0 10px;
  color: #a1a1aa;
}
.cm-offer__row strong { color: #fafafa; }
.cm-offer__label {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #e8c37a;
  margin: 0 0 6px;
}
.cm-offer__dollar {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #0a0a0a;
  border: 1px solid rgba(232, 195, 122, 0.28);
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 10px;
}
.cm-offer__dollar:focus-within {
  border-color: #e8c37a;
  box-shadow: 0 0 0 1px rgba(232, 195, 122, 0.35);
}
.cm-offer__dollar span {
  color: #e8c37a;
  font-weight: 800;
}
.cm-offer__dollar .cm-offer__input::placeholder {
  color: #71717a;
  font-weight: 500;
}
.cm-offer__input,
.cm-offer__text,
.cm-offer__note {
  width: 100%;
  background: #0a0a0a;
  border: 1px solid rgba(232, 195, 122, 0.28);
  border-radius: 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 10px 12px;
  margin-bottom: 10px;
  outline: none;
}
.cm-offer__dollar .cm-offer__input {
  flex: 1;
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  font-size: 18px;
}
.cm-offer__note {
  min-height: 64px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
}
.cm-offer__send {
  width: 100%;
  border: 0;
  border-radius: 999px;
  padding: 12px;
  background: #e8c37a;
  color: #111;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}
.cm-offer__send:disabled {
  opacity: 0.55;
  cursor: wait;
}
.cm-offer__err {
  margin: 10px 0 0;
  font-size: 13px;
  font-weight: 700;
  color: #f87171;
}
.cm-offer__fine {
  font-size: 11px;
  line-height: 1.45;
  color: #71717a;
  margin: 10px 0 0;
}
.cm-offer__notice {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #e8c37a;
  background: #2a2214;
  color: #ffe7a3;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.35;
  text-align: center;
}
.cm-offer--sent {
  margin-top: 14px;
}
.cm-offer__sent {
  margin-top: 0;
  padding: 18px 16px;
  border-radius: 12px;
  border: 1px solid #e8c37a;
  background: #16140f;
  box-shadow: 0 0 0 1px rgba(232, 195, 122, 0.2);
}
.cm-offer__sent-title {
  margin: 0 0 6px;
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #e8c37a;
}
.cm-offer__sent-body {
  margin: 0;
  font-size: 13px;
  color: #a1a1aa;
}
.cart-recap .cm-offer {
  margin: 12px 0;
}

.cm-offer__form {
  margin: 0;
}
html.cm-offer-modal-open {
  overflow: hidden;
}
.cm-offer__modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100000;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.cm-offer__modal.is-open {
  display: flex;
}
.cm-offer__modal-scrim {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
}
.cm-offer__modal-card {
  position: relative;
  z-index: 1;
  width: min(420px, 100%);
  background: #0e0909;
  border: 1px solid #e8c37a;
  border-radius: 16px;
  padding: 28px 22px 22px;
  text-align: center;
  box-shadow: 0 0 0 1px rgba(232, 195, 122, 0.25), 0 24px 60px rgba(0, 0, 0, 0.55);
}
.cm-offer__modal-kicker {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #e8c37a;
}
.cm-offer__modal-title {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.2;
  color: #fff8e7;
}
.cm-offer__modal-copy {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.5;
  color: #c4b4b4;
}
.cm-offer__modal-card .cm-offer__send {
  width: 100%;
}

.cm-offer--mini {
  margin: 0 0 14px;
  padding: 14px 14px 12px;
  border: 1px solid rgba(232, 195, 122, 0.55);
  border-radius: 14px;
  background: #1a1410;
  text-align: center;
  box-sizing: border-box;
}
.cm-offer--mini .cm-offer__kicker {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #e8c37a;
}
.cm-offer--mini .cm-offer__lede-mini {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.4;
  color: #a1a1aa;
}
.cm-offer--mini .cm-offer__toggle--fill {
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 55%, #d97706 100%);
  border: 1px solid rgba(255, 237, 184, 0.45);
  color: #1c1410;
}
.cm-offer--mini .cm-offer__toggle--fill:hover {
  color: #1c1410;
  border-color: #ffe7a3;
}
.cm-offer--mini .cm-offer__fine {
  text-align: center;
}
.cm-offer--mini .cm-offer__notice {
  margin-top: 10px;
}
.cm-offer--mini .cm-offer__form {
  text-align: left;
}
.cm-offer--mini .cm-offer__box {
  background: #121214;
  max-height: min(48vh, 380px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.cm-offer--mini .cm-offer__items {
  max-height: 88px;
  overflow-y: auto;
  margin-bottom: 10px;
  padding-right: 4px;
}
.cm-offer--mini .cm-offer__actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  background: #121214;
  padding: 10px 0 2px;
  box-shadow: 0 -12px 16px #121214;
}
.cm-offer--mini .cm-offer__actions .cm-offer__notice {
  margin-top: 0;
  margin-bottom: 10px;
}
.cm-offer__items {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  font-size: 12px;
  line-height: 1.45;
  color: #d4d4d8;
  text-align: left;
}
.cm-offer__items li {
  margin: 0 0 4px;
  padding-left: 0;
}
.mini-cart__recap .cm-offer--mini {
  margin: 0 0 14px;
}
.mini-cart {
  max-height: calc(100vh - 88px) !important;
  overflow-x: hidden;
  overflow-y: auto;
}
@media screen and (max-width: 999px) {
  .mini-cart {
    overflow: hidden !important;
  }
  .mini-cart__content {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
  }
  .mini-cart__image-wrapper,
  .mini-cart__image-wrapper img {
    touch-action: pan-y;
  }
}
.mini-cart.cm-offer-open .mini-cart__line-item-list,
.mini-cart:has(.cm-offer--line .cm-offer__box:not([hidden])) .mini-cart__line-item-list {
  max-height: 220px !important;
}
.cm-offer--line {
  margin: 8px 0 0;
  text-align: left;
}
.cm-offer__toggle--ghost {
  display: inline-block;
  width: auto;
  padding: 6px 12px;
  font-size: 11px;
  background: transparent;
  border: 1px solid rgba(232, 195, 122, 0.45);
  color: #e8c37a;
}
.cm-offer__toggle--ghost:hover {
  border-color: #e8c37a;
  color: #fff;
}
.cm-offer--line .cm-offer__notice {
  margin-top: 0;
  font-size: 11px;
  padding: 8px 10px;
}
.cm-offer--line .cm-offer__box {
  max-height: min(42vh, 320px);
  overflow-y: auto;
  margin-top: 10px;
}
.cm-offer__listed-only {
  margin: 6px 0 0;
  font-size: 11px;
  font-weight: 700;
  color: #71717a;
}
.cm-offer-field {
  margin: 8px 0 0;
}
.cm-offer-field .cm-offer__label {
  margin-bottom: 4px;
}
.cm-offer-field .cm-offer__dollar {
  margin-bottom: 4px;
  padding: 8px 10px;
}
.cm-offer--batch {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(232, 195, 122, 0.55);
  border-radius: 14px;
  background: #1a1410;
}
.cm-offer--batch .cm-offer__box {
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
  max-height: none;
}
.cm-offer--batch .cm-offer__lede {
  margin: 0 0 10px;
  text-align: left;
}
@media screen and (min-width: 641px) {
  .mini-cart {
    width: 540px !important;
  }
  .mini-cart__line-item-list {
    max-height: min(56vh, 480px) !important;
  }
}
.cm-offer__dollar.is-too-low {
  border-color: #f87171;
  box-shadow: 0 0 0 1px #f87171;
}
.cm-offer__more {
  margin: 8px 0 10px;
  text-align: left;
}
.cm-offer__more summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  color: #e8c37a;
  list-style: none;
}
.cm-offer__more summary::-webkit-details-marker { display: none; }
.cm-offer__more .cm-offer__note {
  margin-top: 8px;
}
.cm-offer--batch .cm-offer__notice {
  margin: 0 0 10px;
}
.cm-offer--batch .cm-offer__actions {
  position: static;
  box-shadow: none;
  padding: 0;
  background: transparent;
}