/** Shopify CDN: Minification failed

Line 6351:0 All "@import" rules must come first
Line 8188:0 Unexpected "}"

**/
/* v3 — force-rebuild */
@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800;900&family=Barlow:wght@400;500;600;700&display=swap');
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

body {
  width: 100%;
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background-color: rgba(var(--bg-color));
  overflow-wrap: break-word;
  overflow-wrap: anywhere;
}
body.fixed {
  padding-right: var(--scrollbar-width);
}
body.overflow-hidden {
  padding-right: var(--scrollbar-width);
}
body.overflow-hidden::after {
  content: "";
  position: absolute;
  z-index: 29;
  right: 0;
  bottom: 0;
  width: var(--scrollbar-width, 0);
  height: 100%;
  background: #e4e4e4;
}
body.overlay-predictive-search {
  overflow: hidden;
}

summary {
  overflow: hidden;
  list-style: none;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

mark {
  background-color: transparent;
  color: inherit;
  font-weight: bold;
}

.color-scheme--1 {
  --bg-color: var(--color-scheme-1-bg);
  --bg-grad: var(--color-scheme-1-grad, "none");
  --btn-bg-color: var(--color-scheme-1-btn-bg);
  --btn-bg-hover-color: var(--color-scheme-1-btn-bg-hover);
  --btn-text-color: var(--color-scheme-1-btn-text);
  --heading-color: var(--color-scheme-1-heading);
  --scrollbar-color: var(--color-scheme-1-text);
  --swatch-border-color-active: var(--color-scheme-1-text);
  --swatch-border-color-default: var(--color-scheme-1-text);
  --text-color: var(--color-scheme-1-text);
  --coll-card-border-color: rgb(var(--color-scheme-1-heading));
}

.color-scheme--2 {
  --bg-color: var(--color-scheme-2-bg);
  --bg-grad: var(--color-scheme-2-grad, "none");
  --btn-bg-color: var(--color-scheme-2-btn-bg);
  --btn-bg-hover-color: var(--color-scheme-2-btn-bg-hover);
  --btn-text-color: var(--color-scheme-2-btn-text);
  --heading-color: var(--color-scheme-2-heading);
  --scrollbar-color: var(--color-scheme-2-text);
  --swatch-border-color-active: var(--color-scheme-2-text);
  --swatch-border-color-default: var(--color-scheme-2-text);
  --text-color: var(--color-scheme-2-text);
  --coll-card-border-color: rgb(var(--color-scheme-2-heading));
}

.color-scheme--3 {
  --bg-color: var(--color-scheme-3-bg);
  --bg-grad: var(--color-scheme-3-grad, "none");
  --btn-bg-color: var(--color-scheme-3-btn-bg);
  --btn-bg-hover-color: var(--color-scheme-3-btn-bg-hover);
  --btn-text-color: var(--color-scheme-3-btn-text);
  --heading-color: var(--color-scheme-3-heading);
  --scrollbar-color: var(--color-scheme-3-text);
  --swatch-border-color-active: var(--color-scheme-3-text);
  --swatch-border-color-default: var(--color-scheme-3-text);
  --text-color: var(--color-scheme-3-text);
  --coll-card-border-color: rgb(var(--color-scheme-3-heading));
}

.color-scheme--white:not(.mobile-stacked) {
  --bg-color: 0 0 0 0;
  --btn-bg-color: var(--color-scheme-white-text, 255 255 255);
  --btn-bg-hover-color: var(--color-scheme-white-hover, 230 230 230);
  --btn-text-color: var(--color-scheme-white-text-contrast, 0 0 0);
  --heading-color: var(--color-scheme-white-text, 255 255 255);
  --scrollbar-color: var(--color-scheme-white-text, 255 255 255);
  --swatch-border-color-active: var(--color-scheme-white-text, 255 255 255);
  --swatch-border-color-default: var(--color-scheme-white-text, 255 255 255);
  --text-color: var(--color-scheme-white-text, 255 255 255);
}

.color-scheme {
  background: var(--bg-grad);
  background-color: rgba(var(--bg-color));
  color: rgb(var(--text-color));
}
.color-scheme .section__heading,
.color-scheme .section__block--heading,
.color-scheme .section__block--subheading,
.color-scheme .text-overlay__heading,
.color-scheme .text-overlay__subheading,
.color-scheme .card__title {
  color: rgb(var(--heading-color));
}
.color-scheme a:not(.btn),
.color-scheme button.link {
  color: inherit;
}
.color-scheme .custom-select__btn,
.color-scheme .price-range__input-wrapper,
.color-scheme .input,
.color-scheme .input-with-button,
.color-scheme .select::after {
  --input-bg-color: var(--bg-color);
  --input-text-color: var(--text-color);
}
.color-scheme:not(.color-scheme--no-btns) .btn--secondary {
  --btn-alt-bg-alpha: 0;
  --btn-alt-text-color: var(--btn-bg-color);
  background-color: transparent;
}
.color-scheme:not(.color-scheme--no-btns) .is-loading {
  --btn-alt-text-color: var(--btn-bg-color);
  --text-color: var(--btn-bg-color);
}
.color-scheme:not(.color-scheme--no-btns) .qty-input {
  --btn-alt-text-color: var(--btn-bg-color);
  --input-text-color: var(--btn-bg-color);
  border-color: rgb(var(--btn-bg-color));
  background-color: transparent;
}

@media (min-width: 600px) {
  .color-scheme--white {
    --bg-color: 0 0 0 0;
    --btn-bg-color: var(--color-scheme-white-text, 255 255 255);
    --btn-bg-hover-color: var(--color-scheme-white-hover, 230 230 230);
    --btn-text-color: var(--color-scheme-white-text-contrast, 0 0 0);
    --heading-color: var(--color-scheme-white-text, 255 255 255);
    --scrollbar-color: var(--color-scheme-white-text, 255 255 255);
    --swatch-border-color-active: var(--color-scheme-white-text, 255 255 255);
    --swatch-border-color-default: var(--color-scheme-white-text, 255 255 255);
    --text-color: var(--color-scheme-white-text, 255 255 255);
  }
}
:root {
  --fluid-vw: 100vw;
  --fluid-max-vw: 1536;
  --fluid-calc: (var(--fluid-vw) - 32rem) / (var(--fluid-max-vw) / 10 - 32) + 0.1rem;
  --fluid-1-065: ((1.065 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-125: ((1.125 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-2: ((1.2 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-25: ((1.25 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-3: ((1.3 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-4: ((1.4 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-5: ((1.5 / 10 - 0.1) * var(--fluid-calc));
}

@media (min-width: 1536px) {
  :root {
    --fluid-vw: calc(var(--fluid-max-vw) * 1px);
  }
}
:focus {
  outline: 0;
}

:focus-visible,
.focus-label:focus-visible + label,
.focus-label-before:focus-visible + label::before {
  outline: auto Highlight;
  outline: auto -webkit-focus-ring-color;
}

.is-focused,
.focus-label.is-focused + label,
.focus-label-before.is-focused + label::before,
.no-js :focus,
.no-js .focus-label:focus + label,
.no-js .focus-label-before:focus + label::before {
  outline: auto Highlight;
  outline: auto -webkit-focus-ring-color;
}

.no-js :focus:not(:focus-visible),
.no-js .focus-label:focus:not(:focus-visible) + label,
.no-js .focus-label-before:focus:not(:focus-visible) + label::before {
  outline: 0;
}

.focus-inset:focus-visible {
  outline-offset: -2px;
}

.focus-inset.is-focused,
.no-js .focus-inset:focus {
  outline-offset: -2px;
}

:root {
  --column-gap: var(--grid-column-gap);
  --gutter: var(--gutter-sm, 20px);
  --row-gap: calc(10 * var(--space-unit));
  --space-unit: 0.4rem;
  --viewport-width: calc(100vw - var(--scrollbar-width, 0));
}

.container {
  width: 100%;
  max-width: calc(var(--page-width, 1320px) + var(--gutter) * 2);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.page-width {
  width: var(--page-width, 1320px);
  max-width: var(--page-width, 1320px);
  margin-right: auto;
  margin-left: auto;
}

.reading-width {
  max-width: var(--reading-width, 48em);
  margin-right: auto;
  margin-left: auto;
}

.reading-width--inline {
  max-width: var(--reading-width, 48em);
}

.form-width {
  max-width: 26em;
}

.screen-height {
  min-height: var(--viewport-height, 100vh);
}
.shopify-section:first-child .screen-height {
  min-height: calc(var(--viewport-height, 100vh) - var(--content-start, 200px));
}

@media (min-width: 600px) {
  :root {
    --column-gap: calc(var(--grid-column-gap) * 1.6);
    --gutter: var(--gutter-md, 32px);
  }
}
@media (min-width: 1280px) {
  :root {
    --gutter: var(--gutter-lg, 80px);
  }
}
.section {
  display: block;
  width: 100%;
  margin: calc(var(--section-gap) * var(--fluid-1-5)) auto;
  padding-bottom: 0.02px;
}
.section:empty {
  margin-top: 0;
  margin-bottom: 0;
}

.section--template {
  margin: calc(var(--section-gap) * var(--fluid-1-5)) auto;
}

.section--full-width {
  margin: 0;
}

.section--padded,
.section--padded-default {
  padding: calc(var(--section-gap) * var(--fluid-1-5)) 0;
}

.section--padded-xsmall {
  padding-top: calc(3 * var(--space-unit));
  padding-bottom: calc(3 * var(--space-unit));
}

.section--padded-small {
  padding-top: calc(6 * var(--space-unit));
  padding-bottom: calc(6 * var(--space-unit));
}

.section--padded-medium {
  padding-top: calc(8 * var(--space-unit));
  padding-bottom: calc(8 * var(--space-unit));
}

.section__header,
.section__heading {
  max-width: 100%;
  margin-bottom: var(--heading-gap);
}

.mb-heading {
  margin-bottom: var(--heading-gap);
}

.section-header .link {
  margin-top: 6px;
  margin-bottom: 6px;
}

.section__header--center {
  grid-template-columns: 1fr auto 1fr;
}

.section__block {
  max-width: 100%;
  margin-bottom: calc(4 * var(--space-unit));
}
.section__block:last-child {
  margin-bottom: 0;
}
.section__block.reading-width--inline {
  max-width: var(--reading-width, 48em);
}

.section__block + .section__block--button {
  margin-top: calc(6 * var(--space-unit));
}

.section__block + .section__block--buttons {
  margin-top: calc(4 * var(--space-unit));
}

.section__block--buttons {
  align-items: flex-end;
  column-gap: calc(4 * var(--space-unit));
  row-gap: calc(4 * var(--space-unit));
}

.shopify-policy__container,
.shopify-challenge__container,
.shopify-email-marketing-confirmation__container {
  max-width: var(--reading-width, 48em) !important;
  padding: calc(var(--section-gap) * var(--fluid-1-5)) var(--gutter) !important;
}

.shopify-policy__title {
  text-align: var(--heading-align) !important;
}

.shopify-challenge__button {
  margin-top: calc(8 * var(--space-unit)) !important;
}

.cc-apps:not(:has(.shopify-app-block)) {
  display: none;
}

@media (max-width: 768.98px) {
  .section__header--center {
    grid-template-columns: 1fr;
    grid-template-rows: 2;
  }
}
@media (min-width: 769px) {
  .section__block + .section__block--button {
    margin-top: calc(8 * var(--space-unit));
  }
  .section--padded-xsmall {
    padding-top: calc(2 * var(--space-unit));
    padding-bottom: calc(2 * var(--space-unit));
  }
  .section--padded-small {
    padding-top: calc(4 * var(--space-unit));
    padding-bottom: calc(4 * var(--space-unit));
  }
  .section--padded-medium {
    padding-top: calc(6 * var(--space-unit));
    padding-bottom: calc(6 * var(--space-unit));
  }
}
:root {
  --heading-type-scale: 1.2;
  --h6: calc(var(--body-font-size) + var(--heading-scale-start));
  --h5: var(--h6) * var(--heading-type-scale);
  --h4: var(--h5) * var(--heading-type-scale);
  --h3: var(--h4) * var(--heading-type-scale);
  --h2: var(--h3) * var(--heading-type-scale);
  --h1: var(--h2) * var(--heading-type-scale);
  --h0: var(--h1) * var(--heading-type-scale);
  --h6-font-size: calc((var(--h6) / 1.065) * var(--fluid-1-065));
  --h5-font-size: calc((var(--h5) / 1.125) * var(--fluid-1-125));
  --h4-font-size: calc((var(--h4) / 1.2) * var(--fluid-1-2));
  --h3-font-size: calc((var(--h3) / 1.3) * var(--fluid-1-3));
  --h2-font-size: calc((var(--h2) / 1.4) * var(--fluid-1-4));
  --h1-font-size: calc((var(--h1) / 1.5) * var(--fluid-1-5));
  --h0-font-size: calc((var(--h0) / 1.5) * var(--fluid-1-5));
}

body {
  color: rgb(var(--text-color));
  font-family: var(--body-font-family);
  font-size: calc(var(--body-font-size) * 0.1rem);
  font-style: var(--body-font-style);
  font-weight: var(--body-font-weight);
  line-height: 1.5;
}

.h0,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.font-heading {
  margin: 0 0 0.5em;
  color: rgb(var(--heading-color));
  font-family: var(--heading-font-family);
  font-style: var(--heading-font-style);
  font-weight: var(--heading-font-weight);
  line-height: calc(4px + 2.4ex);
  text-transform: var(--heading-text-transform);
}

.h0,
.text-h0 {
  font-size: var(--h0-font-size);
  line-height: 1.25;
}

h1,
.h1,
.text-h1 {
  font-size: var(--h1-font-size);
  line-height: 1.25;
}

h2,
.h2,
.text-h2 {
  font-size: var(--h2-font-size);
  line-height: 1.3;
}

h3,
.h3,
.text-h3 {
  font-size: var(--h3-font-size);
  line-height: 1.3;
}

h4,
.h4,
.text-h4 {
  font-size: var(--h4-font-size);
  line-height: 1.3;
}

h5,
.h5,
.text-h5 {
  font-size: var(--h5-font-size);
  line-height: 1.3;
}

h6,
.h6,
.text-h6 {
  font-size: var(--h6-font-size);
  line-height: 1.4;
}

.font-body {
  color: rgb(var(--text-color));
  font-family: var(--body-font-family);
  font-style: var(--body-font-style);
  font-weight: var(--body-font-weight);
  line-height: 1.5;
  text-transform: initial;
}

p {
  margin: 0 0 1em;
}
p:empty {
  display: none;
}

hr {
  width: 100%;
  height: 1px;
  margin: calc(6 * var(--space-unit)) 0;
  border: 0;
  background-color: rgba(var(--text-color)/0.15);
}

address {
  font-style: normal;
}

.text-body-extra_small {
  font-size: 0.8em;
}

.text-body-small {
  font-size: 0.9em;
}

.text-body-large {
  font-size: 1.1em;
}

.text-body-extra_large {
  font-size: 1.2em;
}

.small-text {
  font-size: 0.875em;
}

.regular-text {
  font-size: 1em;
}

.enlarge-text {
  font-size: 1.25em;
}
.enlarge-text.reading-width, .enlarge-text.reading-width--inline {
  max-width: calc(var(--reading-width, 48em) * 0.75);
}

.large-text {
  font-size: 2rem;
}

.subheading {
  color: rgb(var(--heading-color));
  font-family: var(--heading-font-family);
  font-style: var(--heading-font-style);
  font-weight: var(--heading-font-weight);
  text-transform: var(--subheading-text-transform);
}
.subheading:not(:last-child) {
  margin-bottom: 1em;
}

.subheading-case {
  text-transform: var(--subheading-text-transform, none);
}

.contained-heading {
  max-width: 540px;
}

.rte::after {
  content: "";
  display: block;
  clear: both;
}
.rte > p:last-child {
  margin-bottom: 0;
}
.rte h1,
.rte h2,
.rte h3,
.rte h4,
.rte h5,
.rte h6 {
  color: rgb(var(--heading-color));
}
.rte h1:not(:first-child),
.rte h2:not(:first-child),
.rte h3:not(:first-child),
.rte h4:not(:first-child),
.rte h5:not(:first-child),
.rte h6:not(:first-child) {
  margin-top: 0.2em;
}
.rte h1:not(:last-child),
.rte h2:not(:last-child),
.rte h3:not(:last-child),
.rte h4:not(:last-child),
.rte h5:not(:last-child),
.rte h6:not(:last-child) {
  margin-bottom: 0.2em;
}
.rte iframe {
  max-width: 100%;
}

.rte--inherit-heading-color h1,
.rte--inherit-heading-color h2,
.rte--inherit-heading-color h3,
.rte--inherit-heading-color h4,
.rte--inherit-heading-color h5,
.rte--inherit-heading-color h6 {
  color: inherit;
}

@media (max-width: 599.98px) {
  .xs\:regular-text {
    font-size: 1em;
  }
  .xs\:text-h6 {
    font-size: var(--h6-font-size);
    line-height: 1.4;
  }
}
@media (min-width: 769px) {
  .enlarge-text {
    font-size: 1.5em;
  }
  .contained-heading {
    max-width: 865px;
  }
}
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none{
  pointer-events: none;
}
.pointer-events-auto{
  pointer-events: auto;
}
.visible{
  visibility: visible;
}
.invisible{
  visibility: hidden;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.inset-0{
  inset: 0;
}
.bottom-0{
  bottom: 0;
}
.left-0{
  left: 0;
}
.right-0{
  right: 0;
}
.top-0{
  top: 0;
}
.z-10{
  z-index: 10;
}
.col-span-2{
  grid-column: span 2 / span 2;
}
.col-span-full{
  grid-column: 1 / -1;
}
.col-start-1{
  grid-column-start: 1;
}
.col-end-3{
  grid-column-end: 3;
}
.row-span-2{
  grid-row: span 2 / span 2;
}
.row-span-3{
  grid-row: span 3 / span 3;
}
.m-0{
  margin: 0;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.mb-0{
  margin-bottom: 0;
}
.mb-1{
  margin-bottom: var(--space-unit);
}
.mb-10{
  margin-bottom: calc(10 * var(--space-unit));
}
.mb-12{
  margin-bottom: calc(12 * var(--space-unit));
}
.mb-16{
  margin-bottom: calc(16 * var(--space-unit));
}
.mb-2{
  margin-bottom: calc(2 * var(--space-unit));
}
.mb-3{
  margin-bottom: calc(3 * var(--space-unit));
}
.mb-4{
  margin-bottom: calc(4 * var(--space-unit));
}
.mb-5{
  margin-bottom: calc(5 * var(--space-unit));
}
.mb-6{
  margin-bottom: calc(6 * var(--space-unit));
}
.mb-8{
  margin-bottom: calc(8 * var(--space-unit));
}
.mb-section{
  margin-bottom: calc(var(--section-gap) * var(--fluid-1-5));
}
.ml-2{
  margin-left: calc(2 * var(--space-unit));
}
.ml-auto{
  margin-left: auto;
}
.mr-2{
  margin-right: calc(2 * var(--space-unit));
}
.mr-auto{
  margin-right: auto;
}
.mt-1{
  margin-top: var(--space-unit);
}
.mt-10{
  margin-top: calc(10 * var(--space-unit));
}
.mt-12{
  margin-top: calc(12 * var(--space-unit));
}
.mt-16{
  margin-top: calc(16 * var(--space-unit));
}
.mt-2{
  margin-top: calc(2 * var(--space-unit));
}
.mt-3{
  margin-top: calc(3 * var(--space-unit));
}
.mt-4{
  margin-top: calc(4 * var(--space-unit));
}
.mt-5{
  margin-top: calc(5 * var(--space-unit));
}
.mt-6{
  margin-top: calc(6 * var(--space-unit));
}
.mt-8{
  margin-top: calc(8 * var(--space-unit));
}
.mt-section{
  margin-top: calc(var(--section-gap) * var(--fluid-1-5));
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.inline-flex{
  display: inline-flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.inline-grid{
  display: inline-grid;
}
.contents{
  display: contents;
}
.hidden{
  display: none;
}
.h-full{
  height: 100%;
}
.w-auto{
  width: auto;
}
.w-full{
  width: 100%;
}
.max-w-full{
  max-width: 100%;
}
.max-w-none{
  max-width: none;
}
.max-w-screen-lg{
  max-width: 1024px;
}
.max-w-screen-md{
  max-width: 769px;
}
.flex-auto{
  flex: 1 1 auto;
}
.shrink-0{
  flex-shrink: 0;
}
.flex-grow{
  flex-grow: 1;
}
.grow{
  flex-grow: 1;
}
.table-fixed{
  table-layout: fixed;
}
.cursor-pointer{
  cursor: pointer;
}
.resize{
  resize: both;
}
.list-none{
  list-style-type: none;
}
.auto-cols-1{
  grid-auto-columns: 100%;
}
.auto-cols-2{
  grid-auto-columns: calc((100% - var(--column-gap)) / 2);
}
.grid-flow-col{
  grid-auto-flow: column;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flex-row{
  flex-direction: row;
}
.flex-row-reverse{
  flex-direction: row-reverse;
}
.flex-col{
  flex-direction: column;
}
.flex-wrap{
  flex-wrap: wrap;
}
.items-start{
  align-items: flex-start;
}
.items-end{
  align-items: flex-end;
}
.items-center{
  align-items: center;
}
.items-stretch{
  align-items: stretch;
}
.justify-start{
  justify-content: flex-start;
}
.justify-end{
  justify-content: flex-end;
}
.justify-center{
  justify-content: center;
}
.justify-between{
  justify-content: space-between;
}
.gap-3{
  gap: calc(3 * var(--space-unit));
}
.gap-theme{
  gap: var(--column-gap);
}
.gap-x-6{
  column-gap: calc(6 * var(--space-unit));
}
.gap-x-theme{
  column-gap: var(--column-gap);
}
.gap-y-10{
  row-gap: calc(10 * var(--space-unit));
}
.gap-y-12{
  row-gap: calc(12 * var(--space-unit));
}
.gap-y-16{
  row-gap: calc(16 * var(--space-unit));
}
.gap-y-4{
  row-gap: calc(4 * var(--space-unit));
}
.gap-y-5{
  row-gap: calc(5 * var(--space-unit));
}
.gap-y-6{
  row-gap: calc(6 * var(--space-unit));
}
.gap-y-8{
  row-gap: calc(8 * var(--space-unit));
}
.gap-y-theme{
  row-gap: var(--column-gap);
}
.self-start{
  align-self: flex-start;
}
.self-center{
  align-self: center;
}
.overflow-auto{
  overflow: auto;
}
.overflow-hidden{
  overflow: hidden;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.border{
  border-width: 1px;
}
.bg-error-bg{
  background-color: rgb(var(--error-bg-color));
}
.bg-info-bg{
  background-color: rgb(var(--info-bg-color));
}
.bg-success-bg{
  background-color: rgb(var(--success-bg-color));
}
.bg-theme-bg{
  background-color: rgba(var(--bg-color));
}
.bg-theme-text{
  background-color: rgb(var(--text-color));
}
.object-center{
  object-position: center;
}
.object-top{
  object-position: top;
}
.p-4{
  padding: calc(4 * var(--space-unit));
}
.p-5{
  padding: calc(5 * var(--space-unit));
}
.p-6{
  padding: calc(6 * var(--space-unit));
}
.p-8{
  padding: calc(8 * var(--space-unit));
}
.pb-0{
  padding-bottom: 0;
}
.pb-1{
  padding-bottom: var(--space-unit);
}
.pb-2{
  padding-bottom: calc(2 * var(--space-unit));
}
.pb-3{
  padding-bottom: calc(3 * var(--space-unit));
}
.pb-4{
  padding-bottom: calc(4 * var(--space-unit));
}
.pb-6{
  padding-bottom: calc(6 * var(--space-unit));
}
.pl-4{
  padding-left: calc(4 * var(--space-unit));
}
.pl-6{
  padding-left: calc(6 * var(--space-unit));
}
.pr-4{
  padding-right: calc(4 * var(--space-unit));
}
.pr-6{
  padding-right: calc(6 * var(--space-unit));
}
.pt-2{
  padding-top: calc(2 * var(--space-unit));
}
.pt-3{
  padding-top: calc(3 * var(--space-unit));
}
.pt-4{
  padding-top: calc(4 * var(--space-unit));
}
.pt-5{
  padding-top: calc(5 * var(--space-unit));
}
.pt-6{
  padding-top: calc(6 * var(--space-unit));
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.text-start{
  text-align: start;
}
.text-end{
  text-align: end;
}
.align-middle{
  vertical-align: middle;
}
.align-bottom{
  vertical-align: bottom;
}
.text-sm{
  font-size: 0.88em;
}
.text-xs{
  font-size: 0.75em;
}
.font-bold{
  font-weight: 700;
}
.font-normal{
  font-weight: 400;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.capitalize{
  text-transform: capitalize;
}
.leading-none{
  line-height: 1;
}
.text-current{
  color: currentColor;
}
.text-error-text{
  color: rgb(var(--error-text-color));
}
.text-info-text{
  color: rgb(var(--info-text-color));
}
.text-inherit{
  color: inherit;
}
.text-success-text{
  color: rgb(var(--success-text-color));
}
.text-theme-bg{
  color: rgba(var(--bg-color));
}
.text-theme-heading{
  color: rgb(var(--heading-color));
}
.text-theme-light{
  color: rgba(var(--text-color) / 0.6);
}
.text-theme-text{
  color: rgb(var(--text-color));
}
.underline{
  text-decoration-line: underline;
}
.line-through{
  text-decoration-line: line-through;
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.js .js-hidden,
.no-js .no-js-hidden{
  display: none;
}
@media (max-width: 768.98px) {
  .header__icon.js .js-hidden.md\:block,.header__icon
.no-js .no-js-hidden.md\:block {
    display: none;
  }
}

.no-js .no-js-visible{
  display: block;
}

.visually-hidden{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.object-bottom {
  object-position: bottom;
}

.object-top {
  object-position: top;
}

[hidden] {
  display: none !important;
}

@media (prefers-reduced-motion) {
  .has-motion {
    transition: none !important;
    animation: none !important;
  }
}
@media (hover: none) {
  .no-hover-hidden {
    display: none !important;
  }
}
.color-link {
  color: rgb(var(--link-color));
}

.border-top {
  border-top: 1px solid rgba(var(--text-color)/0.15);
}

.border-bottom {
  border-bottom: 1px solid rgba(var(--text-color)/0.15);
}

.start {
  left: var(--start-gutter, 0);
}
[dir=rtl] .start {
  right: var(--start-gutter, 0);
  left: auto;
}

.end {
  right: var(--end-gutter, 0);
}
[dir=rtl] .end {
  right: auto;
  left: var(--end-gutter, 0);
}

.mis-2 {
  margin-inline-start: calc(2 * var(--space-unit));
}

.mis-auto {
  margin-inline-start: auto;
}

.mie-auto {
  margin-inline-end: auto;
}

.vertical-center {
  top: 50%;
  transform: translateY(-50%);
}

.tap-target {
  position: relative;
}
.tap-target::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
  opacity: 0;
}

.tap-target--left::after {
  left: 0;
  transform: translateY(-50%);
}

.tap-target--right::after {
  right: 0;
  left: auto;
  transform: translateY(-50%);
}

.top-header-offset {
  top: calc(var(--header-end-padded, 0) * -1);
}

@media (hover: hover) and (pointer: fine) {
  .hover\:underline:hover {
    text-decoration: underline;
  }
  .hover\:lighten {
    transition: color 0.3s;
  }
  .hover\:lighten:hover {
    color: rgba(var(--text-color)/0.8);
  }
  .hover\:grow-media .card__media {
    overflow: hidden;
  }
  .hover\:grow-media .media {
    transition: transform 0.4s cubic-bezier(0.38, 0.41, 0.27, 1), border-color 0.4s;
    will-change: transform;
  }
  .hover\:grow-media:hover .media {
    transform: scale(1.03);
    border-color: transparent;
  }
}
@media (max-width: 768.98px) {
  .md-down\:text-center {
    text-align: center;
  }
  .md-down\:-mx-gutter {
    margin-right: calc(var(--gutter) * -1);
    margin-left: calc(var(--gutter) * -1);
  }
  .md-down\:p-xl {
    padding: 0 calc(8 * var(--space-unit));
  }
  .md-down\:center {
    align-items: center;
    justify-content: center;
  }
  .md-down\:px-gutter {
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
}
.visible-lg {
  display: none !important;
}

@media (min-width: 769px) {
  .visible-lg {
    display: block !important;
  }
  .md\:pt-0 {
    padding-top: 0 !important;
  }
}
@media (max-width: 599.98px) {
  .small__grid {
    --column-gap: 10px;
    row-gap: 10px;
  }
  .carousel .small__grid {
    --column-gap: 0px;
  }
  .carousel .small__grid .slider__item:not(:last-child) .card--product-contained:not(.card--highlight-product) {
    border-inline-end: 0;
  }
  .carousel .small__grid .slider__item:not(:last-child):has(.card--product-contained.card--highlight-product) + .slider__item:not(:last-child) .card--product-contained {
    border-inline-start: 0;
  }
}
@keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}
@keyframes checkmark {
  0% {
    width: 0;
    height: 0;
    opacity: 1;
  }
  20% {
    width: 10px;
    height: 0;
    opacity: 1;
  }
  40% {
    width: 10px;
    height: 20px;
    opacity: 1;
  }
  90% {
    width: 10px;
    height: 20px;
    opacity: 1;
  }
  100% {
    width: 10px;
    height: 20px;
    opacity: 0;
  }
}
@keyframes colorPulse {
  0% {
    color: var(--text-color);
  }
  50% {
    color: var(--speech-icon-color);
  }
  100% {
    color: var(--text-color);
  }
}
@keyframes shake-n-grow {
  0%, 100% {
    transform: rotate(0deg);
    transform-origin: 50% 50%;
  }
  10% {
    transform: rotate(8deg);
  }
  20%, 40%, 60% {
    transform: rotate(-10deg) scale(1.05);
  }
  30%, 50%, 70% {
    transform: rotate(10deg) scale(1.05);
  }
  80% {
    transform: rotate(-8deg);
  }
  90% {
    transform: rotate(8deg);
  }
}
@keyframes shake {
  0%, 100% {
    transform: rotate(0deg);
    transform-origin: 50% 50%;
  }
  10% {
    transform: rotate(8deg);
  }
  20%, 40%, 60% {
    transform: rotate(-10deg);
  }
  30%, 50%, 70% {
    transform: rotate(10deg);
  }
  80% {
    transform: rotate(-8deg);
  }
  90% {
    transform: rotate(8deg);
  }
}
.alert {
  padding: 2rem 2.4rem;
}
.alert.bg-success-bg {
  border: 1px solid rgba(var(--success-text-color)/0.2);
}
.alert.bg-error-bg {
  border: 1px solid rgba(var(--error-text-color)/0.2);
}
.alert[autofocus] {
  outline: 0;
}

.text-success-text {
  --heading-color: rgb(var(--success-text-color));
  --link-color: rgb(var(--success-text-color));
}

.text-error-text {
  --heading-color: rgb(var(--error-text-color));
  --link-color: rgb(var(--error-text-color));
}

button {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  font-family: inherit;
  font-size: 1em;
  text-decoration: none;
  text-shadow: none;
  cursor: pointer;
}

.btn {
  display: inline-block;
  position: relative;
  max-width: 100%;
  padding: var(--btn-padding-y, 12px) 26px;
  transition: opacity 0.6s ease, color 0.6s ease, background-position 0.4s ease-out;
  border-radius: var(--btn-border-radius, 0);
  outline-offset: var(--btn-border-width);
  font-size: 0.88em;
  font-weight: 700;
  line-height: 1.2em;
  text-align: center;
  text-transform: var(--btn-text-transform, none);
  appearance: none;
  word-break: break-word;
}
.btn[disabled], .btn[aria-disabled=true] {
  opacity: 0.4;
  background-position: 0 100%;
  cursor: default;
}

.btn--sm {
  padding: 8px 16px;
  font-size: 1.4rem;
  font-weight: normal;
}

.btn--narrow {
  padding-top: 9px;
  padding-bottom: 9px;
}

.btn--extra-narrow {
  padding-top: 5px;
  padding-bottom: 5px;
}

.btn--primary,
.spr-button-primary,
.shopify-payment-button .shopify-payment-button__button--unbranded,
.shopify-challenge__button {
  border: var(--btn-border-width) solid rgb(var(--btn-bg-color));
  outline-color: rgb(var(--btn-bg-color));
  outline-offset: 3px;
  background: rgb(var(--btn-bg-hover-color)) linear-gradient(104deg, rgb(var(--btn-bg-hover-color)) 60%, rgb(var(--btn-bg-color)) 60%, rgb(var(--btn-bg-color)) 100%) no-repeat 100% 100%;
  background-size: 300% 100%;
  color: rgb(var(--btn-text-color));
}

.btn--primary.is-loading {
  color: rgba(var(--btn-text-color)/0.1);
}
.btn--primary.is-loading::after {
  border-color: rgb(var(--btn-text-color));
  border-top-color: transparent;
}
.btn--primary.is-loading::before {
  border-color: rgb(var(--btn-text-color));
}

.btn--secondary {
  border: var(--btn-border-width) solid rgb(var(--btn-alt-text-color));
  outline-color: rgb(var(--btn-alt-text-color));
  outline-offset: 3px;
  background: rgba(var(--btn-alt-bg-color)/0.9) linear-gradient(104deg, rgba(var(--btn-alt-text-color)/0.07) 60%, rgba(var(--btn-alt-bg-color)/var(--btn-alt-bg-alpha)) 60%, rgba(var(--btn-alt-bg-color)/var(--btn-alt-bg-alpha)) 100%) no-repeat 100% 100%;
  background-size: 300% 100%;
  color: rgb(var(--btn-alt-text-color));
}
.btn--secondary.is-loading {
  color: rgba(var(--btn-alt-text-color)/0.1);
}
.btn--secondary.is-loading::after {
  border-color: rgb(var(--btn-alt-text-color));
  border-top-color: transparent;
}
.btn--secondary.is-loading::before {
  border-color: rgb(var(--btn-alt-text-color));
}

@media (hover: hover) and (pointer: fine) {
  .btn--primary:not(.slider-nav__btn):not([disabled]):hover,
  .btn--secondary:not(.slider-nav__btn):not([disabled]):hover,
  .shopify-challenge__button:not([disabled]):hover,
  .shopify-payment-button .shopify-payment-button__button--unbranded:not([disabled]):not([aria-disabled]):hover {
    background-position: 0 100%;
  }
}
.btn--icon {
  padding: calc(10px - var(--btn-border-width));
  border-radius: var(--btn-lg-border-radius, var(--btn-border-radius));
}
.btn--icon.btn--lg {
  padding: calc(16px - var(--btn-border-width));
  border-radius: var(--btn-icon-border-radius);
}

.btn--icon-with-text .icon {
  width: auto;
  height: 1.2em;
  margin-inline-end: calc(2 * var(--space-unit));
}

.btn--arrow-with-text {
  padding-inline-end: 56px;
}

.btn--arrow-back-with-text {
  padding-inline-start: 56px;
}

.btn--arrow-with-text::after,
.btn--arrow-back-with-text::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  transition: background-color 0.2s ease;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='currentColor' stroke-width='1.5' fill='none'><path d='M4.696 12h14.686m-7.007-7.5 7.5 7.5-7.5 7.5'/></svg>");
}

[dir=rtl] .btn--arrow-with-text::after,
[dir=ltr] .btn--arrow-back-with-text::after {
  right: auto;
  left: 16px;
  transform: translateY(-50%) scaleX(-1);
}

.btn[disabled]:hover,
.btn[aria-disabled=true]:hover {
  opacity: 0.4;
  background-position: 0 100%;
  cursor: default;
}

shop-login-button {
  --buttons-radius: var(--btn-border-radius, 0);
}

.custom-select__btn {
  display: flex;
  width: var(--custom-select-button-width, auto);
  min-width: 100%;
  max-width: 100%;
  background-color: rgb(var(--input-bg-color));
  color: rgb(var(--input-text-color));
  font-size: 0.88em;
  font-weight: bold;
  line-height: 0.88em;
}
.custom-select__btn.is-loading {
  color: rgba(var(--input-text-color)/0.2);
}
.custom-select__btn > .icon {
  flex-shrink: 0;
  width: 36px;
  height: 20px;
  margin-inline-start: auto;
  margin-inline-end: -5px;
  padding-inline-start: 16px;
}

.custom-select__listbox {
  z-index: 100;
  top: 5px;
  left: -5px;
  min-width: 100%;
  max-height: 20em;
  overflow-y: auto;
  border: var(--input-border-width) solid rgba(var(--input-text-color)/0.2);
  outline: 0;
  background-color: var(--input-bg-color-diff-3);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
  color: rgb(var(--input-text-color));
  font-size: 0.88em;
}
.custom-select__listbox[aria-hidden=false] {
  visibility: visible;
}

.custom-select__option {
  padding: 10px 16px;
  cursor: pointer;
}
.custom-select__option > em {
  flex-shrink: 0;
  margin-inline-start: auto;
  padding-inline-start: 1em;
  font-style: normal;
}
.custom-select__option.is-focused {
  outline: 0;
  background-color: var(--input-bg-color-diff-6);
  color: rgb(var(--input-text-color));
}

.custom-select__option--visual-group-end:not(:last-child) {
  position: relative;
  margin-bottom: 0.8em;
}
.custom-select__option--visual-group-end:not(:last-child)::after {
  content: "";
  position: absolute;
  top: calc(100% + 0.4em);
  left: 0;
  width: 100%;
  border-bottom: 1px solid rgb(var(--input-text-color));
  opacity: 0.1;
  pointer-events: none;
}

.checkbox {
  position: absolute;
  opacity: 0;
}
.checkbox + label {
  display: inline-flex;
  position: relative;
  align-items: flex-start;
  margin: 0;
  font-size: 1em;
  line-height: 1.5;
  vertical-align: top;
  cursor: pointer;
}
.checkbox + label::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin-top: calc(0.75em - 11px);
  margin-inline-end: 0.75em;
  border: var(--input-border-width) solid rgb(var(--text-color));
  border-radius: 2px;
  background-color: rgb(var(--input-bg-color));
}
.checkbox:checked + label::before {
  border-color: rgb(var(--text-color));
  background-color: rgb(var(--text-color));
}
.checkbox:checked + label::after {
  content: "";
  position: absolute;
  top: calc(0.75em - 1.5px);
  left: 11px;
  width: calc((22px - var(--input-border-width) * 2) * 0.375);
  height: calc((22px - var(--input-border-width) * 2) * 0.75);
  transform: translate(-50%, -50%) rotate(45deg);
  border: solid rgba(var(--bg-color));
  border-width: 0 2px 2px 0;
}
[dir=rtl] .checkbox:checked + label::after {
  right: 11px;
  left: auto;
  transform: translate(50%, -50%) rotate(45deg);
}
.checkbox[disabled] + label {
  opacity: 0.5;
  cursor: default;
}

.radio {
  position: absolute;
  opacity: 0;
}
.radio + label {
  display: inline-flex;
  position: relative;
  align-items: flex-start;
  margin: 0;
  font-size: 1em;
  line-height: 1.5;
  vertical-align: top;
  cursor: pointer;
}
.radio + label::before {
  content: "";
  display: block;
  flex-shrink: 0;
  margin-inline-end: 0.75em;
  border: var(--input-border-width) solid rgb(var(--text-color));
  border-radius: 2px;
  background-color: rgb(var(--input-bg-color));
  width: 22px;
  height: 22px;
  margin-top: calc(0.75em - 11px);
  border-radius: 50%;
}
.radio:checked + label::after {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 11px;
  width: calc((22px - var(--input-border-width) * 2) * 0.625);
  height: calc((22px - var(--input-border-width) * 2) * 0.625);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: rgb(var(--text-color));
}
[dir=rtl] .radio:checked + label::after {
  right: 11px;
  left: auto;
  transform: translate(50%, -50%);
}

.custom-select__option > em {
  padding-inline-start: 2em;
}

.custom-select__listbox {
  min-width: max(100%, 165px);
  border-radius: var(--modal-border-radius);
}

fieldset {
  margin: 0;
  padding: 0.35em 0.75em 0.625em;
}

legend {
  padding: 0;
}

.label {
  display: block;
  margin: 0 0 calc(2 * var(--space-unit));
  font-size: 0.88em;
  font-weight: 700;
  text-align: start;
}

.label--inline {
  display: inline-block;
  margin: 0;
}

.is-required > label:not(.required-inline)::after {
  content: " *";
}

input,
textarea,
select {
  background-clip: padding-box;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
}

input[type=date] {
  min-height: calc((var(--input-padding-y, 11px) + var(--input-border-width)) * 2 + 1.2em);
  -webkit-appearance: none;
}

.input,
select {
  max-width: 100%;
  margin: 0;
  padding: var(--input-padding-y, 11px) 24px;
  transition: border-color 0.2s, box-shadow 0.2s, outline 0.2s;
  border: var(--input-border-width) solid rgba(var(--input-text-color)/0.2);
  border-radius: var(--input-border-radius, 0);
  background-color: rgb(var(--input-bg-color));
  color: rgb(var(--input-text-color));
  font-size: 0.88em;
  line-height: 1.2em;
}
.input:focus,
select:focus {
  border-color: rgba(var(--input-text-color)/0.6);
  outline: 0;
  box-shadow: 0 0 0 1px rgba(var(--input-text-color)/0.6);
}

.input::placeholder {
  color: rgba(var(--input-text-color)/0.5);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
  border: var(--input-border-width) solid rgba(var(--input-text-color)/0.2);
  box-shadow: 0 0 0 1000px rgb(var(--input-bg-color)) inset;
  -webkit-text-fill-color: rgb(var(--input-text-color));
}
.input-with-button input:-webkit-autofill,
.input-with-button input:-webkit-autofill:hover,
.input-with-button input:-webkit-autofill:focus,
.input-with-button textarea:-webkit-autofill,
.input-with-button textarea:-webkit-autofill:hover,
.input-with-button textarea:-webkit-autofill:focus,
.input-with-button select:-webkit-autofill,
.input-with-button select:-webkit-autofill:hover,
.input-with-button select:-webkit-autofill:focus {
  border-color: transparent;
}

[type=email],
[type=tel] {
  text-align: start;
}

[type=number] {
  -moz-appearance: textfield;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button,
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  margin: 0;
  -webkit-appearance: none;
}

textarea {
  border-radius: var(--textarea-border-radius) !important;
  vertical-align: top;
  resize: vertical;
}

select {
  padding-inline-end: 48px;
  font-weight: 700;
  appearance: none;
}

.select::after {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  right: 20px;
  width: 20px;
  height: 20px;
  background-color: rgb(var(--input-text-color));
  pointer-events: none;
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'><path d='M20 8.5 12.5 16 5 8.5' fill='none' stroke='currentColor' stroke-width='1.5'/></svg>");
}
[dir=rtl] .select::after {
  right: auto;
  left: 20px;
}

.input-with-button {
  display: flex;
  align-items: center;
  border-radius: var(--input-lg-border-radius, var(--input-border-radius));
  background-color: rgb(var(--input-bg-color));
  box-shadow: inset 0 0 0 var(--input-border-width) rgba(var(--input-text-color)/0.2);
}
.input-with-button:focus-within {
  box-shadow: inset 0 0 0 var(--input-border-width) rgba(var(--input-text-color)/0.6);
}
.input-with-button > .input {
  flex: 1 1 auto;
  margin-inline-start: 3px;
  margin-inline-end: calc((var(--input-border-radius, 0px) + var(--btn-border-radius, 0px)) * -1);
  padding-inline-end: 0;
  border: 0;
  background-color: transparent;
  box-shadow: none;
}
.input-with-button > .btn {
  flex: 0 0 auto;
  padding: var(--btn-padding-y, 12px) 26px;
  border-radius: var(--input-with-btn-inner-radius, 0) var(--input-border-radius, 0) var(--input-border-radius, 0) var(--input-with-btn-inner-radius, 0);
}
.input-with-button > .btn:not(.btn--primary) {
  color: rgb(var(--input-text-color));
}
.input-with-button > .btn--icon {
  padding: 12px 16px;
}

.checkbox:checked + label::after {
  top: calc(0.75em - 2px);
}

.form__field {
  margin-bottom: calc(6 * var(--space-unit));
  text-align: start;
}
.form > .form__field:last-of-type {
  margin-bottom: 0;
}

.form__field-error {
  margin: 0.5em 0 0;
  color: rgb(var(--error-text-color));
}

.form__actions > .btn {
  margin-inline-end: calc(6 * var(--space-unit));
}

.checkbox--small + .label,
.checkbox--small:checked + .label {
  align-items: center;
  font-size: 0.88em;
}
.checkbox--small + .label::before,
.checkbox--small:checked + .label::before {
  width: 16px;
  height: 16px;
  margin-top: -1px;
}
.checkbox--small + .label::after,
.checkbox--small:checked + .label::after {
  content: "";
  left: 8px;
  width: calc((16px - var(--input-border-width) * 2) * 0.375);
  height: calc((16px - var(--input-border-width) * 2) * 0.75);
}

.tab-used .checkbox--small:focus + .label::before {
  outline: auto Highlight;
  outline: auto -webkit-focus-ring-color;
  outline-offset: 3px;
}

@media (max-width: 768.98px) {
  .input-with-button--md-up {
    display: block;
    border-radius: var(--input-border-radius, 0);
    background: none;
    box-shadow: none;
  }
  .input-with-button--md-up:focus-within {
    box-shadow: none;
  }
  .input-with-button--md-up > .input {
    padding: var(--input-padding-y, 11px) 24px;
    border: var(--input-border-width) solid rgba(var(--input-text-color)/0.2);
    background-color: rgb(var(--input-bg-color));
  }
  .input-with-button--md-up > .input:focus {
    border-color: rgba(var(--input-text-color)/0.6);
  }
  .input-with-button--md-up > .btn {
    width: 100%;
    margin-top: calc(4 * var(--space-unit));
    border-radius: var(--btn-border-radius, 0);
  }
  .input-with-button > .btn {
    padding: var(--btn-padding-y, 12px) 18px;
  }
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

[loading=lazy] {
  transition: opacity 0.5s ease-out;
  opacity: 1;
}
[loading=lazy]:not([src]) {
  opacity: 0;
}

.media {
  overflow: hidden;
}

.media--has-overlay::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.media__placeholder {
  background-color: #d8d8d8;
  fill: #777;
  vertical-align: top;
}
.media__placeholder.dark {
  background-color: #d5d5d5;
  fill: #aaa;
}

.img-fit,
.md\:img-fit {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.img-fit.img-fit--contain,
.md\:img-fit.img-fit--contain {
  object-fit: contain;
}

.icon {
  vertical-align: top;
  pointer-events: none;
}

[dir=rtl] .has-ltr-icon .icon {
  transform: scaleX(-1);
}

.image-blend {
  background-color: var(--blend-bg-color) !important;
}
.image-blend img {
  mix-blend-mode: multiply;
}

@media (max-width: 768.98px) {
  .md\:img-fit {
    position: static;
  }
}
a,
.link,
.product-spec__value a {
  color: rgb(var(--link-color));
  text-decoration: none;
}
a[aria-disabled=true],
.link[aria-disabled=true],
.product-spec__value a[aria-disabled=true] {
  opacity: 0.4;
  cursor: default;
}

.link,
.rte a,
.product-spec__value a {
  transition: opacity 0.3s;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2rem;
}
.link:hover,
.rte a:hover,
.product-spec__value a:hover {
  opacity: 0.6;
}

.skip-link.btn {
  position: absolute;
  z-index: 999;
  top: 16px;
  left: var(--gutter);
}
.skip-link.btn:focus {
  width: auto;
  height: auto;
  clip: auto;
}

ol,
ul {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

.rte ol,
.rte ul {
  display: block;
  margin: 0 0 1em;
  padding: 0;
  padding-inline-start: 2rem;
  text-align: start;
}
.rte ol:last-child,
.rte ul:last-child {
  margin-bottom: 0;
}

.rte ol {
  margin-inline-start: 1em;
}

.styled-list {
  padding-inline-start: 2rem;
}

.rte ol li {
  padding-inline-start: 0.25em;
}
.rte ol li:not(:last-child) {
  margin-bottom: 0.5em;
}

.rte ul > li,
.styled-list > li {
  position: relative;
  padding-inline-start: 1.5em;
}
.rte ul > li:not(:last-child),
.styled-list > li:not(:last-child) {
  margin-bottom: 0.5em;
}

.rte ul > li::before,
.styled-list > li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.5em;
  width: 0.5em;
  height: 0.5em;
  margin-inline-start: -1.25em;
  margin-inline-end: 0.75em;
  border-radius: 50%;
  background-color: currentColor;
}

.overlay {
  visibility: hidden;
  z-index: 30;
  transition: visibility 0.3s, z-index 0s 0.3s, opacity 0.3s;
  opacity: 0;
  background-color: rgba(var(--modal-overlay-color)/var(--modal-overlay-opacity));
  pointer-events: none;
}
.overlay.is-visible {
  visibility: visible;
  transition: visibility 0.3s, z-index 0s, opacity 0.3s;
  opacity: 1;
  pointer-events: initial;
}
.overlay.overlay--over-nav {
  z-index: 31;
}

.overlay--nav {
  z-index: 20;
}

.is-loading::after {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  right: calc(50% - 10px);
  width: 20px;
  height: 20px;
  transition: opacity 0.2s;
  animation: spinner 0.6s linear infinite;
  border: 2px solid;
  border-radius: 50%;
  border-color: rgb(var(--text-color));
  border-top-color: transparent;
}
.is-loading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 20px;
  margin-top: -2px;
  transform: scaleX(-1) rotate(135deg) translateX(-50%) translateY(-50%);
  transform-origin: left top;
  border-top: 2px solid rgb(var(--text-color));
  opacity: 0;
  border-inline-end: 2px solid rgb(var(--text-color));
}

.is-success.is-loading::after {
  opacity: 0;
}
html:not([dir=rtl]) .is-success::before {
  animation: checkmark 1.4s ease;
}

.panel {
  --heading-color: var(--panel-heading-color);
  padding: calc(5 * var(--space-unit));
  background-color: rgba(var(--panel-bg-color));
  color: rgb(var(--panel-text-color));
}

@media (min-width: 1024px) {
  .panel {
    padding: calc(8 * var(--space-unit));
  }
}
table {
  margin: 0;
  border-spacing: 0;
  border-collapse: collapse;
}

th,
td {
  padding: 1em;
  border-collapse: collapse;
  border: 1px solid rgba(var(--text-color)/0.15);
  text-align: start;
}

.discount {
  padding: 6px 14px;
  background-color: rgba(var(--text-color)/0.1);
}
.discount .icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-inline-end: calc(2 * var(--space-unit));
}

.scrollable-table {
  display: inline-block;
  margin-bottom: var(--element-margin-bottom, 2em);
}

@media (max-width: 768.98px) {
  .scrollable-table {
    display: flex;
    overflow: auto;
    overflow-wrap: normal;
  }
  .scrollable-table > table {
    flex-shrink: 0;
    width: auto;
    min-width: 100%;
    max-width: 640px;
  }
  .modal .rte .scrollable-table > table {
    margin-right: 0;
    margin-left: 0;
  }
}
.breadcrumbs {
  min-height: 1.5em;
  margin: calc(5 * var(--space-unit)) 0;
  font-size: 0.75em;
}
.breadcrumbs .icon {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  margin-inline-start: 0.125em;
  margin-inline-end: 0.25em;
}

.breadcrumbs-list {
  flex: 1 1 auto;
  flex-wrap: wrap;
  line-height: 1em;
}

.breadcrumbs-list__link {
  color: currentColor;
  line-height: normal;
}

.breadcrumbs-prod-nav {
  margin-inline-start: auto;
  margin-inline-end: -7px;
}

.breadcrumbs-prod-nav__link--next {
  margin-inline-end: 0;
}
.breadcrumbs-prod-nav__link--next::before {
  content: "·";
  position: relative;
  margin: 0 0.75em;
  opacity: 0.5;
}

.breadcrumbs-list__link--rss {
  margin-inline-start: 1em;
}

@media (min-width: 769px) {
  .breadcrumbs {
    overflow: auto;
  }
  .breadcrumbs-list {
    flex: 1 0 auto;
  }
  .product-breadcrumbs .breadcrumbs-list__link {
    max-width: 20em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .product-breadcrumbs .breadcrumbs-list__link:hover {
    text-decoration: underline;
  }
}
.card {
  flex-direction: column;
  max-width: 768px;
  margin: 0 auto;
}

@media (hover: hover) and (pointer: fine) {
  .card__main-image,
  .card__media.has-hover-image:hover .card__hover-image {
    visibility: visible;
    transition: opacity 0.5s, visibility 0s;
    opacity: 1;
  }
  .card__hover-image,
  .card__media.has-hover-image:hover .card__main-image {
    visibility: hidden;
    transition: opacity 0.5s, visibility 0s 0.5s;
    opacity: 0;
  }
}
.card__info {
  padding-top: calc(4 * var(--space-unit));
}

.card.color-scheme .card__info {
  padding: calc(6 * var(--space-unit)) calc(6 * var(--space-unit)) calc(8 * var(--space-unit)) calc(6 * var(--space-unit));
}

.card-link::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.card:not(.card--related) .price {
  padding-top: 12px;
}

.card:not(.card--related):not(.card--no-lines) .price--top {
  margin-top: calc(3 * var(--space-unit));
  border-top: 1px solid rgba(var(--text-color)/0.15);
}
.card:not(.card--related).card--no-lines .price {
  padding-top: calc(2 * var(--space-unit));
}
.card:not(.card--related).card--no-lines .price--bottom,
.card:not(.card--related) .price--bottom {
  padding-top: calc(4 * var(--space-unit));
}

.card__quick-add {
  display: none;
}

.card__tags--links {
  z-index: 3;
}

.card--wide {
  max-width: none;
}

.card--row,
.main-products-grid[data-layout=list] .card {
  flex-direction: row;
  max-width: none;
}

.main-products-grid[data-layout=list].transition-ready .card {
  transition: padding-top 0.3s;
}

.main-products-grid[data-layout=list] .card--product {
  padding-top: calc(6 * var(--space-unit));
}
.main-products-grid[data-layout=list] .card--product .card__info {
  position: relative;
  padding-top: 0;
}

.main-products-grid[data-layout=list][data-compare=true] .card--product {
  padding-top: calc(5 * var(--space-unit));
}

.main-products-grid[data-layout=list] .card .card__media {
  z-index: 1;
  flex: 0 0 calc(50% - var(--gutter) * 2);
  margin-inline-end: var(--gutter);
  background-color: inherit;
}
.main-products-grid[data-layout=list] .card .card__info-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.main-products-grid[data-layout=list] .card .card__info-inner {
  width: auto;
}

.card--related {
  max-width: none;
  margin-top: calc(4 * var(--space-unit));
  padding: 12px;
  background-color: rgba(var(--text-color)/0.05);
}
.card--related .card__media {
  flex: 0 0 88px;
}
.card--related .card__info {
  padding-top: 0;
  padding-inline-start: calc(4 * var(--space-unit));
}
.card--related .price {
  margin-bottom: calc(2 * var(--space-unit));
}
.card--related .btn {
  z-index: 3;
}
.slider__grid .card--related {
  margin-top: 0;
}

.card__link-list {
  padding-top: calc(2 * var(--space-unit));
}
.card__link-list li {
  margin-bottom: var(--space-unit);
}

.card__link-list-item {
  padding: var(--space-unit) 0 calc(2 * var(--space-unit));
}

.card__title-wrapper {
  padding-top: calc(4 * var(--space-unit));
  padding-bottom: calc(2 * var(--space-unit));
}

.card--product .card__info {
  flex: 1;
}

.card--product .carousel__controls {
  visibility: hidden;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  pointer-events: none;
}

.card--product .carousel__controls .slider-nav__btn {
  pointer-events: auto;
}

.card--product:hover .carousel__controls,
.tab-used .card--product:focus-within .carousel__controls {
  visibility: visible;
  opacity: 1;
}

.card--product .slider-nav {
  padding: 0 5px;
}

.card--product .slider-nav .slider-nav__btn {
  overflow: visible;
  background-color: rgba(var(--bg-color));
}

.card--product .slider-nav__btn svg {
  width: 18px;
  height: 18px;
  color: rgb(var(--text-color));
}

.card--product-contained {
  --text-color: var(--card-text-color);
  padding: calc(5 * var(--space-unit));
  border: 1px solid var(--card-border-color);
  background-color: var(--card-bg-color);
  color: rgb(var(--card-text-color));
}
.card--product-contained .text-theme-light {
  opacity: 0.7;
}

.card--highlight-product {
  --card-text-color: var(--card-highlight-text-color);
  --card-border-color: var(--card-highlight-border-color);
  --card-bg-color: var(--card-highlight-bg-color);
  color: rgb(var(--card-text-color));
}
.card--highlight-product:not(.card--product-contained)::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--card-border-color);
  background-color: var(--card-bg-color);
  pointer-events: none;
}
.card--highlight-product .card__info-container {
  --text-color: var(--card-highlight-text-color);
}
.main-products-grid[data-layout=list][data-compare=false] .card--highlight-product:not(.card--product-contained) {
  padding-top: 0;
}
.carousel .card--highlight-product:not(.card--product-contained) {
  padding: calc(3 * var(--space-unit));
}
.carousel .card--highlight-product:not(.card--product-contained)::before {
  inset: 0;
}

.card--article .btn--icon {
  z-index: 2;
}

.card--article.card--row {
  flex-direction: column;
}

.card__collection--with-border .card__media {
  border: 1px solid var(--coll-card-border-color);
}

.card__collection .media {
  background-color: var(--coll-card-bg-color);
}

.card__media--circle,
.card__media--circle .media {
  border-radius: 50%;
}

.card--article.card--featured .card__info {
  padding: var(--gutter-sm, 20px);
}

@media (max-width: 768.98px) and (pointer: coarse) {
  .card__hover-image {
    display: none;
  }
}
@media (max-width: 768.98px) {
  [data-layout=list] .card--highlight-product:not(.card--product-contained)::before {
    inset: calc(8 * var(--space-unit) / 2 * -1) calc(var(--gutter) * -1);
  }
  .grid-cols-2 .card--product-contained, .auto-cols-2 .card--product-contained {
    padding: calc(3 * var(--space-unit));
  }
  .cc-product-card-grid .grid:not(.slider__grid) .card--highlight-product:not(.card--product-contained)::before {
    inset: -1px;
  }
  .cc-product-card-grid .grid:not(.slider__grid) .card--highlight-product:not(.card--product-contained) .card__info-container {
    padding: calc(3 * var(--space-unit));
  }
}
@media (min-width: 769px) {
  .main-products-grid[data-layout=list] .card--product {
    padding-top: calc(10 * var(--space-unit));
  }
  .card--highlight-product:not(.card--product-contained)::before {
    inset: calc(8 * var(--space-unit) / 2 * -1);
  }
  .carousel .card--highlight-product:not(.card--product-contained) {
    padding: calc(5 * var(--space-unit));
  }
  .grid-cols-2:not(.small-cards-mobile) .card--product-contained, .auto-cols-2:not(.small-cards-mobile) .card--product-contained, .small-cards-desktop .card--product-contained {
    padding: calc(4 * var(--space-unit));
  }
  .main-products-grid[data-layout=list] .card .card__media {
    flex: 0 0 calc(33.333333% - calc(8 * var(--space-unit)));
    max-width: 245px;
    margin-inline-end: calc(10 * var(--space-unit));
  }
  .main-products-grid[data-layout=list] .card .card__info {
    flex: 1 1 auto;
  }
  .main-products-grid[data-layout=list] .card .card__info-container {
    flex-direction: row;
    align-items: center;
  }
  .card--article.card--featured {
    flex-direction: row;
  }
  .card--article.card--featured .card__media {
    flex: 0 0 50%;
  }
  .card--article.card--featured .card__info {
    min-height: 250px;
    padding: calc(8 * var(--space-unit));
  }
  .card.color-scheme .card__info {
    padding: calc(8 * var(--space-unit));
  }
  .card--product .price__current {
    font-size: 1.2em;
  }
  .card--product .price__was {
    font-size: 1em;
  }
}
@media (min-width: 1280px) {
  .card.color-scheme .card__info {
    padding: calc(10 * var(--space-unit));
  }
  .card--article.card--featured .card__info {
    min-height: 350px;
  }
}
@media (hover: none) {
  .card__hover-image {
    display: none;
  }
}
.countdown__grid {
  grid-template-columns: repeat(4, auto);
  font-size: calc(var(--countdown-size, 24) * var(--fluid-1-5));
  gap: var(--countdown-gap, 1em);
}

.countdown__item:not(:last-child) .countdown__number::after {
  content: ":";
  position: absolute;
  top: 0;
  left: calc(100% + var(--countdown-gap, 1em) / 2);
  padding-top: 0.45em;
  transform: translateX(-50%);
  color: rgb(var(--text-color));
}
[dir=rtl] .countdown__item:not(:last-child) .countdown__number::after {
  right: calc(100% + var(--countdown-gap, 1em) / 2);
  left: auto;
  transform: translateX(50%);
}

.countdown__number {
  box-sizing: content-box;
  min-width: 2ch;
  margin-bottom: 6px;
  padding: 0.45em;
  border: 0;
  border-radius: 0.4em;
  background-color: rgb(var(--text-color));
  color: rgba(var(--bg-color));
  line-height: 1;
  white-space: nowrap;
}

.countdown__unit {
  font-size: 14px;
}

.countdown__grid + .countdown__text {
  margin-top: calc(var(--countdown-size, 24) * var(--fluid-1-5) / 2);
}

@media (max-width: 599.98px) {
  .countdown__grid {
    --countdown-gap: 14px;
    font-size: 22px;
  }
}
.color-scheme--white .text-overlay__block:not(.countdown-timer__custom-colors) .countdown__number {
  color: #000;
}

@media (max-width: 599.98px) {
  .color-scheme--white.mobile-stacked .text-overlay__block:not(.countdown-timer__custom-colors) .countdown__number {
    color: rgba(var(--bg-color));
  }
}
.countdown__block {
  margin-top: calc(8 * var(--space-unit));
  margin-bottom: calc(8 * var(--space-unit));
}
.countdown__block:last-child {
  margin-bottom: 0;
}

.section__block--countdown:not(:first-child) {
  margin-top: calc(6 * var(--space-unit));
  margin-bottom: calc(6 * var(--space-unit));
}

.countdown__text {
  margin-top: calc(4 * var(--space-unit));
}
.countdown-large-endtext .countdown__text {
  font-size: 1.25em;
}

@media (max-width: 768.98px) {
  .countdown__item {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (max-width: 599.98px) {
  .countdown__unit {
    font-size: 0.5em;
  }
}
.disclosure > summary {
  padding: calc(6 * var(--space-unit)) 0;
}

.disclosure--row {
  border: 1px solid rgba(var(--text-color)/0.15);
  border-width: 1px 0;
}

details-disclosure + details-disclosure .disclosure--row {
  border-top: 0;
}

.js .disclosure__panel {
  overflow: hidden;
  transition: height 0.3s cubic-bezier(0.2, 0.6, 0.4, 1);
}

.disclosure__toggle {
  margin-inline-start: calc(3 * var(--space-unit));
}
.disclosure__toggle > .icon {
  display: block;
  width: 20px;
  height: 20px;
}

.disclosure[open]:not(.is-closing) .disclosure__toggle > .icon {
  transform: scaleY(-1);
}
.disclosure[open]:not(.is-closing) .v-line {
  display: none;
}

.disclosure__title {
  max-width: 100%;
  margin-bottom: 0;
}
.disclosure__title > .icon {
  flex-shrink: 0;
  margin: 0;
  margin-inline-end: calc(4 * var(--space-unit));
}
.disclosure__title > .icon--washing,
.disclosure__title > .icon--truck,
.disclosure__title > .icon--silhouette,
.disclosure__title > .icon--lock {
  margin-top: -2px;
}

.disclosure__content {
  padding-bottom: calc(6 * var(--space-unit));
}
.js .disclosure__content {
  transition: opacity 0.3s ease 0s;
  opacity: 0;
}
.js .disclosure[open]:not(.is-closing) .disclosure__content {
  transition: opacity 0.3s ease 0.1s;
  opacity: 1;
}

.image-banner .rte a,
.image-banner .rte a:hover {
  color: inherit;
}

@media (min-width: 600px) {
  .image-banner.auto-height::after {
    content: "";
    padding-top: 56.25%;
  }
}
@media (max-width: 599.98px) {
  .mobile-stacked .image-banner {
    flex-direction: column;
  }
  .mobile-stacked .image-banner .image-banner__image::after {
    display: none;
  }
  .mobile-stacked .image-banner > .container {
    height: 100%;
    padding: 0;
    overflow: hidden;
  }
  .mobile-stacked .image-banner:not(.slideshow__slide) .media,
  .mobile-stacked .auto-height:not(.slideshow__slide) .media::after {
    position: relative;
  }
  .mobile-stacked--spaced {
    margin-bottom: calc(var(--section-gap) * 0.1rem);
  }
}
.main-menu {
  --nav-line-color: rgba(var(--nav-child-text-color) / 0.2);
  font-family: var(--navigation-font-family);
  font-style: var(--navigation-font-style);
  font-weight: var(--navigation-font-weight);
}

.main-menu .badge {
  white-space: normal;
}

.grandchild-nav__item,
.main-nav__item--go,
.mega-nav--pills.mega-nav--no-grandchildren .main-nav__item:not(.main-nav__item-header) {
  font-family: var(--body-font-family);
  font-style: var(--body-font-style);
  font-weight: var(--body-font-weight);
}

.main-menu__toggle {
  position: relative;
  width: 44px;
  height: 44px;
  margin-inline-start: 10px;
  margin-inline-end: -10px;
}

.main-menu__toggle::before,
.main-menu__toggle::after,
.main-menu__toggle-icon::before,
.main-menu__toggle-icon::after {
  content: "";
  display: block;
  position: absolute;
  left: 12px;
  width: 20px;
  height: 2px;
  transform: rotate(0deg);
  transition: 0.3s ease-in-out;
  transition-property: transform, width, top, left;
  background: currentColor;
}

.main-menu__toggle-icon::before {
  top: 14px;
}

.main-menu__toggle::before,
.main-menu__toggle::after {
  top: 21px;
}

.main-menu__toggle-icon::after {
  top: 28px;
}

.no-js .main-nav__item-content {
  pointer-events: none;
}

.main-menu__disclosure.is-open .main-menu__toggle-icon::before,
.main-menu__disclosure.is-open .main-menu__toggle-icon::after,
.no-js .main-menu__disclosure[open] .main-menu__toggle-icon::before,
.no-js .main-menu__disclosure[open] .main-menu__toggle-icon::after {
  top: 21px;
  left: 22px;
  width: 0;
}
.main-menu__disclosure.is-open .main-menu__toggle::before,
.no-js .main-menu__disclosure[open] .main-menu__toggle::before {
  transform: rotate(45deg);
}
.main-menu__disclosure.is-open .main-menu__toggle::after,
.no-js .main-menu__disclosure[open] .main-menu__toggle::after {
  transform: rotate(-45deg);
}

.main-nav__item,
.secondary-nav__item {
  color: currentColor;
}

.secondary-nav__cta .icon {
  flex-shrink: 0;
}
.secondary-nav__cta .icon + span {
  margin-inline-start: 10px;
}

.secondary-nav__item.secondary-nav__cta--button {
  padding: 0.3em 0.9em;
  transition: background-position 0.4s ease-out;
  border-radius: var(--btn-border-radius, 0);
  background: rgb(var(--cta-bg-hover-color)) linear-gradient(104deg, rgb(var(--cta-bg-hover-color)) 60%, rgb(var(--cta-bg-color)) 60%, rgb(var(--cta-bg-color)) 100%) no-repeat 100% 100%;
  background-size: 300% 100%;
  line-height: 1.2;
}

.main-nav__item--toggle .icon,
.main-nav__item--back .icon,
.main-nav__item--go .icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-inline-start: 5px;
  transition: transform 0.3s;
}

.main-nav__item--go {
  display: flex;
  align-items: center;
  color: rgba(var(--nav-child-text-color)/0.7);
}

.main-nav__item--go .icon,
.main-nav__icon-circle .icon {
  width: 15px;
  height: 15px;
  margin-inline-start: calc(2 * var(--space-unit));
  padding: 1px;
  border: 1px solid;
  border-radius: 50%;
}

.child-nav details[open]:not(.is-closing) .icon {
  transform: scaleY(-1);
}

.main-nav__item--toggle {
  width: auto;
}
.main-nav__item--toggle .main-nav__item-content {
  display: inline-flex;
  align-items: center;
}
.main-nav__item--toggle .main-nav__item--primary {
  align-items: flex-end;
}
.main-nav__item--toggle .icon {
  transform: rotate(0deg);
}

.main-nav__link--featured {
  color: rgb(var(--header-accent-color));
}

.main-nav__grandchild {
  padding: 0 16px 2.5rem;
}
.main-nav__grandchild .main-nav__item {
  display: block;
}
.main-nav__grandchild .main-nav__item,
.main-nav__grandchild .main-nav__item--go {
  padding: 8px 0;
}

.main-menu .custom-select__listbox {
  top: auto;
  bottom: 5px;
}

.main-nav__collection-image--flex {
  flex: 0 0 auto;
}

.main-nav__collection-image {
  flex-basis: var(--image-size, 40px);
  width: var(--image-size), 40px;
  height: var(--image-size, 40px);
}

.main-nav__collection-image--standard {
  --image-size: 30px;
}

.main-nav__collection-image--large {
  --image-size: 40px;
}

.main-nav__collection-image-circle {
  border-radius: 50%;
}

@media (hover: none) {
  .main-nav__item-content {
    pointer-events: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .secondary-nav__item.secondary-nav__cta--button:hover {
    background-position: 0 100%;
    box-shadow: none;
  }
}
@media (max-width: 768.98px) {
  .secondary-nav__item {
    font-weight: normal;
  }
  .main-menu--left-mob {
    order: -1;
  }
  .main-menu--left-mob .main-menu__toggle {
    margin-top: 0;
    margin-bottom: 0;
    margin-inline-start: -10px;
    margin-inline-end: 10px;
  }
  .main-menu__content {
    visibility: hidden;
    width: 100vw;
    min-width: 0;
    max-width: none;
    padding-bottom: calc(8 * var(--space-unit));
    overflow: hidden;
    box-shadow: 0 -1px 0 var(--nav-line-color);
  }
  .main-menu__content,
  .js .main-nav__child {
    position: fixed;
    z-index: 30;
    top: var(--header-end, 100px);
    left: 0;
    width: 100vw;
    height: calc(var(--viewport-height) - var(--header-end, 100px));
    padding-right: var(--gutter);
    padding-bottom: 60px;
    padding-left: var(--gutter);
    overflow-y: scroll;
    background-color: rgb(var(--nav-child-bg-color));
    color: rgb(var(--nav-child-text-color));
  }
  .main-menu__disclosure.is-closing > .main-menu__content,
  .main-menu__disclosure > .main-menu__content {
    transition: opacity 0.3s, visibility 0.3s;
    opacity: 0;
  }
  .main-menu__disclosure.is-open > .main-menu__content {
    opacity: 1;
  }
  .main-menu__content--no-focus {
    overflow: hidden;
  }
  .main-nav > li,
  .child-nav > li,
  .grandchild-nav > li {
    border-bottom: 1px solid var(--nav-line-color);
  }
  .main-nav__item {
    display: block;
    width: 100%;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
    padding-inline-start: 16px;
    padding-inline-end: 44px;
    line-height: 1.5;
  }
  .main-nav__item-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
  }
  .main-nav__item--toggle .icon {
    position: absolute;
    right: 16px;
    margin-inline-end: -4px;
  }
  [dir=rtl] .main-nav__item--toggle .icon {
    right: auto;
    left: 16px;
  }
  .main-nav__item--toggle .main-nav__item:not(.child-nav__item) .icon {
    transform: rotate(-90deg);
  }
  [dir=rtl] .main-nav__item--toggle .main-nav__item:not(.child-nav__item) .icon {
    transform: rotate(90deg);
  }
  .main-nav__item--back {
    color: rgb(var(--header-accent-color));
  }
  .main-nav__item--back .main-nav__item-content {
    justify-content: flex-start;
  }
  .main-nav__item--back .main-nav__item-content > .icon {
    margin-inline-start: -4px;
    margin-inline-end: calc(2 * var(--space-unit));
  }
  .mega-nav > .container {
    padding: 0;
  }
  .mega-nav .main-nav__item--toggle {
    padding-top: 0;
    padding-bottom: 0;
  }
  .no-js .mega-nav .main-nav__item--toggle {
    margin-top: 0;
  }
  .js .is-open > .main-menu__content,
  .no-js [open] > .main-menu__content {
    visibility: visible;
    pointer-events: initial;
  }
  .js .main-nav__child,
  .js .main-nav__child.is-closing {
    transform: translate3d(100%, 0, 0);
    transition: transform 0.2s ease-out;
  }
  .js .is-open:not(.is-closing) > .main-nav__child {
    transform: translate3d(0, 0, 0);
  }
  .no-js .main-nav__item--toggle .icon {
    transform: rotate(0);
  }
  .no-js .main-nav__child {
    padding: 0 0 0 16px;
  }
  .no-js .main-nav__child .md\:hidden {
    display: none;
  }
  .no-js .child-nav > li,
  .no-js .main-nav__grandchild > li {
    border-bottom: 0;
  }
  .no-js .child-nav__item {
    padding: 1.6rem 0;
  }
  .secondary-nav {
    margin-top: calc(12 * var(--space-unit));
    padding: 0 16px;
  }
  .secondary-nav > li:not(:only-child) {
    margin-top: 2rem;
  }
  .secondary-nav__item.secondary-nav__cta--button {
    padding: 0.5em 1.1em;
  }
  .main-menu .localization {
    margin-top: calc(12 * var(--space-unit));
    padding: 0 16px;
  }
  .mob__localization .localization__selector {
    margin-bottom: calc(4 * var(--space-unit));
  }
  .mob__localization .localization__selector:last-child {
    margin-bottom: 0;
  }
  .main-nav__grandchild li:first-child .main-nav__item {
    padding-top: 0;
  }
  .main-nav__grandchild {
    max-width: none !important;
  }
  .main-nav__collection-image {
    margin-inline-start: 16px;
  }
}
@media (min-width: 769px) {
  body:not(.tab-used) .main-nav__item--toggle {
    outline: none !important;
  }
  .main-menu {
    width: 100%;
    background-color: rgb(var(--nav-bg-color));
    color: rgb(var(--nav-text-color));
  }
  .main-menu .localization {
    display: none;
  }
  .main-nav {
    flex-wrap: wrap;
  }
  .main-nav,
  .secondary-nav {
    display: flex;
    align-items: flex-end;
    margin: 0 -1.2rem;
  }
  .secondary-nav {
    min-height: calc(2rem + 1.2em);
  }
  .main-nav__item--primary,
  .secondary-nav__item {
    display: block;
    margin: 0 1.2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition: box-shadow 0.1s;
    line-height: 1.2em;
  }
  .main-nav__item--primary:hover, .main-nav__item--primary.is-active, .is-open > summary > .main-nav__item--primary,
  .secondary-nav__item:hover,
  .secondary-nav__item.is-active,
  .is-open > summary > .secondary-nav__item {
    box-shadow: inset 0 -2px 0 0 currentColor;
  }
  .secondary-nav__cta {
    display: flex;
    white-space: nowrap;
  }
  .secondary-nav__item.secondary-nav__cta--button {
    line-height: 1;
  }
  .secondary-nav__item:not(.secondary-nav__cta) {
    color: rgba(var(--nav-text-color)/0.6);
    white-space: nowrap;
  }
  .child-nav__item--toggle .main-nav__item-content {
    pointer-events: initial;
  }
  .child-nav__item,
  .child-nav__item--toggle,
  .grandchild-nav__item {
    transition: color 0.3s;
  }
  .child-nav__item:hover,
  .child-nav__item--toggle:hover,
  .grandchild-nav__item:hover {
    color: rgba(var(--nav-child-text-color)/0.7);
  }
  [open] > .main-nav__item--primary .icon {
    transform: rotate(180deg);
  }
  .main-nav__child {
    visibility: hidden;
    position: absolute;
    z-index: 10;
    top: 100%;
    min-width: 170px;
    max-height: max(100vh - var(--content-start, 150px) - 70px, 60vh);
    padding: 2rem 1.2rem;
    overflow: auto;
    transition: transform 0.3s, opacity 0.2s, visibility 0.3s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    border-top: 1px solid var(--nav-line-color);
    background-color: rgb(var(--nav-child-bg-color));
    box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.1);
    color: rgb(var(--nav-child-text-color));
  }
  .main-nav__child.mega-nav {
    left: 0;
    width: var(--viewport-width, 100vw);
    padding: calc(8 * var(--space-unit)) 0;
    transition-delay: 0.3s;
  }
  .is-closing > .main-nav__child, .main-nav__child {
    z-index: -1;
    transform: translateY(-10px);
    opacity: 0;
  }
  .is-open > .main-nav__child, .no-js details[open] .main-nav__child {
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
    opacity: 1;
  }
  .main-nav__child--offset-right {
    right: 5px;
  }
  .child-nav--dropdown {
    max-width: 300px;
  }
  .main-nav__grandchild .main-nav__item,
  .main-nav__grandchild .main-nav__item--go {
    padding: 8px 0;
    font-size: 0.88em;
  }
  .child-nav__item {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .child-nav__item,
  .main-nav__grandchild {
    display: block;
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .child-nav--dropdown .main-nav__grandchild {
    padding-bottom: 0.5em;
  }
  .child-nav--dropdown .child-nav__item--toggle {
    position: relative;
    padding-inline-end: 5rem;
  }
  .child-nav--dropdown .child-nav__item--toggle .main-nav__item-content,
  .child-nav--dropdown .child-nav__item--toggle .child-nav__item {
    width: 100%;
  }
  .child-nav--dropdown .child-nav__item--toggle .icon {
    position: absolute;
    right: 2rem;
    margin-top: 2px;
    margin-inline-start: 10px;
  }
  [dir=rtl] .child-nav--dropdown .child-nav__item--toggle .icon {
    right: auto;
    left: 2em;
  }
}
@media (min-width: 835px) {
  .main-menu__content {
    display: flex;
  }
  .secondary-nav {
    margin-top: 1px;
    padding-inline-start: calc(12 * var(--space-unit));
  }
}
.pagination--modern {
  max-width: 250px;
}

.pagination[aria-disabled=true],
.pagination--modern[aria-disabled=true] {
  opacity: 0.4;
  cursor: default;
}

.pagination.is-loading li {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}

.pagination__arrow[aria-disabled=true] {
  opacity: 0.4;
}

.pagination__arrow-icon svg {
  width: 18px;
}

.pagination__next-label {
  margin-inline-end: calc(2 * var(--space-unit));
}

.pagination__item {
  flex: 1;
}

.pagination__page-link,
.pagination__page-current {
  padding: 8px 14px;
}

.pagination__page-link {
  color: rgba(var(--text-color)/0.8);
}

.pagination__page-link:hover,
.pagination__page-current {
  background: linear-gradient(to top, currentColor 2px, transparent 2px) no-repeat center bottom/1.3em;
}

.pagination__bar {
  height: 2px;
  background-color: rgba(var(--text-color)/0.2);
}
.pagination__bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: var(--pagination-percent);
  height: 2px;
  transition: width 0.3s;
  background-color: rgb(var(--text-color));
}

@media (min-width: 1280px) {
  .pagination {
    justify-content: center;
    width: auto;
    overflow-wrap: normal;
  }
  .pagination__item--arrow {
    flex: 0;
  }
  .pagination__arrow {
    margin: 0 calc(2 * var(--space-unit));
    padding: 0 26px;
  }
  .pagination__arrow--prev {
    margin-inline-end: calc(8 * var(--space-unit));
  }
  .pagination__arrow--next {
    margin-inline-start: calc(8 * var(--space-unit));
  }
}
.price__current {
  padding-inline-end: 0.5rem;
  font-size: 1em;
  font-weight: bold;
  white-space: nowrap;
}

.price__from {
  font-size: 0.85em;
  font-weight: normal;
}

.price__was {
  color: rgba(var(--text-color)/0.8);
  font-size: 0.8em;
  text-decoration: line-through;
  white-space: nowrap;
}

.price__was--supercents {
  position: relative;
  text-decoration: none;
}
.price__was--supercents::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: rotate(-10deg);
  border-top: 1px solid currentColor;
}

.unit-price {
  font-size: 0.8em;
  white-space: nowrap;
}
.unit-price::before {
  content: "(";
}
.unit-price::after {
  content: ")";
}

.predictive-result__info .price__current {
  font-size: 1.6rem;
  font-weight: normal;
}
.predictive-result__info .price__was {
  font-size: 1.3rem;
}

sup {
  position: relative;
  top: -0.5em;
  margin-left: 1px;
  font-size: 60%;
  vertical-align: baseline;
}

.qty-input {
  --padding: var(--btn-padding-y, 12px);
  --size: calc((var(--btn-border-width) + var(--padding)) * 2 + 1.4rem);
}

.qty-input__input {
  width: var(--size);
  margin: 0;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
  border: var(--btn-border-width) solid rgba(var(--input-text-color)/0.2);
  text-align: center;
}

.qty-input__btn {
  position: relative;
  z-index: 1;
  width: var(--size);
  height: var(--size);
  padding: 0;
  border: var(--btn-border-width) solid rgba(var(--input-text-color)/0.2);
  border-radius: var(--btn-border-radius, 0);
  background-color: rgb(var(--input-bg-color));
  color: rgb(var(--input-text-color));
}

.btn--minus::before, .btn--minus::after,
.btn--plus::before,
.btn--plus::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  width: 12px;
  height: 2px;
  transform: translate(50%, -50%);
  background-color: currentColor;
}
.btn--minus::after,
.btn--plus::after {
  width: 2px;
  height: 12px;
}

.btn--minus::after {
  display: none;
}

.js .qty-input--combined {
  border: var(--btn-border-width) solid rgba(var(--input-text-color)/0.2);
  border-radius: var(--btn-border-radius, 0);
  background-color: rgb(var(--input-bg-color));
}
.js .qty-input--combined:focus-within {
  border-color: rgba(var(--input-text-color)/0.6);
  box-shadow: 0 0 0 1px rgba(var(--input-text-color)/0.6);
}
.js .qty-input--combined .qty-input__input,
.js .qty-input--combined .qty-input__btn {
  border: 0;
  background: none;
  color: rgb(var(--input-text-color));
}
.js .qty-input--combined .qty-input__input {
  padding: var(--padding) 0;
  border-radius: 0;
  box-shadow: none;
}
.js .qty-input--combined .qty-input__btn {
  width: calc(var(--padding) * 2 + 1.4rem);
  height: calc(var(--padding) * 2 + 1.4rem);
}

.qty-input {
  height: 100%;
}

.qty-input__input {
  flex: 1 1 auto;
  width: 2.5em;
}
.no-js .qty-input__input {
  width: 4em;
  padding-right: 5px;
  padding-left: 5px;
}

.js .qty-input--combined:focus-within {
  box-shadow: 0 0 0 0 rgba(var(--input-text-color)/0.6);
}

.qty-input--secondary-btn .qty-input {
  --input-text-color: var(--btn-alt-text-color);
  border-color: rgb(var(--btn-alt-text-color));
  background-color: rgba(var(--btn-alt-bg-color)/var(--btn-alt-bg-alpha));
}
.qty-input--secondary-btn .qty-input:focus-within {
  border-color: rgb(var(--btn-alt-text-color));
  box-shadow: 0 0 0 1px rgb(var(--btn-alt-text-color));
}

.rating,
.rating__count {
  line-height: 1.5rem;
}

.rating__stars {
  --no-rating-col: rgba(var(--star-color)/0.2);
  --percent: calc((var(--rating) / var(--rating-max) + 0.01) * 100%);
  background: linear-gradient(90deg, rgb(var(--star-color)) var(--percent), var(--no-rating-col) var(--percent));
  background-clip: text;
  font-family: Times;
  font-size: 1.125em;
  letter-spacing: -0.1em;
  line-height: 1;
  -webkit-text-fill-color: transparent;
}

.rating__count {
  margin-inline-start: 0.5em;
}

.spr-stars > span {
  display: flex;
  align-items: center;
  height: 100%;
}

.spr-star {
  margin-inline-end: 2px;
}

@keyframes marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-100%, 0, 0);
  }
}
.scrolling-banner--pausable:hover {
  --play-state: paused;
}

.scrolling-banner__items-container {
  direction: ltr;
}

.scrolling-banner__items {
  animation: marquee var(--duration, 10s) linear infinite var(--play-state, running) var(--direction);
}
[dir=rtl] .scrolling-banner__items {
  direction: rtl;
}

.scrolling-banner__items,
.scrolling-banner__item {
  white-space: nowrap;
}

a.scrolling-banner__item {
  transition: opacity 0.3s;
  color: currentColor;
}
a.scrolling-banner__item:hover {
  opacity: 0.6;
}

.scrolling-banner__text {
  margin-bottom: 0;
}

.search {
  position: relative;
  margin: 6px 0;
  transition: margin var(--header-transition-speed);
}

.search__form {
  position: relative;
}

.search__input {
  --input-text-color: var(--text-color);
  padding-inline-start: 54px;
  padding-inline-end: 54px;
  border: 0;
  border-radius: var(--input-lg-border-radius, var(--input-border-radius));
  background-color: var(--search-bg-color, rgba(var(--text-color)/0.08));
  color: rgb(var(--text-color));
  font-size: var(--body-font-size);
  line-height: 1em;
  text-transform: initial;
}
body:not(.tab-used) .search__input {
  outline: none;
}
.search__input::placeholder {
  color: rgba(var(--text-color)/0.5);
}

.search__submit {
  top: calc(50% - 22px);
  min-height: 44px;
  padding: 12px 24px;
  padding-inline-end: 0;
}

@media (max-width: 768.98px) {
  .search__submit {
    padding-inline-start: 20px;
  }
  .search-is-collapsed .header__search--collapsible-mob .search {
    margin: 0;
  }
}
@media (min-width: 769px) {
  .search {
    margin: 0 0 15px;
  }
}
@media (min-width: 1024px) {
  .search__input {
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .cc-main-search .search__input {
    width: 600px;
  }
}
shopify-account {
  --shopify-account-color-accent: rgb(var(--icon-color));
  --shopify-account-color-accent-text: rgba(var(--bg-color));
  --shopify-account-font-heading: var(--heading-font-family);
  --shopify-account-font-heading-weight: var(--heading-font-weight);
  --shopify-account-font-body: var(--body-font-family);
  --shopify-account-font-body-weight: var(--body-font-weight);
  --shopify-account-radius-base: var(--modal-border-radius, 0px);
  --shopify-account-radius-button: var(--btn-border-radius, 0px);
  --shopify-account-radius-button-small: var(--btn-border-radius, 0px);
  --shopify-account-radius-dialog: var(--modal-border-radius, 0px);
  --shopify-account-radius-input: var(--input-border-radius, 0px);
  --shopify-account-signed-in-avatar-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
}
shopify-account .account-button__fallback {
  display: block;
  width: var(--shopify-account-signed-in-avatar-size);
  height: var(--shopify-account-signed-in-avatar-size);
  border-radius: 50%;
  background-color: var(--shopify-account-color-accent);
}

@media (min-width: 1024px) {
  shopify-account {
    --shopify-account-signed-in-avatar-size: 32px;
  }
}
.drawer {
  --longest-transition-in-ms: 700;
  visibility: hidden;
  z-index: 40;
  max-width: 540px;
  height: var(--viewport-height, 100vh);
  overflow: auto;
  transform: translate3d(100%, 0, 0);
  transition: visibility 0s 0.6s, transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  outline: 0;
  background-color: rgba(var(--drawer-bg-color));
  color: rgb(var(--drawer-text-color));
}
.drawer[open] {
  visibility: visible;
  transform: translate3d(0, 0, 0);
  transition: visibility 0s 0s, transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.drawer:not(.facets) {
  border-radius: var(--drawer-border-radius) 0 0 var(--drawer-border-radius);
  box-shadow: -2px 1px 10px 2px rgba(0, 0, 0, 0.2);
}
.drawer[aria-modal] {
  --bg-color: var(--drawer-bg-color);
  --heading-color: var(--drawer-text-color);
  --link-color: var(--drawer-text-color);
  --text-color: var(--drawer-text-color);
  --swatch-border-color-active: var(--drawer-text-color);
}

.cart-drawer-popup__content shipping-calculator h2,
.cart-drawer-popup__content cart-note h2 {
  margin-bottom: calc(6 * var(--space-unit));
}

.drawer__header {
  justify-content: space-between;
  border-bottom: 1px solid rgba(var(--drawer-text-color)/0.2);
}

.drawer__header--no-border {
  border-bottom: 0;
}

.drawer__close-btn,
.drawer__back-btn,
.cart-drawer-popup__btn {
  margin: -10px;
  padding: 10px;
  color: rgb(var(--heading-color));
}

.drawer__content {
  overflow: auto;
  transition: opacity 0.6s;
}
.js .drawer__content {
  display: none;
  opacity: 0;
}
.js [open] > .drawer__content:not(.drawer__content--out) {
  display: block;
  opacity: 1;
}
.js [open] > .drawer__content:not(.drawer__content--out).drawer__content--flex {
  display: flex;
  flex-direction: column;
}
.js .dom-loaded-plus-2 .drawer__content {
  display: block;
}

.cart-drawer__summary--top,
.cart-drawer__summary--top .cart-drawer-popup {
  border-bottom: 1px solid rgba(var(--drawer-text-color)/0.2);
}

.cart-drawer-summary-top.cart-drawer--checkout--sticky-true {
  z-index: 10;
}

.cart-drawer__summary {
  background-color: rgba(var(--drawer-bg-color));
}

.cart-drawer--checkout--sticky-true {
  position: sticky;
  top: calc(var(--cart-drawer__summary-height, 0) * -1 + var(--cart-drawer__checkout-buttons-height, 0) + 6 * var(--space-unit) + 2px);
}

.cart-drawer__summary--top.cart-drawer--checkout--sticky-true {
  z-index: 10;
  border-top: 1px solid rgba(var(--drawer-text-color)/0.2);
}

.drawer__footer:empty,
.cart-drawer__summary:empty {
  display: none;
}
[open] > .drawer__footer:not(.drawer__footer--out),
[open] > .cart-drawer__summary:not(.drawer__footer--out) {
  transform: translate3d(0, 0, 0);
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s, opacity 0.7s;
  opacity: 1;
}

.drawer__footer {
  z-index: 5;
  transform: translate3d(0, 100%, 0);
  transition: transform 0s 0.4s, opacity 0.7s;
  opacity: 0;
  box-shadow: 0 -2px 8px 0 rgba(var(--drawer-text-color)/0.08);
}

.cart-drawer-popup {
  z-index: 2;
  max-height: 100vh;
  overflow: auto;
  transition: height 0.3s cubic-bezier(0.2, 0.6, 0.4, 1);
  background-color: rgba(var(--drawer-bg-color));
}

.drawer__header,
.drawer__footer,
.drawer__content,
.cart-drawer-popup__content,
.cart-drawer__summary {
  padding: var(--gutter);
}

.drawer--cart .cart-recommendations,
.cart-drawer__promoted-products,
.cart-drawer__media-promotion {
  padding: 0 var(--gutter) var(--gutter) var(--gutter);
}

.drawer--cart .cart-recommendations,
.cart-drawer__promoted-products {
  max-width: 100%;
  padding-top: 0;
}

.drawer--cart .drawer__header,
.quick-add__header {
  position: sticky;
  z-index: 4;
  top: 0;
  background-color: rgba(var(--bg-color));
}

.drawer--cart .drawer__content {
  padding: 0;
}

.cart-drawer__content {
  padding: var(--gutter);
}

.cart-drawer-popup__btn {
  --end-gutter: var(--gutter);
  top: calc(6 * var(--space-unit));
}
.cart-drawer-popup__btn > .icon {
  display: block;
}

.overlay--drawer {
  z-index: 4;
  background-color: rgba(0, 0, 0, 0.25);
}

.cc-main-cart .icon--cart {
  display: none;
}

[data-empty=true] .cart-empty svg {
  display: block;
  width: 44px;
  height: 44px;
  margin-bottom: 1em;
}

.drawer__empty-with-promotions {
  flex-direction: column;
}
.drawer__empty-with-promotions .cart-drawer__content {
  display: flex;
  flex-grow: 1;
}

.cart-drawer__media-promotion-container {
  position: sticky;
  top: 100%;
}

@media (max-width: 767px) {
  .drawer {
    top: auto;
    bottom: 0;
    height: calc(100dvh - 100px);
    transform: translate3d(0, 100%, 0);
  }
  .drawer:not(.facets) {
    border-radius: var(--drawer-border-radius) var(--drawer-border-radius) 0 0;
  }
}
@media (min-width: 769px) {
  .drawer__header,
  .drawer__footer,
  .drawer__content,
  .cart-drawer-popup__content,
  .cart-drawer__content,
  .cart-drawer__summary {
    padding: calc(6 * var(--space-unit)) calc(8 * var(--space-unit));
  }
  .cart-drawer__content {
    padding-bottom: calc(8 * var(--space-unit));
  }
  .drawer--cart .cart-recommendations,
  .cart-drawer__promoted-products,
  .cart-drawer__media-promotion {
    padding: 0 calc(8 * var(--space-unit)) calc(8 * var(--space-unit));
  }
  .cart-drawer-popup__btn {
    --end-gutter: calc(8 * var(--space-unit));
  }
}
.slider {
  --scrollbar-border-width: 11px;
  padding-bottom: calc(4 * var(--space-unit));
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgb(var(--scrollbar-color, 60 60 60)) rgba(var(--scrollbar-color, 60 60 60)/0.05);
  scroll-behavior: smooth;
}
.slider[data-overlayscrollbars-viewport] {
  position: static;
  scroll-snap-type: none;
  scroll-behavior: auto;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 calc(10 * var(--space-unit)) !important;
}
.slider.is-grabbable {
  cursor: grab;
  -webkit-user-select: none;
          user-select: none;
}
.slider.is-grabbable img {
  pointer-events: none;
}
.slider.is-grabbing {
  cursor: grabbing;
}
.slider.is-dragging a {
  pointer-events: none;
}
@supports selector(::-webkit-scrollbar) {
  .slider::-webkit-scrollbar {
    height: 24px;
  }
  .slider::-webkit-scrollbar-thumb {
    border: var(--scrollbar-border-width) solid transparent;
    border-radius: var(--btn-border-radius, 0);
    box-shadow: inset 0 0 0 2px rgb(var(--scrollbar-color, 60 60 60));
  }
  .slider::-webkit-scrollbar-thumb:hover {
    border-width: 10px;
  }
  .slider::-webkit-scrollbar-track {
    margin: 0 calc(var(--gutter) - var(--scrollbar-border-width));
    border: var(--scrollbar-border-width) solid transparent;
    border-radius: var(--btn-border-radius, 0);
    box-shadow: inset 0 0 0 2px rgba(var(--scrollbar-color, 60 60 60)/0.3);
  }
}

.os-scrollbar-horizontal {
  right: var(--gutter) !important;
  left: var(--gutter) !important;
}

.os-scrollbar.os-theme-dark {
  --os-size: 14px;
  --os-padding-perpendicular: 6px;
  --os-handle-bg: rgb(var(--scrollbar-color, 60 60 60));
  --os-handle-bg-hover: rgb(var(--scrollbar-color, 60 60 60));
  --os-handle-bg-active: rgb(var(--scrollbar-color, 60 60 60));
  --os-track-bg: rgba(var(--scrollbar-color, 60 60 60) / 0.3);
  --os-track-bg-hover: rgba(var(--scrollbar-color, 60 60 60) / 0.3);
  --os-track-bg-active: rgba(var(--scrollbar-color, 60 60 60) / 0.3);
}

.slider.slider--no-scrollbar {
  padding: 0;
  scrollbar-width: none;
}
.slider.slider--no-scrollbar::-webkit-scrollbar {
  display: none;
}

.carousel[inactive] .slider,
.carousel[inactive] > div > .slider {
  padding-bottom: 0;
}
.carousel[inactive] > .slider-nav,
.carousel[inactive] > div > .slider-nav,
.carousel[inactive] > div > div > .slider-nav {
  display: none;
}
.carousel[inactive] > .slider::-webkit-scrollbar-thumb,
.carousel[inactive] > div > .slider::-webkit-scrollbar-thumb {
  display: none;
}
.carousel[inactive] > .slider::-webkit-scrollbar-track,
.carousel[inactive] > div > .slider::-webkit-scrollbar-track {
  display: none;
}

.slider__item {
  scroll-snap-align: start;
}

.slider-nav--show-on-hover {
  transition: opacity 0.3s;
  opacity: 0;
}
.slider-nav--show-on-hover .slider-nav__btn {
  transform: translateX(20px);
  transition: opacity 0.2s ease, transform 0.3s cubic-bezier(0.2, 0.6, 0.4, 1);
}
.carousel:hover .slider-nav--show-on-hover {
  opacity: 1;
}
.carousel:hover .slider-nav--show-on-hover .slider-nav__btn {
  transform: translateX(0);
}
.carousel:hover .slider-nav--show-on-hover .slider-nav__btn:nth-child(2) {
  transition-delay: 0.05s;
}

.slider-nav {
  --btn-border-radius: var(--btn-icon-border-radius);
}

.slider-nav:not(.slide-nav--inline) {
  z-index: 3;
  top: 50%;
  right: var(--gutter);
  transform: translate(50%, -50%);
}
[dir=rtl] .slider-nav:not(.slide-nav--inline) {
  right: auto;
  left: var(--gutter);
  transform: translate(-50%, -50%);
}

.slider-nav__btn {
  display: block;
  margin-top: calc(3 * var(--space-unit));
  margin-bottom: calc(3 * var(--space-unit));
}
.slider-nav__btn:not([disabled]) .icon {
  transition: transform 0.3s;
}
.slider-nav__btn:not([disabled]):hover .icon {
  transform: scale(1.25);
}
.slide-nav--inline .slider-nav__btn {
  margin-top: 0;
  margin-bottom: 0;
  overflow: hidden;
  color: currentColor;
}

.slider-nav__btn--offset {
  margin-inline-end: -10px;
}

[dir=rtl] .slider-nav__btn.has-ltr-icon .icon {
  transform: rotate(180deg);
}
[dir=rtl] .slider-nav__btn.has-ltr-icon:not([disabled]):hover .icon {
  transform: rotate(180deg) scale(1.25);
}

.slider-nav > .btn {
  padding: calc(8px - var(--btn-border-width));
}

@media (max-width: 599.98px) {
  .slider .slider__grid {
    width: calc(100% - var(--column-gap));
  }
  .drawer--cart .slider__grid {
    width: 100%;
  }
  .carousel[disable-mobile=true] > .slider,
  .carousel[disable-mobile=true] > div > .slider {
    overflow: auto;
    cursor: auto;
    -webkit-user-select: auto;
            user-select: auto;
    scroll-snap-type: none;
  }
  .carousel[disable-mobile=true] > .slider > .slider__grid,
  .carousel[disable-mobile=true] > .slider > div > .slider__grid,
  .carousel[disable-mobile=true] > div > .slider > .slider__grid,
  .carousel[disable-mobile=true] > div > .slider > div > .slider__grid {
    grid-auto-flow: row;
  }
  product-card-image-slider[disable-mobile=true] > div > .slider {
    overflow: hidden !important;
  }
  product-card-image-slider[disable-mobile=true] > div > .slider > .slider__grid {
    grid-auto-flow: column !important;
  }
}
@media (min-width: 600px) {
  .carousel[disable-desktop=true] > .slider,
  .carousel[disable-desktop=true] > div > .slider {
    overflow: auto;
    cursor: auto;
    -webkit-user-select: auto;
            user-select: auto;
    scroll-snap-type: none;
  }
  .carousel[disable-desktop=true] > .slider > div > .slider__grid,
  .carousel[disable-desktop=true] > div > .slider > div > .slider__grid {
    grid-auto-flow: row;
    overflow: hidden;
  }
}
@media (min-width: 769px) {
  .carousel:not([inactive]) .section__heading {
    text-align: start;
  }
  carousel-slider[disable-desktop=true] > [data-overlayscrollbars-viewport],
  carousel-slider[disable-desktop=true] > div > [data-overlayscrollbars-viewport],
  product-comparison-grid[disable-desktop=true] [data-overlayscrollbars-viewport] {
    padding: 0 !important;
  }
}
@media (max-width: 1023.98px) {
  .carousel > .container {
    padding: 0;
  }
  .carousel__header {
    padding: 0 var(--gutter);
  }
  .slider:not(.slider--no-scrollbar) {
    width: 100%;
    scroll-padding-left: var(--gutter);
  }
  [dir=rtl] .slider:not(.slider--no-scrollbar) {
    scroll-padding-right: var(--gutter);
    scroll-padding-left: 0;
  }
  .slider:not(.slider--contained) .slider__item:last-child {
    width: calc(100% + var(--gutter));
    border-inline-end: var(--gutter) solid transparent;
  }
}
@media (min-width: 1024px) {
  .slider::-webkit-scrollbar-track {
    margin: 0 calc(var(--scrollbar-border-width) * -1);
  }
  .slider[data-overlayscrollbars-viewport] {
    padding-bottom: calc(14 * var(--space-unit)) !important;
  }
  .slider > .container {
    padding: 0;
  }
}
@media (min-width: 1280px) {
  .slider-nav:not(.slide-nav--inline) {
    transform: translate(calc(100% + var(--gutter-lg, 80px) / 4), -50%);
  }
  [dir=rtl] .slider-nav:not(.slide-nav--inline) {
    transform: translate(-50%, -50%);
  }
}
.social {
  margin: -10px;
}

.social__link {
  width: 44px;
  height: 44px;
  padding: 10px;
  color: rgb(var(--text-color));
}
.social__link > .icon {
  width: auto;
  max-width: 100%;
  height: 100%;
}
.social__link > .icon,
.social__link > img {
  transition: transform 0.3s ease-out;
}
.social__link:hover > .icon, .social__link:hover > img {
  transform: scale(1.2);
}

.social-share__heading {
  margin-inline-end: calc(4 * var(--space-unit));
}

[data-swatch]::before {
  background-color: var(--swatch-color, var(--native-swatch-color, rgb(var(--text-color)/0.08)));
  background-image: var(--swatch-image, var(--native-swatch-image, none));
}

.card__swatches {
  z-index: 3;
  flex-wrap: wrap;
  padding: calc(3 * var(--space-unit)) 0 0;
  padding-inline-end: 2px;
  row-gap: calc(3 * var(--space-unit));
}
.card__swatches > .opt-label {
  width: var(--swatch-card-size, 24px);
  height: var(--swatch-card-size, 24px);
  margin-top: 0;
  margin-inline-start: 2px;
  margin-inline-end: 8px;
  border-width: 1px;
}
.card__swatches > .opt-label.swatch-shape--portrait {
  height: calc(var(--swatch-card-size, 24px) / 0.75);
}
.card__swatches > .opt-label.swatch-shape--natural:has(img) {
  height: auto;
}

.swatch-shape--natural.swatch--native {
  height: auto;
}
.swatch-shape--natural.swatch--native::before {
  display: none;
}

.option-selector__btns:has(.swatch-shape--natural.swatch--native) {
  align-items: flex-start;
}

label[data-swatch],
span[data-swatch],
.filter__label[data-swatch]::before {
  width: var(--swatch-variant-picker-size, 36px);
  min-width: 0;
  height: var(--swatch-variant-picker-size, 36px);
  padding: 0;
  overflow: hidden;
  transition: box-shadow 0.1s, border-color 0.2s ease-out;
  border: 1px solid rgb(var(--swatch-border-color-default));
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(var(--text-color)/0);
  cursor: pointer;
}

label[data-swatch]:hover,
.filter__label[data-swatch]:hover::before {
  border: 2px solid rgba(var(--bg-color));
  box-shadow: 0 0 0 2px rgb(var(--swatch-border-color-default));
}

label[data-swatch]:hover .opt-label__native-media,
input:checked + label[data-swatch] .opt-label__native-media {
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
}

span[data-swatch] {
  cursor: default;
}

input:checked + .opt-label--swatch,
input:checked + .filter__label[data-swatch]::before {
  border: 2px solid rgba(var(--bg-color));
  box-shadow: 0 0 0 2px rgb(var(--swatch-border-color-active));
}

label[data-swatch]::before,
span[data-swatch]::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.swatch-shape--not-circle[data-swatch],
.swatch-shape--not-circle[data-swatch]::before {
  border-radius: 0;
}

variant-picker:not([data-availability=false]):not(.variant-picker--pre-last-selection.variant-picker--product-available) .is-unavailable + .opt-label--swatch .opt-label__media::after,
variant-picker:not([data-availability=false]):not(.variant-picker--pre-last-selection.variant-picker--product-available) .is-unavailable + .opt-label--swatch:not(.opt-label--image)::after {
  background: linear-gradient(to bottom left, transparent calc(50% - 1px), rgba(var(--bg-color)) calc(50% - 1px), rgba(var(--bg-color)) calc(50% + 1px), transparent calc(50% + 1px)) no-repeat !important;
}

variant-picker:not([data-availability=false]):not(.variant-picker--pre-last-selection.variant-picker--product-available) .is-unavailable + .opt-label--swatch:not(.opt-label--image)::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.custom-select__btn[data-swatch]::before,
.custom-select__option[data-swatch]::before {
  border: 1px solid rgb(var(--swatch-border-color-default));
}

.tablist::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 25px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(var(--bg-color)) 50%);
}

.tablist__scroller {
  overflow-x: auto;
  white-space: nowrap;
}

.tablist__tab {
  margin-inline-end: 3rem;
  padding: 1.2rem 0;
  color: rgba(var(--text-color)/0.7);
  white-space: nowrap;
}
.tablist__tab[aria-selected=true] {
  color: rgb(var(--text-color));
  text-decoration: underline;
  text-underline-offset: 0.8rem;
  text-decoration-thickness: 2px;
}

.cc-compare {
  display: none;
}

.theme-metafield-color {
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
}

.product-label-container {
  z-index: 2;
}
.product-info__block .product-label-container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.product-label-wrapper:not(:last-child) {
  margin-bottom: 2px;
}
.product-info__block .product-label-wrapper {
  margin-bottom: 3px;
}

.product-label,
.collection-label {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  font-size: 1.1rem;
  line-height: 1.7rem;
}
.product-info__block .product-label,
.product-info__block .collection-label {
  margin-inline-end: 3px;
}

.badge.collection-label {
  position: absolute;
  z-index: 1;
  top: 8px;
  left: 8px;
  max-width: calc(100% - 16px);
  margin: 0;
  background-color: #fff;
  box-shadow: 1px 2px 4px -1px rgba(128, 128, 137, 0.52);
  color: rgb(var(--collection-label-color));
  white-space: normal;
}

.badge.collection-label::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: 2em;
  background-color: rgba(var(--collection-label-color)/0.1);
}

.badge.collection-label--circle {
  top: 5%;
  right: 5%;
  left: auto;
}

.product-label .icon,
.collection-label .icon {
  position: relative;
  top: -0.5px;
  flex-shrink: 0;
  margin-inline-end: 0.5em;
}

.product-label--custom {
  background-color: rgba(var(--custom-label-bg-color));
  color: rgba(var(--custom-label-text-color));
}

.product-label--sale {
  background-color: rgba(var(--sale-label-bg-color));
  color: rgba(var(--sale-label-text-color));
}

.product-label--sold-out {
  background-color: rgba(var(--sold-out-label-bg-color));
  color: rgba(var(--sold-out-label-text-color));
}

.product-label--new {
  background-color: rgba(var(--new-label-bg-color));
  color: rgba(var(--new-label-text-color));
}

.product-label--preorder {
  background-color: rgba(var(--preorder-label-bg-color));
  color: rgba(var(--preorder-label-text-color));
}

@media (max-width: 599.98px) {
  [data-layout=list] .product-label-container {
    position: relative;
    top: calc(2 * var(--space-unit));
  }
  .product-label .icon {
    width: 12px;
  }
}
@media (min-width: 769px) {
  .product-label {
    padding: 4px 8px;
    font-size: 1.3rem;
  }
  .xl\:auto-cols-4 .badge.collection-label--circle {
    top: 7%;
    right: 7%;
  }
}
/* stylelint-disable */
/*!
 * OverlayScrollbars
 * Version: 2.5.0
 *
 * Copyright (c) Rene Haas | KingSora.
 * https://github.com/KingSora
 *
 * Released under the MIT license.
 */
.os-size-observer, .os-size-observer-listener {
  box-sizing: border-box;
  direction: inherit;
  overflow: hidden;
  pointer-events: none;
  scroll-behavior: auto !important;
  visibility: hidden;
}

.os-size-observer, .os-size-observer-listener, .os-size-observer-listener-item, .os-size-observer-listener-item-final {
  left: 0;
  position: absolute;
  top: 0;
  writing-mode: horizontal-tb;
}

.os-size-observer {
  border: inherit;
  bottom: 0;
  box-sizing: inherit;
  contain: strict;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  left: 0;
  margin: -133px;
  padding: inherit;
  right: 0;
  top: 0;
  transform: scale(0.1);
  z-index: -1;
}

.os-size-observer:before {
  box-sizing: inherit;
  content: "";
  flex: none;
  height: 10px;
  padding: 10px;
  width: 10px;
}

.os-size-observer-appear {
  animation: os-size-observer-appear-animation 1ms forwards;
}

.os-size-observer-listener {
  border: inherit;
  box-sizing: border-box;
  flex: auto;
  margin: -133px;
  padding: inherit;
  position: relative;
  transform: scale(10);
}

.os-size-observer-listener.ltr {
  margin-left: 0;
  margin-right: -266px;
}

.os-size-observer-listener.rtl {
  margin-left: -266px;
  margin-right: 0;
}

.os-size-observer-listener:empty:before {
  content: "";
  height: 100%;
  width: 100%;
}

.os-size-observer-listener:empty:before, .os-size-observer-listener > .os-size-observer-listener-item {
  border: inherit;
  box-sizing: content-box;
  display: block;
  flex: auto;
  padding: inherit;
  position: relative;
}

.os-size-observer-listener-scroll {
  box-sizing: border-box;
  display: flex;
}

.os-size-observer-listener-item {
  bottom: 0;
  direction: ltr;
  flex: none;
  overflow: hidden;
  right: 0;
}

.os-size-observer-listener-item-final {
  transition: none;
}

@keyframes os-size-observer-appear-animation {
  0% {
    cursor: auto;
  }
  to {
    cursor: none;
  }
}
.os-trinsic-observer {
  border: none;
  box-sizing: border-box;
  contain: strict;
  flex: none;
  height: 0;
  margin: 0;
  max-height: 1px;
  max-width: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  top: calc(100% + 1px);
  z-index: -1;
}

.os-trinsic-observer:not(:empty) {
  height: calc(100% + 1px);
  top: -1px;
}

.os-trinsic-observer:not(:empty) > .os-size-observer {
  height: 1000%;
  min-height: 1px;
  min-width: 1px;
  width: 1000%;
}

.os-environment {
  height: 200px;
  opacity: 0;
  overflow: scroll;
  position: fixed;
  scroll-behavior: auto !important;
  visibility: hidden;
  width: 200px;
  z-index: -1;
}

.os-environment div {
  height: 200%;
  margin: 10px 0;
  width: 200%;
}

.os-environment.os-environment-flexbox-glue {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
  min-height: 200px;
  min-width: 200px;
  width: auto;
}

.os-environment.os-environment-flexbox-glue div {
  flex: auto;
  height: auto;
  margin: 0;
  max-height: 100%;
  max-width: 100%;
  width: auto;
}

.os-environment.os-environment-flexbox-glue-max {
  max-height: 200px;
}

.os-environment.os-environment-flexbox-glue-max div {
  overflow: visible;
}

.os-environment.os-environment-flexbox-glue-max div:before {
  content: "";
  display: block;
  height: 999px;
  width: 999px;
}

.os-environment, [data-overlayscrollbars-viewport] {
  -ms-overflow-style: scrollbar !important;
}

.os-environment-scrollbar-hidden, [data-overlayscrollbars-initialize], [data-overlayscrollbars-viewport~=scrollbarHidden], [data-overlayscrollbars~=scrollbarHidden] {
  scrollbar-width: none !important;
}

.os-environment-scrollbar-hidden::-webkit-scrollbar, .os-environment-scrollbar-hidden::-webkit-scrollbar-corner, [data-overlayscrollbars-initialize]::-webkit-scrollbar, [data-overlayscrollbars-initialize]::-webkit-scrollbar-corner, [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar, [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner, [data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar, [data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar-corner {
  appearance: none !important;
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}

[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body) {
  overflow: auto;
}

html[data-overlayscrollbars] {
  box-sizing: border-box;
  margin: 0;
}

html[data-overlayscrollbars~=body], html[data-overlayscrollbars~=body] > body {
  height: 100%;
  width: 100%;
}

html[data-overlayscrollbars~=viewport] > body {
  overflow: visible;
}

[data-overlayscrollbars-padding], [data-overlayscrollbars~=host] {
  align-items: stretch !important;
  display: flex;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}

[data-overlayscrollbars-padding], [data-overlayscrollbars-viewport] {
  border: none;
  box-sizing: inherit;
  flex: auto !important;
  height: auto;
  margin: 0;
  min-width: 0;
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 0;
}

[data-overlayscrollbars-viewport] {
  --os-vaw:0;
  --os-vah:0;
}

[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before {
  content: "";
  height: var(--os-vah);
  min-height: 1px;
  min-width: 1px;
  pointer-events: none;
  position: absolute;
  width: var(--os-vaw);
  z-index: -1;
}

[data-overlayscrollbars-padding], [data-overlayscrollbars-viewport] {
  overflow: hidden;
}

[data-overlayscrollbars~=host], [data-overlayscrollbars~=viewport] {
  overflow: hidden;
  position: relative;
}

[data-overlayscrollbars-padding~=overflowVisible], [data-overlayscrollbars-viewport~=overflowVisible], [data-overlayscrollbars~=overflowVisible] {
  overflow: visible;
}

[data-overlayscrollbars-overflow-x=hidden] {
  overflow-x: hidden;
}

[data-overlayscrollbars-overflow-x=scroll] {
  overflow-x: scroll;
}

[data-overlayscrollbars-overflow-x=hidden] {
  overflow-y: hidden;
}

[data-overlayscrollbars-overflow-y=scroll] {
  overflow-y: scroll;
}

[data-overlayscrollbars~=scrollbarPressed], [data-overlayscrollbars~=scrollbarPressed] [data-overlayscrollbars-viewport] {
  scroll-behavior: auto !important;
}

[data-overlayscrollbars-content] {
  box-sizing: inherit;
}

[data-overlayscrollbars-contents]:not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]) {
  display: contents;
}

[data-overlayscrollbars-grid], [data-overlayscrollbars-grid] [data-overlayscrollbars-padding] {
  display: grid;
  grid-template: 1fr/1fr;
}

[data-overlayscrollbars-grid] > [data-overlayscrollbars-padding], [data-overlayscrollbars-grid] > [data-overlayscrollbars-padding] > [data-overlayscrollbars-viewport], [data-overlayscrollbars-grid] > [data-overlayscrollbars-viewport] {
  height: auto !important;
  width: auto !important;
}

.os-scrollbar {
  contain: size layout;
  contain: size layout style;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;
  visibility: hidden;
}

body > .os-scrollbar {
  position: fixed;
  z-index: 99999;
}

.os-scrollbar-transitionless {
  transition: none;
}

.os-scrollbar-track {
  border: none !important;
  direction: ltr !important;
  padding: 0 !important;
  position: relative;
}

.os-scrollbar-handle {
  position: absolute;
}

.os-scrollbar-handle, .os-scrollbar-track {
  height: 100%;
  pointer-events: none;
  width: 100%;
}

.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle, .os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track {
  pointer-events: auto;
  touch-action: none;
}

.os-scrollbar-horizontal {
  bottom: 0;
  left: 0;
}

.os-scrollbar-vertical {
  right: 0;
  top: 0;
}

.os-scrollbar-rtl.os-scrollbar-horizontal {
  right: 0;
}

.os-scrollbar-rtl.os-scrollbar-vertical {
  left: 0;
  right: auto;
}

.os-scrollbar-visible {
  opacity: 1;
  visibility: visible;
}

.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden {
  opacity: 0;
  visibility: hidden;
}

.os-scrollbar-interaction.os-scrollbar-visible {
  opacity: 1;
  visibility: visible;
}

.os-scrollbar-unusable, .os-scrollbar-unusable *, .os-scrollbar-wheel, .os-scrollbar-wheel * {
  pointer-events: none !important;
}

.os-scrollbar-unusable .os-scrollbar-handle {
  opacity: 0 !important;
}

.os-scrollbar-horizontal .os-scrollbar-handle {
  bottom: 0;
}

.os-scrollbar-vertical .os-scrollbar-handle {
  right: 0;
}

.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle {
  left: 0;
  right: auto;
}

.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless, .os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl {
  left: 0;
  right: 0;
}

.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless, .os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl {
  bottom: 0;
  top: 0;
}

.os-scrollbar {
  --os-size:0;
  --os-padding-perpendicular:0;
  --os-padding-axis:0;
  --os-track-border-radius:0;
  --os-track-bg:none;
  --os-track-bg-hover:none;
  --os-track-bg-active:none;
  --os-track-border:none;
  --os-track-border-hover:none;
  --os-track-border-active:none;
  --os-handle-border-radius:0;
  --os-handle-bg:none;
  --os-handle-bg-hover:none;
  --os-handle-bg-active:none;
  --os-handle-border:none;
  --os-handle-border-hover:none;
  --os-handle-border-active:none;
  --os-handle-min-size:33px;
  --os-handle-max-size:none;
  --os-handle-perpendicular-size:100%;
  --os-handle-perpendicular-size-hover:100%;
  --os-handle-perpendicular-size-active:100%;
  --os-handle-interactive-area-offset:0;
}

.os-scrollbar .os-scrollbar-track {
  background: var(--os-track-bg);
  border: var(--os-track-border);
  border-radius: var(--os-track-border-radius);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s;
}

.os-scrollbar .os-scrollbar-track:hover {
  background: var(--os-track-bg-hover);
  border: var(--os-track-border-hover);
}

.os-scrollbar .os-scrollbar-track:active {
  background: var(--os-track-bg-active);
  border: var(--os-track-border-active);
}

.os-scrollbar .os-scrollbar-handle {
  background: var(--os-handle-bg);
  border: var(--os-handle-border);
  border-radius: var(--os-handle-border-radius);
}

.os-scrollbar .os-scrollbar-handle:before {
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.os-scrollbar .os-scrollbar-handle:hover {
  background: var(--os-handle-bg-hover);
  border: var(--os-handle-border-hover);
}

.os-scrollbar .os-scrollbar-handle:active {
  background: var(--os-handle-bg-active);
  border: var(--os-handle-border-active);
}

.os-scrollbar-horizontal {
  height: var(--os-size);
  padding: var(--os-padding-perpendicular) var(--os-padding-axis);
  right: var(--os-size);
}

.os-scrollbar-horizontal.os-scrollbar-rtl {
  left: var(--os-size);
  right: 0;
}

.os-scrollbar-horizontal .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size);
  max-width: var(--os-handle-max-size);
  min-width: var(--os-handle-min-size);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s;
}

.os-scrollbar-horizontal .os-scrollbar-handle:before {
  bottom: calc(var(--os-padding-perpendicular) * -1);
  top: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
}

.os-scrollbar-horizontal:hover .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size-hover);
}

.os-scrollbar-horizontal:active .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size-active);
}

.os-scrollbar-vertical {
  bottom: var(--os-size);
  padding: var(--os-padding-axis) var(--os-padding-perpendicular);
  width: var(--os-size);
}

.os-scrollbar-vertical .os-scrollbar-handle {
  max-height: var(--os-handle-max-size);
  min-height: var(--os-handle-min-size);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s;
  width: var(--os-handle-perpendicular-size);
}

.os-scrollbar-vertical .os-scrollbar-handle:before {
  left: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
  right: calc(var(--os-padding-perpendicular) * -1);
}

.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before {
  left: calc(var(--os-padding-perpendicular) * -1);
  right: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
}

.os-scrollbar-vertical:hover .os-scrollbar-handle {
  width: var(--os-handle-perpendicular-size-hover);
}

.os-scrollbar-vertical:active .os-scrollbar-handle {
  width: var(--os-handle-perpendicular-size-active);
}

.os-theme-none.os-scrollbar, [data-overlayscrollbars~=updating] > .os-scrollbar {
  display: none !important;
}

.os-theme-dark, .os-theme-light {
  --os-size:10px;
  --os-padding-perpendicular:2px;
  --os-padding-axis:2px;
  --os-track-border-radius:10px;
  --os-handle-interactive-area-offset:4px;
  --os-handle-border-radius:10px;
  box-sizing: border-box;
}

.os-theme-dark {
  --os-handle-bg:rgba(0,0,0,.44);
  --os-handle-bg-hover:rgba(0,0,0,.55);
  --os-handle-bg-active:rgba(0,0,0,.66);
}

.os-theme-light {
  --os-handle-bg:hsla(0,0%,100%,.44);
  --os-handle-bg-hover:hsla(0,0%,100%,.55);
  --os-handle-bg-active:hsla(0,0%,100%,.66);
}

/* stylelint-enable */
.badge {
  display: inline-flex;
  position: relative;
  top: -2px;
  align-items: center;
  margin: -0.6em 0;
  padding: 0.6em 0.9em;
  border-radius: 2em;
  background: rgb(var(--text-color));
  color: rgba(var(--bg-color));
  font-size: 1rem;
  font-weight: bold;
  line-height: 1rem;
  white-space: nowrap;
}

.cc-header--sticky {
  position: sticky;
  z-index: 30;
  top: -1px;
}

.header {
  display: block;
  position: relative;
  z-index: 30;
  padding: calc(2 * var(--space-unit)) 0;
  border-bottom: 1px solid rgba(var(--text-color)/0.15);
  background-color: rgba(var(--bg-color));
  color: rgb(var(--text-color));
}

.header__logo {
  flex: 1;
}

.logo__h1 {
  line-height: 0;
}

.logo__text {
  font-size: var(--logo_font-size);
}

.header__icons {
  flex: 0 0 auto;
  margin-inline-end: -10px;
}

.header__icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 10px;
  color: rgb(var(--icon-color));
  text-align: center;
}
.header__icon > .icon {
  width: 100%;
  height: 100%;
}
.header__icon .icon--cart {
  width: 28px;
  height: 28px;
}

.header__icon--cart-shake {
  animation: shake-n-grow 0.9s var(--shake-delay) cubic-bezier(0.455, 0.03, 0.515, 0.955) 2 both;
}
.header__icon--cart-shake .header__cart-count {
  animation: shake 1s calc(var(--shake-delay) + 1.2s) ease-out 1 both;
}

.header__cart-count {
  top: 2px;
  right: 2px;
  min-width: 18px;
  min-height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background-color: rgb(var(--header-accent-color));
  box-shadow: 0 0 0 2px rgba(var(--bg-color));
  color: rgba(var(--bg-color));
  font-size: 11px;
  font-weight: bold;
  line-height: 18px;
}

.header__search {
  flex: 0 0 100%;
  order: 2;
}

@media (max-width: 768.98px) {
  .header__search--collapsible-mob predictive-search,
  .header__search--collapsible-mob > .search {
    max-height: 64px;
    overflow: hidden;
    transition: max-height var(--header-transition-speed), margin var(--header-transition-speed);
  }
  .search-is-collapsed .header__search--collapsible-mob predictive-search,
  .search-is-collapsed .header__search--collapsible-mob > .search {
    max-height: 0;
  }
  .search-is-visible .header__search--collapsible-mob predictive-search,
  .search-is-visible .header__search--collapsible-mob > .search {
    max-height: none;
    overflow: visible;
  }
  .header__icon.hidden.md\:block {
    display: none;
  }
}
@media (min-width: 769px) {
  .header {
    padding: calc(4 * var(--space-unit)) 0 0;
  }
  .header__logo,
  .header__icons {
    flex: 1 1 auto;
    margin-bottom: 16px;
    padding-inline-start: calc(6 * var(--space-unit));
  }
  .header__logo {
    order: 0;
    padding-inline-start: 0;
    padding-inline-end: calc(6 * var(--space-unit));
  }
  .header__search {
    display: block;
    flex: 6 1 auto;
    order: 1;
    margin-top: 0;
  }
  .header__search.header__search--collapsible predictive-search {
    display: block;
  }
  .header__search > .header__icon--search-left {
    padding: 10px;
    transition: transform 0.2s;
    transform: translateX(-37px);
  }
  .header__icon--search-left-search {
    display: none;
  }
  .header__grid .header__icon--search-left-close svg {
    width: 24px;
    height: 24px;
  }
  .search-is-collapsed .header__icon--search-left {
    transform: translateX(-12px);
  }
  .search-is-collapsed .header__icon--search-left-search {
    display: block;
  }
  .search-is-collapsed .header__icon--search-left-close {
    display: none;
  }
  .header__icons {
    order: 2;
  }
  .main-menu {
    order: 3;
  }
  .header__grid--centered-logo .header__search {
    flex: 1 1 33%;
    order: 0;
  }
  .header__grid--centered-logo .header__logo {
    flex: 1 1 34%;
    justify-content: center;
    order: 1;
    padding-inline-start: calc(6 * var(--space-unit));
  }
  .header__grid--centered-logo .header__icons {
    flex: 1 1 33%;
  }
  .cc-header--sticky .main-menu__disclosure {
    max-height: var(--menu-height);
    overflow: hidden;
    transition: max-height var(--header-transition-speed), margin-top var(--header-transition-speed);
  }
  .cc-header--sticky .header {
    margin-bottom: 0;
    transition: margin-bottom var(--header-transition-speed);
  }
  .cc-header--sticky .header.is-out {
    margin-bottom: var(--menu-height);
  }
  .cc-header--sticky .header.is-out .main-menu__disclosure {
    max-height: 0;
    margin-top: 0;
  }
  .cc-header--sticky .header__cart-count-number {
    position: relative;
    top: 0.05em;
  }
  .header__search--collapsible-desktop predictive-search,
  .header__search--collapsible-desktop > .search {
    transition: opacity 0.2s, visibility 0.2s, transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .search-is-collapsed .header__search--collapsible-desktop predictive-search,
  .search-is-collapsed .header__search--collapsible-desktop > .search {
    visibility: hidden;
    transform: translateX(50px);
    opacity: 0;
  }
}
@media (min-width: 1024px) {
  .header__icon {
    padding: 6px;
  }
  .header__icon svg {
    width: 32px;
    height: 32px;
  }
  .header__icon + .header__icon,
  .header__icon + shopify-account, shopify-account + .header__icon {
    margin-inline-start: 12px;
  }
}
@media (min-width: 1280px) {
  .header__icon {
    padding: 6px;
  }
  .header__cart-count {
    top: 0;
    right: 0;
  }
}
.last\:mb-0:last-child{
  margin-bottom: 0;
}
.last\:pb-0:last-child{
  padding-bottom: 0;
}
.hover\:underline:hover{
  text-decoration-line: underline;
}
@media (min-width: 600px){
  .sm\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .sm\:col-span-3{
    grid-column: span 3 / span 3;
  }
  .sm\:block{
    display: block;
  }
  .sm\:flex{
    display: flex;
  }
  .sm\:grid{
    display: grid;
  }
  .sm\:w-auto{
    width: auto;
  }
  .sm\:auto-cols-2{
    grid-auto-columns: calc((100% - var(--column-gap)) / 2);
  }
  .sm\:auto-cols-3{
    grid-auto-columns: calc((100% - var(--column-gap) * 2) / 3);
  }
  .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .sm\:flex-wrap{
    flex-wrap: wrap;
  }
  .sm\:gap-x-theme{
    column-gap: var(--column-gap);
  }
  .sm\:gap-y-8{
    row-gap: calc(8 * var(--space-unit));
  }
  .sm\:text-end{
    text-align: end;
  }
}
@media (min-width: 769px){
  .md\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .md\:mb-0{
    margin-bottom: 0;
  }
  .md\:mb-12{
    margin-bottom: calc(12 * var(--space-unit));
  }
  .md\:mb-14{
    margin-bottom: calc(14 * var(--space-unit));
  }
  .md\:mb-6{
    margin-bottom: calc(6 * var(--space-unit));
  }
  .md\:mb-8{
    margin-bottom: calc(8 * var(--space-unit));
  }
  .md\:mr-2{
    margin-right: calc(2 * var(--space-unit));
  }
  .md\:mt-14{
    margin-top: calc(14 * var(--space-unit));
  }
  .md\:mt-16{
    margin-top: calc(16 * var(--space-unit));
  }
  .md\:block{
    display: block;
  }
  .md\:inline{
    display: inline;
  }
  .md\:flex{
    display: flex;
  }
  .md\:inline-flex{
    display: inline-flex;
  }
  .md\:grid{
    display: grid;
  }
  .md\:hidden{
    display: none;
  }
  .md\:h-auto{
    height: auto;
  }
  .md\:w-auto{
    width: auto;
  }
  .md\:auto-cols-2{
    grid-auto-columns: calc((100% - var(--column-gap)) / 2);
  }
  .md\:auto-cols-3{
    grid-auto-columns: calc((100% - var(--column-gap) * 2) / 3);
  }
  .md\:auto-cols-4{
    grid-auto-columns: calc((100% - var(--column-gap) * 3) / 4);
  }
  .md\:grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .md\:flex-row{
    flex-direction: row;
  }
  .md\:flex-row-reverse{
    flex-direction: row-reverse;
  }
  .md\:flex-wrap{
    flex-wrap: wrap;
  }
  .md\:items-center{
    align-items: center;
  }
  .md\:gap-y-16{
    row-gap: calc(16 * var(--space-unit));
  }
  .md\:gap-y-6{
    row-gap: calc(6 * var(--space-unit));
  }
  .md\:gap-y-8{
    row-gap: calc(8 * var(--space-unit));
  }
  .md\:self-start{
    align-self: flex-start;
  }
  .md\:p-8{
    padding: calc(8 * var(--space-unit));
  }
  .md\:pt-0{
    padding-top: 0;
  }
}
@media (min-width: 1024px){
  .lg\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .lg\:col-span-3{
    grid-column: span 3 / span 3;
  }
  .lg\:col-span-4{
    grid-column: span 4 / span 4;
  }
  .lg\:col-start-1{
    grid-column-start: 1;
  }
  .lg\:col-start-2{
    grid-column-start: 2;
  }
  .lg\:row-start-1{
    grid-row-start: 1;
  }
  .lg\:mt-0{
    margin-top: 0;
  }
  .lg\:mt-8{
    margin-top: calc(8 * var(--space-unit));
  }
  .lg\:block{
    display: block;
  }
  .lg\:hidden{
    display: none;
  }
  .lg\:auto-cols-3{
    grid-auto-columns: calc((100% - var(--column-gap) * 2) / 3);
  }
  .lg\:auto-cols-4{
    grid-auto-columns: calc((100% - var(--column-gap) * 3) / 4);
  }
  .lg\:auto-cols-5{
    grid-auto-columns: calc((100% - var(--column-gap) * 4) / 5);
  }
  .lg\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .lg\:overflow-hidden{
    overflow: hidden;
  }
}
@media (min-width: 1280px){
  .xl\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .xl\:col-span-3{
    grid-column: span 3 / span 3;
  }
  .xl\:auto-cols-4{
    grid-auto-columns: calc((100% - var(--column-gap) * 3) / 4);
  }
  .xl\:auto-cols-5{
    grid-auto-columns: calc((100% - var(--column-gap) * 4) / 5);
  }
  .xl\:auto-cols-6{
    grid-auto-columns: calc((100% - var(--column-gap) * 5) / 6);
  }
  .xl\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .xl\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .xl\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .xl\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .xl\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .xl\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

/* =================================================================
   SSF — Nav bar (ancien système, conservé)
   ================================================================= */
.collection-nav-bar {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 0.75rem;
  padding-top: 1.25rem;
  padding-bottom: 1.5rem;
  padding-left: var(--page-width-margin, 5rem);
  padding-right: var(--page-width-margin, 5rem);
  scrollbar-width: none;
}

.collection-nav-bar::-webkit-scrollbar {
  display: none;
}

.collection-nav-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  width: 204px !important;
  height: 136px !important;
  padding: 24px 20px !important;
  border-radius: 8px !important;
  background: rgb(243, 243, 243) !important;
  font-family: Figtree, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgb(24, 24, 24) !important;
  text-decoration: none !important;
  transition: background 0.2s ease;
}

.collection-nav-item:hover {
  background: rgb(225, 225, 225) !important;
}

.collection-nav-item.active {
  background: rgb(24, 24, 24) !important;
  color: #fff !important;
}

@media (max-width: 749px) {
  .collection-nav-bar {
    padding-left: 2rem;
    padding-right: 2rem;
    gap: 0.5rem;
  }

  .collection-nav-item {
    width: 140px !important;
    height: 90px !important;
    padding: 16px 14px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
  }
}

/* =================================================================
   SSF — Sub-collections sur pages collection (Magasiner par série)
   Cible UNIQUEMENT les collection-cards, pas les product-cards
   ================================================================= */

/* Espacement de la section — uniquement si elle contient des collection-cards */
.cc-collection-banner + .shopify-section:has(.card__collection),
.cc-collection-banner + .shopify-section:has(collection-card) {
  margin-top: 24px !important;
  margin-bottom: 32px !important;
}

/* Heading "Magasiner par série" — style eyebrow SSF */
.cc-collection-banner + .shopify-section:has(.card__collection) .section__heading,
.cc-collection-banner + .shopify-section:has(.card__collection) h2.h4,
.cc-collection-banner + .shopify-section:has(collection-card) .section__heading,
.cc-collection-banner + .shopify-section:has(collection-card) h2.h4 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #1c4899 !important;
  margin-bottom: 18px !important;
  position: relative;
  padding-top: 14px;
}

.cc-collection-banner + .shopify-section:has(.card__collection) .section__heading::before,
.cc-collection-banner + .shopify-section:has(.card__collection) h2.h4::before,
.cc-collection-banner + .shopify-section:has(collection-card) .section__heading::before,
.cc-collection-banner + .shopify-section:has(collection-card) h2.h4::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 3px;
  background: #E8A020;
  border-radius: 2px;
}

/* Card collection — animation hover discrète */
.cc-collection-banner + .shopify-section .card__collection,
.cc-collection-banner + .shopify-section collection-card {
  transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
}

.cc-collection-banner + .shopify-section .card__collection:hover {
  transform: translateY(-2px);
}

/* Image container — pas de fond, ratio d'origine */
.cc-collection-banner + .shopify-section .card__collection .card__media,
.cc-collection-banner + .shopify-section collection-card .card__media {
  border-radius: 8px !important;
  background: transparent !important;
  border: none !important;
  overflow: hidden !important;
}

.cc-collection-banner + .shopify-section .card__collection .card__media img,
.cc-collection-banner + .shopify-section collection-card .card__media img {
  transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.cc-collection-banner + .shopify-section .card__collection:hover .card__media img,
.cc-collection-banner + .shopify-section collection-card:hover .card__media img {
  transform: scale(1.05) !important;
}

/* Titre sous chaque card collection — Barlow Condensed uppercase navy */
.cc-collection-banner + .shopify-section .card__collection .card__title,
.cc-collection-banner + .shopify-section collection-card .card__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #0D1B3E !important;
  text-align: center !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  transition: color 180ms ease;
}

.cc-collection-banner + .shopify-section .card__collection:hover .card__title,
.cc-collection-banner + .shopify-section collection-card:hover .card__title {
  color: #1c4899 !important;
}

.cc-collection-banner + .shopify-section .card__collection .card__info,
.cc-collection-banner + .shopify-section collection-card .card__info {
  padding-top: 8px !important;
}

/* Mobile — heading plus petit */
@media (max-width: 749px) {
  .cc-collection-banner + .shopify-section .card__collection .card__title,
  .cc-collection-banner + .shopify-section collection-card .card__title {
    font-size: 13px !important;
  }

  .cc-collection-banner + .shopify-section:has(.card__collection) .section__heading,
  .cc-collection-banner + .shopify-section:has(.card__collection) h2.h4,
  .cc-collection-banner + .shopify-section:has(collection-card) .section__heading,
  .cc-collection-banner + .shopify-section:has(collection-card) h2.h4 {
    font-size: 12px !important;
  }
}

/* Espacement avant la section produits */
.cc-collection-banner + .shopify-section:has(.card__collection) + section,
.cc-collection-banner + .shopify-section:has(collection-card) + section,
.cc-collection-banner + .shopify-section:has(.card__collection) + .cc-collection-products,
.cc-collection-banner + .shopify-section:has(collection-card) + .cc-collection-products {
  margin-top: 16px !important;
}

/* =================================================================
   SSF — Featured collection sur pages collection (ex: Joma Top Flex)
   Même style heading que les sub-collections pour cohérence
   ================================================================= */

.cc-collection-banner + .shopify-section.cc-featured-collection {
  margin-top: 24px !important;
  margin-bottom: 32px !important;
}

.cc-collection-banner + .shopify-section.cc-featured-collection .section__heading,
.cc-collection-banner + .shopify-section.cc-featured-collection h2.h4 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #1c4899 !important;
  margin-bottom: 18px !important;
  position: relative;
  padding-top: 14px;
}

.cc-collection-banner + .shopify-section.cc-featured-collection .section__heading::before,
.cc-collection-banner + .shopify-section.cc-featured-collection h2.h4::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 3px;
  background: #E8A020;
  border-radius: 2px;
}

/* Lien "Voir tout" — style cohérent SSF */
.cc-collection-banner + .shopify-section.cc-featured-collection .section__header .link {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #1c4899 !important;
  text-decoration: none !important;
  transition: color 180ms ease;
}

.cc-collection-banner + .shopify-section.cc-featured-collection .section__header .link:hover {
  color: #0D1B3E !important;
  opacity: 1 !important;
}

/* Espacement avant la section produits */
.cc-collection-banner + .shopify-section.cc-featured-collection + section,
.cc-collection-banner + .shopify-section.cc-featured-collection + .cc-collection-products {
  margin-top: 16px !important;
}

@media (max-width: 749px) {
  .cc-collection-banner + .shopify-section.cc-featured-collection .section__heading,
  .cc-collection-banner + .shopify-section.cc-featured-collection h2.h4 {
    font-size: 12px !important;
  }
}

.product-subtitle {
  font-size: 15px;
  font-weight: 400;
  color: #6b6b6b;
  margin-top: 4px;
  margin-bottom: 0;
  line-height: 1.4;
}

.product-benefits {
  list-style: none;
  padding: 0;
  margin: 10px 0 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.product-benefits__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #444;
  line-height: 1.4;
}

.product-benefits__item svg {
  flex-shrink: 0;
  color: #1c4899;
}

.product-shipping-incentive {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: rgb(91, 91, 91);
  margin-top: 12px;
  line-height: 1.4;
}

.product-shipping-incentive svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: #1c4899;
  position: relative;
  top: 0;
}

.product-shipping-incentive strong {
  color: #1c4899;
}

.trust-bar {
  display: flex;
  gap: 0;
  border: 0.5px solid #e8e8e8;
  border-radius: 8px;
  margin-top: 14px;
  position: relative;
  z-index: 20;
}

.trust-bar__item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 8px;
  font-size: 13px;
  color: #5b5b5b;
  text-align: center;
  border-right: 0.5px solid #e8e8e8;
  position: relative;
}

.trust-bar__item:first-child {
  border-radius: 8px 0 0 8px;
}

.trust-bar__item:last-child {
  border-radius: 0 8px 8px 0;
  border-right: none;
}

.trust-bar__item svg {
  flex-shrink: 0;
  color: #1c4899;
}

.trust-bar__item--returns {
  cursor: pointer;
}

.trust-bar__item--returns span {
  display: flex;
  align-items: center;
  gap: 3px;
}

.trust-bar__chevron {
  color: #5b5b5b;
}

.trust-bar__tooltip {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border: 0.5px solid #e8e8e8;
  border-radius: 8px;
  padding: 12px 14px;
  width: 240px;
  font-size: 13px;
  color: #3d3d3d;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  z-index: 30;
  text-align: left;
}

.trust-bar__tooltip p {
  margin: 0 0 6px;
  line-height: 1.5;
}

.trust-bar__tooltip p:last-of-type {
  margin-bottom: 10px;
}

.trust-bar__tooltip strong {
  color: #1a1a1a;
}

.trust-bar__policy-link {
  font-size: 12px;
  color: #1c4899;
  text-decoration: none;
  border-top: 0.5px solid #e8e8e8;
  padding-top: 8px;
  display: block;
}

.benefit-section {
  padding: 20px 0 8px;
}

.benefit-eyebrow {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #1c4899;
  font-weight: 500;
  margin: 0 0 14px;
}

.benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.benefit-card {
  border: 0.5px solid #e8e8e8;
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.benefit-card__icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #E6F1FB;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #1c4899;
}

.benefit-card__icon svg {
  width: 18px !important;
  height: 18px !important;
  color: #1c4899;
}

.benefit-card__icon svg path,
.benefit-card__icon svg circle,
.benefit-card__icon svg rect {
  fill: currentColor;
  stroke: none;
}

.benefit-card__tech {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #1c4899;
  margin: 0 0 3px;
  font-weight: 500;
}

.benefit-card__title {
  font-size: 15px;
  font-weight: 500;
  color: #1a1a1a;
  margin: 0 0 4px;
}

.benefit-card__desc {
  font-size: 13px;
  color: #5b5b5b;
  margin: 0;
  line-height: 1.5;
}

@media (max-width: 480px) {
  .benefit-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== TABS ===== */
.tablist {
  border-bottom: none !important;
  margin-bottom: 0 !important;
}

.tablist::after {
  display: none !important;
}

.tablist__tab {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #888 !important;
  padding: 10px 16px 10px 0 !important;
  margin-right: 8px;
  position: relative;
  transition: color 0.2s;
}

.tablist__tab:hover {
  color: #1a1a1a !important;
}

.tablist__tab[aria-selected="true"] {
  color: #1a1a1a !important;
}

.tablist__tab[aria-selected="true"]::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: #1c4899;
  border-radius: 2px 2px 0 0;
}

[role="tabpanel"] {
  padding-top: 16px !important;
}

.rte.product-description {
  font-size: 14px !important;
  color: #3d3d3d !important;
  line-height: 1.7 !important;
  padding-top: 16px;
}

.rte.product-description h2 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin-bottom: 10px;
}

.rte.product-description p {
  margin-bottom: 12px;
  font-size: 14px !important;
  color: #3d3d3d !important;
}

.rte.product-description ul,
.rte.product-description ol {
  padding-left: 20px;
  margin-bottom: 12px;
}

.rte.product-description li {
  font-size: 14px !important;
  color: #3d3d3d !important;
  margin-bottom: 6px;
  line-height: 1.6;
}

.rte.product-description h3 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin-bottom: 10px;
}

#panel-faq .disclosure__title,
#panel-faq summary h3,
#panel-faq h3.disclosure__title {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
}

.cc-product-details .disclosure__content {
  font-size: 14px !important;
  color: #3d3d3d !important;
  line-height: 1.7 !important;
}

.cc-product-details .disclosure__content p {
  font-size: 14px !important;
  color: #3d3d3d !important;
  margin-bottom: 8px;
}

@media (min-width: 1024px) {
  :root {
    --product-info-width: 33.333% !important;
  }
}

/* ===== SIZE GUIDE TABLES ===== */
.disclosure__content table {
  width: auto !important;
  min-width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-bottom: 16px;
  border: none !important;
  table-layout: auto;
}

.disclosure__content .table-wrapper {
  position: relative;
  overflow: hidden;
  margin-bottom: 16px;
}

.disclosure__content .table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #1c4899 #f0f0f0;
}

.disclosure__content .table-scroll::-webkit-scrollbar {
  height: 4px;
}

.disclosure__content .table-scroll::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 2px;
}

.disclosure__content .table-scroll::-webkit-scrollbar-thumb {
  background: #1c4899;
  border-radius: 2px;
}

.disclosure__content .table-wrapper::after {
  content: '›';
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: #1c4899;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  pointer-events: none;
  transition: opacity 0.3s;
  box-shadow: -8px 0 12px rgba(255,255,255,0.9);
}

.disclosure__content .table-wrapper.scrolled-end::after {
  opacity: 0;
}

.disclosure__content .table-wrapper.no-scroll::after {
  display: none;
}

.disclosure__content table td,
.disclosure__content table th {
  padding: 8px 14px !important;
  text-align: center !important;
  border: none !important;
  border-bottom: 0.5px solid #e8e8e8 !important;
  white-space: nowrap;
  width: auto !important;
  height: auto !important;
}

.disclosure__content table td:first-child,
.disclosure__content table th:first-child {
  background: #f4f7fb !important;
  color: #1c4899 !important;
  font-weight: 600 !important;
  text-align: left !important;
  position: sticky;
  left: 0;
  z-index: 1;
}

.disclosure__content table tr:nth-child(even) {
  background: #fafafa;
}

.disclosure__content table tr:nth-child(even) td:first-child {
  background: #f4f7fb !important;
}

.disclosure__content table td strong,
.disclosure__content table th strong {
  color: inherit !important;
  font-weight: inherit !important;
}

.disclosure__content p strong {
  font-size: 14px;
  color: #1a1a1a;
  display: block;
  margin: 16px 0 8px;
}

.disclosure__content p:empty,
.disclosure__content p br,
.disclosure__content p:has(br:only-child) {
  display: none;
  margin: 0;
  padding: 0;
}

.disclosure__content p strong {
  margin: 12px 0 6px !important;
}

/* =================================================================
   SSF — Soccer Sport Fitness
   Sections personnalisées — tailles en px, compatible 62.5% base
   ================================================================= */

/* Google Fonts — Barlow Condensed + Barlow */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800;900&family=Barlow:wght@400;500;600;700&display=swap');

/* ── Tokens SSF ── */
:root {
  --ssf-navy:       #0D1B3E;
  --ssf-navy-light: #1E3060;
  --ssf-blue:       #1c4899;
  --ssf-blue-mid:   #2B5FBF;
  --ssf-gold:       #E8A020;
  --ssf-gold-dark:  #C8861A;
  --ssf-white:      #FFFFFF;
  --ssf-off-white:  #F4F5F7;
  --ssf-gray-100:   #E8EAF0;
  --ssf-gray-400:   #8892A4;
  --ssf-text:       #0D1B3E;
  --ssf-font-d:     'Barlow Condensed', sans-serif;
  --ssf-font-b:     'Barlow', sans-serif;
  --ssf-ease:       cubic-bezier(0.16, 1, 0.3, 1);
  --ssf-fast:       180ms;
  --ssf-normal:     320ms;
  --ssf-slow:       500ms;
  --ssf-r-sm:       4px;
  --ssf-r-md:       8px;
  --ssf-max-w:      1440px;
  --ssf-gutter:     clamp(20px, 4vw, 48px);
}

/* ── Helpers ── */
.ssf-section, .ssf-section * { box-sizing: border-box; }
.ssf-container { width: 100%; max-width: var(--ssf-max-w); margin: 0 auto; padding: 0 var(--ssf-gutter); }

/* ── Typographie ── */
.ssf-heading-xl { font-family: var(--ssf-font-d); font-size: clamp(48px, 8vw, 120px); font-weight: 900; line-height: 0.92; letter-spacing: -0.02em; text-transform: uppercase; margin: 0; }
.ssf-heading-lg { font-family: var(--ssf-font-d); font-size: clamp(28px, 3.5vw, 52px); font-weight: 800; line-height: 0.95; letter-spacing: -0.01em; text-transform: uppercase; margin: 0; }
.ssf-heading-md { font-family: var(--ssf-font-d); font-size: clamp(22px, 2.5vw, 36px); font-weight: 700; line-height: 1; text-transform: uppercase; margin: 0; }
.ssf-heading-sm { font-family: var(--ssf-font-d); font-size: clamp(18px, 1.8vw, 24px); font-weight: 700; text-transform: uppercase; line-height: 1.1; margin: 0; }
.ssf-label { font-family: var(--ssf-font-d); font-size: 15px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ssf-gold); display: block; }
.ssf-body  { font-family: var(--ssf-font-b); font-size: 17px; line-height: 1.65; font-weight: 400; }

/* ── Boutons ── */
.ssf-btn { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ssf-font-d); font-size: 16px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 14px 32px; border-radius: var(--ssf-r-sm); cursor: pointer; white-space: nowrap; text-decoration: none; border: none; transition: background var(--ssf-fast) var(--ssf-ease), color var(--ssf-fast) var(--ssf-ease), transform var(--ssf-fast) var(--ssf-ease), box-shadow var(--ssf-fast) var(--ssf-ease); position: relative; }
.ssf-btn:active { transform: scale(0.97); }
.ssf-btn--primary  { background: var(--ssf-gold); color: var(--ssf-navy); }
.ssf-btn--primary:hover  { background: var(--ssf-gold-dark); box-shadow: 0 8px 24px rgba(232,160,32,0.4); }
.ssf-btn--secondary { background: transparent; color: var(--ssf-white); border: 2px solid rgba(255,255,255,0.6); }
.ssf-btn--secondary:hover { border-color: var(--ssf-white); background: rgba(255,255,255,0.1); }
.ssf-btn--dark { background: var(--ssf-navy); color: var(--ssf-white); }
.ssf-btn--dark:hover { background: var(--ssf-navy-light); box-shadow: 0 8px 24px rgba(13,27,62,0.3); }
.ssf-btn--outline-dark { background: transparent; color: var(--ssf-navy); border: 2px solid var(--ssf-navy); }
.ssf-btn--outline-dark:hover { background: var(--ssf-navy); color: var(--ssf-white); }
.ssf-btn .ssf-arrow { width: 16px; height: 16px; transition: transform var(--ssf-fast) var(--ssf-ease); flex-shrink: 0; }
.ssf-btn:hover .ssf-arrow { transform: translateX(4px); }

