/** Shopify CDN: Minification failed

Line 7505:0 Unexpected "("
Line 7566:4 Comments in CSS use "/* ... */" instead of "//"
Line 7654:2 Comments in CSS use "/* ... */" instead of "//"
Line 8071:44 Expected identifier but found whitespace

**/
:root {
  --silver-spoon-bg: #FAFAFA;
  --silver-spoon-text: #111;
  --silver-spoon-muted: #777;
  --silver-spoon-panel: #f4f4f4;
  --silver-spoon-border: #e6e6e6;
  --silver-spoon-inverse-bg: #050505;
  --silver-spoon-inverse-text: #fff;
  --silver-spoon-page-gutter: 0px;
  --silver-spoon-font: Helvetica, Arial, sans-serif;
  --announcement-height: 0px;
  --header-height: 46px;
}
* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body.silver-spoon-body {
  margin: 0;
  background: var(--silver-spoon-bg);
  color: var(--silver-spoon-text);
  font-family: var(--silver-spoon-font);
  font-size: var(--silver-spoon-base-font-size, 12px);
  letter-spacing: var(--silver-spoon-letter-spacing, 0);
  line-height: 1.35;
  overflow-x: clip;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
img, video { max-width: 100%; display: block; }
.skip-link { position: absolute; left: -999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.skip-link:focus { left: 12px; top: 12px; width: auto; height: auto; background: var(--silver-spoon-bg); color: #000; z-index: 99999; padding: 10px; }
.silver-spoon-main { padding-left: var(--silver-spoon-page-gutter); padding-right: var(--silver-spoon-page-gutter); }
.silver-spoon-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 22px; border: 1px solid currentColor; text-transform: uppercase; font-weight: 700; font-size: 11px; letter-spacing: .02em; line-height: 1; transition: opacity .18s ease, transform .18s ease, background .18s ease, color .18s ease; }
.silver-spoon-button:hover { opacity: .75; }
.silver-spoon-button[disabled], button[disabled] { cursor: not-allowed; opacity: .55; }
.silver-spoon-button--dark { background: #171717; color: #fff; border-color: #171717; width: 100%; }
.silver-spoon-button--light { background: var(--silver-spoon-bg); color: #111; border-color: #fff; }
.silver-spoon-button--secondary { background: var(--silver-spoon-bg); color: #111; border-color: #d9d9d9; }
.is-hidden { display: none !important; }
.silver-spoon-placeholder {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
  min-height: 160px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: linear-gradient(135deg, #d6d6d6 0%, #cbcbcb 28%, #bebebe 50%, #c9c9c9 72%, #dddddd 100%);
  color: rgba(255, 255, 255, 0.9);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .12em;
}

.silver-spoon-placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 65%);
  pointer-events: none;
}

.silver-spoon-placeholder__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
}

.silver-spoon-placeholder__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.silver-spoon-placeholder__label {
  position: relative;
  z-index: 1;
  display: block;
  line-height: 1;
}

.silver-spoon-placeholder--hero-media .silver-spoon-placeholder__icon {
  width: 70px;
  height: 70px;
}

.silver-spoon-placeholder--section-media .silver-spoon-placeholder__icon {
  width: 48px;
  height: 48px;
}
/* Center placeholder icons */
.image-banner .silver-spoon-placeholder,
.two-column-images .silver-spoon-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.image-banner .silver-spoon-placeholder__icon,
.two-column-images .silver-spoon-placeholder__icon {
  flex-shrink: 0;
}
.rte p:first-child { margin-top: 0; }
.rte p:last-child { margin-bottom: 0; }

/* Announcement */
.announcement-bar { height: var(--announcement-height-setting); min-height: var(--announcement-height-setting); background: var(--announcement-bg); color: var(--announcement-color); display: flex; align-items: center; justify-content: center; text-align: center; font-size: 11px; line-height: 1; z-index: 50; }
.announcement-bar__inner a { text-decoration: underline; text-underline-offset: 2px; }

/* Header */
.site-header { position: relative; z-index: 60; height: var(--header-height-setting); min-height: var(--header-height-setting); background: var(--header-bg); color: var(--header-text); border-bottom: 1px solid var(--silver-spoon-border); }
.site-header__desktop, .site-header__mobile { height: 100%; align-items: center; }
.site-header__desktop { display: grid; grid-template-columns: 1fr auto 1fr; padding: 0 18px; }
.site-header__nav { display: flex; gap: 28px; align-items: center; text-transform: uppercase; font-weight: 700; font-size: 11px; }
.site-header__nav--right { justify-content: flex-end; }
.site-header__logo, .site-header__mobile-logo { display: flex; align-items: center; justify-content: center; min-width: 0; }
.site-header__logo-text, .site-footer__big-logo { font-weight: 950; font-style: italic; text-transform: uppercase; letter-spacing: -.055em; transform: skewX(-8deg); display: inline-block; white-space: nowrap; }
.site-header__logo-text { font-size: 24px; line-height: 1; }
.site-header__logo-image { width: auto; max-height: calc(var(--header-height-setting) - 10px); object-fit: contain; }
.site-header__cart-link { text-transform: uppercase; font-weight: 700; font-size: 11px; }
.site-header__mobile { display: none; justify-content: space-between; padding: 0 14px; }
.site-header__mobile-logo { justify-content: flex-start; }
.site-header__mobile-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.site-header__hamburger { width: 22px; height: 16px; display: grid; align-content: space-between; }
.site-header__hamburger span { display: block; height: 2px; background: currentColor; }
.mobile-menu { position: fixed; inset: 0; z-index: 999; opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.mobile-menu.is-open { opacity: 1; pointer-events: auto; }
.mobile-menu__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.mobile-menu__panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(86vw, 360px); background: var(--silver-spoon-bg); color: #111; transform: translateX(-100%); transition: transform .25s ease; padding: 22px; }
.mobile-menu.is-open .mobile-menu__panel { transform: translateX(0); }
.mobile-menu__close { font-size: 28px; line-height: 1; margin-bottom: 32px; }
.mobile-menu__links { display: grid; gap: 18px; text-transform: uppercase; font-size: 18px; font-weight: 600; }

/* Image banners */
.image-banner { position: relative; height: var(--banner-height-desktop); min-height: 0; overflow: hidden; }
.image-banner--home-hero { height: min(var(--banner-height-desktop), calc(100svh - var(--announcement-height, 0px) - var(--header-height, 0px))); min-height: 0; }
.image-banner__link, .image-banner__media, .image-banner__visual { display: block; width: 100%; height: 100%; }
.image-banner__visual { object-fit: cover; }
.image-banner__overlay { position: absolute; inset: 0; background: #000; opacity: var(--banner-overlay-opacity); pointer-events: none; }
.image-banner__media--placeholder + .image-banner__overlay {
  display: none;
}
.image-banner__content { position: absolute; z-index: 2; color: var(--banner-text); text-align: center; display: grid; justify-items: center; gap: 10px; padding: 28px; }
.image-banner__content h2 { margin: 0; text-transform: uppercase; font-size: clamp(18px, 2vw, 30px); line-height: 1; }
.image-banner__content p { margin: 0; }
.image-banner__content--bottom-center { left: 50%; bottom: 5%; transform: translateX(-50%); }
.image-banner__content--bottom-left { left: 0; bottom: 0; text-align: left; justify-items: start; }
.image-banner__content--center { left: 50%; top: 50%; transform: translate(-50%, -50%); }
.image-banner__content--top-left { left: 0; top: 0; text-align: left; justify-items: start; }

/* Two-column images */
.two-column-images { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--two-col-gap); height: var(--two-col-height-desktop); min-height: 300px; overflow: hidden; }
.two-column-images__item { position: relative; display: block; overflow: hidden; background: var(--silver-spoon-panel); }
.two-column-images__visual { width: 100%; height: 100%; object-fit: cover; }
.two-column-images__label { position: absolute; left: 14px; bottom: 14px; color: #fff; font-weight: 800; text-transform: uppercase; font-size: 11px; }

/* Product rows and cards */
.product-row { width: 100%; }
.product-row__heading {
  min-height: 28px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  border-top: var(--row-heading-line-width, 1px) solid var(--row-heading-line-color, var(--silver-spoon-border));
  border-bottom: var(--row-heading-line-width, 1px) solid var(--row-heading-line-color, var(--silver-spoon-border));
  background: var(--silver-spoon-bg);
}.product-grid { display: grid; gap: var(--row-gap, var(--collection-gap, 0px)); }
.product-grid--row { grid-template-columns: repeat(var(--row-cols-desktop), minmax(0,1fr)); }
.product-grid--collection { grid-template-columns: repeat(var(--collection-cols-desktop), minmax(0,1fr)); }
.product-card { position: relative; min-width: 0; }
/* DBRMAN - Sold-out product card opacity */
.product-card--sold-out .product-card__media-slider,
.product-card--sold-out .product-card__media-link,
.product-card--sold-out .product-card__vendor,
.product-card--sold-out .product-card__title {
  opacity: var(--sold-out-opacity, 0.5);
}
.product-card__media-wrap { position: relative; background: var(--silver-spoon-panel); overflow: hidden; }
.product-card__media-link {
  display: block;
}

.product-card__media-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--silver-spoon-panel);
  touch-action: pan-y pinch-zoom;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}

.product-card__media-slider.is-single-image {
  cursor: pointer;
}

.product-card__media-slider.is-single-image.is-pointer-down {
  cursor: pointer;
}

.product-card__media-slider.is-dragging {
  cursor: grabbing;
}

.product-card__media-track {
  display: flex;
  align-items: flex-start;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  transition: height 0.3s ease;
}

.product-card__media-track.is-resizing-without-animation {
  transition: none;
}

.product-card__media-track::-webkit-scrollbar {
  display: none;
}

.product-card__media-slide {
  position: relative;
  align-self: flex-start;

  /* Match the carousel viewport width exactly */
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;

  height: auto;
  overflow: hidden;
  background: var(--silver-spoon-panel);
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.product-card__media-slider {
  overflow: hidden !important;
}

.product-card__image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  transform-origin: center center;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}

.product-card__desktop-media-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  pointer-events: none;
}

.product-card__media-dots {
  position: absolute;
  left: 50%;
  bottom: 8px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  transform: translateX(-50%);
  pointer-events: none;
}

.product-card__media-dot {
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.3);
  transition:
    width 0.18s ease,
    background-color 0.18s ease;
}

.product-card__media-dot.is-active {
  width: 10px;
  background: rgba(0, 0, 0, 0.85);
}

.product-card__action { position: absolute; left: 50%; bottom: 24px; z-index: 5; transform: translate(-50%, 8px); opacity: 0; pointer-events: none; transition: opacity .18s ease, transform .18s ease; white-space: nowrap; }.product-card:hover .product-card__action, .product-card.is-action-visible .product-card__action { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.product-card__meta { padding: 10px 12px 18px; display: grid; gap: 2px; min-height: 74px; font-size: 11px; }
.product-card__vendor { text-transform: uppercase; color: var(--silver-spoon-muted); font-size: 10px; font-weight: 700; }
.product-card__title, .product-card__price { display: block; }
.product-card__title { font-weight: 500; }
.product-card__price { color: #111; }

/* Collection pages */
.collection-tabs { padding: 56px 16px 68px; background: var(--silver-spoon-bg); overflow: hidden; }
.collection-tabs__scroller { display: flex; gap: 0; justify-content: center; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; position: relative; }
.collection-tabs__scroller::-webkit-scrollbar { display: none; }
.collection-tabs__tile { flex: 0 0 118px; display: grid; justify-items: center; gap: 10px; text-align: center; color: #999; text-transform: uppercase; font-size: 10px; font-weight: 700; }
.collection-tabs__tile.is-active { color: #111; }
.collection-tabs__image { width: 118px; aspect-ratio: 1 / 1; background: var(--silver-spoon-panel); border: var(--active-border-width,0px) solid transparent; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.collection-tabs__tile.is-active .collection-tabs__image { border-color: var(--active-border-color); }
.collection-tabs__image img { width: 100%; height: 100%; object-fit: cover; }
.collection-tabs__scroller.is-overflow-left::before, .collection-tabs__scroller.is-overflow-right::after { content: ''; position: sticky; top: 0; bottom: 0; width: 54px; flex: 0 0 54px; z-index: 2; pointer-events: none; }
.collection-tabs__scroller.is-overflow-left::before { left: 0; background: linear-gradient(90deg,var(--silver-spoon-bg),transparent); margin-right: -54px; }
.collection-tabs__scroller.is-overflow-right::after { right: 0; background: linear-gradient(270deg,var(--silver-spoon-bg),transparent); margin-left: -54px; }
.collection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 28px 16px; min-height: 78px; background: var(--silver-spoon-bg); border-bottom: 1px solid var(--silver-spoon-border); }
.collection-toolbar__filters { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: flex-end; }
.collection-toolbar__checkbox { display: inline-flex; align-items: center; gap: 6px; }
.collection-toolbar select { border: 0; background: transparent; padding-right: 20px; }
.collection-load-more { display: block; width: 100%; height: 1px; }
.empty-state { padding: 40px 16px; }

/* Product page */
.main-product__layout {
  display: grid;
  grid-template-columns:
    var(--product-media-width, 65%)
    minmax(0, calc(100% - var(--product-media-width, 65%)));
  align-items: start;
  padding-top: var(--main-product-padding-top, 0px);
  padding-bottom: var(--main-product-padding-bottom, 34px);
  border-bottom:
    var(--main-product-divider-width, 1px)
    solid
    var(--main-product-divider-color, var(--silver-spoon-border));
}

.main-product__desktop-gallery {
  position: relative;
  min-width: 0;
  width: 100%;
}

.main-product__media-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--product-gap, 0px);
  min-width: 0;
}

.main-product--single-media .main-product__media-grid {
  grid-template-columns: 1fr;
}


/* Two-column grid
-------------------------------------------------------------- */

.main-product--desktop-two_column .main-product__media-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* Single-column grid
-------------------------------------------------------------- */

.main-product--desktop-single_column .main-product__media-grid {
  grid-template-columns: 1fr;
}


/* First image large
-------------------------------------------------------------- */

.main-product--desktop-first_large .main-product__media-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.main-product--desktop-first_large
.main-product__media-item:first-child {
  grid-column: 1 / -1;
}


/* Alternating large images
-------------------------------------------------------------- */

.main-product--desktop-alternating .main-product__media-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.main-product--desktop-alternating
.main-product__media-item:nth-child(4n + 1),
.main-product--desktop-alternating
.main-product__media-item:nth-child(4n + 4) {
  grid-column: 1 / -1;
}


/* Split 50/50 layouts
-------------------------------------------------------------- */

.main-product--desktop-split_two_column .main-product__layout,
.main-product--desktop-split_single_column .main-product__layout,
.main-product--desktop-split_carousel .main-product__layout {
  grid-template-columns:
    minmax(0, var(--product-media-width, 50%))
    minmax(0, 1fr);
  align-items: stretch;
}

.main-product--desktop-split_two_column .main-product__info-wrap,
.main-product--desktop-split_single_column .main-product__info-wrap,
.main-product--desktop-split_carousel .main-product__info-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  min-height: 0;
  height: 100%;
}

.main-product--desktop-split_two_column .main-product__info,
.main-product--desktop-split_single_column .main-product__info,
.main-product--desktop-split_carousel .main-product__info {
  position: sticky;
  top: calc(
    var(--announcement-height, 0px) +
    var(--header-height, 46px) +
    16px
  );
  width: min(100%, var(--product-info-max-width, 800px));
}

.main-product--desktop-split_two_column .main-product__media-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.main-product--desktop-split_single_column .main-product__media-grid {
  grid-template-columns: 1fr;
}


/* Single-image carousel
-------------------------------------------------------------- */

.main-product--desktop-split_carousel .main-product__layout {
  align-items: stretch;
}

.main-product--desktop-split_carousel .main-product__desktop-gallery {
  position: sticky;
  top: calc(
    var(--announcement-height, 0px) +
    var(--header-height, 46px)
  );

  height: calc(
    100svh -
    var(--announcement-height, 0px) -
    var(--header-height, 46px)
  );

  min-height: 0;
  overflow: hidden;
  background: transparent;
}

.main-product--desktop-split_carousel .main-product__media-grid {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.main-product--desktop-split_carousel .main-product__media-item {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.28s ease,
    visibility 0.28s ease;
}

.main-product--desktop-split_carousel .main-product__media-item.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.main-product--desktop-split_carousel .main-product__media-item img,
.main-product--desktop-split_carousel .main-product__media-item video,
.main-product--desktop-split_carousel .main-product__media-item model-viewer {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  background: transparent;
}

.main-product__desktop-thumbnails {
  position: absolute;
  z-index: 5;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  gap: 8px;
  width: 58px;
  max-height: calc(100% - 100px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
}

.main-product__desktop-thumbnails::-webkit-scrollbar {
  display: none;
}

.main-product__desktop-thumbnail {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  overflow: hidden;
  border: 1px solid transparent;
  background: var(--silver-spoon-bg);
  opacity: 0.5;
  transition:
    opacity 0.18s ease,
    border-color 0.18s ease;
}

.main-product__desktop-thumbnail:hover {
  opacity: 0.75;
}

.main-product__desktop-thumbnail.is-active {
  opacity: 1;
  border-color: currentColor;
}

.main-product__desktop-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}


.main-product__media-item {
  position: relative;
  background: var(--silver-spoon-panel);
  min-height: 120px;
  overflow: hidden;
  width: 100%;
  display: grid;
  place-items: center;
  cursor: zoom-in;
}

.main-product--transparent-media .main-product__media-item,
.main-product--transparent-media .main-product__desktop-gallery,
.main-product--transparent-media .main-product__mobile-slider,
.main-product--transparent-media .main-product__mobile-slide {
  background: transparent;
}

.main-product__media-item img,
.main-product__media-item video,
.main-product__media-item model-viewer {
  width: 100%;
  height: auto;
  display: block;
}

.main-product__zoom-icon {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,.8);
  display: grid;
  place-items: center;
  font-size: 16px;
  opacity: 0;
  transition: opacity .18s ease;
}

.main-product__media-item:hover .main-product__zoom-icon {
  opacity: 1;
}


.main-product__info-wrap {
  padding: 26px var(--product-info-padding-right, 16px) 26px var(--product-info-padding-left, 16px);
  align-self: stretch;
  min-height: 0;
  height: 100%;
  overflow: visible;
}


.main-product:not(.main-product--sticky-mobile-purchase)
.product-form__purchase-panel {
  display: grid;
  gap: 18px;
}

.main-product:not(.main-product--sticky-mobile-purchase)
.product-form__options {
  gap: 18px;
}

.main-product:not(.main-product--sticky-mobile-purchase)
.product-form__fieldset {
  gap: 10px;
}

.main-product:not(.main-product--sticky-mobile-purchase)
.product-form__fieldset legend {
  margin: 0 0 4px;
}

.main-product:not(.main-product--sticky-mobile-purchase)
.product-form__values {
  gap: 8px;
  flex-wrap: wrap;
}

.main-product:not(.main-product--sticky-mobile-purchase)
.product-form__option {
  flex: 0 0 auto;
}

.main-product:not(.main-product--sticky-mobile-purchase)
.product-form__option span {
  width: auto;
  min-width: 90px;
  min-height: 38px;
  padding: 0 18px;
}

.main-product:not(.main-product--sticky-mobile-purchase)
.product-form__actions {
  gap: 8px;
}

.main-product__info {
  position: sticky;
  top: calc(
    var(--announcement-height, 0px) +
    var(--header-height, 46px) +
    16px
  );
  display: grid;
  gap: 18px;
  width: 100%;
  max-width: var(--product-info-max-width, 800px);
  max-height: none;
  overflow: visible;
}

.main-product__eyebrow {
  text-transform: uppercase;
  color: var(--silver-spoon-muted);
  font-weight: 700;
  font-size: 11px;
}

.main-product__title {
  margin: 0;
  font-size: 18px;
  line-height: 1.1;
  text-transform: uppercase;
}

.main-product__price {
  font-size: 14px;
}

.product-form {
  display: grid;
  gap: 18px;
}

.product-form__options {
  display: grid;
  gap: 18px;
}

.product-form__fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.product-form__fieldset legend {
  margin: 0 0 4px;
  color: #333;
}

.product-form__values {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.product-form__option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.product-form__option span {
  display: inline-flex;
  min-height: 38px;
  min-width: 90px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid var(--silver-spoon-border);
  background: var(--silver-spoon-bg);
  cursor: pointer;
}

.product-form__option input:checked + span {
  border-color: #111;
}

.product-form__option--swatch span {
  min-width: 22px;
  width: 22px;
  height: 22px;
  min-height: 22px;
  padding: 0;
  color: transparent;
  background: var(--swatch-color, #ddd);
}

.product-form__stock {
  display: flex;
  align-items: center;
  gap: 8px;
}

.product-form__stock-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #00a135;
  display: inline-block;
}

.product-form__actions {
  display: grid;
  gap: 8px;
}

.product-form__payment .shopify-payment-button__button {
  min-height: 42px;
  border-radius: 0;
}

.product-icons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;

  border-top:
    var(--icon-row-top-divider-width, 1px)
    solid
    var(--icon-row-divider-color, var(--silver-spoon-border));

  border-bottom: 0;

  padding-top: var(--icon-row-padding-top, 16px);
  padding-bottom: var(--icon-row-padding-bottom, 16px);
}

.product-icons__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}

.product-icons__item img,
.product-icons__fallback {
  width: 24px;
  height: 24px;
  object-fit: contain;
  border: 1px solid var(--silver-spoon-border);
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 24px;
}

.product-accordions {
  display: grid;
  border-top: 1px solid var(--silver-spoon-border);
  padding-top: var(--accordion-top-spacing, 0px);
}

.product-accordion {
  border-bottom: 1px solid var(--silver-spoon-border);
}

.product-accordion summary {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  list-style: none;
  padding: 14px 0;
  text-transform: uppercase;
  font-weight: 800;
  cursor: pointer;
}

.product-accordion summary::-webkit-details-marker {
  display: none;
}

.product-accordion__content {
  padding: 0 0 18px;
  color: #222;
}

.main-product__mobile-slider {
  display: none;
}

/* Product image lightbox
-------------------------------------------------------------- */

html.product-lightbox-open,
body.product-lightbox-open {
  overflow: hidden;
}

.product-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;

  display: none;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 100%;
  padding: 28px;

  background: rgba(255, 255, 255, 0.97);
  cursor: zoom-out;

  overscroll-behavior: contain;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.product-lightbox.is-open {
  display: flex;
}

.product-lightbox__stage {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  width: min(94vw, 1400px);
  height: 92vh;

  cursor: grab;
  touch-action: none;
}

.product-lightbox.is-dragging .product-lightbox__stage {
  cursor: grabbing;
}

.product-lightbox__stage img {
  display: block;

  max-width: 100%;
  max-height: 100%;

  object-fit: contain;

  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;

  will-change: transform, opacity;
}

.product-lightbox__close {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 3;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 40px;
  height: 40px;
  padding: 0;

  border: 0;
  background: transparent;

  color: currentColor;
  font-size: 32px;
  line-height: 1;

  cursor: pointer;
}

.product-lightbox .main-product__zoom-icon {
  opacity: 1;
  pointer-events: none;
}

@media screen and (max-width: 749px) {
  .product-lightbox {
    padding: 16px;
  }

  .product-lightbox__stage {
    width: 100%;
    height: 100%;
  }

  .product-lightbox__stage img {
    max-width: 100%;
    max-height: 88svh;
  }

  .product-lightbox__close {
    top: 10px;
    right: 10px;
  }
}

/* Cart drawer */
.cart-drawer { position: fixed; inset: 0; z-index: 999; opacity: 0; pointer-events: none; transition: opacity .22s ease; }
.cart-drawer.is-open { opacity: 1; pointer-events: auto; }
.cart-drawer__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.cart-drawer__panel { position: absolute; right: 0; top: 0; bottom: 0; width: min(480px, 100vw); background: var(--silver-spoon-bg); transform: translateX(100%); transition: transform .26s ease; display: grid; grid-template-rows: auto 1fr auto; }
.cart-drawer.is-open .cart-drawer__panel { transform: translateX(0); }
.cart-drawer__header { display: flex; align-items: center; justify-content: space-between; padding: 18px; border-bottom: 1px solid var(--silver-spoon-border); }
.cart-drawer__header h2 { margin: 0; font-size: 14px; text-transform: uppercase; }
.cart-drawer__header button { font-size: 28px; line-height: 1; }
.cart-drawer__body { overflow: auto; padding: 0 18px; }
.cart-drawer__empty { padding: 28px 0; }
.cart-line { display: grid; grid-template-columns: 88px 1fr; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--silver-spoon-border); }
.cart-line__media { background: var(--silver-spoon-panel); }
.cart-line__media img { width: 88px; height: auto; object-fit: contain; }
.cart-line__info { display: grid; align-content: start; gap: 6px; }
.cart-line__title { font-weight: 600;}
.cart-line__variant { color: var(--silver-spoon-muted); }
.cart-line__controls { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.cart-line__controls button { border: 1px solid var(--silver-spoon-border); min-width: 24px; min-height: 24px; padding: 0 6px; }
.cart-drawer__footer { padding: 18px; border-top: 1px solid var(--silver-spoon-border); display: grid; gap: 14px; }
.cart-drawer__subtotal { display: flex; justify-content: space-between; text-transform: uppercase; font-weight: 800; }
.cart-drawer__dynamic { margin-top: 8px; }

/* Pages */
.silver-spoon-page, .silver-spoon-search, .main-cart-page, .silver-spoon-centered-page, .list-collections-page { min-height: 50svh; padding: clamp(50px, 8vw, 120px) 16px; max-width: 1100px; margin: 0 auto; }
.silver-spoon-page__header h1, .silver-spoon-centered-page h1, .list-collections-page__header h1, .silver-spoon-search h1, .main-cart-page h1 { margin: 0 0 30px; text-transform: uppercase; font-size: clamp(28px, 5vw, 70px); line-height: .95; letter-spacing: -.04em; }
.silver-spoon-centered-page { text-align: center; display: grid; justify-items: center; align-content: center; gap: 18px; }
.silver-spoon-centered-page img { max-width: 680px; width: 100%; margin-bottom: 16px; }
.silver-spoon-contact-form, .silver-spoon-search__form, .silver-spoon-auth__form { display: grid; gap: 10px; max-width: 560px; }
.silver-spoon-contact-form input, .silver-spoon-contact-form textarea, .silver-spoon-search__form input, .silver-spoon-auth__form input, .password-page input { width: 100%; border: 1px solid var(--silver-spoon-border); padding: 14px; background: var(--silver-spoon-bg); }
.silver-spoon-table { width: 100%; border-collapse: collapse; }
.silver-spoon-table th, .silver-spoon-table td { text-align: left; border-bottom: 1px solid var(--silver-spoon-border); padding: 12px; }
.silver-spoon-address-card { border: 1px solid var(--silver-spoon-border); padding: 16px; margin: 12px 0; }
.password-page { min-height: 100svh; display: grid; place-items: center; padding: 24px; }
.password-page__form { display: flex; width: min(460px, 100%); gap: 8px; }
.password-page__form .silver-spoon-button { width: auto; }

@media (max-width: 749px) {
  .site-header__desktop { display: none; }
  .site-header__mobile { display: flex; }
  .site-header__logo-text { font-size: 19px; }
  .image-banner { height: var(--banner-height-mobile); }
  .image-banner--home-hero { height: min(var(--banner-height-mobile), calc(100svh - var(--announcement-height, 0px) - var(--header-height, 0px))); min-height: 0; }
  .image-banner__content { width: 100%; padding: 20px; }
  .image-banner__content h2 { font-size: 20px; }
  .two-column-images { height: auto; min-height: 0; }
  .two-column-images--mobile-two { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .two-column-images--mobile-one { grid-template-columns: 1fr; }
  .two-column-images__item { height: var(--two-col-height-mobile); }
  .product-grid--row { grid-template-columns: repeat(var(--row-cols-mobile), minmax(0,1fr)); }
  .product-grid--collection { grid-template-columns: repeat(var(--collection-cols-mobile), minmax(0,1fr)); }
  .product-card__action { bottom: 24px; }
  .product-card__meta { padding: 8px 9px 14px; font-size: 10px; }
  .collection-tabs { padding: 32px 0 42px; }
  .collection-tabs__scroller { justify-content: flex-start; padding: 0 16px; scroll-snap-type: x mandatory; }
  .collection-tabs__tile { flex-basis: var(--mobile-tile-width); scroll-snap-align: start; }
  .collection-tabs__image { width: 100%; }
  .collection-toolbar { align-items: flex-start; flex-direction: column; padding: 16px; }
  .collection-toolbar__filters { justify-content: flex-start; gap: 12px; }
    .main-product__layout {
    display: block;
    padding-top: var(--main-product-padding-top, 0px);
    padding-bottom: var(--main-product-padding-bottom, 34px);
    border-bottom: var(--main-product-divider-width, 1px) solid var(--main-product-divider-color, var(--silver-spoon-border));
  }

  .main-product__desktop-gallery {
  display: none;
}

  .main-product__media-grid {
    display: none;
  }

  .main-product__mobile-slider {
  display: block;
  background: transparent;
}

.main-product__mobile-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.main-product__mobile-track {
  display: flex;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  touch-action: pan-x pan-y pinch-zoom;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  -webkit-overflow-scrolling: touch;
}

.main-product__mobile-track::-webkit-scrollbar {
  display: none;
}

.main-product__mobile-slider.is-pointer-down,
.main-product__mobile-slider.is-dragging,
.main-product__mobile-track.is-dragging {
  cursor: grabbing;
}

.main-product__mobile-track.is-dragging {
  scroll-snap-type: none;
  scroll-behavior: auto;
}

.main-product__mobile-slider.is-dragging,
.main-product__mobile-slider.is-dragging * {
  user-select: none;
  -webkit-user-select: none;
}

.main-product__mobile-slide {
  position: relative;
  display: block;
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  contain: paint;
  border: 0;
  border-radius: 0;
  background: var(--silver-spoon-panel);
  appearance: none;
  -webkit-appearance: none;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.main-product__mobile-slide img,
.main-product__mobile-slide video,
.main-product__mobile-slide model-viewer {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  object-fit: contain;
  transform-origin: center center;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}

.main-product__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 24px;
  padding: 10px 0;
  background: transparent;
}

.main-product__dots button {
  display: block;
  flex: 0 0 auto;
  width: 4px;
  height: 4px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.3);
  appearance: none;
  -webkit-appearance: none;
  transition:
    width 0.18s ease,
    background-color 0.18s ease;
}

.main-product__dots button.is-active {
  width: 10px;
  background: rgba(0, 0, 0, 0.85);
}

  .main-product__counter {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 26px;
  padding: 7px 12px 9px;
  background: var(--silver-spoon-panel);
  color: var(--silver-spoon-text);
  font-size: 11px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

  .main-product__info-wrap {
    padding: 20px 14px 0;
    min-height: 0;
  }

  .main-product__info {
    position: static;
    max-width: none;
    max-height: none;
    overflow: visible;
  }

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


  .main-product--sticky-mobile-purchase {
  position: relative;
  z-index: 100000;
}

.main-product--sticky-mobile-purchase
.product-form__purchase-panel {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;

  z-index: 2147483000;

  display: grid;
  gap: var(--sticky-mobile-panel-gap, 12px);

  width: 100%;
  max-height: min(72svh, 620px);

  overflow-x: hidden;
  overflow-y: auto;

  padding:
    12px
    14px
    calc(12px + env(safe-area-inset-bottom));

  background: var(--silver-spoon-bg);
  border-top: 1px solid var(--silver-spoon-border);
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.1);

  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.main-product--sticky-mobile-purchase
.product-form__options {
  gap: var(--sticky-mobile-panel-gap, 12px);
}

.main-product--sticky-mobile-purchase
.product-form__fieldset {
  gap: 0;
}

.main-product--sticky-mobile-purchase
.product-form__fieldset legend {
  margin: 0 0 var(--sticky-mobile-variant-label-gap, 6px);
}

.main-product--sticky-mobile-purchase
.product-form__values {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--sticky-mobile-variant-gap, 6px);
  width: 100%;
}

.main-product--sticky-mobile-purchase
.product-form__option {
  flex: var(--sticky-mobile-variant-flex, 1 1 0);
  min-width: 0;
}

.main-product--sticky-mobile-purchase
.product-form__option span {
  width: 100%;
  min-width: 0;
  padding-left: 8px;
  padding-right: 8px;
}

.main-product--sticky-mobile-purchase
.product-form__actions {
  position: static;
  display: grid;
  gap: var(--sticky-mobile-button-gap, 8px);

  width: 100%;
  padding: 0;

  background: transparent;
  border: 0;
  box-shadow: none;
}

.main-product--sticky-mobile-purchase
.product-form__add,
.main-product--sticky-mobile-purchase
.product-form__payment,
.main-product--sticky-mobile-purchase
.product-form__payment .shopify-payment-button,
.main-product--sticky-mobile-purchase
.product-form__payment .shopify-payment-button__button {
  width: 100% !important;
  max-width: none !important;
}

.main-product--sticky-mobile-purchase {
  padding-bottom: 0;
}
  .cart-drawer__panel { width: 100vw; }
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .site-footer__newsletter { grid-column: 1 / -1; }
  .site-footer__big-logo { font-size: clamp(48px, 18vw, 120px); }
  .password-page__form { display: grid; }
}

/* Footer */
.site-footer { background: var(--footer-bg); color: var(--footer-text); padding: 32px 18px 12px; overflow: hidden; }
.site-footer__grid { display: grid; grid-template-columns: 1.3fr repeat(4, 1fr); gap: clamp(24px, 5vw, 90px); align-items: start; }
.site-footer h2 { margin: 0 0 14px; font-size: 12px; text-transform: uppercase; }
.site-footer p { margin: 0 0 16px; color: var(--footer-muted); max-width: 260px; }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; color: var(--footer-muted); }
.site-footer__form { display: flex; max-width: 320px; border: 1px solid rgba(255,255,255,.12); }
.site-footer__form input { flex: 1; min-width: 0; background: transparent; color: var(--footer-text); border: 0; padding: 12px; }
.site-footer__form button { width: 42px; color: var(--footer-text); }
.site-footer__big-logo { display: block; color: var(--footer-text); font-size: clamp(70px, 12vw, 220px); line-height: .8; margin-top: clamp(60px, 10vw, 180px); width: 100%; }
.site-footer__big-logo img { width: 100%; height: auto; }

