/* Shoes Avenue — layout, carousels, product tiles, footer, responsive */

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

img, video, canvas {
  max-width: 100%;
}

/* Sprite icons must stay 24px — max-width:100% on svg made clocks/trucks huge */
.chakra-icon,
svg.chakra-icon {
  width: 1.25rem !important;
  height: 1.25rem !important;
  max-width: 24px !important;
  max-height: 24px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  display: inline-block !important;
}

/* -------------------------------------------------------------------------- */
/* Brand / chrome                                                              */
/* -------------------------------------------------------------------------- */
.my-store,
.header__store-locator,
[data-component="MyStore"],
[data-component="OpenHoursText"],
[data-component="DesktopStoreRefinement"],
[data-component="StoreRefinementTile"] {
  display: none !important;
}

.logo__img,
img.logo__img,
.header__logo img,
[data-component="Logo"] img {
  height: auto !important;
  width: auto !important;
  max-height: 52px !important;
  max-width: 280px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.header__logo,
.logo,
.logo__link,
[data-component="Logo"] {
  display: flex !important;
  align-items: center !important;
  max-width: min(280px, 70vw) !important;
  overflow: visible !important;
  flex: 0 1 auto !important;
}
@media (max-width: 47.99em) {
  .header__logo,
  .logo,
  .logo__link,
  [data-component="Logo"] {
    max-width: min(220px, 70vw) !important;
    overflow: visible !important;
  }
  .logo__img,
  img.logo__img,
  .header__logo img,
  [data-component="Logo"] img {
    width: auto !important;
    height: auto !important;
    max-width: 220px !important;
    max-height: 40px !important;
  }
}

[data-component="ProductFulfillment"] > .css-1i2407o,
button[aria-label="Pick Up"],
[aria-label="Pick Up"],
[data-component="AfterpayAsset"],
afterpay-placement,
[id*="afterpay" i],
[class*="afterpay" i],
#afterpay-script,
.sa-hide-bnpl,
[data-component="ProductPromotions"],
.css-xhmlrw,
img[alt*="Afterpay" i],
img[alt*="pay later" i],
img[alt*="Klarna" i],
img[alt*="PayPal" i],
a[aria-label*="Afterpay" i],
a[aria-label*="pay later" i],
a[aria-label*="Klarna" i],
a[aria-label*="PayPal" i],
iframe[src*="paypal.com"],
iframe[src*="klarna.com"],
.paypal-buttons,
[id*="paypal-button" i] {
  display: none !important;
}

@media screen and (min-width: 48em) {
  .mobile__price {
    display: none !important;
  }
}

/* -------------------------------------------------------------------------- */
/* Swiper — captured CSS only scopes .swiper to a few parents                  */
/* -------------------------------------------------------------------------- */
.swiper {
  position: relative;
  overflow: hidden !important;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
  width: 100%;
}
.swiper-wrapper {
  position: relative !important;
  width: 100%;
  z-index: 1;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  transition-property: transform;
  box-sizing: content-box;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column !important;
}
.swiper-slide,
swiper-slide {
  flex-shrink: 0 !important;
  position: relative;
  display: block;
  height: auto !important;
}
.swiper-autoheight,
.swiper-autoheight .swiper-slide,
.swiper-autoheight .swiper-wrapper {
  height: auto !important;
}
[data-component="RecommendationsCarouselComponent"] {
  overflow: hidden;
}
[data-component="RecommendationsCarouselComponent"] .swiper {
  max-height: none;
  overflow: hidden !important;
}

/* -------------------------------------------------------------------------- */
/* Product tiles (PLP + recommendation carousels)                              */
/* -------------------------------------------------------------------------- */
.chakra-card.css-1aswf3g {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-width: 0 !important;
}
.chakra-card.css-1aswf3g .chakra-card__body {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}
.chakra-card.css-1aswf3g .css-xn5dft {
  position: relative !important;
  width: 100%;
}
.chakra-card.css-1aswf3g .css-xn5dft > .chakra-link {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f6f6f4;
}
.chakra-card.css-1aswf3g .css-xn5dft picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.chakra-card.css-1aswf3g .css-xn5dft img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  position: absolute !important;
  inset: 0;
}
.chakra-card.css-1aswf3g .css-xn5dft > .chakra-button {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  z-index: 2;
  width: auto !important;
  background: transparent !important;
}

