/** Shopify CDN: Minification failed

Line 3507:0 Unexpected "}"

**/
/* SecondFirst — Premium unified layer */
:root {
  --sf-page-bg: #f6f4ef;
  --sf-surface: rgba(255,255,255,0.88);
  --sf-surface-strong: #ffffff;
  --sf-surface-soft: #fbfaf7;
  --sf-line: rgba(17,17,17,0.08);
  --sf-line-strong: rgba(17,17,17,0.14);
  --sf-text: #111111;
  --sf-text-soft: rgba(17,17,17,0.64);
  --sf-shadow-sm: 0 12px 30px rgba(17,17,17,0.04);
  --sf-shadow-md: 0 24px 60px rgba(17,17,17,0.07);
  --sf-shadow-lg: 0 32px 90px rgba(17,17,17,0.09);
  --sf-radius-sm: 16px;
  --sf-radius-md: 24px;
  --sf-radius-lg: 32px;
  --sf-radius-xl: 40px;
  --sf-pill: 999px;
}

html { scroll-behavior: smooth; background: var(--sf-page-bg) !important; touch-action: manipulation; }
body.gradient,
.gradient,
.color-scheme-1.gradient {
  background: var(--sf-page-bg) !important;
  color: var(--sf-text);
}
.page-width { max-width: 1380px; }
.header__icon--cart .icon, .header__icon .icon { transform: none !important; }
.card, .product__info-container, .cart__footer, .customer form, .shopify-policy__container, .template-search__search, .template-search__header, .related-products, .collection-hero__inner {
  border-radius: var(--sf-radius-lg);
}

.shopify-section:has(.related-products) {
  margin-bottom: 32px;
}
.sf-nav a[aria-current="page"] {
  background: rgba(17,17,17,0.94);
  color: #fff;
  border-color: rgba(17,17,17,0.94);
}
.sf-header__icons, .sf-mobile-right { display:flex; align-items:center; gap: .9rem; }
.sf-brand, .sf-header__logo { white-space: nowrap; }
/* Brand / logo always uses the display font (Space Grotesk) on EVERY page,
   independent of the body font. Previously the logo only looked like this on
   the homepage — by accident, because the Instagram block injected a global
   "* { font-family: Space Grotesk !important }" rule. That leak is now scoped
   to the widget; this rule makes the brand consistent site-wide. */
.sf-brand,
.sf-header__logo,
.sf-mobile-drawer__brand,
.sf-footer__brand-name { font-family: "Space Grotesk", sans-serif; }

/* ── FONT SYSTEM (consolidation) ─────────────────────────────────────────
   Standardise on TWO fonts site-wide: Space Grotesk (headings / UI / brand)
   and Inter (body). These overrides replace the theme-setting font (Assistant)
   and the base.css heading var (Instrument Serif), so headings are uniform on
   every page (h1–h5, .h0–.h5) and body/inputs use Inter. sf-premium.css loads
   after base.css and the theme <head> :root, so these win. */
:root {
  --sf-font-heading: "Space Grotesk", sans-serif;     /* was "Instrument Serif" (base.css:3777) */
  --font-heading-family: "Space Grotesk", sans-serif; /* was Assistant → h4/h5/.h-classes        */
  --font-body-family: "Inter", sans-serif;            /* was Assistant → inputs, .text-body, etc. */
}
.sf-cart-badge.is-hidden { display:none !important; }
.sf-cart-link { flex-shrink:0; transition: transform 0.25s, background 0.25s, box-shadow 0.25s; border-radius: 10px; }
.sf-cart-link:hover { transform: translateY(-2px); background: rgba(0,0,0,0.05); box-shadow: rgba(0,0,0,0.06) 0px 4px 12px; }
.sf-cart-badge {
  display:inline-flex; align-items:center; justify-content:center;
  min-width: 2rem; height: 2rem; font-weight:700;
}
.card__heading { line-height:1.08; }
.card-information .price { color: var(--sf-text); }
.card-information > * { min-width:0; }
.cart-count-bubble, .header__icon--cart .cart-count-bubble { transform:none !important; }
.product-form__buttons .button,
.shopify-payment-button__button,
.shopify-payment-button__more-options,
.cart__checkout-button { min-height: 5.2rem; }
.facets__display, .facet-filters__sort, .select__select, .field__input, .quantity__input { background: rgba(255,255,255,0.86); }
.main-page-title, .title--primary, .collection-hero__title, .product__title h1, .product__title .product__title-text { color: var(--sf-text); }
/* Rich-text section headings: match the bold, full-black homepage section headings (override .rte grey) */
.rich-text__heading.rte { color: var(--sf-text); font-weight: 700; }
@media (max-width: 989px) {
  .product__info-container { position: static; top: auto; }
}


/* SOURCE: sf-sitewide-best.css */

/* SECOND FIRST — Best Version (sitewide premium layer) */

:root {
  --sf-bg: #f5f5f2;
  --sf-bg-soft: #f8f8f5;
  --sf-card: rgba(255, 255, 255, 0.88);
  --sf-card-strong: #ffffff;
  --sf-ink: #111111;
  --sf-muted: #666666;
  --sf-muted-2: #858585;
  --sf-border: rgba(17, 17, 17, 0.08);
  --sf-border-strong: rgba(17, 17, 17, 0.14);
  --sf-shadow-sm: 0 10px 30px rgba(17, 17, 17, 0.04);
  --sf-shadow-md: 0 20px 60px rgba(17, 17, 17, 0.06);
  --sf-shadow-lg: 0 28px 90px rgba(17, 17, 17, 0.08);
  --sf-radius-xs: 12px;
  --sf-radius-sm: 16px;
  --sf-radius-md: 22px;
  --sf-radius-lg: 30px;
  --sf-radius-xl: 38px;
  --sf-pill: 999px;
}

html {
  scroll-behavior: smooth;
}

body.gradient,
.color-scheme-1.gradient,
.gradient {
  background: var(--sf-bg);
  color: var(--sf-ink);
}

.page-width {
  max-width: 1380px;
}

h1, h2, h3, h4, .h0, .h1, .h2, .h3 {
  letter-spacing: -0.04em;
}

p, .rte, .caption, .product__text, .field__label, .customer * {
  color: rgba(17, 17, 17, 0.72);
}

a {
  transition: opacity 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.button,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded,
button.shopify-payment-button__more-options {
  border-radius: var(--sf-pill);
  min-height: 4.8rem;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  box-shadow: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease;
}

.button--secondary,
.button.button--secondary {
  border-color: var(--sf-border-strong);
  background: rgba(255,255,255,0.72);
}

@media (hover: hover) {
  .button:hover,
  .button--secondary:hover {
    transform: translateY(-1px);
  }
}

/* ─────────────────────────
   Product page – typografie & pills
───────────────────────── */

/* Producttitel → Space Grotesk (was Instrument Serif) */
.product__title h1,
.product__title .product__title-text {
  font-family: "Space Grotesk", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 0.94 !important;
}

/* Eyebrow "SECONDFIRST" boven de titel */
.product__text.caption-with-letter-spacing {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(17,17,17,0.42) !important;
  margin-bottom: 8px !important;
}

/* Variant-labels (COLOR:, STORAGE:, QUANTITY) */
.product-form__input legend,
.product-form__input .form__label {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: rgba(17,17,17,0.45) !important;
}

/* Storage / variant tekst-pills (niet de color swatches) */
fieldset.product-form__input label:not(.swatch-input__label) {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

/* Low stock urgency-tekst */
.product__inventory {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 13px !important;
  letter-spacing: -0.01em !important;
}

/* Trust pills – Space Grotesk, iets groter en scherper */
.sf-product-trust__pill {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 13px !important;
  letter-spacing: -0.01em !important;
}

/* "What you can expect" support-box */
.sf-product-support__title {
  font-family: "Space Grotesk", sans-serif !important;
  letter-spacing: -0.02em !important;
}
.sf-product-support__item {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 13px !important;
  letter-spacing: -0.01em !important;
  line-height: 1.5 !important;
}

/* Uitverkochte kleur-swatch – beter zichtbare doorhaling
   Probleem: streepje zit op .swatch::after (opacity 0.4) binnen label (opacity 0.45)
   → gecombineerd 0.18 opacity, bijna onzichtbaar.
   Fix: .swatch opacity naar 1, label regelt de fade → streepje wordt 0.6 × 0.85 ≈ 0.51 */
/* Specificiteit 0,5,0 — Dawn's rule heeft 0,4,0, laadt ná sf-premium.css */
.product-form__input--swatch.product-form__input .swatch-input__input:disabled + .swatch-input__label {
  opacity: 0.6 !important;
  pointer-events: auto !important;
  cursor: not-allowed !important;
}

/* Swatch opacity terug op 1 – label regelt de fade al (0,4,0, geen !important in Dawn) */
.product-form__input--swatch .swatch-input__input:disabled + .swatch-input__label > .swatch {
  opacity: 1 !important;
}

/* Streepje: gradient van hoek tot hoek – overschrijft Dawns verschoven rotatie-truc */
.product-form__input--swatch .swatch-input__input:disabled + .swatch-input__label > .swatch::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
  background: linear-gradient(
    to bottom right,
    transparent calc(50% - 1.5px),
    rgba(0,0,0,0.75) calc(50% - 1.5px),
    rgba(0,0,0,0.75) calc(50% + 1.5px),
    transparent calc(50% + 1.5px)
  ) !important;
}

/* ── Swatch tooltip: kleurnaam verschijnt bij hover ────────────────── */
.swatch-input__label {
  position: relative;
}

/* Tooltip ballon */
.swatch-input__label::before {
  content: attr(data-swatch-label);
  position: absolute;
  bottom: calc(100% + 9px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: rgba(17,17,17,0.90);
  color: #fff;
  font-family: "Space Grotesk", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
  padding: 5px 10px;
  border-radius: 7px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 150ms ease, transform 150ms ease;
  z-index: 20;
}

/* Pijltje onder de ballon */
.swatch-input__label::after {
  content: '';
  position: absolute;
  bottom: calc(100% + 3px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  border: 4px solid transparent;
  border-top-color: rgba(17,17,17,0.90);
  pointer-events: none;
  opacity: 0;
  transition: opacity 150ms ease, transform 150ms ease;
  z-index: 20;
}

@media (hover: hover) {
  .swatch-input__label:hover::before,
  .swatch-input__label:hover::after {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

/* ─────────────────────────
   Product page – CTA hiërarchie
───────────────────────── */

/* Add to cart – altijd dominant, ook als Shop Pay aanwezig is */
.product-form__submit,
.product-form__submit.button--secondary {
  background: #111 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  outline: none !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  min-height: 56px !important;
  box-shadow: 0 10px 32px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.10) !important;
  transition: transform 180ms cubic-bezier(0.22,1,0.36,1), box-shadow 180ms cubic-bezier(0.22,1,0.36,1) !important;
}

/* Verwijder Dawn's vierkante focus-outline op de knop */
.product-form__submit:focus,
.product-form__submit:focus-visible {
  outline: none !important;
  box-shadow: 0 10px 32px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.10) !important;
}

/* Dawn simuleert borders via ::after box-shadow — dat verwijderen */
.product-form__submit::after,
.product-form__submit.button--secondary::after {
  display: none !important;
}

@media (hover: hover) {
  .product-form__submit:not([disabled]):hover,
  .product-form__submit.button--secondary:not([disabled]):hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,0.22), 0 4px 12px rgba(0,0,0,0.10) !important;
  }
}

.product-form__submit:not([disabled]):active {
  transform: translateY(-1px) !important;
}

/* Uitverkocht / disabled */
.product-form__submit[disabled] {
  background: rgba(17,17,17,0.2) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Shop Pay / dynamic checkout → ghost pill eronder */
.shopify-payment-button__button--unbranded {
  background: transparent !important;
  color: #111 !important;
  border: 1.5px solid rgba(17,17,17,0.16) !important;
  box-shadow: none !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: -0.01em !important;
  min-height: 50px !important;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease !important;
}

@media (hover: hover) {
  .shopify-payment-button__button--unbranded:hover {
    transform: translateY(-1px) !important;
    background: rgba(255,255,255,0.76) !important;
    border-color: rgba(17,17,17,0.26) !important;
  }
}

/* "More payment options" */
.shopify-payment-button__more-options {
  color: rgba(17,17,17,0.46) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

/* Product form buttons: kolom-layout met goede gap */
.product-form__buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* Quantity selector */
.quantity {
  border-radius: 14px !important;
  border: 1.5px solid rgba(17,17,17,0.12) !important;
  background: #fff !important;
  overflow: hidden;
}

/* Dawn simuleert ook hier een border via ::after – weghalen */
.quantity::after {
  display: none !important;
}

/* Input heeft zelf ook een losse rand – die komt van de globale field__input regel */
.quantity__input {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.quantity__button {
  color: #111 !important;
  transition: background 140ms ease !important;
}

@media (hover: hover) {
  .quantity__button:hover {
    background: rgba(17,17,17,0.04) !important;
    transform: none !important;
  }
}

/* Trust pills – checkmark + sterkere styling */
.sf-product-trust {
  margin-top: 1.6rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(17,17,17,0.07);
}

.sf-product-trust__pill {
  background: rgba(255,255,255,0.9) !important;
  border: 1px solid rgba(17,17,17,0.1) !important;
  color: rgba(17,17,17,0.78) !important;
  font-size: 13px !important;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease !important;
  font-weight: 600 !important;
  gap: 6px;
  padding: 6px 12px !important;
}

.sf-product-trust__pill::before {
  content: '✓';
  font-weight: 700;
  font-size: 12px;
  color: rgba(17,17,17,0.72);
}

@media (hover: hover) {
  .sf-product-trust__pill:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,0.08) !important;
    border-color: rgba(17,17,17,0.16) !important;
  }
}

/* Low stock urgency – visueel sterker */
.product__inventory {
  font-weight: 600 !important;
  font-size: 1.35rem;
}

/* Spacing tussen productinfo-blokken */
.product__info-container > * + * {
  margin-top: 1.4rem;
}

.product__info-container .product-form {
  margin-top: 2rem;
}

/* PayPal / dynamic checkout – visueel terugzetten zodat Add to cart dominant blijft */
.shopify-payment-button {
  opacity: 0.68;
  transition: opacity 220ms ease;
}

@media (hover: hover) {
  .shopify-payment-button:hover {
    opacity: 1;
  }
}


/* Share-knop – overbodige clutter op productpagina */
.share-button,
.product__share-button {
  display: none !important;
}

/* Tax-regel – kleiner en muter, te prominent nu */
.product__tax {
  font-size: 1.2rem !important;
  color: rgba(17,17,17,0.36) !important;
  margin-top: 0.2rem !important;
}

/* SALE / SOLD OUT badges – eigen rij onder de prijs */

/* Zet de prijs-container op block zodat badges naar een eigen rij zakken */
.product .price__container {
  display: block !important;
  margin-bottom: 7px !important;
}

.product .price__badge-sale,
.product .price__badge-sold-out {
  display: inline-flex !important;
  align-items: center !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  margin-right: 5px !important;
  vertical-align: top !important;
  transition: transform 160ms cubic-bezier(0.22,1,0.36,1), box-shadow 160ms ease !important;
}

@media (hover: hover) {
  .product .price__badge-sale:hover,
  .product .price__badge-sold-out:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.18) !important;
  }
}

