/** Shopify CDN: Minification failed

Line 1495:2 Unexpected "{"
Line 1495:3 Expected identifier but found "%"
Line 1496:90 Unexpected "`"
Line 1498:95 Unterminated string token
Line 1499:3 Expected identifier but found "%"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:airline-compatibility-drawer (INDEX:2) */
.drawer--airline {
    --drawer-width: 480px;
  }

  @media screen and (max-width: 749px) {
    .drawer--airline {
      --drawer-width: 100vw;
      --drawer-max-width: 100vw;
    }

    .drawer.drawer--airline::part(content) {
      max-width: 100vw;
      width: 100vw;
    }
  }

  .drawer.drawer--airline::part(content) {
    background-color: #ffffff;
  }

  .drawer.drawer--airline::part(header) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background-color: #ffffff;
  }

  .drawer--airline [slot="header"] {
    grid-area: auto;
    justify-self: auto;
    text-align: start;
    flex: 1 1 auto;
    min-width: 0;
  }

  .drawer.drawer--airline::part(close-button) {
    grid-area: auto;
    justify-self: auto;
    flex: 0 0 auto;
    order: 2;
  }

  .airline-compat {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 0;
  }

  .airline-compat__title {
    text-transform: uppercase;
  }

  .airline-compat__intro {
    font-size: var(--text-base);
    line-height: 1.7;
  }

  .airline-compat__count {
    background-color: var(--color-brand-beige-grey);
    color: rgb(var(--text-color));
    padding: 2px 8px;
    border-radius: 2px;
    font-weight: 500;
    white-space: nowrap;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  .airline-compat__product {
    display: grid;
    grid-template-columns: 85px 1fr;
    gap: 16px;
    align-items: center;
  }

  .airline-compat__product-subtitle {
    text-transform: lowercase;
  }

  .airline-compat__product-subtitle::first-letter {
    text-transform: uppercase;
  }

  .airline-compat__product-image {
    width: 85px;
    height: 85px;
    object-fit: contain;
    background-color: var(--color-brand-beige-grey);
  }

  .airline-compat__disclaimer {
    border: 1px solid rgb(var(--text-color) / 0.12);
    padding: 12px 16px;
    line-height: 1.4;
  }

  .airline-compat__search {
    position: relative;
    display: flex;
    align-items: center;
  }

  .airline-compat__search svg {
    position: absolute;
    inset-inline-end: 16px;
    width: 16px;
    height: 16px;
    pointer-events: none;
    opacity: 0.5;
  }

  .airline-compat__search-input {
    width: 100%;
    padding: 12px 44px 12px 16px;
    border: 0;
    border-radius: 4px;
    background-color: #f3f3f3;
    font-size: var(--text-sm);
    color: rgb(var(--text-color));
  }

  .airline-compat__search-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
  }

  .airline-compat__toggle {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
  }

  .airline-compat__toggle-track {
    position: relative;
    flex-shrink: 0;
    width: 28px;
    height: 16px;
    border-radius: 999px;
    background-color: var(--color-brand-beige-grey);
    transition: background-color 0.2s ease;
  }

  .airline-compat__toggle-track::after {
    content: "";
    position: absolute;
    top: 2px;
    inset-inline-start: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--color-brand-white);
    transition: transform 0.2s ease;
  }

  @media (hover: hover) {
    .airline-compat__toggle:hover .airline-compat__toggle-track {
      background-color: var(--color-brand-bleu);
    }
  }

  .airline-compat__toggle-input:checked + .airline-compat__toggle-track {
    background-color: var(--color-brand-bleu);
  }

  .airline-compat__toggle-input:checked + .airline-compat__toggle-track::after {
    transform: translateX(12px);
  }

  [dir="rtl"] .airline-compat__toggle-input:checked + .airline-compat__toggle-track::after {
    transform: translateX(-12px);
  }

  .airline-compat__toggle-input:focus-visible + .airline-compat__toggle-track {
    outline: 2px solid rgb(var(--text-color));
    outline-offset: 2px;
  }

  .airline-compat__toggle-label {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  .airline-compat__list-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-top: 12px;
    border-top: 1px solid rgb(var(--text-color) / 0.12);
    font-size: var(--text-sm);
    letter-spacing: 0.03em;
    color: rgb(var(--text-color));
  }

  .airline-compat__list-header-companies {
    text-transform: uppercase;
  }

  .airline-compat__list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .airline-compat__row {
    display: grid;
    grid-template-columns: 20px 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgb(var(--text-color) / 0.08);
  }

  .airline-compat__row[hidden] {
    display: none;
  }

  .airline-compat__status {
    display: inline-flex;
    width: 18px;
    height: 18px;
  }

  .airline-compat__status-icon {
    display: none;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    color: var(--color-brand-white);
  }

  .airline-compat__status-icon svg {
    width: 10px;
    height: 10px;
  }

  .airline-compat__row.is-compatible .airline-compat__status-icon--yes {
    display: inline-flex;
    background-color: #3c9d5a;
  }

  .airline-compat__row.is-incompatible .airline-compat__status-icon--no {
    display: inline-flex;
    background-color: #f7786f;
  }

  .airline-compat__name {
    font-size: var(--text-sm);
    letter-spacing: 0.03em;
    color: rgb(var(--text-color) / 0.8);
  }

  .airline-compat__dimensions {
    white-space: nowrap;
    text-align: end;
    font-size: var(--text-xs);
    color: rgb(var(--text-color) / 0.8);
  }
/* END_SECTION:airline-compatibility-drawer */

/* START_SECTION:breadcrumbs (INDEX:10) */
.breadcrumbs {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 57px;
    text-align: center;
    font-family: var(--text-font-family);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.03em;
    border-top: 1px solid rgb(var(--text-color) / 0.1);
  }

  .breadcrumbs a,
  .breadcrumbs__separator {
    color: rgb(var(--text-color) / 0.2);
  }

  .breadcrumbs a {
    text-decoration: none;
    transition: color 0.2s ease-in-out;
  }

  @media screen and (pointer: fine) {
    .breadcrumbs a:hover {
      color: rgb(var(--text-color));
    }
  }

  .breadcrumbs [aria-current="page"] {
    color: rgb(var(--text-color) / 0.8);
  }

  .breadcrumbs__list {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
  }

  .breadcrumbs__item {
    display: inline-flex;
    align-items: center;
    gap: 16px;
  }

  .breadcrumbs__separator {
    user-select: none;
  }

  @media screen and (max-width: 749px) {
    .breadcrumbs {
      justify-content: flex-start;
      text-align: left;
      padding: 0 16px;
    }

    .breadcrumbs__list {
      flex-wrap: nowrap;
      justify-content: flex-start;
      gap: 8px;
      overflow-x: auto;
      scrollbar-width: none;
      -ms-overflow-style: none;
      max-width: 100%;
    }

    .breadcrumbs__list::-webkit-scrollbar {
      display: none;
    }

    .breadcrumbs__item {
      gap: 8px;
      white-space: nowrap;
      flex-shrink: 0;
    }
  }
/* END_SECTION:breadcrumbs */

