/** Shopify CDN: Minification failed

Line 3047:0 Expected "}" to go with "{"

**/
/**
 * Parajohn product page overlay — Figma 797:856 (desktop) + 1117:6055 (mobile 402px).
 * Tokens from Figma get_design_context / get_metadata.
 * Loaded on all product templates (default product.json and product.parajohn.json).
 */


.product-information,
.product-recommendations {
  --rsw-pdp-font: Aspekta, var(--font-heading--family), sans-serif;
  --rsw-pdp-black: #000;
  --rsw-pdp-ink: #1e1e1e;
  --rsw-pdp-muted: #858586;
  --rsw-pdp-green: #008106;
  --rsw-pdp-delivery: #006137;
  --rsw-pdp-swatch-border: #dadbd7;
  --rsw-pdp-size-border: #e5e7eb;
  --rsw-pdp-size-selected-bg: rgba(202, 244, 218, 0.28);
  --rsw-pdp-scale: var(--parajohn-scale, 1);
  --rsw-pdp-thumb-size: 87px;

  /* Mobile defaults — Figma 1117:6055 (402px canvas, 15px inset). */
  --rsw-pdp-title-size: 22px;
  --rsw-pdp-title-weight: 550;
  --rsw-pdp-title-line: 1.26;
  --rsw-pdp-title-tracking: 0.022px;
  --rsw-pdp-price-size: 18px;
  --rsw-pdp-compare-size: 15px;
  --rsw-pdp-label-size: 14px;
  --rsw-pdp-option-size: 14px;
  --rsw-pdp-helper-size: 11px;
  --rsw-pdp-body-size: 14px;
  --rsw-pdp-body-line: 1.01645;
  --rsw-pdp-button-size: 15px;
  --rsw-pdp-qty-size: 15px;
  --rsw-pdp-button-height: 48px;
  --rsw-pdp-qty-width: 100px;
  --rsw-pdp-radius: 6px;
  --rsw-pdp-size-radius: 6px;
  --rsw-pdp-accordion-size: 17px;
  --rsw-pdp-accordion-line: 1.25;
  --rsw-pdp-accordion-body-size: 14px;
  --rsw-pdp-accordion-body-line: 1.45;
  --rsw-pdp-recs-title-size: 22px;
  --rsw-pdp-gap: 8px;
  --rsw-pdp-details-gap: 12px;
  --rsw-pdp-section-pad-top: 0px;
  --rsw-pdp-swatch: 64px;
  --rsw-pdp-swatch-gap: 12px;
  --rsw-pdp-size-gap: 6px;
  --rsw-pdp-buy-gap: 12px;
  --rsw-pdp-customise-height: 66px;
  --rsw-pdp-customise-title: 16px;
  --rsw-pdp-customise-sub: 11px;
  --rsw-pdp-customise-icon: 25px;
  --rsw-pdp-customise-arrow: 31px;
  --rsw-pdp-customise-divider: 32px;
  --rsw-pdp-customise-radius: 7px;
  --rsw-pdp-customise-pad-start: 16px;
  --rsw-pdp-customise-pad-end: 14px;
  --rsw-pdp-customise-icon-gap: 20px;
  --rsw-pdp-customise-text-gap: 14px;
}

@media screen and (min-width: 750px) {
  .product-information,
  .product-recommendations {
    --rsw-pdp-title-size: calc(39px * var(--rsw-pdp-scale));
    --rsw-pdp-price-size: calc(30px * var(--rsw-pdp-scale));
    --rsw-pdp-compare-size: calc(19.243px * var(--rsw-pdp-scale));
    --rsw-pdp-label-size: calc(20px * var(--rsw-pdp-scale));
    --rsw-pdp-option-size: calc(18px * var(--rsw-pdp-scale));
    --rsw-pdp-helper-size: calc(14px * var(--rsw-pdp-scale));
    --rsw-pdp-body-size: calc(18px * var(--rsw-pdp-scale));
    --rsw-pdp-button-size: calc(18px * var(--rsw-pdp-scale));
    --rsw-pdp-qty-size: calc(18.196px * var(--rsw-pdp-scale));
    --rsw-pdp-button-height: calc(70px * var(--rsw-pdp-scale));
    --rsw-pdp-qty-width: calc(200px * var(--rsw-pdp-scale));
    --rsw-pdp-accordion-size: 23px;
    --rsw-pdp-accordion-body-size: 18px;
    --rsw-pdp-recs-title-size: calc(43.309px * var(--rsw-pdp-scale));
    --rsw-pdp-gap: calc(76px * var(--rsw-pdp-scale));
    --rsw-pdp-details-gap: calc(24px * var(--rsw-pdp-scale));
    --rsw-pdp-section-pad-top: calc(28px * var(--rsw-pdp-scale));
    --rsw-pdp-swatch: calc(102px * var(--rsw-pdp-scale));
    --rsw-pdp-swatch-gap: calc(21px * var(--rsw-pdp-scale));
    --rsw-pdp-size-gap: calc(6px * var(--rsw-pdp-scale));
    --rsw-pdp-buy-gap: calc(8px * var(--rsw-pdp-scale));
    --rsw-pdp-customise-height: calc(97px * var(--rsw-pdp-scale));
    --rsw-pdp-customise-title: calc(24px * var(--rsw-pdp-scale));
    --rsw-pdp-customise-sub: calc(16px * var(--rsw-pdp-scale));
    --rsw-pdp-customise-icon: calc(36px * var(--rsw-pdp-scale));
    --rsw-pdp-customise-arrow: calc(44px * var(--rsw-pdp-scale));
    --rsw-pdp-customise-divider: calc(42px * var(--rsw-pdp-scale));
    --rsw-pdp-customise-radius: calc(10px * var(--rsw-pdp-scale));
    --rsw-pdp-customise-pad-start: calc(25px * var(--rsw-pdp-scale));
    --rsw-pdp-customise-pad-end: calc(28px * var(--rsw-pdp-scale));
    --rsw-pdp-customise-icon-gap: calc(25px * var(--rsw-pdp-scale));
    --rsw-pdp-customise-text-gap: calc(21px * var(--rsw-pdp-scale));
  }
}

@media screen and (min-width: 1920px) {
  .product-information,
  .product-recommendations {
    --rsw-pdp-title-size: 39px;
    --rsw-pdp-price-size: 30px;
    --rsw-pdp-compare-size: 19.243px;
    --rsw-pdp-label-size: 20px;
    --rsw-pdp-option-size: 18px;
    --rsw-pdp-helper-size: 14px;
    --rsw-pdp-body-size: 18px;
    --rsw-pdp-button-size: 18px;
    --rsw-pdp-qty-size: 18.196px;
    --rsw-pdp-button-height: 70px;
    --rsw-pdp-qty-width: 200px;
    --rsw-pdp-accordion-size: 23px;
    --rsw-pdp-accordion-body-size: 18px;
    --rsw-pdp-recs-title-size: 43.309px;
    --rsw-pdp-gap: 76px;
    --rsw-pdp-details-gap: 24px;
    --rsw-pdp-section-pad-top: 28px;
    --rsw-pdp-swatch: 102px;
    --rsw-pdp-swatch-gap: 21px;
    --rsw-pdp-size-gap: 6px;
    --rsw-pdp-buy-gap: 8px;
    --rsw-pdp-customise-height: 97px;
    --rsw-pdp-customise-title: 24px;
    --rsw-pdp-customise-sub: 16px;
    --rsw-pdp-customise-icon: 36px;
    --rsw-pdp-customise-arrow: 44px;
    --rsw-pdp-customise-divider: 42px;
    --rsw-pdp-customise-radius: 10px;
    --rsw-pdp-customise-pad-start: 25px;
    --rsw-pdp-customise-pad-end: 28px;
    --rsw-pdp-customise-icon-gap: 25px;
    --rsw-pdp-customise-text-gap: 21px;
  }
}

/* -------------------------------------------------------------------------
   Layout — gallery 1006 / gap 76 / details 714 on 1796 canvas
   equal_columns uses 4 tracks: margin | media | details | margin
   Tracks 1044 / 752 include Horizon’s gap/2 padding so content is 1006 / 714
   ------------------------------------------------------------------------- */

.product-information.section,
.product-features.section,
.product-recommendations .section.section-resource-list,
.shopify-section:has(zipchat-pdp-questions) .section {
  --page-content-width: 1796px;
  --page-margin: 15px;
  --page-width: calc(1796px + var(--page-margin) * 2);
  --full-page-grid-central-column-width: min(1796px, calc(100% - var(--page-margin) * 2));
  --full-page-grid-with-margins: var(--full-page-grid-margin) var(--full-page-grid-central-column-width)
    var(--full-page-grid-margin);
}

@media screen and (min-width: 750px) {
  .product-information.section,
  .product-features.section,
  .product-recommendations .section.section-resource-list,
  .shopify-section:has(zipchat-pdp-questions) .section {
    --page-margin: 2%;
  }
}

.product-information.section,
.product-recommendations .section.section-resource-list {
  --gap: var(--rsw-pdp-gap) !important;
  padding-block-start: var(--rsw-pdp-section-pad-top) !important;
}

@media screen and (min-width: 750px) {
  .product-information
    .product-information__grid.product-information__grid--half:not(
      .product-information--media-none
    ).product-information--media-left {
    /* Cap media/details to 1044 / 752 of the 1796px column — do not use fr or they grow on wide screens */
    grid-template-columns:
      var(--full-page-grid-margin)
      minmax(0, calc(var(--full-page-grid-central-column-width) * 1044 / 1796))
      minmax(0, calc(var(--full-page-grid-central-column-width) * 752 / 1796))
      var(--full-page-grid-margin) !important;
  }

  .product-information .product-information__grid.product-information--media-left .product-information__media {
    padding-right: calc(var(--rsw-pdp-gap) / 2) !important;
  }

  .product-information .product-information__grid.product-information--media-left .product-details {
    padding-left: calc(var(--rsw-pdp-gap) / 2) !important;
    max-width: none;
  }
}

.product-information .product-details > .group-block,
.product-information .product-details > .group-block > .group-block-content {
  gap: var(--rsw-pdp-details-gap) !important;
  --gap: var(--rsw-pdp-details-gap) !important;
  width: 100%;
  max-width: none !important;
}

.product-information .product-details {
  padding-block-start: 0 !important;
  padding-block-end: 0 !important;
}

