/** Shopify CDN: Minification failed

Line 20:24 Unexpected "{"
Line 20:33 Expected ":"
Line 21:14 Unexpected "{"
Line 21:23 Expected ":"
Line 31:24 Unexpected "{"
Line 31:33 Expected ":"
Line 32:14 Unexpected "{"
Line 32:23 Expected ":"
Line 41:24 Unexpected "{"
Line 41:33 Expected ":"
... and 2 more hidden warnings

**/
/* ====== FIX V9 — PRODUCT PAGE 50/50, CART IMAGES, PAYMENT ICONS ====== */

/* ====== 1. PRODUCT PAGE — FORCE 50/50 LAYOUT ON DESKTOP ONLY ====== */
@media screen and (min-width: 750px) {
html body #MainProduct-{{ section.id }}.product,
#MainProduct-{{ section.id }}.product,
html body .product.product--medium,
html body .product.product--large,
.product.product--medium,
.product.product--large {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}

html body #MainProduct-{{ section.id }} .product__media-wrapper,
#MainProduct-{{ section.id }} .product__media-wrapper,
html body .product .product__media-wrapper,
.product .product__media-wrapper {
  width: 50% !important;
  flex: 0 0 50% !important;
  max-width: 50% !important;
  min-width: 50% !important;
}

html body #MainProduct-{{ section.id }} .product__info-wrapper,
#MainProduct-{{ section.id }} .product__info-wrapper,
html body .product .product__info-wrapper,
.product .product__info-wrapper {
  width: 50% !important;
  flex: 0 0 50% !important;
  max-width: 50% !important;
  min-width: 50% !important;
  padding-left: clamp(20px, 3vw, 48px) !important;
  padding-right: clamp(10px, 1.5vw, 24px) !important;
}

/* Override grid classes that might interfere */
html body .product.grid--2-col-tablet,
.product.grid--2-col-tablet {
  display: flex !important;
}

html body .product.grid--2-col-tablet > .grid__item,
.product.grid--2-col-tablet > .grid__item {
  width: 50% !important;
  max-width: 50% !important;
  flex: 0 0 50% !important;
}
}

/* ====== 2. CART DRAWER — FIX IMAGE SIZE ====== */
html body #CartDrawer .cart-item__media,
#CartDrawer .cart-item__media,
html body .cart-drawer .cart-item__media,
.cart-drawer .cart-item__media {
  position: relative !important;
  width: 100px !important;
  min-width: 100px !important;
  max-width: 100px !important;
  height: 100px !important;
  min-height: 100px !important;
  max-height: 100px !important;
  overflow: hidden !important;
  display: block !important;
}

html body #CartDrawer .cart-item__media .cart-item__image,
#CartDrawer .cart-item__media .cart-item__image,
html body .cart-drawer .cart-item__media .cart-item__image,
.cart-drawer .cart-item__media .cart-item__image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Also fix in main cart page */
html body .cart-item__media,
.cart-item__media {
  position: relative !important;
  width: 100px !important;
  min-width: 100px !important;
  height: 100px !important;
  min-height: 100px !important;
  overflow: hidden !important;
}

html body .cart-item__media .cart-item__image,
.cart-item__media .cart-item__image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* ====== 3. FOOTER PAYMENT ICONS — SHOW COLORS ====== */
html body .footer .list-payment__item,
.footer .list-payment__item {
  background: #fff !important;
  border: 2px solid #000 !important;
  box-shadow: 2px 2px 0 #ff1616 !important;
  border-radius: 0 !important;
  padding: 6px !important;
  margin: 3px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  min-height: 28px !important;
}

/* DO NOT override SVG fill/stroke — let payment icons keep their brand colors */
html body .footer .list-payment__item .icon,
.footer .list-payment__item .icon,
html body .footer .list-payment__item svg,
.footer .list-payment__item svg {
  width: 38px !important;
  height: 24px !important;
  display: block !important;
}

