/** Shopify CDN: Minification failed

Line 78:80 Unexpected "/"
Line 115:80 Unexpected "/"

**/
/* sbs-sections v1 2026-07-08 — custom SBS section styles (proof strip + sticky ATC overrides) */

/* ---------------------------------------------------------------------------
   SBS SOCIAL PROOF STRIP
   --------------------------------------------------------------------------- */
.sbs-proof {
  padding: clamp(48px, 8vw, 96px) var(--margin);
  background-color: var(--bg, #0D0D0F);
  color: var(--txt, #F5F0E8);
}
.sbs-proof__inner {
  max-width: var(--containerWidth, 1440px);
  margin: 0 auto;
}
.sbs-proof__eyebrow {
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  opacity: 0.6;
  margin: 0 0 24px;
  text-align: center;
}
.sbs-proof__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sbs-proof-gap, 24px);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .sbs-proof__grid { grid-template-columns: 1fr; gap: 32px; }
}
.sbs-proof__item {
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sbs-proof__label {
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  opacity: 0.55;
}
.sbs-proof__headline {
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.4;
  margin: 0;
  font-weight: 500;
}
.sbs-proof__link {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 4px;
  opacity: 0.85;
  transition: opacity 200ms;
  align-self: flex-start;
}
.sbs-proof__link:hover { opacity: 1; }

/* ---------------------------------------------------------------------------
   PDP-001 FIX — mobile sticky ATC bar
   The theme's #add2cart-cta is centered with max-width: 40ch on all viewports,
   which reads as a small floating pill on mobile. Override to full-width edge-
   to-edge sticky bar with product summary + ATC.
   Marker: /* sbs sticky-atc override */
   --------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .product-page #add2cart-cta {
    max-width: none !important;
    width: 100% !important;
    padding: 12px 16px !important;
    background: rgba(13, 13, 15, 0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.4);
    padding-bottom: max(12px, env(safe-area-inset-bottom, 12px)) !important;
  }
  .product-page #add2cart-cta .button {
    height: 52px;
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 8px;
  }
  /* Keep the price visible next to the button on mobile too */
  .product-page #add2cart-cta .mdash.large-only {
    display: flex !important;
  }
  /* Give body bottom padding so the last content isn't hidden under the bar
     when the bar is active */
  .product-page.sbs-sticky-atc-visible main { padding-bottom: 88px; }
}

/* Desktop keeps the centered floating pill — that's fine on large screens */

/* ---------------------------------------------------------------------------
   LOOX PDP REVIEWS — 2026-07-13
   Pill under title + inline reviews block below accordions.
   Loox metafields (avg_rating, num_reviews, reviews) populated by Loox app.
   Marker: /* sbs loox v1 2026-07-13 */
   --------------------------------------------------------------------------- */
.pdp-loox-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 12px;
  padding: 4px 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
  background: rgba(0, 0, 0, 0.03);
}
.pdp-loox-pill__stars {
  color: #E8B54A;
  font-size: 14px;
  line-height: 1;
}
.pdp-loox-pill__rating {
  font-weight: 600;
}
.pdp-loox-pill__count {
  color: var(--txt-muted, #767676);
  font-size: 12px;
}

.pdp-loox-inline {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.pdp-loox-inline__heading {
  font-size: 18px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 16px;
  font-weight: 600;
}
/* v2 2026-07-13 fallback styling — the Liquid now force-swaps the metafield's
   inline `display:none` to `display:block` so raw review text renders even
   when Loox JS doesn't hydrate. If Loox JS DOES hydrate, it rewrites the
   inner HTML and these fallback styles are simply overridden by Loox's own
   widget markup. Marker: /* sbs loox v2 fallback 2026-07-13 */
.pdp-loox-inline #loox-inline-reviews {
  display: block;
}
.pdp-loox-inline #loox-inline-reviews .review {
  padding: 16px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.pdp-loox-inline #loox-inline-reviews .review:last-child {
  border-bottom: none;
}
.pdp-loox-inline #loox-inline-reviews .name {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 4px;
  color: var(--txt-primary, #0d0d0d);
}
.pdp-loox-inline #loox-inline-reviews .review_text {
  font-size: 14px;
  line-height: 1.5;
  color: var(--txt-primary, #0d0d0d);
}

/* ============================================================================
   Cart drawer rebuild — 2026-07-30 (Derrick)
   Offer bar replaces the free-shipping bar; upsell moved above the items;
   urgency strip + per-size low stock added.
   ========================================================================= */