/* Desktop: two scroll modes via [data-pdp-scroll] on .product-information
   (Product information → Desktop scroll behavior).

   gallery (default): both columns sticky; gallery capped to the viewport
   with its own scrollbar so a tall image grid does not force page scroll
   through every photo first. Details stay overflow:visible.

   page (Mokobara-style): gallery is full document height and scrolls with
   the page so every image is reachable by normal page scroll. Details stay
   sticky beside the gallery. */
@media screen and (min-width: 750px) {
  .product-information .product-information__grid {
    align-items: start;
  }

  .product-information .product-details,
  .product-information .product-details.sticky-content--desktop {
    /* Default 0 — avoids a blank band when sticky header is hidden.
       Only offset while the sticky header is actually visible. */
    --rsw-pdp-sticky-top: 0px;
    --sticky-header-offset: var(--rsw-pdp-sticky-top);
    position: sticky;
    top: var(--rsw-pdp-sticky-top);
    align-self: start;
    height: auto;
    max-height: none;
    min-height: min-content;
    overflow: visible;
  }

  .product-information .product-details > .group-block {
    height: auto !important;
    max-height: none !important;
  }

  body:has(#header-component[data-sticky-state='active']) .product-information .product-details,
  body:has(#header-component[data-sticky-state='active']) .product-information .product-details.sticky-content--desktop,
  body:has(#header-component[data-sticky-state='active']) .product-information .product-information__media {
    --rsw-pdp-sticky-top: var(--header-height, 0px);
    --sticky-header-offset: var(--header-height, 0px);
  }

  /* —— Gallery scroll (default / current) —— */
  .product-information:not([data-pdp-scroll='page']) .product-information__media {
    --rsw-pdp-sticky-top: 0px;
    position: sticky;
    top: var(--rsw-pdp-sticky-top);
    align-self: start;
    min-height: 0;
    /* Live height from gallery JS so the scrollport stays in-viewport and
       every image + More control is reachable without scrolling details. */
    max-height: var(
      --rsw-pdp-media-available-height,
      calc(100dvh - var(--rsw-pdp-sticky-top) - 16px)
    );
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .product-information:not([data-pdp-scroll='page']) .product-information__media::-webkit-scrollbar {
    display: none;
  }

  .product-information:not([data-pdp-scroll='page']) .product-information__media media-gallery.sticky-content {
    position: relative;
    top: auto;
    margin-top: 0;
    height: auto;
    max-height: none;
  }

  .product-information:not([data-pdp-scroll='page']) .product-information__media media-gallery,
  .product-information:not([data-pdp-scroll='page']) .product-information__media .media-gallery__grid {
    min-height: 0;
  }

  .product-information:not([data-pdp-scroll='page']) .product-information__media media-gallery {
    padding-block-end: 28px;
  }

  /* —— Page scroll (Mokobara-style) —— */
  .product-information[data-pdp-scroll='page'] .product-information__media {
    position: relative;
    top: auto;
    align-self: start;
    min-height: 0;
    max-height: none;
    overflow: visible;
    overscroll-behavior: auto;
  }

  .product-information[data-pdp-scroll='page'] .product-information__media media-gallery.sticky-content {
    position: relative;
    top: auto;
    margin-top: 0;
    height: auto;
    max-height: none;
  }
}

.product-information .product-details .view-product-title {
  display: none !important;
}

.product-information .product-details .divider {
  display: none !important;
}

@media screen and (max-width: 749px) {
  .product-information .product-details {
    padding-block-start: 16px !important;
    padding-block-end: 8px !important;
  }

  .product-information .product-details > .group-block,
  .product-information .product-details .group-block {
    gap: var(--rsw-pdp-details-gap) !important;
    --gap: var(--rsw-pdp-details-gap) !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
  }

  .product-information .product-details .group-block:has(h1) {
    gap: 8px !important;
  }

  .product-information .product-details :is(shopify-block, .shopify-block):has(.pdp-title-row) {
    gap: 8px;
  }

  .product-information .variant-option + .variant-option {
    margin-top: 16px;
  }

  .product-information .variant-option legend,
  .product-information .variant-option .variant-option__legend-like,
  .product-information .variant-option[data-testid='variant-option-single'] {
    margin-block-end: 8px;
    gap: 6px;
  }

  .product-information .variant-option--swatches legend {
    font-size: 12px !important;
  }

  .product-information .variant-option__swatch-value,
  .product-information .rsw-pdp-option-value {
    font-size: 12px !important;
  }

  .product-information .rsw-pdp-size-chart {
    font-size: 12px !important;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .product-information .variant-option + .variant-option {
    margin-top: 12px;
  }

  .product-information slideshow-controls[thumbnails],
  .product-information .media-gallery__mobile-controls[thumbnails] {
    --thumbnail-width: var(--rsw-pdp-thumb-size);
  }

  .product-information slideshow-controls[thumbnails] .slideshow-controls__thumbnails,
  .product-information .media-gallery__mobile-controls[thumbnails] .slideshow-controls__thumbnails {
    padding-block: 11px 0;
    gap: 8px;
  }

  .product-information .quantity-selector {
    border-color: #939393 !important;
  }

  .product-information .rsw-pdp-delivery {
    margin-block-start: 4px;
    gap: 8px;
    font-size: 12px;
  }

  .product-information .rsw-pdp-accordion__summary {
    padding-block: 14px;
    gap: 12px;
  }

  .product-information .rsw-pdp-accordion[open] > .rsw-pdp-accordion__summary {
    padding-block-end: 8px;
  }

  .product-information .rsw-pdp-accordion__body {
    padding-block-end: 14px;
  }

  .product-information .rsw-pdp-accordion__icon {
    width: 24px;
    height: 24px;
    font-size: 16px;
  }

  .product-recommendations .section.section-resource-list {
    padding-block-start: 24px !important;
    padding-block-end: 24px !important;
  }

  .product-recommendations .section-resource-list__content {
    margin-block-end: 16px;
  }
}

/* -------------------------------------------------------------------------
   Gallery — 2 columns, images flush (no square letterboxing)
   Product photos are ~3:4. A forced 1:1 cell with object-fit: contain
   centered each photo and left a white column between them.
   ------------------------------------------------------------------------- */

.product-information .media-gallery--two-column {
  --image-gap: 0px;
}

.product-information media-gallery.media-gallery--grid .media-gallery__grid {
  gap: 0 !important;
}

@media screen and (min-width: 750px) {
  .product-information .media-gallery--two-column .media-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start;
  }

  .product-information .media-gallery--grid .media-gallery__grid .product-media-container {
    /* Follow the photo. Square cells were wider than the image and showed as a gap. */
    aspect-ratio: var(--media-preview-ratio, auto) !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    --constrained-height: none;
  }

  .product-information .media-gallery--grid .media-gallery__grid .product-media,
  .product-information .media-gallery--grid .media-gallery__grid .product-media img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: var(--media-preview-ratio, auto);
    object-fit: cover;
    object-position: center;
  }
}

.product-information .product-media img,
.product-information .product-media-container,
.product-information .product-media {
  border-radius: 0 !important;
}

@media screen and (max-width: 749px) {
  .product-information .product-media img,
  .product-information .product-media-container,
  .product-information .product-media,
  .product-information media-gallery slideshow-component {
    border-radius: 6px !important;
  }

  /* Mobile uses slideshow + thumbnails only — never the desktop grid stack */
  .product-information media-gallery .media-gallery__grid {
    display: none !important;
  }
}

.product-information .product-media-container__zoom-button {
  opacity: 0;
}

.product-information .product-media-container:hover .product-media-container__zoom-button,
.product-information .product-media-container:focus-within .product-media-container__zoom-button {
  opacity: 1;
}

@media screen and (max-width: 749px) {
  /* Apply to all mobile thumbnail strips (shared desktop/mobile thumbnails setting
     does not add .media-gallery__mobile-controls). */
  .product-information slideshow-controls[thumbnails],
  .product-information .media-gallery__mobile-controls[thumbnails] {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    overflow: hidden;
    --thumbnail-width: var(--rsw-pdp-thumb-size);
  }

  .product-information slideshow-controls[thumbnails] .slideshow-controls__thumbnails-container,
  .product-information .media-gallery__mobile-controls[thumbnails] .slideshow-controls__thumbnails-container {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .product-information slideshow-controls[thumbnails] .slideshow-controls__thumbnails-container::-webkit-scrollbar,
  .product-information .media-gallery__mobile-controls[thumbnails] .slideshow-controls__thumbnails-container::-webkit-scrollbar {
    display: none;
  }

  .product-information slideshow-controls[thumbnails] .slideshow-controls__thumbnails,
  .product-information .media-gallery__mobile-controls[thumbnails] .slideshow-controls__thumbnails {
    /* Match the 15px mobile page inset so the first thumb is not flush to the edge. */
    padding-inline-start: var(--page-margin, 15px);
    padding-inline-end: 0;
    padding-block: 11px 0;
    gap: 8px;
  }

  .product-information slideshow-controls[thumbnails] .slideshow-controls__thumbnail,
  .product-information .media-gallery__mobile-controls[thumbnails] .slideshow-controls__thumbnail {
    width: var(--thumbnail-width);
    min-width: var(--thumbnail-width);
    height: var(--thumbnail-width);
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    border: 1.5px solid transparent;
    box-sizing: border-box;
  }

  .product-information slideshow-controls[thumbnails] .slideshow-controls__thumbnail img,
  .product-information .media-gallery__mobile-controls[thumbnails] .slideshow-controls__thumbnail img {
    border-radius: 6px;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .product-information slideshow-controls[thumbnails] .slideshow-controls__thumbnail[aria-selected='true'],
  .product-information .media-gallery__mobile-controls[thumbnails] .slideshow-controls__thumbnail[aria-selected='true'] {
    outline: none;
    border: 1.5px solid #000;
  }
}

/* -------------------------------------------------------------------------
   Gallery view toggle — grid vs thumbnail carousel (desktop)
   ------------------------------------------------------------------------- */

.product-information media-gallery[data-rsw-gallery-toggle] {
  position: relative;
}

.rsw-pdp-gallery-toggle {
  display: none;
}

@media screen and (min-width: 750px) {
  .product-information media-gallery[data-rsw-gallery-toggle] {
    overflow: visible;
  }

  .rsw-pdp-gallery-toggle {
    /* Stick within the gallery scroller (media column is already under the header). */
    position: sticky;
    top: 8px;
    z-index: 6;
    display: flex;
    gap: 4px;
    width: max-content;
    margin-block-start: 0;
    margin-inline-start: 12px;
    /* Reclaim layout space so the pill still overlays the first media */
    margin-block-end: -40px;
    padding: 4px;
    border: 1px solid #e6e6e6;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 4px 16px rgb(0 0 0 / 8%);
  }

  .rsw-pdp-gallery-toggle__button {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #000;
    cursor: pointer;
    opacity: 0.45;
  }

  .rsw-pdp-gallery-toggle__button[aria-pressed='true'] {
    background: #f3f3f3;
    opacity: 1;
  }

  .product-information media-gallery[data-rsw-gallery-view='carousel'] slideshow-component {
    display: flex !important;
  }

  .product-information media-gallery[data-rsw-gallery-view='carousel'].media-gallery--carousel slideshow-component:has(slideshow-controls[thumbnails]) {
    display: grid !important;
  }

  .product-information media-gallery[data-rsw-gallery-view='carousel'] .media-gallery__grid {
    display: none !important;
  }

  .product-information media-gallery[data-rsw-gallery-view='grid'] slideshow-component {
    display: none !important;
  }

  .product-information media-gallery[data-rsw-gallery-view='grid'] .media-gallery__grid {
    display: grid !important;
  }
}

/* -------------------------------------------------------------------------
   Zoomed / expanded gallery — keep each image fully visible in the viewport
   ------------------------------------------------------------------------- */

.dialog-zoomed-gallery__dialog {
  box-sizing: border-box;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: 100vw !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  overflow: hidden;
}

.dialog-zoomed-gallery {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  max-height: 100dvh;
  overflow: auto;
  overscroll-behavior: contain;
  scroll-snap-type: y mandatory;
}

.dialog-zoomed-gallery > .product-media-container {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 100dvh !important;
  max-width: 100vw !important;
  max-height: 100dvh !important;
  min-height: 100dvh;
  margin: 0 !important;
  padding: 56px 16px 96px;
  overflow: hidden !important;
  aspect-ratio: auto !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.dialog-zoomed-gallery .product-media,
.dialog-zoomed-gallery .product-media__drag-zoom-wrapper {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  aspect-ratio: auto !important;
}

.dialog-zoomed-gallery img.product-media__image,
.dialog-zoomed-gallery .product-media img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  aspect-ratio: auto !important;
}

@media screen and (min-width: 750px) {
  .dialog-zoomed-gallery > .product-media-container {
    padding: 32px 96px 32px 32px;
  }
}

@media screen and (max-width: 749px) {
  .dialog-zoomed-gallery {
    scroll-snap-type: x mandatory;
    overflow-x: auto;
    overflow-y: hidden;
    display: flex;
  }

  .dialog-zoomed-gallery > .product-media-container {
    flex: 0 0 100%;
    width: 100vw !important;
    height: 100dvh !important;
    padding: 48px 16px 108px;
  }
}

/* -------------------------------------------------------------------------
   Title 797:902 — 39px Aspekta 550 / 1.11 / 0.039px / capitalize
   ------------------------------------------------------------------------- */

.product-information .product-details .pdp-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  width: 100% !important;
  max-width: none !important;
}

.product-information .product-details :is(shopify-block, .shopify-block):has(.pdp-title-row) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  align-self: stretch;
}

.product-information .product-details .text-block:has(h1),
.product-information .product-details .pdp-title-row .text-block,
.product-information .product-details .text-block.h3 {
  width: auto !important;
  flex: 1 1 auto;
  min-width: 0;
  max-width: none !important;
  padding-inline-end: 0;
}

.product-information .product-details .wishlist-button--pdp {
  flex-shrink: 0;
  margin-block-start: 2px;
}

.product-information .product-details .wishlist-button--pdp .wishlist-button__control {
  width: 44px;
  height: 44px;
  border: 1px solid var(--rsw-pdp-swatch-border, #dadbd7);
  border-radius: 50%;
  background: #fff;
}

.product-information .product-details .wishlist-button--pdp .wishlist-button__icon {
  width: 20px;
  height: 19px;
}

/* Gallery overlay wishlist — mobile only (desktop uses title-row heart). */
.rsw-pdp-gallery-wishlist {
  display: none;
}

@media screen and (max-width: 749px) {
  .product-information .product-details .wishlist-button--pdp {
    display: none !important;
  }

  .product-information media-gallery {
    position: relative;
  }

  .rsw-pdp-gallery-wishlist {
    display: block;
    position: absolute;
    z-index: 5;
    right: 13px;
    bottom: 14px;
    width: 44px;
    height: 44px;
    pointer-events: auto;
  }

  .product-information media-gallery:has(slideshow-controls[thumbnails]) .rsw-pdp-gallery-wishlist {
    bottom: calc(var(--rsw-pdp-thumb-size) + 11px + 14px);
  }

  .rsw-pdp-gallery-wishlist .wishlist-button--pdp-gallery,
  .rsw-pdp-gallery-wishlist .wishlist-button {
    display: block;
    width: 44px;
    height: 44px;
  }

  .rsw-pdp-gallery-wishlist .wishlist-button__control {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 10px rgb(0 0 0 / 12%);
    color: #000;
  }

  .rsw-pdp-gallery-wishlist .wishlist-button__icon {
    width: 20px;
    height: 20px;
  }
}

.product-information .product-details h1,
.product-information .product-details .text-block.h3 h1,
.product-information .product-details .text-block :is(h1, h2, h3) {
  margin: 0 !important;
  color: var(--rsw-pdp-black) !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-title-size) !important;
  font-style: normal !important;
  font-weight: var(--rsw-pdp-title-weight) !important;
  line-height: var(--rsw-pdp-title-line) !important;
  letter-spacing: var(--rsw-pdp-title-tracking) !important;
  text-transform: capitalize !important;
}

.product-information .product-details .group-block:has(h1) {
  gap: 16px !important;
}

/* Reviews 797:916 — 16px Aspekta 450 / 1.19 / #858586 */
.product-information .product-details .rsw-pdp-reviews {
  display: block;
  width: 100%;
  margin: 0;
}

.product-information .product-details .jdgm-preview-badge,
.product-information .product-details .jdgm-widget,
.product-information .rsw-pdp-reviews {
  color: var(--rsw-pdp-muted) !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: 16px !important;
  font-weight: 450 !important;
  line-height: 1.19 !important;
}

/* Product review stars — brand gold */
.product-information .product-details .jdgm-star,
.product-information .rsw-pdp-reviews .jdgm-star,
.product-information .jdgm-preview-badge .jdgm-star,
.product-information .jdgm-prev-badge .jdgm-star,
.product-information .rating-wrapper .filled-star,
.product-information .rating-wrapper {
  --star-fill-color: #f9ae0e;
  --star-fill-color-rgb: 249 174 14;
}

.product-information .product-details .jdgm-star,
.product-information .rsw-pdp-reviews .jdgm-star,
.product-information .jdgm-preview-badge .jdgm-star,
.product-information .jdgm-prev-badge .jdgm-star {
  color: #f9ae0e !important;
}

@media screen and (max-width: 749px) {
  .product-information .product-details .jdgm-preview-badge,
  .product-information .rsw-pdp-reviews {
    font-size: 11px !important;
  }
}

/* -------------------------------------------------------------------------
   Price 797:917 / compare 797:922 / save 797:918 / tax 797:924
   ------------------------------------------------------------------------- */

.product-information .product-details product-price,
.product-information .product-details .price,
.product-information .product-details .price-item__group.price,
.product-information .product-details span.price {
  color: var(--rsw-pdp-black) !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-price-size) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: normal !important;
}

.product-information .product-details product-price {
  transition: opacity 0.15s ease;
}

.product-information .product-details product-price > div,
.product-information .product-details product-price [ref='priceContainer'] {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 8px 16px;
  width: auto;
  max-width: 100%;
  white-space: nowrap;
}

.product-information .product-details .compare-at-price,
.product-information .product-details .price-item--regular.compare-at-price {
  color: var(--rsw-pdp-muted) !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-compare-size) !important;
  font-weight: 350 !important;
  line-height: normal !important;
  text-decoration: line-through;
  text-decoration-skip-ink: none;
}