.chakra-card.css-1aswf3g .css-1tfqvn1 {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 8px 0 4px !important;
  min-height: 0 !important;
}
.chakra-card.css-1aswf3g .css-1tfqvn1 > .chakra-link:not(.css-1pf3q72),
.chakra-card.css-1aswf3g .css-1tfqvn1 > button {
  display: block !important;
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 4px;
}
.chakra-card.css-1aswf3g .css-1tfqvn1 > .chakra-link:not(.css-1pf3q72) picture,
.chakra-card.css-1aswf3g .css-1tfqvn1 > button picture {
  display: block !important;
  width: 40px !important;
  height: 40px !important;
}
.chakra-card.css-1aswf3g .css-1tfqvn1 img {
  width: 40px !important;
  height: 40px !important;
  object-fit: cover !important;
  display: block !important;
  position: static !important;
}
.chakra-card.css-1aswf3g .css-1pf3q72 {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  font-size: 13px;
}

.chakra-card.css-1aswf3g .chakra-stack.css-kw1ymn,
.chakra-stack.css-kw1ymn {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.sf-product-list-page .css-1x7me35 {
  display: grid !important;
  gap: 16px 20px !important;
  width: 100% !important;
}

/* -------------------------------------------------------------------------- */
/* PDP layout, swatches, fulfillment, CTA                                      */
/* -------------------------------------------------------------------------- */
.sf-product-detail-page .css-1lrbzab {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 32px !important;
  width: 100% !important;
}
/*
 * Gallery was 0×0 when the details column ate 100% width.
 * Keep gallery as the fluid column; give details enough room for a size
 * grid + color row, but never a 420px cap that stacked color/price groups.
 */
.sf-product-detail-page .css-1lrbzab > :first-child,
.sf-product-detail-page .css-1lrbzab > .css-1rr4qq7 {
  flex: 1 1 0 !important;
  min-width: 320px !important;
  width: auto !important;
  max-width: none !important;
}
.sf-product-detail-page .css-1lrbzab > :last-child,
.sf-product-detail-page .css-1lrbzab > .css-osc4e2 {
  flex: 0 1 480px !important;
  width: 42% !important;
  max-width: 540px !important;
  min-width: 380px !important;
}
[data-component="ImageGallery"] {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
[data-component="ImageGallery"] .swiper,
[data-component="ImageGallery"] .swiper-wrapper {
  width: 100% !important;
  height: auto !important;
  min-height: 240px !important;
}
[data-component="ImageGallery"] .swiper-slide {
  width: 100% !important;
  height: auto !important;
  flex-shrink: 0 !important;
}
[data-component="ImageGallery"] .swiper-zoom-container,
[data-component="ImageGallery"] .swiper-slide picture {
  display: block !important;
  width: 100% !important;
}
[data-component="ImageGallery"] .swiper-slide img,
[data-component="ImageGallery"] img.chakra-image {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  display: block !important;
}
[data-component="ProductViewHeader"] {
  flex: 0 0 auto;
  max-width: 100%;
  width: 100%;
  min-width: 0;
}

@media screen and (min-width: 64em) {
  [data-component="ProductViewHeader"] {
    position: sticky;
    top: 96px;
  }
}

[data-component="SwatchGroup"] {
  margin: 0 0 16px !important;
}
[data-component="SwatchGroup"] .css-17qk1vz {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 8px !important;
}
[data-component="SwatchGroup"] .css-1uxtxdb,
[data-component="SwatchGroup"] [class*="css-"][class]:has(> [data-component="Swatch"]) {
  display: flex !important;
  flex-wrap: wrap !important;
  flex-direction: row !important;
  gap: 8px !important;
  align-items: center !important;
}

/* Multi-price color picker: flatten nested price groups into one swatch row */
[data-selector="pdp-group-color"] > [class*="css-"]:has(> [data-component="SwatchGroup"]),
[data-selector="pdp-group-color"] .css-g3yttr {
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
}
[data-selector="pdp-group-color"] > [class*="css-"]:has(> [data-component="SwatchGroup"]) > [data-component="SwatchGroup"],
[data-selector="pdp-group-color"] .css-g3yttr > [data-component="SwatchGroup"] {
  display: flex !important;
  flex-flow: row wrap !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  gap: 8px !important;
}
[data-selector="pdp-group-color"] [data-component="SwatchGroup"] > .css-17qk1vz:not(:has([data-component="Swatch"])),
[data-selector="pdp-group-color"] [data-component="SwatchGroup"] .css-16ixusl:not(:has([data-component="Swatch"])),
[data-selector="pdp-group-color"] [data-component="SwatchGroup"] h3.chakra-heading {
  display: none !important;
}
[data-selector="pdp-group-color"] > .css-17qk1vz,
[data-selector="pdp-group-color"] > .chakra-stack {
  display: flex !important;
  flex: 1 0 100% !important;
  width: 100% !important;
  margin: 0 0 8px !important;
}

/* Color thumbnails */
[data-component="SwatchGroup"] [data-component="Swatch"]:has(img),
[data-component="SwatchGroup"] [data-component="Swatch"]:has(picture),
[data-selector="pdp-group-color"] [data-component="Swatch"] {
  width: 56px !important;
  height: 56px !important;
  flex: 0 0 56px !important;
  overflow: hidden !important;
  border-radius: 4px !important;
  border: 1px solid #cfcfcf !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
  box-sizing: border-box !important;
  background: #f6f6f4 !important;
}
[data-component="SwatchGroup"] [data-component="Swatch"]:has(img) [data-element="Center"],
[data-component="SwatchGroup"] [data-component="Swatch"]:has(picture) [data-element="Center"],
[data-selector="pdp-group-color"] [data-component="Swatch"] [data-element="Center"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
[data-component="SwatchGroup"] [data-component="Swatch"]:has(img) picture,
[data-component="SwatchGroup"] [data-component="Swatch"]:has(picture) picture,
[data-selector="pdp-group-color"] [data-component="Swatch"] picture {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}
[data-component="SwatchGroup"] [data-component="Swatch"]:has(img) img,
[data-component="SwatchGroup"] [data-component="Swatch"]:has(picture) img,
[data-selector="pdp-group-color"] [data-component="Swatch"] img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 78% !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  inset: 0 !important;
  transform: none !important;
}
[data-selector="pdp-group-color"] {
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
}
/* Option groups stack vertically; the swatch rules above assume that box.
   Nothing here un-hides anything — no rule is allowed to hide the stack. */
[data-selector="pdp-group-size"],
[data-selector="pdp-group-width"] {
  display: flex !important;
  flex-direction: column !important;
}
[data-selector="pdp-group-color"] [data-component="Swatch"] {
  visibility: visible !important;
  opacity: 1 !important;
  display: inline-flex !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 3;
}
[data-component="SwatchGroup"] [data-component="Swatch"]:has(img).sa-swatch-on,
[data-component="SwatchGroup"] [data-component="Swatch"]:has(picture).sa-swatch-on,
[data-selector="pdp-group-color"] [data-component="Swatch"].sa-swatch-on,
[data-selector="pdp-group-color"] [data-component="Swatch"][aria-checked="true"],
[data-selector="pdp-group-color"] [data-component="Swatch"][aria-pressed="true"],
[data-selector="pdp-group-color"] [data-component="Swatch"][data-checked],
[data-selector="pdp-group-color"] [data-component="Swatch"][data-state="checked"],
[data-selector="pdp-group-color"] [data-component="Swatch"][data-active] {
  border: 3px solid #111 !important;
  box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px #111 !important;
  background: #f6f6f4 !important;
  outline: none !important;
  z-index: 2;
  transform: scale(1.08);
}
[data-selector="pdp-group-color"] [data-component="Swatch"].sa-swatch-on::after,
[data-selector="pdp-group-color"] [data-component="Swatch"][aria-checked="true"]::after,
[data-selector="pdp-group-color"] [data-component="Swatch"][aria-pressed="true"]::after,
[data-selector="pdp-group-color"] [data-component="Swatch"][data-checked]::after,
[data-selector="pdp-group-color"] [data-component="Swatch"][data-state="checked"]::after,
[data-selector="pdp-group-color"] [data-component="Swatch"][data-active]::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 2px solid #111;
  border-radius: 2px;
  pointer-events: none;
  z-index: 5;
  box-sizing: border-box;
}

/* Size / width chips. Do not force white-on-white — Chakra selected is
   black fill + white text. .sa-swatch-on is the visible selected chrome. */
[data-component="SwatchGroup"] [data-component="Swatch"]:not(:has(img)):not(:has(picture)) {
  width: auto !important;
  height: auto !important;
  min-width: 48px !important;
  min-height: 40px !important;
  flex: 0 0 auto !important;
  padding: 8px 12px !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  font-weight: 600;
  font-size: 14px !important;
  line-height: 1.2;
  background: #fff !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  box-sizing: border-box;
  overflow: visible !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  z-index: 3;
}
[data-component="SwatchGroup"] [data-component="Swatch"]:not(:has(img)):not(:has(picture))::before {
  content: none !important;
  display: none !important;
}
[data-component="SwatchGroup"] [data-component="Swatch"].sa-swatch-on:not(:has(img)):not(:has(picture)) {
  border: 2px solid #111 !important;
  background: #111 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: none !important;
}
[data-component="SwatchGroup"] [data-component="Swatch"]:not(:has(img)):not(:has(picture)) [data-element="Center"],
[data-component="SwatchGroup"] [data-component="Swatch"]:not(:has(img)):not(:has(picture)) .css-m6b1tn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  overflow: visible !important;
  text-indent: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  white-space: nowrap !important;
}