/* START_SECTION:capsule (INDEX:11) */
.capsule {
    --capsule-side-ratio: calc(114.16 / 222.39);
    --capsule-span-ratio: calc(1 + 4 * var(--capsule-side-ratio));
    --capsule-image-center: 222.39px;
    --capsule-image-side: 114.16px;
    --capsule-title-size: clamp(64px, 11cqw, 112px);
    --capsule-side-scale: var(--capsule-side-ratio);
    --capsule-gap: min(
      calc(50cqw - var(--capsule-image-side) / 2),
      calc(var(--capsule-image-center) / 2 + var(--capsule-image-side) / 2)
    );
    --capsule-gap-far: calc(var(--capsule-gap) + var(--capsule-image-side));

    display: block;
    width: 100%;
    container-type: inline-size;
    padding-inline: 0;
    overflow-x: clip;
  }

  @media screen and (min-width: 700px) {
    .capsule {
      --capsule-side-ratio: calc(231 / 450);
      --capsule-image-center: min(450px, max(114px, calc(100cqw / var(--capsule-span-ratio))));
      --capsule-image-side: calc(var(--capsule-image-center) * var(--capsule-side-ratio));
      --capsule-gap: calc(var(--capsule-image-center) / 2 + var(--capsule-image-side) / 2);
      --capsule-gap-far: calc(var(--capsule-gap) + var(--capsule-image-side));
      padding-inline: 24px;
    }
  }

  .capsule__inner {
    display: grid;
    justify-items: center;
    text-align: center;
  }

  .capsule__subheading {
    margin-block-end: 1.5rem;
  }

  .capsule__stage {
    position: relative;
    width: 100%;
    min-height: calc(var(--capsule-image-center) + var(--capsule-title-size) * 0.55);
  }

  .capsule__titles {
    position: absolute;
    inset-inline: 0;
    top: 0;
    min-height: calc(var(--capsule-title-size) * 1.1);
    display: grid;
    place-items: center;
    z-index: 2;
    pointer-events: none;
  }

  .capsule__title {
    grid-area: 1 / 1;
    margin: 0;
    max-width: 100%;
    font-weight: 500;
    font-size: var(--capsule-title-size);
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    opacity: 0;
    transition: opacity 0.5s ease;
  }

  .capsule__title.is-active {
    opacity: 1;
  }

  .capsule__title-break {
    display: none;
  }

  @media screen and (max-width: 699px) {
    .capsule__title-break {
      display: inline;
    }
  }

  .capsule__gallery-item {
    position: absolute;
    top: calc(var(--capsule-title-size) * 0.55 + var(--capsule-image-center) / 2);
    left: 50%;
    width: var(--capsule-image-center);
    height: var(--capsule-image-center);
    z-index: 1;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
  }

  .capsule.is-instant .capsule__gallery-item,
  .capsule.is-instant .capsule__title,
  .capsule__gallery-item.is-instant,
  .capsule__gallery-item.is-instant img,
  .capsule__gallery-item.is-instant svg {
    transition: none;
  }

  .capsule__gallery-item[data-slot='0'] {
    z-index: 3;
    transform: translate(-50%, -50%) scale(1);
  }

  .capsule__gallery-item[data-slot='-1'] {
    transform: translate(calc(-50% - var(--capsule-gap)), -50%) scale(var(--capsule-side-scale));
  }

  .capsule__gallery-item[data-slot='1'] {
    transform: translate(calc(-50% + var(--capsule-gap)), -50%) scale(var(--capsule-side-scale));
  }

  .capsule__gallery-item[data-slot='-2'] {
    transform: translate(calc(-50% - var(--capsule-gap-far)), -50%) scale(var(--capsule-side-scale));
  }

  .capsule__gallery-item[data-slot='2'] {
    transform: translate(calc(-50% + var(--capsule-gap-far)), -50%) scale(var(--capsule-side-scale));
  }

  .capsule__gallery-item[data-slot='off'] {
    transform: translate(-50%, -50%) scale(0);
  }

  .capsule__gallery-item img,
  .capsule__gallery-item svg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0.3;
    transition: opacity 0.6s ease;
  }

  .capsule__gallery-item[data-slot='0'] img,
  .capsule__gallery-item[data-slot='0'] svg {
    opacity: 1;
  }

  .capsule__placeholder > rect {
    fill: transparent;
  }

  .capsule__cta {
    --capsule-autoplay-size: 36px;
    --capsule-autoplay-gap: 1rem;

    position: relative;
    z-index: 4;
    margin-block-start: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--capsule-autoplay-gap);
  }

  /* Offsets the row so the CTA itself stays optically centered next to the toggle. */
  .capsule__cta:has(.capsule__autoplay) {
    padding-inline-start: calc(var(--capsule-autoplay-size) + var(--capsule-autoplay-gap));
  }

  .capsule__autoplay {
    flex: none;
    display: grid;
    place-items: center;
    width: var(--capsule-autoplay-size);
    height: var(--capsule-autoplay-size);
    padding: 0;
    border: 1px solid rgb(from currentcolor r g b / 25%);
    border-radius: 50%;
    background: transparent;
    color: inherit;
    cursor: pointer;
    transition: border-color 0.2s ease;
  }

  .capsule__autoplay:hover {
    border-color: currentcolor;
  }

  .capsule__autoplay-icon {
    grid-area: 1 / 1;
    display: grid;
    place-items: center;
  }

  .capsule__autoplay-icon--play,
  .capsule__autoplay[aria-pressed='true'] .capsule__autoplay-icon--pause {
    display: none;
  }

  .capsule__autoplay[aria-pressed='true'] .capsule__autoplay-icon--play {
    display: grid;
  }

  @media (prefers-reduced-motion: reduce) {
    .capsule__title,
    .capsule__gallery-item {
      transition: none;
    }
  }
/* END_SECTION:capsule */

/* START_SECTION:category-grid (INDEX:13) */
.category-grid .category-grid__inner {
    --category-grid-aspect-ratio: 375 / 582;
    position: relative;
    aspect-ratio: var(--category-grid-aspect-ratio);
    width: 100%;
    overflow: hidden;
  }

  @media screen and (min-width: 1000px) {
    .category-grid .category-grid__inner {
      --category-grid-aspect-ratio: 1440 / 820;
    }
  }

  @media screen and (max-width: 999px) {
    .category-grid .category-grid--default {
      width: 100vw;
      margin-inline-start: calc(50% - 50vw);
    }
  }

  .category-grid .category-grid__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
  }

  .category-grid .category-grid__image,
  .category-grid .category-grid__image .content-box {
    height: 100%;
  }

  .category-grid .category-grid__image {
    opacity: 0;
    transition: opacity 0.15s ease-in-out;
  }

  @media screen and (pointer: fine) {
    .category-grid .category-grid__inner:not(:has(.category-grid__link:hover)) .category-grid__image:first-child {
      opacity: 1;
    }

    .category-grid .category-grid__inner:has(.category-grid__link:hover) .category-grid__image {
      opacity: 0;
    }

    .category-grid .category-grid__image {
      transform: scale(1.03);
      transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
    }

    .category-grid .category-grid__inner:not(:has(.category-grid__link:hover)) .category-grid__image:first-child {
      transform: scale(1);
    }

    .category-grid .category-grid__inner:has(.category-grid__link:hover) .category-grid__image {
      transform: scale(1.03);
    }
  }

  @media screen and not (pointer: fine) {
    .category-grid .category-grid__inner:not(:has(.category-grid__link.is-active)) .category-grid__image:first-child {
      opacity: 1;
    }

    .category-grid .category-grid__inner:has(.category-grid__link.is-active) .category-grid__image {
      opacity: 0;
    }

    .category-grid .category-grid__image {
      transform: scale(1.03);
      transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
    }

    .category-grid .category-grid__inner:not(:has(.category-grid__link.is-active)) .category-grid__image:first-child {
      transform: scale(1);
    }

    .category-grid .category-grid__inner:has(.category-grid__link.is-active) .category-grid__image {
      transform: scale(1.03);
    }
  }

  .category-grid .category-grid__links {
    position: absolute;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 16px 32px;
    color: #ffffff;
    font-family: var(--heading-font-family);
    font-weight: 500;
    font-style: var(--heading-font-style);
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    font-size: var(--text-h2);
  }

  @media screen and (min-width: 1000px) {
    .category-grid .category-grid__links {
      bottom: 10px;
      left: 0;
      gap: 8px;
    }
  }

  @media screen and (max-width: 999px) {
    .category-grid .category-grid__links {
      inset: 0;
      align-items: center;
      justify-content: center;
      text-align: center;
    }
  }

  .category-grid .category-grid__link {
    font-weight: 400;
    color: inherit;
    text-decoration: none;
    transition: opacity 0.15s ease-in-out;
    opacity: 0.4;
  }

  @media screen and (pointer: fine) {
    .category-grid .category-grid__links:not(:hover) .category-grid__link:first-child {
      opacity: 1;
    }

    .category-grid .category-grid__links:hover .category-grid__link:hover {
      opacity: 1;
    }
  }

  @media screen and not (pointer: fine) {
    .category-grid .category-grid__links:not(:has(.category-grid__link.is-active)) .category-grid__link:first-child,
    .category-grid .category-grid__link.is-active {
      opacity: 1;
    }
  }