.product-information .rsw-pdp-save {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 6.695px 13.39px;
  color: var(--rsw-pdp-green);
  font-family: var(--rsw-pdp-font);
  font-size: 15.729px;
  font-weight: 550;
  line-height: 1.19;
  text-transform: uppercase;
  white-space: nowrap;
  background: transparent;
  border-radius: 20.085px;
}

.product-information .rsw-pdp-tax,
.product-information .product-details .tax-info,
.product-information .product-details small.tax-note {
  display: block;
  margin-block: 6px 0;
  color: var(--rsw-pdp-muted) !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1.19 !important;
}

@media screen and (max-width: 749px) {
  .product-information .rsw-pdp-tax,
  .product-information .product-details .tax-info {
    font-size: 12px !important;
  }

  .product-information .rsw-pdp-save {
    font-size: 13.729px;
    padding: 6.695px 13.39px;
  }
}

/* -------------------------------------------------------------------------
   Variants — color image thumbs 102×101, size radio cards 174×68
   ------------------------------------------------------------------------- */

.product-information .variant-option + .variant-option {
  margin-top: 40px;
}

.product-information.rsw-pdp-variant-pending .product-details product-price {
  opacity: 0.55;
}

.product-information .variant-option legend,
.product-information .variant-option .variant-option__legend-like,
.product-information .variant-option[data-testid='variant-option-single'] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
  margin-block-end: 12px;
  padding: 0;
  color: var(--rsw-pdp-black) !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-label-size) !important;
  font-weight: 500 !important;
  line-height: normal !important;
}

.product-information .variant-option__swatch-value,
.product-information .rsw-pdp-option-value {
  padding-inline-start: 0;
  color: var(--rsw-pdp-muted) !important;
  font-family: var(--rsw-pdp-font);
  font-size: var(--rsw-pdp-label-size);
  font-weight: 500;
  line-height: 1.19;
}

.product-information .rsw-pdp-size-chart {
  flex: 0 0 auto;
  margin-inline-start: auto;
  padding: 0;
  border: 0;
  background: none;
  color: var(--rsw-pdp-black);
  font-family: var(--rsw-pdp-font);
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  text-transform: capitalize;
  text-decoration: underline;
  text-underline-position: from-font;
  opacity: 0.5;
  cursor: pointer;
}