/* Offer progress. Same visual slot the free-ship bar used, so .progress-track /
   .progress-fill styling is inherited unchanged. Renders numberless until
   sbs-freeshoe.js confirms live config (never promise what the server may not grant). */
.offer-bar { padding: 14px 20px; border-bottom: 1px solid var(--sbs-border); }
.offer-bar__msg { font-size: 11px; line-height: 1.5; letter-spacing: 0.03em; color: var(--sbs-txt-muted); margin-bottom: 9px; }
.offer-bar__msg strong { color: var(--sbs-txt); font-weight: 600; }
.offer-bar.is-unlocked .offer-bar__msg strong { color: var(--sbs-success); }
/* Unconfigured metafield: keep the copy, drop the meaningless 0% track. */
.offer-bar[data-offer-unconfigured] .progress-track { display: none; }

/* Upsell sits above the line items now. Distinguish it from the old in-flow
   position so it reads as an offer, not as another cart row. */
.upsell-block--top { padding: 14px 20px 16px; border-bottom: 1px solid var(--sbs-border); background: var(--sbs-bg-soft); }
.upsell-block--top h4 { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; margin: 0 0 2px; color: var(--sbs-txt); }
.upsell-block--top .upsell-sub { font-size: 10.5px; letter-spacing: 0.04em; color: var(--sbs-txt-muted); margin: 0 0 10px; }
.upsell-block--top[hidden] { display: none; }

/* Per-size low stock. Real numbers, bucketed 1..5, tracked+deny variants only. */
.cart-line__stock { font-size: 10.5px; letter-spacing: 0.04em; color: #B3261E; font-weight: 600; margin: 2px 0 4px; }

/* Urgency. True without a number — no countdown, no fabricated global counter. */
/* Cart footer rhythm (fixed 2026-07-31, Derrick: "spacing here in cart is messed up
   on mobile"). The urgency strip landed in the footer with the same 12px gap as every
   other row, so three dense lines of small text butted straight into the SUBTOTAL
   figure and the whole footer read as one block. It now closes with a rule, which
   separates the persuasion from the money instead of relying on whitespace alone. */
.cart-urgency {
  font-size: 11.5px; line-height: 1.6; letter-spacing: 0.02em;
  color: var(--sbs-txt-muted);
  /* The separation below the divider is NOT set here. It was written as
     `margin-bottom: 14px` and never once applied: `body.sbs-page p { margin: 0 }` in
     sbs-base.css out-specifies a bare class, so the subtotal has sat flush against
     this rule — a measured 0px gap — since the block shipped. It lives on
     `.cart-subtotal` instead, where nothing resets it, rather than being re-fought
     here with a `body.sbs-page` prefix that would give the gap two owners.
     Derrick 2026-09-11. */
  margin: 0; padding: 0 0 14px;
  border-bottom: 1px solid var(--sbs-border);
}
.cart-urgency strong { color: var(--sbs-txt); font-weight: 600; }
/* Own line with real separation — a bare <br> left it crowding the sentence above. */
.cart-urgency__sub { display: block; margin-top: 5px; color: var(--sbs-txt-dim); }
/* MOVED to the top of the drawer, directly above the offer bar (Derrick 2026-09-11).
   It previously closed the footer under the checkout button, and the whole 2026-07-31
   run of clearance tuning — 18px, then 26px, then 30px, because "the free shipping line
   isnt touching the button" — existed only to stop it reading as a caption on that
   button. In the header slot there is no button to caption, so the margin goes and the
   line carries the drawer's own gutter and border rhythm instead: a strip above the
   offer bar, matching it. The `.fs-skip + .cart-shipfree` override in sbs-freeshoe.css
   went with it — no sibling, nothing to override. */
.cart-shipfree { font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; text-align: center; color: var(--sbs-txt-muted); margin: 0; }
/* A tinted band rather than a fourth hairline: the header and the offer bar already
   carry a 1px rule each, and a border here would stack three inside 90px. The soft
   ground keeps the shipping line its own object instead of blending into the offer
   copy underneath it. */
.cart-shipfree--top { padding: 11px 20px; background: var(--sbs-bg-soft); }

/* The free-shoe modal's nested-scroll fix used to live here and DID NOTHING.
   `.fs-rail` is owned by sbs-freeshoe.css, which theme.liquid loads AFTER this
   file; at equal specificity the later sheet wins, so the original
   `overflow-x:auto; scroll-snap-type:x mandatory` kept beating the fix.
   The repair now lives in sbs-freeshoe.css, edited in place. Do not re-add
   free-shoe rules here — put them in the file that declares the selector. */
