/** Shopify CDN: Minification failed

Line 134:0 Unexpected "}"

**/
:root {
  --evergreen-primary-black: #161714;
}
.has-countdown {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
}
@media screen and (max-width: 1023px) {
  .has-countdown {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .announcement-text-separation-space {
    margin-top: 0.25rem;
  }
}
@media screen and (max-width: 1439px) {
  .announcement-bar__custom-links {
    display: none !important;
  }
}
countdown-timer .js-hidden {
  display: none;
}
announcement-bar-component {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}
announcement-bar-component .countdown {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}
announcement-bar-component .countdown:not([loaded]) {
  visibility: hidden;
}
announcement-bar-component .countdown__grid {
  --countdown-size: 1em;
}
announcement-bar-component .countdown__item:not(.countdown__item--is-0) {
  --countdown-divider-width: calc(var(--countdown-size) / 2.4);
  display: flex;
  align-items: center;
}
.countdown {
  --countdown-number-transition-duration: 350ms;
  --countdown-desktop-size: 40px;
}

.countdown__grid {
  --countdown-size: min(40px, var(--countdown-desktop-size));
  display: inline-flex;
}
@media (min-width: 768px) {
  .countdown__grid {
    --countdown-size: max(20px, calc(var(--countdown-desktop-size) * 0.75));
  }
}
@media (min-width: 1000px) {
  .countdown__grid {
    --countdown-size: var(--countdown-desktop-size);
  }
}

.countdown__number {
  display: inline-flex;
  position: relative;
  justify-content: center;
  font-size: var(--countdown-size);
  line-height: 1;
  direction: ltr;
}
.countdown__number:not(.js-days) {
  min-width: 2ch;
}

.countdown__item:not(:last-child) {
  --countdown-divider-width: calc(var(--countdown-size) / 2.5);
}

.countdown__item:last-child .countdown__number {
  justify-content: center;
}

.countdown__separator {
  margin: 0 4px;
}

/* Seconds are opt-in per announcement block ("Show seconds"); the markup is always
   rendered because countdown-timer.js expects the seconds elements to exist. */
.countdown:not(.countdown--show-seconds) .countdown__item--seconds,
.countdown:not(.countdown--show-seconds) .countdown__separator--seconds {
  display: none !important;
}

.countdown__item--is-0:first-child,
.countdown__item--is-0:first-child + .countdown__separator {
  display: none;
}

/* Unit labels: the block's "Unit format" setting picks DAYS / HRS / MINS / SECS (default) or
   D / H / M / S. Both spans are always rendered; the letters format visually hides the word
   (kept in the DOM for assistive tech) and shows the letter. */
.countdown__unit-abbr {
  display: none;
}
.countdown--units-letters .countdown__unit {
  position: relative;
}
.countdown--units-letters .countdown__unit-long {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.countdown--units-letters .countdown__unit-abbr {
  display: inline;
}
}

.countdown:not([loaded]) .countdown__number {
  visibility: hidden;
}

.countdown__number-part {
  display: inline-block;
  position: relative;
}

.countdown__number-part-current {
  display: inline-block;
  transition:
    transform var(--countdown-number-transition-duration)
      cubic-bezier(0, 0, 0.06, 1) 100ms,
    opacity calc(var(--countdown-number-transition-duration) / 2) ease-out 100ms;
}

.countdown__number-part-previous {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(5%);
  transition: all 120ms cubic-bezier(0.4, 0, 1, 1);
  opacity: 0;
}

.countdown__number-part--start-transition .countdown__number-part-current {
  transform: translateY(-20%);
  transition: none;
  opacity: 0;
}
.countdown__number-part--start-transition .countdown__number-part-previous {
  transform: none;
  transition: none;
  opacity: 1;
}
.countdown-divider-line .countdown__item:not(:last-child) {
  --countdown-divider-width: calc(var(--countdown-size) / 4);
  padding-inline-end: var(--countdown-divider-width);
  border-inline-end: 1px solid;
}

.countdown-divider-dot .countdown__item:not(:last-child),
.countdown-divider-colon .countdown__item:not(:last-child) {
  --countdown-divider-width: calc(var(--countdown-size) / 2);
}
.countdown-divider-dot
  .countdown__item:not(:last-child)
  .countdown__number::after,
.countdown-divider-colon
  .countdown__item:not(:last-child)
  .countdown__number::after {
  position: absolute;
  left: 100%;
  width: var(--countdown-divider-width);
}
[dir="rtl"]
  .countdown-divider-dot
  .countdown__item:not(:last-child)
  .countdown__number::after,
[dir="rtl"]
  .countdown-divider-colon
  .countdown__item:not(:last-child)
  .countdown__number::after {
  right: 100%;
  left: auto;
}

.countdown-divider-colon
  .countdown__item:not(:last-child)
  .countdown__number::after {
  content: ":";
  top: -0.075em;
}

.countdown-divider-dot
  .countdown__item:not(:last-child)
  .countdown__number::after {
  content: "·";
  top: -0.05em;
}

.countdown-font-heading .countdown__number {
  font-family: var(--heading-font-family);
  font-style: var(--heading-font-style);
  font-weight: var(--heading-font-weight);
  color: rgb(var(--heading-color));
}

.countdown__unit {
  margin-left: 2px;
}

.slideshow-section slideshow-controls[controls-on-media] {
  bottom: 1.25rem;
  mix-blend-mode: normal;
}

.slideshow-section .slideshow-controls__dots {
  gap: 0.75rem;
  padding: 0.5rem 1.25rem;
  background: transparent;
}

.variant-main-picker.variant-option__button-label--has-swatch {
  position: relative;
  overflow: visible;
}

.variant-option__swatch-tooltip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%) translateY(4px);
  background: #000;
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  line-height: 130%;
  letter-spacing: 0;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 150ms ease,
    transform 150ms ease;
  z-index: 5;
}

.quick-add-modal__content .variant-option__swatch-tooltip {
  background-color: #fff !important;
  border: 1px solid #e8eaeb !important;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.08) !important;
  opacity: 0;
  z-index: 30;
  isolation: isolate;
}

.variant-option__button-label.variant-option__button-label--has-swatch:has(.swatch--unavailable),
.variant-option__button-label.variant-option__button-label--has-swatch:has(.swatch--unavailable--strike-through),
.variant-option__button-label.variant-option__button-label--has-swatch:has([data-option-available='false']) {
  opacity: 1 !important;
}

.variant-option__button-label.variant-option__button-label--has-swatch:has(.swatch--unavailable) .swatch-wrapper,
.variant-option__button-label.variant-option__button-label--has-swatch:has(.swatch--unavailable--strike-through) .swatch-wrapper,
.variant-option__button-label.variant-option__button-label--has-swatch:has([data-option-available='false']) .swatch-wrapper {
  opacity: 0.75;
}

.variant-option__button-label.variant-option__button-label--has-swatch:not([data-is-color-swatch="true"]):has([data-option-exists='false']),
.variant-option__button-label.variant-option__button-label--has-swatch:not([data-is-color-swatch="true"]):has([data-option-exists='false']) *,
.variant-option__button-label.variant-option__button-label--has-swatch:not([data-is-color-swatch="true"]):has([data-option-exists='false']) input {
  cursor: not-allowed !important;
}