.rsw-pdp-size-chart-dialog.dialog-modal {
  /* Dialog is moved into quick view, outside .product-information, so tokens must live here. */
  --rsw-pdp-font: Aspekta, var(--font-heading--family), sans-serif;
  --rsw-pdp-black: #000;
  --rsw-pdp-ink: #1e1e1e;
  inset: 0;
  box-sizing: border-box;
  width: min(920px, calc(100vw - 32px));
  max-width: 920px;
  height: fit-content;
  max-height: min(86dvh, 900px);
  margin: auto;
  padding: 28px 24px 24px;
  overflow: auto;
  background: #fff;
  color: var(--rsw-pdp-black);
  font-family: var(--rsw-pdp-font);
}

.rsw-pdp-size-chart-dialog.dialog-modal[open] {
  animation: rsw-pdp-size-chart-in var(--overlay-enter-duration) var(--overlay-enter-easing) forwards;
}

.rsw-pdp-size-chart-dialog.dialog-modal.dialog-closing {
  animation: rsw-pdp-size-chart-out var(--overlay-exit-duration) var(--overlay-exit-easing) forwards;
}

@keyframes rsw-pdp-size-chart-in {
  from {
    opacity: 0;
    transform: translateY(100%);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes rsw-pdp-size-chart-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(100%);
  }
}

.rsw-pdp-size-chart-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  cursor: pointer;
}

.rsw-pdp-size-chart-title {
  margin: 0 36px 16px 0;
  font-family: var(--rsw-pdp-font);
  font-size: 22px;
  font-weight: 550;
  line-height: 1.2;
}

.rsw-pdp-size-chart-intro,
.rsw-pdp-size-chart-notes,
.rsw-pdp-size-chart-rich {
  margin: 0 0 16px;
  color: var(--rsw-pdp-ink);
  font-size: 15px;
  line-height: 1.45;
}

.rsw-pdp-size-chart-notes {
  margin-top: 16px;
  margin-bottom: 0;
}

.rsw-pdp-size-chart-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.rsw-pdp-size-chart-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.35;
}

.rsw-pdp-size-chart-table th,
.rsw-pdp-size-chart-table td {
  padding: 10px 12px;
  border: 1px solid #e6e6e6;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.rsw-pdp-size-chart-table thead th {
  font-weight: 600;
  background: #f6f6f6;
}

.rsw-pdp-size-chart-table tbody th {
  font-weight: 550;
}

.rsw-pdp-size-chart-image {
  margin-top: 8px;
}

.rsw-pdp-size-chart-image img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 749px) {
  /* Anchor to the visual viewport. `inset: 0` + `margin: auto` centers
     against the layout viewport on iOS, so a scrolled product page opens
     the chart off-screen. */
  .rsw-pdp-size-chart-dialog.dialog-modal {
    inset: auto 12px max(12px, env(safe-area-inset-bottom)) 12px;
    width: auto;
    max-width: none;
    height: auto;
    max-height: min(86dvh, calc(100dvh - 24px));
    margin: 0;
    padding: 48px 16px 24px;
  }

  .rsw-pdp-size-chart-table {
    table-layout: fixed;
    font-size: 12px;
  }

  .rsw-pdp-size-chart-table th,
  .rsw-pdp-size-chart-table td {
    padding: 8px 6px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

.product-information variant-picker,
.product-information .variant-picker,
.product-information .variant-picker__form,
.product-information .variant-option--swatches {
  min-width: 0;
  max-width: 100%;
}

.product-information .variant-option--swatches {
  display: flex;
  flex-wrap: wrap;
  overflow: visible;
}

.product-information .variant-option--swatches > .variant-option__swatch-scroll {
  --rsw-pdp-swatch-ring-space: 6px;

  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: var(--rsw-pdp-swatch-gap);
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  /* Padding here is inside the clip edge and does not protect the selected
     ring. Clearance is margin on the swatches instead. */
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scroll-padding-inline: var(--rsw-pdp-swatch-ring-space);
  scrollbar-width: none;
}

.product-information .variant-option--swatches > .variant-option__swatch-scroll::-webkit-scrollbar {
  display: none;
  height: 0;
}

.product-information .variant-option__button-label--has-swatch {
  box-sizing: border-box;
  flex: 0 0 var(--rsw-pdp-swatch);
  width: var(--rsw-pdp-swatch);
  height: var(--rsw-pdp-swatch);
  /* Keeps the selected ring (4.2px box-shadow) inside the scroll clip. */
  margin-block: var(--rsw-pdp-swatch-ring-space, 6px);
  scroll-snap-align: start;
  scroll-margin-inline: var(--rsw-pdp-swatch-ring-space, 6px);
  padding: 0 !important;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid var(--rsw-pdp-swatch-border) !important;
  border-radius: 6px !important;
  outline: none !important;
}

.product-information .variant-option__swatch-scroll > .variant-option__button-label--has-swatch:first-child {
  margin-inline-start: var(--rsw-pdp-swatch-ring-space, 6px);
}

.product-information .variant-option__swatch-scroll > .variant-option__button-label--has-swatch:last-child {
  margin-inline-end: var(--rsw-pdp-swatch-ring-space, 6px);
}

.product-information .variant-option__button-label--has-swatch .swatch,
.product-information .variant-option__button-label--has-swatch img {
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  border: 0 !important;
  border-radius: 6px !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain !important;
  --swatch-width: 100%;
  --swatch-height: 100%;
}

.product-information .variant-option__button-label--has-swatch:has(:checked) {
  border-color: var(--rsw-pdp-black) !important;
  border-width: 1.196px !important;
  border-radius: 7.176px !important;
  box-shadow: 0 0 0 3px #fff, 0 0 0 4.196px var(--rsw-pdp-black);
  outline: none !important;
}

.product-information .variant-option__button-label--has-swatch:has([data-option-available='false']) {
  background: #f2f2f2 !important;
  border-color: #cfcfcf !important;
}

.product-information .variant-option__button-label--has-swatch:has([data-option-available='false']) .swatch,
.product-information .variant-option__button-label--has-swatch:has([data-option-available='false']) img {
  filter: grayscale(1) opacity(0.55);
}

.product-information .variant-option__button-label--has-swatch:has([data-option-available='false']) .variant-option__strikethrough {
  z-index: 2;
  stroke: #8d8d8d;
}

.product-information .variant-option__button-label--has-swatch:has([data-option-available='false']):has(:checked) {
  border-color: #9a9a9a !important;
  box-shadow: 0 0 0 3px #fff, 0 0 0 4.196px #9a9a9a;
}

.product-information .variant-option--buttons:not(.variant-option--swatches) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100%;
}

.product-information .variant-option--buttons:not(.variant-option--swatches) > .variant-option__options {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--rsw-pdp-size-gap) !important;
  width: 100%;
}

.product-information
  .variant-option--buttons:not(.variant-option--swatches)
  > .variant-option__options:has(> .variant-option__button-label:nth-of-type(2):last-of-type) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-information
  .variant-option--buttons:not(.variant-option--swatches)
  > .variant-option__options:has(> .variant-option__button-label:nth-of-type(3):last-of-type) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-information .variant-option--size-cards > .variant-option__options {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--rsw-pdp-size-gap) !important;
  width: 100%;
}

.product-information
  .variant-option--size-cards
  > .variant-option__options:has(> .variant-option__button-label:nth-of-type(2):last-of-type),
.product-information .variant-option--set-product-links[data-set-count='2'] > .variant-option__options {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.product-information
  .variant-option--set-product-links[data-set-count='3']
  > .variant-option__options,
.product-information
  .variant-option--size-cards
  > .variant-option__options:has(> .variant-option__button-label:nth-of-type(3):last-of-type) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.product-information .variant-option--set-product-links[data-set-count='4'] > .variant-option__options,
.product-information .variant-option--set-product-links[data-set-count='5'] > .variant-option__options,
.product-information .variant-option--set-product-links[data-set-count='6'] > .variant-option__options {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
    .variant-option__button-label--size-card
  ):has(input[type='radio']) {
  display: flex !important;
  flex: none !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  position: relative;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 68px !important;
  height: 68px !important;
  padding: 10px 32px 10px 12px !important;
  overflow: hidden !important;
  white-space: normal !important;
  border: 1px solid var(--rsw-pdp-size-border, var(--rsw-pdp-swatch-border)) !important;
  border-radius: var(--rsw-pdp-size-radius) !important;
  background: #fff !important;
  color: var(--rsw-pdp-black) !important;
}

.product-information .variant-option__button-label:not(.variant-option__button-label--has-swatch) .variant-option__button-label__pill {
  display: none !important;
}

.product-information .variant-option__button-label:not(.variant-option__button-label--has-swatch) input[type='radio'] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  appearance: none !important;
  pointer-events: auto;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
    .variant-option__button-label--size-card
  )::before,
.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
    .variant-option__button-label--size-card
  )::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  inset: auto !important;
  clip-path: none !important;
  pointer-events: none !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
    .variant-option__button-label--size-card
  )::before {
  top: 10px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  border: 1px solid var(--rsw-pdp-green) !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: none !important;
  z-index: 3 !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
    .variant-option__button-label--size-card
  )::after {
  display: none !important;
}

.product-information
  .variant-option__button-label--size-card:not(.variant-option__button-label--has-swatch)::before,
.product-information
  .variant-option__button-label--size-card:not(.variant-option__button-label--has-swatch)::after {
  content: none !important;
  display: none !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
    .variant-option__button-label--size-card
  ):has(:checked) {
  background: var(--rsw-pdp-size-selected-bg) !important;
  border-color: var(--rsw-pdp-green) !important;
  border-width: 1.5px !important;
  color: var(--rsw-pdp-green) !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
    .variant-option__button-label--size-card
  ):has(:checked)
  .variant-option__button-label__text,
