/** Shopify CDN: Minification failed

Line 334:0 Unexpected "}"

**/
/* ============================================================
   STICKY ATC BAR
   ============================================================ */

.sticky-atc-bar {
--satc-bg:                    #EDEEE3;
  --satc-shadow:                none;
--satc-border-top:            var(--satc-border-width) solid var(--satc-border-color);
  --satc-pad-v:            10px;
  --satc-pad-h:            12px;
  --satc-pad-v-desk:       14px;
  --satc-pad-h-desk:       24px;
  --satc-img-mob:          48px;
  --satc-img-desk:         56px;
  --satc-font-family:           inherit;
  --satc-title-color:           var(--color-foreground-heading, #331f17);
  --satc-vendor-color:          var(--color-foreground, #66312b);
  --satc-price-color:           var(--color-foreground, #66312b);
  --satc-variant-color:         var(--color-foreground, #66312b);
  --satc-change-color:          var(--color-foreground, #66312b);
  --satc-btn-color:             #ffffff;
  --satc-btn-bg:                linear-gradient(145deg, #c91f1f, rgb(177,27,27));
  --satc-font-mob:              13px;
  --satc-font-desk:             14px;
  --satc-title-font-mob:        13px;
  --satc-title-font-desk:       14px;
  --satc-title-font-weight:     600;
  --satc-vendor-font-mob:       11px;
  --satc-vendor-font-desk:      11px;
  --satc-vendor-font-weight:    400;
  --satc-price-font-mob:        13px;
  --satc-price-font-desk:       14px;
  --satc-price-font-weight:     700;
  --satc-variant-font-mob:      12px;
  --satc-variant-font-desk:     13px;
  --satc-variant-font-weight:   400;
  --satc-change-font-mob:       11px;
  --satc-change-font-desk:      12px;
  --satc-btn-h-mob:             44px;
  --satc-btn-h-desk:            48px;

  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 200;

  background: var(--satc-bg);
  box-shadow: var(--satc-shadow);
  border-top: var(--satc-border-top);

  /* Hidden: translated down below viewport */
  transform: translateY(100%);
  /* Exit transition: ease-in — starts fast, slows into place below */
  transition: transform 0.4s cubic-bezier(0.4, 0, 1, 1),
              opacity   0.3s ease-in;
  opacity: 0;
  pointer-events: none;
  will-change: transform;
}

/* Enter: spring easing — snappy arrival */
.sticky-atc-bar.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: all;
  transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1),
              opacity   0.25s ease-out;
}

/* ── Z-INDEX STRATEGY ──────────────────────────────────────
   The 10% off Shopify Forms embed uses z-index: 2147483647
   (max). We sit just below it at 2147483646 so we're above
   everything else (header, page content) but the embed teaser
   can still render above us if needed.
   Mobile menu drawer overrides to 0 when open so it always
   covers the sticky bar. ── */
/* ── Z-INDEX LAYER STRATEGY ────────────────────────────────
   Sticky bar: z-index 400 — above header and page content,
   below all drawers and overlays.

   Drawers that must sit ABOVE the bar when open:
     • Cart sidebar       → body.cart-sidebar-open
     • Search popup       → .search_popup_wrapper.serach_active
     • Quick-add drawer   → body.quick-add-open
     • Mobile menu drawer → #mobile_menu_drawer.mobile_drawer
     • 10% off embed      → always at 2147483647, lives at
                            bottom-left so no conflict with our
                            full-width bottom bar. We hide its
                            teaser when our bar is visible.
─────────────────────────────────────────────────────────── */
.sticky-atc-bar {
  z-index: 400;
}

/* Drop bar below zero when any drawer is open */
body.cart-sidebar-open .sticky-atc-bar,
body.quick-add-open .sticky-atc-bar,
body:has(.search_popup_wrapper.serach_active) .sticky-atc-bar,
body:has(#mobile_menu_drawer.mobile_drawer) .sticky-atc-bar {
  z-index: 0 !important;
  pointer-events: none !important;
}

/* ── HIDE 10% OFF EMBED ────────────────────────────────────
   The embed uses shadow DOM so we target the host elements.
   Hide whenever our sticky bar OR any drawer is open.
─────────────────────────────────────────────────────────── */
body:has(.sticky-atc-bar.is-visible) shopify-forms-embed,
body:has(.sticky-atc-bar.is-visible) [id^="app-embed-container"],

/* Cart drawer open */
body.cart-sidebar-open shopify-forms-embed,
body.cart-sidebar-open [id^="app-embed-container"],

/* Search popup open */
body:has(.search_popup_wrapper.serach_active) shopify-forms-embed,
body:has(.search_popup_wrapper.serach_active) [id^="app-embed-container"],

/* Mobile menu drawer open */
body:has(#mobile_menu_drawer.mobile_drawer) shopify-forms-embed,
body:has(#mobile_menu_drawer.mobile_drawer) [id^="app-embed-container"],

/* Quick-add drawer open */
body.quick-add-open shopify-forms-embed,
body.quick-add-open [id^="app-embed-container"] {
  display: none !important;
}
@media screen and (min-width: 750px) {
  .sticky-atc-bar--hide-desktop {
    display: none !important;
  }
}

/* ── INNER ─────────────────────────────────────────────────── */
.sticky-atc-bar__inner {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: var(--satc-pad-v) var(--satc-pad-h);
  /* Prevent any child from expanding beyond its share */
  min-width: 0;
}

@media screen and (min-width: 750px) {
  .sticky-atc-bar__inner {
    gap: 14px;
    padding: var(--satc-pad-v-desk) var(--satc-pad-h-desk);
  }

  /* Constrained mode: shrink the bar itself, lift off edges, round corners */
.sticky-atc-bar--constrained {
    left: 50%;
    right: auto;
    transform: translateX(-50%) translateY(100%);
    width: min(var(--satc-max-width), calc(100% - var(--satc-desk-inset) * 2));
    bottom: var(--satc-desk-inset);
border: var(--satc-border-width) solid var(--satc-border-color);
    border-radius: 0;
    background: var(--satc-bg);
  }
  .sticky-atc-bar--constrained.is-visible {
    transform: translateX(-50%) translateY(0);
    transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1),
                opacity   0.25s ease-out;
  }
}

/* ── MOBILE CARD LAYOUT ────────────────────────────────────────
   Two-column card: [image | info] on top, [ATC button] below.
   The whole card is inset from screen edges.
   Only applies on mobile (< 750px).
   Activated by .sticky-atc-bar--card-mob on the bar element.
─────────────────────────────────────────────────────────────── */
@media screen and (max-width: 749px) {
.sticky-atc-bar--card-mob {
    bottom: var(--satc-mob-card-inset, 12px);
    left:   var(--satc-mob-card-inset, 12px);
    right:  var(--satc-mob-card-inset, 12px);
 border: var(--satc-border-width) solid var(--satc-border-color);
    background: var(--satc-bg);
    border-radius: 0;
    overflow: hidden;
    transform: translateY(calc(100% + var(--satc-mob-card-inset, 12px)));
  }
  .sticky-atc-bar--card-mob.is-visible {
    transform: translateY(0);
    transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1),
                opacity   0.25s ease-out;
  }

  /* Grid: row 1 = [image][info], row 2 = [ATC full width] */
  .sticky-atc-bar--card-mob .sticky-atc-bar__inner {
    display: grid;
    grid-template-columns: var(--satc-img-mob) 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
    row-gap: 10px;
    align-items: center;
    padding: var(--satc-pad-v) var(--satc-pad-h);
  }

  /* Image: row 1, col 1 */
  .sticky-atc-bar--card-mob .sticky-atc-bar__image {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 1 / 1;
    height: auto;
    align-self: center;
  }

  /* Info: row 1, col 2 */
  .sticky-atc-bar--card-mob .sticky-atc-bar__info {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
  }

  /* ATC button: row 2, spans full width */
  .sticky-atc-bar--card-mob .sticky-atc-bar__btn {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    flex: none;
  }

  /* If qty picker is shown: qty col 1, button col 2 on row 2 */
  .sticky-atc-bar--card-mob .sticky-atc-bar__qty {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    justify-self: stretch;
  }

  .sticky-atc-bar--card-mob:has(.sticky-atc-bar__qty) .sticky-atc-bar__btn {
    grid-column: 2;
  }

  /* Custom module slot spans full width */
  .sticky-atc-bar--card-mob .sticky-atc-bar__custom {
    grid-column: 1 / -1;
  }
}

/* ── PRODUCT IMAGE ─────────────────────────────────────────── */
.sticky-atc-bar__image {
  flex: 0 0 var(--satc-img-mob);
  width:  var(--satc-img-mob);
  height: var(--satc-img-mob);
  border-radius: 6px;
  overflow: hidden;
  background: rgba(0,0,0,0.04);
}

@media screen and (min-width: 750px) {
  .sticky-atc-bar__image {
    flex: 0 0 var(--satc-img-desk);
    width:  var(--satc-img-desk);
    height: var(--satc-img-desk);
  }
}

.sticky-atc-bar__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── INFO COLUMN ───────────────────────────────────────────── */
/* flex: 1 + min-width: 0 = allows text truncation to work */
.sticky-atc-bar__info {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  font-size: var(--satc-font-mob);
  font-family: var(--satc-font-family);
  line-height: 1.3;
}

@media screen and (min-width: 750px) {
  .sticky-atc-bar__info {
    font-size: var(--satc-font-desk);
  }

  .sticky-atc-bar__title {
    font-size: var(--satc-title-font-desk);
  }

  .sticky-atc-bar__vendor {
    font-size: var(--satc-vendor-font-desk);
  }

  .sticky-atc-bar__price {
    font-size: var(--satc-price-font-desk);
  }

  .sticky-atc-bar__variant-name {
    font-size: var(--satc-variant-font-desk);
  }

  .sticky-atc-bar__change-link {
    font-size: var(--satc-change-font-desk);
  }
}

.sticky-atc-bar__vendor {
  font-size: var(--satc-vendor-font-mob);
  font-weight: var(--satc-vendor-font-weight);
  color: var(--satc-vendor-color);
  opacity: 0.5;
  margin: 0 0 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sticky-atc-bar__title {
  font-family: var(--fhcFranklin, 'Libre Franklin', sans-serif);
  font-size: var(--satc-title-font-mob);
  font-weight: 500;
  color: var(--satc-title-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 0 1px;
}
}

.sticky-atc-bar__price {
  font-size: var(--satc-price-font-mob);
  font-weight: var(--satc-price-font-weight);
  color: var(--satc-price-color);
  margin: 0;
  white-space: nowrap;
}

.sticky-atc-bar__price s {
  font-weight: 400;
  opacity: 0.5;
  margin-left: 4px;
  font-size: 0.9em;
}

.sticky-atc-bar__variant-name {
  font-size: var(--satc-variant-font-mob);
  font-weight: var(--satc-variant-font-weight);
  color: var(--satc-variant-color);
  opacity: 0.55;
  margin: 0 0 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sticky-atc-bar__change-link {
  font-size: var(--satc-change-font-mob);
  color: var(--satc-change-color);
  text-decoration: underline;
  text-underline-offset: 2px;
  opacity: 0.65;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  transition: opacity 0.15s;
  display: inline;
}

.sticky-atc-bar__change-link:hover { opacity: 1; }

/* ── VARIANT SELECT ────────────────────────────────────────── */
.sticky-atc-bar__variant-select {
  font-size: 0.85em;
  font-family: inherit;
  color: var(--color-foreground, #66312b);
  background: transparent;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 4px;
  padding: 3px 22px 3px 7px;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23331f17' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 7px center;
  cursor: pointer;
  margin-top: 2px;
  max-width: 160px;
  width: 100%;
}

/* ── QUANTITY PICKER ───────────────────────────────────────── */
/* flex: 0 0 auto — never grows, never shrinks, natural width */
.sticky-atc-bar__qty {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
  border: 1px solid rgba(0,0,0,0.18);
  border-radius: 6px;
  overflow: hidden;
  height: var(--satc-btn-h-mob);
  /* explicit width prevents layout collapse */
  width: 108px;
}

@media screen and (min-width: 750px) {
  .sticky-atc-bar__qty {
    height: var(--satc-btn-h-desk);
    width: 116px;
  }
}

.sticky-atc-bar__qty-btn {
  flex: 0 0 34px;
  width: 34px;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-foreground, #66312b);
  transition: background 0.15s;
}

.sticky-atc-bar__qty-btn:hover    { background: rgba(0,0,0,0.05); }
.sticky-atc-bar__qty-btn:disabled { opacity: 0.3; cursor: not-allowed; }

.sticky-atc-bar__qty-input {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
  border: none;
  border-left:  1px solid rgba(0,0,0,0.1);
  border-right: 1px solid rgba(0,0,0,0.1);
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  color: var(--color-foreground, #66312b);
  -moz-appearance: textfield;
  appearance: textfield;
  padding: 0;
}

.sticky-atc-bar__qty-input::-webkit-outer-spin-button,
.sticky-atc-bar__qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

/* ── ATC BUTTON ────────────────────────────────────────────── */
.sticky-atc-bar__btn {
  flex: 0 0 auto;
  min-height: var(--satc-btn-h-mob);
  padding: 0 24px;
  border-radius: 0;
  font-family: var(--fhcFranklin, 'Libre Franklin', sans-serif);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  white-space: nowrap;

  background: #331f17;
  color: #FAF9F6;
  border: 0;
  box-shadow: none;
  transition:
    background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    color 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media screen and (min-width: 750px) {
  .sticky-atc-bar__btn {
    min-height: var(--satc-btn-h-desk);
    padding: 0 28px;
  }
}

.sticky-atc-bar__btn:hover {
  background: #B91C1C;
  color: #ffffff;
}

.sticky-atc-bar__btn:active {
  background: #25140d;
}

.sticky-atc-bar__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* ── BUTTON LOADING STATE ──────────────────────────────────── */
.sticky-atc-bar__btn-icon,
.sticky-atc-bar__btn-text {
  transition: visibility 0s, opacity 0.15s ease;
}

.sticky-atc-bar__btn.is-loading .sticky-atc-bar__btn-icon,
.sticky-atc-bar__btn.is-loading .sticky-atc-bar__btn-text {
  visibility: hidden;
}

.satc-loader {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  pointer-events: none;
}

.satc-loader.hidden { display: none; }

.satc-loader span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  animation: satc-bounce 0.9s ease-in-out infinite;
}

.satc-loader span:nth-child(2) { animation-delay: 0.15s; }
.satc-loader span:nth-child(3) { animation-delay: 0.30s; }

@keyframes satc-bounce {
  0%, 80%, 100% { transform: translateY(0);    opacity: 0.4; }
  40%           { transform: translateY(-5px); opacity: 1;   }
}

/* ── MOBILE / DESKTOP VISIBILITY ───────────────────────────── */
[data-satc-hide-mob="true"] { display: none !important; }

@media screen and (min-width: 750px) {
  [data-satc-hide-mob="true"]  { display: revert !important; }
  [data-satc-hide-desk="true"] { display: none !important; }
}

/* ── CUSTOM LIQUID SLOT ────────────────────────────────────── */
.sticky-atc-bar__custom {
  flex: 0 0 auto;
  font-size: 12px;
  line-height: 1.4;
}