.quick-add-modal__content .variant-option__swatch-tooltip--out-of-stock-wrapper {
  background: #fff !important;
  border: 1px solid #e8eaeb !important;
  box-shadow: 0 2px 8px rgb(0 0 0 / 0.12) !important;
  opacity: 0;
  z-index: 60;
  color: #161714;
  mix-blend-mode: normal;
}

.quick-add-modal__content .variant-option__swatch-tooltip--out-of-stock {
  background: transparent;
  color: #161714 !important;
  opacity: 1 !important;
}

.quick-add-modal__content
  .variant-option__button-label.variant-option__button-label--has-swatch:hover:has([data-related-product-available='false'])
  .swatch-wrapper:has(.swatch.swatch--unavailable--strike-through):has(+ .variant-option__swatch-tooltip--out-of-stock-wrapper)
  + .variant-option__swatch-tooltip--out-of-stock-wrapper,
.quick-add-modal__content
  .variant-option__button-label.variant-option__button-label--has-swatch:focus-within:has([data-related-product-available='false'])
  .swatch-wrapper:has(.swatch.swatch--unavailable--strike-through):has(+ .variant-option__swatch-tooltip--out-of-stock-wrapper)
  + .variant-option__swatch-tooltip--out-of-stock-wrapper,
.quick-add-modal__content
  .variant-option__button-label.variant-option__button-label--has-swatch:hover:has([data-related-product-available='false'])
  .variant-option__swatch-tooltip--out-of-stock-wrapper,
.quick-add-modal__content
  .variant-option__button-label.variant-option__button-label--has-swatch:focus-within:has([data-related-product-available='false'])
  .variant-option__swatch-tooltip--out-of-stock-wrapper {
  display: block !important;
  opacity: 1 !important;
}

.quick-add-modal__content
  .variant-option__button-label.variant-option__button-label--has-swatch:not(:has([data-related-product-available='false']))
  .variant-option__swatch-tooltip--out-of-stock-wrapper {
  display: none !important;
  opacity: 0 !important;
}

.quick-add-modal__content .variant-option__swatch-tooltip::after {
  border-top-color: #fff;
}

.quick-add-modal__content
  .variant-main-picker.variant-option__button-label--has-swatch:hover
  .variant-option__swatch-tooltip,
.quick-add-modal__content
  .variant-main-picker.variant-option__button-label--has-swatch:has(:focus-visible)
  .variant-option__swatch-tooltip {
  opacity: 1;
}

.variant-option__swatch-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #000;
}

.variant-main-picker.variant-option__button-label--has-swatch:hover
  .variant-option__swatch-tooltip,
.variant-main-picker.variant-option__button-label--has-swatch:has(
    :focus-visible
  )
  .variant-option__swatch-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.slideshow-section .slideshow-controls__dots button {
  width: 40px;
  height: 4px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  appearance: none;
}