/* END_SECTION:category-grid */

/* START_SECTION:collection-navigation (INDEX:16) */
.collection-navigation {
    padding-inline: 4px;
    display: block;
    padding-block: 24px;
  }

  .collection-navigation__list {
    --distance-to-bleed: 12px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    overflow-x: auto;
  }

  .collection-navigation__button {
    --button-padding-inline: 0.85rem;
    width: max-content;
    opacity: 0.4;
  }

  .collection-navigation__button.button--outline {
    --button-text-color: var(--button-background);
  }

  .collection-navigation__button.is-active {
    --button-background: 169 183 203;
    --button-text-color: 45 37 32;
    background-color: rgb(var(--button-background));
    border-color: rgb(var(--button-background));
    color: rgb(var(--button-text-color));
    opacity: 1;
  }

  @media screen and (pointer: fine) {
    .collection-navigation__button:not(.is-active):hover {
      --button-background: 169 183 203;
      --button-text-color: 45 37 32;
      background-color: rgb(var(--button-background));
      border-color: rgb(var(--button-background));
      color: rgb(var(--button-text-color));
      opacity: 1;
    }
  }

  @media screen and (min-width: 700px) {
    .collection-navigation {
      padding-block: 44px;
    }

    .collection-navigation__list {
      gap: 10px;
    }
  }
/* END_SECTION:collection-navigation */

/* START_SECTION:editorial-carousel (INDEX:23) */
.editorial-carousel {
    /* mobile defaults (ref 375px) */
    --ec-center-w: calc(166 / 375 * 100vw);
    --ec-center-h: calc(var(--ec-center-w) * 252 / 166);
    --ec-side-w: calc(154 / 375 * 100vw);
    --ec-side-h: calc(177 / 375 * 100vw);
    --ec-side-scale: 0.92771;
    --ec-gap-ratio: 0.048193;

    display: block;
    width: 100%;
    container-type: inline-size;
    padding: 48px 16px;
    overflow-x: clip;
  }

  @media screen and (min-width: 700px) {
    .editorial-carousel {
      /* desktop (ref 1440px, content width 1344 = 462/1344 etc) */
      --ec-center-w: 34.375cqw;
      --ec-center-h: calc(var(--ec-center-w) * 513 / 462);
      --ec-side-scale: 0.603896;
      --ec-gap-ratio: 0.350649;

      padding: 72px 48px;
    }
  }

  .ec__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
    text-align: center;

    @media (max-width: 699px) {
      gap: 16px;
    }
  }

  .ec__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    max-width: 754px;
  }

  .ec__subheading,
  .ec__heading {
    margin: 0;
  }

  .ec__body {
    margin: 0;
    max-width: 754px;
  }

  .ec__heading {
    text-transform: uppercase;
    font-weight: 500;
  }

  .ec__body {
    color: rgb(var(--text-color) / 0.8);
  }

  /* body renders twice: above the stage on mobile, below it on desktop */
  .ec__body--desktop { display: none; }

  @media screen and (min-width: 700px) {
    .ec__body--mobile { display: none; }
    .ec__body--desktop { display: block; }
  }

  .ec__stage {
    position: relative;
    width: 100%;
    min-height: var(--ec-center-h);
  }

  /* mobile: full-bleed so the side slides overflow the viewport edges */
  @media screen and (max-width: 699px) {
    .ec__stage {
      width: 100vw;
      margin-inline: calc(50% - 50vw);
    }
  }

  .ec__item {
    --ec-pos: 0px;
    --ec-item-scale: var(--ec-side-scale);
    position: absolute;
    top: 50%;
    left: 50%;
    width: var(--ec-center-w);
    height: var(--ec-center-h);
    transform: translate(calc(-50% + var(--ec-pos)), -50%) scale(var(--ec-item-scale));
    transition:
      transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),
      width 0.6s cubic-bezier(0.4, 0, 0.2, 1),
      height 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    z-index: 1;
  }

  /* mobile: side slots use real dims (not uniform scale) so the shorter
     154x177 aspect crops correctly instead of inheriting the tall center aspect */
  @media screen and (max-width: 699px) {
    .ec__item:not(.is-active) {
      --ec-item-scale: 1;
      width: var(--ec-side-w);
      height: var(--ec-side-h);
    }
  }

  /* hide until JS positions the slots, avoids a stacked flash on load */
  .editorial-carousel:not(.is-ready) .ec__item {
    opacity: 0;
  }

  .editorial-carousel.is-instant .ec__item,
  .ec__item.is-instant,
  .ec__item.is-instant img,
  .ec__item.is-instant svg {
    transition: none;
  }

  .ec__item img,
  .ec__item svg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ec__item.is-active {
    --ec-item-scale: 1;
    z-index: 3;
    cursor: default;
  }

  .ec__placeholder {
    background: rgb(var(--text-color) / 0.06);
  }

  .ec__placeholder > rect {
    fill: transparent;
  }

  .ec__cta {
    position: relative;
    z-index: 4;
  }

  @media (prefers-reduced-motion: reduce) {
    .ec__item {
      transition: none;
    }
  }
/* END_SECTION:editorial-carousel */

/* START_SECTION:faq (INDEX:24) */
.shopify-section--faq .section-header .prose {
    display: grid;
    gap: 24px;
  }

  .shopify-section--faq .section-header .prose > * {
    margin-block: 0;
  }

  .shopify-section--faq .section-header .prose .max-w-sm > :first-child {
    margin-block-start: 0;
  }

  .shopify-section--faq .section-header .prose > :is(a.button, button.button, a.link) {
    width: fit-content;
  }

  .shopify-section--faq .section-split__column {
    padding-inline: 16px;
  }

  .shopify-section--faq .section-split__column:first-child {
    padding-block-end: 40px;
  }

  @media screen and (min-width: 1000px) {
    .shopify-section--faq .faq__inner {
      padding: 48px;
    }

    .shopify-section--faq .faq__inner .section-split {
      gap: 48px;
    }

    .shopify-section--faq .faq__inner .section-split__column {
      padding: 0;
    }

    .shopify-section--faq .faq__inner .section-split__column:first-child {
      padding-block-end: 0;
    }
  }
/* END_SECTION:faq */