@media (max-width: 749px) {
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 26px 18px; }
  .site-footer__newsletter { grid-column: 1 / -1; }
  .site-footer__big-logo { font-size: clamp(48px, 18vw, 120px); margin-top: 70px; }
}

/* Silver Spoon v1.1 refinements */
.site-header { position: sticky; top: 0; z-index: 900; }
.site-header__logo-text { font-style: normal; transform: none; letter-spacing: -.02em; font-size: 18px; }
.site-header__logo-text, .site-footer__big-logo { font-style: normal; transform: none; }
.site-header__hamburger { width: 22px; height: 12px; align-content: center; gap: 4px; }
.site-header__hamburger span { height: 2px; }

.silver-spoon-button--banner { background: var(--banner-button-bg); color: var(--banner-button-text); border-color: var(--banner-button-border); border-width: var(--banner-button-border-width); }
.silver-spoon-button--banner:hover { opacity: 1; background: var(--banner-button-hover-bg); color: var(--banner-button-hover-text); border-color: var(--banner-button-hover-border); }
.image-banner__text-link { position: relative; text-transform: uppercase; font-weight: 800; font-size: 11px; line-height: 1.1; }
.image-banner__text-link::after, .two-column-images__label::after { content: ''; position: absolute; left: 0; right: auto; bottom: -3px; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left center; transition: transform .25s ease; }
.image-banner--underline .image-banner__link:hover .image-banner__text-link::after, .two-column-images--underline .two-column-images__item:hover .two-column-images__label::after { transform: scaleX(1); }
.two-column-images__label { position: absolute; }

.product-row__heading { padding: var(--row-heading-pt, 16px) 0 var(--row-heading-pb, 16px); min-height: 0; }
.product-grid {
  gap: var(--row-gap-desktop, var(--collection-gap-desktop, var(--row-gap, var(--collection-gap, 0px))));
}

.product-grid--row {
  column-gap: var(--row-gap-desktop, 0px);
  row-gap: var(--row-gap-vertical-desktop, 0px);
}
.product-card__meta {
  padding:
    var(--card-meta-pt, 10px)
    var(--card-meta-px, 12px)
    var(--card-meta-pb, 18px);
}
.product-card__action { left: 50%; right: auto; transform: translate(-50%, 8px); }
.product-card__action--left { left: 16px; right: auto; transform: translate(0, 8px); }
.product-card__action--right { right: 16px; left: auto; transform: translate(0, 8px); }
.product-card:hover .product-card__action--left, .product-card.is-action-visible .product-card__action--left, .product-card:hover .product-card__action--right, .product-card.is-action-visible .product-card__action--right { transform: translate(0, 0); }
.silver-spoon-button__icon { margin-right: 6px; font-size: 14px; line-height: 0; }
.fly-to-cart { position: fixed; z-index: 2000; pointer-events: none; width: 70px; height: 70px; object-fit: contain; background: var(--silver-spoon-panel); border-radius: 2px; transition: transform .55s cubic-bezier(.2,.75,.2,1), opacity .55s ease; }

.site-footer__form { border-color: var(--footer-input-border); }
.site-footer a { transition: color .18s ease; }
.site-footer a:hover { color: var(--footer-link-hover); }
.site-footer__big-logo { letter-spacing: -.04em; font-weight: 950; text-transform: uppercase; }
.site-footer__big-logo img { transform: none; font-style: normal; }

.main-product--single-media .main-product__media-item { grid-column: 1 / -1; }
.main-product__info { top: calc(var(--header-height, 46px) + 16px); }
.product-form__stock-dot { background: #00a135; }
.product-form__stock--low .product-form__stock-dot { background: #d9a700; }
.product-form__stock--out .product-form__stock-dot { background: #d20f0f; }
.product-form__option--muted span { opacity: .35; background: #f4f4f4; color: #777; }
.product-form__actions .silver-spoon-button, .product-form__payment .shopify-payment-button__button, .shopify-payment-button__button { min-height: 46px; height: 46px; border-radius: 0 !important; }
.product-accordion:last-child { border-bottom: 0; }

.collection-tabs { position: relative; }
.collection-tabs__scroller { gap: var(--tile-gap, 0px); -webkit-overflow-scrolling: touch; touch-action: pan-x; scroll-padding-left: 16px; }
.collection-tabs__scroller.is-overflow-left::before, .collection-tabs__scroller.is-overflow-right::after { content: ''; position: absolute; top: 0; bottom: 0; width: 58px; z-index: 5; pointer-events: none; flex: none; }
.collection-tabs__scroller.is-overflow-left::before { left: 0; background: linear-gradient(to right, var(--silver-spoon-bg), transparent); }
.collection-tabs__scroller.is-overflow-right::after { right: 0; background: linear-gradient(to left, var(--silver-spoon-bg), transparent); }
.collection-toolbar__stock { display: flex; align-items: center; gap: 14px; }
.collection-toolbar__sort { margin-left: auto; }
.collection-load-more { height: 1px; display: block; }

.cart-drawer__dynamic .shopify-cleanslate, .cart-drawer__dynamic [role="button"], .cart-drawer__dynamic button { width: 100% !important; }

@media (max-width: 749px) {
  .product-grid {
  gap: var(--row-gap-mobile, var(--collection-gap-mobile, var(--row-gap-desktop, var(--collection-gap-desktop, 0px))));
}

.product-grid--row {
  column-gap: var(--row-gap-mobile, 0px);
  row-gap: var(--row-gap-vertical-mobile, 0px);
}
  .cart-drawer__panel { width: var(--cart-mobile-width, 90vw); max-width: var(--cart-mobile-width, 90vw); }
  .collection-toolbar { gap: 14px; }
  .collection-toolbar__filters { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: center; }
  .collection-toolbar__stock { grid-column: 1 / -1; }
  .collection-toolbar__sort { justify-self: end; margin-left: 0; grid-column: 2; }
  .collection-tabs__scroller { overflow-x: scroll; justify-content: flex-start; }
  .product-form__actions { gap: 8px; }
}

/* Silver Spoon v1.2 refinements */
.site-header { position: sticky !important; top: 0 !important; z-index: 950 !important; }
.announcement-bar { position: relative; z-index: 40; }
.site-header__login-link { text-transform: uppercase; font-weight: 700; font-size: 11px; }
.site-header__logo-text { font-style: normal !important; transform: none !important; letter-spacing: -.015em; font-size: 16px; font-weight: 900; }
.site-footer__big-logo { font-style: normal !important; transform: none !important; letter-spacing: -.04em; font-weight: 950; }
.site-footer__big-logo img { transform: none !important; font-style: normal !important; }
.site-header__hamburger { height: 10px !important; align-content: center !important; gap: 3px !important; }
.site-header__hamburger span { height: 2px; }

.account-modal { position: fixed; inset: 0; z-index: 1200; opacity: 0; pointer-events: none; transition: opacity .22s ease; }
.account-modal.is-open { opacity: 1; pointer-events: auto; }
.account-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.account-modal__panel { position: absolute; top: 50%; left: 50%; width: min(440px, calc(100vw - 32px)); transform: translate(-50%, calc(-50% + 14px)); background: var(--silver-spoon-bg); color: #111; padding: 22px; transition: transform .24s ease; }
.account-modal.is-open .account-modal__panel { transform: translate(-50%, -50%); }
.account-modal__close { position: absolute; right: 12px; top: 8px; font-size: 28px; }
.account-modal h2 { margin: 0 0 18px; font-size: 16px; text-transform: uppercase; }
.account-modal__form { display: grid; gap: 10px; }
.account-modal__form input { width: 100%; border: 1px solid var(--silver-spoon-border); padding: 13px; background: var(--silver-spoon-bg); }
.account-modal__links { display: flex; justify-content: space-between; gap: 14px; color: var(--silver-spoon-muted); font-size: 11px; }
.mobile-menu__links button { text-align: left; text-transform: uppercase; font-weight: 800; }

.fly-to-cart { background: rgba(255,255,255,.96); box-shadow: 0 12px 34px rgba(0,0,0,.18); border: 1px solid rgba(0,0,0,.08); border-radius: 6px; object-fit: contain; }

.cart-drawer__shipping { display: flex; justify-content: space-between; text-transform: uppercase; font-weight: 800; font-size: 12px; }
.cart-line__controls { gap: 12px; }
.cart-line__controls button { min-width: 26px; min-height: 26px; }

.collection-tabs { position: relative; overflow: hidden; }
.collection-tabs::before, .collection-tabs::after { content: ''; position: absolute; top: 0; bottom: 0; width: 60px; z-index: 5; pointer-events: none; opacity: 0; transition: opacity .2s ease; }
.collection-tabs::before { left: 0; background: linear-gradient(to right, var(--silver-spoon-bg), transparent); }
.collection-tabs::after { right: 0; background: linear-gradient(to left, var(--silver-spoon-bg), transparent); }
.collection-tabs.has-overflow-left::before, .collection-tabs.has-overflow-right::after { opacity: 1; }
.collection-tabs__scroller::before, .collection-tabs__scroller::after { content: none !important; display: none !important; }
.collection-tabs__scroller { cursor: grab; }
.collection-tabs__scroller:active { cursor: grabbing; }

@media (max-width: 749px) {
  .cart-drawer__panel { width: var(--cart-mobile-width, 90vw) !important; max-width: var(--cart-mobile-width, 90vw) !important; }
  .site-header__logo-text { font-size: 17px; }
}

/* Silver Spoon v1.3 hard fixes */
.silver-spoon-sticky-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 2000 !important;
  width: 100%;
}
.silver-spoon-sticky-header .shopify-section,
.silver-spoon-sticky-header .site-header {
  position: relative !important;
  top: auto !important;
  z-index: auto !important;
}
.shopify-section:has(> .site-header) {
  position: relative !important;
  z-index: auto !important;
}
.site-footer__big-logo,
.site-footer__big-logo * {
  font-style: normal !important;
  transform: none !important;
}
.site-footer__big-logo img {
  object-fit: contain;
}
.fly-to-cart {
  transition: none !important;
  will-change: transform, opacity;
}
.product-card__action {
  transition: opacity .22s ease, transform .22s ease !important;
}


/* Silver Spoon v1.4 footer + sticky repair */
.silver-spoon-sticky-header,
#shopify-section-header,
.shopify-section:has(> .site-header) {
  position: sticky !important;
  top: 0 !important;
  z-index: 3000 !important;
  width: 100% !important;
}
.silver-spoon-sticky-header .site-header,
#shopify-section-header .site-header,
.shopify-section:has(> .site-header) .site-header {
  position: relative !important;
  top: auto !important;
  z-index: 1 !important;
}
:is(#shopify-section-footer, .silver-spoon-footer-section),
.shopify-section:has(> .site-footer) {
  display: block !important;
  width: 100% !important;
  clear: both !important;
}
.site-footer { min-height: 320px; }

/* v1.5 sticky header hardening */
.silver-spoon-sticky-header {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}
#shopify-section-header {
  position: relative !important;
  z-index: 9999 !important;
}
#shopify-section-announcement-bar {
  position: relative !important;
  z-index: 1 !important;
}



/* Footer full editor controls */
.site-footer {
  background: var(--footer-bg);
  color: var(--footer-text);
  padding: var(--footer-padding-top) var(--footer-padding-x) var(--footer-padding-bottom);
  overflow: hidden;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr));
  gap: var(--footer-grid-gap);
  align-items: start;
}

.site-footer h2 {
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 800;
  font-style: normal;
}

.site-footer p {
  margin: 0 0 16px;
  color: var(--footer-muted);
  max-width: 280px;
}

.site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.site-footer a {
  color: inherit;
  text-decoration: none;
  font-style: normal;
  transition: color .18s ease;
}

.site-footer a:hover {
  color: var(--footer-link-hover);
}

.site-footer__column a {
  color: var(--footer-muted);
}

.site-footer__form {
  display: flex;
  max-width: 340px;
  border: 1px solid var(--footer-input-border);
}

.site-footer__form input {
  flex: 1;
  min-width: 0;
  background: transparent;
  color: var(--footer-text);
  border: 0;
  padding: 12px;
  outline: 0;
}

.site-footer__form input::placeholder {
  color: var(--footer-muted);
}

.site-footer__form button {
  width: 44px;
  color: var(--footer-text);
  border: 0;
  background: transparent;
  cursor: pointer;
}

.site-footer__big-logo {
  display: flex;
  justify-content: var(--footer-big-logo-align, flex-start);
  width: 100%;
  margin-top: var(--footer-big-logo-margin-top);
  margin-bottom: var(--footer-big-logo-margin-bottom);
  color: var(--footer-text);
  text-decoration: none;
  font-style: normal !important;
  transform: none !important;
  letter-spacing: normal;
}

.site-footer__big-logo-text {
  display: block;
  font-size: clamp(56px, var(--footer-big-logo-size), 240px);
  line-height: .82;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: -.04em;
  font-style: normal !important;
  transform: none !important;
  white-space: nowrap;
}

.site-footer__big-logo-image {
  display: block;
  width: var(--footer-big-logo-image-width, 100%);
  height: auto;
  max-height: none;
  object-fit: contain;
  font-style: normal !important;
  transform: none !important;
}

@media (max-width: 749px) {
  .site-footer {
    padding-left: 16px;
    padding-right: 16px;
  }

  .site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 20px;
  }

  .site-footer__newsletter {
    grid-column: 1 / -1;
  }

  .site-footer__big-logo {
  margin-top: var(--footer-big-logo-margin-top);
  margin-bottom: var(--footer-big-logo-margin-bottom);
}

.site-footer__big-logo-image {
  width: var(--footer-big-logo-mobile-image-width, 100%);
}

  .site-footer__big-logo-text {
    font-size: clamp(48px, 18vw, 120px);
    white-space: normal;
  }
}





/* Mobile-specific footer logo image */
.site-footer__big-logo-image--mobile {
  display: none;
}

@media (max-width: 749px) {
  .site-footer__big-logo-image--desktop:not(:only-child) {
    display: none;
  }

  .site-footer__big-logo-image--mobile {
    display: block;
    width: var(--footer-big-logo-mobile-image-width, 100%);
  }
}





/* Make cart drawer sit above sticky header */
.silver-spoon-sticky-header,
#shopify-section-header,
#shopify-section-announcement-bar {
  z-index: 100 !important;
}

:is(#shopify-section-cart-drawer, .silver-spoon-cart-section) {
  position: relative;
  z-index: 9999 !important;
}