/* Ensure the payment list container has proper spacing */
html body .footer .list-payment,
.footer .list-payment {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 4px !important;
}

/* ====== 4. FOOTER PAYMENT ICONS — FINAL VISIBILITY RESET ======
   Keep the white tile around each payment method, but do not style the
   internal Shopify SVG shapes. Shopify's payment_type_svg_tag outputs
   brand-colored SVGs; forcing fill/stroke/background/border on path/rect/circle
   can make them invisible or visually broken. */
html body .footer .footer__payment,
.footer .footer__payment {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html body .footer .footer__payment .list-payment,
.footer .footer__payment .list-payment {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body .footer .footer__payment .list-payment__item,
.footer .footer__payment .list-payment__item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 46px !important;
  min-height: 30px !important;
  padding: 5px 7px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 2px solid #000 !important;
  box-shadow: 2px 2px 0 #ff1616 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
}

html body .footer .footer__payment .list-payment__item svg,
.footer .footer__payment .list-payment__item svg,
html body .footer .footer__payment .list-payment__item .icon,
.footer .footer__payment .list-payment__item .icon {
  display: block !important;
  width: 38px !important;
  height: 24px !important;
  min-width: 38px !important;
  min-height: 24px !important;
  max-width: 42px !important;
  max-height: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
}

html body .footer .footer__payment .list-payment__item svg *,
.footer .footer__payment .list-payment__item svg * {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ====== 5. HOMEPAGE FIXES ====== */
/* Fix hero text box visibility and positioning */
.banner__box {
  background: rgba(0, 0, 0, 0.85) !important;
  padding: 2.5rem !important;
  border: 3px solid var(--ss-red) !important;
  box-shadow: 8px 8px 0 var(--ss-red) !important;
  max-width: 60rem !important;
}

.banner__box .banner__heading,
.banner__box .banner__text {
  color: #fff !important;
  text-shadow: 2px 2px 0 var(--ss-black) !important;
}

/* Fix newsletter section contrast - FORCE VISIBLE */
.newsletter__wrapper.color-accent-2,
.newsletter__wrapper.color-background-1,
.newsletter__wrapper.color-inverse {
  color: var(--ss-black) !important;
}

.newsletter__wrapper.color-accent-2 .newsletter__subheading,
.newsletter__wrapper.color-accent-2 .field__label,
.newsletter__wrapper.color-background-1 .newsletter__subheading,
.newsletter__wrapper.color-background-1 .field__label,
.newsletter__wrapper.color-inverse .newsletter__subheading,
.newsletter__wrapper.color-inverse .field__label {
  color: var(--ss-black) !important;
}

/* Force opacity 1 for newsletter elements - fix scroll-trigger animation */
.newsletter__wrapper h2,
.newsletter__wrapper .newsletter__subheading,
.newsletter__wrapper .newsletter-form__field-wrapper,
.newsletter__wrapper .field__input,
.newsletter__wrapper .field__label,
.newsletter__wrapper .button {
  opacity: 1 !important;
  visibility: visible !important;
}

.newsletter__wrapper.color-accent-2 .field__input,
.newsletter__wrapper.color-background-1 .field__input,
.newsletter__wrapper.color-inverse .field__input {
  background: #fff !important;
  color: var(--ss-black) !important;
}

.newsletter__wrapper.color-accent-2 .button,
.newsletter__wrapper.color-background-1 .button,
.newsletter__wrapper.color-inverse .button {
  background: var(--ss-black) !important;
  color: #fff !important;
  border: 2px solid var(--ss-black) !important;
}

/* Fix social icons size in footer */
.footer .list-social__item .icon {
  width: 2.4rem !important;
  height: 2.4rem !important;
}

.footer .list-social__link {
  padding: 0.8rem !important;
}

/* Remove excessive dead space between sections */
.shopify-section + .shopify-section {
  margin-top: 0 !important;
}

/* V26 — Preserve native full-color payment SVG logos. */
.footer .footer__payment .list-payment__item svg,
.footer .footer__payment .list-payment__item svg *,
.footer .footer__payment .list-payment__item path,
.footer .footer__payment .list-payment__item rect,
.footer .footer__payment .list-payment__item circle,
.footer .footer__payment .list-payment__item polygon {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer .footer__payment .list-payment__item svg [fill],
.footer .footer__payment .list-payment__item svg [style*="fill"] {
  /* Do not force fill here: Shopify payment SVGs carry their own brand colors. */
}

/* V27 — Hero copy style, smaller payment icons, remove social wrapper box. */

/* Remove the large rectangle around the social icons only; keep the social icon tiles. */
html body .footer .footer-block--newsletter,
.footer .footer-block--newsletter {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  max-width: none !important;
}

/* Payment icons: slightly smaller but still readable and full-color. */
html body .footer .footer__payment .list-payment,
.footer .footer__payment .list-payment {
  gap: 7px !important;
  padding: 0 !important;
  margin-top: 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body .footer .footer__payment .list-payment__item,
.footer .footer__payment .list-payment__item {
  width: 58px !important;
  height: 38px !important;
  min-width: 58px !important;
  min-height: 38px !important;
  max-width: 58px !important;
  max-height: 38px !important;
  padding: 5px !important;
  border: 2px solid #ff1616 !important;
  box-shadow: 3px 3px 0 #ff1616 !important;
  background: #fff !important;
}

html body .footer .footer__payment .list-payment__item svg,
html body .footer .footer__payment .list-payment__item .icon,
.footer .footer__payment .list-payment__item svg,
.footer .footer__payment .list-payment__item .icon {
  width: 38px !important;
  height: 24px !important;
  max-width: 38px !important;
  max-height: 24px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Hero content: match reference layout/copy style. */
html body #MainContent #Banner-template--27114739990803__image_banner .banner__content,
#MainContent #Banner-template--27114739990803__image_banner .banner__content {
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(22px, 5vw, 64px) !important;
  pointer-events: none !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__box,
#MainContent #Banner-template--27114739990803__image_banner .banner__box {
  pointer-events: auto !important;
  width: min(82vw, 1040px) !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  padding: clamp(38px, 5vw, 70px) clamp(34px, 6vw, 88px) !important;
  background: #fff4ec !important;
  border: 5px solid #160909 !important;
  box-shadow: 8px 8px 0 #160909 !important;
  color: #160909 !important;
  text-align: center !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__heading,
#MainContent #Banner-template--27114739990803__image_banner .banner__heading {
  margin: 0 0 26px !important;
  color: #fff4ec !important;
  -webkit-text-fill-color: #fff4ec !important;
  -webkit-text-stroke: 2px #160909 !important;
  text-shadow: 5px 5px 0 #160909 !important;
  font-size: clamp(44px, 6.4vw, 92px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.035em !important;
  text-transform: uppercase !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__text,
#MainContent #Banner-template--27114739990803__image_banner .banner__text {
  margin: 0 0 34px !important;
  color: #ff1616 !important;
  -webkit-text-fill-color: #ff1616 !important;
  text-shadow: none !important;
  font-size: clamp(18px, 1.8vw, 26px) !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.05em !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons,
#MainContent #Banner-template--27114739990803__image_banner .banner__buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button,
#MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button {
  width: 100% !important;
  min-height: 72px !important;
  background: #ef1024 !important;
  color: #fff !important;
  border: 4px solid #160909 !important;
  box-shadow: 7px 7px 0 #160909 !important;
  font-weight: 900 !important;
  font-size: clamp(16px, 1.5vw, 22px) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button::before,
html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button::after,
#MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button::before,
#MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 749px) {
  html body #MainContent #Banner-template--27114739990803__image_banner .banner__box,
  #MainContent #Banner-template--27114739990803__image_banner .banner__box {
    width: calc(100vw - 28px) !important;
    padding: 30px 18px !important;
  }

  html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons,
  #MainContent #Banner-template--27114739990803__image_banner .banner__buttons {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* V28 — Higher-specificity smaller payment icons override. */
html body .footer .footer__payment .list-payment .list-payment__item,
html body .footer .footer__payment .list-payment > .list-payment__item,
.footer .footer__payment .list-payment .list-payment__item,
.footer .footer__payment .list-payment > .list-payment__item {
  width: 58px !important;
  height: 38px !important;
  min-width: 58px !important;
  min-height: 38px !important;
  max-width: 58px !important;
  max-height: 38px !important;
  padding: 5px !important;
  border: 2px solid #ff1616 !important;
  box-shadow: 3px 3px 0 #ff1616 !important;
}

html body .footer .footer__payment .list-payment .list-payment__item svg,
html body .footer .footer__payment .list-payment > .list-payment__item svg,
html body .footer .footer__payment .list-payment .list-payment__item .icon,
html body .footer .footer__payment .list-payment > .list-payment__item .icon {
  width: 34px !important;
  height: 22px !important;
  max-width: 34px !important;
  max-height: 22px !important;
}

/* V29 — Hero content reduced for image visibility on desktop/tablet/mobile. */
html body #MainContent #Banner-template--27114739990803__image_banner .banner__box,
#MainContent #Banner-template--27114739990803__image_banner .banner__box {
  width: min(72vw, 860px) !important;
  max-width: 860px !important;
  padding: clamp(24px, 3.8vw, 48px) clamp(24px, 4.8vw, 64px) !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__heading,
#MainContent #Banner-template--27114739990803__image_banner .banner__heading {
  font-size: clamp(36px, 4.7vw, 68px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
  text-shadow: 3px 3px 0 #160909 !important;
  -webkit-text-stroke: 1.6px #160909 !important;
  margin-bottom: 20px !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__text,
#MainContent #Banner-template--27114739990803__image_banner .banner__text {
  font-size: clamp(14px, 1.25vw, 19px) !important;
  line-height: 1.2 !important;
  margin-bottom: 24px !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons,
#MainContent #Banner-template--27114739990803__image_banner .banner__buttons {
  max-width: 620px !important;
  gap: 18px !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button,
#MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button {
  min-height: 58px !important;
  font-size: clamp(14px, 1.15vw, 18px) !important;
  box-shadow: 5px 5px 0 #160909 !important;
  border-width: 3px !important;
}

@media (max-width: 990px) {
  html body #MainContent #Banner-template--27114739990803__image_banner .banner__box,
  #MainContent #Banner-template--27114739990803__image_banner .banner__box {
    width: min(76vw, 680px) !important;
    padding: 24px 28px !important;
  }

  html body #MainContent #Banner-template--27114739990803__image_banner .banner__heading,
  #MainContent #Banner-template--27114739990803__image_banner .banner__heading {
    font-size: clamp(32px, 5.8vw, 52px) !important;
    text-shadow: 3px 3px 0 #160909 !important;
  }
}

@media (max-width: 749px) {
  html body #MainContent #Banner-template--27114739990803__image_banner,
  #MainContent #Banner-template--27114739990803__image_banner {
    min-height: 520px !important;
    height: 520px !important;
    max-height: 520px !important;
  }

  html body #MainContent #Banner-template--27114739990803__image_banner .banner__content,
  #MainContent #Banner-template--27114739990803__image_banner .banner__content {
    padding: 18px !important;
  }

  html body #MainContent #Banner-template--27114739990803__image_banner .banner__box,
  #MainContent #Banner-template--27114739990803__image_banner .banner__box {
    width: min(88vw, 420px) !important;
    padding: 22px 18px !important;
    box-shadow: 5px 5px 0 #160909 !important;
    border-width: 4px !important;
  }

  html body #MainContent #Banner-template--27114739990803__image_banner .banner__heading,
  #MainContent #Banner-template--27114739990803__image_banner .banner__heading {
    font-size: clamp(30px, 10vw, 44px) !important;
    line-height: 0.96 !important;
    -webkit-text-stroke: 1.2px #160909 !important;
    text-shadow: 2px 2px 0 #160909 !important;
    margin-bottom: 16px !important;
  }

  html body #MainContent #Banner-template--27114739990803__image_banner .banner__text,
  #MainContent #Banner-template--27114739990803__image_banner .banner__text {
    font-size: 13px !important;
    margin-bottom: 18px !important;
    letter-spacing: 0.035em !important;
  }

  html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons,
  #MainContent #Banner-template--27114739990803__image_banner .banner__buttons {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    max-width: 300px !important;
  }

  html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button,
  #MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button {
    min-height: 48px !important;
    font-size: 14px !important;
    box-shadow: 4px 4px 0 #160909 !important;
  }
}