/* START_SECTION:featured-product-list (INDEX:27) */
.shopify-section--featured-product-list .featured-product-list-header__preheading {
    margin: 0;
    font-family: var(--text-font-family);
    font-weight: 400;
    font-style: var(--text-font-style);
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  .shopify-section--featured-product-list .featured-product-list-header__heading {
    margin: 0;
    font-family: var(--heading-font-family);
    font-weight: 500;
    font-style: var(--heading-font-style);
    font-size: var(--text-h2);
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .shopify-section--featured-product-list .featured-product-list-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.8rem 2rem;
  }

  @media screen and (min-width: 700px) {
    .shopify-section--featured-product-list .featured-product-list-header {
      flex-wrap: nowrap;
    }
  }

  .shopify-section--featured-product-list .featured-product-list-header__link {
    font-family: var(--text-font-family);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    color: currentColor;
    cursor: pointer;
  }

  .shopify-section--featured-product-list .featured-product-list-header__link-text {
    background: linear-gradient(to right, currentColor, currentColor) 0 100% / 0 1px no-repeat;
    transition: background-size .2s ease-in-out;
  }

  .shopify-section--featured-product-list .featured-product-list-header__link-icon {
    flex-shrink: 0;
    line-height: 0;
    transition: transform .2s ease-in-out;
  }

  @media screen and (pointer: fine) {
    .shopify-section--featured-product-list .featured-product-list-header__link:hover .featured-product-list-header__link-text {
      background-size: 100% 1px;
    }

    .shopify-section--featured-product-list .featured-product-list-header__link:hover .featured-product-list-header__link-icon {
      transform: translateX(4px);
    }
  }
/* END_SECTION:featured-product-list */

/* START_SECTION:hero (INDEX:31) */
.hero {
    display: block;
    padding: 4px;
  }

  .hero__inner {
    padding: var(--hero-space-top) var(--hero-space-right)
      var(--hero-space-bottom) var(--hero-space-left);
  }

  @media (prefers-reduced-motion: reduce) {
    .hero[scroll-animate] .hero__inner {
      padding: 0;
    }
  }

  .hero__box {
    position: relative;
    z-index: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .hero__card-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    text-decoration: none;
  }

  .hero__media {
    position: relative;
    grid-area: 1 / 1;
    width: 100%;
    height: 100%;
    min-height: 100%;
    aspect-ratio: 1344 / 715;
    overflow: hidden;
    background-color: rgb(var(--background));
  }

  @media screen and (max-width: 749px) {
    .hero__media {
      aspect-ratio: 315 / 460;
    }
  }

  @media screen and (min-width: 1000px) {
    .hero__inner {
      padding-top: 40px;
    }

    .hero__media {
      max-height: calc(
        100vh - var(--header-group-height) - 8px - 40px -
          var(--hero-space-bottom)
      );
      max-height: calc(
        150svh - var(--header-group-height) - 8px - 40px -
          var(--hero-space-bottom)
      );
    }
  }

  .hero__media video-media,
  .hero__media .hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .hero__media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .hero__media > img,
  .hero__media > svg,
  .hero__media .hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .hero__overlay {
    position: absolute;
    inset: 0;
    background: rgb(var(--hero-overlay-color, 0 0 0));
    opacity: var(--hero-overlay-opacity);
    pointer-events: none;
  }

  .hero__content {
    position: relative;
    grid-area: 1 / 1;
    z-index: 5;
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    padding: 3rem 1.5rem;
    pointer-events: none;
  }

  @media screen and (min-width: 1000px) {
    .hero__content {
      padding: 6.7vw;
    }
  }

  .hero__content-inner {
    pointer-events: auto;
  }

  .hero__content-inner .subheading {
    opacity: 0.85;
  }

  .hero__content-inner div + .button {
    margin-block-start: 1.2rem;
  }

  @media screen and (min-width: 1000px) {
    .hero__content-inner div + .button {
      margin-block-start: 1.75rem;
    }
  }

  .hero__content-inner
    p:not(
      .display-xl,
      .display-l,
      .display-m,
      .h1,
      .h2,
      .h3,
      .h4,
      .h5,
      .h6,
      .h7
    ) {
    letter-spacing: 0.03em;
  }

  /* Product card */
  .hero__product-card {
    --text-color: var(--color-brand-black-beige);

    position: absolute;
    z-index: 2;
    display: flex;
    background: var(--color-brand-white);
    color: var(--color-brand-black-beige);
    text-decoration: none;
    width: 14.75rem;
  }

  @media screen and (max-width: 999px) {
    .hero__product-card-mobile--bottom-right {
      bottom: 1.5rem;
      right: 1.5rem;
    }

    .hero__product-card-mobile--bottom-left {
      bottom: 1.5rem;
      left: 1.5rem;
    }

    .hero__product-card-mobile--top-right {
      top: 1.5rem;
      right: 1.5rem;
    }

    .hero__product-card-mobile--top-left {
      top: 1.5rem;
      left: 1.5rem;
    }
  }

  @media screen and (min-width: 1000px) {
    .hero__product-card {
      width: 14.75rem;
      transform: translateY(var(--hero-card-align-shift, 0));
      visibility: hidden;
    }

    .hero__product-card[data-align-ready] {
      visibility: visible;
    }

    .hero__product-card--bottom-right {
      bottom: 4.5vw;
      right: 7.1vw;
    }

    .hero__product-card--bottom-left {
      bottom: 6.7vw;
      left: 7.1vw;
    }

    .hero__product-card--top-right {
      top: 6.7vw;
      right: 7.1vw;
    }

    .hero__product-card--top-left {
      top: 6.7vw;
      left: 7.1vw;
    }
  }

  .hero__product-card-media {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1 0 65px;
    max-width: 65px;
    height: 64px;
    padding: 5px;
    background-color: var(--color-brand-beige-grey);
  }

  .hero__product-card-image {
    display: block;
    width: 100%;
    height: auto;
  }

  .hero__product-card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.25rem;
    padding-block: 0.3rem 0.2rem;
    padding-inline: 0.63rem;
  }

  @media screen and (min-width: 1000px) {
    .hero__product-card-content {
      padding-block: 0.5rem 0.2rem;
      padding-inline: 0.5rem;
    }
  }

  .hero__product-card-title {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.09em;
  }

  @media screen and (min-width: 1000px) {
    .hero__product-card-title {
      font-size: 1rem;
      letter-spacing: 0;
    }
  }

  .hero__product-card-price * {
    font-size: 0.875rem !important;
    font-weight: 500;
    line-height: 1.2;
  }

  @media screen and (min-width: 1000px) {
    .hero__product-card-price * {
      font-size: 1rem;
    }
  }

  .hero__product-card-price .text-on-sale {
    color: var(--color-brand-black-beige);
  }
/* END_SECTION:hero */

/* START_SECTION:image-overlay-box (INDEX:33) */
.iob {
    --content-box-spacing: 16px;
  }

  .iob .iob__text {
    background: none;
  }

  .iob__text {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: var(--iob-text-max, 560px);
  }

  .iob__text .subheading,
  .iob__text h2 {
    margin: 0;
  }

  .iob__text h2 {
    text-transform: uppercase;
  }

  .iob__box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding: 30px;
    width: min(var(--iob-box-max, 480px), 100%);
  }

  .iob__body {
    font-size: 14px;
    line-height: 1.215;
    letter-spacing: 0.03em;
    margin: 0;
  }

  @media screen and (min-width: 700px) {
    .iob {
      --content-box-spacing: 48px;
    }

    .iob__box {
      padding: 48px;
    }
  }
/* END_SECTION:image-overlay-box */