.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
    .variant-option__button-label--size-card
  ):has(:checked)
  .rsw-pdp-size-helper {
  color: var(--rsw-pdp-green) !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
    .variant-option__button-label--size-card
  ):has(:checked)::before {
  border-color: var(--rsw-pdp-green) !important;
  background: var(--rsw-pdp-green) !important;
  box-shadow: inset 0 0 0 3px #fff !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):has(input[type='radio']):has(
    [data-option-available='false']
  ) {
  color: #8d8d8d !important;
  background: #f7f7f7 !important;
  border-color: #dedede !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
    .variant-option__button-label--size-card
  ):has(input[type='radio']):has([data-option-available='false'])::before {
  border-color: #b5b5b5 !important;
  background: #eee !important;
  box-shadow: none !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):has(input[type='radio']):has(
    [data-option-available='false']
  ):has(:checked) {
  color: #8d8d8d !important;
  background: #f7f7f7 !important;
  border-color: #cfcfcf !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
    .variant-option__button-label--size-card
  ):has(input[type='radio']):has([data-option-available='false']):has(:checked)::before {
  border-color: #b5b5b5 !important;
  background: #b5b5b5 !important;
  box-shadow: inset 0 0 0 3px #f7f7f7 !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):has(input[type='radio']):has(
    [data-option-available='false']
  )
  .variant-option__button-label__text,
.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch):has(input[type='radio']):has(
    [data-option-available='false']
  )
  .rsw-pdp-size-helper {
  color: #8d8d8d !important;
}

.product-information
  .variant-option__button-label:not(.variant-option__button-label--has-swatch)
  .variant-option__strikethrough {
  z-index: 2;
  stroke: #8d8d8d;
}

.product-information .variant-option__button-label__text {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: inherit !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-option-size) !important;
  font-weight: 600 !important;
  line-height: 1.19 !important;
  text-align: start !important;
  white-space: normal !important;
}

.product-information .variant-option--size-cards .variant-option__button-label,
.product-information .variant-option--set-product-links .variant-option__button-label {
  display: block !important;
  position: relative !important;
  height: auto !important;
  min-height: 68px !important;
  padding: 10px 12px !important;
  overflow: visible !important;
  border: 1px solid transparent !important;
  border-radius: var(--rsw-pdp-size-radius) !important;
  background: transparent !important;
  text-decoration: none !important;
  color: var(--rsw-pdp-black, inherit) !important;
  cursor: pointer;
  white-space: normal !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  flex: none !important;
  min-width: 0 !important;
  width: 100% !important;
}

.product-information .variant-option--set-product-links .variant-option__set-card-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  text-decoration: none !important;
  color: inherit !important;
}

.product-information .variant-option--size-cards .variant-option__size-card-heading,
.product-information .variant-option--set-product-links .variant-option__size-card-heading {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
}

.product-information .variant-option--size-cards .variant-option__size-card-text,
.product-information .variant-option--set-product-links .variant-option__size-card-text {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 2px !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* Size radios (:has:checked) and Set links (--current / aria-current / :checked) share one selected style.
   Use full border shorthand so it beats the base `border: 1px solid transparent !important`. */
.product-information .variant-option--size-cards .variant-option__button-label:has(:checked),
.product-information .variant-option--size-cards .variant-option__button-label--current,
.product-information .variant-option--set-product-links .variant-option__button-label:has(:checked),
.product-information .variant-option--set-product-links .variant-option__button-label--current,
.product-information .variant-option--set-product-links .variant-option__button-label[aria-current='page'],
.product-information .variant-option--set-product-links .variant-option__button-label[data-selected='true'] {
  border: 1.5px solid var(--rsw-pdp-green) !important;
  background: var(--rsw-pdp-size-selected-bg) !important;
  color: var(--rsw-pdp-black) !important;
}

.product-information .variant-option--set-product-links .variant-option__set-card-current-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.product-information .variant-option--size-cards .variant-option__size-card-subtitle,
.product-information .variant-option--set-product-links .variant-option__size-card-subtitle {
  display: block !important;
  color: var(--rsw-pdp-muted);
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-helper-size) !important;
  font-weight: 350 !important;
  line-height: 1.19 !important;
}

/* Size + Set cards share identical title/subtitle treatment (selected or not). */
.product-information .variant-option--size-cards .variant-option__button-label__text,
.product-information .variant-option--set-product-links .variant-option__button-label__text {
  color: var(--rsw-pdp-black) !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-option-size) !important;
  font-weight: 600 !important;
  line-height: 1.19 !important;
}

/* Selected size/set cards: keep black title + muted subtitle (green border/bg/radio only). */
.product-information .variant-option--size-cards .variant-option__button-label:has(:checked) .variant-option__button-label__text,
.product-information .variant-option--size-cards .variant-option__button-label--current .variant-option__button-label__text,
.product-information .variant-option--set-product-links .variant-option__button-label:has(:checked) .variant-option__button-label__text,
.product-information .variant-option--set-product-links .variant-option__button-label--current .variant-option__button-label__text,
.product-information .variant-option--set-product-links .variant-option__button-label[aria-current='page'] .variant-option__button-label__text,
.product-information .variant-option--set-product-links .variant-option__button-label[data-selected='true'] .variant-option__button-label__text {
  color: var(--rsw-pdp-black) !important;
}

.product-information .variant-option--size-cards .variant-option__button-label:has(:checked) .variant-option__size-card-subtitle,
.product-information .variant-option--size-cards .variant-option__button-label--current .variant-option__size-card-subtitle,
.product-information .variant-option--set-product-links .variant-option__button-label:has(:checked) .variant-option__size-card-subtitle,
.product-information .variant-option--set-product-links .variant-option__button-label--current .variant-option__size-card-subtitle,
.product-information .variant-option--set-product-links .variant-option__button-label[aria-current='page'] .variant-option__size-card-subtitle,
.product-information .variant-option--set-product-links .variant-option__button-label[data-selected='true'] .variant-option__size-card-subtitle {
  color: var(--rsw-pdp-muted) !important;
}

.product-information .variant-option--size-cards .variant-option__size-card-radio,
.product-information .variant-option--set-product-links .variant-option__size-card-radio {
  align-self: flex-start;
  width: 14px;
  height: 14px;
  margin: 0;
  flex-shrink: 0;
  border: 1.5px solid var(--rsw-pdp-green);
  border-radius: 50%;
  background: #fff;
  pointer-events: none;
}

.product-information .variant-option--size-cards .variant-option__button-label:has(:checked) .variant-option__size-card-radio,
.product-information .variant-option--size-cards .variant-option__button-label--current .variant-option__size-card-radio,
.product-information .variant-option--set-product-links .variant-option__button-label:has(:checked) .variant-option__size-card-radio,
.product-information .variant-option--set-product-links .variant-option__button-label--current .variant-option__size-card-radio,
.product-information .variant-option--set-product-links .variant-option__button-label[aria-current='page'] .variant-option__size-card-radio,
.product-information .variant-option--set-product-links .variant-option__button-label[data-selected='true'] .variant-option__size-card-radio {
  background: var(--rsw-pdp-green) !important;
  border-color: var(--rsw-pdp-green) !important;
  box-shadow: inset 0 0 0 3px #fff !important;
}

.product-information .rsw-pdp-size-helper {
  display: block;
  margin-top: 2px;
  color: var(--rsw-pdp-muted);
  font-family: var(--rsw-pdp-font);
  font-size: var(--rsw-pdp-helper-size);
  font-weight: 400;
  line-height: 1.19;
}

/* Mobile size / set cards. Select Size scrolls on one line via
   .variant-option--size-scroll, which follows this block. */
@media screen and (max-width: 749px) {
  .product-information .variant-option--buttons:not(.variant-option--swatches),
  .product-information .variant-option--size-cards {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100%;
  }

  .product-information .variant-option--buttons:not(.variant-option--swatches) > .variant-option__options,
  .product-information .variant-option--size-cards > .variant-option__options {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100%;
    max-width: 100%;
    overflow: visible;
    padding-block-end: 0;
  }

  .product-information
    .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
      .variant-option__button-label--size-card
    ):has(input[type='radio']) {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 62px !important;
    height: auto !important;
    padding: 10px 28px 10px 12px !important;
    overflow: visible !important;
  }

  .product-information
    .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
      .variant-option__button-label--size-card
    )::before {
    top: 10px !important;
    right: 10px !important;
    width: 14px !important;
    height: 14px !important;
    transform: none !important;
  }

  .product-information
    .variant-option__button-label:not(.variant-option__button-label--has-swatch):not(
      .variant-option__button-label--size-card
    ):has(:checked)::before {
    top: 10px !important;
    transform: none !important;
  }

  .product-information .variant-option--size-cards .variant-option__button-label,
  .product-information .variant-option--set-product-links .variant-option__button-label {
    display: block !important;
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid transparent !important;
    border-radius: var(--rsw-pdp-size-radius) !important;
    background: transparent !important;
  }

  .product-information .variant-option--size-cards .variant-option__button-label:has(:checked),
  .product-information .variant-option--size-cards .variant-option__button-label--current,
  .product-information .variant-option--set-product-links .variant-option__button-label:has(:checked),
  .product-information .variant-option--set-product-links .variant-option__button-label--current,
  .product-information .variant-option--set-product-links .variant-option__button-label[aria-current='page'],
  .product-information .variant-option--set-product-links .variant-option__button-label[data-selected='true'] {
    border: 1.5px solid var(--rsw-pdp-green) !important;
    background: var(--rsw-pdp-size-selected-bg) !important;
    color: var(--rsw-pdp-black) !important;
  }

  .product-information .variant-option--size-cards .variant-option__size-card-subtitle,
  .product-information .variant-option--set-product-links .variant-option__size-card-subtitle {
    display: block !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .product-information
    .variant-option--set-product-links[data-set-count='3']
    > .variant-option__options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .product-information .rsw-pdp-size-helper {
    font-size: 11px !important;
    font-weight: 350 !important;
  }
}

/* Select Size on single products and on set products: one horizontal line.
   Extra cards scroll. Card look stays the existing green radio size card. */
.product-information .variant-option--size-scroll {
  min-width: 0;
  max-width: 100%;
}

.product-information .variant-option--size-scroll.variant-option--buttons > .variant-option__options,
.product-information .variant-option--size-scroll > .variant-option__options {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch;
  gap: 8px !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}

.product-information .variant-option--size-scroll > .variant-option__options::-webkit-scrollbar {
  display: none;
}

.product-information .variant-option--size-scroll > .variant-option__options > .variant-option__button-label {
  flex: 0 0 clamp(132px, 34%, 168px) !important;
  width: clamp(132px, 34%, 168px) !important;
  min-width: 132px !important;
  max-width: none !important;
  scroll-snap-align: start;
}