/* V30 — Collection grids: keep product/collection cards in two columns on mobile/tablet. */
html body #MainContent #product-grid,
html body #MainContent .product-grid,
html body #MainContent .collection-list {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

/* /collections/* product cards: two columns instead of one-under-another. */
html body #MainContent #product-grid > .grid__item,
html body #MainContent .product-grid > .grid__item {
  width: calc(50% - 10px) !important;
  max-width: calc(50% - 10px) !important;
  flex: 0 0 calc(50% - 10px) !important;
}

/* /collections index collection cards: also two columns. */
html body #MainContent .collection-list > .collection-list__item,
html body #MainContent .collection-list > .grid__item {
  width: calc(50% - 10px) !important;
  max-width: calc(50% - 10px) !important;
  flex: 0 0 calc(50% - 10px) !important;
}

@media (max-width: 749px) {
  html body #MainContent #product-grid,
  html body #MainContent .product-grid,
  html body #MainContent .collection-list {
    column-gap: 12px !important;
    row-gap: 22px !important;
  }

  html body #MainContent #product-grid > .grid__item,
  html body #MainContent .product-grid > .grid__item,
  html body #MainContent .collection-list > .collection-list__item,
  html body #MainContent .collection-list > .grid__item {
    width: calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
    flex: 0 0 calc(50% - 6px) !important;
  }

  /* Make two-column cards compact enough for small screens. */
  html body #MainContent .product-grid .card__heading,
  html body #MainContent .collection-list .card__heading {
    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  html body #MainContent .product-grid .card__information,
  html body #MainContent .collection-list .card__information {
    padding: 10px 8px !important;
  }
}