/* START_SECTION:main-product (INDEX:53) */
.product-info.product-info {
    --product-block-item-margin: 0.8rem;
  }

  .shopify-section--main-product .product-info .product-info__block-item[data-block-type='title'],
  .shopify-section--main-product .product-info .product-info__block-item[data-block-type='type'],
  .shopify-section--main-product .product-info .product-info__block-item[data-block-type='price'] {
    --product-block-item-margin: 0.4rem;
  }

  .product-info
    .product-info__block-item[data-block-type='price']:not(:last-child) {
    margin-block-end: 1.25rem;
  }

  .product-info .product-info__block-item[data-block-type='description'] {
    font-size: 0.75rem;
    color: var(--color-brand-black-60);
    letter-spacing: 0.03em;
  }

  @media screen and (min-width: 700px) {
    .product-info .product-info__block-item[data-block-type='description'] {
      font-size: 0.875rem;
    }
  }

  .product-info .product-info__block-item[data-block-type='separator'] {
    --product-block-item-margin: 1.06rem;
  }

  @media screen and (min-width: 700px) {
    .product-info .product-info__block-item[data-block-type='separator'] {
      --product-block-item-margin: 1.2rem;
    }
  }

  .product-info
    .product-info__block-item[data-block-type='variant-picker']
    + .product-info__block-item[data-block-type='button'] {
    margin-block-start: 1.2rem;
  }

  .product-info .product-info__block-item[data-block-type='button'] .button,
  .product-info
    .product-info__block-item[data-block-type='buy-buttons']
    .button {
    --button-padding-block: 0.975rem;
    --button-padding-inline: 1.2rem;
  }

  .product-info
    .product-info__block-item[data-block-type='button']
    + .product-info__block-item[data-block-type='buy-buttons'] {
    margin-block-start: -0.3rem;
  }

  @media screen and (min-width: 700px) {
    .product-info
      .product-info__block-item[data-block-type='button']
      + .product-info__block-item[data-block-type='buy-buttons'] {
      margin-block-start: -0.6rem;
    }
  }

  .product-info
    .product-info__block-item[data-block-type='buy-buttons']
    .button {
    background: var(--color-brand-black-beige);
  }

  .product-info .product-info__block-item[data-block-type='message-slider'] {
    --product-block-item-margin: -0.3rem;
  }

  .shopify-section--main-product .product-info .product-title {
    letter-spacing: 0.04em;
    padding-bottom: 0;
    line-height: 1;
  }

  .shopify-section--main-product .product-info .product-title__name {
    display: block;
  }

  /* The attributes live inside the `h1`, so the heading typography has to be reset here. */
  .shopify-section--main-product .product-info .product-type {
    display: block;
    font-family: var(--text-font-family);
    font-weight: 500;
    font-size: 1rem;
    color: var(--color-brand-black-60);
    letter-spacing: 0.01em;
    line-height: var(--heading-line-height);
    text-transform: lowercase;
  }

  /* Reproduces the gap the standalone `type` block used to get from the block list (measured: 7.2px). */
  .shopify-section--main-product .product-info .product-title__attributes {
    margin-block-start: 0.4rem;
  }

  .shopify-section--main-product .product-info .product-type::first-letter {
    text-transform: uppercase;
  }

  {%- comment -%}
    The theme gives the title block a negative bottom margin so it sits tight against the `type` block.
    Now that the type is inside the `h1`, that negative margin has to be neutralised, otherwise the next
    block moves up: the following block's own top margin then drives the gap, as it did before.
  {%- endcomment -%}
  .shopify-section--main-product
    .product-info
    .product-info__block-item[data-block-type='title']:not(:last-child) {
    margin-block-end: 0;
  }

  .shopify-section--main-product .product-info .product-info__block-item[data-block-type='price'] .price-list {
    line-height: var(--heading-line-height);
  }

  @media screen and (min-width: 700px) {
    .shopify-section--main-product .product-info .product-type {
      font-size: 1.25rem;
    }
  }

  .read-more {
    display: block;
  }

  .read-more__content {
    max-height: var(--read-more-collapsed-height, 2lh);
    overflow: hidden;
    transition: max-height 0.35s ease;
  }

  .read-more[data-expanded] .read-more__content {
    max-height: var(--read-more-full-height, none);
  }

  .read-more__toggle {
    margin-block-start: 0.35rem;
    font-size: 0.75rem;
    letter-spacing: 0.03em;
    cursor: pointer;
  }

  @media screen and (min-width: 700px) {
    .read-more__toggle {
      font-size: 0.875rem;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .read-more__content {
      transition: none;
    }
  }

  .product-info .variant-picker__option {
    margin-block: 1.25rem;
  }

  .product-info .variant-picker__option:first-of-type {
    margin-block-start: 0;
  }

  .product-info .variant-picker__option:last-of-type {
    margin-block-end: 0;
  }

  .product-info .variant-picker__option-info {
    font-size: 0.75rem;
    letter-spacing: 0.03em;
  }

  @media screen and (min-width: 700px) {
    .product-info .variant-picker__option-info {
      font-size: 0.875rem;
    }
  }

  /* The size can be a static label instead of a selector (single size in the slot, or no sibling
     product at all), in which case it is a span rather than a fieldset legend — it still has to read
     exactly like the selector labels. */
  .product-info .variant-picker__option-info legend,
  .product-info .variant-picker__option-info .variant-picker__option-legend {
    text-transform: uppercase;
  }

  .product-info .variant-picker__option-info legend + span,
  .product-info .variant-picker__option-info .variant-picker__option-legend + span {
    color: var(--color-brand-black-60);
  }

  /* Static size line (no selector to pick from). The rules above zero the option margins through
     ":first-of-type"/":last-of-type", which match on element type: this row is a div while the option
     groups are fieldsets, so it ends up both first and last of its type and loses both margins. The
     doubled class restores the same 1.25rem the size fieldset gets on a multi-size product, and the
     row-gap keeps the utility links off the size once they wrap on narrow screens. */
  .product-info .variant-picker__option.variant-picker__option--size-static {
    margin-block-start: 1.25rem;
  }

  .product-info .variant-picker__option--size-static .variant-picker__option-info {
    row-gap: 0.5rem;
  }

  .product-info .variant-picker__option-link,
  .product-info .variant-picker__option-link .link {
    font-family: var(--font-inter);
    font-size: 0.75rem;
    letter-spacing: 0;
  }

  .product-info .variant-picker__option .select {
    --input-padding-block: 0.55rem;
    --input-padding-inline: 0.7rem;
  }

  @media screen and (min-width: 700px) {
    .product-info .variant-picker__option .select {
      --input-padding-block: 0.6rem;
      --input-padding-inline: 1.2rem;
    }
  }

  .product-info .variant-picker__option .select > svg {
    inset-inline-end: calc(var(--input-padding-inline) - 1px);
  }

  .product-info .variant-picker__option-selected .select {
    --input-padding-block: 0.75rem;
    --input-padding-inline: 0.9375rem;
    border: 1px solid #dadada;
    border-radius: 5px;
    background: transparent;
    text-transform: none;
    min-height: 50px;
    transition: background-color 0.15s ease, border-color 0.15s ease;
  }

  .product-info .variant-picker__option-selected .select:hover,
  .product-info .variant-picker__option-selected .select:focus-visible {
    background: rgb(251, 250, 249);
    border-color: #b8b8b8;
  }

  .product-info
    .variant-picker__option-selected
    .variant-picker__option-selected-value {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.5px;
    color: rgb(13, 9, 0);
    text-transform: none;
  }

  .product-info .variant-picker__option-selected-value span + span {
    font-size: 12px;
    font-weight: 400;
    color: rgb(66, 66, 66);
    letter-spacing: 0.5px;
    text-transform: none;
  }

  .product-info
    .variant-picker__option-selected
    .popover__value-option
    .h-stack {
    width: 100%;
    justify-content: space-between;
    align-items: baseline;
  }

  .product-info .variant-picker__option-selected .popover__value-option {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.5px;
    color: rgb(13, 9, 0);
    text-transform: none;
  }

  .product-info
    .variant-picker__option-selected
    .popover__value-option
    span
    + span {
    font-size: 12px;
    font-weight: 400;
    color: rgb(66, 66, 66);
    letter-spacing: 0.5px;
    text-transform: none;
  }

  .product-info
    .variant-picker__option-values
    .color-swatch--rectangle.color-swatch--sm {
    --swatch-height: 15px;
    --swatch-width: 21px;
  }

  @media screen and (min-width: 700px) {
    .product-info
      .variant-picker__option-values
      .color-swatch--rectangle.color-swatch--sm {
      --swatch-height: 20px;
      --swatch-width: 28px;
    }
  }

  .product-info .variant-picker__option-values .color-swatch--rectangle {
    border-radius: 4px;
  }

  .product-info
    .variant-picker__option-values
    .color-swatch:is(:checked + .color-swatch, .color-swatch.is-selected)
    .color-swatch__indicator {
    inset: 0;
    height: 100%;
    border-radius: 4px;
    border: 1px solid var(--color-brand-black-beige);
    background: transparent;
    pointer-events: none;
  }

  /* Allow the rightmost swatch tooltip to escape the sticky column instead of being clipped */
  .product-info.product-info {
    overflow: visible !important;
  }

  /* Keep the color swatch tooltip centered over its swatch (base rule drops the centering transform) */
  @media screen and (pointer: fine) {
    .product-info
      .variant-picker__option-values
      [data-tooltip-style='color']::after {
      transform: translateX(-50%);
    }

    /* Rightmost swatch sits flush to the column edge: anchor its tooltip inward so a long
       color name never gets clipped nor pushes the page into horizontal scroll */
    .product-info
      .variant-picker__option-values
      [data-tooltip-style='color']:last-child::after {
      left: auto;
      right: 0;
      transform: none;
    }
  }

  .product-sticky-add-to-cart.product-sticky-add-to-cart {
    border-color: var(--color-brand-black-beige-20);
  }

  @media screen and (max-width: 699px) {
    .product-sticky-add-to-cart.product-sticky-add-to-cart {
      background-color: transparent;
      padding: 0 var(--container-gutter) 1rem;
    }
  }

  @media screen and (min-width: 700px) {
    .product-sticky-add-to-cart.product-sticky-add-to-cart {
      background-color: var(--color-brand-white);
      padding: 16px 31px 16px 16px;
    }
  }

  .product-sticky-add-to-cart.product-sticky-add-to-cart img.constrained-image {
    --image-max-width: 78px !important;
  }

  .product-sticky-add-to-cart.product-sticky-add-to-cart
    .product-sticky-add-to-cart__title {
    font-size: 1rem;
  }

  .product-sticky-add-to-cart.product-sticky-add-to-cart
    .product-sticky-add-to-cart__type {
    font-size: 0.875rem;
    letter-spacing: 0.03em;
    text-transform: lowercase;
  }

  .product-sticky-add-to-cart.product-sticky-add-to-cart
    .product-sticky-add-to-cart__type::first-letter {
    text-transform: uppercase;
  }

  .product-sticky-add-to-cart.product-sticky-add-to-cart .price-list > * {
    font-size: 0.875rem;
    letter-spacing: 0.03em;
    color: var(--color-brand-black-beige);
  }

  .product-sticky-add-to-cart.product-sticky-add-to-cart .button {
    --button-padding-block: 1rem;
  }
/* END_SECTION:main-product */

/* START_SECTION:product-main-features (INDEX:65) */
.shopify-section--product-main-features .product-main-features__carousel-wrapper {
    min-width: 0;
  }

  .shopify-section--product-main-features .product-main-features__carousel {
    display: flex;
    scroll-snap-type: x mandatory;
    scroll-snap-stop: always;
  }

  .shopify-section--product-main-features .product-main-features__slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    align-items: center;
  }

  .shopify-section--product-main-features .product-main-features__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }

  .shopify-section--product-main-features .product-main-features__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .shopify-section--product-main-features .product-main-features__counter {
    letter-spacing: 0.42px;
  }

  .shopify-section--product-main-features .product-main-features__title {
    margin: 0;
  }

  .shopify-section--product-main-features .product-main-features__description {
    margin: 0;
    color: rgb(var(--text-color) / 0.8);
  }

  @media screen and (min-width: 1000px) {
    .shopify-section--product-main-features .product-main-features__slide {
      grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
      gap: 48px;
    }

    .shopify-section--product-main-features .product-main-features__content {
      padding-inline-end: 48px;
    }
  }