/* -------------------------------------------------------------------------
   Tabby 6-payment promo 797:983
   ------------------------------------------------------------------------- */

.product-information .rsw-pdp-tabby {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 96px;
  padding: 20px 19px 20px 22px;
  background: #f7fffb;
  border: 1px solid #9fe8c4;
  border-radius: 8px;
  box-sizing: border-box;
}

.product-information .rsw-pdp-tabby__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}

.product-information .rsw-pdp-tabby__text {
  margin: 0;
  color: var(--rsw-pdp-black);
  font-family: var(--rsw-pdp-font);
  font-size: var(--rsw-pdp-label-size);
  font-weight: 400;
  line-height: 1.3;
}

.product-information .rsw-pdp-tabby__learn {
  color: #2b7fff;
  font-family: var(--rsw-pdp-font);
  font-size: var(--rsw-pdp-body-size);
  font-weight: 450;
  line-height: 1.2;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.product-information .rsw-pdp-tabby__logo {
  flex: 0 0 auto;
  display: block;
  width: 80px;
  height: 32px;
}

.product-information .rsw-pdp-tabby__logo svg {
  display: block;
  width: 80px;
  height: 32px;
}

@media screen and (min-width: 750px) {
  .product-information .rsw-pdp-tabby {
    min-height: calc(126px * var(--rsw-pdp-scale));
  }
}

@media screen and (min-width: 1920px) {
  .product-information .rsw-pdp-tabby {
    min-height: 126px;
  }
}

@media screen and (max-width: 749px) {
  .product-information .rsw-pdp-tabby {
    min-height: 0;
    padding: 10px 12px;
    gap: 8px;
    border: 1px solid #9fe8c4;
    border-radius: 6px;
    background: #f7fffb;
    align-items: center;
  }

  .product-information .rsw-pdp-tabby__copy {
    gap: 4px;
  }

  .product-information .rsw-pdp-tabby__text {
    font-size: 12px;
    line-height: 1.25;
    max-width: none;
  }

  .product-information .rsw-pdp-tabby__learn {
    font-size: 11px;
    color: #2b7fff;
  }

  .product-information .rsw-pdp-tabby__logo,
  .product-information .rsw-pdp-tabby__logo svg {
    width: 52px;
    height: 20px;
  }
}

/* -------------------------------------------------------------------------
   Customise the Case engraving accordion
   ------------------------------------------------------------------------- */

.product-information .rsw-pdp-customise {
  width: 100%;
  margin: 0 0 var(--rsw-pdp-buy-gap);
}

.product-information .rsw-pdp-customise__trigger {
  display: flex;
  align-items: center;
  gap: 0;
  width: 100%;
  height: var(--rsw-pdp-customise-height);
  min-height: var(--rsw-pdp-customise-height);
  margin: 0;
  padding: 0 var(--rsw-pdp-customise-pad-end) 0 var(--rsw-pdp-customise-pad-start);
  border: 0;
  border-radius: var(--rsw-pdp-customise-radius);
  background: linear-gradient(90deg, #12a57c 0%, #062018 100%);
  color: #fff;
  text-align: left;
  cursor: pointer;
  appearance: none;
  font-family: var(--rsw-pdp-font);
}

.product-information .rsw-pdp-customise__trigger:focus-visible {
  outline: 2px solid #00382e;
  outline-offset: 3px;
}

.product-information .rsw-pdp-customise__icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: var(--rsw-pdp-customise-icon);
  height: var(--rsw-pdp-customise-icon);
  margin-inline-end: var(--rsw-pdp-customise-icon-gap);
  color: #fff;
}

.product-information .rsw-pdp-customise__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.product-information .rsw-pdp-customise__divider {
  flex: 0 0 auto;
  width: 1px;
  height: var(--rsw-pdp-customise-divider);
  margin-inline-end: var(--rsw-pdp-customise-text-gap);
  background: rgb(255 255 255 / 55%);
}

.product-information .rsw-pdp-customise__copy {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  flex: 1 1 auto;
}

.product-information .rsw-pdp-customise__title {
  color: #fff;
  font-family: var(--rsw-pdp-font);
  font-size: var(--rsw-pdp-customise-title);
  font-weight: 600;
  line-height: 1.2;
}

.product-information .rsw-pdp-customise__sub {
  color: rgb(255 255 255 / 85%);
  font-family: var(--rsw-pdp-font);
  font-size: var(--rsw-pdp-customise-sub);
  font-weight: 400;
  line-height: 1.2;
}

.product-information .rsw-pdp-customise__arrow {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: var(--rsw-pdp-customise-arrow);
  height: var(--rsw-pdp-customise-arrow);
  margin-inline-start: 16px;
  border: 1px solid rgb(255 255 255 / 42%);
  border-radius: 50%;
  background: rgb(6 30 24 / 38%);
  color: #fff;
  transition: transform 0.28s ease;
}

.product-information .rsw-pdp-customise.is-open .rsw-pdp-customise__arrow {
  transform: rotate(90deg);
}

.product-information .rsw-pdp-customise__arrow svg {
  display: block;
  width: 18px;
  height: 18px;
}

.product-information .rsw-pdp-customise__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.28s ease;
}

.product-information .rsw-pdp-customise.is-open .rsw-pdp-customise__panel {
  grid-template-rows: 1fr;
}

.product-information .rsw-pdp-customise__panel-inner {
  overflow: hidden;
  padding: 0 2px;
}

.product-information .rsw-pdp-customise.is-open .rsw-pdp-customise__panel-inner {
  padding: 12px 2px 4px;
}

.product-information .rsw-pdp-customise__label {
  display: block;
  margin: 0 0 8px;
  color: var(--rsw-pdp-ink);
  font-family: var(--rsw-pdp-font);
  font-size: var(--rsw-pdp-helper-size);
  font-weight: 500;
}

.product-information .rsw-pdp-customise__input {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #cfcfcf;
  border-radius: 6px;
  background: #fff;
  color: var(--rsw-pdp-black);
  font-family: var(--rsw-pdp-font);
  font-size: var(--rsw-pdp-body-size);
  box-sizing: border-box;
}

.product-information .rsw-pdp-customise__input:focus {
  outline: 2px solid #007056;
  outline-offset: 1px;
  border-color: #007056;
}

.product-information .rsw-pdp-customise__input:invalid {
  border-color: #c0392b;
}

.product-information .rsw-pdp-customise__hint {
  margin: 8px 0 0;
  color: var(--rsw-pdp-muted);
  font-family: var(--rsw-pdp-font);
  font-size: 12px;
  line-height: 1.3;
}

@media screen and (max-width: 749px) {
  .product-information .rsw-pdp-customise__trigger {
    padding: 0 12px 0 14px;
  }

  .product-information .rsw-pdp-customise__sub {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .product-information .rsw-pdp-customise__arrow {
    margin-inline-start: 10px;
  }

  .product-information .rsw-pdp-customise.is-open .rsw-pdp-customise__panel-inner {
    padding: 10px 0 2px;
  }

  .product-information .rsw-pdp-customise__input {
    height: 44px;
    font-size: 16px; /* avoid iOS zoom on focus */
  }

  .product-information .rsw-pdp-customise__hint {
    font-size: 11px;
  }
}

/* -------------------------------------------------------------------------
   Quantity 797:1225 (200×70) + ATC 797:1227 (505×70) + Buy it Now 797:1234
   ------------------------------------------------------------------------- */

.product-information .buy-buttons-block {
  width: 100%;
}

.product-information .product-form-buttons,
.product-information .product-form-buttons--stacked {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: var(--rsw-pdp-buy-gap) !important;
}

.product-information .product-form-buttons:not(:has(.rsw-pdp-buy-row)) {
  display: grid !important;
  grid-template-columns: var(--rsw-pdp-qty-width) minmax(0, 1fr);
}

.product-information .product-form-buttons:not(:has(.rsw-pdp-buy-row)) > .quantity-selector-wrapper {
  grid-column: 1;
  grid-row: 1;
}

.product-information .product-form-buttons:not(:has(.rsw-pdp-buy-row)) > *:has(.add-to-cart-button) {
  grid-column: 2;
  grid-row: 1;
  display: flex !important;
  min-width: 0 !important;
  width: 100% !important;
}

.product-information .product-form-buttons:not(:has(.rsw-pdp-buy-row)) > .rsw-pdp-buy-now,
.product-information .product-form-buttons:not(:has(.rsw-pdp-buy-row)) > .rsw-pdp-buy-now-row {
  grid-column: 1 / -1;
}

.product-information .rsw-pdp-buy-now-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--rsw-pdp-buy-gap);
  flex: 1 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  align-items: stretch;
}

.product-information .rsw-pdp-buy-now-row .rsw-pdp-buy-now {
  flex: 1 1 auto !important;
  flex-basis: auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

.product-information .rsw-pdp-buy-row {
  display: grid !important;
  grid-template-columns: var(--rsw-pdp-qty-width) minmax(0, 1fr);
  gap: var(--rsw-pdp-buy-gap);
  flex: 1 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  align-items: stretch;
}

.product-information .rsw-pdp-buy-row > .quantity-selector-wrapper,
.product-information .quantity-selector-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  flex: none !important;
  width: var(--rsw-pdp-qty-width) !important;
  max-width: var(--rsw-pdp-qty-width) !important;
  min-width: 0 !important;
}

.product-information .rsw-pdp-buy-row > *:not(.quantity-selector-wrapper),
.product-information .rsw-pdp-buy-row add-to-cart-component,
.product-information .product-form-buttons add-to-cart-component {
  display: flex !important;
  min-width: 0 !important;
  width: 100% !important;
  flex: 1 1 auto !important;
}

.product-information .quantity-selector {
  --qty-btn-size: 36px;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  flex: none !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: var(--rsw-pdp-button-height) !important;
  min-height: var(--rsw-pdp-button-height) !important;
  overflow: hidden !important;
  border: 1px solid var(--rsw-pdp-black) !important;
  border-radius: var(--rsw-pdp-radius) !important;
  background: #fff !important;
}

@media screen and (min-width: 750px) {
  .product-information .quantity-selector {
    --qty-btn-size: 44px;
  }
}

.product-information .product-form-buttons .quantity-selector .quantity-minus,
.product-information .product-form-buttons .quantity-selector .quantity-plus,
.product-information .quantity-selector .quantity-minus,
.product-information .quantity-selector .quantity-plus {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 var(--qty-btn-size) !important;
  width: var(--qty-btn-size) !important;
  min-width: var(--qty-btn-size) !important;
  max-width: var(--qty-btn-size) !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--rsw-pdp-black) !important;
}