/* V31 — Desktop collection detail grids: force row wrapping, not vertical stacking. */
html body #MainContent #product-grid,
html body #MainContent .product-grid,
html body #MainContent .collection .product-grid,
html body #MainContent .collection #product-grid,
html body #MainContent .collection-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}

html body #MainContent #product-grid > li.grid__item,
html body #MainContent .product-grid > li.grid__item,
html body #MainContent .collection #product-grid > li.grid__item,
html body #MainContent .collection .product-grid > li.grid__item {
  width: calc(50% - 10px) !important;
  max-width: calc(50% - 10px) !important;
  flex: 0 0 calc(50% - 10px) !important;
}

/* V32 — Account for desktop product-grid column gap so two cards fit on one row. */
@media (min-width: 750px) {
  html body #MainContent #product-grid,
  html body #MainContent .product-grid,
  html body #MainContent .collection #product-grid,
  html body #MainContent .collection .product-grid {
    column-gap: 32px !important;
    row-gap: 52px !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }

  html body #MainContent #product-grid > li.grid__item,
  html body #MainContent .product-grid > li.grid__item,
  html body #MainContent .collection #product-grid > li.grid__item,
  html body #MainContent .collection .product-grid > li.grid__item {
    width: calc(50% - 16px) !important;
    max-width: calc(50% - 16px) !important;
    flex: 0 0 calc(50% - 16px) !important;
  }
}

