/** Shopify CDN: Minification failed

Line 525:0 Unexpected "}"

**/
/* ===== Footer utilities: left copyright / center social / right payments ===== */
[data-testid="footer-utilities"]{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 44px;
}

/* Left */
[data-testid="footer-utilities"] .footer-utilities__group-copyright{
  margin-right: auto !important;
  white-space: nowrap;
}

/* Center socials (true center) */
[data-testid="footer-utilities"] .social-icons__wrapper.footer-utilities__icons{
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: max-content !important;
}

/* Right payments */
[data-testid="footer-utilities"] .payment-icons{
  position: absolute !important;
  right: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: max-content !important;
}

/* Keep icons consistent */
[data-testid="footer-utilities"] .payment-icons svg,
[data-testid="footer-utilities"] .payment-icons img{
  height: 18px;
  width: auto;
}

/* Prevent overlap on smaller desktops: allow a safe "wrap" behavior */
@media (max-width: 990px){
  [data-testid="footer-utilities"]{
    padding-bottom: 10px;
  }

  [data-testid="footer-utilities"] .payment-icons{
    position: static !important;
    margin-left: auto !important;
  }

  [data-testid="footer-utilities"] .social-icons__wrapper.footer-utilities__icons{
    position: static !important;
    transform: none !important;
    margin: 8px auto 0 !important;
  }
}

/* TABLET + MOBILE: stack footer utilities cleanly */
@media (max-width: 989px){
  [data-testid="footer-utilities"]{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 12px !important;
    padding-bottom: 12px !important;
  }

  [data-testid="footer-utilities"] .footer-utilities__group-copyright{
    margin: 0 !important;
    text-align: center !important;
  }

  [data-testid="footer-utilities"] .social-icons__wrapper.footer-utilities__icons{
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    justify-content: center !important;
  }

  [data-testid="footer-utilities"] .payment-icons{
    position: static !important;
    margin: 0 !important;
    justify-content: center !important;
  }
}

/* Mobile: stack */
@media (max-width: 749px){
  [data-testid="footer-utilities"]{
    position: static !important;
    flex-direction: column !important;
    gap: 10px !important;
    min-height: auto;
  }

  [data-testid="footer-utilities"] .social-icons__wrapper.footer-utilities__icons,
  [data-testid="footer-utilities"] .payment-icons{
    position: static !important;
    transform: none !important;
  }
}