.field__input,
.select__select,
.customer .field input,
.customer select,
.customer textarea,
.text-area,
.quantity__input {
  border-radius: var(--sf-pill);
  border: 1px solid var(--sf-border);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: none;
}

.field__input:focus,
.select__select:focus,
.customer .field input:focus,
.customer textarea:focus,
.text-area:focus,
.quantity__input:focus {
  border-color: var(--sf-ink);
  box-shadow: 0 0 0 4px rgba(17, 17, 17, 0.06);
}

/* Header */
.section-header,
.shopify-section-header-sticky {
  z-index: 30;
}

.header-wrapper {
  background: rgba(245, 245, 242, 0.82);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(17, 17, 17, 0.05);
}

.sf-site-header {
  padding-top: 1.4rem;
  padding-bottom: 1.2rem;
}

.sf-topbar {
  display: grid;
  grid-template-columns: 180px minmax(320px, 1fr) 180px;
  gap: 1.8rem;
  align-items: center;
  padding: 0;
}

.sf-brand,
.sf-header__logo {
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--sf-ink);
  text-decoration: none;
}

.sf-search,
.sf-mobile-search {
  position: relative;
}

.sf-search::before,
.sf-mobile-search::before {
  content: '';
  position: absolute;
  inset: 50% auto auto 1.8rem;
  width: 1.5rem;
  height: 1.5rem;
  transform: translateY(-50%);
  border: 1.6px solid rgba(17,17,17,0.6);
  border-radius: 50%;
  pointer-events: none;
}

.sf-search::after,
.sf-mobile-search::after {
  content: '';
  position: absolute;
  left: 3rem;
  top: calc(50% + 0.8rem);
  width: 0.7rem;
  height: 1.6px;
  background: rgba(17,17,17,0.6);
  transform: rotate(45deg);
  transform-origin: left center;
  pointer-events: none;
}

.sf-search__input,
.sf-mobile-search__input {
  width: 100%;
  min-height: 5.2rem;
  padding: 0 1.8rem 0 5rem;
  border-radius: var(--sf-pill);
  border: 1px solid rgba(17,17,17,0.08);
  background: rgba(255,255,255,0.82);
  font-size: 1.55rem;
  color: var(--sf-ink);
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.sf-search__input:hover {
  border-color: rgba(17,17,17,0.14);
  background: rgba(255,255,255,0.95);
}

.sf-search__input:focus {
  outline: none;
  border-color: rgba(17,17,17,0.22);
  background: rgb(255,255,255);
  box-shadow: 0 0 0 3px rgba(17,17,17,0.06);
}

.sf-tools,
.sf-mobile-right,
.sf-mobile-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.sf-tool-link,
.sf-nav a,
.sf-mobile-drawer__group a {
  color: rgba(17,17,17,0.78);
  text-decoration: none;
}

.sf-icon-btn,
.sf-footer-pill,
.sf-product-trust__pill,
.sf-product-chip,
.sf-card-chip {
  border-radius: var(--sf-pill);
}

.sf-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.6rem;
  height: 4.6rem;
  border: 1px solid rgba(17,17,17,0.08);
  background: rgba(255,255,255,0.68);
  color: var(--sf-ink);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

@media (hover: hover) {
  .sf-icon-btn:hover {
    transform: translateY(-2px);
    background: #fff;
    border-color: rgba(17,17,17,0.14);
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
  }
}

.sf-cart-link {
  position: relative;
}

.sf-cart-badge {
  position: absolute;
  top: -0.2rem;
  right: -0.2rem;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.45rem;
  border-radius: 999px;
  background: var(--sf-ink);
  color: #fff;
  font-size: 1.1rem;
  line-height: 2rem;
  text-align: center;
}

.sf-nav {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.2rem;
  padding: 0.6rem 0 0.2rem;
  overflow-x: auto;
  scrollbar-width: none;
}

.sf-nav::-webkit-scrollbar {
  display: none;
}

.sf-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 4.2rem;
  padding: 0 1.4rem;
  border-radius: var(--sf-pill);
  background: rgba(255,255,255,0.56);
  border: 1px solid transparent;
  white-space: nowrap;
  font-family: "Inter", sans-serif !important; /* match the header search bar + Help button (body font) */
  font-weight: 600 !important;
}

.sf-tool-link:hover,
.sf-mobile-drawer__group a:hover {
  color: var(--sf-ink);
  background: rgba(255,255,255,0.82);
  border-color: rgba(17,17,17,0.08);
}

/* Header nav pills — refined hover (touch-only), active stays dark on hover, subtle press */
@media (hover: hover) {
  .sf-nav a:hover {
    color: var(--sf-ink);
    background: #ffffff;
    border-color: rgba(17,17,17,0.10);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  }
  /* active (aria-current) pill keeps its dark look on hover — slightly lighter for feedback */
  .sf-nav a[aria-current="page"]:hover {
    background: rgba(17,17,17,0.82);
    color: #fff;
    border-color: rgba(17,17,17,0.82);
    box-shadow: 0 3px 10px rgba(0,0,0,0.14);
  }
}
/* tactile press feedback on click/tap (works on touch too) */
.sf-nav a:active { transform: translateY(1px) scale(0.97); }

.sf-tools .sf-tool-link {
  font-weight: 600;
  font-size: 1.4rem; /* 14px — smaller than the inherited 16px so the Help link reads as a subtle utility link */
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0);
  background: rgba(255,255,255,0.56);
  box-shadow: none;
  transition: background 0.2s, transform 0.25s, box-shadow 0.25s;
}

.sf-tools .sf-tool-link:hover {
  background: rgba(255,255,255,0.82);
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(0,0,0,0.07);
}

/* ── Mobile drawer animations ── */
@keyframes sf-drawer-in {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes sf-overlay-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes sf-overlay-out {
  from { opacity: 1; }
  to   { opacity: 0; }
}

@keyframes sf-drawer-out {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(-100%);
    opacity: 0;
  }
}

@keyframes sf-drawer-item-in {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ── Mobile drawer backdrop ── */
#sf-menu-backdrop {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: min(82vw, 300px);
  z-index: 20;
  background: rgba(0, 0, 0, 0.30);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  cursor: pointer;
}

#sf-menu-backdrop.sf-menu-backdrop--open {
  display: block;
  animation: sf-overlay-in 0.3s ease forwards;
}

/* ── Mobile drawer panel ── */
body:has(.sf-mobile-menu[open]) main,
body:has(.sf-mobile-menu[open]) .shopify-section:not(:has(.sf-mobile-menu)) {
  filter: blur(6px);
  transition: filter 0.3s ease;
  pointer-events: none;
}

body:has(.sf-mobile-menu[open]) .sf-mobile-right,
body:has(.sf-mobile-menu[open]) .sf-header__logo--mobile,
body:has(.sf-mobile-menu[open]) .sf-mobile-search {
  filter: blur(6px);
  pointer-events: none;
}

details.sf-mobile-menu[open] .sf-mobile-drawer {
  animation: sf-drawer-in 0.32s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

details.sf-mobile-menu[open] .sf-mobile-drawer__group a,
details.sf-mobile-menu[open] .sf-mobile-drawer__label,
details.sf-mobile-menu[open] .sf-mobile-drawer__divider {
  opacity: 0;
  animation: sf-drawer-item-in 0.3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

details.sf-mobile-menu[open] .sf-mobile-drawer__group a:nth-child(1)  { animation-delay: 0.08s; }
details.sf-mobile-menu[open] .sf-mobile-drawer__group a:nth-child(2)  { animation-delay: 0.12s; }
details.sf-mobile-menu[open] .sf-mobile-drawer__group a:nth-child(3)  { animation-delay: 0.16s; }
details.sf-mobile-menu[open] .sf-mobile-drawer__group a:nth-child(4)  { animation-delay: 0.20s; }
details.sf-mobile-menu[open] .sf-mobile-drawer__group a:nth-child(5)  { animation-delay: 0.24s; }
details.sf-mobile-menu[open] .sf-mobile-drawer__group a:nth-child(6)  { animation-delay: 0.28s; }
details.sf-mobile-menu[open] .sf-mobile-drawer__label                 { animation-delay: 0.06s; }
details.sf-mobile-menu[open] .sf-mobile-drawer__divider               { animation-delay: 0.18s; }

.sf-mobile-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: min(82vw, 300px);
  height: 100dvh;
  z-index: 200;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #F7F7F5;
  border-right: 1px solid rgba(17, 17, 17, 0.07);
  box-shadow: 8px 0 40px rgba(0, 0, 0, 0.12);
}

/* ── Top bar ── */
.sf-mobile-drawer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.06);
  flex-shrink: 0;
}

.sf-mobile-drawer__brand {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: rgba(17, 17, 17, 0.88);
  text-decoration: none;
}

.sf-mobile-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(17, 17, 17, 0.06);
  border: none;
  cursor: pointer;
  color: rgba(17, 17, 17, 0.75);
  transition: background 0.2s ease;
  flex-shrink: 0;
}

@media (hover: hover) {
  .sf-mobile-drawer__close:hover {
    background: rgba(17, 17, 17, 0.11);
  }
}

/* ── Nav ── */
.sf-mobile-drawer__nav {
  flex: 1;
  padding: 20px 16px 32px;
  display: flex;
  flex-direction: column;
}

.sf-mobile-drawer__label {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(17, 17, 17, 0.35);
  padding: 0 10px;
  margin: 16px 0 4px;
}

.sf-mobile-drawer__label:first-child {
  margin-top: 0;
}

.sf-mobile-drawer__group a {
  display: flex;
  align-items: center;
  padding: 10px 10px;
  font-size: 1.65rem;
  font-weight: 500;
  color: rgba(17, 17, 17, 0.82);
  text-decoration: none;
  border-radius: 10px;
  transition: background 0.15s ease, color 0.15s ease;
}

@media (hover: hover) {
  .sf-mobile-drawer__group a:hover {
    background: rgba(17, 17, 17, 0.05);
    color: rgba(17, 17, 17, 1);
  }
}

.sf-mobile-drawer__group a[aria-current="page"] {
  background: rgba(17, 17, 17, 0.07);
  color: rgba(17, 17, 17, 1);
  font-weight: 600;
}

.sf-mobile-drawer__divider {
  height: 1px;
  background: rgba(17, 17, 17, 0.06);
  margin: 8px 10px;
}

/* Shop all CTA */
.sf-mobile-drawer__shop-all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 20px;
  padding: 15px 20px;
  background: rgba(17,17,17,0.92);
  color: #fff !important;
  border-radius: 14px;
  font-size: 1.55rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: -0.01em;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.sf-mobile-drawer__shop-all:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}

.sf-mobile-drawer__shop-all:active {
  opacity: 0.75;
  transform: scale(0.98);
}

/* Nav link active states */
.sf-mobile-drawer__group a,
.sf-mobile-drawer__shop-all,
.sf-mobile-drawer__close {
  -webkit-tap-highlight-color: transparent;
}

.sf-mobile-drawer__group a:active {
  background: rgba(17,17,17,0.07);
  color: rgba(17,17,17,1);
  transform: scale(0.98);
}

.sf-mobile-drawer__group a:active svg {
  opacity: 0.6;
  transform: translateX(3px);
}

.sf-mobile-drawer__close:active {
  background: rgba(17,17,17,0.10) !important;
  transform: scale(0.92);
}

/* Nav group arrows */
.sf-mobile-drawer__group a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 10px;
  font-size: 1.8rem;
  font-weight: 550;
  color: rgba(17,17,17,0.85);
  text-decoration: none;
  border-radius: 10px;
  letter-spacing: -0.01em;
  transition: background 0.15s ease, color 0.15s ease;
}