/* ── Section header ── */
.ssf-section-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.ssf-view-all { font-family: var(--ssf-font-d); font-size: 15px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ssf-blue); display: flex; align-items: center; gap: 6px; white-space: nowrap; text-decoration: none; transition: color var(--ssf-fast); }
.ssf-view-all:hover { color: var(--ssf-navy); }
.ssf-accent-line { display: block; width: 48px; height: 3px; background: var(--ssf-gold); border-radius: 2px; margin-bottom: 10px; }

/* ── Animations ── */
@keyframes ssf-fade-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
.ssf-animate.is-visible { animation: ssf-fade-up 500ms var(--ssf-ease) both; }
.ssf-animate.is-visible[data-delay="1"] { animation-delay: 80ms; }
.ssf-animate.is-visible[data-delay="2"] { animation-delay: 160ms; }
.ssf-animate.is-visible[data-delay="3"] { animation-delay: 240ms; }
.ssf-animate.is-visible[data-delay="4"] { animation-delay: 320ms; }
.ssf-animate.is-visible[data-delay="5"] { animation-delay: 400ms; }

/* ── ANNOUNCEMENT BAR ── */
.ssf-announcement-bar { background: var(--ssf-navy); color: var(--ssf-white); font-family: var(--ssf-font-b); font-size: 15px; font-weight: 500; letter-spacing: 0.02em; position: relative; z-index: 200; border-bottom: 1px solid rgba(255,255,255,0.08); }
.ssf-announcement-bar__inner { display: flex; align-items: center; justify-content: center; padding: 10px var(--ssf-gutter); max-width: var(--ssf-max-w); margin: 0 auto; gap: 16px; }
.ssf-announcement-bar__messages { position: relative; text-align: center; flex: 1; }
.ssf-announcement-bar__message { display: none; justify-content: center; align-items: center; gap: 8px; }
.ssf-announcement-bar__message.is-active { display: flex; }
.ssf-announcement-bar__message a { color: var(--ssf-gold); text-decoration: underline; text-underline-offset: 2px; transition: opacity var(--ssf-fast); }
.ssf-announcement-bar__message a:hover { opacity: 0.8; }
.ssf-announcement-bar__locale { flex-shrink: 0; opacity: 0.7; font-size: 12px; }
@media (max-width: 640px) { .ssf-announcement-bar__locale { display: none; } }