.product-information .quantity-selector .svg-wrapper,
.product-information .quantity-selector svg {
  width: 12px !important;
  height: 12px !important;
  display: block;
}

.product-information .quantity-selector input,
.product-information .quantity-selector input[type='number'] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--rsw-pdp-black) !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-qty-size) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-align: center !important;
  appearance: textfield;
  -moz-appearance: textfield;
}

.product-information .quantity-selector input[type='number']::-webkit-inner-spin-button,
.product-information .quantity-selector input[type='number']::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}

.product-information .buy-buttons-block .add-to-cart-button.button,
.product-information .product-form-buttons .add-to-cart-button,
.product-information .product-form-buttons button.add-to-cart-button,
.product-information .rsw-pdp-buy-row .add-to-cart-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--rsw-pdp-button-height) !important;
  min-height: var(--rsw-pdp-button-height) !important;
  padding: 0 16px !important;
  color: var(--rsw-pdp-black) !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-button-size) !important;
  font-weight: 650 !important;
  letter-spacing: 0;
  line-height: normal !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  background: #fff !important;
  border: 1px solid var(--rsw-pdp-black) !important;
  border-radius: var(--rsw-pdp-radius) !important;
  box-shadow: none !important;
  cursor: pointer;
  transition:
    background-color 0.22s ease,
    color 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    transform 0.22s ease !important;
}

.product-information .add-to-cart-button .add-to-cart-icon {
  display: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .product-information .buy-buttons-block .add-to-cart-button.button:hover:not(:disabled),
  .product-information .product-form-buttons .add-to-cart-button:hover:not(:disabled),
  .product-information .rsw-pdp-buy-row .add-to-cart-button:hover:not(:disabled) {
    color: #fff !important;
    background: var(--rsw-pdp-black) !important;
    border-color: var(--rsw-pdp-black) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18) !important;
    transform: translateY(-2px);
  }
}

.product-information .buy-buttons-block .add-to-cart-button.button:focus-visible,
.product-information .product-form-buttons .add-to-cart-button:focus-visible,
.product-information .rsw-pdp-buy-row .add-to-cart-button:focus-visible {
  outline: 2px solid var(--rsw-pdp-black);
  outline-offset: 3px;
}

.product-information .buy-buttons-block .add-to-cart-button.button:active:not(:disabled),
.product-information .product-form-buttons .add-to-cart-button:active:not(:disabled),
.product-information .rsw-pdp-buy-row .add-to-cart-button:active:not(:disabled) {
  color: #fff !important;
  background: var(--rsw-pdp-ink) !important;
  transform: translateY(0);
  box-shadow: none !important;
}

.product-information .add-to-cart-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.product-information .product-form-buttons > .rsw-pdp-buy-now,
.product-information .product-form-buttons button.rsw-pdp-buy-now,
.product-information .rsw-pdp-buy-now {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 1 0 100% !important;
  flex-basis: 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  height: var(--rsw-pdp-button-height) !important;
  min-height: var(--rsw-pdp-button-height);
  margin: 0;
  padding: 0 24px !important;
  color: #fff;
  font-family: var(--rsw-pdp-font);
  font-size: var(--rsw-pdp-button-size);
  font-weight: 650;
  letter-spacing: 0;
  line-height: normal;
  text-transform: uppercase;
  text-align: center;
  background: var(--rsw-pdp-ink);
  border: 0;
  border-radius: var(--rsw-pdp-radius);
  box-shadow: none;
  cursor: pointer;
  transition:
    background-color 0.22s ease,
    box-shadow 0.22s ease,
    transform 0.22s ease,
    letter-spacing 0.22s ease;
}

.product-information .rsw-pdp-buy-now-row .rsw-pdp-buy-now,
.product-information .rsw-pdp-buy-now-row button.rsw-pdp-buy-now {
  flex: 1 1 auto !important;
  flex-basis: auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
  .product-information .product-form-buttons > .rsw-pdp-buy-now:hover:not(:disabled),
  .product-information .product-form-buttons button.rsw-pdp-buy-now:hover:not(:disabled),
  .product-information .rsw-pdp-buy-now:hover:not(:disabled) {
    background: #000;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
    transform: translateY(-2px);
    letter-spacing: 0.06em;
  }
}

.product-information .rsw-pdp-buy-now:focus-visible {
  outline: 2px solid var(--rsw-pdp-ink);
  outline-offset: 3px;
}

.product-information .product-form-buttons > .rsw-pdp-buy-now:active:not(:disabled),
.product-information .rsw-pdp-buy-now:active:not(:disabled) {
  background: #111;
  transform: translateY(0);
  box-shadow: none;
  letter-spacing: 0;
}

.product-information .rsw-pdp-buy-now:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

.rsw-pdp-float-bar {
  position: fixed;
  z-index: var(--layer-sticky);
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  padding: 8px 5% calc(8px + env(safe-area-inset-bottom, 0px));
  background: #fff;
  box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.1);
}

.rsw-pdp-float-bar.is-hidden,
.rsw-pdp-float-bar[hidden] {
  display: none !important;
}

.rsw-pdp-float-bar__cart {
  flex: 0 0 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  color: #000;
  background: #fff;
  border: 1px solid #dadbd7;
  border-radius: 6px;
  cursor: pointer;
}

.rsw-pdp-float-bar__cart svg {
  display: block;
  width: 26px;
  height: 26px;
}

.rsw-pdp-float-bar__buy {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  min-height: 48px;
  margin: 0;
  padding: 0 16px;
  color: #fff;
  font-family: var(--rsw-pdp-font, inherit);
  font-size: 16px;
  font-weight: 650;
  letter-spacing: 0;
  line-height: normal;
  text-transform: uppercase;
  background: #1e1e1e;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
}

.rsw-pdp-float-bar__cart:disabled,
.rsw-pdp-float-bar__buy:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.rsw-pdp-float-bar__cart:focus-visible,
.rsw-pdp-float-bar__buy:focus-visible {
  outline: 2px solid #1e1e1e;
  outline-offset: 3px;
}

body.has-rsw-buy-now-float {
  padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
}

@media screen and (min-width: 750px) {
  .rsw-pdp-float-bar,
  .rsw-pdp-float-bar.is-hidden {
    display: none !important;
  }

  body.has-rsw-buy-now-float {
    padding-bottom: 0;
  }
}

.product-information shopify-accelerated-checkout,
.product-information .shopify-payment-button,
.product-information .quantity-label {
  display: none !important;
}

.product-information .rsw-pdp-delivery {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin-block: 4px 0;
  color: var(--rsw-pdp-black);
  font-family: var(--rsw-pdp-font);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
}

.product-information .rsw-pdp-delivery svg {
  flex-shrink: 0;
  width: 22px;
  height: 21px;
}

.product-information .rsw-pdp-delivery strong {
  color: var(--rsw-pdp-delivery);
  font-weight: 650;
}

@media screen and (max-width: 749px) {
  .product-information .rsw-pdp-delivery {
    font-size: 12px;
    margin-block-start: 4px;
    gap: 8px;
  }

  .product-information .rsw-pdp-delivery svg {
    width: 18px;
    height: 17px;
  }
}

/* -------------------------------------------------------------------------
   Accordions 797:970 / 797:974 / 797:971
   ------------------------------------------------------------------------- */

.product-information .product-details .text-block.rte,
.product-information .rsw-pdp-accordion .text-block.rte,
.product-information .rsw-pdp-accordion__body,
.product-information .rsw-pdp-accordion__body.rte {
  max-width: none !important;
  color: var(--rsw-pdp-black) !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-accordion-body-size) !important;
  font-weight: 400 !important;
  line-height: var(--rsw-pdp-accordion-body-line) !important;
}

.product-information .rsw-pdp-accordions {
  width: 100%;
  border-top: 1px solid #e0e0e0;
}

.product-information product-inventory {
  display: block;
  width: 100%;
  color: var(--rsw-pdp-muted, #6b6b6b);
  font-family: var(--rsw-pdp-font);
  font-size: 13px;
  font-weight: 450;
  line-height: 1.3;
  padding-block: 0 !important;
}

/* Stock sits as a sibling immediately before <variant-picker> (never inside it —
   picker morph would remove nested inventory on variant change).
   Negate the real flex --gap (not only --rsw-pdp-details-gap) so delivery → stock → Color stay tight. */
.product-information :is(shopify-block, .shopify-block):has(product-inventory):has(+ :is(shopify-block, .shopify-block):has(variant-picker)),
.product-information product-inventory:has(+ :is(variant-picker, :is(shopify-block, .shopify-block):has(variant-picker))) {
  margin-block-start: calc(2px - var(--gap, var(--rsw-pdp-details-gap, 12px)));
  margin-block-end: calc(4px - var(--gap, var(--rsw-pdp-details-gap, 12px)));
}

@media screen and (min-width: 750px) {
  .product-information :is(shopify-block, .shopify-block):has(product-inventory):has(+ :is(shopify-block, .shopify-block):has(variant-picker)),
  .product-information product-inventory:has(+ :is(variant-picker, :is(shopify-block, .shopify-block):has(variant-picker))) {
    margin-block-start: calc(2px - var(--gap, var(--rsw-pdp-details-gap, 24px)));
    margin-block-end: calc(4px - var(--gap, var(--rsw-pdp-details-gap, 24px)));
  }
}

.product-information .rsw-pdp-accordion {
  width: 100%;
  border-bottom: 1px solid #e0e0e0;
}

.product-information .rsw-pdp-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-block: 32px;
  list-style: none;
  cursor: pointer;
  color: var(--rsw-pdp-black);
  font-family: var(--rsw-pdp-font);
  font-size: var(--rsw-pdp-accordion-size);
  font-weight: 500;
  line-height: var(--rsw-pdp-accordion-line);
}

.product-information .rsw-pdp-accordion[open] > .rsw-pdp-accordion__summary {
  padding-block-end: 18px;
}

.product-information .rsw-pdp-accordion__summary::-webkit-details-marker {
  display: none;
}

.product-information .rsw-pdp-accordion__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30.682px;
  height: 30px;
  flex-shrink: 0;
  border: 1.5px solid var(--rsw-pdp-muted);
  border-radius: 4.091px;
  color: var(--rsw-pdp-black);
  font-family: Aspekta, var(--rsw-pdp-font), sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.32;
}

