/** Shopify CDN: Minification failed

Line 1113:0 Unexpected "("
Line 1185:2 Comments in CSS use "/* ... */" instead of "//"
Line 1191:4 Comments in CSS use "/* ... */" instead of "//"
Line 1193:4 Comments in CSS use "/* ... */" instead of "//"
Line 1208:4 Comments in CSS use "/* ... */" instead of "//"
Line 1215:6 Comments in CSS use "/* ... */" instead of "//"
Line 1219:6 Comments in CSS use "/* ... */" instead of "//"
Line 1228:0 Comments in CSS use "/* ... */" instead of "//"
Line 1246:12 Comments in CSS use "/* ... */" instead of "//"
Line 1267:2 Comments in CSS use "/* ... */" instead of "//"
... and 12 more hidden warnings

**/
/* ================================================
   NTHNG FANCY — CUSTOM CSS
   Mobile-first. Conversion optimised.
   ================================================ */

/* ── SALE BADGE ── */
.product-tag-sale,
.product-tag.product-tag-sale,
.product-tag.hide,
.d-inline-block.product-tag,
[class*="product-tag-sale"] {
  background: #111 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 2px !important;
  font-size: 9px !important;
  letter-spacing: 0.12em !important;
  font-weight: 500 !important;
  padding: 4px 8px !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  display: none !important;
  vertical-align: middle !important;
}

/* ── REMOVE VENDOR & TYPE FROM PRODUCT CARDS ── */
.product-single__vendor,
.card__vendor,
.product-vendor,
.product-card .product-vendor,
.productgrid__vendor,
.grid-product__vendor,
a[href*="vendor"] .vendor,
.product-grid-item .vendor,
[class*="product-grid"] .vendor,
.product-item__vendor,
.card-information__text.caption,
.product-card-vendor,
.grid__item .vendor,
.product-grid .vendor-name,
a.product-vendor,
.product-card__type {
  display: none !important;
}

/* ── ATC BUTTON ── */
.product-form__cart-submit.btn-theme {
  background: #111 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 2px !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  padding: 18px 24px !important;
  transition: background 0.2s ease !important;
  width: 100% !important;
}

.product-form__cart-submit.btn-theme:hover {
  background: #333 !important;
}

/* ── SOLD OUT BUTTON ── */
.product-form__cart-submit.btn--sold-out {
  background: #2a2a2a !important;
  color: #fff !important;
  opacity: 1 !important;
  border: none !important;
  letter-spacing: 0.14em !important;
  font-size: 11px !important;
  cursor: not-allowed !important;
}

/* ── SIZE SELECTOR LABEL ── */
.selector-wrapper label,
.product-form__item label:not(.label--hidden):not(.checkbox__label) {
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #888 !important;
  margin-bottom: 10px !important;
}

/* ── SIZE BUTTONS ── */
.swatch-element label,
.selector-wrapper .swatch-element input + label {
  min-width: 50px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 2px !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  margin: 3px !important;
  background: #fff !important;
  color: #111 !important;
}

/* Selected size */
.swatch-element input:checked + label {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
  box-shadow: none !important;
}

/* Sold out size */
.swatch-element.soldout label {
  color: #ccc !important;
  text-decoration: line-through !important;
  border-color: #eee !important;
}

/* ── COLOUR SWATCHES ── */
.single-color label {
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  min-width: 28px !important;
  width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  margin: 4px !important;
}

.single-color .swatch-element input:checked + label {
  border: 2px solid #111 !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #111 !important;
  background: inherit !important;
  color: inherit !important;
}

.single-color .swatch-element label:hover {
  border-color: #999 !important;
}