/* ── HERO BANNER ── */
.ssf-hero { position: relative; width: 100%; display: flex; align-items: flex-end; padding-bottom: clamp(48px, 8vw, 96px); overflow: hidden; }
.ssf-hero__bg { position: absolute; inset: 0; z-index: 0; }
.ssf-hero__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 8s ease-out; }
.ssf-hero:hover .ssf-hero__bg img { transform: scale(1.03); }
.ssf-hero__bg-fallback { position: absolute; inset: 0; background: linear-gradient(135deg, var(--ssf-navy) 0%, var(--ssf-blue-mid) 100%); }
.ssf-hero__overlay { position: absolute; inset: 0; }
.ssf-hero__content { position: relative; z-index: 2; width: 100%; }
.ssf-hero__block { display: flex; flex-direction: column; gap: 20px; max-width: 800px; }
.ssf-hero--align-center .ssf-hero__content { display: flex; justify-content: center; text-align: center; }
.ssf-hero--align-center .ssf-hero__block { align-items: center; }
.ssf-hero--align-right .ssf-hero__content { display: flex; justify-content: flex-end; }
.ssf-hero__label { font-family: var(--ssf-font-d); font-size: 13px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ssf-gold) !important; display: block; }
.ssf-hero__heading { font-family: var(--ssf-font-d); font-size: clamp(36px, 5.5vw, 72px); font-weight: 900; line-height: 0.92; letter-spacing: -0.02em; text-transform: uppercase; color: #fff !important; text-shadow: 0 2px 32px rgba(0,0,0,0.2); margin: 0; }
.ssf-hero__subtext { font-family: var(--ssf-font-b); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.65; color: rgba(255,255,255,0.9) !important; max-width: 52ch; margin: 0; }
.ssf-hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; }
.ssf-hero__scroll-hint { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); z-index: 3; }
.ssf-hero__scroll-hint span { display: block; width: 1.5px; height: 44px; background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.55)); animation: ssf-scroll-line 1.8s ease-in-out infinite; }
@keyframes ssf-scroll-line { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform: scaleY(1); transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
@media (max-width: 767px) { .ssf-hero { padding-bottom: 40px; } .ssf-hero__ctas { flex-direction: column; } .ssf-hero__scroll-hint { display: none; } }

/* ── CATEGORY TILES ── */
.ssf-cats { padding: 64px 0; background: var(--ssf-off-white); }
.ssf-cats__grid { display: grid; gap: 16px; }
.ssf-cats__grid--3 { grid-template-columns: repeat(3, 1fr); }
.ssf-cats__grid--4 { grid-template-columns: repeat(4, 1fr); }
.ssf-cats__grid--5 { grid-template-columns: repeat(5, 1fr); }
.ssf-cats__grid--6 { grid-template-columns: repeat(6, 1fr); }
.ssf-cat-tile { display: flex; flex-direction: column; gap: 14px; text-decoration: none; color: var(--ssf-text); cursor: pointer; }
.ssf-cat-tile__img { position: relative; width: 100%; border-radius: var(--ssf-r-md); overflow: hidden; background: var(--ssf-gray-100); }
.ssf-cat-tile__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(0.16,1,0.3,1); }
.ssf-cat-tile:hover .ssf-cat-tile__img img { transform: scale(1.07); }
.ssf-cat-tile__img-placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: var(--ssf-gray-100); color: var(--ssf-gray-400); }
.ssf-cat-tile__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(13,27,62,0.55) 0%, transparent 55%); opacity: 0; transition: opacity 320ms ease; }
.ssf-cat-tile:hover .ssf-cat-tile__overlay { opacity: 1; }
.ssf-cat-tile__badge { position: absolute; top: 12px; left: 12px; background: var(--ssf-gold); color: var(--ssf-navy); font-family: var(--ssf-font-d); font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 10px; border-radius: var(--ssf-r-sm); z-index: 1; }
.ssf-cat-tile__label { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 4px; }
.ssf-cat-tile__name { font-family: var(--ssf-font-d); font-size: clamp(13px, 1.2vw, 17px); font-weight: 700; text-transform: uppercase; line-height: 1.1; transition: color 180ms ease; }
.ssf-cat-tile:hover .ssf-cat-tile__name { color: var(--ssf-blue); }
.ssf-cat-tile__arrow { color: var(--ssf-blue); flex-shrink: 0; opacity: 0; transform: translateX(-4px); transition: opacity 180ms ease, transform 180ms ease; }
.ssf-cat-tile:hover .ssf-cat-tile__arrow { opacity: 1; transform: translateX(0); }
@media (max-width: 767px) {
  .ssf-cats { padding: 48px 0; }

  /* La section elle-même devient le scrollable container */
  .ssf-cats .ssf-container {
    padding: 0;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    /* Gradient de fondu à droite */
    -webkit-mask-image: linear-gradient(to right, black 85%, transparent 100%);
    mask-image: linear-gradient(to right, black 85%, transparent 100%);
  }

  .ssf-cats__grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: visible !important;
    scroll-snap-type: none !important;
    scrollbar-width: none !important;
    padding: 0 var(--ssf-gutter) 8px var(--ssf-gutter) !important;
    gap: 12px !important;
    grid-template-columns: none !important;
    width: max-content !important;
  }

  .ssf-cats__grid::-webkit-scrollbar { display: none; }
  .ssf-cat-tile { min-width: 140px !important; max-width: 140px !important; flex-shrink: 0 !important; }
  .ssf-cat-tile__img { aspect-ratio: 3 / 4; height: auto; }

  .ssf-cats .ssf-section-header {
    padding-left: var(--ssf-gutter) !important;
    padding-right: var(--ssf-gutter) !important;
  }
  /* APRÈS */
  .ssf-scroll-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 16px 0 0;
  }
  .ssf-scroll-dots__dot {
    width: 6px;
    height: 6px;
    border-radius: 3px;
    background: #D1D5DB;
    transition: width 0.3s ease, background 0.3s ease;
    flex-shrink: 0;
  }
  .ssf-scroll-dots__dot--active {
    width: 20px;
    background: #1c4899;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ssf-cats .ssf-container { padding-right: 0; }
  .ssf-cats__grid { display: flex !important; overflow-x: auto; padding-bottom: 16px; padding-right: var(--ssf-gutter); gap: 14px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .ssf-cats__grid::-webkit-scrollbar { display: none; }
  .ssf-cat-tile { min-width: clamp(160px, 42vw, 240px); flex-shrink: 0; scroll-snap-align: start; }
}

/* ── SPLIT FEATURE ── */
.ssf-split-feature { position: relative; }
.ssf-split-feature__inner { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; }
.ssf-split-feature--img-right .ssf-split-feature__media { order: 2; }
.ssf-split-feature--img-right .ssf-split-feature__content { order: 1; }
.ssf-split-feature__media { position: relative; overflow: hidden; }
.ssf-split-feature__media-inner { position: absolute; inset: 0; }
.ssf-split-feature__media-inner img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(0.16,1,0.3,1); }
.ssf-split-feature:hover .ssf-split-feature__media-inner img { transform: scale(1.04); }
.ssf-split-feature__accent-tag { position: absolute; bottom: 32px; right: 32px; background: var(--ssf-gold); color: var(--ssf-navy); font-family: var(--ssf-font-d); font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; padding: 8px 16px; border-radius: var(--ssf-r-sm); box-shadow: 0 4px 16px rgba(0,0,0,0.2); transform: rotate(-2deg); }
.ssf-split-feature--dark .ssf-split-feature__content { background: var(--ssf-navy); color: var(--ssf-white); }
.ssf-split-feature--light .ssf-split-feature__content { background: var(--ssf-off-white); color: var(--ssf-navy); }
.ssf-split-feature__content-inner { display: flex; flex-direction: column; gap: 24px; justify-content: center; padding: clamp(40px, 6vw, 80px) clamp(32px, 5vw, 72px); height: 100%; }
.ssf-split-feature--dark .ssf-split-feature__heading { color: var(--ssf-white); }
.ssf-split-feature--dark .ssf-split-feature__text { color: rgba(255,255,255,0.88); font-size: 17px; line-height: 1.65; }
.ssf-split-feature__text strong { font-weight: 700; }
.ssf-split-feature--dark .ssf-split-feature__text strong { color: var(--ssf-gold); }
.ssf-split-feature__stats { display: flex; gap: 32px; padding: 24px 0; border-top: 1px solid rgba(255,255,255,0.2); border-bottom: 1px solid rgba(255,255,255,0.2); }
.ssf-split-feature--light .ssf-split-feature__stats { border-color: rgba(13,27,62,0.12); }
.ssf-split-feature__stat { display: flex; flex-direction: column; gap: 4px; }
.ssf-split-feature__stat-number { font-family: var(--ssf-font-d); font-size: clamp(28px, 3vw, 40px); font-weight: 900; color: var(--ssf-gold); line-height: 1; }
.ssf-split-feature__stat-label { font-size: 16px; font-weight: 500; opacity: 0.75; }
.ssf-split-feature--light .ssf-btn--primary { background: var(--ssf-navy); color: var(--ssf-white); }
.ssf-split-feature--light .ssf-btn--primary:hover { background: var(--ssf-blue); box-shadow: 0 8px 24px rgba(13,27,62,0.25); }
@media (max-width: 767px) {
  .ssf-split-feature__inner { grid-template-columns: 1fr; grid-template-rows: 380px auto; }
  .ssf-split-feature--img-right .ssf-split-feature__media { order: 1; }
  .ssf-split-feature--img-right .ssf-split-feature__content { order: 2; }
  .ssf-split-feature__stats { flex-direction: row !important; justify-content: space-between; gap: 0 !important; }
  .ssf-split-feature__stat { flex: 1; align-items: center; text-align: center; padding: 0 8px; border-right: 1px solid rgba(255,255,255,0.15); }
  .ssf-split-feature__stat:last-child { border-right: none; }
  .ssf-split-feature__stat-number { font-size: clamp(22px, 6vw, 32px) !important; white-space: nowrap; }
  .ssf-split-feature__stat-label { font-size: 11px !important; line-height: 1.3; white-space: nowrap; }
}