.sf-mobile-drawer__group a svg {
  opacity: 0.3;
  flex-shrink: 0;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.sf-mobile-drawer__group--small a {
  font-size: 1.5rem;
  font-weight: 500;
  color: rgba(17,17,17,0.6);
  padding: 9px 10px;
}

@media (hover: hover) {
  .sf-mobile-drawer__group a:hover {
    background: rgba(17,17,17,0.04);
    color: rgba(17,17,17,1);
  }
  .sf-mobile-drawer__group a:hover svg {
    opacity: 0.7;
    transform: translateX(2px);
  }
}

/* Footer pills */
.sf-mobile-drawer__footer {
  margin-top: auto;
  padding-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.sf-mobile-drawer__pill {
  display: inline-flex;
  align-items: center;
  font-size: 1.15rem;
  font-weight: 500;
  color: rgba(17,17,17,0.5);
  border: 1px solid rgba(17,17,17,0.10);
  border-radius: 999px;
  padding: 5px 12px;
  background: rgba(17,17,17,0.03);
  letter-spacing: 0.01em;
}

/* Scroll lock */
html:has(.sf-mobile-menu[open]),
body:has(.sf-mobile-menu[open]) {
  overflow: hidden !important;
}



/* Header visibility */
.sf-header--desktop {
  display: block;
}

.sf-header--mobile,
.sf-mobile-search {
  display: none;
}

@media screen and (max-width: 749px) {
  .sf-header--desktop {
    display: none;
  }

  .sf-header--mobile {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1.2rem;
  }

  .sf-mobile-search {
    display: block;
  }
}

/* Shared surfaces */
.card,
.product__info-container,
.collection-hero__inner,
.facets-container,
#FacetFiltersForm,
#FacetFiltersFormMobile,
.predictive-search,
.cart__footer,
.cart__items,
.footer-block--newsletter,
.sf-social-proof__quote,
.sf-stat-card,
.sf-grade-card,
.sf-most-card,
.shopify-policy__container,
.customer:not(.account) form,
.contact,
.addresses,
.account,
.order,
.main-page-title,
.related-products,
.collection,
.template-search__search,
.template-search__header,
.article-template,
.blog-articles,
.sf-feature-banner__panel,
.sf-newsletter-box {
  background: var(--sf-card);
  border: 1px solid var(--sf-border);
  border-radius: var(--sf-radius-lg);
  box-shadow: var(--sf-shadow-sm);
}

@media (hover: hover) {
  .card:hover {
    box-shadow: var(--sf-shadow-md);
  }
}

/* Collection / search */
.collection-hero__inner,
.template-search__header,
.template-search__search {
  padding: 3rem 3.2rem;
}

.collection-hero__title,
.template-search__search .title,
.title--primary {
  letter-spacing: -0.045em;
}

.facets-container,
.facets-vertical,
.product-grid-container {
  gap: 2rem;
}

.facets__form-vertical,
.facets-wrapper {
  background: rgba(255,255,255,0.64);
  border-radius: var(--sf-radius-md);
}

.product-count,
.facets__summary,
.facet-filters__label,
.facet-filters__sort {
  color: rgba(17,17,17,0.7);
}

.predictive-search {
  border-radius: 2.4rem;
  border: 1px solid rgba(17,17,17,0.08);
  overflow: hidden;
}

.predictive-search__results-groups-wrapper {
  gap: 2rem;
}

.predictive-search__list-item,
.predictive-search__item {
  border-radius: 1.6rem;
}

.predictive-search__item {
  padding: 1.2rem 1.4rem;
}

/* Product cards */
.card-wrapper .card {
  overflow: hidden;
}

.card-wrapper {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.card-wrapper {
  border-radius: 2.4rem;
}

@media (hover: hover) {
  .card-wrapper:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 44px rgba(0,0,0,0.08);
  }
}


.card__inner {
  border-radius: 2.4rem !important;
  overflow: hidden;
  isolation: isolate;
  background: #f5f5f7 !important;
}

/* Card body: white with separator, matching Most Wanted cards */
.card--standard > .card__content {
  background: #ffffff;
  border-top: 1px solid rgba(0,0,0,0.06);
}

/* Sold out / badge styling — brand black instead of theme dark navy */
.badge.color-scheme-3,
.badge--bottom-left.color-scheme-3 {
  background: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
}


.card__media .media img {
  transition: transform 500ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  mix-blend-mode: multiply;
}

@media (hover: hover) {
  .card-wrapper:hover .card__media .media img {
    transform: scale(1.07);
  }
}

.card__content {
  padding: 0.4rem 0.4rem 0.6rem;
}

.card__information {
  padding: 1.8rem 2.4rem 1.8rem !important;
}

.card-information {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  height: 100%;
}

.card-information > .price {
  margin-top: auto;
  padding-top: 0.4rem;
}

/* Hide empty vendor/caption span that creates invisible gap */
.card-information .caption-large:empty {
  display: none;
}

.sf-card-meta,
.sf-card-highlights {
  margin-left: -0.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.sf-card-meta__condition,
.sf-card-chip {
  display: inline-flex;
  align-items: center;
  min-height: 3.2rem;
  padding: 0.5rem 1rem;
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 999px;
  background: rgba(247,247,244,0.92);
  color: rgba(17,17,17,0.82);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.card__heading a {
  color: var(--sf-ink);
}

.card-information > .price,
.card-information .price {
  margin-top: 0;
}

.price__sale,
.price-item {
  font-weight: 700;
}

/* Quick add — hide only the button, keep modal element accessible in DOM */
.quick-add {
  padding: 0 !important;
  margin: 0 !important;
}

.quick-add .quick-add__submit,
.quick-add modal-opener {
  display: none !important;
}

/* Icon button inside card image */
.sf-quick-add-icon__btn .loading__spinner {
  display: none;
}

.sf-quick-add-icon__btn.loading .loading__spinner {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sf-quick-add-icon__btn.loading svg:not(.loading__spinner),
.sf-quick-add-icon__btn.loading .sf-quick-add-icon__plus {
  opacity: 0;
}

.sf-quick-add-icon {
  position: absolute;
  bottom: 1.2rem;
  right: 1.2rem;
  z-index: 10;
  opacity: 0;
  transform: scale(0.82) translateY(4px);
  transition: opacity 180ms ease, transform 180ms ease;
  pointer-events: none;
}

@media (hover: hover) {
  .card-wrapper:hover .sf-quick-add-icon {
    opacity: 1;
    transform: scale(1) translateY(0);
    pointer-events: auto;
  }


}

.sf-quick-add-icon modal-opener,
.sf-quick-add-icon product-form {
  position: relative;
  z-index: 10;
  display: block;
}

.sf-quick-add-icon__btn {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: rgba(255,255,255,0.95) !important;
  border: none !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.14);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
  padding: 0 !important;
  min-height: unset !important;
  color: #111111 !important;
}

.sf-quick-add-icon__btn:hover {
  background: #111111 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.22) !important;
  transform: scale(1.08) !important;
  color: #ffffff !important;
}

.sf-quick-add-icon__btn svg {
  width: 2.6rem;
  height: 2.6rem;
  flex-shrink: 0;
}

.sf-quick-add-icon__plus {
  position: absolute;
  top: 0.45rem;
  right: 0.45rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  background: #111111;
  color: #fff;
  width: 1.3rem;
  height: 1.3rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sf-quick-add-icon__btn:hover .sf-quick-add-icon__plus {
  background: #ffffff;
  color: #111111;
}

/* Product page */
.product {
  gap: 3rem;
}

.product-media-container.global-media-settings {
  border: none !important;
}

/* Consistente cursor op productfoto – voorkomt glitch door zoom-icon dat cursor wisselt */
.product__modal-opener--image,
.product__modal-opener--image *,
.product__modal-opener--image .product__media-toggle,
.product__modal-opener--image .product__media-toggle:hover {
  cursor: zoom-in !important;
}

/* Soepele fade-in/out voor de foto-lightbox */
.product-media-modal {
  transition:
    opacity 260ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 260ms,
    z-index 0s linear 260ms !important;
}

.product-media-modal[open] {
  transition-delay: 0s !important;
}

.product-media-modal__dialog {
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  transform: scale(0.975);
}

.product-media-modal[open] .product-media-modal__dialog {
  transform: scale(1) !important;
}

.product__media-wrapper .product__media-list,
.product__media-wrapper .slider-mobile-gutter {
  border-radius: 2.8rem;
}

.product__media-wrapper .media {
  border-radius: 2.4rem;
  overflow: hidden;
  background: rgba(255,255,255,0.72);
}

.product__info-container {
  padding: 2rem;
  position: sticky;
  top: calc(var(--header-height, 80px) + 2rem);
}

.product__title h1,
.product__title .product__title-text {
  font-size: clamp(3rem, 4vw, 5.6rem);
  line-height: 0.96;
}

.price--large .price-item--regular,
.price__sale .price-item--sale {
  font-size: clamp(2.4rem, 2.2vw, 3.2rem);
}

/* Cards: compare_at_price is our NEW-device reference price (refurbished vs new), not a sale.
   The large sale-price size above is meant for big price displays; on a collection card it made
   the price render ~28px against ~18px on every other card. Keep cards on the card scale. */
.card-information .price--on-sale .price-item--sale {
  font-size: 1.8rem;
}

/* Two lines: the New reference price and the saving share the top line, our own price sits
   underneath. Order + a full-width basis on the price forces that wrap; the visually-hidden
   a11y labels are absolutely positioned so they take no space in this flex row. */
.card-information .price--on-sale .price__sale {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem 0.8rem;
}
/* Dawn puts margin-right:10px on .price-item for its inline price list; here spacing is the
   flex gap, so that margin only pushed the Save pill visibly away from the struck price. */
.card-information .price--on-sale .sf-price-new .price-item--regular {
  margin-right: 0;
}
.card-information .price--on-sale .price__sale .sf-price-save {
  order: 1;
  position: relative;
  top: -2px; /* optical lift so the pill sits level with the struck price */
}
.card-information .price--on-sale .price__sale .price-item--sale {
  order: 2;
  flex: 0 0 100%;
}

/* ============================================================
   DISPATCH COUNTDOWN — cart drawer + cart page
   ============================================================
   Shared here rather than inside cart-drawer.liquid: that snippet only renders when
   cart_type is 'drawer', so the cart page would otherwise get the markup without styles.
   Same green as the "In stock" state on the product page, so a positive signal always
   reads the same across the site. */
.sf-cart-dispatch {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 12px;
  padding: 11px 13px;
  border-radius: 11px;
  background: rgba(17, 17, 17, 0.04);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  color: #111;
}

.sf-cart-dispatch svg {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
}

.sf-cart-dispatch strong {
  font-weight: 700;
}

.sf-cart-dispatch[data-state='today'] {
  background: oklch(0.55 0.13 150 / 0.1);
  color: oklch(0.4 0.11 150);
}

.sf-cart-dispatch[data-state='today'] svg {
  color: oklch(0.55 0.13 150);
}

.sf-cart-dispatch[hidden] {
  display: none;
}

/* ============================================================
   CART TRUST CLUSTER
   The payment-method row and the reassurance list are styled inside
   snippets/cart-drawer.liquid (the SecondFirst drawer restyle). That
   <style> block is unscoped and renders on every page, so it governs
   the cart page too — deliberately, so both look identical.
   Nothing is redefined here; only the one exception below.
   ============================================================ */

/* sf-cart-mobile.css hides the reassurance on the mobile CART PAGE on purpose (that page
   shows its own trust section). The drawer's unscoped rule would undo that, so restore it
   for the cart page only. The drawer sits outside #MainContent and keeps its own list. */
@media screen and (max-width: 749px) {
  #MainContent .sf-cart-reassurance {
    display: none;
  }
}

.sf-product-condition {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: 1rem;
  padding: 0.8rem 1.2rem;
  border-radius: var(--sf-pill);
  background: rgba(247,247,244,0.92);
  border: 1px solid rgba(17,17,17,0.08);
}

.sf-product-condition__label {
  color: rgba(17,17,17,0.5);
  font-weight: 600;
}

.sf-product-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.4rem;
}

.sf-product-trust__pill {
  display: inline-flex;
  align-items: center;
  min-height: 3.4rem;
  padding: 0.7rem 1.1rem;
  background: rgba(247,247,244,0.92);
  border: 1px solid rgba(17,17,17,0.08);
  color: rgba(17,17,17,0.78);
  font-size: 1.25rem;
  font-weight: 600;
}

.sf-product-support {
  margin-top: 1.8rem;
  padding: 1.6rem;
  border-radius: var(--sf-radius-md);
  background: rgba(247,247,244,0.9);
  border: 1px solid rgba(17,17,17,0.08);
}

.sf-product-support__title {
  margin: 0 0 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--sf-ink);
}

.sf-product-support__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0.8rem;
}

.sf-product-support__item {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  font-size: 1.35rem;
  line-height: 1.45;
  color: rgba(17,17,17,0.72);
}

.sf-product-support__item::before {
  content: '•';
  color: var(--sf-ink);
  line-height: 1;
}

.product-form__buttons {
  gap: 1rem;
}

.product__description,
.product__accordion,
.product-popup-modal__content-info {
  color: rgba(17,17,17,0.74);
}

.product__accordion .accordion__title {
  font-weight: 700;
}

/* ── You may also like heading ── */
.related-products__heading,
.related-products .accordion__title,
.complementary-products .accordion__title {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: rgba(17, 17, 17, 0.92) !important;
}

/* Collection toolbar / filters */
.facets,
.facet-filters,
.active-facets,
.facets__display,
.menu-drawer__submenu {
  border-radius: var(--sf-radius-md);
}

.active-facets__button,
.facets__selected {
  border-radius: var(--sf-pill);
}

.active-facets__button {
  background: rgba(255,255,255,0.74);
}

.product-grid-container .collection {
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* ── Cart page ─────────────────────────────────────────────────── */

/* Verberg originele footer sectie op desktop (vervangen door sidebar) */
/* Op mobiel blijft deze zichtbaar voor de sticky checkout bar */
@media screen and (min-width: 750px) {
  .cart__footer-wrapper { display: none !important; }

  /* Mobiele samenvatting + trust — alleen op mobile bedoeld, verberg op desktop */
  .sf-cart-mobile-summary,
  .sf-cart-mobile-trust {
    display: none !important;
  }
}

/* ── Header ── */
.sf-cart-header {
  background: rgba(255,255,255,0.88);
  border-radius: 30px;
  padding: 3.2rem 4rem;
  margin-bottom: 2.4rem;
}
.sf-cart-header__meta {
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(17,17,17,0.42);
  margin: 0 0 0.8rem;
}
.sf-cart-header__title {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: clamp(4rem, 6vw, 7rem) !important;
  font-weight: 700 !important;
  line-height: 0.92 !important;
  letter-spacing: -0.045em !important;
  margin: 0 0 1rem 0 !important;
  color: var(--sf-text) !important;
}
.sf-cart-header__continue {
  display: inline-block;
  margin-top: 1.2rem;
  font-size: 1.6rem;
  color: rgba(17,17,17,0.42);
  text-decoration: none;
  transition: color 200ms ease, transform 200ms ease;
}
@media (hover: hover) {
  .sf-cart-header__continue:hover {
    color: rgba(17,17,17,0.80);
    transform: translateX(-4px);
  }
}

/* ── Twee-kolom grid ── */
.sf-cart-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  align-items: start;
}
@media screen and (min-width: 990px) {
  .sf-cart-grid {
    grid-template-columns: 1fr 38rem;
  }
}

/* ── Items paneel (witte kaart) ── */
.sf-cart-panel {
  background: var(--sf-card);
  border: 1px solid var(--sf-border);
  border-radius: var(--sf-radius-lg);
  box-shadow: var(--sf-shadow-sm);
  overflow: hidden;
  backdrop-filter: blur(10px);
}

/* Tabelkoppen */
.cart-items thead tr {
  background: rgba(17,17,17,0.025);
  border-bottom: 1px solid rgba(17,17,17,0.08);
}
.cart-items th {
  padding: 1.4rem 2.4rem !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(17,17,17,0.38) !important;
  opacity: 1 !important;
}

/* Item rijen – padding op <tr> werkt niet, dus via <td> */
.cart-items .cart-item {
  margin: 0 !important;
  border-bottom: 1px solid rgba(17,17,17,0.06) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.cart-items .cart-item:last-child { border-bottom: none !important; }
.cart-items .cart-item:hover { background: rgba(17,17,17,0.012) !important; }

/* ── Cart redesign: losse productkaarten (desktop ≥750px) ── */
@media screen and (min-width: 750px) {
  /* Wrappend paneel transparant; elke kaart draagt zelf z'n oppervlak */
  cart-items .sf-cart-panel {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    overflow: visible !important;
  }

  /* Tabel → block flow */
  cart-items .cart-items { display: block; }

  /* Kolomlabels-header — zelfde grid als de kaarten zodat de koppen erboven uitlijnen */
  cart-items .cart-items thead { display: block; }
  cart-items .cart-items thead tr {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr) 120px 120px;
    column-gap: 2.4rem;
    align-items: baseline;
    background: transparent !important;
    border: none !important;
    padding: 0 calc(2.2rem + 1px) 1.4rem !important;
  }
  cart-items .cart-items thead th {
    padding: 0 !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: rgba(17,17,17,0.40) !important;
  }
  cart-items .cart-items thead th:nth-child(1) { grid-column: 1 / 3; text-align: left; }   /* PRODUCT */
  cart-items .cart-items thead th:nth-child(2) { grid-column: 3; text-align: center; }      /* QUANTITY */
  cart-items .cart-items thead th:nth-child(3) { grid-column: 4; text-align: right; }        /* TOTAL */

  /* Kaartenstapel */
  cart-items .cart-items tbody {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
  }

  /* Elke rij → losse productkaart */
  cart-items .cart-items tbody tr.cart-item {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr) 120px 120px;
    grid-template-areas: "media details qty total";
    column-gap: 2.4rem;
    align-items: center;
    margin: 0 !important;
    padding: 1.8rem 2.2rem !important;
    background: #ffffff !important;
    border: 1px solid rgba(17,17,17,0.09) !important;
    border-radius: 18px !important;
    box-shadow: 0 1px 2px rgba(17,17,17,0.04), 0 10px 24px rgba(17,17,17,0.05) !important;
    transition: transform .22s cubic-bezier(.2,.7,.3,1), box-shadow .22s, border-color .22s;
  }
  cart-items .cart-items tbody tr.cart-item:hover {
    transform: translateY(-2px);
    background: #ffffff !important;
    border-color: rgba(17,17,17,0.14) !important;
    box-shadow: 0 2px 4px rgba(17,17,17,0.05), 0 18px 40px rgba(17,17,17,0.09) !important;
  }

  /* Cellen → grid children */
  cart-items .cart-items tr.cart-item > td {
    display: block;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
  }
  cart-items .cart-items tr.cart-item > td.cart-item__media    { grid-area: media;   align-self: center; }
  cart-items .cart-items tr.cart-item > td.cart-item__details  { grid-area: details; align-self: center; padding-right: 1rem; }
  cart-items .cart-items tr.cart-item > td.cart-item__totals   { grid-area: total;   justify-self: end;    align-self: center; text-align: right; }
  cart-items .cart-items tr.cart-item > td.cart-item__quantity { grid-area: qty;     justify-self: center; align-self: center; }

  /* Thumbnail — geen tegel: foto staat direct op de witte kaart (wit-op-wit → geen zichtbaar vierkant) */
  cart-items .cart-item__image-container {
    width: 104px !important;
    height: 104px !important;
    min-width: 104px !important;
    border-radius: 14px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  /* Prijsblok */
  cart-items .cart-item__totals .cart-item__price-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    line-height: 1.15;
  }
  cart-items .cart-item__totals .price {
    font-family: "Space Grotesk", sans-serif !important;
    font-size: 1.8rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em;
    color: #111 !important;
  }

  /* Loading-spinner over de prijs centreren (Dawn's table-positie klopt niet in de kaart;
     spin-animatie zit op de <svg>.spinner, dus transform op de container is veilig) */
  cart-items .cart-item__totals .loading__spinner {
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    padding: 0;
    transform: translate(-50%, -50%);
  }

  /* Quantity stepper → pill */
  cart-items .cart-item__quantity .quantity.cart-quantity {
    display: inline-flex;
    align-items: center;
    background: #f8f8f5;
    border: 1px solid rgba(17,17,17,0.09);
    border-radius: 999px;
    padding: 3px;
    width: auto;
    min-width: 0;
  }
  cart-items .cart-item__quantity .quantity__button {
    width: 3rem;
    height: 3rem;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: rgba(17,17,17,0.6);
    transition: background .15s, color .15s, box-shadow .15s;
  }
  cart-items .cart-item__quantity .quantity__button:hover {
    background: #fff;
    color: #111;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  }
  cart-items .cart-item__quantity .quantity__input {
    width: 3.2rem;
    min-width: 0;
    background: transparent;
    border: none;
    font-weight: 600;
    color: #111;
  }
}

/* Zijdelingse padding via eerste en laatste td */
.cart-items td {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}
.cart-items .cart-item__media {
  padding-left: 2.4rem !important;
  padding-right: 0 !important;
}
.cart-items .cart-item__totals {
  padding-right: 2.4rem !important;
}

/* Product afbeelding – groter, geen kader */
.cart-item__image-container {
  width: 110px !important;
  height: 110px !important;
  min-width: 110px !important;
  border-radius: 1rem !important;
  overflow: hidden;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Mobile override — sf-cart-mobile.css laadt eerder, dus hier forceren */
@media screen and (max-width: 749px) {
  .cart-item__image-container {
    width: 90px !important;
    height: 90px !important;
    min-width: 90px !important;
    min-height: 90px !important;
    max-width: 90px !important;
    background: transparent !important;
    background-image: none !important;
  }
}
.cart-item__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transition: transform 0.35s ease;
}

@media (hover: hover) {
  .cart-item__image-container:hover .cart-item__image {
    transform: scale(1.06);
  }
}

/* Product naam – Space Grotesk passend bij product cards op collection pages */
.cart-item__name,
.cart-item__name a {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: var(--sf-text) !important;
  margin-bottom: 0.4rem !important;
}

/* Recommendation card namen – zelfde als collection card titles */
.sf-cart-rec-card__name {
  font-family: "Space Grotesk", sans-serif !important;
  font-weight: 600 !important;
}

/* Attributen (kleur, maat) */
.sf-cart-item__attrs {
  margin: 0.4rem 0 0.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 1.2rem;
}
.sf-cart-item__attr {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
  font-size: 1.2rem;
  color: rgba(17,17,17,0.45);
}
/* Reset browser-default dd margin (anders ~40px spatie voor de waarde) */
.sf-cart-item__attr dt,
.sf-cart-item__attr dd {
  margin: 0;
  padding: 0;
}
.sf-cart-item__attr dt {
  color: rgba(17,17,17,0.35);
  font-weight: 400;
}
.sf-cart-item__attr dt { font-weight: 500; }

/* Conditie badge */
.sf-cart-condition-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.25rem 0.9rem;
  background: #EEF5F1;
  color: #2A7A4B;
  border-radius: 9999px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0.4rem 0 0.6rem;
}
.sf-cart-condition-badge__dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