/* V33 — Hero banner alignment only: center text and buttons, no color/style changes. */
html body #MainContent #Banner-template--27114739990803__image_banner .banner__content,
#MainContent #Banner-template--27114739990803__image_banner .banner__content,
html body #MainContent .banner:first-of-type .banner__content,
#MainContent .banner:first-of-type .banner__content {
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__box,
#MainContent #Banner-template--27114739990803__image_banner .banner__box,
html body #MainContent .banner:first-of-type .banner__box,
#MainContent .banner:first-of-type .banner__box {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__heading,
html body #MainContent #Banner-template--27114739990803__image_banner .banner__text,
#MainContent #Banner-template--27114739990803__image_banner .banner__heading,
#MainContent #Banner-template--27114739990803__image_banner .banner__text,
html body #MainContent .banner:first-of-type .banner__heading,
html body #MainContent .banner:first-of-type .banner__text,
#MainContent .banner:first-of-type .banner__heading,
#MainContent .banner:first-of-type .banner__text {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons,
#MainContent #Banner-template--27114739990803__image_banner .banner__buttons,
html body #MainContent .banner:first-of-type .banner__buttons,
#MainContent .banner:first-of-type .banner__buttons {
  justify-content: center !important;
  justify-items: center !important;
  align-items: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* V34 — Hero single CTA: center the only SHOP ALL button inside the box. */