/* ── FEATURED PRODUCTS ── */
.ssf-featured-products { padding: 64px 0; }
.ssf-featured-products--bg-white    { background: var(--ssf-white); }
.ssf-featured-products--bg-offwhite { background: var(--ssf-off-white); }
.ssf-featured-products--bg-navy     { background: var(--ssf-navy); }
.ssf-featured-products--bg-navy .ssf-heading-md,
.ssf-featured-products--bg-navy .ssf-label,
.ssf-featured-products--bg-navy .ssf-view-all { color: var(--ssf-white); }
.ssf-featured-products__grid { display: grid; gap: 20px; }
.ssf-featured-products__grid--3 { grid-template-columns: repeat(3, 1fr); }
.ssf-featured-products__grid--4 { grid-template-columns: repeat(4, 1fr); }
.ssf-featured-products__grid--5 { grid-template-columns: repeat(5, 1fr); }
.ssf-product-card { display: flex; flex-direction: column; background: var(--ssf-white); border-radius: var(--ssf-r-md); overflow: hidden; transition: box-shadow 320ms cubic-bezier(0.16,1,0.3,1), transform 320ms cubic-bezier(0.16,1,0.3,1); cursor: pointer; text-decoration: none; color: var(--ssf-text); position: relative; }
.ssf-product-card:hover { box-shadow: 0 12px 40px rgba(13,27,62,0.14); transform: translateY(-4px); }
.ssf-product-card__image-wrap { position: relative; aspect-ratio: 1/1; overflow: hidden; background: var(--ssf-gray-100); }
.ssf-product-card__image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(0.16,1,0.3,1); }
.ssf-product-card:hover .ssf-product-card__image-wrap img { transform: scale(1.07); }
.ssf-product-card__img-hover { position: absolute; inset: 0; opacity: 0; transition: opacity 320ms cubic-bezier(0.16,1,0.3,1); }
.ssf-product-card:hover .ssf-product-card__img-hover { opacity: 1; }
.ssf-product-card__badges { position: absolute; top: 12px; left: 12px; display: flex; flex-direction: column; gap: 6px; z-index: 1; }
.ssf-product-card__badge { display: inline-block; font-family: var(--ssf-font-d); font-size: 10px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; padding: 3px 9px; border-radius: var(--ssf-r-sm); }
.ssf-product-card__badge--sale { background: #E53E3E; color: white; }
.ssf-product-card__badge--new  { background: var(--ssf-gold); color: var(--ssf-navy); }
.ssf-product-card__quick-add { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%) translateY(8px); opacity: 0; background: var(--ssf-navy); color: var(--ssf-white); font-family: var(--ssf-font-d); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 8px 20px; border-radius: var(--ssf-r-sm); white-space: nowrap; transition: opacity 180ms cubic-bezier(0.16,1,0.3,1), transform 180ms cubic-bezier(0.16,1,0.3,1); z-index: 2; cursor: pointer; border: none; }
.ssf-product-card:hover .ssf-product-card__quick-add { opacity: 1; transform: translateX(-50%) translateY(0); }
.ssf-product-card__quick-add:hover { background: var(--ssf-blue); }
.ssf-product-card__info { padding: 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.ssf-product-card__vendor { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ssf-gray-400); }
.ssf-product-card__title { font-family: var(--ssf-font-b); font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--ssf-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ssf-product-card__price-row { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 8px; }
.ssf-product-card__price { font-family: var(--ssf-font-d); font-size: 18px; font-weight: 800; color: var(--ssf-navy); }
.ssf-product-card__price--sale { color: #E53E3E; }
.ssf-product-card__compare { font-size: 14px; font-weight: 500; color: var(--ssf-gray-400); text-decoration: line-through; }
.ssf-product-card__rating { display: flex; align-items: center; gap: 4px; }
.ssf-product-card__stars { display: flex; gap: 1px; }
.ssf-product-card__stars svg { width: 12px; height: 12px; fill: #F6AD55; }
.ssf-product-card__rating-count { font-size: 12px; color: var(--ssf-gray-400); }
.ssf-featured-products__dots { display: none; justify-content: center; gap: 6px; margin-top: 20px; }
.ssf-featured-products__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ssf-gray-100); transition: background 180ms, transform 180ms; }
.ssf-featured-products__dot.is-active { background: var(--ssf-blue); transform: scale(1.4); }
@media (max-width: 1023px) {
  .ssf-featured-products__grid--5 { grid-template-columns: repeat(3, 1fr); }
  .ssf-featured-products__grid--4 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .ssf-featured-products .ssf-container { padding-right: 0; }
  .ssf-featured-products__grid { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; scroll-snap-type: x mandatory !important; scrollbar-width: none !important; padding-bottom: 8px !important; padding-right: var(--ssf-gutter) !important; gap: 12px !important; grid-template-columns: none !important; }
  .ssf-featured-products__grid::-webkit-scrollbar { display: none; }
  .ssf-product-card { min-width: calc(50vw - 24px) !important; max-width: calc(50vw - 24px) !important; flex-shrink: 0 !important; scroll-snap-align: start !important; }
  .ssf-featured-products__dots { display: flex; }
}

/* ── BRAND LOGOS ── */
.ssf-brand-logos { padding: 32px 0; overflow: hidden; border-top: 1px solid var(--ssf-gray-100); border-bottom: 1px solid var(--ssf-gray-100); }
.ssf-brand-logos--bg-white    { background: var(--ssf-white); }
.ssf-brand-logos--bg-offwhite { background: var(--ssf-off-white); }
.ssf-brand-logos--bg-navy     { background: var(--ssf-navy); border-color: rgba(255,255,255,0.08); }
.ssf-brand-logos__header { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; margin-bottom: 24px; }
.ssf-brand-logos__heading { color: var(--ssf-gray-400); font-size: 13px; letter-spacing: 0.18em; font-weight: 600; }
.ssf-brand-logos--bg-navy .ssf-brand-logos__heading { color: rgba(255,255,255,0.4); }
.ssf-brand-logos__track-wrap { display: flex; width: 100%; overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%); }
.ssf-brand-logos--pausable:hover .ssf-brand-logos__track { animation-play-state: paused; }
.ssf-brand-logos__track { display: flex; align-items: center; flex-shrink: 0; animation: ssf-marquee linear infinite; }
@keyframes ssf-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }
.ssf-brand-logos__item { flex-shrink: 0; padding: 0 clamp(24px, 3vw, 48px); }
.ssf-brand-logos__link { display: flex; align-items: center; justify-content: center; opacity: 0.75; transition: opacity 320ms cubic-bezier(0.16,1,0.3,1), filter 320ms cubic-bezier(0.16,1,0.3,1), transform 320ms cubic-bezier(0.16,1,0.3,1); filter: grayscale(60%); }
.ssf-brand-logos__link:is(a):hover { opacity: 1; filter: grayscale(0%); transform: scale(1.06); }
.ssf-brand-logos__link img { height: 90px; width: auto; object-fit: contain; max-width: 200px; }
.ssf-brand-logos--bg-navy .ssf-brand-logos__link img { filter: invert(1) grayscale(100%); }
.ssf-brand-logos--bg-navy .ssf-brand-logos__link:is(a):hover img { filter: invert(1) grayscale(0%); }
.ssf-brand-logos__name { font-family: var(--ssf-font-d); font-size: 20px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ssf-gray-400); white-space: nowrap; }
@media (max-width: 767px) {
  .ssf-brand-logos__link img { height: 70px !important; max-width: 140px !important; }
  .ssf-brand-logos__link { opacity: 0.8 !important; filter: grayscale(40%) !important; }
}
@media (prefers-reduced-motion: reduce) { .ssf-brand-logos__track { animation: none; } .ssf-brand-logos__track-wrap { flex-wrap: wrap; justify-content: center; gap: 24px; } .ssf-brand-logos__track:last-child { display: none; } }