/* Doorgestreepte originele prijs */
.sf-cart-item__original-price {
  display: block;
  font-size: 1.2rem;
  color: rgba(17,17,17,0.38);
  text-decoration: line-through;
}

/* Verwijder link */
.sf-cart-item__remove {
  display: inline-block;
  margin-top: 0.6rem;
  font-size: 1.1rem;
  color: rgba(17,17,17,0.38);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  cursor: pointer;
  transition: color 0.2s;
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
}
.sf-cart-item__remove:hover { color: #cc2222; }

/* ── Sidebar (order summary) ── */
.sf-cart-sidebar { position: relative; }
.sf-cart-sidebar--hidden { display: none; }

@media screen and (min-width: 990px) {
  .sf-cart-sidebar {
    position: sticky;
    top: 8rem;
  }
}

.sf-cart-sidebar__inner {
  background: var(--sf-card);
  border: 1px solid var(--sf-border);
  border-radius: var(--sf-radius-lg);
  box-shadow: var(--sf-shadow-sm);
  backdrop-filter: blur(10px);
  padding: 2.8rem;
}

.sf-cart-sidebar__heading {
  font-family: Inter, sans-serif !important;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(17,17,17,0.4);
  margin: 0 0 2rem;
}

.sf-cart-sidebar__lines {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-bottom: 1.6rem;
}
.sf-cart-sidebar__line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: Inter, sans-serif;
  font-size: 1.4rem;
  color: rgba(17,17,17,0.7);
}
.sf-cart-sidebar__line--savings {
  color: #2A7A4B;
  font-weight: 500;
}
.sf-cart-sidebar__shipping { color: rgba(17,17,17,0.42); }

.sf-cart-sidebar__divider {
  height: 1px;
  background: rgba(17,17,17,0.08);
  margin: 1.6rem 0;
}

.sf-cart-sidebar__total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 0.6rem;
}
.sf-cart-sidebar__total-label {
  font-family: Inter, sans-serif;
  font-size: 1.35rem;
  font-weight: 600;
  color: rgba(17,17,17,0.55);
}
.sf-cart-sidebar__total-value {
  font-family: "Space Grotesk", sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--sf-text);
}
.sf-cart-sidebar__tax {
  font-family: Inter, sans-serif;
  font-size: 1.1rem;
  color: rgba(17,17,17,0.38);
  margin: 0 0 2rem;
  display: block;
}

.sf-cart-sidebar__checkout {
  display: block;
  width: 100%;
  padding: 1.5rem 2rem;
  background: #111;
  color: #fff;
  border: none;
  border-radius: 1rem;
  font-size: 1.5rem;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  transition: background 0.2s, transform 0.15s;
  min-height: 5rem;
}
.sf-cart-sidebar__checkout:hover { background: rgba(17,17,17,0.85); transform: translateY(-1px); }
.sf-cart-sidebar__checkout:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }

.sf-cart-sidebar__or {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1.4rem 0;
  color: rgba(17,17,17,0.35);
  font-size: 1.2rem;
}
.sf-cart-sidebar__or::before,
.sf-cart-sidebar__or::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(17,17,17,0.1);
}

.sf-cart-sidebar__dynamic { margin-bottom: 0.4rem; }
.sf-cart-sidebar__dynamic .shopify-payment-button__button { border-radius: 1rem !important; }

.sf-cart-sidebar__trust {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  margin-top: 2rem;
  padding-top: 1.8rem;
  border-top: 1px solid rgba(17,17,17,0.08);
}
.sf-cart-sidebar__trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-size: 1.25rem;
  color: rgba(17,17,17,0.65);
  background: #ffffff;
  border: 1px solid rgba(17,17,17,0.10);
  padding: 5px 12px 5px 6px;
  border-radius: 999px;
  align-self: flex-start;
  transition: background 200ms ease, border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
  cursor: default;
}
.sf-cart-sidebar__trust-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 50%;
  background: #EEF5F1;
  color: #2A7A4B;
  font-size: 1rem;
  font-weight: 700;
  transition: transform 200ms ease, box-shadow 200ms ease;
}
@media (hover: hover) {
  .sf-cart-sidebar__trust-item:hover {
    background: #f5f5f3;
    border-color: rgba(17,17,17,0.15);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.07);
  }
  .sf-cart-sidebar__trust-item:hover .sf-cart-sidebar__trust-icon {
    transform: scale(1.12);
    box-shadow: 0 3px 10px rgba(0,0,0,0.18);
  }
}

/* ── Aanbevelingen ── */
.sf-cart-recs {
  margin-top: 3.2rem;
}
.sf-cart-recs__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 1.6rem;
}
.sf-cart-recs__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--sf-text);
}
.sf-cart-recs__viewall {
  font-size: 1.3rem;
  color: rgba(17,17,17,0.45);
  text-decoration: none;
  transition: color 0.2s;
}
.sf-cart-recs__viewall:hover { color: rgba(17,17,17,0.8); }

.sf-cart-recs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}
.sf-cart-rec-card {
  background: var(--sf-card);
  border: 1px solid var(--sf-border);
  border-radius: 1.2rem;
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  will-change: transform;
}
@media (hover: hover) {
  .sf-cart-rec-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.08);
  }
}

.sf-cart-rec-card__img-wrap {
  aspect-ratio: 1;
  background: rgba(17,17,17,0.04);
  border-radius: 0.8rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.sf-cart-rec-card__badge {
  position: absolute;
  top: 0.6rem;
  left: 0.6rem;
  background: #111110;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.3rem 0.8rem;
  border-radius: 100px;
}
.sf-cart-rec-card.is-sold-out .sf-cart-rec-card__img-wrap img { opacity: 0.5; }
.sf-cart-rec-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sf-cart-rec-card__info { flex: 1; }
.sf-cart-rec-card__name {
  display: block;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--sf-text);
  text-decoration: none;
  margin-bottom: 0.2rem;
  line-height: 1.3;
}
.sf-cart-rec-card__spec {
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
  color: rgba(17, 17, 17, 0.45);
  margin-bottom: 0.4rem;
}
.sf-cart-rec-card__price {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  font-size: 1.6rem;
}
.sf-cart-rec-card__price-sale { font-weight: 600; color: var(--sf-text); }
.sf-cart-rec-card__price-original {
  font-size: 1.1rem;
  color: rgba(17,17,17,0.38);
  text-decoration: line-through;
}
.sf-cart-rec-card__btn {
  width: 100%;
  padding: 0.9rem;
  background: #111110;
  color: #fff;
  border: none;
  border-radius: 0.8rem;
  font-size: 1.25rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s, opacity 0.2s;
}
.sf-cart-rec-card__btn:hover {
  background: #333;
  color: #fff;
  border-color: #333;
}
.sf-cart-rec-card__btn[disabled] {
  background: rgba(17,17,17,0.12);
  color: rgba(17,17,17,0.5);
  cursor: not-allowed;
}
.sf-cart-rec-card__btn[disabled]:hover { background: rgba(17,17,17,0.12); color: rgba(17,17,17,0.5); }