.product-information .rsw-pdp-accordion__icon::before {
  content: '+';
}

.product-information .rsw-pdp-accordion[open] > .rsw-pdp-accordion__summary .rsw-pdp-accordion__icon::before {
  content: '−';
}

.product-information .rsw-pdp-accordion__body {
  padding-block-end: 32px;
}

.product-information .rsw-pdp-accordion__body p,
.product-information .rsw-pdp-accordion__body li {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.product-information .rsw-pdp-accordion__body p + p,
.product-information .rsw-pdp-accordion__body ul,
.product-information .rsw-pdp-accordion__body ol {
  margin-block-start: 0.9em;
}

.product-information .rsw-pdp-accordion__body li + li {
  margin-block-start: 0.35em;
}

.product-information .rsw-pdp-accordion__body h1,
.product-information .rsw-pdp-accordion__body h2,
.product-information .rsw-pdp-accordion__body h3,
.product-information .rsw-pdp-accordion__body h4 {
  margin: 0 0 0.5em;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
}

.product-information .disclosures__container:not(:has(disclosures-summary-fit)) {
  display: none;
}

.product-information .disclosures__heading,
.product-information .accordion .details__header {
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-accordion-size) !important;
  font-weight: 500 !important;
}

@media screen and (max-width: 749px) {
  .product-information .rsw-pdp-accordion__summary {
    padding-block: 14px;
  }

  .product-information .rsw-pdp-accordion[open] > .rsw-pdp-accordion__summary {
    padding-block-end: 8px;
  }

  .product-information .rsw-pdp-accordion__body {
    padding-block-end: 14px;
  }
}

/* Sticky ATC is not in Figma 797:856 */
sticky-add-to-cart {
  display: none !important;
}

/* Brand values can defer paint; recommendations must stay in normal layout
   so page-wrapper scroll height stays accurate (html/body overflow is locked). */
.brand-values-section {
  content-visibility: auto;
  contain-intrinsic-size: auto 480px;
}

.product-recommendations {
  content-visibility: visible;
}

/* Footer must always participate in layout so it is reachable when scrolling
   the .page-wrapper (html/body overflow is locked on desktop). */
.shopify-section-group-footer-group,
.shopify-section-group-footer-group .pj-footer {
  display: block;
  visibility: visible;
  opacity: 1;
  content-visibility: visible;
}

/* -------------------------------------------------------------------------
   You May Also Like 797:1032 / View All 797:1034
   Match collection product cards (center align, square media, shared gaps).
   ------------------------------------------------------------------------- */

.product-recommendations .section-resource-list__content {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-block-end: 28px;
}

.product-recommendations .section-resource-list__content > * {
  flex: 0 1 auto;
}

.product-recommendations .section-resource-list__content .text-block,
.product-recommendations .section-resource-list__content .text-block.h4,
.product-recommendations .section-resource-list__content h3 {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  color: var(--rsw-pdp-black) !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--rsw-pdp-recs-title-size) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.03 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
}

.product-recommendations .rsw-pdp-view-all {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  margin-inline-start: auto;
  color: var(--rsw-pdp-black);
  font-family: Aspekta, var(--rsw-pdp-font), sans-serif;
  font-size: 19px;
  font-weight: 800;
  line-height: normal;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}

.product-recommendations .rsw-pdp-view-all svg {
  width: 40.889px;
  height: 40.889px;
  flex-shrink: 0;
}

.product-recommendations .resource-list--grid {
  /* Match collection product grid gaps (collection.json columns_gap_*) */
  --resource-list-column-gap-desktop: 16px;
  --resource-list-row-gap-desktop: 32px;
}

/* Same card chrome as collection — defer to product-card-styles for title/price/variants */
.product-recommendations .resource-list__item .product-card {
  height: 100%;
}

.product-recommendations .resource-list__item .product-card .product-card__content {
  width: 100%;
}

@media screen and (min-width: 750px) {
  .product-recommendations .resource-list--grid {
    grid-template-columns: var(--resource-list-columns) !important;
  }
}

.product-recommendations .product-card {
  --pc-image-width: 100%;
  --pc-space-media-variants: 15px;
  --pc-variant-radius: 6px;
  --pc-variant-border: 1px solid #939393;
  width: 100%;
  min-width: 0;
}

.product-recommendations .product-card .product-card__content,
.product-recommendations .product-card .product-grid__card {
  align-items: center !important;
  text-align: center;
}

.product-recommendations .product-card .product-card__title,
.product-recommendations .product-card .text-block,
.product-recommendations .product-card h3,
.product-recommendations .product-card a.product-card__title {
  width: 100% !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--pc-title-size, 19px) !important;
  font-weight: 700 !important;
  line-height: normal !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

.product-recommendations .product-card product-price,
.product-recommendations .product-card .text-block:has(product-price) {
  width: 100% !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--pc-price-size, 15px) !important;
  font-weight: 500 !important;
  line-height: normal !important;
  text-align: center !important;
}

.product-recommendations .product-card product-price .price,
.product-recommendations .product-card product-price .price-item__group {
  width: auto !important;
  font-family: var(--rsw-pdp-font) !important;
  font-size: var(--pc-price-size, 15px) !important;
  font-weight: 500 !important;
  line-height: normal !important;
}

/* Sale + compare-at stay on one line (e.g. Dhs. 53.00  Dhs. 89.00) */
.product-recommendations .product-card product-price > div,
.product-recommendations .product-card product-price [ref='priceContainer'] {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  max-width: 100%;
  white-space: nowrap;
  overflow: visible;
}

.product-recommendations .product-card product-price .price-item__group {
  display: inline-block;
  flex: 0 0 auto;
  white-space: nowrap;
}

.product-recommendations .product-card product-price .compare-at-price {
  color: var(--rsw-pdp-muted, #858586) !important;
  font-weight: 350 !important;
}

.product-recommendations .product-card .product-card__variants {
  justify-content: center;
}

@media screen and (min-width: 750px) {
  .product-recommendations .section-resource-list__content {
    margin-block-end: 50px;
  }

  .product-recommendations .product-card {
    --pc-title-size: clamp(14px, 1.05vw, 19px);
    --pc-price-size: clamp(12px, 0.85vw, 15px);
    --pc-variant-width: clamp(36px, 2.6vw, 47px);
    --pc-variant-height: clamp(42px, 3vw, 54px);
    --pc-variant-gap: clamp(4px, 0.35vw, 6px);
    --pc-space-media-variants: clamp(10px, 0.9vw, 16px);
    --pc-space-variants-title: clamp(8px, 0.85vw, 15px);
    --pc-space-title-price: clamp(6px, 0.5vw, 9px);
  }
}

@media screen and (max-width: 749px) {
  .product-recommendations .section-resource-list__content {
    margin-block-end: 16px;
  }

  .product-recommendations .rsw-pdp-view-all {
    font-size: 14px;
    gap: 8px;
  }

  .product-recommendations .rsw-pdp-view-all svg {
    width: 28px;
    height: 28px;
  }

  .product-recommendations .product-card {
    --pc-title-size: 10.107px;
    --pc-price-size: 7.979px;
    --pc-variant-width: 48px;
    --pc-variant-height: 56px;
    --pc-space-media-variants: 7px;
    --pc-space-variants-title: 4px;
    --pc-space-title-price: 6px;
  }
}

/* -------------------------------------------------------------------------
   Zipchat PDP questions
   The custom section column uses align-items: flex-start, which shrinks the
   app block to its longest word. Stretch it to the product-page column and
   Bottom spacing matches Customer Reviews (48px). Top padding stays 0.
   ------------------------------------------------------------------------- */

.shopify-section:has(zipchat-pdp-questions) .custom-section-content {
  grid-column: 2;
  width: 100%;
  min-width: 0;
}

.shopify-section:has(zipchat-pdp-questions) .section-content-wrapper {
  --vertical-alignment: flex-start !important;
  --vertical-alignment-mobile: flex-start !important;
  --padding-block-start: 0px !important;
  --padding-block-end: 48px !important;
  justify-content: flex-start !important;
  width: 100%;
  max-width: 100%;
}

.shopify-section:has(zipchat-pdp-questions) .shopify-app-block,
.shopify-section:has(zipchat-pdp-questions) zipchat-pdp-questions {
  align-self: stretch;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 100%;
  height: auto;
  font-family: var(--rsw-pdp-font, Aspekta, var(--font-body--family), sans-serif);
  color: var(--rsw-pdp-ink, #1e1e1e);
}

.shopify-section:has(zipchat-pdp-questions) zipchat-pdp-questions .pdp-question-header {
  align-items: center;
  width: 100%;
}

.shopify-section:has(zipchat-pdp-questions) zipchat-pdp-questions .pdp-question-title {
  font-family: var(--rsw-pdp-font, Aspekta, var(--font-body--family), sans-serif) !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  line-height: 1.25 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #000 !important;
}

.shopify-section:has(zipchat-pdp-questions) zipchat-pdp-questions .pdp-question-list {
  width: 100%;
  max-width: 100%;
}

.shopify-section:has(zipchat-pdp-questions) zipchat-pdp-questions .pdp-question-item,
.shopify-section:has(zipchat-pdp-questions) zipchat-pdp-questions .pdp-question-label {
  font-family: var(--rsw-pdp-font, Aspekta, var(--font-body--family), sans-serif) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  line-height: 1.4 !important;
}

.shopify-section:has(zipchat-pdp-questions) zipchat-pdp-questions .pdp-question-composer {
  width: 100%;
  max-width: 100%;
}

.shopify-section:has(zipchat-pdp-questions) zipchat-pdp-questions .pdp-question-composer input.pdp-question-input {
  font-family: var(--rsw-pdp-font, Aspekta, var(--font-body--family), sans-serif) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  line-height: 1.4 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.shopify-section:has(zipchat-pdp-questions) zipchat-pdp-questions .pdp-question-composer input.pdp-question-input::placeholder {
  font-family: inherit !important;
  font-size: 14px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

@media screen and (min-width: 750px) {
  .shopify-section:has(zipchat-pdp-questions) zipchat-pdp-questions .pdp-question-item,
  .shopify-section:has(zipchat-pdp-questions) zipchat-pdp-questions .pdp-question-label {
    font-size: 15px !important;
  }