/* ── NEWSLETTER ── */
.ssf-newsletter { position: relative; padding: 96px 0; overflow: hidden; }
.ssf-newsletter--bg-navy     { background: var(--ssf-navy); color: var(--ssf-white); }
.ssf-newsletter--bg-green    { background: var(--ssf-gold); color: var(--ssf-navy); }
.ssf-newsletter--bg-offwhite { background: var(--ssf-off-white); color: var(--ssf-navy); }
.ssf-newsletter__pattern { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px); background-size: 28px 28px; pointer-events: none; }
.ssf-newsletter--bg-offwhite .ssf-newsletter__pattern { background-image: radial-gradient(circle, rgba(13,27,62,0.06) 1px, transparent 1px); }
.ssf-newsletter__inner { position: relative; z-index: 1; display: flex; gap: 64px; align-items: center; }
.ssf-newsletter--layout-centered .ssf-newsletter__inner { flex-direction: column; text-align: center; gap: 32px; }
.ssf-newsletter--layout-split .ssf-newsletter__text { flex: 1; max-width: 520px; }
.ssf-newsletter--layout-split .ssf-newsletter__form-wrap { flex: 1; max-width: 520px; }
.ssf-newsletter__label { display: inline-block; font-family: var(--ssf-font-d); font-size: 15px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ssf-gold); margin-bottom: 16px; }
.ssf-newsletter--bg-green .ssf-newsletter__label { color: var(--ssf-navy); opacity: 0.7; }
.ssf-newsletter--bg-offwhite .ssf-newsletter__label { color: var(--ssf-blue); }
.ssf-newsletter__heading { font-family: var(--ssf-font-d); font-size: clamp(26px, 3vw, 44px); font-weight: 800; line-height: 1; text-transform: uppercase; letter-spacing: -0.01em; margin-bottom: 16px; color: inherit; }
.ssf-newsletter--bg-navy .ssf-newsletter__heading { color: #ffffff !important; }
.ssf-newsletter--bg-navy .ssf-newsletter__subtext { color: rgba(255,255,255,0.85) !important; }
.ssf-newsletter--bg-navy .ssf-newsletter__privacy { color: rgba(255,255,255,0.5) !important; }
.ssf-newsletter__subtext { font-family: var(--ssf-font-b); font-size: 17px; line-height: 1.6; opacity: 0.8; max-width: 48ch; }
.ssf-newsletter--layout-centered .ssf-newsletter__subtext { margin: 0 auto; }
.ssf-newsletter__email-row { display: flex; border-radius: var(--ssf-r-sm); overflow: hidden; border: 2px solid rgba(255,255,255,0.25); transition: border-color 180ms; margin-bottom: 16px; }
.ssf-newsletter--bg-offwhite .ssf-newsletter__email-row,
.ssf-newsletter--bg-green .ssf-newsletter__email-row { border-color: rgba(13,27,62,0.2); }
.ssf-newsletter__email-row:focus-within { border-color: var(--ssf-gold); box-shadow: 0 0 0 3px rgba(232,160,32,0.2); }
.ssf-newsletter__input { flex: 1; padding: 16px 20px; background: rgba(255,255,255,0.1); color: inherit; font-family: var(--ssf-font-b); font-size: 16px; min-width: 0; border: none; outline: none; }
.ssf-newsletter--bg-offwhite .ssf-newsletter__input,
.ssf-newsletter--bg-green .ssf-newsletter__input { background: rgba(255,255,255,0.8); color: var(--ssf-navy); }
.ssf-newsletter__input::placeholder { color: rgba(255,255,255,0.5); }
.ssf-newsletter--bg-offwhite .ssf-newsletter__input::placeholder,
.ssf-newsletter--bg-green .ssf-newsletter__input::placeholder { color: var(--ssf-gray-400); }
.ssf-newsletter__submit { border-radius: 0; flex-shrink: 0; padding-left: 24px; padding-right: 24px; }
.ssf-newsletter__success { font-family: var(--ssf-font-b); font-size: 17px; font-weight: 600; color: var(--ssf-gold); padding: 16px 0; }
.ssf-newsletter--bg-green .ssf-newsletter__success { color: var(--ssf-navy); }
.ssf-newsletter__error { font-size: 15px; color: #FC8181; margin-bottom: 8px; }
.ssf-newsletter__privacy { font-size: 13px; opacity: 0.5; line-height: 1.5; }
@media (max-width: 767px) {
  .ssf-newsletter { padding: 64px 0; }
  .ssf-newsletter--layout-split .ssf-newsletter__inner { flex-direction: column; }
  .ssf-newsletter__email-row { flex-direction: column; border: none; gap: 12px; overflow: visible; }
  .ssf-newsletter__input { border: 2px solid rgba(255,255,255,0.25); border-radius: var(--ssf-r-sm); padding: 16px 20px; }
  .ssf-newsletter--bg-offwhite .ssf-newsletter__input,
  .ssf-newsletter--bg-green .ssf-newsletter__input { border-color: rgba(13,27,62,0.2); }
  .ssf-newsletter__submit { border-radius: var(--ssf-r-sm); width: 100%; justify-content: center; }
}

/* =================================================================
   SSF — Collection Product Cards
   ================================================================= */

/* =================================================================
   SSF — Product Cards (collections + featured collections)
   Mêmes styles partout
   ================================================================= */

product-card.card--product {
  background: #ffffff !important;
  border-radius: 8px !important;
  border: none !important;
  flex-direction: column;
  box-shadow: 0 1px 6px rgba(13, 27, 62, 0.08) !important;
  transition: box-shadow 320ms cubic-bezier(0.16, 1, 0.3, 1),
              transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
  overflow: hidden !important;
}

product-card.card--product .card__media {
  border-radius: 8px 8px 0 0 !important;
  overflow: hidden !important;
  background: #E8EAF0 !important;
}

@media (hover: hover) and (pointer: fine) {
  product-card.card--product:hover {
    box-shadow: 0 12px 40px rgba(13, 27, 62, 0.14) !important;
    transform: translateY(-4px);
  }
  product-card.card--product .card__media img,
  product-card.card--product .card__media .img-fit {
    transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  product-card.card--product:hover .card__media img,
  product-card.card--product:hover .card__media .img-fit {
    transform: scale(1.07) !important;
  }
}

product-card.card--product .card__info-container { padding: 14px 16px 16px !important; gap: 4px; }
product-card.card--product .card__info { padding: 0 !important; }
product-card.card--product .card__info-inner { display: flex; flex-direction: column; gap: 4px; }

product-card.card--product .card__vendor {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #8892A4 !important;
  margin: 0 !important;
  opacity: 1 !important;
}

product-card.card--product .card__title {
  font-family: 'Barlow', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #0D1B3E !important;
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
product-card.card--product .card__title a { color: inherit !important; text-decoration: none !important; }

product-card.card--product .price {
  padding-top: 8px !important;
  margin-top: auto !important;
  border-top: none !important;
}
product-card.card--product .price__current {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #0D1B3E !important;
  padding: 0 !important;
}
product-card.card--product .price__was {
  font-size: 14px !important;
  color: #8892A4 !important;
  text-decoration: line-through !important;
}
product-card.card--product .price--on-sale .price__current { color: #E53E3E !important; }

product-card.card--product .product-label-container {
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  z-index: 1 !important;
  max-width: calc(100% - 16px) !important;
}
product-card.card--product .product-label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 5px 11px !important;
  border-radius: 4px !important;
  line-height: 1.3 !important;
  max-width: 160px !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

/* Cacher l'icône SVG devant le texte du label (gain de place) */
product-card.card--product .product-label .icon {
  display: none !important;
}
/* Sale = rouge (urgence) */
product-card.card--product .product-label--sale {
  background: #E53E3E !important;
  color: #ffffff !important;
}

/* Tout le reste = doré (premium) */
product-card.card--product .product-label--new,
product-card.card--product .product-label--custom,
product-card.card--product .product-label--preorder,
product-card.card--product .product-label--sold-out,
product-card.card--product .collection-label {
  background: #E8A020 !important;
  color: #0D1B3E !important;
}
product-card.card--product .badge.collection-label {
  position: relative !important;
  top: auto !important;
  left: auto !important;
}

product-card.card--product .card__quick-add { padding: 0 16px 14px !important; }
product-card.card--product .card__quick-add .btn--primary {
  background: #0D1B3E !important;
  color: #ffffff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  border: none !important;
  padding: 10px 20px !important;
  transition: background 180ms !important;
}
product-card.card--product .card__quick-add .btn--primary:hover { background: #1c4899 !important; }
product-card.card--product .card__quick-add .btn--secondary { display: none !important; }

product-card.card--product .card__swatches {
  border-top: none !important;
  padding-top: 8px !important;
  margin-top: 4px !important;
}
product-card.card--product .card__media a { border-radius: 0 !important; }

/* Featured collection — masquer les ratings inline (pas dans les collections) pour cohérence parfaite */
.cc-featured-collection product-card.card--product .rating,
.cc-featured-collection product-card.card--product .spr-badge {
  display: none !important;
}

/* Featured collection — supprimer la séparation visuelle parasite */
.cc-featured-collection .featured-collection-products .slider__item {
  background: transparent !important;
}

/* =================================================================
   SSF — Product Page : labels harmonisés avec les collections
   ================================================================= */

.product-info .product-label,
.product-info__block .product-label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 4px !important;
  line-height: 1.3 !important;
  max-width: none !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Cacher l'icône SVG (cohérent avec les collections) */
.product-info .product-label .icon,
.product-info__block .product-label .icon {
  display: none !important;
}

/* Couleurs unifiées — sale rouge, le reste doré */
.product-info .product-label--sale,
.product-info__block .product-label--sale {
  background: #E53E3E !important;
  color: #ffffff !important;
}

.product-info .product-label--new,
.product-info .product-label--custom,
.product-info .product-label--preorder,
.product-info .product-label--sold-out,
.product-info__block .product-label--new,
.product-info__block .product-label--custom,
.product-info__block .product-label--preorder,
.product-info__block .product-label--sold-out {
  background: #E8A020 !important;
  color: #0D1B3E !important;
}

/* Container : un peu d'air sous le label avant le titre */
.product-info .product-label-container,
.product-info__block .product-label-container {
  margin-bottom: 12px !important;
  gap: 6px !important;
  justify-content: flex-start !important;
}

/* Sur mobile : compacter légèrement */
@media (max-width: 749px) {
  .product-info .product-label,
  .product-info__block .product-label {
    font-size: 12px !important;
    padding: 5px 12px !important;
    letter-spacing: 0.05em !important;
    max-width: none !important;
    white-space: nowrap !important;
  }
}

/* =================================================================
   SSF — Collection Page
   ================================================================= */

.collection-banner__heading {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: clamp(32px, 4.5vw, 60px) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  color: #0D1B3E !important;
  line-height: 1 !important;
}
.collection-banner__heading::before {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: #E8A020;
  border-radius: 2px;
  margin-bottom: 14px;
}

.breadcrumbs { font-family: 'Barlow', sans-serif !important; font-size: 12px !important; letter-spacing: 0.04em !important; opacity: 0.75; margin-bottom: 6px !important; }

/* Toolbar — desktop : bande blanche sticky pleine largeur */
@media (min-width: 750px) {
  .products-toolbar {
    position: sticky !important;
    top: 126px !important;
    z-index: 9 !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    padding: 12px var(--gutter, 64px) !important;
    margin-left: calc(var(--gutter, 64px) * -1) !important;
    margin-right: calc(var(--gutter, 64px) * -1) !important;
    margin-bottom: 24px !important;
    box-shadow: none !important;
    border: none !important;
    border-bottom: 1px solid #E8EAF0 !important;
    transition: top var(--header-transition-speed, 300ms) ease !important;
  }

  /* Quand le menu est caché (scroll vers le bas), la toolbar remonte */
  body:has(.header.is-out) .products-toolbar,
  .cc-header:has(.header.is-out) ~ * .products-toolbar {
    top: 87px !important;
  }

  .products-toolbar__filter-btn {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #0D1B3E !important;
    background: #F4F5F7 !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    border: none !important;
    transition: background 150ms, color 150ms !important;
  }
  .products-toolbar__filter-btn:hover {
    background: #0D1B3E !important;
    color: #ffffff !important;
  }
}

.products-toolbar .custom-select__btn,
.products-toolbar [class*="sort"] { font-family: 'Barlow Condensed', sans-serif !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; }

/* =================================================================
   SSF — Sidebar de filtres : refonte complète
   ================================================================= */

/* Conteneur principal du drawer — minimaliste sur desktop, opaque en mobile */
#facet-filters.facets {
  background: #ffffff !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Desktop : sidebar transparente (pas une card flottante) */
@media (min-width: 750px) {
  #facet-filters.facets {
    background: transparent !important;
  }
}

/* Header du drawer (mobile uniquement) */
#facet-filters .drawer__header {
  border-bottom: 1px solid #E8EAF0 !important;
  padding: 16px 20px !important;
  margin: 0 8px 8px !important;
}

#facet-filters .drawer__header h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #0D1B3E !important;
}

/* Sections de filtre — plus aérées mais compactes */
#facet-filters .disclosure--row {
  border: none !important;
  border-bottom: 1px solid #F0F2F5 !important;
  margin: 0 !important;
}

#facet-filters .disclosure--row:last-of-type {
  border-bottom: none !important;
}

#facet-filters details-disclosure:last-child .disclosure--row {
  border-bottom: none !important;
}