/* Hide dummy one-size / unsized selectors; keep real size grids */
[data-component="SwatchGroup"]:has([data-selector="pdp-group-size-UNSZ"]):not(:has([data-selector^="pdp-group-size-"]:not([data-selector="pdp-group-size-UNSZ"]))) {
  display: none !important;
}
[data-component="SwatchGroup"]:has([data-selector="pdp-group-width-UNSIZED"]):not(:has([data-selector^="pdp-group-width-"]:not([data-selector="pdp-group-width-UNSIZED"]))) {
  display: none !important;
}

[data-component="ProductFulfillment"] {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 8px 0 16px !important;
}
[data-component="ProductDelivery"] {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 10px 0 !important;
  width: auto !important;
}
[data-component="ProductDelivery"] svg,
.css-jowxpk svg,
.css-jowxpk .chakra-icon {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
}
.css-jowxpk {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}

/* One Add to Cart: hide the always-on copy when the desktop duplicate exists */
@media screen and (min-width: 48em) {
  .sf-product-detail-page .css-vj1wzl:has(.add-to-cart-button):has(+ .css-0 #cart-btn) {
    display: none !important;
  }
}
@media screen and (max-width: 47.99em) {
  .sf-product-detail-page #cart-btn {
    display: none !important;
  }
}
.sf-product-detail-page .add-to-cart-button {
  width: 100% !important;
  max-width: 100% !important;
}