/* ── COLOUR SWATCH BACKGROUNDS ── */
.st-color-marshmallow,
.st-color-marshmallow.st-color { background-color: #FfFfff !important; }
.st-color-black,
.st-color-black.st-color { background-color: #1C1C1C !important; }
.st-color-espresso,
.st-color-espresso.st-color { background-color: #593a39 !important; }
.st-color-moonlight-blue,
.st-color-moonlight-blue.st-color { background-color: #615c7a !important; }
.st-color-hershals-brown,
.st-color-hershals-brown.st-color { background-color: #ac9088 !important; }
.st-color-candy-pink,
.st-color-candy-pink.st-color { background-color: #b89ca8 !important; }
.st-color-barely-brown,
.st-color-barely-brown.st-color { background-color: #bfb49d !important; }
.st-color-matcha-cream,
.st-color-matcha-cream.st-color { background-color: #C4B896 !important; }
.st-color-somewhat-mauve,
.st-color-somewhat-mauve.st-color { background-color: #b89ca8 !important; }
.st-color-classic-black,
.st-color-classic-black.st-color { background-color: #1C1C1C !important; }
.st-color-white,
.st-color-white.st-color { background-color: #FfFfff !important; }

/* ── QUANTITY INPUT ── */
.product-form__quantity {
  border: 1px solid #e0e0e0 !important;
  border-radius: 2px !important;
  font-size: 13px !important;
  text-align: center !important;
  height: 52px !important;
}

/* ── WAITLIST BUTTON ── */
.btn-waitlist {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: transparent !important;
  border: 1px solid #111 !important;
  color: #111 !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 16px !important;
  margin-top: 10px !important;
  border-radius: 2px !important;
  cursor: pointer !important;
}

/* ── STOCK COUNTER ── */
.js-hurrify,
[class*="fake-viewer"],
[class*="fakeviewer"] {
  font-size: 11px !important;
  color: #555 !important;
  letter-spacing: 0.08em !important;
  padding: 8px 0 !important;
  border-top: 1px solid #f0f0f0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  margin: 10px 0 !important;
}

.text-success,
.text-green,
.product-single__meta-list .text-danger {
  color: #555 !important;
}

/* ── PROGRESS BAR ── */
.progress {
  height: 3px !important;
  background: #f0f0f0 !important;
  border-radius: 2px !important;
  margin-top: 6px !important;
}

.progress-bar {
  background: #111 !important;
  border-radius: 2px !important;
}

/* ── PRODUCT TITLE ── */
.product-single__title {
  font-size: 22px !important;
  letter-spacing: 0.14em !important;
  line-height: 1.3 !important;
  margin-bottom: 6px !important;
}

/* ── PRICE ── */
.product-single__price {
  font-size: 18px !important;
  letter-spacing: 0.06em !important;
  color: #111 !important;
}

.product-single__price--compare {
  font-size: 13px !important;
  color: #aaa !important;
  margin-left: 8px !important;
}

/* ── PRODUCT LABEL ── */
.product-label,
.product-tag {
  border-radius: 2px !important;
  font-size: 9px !important;
  letter-spacing: 0.1em !important;
  padding: 3px 8px !important;
  text-transform: uppercase !important;
}

/* ── PRODUCT CARDS ── */
.product-card__title,
.product-title,
.card__heading a {
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.card__prices .price,
.product-card__price {
  font-size: 12px !important;
}

/* ── BREADCRUMB ── */
.breadcrumb,
.breadcrumb a,
.breadcrumb span {
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  color: #bbb !important;
}

/* ── COD TRUST SIGNAL ── */
.nf-cod-badge {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #555 !important;
  margin-top: 12px !important;
  padding: 10px 0 !important;
  border-top: 1px solid #f0f0f0 !important;
}

.nf-cod-badge::before {
  content: '✓' !important;
  color: #111 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
}

/* ── REVIEW STARS ── */
.shopify-product-reviews-badge {
  display: block !important;
  margin-bottom: 8px !important;
}

/* ── WISHLIST & COMPARE ── */
.wishlist-text,
.js-btn-wishlist,
.js-btn-compare {
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #888 !important;
}

/* ── SEPARATOR ── */
hr {
  border-color: #f0f0f0 !important;
  margin: 12px 0 !important;
}

/* ── SECTION HEADINGS ── */
.product-recommendations h2,
.product-recommendations .title,
section[class*="recommendation"] h2,
.recently-viewed-products h2,
[data-section-type*="recommendation"] h2 {
  font-size: 13px !important;
  letter-spacing: 0.18em !important;
  font-weight: 500 !important;
  margin-bottom: 20px !important;
}

.jdgm-rev-widg__title,
.jdgm-rev-widg__summary-text,
#jdgm-widget h2,
.jdgm-widget h2,
.jdgm-widget .jdgm-rev-widg__title {
  font-size: 13px !important;
  letter-spacing: 0.18em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
}

/* ── ACCORDION + REVIEWS GAP ── */
.nf-accordion-wrap + *,
.product-content + *,
[class*="product-content"] + section {
  margin-top: 0 !important;
  padding-top: 24px !important;
}

.jdgm-widget,
.jdgm-rev-widg {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ── STICKY CART ── */
.sticky-cart-wr {
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  padding: 10px 0 !important;
}

#js-sticky-btn {
  border-radius: 2px !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  padding: 14px 24px !important;
}

#js-sticky-prd h3 {
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

.sticky-cart-select {
  border-radius: 2px !important;
}

.sticky-cart-select select {
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
}

/* ── MOBILE ONLY ── */
@media (max-width: 767px) {
  body.template-product {
    padding-bottom: 80px !important;
  }

  .product-single__title {
    font-size: 18px !important;
  }

  h2, .h2 {
    font-size: 16px !important;
    letter-spacing: 0.14em !important;
  }

  .product-single__info-wrapper {
    padding-top: 0 !important;
    margin-top: -24px !important;
  }

  .product-block {
    margin-bottom: 16px !important;
  }

  .nf-accordion-wrap {
    margin-bottom: 0 !important;
  }

  .product-form__quantity-submit {
    gap: 8px !important;
  }

  .product-single__thumbnails {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    gap: 6px !important;
  }

  .product-single__thumbnail-item {
    width: 56px !important;
    height: 70px !important;
    min-width: 56px !important;
    flex-shrink: 0 !important;
  }

  .product-single__thumbnail-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}
/* ── REMOVE WHITESPACE BETWEEN THUMBNAILS AND TITLE ── */
@media (max-width: 767px) {
  .photos__item--thumbs {
    margin-bottom: 0 !important;
  }

  .product-single__info-wrapper {
    padding-top: 0 !important;
    margin-top: -16px !important;
  }
}
@media (max-width: 540px) {
  .sticky-cart-wr {
    padding: 8px 0 !important;
  }

  #js-sticky-btn {
    font-size: 9px !important;
    padding: 14px 16px !important;
    letter-spacing: 0.14em !important;
  }

  #js-sticky-prd {
    padding: 0 12px !important;
    gap: 8px !important;
  }
}

/* ── DESKTOP ONLY ── */
@media (min-width: 768px) {

  .product-single__thumbnails,
  .product-single__thumbnail-list,
  [class*="thumbnail-list"],
  .thumbnails-bottom {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    margin-top: 12px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .product-single__thumbnail-item,
  [class*="thumbnail-item"] {
    width: 72px !important;
    height: 90px !important;
    min-width: 72px !important;
    flex-shrink: 0 !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 2px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    opacity: 0.6 !important;
    transition: opacity 0.2s ease, border-color 0.2s ease !important;
  }

  .product-single__thumbnail-item:hover,
  .product-single__thumbnail-item.active,
  [class*="thumbnail-item"].active {
    opacity: 1 !important;
    border-color: #111 !important;
  }

  .product-single__thumbnail-image,
  [class*="thumbnail-img"] {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .photos-sticky {
    position: relative !important;
    top: auto !important;
    align-self: flex-start !important;
  }

  .product-single .row {
    align-items: flex-start !important;
  }

  .product-single__photo img,
  .product__media img {
    max-height: 85vh !important;
    object-fit: contain !important;
    object-position: center top !important;
  }

  [class*="essential-upsell"] h2,
  [class*="essential-upsell"] h3,
  [class*="upsell"] .title,
  [class*="frequently"] h2 {
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
  }

  [class*="essential-upsell"] .price,
  [class*="essential-upsell"] s,
  [class*="upsell"] .compare-price {
    color: #aaa !important;
    font-size: 11px !important;
  }

  .swatch-element label {
    min-width: 52px !important;
    height: 44px !important;
  }

  .single-color .swatch-element label,
  .single-color label {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
  }
}
/* ── FORCE COLOUR SWATCHES — maximum specificity ── */
.single-option-radio.single-color label.st-color-marshmallow { background-color: #FfFfff !important; }
.single-option-radio.single-color label.st-color-black { background-color: #1C1C1C !important; }
.single-option-radio.single-color label.st-color-espresso { background-color: #593a39 !important; }
.single-option-radio.single-color label.st-color-moonlight-blue { background-color: #615c7a !important; }
.single-option-radio.single-color label.st-color-hershals-brown { background-color: #ac9088 !important; }
.single-option-radio.single-color label.st-color-candy-pink { background-color: #b89ca8 !important; }
.single-option-radio.single-color label.st-color-barely-brown { background-color: #bfb49d !important; }
.single-option-radio.single-color label.st-color-matcha-cream { background-color: #c7b9a0 !important; }
.single-option-radio.single-color label.st-color-somewhat-mauve { background-color: #b89ca8 !important; }
.single-option-radio.single-color label.st-color-classic-black { background-color: #1C1C1C !important; }
.single-option-radio.single-color label.st-color-white { background-color: #FfFfff !important; }
/* ── FIT/FEEL ICONS — tighter spacing ── */
.product-block__iwt,
.iwt-ver,
.iwt-blockhoz {
  padding: 8px 0 !important;
  margin-bottom: 8px !important;
}

.iwt-item {
  margin-bottom: 8px !important;
}

.iwt-item__text {
  font-size: 11px !important;
  line-height: 1.4 !important;
}

/* ── HIDE NO REVIEWS when 0 ── */
.jdgm-prev-badge[data-number-of-reviews="0"] {
  display: none !important;
}

/* ── FBT — fix red prices ── */
[class*="upsell"] .price--on-sale,
[class*="upsell"] .price-item--sale,
[class*="upsell"] s,
[class*="upsell"] del,
[class*="essential"] s,
[class*="essential"] del,
[class*="essential"] .price--on-sale {
  color: #aaa !important;
  font-size: 10px !important;
}

[class*="upsell"] .price-item--regular,
[class*="essential"] .price-item--regular {
  color: #111 !important;
  font-size: 12px !important;
}

/* ── FBT heading — on brand ── */
[class*="upsell"] h3,
[class*="frequently-bought"] h3,
[class*="essential"] h3 {
  font-size: 10px !important;
  letter-spacing: 0.16em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  color: #111 !important;
}

/* ── WRITE A REVIEW button — fix cutoff ── */
.jdgm-write-rev-link,
.jdgm-write-rev-link span,
[class*="write-review"] {
  white-space: nowrap !important;
  overflow: visible !important;
  min-width: fit-content !important;
  padding: 12px 24px !important;
  font-size: 10px !important;
  letter-spacing: 0.16em !important;
}

/* ── RECENTLY VIEWED heading ── */
[class*="recently-view"] h2,
[class*="recently_view"] h2,
.recently-viewed h2,
section[data-section-type="recently-viewed"] h2 {
  font-size: 13px !important;
  letter-spacing: 0.18em !important;
  font-weight: 500 !important;
}

/* ── YOU MAY ALSO LIKE heading ── */
[class*="also-like"] h2,
[class*="you-may"] h2,
.product-recommendations h2 {
  font-size: 13px !important;
  letter-spacing: 0.18em !important;
  font-weight: 500 !important;
}

/* ── DEAD WHITESPACE between trust badges and accordion ── */
@media (max-width: 767px) {
  [class*="product-trust"],
  [class*="trust-badge"],
  .ptrust-badge,
  .product-freeship {
    margin-bottom: 0 !important;
    padding-bottom: 8px !important;
  }

  .section-product-content,
  .shopify-section + .shopify-section {
    margin-top: 0 !important;
  }
}

.single-option-radio.single-color {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 2px !important;
  padding: 4px 2px !important;
}

.single-option-radio.single-color::-webkit-scrollbar {
  display: none !important;
}
/* ── Rs. 0 — hide broken price ── */
.product-card__price:empty,
.price:empty {
  display: none !important;
}
/* ── CART DRAWER — fix empty whitespace ── */
.cart-drawer__inner,
[class*="cart-drawer"] .cart-body,
.js-mini-cart-content,
.cart-items-wrapper {
  flex: 1 !important;
  overflow-y: auto !important;
}

/* Remove excess padding/margin causing gap */
.cart-drawer [class*="upsell"],
.cart-drawer [class*="you-may"],
.cart-drawer [class*="also-like"] {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Tighten cart upsell section */
.js-cart-upsell,
[class*="cart-upsell"],
[class*="cart-recommend"] {
  margin: 0 !important;
  padding: 16px 0 !important;
}
/* ── TRUST ROW NEAR ATC ── */
.nf-trust-row {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 10px 0 !important;
  padding: 10px 0 !important;
  border-top: 1px solid #f0f0f0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.nf-trust-item {
  font-size: 9px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #555 !important;
  font-weight: 500 !important;
}
/* ── HIDE 0 REVIEWS SECTION ── */
.jdgm-rev-widg[data-number-of-reviews="0"] .jdgm-rev-widg__summary,
.jdgm-rev-widg[data-number-of-reviews="0"] .jdgm-rev-widg__reviews,
.jdgm-rev-widg[data-number-of-reviews="0"] .jdgm-rev-widg__sort,
.jdgm-rev-widg[data-number-of-reviews="0"] .jdgm-rev-widg__title,
.jdgm-rev-widg[data-number-of-reviews="0"] .jdgm-histogram,
.jdgm-rev-widg[data-number-of-reviews="0"] .jdgm-write-rev-link {
  display: none !important;
}

/* ── BRAND STATEMENT when 0 reviews ── */
.jdgm-rev-widg[data-number-of-reviews="0"]::before {
  content: 'Engineered for movement. Worn for life.' !important;
  display: block !important;
  text-align: center !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #aaa !important;
  padding: 32px 0 !important;
  border-top: 1px solid #f0f0f0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
/* ── COMPLETE THE LOOK — rename FBT ── */
[class*="essential-upsell"] .upsell-title,
[class*="frequently-bought"] h3,
[class*="upsell"] h3 {
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  color: #111 !important;
}

[class*="essential-upsell"] .upsell-title::before,
[class*="frequently-bought"] h3::before,
[class*="upsell"] h3::before {
  content: 'Complete the Look' !important;
  display: block !important;
}

[class*="essential-upsell"] .upsell-title *,
[class*="frequently-bought"] h3 *,
[class*="upsell"] h3 * {
  display: none !important;
}
/* ── HIDE DOTS EVERYWHERE ── */
.my-gallery .slick-dots,
.slick-dots {
  display: none !important;
}
/* ── FABRIC STORY — enhanced icons ── */
.product-block__iwt {
  background: #f9f9f7 !important;
  border-radius: 2px !important;
  padding: 16px !important;
  margin: 0 0 16px !important;
}

.iwt-blockhoz {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

.iwt-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
}

.iwt-item svg,
.iwt-item img {
  width: 20px !important;
  height: 20px !important;
  opacity: 0.5 !important;
}

.iwt-item__text {
  font-size: 10px !important;
  line-height: 1.5 !important;
  color: #111 !important;
  letter-spacing: 0.04em !important;
}

/* Label above text */
.iwt-item .p-attr,
.iwt-item small:first-child {
  font-size: 8px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #aaa !important;
  font-weight: 600 !important;
  display: block !important;
  margin-bottom: 2px !important;
}

@media (max-width: 767px) {
  .product-block__iwt {
    padding: 12px !important;
  }

  .iwt-blockhoz {
    gap: 12px !important;
  }
}
/* ── STICKY SIZE SELECTOR — mobile ── */
@media (max-width: 767px) {
  .nf-sticky-size {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 998 !important;
    background: #fff !important;
    border-bottom: 1px solid #e8e8e8 !important;
    padding: 10px 16px !important;
    transform: translateY(-100%) !important;
    transition: transform 0.3s ease !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  }

  .nf-sticky-size.is-visible {
    transform: translateY(0) !important;
  }

  .nf-sticky-size__label {
    font-size: 9px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    margin-bottom: 8px !important;
    display: block !important;
  }

  .nf-sticky-size__options {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
  }

  .nf-sticky-size__option {
    min-width: 44px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 2px !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    background: #fff !important;
    color: #111 !important;
    transition: all 0.15s ease !important;
  }

  .nf-sticky-size__option.is-selected {
    background: #111 !important;
    color: #fff !important;
    border-color: #111 !important;
  }

  .nf-sticky-size__option.is-soldout {
    color: #ccc !important;
    text-decoration: line-through !important;
    border-color: #eee !important;
  }
}
/* ── STICKY SIZE — FORCE SHOW ── */
#nf-sticky-size {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: #fff !important;
  border-bottom: 1px solid #e8e8e8 !important;
  padding: 10px 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transform: translateY(-100%) !important;
  transition: transform 0.3s ease !important;
  display: block !important;
}

#nf-sticky-size.is-visible {
  transform: translateY(0) !important;
}

@media (min-width: 768px) {
  #nf-sticky-size {
    display: none !important;
  }
}
/* ── STICKY SIZE LAYOUT WITH ATC ── */
#nf-sticky-size {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: #fff !important;
  border-bottom: 1px solid #e8e8e8 !important;
  padding: 10px 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transform: translateY(-100%) !important;
  transition: transform 0.3s ease !important;
  display: block !important;
}

#nf-sticky-size.is-visible {
  transform: translateY(0) !important;
}

.nf-sticky-size__top {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 10px !important;
}

.nf-sticky-size__label {
  font-size: 9px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #aaa !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.nf-sticky-size__options {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  flex: 1 !important;
}

.nf-sticky-size__options::-webkit-scrollbar {
  display: none !important;
}

.nf-sticky-size__option {
  min-width: 40px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 2px !important;
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
  cursor: pointer !important;
  background: #fff !important;
  color: #111 !important;
  flex-shrink: 0 !important;
  transition: all 0.15s ease !important;
}

.nf-sticky-size__option.is-selected {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
}

.nf-sticky-size__option.is-soldout {
  color: #ccc !important;
  text-decoration: line-through !important;
  border-color: #eee !important;
}

.nf-sticky-size__bottom {
  width: 100% !important;
}

.nf-sticky-size__atc {
  width: 100% !important;
  background: #111 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 2px !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  padding: 14px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

.nf-sticky-size__atc:hover {
  background: #333 !important;
}

.nf-sticky-size__atc--soldout {
  background: #333 !important;
  cursor: not-allowed !important;
}

@media (min-width: 768px) {
  #nf-sticky-size {
    display: none !important;
  }
}
/* ── BUNDLE BANNER ── */
.nf-bundle-banner {
  display: flex !important;
  gap: 0 !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  margin: 12px 0 !important;
}

.nf-bundle-tier {
  flex: 1 !important;
  padding: 10px 8px !important;
  text-align: center !important;
  border-right: 1px solid #e8e8e8 !important;
  cursor: default !important;
  transition: background 0.2s ease !important;
}

.nf-bundle-tier:last-child {
  border-right: none !important;
}

.nf-bundle-tier__qty {
  font-size: 8px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #aaa !important;
  display: block !important;
  margin-bottom: 3px !important;
}

.nf-bundle-tier__saving {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  color: #111 !important;
  display: block !important;
}

.nf-bundle-tier.is-active {
  background: #111 !important;
}

.nf-bundle-tier.is-active .nf-bundle-tier__qty,
.nf-bundle-tier.is-active .nf-bundle-tier__saving {
  color: #fff !important;
} 
.nf-ctl__colour-wrap {
  position: relative;
  z-index: 10;
}

.nf-ctl__colour-dropdown {
  z-index: 9999; /* increase */
}
(function() {

  const BAG_SVG = `
    <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 100 100" fill="none" stroke="currentColor" stroke-width="7" stroke-linecap="round" stroke-linejoin="round">
      <circle cx="50" cy="28" r="14" fill="none"/>
      <rect x="14" y="38" width="72" height="52" rx="10" ry="10" fill="none"/>
      <path d="M36 62 Q50 74 64 62" fill="none"/>
    </svg>`;

  const PLUS_SVG = `
    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
      <line x1="12" y1="5" x2="12" y2="19"/>
      <line x1="5" y1="12" x2="19" y2="12"/>
    </svg>`;

  const STYLES = `
    .nf-quick-add {
      position: absolute;
      bottom: 12px;
      right: 12px;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: #ffffff;
      color: #1a1a1a;
      border: none;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      opacity: 1;
      transition: background 0.25s ease, color 0.25s ease;
      box-shadow: 0 2px 8px rgba(0,0,0,0.15);
      z-index: 10;
    }
    .nf-quick-add__bag {
      display: flex;
      align-items: center;
      justify-content: center;
      transition: opacity 0.2s ease, transform 0.2s ease;
      position: absolute;
    }
    .nf-quick-add__plus {
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transform: scale(0.6);
      transition: opacity 0.2s ease, transform 0.2s ease;
      position: absolute;
    }
    .nf-quick-add:hover .nf-quick-add__bag {
      opacity: 0;
      transform: scale(0.6);
    }
    .nf-quick-add:hover .nf-quick-add__plus {
      opacity: 1;
      transform: scale(1);
    }
    .nf-quick-add:hover {
      background: #1a1a1a;
      color: #ffffff;
    }
    .nf-quick-add--added {
      background: #1a1a1a !important;
      color: #ffffff !important;
    }
    .product-card__image-wr {
      position: relative;
    }
  `;

  // Inject styles once
  const styleTag = document.createElement('style');
  styleTag.textContent = STYLES;
  document.head.appendChild(styleTag);

  function getVariantId(card) {
    // Try data-price sibling approach — get variant from product card id
    const id = card.id ? card.id.replace('product-item-', '') : null;
    // Try data attribute on card
    return card.dataset.variantId || card.querySelector('[data-variant-id]')?.dataset.variantId || null;
  }

  function addToCart(variantId, btn) {
    fetch('/cart/add.js', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ id: variantId, quantity: 1 })
    }).then(() => {
      location.reload();
    }).catch(err => console.error('Add to cart failed:', err));
  }

  function injectButtons() {
    // Target default QX theme cards only, skip vg-cards (already have buttons)
    document.querySelectorAll('.product-card__image-wr:not([data-nf-injected])').forEach(wrapper => {
      wrapper.setAttribute('data-nf-injected', 'true');

      const card = wrapper.closest('.product-card');
      if (!card) return;

      // Skip matching sets — check collection context or product title
      const link = wrapper.querySelector('a.product-card__image');
      if (link && link.href.includes('matching')) return;

      // Get variant id from the product link URL or data attributes
let variantId = null;

const productLink = wrapper.querySelector('a.product-card__image');
if (productLink) {
  const urlParams = new URLSearchParams(productLink.search);
  variantId = urlParams.get('variant');
}

// Fallback: fetch first available variant via product JSON
if (!variantId) {
  const productHref = wrapper.querySelector('a.product-card__image')?.pathname;
  if (productHref) {
    fetch(productHref + '.js')
      .then(r => r.json())
      .then(data => {
        const firstVariant = data.variants?.[0]?.id;
        if (firstVariant) {
          btn.dataset.variantId = firstVariant;
          btn.addEventListener('click', (e) => {
            e.preventDefault();
            e.stopPropagation();
            addToCart(firstVariant, btn);
          });
          wrapper.appendChild(btn);
        }
      });
    return; // async path handles append
  }
}

if (!variantId) return;

      const btn = document.createElement('button');
      btn.className = 'nf-quick-add';
      btn.setAttribute('aria-label', 'Quick Add');
      btn.innerHTML = `<span class="nf-quick-add__bag">${BAG_SVG}</span><span class="nf-quick-add__plus">${PLUS_SVG}</span>`;

      btn.addEventListener('click', (e) => {
        e.preventDefault();
        e.stopPropagation();
        addToCart(variantId, btn);
      });

      wrapper.appendChild(btn);
    });
  }

  // Run on load
  document.addEventListener('DOMContentLoaded', injectButtons);

  // Re-run for dynamically loaded cards (sliders, infinite scroll etc)
  const observer = new MutationObserver(injectButtons);
  observer.observe(document.body, { childList: true, subtree: true });

})();
/* ── SOLD OUT SIZES — slash + strikethrough ── */
.swatch-element.soldout label,
.swatch-element.unavailable label {
  color: #ccc !important;
  text-decoration: line-through !important;
  border-color: #eee !important;
  position: relative !important;
  overflow: hidden !important;
}

.swatch-element.soldout label::after,
.swatch-element.unavailable label::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 100% !important;
  height: 1px !important;
  background: #ccc !important;
  transform: rotate(-45deg) !important;
  transform-origin: center !important;
}

/* ── SOLD OUT COLOR SWATCHES — diagonal line ── */
.single-color .swatch-element.soldout label,
.single-color .swatch-element.unavailable label {
  opacity: 0.5 !important;
  text-decoration: none !important;
  position: relative !important;
  overflow: hidden !important;
}

.single-color .swatch-element.soldout label::after,
.single-color .swatch-element.unavailable label::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 140% !important;
  height: 1.5px !important;
  background: rgba(0,0,0,0.35) !important;
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}

/* ── SOLD OUT COLOR NAME — strikethrough ── */
.single-color .swatch-element.soldout label span,
.single-color .swatch-element.unavailable label span {
  text-decoration: line-through !important;
  color: #ccc !important;
}

/* ── STICKY SIZE SELECTOR — sold out slash ── */
.nf-sticky-size__option.is-soldout {
  color: #ccc !important;
  text-decoration: line-through !important;
  border-color: #eee !important;
  position: relative !important;
  overflow: hidden !important;
}

.nf-sticky-size__option.is-soldout::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 100% !important;
  height: 1px !important;
  background: #ccc !important;
  transform: rotate(-45deg) !important;
  transform-origin: center !important;
}

/* ── COLLECTION GRID SWATCHES — sold out slash ── */
.vg-swatch.vg-swatch--soldout {
  opacity: 0.45 !important;
  position: relative !important;
  overflow: hidden !important;
}

.vg-swatch.vg-swatch--soldout::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 140% !important;
  height: 1.5px !important;
  background: rgba(0,0,0,0.35) !important;
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}
/* ── RELOAD ON ANY ATC FORM SUBMIT ── */
document.addEventListener('submit', function(e) {
  const form = e.target;
  if (form.action && form.action.includes('/cart/add')) {
    e.preventDefault();
    const data = new FormData(form);
    fetch('/cart/add.js', {
      method: 'POST',
      body: data
    }).then(() => {
      location.reload();
    }).catch(err => console.error('ATC error:', err));
  }
});
/* ── SIZE SWATCHES — sold out diagonal slash ── */
.swatch-element.soldout label,
.swatch-element.unavailable label {
  color: #bbb !important;
  border-color: #e8e8e8 !important;
  position: relative !important;
  overflow: hidden !important;
  text-decoration: none !important; /* let the pseudo-element do the work */
}

.swatch-element.soldout label::after,
.swatch-element.unavailable label::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 130% !important;
  height: 1px !important;
  background: #bbb !important;
  transform: translate(-50%, -50%) rotate(-45deg) !important;
  pointer-events: none !important;
}
.single-color .swatch-element {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: middle !important;
}
/* ── COLOR SWATCHES — sold out diagonal slash ── */
.single-color label.soldout-swatch {
  opacity: 0.5 !important;
  position: relative !important;
  overflow: hidden !important;
}

.single-color label.soldout-swatch::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 140% !important;
  height: 1.5px !important;
  background: rgba(0,0,0,0.4) !important;
  transform: translate(-50%, -50%) rotate(-45deg) !important;
  pointer-events: none !important;
}
/* ── CART PAGE — prevent mini cart freeze ── */
document.addEventListener('DOMContentLoaded', function() {
  if (window.location.pathname !== '/cart') return;
  
  // Override generateCart and updateElements on cart page to prevent freeze
  var checkInterval = setInterval(function() {
    if (window.theme && window.theme.miniCart) {
      var origGenerate = window.theme.miniCart.generateCart;
      var origUpdate = window.theme.miniCart.updateElements;
      
      window.theme.miniCart.generateCart = function(cart) {
        if (window.location.pathname === '/cart') {
          // On cart page just update count and reload
          document.querySelectorAll('.js-cart-count').forEach(function(el) {
            el.textContent = cart.item_count;
          });
          return;
        }
        return origGenerate.call(this, cart);
      };
      
      window.theme.miniCart.updateElements = function(cart) {
        if (window.location.pathname === '/cart') return;
        return origUpdate.call(this, cart);
      };
      
      clearInterval(checkInterval);
    }
  }, 100);
});
/* Nthng Fancy — Image Grid */

.nf-image-grid {
  width: 100%;
  padding: 0;
}

.nf-image-grid__title {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 16px;
  padding: 0 16px;
}

.nf-image-grid__grid {
  display: grid;
  width: 100%;
}

.nf-image-grid__item {
  position: relative;
}

/* Image wrapper — fills the tile, clips overflow */
.nf-image-grid__img-wrap {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  text-decoration: none;
}

.nf-image-grid__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.nf-image-grid__img-wrap:hover .nf-image-grid__img {
  transform: scale(1.03);
}

/* Placeholder */
.nf-image-grid__placeholder {
  width: 100%;
  height: 100%;
  background: #f3f3f3;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Button sits inside the image, bottom left */
.nf-image-grid__btn {
  position: absolute !important;
  bottom: 14px !important;
  left: 14px !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  border-bottom: 1.5px solid #fff !important;
  padding-bottom: 2px !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

@media (max-width: 767px) {
  .nf-image-grid__btn {
    font-size: 10px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .nf-image-grid__grid {
    grid-template-columns: repeat(var(--cols-mobile, 2), 1fr) !important;
  }

  .nf-image-grid__btn {
  position: absolute;
  bottom: 14px;
  left: 14px;
  background: transparent;
  color: #fff;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  pointer-events: none;
  white-space: nowrap;
}
}
  }
}
/* Nthng Fancy — Hero Image */

.nf-hero-image {
  width: 100%;
}

.nf-hero-image__wrap {
  display: block;
  position: relative;
  width: 100%;
  height: {{ section.settings.image_height }}px;
  overflow: hidden;
  text-decoration: none;
}

.nf-hero-image__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nf-hero-image__placeholder {
  width: 100%;
  height: 100%;
  background: #f3f3f3;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nf-hero-image__overlay-content {
  position: absolute;
  bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Position variants */
.nf-hero-image[data-position="bottom-left"] .nf-hero-image__overlay-content,
#nf-hero-image-{{ section.id }} .nf-hero-image__overlay-content {
  left: 20px;
  align-items: flex-start;
}

.nf-hero-image[data-position="bottom-center"] .nf-hero-image__overlay-content {
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}

.nf-hero-image[data-position="bottom-right"] .nf-hero-image__overlay-content {
  right: 20px;
  align-items: flex-end;
}

.nf-hero-image__text {
  color: #fff;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin: 0;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

.nf-image-grid__btn {
  position: absolute;
  bottom: 14px;
  left: 14px;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  pointer-events: none;
  white-space: nowrap;
}
.section-nf-hero-image {
  overflow: visible !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.nf-hero-image {
  overflow: visible !important;
}

.nf-hero-image__wrap {
  overflow: hidden;
  border-radius: 0 !important;
}

.nf-hero-image__img {
  border-radius: 0 !important;
}
.nf-image-grid__tile-title-wrap {
  padding: 10px 4px 16px;
  min-height: 44px;
}

.nf-image-grid__tile-title-wrap--empty {
  min-height: 44px;
}

.nf-image-grid__tile-title {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #111;
  line-height: 1.4;
}
/* All buttons */
.button, .btn,
button[type="submit"],
.shopify-payment-button__button {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* Product titles */
.product-card__title,
.card__heading, .product__title {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-weight: 200;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Price */
.price, .price__regular,
.product-card__price {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-weight: 300;
  letter-spacing: 0.08em;
}
/* Logo / brand name in header */
.header__heading,
.header__heading a,
.logo, .site-header .logo {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-weight: 300;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

/* Navigation links */
.header__menu-item,
.header__menu-item a,
.site-nav a, .nav-link {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-weight: 300;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 11px;
}
/* Base — all body text */
body,
p, li, span, td, label,
input, select, textarea, button {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-weight: 300;
  letter-spacing: 0.02em;
}

/* Headings — ultra thin, spaced out */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-weight: 200; /* ultra thin — the SKIMS look */
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.nf-hero-image__btn {
  background: transparent !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1.5px solid #fff !important;
  padding-bottom: 2px !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  position: static !important;
}

.nf-hero-image__text {
  color: #fff !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3) !important;
  position: relative !important;
}

.nf-hero-image__overlay-content {
  position: absolute !important;
  bottom: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  left: 20px !important;
}
/* Nthng Fancy — Product Carousel */

.nf-product-carousel {
  width: 100%;
  overflow: hidden;
}

.nf-product-carousel__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin: 0 0 6px;
}

.nf-product-carousel__title-top {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1;
  color: #111;
}

.nf-product-carousel__title-bottom {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.4;
  color: #111;
}

.nf-product-carousel__subtitle {
  text-align: center;
  font-size: 0.8rem;
  color: #555;
  margin: 0 0 20px;
}

.nf-product-carousel__track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 0 16px 12px;
  scrollbar-width: none;
}

.nf-product-carousel__track::-webkit-scrollbar {
  display: none;
}

.nf-product-carousel__card {
  flex: 0 0 160px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
}

.nf-product-carousel__img-wrap {
  display: block;
  position: relative;
  width: 160px;
  height: 200px;
  overflow: hidden;
  background: #f5f5f5;
  text-decoration: none;
}

.nf-product-carousel__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.nf-product-carousel__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.2;
}

.nf-product-carousel__badge {
  position: absolute;
  bottom: 8px;
  left: 8px;
  background: #fff;
  color: #111;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 3px 7px;
  border: 1px solid #ddd;
}

.nf-product-carousel__info {
  padding: 4px 0 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-decoration: none;
  color: inherit;
}

.nf-product-carousel__name {
  font-size: 0.78rem;
  font-weight: 600;
  color: #111;
  margin: 0;
  line-height: 1.3;
  letter-spacing: 0.04em;
}

.nf-product-carousel__prices {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-top: 2px;
}

.nf-product-carousel__price {
  font-size: 0.78rem;
  font-weight: 500;
  color: #111;
  letter-spacing: 0.02em;
}

.nf-product-carousel__compare {
  font-size: 0.72rem;
  color: #aaa;
  text-decoration: line-through;
}
.nf-product-carousel__swatch {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1.5px solid #e0e0e0;
  cursor: pointer;
  position: relative;
  transition: box-shadow 0.15s ease;
  flex-shrink: 0;
  display: inline-block;
}

.nf-product-carousel__swatch.is-selected {
  box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #111;
  border-color: #111;
}

.nf-product-carousel__swatches {
  display: flex;
  gap: 5px;
  padding: 8px 0 4px;
  flex-wrap: wrap;
}

.nf-product-carousel__swatches-spacer {
  height: 28px;
}
/* Transparent header over hero */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: background 0.3s ease, box-shadow 0.3s ease;
  background: transparent;
}

/* Make logo, icons and nav white when over hero */
.site-header.nf-header--transparent .site-header__logo,
.site-header.nf-header--transparent .site-header__logo a,
.site-header.nf-header--transparent .site-nav__link,
.site-header.nf-header--transparent .site-header__icon,
.site-header.nf-header--transparent svg,
.site-header.nf-header--transparent .icon-cart,
.site-header.nf-header--transparent path,
.site-header.nf-header--transparent circle {
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
}

/* Scrolled state — white background */
.site-header.nf-header--scrolled {
  background: #fff;
  box-shadow: 0 1px 0 rgba(0,0,0,0.08);
}

.site-header.nf-header--scrolled .site-header__logo,
.site-header.nf-header--scrolled .site-header__logo a,
.site-header.nf-header--scrolled .site-nav__link,
.site-header.nf-header--scrolled .site-header__icon,
.site-header.nf-header--scrolled svg,
.site-header.nf-header--scrolled path,
.site-header.nf-header--scrolled circle {
  color: #1a1a1a !important;
  fill: #1a1a1a !important;
  stroke: #1a1a1a !important;
}
.vg-card__badge--sale,
.product-badge--sale,
.badge--sale,
[class*="sale-badge"],
[class*="badge-sale"],
.product-label--sale,
.product-tag--sale {
  display: none !important;
}