/* END_SECTION:product-main-features */

/* START_SECTION:product-modules (INDEX:66) */
.shopify-section--product-modules .product-modules__inner {
    padding-inline: 48px;
    padding-block: var(--section-vertical-spacing, 3rem);
  }

  .shopify-section--product-modules .product-modules__grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 48px;
    align-items: start;
  }

  @media screen and (min-width: 1000px) {
    .shopify-section--product-modules .product-modules__grid {
      grid-template-columns: minmax(0, 816fr) minmax(0, 519fr);
    }

    .shopify-section--product-modules .product-modules__sidebar {
      position: sticky;
      top: calc(var(--sticky-area-height) + 20px);
      align-self: start;
    }
  }

  .shopify-section--product-modules .product-modules__left {
    display: flex;
    flex-direction: column;
    gap: 48px;
    min-width: 0;
  }

  .shopify-section--product-modules .product-modules__sidebar {
    display: flex;
    flex-direction: column;
    gap: 32px;
    min-width: 0;
  }

  .shopify-section--product-modules .product-modules__accordions .accordion {
    box-sizing: border-box;
  }

  /* Accordion titles, iso maquette (14px was rendering at 12px on mobile via inheritance) */
  .shopify-section--product-modules .product-modules__accordions .accordion__summary {
    font-size: 0.875rem;
    letter-spacing: 0.42px;
    padding-block: 24px;
  }

  .shopify-section--product-modules .product-modules__pictograms,
  .shopify-section--product-modules .product-modules__pictogram-label {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
  }

  @media screen and (max-width: 999px) {
    .shopify-section--product-modules .product-modules__inner {
      padding-inline: 16px;
    }

    .shopify-section--product-modules .product-modules__grid {
      display: flex;
      flex-direction: column;
      gap: 36px;
    }

    .shopify-section--product-modules .product-modules__left,
    .shopify-section--product-modules .product-modules__sidebar {
      display: contents;
    }

    .shopify-section--product-modules .product-modules__pairs-slot {
      order: 1;
      min-width: 0;
      width: 100%;
    }

    .shopify-section--product-modules .product-modules__accordions {
      min-width: 0;
      width: 100%;
    }

    .shopify-section--product-modules .product-modules__pictograms,
    .shopify-section--product-modules .product-modules__pictogram-label {
      font-size: 0.625rem;
    }

    .shopify-section--product-modules .product-modules__pictograms-slot {
      width: 100%;
    }
  }
/* END_SECTION:product-modules */

/* START_SECTION:push-category (INDEX:68) */
.categories {
    --category-card-width: 285px;
    --category-card-height: 340px;
    --category-card-gap: 4px;
    --category-scale-min: 0.772;
    --category-scale-max: 1;
    --category-scale-falloff: 2;

    display: block;
    overflow: hidden;
  }

  .categories__slider {
    margin-left: calc((var(--category-card-width) + var(--category-card-gap)) * var(--category-scale-falloff) * -1);
    margin-right: calc((var(--category-card-width) + var(--category-card-gap)) * var(--category-scale-falloff) * -1);
  }

  .categories[data-block-count="1"] .categories__slider {
    margin-left: 0;
    margin-right: 0;
    display: flex;
    justify-content: center;
  }

  .categories[data-block-count="1"] .category__item--clone {
    display: none;
  }

  .category__item {
    width: var(--category-card-width);
    height: var(--category-card-height);
    padding: 0 calc(var(--category-card-gap) / 2);
    box-sizing: content-box;
  }

  .category__card {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
    will-change: transform;
  }

  .category__card:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 5;
    width: 100%;
    height: 40%;
    background: linear-gradient(to bottom, rgba(102, 102, 102, 0) 0%, rgba(0, 0, 0, 1) 100%)
  }

  .category__card-media {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .category__card-media svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .category__card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .category__card-content {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 9px;
    padding: 24px;
    color: var(--color-brand-white);
  }

  @media screen and (min-width: 700px) {
    .category__card-content {
      gap: 8px;
    }
  }

  .category__card-link {
    position: absolute;
    inset: 0;
    z-index: 15;
  }

  .category__card-heading {
    font-weight: 500;
    font-size: var(--text-h4);
  }

  .category__card-inner {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .category__card-description {
    font-weight: 400;
    font-size: var(--text-sm);
    letter-spacing: 0.03em;
    line-height: 1.15;
  }

  @media screen and (min-width: 700px) {
    .category__card-description {
      font-size: var(--text-base);
    }
  }

  .category__card-button {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 500;
    font-size: var(--button-font-size);
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .category__card-button-icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 27px;
    height: 24px;
    border-radius: 4px;
    background-color: var(--color-brand-white);
    padding: 7px;
    color: var(--color-brand-black-beige);
  }

  .category__card-button-icon svg {
    display: block;
    width: 100%;
    height: auto;
  }

  @media screen and (min-width: 700px) {
    .categories {
      --category-card-width: 420px;
      --category-card-height: 500px;
      --category-scale-min: 0.524;
    }
  }

  @media screen and (min-width: 1300px) {
    .category__item--clone {
      display: none;
    }

    .categories {
      --category-desktop-scale-small: 0.524;
      --category-desktop-scale-mid: 0.8;

      overflow: hidden;
    }

    .categories__slider {
      min-height: var(--category-card-height);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-left: 0;
      margin-right: 0;
      transition: transform 0.5s ease-out;
    }

    .category__item {
      flex-shrink: 0;
      width: calc(var(--category-card-width) * var(--category-desktop-scale-small));
      min-width: 0;
      max-width: 100%;
      height: calc(var(--category-card-height) * var(--category-desktop-scale-small));
      transition: width 0.5s ease-out, height 0.5s ease-out;
    }

    .category__card {
      transition: transform 0.35s ease-out;
    }

    .category__card-inner {
      display: flex;
      flex-direction: column;
      gap: 8px;
      overflow: hidden;
      max-height: 0;
      opacity: 0;
      transition: max-height 0.5s ease-out, opacity 0.5s ease-out;
    }

    .category__card-description {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 1;
      overflow: hidden;
    }

    .category__card-heading,
    .category__card-button {
      font-weight: 400;
    }

    .categories__slider .category__item:hover .category__card-inner {
      max-height: 100%;
      opacity: 1;
    }
  }
/* END_SECTION:push-category */

/* START_SECTION:styleguide (INDEX:81) */
.styleguide {
    padding: 4rem var(--container-gutter);
    max-width: 1200px;
    margin: 0 auto;
  }

  .styleguide__section {
    margin-bottom: 5rem;
  }

  .styleguide__section-title {
    font-size: var(--text-sm);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding-bottom: 0.75rem;
    margin-bottom: 2.5rem;
    border-bottom: 1px solid currentColor;
  }

  .styleguide__row {
    margin-bottom: 2rem;
  }

  .styleguide__label {
    font-size: var(--text-xs);
    opacity: 0.5;
    margin-bottom: 0.5rem;
    font-family: monospace;
  }

  .styleguide__swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem;
  }

  .styleguide__swatch {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }

  .styleguide__swatch-color {
    width: 4rem;
    height: 4rem;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.1);
  }

  .styleguide__swatch-name {
    font-size: 0.6rem;
    font-family: monospace;
    text-align: center;
    max-width: 5rem;
    word-break: break-all;
    opacity: 0.7;
  }

  .styleguide__subtitle {
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1rem;
    margin-top: 2rem;
    opacity: 0.6;
  }

  .styleguide__scheme {
    padding: 1.5rem;
    margin-bottom: 1rem;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.1);
  }

  .styleguide__scheme-id {
    font-size: var(--text-xs);
    font-family: monospace;
    opacity: 0.5;
    margin-bottom: 1rem;
  }