/* Titre de section (Type de produit, Couleur, etc.) */
#facet-filters .disclosure > summary,
#facet-filters .filter > summary,
#facet-filters .filter__toggle {
  padding: 14px 12px !important;
  border-radius: 6px !important;
  transition: background 150ms ease !important;
  margin: 0 !important;
}

/* Padding-top sur la sidebar pour espacer le 1er filtre de la toolbar */
@media (min-width: 750px) {
  #facet-filters .facets__filters,
  #facet-filters #facets {
    padding-top: 12px !important;
  }
}

#facet-filters .disclosure > summary:hover {
  background: #F8F9FB !important;
}

#facet-filters .disclosure__title.font-body,
#facet-filters .disclosure__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #0D1B3E !important;
  margin: 0 !important;
}

/* Indicateur de filtres actifs (badge bleu si filtre appliqué) */
#facet-filters .disclosure__title[data-active-count]::after {
  content: attr(data-active-count);
  display: inline-block;
  margin-left: 8px;
  background: #1c4899;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  padding: 2px 7px;
  border-radius: 10px;
  vertical-align: middle;
}

/* Chevron */
#facet-filters .disclosure__toggle {
  color: #8892A4 !important;
  transition: transform 200ms ease, color 150ms ease !important;
}

#facet-filters .disclosure > summary:hover .disclosure__toggle {
  color: #1c4899 !important;
}