[data-component="Advantage"] .list-item_image {
  width: 40px !important;
  height: 40px !important;
  object-fit: contain !important;
}

/* -------------------------------------------------------------------------- */
/* Advantages + footer                                                         */
/* -------------------------------------------------------------------------- */
[data-component="Advantages"] ul[role="list"],
ul.css-e59kch {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 20px 24px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 28px 32px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
[data-component="Advantages"] li,
li.css-198q1oz {
  list-style: none !important;
  margin: 0 !important;
}
[data-component="Advantage"] h2 {
  font-size: 1rem !important;
  line-height: 1.3 !important;
}

[data-component="Footer"] {
  width: 100% !important;
}
.css-7wylmx {
  width: 100% !important;
  box-sizing: border-box !important;
}
@media screen and (min-width: 64em) {
  .css-7wylmx {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    min-height: 0 !important;
  }
  .css-w53yaq {
    width: 320px !important;
    max-width: 320px !important;
    flex: 0 0 320px !important;
    margin: 0 !important;
    padding: 28px 24px !important;
  }
  .css-18nmmy {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 20px 24px 32px !important;
  }
}

[data-component="FooterLinksDesktop"],
.css-pm6mx6 {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px 28px !important;
  align-items: start !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

[data-component="LinksList"],
.css-8ijxxl {
  min-width: 0 !important;
  width: auto !important;
}

[data-component="Footer"] [data-component="LinksList"] h2,
.css-1843dzo {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
}

[data-component="Footer"] ul[role="list"],
.css-1jzw86z {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
[data-component="Footer"] ul[role="list"] > li,
.css-1jzw86z > li {
  list-style: none !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}
[data-component="Footer"] ul[role="list"] > li::marker,
.css-1jzw86z > li::marker {
  content: none !important;
}
[data-component="Footer"] [data-component="LinksList"] a,
.css-q5lgkf {
  display: inline-block !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.sf-social-icons {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding: 8px 24px 24px !important;
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                  */
/* -------------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
  [data-component="FooterLinksDesktop"],
  .css-pm6mx6,
  [data-component="Advantages"] ul[role="list"],
  ul.css-e59kch {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .sf-product-list-page .css-1x7me35 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .sf-product-detail-page .css-1lrbzab > :last-child,
  .sf-product-detail-page .css-1lrbzab > .css-osc4e2 {
    flex-basis: 400px;
    max-width: 480px;
    width: 40%;
    min-width: 340px;
  }
}

@media screen and (max-width: 900px) {
  .sf-product-detail-page .css-1lrbzab {
    flex-direction: column !important;
  }
  .sf-product-detail-page .css-1lrbzab > :first-child,
  .sf-product-detail-page .css-1lrbzab > :last-child,
  .sf-product-detail-page .css-1lrbzab > .css-1rr4qq7,
  .sf-product-detail-page .css-1lrbzab > .css-osc4e2,
  [data-component="ImageGallery"],
  [data-component="ProductViewHeader"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  [data-component="ProductViewHeader"] {
    position: static !important;
  }
  [data-component="ImageGallery"] .css-5eufz9 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 720px) {
  [data-component="FooterLinksDesktop"],
  .css-pm6mx6,
  [data-component="Advantages"] ul[role="list"],
  ul.css-e59kch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .css-7wylmx {
    flex-direction: column !important;
  }
  .css-w53yaq,
  .css-18nmmy {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
  }
  .sf-social-icons {
    justify-content: flex-start !important;
  }
  .sf-product-list-page .css-1x7me35 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  [data-component="ImageGallery"] .css-5eufz9 {
    grid-template-columns: 1fr !important;
  }
}

@media screen and (max-width: 480px) {
  [data-component="FooterLinksDesktop"],
  .css-pm6mx6 {
    grid-template-columns: 1fr !important;
  }
  .sf-product-list-page .css-1x7me35 {
    grid-template-columns: 1fr !important;
  }
}

[data-component="ProductFulfillment"] [aria-label="Delivery"] {
  display: inline-flex !important;
}

.sa-gift-discontinued {
  max-width: 760px;
  margin: 24px auto;
}

body[data-sa-no-gift="1"] [data-source-file="two-up-banner-tile.tsx"],
body[data-sa-no-gift="1"] [data-source-file="ad-carousel-tile.tsx"] {
  display: none !important;
}

/* Fiche produit : titre / prix / variantes. Les squelettes Chakra qui
   enveloppent le vrai contenu ne doivent jamais rester masqués — y compris
   après html.sa-settle (règle plus spécifique que le masquage global). */
.chakra-skeleton:has(h1),
.chakra-skeleton:has(h2),
.chakra-skeleton:has(h3),
.chakra-skeleton:has(.chakra-heading),
.chakra-skeleton:has(.add-to-cart-button),
html.sa-settle .chakra-skeleton:has(h1),
html.sa-settle .chakra-skeleton:has(h2),
html.sa-settle .chakra-skeleton:has(h3),
html.sa-settle .chakra-skeleton:has(.chakra-heading),
html.sa-settle .chakra-skeleton:has(.add-to-cart-button),
html.sa-settle .chakra-skeleton:has([data-component="Swatch"]),
html.sa-settle .chakra-skeleton:has(img),
html.sa-settle .chakra-skeleton:has(a[href*=".html"]),
html.sa-settle [data-component="ProductViewHeader"],
[data-component="ProductViewHeader"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.sf-product-detail-page .css-1t0uj0h,
.sf-product-detail-page .css-1t0uj0h[data-sc-hide="1"],
html.sa-settle .css-1t0uj0h {
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.sf-product-list-page a[href*=".html"] {
  visibility: visible !important;
  opacity: 1 !important;
}
#sa-picker {
  display: block !important;
  visibility: visible !important;
  margin: 12px 0 16px;
}
#sa-picker .sa-title {
  font-size: 28px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin: 0 0 8px;
}
#sa-picker .sa-brand {
  display: inline-block;
  font-size: 14px;
  margin: 0 0 10px;
  text-decoration: underline;
}
#sa-picker .sa-price {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 18px;
}
#sa-picker .sa-colors {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
#sa-picker .sa-sizes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
body:has(#sa-picker .sa-title) [data-component="ProductViewHeader"] {
  display: none !important;
}