/* END_SECTION:styleguide */

/* START_SECTION:ugc-stories (INDEX:88) */
.ugc-stories {
    --distance-to-bleed: var(--container-gutter);

    overflow-x: clip;
  }

  .ugc-stories__layout {
    display: grid;
    gap: 2rem;
  }

  .ugc-stories__header {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding-inline: 48px;
  }

  .ugc-stories__heading,
  .ugc-stories__heading > * {
    margin: 0;
    text-transform: uppercase;
  }

  .ugc-stories__content {
    margin: 0;
    max-width: 28rem;
  }

  .ugc-stories__controls {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }

  .ugc-stories__controls[hidden] {
    display: none;
  }

  .ugc-stories__arrow[type="button"] {
    display: grid;
    place-items: center;
    width: 27px;
    height: 24px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background-color: rgb(var(--background-secondary));
    color: inherit;
    cursor: pointer;
  }

  @media screen and (pointer: fine) {
    .ugc-stories__arrow[type="button"]:hover:not(:disabled) {
      opacity: 0.7;
    }
  }

  .ugc-stories__arrow:disabled {
    opacity: 0.4;
    cursor: default;
  }

  .ugc-stories__arrow svg {
    display: block;
  }

  .ugc-stories__page-indicator {
    font-variant-numeric: tabular-nums;
  }

  /* Réservation de hauteur avant le montage du widget (anti-CLS). Les ratios
     miment la hauteur d'une rangée de tuiles de la section "UGC" (tuile 326/546,
     2 par vue en mobile, 3 en desktop). Le JS remet `aspect-ratio: auto` dès
     que le widget est mesuré, la hauteur réelle prend alors le relais. */
  .ugc-stories__widget-wrapper {
    min-width: 0;
    align-self: start;
    aspect-ratio: 1.19;
  }

  /* Le widget Join Stories gère son propre slider dans un shadow DOM : on ne
     peut pas styler ses cartes depuis ici. Seule la largeur de colonne et le
     `zoom` posé par le JS pilotent leur taille. */
  .ugc-stories__widget {
    display: block;
    width: 100%;
  }

  @media screen and (min-width: 1000px) {
    .ugc-stories__layout {
      grid-template-columns: minmax(280px, 35%) minmax(0, 1fr);
      align-items: stretch;
      gap: 0;
    }

    .ugc-stories__header {
      padding-block: var(--container-gutter);
      padding-inline: 48px;
    }

    .ugc-stories__header-footer {
      margin-block-start: auto;
    }

    /* Débord vers le bord droit, comme le carousel de la section "UGC" :
       la dernière story est coupée par le bord de page (clip sur .ugc-stories). */
    .ugc-stories__widget-wrapper {
      margin-inline-end: calc(-1 * var(--container-gutter));
      aspect-ratio: 1.87;
    }
  }

  @media screen and (max-width: 999px) {
    .ugc-stories.section-spacing {
      padding-block: 0;
    }

    .ugc-stories__layout {
      padding-block-start: var(--section-vertical-spacing);
    }

    /* Même inset de 4px que le carousel de la section "UGC" en mobile. */
    .ugc-stories__widget-wrapper {
      padding: 4px;
    }
  }
/* END_SECTION:ugc-stories */