/* Lege winkelwagen */
.sf-cart-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  padding: 6rem 2rem;
  text-align: center;
}
.sf-cart-empty-state__text {
  font-size: 1.6rem;
  color: rgba(17,17,17,0.48);
  margin: 0;
}
.sf-cart-empty-state__login {
  font-size: 1.4rem;
  color: rgba(17,17,17,0.42);
  margin: 0;
}
.sf-cart-empty-state .button,
.sf-cart-empty-state .button::before,
.sf-cart-empty-state .button::after {
  border-radius: 100px;
}
.sf-cart-empty-state .button {
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.sf-cart-empty-state .button:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

/* Verberg de cart__items card-stijl (nu in sf-cart-panel) */
.cart__items {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Verberg oude title wrapper */
.cart-items .title-wrapper-with-link { display: none; }

/* Footer / newsletter */
.footer {
  background: var(--sf-bg);
  border-top-color: rgba(17,17,17,0.06);
}

.sf-footer-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
  gap: 2.4rem;
  align-items: start;
}

.sf-footer-intro__heading {
  max-width: 12ch;
  margin: 0;
  letter-spacing: -0.05em;
  line-height: 0.95;
}

.sf-footer-intro__text {
  max-width: 32ch;
  margin-top: 1.4rem;
}

.sf-footer-intro__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: flex-end;
}

.sf-footer-pill {
  min-height: 4.8rem;
  padding: 0 1.8rem;
  border: 1px solid rgba(17,17,17,0.08);
  background: rgba(255,255,255,0.6);
  color: rgba(17,17,17,0.78);
  font-weight: 700;
}

.footer-block--newsletter {
  padding: 3rem;
  margin-top: 3rem;
}

.footer-block__newsletter {
  max-width: 100%;
}

.footer-block__heading {
  margin-bottom: 0.8rem;
}

.sf-footer-newsletter__subtext {
  max-width: 44ch;
}

.newsletter-form__field-wrapper {
  margin-top: 2rem;
  max-width: 58rem;
}

.newsletter-form__field-wrapper .field {
  display: flex;
  align-items: center;
  min-height: 6rem;
  padding: 0.6rem;
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(17,17,17,0.12);
  border-radius: var(--sf-pill);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.3);
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.newsletter-form__field-wrapper .field:hover {
  background: rgba(255,255,255,0.98);
  border-color: rgba(17,17,17,0.22);
  transform: translateY(-1px);
}

.newsletter-form__field-wrapper .field::after,
.newsletter-form__field-wrapper .field:before {
  display: none !important;
}

.newsletter-form__field-wrapper .field__input {
  flex: 1;
  min-height: 4.8rem;
  padding: 0 1.8rem;
  border: 0;
  background: transparent;
  box-shadow: none !important;
}

.newsletter-form__field-wrapper .field__label {
  display: none;
}

.newsletter-form__field-wrapper .field__input::placeholder {
  opacity: 1;
  color: rgba(17,17,17,0.44);
}

.newsletter-form__button,
.newsletter-form__button.field__button {
  position: static;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 999px;
  background: var(--sf-ink);
  color: #fff;
  flex: 0 0 4.8rem;
}

.newsletter-form__button .svg-wrapper {
  width: 1.8rem;
  height: 1.8rem;
}

.footer__content-bottom-wrapper {
  gap: 1.8rem;
}

.footer__copyright,
.footer__payment,
.footer__list-social {
  color: rgba(17,17,17,0.6);
}

/* Forms and utility pages */
.customer:not(.account) form,
.contact,
.addresses,
.account,
.order,
.shopify-policy__container {
  padding: 2.4rem;
}

.form__message,
.customer .form__message {
  border-radius: var(--sf-radius-sm);
}

.pagination__item,
.facets__label,
.select__select,
.quantity:after,
.quantity:before {
  border-radius: var(--sf-pill);
}

/* Pagination */
.pagination__list {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  padding: 2rem 0 !important;
}

.pagination__list > li {
  flex: 0 0 auto !important;
  max-width: none !important;
  margin-right: 0 !important;
}

.pagination__item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 4rem !important;
  height: 4rem !important;
  padding: 0 1.3rem !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.65) !important;
  background: rgba(255,255,255,0.7) !important;
  border: 1.5px solid rgba(17,17,17,0.1) !important;
  border-radius: 10px !important;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease !important;
  text-decoration: none !important;
}

/* Remove Dawn's underline ::after on pagination items */
.pagination__item::after,
a.pagination__item::after,
.pagination__item--current::after {
  display: none !important;
  content: none !important;
}

.pagination__item:hover {
  background: rgba(255,255,255,0.95) !important;
  border-color: rgba(17,17,17,0.18) !important;
  color: rgba(17,17,17,0.9) !important;
  transform: translateY(-1px) !important;
}

/* Arrow buttons (prev / next) */
.pagination__item-arrow {
  padding: 0 1.1rem !important;
}

.pagination__item-arrow .icon-caret {
  width: 1rem !important;
  height: 1rem !important;
}

.pagination__item--next .icon-caret {
  transform: rotate(90deg) !important;
}

.pagination__item--prev .icon-caret {
  transform: rotate(-90deg) !important;
}

.pagination__item--next:hover .icon-caret {
  transform: rotate(90deg) !important;
}

.pagination__item--prev:hover .icon-caret {
  transform: rotate(-90deg) !important;
}

/* Active / current page */
.pagination__item--current {
  background: #111111 !important;
  color: #ffffff !important;
  border-color: #111111 !important;
  font-weight: 700 !important;
  cursor: default !important;
  transform: none !important;
}

.pagination__item--current:hover {
  background: #111111 !important;
  border-color: #111111 !important;
  color: #ffffff !important;
  transform: none !important;
}

/* Homepage custom sections */
.sf-most-wanted__grid,
.sf-social-proof__grid,
.sf-grading-system__grid {
  gap: 2rem;
}

.sf-most-card,
.sf-grade-card,
.sf-stat-card,
.sf-social-proof__quote {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  will-change: transform;
}

@media (hover: hover) {
  .sf-most-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.08);
  }
  .sf-most-card:hover .sf-most-card__image {
    transform: scale(1.07);
  }
  .sf-grade-card:hover,
  .sf-stat-card:hover {
    transform: translateY(-3px);
  }
}

.sf-most-card__media {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,247,244,0.94));
  overflow: hidden;
}