#facet-filters .disclosure[open] .disclosure__toggle .icon {
  transform: rotate(180deg);
}

/* Contenu déplié */
#facet-filters .disclosure__content {
  padding: 4px 12px 16px !important;
}

/* Labels des options (cases à cocher) */
#facet-filters .disclosure__content label,
#facet-filters .disclosure__content .label {
  font-family: 'Barlow', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #3D4A5C !important;
  padding: 3px 0 !important;
  line-height: 1.3 !important;
  cursor: pointer !important;
  transition: color 150ms ease !important;
}

#facet-filters .disclosure__content label:hover,
#facet-filters .disclosure__content .label:hover {
  color: #1c4899 !important;
}

/* Compte de produits par option */
.facet-count,
[class*="facet-count"],
#facet-filters .disclosure__content label > em {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important;
  color: #8892A4 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  font-style: normal !important;
  margin-left: 4px !important;
}

/* Checkboxes — version moderne carrée + check bleu */
#facet-filters .checkbox + label::before {
  width: 18px !important;
  height: 18px !important;
  border-radius: 4px !important;
  border: 1.5px solid #C5CCD9 !important;
  background-color: #ffffff !important;
  margin-top: 1px !important;
  transition: border-color 150ms ease, background-color 150ms ease !important;
}

#facet-filters .checkbox:hover + label::before {
  border-color: #1c4899 !important;
}

#facet-filters .checkbox:checked + label::before {
  background-color: #1c4899 !important;
  border-color: #1c4899 !important;
}

/* Reset complet du coche du thème + repositionnement clean */
#facet-filters .filter__label::after,
#facet-filters label::after {
  content: none !important;
}

#facet-filters .checkbox:checked + .filter__label,
#facet-filters .checkbox:checked + label,
#facet-filters input[type=checkbox]:checked + .filter__label,
#facet-filters input[type=checkbox]:checked + label {
  position: relative !important;
}

#facet-filters .checkbox:checked + .filter__label::after,
#facet-filters .checkbox:checked + label::after,
#facet-filters input[type=checkbox]:checked + .filter__label::after,
#facet-filters input[type=checkbox]:checked + label::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 8px !important;
  left: 6px !important;
  width: 6px !important;
  height: 11px !important;
  border: solid #ffffff !important;
  border-width: 0 2px 2px 0 !important;
  background: transparent !important;
  transform: rotate(45deg) !important;
  transform-origin: center !important;
  margin: 0 !important;
}

/* Section "Filtres appliqués" — mise en avant */
#facet-filters #active-filters {
  background: linear-gradient(135deg, #F4F7FB 0%, #E8F0FB 100%) !important;
  border-radius: 8px !important;
  border: none !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

#facet-filters #active-filters > summary {
  padding: 12px 14px !important;
  border-radius: 8px !important;
}

#facet-filters #active-filters > summary:hover {
  background: transparent !important;
}

#facet-filters .active-filters-header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #1c4899 !important;
}

#facet-filters #active-filters .disclosure__content {
  padding: 0 14px 14px !important;
}

/* Mobile : filtres actifs ne doivent PAS recouvrir la section Trier par */
@media (max-width: 749px) {
  #facet-filters #active-filters {
    position: relative !important;
    z-index: 1 !important;
    margin-bottom: 20px !important;
  }
  
  /* Sticky "Trier par" (s'il l'est) reste sous le header mais au-dessus des filtres actifs */
  #facet-filters .drawer__content > * {
    position: relative;
  }
  
  /* Bloc "Filtres appliqués" rangé proprement et qui ne dépasse pas */
  #facet-filters .active-filters {
    max-height: 100px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* Pills de filtres actifs */
.active-facets__button,
[class*="active-facets"] button,
[class*="active-filter"] button {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: #1c4899 !important;
  color: #ffffff !important;
  border-radius: 20px !important;
  border: none !important;
  padding: 6px 12px 6px 14px !important;
  margin: 4px 4px 0 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: background 150ms, transform 150ms !important;
}

.active-facets__button:hover,
[class*="active-facets"] button:hover {
  background: #0D1B3E !important;
  transform: translateY(-1px) !important;
}

/* Lien "Tout effacer" */
#facet-filters .js-clear-all {
  display: inline-block !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #1c4899 !important;
  text-decoration: none !important;
  margin-top: 12px !important;
  padding-bottom: 1px !important;
  border-bottom: 1.5px solid #1c4899 !important;
  transition: color 150ms ease, border-color 150ms ease !important;
}

#facet-filters .js-clear-all:hover {
  color: #0D1B3E !important;
  border-color: #0D1B3E !important;
  opacity: 1 !important;
}

/* Sélecteur "Trier par" — quand utilisé dans la sidebar mobile */
#facet-filters .custom-select__btn {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
}

/* Slider de prix (si présent) */
#facet-filters .price-range__slider,
#facet-filters .noUi-connect {
  background: #1c4899 !important;
}

#facet-filters .noUi-handle {
  background: #ffffff !important;
  border: 2px solid #1c4899 !important;
  box-shadow: 0 2px 6px rgba(13, 27, 62, 0.15) !important;
}

/* Inputs prix min/max */
#facet-filters .price-range__input-wrapper {
  border-radius: 6px !important;
}

#facet-filters .price-range__input {
  font-family: 'Barlow', sans-serif !important;
  font-size: 14px !important;
  color: #0D1B3E !important;
}

/* Scrollbar de la sidebar — discrète et stylée */
#facet-filters::-webkit-scrollbar {
  width: 4px !important;
}

#facet-filters::-webkit-scrollbar-track {
  background: transparent !important;
  margin: 8px 0;
}

#facet-filters::-webkit-scrollbar-thumb {
  background: transparent !important;
  border-radius: 2px !important;
  transition: background 200ms ease;
}

#facet-filters:hover::-webkit-scrollbar-thumb {
  background: #C5CCD9 !important;
}

#facet-filters::-webkit-scrollbar-thumb:hover {
  background: #1c4899 !important;
}

/* Firefox */
#facet-filters {
  scrollbar-width: thin !important;
  scrollbar-color: transparent transparent !important;
  transition: scrollbar-color 200ms ease !important;
}

#facet-filters:hover {
  scrollbar-color: #C5CCD9 transparent !important;
}

.main-products-grid .grid, .cc-product-card-grid .grid { gap: 12px !important; row-gap: 16px !important; column-gap: 12px !important; }