html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons:has(.button:only-child),
#MainContent #Banner-template--27114739990803__image_banner .banner__buttons:has(.button:only-child),
html body #MainContent .banner:first-of-type .banner__buttons:has(.button:only-child),
#MainContent .banner:first-of-type .banner__buttons:has(.button:only-child) {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-content: center !important;
  justify-items: center !important;
  align-items: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button:only-child,
#MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button:only-child,
html body #MainContent .banner:first-of-type .banner__buttons .button:only-child,
#MainContent .banner:first-of-type .banner__buttons .button:only-child {
  margin-left: auto !important;
  margin-right: auto !important;
  justify-self: center !important;
}

/* V35 — Hero subtitle alignment only: make red last-chance text center on the full box width. */
html body #MainContent #Banner-template--27114739990803__image_banner .banner__text,
#MainContent #Banner-template--27114739990803__image_banner .banner__text,
html body #MainContent .banner:first-of-type .banner__text,
#MainContent .banner:first-of-type .banner__text {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

html body #MainContent #Banner-template--27114739990803__image_banner .banner__text p,
#MainContent #Banner-template--27114739990803__image_banner .banner__text p,
html body #MainContent .banner:first-of-type .banner__text p,
#MainContent .banner:first-of-type .banner__text p {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* V36 — Hero single SHOP ALL CTA width only: narrower but still centered. */
html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button:only-child,
#MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button:only-child,
html body #MainContent .banner:first-of-type .banner__buttons .button:only-child,
#MainContent .banner:first-of-type .banner__buttons .button:only-child {
  width: min(420px, 82vw) !important;
  max-width: min(420px, 82vw) !important;
}

@media screen and (max-width: 749px) {
  html body #MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button:only-child,
  #MainContent #Banner-template--27114739990803__image_banner .banner__buttons .button:only-child,
  html body #MainContent .banner:first-of-type .banner__buttons .button:only-child,
  #MainContent .banner:first-of-type .banner__buttons .button:only-child {
    width: min(320px, 78vw) !important;
    max-width: min(320px, 78vw) !important;
  }
}

/* V37 — Mobile PDP must stack at full usable width. Earlier desktop 50/50
   rules were global and kept both columns at half width below 750px. */
@media screen and (max-width: 749px) {
  html body #MainContent .product.grid--2-col-tablet > .grid__item,
  #MainContent .product.grid--2-col-tablet > .grid__item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
  }

  html body #MainContent .product .product__info-wrapper,
  #MainContent .product .product__info-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
  }

  html body #MainContent .product .product__info-container,
  #MainContent .product .product__info-container {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  html body #MainContent .product .product__media-wrapper,
  #MainContent .product .product__media-wrapper {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
  }
}