/* Center copyright text ONLY on mobile */
@media (max-width: 749px){
  [data-testid="footer-utilities"] .footer-utilities__group-copyright{
    text-align: center !important;
    justify-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Even spacing between copyright / socials / payments in Policies & links (mobile only) */
/* enforce a single consistent vertical rhythm */
@media (max-width: 749px){
  [data-testid="footer-utilities"]{
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important; /* change to 10px/14px if you want */
  }
}

/* Policies & links: make spacing even on mobile */
@media (max-width: 749px){
  .utilities[data-testid="footer-utilities"]{
    /* control the vertical gap between copyright / socials / payments */
    gap: 12px !important; /* <-- set your even spacing here */
    --gap: 12px !important;

    /* remove extra top/bottom padding that makes it feel uneven */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    --padding-block-start: 0px !important;
    --padding-block-end: 0px !important;
  }

  /* remove accidental margins inside those 3 blocks */
  .utilities[data-testid="footer-utilities"] .footer-utilities__group-copyright,
  .utilities[data-testid="footer-utilities"] .social-icons__wrapper,
  .utilities[data-testid="footer-utilities"] .payment-icons{
    margin: 0 !important;
  }
}

/* Final polish: perfectly even vertical rhythm on mobile */
@media (max-width: 749px){
  .utilities[data-testid="footer-utilities"]{
    gap: 14px !important; /* tweak this number */
    --gap: 14px !important;
  }

  /* Make all 3 blocks behave the same */
  .utilities[data-testid="footer-utilities"] > *{
    padding: 0 !important;
    margin: 0 !important;
    line-height: normal;
  }

  /* Sometimes social icons/payment icons have their own internal spacing */
  .utilities[data-testid="footer-utilities"] .social-icons__list,
  .utilities[data-testid="footer-utilities"] .payment-icons{
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* Restore space between divider and copyright (mobile only) */
@media (max-width: 749px){
  .utilities[data-testid="footer-utilities"]{
    padding-top: 14px !important; /* ← controls divider → copyright gap */
  }
}

/* Add space under the whole Policies & links row (mobile only) */
@media (max-width: 749px){
  .footer-utilities .section{
    padding-bottom: 16px !important; /* adjust */
}
}
/* Footer social icons → white */
.footer-utilities .social-icons__wrapper svg {
  fill: #ffffff !important;
}
/* Footer copyright text → white */
.footer-utilities .footer-utilities__group-copyright {
  color: #ffffff !important;
}
/* Footer copyright + store name → white */
.footer-utilities .footer-utilities__group-copyright,
.footer-utilities .footer-utilities__group-copyright * {
  color: #ffffff !important;
}

/* ===== Fix footer utilities formatting on TABLETS ===== */
/* Tablet: stack items vertically so it doesn't break */
@media (min-width: 750px) and (max-width: 989px) {
  .footer-utilities [data-testid="footer-utilities"]{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 12px !important;
  }

  /* remove any absolute positioning from earlier desktop rules */
  .footer-utilities [data-testid="footer-utilities"] .social-icons__wrapper.footer-utilities__icons,
  .footer-utilities [data-testid="footer-utilities"] .payment-icons{
    position: static !important;
    transform: none !important;
    right: auto !important;
    left: auto !important;
    margin: 0 !important;
    width: auto !important;
    justify-content: center !important;
  }

  .footer-utilities [data-testid="footer-utilities"] .footer-utilities__group-copyright{
    margin: 0 !important;
    justify-self: center !important;
    text-align: center !important;
  }
}

/* ================================
   Horizon Sticky ATC + Qty alignment fix
   ATC height = 44px
   ================================ */

sticky-add-to-cart{
  --sticky-atc-height: 44px;
  --sticky-atc-gap: 12px;

  /* ✅ tiny optical correction if Horizon button has internal offset */
  --sticky-pill-y: 0px; /* change to 1px or -1px if needed */
}

sticky-add-to-cart .sticky-add-to-cart__bar{
  display:flex;
  align-items:center;
  gap: var(--sticky-atc-gap);
}

/* Ensure BOTH pills behave the same as flex items */
sticky-add-to-cart .sticky-add-to-cart__button,
sticky-add-to-cart .sticky-qty{
  height: var(--sticky-atc-height);
  min-height: var(--sticky-atc-height);
  display:inline-flex;
  align-items:center;
  justify-content:center;

  align-self:center;           /* ✅ key */
  margin:0;                    /* ✅ remove any theme margins */
  transform: translateY(var(--sticky-pill-y)); /* ✅ same baseline */
  box-sizing:border-box;
  line-height:1;               /* ✅ avoid baseline drift */
}

/* Qty pill (white like main selector) */
sticky-add-to-cart .sticky-qty{
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  border-radius:999px;
  overflow:hidden;
  color:#1c1c1c;
  flex:0 0 auto;
}

/* Inner controls */
sticky-add-to-cart .sticky-qty__btn,
sticky-add-to-cart .sticky-qty__input{
  height:100%;
  background:transparent;
  border:0;
  color:inherit;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

sticky-add-to-cart .sticky-qty__btn{
  width:44px;
  font-size:20px;
  cursor:pointer;
}

sticky-add-to-cart .sticky-qty__input{
  width:44px;
  text-align:center;
  font-size:16px;
  outline:none;
  -moz-appearance:textfield;
}

/* Remove spinners */
sticky-add-to-cart .sticky-qty__input::-webkit-outer-spin-button,
sticky-add-to-cart .sticky-qty__input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* ===== Widen Sticky ATC on Desktop ===== */
@media (min-width: 1024px){
  sticky-add-to-cart .sticky-add-to-cart__bar{
    max-width: 1200px;      /* ⬅️ increase width (try 1100–1300) */
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ================================
   Horizon Mobile Sticky ATC (2 rows)
   Row 1: image + title (full)
   Row 2: qty (narrow) + ATC (wide)
   ================================ */
@media (max-width: 640px){

  sticky-add-to-cart .sticky-add-to-cart__bar{
    display: grid !important;

    /* 2 columns: image column is only for row 1 */
    grid-template-columns: 64px 1fr;

    /* 2 rows */
    grid-template-rows: auto auto;

    /* Named layout */
    grid-template-areas:
      "img  title"
      "qty  btn";

    column-gap: 12px;
    row-gap: 10px;
    align-items: center;
  }

  /* Row 1 */
  sticky-add-to-cart .sticky-add-to-cart__image{
    grid-area: img;
    align-self: center;
    justify-self: start;
  }

  sticky-add-to-cart .sticky-add-to-cart__info{
    grid-area: title;
    min-width: 0;
  }

  /* Full title */
  sticky-add-to-cart .sticky-add-to-cart__title,
  sticky-add-to-cart .sticky-add-to-cart__product-title,
  sticky-add-to-cart .sticky-add-to-cart__info h3{
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    line-height: 1.15;
  }

  /* Hide separate sticky price on mobile (we’ll put price in button with JS) */
  sticky-add-to-cart .sticky-add-to-cart__price{
    display: none !important;
  }

  /* Row 2 */
  sticky-add-to-cart .sticky-qty{
    grid-area: qty;
    width: 110px;           /* ✅ qty narrower */
    justify-self: start;
  }

  sticky-add-to-cart .sticky-add-to-cart__button{
    grid-area: btn;
    width: 100%;
    justify-self: stretch;  /* ✅ ATC takes remaining width */
    text-align: center;
    font-weight: 700;
  }

  /* Hide Horizon’s small qty badge if it appears */
  sticky-add-to-cart .sticky-add-to-cart__quantity,
  sticky-add-to-cart [data-sticky-quantity],
  sticky-add-to-cart .quantity-badge{
    display: none !important;
  }
}

/* Sticky ATC button text style */
sticky-add-to-cart .sticky-add-to-cart__button{
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* ================================
   FINAL: Mobile Sticky row2 = small qty + wide ATC
   Put this LAST in your CSS
   ================================ */
@media (max-width: 640px){

  sticky-add-to-cart .sticky-add-to-cart__bar{
    display:grid !important;
    grid-template-columns: auto 1fr !important; /* ✅ row2 works: qty auto, btn fills */
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "img  title"
      "qty  btn" !important;
    column-gap:12px !important;
    row-gap:10px !important;
    align-items:center !important;
  }

  /* Row 1 */
  sticky-add-to-cart .sticky-add-to-cart__image{ grid-area: img !important; }
  sticky-add-to-cart .sticky-add-to-cart__info{  grid-area: title !important; min-width:0 !important; }

  /* Row 2 */
  sticky-add-to-cart .sticky-qty{
    grid-area: qty !important;
    width: 96px !important;         /* ✅ smaller qty */
    max-width: 96px !important;
    justify-self:start !important;
  }

  sticky-add-to-cart .sticky-add-to-cart__button{
    grid-area: btn !important;
    width:100% !important;          /* ✅ full remaining width */
    justify-self:stretch !important;
    text-align:center !important;
  }

  /* Hide separate price if you’re putting it in the button */
  sticky-add-to-cart .sticky-add-to-cart__price{ display:none !important; }

  /* Hide Horizon qty bubble */
  sticky-add-to-cart .sticky-add-to-cart__quantity,
  sticky-add-to-cart [data-sticky-quantity],
  sticky-add-to-cart .quantity-badge{ display:none !important; }
}

html, body {
  overflow-x: hidden !important;
}

/* =========================================
   PDP buy buttons: keep qty + ATC on ONE line
   Horizon wrapper: .product-form-buttons.spacing-style
   ========================================= */
@media (max-width: 380px){

  /* The row that contains qty + ATC */
  .product-form-buttons.spacing-style{
    display: flex !important;
    flex-wrap: nowrap !important;      /* ✅ never wrap */
    align-items: center !important;
    gap: 10px !important;
  }

  /* Quantity selector (left) — keep compact */
  .product-form-buttons.spacing-style .quantity,
  .product-form-buttons.spacing-style quantity-input,
  .product-form-buttons.spacing-style .quantity-input,
  .product-form-buttons.spacing-style .quantity-selector{
    flex: 0 0 92px !important;         /* ✅ compact width */
    max-width: 92px !important;
  }

  /* If your theme uses buttons/inputs inside the qty */
  .product-form-buttons.spacing-style .quantity button,
  .product-form-buttons.spacing-style .quantity__button,
  .product-form-buttons.spacing-style .quantity-selector__button{
    width: 28px !important;
  }

  .product-form-buttons.spacing-style .quantity input,
  .product-form-buttons.spacing-style .quantity__input,
  .product-form-buttons.spacing-style .quantity-selector__input{
    width: 32px !important;
    font-size: 14px !important;
  }

  /* Add to cart button — take remaining space */
  .product-form-buttons.spacing-style button[type="submit"],
  .product-form-buttons.spacing-style .product-form__submit,
  .product-form-buttons.spacing-style .button{
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;    /* ✅ no line breaks */
    font-size: clamp(13px, 3.6vw, 14px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    letter-spacing: .02em !important;
  }
}
/* Sticky Add to Cart button – hover */
sticky-add-to-cart .sticky-add-to-cart__button:hover,
sticky-add-to-cart .sticky-add-to-cart__button:focus-visible {
  background-color: #5a5166 !important; /* ← choose your hover color */
  color: #ffffff !important;
}

sticky-add-to-cart .sticky-add-to-cart__button {
  transition: background-color 0.2s ease, transform 0.15s ease;
}

sticky-add-to-cart .sticky-add-to-cart__button:hover {
  transform: translateY(-1px);
}
}