.sf-most-card__image {
  transition: transform 500ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.sf-catgrid__card,
.sf-trust-strip__item,
.sf-feature-banner__panel,
.sf-newsletter-box {
  border-radius: var(--sf-radius-lg);
  border: 1px solid rgba(17,17,17,0.06);
  box-shadow: var(--sf-shadow-sm);
}

/* Responsive */
@media screen and (max-width: 989px) {
  .product__info-container {
    position: static;
    top: auto;
  }

  .sf-topbar {
    grid-template-columns: 1fr;
  }

  .sf-footer-intro {
    grid-template-columns: 1fr;
  }

  .sf-footer-intro__trust {
    justify-content: flex-start;
  }
}

@media screen and (max-width: 749px) {
  .page-width {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }

  .sf-site-header {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .sf-mobile-search {
    margin-top: 1rem;
  }

  .sf-mobile-search__input {
    min-height: 4.8rem;
  }

  .sf-footer-intro__heading {
    max-width: 10ch;
    font-size: clamp(3.4rem, 10vw, 5.6rem);
  }

  .footer-block--newsletter {
    padding: 2rem;
  }

  .newsletter-form__field-wrapper .field {
    min-height: 5.6rem;
  }

  .newsletter-form__field-wrapper .field__input {
    padding-left: 1.4rem;
    padding-right: 1rem;
  }

  .sf-product-support__grid {
    grid-template-columns: 1fr;
  }

  .sf-product-trust,
  .sf-card-highlights,
  .sf-card-meta {
    gap: 0.6rem;
  }

  .sf-nav {
    display: none;
  }
}


/* SOURCE: sf-page-refine.css */

/* SECOND FIRST — refined non-home pages */

.collection-hero {
  background: transparent !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.06);
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}


.collection-hero__inner.page-width {
  display: grid;
  grid-template-columns: 1fr 38%;
  align-items: center;
  gap: 3.2rem;
  padding-top: 1.8rem;
  padding-bottom: 1.8rem;
}

/* Fallback: single column when no image */
.collection-hero__inner.page-width:not(:has(.collection-hero__image-container)) {
  grid-template-columns: minmax(0, 1fr);
}

.collection-hero__image-container {
  border-radius: 1.6rem;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: transparent !important;
  border: 0 !important;
}

.collection-hero__image-container img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

@media screen and (max-width: 989px) {
  .collection-hero__inner.page-width {
    grid-template-columns: minmax(0, 1fr);
  }
  .collection-hero__image-container {
    display: none;
  }
}

.collection-hero__text-wrapper {
  max-width: 72rem;
}

.collection-hero__meta {
  display: inline-flex;
  align-items: center;
  min-height: 3.2rem;
  margin: 0 0 1.2rem;
  padding: 0 1.2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(17, 17, 17, 0.08);
  color: rgba(17, 17, 17, 0.5);
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.collection-hero__title {
  margin: 0;
  font-family: "Space Grotesk", sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(4.6rem, 7vw, 8.4rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
}

.collection-hero__description {
  /* !important: component-collection-hero.css loads later AND has a higher-specificity
     rule (.collection-hero__title + .collection-hero__description) that otherwise wins. */
  max-width: 60ch !important;  /* was 34ch — readable line length for a full SEO description */
  margin-top: 1.4rem;
  font-size: 1.6rem !important; /* was a 1.9–2.2rem tagline size — body size suits a real paragraph */
  line-height: 1.6;
  color: rgba(17, 17, 17, 0.64);
}

.collection-hero__meta-list {
  display: none !important;
}

.facets-wrapper,
.facets-container,
#FacetFiltersForm,
#FacetFiltersFormMobile,
.template-search__header,
.template-search__search {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.facets-wrapper {
  margin-top: 0 !important;
}

.facets-container {
  padding: 0 0 1.2rem !important;
  gap: 1.2rem !important;
  align-items: center;
}

.facets-wrapper--no-filters #FacetsWrapperDesktop,
.facets-wrapper--no-filters .active-facets,
.facets-wrapper--no-filters .active-facets-mobile,
.facets-wrapper--no-filters .facets__heading {
  display: none !important;
}

.facets__form,
.facets__form-vertical {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.2rem;
}

.facet-filters {
  margin-left: auto !important;
}

.facet-filters__label {
  margin-right: 0.8rem;
  color: rgba(17, 17, 17, 0.56);
}

.facet-filters__field .select,
.facet-filters__sort,
.product-count {
  border-radius: 999px !important;
}

/* Sort by: label + select together in one pill (zelfde hoogte/rand als de filter-pills) */
.facet-filters__field {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(17, 17, 17, 0.16);
  border-radius: 999px;
  padding: 0 1.6rem;
  min-height: 3.5rem;
  gap: 0;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.facet-filters__field:hover {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(17, 17, 17, 0.18);
  transform: translateY(-1px);
}

.facet-filters__field .select {
  background: transparent;
  border: 0;
  min-height: unset;
  padding: 0;
}

.facet-filters__sort {
  border: 0 !important;
  background: transparent !important;
  padding: 0 2rem 0 0.4rem !important;
  cursor: pointer;
  font-weight: 500;
}

.product-count {
  display: inline-flex;
  align-items: center;
  min-height: 3.5rem;
  padding: 0 1.5rem;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(17, 17, 17, 0.08);
  font-weight: 500;
  color: rgba(17,17,17,0.6);
}

.product-grid-container .collection,
.template-search__results.collection {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.collection .grid,
.template-search .grid {
  row-gap: 3rem !important;
  column-gap: 2rem !important;
}

/* Fix 4-col grid item width — Dawn generates calc(25% - 6px) but gap is 20px so correct offset is 15px */
@media screen and (min-width: 990px) {
  .collection .grid--4-col-desktop > .grid__item,
  .template-search .grid--4-col-desktop > .grid__item {
    max-width: calc(25% - 15px) !important;
  }
}

/* Force 2-col grid on mobile with 1rem gap */
@media screen and (max-width: 749px) {
  .collection .grid,
  .template-search .grid {
    column-gap: 1rem !important;
  }
  .collection .product-grid > .grid__item,
  .template-search .product-grid > .grid__item {
    width: calc(50% - 0.5rem) !important;
    max-width: calc(50% - 0.5rem) !important;
  }
}

.template-search__header {
  padding-top: 1rem;
}

.template-search__title {
  font-size: clamp(3.2rem, 5vw, 5.4rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.template-search__summary {
  color: rgba(17, 17, 17, 0.62);
  font-size: 1.8rem;
  line-height: 1.5;
}

.template-search__search .search .field {
  position: relative;
}

.template-search__search .search__input {
  min-height: 5.8rem;
  border-radius: 999px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  background: rgba(255, 255, 255, 0.82);
  padding-left: 2rem;
  padding-right: 6rem;
}

.template-search__search .search__button {
  right: 0.6rem;
  width: 4.6rem;
  height: 4.6rem;
  top: 0.6rem;
  border-radius: 999px;
  background: #111;
  color: #fff;
}

.template-search__search .field:after,
.template-search__search .field:hover.field:after {
  box-shadow: none !important;
}

.template-search .card__content {
  padding-top: 1.2rem !important;
}

.card__heading {
  font-size: 1.9rem;
  line-height: 1.12;
}

.sf-card-meta {
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

.sf-card-meta__condition,
.sf-card-chip {
  min-height: 3rem;
  padding: 0 1rem;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 989px) {
  .collection-hero__inner.page-width {
    padding-top: 3rem;
    padding-bottom: 2.6rem;
  }

  .collection-hero__description {
    max-width: 100%;
    font-size: 1.8rem;
  }

  .facets-container {
    padding-bottom: 0.8rem !important;
  }
}

.sf-cart-link {
  position: relative;
}

.sf-cart-badge {
  position: absolute;
  top: 0.1rem;
  right: 0.1rem;
  min-width: 1.9rem;
  height: 1.9rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  background: #111;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
}

.sf-cart-badge.is-hidden {
  display: none;
}


/* SOURCE: sf-home.css */

/* =========================
   Second First – Home Sections
========================= */

.sf-catgrid {
  padding: 72px 0 28px;
  background: #F7F7F5;
}

.sf-catgrid__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.sf-catgrid__heading {
  margin: 0 0 28px;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(2rem, 3.4vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  color: rgba(0,0,0,0.95);
}

.sf-catgrid__intro {
  margin: -8px 0 28px;
  max-width: 42ch;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(0,0,0,0.6);
}

.sf-catgrid__hint {
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
}

@media (hover: hover) {
  .sf-catgrid__hint:hover {
    background: rgba(0,0,0,0.06) !important;
    border-color: rgba(0,0,0,0.16) !important;
    color: rgba(0,0,0,0.95) !important;
  }
}

.sf-catgrid__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.sf-catcard {
  display: block;
  min-height: 320px;
  padding: 28px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 28px;
  box-shadow: 0 16px 44px rgba(0,0,0,0.05);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

@media (hover: hover) {
  .sf-catcard:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 58px rgba(0,0,0,0.09);
    border-color: rgba(0,0,0,0.08);
  }
}

.sf-catcard__media {
  height: 210px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 22px;
  background: #EAE4DC;
}

.sf-catcard--blue .sf-catcard__media {
  background: #E3EBF5;
}

.sf-catcard--lime .sf-catcard__media {
  background: #E3EF8B;
}

.sf-catcard__img {
  width: 100%;
  height: 176px;
  object-fit: contain;
  display: block;
}

.sf-catcard__img--placeholder {
  width: 100%;
  height: 176px;
  border-radius: 18px;
  background: rgba(0,0,0,0.04);
}

.sf-catcard__body {
  padding: 20px 4px 2px;
}

.sf-catcard__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.sf-catcard__title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  color: rgba(0,0,0,0.95);
}

.sf-catcard__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: auto;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: rgba(0,0,0,0.05);
  color: rgba(0,0,0,0.85);
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 220ms ease, transform 220ms ease, background 220ms ease;
}

@media (hover: hover) {
  .sf-catcard:hover .sf-catcard__arrow {
    opacity: 1;
    transform: translateX(0);
    background: rgba(0,0,0,0.92);
    color: #fff;
  }
}

/* Touch devices: arrow altijd zichtbaar, maar subtiel (geen donkere fill) */
@media (hover: none) {
  .sf-catcard__arrow {
    opacity: 1;
    transform: translateX(0);
    background: transparent;
    color: rgba(0,0,0,0.32);
  }
}

.sf-catcard__sub-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
}

.sf-catcard__subtitle {
  max-width: 26ch;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(0,0,0,0.58);
}

.sf-catcard__badge {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.55);
  border: 1px solid rgba(0,0,0,0.1);
  padding: 6px 10px;
  border-radius: 999px;
  white-space: nowrap;
}

.sf-catcard.is-soon {
  opacity: 0.94;
}

.sf-catcard.is-soon:hover {
  transform: translateY(-3px);
}

@media (max-width: 989px) {
  .sf-catgrid {
    padding: 64px 0 20px;
  }

  .sf-catgrid__grid {
    gap: 18px;
  }

  .sf-catcard {
    min-height: 288px;
    padding: 22px;
    border-radius: 24px;
  }

  .sf-catcard__media {
    height: 190px;
  }

  .sf-catcard__title {
    font-size: 26px;
  }

  .sf-catcard__arrow {
    width: 32px;
    height: 32px;
  }

  .sf-catcard__arrow svg {
    width: 18px;
    height: 18px;
  }
}

@media (max-width: 749px) {
  .sf-catgrid {
    padding: 28px 0 12px;
  }

  .sf-catgrid__inner {
    padding: 0 16px;
  }

  .sf-catgrid__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .sf-catcard {
    min-height: 0;
    padding: 14px;
    border-radius: 20px;
  }

  .sf-catcard__media {
    height: 110px;
    border-radius: 14px;
  }

  .sf-catcard__img {
    height: 88px;
  }

  .sf-catcard__body {
    padding: 14px 2px 2px;
  }

  .sf-catcard__title {
    font-size: 20px;
  }

  .sf-catcard__subtitle {
    display: none;
  }

  .sf-catcard__body {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 10px;
    align-items: center;
  }

  .sf-catcard__title-row { grid-column: 1; }

  .sf-catcard__sub-row {
    grid-column: 2;
    margin-top: 0;
  }

  .sf-catcard__arrow {
    width: 22px;
    height: 22px;
  }

  .sf-catcard__arrow svg {
    width: 14px;
    height: 14px;
    stroke-width: 1.6;
  }

  .sf-catgrid__hint {
    font-size: 12px !important;
    padding: 5px 10px !important;
    margin: -4px 0 20px !important;
  }

  .sf-catgrid__hint svg {
    width: 11px !important;
    height: 11px !important;
  }
}

  .sf-catcard--lime .sf-catcard__media {
    padding: 0 10px;
  }

  .sf-catcard--lime .sf-catcard__img {
    max-width: 88%;
  }
}


/* SOURCE: sf-trust-card-hover.css */
/* === TRUST CARDS HOVER — PREMIUM === */

.sf-trust-card {
  transition: transform 0.25s ease,
              box-shadow 0.25s ease,
              border-color 0.25s ease,
              background 0.25s ease;
  border: 1px solid #e5e5e5;
  will-change: transform;
}

.sf-trust-card:hover {
  transform: translateY(-6px);
  border-color: #d0d0d0;
  background: #ffffff;
  box-shadow:
    0 12px 28px rgba(0,0,0,0.06),
    0 2px 6px rgba(0,0,0,0.04);
}

.sf-trust-card:active {
  transform: translateY(-2px);
}


/* Final polish */
.header-wrapper { box-shadow: 0 1px 0 rgba(17,17,17,0.04); }
.sf-site-header { padding-top: 1.2rem; padding-bottom: 1.2rem; }
.sf-nav { margin-top: 1rem; }
.sf-nav a, .sf-mobile-drawer__group a { transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.card-wrapper .card,
.cart__items,
.cart__footer,
.product__info-container,
.predictive-search,
.customer form,
.addresses,
.account,
.order,
.contact,
.article-template,
.blog-articles { backdrop-filter: blur(10px); }
.card-wrapper .card { height: 100%; }
.card__information { display: grid; gap: .4rem; align-content: start; }
.card__heading a, .full-unstyled-link { text-underline-offset: .2em; }
.price-item--regular, .price-item--sale, .price-item { letter-spacing: -.02em; font-size: 1.8rem; font-weight: 700; }
.facets-container, .active-facets { align-items: center; }
.product-form__input--pill input[type='radio'] + label,
.product-form__input input[type='radio'] + label,
.swatch-input__input + .swatch-input__label {
  border-radius: var(--sf-pill);
}
.product-form__input--pill input[type='radio']:checked + label,
.product-form__input input[type='radio']:checked + label {
  background: rgba(17,17,17,0.92);
  color: #fff;
  border-color: rgba(17,17,17,0.92);
}
.product__description, .accordion__content, .rte { color: rgba(17,17,17,0.72); }
.main-cart-items .cart-item__details *, .cart__footer * { color: inherit; }
.sf-most-card__meta, .sf-most-card__title, .sf-most-card__price { text-align: left; }
.sf-trust-strip__item, .sf-footer-pill, .sf-product-trust__pill { justify-content: center; }
.footer { margin-top: 4rem; }
.footer:not(.color-scheme-1) { background: transparent; }
.section-sections--footer-group { padding-bottom: 3rem; }


/* ============================================================
   QUICK-ADD MODAL — PREMIUM STYLING
   ============================================================ */

/* Remove rectangle border from info container */
.quick-add-modal__content .product__info-container {
  border: none !important;
  box-shadow: none !important;
}

/* 1. Price — 20% bigger, more spacing */
.quick-add-modal__content .price-item--regular,
.quick-add-modal__content .price-item--sale {
  font-size: 2.8rem !important;
  letter-spacing: -0.03em !important;
}

.quick-add-modal__content .price {
  margin-bottom: 1.6rem !important;
}

/* 2. Add to cart — solid black, no border */
.quick-add-modal__content .product-form__submit {
  background: #111111 !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  min-height: 5.2rem !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  border-radius: var(--sf-pill) !important;
  transition: background 160ms ease, transform 160ms ease !important;
}

.quick-add-modal__content .product-form__submit:hover {
  background: #2a2a2a !important;
  transform: translateY(-1px) !important;
}

/* PayPal — smaller, secondary feel */
.quick-add-modal__content .shopify-payment-button__button--branded {
  border-radius: var(--sf-pill) !important;
  min-height: 4.4rem !important;
  opacity: 0.85 !important;
  transition: opacity 160ms ease !important;
}

.quick-add-modal__content .shopify-payment-button__button--branded:hover {
  opacity: 1 !important;
}

.quick-add-modal__content .shopify-payment-button__more-options {
  font-size: 1.2rem !important;
  color: rgba(17,17,17,0.4) !important;
}

/* 4. Color swatches — ring bij selectie, hover effect */
.quick-add-modal__content .swatch-input__label {
  transition: transform 160ms ease, box-shadow 160ms ease !important;
}

.quick-add-modal__content .swatch-input__label:hover {
  transform: scale(1.1) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}

.quick-add-modal__content .swatch-input__input:checked + .swatch-input__label {
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #111111 !important;
  transform: scale(1.08) !important;
}

/* 5. Storage pills — selected state, disabled duidelijk */
.quick-add-modal__content .product-form__input--pill input[type='radio'] + label {
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, color 160ms ease !important;
}

.quick-add-modal__content .product-form__input--pill input[type='radio'] + label:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px rgba(0,0,0,0.1) !important;
}

.quick-add-modal__content .product-form__input--pill input[type='radio']:checked + label {
  box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
  transform: translateY(-1px) scale(1.02) !important;
}

.quick-add-modal__content .product-form__input--pill input[type='radio']:disabled + label {
  opacity: 0.3 !important;
  text-decoration: line-through !important;
}

/* 10. Trust — subtiele scheiding, direct zichtbaar */
.quick-add-modal__content .sf-product-trust {
  padding-top: 1.4rem !important;
  border-top: 1px solid rgba(17,17,17,0.07) !important;
  margin-top: 1.4rem !important;
}

/* Remove button--secondary ::after ring inside quick-add modal */
.quick-add-modal__content .product-form__submit::after {
  box-shadow: none !important;
}

/* ── ITEM 8: Modal product image — hover zoom ─────────────────────────── */
.quick-add-modal__content .product__media .media {
  overflow: hidden;
  border-radius: 1rem;
}

.quick-add-modal__content .product__media img {
  transition: transform 500ms ease;
}

.quick-add-modal__content .product__media:hover img {
  transform: scale(1.05);
}

/* ── ITEM 11: Urgency badge on product cards ──────────────────────────── */
.sf-urgency {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 1.15rem;
  font-weight: 600;
  color: #b45309;
  margin: 0.5rem 0 0;
  line-height: 1;
}

.sf-urgency::before {
  content: '';
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background: #f59e0b;
  flex-shrink: 0;
}

/* Urgency / inventory in the quick-add modal */
.quick-add-modal__content .product__inventory {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: #b45309 !important;
  background: rgba(245, 158, 11, 0.1) !important;
  padding: 0.5rem 1rem !important;
  border-radius: 2rem !important;
  margin-bottom: 1.2rem !important;
}

/* ── ITEM 6: Variant price labels next to storage options ─────────────── */
.sf-variant-price {
  display: block;
  font-size: 1.05rem;
  font-weight: 500;
  opacity: 0.6;
  margin-top: 0.2rem;
  line-height: 1;
  letter-spacing: 0;
}


/* ============================================================
   FIXED-HEADER SPACE RESERVATION (prevents load-time CLS)
   ============================================================
   The header is position:fixed, so the body reserves its height via
   padding-top. --header-height is refined precisely by JS after load, but
   these defaults (measured header heights, mobile / desktop) make the
   reservation correct from the FIRST paint. Loaded in <head> so it applies
   before the body renders — otherwise #MainContent paints at y=0 and then
   jumps down ~137px when the style/JS kicks in.
   NOTE: this store uses an always-sticky header. If the header is ever set to
   non-sticky (sticky_header_type: none), remove this body padding-top. */
/* Body spacing uses a STATIC literal (NOT var(--header-height)) so that the JS
   that updates --header-height after load can never mutate the body padding and
   shift content down. Applied in <head> → correct from the first paint. */
body { padding-top: 129px; }
@media screen and (min-width: 750px) {
  body { padding-top: 137px; }
}
/* --header-height is still defined (and refined by JS) for OTHER consumers,
   e.g. the product page's sticky info column offset. Body spacing no longer
   depends on it. */
:root { --header-height: 129px; }
@media screen and (min-width: 750px) {
  :root { --header-height: 137px; }
}

/* The promo bar lives INSIDE the fixed header, so it makes the header taller.
   Grow the static reservation by exactly the bar height — but ONLY when the bar
   is actually rendered (body:has), so disabling it in the theme editor reverts
   cleanly. No JS, no first-paint shift. --sf-pb-h is also consumed by the bar
   itself (sections/header.liquid) so the two stay in lockstep. */
:root { --sf-pb-h: 36px; }
@media screen and (min-width: 750px) {
  :root { --sf-pb-h: 40px; }
}
body:has(.sf-promobar) { padding-top: calc(129px + var(--sf-pb-h)); }
@media screen and (min-width: 750px) {
  body:has(.sf-promobar) { padding-top: calc(137px + var(--sf-pb-h)); }
}

/* ============================================================
   PAGE TRANSITIONS & CART ANIMATIONS
   ============================================================ */

/* Enter: content fades up on every page load */
@keyframes sf-page-enter {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Exit: triggered by .sf-page-exiting on <html> */
@keyframes sf-page-exit {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-10px); }
}

#MainContent {
  animation: sf-page-enter 400ms cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

html.sf-page-exiting #MainContent {
  animation: sf-page-exit 260ms ease both;
  pointer-events: none;
}

/* Cart icon bounce */
@keyframes sf-cart-bounce {
  0%   { transform: scale(1)    translateY(0); }
  25%  { transform: scale(1.25) translateY(-6px); }
  55%  { transform: scale(0.92) translateY(2px); }
  75%  { transform: scale(1.07) translateY(-2px); }
  100% { transform: scale(1)    translateY(0); }
}

.sf-cart-bounce {
  animation: sf-cart-bounce 520ms cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  display: inline-flex;
}

/* Add-to-cart button: groene ring op success */
@keyframes sf-success-ring {
  0%   { box-shadow: 0 0 0 0   rgba(22, 163, 74, 0); }
  35%  { box-shadow: 0 0 0 7px rgba(22, 163, 74, 0.40); }
  100% { box-shadow: 0 0 0 0   rgba(22, 163, 74, 0); }
}

.sf-btn-success {
  animation: sf-success-ring 700ms ease both !important;
}


/* ============================================================
   QUICK-ADD MODAL — OPEN / CLOSE ANIMATIONS
   ============================================================ */

/* Content slides up when the modal opens.
   NOTE: translateX(-50%) must stay — Dawn uses it to centre the panel. */
@keyframes sf-modal-in {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(22px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
  }
}

quick-add-modal[open] .quick-add-modal__content {
  animation: sf-modal-in 380ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Content slides down when the modal closes (class added via JS) */
@keyframes sf-modal-out {
  from {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateX(-50%) translateY(14px) scale(0.97);
  }
}

.quick-add-modal__content.sf-modal-closing {
  animation: sf-modal-out 260ms cubic-bezier(0.4, 0, 1, 1) both !important;
  pointer-events: none !important;
}

/* ── Icon button: press feedback ─────────────────────────────────────── */
.sf-quick-add-icon__btn:active {
  transform: scale(0.84) !important;
  transition: transform 80ms ease !important;
}

/* ── Quick-add: "Added to cart" toast ────────────────────────────────── */
.sf-cart-toast {
  position: fixed;
  top: 2.4rem;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  z-index: 99999;
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #111111;
  color: #ffffff;
  padding: 1.1rem 2rem 1.1rem 1.4rem;
  border-radius: 10rem;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
  white-space: nowrap;
  pointer-events: none;
  animation: sf-toast-in 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.sf-cart-toast.sf-toast-exit {
  animation: sf-toast-out 300ms ease both;
}

@keyframes sf-toast-in {
  from { opacity: 0; transform: translateX(-50%) translateY(-14px) scale(0.94); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0)     scale(1); }
}

@keyframes sf-toast-out {
  from { opacity: 1; transform: translateX(-50%) translateY(0)      scale(1); }
  to   { opacity: 0; transform: translateX(-50%) translateY(-10px)  scale(0.96); }
}

.sf-cart-toast__icon {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.sf-cart-toast__icon svg {
  width: 1.4rem;
  height: 1.4rem;
  stroke: #111111;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

/* Checkmark draws itself */
.sf-cart-toast__icon svg polyline {
  stroke-dasharray: 20;
  stroke-dashoffset: 20;
  animation: sf-checkdraw 350ms 200ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes sf-checkdraw {
  to { stroke-dashoffset: 0; }
}


/* ═══════════════════════════════════════════════════════════════════
   INSTAFEED SECTION — spacing + font overrides
   Section ID: 1775502882cd1ef49f
═══════════════════════════════════════════════════════════════════ */

/* Tighten top gap + add bottom breathing room via margin (overflow-safe) */
#shopify-section-1775502882cd1ef49f {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 64px !important;
}

/* Kill any internal Instafeed top-padding/margin */
#shopify-section-1775502882cd1ef49f [class*="instafeed"],
#shopify-section-1775502882cd1ef49f [id*="instafeed"],
#shopify-section-1775502882cd1ef49f .page-width > * {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Font: force Space Grotesk on every text element inside the section */
#shopify-section-1775502882cd1ef49f,
#shopify-section-1775502882cd1ef49f * {
  font-family: "Space Grotesk", sans-serif !important;
}

/* Title-specific weight + tracking */
#shopify-section-1775502882cd1ef49f h1,
#shopify-section-1775502882cd1ef49f h2,
#shopify-section-1775502882cd1ef49f h3,
#shopify-section-1775502882cd1ef49f h4,
#shopify-section-1775502882cd1ef49f p,
#shopify-section-1775502882cd1ef49f [class*="title"],
#shopify-section-1775502882cd1ef49f [class*="heading"] {
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
}

@media (max-width: 749px) {
  #shopify-section-1775502882cd1ef49f {
    margin-bottom: 44px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   COLLECTION PAGE — Card, sort & typography refinements
═══════════════════════════════════════════════════════════════════ */

/* ── Card heading: Space Grotesk ──────────────────────────────── */
.card__heading,
.card__heading.h5,
.card__heading a {
  font-family: "Space Grotesk", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  font-size: 1.75rem !important;
}

/* ── Price: Space Grotesk ─────────────────────────────────────── */
.price,
.price-item,
.price__regular,
.price--large {
  font-family: "Space Grotesk", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

/* ── Sold-out card: dim the whole card ────────────────────────── */
.card-wrapper.is-sold-out .card {
  opacity: 0.6;
  transition: opacity 220ms ease;
}
@media (hover: hover) {
  .card-wrapper.is-sold-out:hover .card {
    opacity: 0.82;
  }
}

/* ── Sold-out price: show but muted ───────────────────────────── */
.sf-price--sold-out .price-item {
  color: rgba(17,17,17,0.4) !important;
}

/* ── Sold out badge: tighter, more refined ────────────────────── */
.badge {
  display: inline-flex !important;
  align-items: center !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 0.35rem 0.85rem !important;
  line-height: 1 !important;
}
.badge.color-inverse {
  background: rgba(17,17,17,0.82) !important;
}

/* ── Sort bar: Space Grotesk ──────────────────────────────────── */
.facet-filters__sort,
.facet-filters__label,
.product-count__text,
.product-count__text * {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.4rem !important;
}

/* ── Card chip / warranty tag ─────────────────────────────────── */
.sf-card-meta__condition,
.sf-card-chip {
  font-family: "Space Grotesk", sans-serif !important;
  white-space: nowrap;
}

@media (max-width: 749px) {
  .card__heading,
  .card__heading.h5 {
    font-size: 1.5rem !important;
  }

  .sf-card-chip {
    font-size: 1rem !important;
    padding: 0 0.8rem !important;
    min-height: 2.6rem !important;
  }

  /* Hide quick-add icon on mobile */
  .sf-quick-add-icon {
    display: none !important;
  }

  /* Compact product cards on mobile */
  .card__content {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .sf-card-meta {
    margin-bottom: 0.5rem !important;
  }

  /* Compact collection hero on mobile */
  .collection-hero__inner.page-width {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .collection-hero__title {
    margin: 1.4rem 0 !important;
    font-size: clamp(2.2rem, 8vw, 3.2rem) !important;
  }

  /* Compact filter/sort bar on mobile */
  .facets-container {
    padding: 0.8rem 0 !important;
  }

  .facet-filters__summary {
    padding: 0.8rem 1.4rem !important;
  }
}

/* ── Image zoom on card hover ─────────────────────────────────── */
.card__media .media--hover-effect > img:first-child {
  transition: transform 500ms cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
@media (hover: hover) {
  .card-wrapper:hover .card__media .media--hover-effect > img:first-child {
    transform: scale(1.07) !important;
  }
}

/* ── sf-card-meta: chips side by side, wrapping ───────────────── */
.sf-card-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  margin-top: 0.6rem !important;
  margin-bottom: 0.8rem !important;
}

/* ── Notify me button ─────────────────────────────────────────── */
.sf-notify-btn {
  display: inline-flex;
  align-items: center;
  margin-top: 1rem;
  padding: 0.65rem 1.3rem;
  border-radius: 999px;
  border: 1.5px solid rgba(17,17,17,0.14);
  background: transparent;
  color: rgba(17,17,17,0.62);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sf-notify-btn::after {
  content: ' →';
  margin-left: 0.2rem;
  font-weight: 400;
}
.sf-notify-btn:hover {
  background: rgba(17,17,17,0.06);
  border-color: rgba(17,17,17,0.28);
  color: rgba(17,17,17,0.9);
}

@media (max-width: 749px) {
  .sf-notify-btn {
    font-size: 1.1rem;
    padding: 0.55rem 1rem;
    white-space: normal;
    text-align: center;
    justify-content: center;
  }
}

/* ═══════════════════════════════════════════════════════════════
   FILTER BAR — pills, sort, product count
   ═══════════════════════════════════════════════════════════════ */

.facets-container {
  padding-top: 2rem !important;
  padding-bottom: 0.6rem !important;
  border-bottom: 1px solid rgba(17,17,17,0.08) !important;
  border-radius: 0 !important;
  margin-bottom: 3rem !important;
}

/* "Filter:" label */
.facets__heading {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.4) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  margin: 0 1.2rem 0 0 !important;
}

/* Verberg browser default summary marker */
.facets__summary::-webkit-details-marker {
  display: none !important;
}
.facets__summary::marker {
  content: none !important;
}

/* Filter pill trigger buttons */
.facets__summary {
  position: relative !important;
  display: block !important;
  padding: 0.65rem 3.2rem 0.65rem 1.4rem !important;
  border: 1.5px solid rgba(17,17,17,0.16) !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.75) !important;
  cursor: pointer !important;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease !important;
  margin-bottom: 0 !important;
  white-space: nowrap !important;
  list-style: none !important;
}
/* Caret absoluut rechts gepositioneerd met ruimte van de rand */
.facets__summary .icon-caret {
  position: absolute !important;
  right: 1.2rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 1rem !important;
  height: 1rem !important;
  opacity: 0.45 !important;
  transition: transform 200ms ease, opacity 150ms ease !important;
}
.facets__summary > div {
  display: inline !important;
}
.facets__summary:hover {
  background: #fff !important;
  border-color: rgba(17,17,17,0.22) !important;
  color: rgba(17,17,17,0.9) !important;
  transform: translateY(-1px) !important;
}
.facets__summary:hover .icon-caret {
  opacity: 0.75 !important;
}
.facets__disclosure[open] > .facets__summary {
  background: rgba(17,17,17,0.06) !important;
  border-color: rgba(17,17,17,0.4) !important;
  color: rgba(17,17,17,1) !important;
}
.facets__disclosure[open] > .facets__summary .icon-caret {
  transform: rotate(180deg) !important;
  opacity: 1 !important;
}
.facets__disclosure {
  margin-right: 0.6rem !important;
}

/* "Sort by:" label */
.facet-filters__label label {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.4) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
}
.facet-filters__sort {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.82) !important;
}
/* Sort: schone, consistente toetsenbord-focus (geen reuze Dawn-ring van component-facets) */
.facet-filters__sort:focus-visible,
.facet-filters__sort.focused {
  outline: none !important;
  box-shadow: none !important;
}
html.sf-kbd .facet-filters__field:focus-within {
  outline: 2px solid rgba(17,17,17,0.55) !important;
  outline-offset: 2px !important;
}

/* Product count pill */
.product-count__text,
.product-count__text * {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  color: rgba(17,17,17,0.5) !important;
}
.product-count {
  background: rgba(17,17,17,0.05) !important;
  border-radius: 999px !important;
  padding: 0.5rem 1.4rem !important;
}

/* ── Dropdown panel ─────────────────────────────────────────────── */
.facets__display {
  position: absolute !important;
  z-index: 10 !important;
  top: calc(100% + 0.8rem) !important;
  left: 0 !important;
  min-width: 22rem !important;
  background: #fff !important;
  border: 1.5px solid rgba(17,17,17,0.1) !important;
  border-radius: 1.4rem !important;
  box-shadow: 0 4px 24px rgba(17,17,17,0.09), 0 1px 4px rgba(17,17,17,0.05) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

/* Header: "0 selected" + Reset */
.facets__header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 1.1rem 1.4rem 1.0rem !important;
  border-bottom: 1px solid rgba(17,17,17,0.13) !important;
  background: transparent !important;
}
.facets__selected {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: rgba(17,17,17,0.38) !important;
  font-style: normal !important;
}
.facets__reset {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.55) !important;
  text-decoration: none !important;
  padding: 0.2rem 0.75rem !important;
  border-radius: 999px !important;
  background: rgba(17,17,17,0.06) !important;
  transition: background 140ms ease, color 140ms ease !important;
}
.facets__reset:hover {
  background: rgba(17,17,17,0.11) !important;
  color: rgba(17,17,17,0.88) !important;
  text-decoration: none !important;
}

/* ── Toetsenbord-focus zichtbaar maken (alleen bij Tab-navigatie, a11y) ── */
html.sf-kbd .facets__label:focus-within,
html.sf-kbd .facet-checkbox:focus-within {
  outline: 2px solid rgba(17,17,17,0.55) !important;
  outline-offset: 1px !important;
  border-radius: 0.8rem !important;
}
html.sf-kbd .facets__reset:focus {
  outline: 2px solid rgba(17,17,17,0.55) !important;
  outline-offset: 2px !important;
}
html.sf-kbd .facets__price .field:focus-within {
  outline: 2px solid rgba(17,17,17,0.55) !important;
  outline-offset: 1px !important;
}

/* Checkbox list */
.facets__list {
  padding: 0.7rem 0.7rem 0.9rem !important;
  max-height: 28rem !important;
  overflow-y: auto !important;
}
.facets__item {
  padding: 0 !important;
}

/* Checkbox rows */
.facets__label,
.facet-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: rgba(17,17,17,0.75) !important;
  cursor: pointer !important;
  padding: 0.65rem 0.8rem !important;
  border-radius: 0.8rem !important;
  transition: background 120ms ease, color 120ms ease !important;
}
.facets__label:hover,
.facet-checkbox:hover {
  background: rgba(17,17,17,0.04) !important;
  color: rgba(17,17,17,0.95) !important;
}

/* Label name bold + donker, count getal muted */
.facet-checkbox__text {
  display: flex !important;
  align-items: baseline !important;
  gap: 0.4rem !important;
  color: rgba(17,17,17,0.38) !important;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
}
.facet-checkbox__text-label {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.82) !important;
}

/* ── Filter-hover: schone rij-highlight, geen schokkerige underline ── */
/* Geen instant-poppende underline op de filteropties (de achtergrond-highlight is genoeg) */
.facets-layout-list .facets__label:hover .facet-checkbox__text-label,
.facets-layout-list input:focus ~ .facet-checkbox__text-label,
.facets-layout-list input:focus-visible ~ .facet-checkbox__text-label {
  text-decoration: none !important;
}
/* Geen underline op de pill-knop (summary) zelf */
.facets__summary .facets__summary-label,
.facets__summary:hover .facets__summary-label {
  text-decoration: none !important;
}
/* Reset-link: vaste underline zonder 'puffy' dikte-animatie */
.facets__header .facets__reset,
.facets__header .underlined-link {
  transition: color 120ms ease !important;
  text-decoration-thickness: 0.1rem !important;
  text-underline-offset: 0.2rem !important;
}
.facets__header .facets__reset:hover,
.facets__header .underlined-link:hover {
  text-decoration-thickness: 0.1rem !important;
}

/* SVG checkbox box */
.facet-checkbox > svg {
  color: rgba(17,17,17,0.35) !important;
  flex-shrink: 0 !important;
  border-radius: 4px !important;
  overflow: visible !important;
  transition: color 140ms ease !important;
  width: 1.6rem !important;
  height: 1.6rem !important;
}
.facet-checkbox:hover > svg {
  color: rgba(17,17,17,0.55) !important;
}
.facet-checkbox > input[type='checkbox']:checked ~ svg {
  color: rgba(17,17,17,0.9) !important;
}
.facet-checkbox > input[type='checkbox']:checked ~ svg rect {
  fill: rgba(17,17,17,0.9) !important;
  rx: 3 !important;
}

/* Checkmark overlay — echte icon-checkmark.svg, wit, gecentreerd op de box */
.facet-checkbox > .svg-wrapper {
  position: absolute !important;
  left: 0.75rem !important;
  top: 1rem !important;
  width: 1.6rem !important;
  height: 1.6rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  visibility: hidden !important;
  z-index: 5 !important;
  pointer-events: none !important;
}
.facet-checkbox > .svg-wrapper::after {
  content: none !important;
}
.facet-checkbox > .svg-wrapper > svg,
.facet-checkbox > .svg-wrapper .icon-checkmark {
  width: 1rem !important;
  height: auto !important;
  color: #ffffff !important;
  visibility: visible !important;
}
.facet-checkbox > input[type='checkbox']:checked ~ .svg-wrapper {
  visibility: visible !important;
}

/* ── Price range filter ────────────────────────────────────────── */
.facets__price {
  display: flex !important;
  align-items: center !important;
  gap: 0.8rem !important;
  padding: 1rem 1.4rem 1.6rem !important;
}

/* Beide € spans verbergen */
.facets__price > span.field-currency {
  display: none !important;
}

/* Separator "—" via een eigen element tussen de velden */
.facets__price::after {
  content: none !important;
}

/* .field DIV = de visuele container met afgeronde hoeken */
.facets__price .field {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.7rem 1.1rem !important;
  background: rgba(17,17,17,0.055) !important;
  border-radius: 12px !important;
  border: none !important;
  position: relative !important;
  transition: background 140ms ease !important;
}
.facets__price .field:focus-within {
  background: rgba(17,17,17,0.09) !important;
}

/* Label verbergen */
.facets__price .field__label {
  display: none !important;
}

/* € teken als flex-sibling — override Dawn's position:absolute op ::before */
.facets__price .field::before {
  content: '€' !important;
  position: static !important;
  display: inline !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.4) !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  pointer-events: none !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
}

/* Verwijder Dawn's floating-label ::after van BEIDE price fields */
.facets__price .field::after {
  content: none !important;
  display: none !important;
}

/* Input — volledig transparant; visuele styling zit op de div */
.facets__price .field__input {
  flex: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.85) !important;
  box-shadow: none !important;
  outline: none !important;
  min-height: unset !important;
  line-height: 1.2 !important;
}
.facets__price .field__input:focus {
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.facets__price .field__input::placeholder {
  color: rgba(17,17,17,0.3) !important;
  font-weight: 500 !important;
}

/* "—" separator tussen de twee veldjes */
.facets__price .field:first-of-type + .field::before {
  content: none !important;
}
/* Voeg separator toe als pseudo-element op de price-range wrapper */
.facets__price > .field:first-of-type {
  position: relative !important;
}
.facets__price > .field:first-of-type + .field {
  position: relative !important;
}
/* Separator via wrapper pseudo: niet mogelijk op flex-container zonder extra element.
   Gebruik de tweede field-currency span die we al hadden — maar die is verborgen.
   Toon de second span als separator: */
.facets__price > span.field-currency:nth-of-type(2) {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  font-size: 0 !important;
}
.facets__price > span.field-currency:nth-of-type(2)::before {
  content: '—' !important;
  font-size: 1.2rem !important;
  font-family: "Space Grotesk", sans-serif !important;
  color: rgba(17,17,17,0.3) !important;
  font-weight: 400 !important;
}

/* ═══════════════════════════════════════════════════════════════
   ACTIVE FILTER CHIPS
   ═══════════════════════════════════════════════════════════════ */

.active-facets {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.6rem !important;
  margin-top: 1.2rem !important;
  align-items: center !important;
}
span.active-facets__button-inner {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  padding: 0.5rem 1.1rem !important;
  background: rgba(17,17,17,0.88) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  box-shadow: none !important;
  transition: background 150ms ease !important;
  line-height: 1 !important;
}
.active-facets__button:hover span.active-facets__button-inner {
  background: rgb(17,17,17) !important;
  box-shadow: none !important;
}
.active-facets__button .svg-wrapper svg {
  fill: rgba(255,255,255,0.65) !important;
  width: 1.1rem !important;
  height: 1.1rem !important;
}
.active-facets__button:hover .svg-wrapper svg {
  fill: #fff !important;
}

/* "Clear all" chip */
.active-facets__button--light span.active-facets__button-inner {
  background: transparent !important;
  color: rgba(17,17,17,0.6) !important;
  border: 1px solid rgba(17,17,17,0.16) !important;
  box-shadow: none !important;
}
.active-facets__button--light:hover span.active-facets__button-inner {
  background: rgba(17,17,17,0.05) !important;
  border-color: rgba(17,17,17,0.28) !important;
  color: rgba(17,17,17,0.85) !important;
  box-shadow: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   EMPTY COLLECTION STATE
   ═══════════════════════════════════════════════════════════════ */

.collection--empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40vh !important;
  text-align: center !important;
  padding: 6rem 2rem !important;
}
.collection--empty .title-wrapper {
  max-width: 48rem !important;
}
.collection--empty .title--primary {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: clamp(2rem, 3vw, 2.8rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: rgba(17,17,17,0.65) !important;
  line-height: 1.5 !important;
}
.collection--empty .title--primary::before {
  content: "🔍" !important;
  display: block !important;
  font-size: 3.6rem !important;
  margin-bottom: 1.6rem !important;
}
.collection--empty .underlined-link {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.75) !important;
  text-underline-offset: 0.3rem !important;
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE FILTER BAR & DRAWER
   ═══════════════════════════════════════════════════════════════ */

/* Minder ruimte in filter-container op mobiel */
@media screen and (max-width: 749px) {
  .facets-container {
    padding-top: 1.2rem !important;
    padding-bottom: 1.2rem !important;
    margin-bottom: 1.6rem !important;
  }
}

/* "Filter and sort" pill knop */
.mobile-facets__open {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  padding: 0.65rem 1.3rem 0.65rem 1.1rem !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.75) !important;
  background: rgba(255,255,255,0.7) !important;
  border: 1.5px solid rgba(17,17,17,0.12) !important;
  border-radius: 10px !important;
  width: auto !important;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease !important;
  text-decoration: none !important;
}

.mobile-facets__open:hover {
  background: rgba(255,255,255,0.95) !important;
  border-color: rgba(17,17,17,0.22) !important;
  color: rgba(17,17,17,0.9) !important;
  transform: translateY(-1px) !important;
}

.mobile-facets__open-label {
  text-decoration: none !important;
}

.mobile-facets__open:hover .mobile-facets__open-label {
  text-decoration: none !important;
}

.mobile-facets__open .svg-wrapper {
  width: 1.5rem !important;
  flex-shrink: 0 !important;
  opacity: 0.65 !important;
}

/* Fix: Dawn's JS laat een identity transform op <main> staan waardoor position:fixed
   erin relatief aan het document werkt. De form (.mobile-facets) start daardoor altijd
   op y=129 (onder de sticky header). Begrens de hoogte tot het zichtbare deel van de
   viewport: 100vh minus de header-hoogte (~129px). */
.mobile-facets {
  height: calc(100vh - 129px) !important;
  max-height: calc(100vh - 129px) !important;
  overflow: hidden !important;
}

/* Drawer paneel */
.mobile-facets__inner {
  background: #ffffff !important;
  border-radius: 1.8rem 0 0 1.8rem !important;
  border-left: none !important;
  filter: drop-shadow(-6px 0 32px rgba(17,17,17,0.12)) !important;
}

/* Drawer header */
.mobile-facets__header {
  background: #fff !important;
  border-bottom: 1px solid rgba(17,17,17,0.07) !important;
  padding: 1.6rem 2.2rem !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
}

.mobile-facets__heading {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: rgba(17,17,17,0.88) !important;
  letter-spacing: -0.01em !important;
}

.mobile-facets__count {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  color: rgba(17,17,17,0.38) !important;
  margin-top: 0.2rem !important;
}

/* Sluiten-knop (X) */
.mobile-facets__close-button {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.55) !important;
  padding: 1.2rem 2.2rem !important;
}