.pagination__page-link, .pagination__page-current, .pagination__arrow { font-family: 'Barlow Condensed', sans-serif !important; font-weight: 700 !important; letter-spacing: 0.06em !important; font-size: 15px !important; }
.pagination__page-current { color: #1c4899 !important; }
.pagination__page-link:hover { color: #1c4899 !important; }

[class*="product-count"], [class*="results-count"], .products-toolbar__count { font-family: 'Barlow Condensed', sans-serif !important; font-size: 13px !important; letter-spacing: 0.08em !important; color: #8892A4 !important; text-transform: uppercase !important; }

/* =================================================================
   SSF — Mobile collection
   ================================================================= */

@media (max-width: 749px) {

  /* FOND — transparent, le body blanc suffit */
  .cc-collection-products {
    background-color: transparent !important;
  }
  .cc-collection-products .container {
    background-color: transparent !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

/* TOOLBAR — bande blanche sticky pleine largeur (cohérent avec desktop) */
  products-toolbar.products-toolbar,
  .products-toolbar {
    position: sticky !important;
    top: 70px !important;
    z-index: 9 !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid #E8EAF0 !important;
    padding: 12px var(--gutter, 16px) !important;
    margin-top: 0 !important;
    margin-left: calc(var(--gutter, 16px) * -1) !important;
    margin-right: calc(var(--gutter, 16px) * -1) !important;
    margin-bottom: 48px !important;
  }
  .products-toolbar__filter-btn {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #0D1B3E !important;
    background: #F4F5F7 !important;
    border-radius: 6px !important;
    padding: 9px 16px !important;
    border: none !important;
  }

  /* GRILLE — transparente */
  .main-products-grid .grid {
    background: transparent !important;
    row-gap: 16px !important;
    column-gap: 12px !important;
  }
  .main-products-grid .grid > li {
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  /* CARDS — shadow sur fond blanc, image pleine largeur */
  product-card.card--product {
    background: #ffffff !important;
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(13, 27, 62, 0.12) !important;
    will-change: auto !important;
    transform: none !important;
    transition: none !important;
    overflow: hidden !important;
    padding: 0 !important;
  }

  /* Image — pleine largeur de la card */
  product-card.card--product .card__media,
  product-card.card--product .card__media a,
  product-card.card--product .card__media .media,
  product-card.card--product product-card-image-slider,
  product-card.card--product .slider,
  product-card.card--product .slider__grid {
    width: 100% !important;
    max-width: none !important;
  }

  /* Info cards */
  product-card.card--product .card__info-container { padding: 12px !important; }
  product-card.card--product .card__vendor         { font-size: 10px !important; }
  product-card.card--product .card__title {
    font-size: 14px !important;
    line-height: 1.3 !important;
    -webkit-line-clamp: 4 !important;
  }
  product-card.card--product .price__current       {
    font-family: 'Barlow', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }
  /* Labels mobile — compacts mais lisibles */
  product-card.card--product .product-label-container {
    top: 8px !important;
    left: 8px !important;
    right: auto !important;
    gap: 4px !important;
  }
  product-card.card--product .product-label {
    font-size: 11px !important;
    padding: 3px 8px !important;
    letter-spacing: 0.03em !important;
    line-height: 1.3 !important;
    max-width: 130px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
  
  /* Sale labels (rouge) — restent opaques pour le contraste */
  product-card.card--product .product-label--sale {
    background: #E53E3E !important;
    color: #ffffff !important;
  }
  
  /* Custom labels (15% de rabais...) — version compacte */
  product-card.card--product .product-label--custom {
    background: rgba(232, 160, 32, 0.95) !important;
    color: #0D1B3E !important;
  }
  product-card.card--product .card__quick-add      { display: none !important; }

  /* Swatches */
  product-card.card--product .card__swatches { padding-top: 6px !important; margin-top: 2px !important; flex-wrap: wrap !important; gap: 4px !important; border-top: none !important; }
  product-card.card--product .card__swatches .opt-label { width: 24px !important; height: 24px !important; min-width: 24px !important; border-radius: 4px !important; overflow: hidden !important; }

  /* Titre collection */
  .collection-banner__heading { font-size: clamp(26px, 8vw, 36px) !important; margin-bottom: 12px !important; }
  .collection-banner__heading::before { width: 28px !important; margin-bottom: 10px !important; }

  product-card.card--product .card__media {
    border-radius: 8px 8px 0 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
  }
product-card.card--product .slider--no-scrollbar {
    overflow: hidden !important;
  }
  product-card.card--product .slider__grid {
    overflow: hidden !important;
  }
  product-card.card--product .slider__item:last-child:not(:first-child) .media {
    display: none !important;
  }

  .main-products-grid .grid {
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-top: none !important;
  }

}

.option-selector--unisex-size .uss-tabs {
  display: flex;
  gap: 8px;
  margin: 8px 0 14px;
}
.option-selector--unisex-size .uss-tab {
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: rgb(91, 91, 91);
  background: rgb(255, 255, 255);
  border: 1px solid rgba(91, 91, 91, 0.2);
  border-radius: 9px;
  padding: 12px 20px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.option-selector--unisex-size .uss-tab:hover {
  border-color: rgba(91, 91, 91, 0.5);
}
.option-selector--unisex-size .uss-tab.is-active {
  background: rgb(91, 91, 91);
  color: rgb(255, 255, 255);
  border-color: rgb(91, 91, 91);
}

/* =================================================================
   SSF — Variants indisponibles : plus visibles
   ================================================================= */

/* Boutons de taille indisponibles (ex: pointures épuisées) */
variant-picker input.is-unavailable + .opt-label--btn,
variant-picker input.is-unavailable + .opt-label.btn {
  color: #B0B0B0 !important;
  background: #F4F5F7 !important;
  border-color: #E0E2E8 !important;
  position: relative !important;
}

/* Diagonale barrée — bien visible */
variant-picker input.is-unavailable + .opt-label--btn::after,
variant-picker input.is-unavailable + .opt-label.btn::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to bottom right,
    transparent calc(50% - 1px),
    rgba(136, 146, 164, 0.55) calc(50% - 1px),
    rgba(136, 146, 164, 0.55) calc(50% + 1px),
    transparent calc(50% + 1px)
  ) no-repeat !important;
  pointer-events: none !important;
}

/* Au hover (s'il essaie de cliquer), légèrement plus foncé */
variant-picker input.is-unavailable + .opt-label--btn:hover,
variant-picker input.is-unavailable + .opt-label.btn:hover {
  color: #8892A4 !important;
  border-color: #C5CCD9 !important;
}

/* Swatches couleur indisponibles */
variant-picker input.is-unavailable + .opt-label--swatch {
  opacity: 0.5 !important;
}

variant-picker input.is-unavailable + .opt-label--swatch::before {
  filter: grayscale(60%) !important;
}

/* Diagonale sur les swatches couleur (plus discrète) */
variant-picker input.is-unavailable + .opt-label--swatch:not(.opt-label--image)::after {
  background: linear-gradient(
    to bottom left,
    transparent calc(50% - 1px),
    rgba(255, 255, 255, 0.95) calc(50% - 1px),
    rgba(255, 255, 255, 0.95) calc(50% + 1px),
    transparent calc(50% + 1px)
  ) no-repeat !important;
}

@media (max-width: 767px) {
  .ssf-cats .ssf-container {
    padding: 0;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE */
    -webkit-mask-image: linear-gradient(to right, black 85%, transparent 100%);
    mask-image: linear-gradient(to right, black 85%, transparent 100%);
  }

  /* Chrome/Safari */
  .ssf-cats .ssf-container::-webkit-scrollbar {
    display: none;
  }
}

.ssf-split-feature__btn-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

@media (max-width: 767px) {
  .ssf-split-feature__btn-wrap {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .ssf-split-feature__btn-wrap .ssf-btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    font-size: 14px !important;
    padding: 14px 20px !important;
  }
}

/* =================================================================
   SSF — Sidebar de filtres sticky (suit la toolbar)
   ================================================================= */
@media (min-width: 750px) {
  #facet-filters.facets {
    position: sticky !important;
    /* Pile sous la toolbar (toolbar à 126px + ~50px de hauteur toolbar) */
    top: calc(126px + 80px) !important;
    /* Hauteur max = viewport - hauteur header complet - hauteur toolbar - marge */
    max-height: calc(100vh - 126px - 60px - 24px) !important;
    overflow-y: auto !important;
    align-self: flex-start !important;
    transition: top var(--header-transition-speed, 300ms) ease,
                max-height var(--header-transition-speed, 300ms) ease !important;
  }

  /* Quand le menu est caché, la sidebar remonte aussi */
  body:has(.header.is-out) #facet-filters.facets,
  .cc-header:has(.header.is-out) ~ * #facet-filters.facets {
    top: calc(87px + 80px) !important;
    max-height: calc(100vh - 87px - 60px - 24px) !important;
  }

  /* Scrollbar discrète dans la sidebar */
  #facet-filters.facets::-webkit-scrollbar {
    width: 6px;
  }
  #facet-filters.facets::-webkit-scrollbar-track {
    background: transparent;
  }
  #facet-filters.facets::-webkit-scrollbar-thumb {
    background: #E8EAF0;
    border-radius: 3px;
  }
  #facet-filters.facets::-webkit-scrollbar-thumb:hover {
    background: #8892A4;
  }
}

/* =================================================================
   SSF — Espacement Collection Banner (breadcrumb + section suivante)
   ================================================================= */

/* Gap réduit entre breadcrumb et banner */
.cc-collection-banner.section--template {
  margin-top: 8px !important;
}

/* Plus d'air en dessous du banner */
.cc-collection-banner.section--template {
  padding-bottom: 24px !important;
}

/* Mobile — un peu moins d'espacement vertical */
@media (max-width: 749px) {
  .cc-collection-banner.section--template {
    margin-top: 4px !important;
    padding-bottom: 16px !important;
  }
}

/* =================================================================
   SSF — Mega Menu refonte clean (style Altitude + signature SSF)
   ================================================================= */

@media (min-width: 769px) {
  /* Conteneur principal */
  .main-nav__child.mega-nav {
    padding: 40px 0 32px !important;
    border-top: 1px solid #E8EAF0 !important;
    box-shadow: 0 8px 24px rgba(13, 27, 62, 0.06) !important;
    background-color: #ffffff !important;
  }

  /* Container interne — alignement avec le header */
  .main-nav__child.mega-nav > .container {
    padding-left: var(--gutter, 64px) !important;
    padding-right: var(--gutter, 64px) !important;
  }

  /* Grid des colonnes */
  .main-nav__child.mega-nav .child-nav {
    gap: 48px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  /* Header de colonne (ex. "Hauts", "Pantalons et shorts") — léger */
  .main-nav__child.mega-nav .main-nav__item-header,
  .main-nav__child.mega-nav .child-nav__item.main-nav__item-header,
  .main-nav__child.mega-nav .large-text {
    font-family: 'Barlow', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #0D1B3E !important;
    padding: 0 0 6px 0 !important;
    margin: 0 0 10px 0 !important;
    position: relative;
    display: inline-block !important;
    border-bottom: 2px solid #E8A020 !important;
  }

  .main-nav__child.mega-nav .main-nav__item-header:hover,
  .main-nav__child.mega-nav .child-nav__item.main-nav__item-header:hover {
    color: #1c4899 !important;
  }

  /* Liens secondaires (sub-collections sous chaque header) */
  .main-nav__child.mega-nav .main-nav__grandchild {
    padding: 0 !important;
  }

  .main-nav__child.mega-nav .main-nav__grandchild .main-nav__item,
  .main-nav__child.mega-nav .grandchild-nav__item,
  .main-nav__child.mega-nav .child-nav__item:not(.main-nav__item-header) {
    font-family: 'Barlow', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #3D4A5C !important;
    padding: 6px 0 !important;
    line-height: 1.4 !important;
    transition: color 150ms ease, padding-left 200ms ease !important;
    display: block !important;
  }

  .main-nav__child.mega-nav .main-nav__grandchild .main-nav__item:hover,
  .main-nav__child.mega-nav .grandchild-nav__item:hover,
  .main-nav__child.mega-nav .child-nav__item:not(.main-nav__item-header):hover {
    color: #1c4899 !important;
    padding-left: 4px !important;
  }

  /* "Voir tout" / lien featured (s'il existe) */
  .main-nav__child.mega-nav .main-nav__link--featured {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #1c4899 !important;
  }

  .main-nav__child.mega-nav .main-nav__link--featured:hover {
    color: #0D1B3E !important;
  }

  /* "Go" arrows (icônes circulaires) — moins prononcés */
  .main-nav__child.mega-nav .main-nav__item--go,
  .main-nav__child.mega-nav .main-nav__icon-circle {
    color: #8892A4 !important;
  }

  .main-nav__child.mega-nav .main-nav__item--go:hover {
    color: #1c4899 !important;
  }

  /* Espacement entre items au sein d'une colonne */
  .main-nav__child.mega-nav .main-nav__grandchild li {
    margin: 0 !important;
  }

  /* Hover déclenché par js-nav-hover de ton thème — durée raccourcie */
  .main-nav__child.mega-nav {
    transition: opacity 150ms ease, transform 200ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0s !important;
  }

  /* Underline du nav item parent quand mega ouvert (cohérent avec Altitude) */
  .main-nav__item--primary:hover,
  .is-open > .main-nav__item--primary,
  details[open] > summary > .main-nav__item--primary {
    box-shadow: inset 0 -2px 0 0 #0D1B3E !important;
    color: #0D1B3E !important;
  }

  /* Items principaux du nav (Homme, Femme, etc.) — léger et lisible */
  .main-nav__item--primary {
    font-family: 'Barlow', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  /* Item "Soldes" en accent bleu/rouge */
  .main-nav__link--featured.main-nav__item--primary,
  .main-nav__item--primary.main-nav__link--featured {
    color: #E53E3E !important;
  }
}
/* Mega menu — supprimer la ligne grise sous les headers (laisse place au doré) */
@media (min-width: 769px) {
  .main-nav__child.mega-nav .child-nav__item--toggle:not(.nav__item--no-underline) {
    border-bottom: none !important;
    margin-bottom: 0 !important;
  }
}

/* =================================================================
   SSF — Mega menu : titres de section (vrai sélecteur)
   ================================================================= */
@media (min-width: 769px) {
  /* Titres de section ("Homme", "Hauts", "Pantalons et shorts"...) */
  .main-nav__child.mega-nav summary.child-nav__item--toggle .main-nav__item-content > a,
  .main-nav__child.mega-nav summary.main-nav__item--toggle .main-nav__item-content > a,
  .main-nav__child.mega-nav summary > .main-nav__item-content > a.child-nav__item {
    font-family: 'Barlow', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #0D1B3E !important;
    padding: 0 0 6px 0 !important;
    margin: 0 0 14px 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    border-bottom: 2px solid #E8A020 !important;
    line-height: 1.3 !important;
  }

  /* Cacher la flèche/chevron à côté des titres en desktop */
  .main-nav__child.mega-nav summary.child-nav__item--toggle .main-nav__item-content > a > svg,
  .main-nav__child.mega-nav summary.main-nav__item--toggle .main-nav__item-content > a > .icon {
    display: none !important;
  }

/* Hover des titres */
  .main-nav__child.mega-nav summary.child-nav__item--toggle .main-nav__item-content > a:hover,
  .main-nav__child.mega-nav summary.main-nav__item--toggle .main-nav__item-content > a:hover {
    color: #1c4899 !important;
    padding-left: 0 !important;
  }
}

/* =================================================================
   SSF — Mega menu Sports : grille adaptative (FORCE)
   ================================================================= */
@media (min-width: 769px) {
  html body .main-menu .main-nav__child.mega-nav .child-nav.md\:grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    column-gap: 28px !important;
    row-gap: 28px !important;
  }
}

/* =================================================================
   SSF — Sub-collections grid : aspect ratio des cards
   ================================================================= */
.cc-sub-collections-grid .card__collection .card__media {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  background: #E8EAF0 !important;
}

.cc-sub-collections-grid .card__collection .card__media img,
.cc-sub-collections-grid .card__collection .card__media .img-fit {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.cc-sub-collections-grid .card__collection:hover .card__media img,
.cc-sub-collections-grid .card__collection:hover .card__media .img-fit {
  transform: scale(1.05) !important;
}

/* Récupérer le style heading SSF (eyebrow + accent doré) — comme tes featured */
.cc-sub-collections-grid .section__heading,
.cc-sub-collections-grid h2.h4 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #1c4899 !important;
  margin-bottom: 18px !important;
  position: relative;
  padding-top: 14px;
}

.cc-sub-collections-grid .section__heading::before,
.cc-sub-collections-grid h2.h4::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 3px;
  background: #E8A020;
  border-radius: 2px;
}

/* Titre sous chaque card */
.cc-sub-collections-grid .card__collection .card__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #0D1B3E !important;
  text-align: center !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  transition: color 180ms ease;
}

.cc-sub-collections-grid .card__collection:hover .card__title {
  color: #1c4899 !important;
}

.cc-sub-collections-grid .card__collection .card__info {
  padding-top: 8px !important;
}

/* Mobile */
@media (max-width: 749px) {
  .cc-sub-collections-grid .card__collection .card__title {
    font-size: 13px !important;
  }
  .cc-sub-collections-grid .section__heading,
  .cc-sub-collections-grid h2.h4 {
    font-size: 12px !important;
  }
}

/* =================================================================
   SSF — Sub-collections : slider horizontal
   ================================================================= */
.cc-sub-collections-slider {
  position: relative;
  width: 100%;
}

.cc-sub-collections-slider__track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 8px;
  scroll-padding-left: var(--gutter, 20px);
}

.cc-sub-collections-slider__track::-webkit-scrollbar {
  display: none;
}

.cc-sub-collections-slider__item {
  flex: 0 0 auto;
  scroll-snap-align: start;
  /* Mobile : 2.2 cards visibles */
  width: calc((100vw - var(--gutter, 20px) * 2 - 16px * 1.2) / 2.2);
  max-width: 280px;
}

/* Desktop : nombre de colonnes selon le réglage admin */
@media (min-width: 750px) {
  .cc-sub-collections-slider__track {
    gap: 24px;
  }
  .cc-sub-collections-slider__track[data-cols-desktop="3"] .cc-sub-collections-slider__item {
    width: calc((100% - 24px * 2) / 3);
    max-width: none;
  }
  .cc-sub-collections-slider__track[data-cols-desktop="4"] .cc-sub-collections-slider__item {
    width: calc((100% - 24px * 3) / 4);
    max-width: none;
  }
  .cc-sub-collections-slider__track[data-cols-desktop="5"] .cc-sub-collections-slider__item {
    width: calc((100% - 24px * 4) / 5);
    max-width: none;
  }
  .cc-sub-collections-slider__track[data-cols-desktop="6"] .cc-sub-collections-slider__item {
    width: calc((100% - 24px * 5) / 6);
    max-width: none;
  }
  /* Si peu d'items qui ne dépassent pas, désactive le scroll snap pour un look propre */
  .cc-sub-collections-slider__track {
    scroll-snap-type: none;
  }
}

/* Cards (fond blanc + image sur gris clair, comme les product cards) */
.cc-sub-collections-slider .card__collection {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: #ffffff !important;
  border-radius: 8px !important;
  border: none !important;
  box-shadow: 0 1px 6px rgba(13, 27, 62, 0.08) !important;
  overflow: hidden !important;
  transition: box-shadow 320ms cubic-bezier(0.16, 1, 0.3, 1),
              transform 320ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@media (hover: hover) and (pointer: fine) {
  .cc-sub-collections-slider .card__collection:hover {
    box-shadow: 0 12px 40px rgba(13, 27, 62, 0.14) !important;
    transform: translateY(-4px) !important;
  }
}

.cc-sub-collections-slider .card__media {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  border-radius: 8px 8px 0 0 !important;
  background: #E8EAF0 !important;
}

.cc-sub-collections-slider .card__media img,
.cc-sub-collections-slider .card__media .img-fit {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.cc-sub-collections-slider .card__collection:hover .card__media img,
.cc-sub-collections-slider .card__collection:hover .card__media .img-fit {
  transform: scale(1.07) !important;
}

/* Titre sous la card */
.cc-sub-collections-slider .card__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #0D1B3E !important;
  text-align: center !important;
  margin: 0 !important;
  transition: color 180ms ease;
  line-height: 1.3 !important;
}

.cc-sub-collections-slider .card__collection:hover .card__title {
  color: #1c4899 !important;
}

.cc-sub-collections-slider .card__info {
  padding: 14px 16px 16px !important;
  background: #ffffff !important;
}

/* Heading "Magasiner par catégorie" — eyebrow SSF */
.cc-sub-collections-grid .section__heading,
.cc-sub-collections-grid h2.h4 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #1c4899 !important;
  margin-bottom: 18px !important;
  position: relative;
  padding-top: 14px;
}

.cc-sub-collections-grid .section__heading::before,
.cc-sub-collections-grid h2.h4::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 3px;
  background: #E8A020;
  border-radius: 2px;
}

/* Mobile — heading et titres plus petits */
@media (max-width: 749px) {
  .cc-sub-collections-slider .card__title {
    font-size: 13px !important;
  }
  .cc-sub-collections-grid .section__heading,
  .cc-sub-collections-grid h2.h4 {
    font-size: 12px !important;
  }
}

/* Dots de scroll — visibles seulement si overflow détecté */
.cc-sub-collections-slider__dots {
  display: none;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 16px 0 0;
}

.cc-sub-collections-slider__dots.is-visible {
  display: flex;
}

.cc-sub-collections-slider__dot {
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: #D1D5DB;
  transition: width 0.3s ease, background 0.3s ease;
  flex-shrink: 0;
}

.cc-sub-collections-slider__dot--active {
  width: 20px;
  background: #1c4899;
}

/* Fond blanc pour la section sub-collections (override color-scheme) */
.cc-sub-collections-grid .cc-featured-collection {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

}

/* =================================================================
   SSF — Whole-card clickable (cursor + hover feedback)
   ================================================================= */

/* Cursor pointer sur toute la carte pour indiquer qu'elle est cliquable */
product-card.card--product {
  cursor: pointer;
}

/* Sauf sur les zones interactives qui ont leur propre comportement */
product-card.card--product .card__swatches,
product-card.card--product .card__swatches *,
product-card.card--product .card__quick-add button,
product-card.card--product .card__quick-add a,
product-card.card--product .card__compare,
product-card.card--product .card__compare * {
  cursor: auto;
}
product-card.card--product .card__quick-add button,
product-card.card--product .card__quick-add a {
  cursor: pointer;
}

/* Hover : feedback visuel sur le titre */
product-card.card--product:hover .card__title .card-link,
product-card.card--product:hover .card__title a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* =================================================================
   SSF — Re-skin pages politiques (FAQ, rich-text, banner)
   S'applique aux sections cc-faq, cc-rich-text, cc-image-banner
   ================================================================= */

/* Titres de section : Barlow Condensed uppercase navy */
.cc-faq .section__heading,
.cc-rich-text .section__heading {
  font-family: 'Barlow Condensed', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  color: #0D1B3E !important;
  font-weight: 700 !important;
}

/* Accordéons : titres en navy, séparateurs cohérents */
.cc-faq .disclosure__title {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  color: #0D1B3E !important;
  font-size: 16px !important;
}
.cc-faq details.disclosure {
  border-top: 1px solid #E8EAF0 !important;
}
.cc-faq summary {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  transition: background-color 150ms ease;
}
.cc-faq summary:hover {
  background-color: #F4F5F7 !important;
}
.cc-faq summary:hover .disclosure__title {
  color: #1c4899 !important;
}
/* Chevron en gold SSF */
.cc-faq .disclosure__toggle svg {
  color: #E8A020 !important;
}

/* Encadré rich-text crème — UNIQUEMENT sur les sections avec la classe ssf-cream */
.cc-rich-text.ssf-cream {
  background: #FFF9EC !important;
}
.cc-rich-text.ssf-cream .section__heading {
  color: #0D1B3E !important;
}

/* Boutons (Portail de retour, etc.) → style SSF primary */
.cc-faq a.btn,
.cc-faq .button,
.cc-rich-text a.btn {
  background: #1c4899 !important;
  border-color: #1c4899 !important;
  color: #fff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-weight: 700 !important;
}
.cc-faq a.btn:hover,
.cc-rich-text a.btn:hover {
  background: #0D1B3E !important;
  border-color: #0D1B3E !important;
}

/* Bannière hero : titre en Barlow Condensed */
.cc-image-banner .banner__heading,
.cc-image-banner h1 {
  font-family: 'Barlow Condensed', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  font-weight: 800 !important;
}

/* =================================================================
   SSF — Re-skin FAQ collection (section collection_faq)
   ================================================================= */

/* Cadre bleu SSF affiné en liseré fin */
.faq__wrap {
  background: #1c4899 !important;
  padding: 4px !important;
  border-radius: 12px !important;
}
.faq__items,
.faq__panel {
  background: #ffffff !important;
  border-radius: 9px !important;
  border: none !important;
}

/* Chaque item : séparateur fin */
.faq__item {
  border-bottom: 1px solid #E8EAF0 !important;
}
.faq__item:last-child {
  border-bottom: none !important;
}

/* Question (summary) */
.faq__q {
  padding: 18px 20px !important;
  cursor: pointer !important;
  transition: background-color 150ms ease !important;
}
.faq__q:hover {
  background-color: #F4F5F7 !important;
}

/* Titre de question : Barlow, navy */
.faq__question {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: #0D1B3E !important;
  margin: 0 !important;
}
.faq__q:hover .faq__question,
.faq__item[open] .faq__question {
  color: #1c4899 !important;
}

/* Icône +/− en gold SSF */
.faq__icon {
  color: #E8A020 !important;
}
.faq__icon::before,
.faq__icon::after {
  background-color: #E8A020 !important;
}

/* Réponse */
.faq__a {
  padding: 0 20px 18px !important;
  font-family: 'Barlow', sans-serif !important;
  color: #4A5568 !important;
  line-height: 1.6 !important;
}

/* =================================================================
   SSF — Re-skin FAQ produit (section Product details, onglet FAQ)
   Scopé au conteneur [itemtype="FAQPage"] pour ne pas affecter
   les autres accordéons (Guide des tailles, Description, etc.)
   ================================================================= */

[itemtype*="FAQPage"] {
  border: 1px solid #E8EAF0;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

/* Chaque question (details) */
[itemtype*="FAQPage"] details.disclosure {
  border: none;
  border-bottom: 1px solid #E8EAF0;
}
[itemtype*="FAQPage"] details.disclosure:last-child {
  border-bottom: none;
}

/* Summary (zone cliquable) */
[itemtype*="FAQPage"] summary {
  padding: 18px 20px !important;
  cursor: pointer;
  transition: background-color 150ms ease;
}
[itemtype*="FAQPage"] summary:hover {
  background-color: #F4F5F7;
}

/* Titre de question : navy SSF → bleu au hover/ouvert */
[itemtype*="FAQPage"] .disclosure__title {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: #0D1B3E !important;
}
[itemtype*="FAQPage"] summary:hover .disclosure__title,
[itemtype*="FAQPage"] details[open] .disclosure__title {
  color: #1c4899 !important;
}

/* Chevron gold SSF */
[itemtype*="FAQPage"] .disclosure__toggle svg {
  color: #E8A020 !important;
}

/* Réponse */
[itemtype*="FAQPage"] .disclosure__content {
  padding: 0 20px 18px !important;
  font-family: 'Barlow', sans-serif !important;
  color: #4A5568 !important;
  line-height: 1.6 !important;
}

/* SSF — Chevron gold pour le Guide des tailles (cohérence avec la FAQ) */
.product-info__sticky details.disclosure .disclosure__toggle svg {
  color: #E8A020 !important;
}

/* =================================================================
   SSF — Re-skin colonne produit (titre, vendor, prix, labels)
   ================================================================= */

/* Titre produit : Barlow Condensed uppercase navy */
.product-info__sticky .product-title,
.product-info .product-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  color: #0D1B3E !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

/* Vendor (marque) : Barlow Condensed uppercase, bleu SSF */
.product-info__sticky .product-vendor,
.product-info__sticky .product-vendor a {
  font-family: 'Barlow Condensed', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-weight: 600 !important;
  color: #1c4899 !important;
  font-size: 14px !important;
}

/* SKU : discret */
.product-info__sticky .product-info__sku,
.product-info__sticky [class*="sku"] {
  color: #8892A4 !important;
}

/* Sous-titre : gris doux SSF */
.product-info__sticky .product-subtitle {
  color: #4A5568 !important;
  font-family: 'Barlow', sans-serif !important;
}

/* =================================================================
   SSF — Re-skin contenu Guide des tailles (tableaux)
   ================================================================= */

/* Titres de catégorie (Chaussures Puma Adulte, etc.) : navy SSF */
.product-info__sticky details.disclosure .disclosure__content strong {
  color: #0D1B3E !important;
}

/* Tableaux de tailles : bordures fines SSF */
.product-info__sticky details.disclosure .disclosure__content table {
  border-collapse: collapse !important;
}
.product-info__sticky details.disclosure .disclosure__content td,
.product-info__sticky details.disclosure .disclosure__content th {
  border: 1px solid #E8EAF0 !important;
}

/* Première colonne (US/CAN, EU, UK) : fond bleu très clair pour la distinguer */
.product-info__sticky details.disclosure .disclosure__content td:first-child,
.product-info__sticky details.disclosure .disclosure__content th:first-child {
  background: #F4F7FB !important;
}

/* SSF — Titre cliquable du Guide des tailles : navy */
.product-info__sticky .product-info__disclosure,
.product-info__sticky details.disclosure summary .disclosure__title {
  color: #0D1B3E !important;
}

/* Prix : navy SSF */
.product-info__sticky .price,
.product-info__sticky .price__default,
.product-info__sticky .price__current,
.product-info__sticky .price .js-value,
.product-info__sticky .product-info__price {
  color: #0D1B3E !important;
}

/* Labels Couleur / Taille : navy */
.product-info__sticky legend.label,
.product-info__sticky .label,
.product-info__sticky .option-selector__label {
  color: #0D1B3E !important;
  font-weight: 700 !important;
}

/* =================================================================
   SSF — Re-skin bloc "Technologie & Bénéfices"
   ================================================================= */

/* Titre de carte : Barlow Condensed uppercase navy */
.benefit-card__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  color: #0D1B3E !important;
  font-weight: 700 !important;
  font-size: 17px !important;
}

/* Description : Barlow gris doux */
.benefit-card__desc {
  font-family: 'Barlow', sans-serif !important;
  color: #4A5568 !important;
  line-height: 1.5 !important;
}

/* Carte : bordure SSF + hover */
.benefit-card {
  border: 1px solid #E8EAF0 !important;
  border-radius: 12px !important;
  transition: border-color 150ms ease, box-shadow 150ms ease !important;
}
.benefit-card:hover {
  border-color: #1c4899 !important;
  box-shadow: 0 1px 6px rgba(13,27,62,0.08) !important;
}

/* Icône en bleu SSF */
.benefit-card__icon,
.benefit-card__icon svg {
  color: #1c4899 !important;
}

/* Étiquette tech (RISETRUSS™, etc.) en gold — si présente */
.benefit-card__tech {
  color: #E8A020 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

/* =================================================================
   SSF — Logo mobile : taille réduite + plus de respiration verticale
   ================================================================= */
@media (max-width: 749px) {
  store-header {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
  .header__logo.logo img {
    height: 44px !important;
    width: auto !important;
  }
}