.slideshow-section .slideshow-controls__dots {
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.slideshow-section .slideshow-controls__dots::-webkit-scrollbar {
  display: none;
}

.slideshow-section .slideshow-controls__dots button::after {
  width: 100%;
  box-shadow: none;
  background-color: rgb(255 255 255 / 40%);
}

.slideshow-section
  .slideshow-controls__dots
  button[aria-selected="true"]::after {
  background-color: #ffffff;
  box-shadow: none;
}

.slideshow-section slideshow-arrows {
  justify-content: flex-end;
  align-items: flex-end;
  gap: 0.5rem;
  padding: 0;
  mix-blend-mode: normal;
  pointer-events: auto;
  bottom: -1.25rem;
  width: fit-content;
  height: fit-content;
  margin: 0;
  right: 0;
  top: unset;
  left: unset;
}

.slideshow-section slideshow-arrows .slideshow-control {
  opacity: 1;
  min-width: 36px;
  min-height: 36px;
  padding: 0;
  border: 1px solid rgb(var(--color-foreground-rgb) / 0.6);
  border-radius: 999px;
  background: rgb(var(--color-background-rgb) / 0.2);
  color: var(--color-foreground);
  backdrop-filter: blur(8px);
  animation: none !important;
  pointer-events: auto;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.slideshow-section .slide__video-controls,
.slideshow-section .slide__video-control {
  pointer-events: auto;
  bottom: -1.25rem;
  left: 0;
}

.slideshow-section .slide__video-control {
  cursor: pointer;
}

.slideshow-section .slide__content .button,
.slideshow-section .slide__content .button-secondary {
  margin-inline: 0;
  font-family: var(--font-accent--family);
}

.slideshow-section .slide__content .button-secondary {
  font-size: 13px;
}

.slideshow-section .slide__content rte-formatter.text-block.rte :is(h1, h2, h3, h4, h5, h6) {
  margin-block: 0;
}

.slideshow-section .slide__content :is(.button, .button-secondary)[style*='--size-style-width: fit-content'] {
  box-sizing: border-box;
  min-height: 45px;
  height: 45px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  /* The fixed min-widths below replace flex's min-width: auto; without this a Custom-width sibling squeezes the label out of the button. */
  flex-shrink: 0;
}

.slideshow-section .slide__content .button[style*='--size-style-width: fit-content'] {
  min-width: 137px;
}

.slideshow-section .slide__content .button-secondary[style*='--size-style-width: fit-content'] {
  min-width: 203px;
}

@media screen and (max-width: 1023px) {
  .slideshow-section .slide__video-controls {
    top: 0;
    bottom: unset;
  }
  .slideshow-section slideshow-arrows {
    display: none;
  }
  .slideshow-section slideshow-controls {
    left: 1rem;
  }
  .variant-option__swatch-tooltip {
    display: none;
  }
}

.menu-list__link-title,
.mega-menu__link-title {
  font-family: var(--font-subheading--family);
}

.product-infomation-details-header h1,
.piv2-product-info-header h1 {
  font-family: var(--font-display--family) !important;
  font-weight: 400 !important;
  line-height: 38px !important;
  letter-spacing: -2.5% !important;
  color: #161714 !important;
  margin-bottom: 8px !important;
  font-size: 32px !important;
}

.custom-price--highlight {
  color: #c12d14 !important;
}

a.mega-menu__promo-tile[parent-menu-item] {
  display: none;
}

/* Make split showcase group blocks 1:1 squares (desktop side-by-side and mobile stacked).
   Only row layouts that use group background media (image/video). Accordion and
   Multicolumn columns must size to their content — a blanket 1:1 + min-height: 0
   clipped them to a square and caused columns to overlap on mobile. */
.section-content-wrapper.layout-panel-flex--row:has(
    > .group-block .background-image-container,
    > .group-block .video-background
  )
  > .group-block.group-block--width-fill {
  aspect-ratio: 1 / 1;
  height: auto !important;
  min-height: 0;
  width: 100%;
}

.section-content-wrapper.layout-panel-flex--row:has(
    > .group-block .background-image-container,
    > .group-block .video-background
  )
  > .group-block.group-block--width-fill
  .group-block-content {
  height: 100%;
}

/* Ensure background image fills the square */
.section-content-wrapper.layout-panel-flex--row:has(
    > .group-block .background-image-container,
    > .group-block .video-background
  )
  > .group-block.group-block--width-fill
  .background-image-container {
  position: absolute;
  inset: 0;
}

/* Tablet: keep split showcase squares side by side, as on desktop. "Vertical on
   mobile" stacks them through 1023px, so each square ran the full tablet width
   and filled the screen. 640px is about the floor: below ~630px the Guideshop
   headline wraps to three lines and the copy fills the whole square. */
@media screen and (min-width: 640px) and (max-width: 1023px) {
  .section-content-wrapper.layout-panel-flex--row.mobile-column:has(
      > .group-block .background-image-container,
      > .group-block .video-background
    ) {
    flex-flow: row nowrap;
    justify-content: var(--horizontal-alignment);
    align-items: var(--vertical-alignment);
  }
}

/* Accordion columns must grow with open panels instead of overflowing the next column. */
.section-content-wrapper.layout-panel-flex--row > .group-block.group-block--width-fill:has(.accordion) {
  aspect-ratio: auto;
  height: auto !important;
  min-height: min-content;
}

.section-content-wrapper.layout-panel-flex--row > .group-block.group-block--width-fill:has(.accordion) .group-block-content {
  height: auto;
}

.mega-menu__content-list-item a.mega-menu__promo-tile[parent-menu-item] {
  display: block;
}

.menu-drawer__menu-item-container {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.custom-menu-drawer__link-image {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
}

.mobile-menu-container {
  background-color: #f4f4f4;
}

.mobile-utility-link__anchor {
  padding: 4px;
  font-family: var(--font-accent--family);
  display: flex;
  align-items: center;
}

.mobile-utility-link__anchor .mobile-utility-link__icon {
  margin-right: 4px;
}

.mobile-utility-link__anchor .mobile-utility-link__icon path {
  stroke: #000;
}

.menu-drawer__list-item--flat {
  border-bottom: unset !important;
}

.menu-drawer__menu.menu-drawer__menu--childlist.bottom-border-unset
  .menu-drawer__list-item {
  border-bottom: unset;
}

.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content.no-accordion
  .menu-drawer__list-item {
  border-bottom: unset;
}

[data-header-drawer] > [parent-menu-item] {
  display: none;
}

.menu-drawer__inner-submenu .mobile-menu-container {
  display: none;
}

header-drawer .menu-drawer__featured-content-list {
  flex-direction: column;
}

header-drawer
  .menu-drawer__featured-content-list
  .menu-drawer__featured-content-list-item {
  margin: 1rem;
}

header-drawer
  .menu-drawer__featured-content-list
  a.mega-menu__promo-tile[parent-menu-item] {
  display: block;
}

@media screen and (min-width: 1024px) {
  .mobile-menu-container {
    display: none;
  }

  .mobile-utility__heading-wrapper {
    display: none;
  }

  .mobile-utility-link {
    display: none;
  }
}

.variant-option__legend {
  font-size: 16px;
}

.variant-option__error {
  display: none !important;
}

.variant-option__error--out-of-stock {
  display: inline-flex !important;
  margin-left: 4px;
  font-family: var(--font-body--family);
  font-size: 16px;
  line-height: 140%;
  letter-spacing: 1%;
  color: #c12d14;
}

.variant-option__swatch-value.variant-option__error--out-of-stock {
  display: inline-flex !important;
  color: #c12d14;
}

.variant-option__error.is-visible {
  display: inline-flex !important;
  color: #c12d14;
  font-size: 16px;
  font-family: var(--font-body--family);
  margin-left: 4px;
}

.variant-option__select-wrapper--error {
  outline: 1px solid #c12d14;
  outline-offset: 2px;
}

[shop-the-look-price] .visually-hidden {
  display: none;
}

/* Shop-the-look cards: when the discount-code price feature is on, reserve
   the "with code" line's height. Hover-previewing a swatch whose price has no
   discount line otherwise collapses the card, shifting the swatch row under
   the cursor and causing an appear/disappear flicker loop (the same glitch
   the cart carousel had). */
.shop-the-look-inline__price--with-code {
  min-height: 44px;
  align-content: flex-start;
}

@media (max-width: 1023px) {
  .shop-the-look-inline__price--with-code {
    min-height: 34px;
  }
}

variant-picker .swatch {
  overflow: hidden;
  position: relative;
}

variant-picker .swatch--unavailable--strike-through::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    transparent 48%,
    white 48%,
    white 52%,
    transparent 52%
  );
  box-shadow: 0px 0px 2px 0px #00000040;
}

variant-picker .variant-option legend {
  position: relative;
  width: 100%;
  display: inline-flex;
  align-items: center;
}

variant-picker fieldset[data-option-name-handle*="size"],
variant-picker fieldset[data-option-name-handle*="waist"],
variant-picker fieldset[data-option-name-handle*="fit"] {
  position: relative;
}

variant-picker fieldset[data-option-name-handle*="fit"] label {
  padding: 12px 24px;
  height: 40px;
}

variant-picker .size-chart-trigger {
  position: absolute;
  top: 0;
  right: 0;
  font-family: var(--font-body--family);
  font-size: 12px;
  text-decoration: underline;
  cursor: pointer;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  color: #161714;
  outline: none;
  -webkit-outline: none;
  -moz-outline: none;
  -ms-outline: none;
  -o-outline: none;
  outline-offset: 0;
  -webkit-outline-offset: 0;
  -moz-outline-offset: 0;
  -ms-outline-offset: 0;
  -o-outline-offset: 0;
}

variant-picker .find-your-fit-trigger {
  position: absolute;
  top: 0;
  right: 0;
  font-family: var(--font-body--family);
  font-size: 12px;
  text-decoration: underline;
  cursor: pointer;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  color: #161714;
}

body.size-chart-drawer-open {
  overflow: hidden;
}

.sticky-add-to-cart__bar-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.sticky-add-to-cart__bar-product-info {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.sticky-add-to-cart__bar-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.sticky-add-to-cart__bar-actions .sticky-add-to-cart__price:not([hidden]) {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sticky-add-to-cart__bar-actions .sticky-add-to-cart__price[hidden] {
  display: none !important;
}

.sticky-add-to-cart__bar-actions .sticky-add-to-cart__price .price-group-wrapper {
  display: flex;
  align-items: center;
  gap: 4px;
}

.sticky-add-to-cart__bar-actions .sticky-add-to-cart__price .price,
.sticky-add-to-cart__bar-actions .sticky-add-to-cart__price .compare-at-price {
  font-family: var(--font-accent--family);
  font-weight: 600;
  font-size: 24px;
  line-height: 140%;
  letter-spacing: 1%;
  height: 34px;
  display: flex;
  align-items: center;
  margin-bottom: 0 !important;
  color: #161714;
}

.sticky-add-to-cart__bar-actions .sticky-add-to-cart__price .compare-at-price {
  text-decoration-line: line-through;
  text-decoration-thickness: 1px;
}

.sticky-add-to-cart__bar-actions .sticky-add-to-cart__price .price.custom-price--highlight {
  color: #c12d14 !important;
}

.sticky-add-to-cart__title {
  font-family: var(--font-display--family);
  font-weight: 400 !important;
  font-size: 28px !important;
  letter-spacing: -2.5%;
  color: #161714 !important;
}

.sticky-add-to-cart__variant {
  font-family: var(--font-body--family);
  letter-spacing: -2.5%;
  color: #161714 !important;
  display: none;
}

.sticky-add-to-cart__button .add-to-cart-text__content {
  font-family: var(--font-accent--family);
  font-weight: 600;
}

.sticky-add-to-cart__bar .add-to-cart-icon {
  display: none !important;
}

.sticky-add-to-cart__button[data-added="true"] .add-to-cart-icon {
  display: none !important;
}

.sticky-add-to-cart__bar {
  padding: 16px 64px !important;
  display: flex !important;
}

.sticky-add-to-cart__image {
  display: none;
}

.sticky-add-to-cart__price--mobile {
  display: none;
}

.sticky-add-to-cart__button--mobile {
  display: none;
}

@media screen and (max-width: 1023px) {
  .sticky-add-to-cart__bar-content {
    flex-direction: row;
    align-items: center;
    gap: 12px;
    background-color: transparent;
    padding: 12px 16px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  }

  .sticky-add-to-cart__bar-product-info,
  .sticky-add-to-cart__info {
    display: none !important;
  }

  .sticky-add-to-cart__bar-actions .sticky-add-to-cart__price--desktop {
    display: none !important;
  }

  .sticky-add-to-cart__price--mobile {
    display: none !important;
  }

  .sticky-add-to-cart__bar-actions {
    width: 100%;
  }

  .sticky-add-to-cart__bar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    background: rgb(var(--color-background-rgb) / 0.72) !important;
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: none !important;
    border-top: 0.5px solid rgb(var(--color-foreground-rgb) / 0.08) !important;
    box-shadow: 0 -4px 24px rgb(var(--color-foreground-rgb) / 0.06) !important;
  }

  .sticky-add-to-cart__bar::before {
    display: none !important;
  }

  .sticky-add-to-cart__button {
    padding: var(--padding-lg);
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    width: 100% !important;
    flex-shrink: 1;
  }

  .sticky-add-to-cart__button[disabled] .sticky-add-to-cart__button--mobile {
    display: block !important;
  }

  .sticky-add-to-cart[data-variant-available="false"]
    .sticky-add-to-cart__button-icon {
    display: none !important;
  }

  .sticky-add-to-cart__bar .add-to-cart-icon {
    display: none !important;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
  }

  .sticky-add-to-cart__button .add-to-cart__added {
    display: none;
  }

  .sticky-add-to-cart__button .add-to-cart__added-icon {
    width: 30px;
    height: 30px;
  }

  .sticky-add-to-cart__button .checkmark-burst {
    width: 30px;
    height: 30px;
    transform: scale(1.12);
    transform-origin: center;
  }

  .sticky-add-to-cart__bar-actions {
    width: 100%;
  }

  .sticky-add-to-cart__bar-actions span {
    font-family: var(--font-accent--family);
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 1%;
    text-transform: uppercase;
  }

  .product-infomation-details-header h1,
  .piv2-product-info-header h1 {
    font-size: 28px !important;
    line-height: 36px !important;
  }

  .sticky-add-to-cart__button--mobile {
    display: block;
    font-family: var(--font-accent--family);
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 1%;
    text-transform: uppercase;
  }
}

div[power-reviews-placeholder] {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 16px;
  font-family: var(--font-body--family);
  font-size: 12px;
  line-height: 130%;
  letter-spacing: 0%;
}

.product-information .product-details rte-formatter p,
.product-information-v2 .product-details rte-formatter p {
  font-family: var(--font-body--family);
  font-size: 14px;
  line-height: 140%;
  letter-spacing: 1%;
  min-height: 22px;
  color: #161714;
}

/* BSM-570: the suit-bundle Pant description is authored as bare text + <br>
   (no <p> wrapper), while the Jacket is wrapped in <p>. The rule above only
   sizes `rte-formatter p`, so the unwrapped Pant text fell back to a smaller
   inherited size and looked smaller than the Full Suit / Jacket tabs. Size the
   rte-formatter element itself so wrapped and unwrapped descriptions match. */
.product-information .product-details rte-formatter,
.product-information-v2 .product-details rte-formatter {
  font-family: var(--font-body--family);
  font-size: 14px;
  line-height: 140%;
  letter-spacing: 1%;
  color: #161714;
}

div[data-bundle-review] {
  width: 100%;
  height: 100%;
  color: #161714;
}

.bundle-picker__review-card.variant-selected div[data-bundle-review] {
  width: 100%;
  height: 100%;
}

.bundle-picker__review-card:not(.variant-selected) div[data-bundle-review] {
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-shipping-banner__text {
  font-family: var(--font-subheading--family);
  font-size: 12px;
  line-height: 130%;
  letter-spacing: -1%;
}

.product-details accordion-custom details {
  height: 70px;
}

.product-details accordion-custom details .details__header {
  height: 70px;
  padding: 0;
}

.product-details accordion-custom details .details__header .svg-wrapper {
  width: 17px;
  height: 20px;
}

.product-details accordion-custom details[open] {
  height: auto;
}

.product-details accordion-custom details[open] .details__header {
  height: 38px;
  min-height: 38px !important;
}

.product-details accordion-custom details .details-content {
  padding-bottom: 24px;
}

.product-details accordion-custom:last-child .details {
  border-bottom: unset !important;
}

.add-to-cart-text__content {
  font-family: var(--font-accent--family);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0;
  line-height: 13px;
  text-transform: uppercase;
}

[ref="priceContainer"] {
  display: flex;
  align-items: center;
  column-gap: 8px;
  row-gap: 4px;
  flex-wrap: wrap;
}

product-card [ref="productTitleLink"] .text-block * {
  font-family: var(--font-subheading--family);
  font-weight: 500;
  font-size: 16px;
  line-height: 140%;
  letter-spacing: 1%;
  color: #161714;
}

@media screen and (max-width: 1023px) {
  .product-information .product-details rte-formatter p,
  .product-information-v2 .product-details rte-formatter p {
    font-size: 12px;
    line-height: 130%;
    letter-spacing: 0;
  }

  /* BSM-570: see desktop note above — size the unwrapped Pant text at mobile too. */
  .product-information .product-details rte-formatter,
  .product-information-v2 .product-details rte-formatter {
    font-size: 12px;
    line-height: 130%;
    letter-spacing: 0;
  }

  variant-picker
    fieldset[data-option-name-handle*="color"]
    .variant-option__button-label {
    width: 24px;
    height: 24px;
  }

  variant-picker
    fieldset[data-option-name-handle*="color"]
    .variant-option__button-label
    .swatch {
    width: 24px;
    height: 24px;
  }

  variant-picker fieldset[data-option-name-handle*="fit"] label {
    height: 44px;
  }

  .product-details accordion-custom details {
    height: 52px;
  }

  .product-details accordion-custom details .details__header {
    height: 52px;
  }

  .product-details accordion-custom details .details-content {
    padding-bottom: 12px;
  }

  .media-gallery__desktop-main .product-media {
    height: -webkit-fit-content;
  }

  .media-gallery__desktop-main .product-media img {
    height: -webkit-fit-content;
  }

  .variant-option__error.is-visible {
    font-size: 12px;
  }

  [ref="priceContainer"] {
    flex-direction: column;
    column-gap: 8px;
    row-gap: 4px;
    align-items: flex-start;
  }

  product-card [ref="productTitleLink"] .text-block * {
    font-family: var(--font-subheading--family);
    font-weight: 500;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 1%;    
  }
  
  .price-group-wrapper *:not([hidden]) {
    display: inline-flex;
  }
}

@media (min-width: 1441px) {
  .sticky-add-to-cart__bar {
    display: grid !important;
  }
}

.product-infomation-details-header product-price .price__discount-code-line {
  margin-bottom: 8px;
}

.price-group-wrapper {
  display: flex;
  align-items: center;
  gap: 4px;
}

.custom-product-subtitle-wrapper {
  line-height: 0;
}

.custom-product-subtitle {
  font-family: var(--font-body--family);
  font-size: 10px;
  line-height: 130%;
  letter-spacing: 0;
}

/* Selected out-of-stock option: same look as disabled add-to-cart button (exclude color swatches) */
.variant-option__button-label:not([data-is-color-swatch="true"]):has(
    :checked
  ):has([data-option-available="false"]) {
  background-color: var(--color-primary-button-background);
  color: var(--color-primary-button-text);
  border-color: var(--color-primary-button-border);
  opacity: 0.5;
  cursor: not-allowed;

  .variant-option__button-label__text {
    color: var(--color-primary-button-text);
    opacity: 1;
  }

  .variant-option__button-label__pill {
    background-color: var(--color-primary-button-background);
  }
}

.variant-option__button-label.variant-option__button-label--resolved-out-of-stock:not(
    [data-is-color-swatch="true"]
  ) {
  background-color: var(--color-primary-button-background) !important;
  color: var(--color-primary-button-text) !important;
  border-color: var(--color-primary-button-border) !important;
  opacity: 0.5;
  cursor: not-allowed;
  text-decoration: line-through;
}

.variant-option__button-label.variant-option__button-label--resolved-out-of-stock:not(
    [data-is-color-swatch="true"]
  ) .variant-option__button-label__text {
  color: var(--color-primary-button-text) !important;
  text-decoration: line-through;
  opacity: 1 !important;
}

.variant-option__button-label.variant-option__button-label--resolved-out-of-stock:not(
    [data-is-color-swatch="true"]
  ) .variant-option__button-label__pill {
  background-color: var(--color-primary-button-background) !important;
}

.variant-option__button-label:has(
    [data-option-available="false"][data-option-exists="true"]
  ):not(:has(:checked)) {
  cursor: pointer;
}

.invalid-variant-selection-message {
  margin: 0 0 32px;
  padding: 10px 12px;
  border: 1px solid rgb(193 45 20 / 18%);
  border-radius: 5px;
  background: rgb(193 45 20 / 6%);
  color: #c12d14;
  font-family: "Spezia Web Regular", var(--font-body--family, sans-serif);
  font-size: 13px;
  line-height: 1.3;
}

/* centralized swatch system: default (PDP) and small (cards/components) */
.variant-option--swatches
  .variant-option__button-label--has-swatch[data-is-color-swatch="true"]
  .swatch-wrapper {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  box-sizing: border-box;
  border: 0;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  @media screen and (max-width: 1023px) {
    width: 24px;
    height: 24px;
  }
}

.product-recommendations__swatch-link .swatch-wrapper,
.shop-the-look-inline__swatch-link .swatch-wrapper,
.cart-empty-state-products .shop-the-look-inline__swatch-button .swatch-wrapper,
.cart-products-carousel .shop-the-look-inline__swatch-button .swatch-wrapper,
.hotspot-dialog__swatches .hotspot-dialog__swatch-button .swatch-wrapper {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  box-sizing: border-box;
  border: 0;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.product-recommendations__swatch-link {
  padding: 0;
  border: 0;
  background: none;
  text-decoration: none;
  cursor: pointer;
  border-radius: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.variant-option--swatches
  .variant-option__button-label--has-swatch[data-is-color-swatch="true"]
  .swatch-wrapper
  .swatch,
.product-recommendations__swatch-link .swatch-wrapper .swatch,
.shop-the-look-inline__swatch-link .swatch-wrapper .swatch,
.cart-empty-state-products .shop-the-look-inline__swatch-button .swatch-wrapper .swatch,
.cart-products-carousel .shop-the-look-inline__swatch-button .swatch-wrapper .swatch,
.hotspot-dialog__swatches .hotspot-dialog__swatch-button .swatch-wrapper .swatch {
  border: 0.5px solid #8a979c;
  border-radius: 5px;
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* selected state: default mode. Unavailable selected colors intentionally use
   the default unavailable swatch tile styles instead. */
.variant-option--swatches
  .variant-option__button-label--has-swatch[data-is-color-swatch="true"]:has(
    :checked
  ):not(:has(input[data-option-available="false"]))
  .swatch-wrapper,
.variant-option--swatches
  .variant-option__button-label--has-swatch[data-is-color-swatch="true"]:has(
    [data-current-checked="true"]
  ):not(:has(input[data-option-available="false"]))
  .swatch-wrapper {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  box-sizing: border-box;
  border: 2px solid #161714;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  @media screen and (max-width: 1023px) {
    width: 24px;
    height: 24px;
  }
}

/* selected state: small mode */
.product-recommendations__swatch-link.is-active .swatch-wrapper,
.shop-the-look-inline__swatch-link.is-active .swatch-wrapper,
.cart-empty-state-products .shop-the-look-inline__swatch-button.is-active .swatch-wrapper,
.cart-empty-state-products .shop-the-look-inline__swatch-button[aria-pressed="true"] .swatch-wrapper,
.cart-products-carousel .shop-the-look-inline__swatch-button.is-active .swatch-wrapper,
.cart-products-carousel .shop-the-look-inline__swatch-button[aria-pressed="true"] .swatch-wrapper,
.hotspot-dialog__swatches .hotspot-dialog__swatch-button[aria-pressed="true"] .swatch-wrapper {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  box-sizing: border-box;
  border: 1px solid #161714;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.variant-option--swatches
  .variant-option__button-label--has-swatch[data-is-color-swatch="true"]:has(
    :checked
  ):not(:has(input[data-option-available="false"]))
  .swatch-wrapper
  .swatch,
.variant-option--swatches
  .variant-option__button-label--has-swatch[data-is-color-swatch="true"]:has(
    [data-current-checked="true"]
  ):not(:has(input[data-option-available="false"]))
  .swatch-wrapper
  .swatch {
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  flex-shrink: 0;
  border-radius: 2px;
  border: 0.5px solid #8a979c;
  box-sizing: border-box;

  @media screen and (max-width: 1023px) {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
  }
}

.product-recommendations__swatch-link.is-active .swatch-wrapper .swatch,
.shop-the-look-inline__swatch-link.is-active .swatch-wrapper .swatch,
.cart-empty-state-products .shop-the-look-inline__swatch-button.is-active .swatch-wrapper .swatch,
.cart-empty-state-products .shop-the-look-inline__swatch-button[aria-pressed="true"] .swatch-wrapper .swatch,
.cart-products-carousel .shop-the-look-inline__swatch-button.is-active .swatch-wrapper .swatch,
.cart-products-carousel .shop-the-look-inline__swatch-button[aria-pressed="true"] .swatch-wrapper .swatch,
.hotspot-dialog__swatches .hotspot-dialog__swatch-button[aria-pressed="true"] .swatch-wrapper .swatch {
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  flex-shrink: 0;
  border-radius: 2px;
  border: 0.5px solid #8a979c;
  box-sizing: border-box;

  @media screen and (max-width: 1023px) {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
  }
}

@media (min-width: 1441px) {
  .sticky-add-to-cart__bar {
    display: grid !important;
  }
}

div[power-reviews-placeholder] {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 16px;
  font-family: var(--font-body--family);
  font-size: 16px;
  line-height: 140%;
  letter-spacing: 1%;
  min-height: 22px;
  margin-bottom: 8px;
}

div[data-bundle-review] {
  width: 8px;
  height: 8px;
  color: #161714;
}

.product-shipping-banner__text {
  font-family: var(--font-subheading--family);
  font-size: 12px;
  line-height: 130%;
  letter-spacing: -1%;
}

.product-details accordion-custom details {
  height: 70px;
}

.product-details accordion-custom details .details__header {
  height: 70px;
  padding: 0;
}

.product-details accordion-custom details .details__header .svg-wrapper {
  width: 17px;
  height: 20px;
}

.product-details accordion-custom details[open] {
  height: auto;
}

.product-details accordion-custom details[open] .details__header {
  height: 38px;
  min-height: 38px !important;
}

.product-details accordion-custom details .details-content {
  padding-bottom: 24px;
}

.product-details accordion-custom:last-child .details {
  border-bottom: unset !important;
}

/* ========== Cart free shipping banner ========== */
.cart-banner {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px;
  border-radius: 8px;
  font-family: var(--font-subheading--family), sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 130%;
  letter-spacing: -0.01em;
}

.cart-banner__row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.cart-banner--info {
  background-color: #F3F3F3;
}

.cart-banner--danger {
  background-color: #FBE6E6;
  color: #4F1C1C;
  border-color: rgba(153, 27, 27, 0.1);
}

.cart-banner--warning {
  background-color: #FFF7D1;
  color: #78350F;
  border-color: rgba(120, 53, 15, 0.1);
}

.cart-banner__col-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  line-height: 0;
}

.cart-banner__col-icon svg {
  display: block;
  max-width: 100%;
  height: auto;
}

.cart-banner__col-icon--cart svg {
  transform: translateY(4px);
}

.cart-banner__col-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.cart-banner__title {
  font-weight: 700;
  margin: 0;
  text-transform: uppercase;
  font-size: 0.9em;
}

.cart-banner__subtitle {
  margin: 0;
  opacity: 0.9;
  font-family: var(--font-subheading--family), sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 130%;
  letter-spacing: -0.01em;
  vertical-align: middle;
  text-align: left;
}

.cart-banner__subtitle--richtext p:first-child {
  margin-block-start: 0;
}

.cart-banner__subtitle--richtext p:last-child {
  margin-block-end: 0;
}

.cart-banner__subtitle--richtext p {
  margin-block: 0.25em 0;
}

.cart-banner__cta {
  margin-top: 4px;
  font-weight: 600;
  text-decoration: underline;
  color: inherit;
  align-self: flex-start;
  transition: opacity 0.2s ease;
}

.cart-banner__cta:hover {
  opacity: 0.7;
}

.cart-banner__progress-wrapper {
  position: relative;
  width: 100%;
}

.cart-banner__progress-track {
  width: 100%;
  height: 4px;
  border-radius: 16px;
  overflow: hidden;
}

.cart-banner__progress-check {
  position: absolute;
  right: 6px;
  top: 1px;
  transform: translate(50%, -50%);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #454F1C;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cart-banner__progress-check svg {
  width: 7.5px;
  height: 6px;
}

.cart-banner__progress-track--hidden {
  display: none;
}

.cart-banner__progress-wrapper:has(.cart-banner__progress-track--hidden):not(:has(.cart-banner__progress-check)) {
  display: none;
}

.cart-banner--info .cart-banner__progress-track {
  background-color: rgba(5, 28, 44, 0.4);
}

.cart-banner--info .cart-banner__progress-fill {
  background-color: #051C2C;
  border-radius: 16px;
}

.cart-banner--success .cart-banner__progress-track {
  background-color: rgba(69, 79, 28, 0.4);
}

.cart-banner--success .cart-banner__progress-fill {
  background-color: #454F1C;
  border-radius: 16px;
}

.cart-banner--success {
  background-color: #F4F8E4;
  color: #454F1C;
}

.cart-banner__progress-fill {
  height: 100%;
  transition: width 0.4s ease-out;
  display: block;
  position: relative;
}

cart-items-component.is-updating .cart-banner__progress-track:not(.cart-banner__progress-track--hidden) .cart-banner__progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 16px;
  pointer-events: none;
  background-image: linear-gradient(
    -85deg,
    transparent 10%,
    rgba(255, 255, 255, 0.35) 50%,
    transparent 90%
  );
  background-size: 200% 100%;
  background-position: 100% 0;
  animation: cart-banner-progress-shimmer 1.25s infinite linear;
}

@keyframes cart-banner-progress-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

/* ========== Cart drawer banner ========== */
.cart-drawer-banner {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 8px;
  border-radius: 8px;
  font-family: var(--font-subheading--family), sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 130%;
  letter-spacing: -0.01em;
}

.cart-drawer-banner__row {
  display: flex;
  gap: 8px;
}

.cart-drawer-banner__row--align-flex-start {
  align-items: flex-start;
}

.cart-drawer-banner__row--align-center {
  align-items: center;
}

.cart-drawer-banner__row--align-flex-end {
  align-items: flex-end;
}

.cart-drawer-banner--info {
  background-color: #F3F3F3;
}

.cart-drawer-banner--success {
  background-color: #F4F8E4;
  color: #454F1C;
}

.cart-drawer-banner--danger {
  background-color: #FBE6E6;
  color: #4F1C1C;
}

.cart-drawer-banner__col-icon {
  flex-shrink: 0;
  width: 26px;
  height: 100%;
  margin-top: 2px;
}

.cart-drawer-banner__col-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.cart-drawer-banner__title {
  margin: 0;
  font-family: var(--font-subheading--family);
  font-weight: 500;
  font-size: 12px;
  line-height: 130%;
  letter-spacing: -0.01em;
  vertical-align: middle;
  text-align: left;
}

.cart-drawer-banner__title--richtext p:first-child {
  margin-block-start: 0;
}

.cart-drawer-banner__title--richtext p:last-child {
  margin-block-end: 0;
}

.cart-drawer-banner__title--richtext p {
  margin-block: 0.25em 0;
}

.cart-drawer-banner__subtitle {
  margin: 0;
  opacity: 0.9;
  font-family: var(--font-body--family);
  font-weight: 400;
  font-size: 8px;
  line-height: 130%;
  letter-spacing: 0;
  vertical-align: middle;
  text-align: left;
}

.cart-drawer-banner__cta {
  font-family: var(--font-body--family);
  font-weight: 400;
  font-size: 10px;
  line-height: 170%;
  letter-spacing: 0;
  vertical-align: bottom;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-thickness: 0.1px;
  text-underline-offset: 2px;
  color: inherit;
  align-self: flex-start;
  transition: opacity 0.2s ease;
}

.cart-drawer-banner__cta:hover {
  opacity: 0.7;
}

/* --- Homepage --- */

/* Slideshow (homepage) */
main[data-template="index"] .slideshow-section slideshow-container > slideshow-arrows {
  display: none;
}

@media screen and (max-width: 1023px) {
  main[data-template="index"] .slideshow-section slideshow-slide .slide__content {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

main[data-template="index"] .slideshow-section .rte h1,
main[data-template="index"] .slideshow-section .rte h2,
main[data-template="index"] .slideshow-section .rte h3,
main[data-template="index"] .slideshow-section .rte h4,
main[data-template="index"] .slideshow-section .rte h5,
main[data-template="index"] .slideshow-section .rte h6 {
  font-family: var(--font-display--family);
  font-weight: 500;
  letter-spacing: -1px;
}

main[data-template="index"] .slideshow-section .rte p {
  font-family: var(--font-body--family);
}

/* Collection Tabs Carousel (homepage) */
main[data-template="index"] .collection-tabs-carousel .rte h1,
main[data-template="index"] .collection-tabs-carousel .rte h2,
main[data-template="index"] .collection-tabs-carousel .rte h3,
main[data-template="index"] .collection-tabs-carousel .rte h4,
main[data-template="index"] .collection-tabs-carousel .rte h5,
main[data-template="index"] .collection-tabs-carousel .rte h6 {
  font-family: var(--font-display--family);
  font-weight: 500;
}

main[data-template="index"] .collection-tabs-carousel .rte p {
  font-family: var(--font-body--family);
}

/* Split Content Tabs (homepage) */
main[data-template="index"] .split-content-tabs .rte h1,
main[data-template="index"] .split-content-tabs .rte h2,
main[data-template="index"] .split-content-tabs .rte h3,
main[data-template="index"] .split-content-tabs .rte h4,
main[data-template="index"] .split-content-tabs .rte h5,
main[data-template="index"] .split-content-tabs .rte h6 {
  font-family: var(--font-display--family);
  font-weight: 500;
}

main[data-template="index"] .split-content-tabs .rte p {
  font-family: var(--font-body--family);
}

/* Split showcase link and wrapper */
main[data-template="index"] a.link,
main[data-template="index"] .split-content-tabs__cta {
  font-family: var(--font-accent--family);
  text-decoration: underline;
  text-underline-offset: 6px;
  font-size: 13px;
  line-height: 13px;
}

main[data-template="index"] .section-content-wrapper {
  max-width: 1440px;
  margin-inline: auto;
  width: 100%;
  box-sizing: border-box;
}

/* Chino fit guide — first hero: background follows hero color_scheme (--color-background). */
body.page-handle-chino-fit-guide .content-for-layout > .hero-wrapper:first-of-type .hero {
  min-height: 0;
  background-color: var(--color-background);
}

body.page-handle-chino-fit-guide .content-for-layout > .hero-wrapper:first-of-type .hero__container {
  /* Full-width banner (no 1440px cap); aspect ratio kept via contain + height:auto below. */
  width: 100%;
  max-width: none;
  margin-inline: 0;
  box-sizing: border-box;
  background-color: var(--color-background);
}

body.page-handle-chino-fit-guide .content-for-layout > .hero-wrapper:first-of-type .hero__container.spacing-style {
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  padding-block: 0 !important;
}

body.page-handle-chino-fit-guide .content-for-layout > .hero-wrapper:first-of-type .hero__media-wrapper {
  position: relative;
}

body.page-handle-chino-fit-guide .content-for-layout > .hero-wrapper:first-of-type .hero-media {
  height: auto !important;
}

body.page-handle-chino-fit-guide
  .content-for-layout
  > .hero-wrapper:first-of-type
  :is(.hero__image, .hero__video, .hero__video-poster),
body.page-handle-chino-fit-guide
  .content-for-layout
  > .hero-wrapper:first-of-type
  picture.hero__image
  img {
  width: 100%;
  height: auto !important;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center center;
}

body.page-handle-chino-fit-guide .content-for-layout > .hero-wrapper:first-of-type picture.hero__image {
  display: block;
}

@media screen and (min-width: 1024px) {
  /*
   * Chino fit guide: use % + theme normal page width (not 100vw, not wide-page-width).
   * custom-section uses .section-wrapper and was wider than collection-tabs-carousel
   * (.collection-tabs-carousel-section has no section-wrapper), so left edges misaligned when zoomed out.
   */
  body.page-handle-chino-fit-guide
    .content-for-layout
    > :is(
      .section-wrapper:not(:first-of-type),
      .collection-tabs-carousel-section:not(:first-of-type),
      .ui-test-product-list,
      .plain-product-grid-section,
      .custom-merchandising-grid-section
    ) {
    --page-content-width: min(
      var(--normal-page-width),
      calc(100% - var(--page-margin) * 2)
    );
    --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
  }

  /* Also apply to related-collections and fit-scale-bar which use section--full-width without section-wrapper */
  body.page-handle-chino-fit-guide
    .content-for-layout
    > .shopify-section:not(:first-of-type):has([data-testid="related-collections"]),
  body.page-handle-chino-fit-guide
    .content-for-layout
    > .shopify-section:not(:first-of-type):has(.fit-scale-bar) {
    --page-content-width: min(
      var(--normal-page-width),
      calc(100% - var(--page-margin) * 2)
    );
    --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
  }

  body.page-handle-chino-fit-guide
    .content-for-layout
    > .section-wrapper:not(:first-of-type)
    .section-content-wrapper.layout-panel-flex--row {
    --gap-desktop: 96px;
  }

  body.page-handle-chino-fit-guide
    .content-for-layout
    > .section-wrapper:has(.chino-fit-section__media)
    .section-content-wrapper.layout-panel-flex--row {
    align-items: stretch;
  }

  body.page-handle-chino-fit-guide .chino-fit-section__media {
    flex: 1 1 0;
    max-width: none;
  }

  body.page-handle-chino-fit-guide .chino-fit-section__media .group-block-content > .image-block,
  body.page-handle-chino-fit-guide .chino-fit-section__media .group-block-content > .image-block > * {
    width: 100%;
  }

  body.page-handle-chino-fit-guide .chino-fit-section__text {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  body.page-handle-chino-fit-guide .chino-fit-section__text .group-block-content {
    align-items: flex-start;
  }

  body.page-handle-chino-fit-guide .chino-fit-section__text .group-block-content > .rte {
    width: min(28rem, 100%) !important;
    max-width: min(28rem, 100%) !important;
    flex: 0 0 auto;
  }

  body.page-handle-chino-fit-guide .chino-fit-section__text .group-block-content > .rte > * {
    max-inline-size: 100% !important;
  }

  body.page-handle-chino-fit-guide .chino-fit-section__text .group-block-content > .rte p,
  body.page-handle-chino-fit-guide .chino-fit-section__text .group-block-content > .rte li {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  body.page-handle-chino-fit-guide .chino-fit-section__text .group-block-content > .rte ul {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }
}

.swatch-wrapper {
  background: white;
}
/*
 * P3G-108 #4 — Prevent next product image peeking on PLP product cards.
 * base.css sets --slide-width to round(up, 100%, 1px) which makes each
 * slide 1px wider than the scroller. Combined with sub-pixel flex layout
 * drift this leaves a 1px sliver of the adjacent slide visible at certain
 * viewport widths (notably 1440px). Force exact 100% slide widths and
 * clip the gallery visually so any sub-pixel bleed gets cut off.
 */
.card-gallery {
  clip-path: inset(0) !important;
}
.card-gallery slideshow-slides {
  clip-path: inset(0) !important;
}
.card-gallery slideshow-slides slideshow-slide,
.card-gallery slideshow-slides .product-media-container {
  --slide-width: 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  scroll-snap-align: start !important;
}

/*
 * P3G-108 #3 (Apr 12 Ivailo) — Mobile left-column image bleed.
 *
 * Root cause (verified by simulating fractional column widths in DevTools):
 * At viewports where the two-column grid produces a half-pixel card width
 * (e.g. 375px → 163.5px cards, 393px → 172.5px cards), `--slide-width` resolves
 * to the same 163.5px but the scroll container's `scrollLeft` rounds to the
 * nearest integer (164). The visible slide ends up offset by -0.5px inside the
 * gallery, leaving a 0.5px sliver of the ADJACENT slide exposed on the right
 * edge of the gallery box — 1 device pixel at 2x DPR, 1.5 at 3x. Visible.
 *
 * The P3G-108 #4 fix (`--slide-width: 100%`) makes the slide exactly match
 * the gallery, which is correct for desktop (where slides were 1px too wide
 * due to `round(up, 100%, 1px)`) but leaves NO slack for mobile scroll
 * rounding. Fix for mobile: make the slide 1px WIDER than the gallery
 * (`calc(100% + 1px)`) so it always covers the full visible area regardless
 * of how `scrollLeft` is rounded. The extra 1px extends past the gallery's
 * right edge and is clipped by `overflow: clip` / `contain: paint`.
 *
 * Reinforcement stack on the gallery itself:
 *   - `contain: paint` forces a paint boundary (new compositing layer) so the
 *     gallery cannot paint outside its own box regardless of sub-pixel drift.
 *   - `overflow: clip` (Safari 16+) is stricter than `hidden` — no scroll
 *     context, cannot be subverted by child scroll overflow.
 *   - `isolation: isolate` guarantees a separate stacking context.
 */
@media screen and (max-width: 1023px) {
  .card-gallery {
    contain: paint !important;
    isolation: isolate !important;
    overflow: clip !important;
  }
  .card-gallery slideshow-slides {
    contain: paint !important;
  }
  .card-gallery slideshow-slides slideshow-slide,
  .card-gallery slideshow-slides .product-media-container {
    --slide-width: calc(100% + 1px) !important;
    width: calc(100% + 1px) !important;
    min-width: calc(100% + 1px) !important;
    max-width: calc(100% + 1px) !important;
    flex: 0 0 calc(100% + 1px) !important;
  }
}

/* P3G-126 — Color filter chips per Figma.
   Currently renders as pills (no Shopify swatch data configured).
   When swatches are enabled in admin, the --swatches-grid rules below apply. */

/* Injected color swatch inside filter pills */
.color-filter-swatch {
  display: inline-block;
  width: 16px;
  height: 16px;
  min-width: 16px;
  border-radius: 5px;
  border: 0.5px solid #8A979C;
  vertical-align: middle;
  margin-right: 8px;
  flex-shrink: 0;
}
[data-filter-param-name="filter-v-option-color"] .facets__pill-label {
  display: inline-flex !important;
  align-items: center !important;
}

/* Pills path (current state — no swatch data) */
[data-filter-param-name="filter-v-option-color"] .facets__inputs-list--grid {
  grid-template-columns: repeat(3, auto) !important;
  gap: 8px !important;
  justify-content: start;
}
[data-filter-param-name="filter-v-option-color"] .facets__pill-label {
  border: 0.5px solid #8A979C !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  padding: 8px 14px !important;
  height: auto !important;
  min-height: 40px;
  font-family: var(--font-subheading--family), sans-serif !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  line-height: 130% !important;
  letter-spacing: -0.01em !important;
  color: #161714 !important;
  background: transparent !important;
}
[data-filter-param-name="filter-v-option-color"] .facets__pill-input:checked + .facets__pill-label {
  border: 1.5px solid #161714 !important;
  color: #161714 !important;
  background: transparent !important;
}

/* Swatches path (once admin configures swatch colors) */
.facets .facets__inputs-wrapper .facets__inputs-list--swatches-grid {
  --columns: 3 !important;
  grid-template-columns: repeat(3, auto) !important;
  gap: 8px !important;
}
.facets .facets__inputs-list--swatches-grid .variant-option--swatches {
  border: 0.5px solid #8A979C;
  border-radius: 5px;
  padding: 0;
}
.facets .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch {
  gap: 10px !important;
  padding: 8px 14px !important;
  min-height: 40px;
  border-radius: 5px;
  align-items: center !important;
}
.facets .facets__inputs-list--swatches-grid .variant-option__swatch-wrapper {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
.facets .facets__inputs-list--swatches-grid .swatch,
.facets .facets__inputs-list--swatches-grid .swatch-wrapper {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  border-radius: 5px !important;
}
.facets .facets__inputs-list--swatches-grid .swatch {
  border: 0.5px solid #8A979C;
  display: block;
}
.facets .facets__inputs-list--swatches-grid .facets__swatch-label {
  font-family: var(--font-subheading--family), sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 130%;
  letter-spacing: -0.01em;
  color: #161714;
}
.facets .facets__inputs-list--swatches-grid .variant-option--swatches:has(:checked) {
  border: 1.5px solid #161714;
}