/* Filter sectie rijen (Availability, Price, Release year, Sort by) */
.mobile-facets__summary {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.82) !important;
  padding: 1.4rem 2.2rem !important;
  border-bottom: 1px solid rgba(17,17,17,0.06) !important;
  list-style: none !important;
}

.mobile-facets__summary::-webkit-details-marker,
.mobile-facets__summary::marker {
  display: none !important;
  content: '' !important;
}

/* Caret in filter sectie rijen */
.mobile-facets__summary .icon-caret,
.mobile-facets__arrow {
  opacity: 0.35 !important;
  width: 1rem !important;
  height: 1rem !important;
}

/* Checkbox label items */
.mobile-facets__label {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: rgba(17,17,17,0.72) !important;
  padding: 1.1rem 2.2rem !important;
  transition: background 140ms ease !important;
}

.mobile-facets__label:hover {
  background: rgba(17,17,17,0.03) !important;
}

/* Sub-menu achtergrond (wanneer filter sectie opengaat) */
.mobile-facets__submenu {
  background: #fff !important;
}

/* Sort by in drawer */
.mobile-facets__sort .select__select {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.82) !important;
  border: 1.5px solid rgba(17,17,17,0.1) !important;
  border-radius: 10px !important;
  background: rgba(17,17,17,0.04) !important;
  padding: 0.8rem 3.2rem 0.8rem 1.2rem !important;
}