/* START_SECTION:ugc (INDEX:89) */
.ugc {
    --ugc-block-gap: 4px;
    --distance-to-bleed: var(--container-gutter);

    overflow-x: clip;
  }

  .ugc__layout {
    display: grid;
    gap: 2rem;
  }

  .ugc__header {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding-inline: 48px;
  }

  .ugc__heading,
  .ugc__heading .heading {
    margin: 0;
    text-transform: uppercase;
  }

  .ugc__content {
    margin: 0;
    max-width: 28rem;
  }

  .ugc__controls {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }

  .ugc__arrow[type="button"] {
    display: grid;
    place-items: center;
    width: 27px;
    height: 24px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background-color: rgb(var(--background-secondary));
    color: inherit;
    cursor: pointer;
  }

  @media screen and (pointer: fine) {
    .ugc__arrow[type="button"]:hover:not(:disabled) {
      opacity: 0.7;
    }
  }

  .ugc__arrow:disabled {
    opacity: 0.4;
    cursor: default;
  }

  .ugc__arrow svg {
    display: block;
  }

  .ugc__page-indicator {
    font-variant-numeric: tabular-nums;
  }

  .ugc__carousel-wrapper {
    min-width: 0;
  }

  .ugc__carousel {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - var(--ugc-block-gap)) / 2);
    gap: var(--ugc-block-gap);
    align-items: start;
    min-width: 0;
  }

  .ugc__block {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    aspect-ratio: 326 / 546;
    overflow: hidden;
    background: rgb(0 0 0 / 0.08);
  }

  .ugc__block-media {
    position: absolute;
    inset: 0;
  }

  .ugc__block-media img,
  .ugc__block-media svg,
  .ugc__block-media video,
  .ugc__block-media .video-wrapper {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ugc__block-media video-media {
    aspect-ratio: unset !important;
    display: block;
    width: 100%;
    height: 100%;
    max-height: 100%;
    min-height: 0;
  }

  .ugc__block-media video-media > :is(video, img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ugc__block-media video-media {
    --play-triangle-fill: rgb(var(--text-color));
  }

  .ugc__block-media video-media::part(play-button),
  .ugc__block-media .play-button {
    width: 35px;
    height: 35px;
    background-color: rgb(var(--background-secondary));
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .ugc__block-media video-media::part(play-button) svg,
  .ugc__block-media .play-button svg {
    width: 17.5px;
    height: auto;
  }

  .ugc__block-media video-media:hover::part(play-button) {
    scale: none;
  }

  .ugc__block-overlay-text {
    position: absolute;
    inset-inline: 1rem;
    inset-block-end: 5rem;
    z-index: 1;
    margin: 0;
    color: rgb(var(--text-color));
    font-size: clamp(1.25rem, 4vw, 2rem);
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
    pointer-events: none;
  }

  .ugc__block .ugc-block__product {
    --ugc-product-inset-inline: 24px;
    --ugc-product-inset-block-end: 24px;
    --ugc-product-width: 72px;
    --ugc-product-height: 79px;
    --ugc-product-reveal-width: calc(100% - 2 * var(--ugc-product-inset-inline));
    --ugc-product-reveal-duration: 0.35s;
    --ugc-product-reveal-ease: ease;

    position: absolute;
    z-index: 2;
    inset-inline: var(--ugc-product-inset-inline) var(--ugc-product-inset-inline);
    inset-block-end: var(--ugc-product-inset-block-end);
    display: grid;
    grid-template-columns: var(--ugc-product-width) 0fr;
    grid-template-rows: auto;
    gap: 0;
    align-items: center;
    box-sizing: border-box;
    width: auto;
    height: auto;
    min-height: var(--ugc-product-height);
    max-width: var(--ugc-product-width);
    max-height: var(--ugc-product-height);
    padding: 0;
    background-color: rgb(var(--background-secondary));
    color: rgb(var(--text-color));
    overflow: hidden;
    transition:
      max-width var(--ugc-product-reveal-duration) var(--ugc-product-reveal-ease),
      max-height var(--ugc-product-reveal-duration) var(--ugc-product-reveal-ease),
      grid-template-columns var(--ugc-product-reveal-duration) var(--ugc-product-reveal-ease),
      gap var(--ugc-product-reveal-duration) var(--ugc-product-reveal-ease),
      padding-inline-end var(--ugc-product-reveal-duration) var(--ugc-product-reveal-ease);
  }

  .ugc__block .ugc-block__product-thumb {
    display: block;
    width: var(--ugc-product-width);
    height: var(--ugc-product-height);
  }

  .ugc__block .ugc-block__product img.ugc-block__product-thumb-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    object-position: center;
  }

  .ugc__block .ugc-block__product-details {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.25s var(--ugc-product-reveal-ease),
      visibility 0s linear var(--ugc-product-reveal-duration);
  }

  .ugc__block .ugc-block__product-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 100%;
    min-width: 0;
    transform: translateX(-0.5rem);
    transition: transform var(--ugc-product-reveal-duration) var(--ugc-product-reveal-ease);
  }

  .ugc__block .ugc-block__product-title {
    display: block;
    color: inherit;
    font-size: 0.6875rem;
    font-weight: 400;
    opacity: 0.8;
    line-height: 1.1;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .ugc__block .ugc-block__product-subtitle {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .ugc__block .ugc-block__product-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 8px;
    width: 100%;
  }

  .ugc__block .ugc-block__product-price {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.1;
  }

  .ugc__block .ugc-block__product-price .price-list {
    column-gap: 4px;
    align-items: baseline;
  }

  .ugc__block .ugc-block__product-price .price-list :is(sale-price, compare-at-price) {
    color: inherit;
  }

  .ugc__block .ugc-block__product-price .price-list .text-on-sale {
    color: inherit;
  }

  .ugc__block .ugc-block__product-meta .product-card__swatch-list {
    margin: 0;
  }

  @media screen and (pointer: fine) {
    .ugc__block .product-card__swatch-list [data-tooltip]:after {
      left: auto;
      right: 0;
    }
  }

  @media (hover: hover) {
    .ugc__block:hover .ugc-block__product {
      grid-template-columns: var(--ugc-product-width) 1fr;
      gap: 0.75rem;
      max-width: var(--ugc-product-reveal-width);
      max-height: none;
      padding-inline-end: 0.75rem;
    }

    .ugc__block:hover .ugc-block__product-details {
      opacity: 1;
      visibility: visible;
      flex: 1;
      transition:
        opacity 0.25s var(--ugc-product-reveal-ease) 0.12s,
        visibility 0s linear 0s;
    }

    .ugc__block:hover .ugc-block__product-info {
      transform: translateX(0);
    }
  }

  .ugc__block.is-revealed .ugc-block__product {
    grid-template-columns: var(--ugc-product-width) 1fr;
    gap: 0.75rem;
    max-width: var(--ugc-product-reveal-width);
    max-height: none;
    padding-inline-end: 0.75rem;
  }

  .ugc__block.is-revealed .ugc-block__product-details {
    opacity: 1;
    visibility: visible;
    flex: 1;
    transition:
      opacity 0.25s var(--ugc-product-reveal-ease) 0.12s,
      visibility 0s linear 0s;
  }

  .ugc__block.is-revealed .ugc-block__product-info {
    transform: translateX(0);
  }

  @media (prefers-reduced-motion: reduce) {
    .ugc__block .ugc-block__product,
    .ugc__block .ugc-block__product-details,
    .ugc__block .ugc-block__product-info {
      transition: none;
    }
  }

  @media screen and (min-width: 1000px) {
    .ugc__block .ugc-block__product {
      --ugc-product-inset-inline: 16px;
    }

    .ugc__carousel {
      grid-auto-columns: calc((100% - var(--container-gutter) - var(--ugc-block-gap) * 2) / 3);
    }

    .ugc__layout {
      grid-template-columns: minmax(280px, 35%) minmax(0, 1fr);
      align-items: stretch;
      gap: 0;
    }

    .ugc__header {
      padding-block: var(--container-gutter);
      padding-inline: 48px;
    }

    .ugc__header-footer {
      margin-block-start: auto;
    }

    .ugc__carousel {
      margin-inline-start: 0;
      padding-inline: 0;
      scroll-padding-inline: 0;
      margin-inline-end: calc(-1 * var(--container-gutter));
    }
  }

  @media screen and (max-width: 999px) {
    .ugc.section-spacing {
      padding-block: 0;
    }

    .ugc__layout {
      padding-block-start: var(--section-vertical-spacing);
    }

    .ugc__carousel-wrapper {
      padding-inline: var(--container-gutter);
      margin-inline: calc(-1 * var(--container-gutter));
    }

    .ugc__carousel {
      padding: 4px;
      background-color: rgb(var(--background-primary, 255 255 255));
      scroll-padding-inline: 4px;
    }
  }
/* END_SECTION:ugc */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:price-list (INDEX:173) */
.product-info .price-list {
    column-gap: 0.45rem;
  }

  .price-list__compare--product {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--color-brand-black-60);
  }

  .price-list__promotion {
    padding-block: 0.1rem;
    padding-inline: 0.55rem;
    border-radius: 0;
    font-size: 0.625rem;
    font-weight: 500;
    color: var(--color-brand-black-beige);
    background: var(--color-brand-pink-promotion);
  }

  @media screen and (min-width: 700px) {
    .product-info .price-list {
      column-gap: 0.55rem;
    }

    .price-list__compare--product {
      font-size: 1rem;
    }

    .price-list__promotion {
      padding-inline: 0.5rem;
      font-size: 0.75rem;
    }
  }
/* END_SNIPPET:price-list */

/* START_SNIPPET:product-badges (INDEX:175) */
.badge-list.badge-list {
    gap: 0.3rem;
  }

  .badge.badge--custom {
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    border: 1px solid var(--color-brand-black-beige);
    border-radius: 4px;
    font-size: 0.625rem;
    font-weight: 500;
    text-transform: uppercase;
    text-box: none;
    line-height: 1;
  }

  .product-info .badge-list .badge.badge--custom {
    color: var(--color-brand-black-beige);
    border-color: var(--color-brand-black-beige);
  }

  @media screen and (min-width: 700px) {
    .badge-list.badge-list {
      gap: 1rem;
    }

    .badge.badge--custom {
      padding-block: 0.375rem;
      padding-inline: 0.625rem;
      font-size: 0.75rem;
    }
  }
/* END_SNIPPET:product-badges */

/* START_SNIPPET:product-info (INDEX:181) */
.product-info .product-title {
    text-transform: uppercase;
  }
/* END_SNIPPET:product-info */

/* START_SNIPPET:sticky-dialog (INDEX:203) */
.sticky-dialog {
    position: fixed;
    inset-block-end: 20px;
    inset-inline-end: 10px;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 53px;
    height: 53px;
    padding: 10px;
    border-radius: 50%;
    background-color: var(--color-brand-beige-grey);
    color: var(--color-brand-black-beige);
    transition: inset-block-end 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  }

  .sticky-dialog .icon {
    width: 100%;
    height: 100%;
  }

  @media screen and (min-width: 700px) {
    .sticky-dialog {
      inset-block-end: 30px;
      inset-inline-end: 20px;
    }
  }
/* END_SNIPPET:sticky-dialog */