:is(#shopify-section-cart-drawer, .silver-spoon-cart-section) .cart-drawer,
:is(#shopify-section-cart-drawer, .silver-spoon-cart-section) [data-cart-drawer],
.cart-drawer {
  z-index: 9999 !important;
}

:is(#shopify-section-cart-drawer, .silver-spoon-cart-section) .cart-drawer__overlay,
.cart-drawer__overlay {
  z-index: 9998 !important;
}

:is(#shopify-section-cart-drawer, .silver-spoon-cart-section) .cart-drawer__panel,
.cart-drawer__panel {
  z-index: 10000 !important;
}





/* Rich text announcement bar */
.announcement-bar__inner p {
  margin: 0;
}

.announcement-bar__inner a {
  color: var(--announcement-link-color, currentColor);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.announcement-bar__inner a:hover {
  color: var(--announcement-link-hover-color, var(--announcement-link-color, currentColor));
}







@media (max-width: 749px) {
  body.template-product {
    padding-bottom: 132px;
  }

  .product-form__actions .silver-spoon-button,
  .product-form__actions .shopify-payment-button__button {
    width: 100%;
  }
}





@media (min-width: 750px) {
  .product-form__purchase-panel {
    display: grid;
    gap: 18px;
  }
}




/* Product Row controls
   Section spacing, product info spacing, and title underline
-------------------------------------------------------------- */

/* Product Row - Desktop section spacing */
.product-row {
  padding-top: var(--row-section-pt-desktop, 0px);
  padding-bottom: var(--row-section-pb-desktop, 0px);
  padding-left: var(--row-section-pl-desktop, 0px);
  padding-right: var(--row-section-pr-desktop, 0px);
}

/* Product Row - Mobile section spacing */
@media screen and (max-width: 749px) {
  .product-row {
    padding-top: var(--row-section-pt-mobile, 24px);
    padding-bottom: var(--row-section-pb-mobile, 24px);
    padding-left: var(--row-section-pl-mobile, 0px);
    padding-right: var(--row-section-pr-mobile, 0px);
  }
}

/* Remove the original universal grid gap so each line can be controlled. */
.product-row .product-card__meta {
  gap: 0;
}

.product-row .product-card__vendor {
  margin-bottom: var(--card-vendor-title-gap, 2px);
}

.product-row .product-card__title {
  margin-bottom: var(--card-title-price-gap, 4px);
}

@media screen and (max-width: 749px) {
  .product-row .product-card__title {
    margin-bottom: var(--card-title-price-gap-mobile, 4px);
  }
}

/* Product Row - Optional product information divider */

.product-row--info-divider .product-card__meta {
  border-top: none;
  padding-top: var(--card-divider-space-above, 10px);
}

.product-row--info-divider .product-card__meta::before {
  content: "";
  display: block;
  grid-column: 1 / -1;
  width: 100%;

  height: 0;
  min-height: 0;
  max-height: 0;

  border: 0;
  border-top: var(--card-info-divider-width, 1px) solid
    var(--card-info-divider-color, #D9D9D9);

  background: none;
  box-shadow: none;

  margin-bottom: var(--card-divider-space-below, 10px);
  box-sizing: border-box;
}

/* Product Row - Independent desktop/mobile price alignment */

@media screen and (min-width: 750px) {
.product-row--price-right-desktop .product-card__meta {
    grid-template-columns: minmax(0, 1fr) max-content;
    column-gap: var(--card-title-price-gap, 4px);
    align-content: start;
    align-items: baseline;
  }
  .product-row--price-right-desktop .product-card__vendor {
    grid-column: 1 / -1;
  }

  .product-row--price-right-desktop .product-card__title {
    grid-column: 1;
    grid-row: auto;
    min-width: 0;
    width: auto;
    margin-bottom: 0;
    text-align: left;
    justify-self: stretch;
    align-self: baseline;
    white-space: normal;
    overflow-wrap: break-word;
  }

.product-row--price-right-desktop .product-card__price {
  grid-column: 2;
  grid-row: auto;
  justify-self: end;
  align-self: baseline;
  width: auto;
  margin: 0;
  white-space: nowrap;
  text-align: right;
}
}

/* Product Row - Mobile title and price alignment */

@media screen and (max-width: 749px) {

  .product-row .product-card__meta {
    min-width: 0;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
  }

  .product-row .product-card__title {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal;
    grid-column: 1;
    grid-row: auto;
    justify-self: stretch;
  }

  .product-row .product-card__title-text {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Price below title - default */
  .product-row:not(.product-row--price-right-mobile)
  .product-card__price {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    width: max-content;
    max-width: 100%;
    text-align: left;
  }

  /* Price beside title - when enabled in the editor */
.product-row--price-right-mobile .product-card__meta {
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: var(--card-title-price-gap-mobile, 4px);
  align-content: start;
  align-items: baseline;
}

  .product-row--price-right-mobile .product-card__vendor {
    grid-column: 1 / -1;
  }

  .product-row--price-right-mobile .product-card__title {
    grid-column: 1;
    grid-row: auto;
    margin-bottom: 0;
    align-self: baseline;
  }

.product-row--price-right-mobile .product-card__price {
  grid-column: 2;
  grid-row: auto;
  justify-self: end;
  align-self: baseline;
  width: auto;
  min-width: 0;
  margin: 0;
  white-space: nowrap;
  text-align: right;
}
/* Mobile: Stack sale prices when aligned right */
.product-row--price-right-mobile
.product-card__price:has(.product-card__compare-price) {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 2px;
  text-align: right;
}

.product-row--price-right-mobile
.product-card__price:has(.product-card__compare-price)
.product-card__current-price {
  display: block;
  white-space: nowrap;
}

.product-row--price-right-mobile
.product-card__price:has(.product-card__compare-price)
.product-card__compare-price {
  display: block;
  white-space: nowrap;
  margin: 0;
}
}

/* If vendor is missing, the title naturally starts at the top
   with no unused vendor spacing. */
.product-row .product-card__meta > .product-card__title:first-child {
  margin-top: 0;
}

/* ============================================
   DBRMAN - PRODUCT ROW UNIFIED UNDERLINE
   ============================================ */

/* Remove old underline methods */
.product-row .product-card__title,
.product-row .product-card__title-text,
.product-row .product-card__price {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

.product-row .product-card__title-text {
  padding-bottom: 0 !important;
}

/* Disable old title pseudo-elements */
.product-row .product-card__title::after,
.product-row .product-card__title-text::after {
  content: none !important;
  display: none !important;
}

/* Reset both underline elements */
.product-row .product-card__price::after,
.product-row .product-card__meta::after {
  content: none;
  display: none;
}

/* Shared underline appearance */
.product-row .product-card__price::after,
.product-row .product-card__meta::after {
  height: 0;
  min-height: 0;
  border: 0;
  border-top: 1px solid var(
    --card-title-underline-color,
    #E4E4E4
  );
  background: transparent;
  box-shadow: none;

  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.25s ease;

  pointer-events: none;
}

/* --------------------------------------------
   PRICE BELOW TITLE - DESKTOP
   -------------------------------------------- */

@media screen and (min-width: 750px) {
  .product-row:not(.product-row--price-right-desktop)
  .product-card__price {
    position: relative;
    justify-self: start;
    width: max-content;
    max-width: 100%;
    padding-bottom: var(--card-title-underline-spacing, 6px);
  }

  .product-row:not(.product-row--price-right-desktop)
  .product-card__price::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
  }
}

/* --------------------------------------------
   PRICE BELOW TITLE - MOBILE
   -------------------------------------------- */

@media screen and (max-width: 749px) {
  .product-row:not(.product-row--price-right-mobile)
  .product-card__price {
    position: relative;
    justify-self: start;
    width: max-content;
    max-width: 100%;
    padding-bottom: var(--card-title-underline-spacing, 6px);
  }

  .product-row:not(.product-row--price-right-mobile)
  .product-card__price::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
  }
}

/* --------------------------------------------
   PRICE BESIDE TITLE - DESKTOP
   Full-width line beneath title and price
   -------------------------------------------- */

@media screen and (min-width: 750px) {
  .product-row--price-right-desktop
  .product-card__meta::after {
    content: "";
    display: block;
    grid-column: 1 / -1;
    grid-row: auto;
    width: 100%;
    margin-top: var(--card-title-underline-spacing, 6px);
    align-self: start;
  }
}

/* --------------------------------------------
   PRICE BESIDE TITLE - MOBILE
   Full-width line beneath title and price
   -------------------------------------------- */

@media screen and (max-width: 749px) {
  .product-row--price-right-mobile
  .product-card__meta::after {
    content: "";
    display: block;
    grid-column: 1 / -1;
    grid-row: auto;
    width: 100%;
    margin-top: var(--card-title-underline-spacing, 6px);
    align-self: start;
  }
}

/* --------------------------------------------
   ANIMATE THE CORRECT UNDERLINE
   -------------------------------------------- */

.product-row--underline-title
.product-card:hover
.product-card__price::after,
.product-row--underline-title
.product-card__price:focus-visible::after,
.product-row--underline-title
.product-card:hover
.product-card__meta::after,
.product-row--underline-title
.product-card:focus-within
.product-card__meta::after {
  transform: scaleX(1);
}

/* Disable underline when editor toggle is off */
.product-row:not(.product-row--underline-title)
.product-card__price::after,
.product-row:not(.product-row--underline-title)
.product-card__meta::after {
  content: none !important;
  display: none !important;
}



/* Product Row responsive button alignment and typography
-------------------------------------------------------------- */

.product-row .product-card__vendor {
  font-size: var(--card-vendor-size, 10px);
  font-weight: var(--card-vendor-weight, 700);
}

.product-row .product-card__title {
  font-size: var(--card-title-size, 12px);
  font-weight: var(--card-title-weight, 500);
}

.product-row .product-card__price {
  font-size: var(--card-price-size, 12px);
  font-weight: var(--card-price-weight, 400);
}

/* Desktop hover button alignment */

.product-row .product-card__action--desktop-left {
  left: 16px;
  right: auto;
  transform: translate(0, 8px);
}

.product-row .product-card__action--desktop-center {
  left: 50%;
  right: auto;
  transform: translate(-50%, 8px);
}

.product-row .product-card__action--desktop-right {
  right: 16px;
  left: auto;
  transform: translate(0, 8px);
}

.product-row
  .product-card:hover
  .product-card__action--desktop-left,
.product-row
  .product-card.is-action-visible
  .product-card__action--desktop-left,
.product-row
  .product-card:hover
  .product-card__action--desktop-right,
.product-row
  .product-card.is-action-visible
  .product-card__action--desktop-right {
  transform: translate(0, 0);
}

.product-row
  .product-card:hover
  .product-card__action--desktop-center,
.product-row
  .product-card.is-action-visible
  .product-card__action--desktop-center {
  transform: translate(-50%, 0);
}

@media screen and (max-width: 749px) {
  /* Reset desktop positioning before applying mobile alignment. */

  .product-row .product-card__action {
    right: auto;
    left: auto;
  }

  .product-row .product-card__action--mobile-left {
    left: 10px;
    right: auto;
    transform: translate(0, 8px);
  }

  .product-row .product-card__action--mobile-center {
    left: 50%;
    right: auto;
    transform: translate(-50%, 8px);
  }

  .product-row .product-card__action--mobile-right {
    right: 10px;
    left: auto;
    transform: translate(0, 8px);
  }

  .product-row
    .product-card:hover
    .product-card__action--mobile-left,
  .product-row
    .product-card.is-action-visible
    .product-card__action--mobile-left,
  .product-row
    .product-card:hover
    .product-card__action--mobile-right,
  .product-row
    .product-card.is-action-visible
    .product-card__action--mobile-right {
    transform: translate(0, 0);
  }

  .product-row
    .product-card:hover
    .product-card__action--mobile-center,
  .product-row
    .product-card.is-action-visible
    .product-card__action--mobile-center {
    transform: translate(-50%, 0);
  }
}












/* Two-column images responsive media
-------------------------------------------------------------- */

.two-column-images__media {
  width: 100%;
  height: 100%;
}

.two-column-images__media--desktop {
  display: block;
}

.two-column-images__media--mobile {
  display: none;
}

.two-column-images__visual {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 749px) {
  .two-column-images__media--desktop {
    display: none;
  }

  .two-column-images__media--mobile {
    display: block;
  }
}










/* Two-column image label typography and positioning
-------------------------------------------------------------- */

.two-column-images .two-column-images__item {
  position: relative;
}

.two-column-images .two-column-images__label {
  position: absolute;
  z-index: 2;
  display: block;
  width: max-content;
  max-width: calc(100% - (var(--two-col-label-x-desktop, 16px) * 2));
  margin: 0;

  font-size: var(--two-col-label-size-desktop, 12px);
  font-weight: var(--two-col-label-weight-desktop, 700);
  color: var(--two-col-label-color-desktop, #ffffff);

  line-height: 1.1;
  text-align: inherit;
}

/* Desktop horizontal alignment */

.two-column-images--desktop-align-left .two-column-images__label {
  left: var(--two-col-label-x-desktop, 16px);
  right: auto;
  transform: none;
  text-align: left;
}

.two-column-images--desktop-align-center .two-column-images__label {
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  text-align: center;
}

.two-column-images--desktop-align-right .two-column-images__label {
  right: var(--two-col-label-x-desktop, 16px);
  left: auto;
  transform: none;
  text-align: right;
}

/* Desktop vertical position */

.two-column-images--desktop-valign-top .two-column-images__label {
  top: var(--two-col-label-y-desktop, 16px);
  bottom: auto;
}

.two-column-images--desktop-valign-center .two-column-images__label {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

.two-column-images--desktop-valign-bottom .two-column-images__label {
  bottom: var(--two-col-label-y-desktop, 16px);
  top: auto;
}

/* Desktop combined center + center */

.two-column-images--desktop-align-center.two-column-images--desktop-valign-center .two-column-images__label {
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 749px) {
  .two-column-images .two-column-images__label {
    max-width: calc(100% - (var(--two-col-label-x-mobile, 10px) * 2));

    font-size: var(--two-col-label-size-mobile, 11px);
    font-weight: var(--two-col-label-weight-mobile, 700);
    color: var(--two-col-label-color-mobile, #ffffff);
  }

  .two-column-images--mobile-align-left .two-column-images__label {
    left: var(--two-col-label-x-mobile, 10px);
    right: auto;
    transform: none;
    text-align: left;
  }

  .two-column-images--mobile-align-center .two-column-images__label {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    text-align: center;
  }

  .two-column-images--mobile-align-right .two-column-images__label {
    right: var(--two-col-label-x-mobile, 10px);
    left: auto;
    transform: none;
    text-align: right;
  }

  .two-column-images--mobile-valign-top .two-column-images__label {
    top: var(--two-col-label-y-mobile, 10px);
    bottom: auto;
  }

  .two-column-images--mobile-valign-center .two-column-images__label {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }

  .two-column-images--mobile-valign-bottom .two-column-images__label {
    bottom: var(--two-col-label-y-mobile, 10px);
    top: auto;
  }

  .two-column-images--mobile-align-center.two-column-images--mobile-valign-center .two-column-images__label {
    transform: translate(-50%, -50%);
  }
}










/* Product Row heading alignment
-------------------------------------------------------------- */

.product-row .product-row__heading {
  display: flex;
  width: 100%;
}

.product-row--heading-desktop-left .product-row__heading {
  justify-content: flex-start;
  text-align: left;
}

.product-row--heading-desktop-center .product-row__heading {
  justify-content: center;
  text-align: center;
}

.product-row--heading-desktop-right .product-row__heading {
  justify-content: flex-end;
  text-align: right;
}

@media screen and (max-width: 749px) {
  .product-row--heading-mobile-left .product-row__heading {
    justify-content: flex-start;
    text-align: left;
  }

  .product-row--heading-mobile-center .product-row__heading {
    justify-content: center;
    text-align: center;
  }

  .product-row--heading-mobile-right .product-row__heading {
    justify-content: flex-end;
    text-align: right;
  }
}











/* Product accordion dynamic plus/minus icons
-------------------------------------------------------------- */

.product-accordion summary > span {
  font-size: 0;
  line-height: 1;
}

.product-accordion summary > span::before {
  content: "+";
  font-size: 14px;
}

.product-accordion[open] summary > span::before {
  content: "−";
}









/* =========================================================
   SILVER SPOON — CART DRAWER FOOTER TYPOGRAPHY
   ========================================================= */

.cart-drawer__shipping {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  text-transform: uppercase;
}

.cart-drawer__shipping-heading {
  flex: 0 0 auto;
  font-size: var(--shipping-heading-size-desktop, 12px);
  font-weight: var(--shipping-heading-weight, 800);
  line-height: 1.25;
}

.cart-drawer__shipping-message {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--shipping-message-size-desktop, 12px);
  font-weight: var(--shipping-message-weight, 800);
  line-height: 1.25;
  text-align: right;
  overflow-wrap: anywhere;
}

.cart-drawer__subtotal-heading {
  font-size: var(--subtotal-heading-size-desktop, 12px);
  font-weight: var(--subtotal-heading-weight, 800);
  line-height: 1.25;
}

.cart-drawer__subtotal-value {
  font-size: var(--subtotal-value-size-desktop, 12px);
  font-weight: var(--subtotal-value-weight, 800);
  line-height: 1.25;
  text-align: right;
}

.cart-drawer__checkout {
  font-size: var(--checkout-size-desktop, 11px);
  font-weight: var(--checkout-weight, 700);
}

/* Mobile cart footer */
@media (max-width: 749px) {
  .cart-drawer__footer {
    gap: 12px;
  }

  .cart-drawer__shipping-heading {
    font-size: var(--shipping-heading-size-mobile, 11px);
  }

  .cart-drawer__shipping-message {
    font-size: var(--shipping-message-size-mobile, 10px);
  }

  .cart-drawer__shipping--mobile-stacked {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

  .cart-drawer__shipping--mobile-row {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 12px;
  }

  .cart-drawer__shipping-message--left {
    text-align: left;
  }

  .cart-drawer__shipping-message--center {
    text-align: center;
  }

  .cart-drawer__shipping-message--right {
    text-align: right;
  }

  .cart-drawer__subtotal-heading {
    font-size: var(--subtotal-heading-size-mobile, 11px);
  }

  .cart-drawer__subtotal-value {
    font-size: var(--subtotal-value-size-mobile, 11px);
  }

  .cart-drawer__checkout {
    font-size: var(--checkout-size-mobile, 11px);
  }
}









/* =========================================================
   SILVER SPOON — CART DRAWER FOOTER VISIBILITY + SPACING
   ========================================================= */

.cart-drawer__shipping[hidden] {
  display: none !important;
}

.cart-drawer__shipping {
  margin-top: var(--cart-spacing-above-shipping, 0px);
}

.cart-drawer__subtotal {
  margin-top: var(--cart-spacing-above-subtotal, 0px);
}

.cart-drawer__checkout-form {
  margin-top: var(--cart-spacing-above-checkout, 8px);
}








/* =========================================================
   SILVER SPOON — COLLECTION TILE ORDER + DESKTOP DRAGGING
   ========================================================= */

.collection-tabs__scroller {
  justify-content: flex-start;
  overflow-x: auto;
  overflow-y: hidden;
  user-select: none;
  cursor: grab;
  touch-action: pan-x;
  scroll-behavior: smooth;
}

.collection-tabs__scroller.is-pointer-down,
.collection-tabs__scroller.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
}

.collection-tabs__scroller.is-dragging a {
  pointer-events: none;
}

.collection-tabs__tile {
  flex: 0 0 var(--desktop-tile-width, 118px);
}

.collection-tabs__image {
  width: 100%;
}

@media screen and (max-width: 749px) {
  .collection-tabs__tile {
    flex-basis: var(--mobile-tile-width, 65%);
  }
}












/* =========================================================
   SILVER SPOON — COLLECTION GRID PRODUCT ROW CONTROLS
   ========================================================= */

.main-collection {
  padding-top: var(--collection-section-pt-desktop, 0px);
  padding-bottom: var(--collection-section-pb-desktop, 0px);
}

.main-collection .product-grid--collection {
  gap: var(--collection-gap-desktop, 0px);
}

.main-collection .product-card__meta {
  gap: 0;
  padding:
    var(--card-meta-pt, 10px)
    var(--card-meta-px, 12px)
    var(--card-meta-pb, 18px);
}

.main-collection .product-card__vendor {
  margin-bottom: var(--card-vendor-title-gap, 2px);
  font-size: var(--card-vendor-size, 10px);
  font-weight: var(--card-vendor-weight, 700);
}

.main-collection .product-card__title {
  margin-bottom: var(--card-title-price-gap, 2px);
  font-size: var(--card-title-size, 12px);
  font-weight: var(--card-title-weight, 500);
}

/* Match Product Row when price is aligned beside title */
@media screen and (min-width: 750px) {
  .main-collection.product-row--price-right-desktop
  .product-card__title {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 749px) {
  .main-collection.product-row--price-right-mobile
  .product-card__title {
    margin-bottom: 0;
  }
}

.main-collection .product-card__price {
  font-size: var(--card-price-size, 12px);
  font-weight: var(--card-price-weight, 400);
}

.main-collection
  .product-card__meta
  > .product-card__title:first-child {
  margin-top: 0;
}

/* Collection grid title underline */

.main-collection .product-card__title-text {
  position: relative;
  display: inline;
  padding-bottom: 2px;
}

.main-collection .product-card__title-text::after {
  content: "";
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.25s ease;
}

.collection-grid--underline-title
  .product-card:hover
  .product-card__title-text::after,
.collection-grid--underline-title
  .product-card__title:focus-visible
  .product-card__title-text::after {
  transform: scaleX(1);
}

/* Collection grid desktop card button alignment */

.main-collection .product-card__action--desktop-left {
  left: 16px;
  right: auto;
  transform: translate(0, 8px);
}

.main-collection .product-card__action--desktop-center {
  left: 50%;
  right: auto;
  transform: translate(-50%, 8px);
}

.main-collection .product-card__action--desktop-right {
  left: auto;
  right: 16px;
  transform: translate(0, 8px);
}

.main-collection
  .product-card:hover
  .product-card__action--desktop-left,
.main-collection
  .product-card.is-action-visible
  .product-card__action--desktop-left,
.main-collection
  .product-card:hover
  .product-card__action--desktop-right,
.main-collection
  .product-card.is-action-visible
  .product-card__action--desktop-right {
  transform: translate(0, 0);
}

.main-collection
  .product-card:hover
  .product-card__action--desktop-center,
.main-collection
  .product-card.is-action-visible
  .product-card__action--desktop-center {
  transform: translate(-50%, 0);
}

@media screen and (max-width: 749px) {
  .main-collection {
    padding-top: var(--collection-section-pt-mobile, 0px);
    padding-bottom: var(--collection-section-pb-mobile, 0px);
  }

  .main-collection .product-grid--collection {
    gap: var(--collection-gap-mobile, 0px);
  }

  .main-collection .product-card__action {
    bottom: 10px;
  }

  .main-collection .product-card__action--mobile-left {
    left: 10px;
    right: auto;
    transform: translate(0, 8px);
  }

  .main-collection .product-card__action--mobile-center {
    left: 50%;
    right: auto;
    transform: translate(-50%, 8px);
  }

  .main-collection .product-card__action--mobile-right {
    left: auto;
    right: 10px;
    transform: translate(0, 8px);
  }

  .main-collection
    .product-card.is-action-visible
    .product-card__action--mobile-left,
  .main-collection
    .product-card.is-action-visible
    .product-card__action--mobile-right {
    transform: translate(0, 0);
  }

  .main-collection
    .product-card.is-action-visible
    .product-card__action--mobile-center {
    transform: translate(-50%, 0);
  }
}










/* Collection tile desktop mouse dragging fix */

.collection-tabs__scroller {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  scrollbar-width: none;
}

.collection-tabs__scroller::-webkit-scrollbar {
  display: none;
}

.collection-tabs__scroller img,
.collection-tabs__scroller a {
  -webkit-user-drag: none;
  user-drag: none;
}

.collection-tabs__scroller.is-pointer-down,
.collection-tabs__scroller.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto !important;
}

.collection-tabs__scroller.is-dragging {
  scroll-snap-type: none !important;
}

.collection-tabs__scroller.is-dragging a {
  pointer-events: none;
}









/* Product card hover zoom + Image Banner bottom spacing */

/* Product-card image zoom - active slide only */
@media (hover: hover) and (pointer: fine) {
  .product-card--image-zoom .product-card__image {
    transition: transform 0.35s cubic-bezier(.22, .61, .36, 1);
    transform-origin: center center;
  }

  .product-card--image-zoom:hover
  .product-card__media-slide.is-current-slide
  .product-card__image,
  .product-card--image-zoom:focus-within
  .product-card__media-slide.is-current-slide
  .product-card__image {
    transform: scale(var(--product-card-image-zoom, 1.1));
  }
}

/* Image Banner desktop bottom distance */
.image-banner__content--bottom-center,
.image-banner__content--bottom-left {
  bottom: var(--banner-content-bottom-desktop, 5vh);
}

/* Image Banner mobile bottom distance */
@media (max-width: 749px) {
  .image-banner__content--bottom-center,
  .image-banner__content--bottom-left {
    bottom: var(--banner-content-bottom-mobile, 5vh);
  }
}









/* Collapsible header search bar */

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.header-search-bar {
  position: relative;
  z-index: 940;
  width: 100%;
  max-height: var(--header-search-height-desktop, 46px);
  overflow: visible;
  background: var(--header-search-background, #fff);
  border-bottom: 1px solid var(--header-search-border, #e6e6e6);
  opacity: 1;
  visibility: visible;
  transition:
    max-height 0.28s cubic-bezier(.22, .61, .36, 1),
    opacity 0.18s ease,
    border-color 0.18s ease;
}

.header-search-bar.is-hidden-by-scroll {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  border-bottom-color: transparent;
  pointer-events: none;
}

.header-search-bar__form {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: var(--header-search-height-desktop, 46px);
  min-height: var(--header-search-height-desktop, 46px);
  background: var(--header-search-background, #fff);
}

.header-search-bar__input {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-width: 0;
  padding: 0 52px 0 18px;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--header-search-text, #111);
  font-size: var(--header-search-font-desktop, 11px);
  font-weight: var(--header-search-font-weight, 500);
  line-height: 1;
    text-transform: none;
  appearance: none;
  -webkit-appearance: none;
}

.header-search-bar__input::placeholder {
  color: var(--header-search-text, #111);
  opacity: 1;
}

.header-search-bar__input::-webkit-search-cancel-button {
  cursor: pointer;
}

.header-search-bar__submit {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  width: 52px;
  height: 100%;
  padding: 0;
  color: var(--header-search-icon, #111);
  background: transparent;
  border: 0;
}

.header-search-bar__input:focus-visible,
.header-search-bar__submit:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: -3px;
}

@media (max-width: 749px) {
  .header-search-bar {
    max-height: var(--header-search-height-mobile, 44px);
  }

  .header-search-bar.is-hidden-by-scroll {
    max-height: 0;
  }

  .header-search-bar__form {
    height: var(--header-search-height-mobile, 44px);
    min-height: var(--header-search-height-mobile, 44px);
  }

  .header-search-bar__input {
    padding-left: 14px;
    padding-right: 48px;
    font-size: var(--header-search-font-mobile, 11px);
  }

  .header-search-bar__submit {
    width: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .header-search-bar {
    transition: none;
  }
}











/* Header predictive product search */

.header-search-results {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1200;
  width: 100%;
  max-height: min(70vh, 560px);
  overflow-y: auto;
  background: var(--header-search-background, #fff);
  color: var(--header-search-text, #111);
  border-bottom: 1px solid var(--header-search-border, #e6e6e6);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.header-search-results[hidden] {
  display: none;
}

.header-search-results__list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.header-search-results__item {
  border-bottom: 1px solid var(--header-search-border, #e6e6e6);
}

.header-search-results__item:last-child {
  border-bottom: 0;
}

.header-search-results__link {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 9px 18px;
  color: inherit;
  text-decoration: none;
}

.header-search-results__link:hover,
.header-search-results__link:focus-visible {
  background: rgba(0, 0, 0, 0.035);
  outline: none;
}

.header-search-results__image {
  width: 64px;
  height: 64px;
  overflow: hidden;
  background: var(--silver-spoon-panel, #f4f4f4);
}

.header-search-results__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.header-search-results__placeholder {
  width: 100%;
  height: 100%;
  background: var(--silver-spoon-panel, #f4f4f4);
}

.header-search-results__details {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.header-search-results__vendor {
  color: var(--silver-spoon-muted, #777);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}

.header-search-results__title {
  overflow: hidden;
  font-size: 11px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.header-search-results__price {
  font-size: 10px;
}

.header-search-results__empty,
.header-search-results__view-all {
  display: block;
  padding: 16px 18px;
  font-size: 11px;
}

.header-search-results__view-all {
  font-weight: 700;
  text-transform: uppercase;
}

@media (max-width: 749px) {
  .header-search-results {
    max-height: min(60vh, 460px);
  }

  .header-search-results__link {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 72px;
    padding: 9px 14px;
  }

  .header-search-results__image {
    width: 54px;
    height: 54px;
  }
}








/* Global sticky header stacking fix */

.silver-spoon-sticky-header {
  position: sticky;
  top: 0;
  z-index: 2147483200;
  isolation: isolate;
}

.silver-spoon-sticky-header .site-header {
  position: relative !important;
  top: auto !important;
  z-index: 2 !important;
}

.silver-spoon-sticky-header .header-search-bar {
  z-index: 1;
}







/* Search divider + mobile header stacking correction */

/* Match the grey divider used beneath the main header */

/* Keep normal mobile product content beneath the header */
@media (max-width: 749px) {
  .main-product--sticky-mobile-purchase {
    z-index: auto;
  }

  .silver-spoon-sticky-header {
    position: sticky;
    top: 0;
    z-index: 2147483200;
    isolation: isolate;
  }

  .silver-spoon-sticky-header .site-header {
    position: relative !important;
    z-index: 2 !important;
  }

  .silver-spoon-sticky-header .header-search-bar {
    position: relative;
    z-index: 1;
  }
}







/* Guaranteed divider beneath search bar */

.header-search-bar {
  position: relative !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.header-search-bar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: block;
  width: 100%;
  height: 0.5px;
  background: var(--silver-spoon-border, #e6e6e6);
  pointer-events: none;
}

.header-search-bar.is-hidden-by-scroll::after {
  display: none;
}









/* Reserve space only while the active portal is enabled */

@media (max-width: 749px) {
  body.silver-spoon-body {
    padding-bottom: 0 !important;
  }

  body.silver-spoon-body.has-mobile-purchase-portal {
    padding-bottom:
      calc(
        var(--mobile-purchase-panel-height, 0px) +
        env(safe-area-inset-bottom)
      ) !important;
  }
}





/* Silver Spoon — Mobile purchase form portal */

@media (max-width: 749px) {
  body > form.product-form[data-mobile-purchase-portal] {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 2147483400 !important;

    display: block !important;
    width: 100% !important;
    max-height: min(72svh, 620px);
    margin: 0 !important;
    padding: 0 !important;

    overflow-x: hidden;
    overflow-y: auto;

    background: var(--silver-spoon-bg) !important;
    border-top: 1px solid var(--silver-spoon-border, #e6e6e6);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.1);

    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;

    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  body > form.product-form[data-mobile-purchase-portal]
  .product-form__purchase-panel {
    position: static !important;
    z-index: auto !important;

    display: grid !important;
    gap: var(--sticky-mobile-panel-gap, 12px);

    width: 100% !important;
    max-height: none !important;

    margin: 0 !important;
    padding:
      12px
      14px
      calc(12px + env(safe-area-inset-bottom));

    overflow: visible !important;

    background: var(--silver-spoon-bg) !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body > form.product-form[data-mobile-purchase-portal]
  .product-form__values {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--sticky-mobile-variant-gap, 6px);
    width: 100%;
  }

  body > form.product-form[data-mobile-purchase-portal]
  .product-form__option {
    flex: var(--sticky-mobile-variant-flex, 1 1 0);
    min-width: 0;
  }

  body > form.product-form[data-mobile-purchase-portal]
  .product-form__option span {
    width: 100%;
    min-width: 0;
    padding-left: 8px;
    padding-right: 8px;
  }

  body > form.product-form[data-mobile-purchase-portal]
  .product-form__actions {
    display: grid;
    gap: var(--sticky-mobile-button-gap, 8px);
    width: 100%;
  }

  body > form.product-form[data-mobile-purchase-portal]
  .product-form__add,
  body > form.product-form[data-mobile-purchase-portal]
  .product-form__payment,
  body > form.product-form[data-mobile-purchase-portal]
  .shopify-payment-button,
  body > form.product-form[data-mobile-purchase-portal]
  .shopify-payment-button__button {
    width: 100% !important;
    max-width: none !important;
  }

  body.silver-spoon-body {
    padding-bottom: 0 !important;
  }

  body.silver-spoon-body.has-mobile-purchase-portal {
    padding-bottom:
      calc(
        var(--mobile-purchase-panel-height, 0px) +
        env(safe-area-inset-bottom)
      ) !important;
  }
}





/* Silver Spoon — Disable desktop product-info stickiness on mobile */

@media (max-width: 749px) {
  .main-product__info,
  .main-product--desktop-split_two_column .main-product__info,
  .main-product--desktop-split_single_column .main-product__info,
  .main-product--desktop-split_carousel .main-product__info {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .main-product__info-wrap,
  .main-product--desktop-split_two_column .main-product__info-wrap,
  .main-product--desktop-split_single_column .main-product__info-wrap,
  .main-product--desktop-split_carousel .main-product__info-wrap {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
  }
}







/* ==========================================================
   SILVER SPOON — MENU DRAWER GLOBAL STACKING FIX
   Keeps the mobile menu above the header, search, cart,
   product media and sticky mobile purchase panel.
   ========================================================== */

html.mobile-menu-open,
body.mobile-menu-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

/*
  The menu lives inside .silver-spoon-sticky-header, so the entire
  header stacking context must be raised above body portals.
*/
body.mobile-menu-open .silver-spoon-sticky-header {
  z-index: 2147483646 !important;
  isolation: isolate;
}

/* Prevent the header itself from clipping the fixed drawer. */
body.mobile-menu-open .site-header {
  overflow: visible !important;
}

/* Full-screen menu layer. */
.mobile-menu {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100vh;
  z-index: 2147483646 !important;
  overflow: visible !important;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  isolation: isolate;
}

.mobile-menu.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

/* Overlay sits above all page content. */
.mobile-menu__overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100vw;
  height: 100dvh;
  min-height: 100vh;
  background: rgba(0, 0, 0, 0.45);
  pointer-events: auto !important;
  touch-action: none;
}

/* Drawer panel sits above its overlay. */
.mobile-menu__panel {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 2 !important;
  width: min(86vw, 360px);
  height: 100dvh;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  pointer-events: auto !important;
}

/* Keep the close button safely above the drawer contents. */
.mobile-menu__close {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: -10px 0 22px -10px;
  padding: 0;
  cursor: pointer;
  pointer-events: auto !important;
  touch-action: manipulation;
}

/* Disable competing fixed elements while the menu is open. */
body.mobile-menu-open > form.product-form[data-mobile-purchase-portal],
body.mobile-menu-open .cart-drawer,
body.mobile-menu-open [data-cart-drawer] {
  pointer-events: none !important;
}




/* Hide the separate header search layer while mobile menu is open */
html.mobile-menu-open .header-search-bar,
body.mobile-menu-open .header-search-bar,
html.mobile-menu-open .header-search-results,
body.mobile-menu-open .header-search-results {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

/* Keep the menu itself completely opaque above the hidden search bar */
body.mobile-menu-open .mobile-menu {
  z-index: 2147483647 !important;
}

body.mobile-menu-open .mobile-menu__overlay {
  z-index: 1 !important;
}

body.mobile-menu-open .mobile-menu__panel {
  z-index: 2 !important;
  background: var(--silver-spoon-bg) !important;
}








/* Product-card desktop/editor dragging states */

.product-card__media-slider.is-pointer-down,
.product-card__media-slider.is-dragging {
  cursor: grabbing;
}

.product-card__media-track.is-dragging {
  scroll-snap-type: none;
  scroll-behavior: auto;
}

.product-card__media-slider.is-dragging,
.product-card__media-slider.is-dragging * {
  user-select: none;
  -webkit-user-select: none;
}

.product-card__media-slider.is-dragging a {
  pointer-events: none !important;
}








/* ==========================================================
   SILVER SPOON — COLLECTION TILES RESPONSIVE CENTERING
   Centers short rows on desktop and enables full-width
   scrolling when the tiles overflow.
   ========================================================== */

.collection-tabs__scroller {
  display: flex;
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  justify-content: flex-start;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.collection-tabs__scroller::-webkit-scrollbar {
  display: none;
}

/*
  Center the row only when all tiles fit.
*/
@media screen and (min-width: 750px) {
  .collection-tabs__scroller.has-no-horizontal-overflow {
    justify-content: center;
  }

  .collection-tabs__scroller.has-horizontal-overflow {
    justify-content: flex-start;
  }
}

/*
  Preserve the existing left-aligned mobile swipe layout.
*/
@media screen and (max-width: 749px) {
  .collection-tabs__scroller,
  .collection-tabs__scroller.has-no-horizontal-overflow,
  .collection-tabs__scroller.has-horizontal-overflow {
    justify-content: flex-start;
  }
}

/*
  Tiles retain their chosen widths and never shrink
  simply to fit the desktop row.
*/
@media screen and (min-width: 750px) {
  .collection-tabs__tile {
    flex:
      0
      0
      var(--desktop-tile-width, 120px);
  }
}

@media screen and (max-width: 749px) {
  .collection-tabs__tile {
    flex:
      0
      0
      var(--mobile-tile-width, 65%);
  }
}

/*
  Desktop and Shopify Theme Editor dragging states.
*/
.collection-tabs__scroller.is-pointer-down,
.collection-tabs__scroller.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto !important;
}

.collection-tabs__scroller.is-dragging {
  scroll-snap-type: none !important;
}

.collection-tabs__scroller.is-dragging a {
  pointer-events: none !important;
}

.collection-tabs__scroller img {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}










/* ==========================================================
   SILVER SPOON — COLLECTION LIST PAGE REDESIGN
   Collection tiles above a full All Products grid.
   ========================================================== */

.list-collections-page-redesign {
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.list-collections-page-redesign .collection-tabs {
  padding:
    var(--list-collections-tiles-pt-desktop, 56px)
    0
    var(--list-collections-tiles-pb-desktop, 68px);
}

.list-collections-page-redesign .collection-tabs__scroller {
  gap: var(--tile-gap, 4px);
padding-left: var(--tiles-side-padding-desktop, 16px);
padding-right: var(--tiles-side-padding-desktop, 16px);
}

.list-collections-page-redesign .collection-tabs__tile {
  flex:
    0
    0
    var(--desktop-tile-width, 120px);
}

.list-collections-products {
  padding:
    var(--list-products-pt-desktop, 0px)
    0
    var(--list-products-pb-desktop, 0px);
}

.list-collections-products__heading {
  display: flex;
  align-items: center;
  min-height: 0;
  padding:
    var(--all-products-heading-pt, 24px)
    14px
    var(--all-products-heading-pb, 24px);

  border-top:
    var(--all-products-heading-line-width, 1px)
    solid
    var(--all-products-heading-line-color, var(--silver-spoon-border));

  border-bottom:
    var(--all-products-heading-line-width, 1px)
    solid
    var(--all-products-heading-line-color, var(--silver-spoon-border));

  background: var(--silver-spoon-bg);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
}

.list-collections-products__heading--desktop-left {
  justify-content: flex-start;
  text-align: left;
}

.list-collections-products__heading--desktop-center {
  justify-content: center;
  text-align: center;
}

.list-collections-products__heading--desktop-right {
  justify-content: flex-end;
  text-align: right;
}

.list-collections-page-redesign .product-grid {
  gap:
    var(
      --collection-gap-desktop,
      0px
    );
}

.list-collections-page-redesign .product-card__meta {
  padding:
    var(--card-meta-pt, 10px)
    var(--card-meta-px, 12px)
    var(--card-meta-pb, 18px);
}

.list-collections-page-redesign .product-card__vendor {
  margin-bottom: var(--card-vendor-title-gap, 2px);
  font-size: var(--card-vendor-size, 10px);
  font-weight: var(--card-vendor-weight, 700);
}

.list-collections-page-redesign .product-card__title {
  margin-bottom: var(--card-title-price-gap, 2px);
  font-size: var(--card-title-size, 12px);
  font-weight: var(--card-title-weight, 500);
}

.list-collections-page-redesign .product-card__price {
  font-size: var(--card-price-size, 12px);
  font-weight: var(--card-price-weight, 400);
}

@media screen and (max-width: 749px) {
  .list-collections-page-redesign .collection-tabs {
    padding:
      var(--list-collections-tiles-pt-mobile, 32px)
      0
      var(--list-collections-tiles-pb-mobile, 42px);
  }

  .list-collections-page-redesign .collection-tabs__tile {
    flex:
      0
      0
      var(--mobile-tile-width, 70%);
  }

  .list-collections-products {
    padding:
      var(--list-products-pt-mobile, 0px)
      0
      var(--list-products-pb-mobile, 0px);
  }

  .list-collections-page-redesign .product-grid {
    gap:
      var(
        --collection-gap-mobile,
        0px
      );
  }

  .list-collections-products__heading--mobile-left {
    justify-content: flex-start;
    text-align: left;
  }

  .list-collections-products__heading--mobile-center {
    justify-content: center;
    text-align: center;
  }

  .list-collections-products__heading--mobile-right {
    justify-content: flex-end;
    text-align: right;
  }
}










/* ==========================================================
   SILVER SPOON — COLLECTION TOOLBAR REDESIGN
   Balanced availability filters and sorting controls.
   ========================================================== */

.collection-toolbar {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) auto minmax(220px, 1fr);
  align-items: center;
  gap: 24px;

  min-height: 84px;
  padding: 18px 16px;

  background: var(--silver-spoon-bg);
  border-top: 1px solid var(--silver-spoon-border);
  border-bottom: 1px solid var(--silver-spoon-border);
}

.collection-toolbar__count {
  justify-self: start;

  color: var(--silver-spoon-muted);
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.collection-toolbar__filters {
  grid-column: 2 / 4;

  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;

  width: 100%;
  margin: 0;
}

/* Availability group */

.collection-toolbar__stock {
  display: flex;
  align-items: center;
  gap: 8px;
}

.collection-toolbar__checkbox {
  position: relative;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  min-height: 42px;
  padding: 0 14px;

  background: var(--silver-spoon-bg);
  border: 1px solid var(--silver-spoon-border);

  color: #111;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;

  cursor: pointer;
  user-select: none;

  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease;
}

.collection-toolbar__checkbox:hover {
  border-color: #aaa;
}

.collection-toolbar__checkbox-input {
  position: absolute;

  width: 1px;
  height: 1px;
  margin: 0;

  opacity: 0;
  pointer-events: none;
}

.collection-toolbar__checkbox-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 16px;
  height: 16px;
  flex: 0 0 16px;

  background: var(--silver-spoon-bg);
  border: 1px solid #bdbdbd;

  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease;
}

.collection-toolbar__checkbox-box svg {
  width: 10px;
  height: 8px;

  color: #fff;
  opacity: 0;
  transform: scale(0.75);

  transition:
    opacity 0.15s ease,
    transform 0.15s ease;
}

.collection-toolbar__checkbox-input:checked
  + .collection-toolbar__checkbox-box {
  background: #111;
  border-color: #111;
}

.collection-toolbar__checkbox-input:checked
  + .collection-toolbar__checkbox-box
  svg {
  opacity: 1;
  transform: scale(1);
}

.collection-toolbar__checkbox:has(
  .collection-toolbar__checkbox-input:checked
) {
  background: #f5f5f5;
  border-color: #111;
}

.collection-toolbar__checkbox-input:focus-visible
  + .collection-toolbar__checkbox-box {
  outline: 2px solid #111;
  outline-offset: 2px;
}

/* Sort control */

.collection-toolbar__sort {
  display: flex;
  align-items: center;
  gap: 10px;

  min-height: 42px;
  margin-left: 4px;

  white-space: nowrap;
}

.collection-toolbar__sort-label {
  color: var(--silver-spoon-muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
}

.collection-toolbar__select-wrap {
  position: relative;
  display: block;
  min-width: 190px;
}

.collection-toolbar__select-wrap select {
  display: block;

  width: 100%;
  height: 42px;
  min-height: 42px;

  padding: 0 42px 0 14px;

  appearance: none;
  -webkit-appearance: none;

  background: var(--silver-spoon-bg);
  border: 1px solid var(--silver-spoon-border);
  border-radius: 0;

  color: #111;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;

  cursor: pointer;

  transition:
    border-color 0.18s ease,
    background-color 0.18s ease;
}

.collection-toolbar__select-wrap select:hover {
  border-color: #aaa;
}

.collection-toolbar__select-wrap select:focus-visible {
  border-color: #111;
  outline: 2px solid #111;
  outline-offset: 2px;
}

.collection-toolbar__select-icon {
  position: absolute;
  top: 50%;
  right: 14px;

  width: 12px;
  height: 8px;

  transform: translateY(-50%);
  pointer-events: none;
}

/* Tablet */

@media screen and (max-width: 990px) and (min-width: 750px) {
  .collection-toolbar {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
  }

  .collection-toolbar__filters {
    grid-column: 2;
  }
}

/* Mobile */

@media screen and (max-width: 749px) {
  .collection-toolbar {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 14px 12px;

    min-height: 0;
    padding: 16px;
  }

  .collection-toolbar__count {
    grid-column: 1;
    grid-row: 1;
  }

  .collection-toolbar__filters {
    grid-column: 1 / -1;
    grid-row: 2;

    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;

    width: 100%;
  }

.collection-toolbar__stock {
  grid-column: 1 / -1;

  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(0, 1fr)
  );
  gap: 6px;

  width: 100%;
}


  .collection-toolbar__checkbox {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    gap: 5px;
    padding: 0 5px;
    font-size: 11px;
    font-weight: 600;
  }


  .collection-toolbar__sort {
    grid-column: 1 / -1;

    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;

    width: 100%;
    min-height: 44px;
    margin: 0;
  }

  .collection-toolbar__select-wrap {
    width: 100%;
    min-width: 0;
  }

  .collection-toolbar__select-wrap select {
    height: 44px;
    min-height: 44px;
  }
}








/* ==========================================================
   SILVER SPOON — SEARCH PAGE PRODUCT GRID
   Full-width search results matching collection pages.
   ========================================================== */

.main-search {
  width: 100%;
  max-width: none;
  min-height: 50svh;
  margin: 0;
  padding: 0;
}

.main-search__header {
  padding:
    var(--search-header-pt-desktop, 64px)
    16px
    var(--search-header-pb-desktop, 64px);

  background: var(--silver-spoon-bg);
}

.main-search__header-inner {
  display: grid;
  gap: 24px;

  width: min(
    100%,
    var(--search-header-max-width, 800px)
  );

  margin: 0 auto;
}

.main-search__heading {
  width: 100%;
  margin: 0;

  font-size: var(--search-heading-size-desktop, 48px);
  font-weight: var(--search-heading-weight, 700);
  line-height: 0.95;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.main-search__heading--desktop-left {
  text-align: left;
}

.main-search__heading--desktop-center {
  text-align: center;
}

.main-search__heading--desktop-right {
  text-align: right;
}

.main-search__form {
  display: block;
  width: 100%;
  max-width: none;
}

.main-search__input-wrap {
  position: relative;
  display: flex;
  width: 100%;
}

.main-search__input {
  display: block;

  width: 100%;
  height: 48px;
  min-height: 48px;

  padding: 0 52px 0 16px;

  background: var(--silver-spoon-bg);
  border: 1px solid var(--silver-spoon-border);
  border-radius: 0;

  color: var(--silver-spoon-text);
  font-size: 12px;

  appearance: none;
  -webkit-appearance: none;
}

.main-search__input:focus {
  border-color: #111;
  outline: 1px solid #111;
  outline-offset: -1px;
}

.main-search__input::-webkit-search-cancel-button {
  appearance: none;
  -webkit-appearance: none;
}

.main-search__submit {
  position: absolute;
  top: 0;
  right: 0;

  display: grid;
  place-items: center;

  width: 48px;
  height: 48px;

  color: currentColor;
  cursor: pointer;
}

.main-search__submit svg {
  width: 18px;
  height: 18px;
}

.main-search__term {
  color: var(--silver-spoon-muted);
  font-weight: 400;
  text-transform: none;
}

.main-search__grid {
  width: 100%;
}

.main-search .product-card__meta {
  padding:
    var(--card-meta-pt, 10px)
    var(--card-meta-px, 12px)
    var(--card-meta-pb, 18px);
}

.main-search .product-card__vendor {
  margin-bottom: var(--card-vendor-title-gap, 2px);
  font-size: var(--card-vendor-size, 10px);
  font-weight: var(--card-vendor-weight, 700);
}

.main-search .product-card__title {
  margin-bottom: var(--card-title-price-gap, 2px);
  font-size: var(--card-title-size, 12px);
  font-weight: var(--card-title-weight, 500);
}

.main-search .product-card__price {
  font-size: var(--card-price-size, 12px);
  font-weight: var(--card-price-weight, 400);
}

.main-search__empty {
  grid-column: 1 / -1;
  width: 100%;
  padding: 70px 16px;
  text-align: center;
}

.main-search__empty p {
  margin: 0;
}

.main-search__initial {
  min-height: 280px;
  padding: 70px 16px;
  text-align: center;
}

/*
  Keep a clean toolbar when Shopify does not provide an
  availability filter for a particular search.
*/
.main-search__toolbar
.collection-toolbar__filters:has(
  .collection-toolbar__sort:only-child
) {
  justify-content: flex-end;
}

@media screen and (max-width: 749px) {
  .main-search__header {
    padding:
      var(--search-header-pt-mobile, 40px)
      16px
      var(--search-header-pb-mobile, 40px);
  }

  .main-search__header-inner {
    gap: 18px;
  }

  .main-search__heading {
    font-size: var(--search-heading-size-mobile, 34px);
  }

  .main-search__heading--mobile-left {
    text-align: left;
  }

  .main-search__heading--mobile-center {
    text-align: center;
  }

  .main-search__heading--mobile-right {
    text-align: right;
  }

  .main-search__input,
  .main-search__submit {
    height: 46px;
    min-height: 46px;
  }

  .main-search__submit {
    width: 46px;
  }

  .main-search__term {
    display: block;
    margin-top: 5px;
  }
}









/* Search page predictive results */

.main-search__predictive-wrap {
  position: relative;
  width: 100%;
}

.main-search__predictive-results {
  top: calc(100% + 1px);
  z-index: 20;
  width: 100%;
  max-height: min(60vh, 520px);

  background: var(--silver-spoon-bg);
  border: 1px solid var(--silver-spoon-border);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
}

.main-search__predictive-results
.header-search-results__link {
  padding-left: 14px;
  padding-right: 14px;
}

.main-search__predictive-results
.header-search-results__view-all {
  border-top: 1px solid var(--silver-spoon-border);
}

@media screen and (max-width: 749px) {
  .main-search__predictive-results {
    max-height: min(55vh, 440px);
  }
}







/* =========================================================
   SILVER SPOON — FULL CART PAGE
   Matches the Search page header system
   ========================================================= */

.main-cart-page.main-cart-page--drawer-style {
  width: 100%;
  max-width: none;
  min-height: 50svh;
  margin: 0;
  padding:
    var(--main-cart-padding-top-desktop, 64px)
    16px
    var(--main-cart-padding-bottom-desktop, 64px);
}

.main-cart-page--drawer-style .main-cart-page__inner {
  display: grid;
  width: min(100%, var(--main-cart-max-width, 800px));
  max-width: var(--main-cart-max-width, 800px);
  margin: 0 auto;
}

.main-cart-page--drawer-style .main-cart-page__heading {
  width: 100%;
  margin: 0 0 48px;
  font-size: var(--main-cart-heading-size-desktop, 48px);
  font-weight: var(--main-cart-heading-weight, 700);
  line-height: 0.95;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.main-cart-page--drawer-style
  .main-cart-page__heading--desktop-left {
  text-align: left;
}

.main-cart-page--drawer-style
  .main-cart-page__heading--desktop-center {
  text-align: center;
}

.main-cart-page--drawer-style
  .main-cart-page__heading--desktop-right {
  text-align: right;
}

.main-cart-page--drawer-style .main-cart-page__body {
  width: 100%;
  border-top: 1px solid var(--silver-spoon-border);
}

.main-cart-page--drawer-style .main-cart-page__line {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 14px;
  width: 100%;
  padding: 18px 0;
  border-bottom: 1px solid var(--silver-spoon-border);
}

.main-cart-page--drawer-style .cart-line__media {
  display: block;
  width: 88px;
  height: 88px;
  background: var(--silver-spoon-panel);
}

.main-cart-page--drawer-style .cart-line__media img,
.main-cart-page--drawer-style .cart-line__media .silver-spoon-placeholder {
  display: block;
  width: 88px;
  height: 88px;
  min-height: 88px;
  object-fit: contain;
}

.main-cart-page--drawer-style .cart-line__info {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 6px;
  min-width: 0;
}

.main-cart-page--drawer-style .cart-line__title {
  font-weight: 600;
}

.main-cart-page--drawer-style .cart-line__variant {
  color: var(--silver-spoon-muted);
}

.main-cart-page--drawer-style .main-cart-page__line-price {
  margin-top: 1px;
}

.main-cart-page--drawer-style .cart-line__controls {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.main-cart-page--drawer-style .cart-line__controls button {
  display: inline-grid;
  place-items: center;
  min-width: 26px;
  width: 26px;
  min-height: 26px;
  height: 26px;
  padding: 0;
  border: 1px solid var(--silver-spoon-border);
  background: transparent;
  color: inherit;
  line-height: 1;
  cursor: pointer;
}

.main-cart-page--drawer-style .main-cart-page__footer {
  display: grid;
  width: 100%;
  padding-top: 18px;
}

.main-cart-page--drawer-style .main-cart-page__shipping,
.main-cart-page--drawer-style .main-cart-page__subtotal {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
}

.main-cart-page--drawer-style .main-cart-page__shipping {
  margin-top: var(--cart-spacing-above-shipping, 0px);
}

.main-cart-page--drawer-style .main-cart-page__subtotal {
  margin-top: var(--cart-spacing-above-subtotal, 0px);
}

.main-cart-page--drawer-style .main-cart-page__checkout-form {
  display: grid;
  width: 100%;
  margin-top: var(--cart-spacing-above-checkout, 8px);
}

.main-cart-page--drawer-style .cart-drawer__checkout {
  width: 100%;
}

.main-cart-page--drawer-style .main-cart-page__empty {
  display: grid;
  justify-items: center;
  justify-content: center;
  text-align: center;
  gap: 20px;
  width: 100%;
}

.main-cart-page--drawer-style .main-cart-page__empty p {
  margin: 0;
}

.main-cart-page--drawer-style .main-cart-page__empty-button {
  width: auto;
  min-width: 180px;
}

@media screen and (max-width: 749px) {
  .main-cart-page.main-cart-page--drawer-style {
    padding:
      var(--main-cart-padding-top-mobile, 40px)
      16px
      var(--main-cart-padding-bottom-mobile, 40px);
  }

  .main-cart-page--drawer-style .main-cart-page__heading {
    margin-bottom: 34px;
    font-size: var(--main-cart-heading-size-mobile, 34px);
  }

  .main-cart-page--drawer-style
    .main-cart-page__heading--mobile-left {
    text-align: left;
  }

  .main-cart-page--drawer-style
    .main-cart-page__heading--mobile-center {
    text-align: center;
  }

  .main-cart-page--drawer-style
    .main-cart-page__heading--mobile-right {
    text-align: right;
  }

  .main-cart-page--drawer-style .main-cart-page__line {
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 12px;
    padding: 16px 0;
  }

  .main-cart-page--drawer-style .cart-line__media,
  .main-cart-page--drawer-style .cart-line__media img,
  .main-cart-page--drawer-style .cart-line__media .silver-spoon-placeholder {
    width: 80px;
    height: 80px;
    min-height: 80px;
  }
}







.site-header__cart-link {
  color: inherit;
  font: inherit;
  font-weight: inherit;
  text-decoration: none;
}








/* ==========================================================
   SILVER SPOON — STANDARD PAGE / ABOUT
   Matches Search page heading styling
   ========================================================== */

.silver-spoon-page.silver-spoon-page--custom {
  width: 100%;
  max-width: none;
  min-height: 50svh;
  margin: 0;
  padding:
    var(--page-padding-top-desktop, 64px)
    16px
    var(--page-padding-bottom-desktop, 64px);
}

.silver-spoon-page--custom .silver-spoon-page-custom__inner {
  display: grid;
  justify-items: center;
  width: min(100%, var(--page-content-max-width, 800px));
  max-width: var(--page-content-max-width, 800px);
  margin: 0 auto;
}

.silver-spoon-page--custom .silver-spoon-page-custom__heading {
  width: 100%;
  margin: 0 0 24px;
  color: var(--page-heading-color, #111111);
  font-size: var(--page-heading-size-desktop, 48px);
  font-weight: var(--page-heading-weight, 700);
  line-height: 0.95;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.silver-spoon-page--custom
  .silver-spoon-page-custom__heading--desktop-left {
  text-align: left;
}

.silver-spoon-page--custom
  .silver-spoon-page-custom__heading--desktop-center {
  text-align: center;
}

.silver-spoon-page--custom
  .silver-spoon-page-custom__heading--desktop-right {
  text-align: right;
}

.silver-spoon-page--custom .silver-spoon-page-custom__content {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.silver-spoon-page--custom .silver-spoon-page-custom__content > *:first-child {
  margin-top: 0;
}

.silver-spoon-page--custom .silver-spoon-page-custom__content > *:last-child {
  margin-bottom: 0;
}

.silver-spoon-page--custom .silver-spoon-page-custom__content img {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 749px) {
  .silver-spoon-page.silver-spoon-page--custom {
    padding:
      var(--page-padding-top-mobile, 40px)
      16px
      var(--page-padding-bottom-mobile, 40px);
  }

  .silver-spoon-page--custom .silver-spoon-page-custom__heading {
    font-size: var(--page-heading-size-mobile, 34px);
  }

  .silver-spoon-page--custom
    .silver-spoon-page-custom__heading--mobile-left {
    text-align: left;
  }

  .silver-spoon-page--custom
    .silver-spoon-page-custom__heading--mobile-center {
    text-align: center;
  }

  .silver-spoon-page--custom
    .silver-spoon-page-custom__heading--mobile-right {
    text-align: right;
  }
}







/* ==========================================================
   SILVER SPOON — CONTACT PAGE
   ========================================================== */

.silver-spoon-page.silver-spoon-page--contact-custom {
  width: 100%;
  max-width: none;
  min-height: 50svh;
  margin: 0;
  padding:
    var(--contact-padding-top-desktop, 48px)
    16px
    var(--contact-padding-bottom-desktop, 80px);
}

.silver-spoon-page--contact-custom .silver-spoon-contact-custom__inner {
  display: grid;
  justify-items: center;
  width: min(100%, var(--contact-content-max-width, 600px));
  max-width: var(--contact-content-max-width, 600px);
  margin: 0 auto;
}

.silver-spoon-page--contact-custom .silver-spoon-contact-custom__heading {
  width: 100%;
  margin: 0 0 var(--contact-heading-subtitle-gap, 16px);
  color: var(--contact-heading-color, #111111);
  font-size: var(--contact-heading-size-desktop, 20px);
  font-weight: var(--contact-heading-weight, 700);
  line-height: 0.95;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.silver-spoon-page--contact-custom
  .silver-spoon-contact-custom__heading--desktop-left {
  text-align: left;
}

.silver-spoon-page--contact-custom
  .silver-spoon-contact-custom__heading--desktop-center {
  text-align: center;
}

.silver-spoon-page--contact-custom
  .silver-spoon-contact-custom__heading--desktop-right {
  text-align: right;
}

.silver-spoon-page--contact-custom .silver-spoon-contact-custom__subtitle {
  width: 100%;
  margin: 0 0 var(--contact-subtitle-form-gap, 24px);
  text-align: center;
}

.silver-spoon-page--contact-custom
  .silver-spoon-contact-custom__subtitle
  > *:first-child {
  margin-top: 0;
}

.silver-spoon-page--contact-custom
  .silver-spoon-contact-custom__subtitle
  > *:last-child {
  margin-bottom: 0;
}

.silver-spoon-page--contact-custom .silver-spoon-contact-custom__content {
  width: 100%;
  margin: 0 0 var(--contact-subtitle-form-gap, 24px);
  text-align: center;
}

.silver-spoon-page--contact-custom
  .silver-spoon-contact-custom__content
  > *:first-child {
  margin-top: 0;
}

.silver-spoon-page--contact-custom
  .silver-spoon-contact-custom__content
  > *:last-child {
  margin-bottom: 0;
}

.silver-spoon-page--contact-custom .silver-spoon-contact-custom__form {
  display: grid;
  gap: 10px;
  width: 100%;
  max-width: none;
  margin: 0 auto;
}

.silver-spoon-page--contact-custom .silver-spoon-contact-custom__top-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}

.silver-spoon-page--contact-custom .silver-spoon-contact-custom__form input,
.silver-spoon-page--contact-custom .silver-spoon-contact-custom__form textarea {
  width: 100%;
}

.silver-spoon-page--contact-custom .silver-spoon-contact-custom__form textarea {
  display: block;
  resize: vertical;
}

.silver-spoon-page--contact-custom .silver-spoon-contact-custom__form button {
  width: 100%;
}

.silver-spoon-page--contact-custom .form-status,
.silver-spoon-page--contact-custom .errors {
  width: 100%;
  margin: 0 0 10px;
  text-align: center;
}

@media screen and (max-width: 749px) {
  .silver-spoon-page.silver-spoon-page--contact-custom {
    padding:
      var(--contact-padding-top-mobile, 48px)
      16px
      var(--contact-padding-bottom-mobile, 80px);
  }

  .silver-spoon-page--contact-custom .silver-spoon-contact-custom__heading {
    font-size: var(--contact-heading-size-mobile, 20px);
  }

  .silver-spoon-page--contact-custom
    .silver-spoon-contact-custom__heading--mobile-left {
    text-align: left;
  }

  .silver-spoon-page--contact-custom
    .silver-spoon-contact-custom__heading--mobile-center {
    text-align: center;
  }

  .silver-spoon-page--contact-custom
    .silver-spoon-contact-custom__heading--mobile-right {
    text-align: right;
  }

  .silver-spoon-page--contact-custom .silver-spoon-contact-custom__top-row {
    grid-template-columns: 1fr;
  }
}










/* ==========================================================
   SILVER SPOON — 404 PAGE
   ========================================================== */

.silver-spoon-404-custom {
  width: 100%;
  min-height: 50svh;
  margin: 0;
  padding:
    var(--404-padding-top-desktop, 48px)
    16px
    var(--404-padding-bottom-desktop, 80px);
}

.silver-spoon-404-custom__inner {
  display: grid;
  justify-items: center;
  width: min(100%, var(--404-content-max-width, 600px));
  max-width: var(--404-content-max-width, 600px);
  margin: 0 auto;
  text-align: center;
}

.silver-spoon-404-custom__image {
  width: 100%;
  margin-bottom: 28px;
}

.silver-spoon-404-custom__image img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.silver-spoon-404-custom__heading {
  width: 100%;
  margin:
    0
    0
    var(--404-heading-text-gap, 16px);

  color: var(--404-heading-color, #111111);
  font-size: var(--404-heading-size-desktop, 20px);
  font-weight: var(--404-heading-weight, 700);
  line-height: 0.95;
  letter-spacing: -0.04em;
  text-align: center;
  text-transform: uppercase;
}

.silver-spoon-404-custom__text {
  width: 100%;
  margin:
    0
    0
    var(--404-text-button-gap, 24px);

  text-align: center;
}

.silver-spoon-404-custom__text > *:first-child {
  margin-top: 0;
}

.silver-spoon-404-custom__text > *:last-child {
  margin-bottom: 0;
}

.silver-spoon-404-custom__button {
  width: min(
    100%,
    var(--404-button-width-desktop, 240px)
  );
}

@media screen and (max-width: 749px) {
  .silver-spoon-404-custom {
    padding:
      var(--404-padding-top-mobile, 48px)
      16px
      var(--404-padding-bottom-mobile, 80px);
  }

  .silver-spoon-404-custom__heading {
    font-size: var(--404-heading-size-mobile, 20px);
  }

  .silver-spoon-404-custom__button {
    width: min(
      100%,
      var(--404-button-width-mobile, 220px)
    );
  }
}








/* ==========================================================
   SILVER SPOON — HEADER CART COUNT STYLES
   ========================================================== */

.site-header__cart-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--cart-count-gap, 4px);
  color: inherit;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header__cart-label {
  display: inline-block;
}

.site-header__cart-count-parentheses {
  display: inline;
  color: inherit;
  font: inherit;
}

/* Base badge */
.site-header__cart-badge {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;

  width: var(--cart-count-size-desktop, 18px);
  height: var(--cart-count-size-desktop, 18px);
  min-width: var(--cart-count-size-desktop, 18px);
  min-height: var(--cart-count-size-desktop, 18px);

  padding: 0;
  overflow: hidden;

  color: var(--cart-count-text-color, #ffffff);
  background: var(--cart-count-shape-color, #111111);

  font-size: var(--cart-count-font-size-desktop, 10px);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

/* Perfect circle */
.site-header__cart-badge--circle {
  border-radius: 50%;
}

/* Perfect square */
.site-header__cart-badge--square {
  border-radius: 0;
}

/* Perfect diamond */
.site-header__cart-badge--diamond {
  overflow: visible;
  margin-inline: 3px;
  transform: rotate(45deg);
  border-radius: 0;
}

.site-header__cart-badge--diamond .site-header__cart-badge-number {
  transform: rotate(-45deg);
}

/* Number layer */
.site-header__cart-badge-number {
  position: relative;
  z-index: 2;

  display: grid;
  place-items: center;

  width: 100%;
  height: 100%;
  min-width: 0;

  color: inherit;
  line-height: 1;
  text-align: center;
}

.site-header__cart-badge-number > [data-cart-count] {
  display: block;
  max-width: 100%;
  line-height: 1;
  white-space: nowrap;
}

/* Slightly shrink multi-digit values */
.site-header__cart-badge-number[data-cart-count-length="2"] {
  font-size: 0.88em;
}

.site-header__cart-badge-number[data-cart-count-length="3"] {
  font-size: 0.72em;
}

.site-header__cart-badge-number[data-cart-count-length="4"] {
  font-size: 0.62em;
}

/* Custom image base */
.site-header__cart-badge--image {
  overflow: hidden;
  padding: 0;
  background: var(--cart-count-shape-color, transparent);
}

.site-header__cart-badge-image {
  position: absolute;
  inset: 0;
  z-index: 1;

  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  pointer-events: none;
}

/* Keep uploaded image exactly as uploaded */
.site-header__cart-badge--image-shape-original {
  overflow: visible;
  background: transparent;
}

.site-header__cart-badge--image-shape-original
  .site-header__cart-badge-image {
  object-fit: contain;
}

/* Crop uploaded image into a circle */
.site-header__cart-badge--image-shape-circle {
  overflow: hidden;
  border-radius: 50%;
}

/* Crop uploaded image into a square */
.site-header__cart-badge--image-shape-square {
  overflow: hidden;
  border-radius: 0;
}

/* Crop uploaded image into a diamond */
.site-header__cart-badge--image-shape-diamond {
  overflow: hidden;
  margin-inline: 3px;
  transform: rotate(45deg);
  border-radius: 0;
}

.site-header__cart-badge--image-shape-diamond
  .site-header__cart-badge-number {
  transform: rotate(-45deg);
}

.site-header__cart-badge--image-shape-diamond
  .site-header__cart-badge-image {
  transform: rotate(-45deg) scale(1.42);
}

/* When Custom image is selected but none is uploaded */
.site-header__cart-badge--image:not(:has(.site-header__cart-badge-image)) {
  background: var(--cart-count-shape-color, #111111);
}

/* Mobile */
@media screen and (max-width: 749px) {
  .site-header__cart-badge {
    width: var(--cart-count-size-mobile, 18px);
    height: var(--cart-count-size-mobile, 18px);
    min-width: var(--cart-count-size-mobile, 18px);
    min-height: var(--cart-count-size-mobile, 18px);
    font-size: var(--cart-count-font-size-mobile, 9px);
  }
}








/* =========================================================
   PASSWORD TRIGGER — SEPARATE DESKTOP / MOBILE POSITION
   ========================================================= */

/* Desktop left */
.silver-spoon-password[data-trigger-position-desktop="left"]
  .silver-spoon-password__trigger {
  left: var(--sp-trigger-side-desktop);
  right: auto;
  transform: none;
}

/* Desktop center */
.silver-spoon-password[data-trigger-position-desktop="center"]
  .silver-spoon-password__trigger {
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}

/* Desktop right */
.silver-spoon-password[data-trigger-position-desktop="right"]
  .silver-spoon-password__trigger {
  left: auto;
  right: var(--sp-trigger-side-desktop);
  transform: none;
}

@media screen and (max-width: 749px) {
  /* Reset desktop positioning first */
  .silver-spoon-password .silver-spoon-password__trigger {
    top: var(--sp-trigger-top-mobile);
  }

  /* Mobile left */
  .silver-spoon-password[data-trigger-position-mobile="left"]
    .silver-spoon-password__trigger {
    left: var(--sp-trigger-side-mobile);
    right: auto;
    transform: none;
  }

  /* Mobile center */
  .silver-spoon-password[data-trigger-position-mobile="center"]
    .silver-spoon-password__trigger {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  /* Mobile right */
  .silver-spoon-password[data-trigger-position-mobile="right"]
    .silver-spoon-password__trigger {
    left: auto;
    right: var(--sp-trigger-side-mobile);
    transform: none;
  }
}






/* ==========================================================
   PRODUCT MEDIA PANEL COLOR
   Keep the panel color directly behind media only.
   Never allow it to peek around images or between slides.
   ========================================================== */

/* Product cards: Collection grid, Product Row, Related Products, etc. */
.product-card__media-wrap,
.product-card__media-slider,
.product-card__media-track,
.product-card__media-slide {
  background: transparent !important;
}

/* Keep product card media transparent so no faint panel edges appear */
.product-card__image {
  background: transparent !important;
}

/* Prevent fractional-pixel seams between carousel slides */
.product-card__media-track {
  gap: 0 !important;
}

.product-card__media-slide {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}


/* Main product page */
.main-product__desktop-gallery,
.main-product__media-grid,
.main-product__media-item,
.main-product__mobile-slider,
.main-product__mobile-track,
.main-product__mobile-slide {
  background: transparent !important;
}

/* Apply panel color to the actual product media only */
.main-product__media-item > img,
.main-product__media-item > video,
.main-product__media-item > model-viewer,
.main-product__mobile-slide > img,
.main-product__mobile-slide > video,
.main-product__mobile-slide > model-viewer {
  background: var(--silver-spoon-panel) !important;
}

/* Prevent tiny edges or seams around product-page media */
.main-product__media-item,
.main-product__mobile-slide {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}


/* Cart drawer and cart page */
.cart-line__media {
  background: transparent !important;
  overflow: hidden;
}

.cart-line__media img {
  display: block;
  background: var(--silver-spoon-panel) !important;
  border: 0 !important;
  outline: 0 !important;
}

/* Remove vertical dividers between Product Row and Related Product cards */
.product-row .product-card,
.product-row .product-card__wrapper,
.product-row .product-card__media-wrap,
.product-row .product-card__media-slider {
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
}

/* Catch divider pseudo-elements */
.product-row .product-card::before,
.product-row .product-card::after,
.product-row .product-card__wrapper::before,
.product-row .product-card__wrapper::after {
  display: none !important;
  content: none !important;
}







/* =========================================================
   DESKTOP PRODUCT CAROUSEL:
   Never expose the panel color outside the actual media
   ========================================================= */

@media screen and (min-width: 750px) {
  .main-product--desktop-split_carousel
    .main-product__desktop-gallery,
  .main-product--desktop-split_carousel
    .main-product__media-grid,
  .main-product--desktop-split_carousel
    .main-product__media-item {
    background: transparent !important;
  }

  .main-product--desktop-split_carousel
    .main-product__media-item {
    padding: 0 !important;
    overflow: hidden;
  }

  .main-product--desktop-split_carousel
    .main-product__media-item img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center;
    background: transparent !important;
  }
}






/* Collection tile borders */
.collection-tabs__image {
  border-style: solid !important;
  border-width: var(--inactive-border-width, 1px) !important;
  border-color: var(--inactive-border-color, #e6e6e6) !important;
  box-sizing: border-box;
}

.collection-tabs__tile.is-active .collection-tabs__image {
  border-width: var(--active-border-width, 1px) !important;
  border-color: var(--active-border-color, #111111) !important;
}





/* Active collection title underline — desktop and mobile */
.collection-tabs.collection-tabs--underline-active
.collection-tabs__tile.is-active > span:last-child {
  display: inline-block !important;
  width: auto !important;
  padding-bottom: 2px !important;
  border-bottom: 1px solid currentColor !important;
  text-decoration: none !important;
}



@media screen and (min-width: 750px) {
  .collection-tabs.collection-tabs--underline-active
  .collection-tabs__tile.is-active > span:last-child {
    line-height: 1.1 !important;
    padding-bottom: 2px !important;
    align-self: start !important;
    justify-self: center !important;
  }
}





/* ==========================================================
   MOBILE MENU EXPANDABLE SUBMENUS
   ========================================================== */

.mobile-menu__links {
  display: block;
}

.mobile-menu__item {
  width: 100%;
}

.mobile-menu__item + .mobile-menu__item {
  margin-top: 18px;
}

.mobile-menu__item-row,
.mobile-menu__submenu-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
}

.mobile-menu__link,
.mobile-menu__submenu-link {
  display: block;
  min-width: 0;
  text-decoration: none;
}

.mobile-menu__link {
  flex: 1 1 auto;
}

.mobile-menu__submenu-toggle {
  position: relative;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  margin: -8px -8px -8px 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: currentColor;
  cursor: pointer;
  touch-action: manipulation;
}

.mobile-menu__submenu-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  transform: translate(-50%, -50%);
}

.mobile-menu__submenu-icon::before,
.mobile-menu__submenu-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
}

.mobile-menu__submenu-icon::before {
  width: 14px;
  height: 1.5px;
}

.mobile-menu__submenu-icon::after {
  width: 1.5px;
  height: 14px;
}

/* Hide the vertical line to turn plus into minus. */
.mobile-menu__submenu-toggle[aria-expanded="true"]
  .mobile-menu__submenu-icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(0);
}

.mobile-menu__submenu[hidden] {
  display: none !important;
}

.mobile-menu__submenu {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 0 0 2px 16px;
}

.mobile-menu__submenu-item {
  width: 100%;
}

.mobile-menu__submenu-link {
  flex: 1 1 auto;
  font-size: 14px;
  font-weight: 700;
}

.mobile-menu__submenu--nested {
  gap: 10px;
  margin-top: 10px;
  padding-left: 16px;
}

.mobile-menu__submenu-link--nested {
  font-size: 12px;
  font-weight: 600;
  opacity: 0.75;
}

.mobile-menu__submenu-toggle--nested {
  flex-basis: 36px;
  width: 36px;
  height: 36px;
}







/* Cart drawer above every theme element */
:is(#shopify-section-cart-drawer, .silver-spoon-cart-section) {
  position: relative;
  z-index: 2147483647 !important;
}

.cart-drawer {
  z-index: 2147483647 !important;
}

/* The complete cart layer is non-clickable while closed */
.cart-drawer[aria-hidden="true"] {
  pointer-events: none !important;
}

/* Restore clicks only after the cart opens */
.cart-drawer.is-open[aria-hidden="false"] {
  pointer-events: auto !important;
}

.cart-drawer__overlay {
  z-index: 1 !important;
}

.cart-drawer__panel {
  z-index: 2 !important;
}





.product-card__compare-price {
  margin-left: 6px;
  opacity: 0.55;
  text-decoration: line-through;
}





@media screen and (min-width: 750px) {
  .main-product--desktop-split_carousel
  .main-product__media-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .main-product--desktop-split_carousel
  .main-product__media-item img {
    width: auto !important;
    height: auto !important;

    max-width: 100% !important;
    max-height: 100% !important;

    object-fit: contain !important;
    object-position: center center !important;

    margin: auto !important;
  }
}








/* Fix Chrome fractional-pixel bleed from next product image */
.product-card__media-slider::after { content: none; }








/* Collection List product-card hover button alignment */
.list-collections-page-redesign .product-card__action--desktop-left {
  left: 16px;
  right: auto;
  transform: translate(0, 8px);
}

.list-collections-page-redesign .product-card__action--desktop-center {
  left: 50%;
  right: auto;
  transform: translate(-50%, 8px);
}

.list-collections-page-redesign .product-card__action--desktop-right {
  left: auto;
  right: 16px;
  transform: translate(0, 8px);
}

.list-collections-page-redesign
.product-card:hover
.product-card__action--desktop-left,
.list-collections-page-redesign
.product-card.is-action-visible
.product-card__action--desktop-left,
.list-collections-page-redesign
.product-card:hover
.product-card__action--desktop-right,
.list-collections-page-redesign
.product-card.is-action-visible
.product-card__action--desktop-right {
  transform: translate(0, 0);
}

.list-collections-page-redesign
.product-card:hover
.product-card__action--desktop-center,
.list-collections-page-redesign
.product-card.is-action-visible
.product-card__action--desktop-center {
  transform: translate(-50%, 0);
}








/* Collection arrows */
.collection-tabs {
  position: relative;
}

.collection-tabs__arrows {
  pointer-events: none;
}

.collection-tabs__arrow {
  position: absolute;
  z-index: 10;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid var(--silver-spoon-border);
  background: var(--silver-spoon-bg);
  color: var(--silver-spoon-text);

  pointer-events: auto;
  cursor: pointer;
}

.collection-tabs__arrow--left {
  left: 12px;
}

.collection-tabs__arrow--right {
  right: 12px;
}

.collection-tabs__arrow[hidden] {
  display: none !important;
}


/* DEFAULT COLLECTION — desktop */
@media screen and (min-width: 750px) {
  .collection-tabs:not(.collection-tabs--list) .collection-tabs__arrow {
  top: calc(
    var(--collection-tabs-padding-top, 56px)
    + (var(--desktop-tile-width, 120px) / 2)
  );
  transform: translateY(-50%);

  width: 36px;
  height: 36px;
}

  /* COLLECTION LIST — desktop */
  .collection-tabs--list .collection-tabs__arrow {
    top: calc(
      var(--list-collections-tiles-pt-desktop, 56px)
      + (var(--desktop-tile-width, 120px) / 2)
    );
    transform: translateY(-50%);

    width: 36px;
    height: 36px;
  }
}


/* MOBILE */
@media screen and (max-width: 749px) {
  .collection-tabs__arrow {
    /*
      Mobile tiles are 65% wide by default.
      16vw ≈ 25% of a 65vw image.
    */
    width: clamp(28px, 16vw, 42px);
    height: clamp(28px, 16vw, 42px);

    font-size: 13px;
  }

  .collection-tabs__arrow--left {
    left: 8px;
  }

  .collection-tabs__arrow--right {
    right: 8px;
  }

  .collection-tabs:not(.collection-tabs--list) .collection-tabs__arrow {
  top: calc(
    var(--collection-tabs-padding-top-mobile, 32px)
    + 32.5vw
  );
  transform: translateY(-50%);
}

  .collection-tabs--list .collection-tabs__arrow {
    top: calc(
      var(--list-collections-tiles-pt-mobile, 32px)
      + 32.5vw
    );
    transform: translateY(-50%);
  }
}









.site-header__desktop-left {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.site-header__desktop-hamburger {
  display: grid;
  width: 22px;
  height: 10px;
  align-content: center;
  gap: 3px;
  flex: 0 0 auto;
}

@media screen and (max-width: 749px) {
  .site-header__desktop-hamburger {
    display: none;
  }
}








.mobile-menu__link,
.mobile-menu__submenu-link,
.mobile-menu__links button {
  font-weight: 600 !important;
}







.mobile-menu__panel {
  display: flex;
  flex-direction: column;
}

.mobile-menu__links {
  flex: 0 0 auto;
}

.mobile-menu__logo {
  margin-top: auto;
  padding-top: 32px;
  display: flex;
  justify-content: center;
  width: 100%;
}

.mobile-menu__logo a {
  display: flex;
  justify-content: left;
  width: 100%;
}

/* DBRMAN - Hamburger menu logo sizing */

.mobile-menu__logo-image {
  display: block;
  width: 100%;
  max-width: var(--menu-logo-width-desktop, 80px);
  height: auto;
  object-fit: contain;
}

@media screen and (max-width: 749px) {
  .mobile-menu__logo-image {
    max-width: var(--menu-logo-width-mobile, 80px);
  }
}






/* Hide header search while login modal is open */
body.login-modal-open .header-search-bar,
body.login-modal-open .header-search-results {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

/* Portable header menu: keep hamburger drawer navigation in one vertical column. */
.mobile-menu__links {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: 100% !important;
}
.mobile-menu__links > .mobile-menu__item {
  display: block !important;
  width: 100% !important;
  margin-top: 0 !important;
}
.mobile-menu__item-row,
.mobile-menu__submenu-row {
  width: 100% !important;
}
.mobile-menu__link {
  width: 100%;
  text-align: left;
}

/* ============================================================
   DBRMAN — PRODUCT FORM & SIZE GUIDE
   Consolidated desktop/mobile rules. Keep this block after
   the base theme rules to preserve the intended cascade.
   ============================================================ */


/* Desktop variant stretching */
@media screen and (min-width: 750px) {

  .main-product--stretch-desktop
  .product-form__values:not(.product-form__values--swatches) {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
  }

  .main-product--stretch-desktop
  .product-form__values:not(.product-form__values--swatches)
  > .product-form__option {
    flex: 1 1 0 !important;
    min-width: 0;
  }

  .main-product--stretch-desktop
  .product-form__values:not(.product-form__values--swatches)
  > .product-form__option > span {
    display: flex;
    width: 100%;
    min-width: 0;
    padding: 0 6px;
    justify-content: center;
  }

  .main-product:not(.main-product--stretch-desktop)
  .product-form__values:not(.product-form__values--swatches)
  > .product-form__option {
    flex: 0 0 auto !important;
  }

}


/* Mobile variant stretching, including the form moved to <body> by JS */
@media (max-width: 749px) {
  .main-product--stretch-mobile .product-form__values:not(.product-form__values--swatches),
  body > form.product-form[data-mobile-purchase-portal] .product-form__values:not(.product-form__values--swatches) {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
  }
  .main-product--stretch-mobile .product-form__values:not(.product-form__values--swatches) > .product-form__option {
    flex: 1 1 0 !important;
    min-width: 0;
  }
  .main-product--stretch-mobile .product-form__values:not(.product-form__values--swatches) > .product-form__option > span {
    width: 100%;
    min-width: 0;
    padding-inline: 4px;
  }
  .main-product:not(.main-product--stretch-mobile) .product-form__values:not(.product-form__values--swatches) > .product-form__option {
    flex: 0 0 auto !important;
  }
  /* Portal mode inherits its stretch choice through this custom property. */
  body > form.product-form[data-mobile-purchase-portal] .product-form__option {
    flex: var(--sticky-mobile-variant-flex, 1 1 0);
    min-width: 0;
  }
}

/* Size Guide link and stock row */
.silver-spoon-size-guide__stock-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}
.silver-spoon-size-guide__stock-row .product-form__stock { flex: 1; min-width: 0; }
.silver-spoon-size-guide__link {
  appearance: none;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-size: 11px;
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
  cursor: pointer;
}
.silver-spoon-size-guide__link--no-underline { text-decoration: none; }
.silver-spoon-size-guide__link--bold { font-weight: 700; }
.silver-spoon-size-guide__link--variant,
.silver-spoon-variant-heading { display: none; }
.product-form__fieldset { position: relative; }

/* Mobile: Size Guide always beside the option name, sticky ON or OFF. */
@media (max-width: 749px) {
  .main-product .product-form__fieldset > legend[data-selected-option-label],
  body > form.product-form[data-mobile-purchase-portal] .product-form__fieldset > legend[data-selected-option-label] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  .main-product .product-form__fieldset > .silver-spoon-variant-heading,
  body > form.product-form[data-mobile-purchase-portal] .product-form__fieldset > .silver-spoon-variant-heading {
    display: flex !important;
    position: static !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-width: 0;
    margin: 0 0 6px;
  }
  .silver-spoon-variant-heading__name { color: #333; font: inherit; min-width: 0; }
  .main-product .silver-spoon-variant-heading > .silver-spoon-size-guide__link--variant,
  body > form.product-form[data-mobile-purchase-portal] .silver-spoon-variant-heading > .silver-spoon-size-guide__link--variant {
    display: inline-block !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    flex: 0 0 auto;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    z-index: auto;
  }
  .main-product .silver-spoon-size-guide__stock-row .silver-spoon-size-guide__link--stock,
  .main-product .silver-spoon-size-guide__stock-row--alone,
  body > form.product-form[data-mobile-purchase-portal] .silver-spoon-size-guide__stock-row .silver-spoon-size-guide__link--stock,
  body > form.product-form[data-mobile-purchase-portal] .silver-spoon-size-guide__stock-row--alone {
    display: none !important;
  }
}

/* Popup shell */
.silver-spoon-size-guide {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.silver-spoon-size-guide.is-open { display: flex; }
.silver-spoon-size-guide__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.76); }
.silver-spoon-size-guide__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 700px);
  max-height: min(85dvh, 780px);
  overflow: auto;
  padding: clamp(20px, 3vw, 36px) clamp(20px, 3vw, 36px) 0;
  border-radius: 2px;
  background: var(--silver-spoon-bg);
  color: #171717;
  box-shadow: 0 16px 60px #0005;
}
.silver-spoon-size-guide__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid #ddd;
}
.silver-spoon-size-guide__heading h2 { margin: 0; font-size: 18px; font-weight: 700; text-transform: uppercase; }
.silver-spoon-size-guide__close { padding: 0 3px; border: 0; background: transparent; color: inherit; font-size: 27px; line-height: 1; cursor: pointer; }
.silver-spoon-size-guide__units { display: flex; gap: 0; margin: 20px 0 16px; }
.silver-spoon-size-guide__units button { padding: 10px 18px; border: 1px solid #222; background: var(--silver-spoon-bg); color: #222; font: inherit; font-size: 11px; cursor: pointer; }
.silver-spoon-size-guide__units button + button { border-left: 0; }
.silver-spoon-size-guide__units button[aria-pressed="true"] { background: #171717; color: #fff; }
.silver-spoon-size-guide__rich { margin-top: 20px; font-size: 13px; line-height: 1.6; }
.silver-spoon-size-guide__preview { margin-top: 20px; padding: 16px; background: #f5f5f5; font-size: 12px; line-height: 1.6; }
.silver-spoon-size-guide__preview code { overflow-wrap: anywhere; }

/* Size table: sticky first column on mobile, subtle row/column hover. */
.silver-spoon-size-guide__table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
.silver-spoon-size-guide__table {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 12px;
  text-align: left;
  white-space: nowrap;
}
.silver-spoon-size-guide__table th,
.silver-spoon-size-guide__table td {
  padding: 12px 10px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: var(--silver-spoon-bg);
  transition: background-color .12s ease;
}
.silver-spoon-size-guide__table tr > :first-child { border-left: 1px solid #ddd; }
.silver-spoon-size-guide__table thead tr:first-child > * { border-top: 1px solid #ddd; }
.silver-spoon-size-guide__table thead th { background: #f5f5f5; font-weight: 700; text-transform: uppercase; }
@media (hover: hover) and (pointer: fine) {
  .silver-spoon-size-guide__table .is-highlighted { background: #f4f4f4; }
  .silver-spoon-size-guide__table .is-intersection { background: #e9e9e9; }
}
@media (max-width: 749px) {
  .silver-spoon-size-guide { padding: 12px; }
  .silver-spoon-size-guide__dialog {
    max-height: 85dvh;
  padding: 20px 16px 0;
   }
  .silver-spoon-size-guide__table th,
  .silver-spoon-size-guide__table td { padding: 10px 12px; font-size: 11px; }
  .silver-spoon-size-guide__table th:first-child,
  .silver-spoon-size-guide__table td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--silver-spoon-bg);
    box-shadow: 2px 0 3px -3px rgba(0,0,0,.2);
  }
  .silver-spoon-size-guide__table thead th:first-child { z-index: 4; background: #f5f5f5; }
  @media (hover: hover) and (pointer: fine) {
    .silver-spoon-size-guide__table .is-highlighted:first-child { background: #f4f4f4; }
    .silver-spoon-size-guide__table .is-intersection:first-child { background: #e9e9e9; }
  }
}

/* ============================================================
   DBRMAN — DESKTOP CAROUSEL THUMBNAIL LAYOUT
   Separate rail is default; overlay mode retains legacy behavior.
   ============================================================ */
@media screen and (min-width: 750px) {
  .main-product--desktop-split_carousel .main-product__desktop-thumbnail {
    width: var(--desktop-thumbnail-size, 58px);
    height: var(--desktop-thumbnail-size, 58px);
    min-width: var(--desktop-thumbnail-size, 58px);
  }
  .main-product--desktop-split_carousel .main-product__desktop-thumbnails {
    width: var(--desktop-thumbnail-size, 58px);
    gap: 8px;
  }
  /* Separate thumbnails participate in actual CSS Grid tracks. */
  
.main-product--desktop-split_carousel.main-product--desktop-thumbnail-separated .main-product__desktop-gallery {
  display: grid;
  grid-template-columns:
    var(--desktop-thumbnail-left-padding, 0px)
    var(--desktop-thumbnail-size, 58px)
    var(--desktop-thumbnail-gap, 10px)
    minmax(0, 1fr);
  column-gap: 0;
  padding-left: 0;
  align-items: stretch;
}

  .main-product--desktop-split_carousel.main-product--desktop-thumbnail-separated .main-product__desktop-thumbnails {
    position: relative;
    inset: auto;
    transform: none;
    z-index: 2;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    max-height: calc(100% - 32px);
    overflow-x: hidden;
    overflow-y: auto;
  }
  .main-product--desktop-split_carousel.main-product--desktop-thumbnail-separated .main-product__media-grid {
    position: relative;
    display: block;
    grid-column: 4;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    height: 100%;
  }
  /* Legacy: thumbnail rail floats on top of product image. */
  .main-product--desktop-split_carousel.main-product--desktop-thumbnail-overlay .main-product__desktop-gallery {
    display: block;
  }
  .main-product--desktop-split_carousel.main-product--desktop-thumbnail-overlay .main-product__desktop-thumbnails {
    position: absolute;
    left: 16px;
    right: auto;
    top: 50%;
    bottom: auto;
    z-index: 5;
    transform: translateY(-50%);
    max-height: calc(100% - 100px);
    overflow-y: auto;
  }
  .main-product--desktop-split_carousel.main-product--desktop-thumbnail-overlay .main-product__media-grid {
    display: block;
    width: 100%;
    height: 100%;
  }
}








/* =========================================
   DBRMAN — SIZE GUIDE IMAGE SYSTEM
========================================= */

/* Image and measurement table layout */

.silver-spoon-size-guide__content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

/* Existing measurement table */

.silver-spoon-size-guide__measurements {
  width: 100%;
  min-width: 0;
  order: 0;

  margin-top: var(--sg-table-top, 16px);
  margin-bottom: var(--sg-table-bottom, 0px);
}

/* Optional measurement image */

.silver-spoon-size-guide__image-wrap {
  width: 100%;
margin-top: var(--sg-image-top, 16px);
margin-bottom: var(--sg-image-bottom, 0px);
  max-width: min(100%, var(--sg-image-desktop-width, 500px));
  align-self: var(--sg-image-alignment, center);
  order: var(--sg-image-position, 1);
  overflow: hidden;
  border-radius: var(--sg-image-radius, 0px);
}

.silver-spoon-size-guide__image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Setup instructions in theme editor */

.silver-spoon-size-guide__preview {
  font-size: 12px;
  line-height: 1.7;
}

.silver-spoon-size-guide__preview p {
  margin: 12px 0;
}

.silver-spoon-size-guide__preview strong {
  font-weight: 700;
}

.silver-spoon-size-guide__example {
  display: block;
  padding: 14px;
  margin: 12px 0;
  background: var(--silver-spoon-bg);
  border: 1px solid #ddd;
  border-radius: 2px;
  overflow-x: auto;
  white-space: pre;
  font-size: 11px;
  line-height: 1.6;
}

.silver-spoon-size-guide__example code {
  font-family: monospace;
}

/* Mobile */

@media (max-width: 749px) {
  .silver-spoon-size-guide__image-wrap {
    max-width: min(100%, var(--sg-image-mobile-width, 320px));
  }
}





/* =========================================
   DBRMAN — SIZE GUIDE TOGGLE SPACING FIX
========================================= */

/* Remove built-in spacing above IN/CM toggle */
.silver-spoon-size-guide__measurements .silver-spoon-size-guide__units {
  margin-top: 0 !important;
}

/* Remove inherited top padding */
.silver-spoon-size-guide__measurements {
  padding-top: 0 !important;
}




/* =========================================
   DBRMAN — SIZE GUIDE POPUP RADIUS
========================================= */

.silver-spoon-size-guide__dialog {
  border-radius: var(--sg-popup-radius, 0px);
}








/* =========================================
   DBRMAN - STOCK MESSAGE TYPOGRAPHY
   DESKTOP + MOBILE + STICKY PURCHASE PANEL
========================================= */

/* Desktop stock typography */

.main-product form.product-form .product-form__stock {
  font-size: var(--stock-font-size-desktop, 12px);
  font-weight: var(--stock-font-weight-desktop, 400);
}

/* Hide on desktop when disabled */

@media (min-width: 750px) {
  .main-product form.product-form[data-hide-stock-desktop="false"]
  .product-form__stock {
    display: none !important;
  }
}

/* Mobile typography and visibility */

@media (max-width: 749px) {

  .main-product form.product-form .product-form__stock,
  body > form.product-form[data-mobile-purchase-portal]
  .product-form__stock {
    font-size: var(--stock-font-size-mobile, 12px);
    font-weight: var(--stock-font-weight-mobile, 400);
  }

  .main-product form.product-form[data-hide-stock-mobile="false"]
  .product-form__stock,
  body > form.product-form[data-mobile-purchase-portal][data-hide-stock-mobile="false"]
  .product-form__stock {
    display: none !important;
  }

}

/* Preserve green/yellow/red status dot size */

.main-product .product-form__stock-dot,
body > form.product-form[data-mobile-purchase-portal]
.product-form__stock-dot {
  flex-shrink: 0;
}






/* =========================================
   DBRMAN — ENHANCED CART DRAWER
========================================= */

/* CART TITLE + CIRCULAR COUNT */

.cart-drawer__header h2 {
  display: flex;
  align-items: center;
  gap: 9px;
}

/* CART DRAWER COUNT - MATCH HEADER */

.cart-drawer__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;

  padding: 0;
  margin: 0;

  background: transparent;
  color: inherit;

  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
}

.cart-drawer__count .site-header__cart-badge {
  flex-shrink: 0;
}

.cart-drawer__count .site-header__cart-count-parentheses {
  white-space: nowrap;
}

/* FREE SHIPPING PROGRESS BAR */

.cart-drawer__panel:has(.cart-drawer__progress) {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.cart-drawer__progress {
  padding: 12px 18px 18px;
  background: var(--silver-spoon-bg);
}

.cart-drawer__progress-label {
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 12px;
}

.cart-drawer__progress-track {
  height: var(--cart-progress-height, 7px);
  border-radius: 99px;
  background: var(--cart-progress-track, #e7e7e7);
  position: relative;
  margin-right: 12px;
}

.cart-drawer__progress-fill {
  height: 100%;
  background: linear-gradient(
    90deg,
    var(--cart-progress-fill, #ae5969),
    var(--cart-progress-second, #dda77f)
  );
  border-radius: inherit;
  transition: width 0.35s ease;
}

.cart-drawer__progress-truck {
  position: absolute;
  right: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background:var(--cart-progress-truck-bg,#000000);
  color: #fff;
  display: grid;
  place-items: center;
}

/* REMOVE X BESIDE PRODUCT NAME */

.cart-line__title-row {
  display: block;
  position: relative;
  padding-right: 24px;
}

.cart-line__title-row .cart-line__title {
  flex: 1;
  min-width: 0;
}

.cart-line__remove {
  position: absolute;
  top: 0;
  right: 0;
  flex: none;
  font-size: 20px;
  line-height: 1;
  font-weight: 400;
  color: var(--silver-spoon-muted, #666);
  padding: 0 3px;
}

.cart-line__remove:hover {
  color: var(--silver-spoon-text, #000);
}

/* ORDER NOTES + DISCOUNT ACCORDIONS */

.cart-drawer__extras {
  display: grid;
  gap: 0;
  min-width: 0;
}

.cart-drawer__extra {
  border-top: 1px solid var(--silver-spoon-border, #ddd);
}

.cart-drawer__extra:last-child {
  border-bottom: 1px solid var(--silver-spoon-border, #ddd);
}

.cart-drawer__extra summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 12px 0;
}

.cart-drawer__extra summary::-webkit-details-marker {
  display: none;
}

.cart-drawer__extra summary span {
  font-size: 18px;
  font-weight: 400;
  transition: transform 0.2s;
}

.cart-drawer__extra[open] summary span {
  transform: rotate(45deg);
}

.cart-drawer__extra-content {
  padding: 0 0 14px;
}

/* INPUTS */

.cart-drawer__extra textarea,
.cart-drawer__extra input {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  border: 1px solid var(--silver-spoon-border, #ddd);
  border-radius: 0;
  padding: 9px;
  font: inherit;
  font-size: 12px;
  background: var(--silver-spoon-bg);
  color: inherit;
}

.cart-drawer__extra textarea {
  resize: vertical;
}

/* DISCOUNT FORM */

.cart-drawer__discount-form {
  display: flex;
  gap: 6px;
}

.cart-drawer__discount-form button {
  background: #242424;
  color: #fff;
  padding: 0 16px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.cart-drawer__discount-form button:disabled {
  opacity: 0.5;
}

/* APPLIED DISCOUNTS */

.cart-drawer__discount-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.cart-drawer__discount-list:empty {
  display: none;
}

.cart-drawer__discount-chip {
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--silver-spoon-border, #ddd);
  padding: 5px 8px;
  font-size: 11px;
}

.cart-drawer__discount-chip button {
  font-size: 17px;
  line-height: 1;
}

/* SAVE + DISCOUNT STATUS */

.cart-drawer__status {
  display: block;
  font-size: 11px;
  margin-top: 5px;
}

.cart-drawer__status:empty {
  display: none;
}

/* FOOTER */

.cart-drawer__footer {
  overflow-y: auto;
  max-height: 60vh;
}

/* =========================================
   PAGE PUSH ANIMATION
========================================= */

.silver-spoon-main,
.silver-spoon-sticky-header,
#shopify-section-announcement-bar,
:is(#shopify-section-footer, .silver-spoon-footer-section) {
  transition:
    transform var(--cart-push-duration-active, 420ms)
    cubic-bezier(.22, 1, .36, 1);
}

body.cart-drawer-open.cart-page-push-enabled .silver-spoon-main,
body.cart-drawer-open.cart-page-push-enabled .silver-spoon-sticky-header,
body.cart-drawer-open.cart-page-push-enabled #shopify-section-announcement-bar,
body.cart-drawer-open.cart-page-push-enabled :is(#shopify-section-footer, .silver-spoon-footer-section) {
  transform: translate3d(
    calc(-1 * var(--cart-active-push, 100px)),
    0,
    0
  );
}

/* MOBILE PAGE SHIFT */

@media (max-width: 749px) {
  body.cart-drawer-open {
    --cart-active-push: var(--cart-push-mobile, 24px);
  }
}

/* DESKTOP PAGE SHIFT */

@media (min-width: 750px) {
  body.cart-drawer-open {
    --cart-active-push: var(--cart-push-desktop, 100px);
  }
}

/* REDUCED MOTION ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
  .silver-spoon-main,
  .silver-spoon-sticky-header,
  #shopify-section-announcement-bar,
  :is(#shopify-section-footer, .silver-spoon-footer-section) {
    transition: none !important;
  }

  .cart-drawer__progress-fill {
    transition: none !important;
  }
}










/* =========================================
   DBRMAN — COLLECTION EMPTY STATE
========================================= */

.main-collection .product-grid--collection:has(
  .collection-empty-state
) {
  display: block;
}

.main-collection .collection-empty-state {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 60px 16px;
  text-align: var(--empty-align-desktop, center);
}

@media screen and (max-width: 749px) {
  .main-collection .collection-empty-state {
    text-align: var(--empty-align-mobile, center);
  }
}






/* =========================================
   DBRMAN — COLLECTION HEADER
   INDEPENDENT ELEMENT SPACING
========================================= */

.dbrman-collection-header {
  padding: 0 16px;
  text-align: var(--collection-header-align, center);
}

/* COLLECTION IMAGE */

.dbrman-collection-header__image {
  width: 100%;
  max-width: var(--collection-image-desktop, 800px);

  margin-top: var(--collection-image-space-above, 32px);
  margin-bottom: var(--collection-image-space-below, 0px);
  margin-left: auto;
  margin-right: auto;
}

.dbrman-collection-header__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* COLLECTION TITLE */


.dbrman-collection-header__title {
  margin-top: var(--collection-title-space-above, 32px);
  margin-bottom: var(--collection-title-space-below, 0px);

  font-size: var(--collection-title-desktop, 36px);
  font-weight: var(--collection-title-weight, 700);
  line-height: 1.1;
}

/* When an actual collection image is displayed */
.dbrman-collection-header:has(
  .dbrman-collection-header__image
) .dbrman-collection-header__title {
  margin-top: var(--collection-title-space-above-with-image, 16px);
}


/* COLLECTION DESCRIPTION */

.dbrman-collection-header__description {
  margin-top: var(--collection-description-space-above, 16px);
  margin-bottom: var(--collection-description-space-below, 32px);
  margin-left: auto;
  margin-right: auto;

  font-size: var(--collection-description-desktop, 14px);
  font-weight: var(--collection-description-weight, 400);
  line-height: 1.5;
}

.dbrman-collection-header__description > :first-child {
  margin-top: 0;
}

.dbrman-collection-header__description > :last-child {
  margin-bottom: 0;
}

/* Prevent adjacent vertical margins from collapsing.
   Each above/below value contributes its own spacing. */

.dbrman-collection-header {
  display: flow-root;
}


/* When no description is displayed, use the
   independent no-description spacing setting. */

.dbrman-collection-header__title:last-child {
  margin-bottom: var(
    --collection-title-space-below-no-description,
    32px
  );
}


.dbrman-collection-header__image:last-child {
  margin-bottom: max(
    var(--collection-image-space-below, 0px),
    32px
  );
}

/* MOBILE */

@media screen and (max-width: 749px) {
  .dbrman-collection-header__image {
    max-width: var(--collection-image-mobile, 300px);
  }

  .dbrman-collection-header__title {
    font-size: var(--collection-title-mobile, 26px);
  }

  .dbrman-collection-header__description {
    font-size: var(--collection-description-mobile, 13px);
  }
}






/* =========================================
   DBRMAN — COLLECTION FILTER CONTROLS
========================================= */

.dbrman-collection-count-group {
  grid-column: 1;
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.dbrman-filter-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 0 0 auto;
  height: 42px;
  padding: 0 14px;
  border: 1px solid var(--silver-spoon-border, #ddd);
  border-radius: 0;
  background: var(--silver-spoon-bg);
  color: #111;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s, border-color 0.2s;
}

.dbrman-filter-button:hover {
  background: #f5f5f5;
  border-color: #999;
}

.dbrman-filter-button svg {
  display: block;
}

.dbrman-filter-button--mobile {
  display: none;
}

/* Popup */

.dbrman-filter-popup {
  display: none;
}

.dbrman-filter-popup.is-open {
  display: block;
}

.dbrman-filter-popup__backdrop {
  position: fixed;
  inset: 0;
  z-index: 99998;
  background: rgba(0, 0, 0, 0.5);
}

.dbrman-filter-popup__panel {
  position: fixed;
  z-index: 99999;
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  width: min(520px, calc(100vw - 32px));
  max-height: min(85dvh, 760px);
  background: var(--silver-spoon-bg);
  color: #111;
  border-radius: var(--dbrman-filter-popup-radius, 0px);
  box-sizing: border-box;
  overflow: hidden;
  transform: translate(-50%, -50%);
}

.dbrman-filter-popup__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 auto;
  padding: 22px 24px;
  border-bottom: 1px solid #e5e5e5;
  font-size: 14px;
  font-weight: 700;
}

.dbrman-filter-popup__close {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.dbrman-filter-popup__content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px 24px 24px;
}

.dbrman-filter-group {
  padding: 20px 0;
  border-bottom: 1px solid #e5e5e5;
}

.dbrman-filter-group:last-child {
  border-bottom: 0;
}

.dbrman-filter-group__title {
  margin-bottom: 18px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.dbrman-filter-group__options {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.dbrman-filter-option {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  cursor: pointer;
}

.dbrman-filter-option input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #111;
  cursor: pointer;
}

.dbrman-filter-option input:disabled {
  cursor: not-allowed;
  opacity: 0.35;
}

.dbrman-filter-option__count {
  margin-left: auto;
  color: #888;
  font-size: 11px;
}

.dbrman-filter-price {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.dbrman-filter-price label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  font-size: 10px;
  font-weight: 600;
}

.dbrman-filter-price input {
  width: 100%;
  min-width: 0;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #ddd;
  border-radius: 0;
  background: var(--silver-spoon-bg);
  color: #111;
  box-sizing: border-box;
  font-size: 12px;
}

.dbrman-filter-popup__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 0 0 auto;
  gap: 16px;
  padding: 18px 24px;
  border-top: 1px solid #e5e5e5;
}

.dbrman-filter-popup__clear {
  color: inherit;
  font-size: 11px;
  text-decoration: underline;
}

.dbrman-filter-popup__done {
  padding: 14px 24px;
  border: 1px solid #111;
  border-radius: 0;
  background: #111;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}

/* Mobile toolbar */

@media screen and (max-width: 749px) {
  .dbrman-collection-count-group {
    grid-column: 1;
    grid-row: 1;
  }

  .dbrman-filter-button--desktop {
    display: none;
  }

  .dbrman-filter-button--mobile {
    display: inline-flex;
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    padding: 0 12px;
    height: 44px;
  }

  .collection-toolbar__filters > .collection-toolbar__sort {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    width: 100%;
  }

  .collection-toolbar__select-wrap {
    min-width: 0;
  }

  .collection-toolbar__select-wrap select {
    min-width: 0;
  }

  .dbrman-filter-popup__panel {
    max-height: 90dvh;
    width: calc(100vw - 24px);
  }

  .dbrman-filter-popup__header {
    padding: 18px;
  }

  .dbrman-filter-popup__content {
    padding: 8px 18px 18px;
  }

  .dbrman-filter-popup__footer {
    padding: 16px 18px;
  }
}




/* DBRMAN — CONFIGURABLE FILTER POPUP */

.dbrman-filter-popup__panel {
  width: min(
    var(--dbrman-filter-popup-width, 520px),
    calc(100vw - 32px)
  );
  background: var(--dbrman-filter-popup-bg, #fff);
  color: var(--dbrman-filter-popup-color, #111);
}

.dbrman-filter-option {
  font-size: var(--dbrman-filter-popup-font-size, 12px);
}

@media screen and (max-width: 749px) {
  .dbrman-filter-popup__panel {
    width: min(
      var(--dbrman-filter-popup-mobile-width, 340px),
      calc(100vw - 24px)
    );
  }
}





/* =========================================
   DBRMAN — PRICE RANGE SLIDER
========================================= */

.dbrman-price-filter__values,
.dbrman-price-filter__limits {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.dbrman-price-filter__values {
  margin: 0 0 20px;
  font-size: 13px;
  font-weight: 700;
}

.dbrman-price-filter__limits {
  margin-top: 14px;
  color: #888;
  font-size: 11px;
}

.dbrman-price-filter__slider {
  position: relative;
  width: 100%;
  height: 24px;
  display: flex;
  align-items: center;
}

.dbrman-price-filter__track,
.dbrman-price-filter__range {
  position: absolute;
  height: 3px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 0;
  pointer-events: none;
}

.dbrman-price-filter__track {
  left: 0;
  right: 0;
  background: #ddd;
}

.dbrman-price-filter__range {
  left: 0;
  right: 0;
  background: #111;
}

.dbrman-price-filter__slider input[type="range"] {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  width: 100%;
  height: 24px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  outline: none;
  pointer-events: none;
  cursor: pointer;
}

.dbrman-price-filter__slider input[type="range"]::-webkit-slider-runnable-track {
  appearance: none;
  -webkit-appearance: none;
  height: 3px;
  background: transparent;
}

.dbrman-price-filter__slider input[type="range"]::-moz-range-track {
  height: 3px;
  background: transparent;
}

.dbrman-price-filter__slider input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 17px;
  height: 17px;
  margin-top: -7px;
  border: 2px solid #111;
  border-radius: 50%;
  background: var(--silver-spoon-bg);
  pointer-events: auto;
  cursor: grab;
}

.dbrman-price-filter__slider input[type="range"]::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border: 2px solid #111;
  border-radius: 50%;
  background: var(--silver-spoon-bg);
  pointer-events: auto;
  cursor: grab;
}

.dbrman-price-filter__slider input[type="range"]:active::-webkit-slider-thumb {
  cursor: grabbing;
}

.dbrman-price-filter__slider input[type="range"]:focus-visible::-webkit-slider-thumb {
  outline: 2px solid #555;
  outline-offset: 3px;
}

.dbrman-price-filter__slider [data-dbrman-price-min] {
  z-index: 3;
}

.dbrman-price-filter__slider [data-dbrman-price-max] {
  z-index: 4;
}

/* =========================================
   DBRMAN — SELECTED COLLECTION CATEGORIES
========================================= */

.dbrman-filter-category {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 10px 0;
  color: inherit;
  font-size: var(--dbrman-filter-popup-font-size, 12px);
  font-weight: 400;
  text-decoration: none;
  cursor: pointer;
}

.dbrman-filter-category:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.dbrman-filter-category.is-active {
  font-weight: 700;
}

.dbrman-filter-category__active {
  font-size: 13px;
}

.dbrman-filter-categories .dbrman-filter-group__options {
  gap: 0;
}



/* =========================================
   DBRMAN — PRICE SLIDER V3
   Configurable increments and safe handles
========================================= */

(() => {
  const selector = '.dbrman-price-filter';

  function updatePriceSlider(filter, changed = null, commit = false) {
    if (!filter) return;

    const minInput = filter.querySelector('[data-dbrman-price-min]');
    const maxInput = filter.querySelector('[data-dbrman-price-max]');
    const minLabel = filter.querySelector('[data-price-min-label]');
    const maxLabel = filter.querySelector('[data-price-max-label]');
    const fill = filter.querySelector('[data-price-range-fill]');
    const hiddenMin = filter.querySelector(
      '[data-dbrman-filter-price][data-filter-param$=".gte"]'
    );
    const hiddenMax = filter.querySelector(
      '[data-dbrman-filter-price][data-filter-param$=".lte"]'
    );

    if (!minInput || !maxInput) return;

    const step = Math.max(1, Number(filter.dataset.priceStep) || 10);
    const limit = Math.max(step, Number(filter.dataset.priceLimit) || 2000);
    const lowest = Number(minInput.min) || 0;
    const highest = lowest + Math.floor((limit - lowest) / step) * step;

    const snap = value =>
      lowest + Math.round((value - lowest) / step) * step;

    let min = snap(Number(minInput.value));
    let max = snap(Number(maxInput.value));

    if (changed === 'min') {
      min = Math.min(min, max - step);
    } else if (changed === 'max') {
      max = Math.max(max, min + step);
    }

    min = Math.max(lowest, Math.min(highest - step, min));
    max = Math.max(min + step, Math.min(highest, max));

    minInput.min = String(lowest);
    maxInput.min = String(lowest);

    minInput.max = String(highest);
    maxInput.max = String(highest);

    minInput.step = String(step);
    maxInput.step = String(step);

    minInput.value = String(min);
    maxInput.value = String(max);

    if (minLabel) minLabel.textContent = `$${min}`;
    if (maxLabel) maxLabel.textContent = `$${max}`;

    if (fill) {
      const size = highest - lowest || 1;
      fill.style.left = `${((min - lowest) / size) * 100}%`;
      fill.style.right = `${((highest - max) / size) * 100}%`;
    }

    // Keep the handle being moved accessible.
    minInput.style.zIndex = changed === 'min' ? '5' : '4';
    maxInput.style.zIndex = changed === 'max' ? '5' : '3';

    if (!commit) return;

    if (hiddenMin) {
      hiddenMin.value = min === lowest ? '' : String(min);
    }

    if (hiddenMax) {
      hiddenMax.value = String(max);
    }

    const form = filter.closest('[data-collection-section]')
      ?.querySelector('[data-collection-filters]');

    if (form) {
      form.dispatchEvent(new Event('change', { bubbles: true }));
    }
  }

  document.addEventListener('input', event => {
    const slider = event.target.closest(
      '[data-dbrman-price-min], [data-dbrman-price-max]'
    );
    if (!slider) return;

    updatePriceSlider(
      slider.closest(selector),
      slider.hasAttribute('data-dbrman-price-min') ? 'min' : 'max',
      false
    );
  });

  document.addEventListener('change', event => {
    const slider = event.target.closest(
      '[data-dbrman-price-min], [data-dbrman-price-max]'
    );
    if (!slider) return;

    updatePriceSlider(
      slider.closest(selector),
      slider.hasAttribute('data-dbrman-price-min') ? 'min' : 'max',
      true
    );
  });

  function initialize(root = document) {
    root.querySelectorAll(selector).forEach(filter => {
      const minInput = filter.querySelector('[data-dbrman-price-min]');
      const maxInput = filter.querySelector('[data-dbrman-price-max]');
      const hiddenMin = filter.querySelector(
        '[data-dbrman-filter-price][data-filter-param$=".gte"]'
      );
      const hiddenMax = filter.querySelector(
        '[data-dbrman-filter-price][data-filter-param$=".lte"]'
      );

      const step = Math.max(1, Number(filter.dataset.priceStep) || 10);
      const limit = Number(filter.dataset.priceLimit) || 2000;
      const startMin = Number(filter.dataset.defaultPriceMin) || 0;
      const startMax = Number(filter.dataset.defaultPriceMax) || 500;

      if (minInput && maxInput) {
        minInput.value = hiddenMin?.value
          ? String(Number(hiddenMin.value))
          : String(startMin);

        maxInput.value = hiddenMax?.value
          ? String(Number(hiddenMax.value))
          : String(Math.max(startMin + step, Math.min(limit, startMax)));
      }

      updatePriceSlider(filter);
    });
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', () => initialize());
  } else {
    initialize();
  }

  document.addEventListener('shopify:section:load', event => {
    initialize(event.target);
  });

  // Reinitialize handles after AJAX replaces collection HTML.
  window.DBRMANInitializePriceSliders = initialize;
})();




/* =========================================
   DBRMAN — COLLECTION FILTER ENHANCEMENTS
========================================= */

.dbrman-collection-active-filters[hidden] {
  display: none !important;
}


.dbrman-collection-active-filters {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 8px;

  width: 100%;
  max-width: 100%;
  min-width: 0;

  padding: 12px 16px;

  overflow-x: auto;
  overflow-y: hidden;

  background: var(--silver-spoon-bg);
  border-bottom: 1px solid var(--silver-spoon-border);

  /* Smooth native touch scrolling */
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;

  /* Hide scrollbars */
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.dbrman-collection-active-filters::-webkit-scrollbar {
  display: none;
}

.dbrman-collection-active-filters .dbrman-active-filter-chip {
  flex: 0 0 auto;
  white-space: nowrap;
}


.dbrman-active-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid var(--silver-spoon-border);
  background: var(--silver-spoon-bg);
  color: #111;
  font-size: 11px;
  line-height: 1.2;
  cursor: pointer;
}

.dbrman-active-filter-chip:hover {
  border-color: #111;
}

.dbrman-active-filter-chip__remove {
  font-size: 16px;
  line-height: 1;
}

.dbrman-filter-button [data-dbrman-filter-count] {
  margin-left: 2px;
}

.dbrman-filter-button [data-dbrman-filter-count][hidden] {
  display: none;
}

/* Collapsible group header */

.dbrman-filter-group__title--toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 0;
  background: transparent;
  border: 0;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.dbrman-filter-group__title--toggle::after {
  content: "−";
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

.dbrman-filter-group.is-collapsed
.dbrman-filter-group__title--toggle::after {
  content: "+";
}

.dbrman-filter-group.is-collapsed
> :not(.dbrman-filter-group__title) {
  display: none !important;
}

.dbrman-filter-group.is-collapsed {
  padding-bottom: 20px;
}

/* Keep the heading spacing natural */
.dbrman-filter-group__title--toggle {
  margin-bottom: 18px;
}

.dbrman-filter-group.is-collapsed
.dbrman-filter-group__title--toggle {
  margin-bottom: 0;
}

/* Clear All is now a button */

.dbrman-filter-popup__clear {
  padding: 0;
  background: transparent;
  border: 0;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.dbrman-filter-popup__done {
  white-space: nowrap;
}

@media (max-width: 749px) {
  .dbrman-collection-active-filters {
    padding: 10px 16px;
    gap: 6px;
  }

  .dbrman-active-filter-chip {
    font-size: 10px;
  }
}






/* DBRMAN — PRICE SLIDER HANDLE STACKING FIX */

.dbrman-price-filter__slider {
  isolation: isolate;
}

.dbrman-price-filter__slider input[type="range"] {
  min-width: 0;
}

/* Keep the lower handle reachable */
.dbrman-price-filter__slider [data-dbrman-price-min] {
  z-index: 4;
}

/* Keep the upper handle reachable */
.dbrman-price-filter__slider [data-dbrman-price-max] {
  z-index: 3;
}





/* DBRMAN — CLEAN CATEGORY CHECKBOXES */

.dbrman-filter-categories .dbrman-filter-group__options {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.dbrman-filter-category {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100%;
  text-align: left !important;
  padding: 10px 0;
  font-weight: 400;
}

.dbrman-filter-category input[type="checkbox"] {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #111;
}

.dbrman-filter-category > span:not(.dbrman-filter-category__active) {
  flex: 0 1 auto;
  margin: 0;
  text-align: left;
}

.dbrman-filter-category__active {
  display: none !important;
}




/* DBRMAN — PRICE DROPDOWNS */

.dbrman-price-dropdowns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  margin-top: 6px;
}

.dbrman-price-dropdown {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.dbrman-price-dropdown > span {
  font-size: 10px;
  font-weight: 600;
}

.dbrman-price-dropdown select {
  display: block;
  width: 100%;
  min-width: 0;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #ddd;
  border-radius: 0;
  background: var(--silver-spoon-bg);
  color: #111;
  font-size: 12px;
  cursor: pointer;
}




/* =========================================
   DBRMAN — HIDE EMPTY COLLECTION TILES
========================================= */

.collection-tabs:not(:has(.collection-tabs__tile)) {
  display: none !important;
}








/* =========================================
   DBRMAN — COLLECTION FILTER CLEAR X
========================================= */

.dbrman-filter-clear-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 16px;
  width: 16px;
  height: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #888888;
  font-family: Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  transition: color 0.15s ease;
}

.dbrman-filter-clear-x:hover {
  color: #333333;
}

.dbrman-filter-clear-x[hidden] {
  display: none !important;
}

/* Desktop uses the X beside its filter button */
.dbrman-filter-clear-x--mobile {
  display: none !important;
}

@media screen and (max-width: 749px) {

  /* Hide the desktop X completely on mobile */
  .dbrman-collection-count-group
  > .dbrman-filter-clear-x {
    display: none !important;
  }

/* Normal toolbar: sort on left, filter flush right */
.main-collection .collection-toolbar__filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 6px;
  row-gap: 10px;
  align-items: center;
  width: 100%;
}

/* Add a third column only when Clear Filters is visible */
.main-collection .collection-toolbar__filters:has(
  .dbrman-filter-clear-x--mobile:not([hidden])
) {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

  /* Availability stays on its own full-width row */
  .main-collection .collection-toolbar__stock {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  /* Sort shrinks when the X becomes visible */
  .main-collection .collection-toolbar__sort {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    width: 100%;
  }

  .main-collection .collection-toolbar__select-wrap {
    min-width: 0;
    width: 100%;
  }

  .main-collection .collection-toolbar__select-wrap select {
    min-width: 0;
    width: 100%;
  }

  /* Filter always sits beside sorting */
  .main-collection .dbrman-filter-button--mobile {
    grid-column: 2;
    grid-row: 2;
    white-space: nowrap;
  }

  /* X occupies the third column only when active */
  .main-collection .dbrman-filter-clear-x--mobile:not([hidden]) {
    display: inline-flex !important;
    grid-column: 3;
    grid-row: 2;
    justify-self: center;
    align-self: center;
    margin-left: 2px;
  }

  /* The third column collapses when the X is hidden */
  .main-collection .dbrman-filter-clear-x--mobile[hidden] {
    display: none !important;
  }
}






/* =========================================
   DBRMAN — HIDE AVAILABILITY FILTER CHIPS
========================================= */

/* Hide the active-filter chip row when it contains
   only the In Stock / Sold Out filters. */

.main-collection .dbrman-collection-active-filters:has(
  .dbrman-active-filter-chip
):not(:has(
  .dbrman-active-filter-chip:not(
    [data-remove-filter-name="filter.v.availability"]
  )
)) {
  display: none !important;
}

/* Hide individual availability chips when
   other types of filter chips are present. */

.main-collection .dbrman-active-filter-chip[
  data-remove-filter-name="filter.v.availability"
] {
  display: none !important;
}





/* =========================================
   DBRMAN - COLLECTION FILTER TOOLBAR BORDERS
   Independent top and bottom border controls
========================================= */

/* DBRMAN - Collection filter toolbar borders */

/* Desktop */
.main-collection .collection-toolbar {
  border-top:
    var(--collection-filter-border-top-width-desktop, 1px)
    solid
    var(--collection-filter-border-top-color, #E6E6E6) !important;

  border-bottom:
    var(--collection-filter-border-bottom-width-desktop, 1px)
    solid
    var(--collection-filter-border-bottom-color, #E6E6E6) !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  .main-collection .collection-toolbar {
    border-top-width:
      var(--collection-filter-border-top-width-mobile, 1px) !important;

    border-bottom-width:
      var(--collection-filter-border-bottom-width-mobile, 1px) !important;
  }
}

.main-collection .dbrman-collection-active-filters:empty,
.main-collection .dbrman-collection-active-filters[hidden] {
  display: none !important;
  padding: 0 !important;
  border: 0 !important;
}

.main-collection .dbrman-collection-active-filters:has(
  .dbrman-active-filter-chip
):not(:has(
  .dbrman-active-filter-chip:not(
    [data-remove-filter-name="filter.v.availability"]
  )
)) {
  display: none !important;
  padding: 0 !important;
  border: 0 !important;
}








/* =========================================
   DBRMAN — DRAGGABLE FILTER CHIP ROW
========================================= */

.main-collection .dbrman-collection-active-filters {
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}

.main-collection .dbrman-collection-active-filters.is-pointer-down,
.main-collection .dbrman-collection-active-filters.is-dragging {
  cursor: grabbing;
}

.main-collection .dbrman-collection-active-filters.is-dragging {
  scroll-behavior: auto !important;
}

.main-collection .dbrman-collection-active-filters.is-dragging
.dbrman-active-filter-chip {
  pointer-events: none;
}

.main-collection .dbrman-active-filter-chip {
  flex: 0 0 auto;
  white-space: nowrap;
}

@media (max-width: 749px) {
  .main-collection .dbrman-collection-active-filters {
    overscroll-behavior-x: contain;
  }
}




/* =========================================
   DBRMAN — FILTER CHIPS DRAG + EDGE FADES V2
========================================= */

.main-collection .dbrman-collection-active-filters {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;

  width: 100%;
  max-width: 100%;
  min-width: 0;

  overflow-x: auto;
  overflow-y: hidden;

  cursor: grab;
  user-select: none;
  -webkit-user-select: none;

  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;

  /* Native swipe remains available on mobile */
  touch-action: pan-x pan-y;

  /* No fade when everything fits */
  -webkit-mask-image: none;
  mask-image: none;
}

.main-collection .dbrman-collection-active-filters::-webkit-scrollbar {
  display: none;
}

/* Only more chips to the right */
.main-collection .dbrman-collection-active-filters.can-scroll-right:not(.can-scroll-left) {
  -webkit-mask-image: linear-gradient(
    to right,
    #000 0%,
    #000 calc(100% - 32px),
    transparent 100%
  );

  mask-image: linear-gradient(
    to right,
    #000 0%,
    #000 calc(100% - 32px),
    transparent 100%
  );
}

/* Chips available in both directions */
.main-collection .dbrman-collection-active-filters.can-scroll-left.can-scroll-right {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 32px,
    #000 calc(100% - 32px),
    transparent 100%
  );

  mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 32px,
    #000 calc(100% - 32px),
    transparent 100%
  );
}

/* Only more chips to the left */
.main-collection .dbrman-collection-active-filters.can-scroll-left:not(.can-scroll-right) {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 32px,
    #000 100%
  );

  mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 32px,
    #000 100%
  );
}

/* Prevent chips from shrinking or wrapping */
.main-collection .dbrman-active-filter-chip {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* Desktop dragging */
.main-collection .dbrman-collection-active-filters.is-pointer-down,
.main-collection .dbrman-collection-active-filters.is-dragging {
  cursor: grabbing;
}

.main-collection .dbrman-collection-active-filters.is-dragging {
  scroll-behavior: auto !important;
}

/* Stop chips intercepting a completed drag */
.main-collection .dbrman-collection-active-filters.is-dragging
.dbrman-active-filter-chip {
  pointer-events: none;
}





/* =========================================
   DBRMAN — AUTOMATIC SIZE FILTER
========================================= */

.dbrman-filter-sizes[hidden] {
  display: none !important;
}


/* =========================================
   DBRMAN — SIZE FILTER GRID
========================================= */

.dbrman-filter-sizes .dbrman-filter-group__options {
  display: grid;
  grid-template-columns: repeat(
    var(--dbrman-size-columns-desktop, 3),
    minmax(0, 1fr)
  );
  column-gap: 12px;
  row-gap: 14px;
  align-items: center;
  width: 100%;
}

.dbrman-filter-sizes .dbrman-filter-size-option {
  min-width: 0;
  width: 100%;
}

@media screen and (max-width: 749px) {
  .dbrman-filter-sizes .dbrman-filter-group__options {
    grid-template-columns: repeat(
      var(--dbrman-size-columns-mobile, 2),
      minmax(0, 1fr)
    );
  }
}


.dbrman-filter-size-option {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  font-size: var(--dbrman-filter-popup-font-size, 12px);
  font-weight: 400;
  line-height: 1.3;
  cursor: pointer;
}

.dbrman-filter-size-option input {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #111;
  cursor: pointer;
}

.dbrman-filter-size-option span {
  display: inline-block;
}

.dbrman-filter-size-option.is-sold-out {
  color: #999;
}

.dbrman-filter-size-option.is-sold-out span {
  text-decoration: line-through;
  text-decoration-color: #aaa;
  text-decoration-thickness: 1px;
}

.dbrman-filter-size-option.is-sold-out input {
  opacity: 0.4;
}

.dbrman-filter-size-option.is-sold-out:has(input:disabled) {
  cursor: not-allowed;
}

.dbrman-filter-size-option input:disabled {
  cursor: not-allowed;
}

.dbrman-filter-size-option input:focus-visible {
  outline: 2px solid #111;
  outline-offset: 3px;
}





/* =========================================
   DBRMAN — PREVENT CAROUSEL IMAGE FLASH
   During AJAX refresh and initial loading
========================================= */

/* Hide looped galleries while JavaScript positions them */

.product-card__media-track:has(
  [data-loop-clone]
):not(.is-loop-positioned) {
  visibility: hidden;
}

/* Show the gallery immediately once positioned */

.product-card__media-track.is-loop-positioned {
  visibility: visible;
}

/* Never animate the initial visibility change */

.product-card__media-track {
  transition-property: height;
}


/* Prevent carousel images from bleeding into neighboring cards */
.product-card__media-slider {
  overflow: hidden;
}

/* Allow homepage quick-variant buttons to overlap image edge */
.product-row:not(.main-collection) .product-card__media-wrap {
  position: relative;
  overflow: visible;
}




/* Product Row - Dots below product image */

.product-row .product-card__media-dots {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  transform: none;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 10px;

  margin-top: var(--card-dots-spacing, 8px);
  margin-bottom: 0;
  padding: 0;

  z-index: 3;
  pointer-events: none;
}



/* Product Row - Dots alignment */

/* Match product information horizontal padding */
.product-row .product-card__media-dots {
  width: calc(100% - (var(--card-meta-px, 0px) * 2));
  margin-left: var(--card-meta-px, 0px);
  margin-right: var(--card-meta-px, 0px);
}

/* Desktop */
@media screen and (min-width: 750px) {
  .product-row--dots-desktop-left .product-card__media-dots {
    justify-content: flex-start;
  }

  .product-row--dots-desktop-center .product-card__media-dots {
    justify-content: center;
  }

  .product-row--dots-desktop-right .product-card__media-dots {
    justify-content: flex-end;
  }
}

/* Mobile */
@media screen and (max-width: 749px) {
  .product-row--dots-mobile-left .product-card__media-dots {
    justify-content: flex-start;
  }

  .product-row--dots-mobile-center .product-card__media-dots {
    justify-content: center;
  }

  .product-row--dots-mobile-right .product-card__media-dots {
    justify-content: flex-end;
  }
}




/* ============================================
   DBRMAN - PRODUCT ROW QUICK VARIANTS
   ============================================ */

/* Full-width action container over product image */
.product-row .product-card__action.dbrman-quick-action {
  position: absolute !important;
  left: 10px !important;
  right: 10px !important;
  bottom: 16px !important;
  width: auto !important;
  max-width: none !important;
  z-index: 10;
  transform: translateY(8px) !important;
  white-space: normal;
}

/* Visible desktop and revealed mobile states */
.product-row .product-card:hover
  .product-card__action.dbrman-quick-action,
.product-row .product-card.is-action-visible
  .product-card__action.dbrman-quick-action {
  transform: translateY(0) !important;
}

/* No shared panel background */
.product-row .dbrman-quick-action {
  background: transparent !important;
  box-shadow: none !important;
}

/* Flexible equal-width layout */
.product-row .dbrman-quick-variants {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  width: 100%;
  align-items: stretch;
}

/* Each variant receives an equal flexible share */
.product-row .dbrman-quick-variant-form,
.product-row .dbrman-quick-variants > button {
  flex: 1 1 48px;
  min-width: 0;
  margin: 0;
}

.product-row .dbrman-quick-variant-form {
  display: flex;
}

/* Give the temporary ADDING... label more room */
.product-row .dbrman-quick-variant-form:has(
  .dbrman-quick-variant-button:disabled
) {
  flex-basis: 86px;
  min-width: 86px;
}

.product-row .dbrman-quick-variant-form
.dbrman-quick-variant-button {
  padding-left: 10px;
  padding-right: 10px;
  white-space: nowrap;
}

/* Individual variant buttons */
.product-row .dbrman-quick-variant-button {
  appearance: none;
  -webkit-appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding: 8px 4px;

  background: var(--quick-button-bg, #FFFFFF);
  color: var(--quick-button-text, #000000);
  border: 1px solid var(--quick-button-border, #E4E4E4);
  border-radius: 0;

  font: inherit;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;

  overflow-wrap: anywhere;
  cursor: pointer;
  transition:
    background .18s ease,
    color .18s ease,
    border-color .18s ease,
    opacity .18s ease;
}

/* Available variant hover and pressed states */
@media (hover: hover) and (pointer: fine) {
  .product-row .dbrman-quick-variant-button:not(:disabled):hover {
    background: #111111;
    color: #FFFFFF;
    border-color: #FFFFFF;
  }
}

/* Pressed state - desktop and mobile */
.product-row .dbrman-quick-variant-button:not(:disabled):active {
  background: #111111;
  color: #FFFFFF;
  border-color: #FFFFFF;
}

/* Sold-out variants - 80% opacity, no interaction */
.product-row .dbrman-quick-variant-button.is-unavailable {
  opacity: 0.8 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
  background: var(--quick-button-bg, #FFFFFF) !important;
  color: var(--quick-button-text, #000000) !important;
  border-color: var(--quick-button-border, #E4E4E4) !important;
  filter: none !important;
}

/* Single Add to Cart and More Details buttons */
.product-row .dbrman-quick-action > .silver-spoon-button,
.product-row .dbrman-quick-action > .product-card__form {
  width: 100%;
  max-width: none;
}

.product-row .dbrman-quick-action
  .product-card__form > .silver-spoon-button {
  width: 100%;
  max-width: none;
}

/* Prevent form spacing from interfering */
.product-row .dbrman-quick-action form {
  margin: 0;
}

/* Mobile adjustments */
@media screen and (max-width: 749px) {

  .product-row .product-card__action.dbrman-quick-action {
    left: 6px !important;
    right: 6px !important;
    bottom: 16px !important;
  }

  .product-row .dbrman-quick-variants {
    gap: 3px;
  }

  .product-row .dbrman-quick-variant-form,
  .product-row .dbrman-quick-variants > button {
    flex-basis: 42px;
  }

  .product-row .dbrman-quick-variant-button {
    min-height: 34px;
    padding: 7px 3px;
    font-size: 10px;
  }

  /* When mobile quick add is disabled */
  .product-row
    .product-card[data-mobile-quick-add="false"]
    .dbrman-quick-action {
    display: none !important;
    pointer-events: none !important;
  }

}

/* Also disable quick add on touch-only tablet devices */
@media (hover: none) and (min-width: 750px) {
  .product-row
    .product-card[data-mobile-quick-add="false"]
    .dbrman-quick-action {
    display: none !important;
  }
}



/* ============================================
   DBRMAN - QUICK ADD VISIBILITY
   ============================================ */

/* Hide on desktop only */
@media screen and (min-width: 750px) {
  .product-row--hide-quick-desktop
  .product-card__action.dbrman-quick-action {
    display: none !important;
    pointer-events: none !important;
  }
}

/* Hide on mobile only */
@media screen and (max-width: 749px) {
  .product-row--hide-quick-mobile
  .product-card__action.dbrman-quick-action {
    display: none !important;
    pointer-events: none !important;
  }
}

/* On touch tablets, also respect the mobile hide setting */
@media (hover: none) and (min-width: 750px) {
  .product-row--hide-quick-mobile
  .product-card__action.dbrman-quick-action {
    display: none !important;
    pointer-events: none !important;
  }
}





/* ============================================
   DBRMAN - QUICK ADD BUTTON ALIGNMENT
   ============================================ */

/* Ensure all quick-add action types are centered */
.product-row .product-card__action.dbrman-quick-action {
  display: flex;
  flex-direction: column;
  align-items: stretch !important;
  justify-content: center !important;
}

/* Full-width, centered More Details button */
.product-row .dbrman-quick-action > a.silver-spoon-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;

  text-align: center !important;
  box-sizing: border-box;
}

/* Prevent old mobile alignment settings overriding it */
@media screen and (max-width: 749px) {
  .product-row .dbrman-quick-action {
    left: 6px !important;
    right: 6px !important;
    width: auto !important;
  }

  .product-row .dbrman-quick-action > a.silver-spoon-button {
    align-self: stretch !important;
  }
}




/* ============================================
   DBRMAN - QUICK ADD TYPOGRAPHY CONTROLS
   ============================================ */

/* Add to Cart and More Details */
.product-row .dbrman-quick-action .silver-spoon-button {
  font-size: var(--quick-button-font-size, 11px) !important;
  font-weight: var(--quick-button-font-weight, 400) !important;
}

/* Individual size / variant buttons */
.product-row .dbrman-quick-variant-button {
  font-size: var(--quick-button-font-size, 11px) !important;
  font-weight: var(--quick-button-font-weight, 400) !important;
}

/* SOLD OUT button over product image */
.product-row .dbrman-quick-action .dbrman-quick-sold-out {
  font-size: var(--quick-sold-out-font-size, 11px) !important;
  font-weight: var(--quick-sold-out-font-weight, 400) !important;
}

/* SOLD OUT text beside product title */
.product-row .product-card__price--sold-out {
  font-size: var(--quick-sold-out-font-size, 11px) !important;
  font-weight: var(--quick-sold-out-font-weight, 400) !important;
}



/* DBRMAN - Consistent quick-add button heights */
.product-row .dbrman-quick-action > a.silver-spoon-button,
.product-row .dbrman-quick-action > .product-card__form > .silver-spoon-button {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  line-height: 1.2 !important;
  box-sizing: border-box;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Match mobile variant button height */
@media screen and (max-width: 749px) {
  .product-row .dbrman-quick-action > a.silver-spoon-button,
  .product-row .dbrman-quick-action > .product-card__form > .silver-spoon-button {
    height: 34px !important;
    min-height: 34px !important;
  }
}

/* ============================================
   DBRMAN - QUICK ADD BUTTON HOVER COLORS
   ============================================ */

@media (hover: hover) and (pointer: fine) {
  .product-row .dbrman-quick-action a.silver-spoon-button:hover,
  .product-row .dbrman-quick-action button.silver-spoon-button:hover {
    background: #111111 !important;
    background-color: #111111 !important;
    color: #FFFFFF !important;
    border-color: #111111 !important;
    opacity: 1 !important;
    filter: none !important;
  }
}


/* ============================================
   DBRMAN - OPTIONAL SCROLLABLE QUICK VARIANTS
   ============================================ */

/* Desktop scroll setting */
@media screen and (min-width: 750px) {

  .product-row--quick-scroll-desktop
  .dbrman-quick-variants {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;

    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;

    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;

    touch-action: pan-x;
    cursor: grab;
  }

  .product-row--quick-scroll-desktop
.dbrman-quick-variant-form,
.product-row--quick-scroll-desktop
.dbrman-quick-variants > button {
  flex: 1 0 auto;
  width: auto;
  min-width: 48px;
}
}

/* Mobile scroll setting */
@media screen and (max-width: 749px) {

  .product-row--quick-scroll-mobile
  .dbrman-quick-variants {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;

    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;

    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;

    touch-action: pan-x;
    cursor: grab;
  }

  .product-row--quick-scroll-mobile
  .dbrman-quick-variant-form,
  .product-row--quick-scroll-mobile
  .dbrman-quick-variants > button {
    flex: 0 0 auto;
    width: auto;
    min-width: 42px;
  }
}

/* Shared scroll behavior */
.product-row--quick-scroll-desktop
.dbrman-quick-variants::-webkit-scrollbar,
.product-row--quick-scroll-mobile
.dbrman-quick-variants::-webkit-scrollbar {
  display: none;
}

/* Mouse dragging */
.product-row .dbrman-quick-variants.is-dragging {
  cursor: grabbing !important;
  scroll-behavior: auto;
  user-select: none;
  -webkit-user-select: none;
}

.product-row .dbrman-quick-variants.is-dragging button {
  user-select: none;
  -webkit-user-select: none;
}

/* Never let a single variant shrink in scroll mode */
.product-row--quick-scroll-desktop
.dbrman-quick-variant-button,
.product-row--quick-scroll-mobile
.dbrman-quick-variant-button {
  white-space: nowrap;
}







/* ============================================
   DBRMAN - CLICKABLE QUICK VARIANT ARROWS
   ============================================ */

/* Default - no fade */
.product-row .dbrman-quick-variants {
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Stronger right-edge fade */
.product-row .dbrman-quick-variants.can-scroll-right {
  -webkit-mask-image: linear-gradient(
    to right,
    black 0%,
    black calc(100% - 65px),
    rgba(0, 0, 0, 0.65) calc(100% - 45px),
    rgba(0, 0, 0, 0.2) calc(100% - 25px),
    transparent calc(100% - 18px)
  ) !important;

  mask-image: linear-gradient(
    to right,
    black 0%,
    black calc(100% - 65px),
    rgba(0, 0, 0, 0.65) calc(100% - 45px),
    rgba(0, 0, 0, 0.2) calc(100% - 25px),
    transparent calc(100% - 18px)
  ) !important;
}

/* Stronger left-edge fade */
.product-row .dbrman-quick-variants.can-scroll-left:not(.can-scroll-right) {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 18px,
    rgba(0, 0, 0, 0.2) 25px,
    rgba(0, 0, 0, 0.65) 45px,
    black 65px,
    black 100%
  ) !important;

  mask-image: linear-gradient(
    to right,
    transparent 18px,
    rgba(0, 0, 0, 0.2) 25px,
    rgba(0, 0, 0, 0.65) 45px,
    black 65px,
    black 100%
  ) !important;
}

/* Stronger fades on both sides */
.product-row .dbrman-quick-variants.can-scroll-left.can-scroll-right {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 18px,
    rgba(0, 0, 0, 0.2) 25px,
    rgba(0, 0, 0, 0.65) 45px,
    black 65px,
    black calc(100% - 65px),
    rgba(0, 0, 0, 0.65) calc(100% - 45px),
    rgba(0, 0, 0, 0.2) calc(100% - 25px),
    transparent calc(100% - 18px)
  ) !important;

  mask-image: linear-gradient(
    to right,
    transparent 18px,
    rgba(0, 0, 0, 0.2) 25px,
    rgba(0, 0, 0, 0.65) 45px,
    black 65px,
    black calc(100% - 65px),
    rgba(0, 0, 0, 0.65) calc(100% - 45px),
    rgba(0, 0, 0, 0.2) calc(100% - 25px),
    transparent calc(100% - 18px)
  ) !important;
}

/* ============================================
   DBRMAN - PRECISELY CENTERED VARIANT ARROWS
   ============================================ */

/* Arrow buttons span the full height of the variant row */
.product-row .dbrman-quick-scroll-arrow {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  transform: none !important;
  z-index: 15;

  display: grid !important;
  place-items: center !important;

  width: 20px;
  height: auto !important;
  min-height: 0;
  margin: 0;
  padding: 0;

  border: 0;
  border-radius: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
  line-height: 0;

  cursor: pointer;
  touch-action: manipulation;
  transition: opacity 0.2s ease;
}

/* Draw precisely centered chevrons */
.product-row .dbrman-quick-scroll-arrow::before {
  content: "";
  display: block;

  width: 6px;
  height: 6px;

  border-top: 1.5px solid #111111;
  border-right: 1.5px solid #111111;

  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;

  pointer-events: none;
}

/* Left arrow */
.product-row .dbrman-quick-scroll-arrow--left {
  left: 0;
  right: auto;
}

.product-row .dbrman-quick-scroll-arrow--left::before {
  transform: translate(-35%, -50%) rotate(-135deg);
}

/* Right arrow */
.product-row .dbrman-quick-scroll-arrow--right {
  right: 0;
  left: auto;
}

.product-row .dbrman-quick-scroll-arrow--right::before {
  transform: translate(-65%, -50%) rotate(45deg);
}

/* Hide arrows when no scrolling is available */
.product-row .dbrman-quick-scroll-arrow[hidden] {
  display: none !important;
}

/* Hover feedback */
@media (hover: hover) and (pointer: fine) {
  .product-row .dbrman-quick-scroll-arrow:hover {
    opacity: 0.5;
  }
}









/* ==========================================
   DBRMAN - CART RESERVATION NOTICE
   ========================================== */

.cart-drawer__notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 14px 18px;
  flex-shrink: 0;
}

.cart-drawer__notice[hidden] {
  display: none !important;
}

.cart-drawer__notice-icon {
  width: var(--cart-notice-icon-desktop, 16px);
  max-width: var(--cart-notice-icon-desktop, 16px);
  flex: 0 0 var(--cart-notice-icon-desktop, 16px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

.cart-drawer__notice-icon svg,
.cart-drawer__notice-icon img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.cart-drawer__notice-text {
  flex: 1;
  min-width: 0;
  font-size: var(--cart-notice-size-desktop, 12px);
  font-weight: var(--cart-notice-weight, 400);
  line-height: 1.5;
}

.cart-drawer__notice-text p {
  margin: 0;
}

.cart-drawer__notice-text p + p {
  margin-top: 8px;
}

.cart-drawer__notice-text strong,
.cart-drawer__notice-text b {
  font-weight: 700;
}

.cart-drawer__notice-text em,
.cart-drawer__notice-text i {
  font-style: italic;
}

.cart-drawer__notice-text a {
  text-decoration: underline;
}


/* ==========================================
   DBRMAN - CART VARIANT LABELS
   ========================================== */

.cart-drawer .cart-line__variant {
  display: flex;
  flex-direction: column;
  gap: 3px;
    margin-top: -6px;
}

.cart-drawer .cart-line__option-name {
  font-weight: inherit;
}


/* ==========================================
   DBRMAN - PRICE AND QUANTITY ROW
   ========================================== */

.cart-drawer .cart-line__info {
  min-width: 0;
}

.cart-drawer .cart-line__bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-top: 4px;
}

.cart-drawer .cart-line__bottom-row .cart-line__price {
  flex: 0 1 auto;
  min-width: 0;
  white-space: nowrap;
}

.cart-drawer .cart-line__bottom-row .cart-line__controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
  margin: 0;
  margin-left: auto;
}

.cart-drawer .cart-line__bottom-row .cart-line__controls button {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.cart-drawer .cart-line__bottom-row .cart-line__controls span {
  text-align: center;
  min-width: 10px;
  font-variant-numeric: tabular-nums;
}


/* ==========================================
   DBRMAN - MOBILE
   ========================================== */

@media screen and (max-width: 749px) {

  .cart-drawer__notice-icon {
    width: var(--cart-notice-icon-mobile, 16px);
    max-width: var(--cart-notice-icon-mobile, 16px);
    flex-basis: var(--cart-notice-icon-mobile, 16px);
  }

  .cart-drawer__notice-text {
    font-size: var(--cart-notice-size-mobile, 12px);
  }

  .cart-drawer .cart-line__bottom-row {
    gap: 8px;
  }

}




/* ==========================================
   DBRMAN - CART DRAWER LAYOUT FIX
   ========================================== */

/* Keep the notice and products together at the top */
.cart-drawer .cart-drawer__panel {
  display: flex;
  flex-direction: column;
}

/* Header, shipping progress and notice */
.cart-drawer .cart-drawer__header,
:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress,
.cart-drawer .cart-drawer__notice,
.cart-drawer .cart-drawer__footer {
  flex-shrink: 0;
}

/* Product list starts directly below the notice */
.cart-drawer .cart-drawer__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* ==========================================
   DBRMAN - MINIMAL QUANTITY SELECTOR
   ========================================== */

.cart-drawer .cart-line__bottom-row .cart-line__controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-left: auto;
}

.cart-drawer .cart-line__bottom-row .cart-line__controls button {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  min-width: 12px;
  min-height: 24px;
  width: auto;
  height: auto;
  font: inherit;
  font-size: 15px;
  line-height: 1;
  color: inherit;
  cursor: pointer;
}

.cart-drawer .cart-line__bottom-row .cart-line__controls span {
  min-width: 12px;
  text-align: center;
}




/* ==========================================
   DBRMAN - FREE SHIPPING PROGRESS UPDATE
   ========================================== */

/* Shipping progress container */

:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress {
  padding-bottom: 10px;
}

/* Message above the bar */

:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-label {
  margin-bottom: 12px;
}

/* Keep existing green fill and truck icon */

:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-track {
  position: relative;
  margin-bottom: 0;
}

/* Dollar labels beneath the progress bar */

:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-values {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 10px;

  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  color: #888888;

  font-variant-numeric: tabular-nums;
}

:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-values span {
  display: inline-block;
  white-space: nowrap;
}

/* Mobile */

@media screen and (max-width: 749px) {
  :is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-values {
    font-size: 11px;
  }
}




/* ==========================================
   DBRMAN - SHIPPING TRUCK POSITION
   ========================================== */

/* Green fill is the truck's positioning parent */
:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-fill {
  position: relative;
}

/* Truck follows the right edge of the green fill */
:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-truck {
  position: absolute;
  left: auto;
  right: -12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

/* Allow truck to extend beyond progress bar */
:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-track {
  overflow: visible;
}



/* DBRMAN - Prevent carousel images peeking at left edge */

.product-card__media-slider::before { content: none; }



/* Vendor visibility is controlled by the global setting when rendering results. */




/* DBRMAN - Collection grid follows Product Row card styling.
   Keep the collection header and filtering controls full width. */
.main-collection.product-row {
  padding-left: 0;
  padding-right: 0;
}
.main-collection.product-row .product-grid--collection {
  grid-template-columns: repeat(var(--collection-cols-desktop), minmax(0, 1fr));
  column-gap: var(--row-gap-desktop);
  row-gap: var(--row-gap-vertical-desktop);
  padding-left: var(--collection-grid-padding-desktop);
  padding-right: var(--collection-grid-padding-desktop);
}

@media (max-width: 749px) {
  .main-collection.product-row .product-grid--collection {
    grid-template-columns: repeat(var(--collection-cols-mobile), minmax(0, 1fr));
    column-gap: var(--row-gap-mobile);
    row-gap: var(--row-gap-vertical-mobile);
    padding-left: var(--collection-grid-padding-mobile);
    padding-right: var(--collection-grid-padding-mobile);
  }
}



/* DBRMAN - Collection product grid vertical spacing */

.main-collection.product-row .product-grid--collection {
  padding-top: var(--collection-grid-padding-top-desktop, 24px);
  padding-bottom: var(--collection-grid-padding-bottom-desktop, 40px);
}

@media screen and (max-width: 749px) {
  .main-collection.product-row .product-grid--collection {
    padding-top: var(--collection-grid-padding-top-mobile, 16px);
    padding-bottom: var(--collection-grid-padding-bottom-mobile, 24px);
  }
}


/* =========================================
   DBRMAN - STICKY COLLECTION FILTER TOOLBAR
   Independent desktop and mobile controls
   ========================================= */

/* Default: toolbar scrolls normally */
.main-collection .collection-toolbar {
  position: relative;
  top: auto;
}

/* Desktop: sticky when enabled */
@media screen and (min-width: 750px) {
  .main-collection--sticky-toolbar-desktop .collection-toolbar {
    position: sticky;
    top: calc(var(--dbrman-sticky-toolbar-offset, 46px) - 1px);
    z-index: 100;
    background: var(--silver-spoon-bg);
  }
}

/* Mobile: sticky when enabled */
@media screen and (max-width: 749px) {
  .main-collection--sticky-toolbar-mobile .collection-toolbar {
    position: sticky;
    top: calc(var(--dbrman-sticky-toolbar-offset, 46px) - 1px);
    z-index: 100;
    background: var(--silver-spoon-bg);
  }
}



/* ==========================================
   DBRMAN - PRODUCT CARD VIDEO MEDIA
   Version 1.0
========================================== */

.product-card__media-slide .product-card__video {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.product-card__media-slide video.product-card__video {
  background: transparent;
}

.product-card__media-slide iframe.product-card__video {
  aspect-ratio: 1 / 1;
  border: 0;
}




/* ==========================================
   DBRMAN - MOBILE PRODUCT CARD INTERACTIONS
   Version 1.0
========================================== */

@media (hover: none), (pointer: coarse) {

  /* Only JavaScript's image-tap state may reveal quick actions */
  .product-card:not(.is-action-visible)
  .product-card__action {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Show quick actions after tapping the product image */
  .product-card.is-action-visible
  .product-card__action {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Keep titles and prices independently clickable */
  .product-card__meta,
  .product-card__title,
  .product-card__price {
    position: relative;
    pointer-events: auto;
  }

  .product-card__title,
  .product-card__price {
    cursor: pointer;
  }
}



/* ==========================================
   DBRMAN - CART DRAWER SALE PRICES
   ========================================== */

.cart-drawer .cart-line__price {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
}

.cart-drawer .cart-line__current-price {
  white-space: nowrap;
}

.cart-drawer .cart-line__compare-price {
  color: var(--silver-spoon-muted);
  font-size: 0.9em;
  font-weight: 400;
  text-decoration: line-through;
  white-space: nowrap;
}



/* ==========================================================
   DBRMAN - PRODUCT ROW HEADING VISIBILITY
   Version 1.0
   ========================================================== */

/* Desktop */
@media screen and (min-width: 750px) {
  .product-row .product-row__heading[data-hide-heading-desktop] {
    display: none !important;
  }
}

/* Mobile */
@media screen and (max-width: 749px) {
  .product-row .product-row__heading[data-hide-heading-mobile] {
    display: none !important;
  }
}



/* ==========================================================
   DBRMAN - COLLECTION PRODUCT TITLE / PRICE SPACING
   Desktop and Mobile Independent Controls
   Version 1.0
   ========================================================== */

/* Desktop */
@media screen and (min-width: 750px) {

  /* Price below title */
  .main-collection .product-card__title,
  .list-collections-page-redesign .product-card__title {
    margin-bottom: var(--card-title-price-gap, 28px);
  }

  /* Price beside title */
  .main-collection.product-row--price-right-desktop
    .product-card__meta,
  .list-collections-page-redesign.product-row--price-right-desktop
    .product-card__meta {
    column-gap: var(--card-title-price-gap, 28px);
  }

  /* No bottom margin when price is beside title */
  .main-collection.product-row--price-right-desktop
    .product-card__title,
  .list-collections-page-redesign.product-row--price-right-desktop
    .product-card__title {
    margin-bottom: 0;
  }
}

/* Mobile */
@media screen and (max-width: 749px) {

  /* Price below title */
  .main-collection .product-card__title,
  .list-collections-page-redesign .product-card__title {
    margin-bottom: var(--card-title-price-gap-mobile, 16px);
  }

  /* Price beside title */
  .main-collection.product-row--price-right-mobile
    .product-card__meta,
  .list-collections-page-redesign.product-row--price-right-mobile
    .product-card__meta {
    column-gap: var(--card-title-price-gap-mobile, 16px);
  }

  /* No bottom margin when price is beside title */
  .main-collection.product-row--price-right-mobile
    .product-card__title,
  .list-collections-page-redesign.product-row--price-right-mobile
    .product-card__title {
    margin-bottom: 0;
  }
}



/* ==========================================================
   DBRMAN - SOLD OUT VARIANT APPEARANCE
   Color swatches stay full color.
   Text variants retain sold-out styling.
   ========================================================== */

/* Color swatches: never fade or cross out */
.product-form__option--swatch.product-form__option--muted,
.product-form__option--swatch.product-form__option--muted > span {
  opacity: 1 !important;
  filter: none !important;
  text-decoration: none !important;
}

/* Restore original color even when sold out */
.product-form__option--swatch.product-form__option--muted > span {
  background: var(--swatch-color, #ddd) !important;
  color: transparent;
  width: 22px;
  min-width: 22px;
  height: 22px;
  min-height: 22px;
  padding: 0;
  box-sizing: border-box;
}

/* Text-based variants: keep unavailable appearance */
.product-form__option--muted:not(.product-form__option--swatch) > span {
  opacity: 0.35;
}


/* ==========================================================
   DBRMAN - FEATURE ICON RESPONSIVE VISIBILITY
   Version 1.0
   ========================================================== */

/* Desktop */
@media screen and (min-width: 750px) {

  .main-product .product-icons--hidden-desktop {
    display: none !important;
  }

}

/* Mobile */
@media screen and (max-width: 749px) {

  .main-product .product-icons--hidden-mobile {
    display: none !important;
  }

  .main-product .product-icons {
    border-top-width:
      var(--icon-row-top-divider-width-mobile, 1px);
  }

}




/* =========================================================
   DBRMAN - Collection Tiles & Product Row Controls
   Section Borders, Padding, Heading and View All
   ========================================================= */

/* COLLECTION TILES: SECTION BORDERS + PADDING */

.collection-tabs {
  box-sizing: border-box;

  border-top:
    var(--tiles-border-top-width, 0px)
    solid
    var(--tiles-border-color, #E5E5E5);

  border-bottom:
    var(--tiles-border-bottom-width, 0px)
    solid
    var(--tiles-border-color, #E5E5E5);

  padding:
    var(--tiles-padding-top-desktop, 56px)
    var(--tiles-padding-side-desktop, 16px)
    var(--tiles-padding-bottom-desktop, 68px);
}

@media screen and (max-width: 749px) {
  .collection-tabs {
    padding:
      var(--tiles-padding-top-mobile, 32px)
      var(--tiles-padding-side-mobile, 16px)
      var(--tiles-padding-bottom-mobile, 42px);
  }

  .collection-tabs .collection-tabs__scroller {
    padding-left: 0;
    padding-right: 0;
  }
}

/* PRODUCT ROW: SECTION BORDERS */

section.product-row {
  box-sizing: border-box;

  border-top:
    var(--row-border-top-width, 0px)
    solid
    var(--row-border-color, #E5E5E5);

  border-bottom:
    var(--row-border-bottom-width, 0px)
    solid
    var(--row-border-color, #E5E5E5);
}

/* PRODUCT ROW: HEADING */

.product-row .product-row__heading {
  display: flex;
  align-items: flex-end;
  width: 100%;
  box-sizing: border-box;
  gap: var(--row-view-all-gap, 24px);
}

.product-row__heading-title {
  flex: 1 1 auto;
  min-width: 0;

  font-family: var(
    --row-heading-family,
    Helvetica,
    Arial,
    sans-serif
  );

  font-size: var(--row-heading-size-desktop, 11px);
  font-weight: var(--row-heading-weight, 700);
  line-height: 1.2;
}

/* Heading alignment: desktop */

.product-row--heading-desktop-left
.product-row__heading-title {
  text-align: left;
}

.product-row--heading-desktop-center
.product-row__heading-title {
  text-align: center;
}

.product-row--heading-desktop-right
.product-row__heading-title {
  text-align: right;
}

/* VIEW ALL: RIGHT AND BOTTOM ALIGNED */

.product-row__view-all {
  display: inline-block;
  flex: 0 0 auto;
  align-self: flex-end;
  margin-left: auto;

  font-family: var(
    --row-heading-family,
    Helvetica,
    Arial,
    sans-serif
  );

  font-size: var(--row-view-all-size, 11px);
  font-weight: var(--row-view-all-weight, 700);
  line-height: 1.2;
  color: var(--row-view-all-color, #111111);

  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.product-row__view-all:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Desktop visibility */

@media screen and (min-width: 750px) {
  .product-row__view-all--hide-desktop {
    display: none;
  }
}

/* Mobile typography, alignment and visibility */

@media screen and (max-width: 749px) {
  .product-row__heading-title {
    font-size: var(--row-heading-size-mobile, 11px);
  }

  .product-row--heading-mobile-left
  .product-row__heading-title {
    text-align: left;
  }

  .product-row--heading-mobile-center
  .product-row__heading-title {
    text-align: center;
  }

  .product-row--heading-mobile-right
  .product-row__heading-title {
    text-align: right;
  }

  .product-row__view-all--hide-mobile {
    display: none;
  }
}




@media screen and (min-width: 750px) {
  .product-row__heading-title[data-hide-heading-desktop] {
    display: none;
  }
}

@media screen and (max-width: 749px) {
  .product-row__heading-title[data-hide-heading-mobile] {
    display: none;
  }
}




/* ==========================================
   DBRMAN - PRODUCT ROW IMAGE EDGE FIX
   Version 1.0
   ========================================== */

/* Allow buttons to extend beyond the image */
.product-row:not(.main-collection) .product-card__media-wrap {
  position: relative !important;
  overflow: visible !important;
}

/* Keep actual product images clipped */
.product-row:not(.main-collection) .product-card__media-slider {
  overflow: hidden !important;
}

/* Position buttons halfway across the image edge */
.product-row:not(.main-collection)
.product-card__media-wrap > .product-card__action.dbrman-quick-action {
  position: absolute !important;
  bottom: -17px !important;
  z-index: 20 !important;
}

/* Reserve space below buttons before dots */
.product-row:not(.main-collection)
.product-card > .product-card__media-dots {
  position: relative !important;
  margin-top: max(24px, var(--card-dots-spacing, 8px)) !important;
  z-index: 3;
}



/* ==========================================
   DBRMAN - COLLECTION QUICK VARIANT FIX
   Default Collection + Collection List
   ========================================== */

/* Same image wrapper behavior as homepage */
.main-collection.product-row .product-card__media-wrap {
  position: relative !important;
  overflow: visible !important;
}

/* Clip carousel slides, not quick action buttons */
.main-collection.product-row .product-card__media-slider {
  overflow: hidden !important;
}

/* Position quick variants halfway over image bottom edge */
.main-collection.product-row
.product-card__media-wrap > .product-card__action.dbrman-quick-action {
  position: absolute !important;
  bottom: -17px !important;
  z-index: 20 !important;
}

/* Reserve room for overlapping buttons before the dots */
.main-collection.product-row
.product-card > .product-card__media-dots {
  position: relative !important;
  bottom: auto !important;
  margin-top: max(24px, var(--card-dots-spacing, 8px)) !important;
  z-index: 3;
}

/* Mobile: one row, horizontal scrolling, no wrapping */
@media screen and (max-width: 749px) {
  .main-collection.product-row .dbrman-quick-variants {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
  }

  .main-collection.product-row .dbrman-quick-variant-form,
  .main-collection.product-row
  .dbrman-quick-variants > button {
    flex: 0 0 auto !important;
    min-width: 42px;
  }

  .main-collection.product-row
  .dbrman-quick-variants::-webkit-scrollbar {
    display: none;
  }
}



/* DBRMAN - Responsive accelerated checkout visibility */

@media (min-width: 750px) {
  .main-product--hide-accelerated-desktop .product-form__payment {
    display: none !important;
  }
}

@media (max-width: 749px) {
  .main-product--hide-accelerated-mobile .product-form__payment {
    display: none !important;
  }
}




@media screen and (max-width: 749px) {
  .list-collections-page-redesign .collection-tabs__scroller {
    padding-left: var(--tiles-side-padding-mobile, 16px);
    padding-right: var(--tiles-side-padding-mobile, 16px);
  }
}



/* DBRMAN - Collection list empty placeholders */

.list-collections-page-redesign
.collection-tabs__tile--placeholder {
  pointer-events: none;
  cursor: default;
}

.list-collections-page-redesign
.collection-tabs__tile--placeholder
.collection-tabs__image {
  position: relative;
}

.list-collections-page-redesign
.collection-tabs__tile--placeholder
.silver-spoon-placeholder {
  width: 100%;
  height: 100%;
  min-height: 0;
}

.list-collections-page-redesign
.collection-tabs__tile--placeholder
.silver-spoon-placeholder__icon {
  width: 48px;
  height: 48px;
}




/* DBRMAN - Collection list placeholders */

.list-collections-page-redesign
.collection-tabs__tile--placeholder {
  pointer-events: none;
  cursor: default;
}

.list-collections-page-redesign
.collection-tabs__tile--placeholder
.collection-tabs__image {
  position: relative;
  overflow: hidden;
}

.list-collections-page-redesign
.collection-tabs__tile--placeholder
.silver-spoon-placeholder {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.list-collections-page-redesign
.collection-tabs__tile--placeholder
.silver-spoon-placeholder__icon {
  display: flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
}

.list-collections-page-redesign
.collection-tabs__tile--placeholder
.silver-spoon-placeholder__icon svg {
  width: 100%;
  height: 100%;
}





/* DBRMAN - Homepage collection placeholders */

.collection-tabs:not(.collection-tabs--list)
.collection-tabs__tile--placeholder {
  pointer-events: none;
  cursor: default;
}

.collection-tabs:not(.collection-tabs--list)
.collection-tabs__tile--placeholder
.collection-tabs__image {
  position: relative;
  overflow: hidden;
}

.collection-tabs:not(.collection-tabs--list)
.collection-tabs__tile--placeholder
.silver-spoon-placeholder {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.collection-tabs:not(.collection-tabs--list)
.collection-tabs__tile--placeholder
.silver-spoon-placeholder__icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}





/* =========================================
   DBRMAN - HOMEPAGE COLLECTION TILE WIDTH FIX
   Version 1.0
   ========================================= */

/* Desktop */
@media screen and (min-width: 750px) {
  .collection-tabs:not(.collection-tabs--list)
  .collection-tabs__scroller > .collection-tabs__tile {
    flex: 0 0 var(--desktop-tile-width, 120px) !important;
    width: var(--desktop-tile-width, 120px) !important;
    min-width: 0 !important;
    max-width: var(--desktop-tile-width, 120px) !important;
  }
}

/* Mobile */
@media screen and (max-width: 749px) {
  .collection-tabs:not(.collection-tabs--list)
  .collection-tabs__scroller > .collection-tabs__tile {
    flex: 0 0 var(--mobile-tile-width, 65%) !important;
    width: var(--mobile-tile-width, 65%) !important;
    min-width: 0 !important;
    max-width: var(--mobile-tile-width, 65%) !important;
  }
}

/* Image container follows tile width */
.collection-tabs:not(.collection-tabs--list)
.collection-tabs__tile .collection-tabs__image {
  display: flex;
  position: relative;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

/* Actual collection images */
.collection-tabs:not(.collection-tabs--list)
.collection-tabs__image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* Placeholder fills the image container */
.collection-tabs:not(.collection-tabs--list)
.collection-tabs__tile--placeholder .silver-spoon-placeholder {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

/* Labels cannot force wider tiles */
.collection-tabs:not(.collection-tabs--list)
.collection-tabs__tile > span:last-child {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Empty product media uses the shared theme placeholder, never real-image transparency. */
.product-card .product-card__empty-image {
  display: flex;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1 / 1;
}

/* Product card rules span the image width; text retains its configured inset.
   Shared by rows, spinning models, collections, search and recommendations. */
.product-row .product-card__meta::before,
.product-row .product-card__meta::after {
  width: calc(100% + var(--card-meta-px, 12px) * 2);
  margin-left: calc(-1 * var(--card-meta-px, 12px));
  margin-right: calc(-1 * var(--card-meta-px, 12px));
  box-sizing: border-box;
}

/* Use the full metadata row for either price alignment. */
.product-row.product-row--underline-title .product-card__meta::after {
  content: "";
  display: block;
  grid-column: 1 / -1;
  grid-row: auto;
  margin-top: var(--card-title-underline-spacing, 6px);
  align-self: start;
}
.product-row .product-card__price::after {
  content: none !important;
  display: none !important;
}
@media screen and (min-width: 750px) {
  .product-row:not(.product-row--price-right-desktop) .product-card__price {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 749px) {
  .product-row:not(.product-row--price-right-mobile) .product-card__price {
    padding-bottom: 0;
  }
}

/* Product information aligns with its image; responsive spacing is explicit. */
.product-row .product-card__meta { padding-left: 0; padding-right: 0; }
.product-row .product-card__meta::before,
.product-row .product-card__meta::after { width: 100%; margin-left: 0; margin-right: 0; }
@media (min-width: 750px) {
 .product-row.product-row--price-right-desktop .product-card__meta { grid-template-columns: minmax(0, 1fr) max-content; column-gap: var(--card-title-price-gap, 24px); }
 .product-row.product-row--price-right-desktop .product-card__title { margin-bottom: 0; justify-self: stretch; text-align: left; }
 .product-row.product-row--price-right-desktop .product-card__price { justify-self: end; text-align: right; }
 .product-row:not(.product-row--price-right-desktop) .product-card__meta { grid-template-columns: minmax(0, 1fr); }
 .product-row:not(.product-row--price-right-desktop) .product-card__title { margin-bottom: var(--card-title-price-gap, 24px); text-align: left; }
 .product-row:not(.product-row--price-right-desktop) .product-card__price { justify-self: start; text-align: left; }
}
@media (max-width: 749px) {
 .product-row.product-row--price-right-mobile .product-card__meta { grid-template-columns: minmax(0, 1fr) max-content; column-gap: var(--card-title-price-gap-mobile, 16px); }
 .product-row.product-row--price-right-mobile .product-card__title { margin-bottom: 0; justify-self: stretch; text-align: left; }
 .product-row.product-row--price-right-mobile .product-card__price { justify-self: end; text-align: right; }
 .product-row:not(.product-row--price-right-mobile) .product-card__meta { grid-template-columns: minmax(0, 1fr); }
 .product-row:not(.product-row--price-right-mobile) .product-card__title { margin-bottom: var(--card-title-price-gap-mobile, 16px); text-align: left; }
 .product-row:not(.product-row--price-right-mobile) .product-card__price { justify-self: start; text-align: left; }
 .main-search .collection-toolbar__count { display: block; white-space: normal; }
 .main-search__term { display: inline; margin-top: 0; }
}

/* Each collection tile owns its image fit and inset on every template. */
.collection-tabs .collection-tabs__tile .collection-tabs__image img {
  object-fit: var(--tile-image-fit, contain);
  padding: var(--tile-image-padding, 4px);
  box-sizing: border-box;
}

/* Collection tile active and hover states share the configured border treatment. */
.collection-tabs .collection-tabs__tile .collection-tabs__image {
  border-radius: var(--inactive-border-radius, 2px);
}
.collection-tabs .collection-tabs__tile.is-active .collection-tabs__image {
  border-radius: var(--active-border-radius, 2px);
}
.collection-tabs:not(.collection-tabs--underline-active) .collection-tabs__tile.is-active > span {
  text-decoration: none;
  border-bottom: 0;
}
@media (hover: hover) {
  .collection-tabs.collection-tabs--hover-active .collection-tabs__tile:hover .collection-tabs__image {
    border-color: var(--active-border-color, #959595) !important;
    border-width: var(--active-border-width, 1px) !important;
    border-radius: var(--active-border-radius, 2px);
  }

}

/* Title states are independent of image-border colors and underline toggles. */
.collection-tabs .collection-tabs__tile > span:last-child {
  font-family: var(--tile-inactive-font, Helvetica, Arial, sans-serif);
  font-size: var(--tile-inactive-size, 11px);
  font-weight: var(--tile-inactive-weight, 400);
  color: var(--tile-inactive-color, #999999);
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  padding-bottom: 2px;
}
.collection-tabs .collection-tabs__tile.is-active > span:last-child {
  font-family: var(--tile-active-font, Helvetica, Arial, sans-serif);
  font-size: var(--tile-active-size, 11px);
  font-weight: var(--tile-active-weight, 400);
  color: var(--tile-active-color, #000000);
}
.collection-tabs.collection-tabs--underline-active .collection-tabs__tile.is-active > span:last-child {
  border-bottom-color: currentColor !important;
}
@media (hover: hover) {
  .collection-tabs.collection-tabs--hover-active .collection-tabs__tile:hover > span:last-child {
    font-family: var(--tile-active-font, Helvetica, Arial, sans-serif);
    font-size: var(--tile-active-size, 11px);
    font-weight: var(--tile-active-weight, 400);
    color: var(--tile-active-color, #000000);
    border-bottom: 1px solid currentColor !important;
  }
}

/* Keep the closed drawer and its translated panel inside the viewport. */
.cart-drawer { overflow: hidden; visibility: hidden; }
.cart-drawer.is-open { visibility: visible; }
.product-shipping-bar { min-width: 0; max-width: 100%; margin: 16px 0; }
.product-shipping-bar:empty { display: none; }
.product-shipping-bar > .cart-drawer__progress { padding: 12px 0 10px; background: transparent; }
@media (max-width: 749px) {
  [data-product-shipping-slot="below_stock"] { display: none; }
}

/* Product shipping spacing is controlled independently for each device. */
.product-shipping-bar { margin: 0; padding-top: var(--product-shipping-top, 12px); padding-bottom: var(--product-shipping-bottom, 12px); }
.product-shipping-bar > .cart-drawer__progress { padding: 0; }
.cart-drawer__progress-label p { margin: 0; }
.cart-drawer__progress-label p + p { margin-top: .5em; }
.cart-disclaimer { min-width: 0; padding: 12px 0; }
.cart-disclaimer__row { display: flex; align-items: flex-start; gap: 10px; }
.cart-disclaimer input[type="checkbox"] { appearance: auto; flex: 0 0 16px; width: 16px; height: 16px; margin: 2px 0 0; cursor: pointer; }
.cart-disclaimer__message { font-size: 12px; line-height: 1.5; }
.cart-disclaimer__message p { margin: 0; }
.cart-disclaimer__message a { text-decoration: underline; }
.cart-disclaimer__error { margin: 6px 0 0 26px; color: #c62828; font-size: 11px; line-height: 1.4; }
.cart-disclaimer__error[hidden], .checkout-wallet-guard__blocker[hidden] { display: none !important; }
.checkout-wallet-guard { position: relative; }
.checkout-wallet-guard__blocker { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; }
.checkout-wallet-guard__blocker:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* Cart appearance controls */
.cart-disclaimer__message { font-size: var(--disclaimer-font-size, 12px); font-weight: var(--disclaimer-font-weight, 400); cursor: pointer; }
.cart-disclaimer input[type="checkbox"] { accent-color: var(--disclaimer-checkbox-color, #000000); }
.cart-disclaimer__error { font-size: var(--disclaimer-error-size, 11px); font-weight: var(--disclaimer-error-weight, 400); color: var(--disclaimer-error-color, #c62828); }
.cart-drawer__overlay { background: var(--cart-overlay-color, rgba(0,0,0,.35)); backdrop-filter: blur(var(--cart-overlay-blur, 0px)); -webkit-backdrop-filter: blur(var(--cart-overlay-blur, 0px)); }
/* Product typography and per-item icon appearance */
.main-product .product-icons__item { font-size: var(--feature-text-size, 11px); font-weight: var(--feature-text-weight, 400); }
.main-product .product-accordion summary { font-size: var(--accordion-heading-size, 12px); }
.main-product .product-accordion__content { font-size: var(--accordion-text-size, 12px); }
.main-product .product-accordion--description summary { font-size: var(--description-heading-size, 12px); }
.main-product .product-accordion--description .product-accordion__content { font-size: var(--description-text-size, 12px); }
.product-icons__visual { width: 24px; height: 24px; flex: 0 0 24px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--icon-background, transparent); border: var(--icon-border-width, 1px) solid var(--icon-border-color, #e6e6e6); color: #000; }
.product-icons__visual img, .product-icons__visual .product-icons__fallback { width: 100%; height: 100%; min-width: 0; border: 0; border-radius: 0; object-fit: var(--icon-fit, contain); }

/* The editor must target the viewport, not a footer-positioned section wrapper. */
:is(#shopify-section-cart-drawer, .silver-spoon-cart-section) {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
/* Keep the backdrop in an opaque compositing layer. Only the panel slides. */
.cart-drawer { opacity: 1; transition: none; }
.cart-drawer__overlay { transition: none; }

/* Disclaimer spacing replaces adjacent footer gaps instead of stacking with them. */
.cart-drawer__footer { --cart-footer-gap: 14px; }
@media (max-width: 749px) { .cart-drawer__footer { --cart-footer-gap: 12px; } }
.cart-drawer__footer:has(> .cart-disclaimer) { row-gap: 0; }
.cart-drawer__footer > .cart-drawer__shipping { --cart-row-margin: var(--cart-spacing-above-shipping, 0px); }
.cart-drawer__footer > .cart-drawer__subtotal { --cart-row-margin: var(--cart-spacing-above-subtotal, 0px); }
.cart-drawer__footer > .cart-drawer__checkout-form { --cart-row-margin: var(--cart-spacing-above-checkout, 8px); }
.cart-drawer__footer:has(> .cart-disclaimer) > :where(:not([hidden])) ~ :where(:not([hidden])) {
  margin-top: calc(var(--cart-footer-gap) + var(--cart-row-margin, 0px));
}
.cart-disclaimer {
  padding-block: var(--disclaimer-padding-top, 16px) var(--disclaimer-padding-bottom, 16px);
}
.cart-drawer__footer:has(> .cart-disclaimer) > .cart-disclaimer,
.cart-drawer__footer:has(> .cart-disclaimer) > .cart-disclaimer + :not([hidden]),
.cart-drawer__footer:has(> .cart-disclaimer) > .cart-disclaimer + [hidden] + :not([hidden]) {
  margin-top: 0;
}
.cart-disclaimer__error { margin-top: var(--disclaimer-error-spacing, 4px); }

/* Announcement typography remains independent on each screen size. */
.announcement-bar { font-size: var(--announcement-size-desktop, 11px); font-weight: var(--announcement-weight-desktop, 400); height: auto; padding: 6px 16px; }
.announcement-bar__inner { line-height: 1.3; overflow-wrap: anywhere; }
@media (max-width:749px) { .announcement-bar { font-size: var(--announcement-size-mobile, 11px); font-weight: var(--announcement-weight-mobile, 400); } }

/* Keep the truck inside the text-aligned track at both endpoints. */
:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-track { margin-right: 0; }
:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-fill { position: static; }
:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-truck {
  left: clamp(12px, var(--cart-progress-position, 0%), calc(100% - 12px));
  right: auto;
  transform: translate(-50%, -50%);
  transition: left 0.35s ease;
}
.cart-drawer__footer[hidden] { display: none !important; }
.cart-drawer__empty-state .cart-drawer__empty { margin: 0 0 16px; }
.cart-drawer__continue { display: inline-block; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* Preserve merchant capitalization in order notes and discount headings. */
.cart-drawer__extra > summary { text-transform: none; }

:is(.cart-drawer, .product-shipping-bar) .cart-drawer__progress-values { margin-top: 12px; }
.collection-toolbar__checkbox { gap: 16px; }
.header-search-results__placeholder {
  aspect-ratio: 1 / 1;
  background: linear-gradient(135deg, #d6d6d6 0%, #cbcbcb 28%, #bebebe 50%, #c9c9c9 72%, #dddddd 100%);
}
.product-lightbox {
  max-width: none;
  max-height: none;
  width: 100vw;
  height: 100dvh;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  color: var(--silver-spoon-text, #111);
  background: var(--silver-spoon-bg, #fff);
}
.product-lightbox::backdrop { background: var(--silver-spoon-bg, #fff); }
.list-collections-products__heading { padding-inline: 0; }
.main-collection .dbrman-collection-header {
  padding-inline: var(--collection-grid-padding-desktop, 0px);
}
@media (min-width: 750px) {
  .product-row:is(.product-row--heading-desktop-center, .product-row--heading-desktop-right) .product-row__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 8px;
  }
}
@media (max-width: 749px) {
  .main-collection .dbrman-collection-header {
    padding-inline: var(--collection-grid-padding-mobile, 0px);
  }
  .product-row:is(.product-row--heading-mobile-center, .product-row--heading-mobile-right) .product-row__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 8px;
  }
}
.product-lightbox__stage { width: 100%; height: 100%; background: transparent; }
.product-lightbox__stage img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Keep clickable collection controls distinct from the theme surface. */
.collection-tabs .collection-tabs__arrow,
.collection-toolbar .collection-toolbar__checkbox,
.collection-toolbar .collection-toolbar__select-wrap select,
.collection-toolbar .dbrman-filter-button { background-color: #ffffff; color: #111111; }