/* Drawer footer */
.mobile-facets__footer {
  background: #fff !important;
  border-top: 1px solid rgba(17,17,17,0.07) !important;
  padding: 1.4rem 2rem !important;
  gap: 1rem !important;
}

/* Clear knop */
.mobile-facets__clear {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: rgba(17,17,17,0.5) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid rgba(17,17,17,0.12) !important;
  border-radius: 10px !important;
  padding: 0.9rem 1.2rem !important;
  transition: background 140ms ease, border-color 140ms ease !important;
  text-align: center !important;
}

.mobile-facets__clear:hover {
  background: rgba(17,17,17,0.04) !important;
  border-color: rgba(17,17,17,0.2) !important;
  color: rgba(17,17,17,0.7) !important;
}

/* Apply/Show results knop */
.mobile-facets__footer .button--primary {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  background: #111 !important;
  color: #fff !important;
  border: none !important;
  padding: 0.9rem 1.2rem !important;
  letter-spacing: -0.01em !important;
}

.mobile-facets__footer .button--primary:hover {
  background: #222 !important;
}

/* ── Cart page top spacing ── */
cart-items {
  margin-top: 32px;
}

/* ── Minimale footer op cartpagina (desktop) ── */
@media screen and (min-width: 750px) {
  body:has(cart-items) .footer__content-top {
    display: none !important;
  }
  body:has(cart-items) .footer {
    border-top: none !important;
  }
  body:has(cart-items) .footer__content-bottom {
    border-top: none !important;
  }
}

/* ── Skip-link: voorspelbare plek en rustige verschijning (2026-08-21) ── */
/* Dawn zet bij focus `position: inherit`, waardoor de link terugvalt in de flow
   en middenin de promo-bar opduikt, met een drievoudige focus-ring eromheen.
   Dat schrikt op een toetsaanslag die je per ongeluk doet. Hij hoort zichtbaar
   te zijn — WCAG 2.4.1 en 2.4.7 — maar op een vaste, logische plek en in de
   huisstijl. Pill, Space Grotesk en de zwart/wit-verhouding erft hij van
   `.button`; hieronder staat alleen wat daarvan afwijkt. */
.skip-to-content-link:focus {
  position: fixed !important;
  top: 12px;
  left: 12px;
  z-index: 10000;
  padding: 0 26px;
  font-size: 14px;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px rgba(18, 18, 18, 0.9),
    0 10px 28px rgba(18, 18, 18, 0.18);
  animation: sf-skip-in 0.18s ease-out;
}

@keyframes sf-skip-in {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Wie beweging heeft uitgezet krijgt hem zonder animatie, niet zonder link. */
@media (prefers-reduced-motion: reduce) {
  .skip-to-content-link:focus {
    animation: none;
  }
}
