/** Shopify CDN: Minification failed

Line 2922:0 Unexpected "{"
Line 2922:1 Unexpected "{"
Line 2922:10 Expected ":"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:about-us (INDEX:0) */
.au-wrap {
    background: var(--au-bg);
    padding-top: var(--au-padding-top);
    padding-bottom: var(--au-padding-bottom);
  }

  .au-inner {
    max-width: var(--au-max-width);
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .au-image-wrap {
    order: 1;
  }

  .au-content {
    order: 2;
    display: flex;
    flex-direction: column;
    gap: var(--au-content-gap);
  }

  .au-mobile-image--below .au-image-wrap {
    order: 2;
  }

  .au-mobile-image--below .au-content {
    order: 1;
  }

  @media (width >= 900px) {
    .au-inner {
      grid-template-columns: 1fr 1fr;
      align-items: center;
    }

    .au-image--left .au-image-wrap {
      order: 1;
    }

    .au-image--left .au-content {
      order: 2;
    }

    .au-image--right .au-image-wrap {
      order: 2;
    }

    .au-image--right .au-content {
      order: 1;
    }
  }

  .au-image-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: var(--au-image-radius);
  }

  .au-image-wrap.au-ratio--square {
    padding-top: 100%;
  }

  .au-image-wrap.au-ratio--portrait {
    padding-top: 125%;
  }

  .au-image-wrap.au-ratio--free {
    padding-top: 0;
    min-height: 320px;
  }

  .au-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .au-image--placeholder {
    background: color-mix(in srgb, var(--au-title-color) 10%, transparent);
  }

  .au-eyebrow {
    margin: 0;
    font-size: var(--au-eyebrow-size);
    font-weight: var(--eyebrow-font-weight);
    letter-spacing: var(--eyebrow-letter-spacing);
    color: var(--au-eyebrow-color);
  }

  .au-eyebrow--uppercase {
    text-transform: uppercase;
  }

  .au-title {
    margin: 0;
    font-size: var(--au-title-size);
    font-weight: 700;
    color: var(--au-title-color);
    line-height: 1.2;
  }

  .au-intro {
    font-size: var(--au-intro-size);
    color: var(--au-intro-color);
    line-height: 1.6;
  }

  .au-intro p {
    margin: 0;
  }

  .au-quote {
    margin: 0;
    font-size: var(--au-quote-size);
    color: var(--au-quote-text-color);
    padding: var(--au-quote-padding);
  }

  .au-quote--italic {
    font-style: italic;
  }

  .au-quote--border-left {
    border-left: var(--au-quote-border-width) solid var(--au-quote-border-color);
  }

  .au-quote--border-right {
    border-right: var(--au-quote-border-width) solid var(--au-quote-border-color);
  }

  .au-quote p {
    margin: 0;
  }

  .au-pillars {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--au-pillar-gap);
  }

  @media (width >= 600px) {
    .au-pillars--fixed {
      grid-template-columns: repeat(var(--au-pillars-columns, 3), 1fr);
    }

    .au-pillars--auto {
      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    }
  }

  .au-pillars--align-center {
    text-align: center;
  }

  .au-pillars--align-center .au-pillar {
    align-items: center;
  }

  .au-pillar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .au-pillar__icon {
    display: flex;
    color: var(--au-pillar-icon-color);
  }

  .au-pillar__icon .icon {
    font-size: var(--au-pillar-icon-size) !important;
  }

  .au-pillar__label {
    margin: 0;
    font-size: var(--au-pillar-label-size);
    font-weight: 700;
    color: var(--au-pillar-label-color);
  }

  .au-pillar__description {
    margin: 0;
    font-size: var(--au-pillar-description-size);
    color: var(--au-pillar-description-color);
    line-height: 1.5;
  }

  .au-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
  }

  .au-buttons--mobile-stacked {
    flex-direction: column;
    align-items: flex-start;
  }

  @media (width >= 600px) {
    .au-buttons--mobile-stacked {
      flex-direction: row;
      align-items: center;
    }
  }

  .au-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 26px;
    border-radius: var(--au-button-radius);
    font-weight: 600;
    text-decoration: none;
    transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
  }

  .au-button--primary {
    background: var(--au-btn-primary-bg);
    color: var(--au-btn-primary-text);
    border: 1.5px solid var(--au-btn-primary-bg);
  }

  .au-button--primary:hover {
    background: var(--au-btn-primary-bg-hover);
    border-color: var(--au-btn-primary-bg-hover);
  }

  .au-button--secondary {
    background: transparent;
    color: var(--au-btn-secondary-text);
    border: 1.5px solid var(--au-btn-secondary-border);
  }

  .au-button--secondary:hover {
    background: var(--au-btn-secondary-bg-hover);
  }

  .au-button__icon {
    display: flex;
    align-items: center;
  }

  .au-button__icon .icon {
    font-size: 18px !important;
  }

  @media (prefers-reduced-motion: no-preference) {
    .au-reveal .au-image-wrap,
    .au-reveal .au-content > * {
      opacity: 0;
      transform: translateY(16px);
      transition: opacity 500ms ease, transform 500ms ease;
    }

    .au-reveal.au-in-view .au-image-wrap,
    .au-reveal.au-in-view .au-content > * {
      opacity: 1;
      transform: translateY(0);
    }
  }
/* END_SECTION:about-us */

/* START_SECTION:announcement-bar (INDEX:1) */
.announcement-bar {
    width: 100%;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }

  .announcement-bar__content {
    width: 100%;
  }

  .announcement-bar__content .splide__arrow {
    background: transparent;
    border: none;

    .icon {
      font-size: 20px !important;
    }
  }

  .mg-announcement-custom { background: var(--mg-ann-bg); padding-inline: var(--mg-ann-px-m); padding-block: var(--mg-ann-pt-m) var(--mg-ann-pb-m); min-height: var(--mg-ann-height-m); margin-block: var(--mg-ann-mt-m) var(--mg-ann-mb-m); box-sizing: border-box; }
  .mg-announcement-custom .text-block { width: 100%; }
  .mg-announcement-custom .text-block.mg-text-custom > * { font-family: var(--mg-font); font-weight: var(--font-weight); font-size: var(--mg-size-m); line-height: var(--mg-line); letter-spacing: var(--mg-tracking); color: var(--mg-color); }
  .mg-announcement-custom .text-block p:empty { display: none; }
  @media (min-width: 750px) {
    .mg-announcement-custom { padding-inline: var(--mg-ann-px); padding-block: var(--padding-top) var(--padding-bottom); min-height: var(--mg-ann-height); margin-block: var(--mg-ann-mt) var(--mg-ann-mb); }
    .mg-announcement-custom .text-block.mg-text-custom > * { font-size: var(--mg-size); }
  }
/* END_SECTION:announcement-bar */

/* START_SECTION:article-body-premium (INDEX:2) */
.arte-wrap {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
  .article-rte {
    max-width: var(--arte-col, 680px);
    margin: 0 auto;
    padding: 0 20px;
    font-size: var(--arte-body-size, 16px);
    line-height: 1.75;
    color: var(--arte-text-color, #2c2c2c);
  }
  .article-rte > *:first-child { margin-top: 0; }
  .article-rte p { margin: 0 0 var(--arte-paragraph-gap); }

  /* H1 dans le contenu (souvent présent en tête d'article) : maîtrisé,
     nettement plus petit que le titre de la bannière. */
  .article-rte h1 {
    margin: 4px 0 16px;
    font-family: var(--font-heading--family, inherit);
    font-size: var(--arte-h1-size, 26px);
    font-weight: 700;
    line-height: 1.22;
    color: var(--arte-h-color, #1a1a1a);
    border-left: var(--arte-border-w, 3px) solid var(--arte-accent, #777d43);
    padding-left: 12px;
  }

  .article-rte h2 {
    margin: 32px 0 12px;
    font-family: var(--font-heading--family, inherit);
    font-size: var(--arte-h2-size, 20px);
    font-weight: 600;
    line-height: 1.3;
    color: var(--arte-h-color, #1a1a1a);
    border-left: var(--arte-border-w, 3px) solid var(--arte-accent, #777d43);
    padding-left: 12px;
  }
  .article-rte h3 {
    margin: 26px 0 10px;
    font-family: var(--font-heading--family, inherit);
    font-size: var(--arte-h3-size, 17px);
    font-weight: 600;
    line-height: 1.3;
    color: var(--arte-h-color, #1a1a1a);
  }
  .article-rte h4 {
    margin: 22px 0 8px;
    font-family: var(--font-heading--family, inherit);
    font-size: var(--arte-body-size, 16px);
    font-weight: 600;
    color: var(--arte-h-color, #1a1a1a);
  }

  .article-rte a {
    color: var(--arte-accent, #777d43);
    text-underline-offset: 2px;
  }
  .article-rte img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.2em 0;
  }

  .article-rte ol { margin: 0 0 var(--arte-paragraph-gap); padding-left: 1.4em; }
  .article-rte ol li { margin: 0 0 0.4em; }

  .article-rte ul {
    margin: 0 0 var(--arte-paragraph-gap);
    padding-left: 0;
    list-style: none;
  }
  .article-rte ul > li {
    position: relative;
    padding-left: 1.3em;
    margin: 0 0 0.4em;
  }
  .article-rte ul > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--arte-accent, #777d43);
  }

  .article-rte blockquote {
    margin: 1.5em 0;
    padding: 16px 20px;
    background: var(--arte-quote-bg, #f5f4ef);
    border-left: 4px solid var(--arte-accent, #777d43);
    border-radius: 0 8px 8px 0;
    font-style: italic;
  }
  .article-rte blockquote p:last-child { margin-bottom: 0; }

  .article-rte hr {
    border: 0;
    border-top: 1px solid #e4e1d6;
    margin: 2em 0;
  }
.article-rte table{display:block;max-width:100%;overflow-x:auto;} .article-rte iframe{max-width:100%;} @media(max-width:749px){.article-rte{font-size:var(--arte-body-size-m);}}
/* END_SECTION:article-body-premium */

/* START_SECTION:article-header-premium (INDEX:3) */
.ahp {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  /* Bannière pleine largeur */
  .ahp__banner {
    position: relative;
    width: 100%;
    aspect-ratio: var(--ahp-ratio, 2.28);
    overflow: hidden;
    background: color-mix(in srgb, var(--ahp-badge-bg) 15%, transparent);
  }
  .ahp__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .ahp__scrim {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--ahp-scrim-height, 60%);
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, var(--ahp-scrim-opacity, 0.65)) 0%,
      rgba(0, 0, 0, 0) 100%
    );
    pointer-events: none;
  }
  .ahp__banner-inner {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    padding: 0 var(--page-margin-desktop, 40px) clamp(20px, 4vw, 44px);
  }
  .ahp__banner-content {
    width: 100%;
    max-width: var(--page-width, 1300px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .ahp__badge {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 999px;
    background: var(--ahp-badge-bg, #777d43);
    color: var(--ahp-badge-text, #fff);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }
  .ahp__title {
    margin: 0;
    max-width: 20ch;
    color: var(--ahp-title-color, #fff);
    font-family: var(--font-heading--family, inherit);
    font-weight: 600;
    line-height: 1.12;
    font-size: var(--ahp-title-size, 40px);
    text-wrap: balance;
  }

  /* Ligne méta */
  .ahp__meta-wrap {
    width: 100%;
    max-width: var(--ahp-content-width, 680px);
    margin: 0 auto;
    padding: 0 20px;
  }
  .ahp__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding-top: 20px;
  }
  .ahp__author {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
  }
  .ahp__avatar {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--ahp-avatar-bg, #777d43);
    color: var(--ahp-avatar-text, #fff);
    font-family: var(--font-heading--family, inherit);
    font-size: 17px;
    font-weight: 600;
    line-height: 1;
  }
  .ahp__author-block {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }
  .ahp__author-name {
    font-weight: 600;
    color: var(--ahp-author-color, #1a1a1a);
    font-size: 14px;
  }
  .ahp__sub {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    color: var(--ahp-meta-color, #6b6b6b);
    font-size: 13px;
  }
  .ahp__dot { opacity: 0.6; }

  .ahp__share {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid var(--ahp-separator, #e4e1d6);
    border-radius: 999px;
    background: transparent;
    color: var(--ahp-accent, #777d43);
    font-family: var(--font-body--family, inherit);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
  }
  .ahp__share:hover {
    border-color: var(--ahp-accent, #777d43);
    background: color-mix(in srgb, var(--ahp-accent) 8%, transparent);
  }
  .ahp__share:focus-visible {
    outline: 2px solid var(--ahp-accent, #777d43);
    outline-offset: 2px;
  }
  .ahp__share-icon { display: inline-flex; }

  .ahp__separator {
    height: 0;
    border-top: 1px solid var(--ahp-separator, #e4e1d6);
    margin-top: 20px;
  }

  @media (max-width: 749px) {
    .ahp__banner { aspect-ratio: var(--ahp-ratio-mobile, 1.2); }
    .ahp__title { font-size: var(--ahp-title-size-mobile, 27px); }
  }

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

  .ahp--below .ahp__banner{aspect-ratio:auto;background:transparent;max-width:1200px;margin-inline:auto;overflow:visible;}
  .ahp--below .ahp__image{position:static;aspect-ratio:var(--ahp-ratio);height:auto;object-fit:cover;border-radius:var(--ahp-radius);}
  .ahp--below .ahp__scrim{display:none;}
  .ahp--below .ahp__banner-inner{position:static;padding:32px 20px 16px;}
  .ahp--below .ahp__banner-content{max-width:var(--ahp-content-width);margin-inline:auto;}
  .ahp--below .ahp__title{max-width:none;overflow-wrap:anywhere;}
  @media(max-width:749px){.ahp--below .ahp__image{height:var(--ahp-mobile-height);aspect-ratio:auto;}.ahp--below .ahp__banner-inner{padding-top:24px;}}
/* END_SECTION:article-header-premium */

/* START_SECTION:article-related-premium (INDEX:4) */
.arel {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
  .arel__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }
  .arel__title {
    margin: 0 0 24px;
    font-family: var(--font-heading--family, inherit);
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;
    color: var(--arel-title-color, #1a1a1a);
  }
/* END_SECTION:article-related-premium */

/* START_SECTION:avis-clients (INDEX:5) */
.ac-wrap {
    background: var(--ac-bg);
    padding-top: var(--ac-padding-top);
    padding-bottom: var(--ac-padding-bottom);
  }

  .ac-inner {
    max-width: var(--ac-max-width);
    margin: 0 auto;
    padding: 0 24px;
  }

  .ac-header {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
  }

  .ac-header--center { align-items: center; text-align: center; }
  .ac-header--left { align-items: flex-start; text-align: left; }

  .ac-title {
    font-size: var(--ac-title-size);
    font-weight: var(--ac-title-weight);
    color: var(--ac-title-color);
    margin: 0;
  }

  .ac-title--uppercase { text-transform: uppercase; }

  .ac-subtitle {
    font-size: var(--ac-subtitle-size);
    color: var(--ac-subtitle-color);
    margin: 0;
  }

  .ac-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 6px;
  }

  .ac-rating__stars {
    position: relative;
    display: inline-block;
    font-size: var(--ac-rating-star-size, 18px);
    line-height: 1;
  }

  /* Habillage "carré" (CORRECTIF #6 bis) : cf. assets/avis-cards.css, dupliqué
     ici volontairement pour cette section (voir commentaire en tête de fichier).
     Taille, espacement, forme, couleur et décalage personnalisables via le
     réglage "Personnaliser les étoiles ici" (voir schema), avec repli sur
     l'identité visuelle globale du thème sinon. */
  .ac-rating__stars-empty,
  .ac-rating__stars-filled {
    display: flex;
    gap: var(--ac-rating-star-gap, 3px);
  }

  .ac-rating__star-tile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    flex: none;
    border-radius: var(--rating-star-tile-radius, 18%);
    color: var(--review-glyph-color, #FFFFFF);
    font-size: 0.55em;
    transform: translate(var(--rating-star-offset-x, 0px), var(--rating-star-offset-y, 0px));
  }

  .ac-rating__stars-empty .ac-rating__star-tile {
    background-color: var(--ac-star-empty, var(--rating-star-color-empty, #DCDCE6));
  }

  .ac-rating__stars-filled {
    position: absolute;
    top: 0;
    left: 0;
    width: var(--ac-fill);
    overflow: hidden;
    white-space: nowrap;
  }

  .ac-rating__stars-filled .ac-rating__star-tile {
    background-color: var(--review-tile-filled, var(--ac-star-filled, var(--rating-star-color, #00B67A)));
  }

  .ac-rating__value {
    font-size: 1.5em;
    font-weight: 700;
    color: var(--review-score-color, #252820);
  }

  .ac-rating__count {
    color: var(--review-score-color, #252820);
    font-size: 14px;
  }

  /* CORRECTIF #13 : texte optionnel entre la note et le badge "Avis vérifiés".
     Hérite de la typographie du corps (aucune font-family imposée, comme
     .ac-rating__count ci-dessus) ; taille et couleur réglables. */
  .ac-rating__after {
    font-size: var(--ac-after-rating-size, 14px);
    color: var(--ac-after-rating-color, #6b6b6b);
  }

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

  .ac-toolbar {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 24px;
  }

  .ac-toolbar--hide-mobile {
    display: none;
  }
  @media (width >= 750px) {
    .ac-toolbar--hide-mobile { display: flex; }
  }

  .ac-search__input,
  .ac-filter__select {
    background: var(--ac-field-bg);
    color: var(--ac-field-color);
    border: 1px solid var(--ac-field-border);
    border-radius: var(--ac-field-radius);
    padding: 10px 16px;
    font-size: 14px;
    min-width: 200px;
  }

  .ac-carousel {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .ac-track {
    display: flex;
    align-items: flex-start;
    gap: var(--ac-card-gap);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    flex: 1;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }

  .ac-track:focus-visible {
    outline: 2px solid var(--ac-arrow-color);
    outline-offset: 4px;
  }

  .ac-card {
    scroll-snap-align: start;
    flex: 0 0 calc((100% - (var(--ac-cards-visible) - 1) * var(--ac-card-gap)) / var(--ac-cards-visible));
    background: var(--ac-card-bg);
    border-radius: var(--ac-card-radius);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-sizing: border-box;
  }

  @media (width < 750px) {
    .ac-card {
      flex-basis: calc((100% - (var(--ac-cards-visible-mobile) - 1) * var(--ac-card-gap)) / var(--ac-cards-visible-mobile));
    }
  }

  .ac-card[hidden] { display: none; }

  /* Photo client (optionnelle) : hors flux si absente — la carte garde
     exactement la même mise en page qu'un avis sans photo, sans espace
     réservé (le gap de la carte ne s'applique qu'entre éléments présents). */
  .ac-card__photo {
    align-self: flex-start;
    display: block;
    width: var(--ac-photo-size);
    height: var(--ac-photo-size);
    padding: 0;
    margin: 0;
    border: none;
    border-radius: var(--ac-field-radius);
    overflow: hidden;
    cursor: pointer;
    flex-shrink: 0;
    /* 44x44 minimum tactile même si la taille réglée est plus petite */
    min-width: 44px;
    min-height: 44px;
  }

  .ac-card__photo:focus-visible {
    outline: 2px solid var(--ac-arrow-color);
    outline-offset: 2px;
  }

  .ac-card__photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 200ms ease;
  }

  .ac-card__photo:hover .ac-card__photo-img {
    transform: scale(1.06);
  }

  .ac-card__tag {
    align-self: flex-start;
    font-size: 12px;
    padding: 4px 12px;
    border-radius: var(--ac-field-radius);
    background: var(--ac-tag-bg);
    color: var(--ac-tag-color);
  }

  .ac-card__stars {
    display: flex;
    align-items: center;
    font-size: 15px;
    gap: 2px;
  }
  .ac-star {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    flex: none;
    border-radius: var(--rating-star-tile-radius, 18%);
    color: var(--review-glyph-color, #FFFFFF);
    font-size: 0.75em;
    background-color: var(--ac-star-empty, var(--rating-star-color-empty, #DCDCE6));
  }
  .ac-star--filled { background-color: var(--review-tile-filled, var(--ac-star-filled, var(--rating-star-color, #00B67A))); }

  .ac-card__text {
    font-size: var(--ac-review-size);
    color: var(--ac-review-color);
    line-height: 1.55;
    margin: 0;
  }

  .ac-card__attribute {
    font-size: 12px;
    font-weight: 600;
    color: var(--ac-review-color);
    opacity: 0.7;
  }

  .ac-card__footer {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-top: 4px;
  }

  .ac-card__name {
    font-size: var(--ac-name-size);
    font-weight: 700;
    color: var(--ac-name-color);
  }

  .ac-card__date {
    font-size: 12px;
    color: var(--ac-review-color);
    opacity: 0.6;
  }

  .ac-arrow {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--ac-field-border);
    background: transparent;
    color: var(--ac-arrow-color);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
  }

  .ac-arrow:hover {
    background: var(--ac-arrow-color);
    color: var(--ac-card-bg);
  }

  .ac-no-results {
    text-align: center;
    color: var(--ac-review-color);
    padding: 32px 0 0;
  }

  /* Lightbox photo — fondu court (150-200ms), désactivé si l'utilisateur
     préfère les animations réduites. <dialog> natif : Échap et le piège de
     focus sont gérés par le navigateur : voir le script pour la fermeture
     au clic extérieur et le retour de focus. */
  .ac-lightbox {
    position: relative;
    border: none;
    padding: 0;
    background: transparent;
    max-width: min(92vw, 900px);
    max-height: 90vh;
    margin: auto;
    opacity: 0;
    transition: opacity 180ms ease;
  }

  .ac-lightbox.is-visible {
    opacity: 1;
  }

  .ac-lightbox::backdrop {
    background: rgba(0, 0, 0, 0.72);
    opacity: 0;
    transition: opacity 180ms ease;
  }

  .ac-lightbox.is-visible::backdrop {
    opacity: 1;
  }

  .ac-lightbox__img {
    display: block;
    max-width: 100%;
    max-height: 90vh;
    border-radius: var(--ac-card-radius);
    object-fit: contain;
  }

  .ac-lightbox__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.92);
    border: none;
    border-radius: 50%;
    color: #1a1a1a;
    cursor: pointer;
  }

  .ac-lightbox__close:hover {
    background: #ffffff;
  }

  .ac-lightbox__close:focus-visible {
    outline: 2px solid var(--ac-arrow-color);
    outline-offset: 2px;
  }

  @media (prefers-reduced-motion: reduce) {
    .ac-track { scroll-behavior: auto; }

    .ac-card__photo-img { transition: none; }
    .ac-card__photo:hover .ac-card__photo-img { transform: none; }

    .ac-lightbox,
    .ac-lightbox::backdrop {
      transition: none;
    }
  }
/* END_SECTION:avis-clients */

/* START_SECTION:avis-section-complete-produit (INDEX:6) */
.asc-wrap {
    background: var(--ac-section-bg, transparent);
  }

  .asc-inner {
    max-width: var(--ac-max-width, 900px);
    margin: 0 auto;
    padding: 0 24px;
  }

  .asc-title {
    color: var(--ac-title-color, inherit);
    margin: 0 0 12px;
  }

  .asc-wrap .ac-rating {
    margin-bottom: 28px;
  }

  .ac-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ac-card-gap, 16px);
  }

  .ac-list--2col {
    grid-template-columns: 1fr 1fr;
  }

  @media (width < 700px) {
    .ac-list--2col {
      grid-template-columns: 1fr;
    }
  }
/* END_SECTION:avis-section-complete-produit */

/* START_SECTION:barre-defilante (INDEX:7) */
.mq-wrap {
    background: var(--mq-bg);
    min-height: var(--mq-height);
    overflow: hidden;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    border-top: var(--mq-border-width) solid var(--mq-border-color);
    border-bottom: var(--mq-border-width) solid var(--mq-border-color);
  }

  .mq-wrap--hide-mobile {
    display: none;
  }

  @media (width >= 750px) {
    .mq-wrap--hide-mobile {
      display: flex;
    }
  }

  .mq-inner {
    width: 100%;
    padding-top: var(--mq-padding-y);
    padding-bottom: var(--mq-padding-y);
    overflow: hidden;
  }

  .mq-wrap--contained .mq-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
  }

  .mq-track {
    display: flex;
    align-items: center;
    width: max-content;
    animation-name: mq-scroll;
    animation-duration: var(--mq-duration);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: var(--mq-anim-direction);
    will-change: transform;
  }

  @media (width < 750px) {
    .mq-track {
      animation-duration: var(--mq-duration-mobile);
    }
  }

  .mq-wrap:hover .mq-track[data-mq-pause-hover] {
    animation-play-state: paused;
  }

  .mq-group {
    display: flex;
    align-items: center;
    flex-shrink: 0;
  }

  .mq-item {
    display: inline-block;
    font-size: var(--mq-font-size);
    font-weight: var(--mq-font-weight);
    letter-spacing: var(--mq-letter-spacing);
    color: var(--mq-text-color);
    white-space: nowrap;
    padding: 0 var(--mq-gap);
    line-height: 1.2;
  }

  .mq-separator {
    display: inline-block;
    color: var(--mq-separator-color);
    font-size: var(--mq-font-size);
    flex-shrink: 0;
    line-height: 1.2;
  }

  .mq-track {
    --mq-translate-pct: 50;
  }

  @keyframes mq-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(calc(var(--mq-translate-pct) * -1%)); }
  }

  @media (prefers-reduced-motion: reduce) {
    .mq-track {
      animation: none;
      transform: none;
    }
    .mq-inner {
      display: flex;
      justify-content: center;
    }
    .mq-group[aria-hidden="true"] {
      display: none;
    }
  }
/* END_SECTION:barre-defilante */

/* START_SECTION:blog-featured (INDEX:8) */
.blog-featured {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .blog-featured__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .blog-featured__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .blog-featured__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:blog-featured */

/* START_SECTION:blog-guide-conservation (INDEX:9) */
.bgc-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .bgc-inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .bgc-header {
    margin-bottom: 30px;
  }

  .bgc-header__title {
    margin: 0 0 8px;
    font-size: var(--h3-font-size, 1.75rem);
    line-height: 1.2;
  }

  .bgc-header__subtitle {
    max-width: 760px;
  }

  .bgc-header__subtitle > :first-child { margin-top: 0; }
  .bgc-header__subtitle > :last-child { margin-bottom: 0; }

  /* Carte : largeur pilotée par le slide Splide (perPage), jamais une largeur
     absolue — c'est ce qui provoquait le chevauchement en tablette/mobile
     quand la piste ÷ nb de cartes devenait plus étroite que la carte fixe. */
  .bgc-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
    height: 100%;
  }

  .bgc-card * {
    box-sizing: border-box;
  }

  .bgc-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--bgc-card-radius);
    transition: transform var(--bgc-transition-speed) ease;
  }

  .bgc-section[data-elevation-enabled="true"] .bgc-card:hover .bgc-card__media {
    transform: translateY(calc(var(--bgc-elevation) * -1));
  }

  .bgc-ratio--square { aspect-ratio: 1 / 1; }
  .bgc-ratio--landscape { aspect-ratio: 4 / 3; }
  .bgc-ratio--portrait { aspect-ratio: 3 / 4; }

  .bgc-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--bgc-transition-speed) ease;
  }

  .bgc-card__image--placeholder {
    background: color-mix(in srgb, var(--bgc-arrow-bg) 15%, transparent);
  }

  .bgc-section[data-zoom-enabled="true"] .bgc-card:hover .bgc-card__image {
    transform: scale(var(--bgc-zoom-scale));
  }

  .bgc-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--bgc-badge-bg);
    color: var(--bgc-badge-text);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .bgc-card__body {
    padding: 14px 4px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .bgc-card__title {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
  }

  .bgc-card__excerpt {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    opacity: 0.85;
  }

  .bgc-card__meta {
    margin-top: 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 13px;
    opacity: 0.7;
  }

  .bgc-card__author {
    font-style: italic;
  }

  .bgc-empty {
    opacity: 0.7;
  }

  /* Bouton « Voir tous les articles » */
  .bgc-viewall {
    margin-top: 28px;
    display: flex;
    justify-content: center;
  }

  .bgc-viewall__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    border-radius: 999px;
    border: 1.5px solid var(--bgc-arrow-bg);
    color: var(--bgc-arrow-bg);
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background var(--bgc-transition-speed) ease, color var(--bgc-transition-speed) ease;
  }

  .bgc-viewall__link:hover {
    background: var(--bgc-arrow-bg);
    color: var(--bgc-arrow-icon);
  }

  .bgc-viewall__link:focus-visible {
    outline: 2px solid var(--bgc-arrow-bg);
    outline-offset: 3px;
  }

  .bgc-viewall__link .icon {
    width: 15px;
    height: 15px;
  }

  @media (prefers-reduced-motion: reduce) {
    .bgc-card__media,
    .bgc-card__image {
      transition: none !important;
      transform: none !important;
    }
    .bgc-viewall__link {
      transition: none;
    }
  }

  /* Flèches et pagination olive : scopées à cette section uniquement. */
  .bgc-section .splide__arrow {
    background: var(--bgc-arrow-bg);
    border: none;
  }

  .bgc-section .splide__arrow .icon--arrow_back,
  .bgc-section .splide__arrow .icon--arrow_forward {
    color: var(--bgc-arrow-icon);
  }

  .bgc-section .splide__pagination__page {
    background: var(--bgc-pagination-inactive);
    opacity: 1;
  }

  .bgc-section .splide__pagination__page.is-active {
    background: var(--bgc-pagination-active);
    opacity: 1;
  }
/* END_SECTION:blog-guide-conservation */

/* START_SECTION:blog-listing-premium (INDEX:10) */
.blp-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .blp-inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .blp-content {
    max-width: var(--blp-max-width);
    margin-inline: auto;
  }

  /* ---------- En-tête ---------- */
  .blp-header {
    max-width: 760px;
    margin-bottom: 28px;
  }

  /* La typographie du sur-titre vient de la classe globale .eyebrow
     (css-variables.liquid) — on ne gère ici que l'espacement. */
  .blp-eyebrow {
    margin: 0 0 10px;
  }

  .blp-title {
    margin: 0 0 12px;
  }

  .blp-intro {
    color: var(--blp-intro-color);
  }

  .blp-intro > :first-child { margin-top: 0; }
  .blp-intro > :last-child { margin-bottom: 0; }

  /* ---------- Pills de filtrage ---------- */
  .blp-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px;
  }

  .blp-pill {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    background: var(--blp-pill-inactive-bg);
    color: var(--blp-pill-inactive-text);
    border: var(--blp-pill-border-width) solid var(--blp-pill-inactive-border);
    transition: background-color var(--blp-transition-speed) ease, color var(--blp-transition-speed) ease, border-color var(--blp-transition-speed) ease;
  }

  .blp-pill:hover {
    border-color: var(--blp-pill-active-bg);
    color: var(--blp-pill-active-bg);
  }

  .blp-pill.is-active {
    background: var(--blp-pill-active-bg);
    color: var(--blp-pill-active-text);
    border-color: var(--blp-pill-active-bg);
  }

  .blp-pill:focus-visible {
    outline: 2px solid var(--blp-pill-active-bg);
    outline-offset: 2px;
  }

  /* ---------- Grille ---------- */
  .blp-grid {
    display: grid;
    grid-template-columns: repeat(var(--blp-cols-mobile), minmax(0, 1fr));
    gap: var(--blp-card-gap);
  }

  @media (min-width: 750px) {
    .blp-grid {
      grid-template-columns: repeat(var(--blp-cols-tablet), minmax(0, 1fr));
    }
  }

  @media (min-width: 990px) {
    .blp-grid {
      grid-template-columns: repeat(var(--blp-cols), minmax(0, 1fr));
    }
  }

  /* ---------- Carte ---------- */
  .blp-card {
    display: flex;
    flex-direction: column;
    background: var(--blp-card-bg);
    border: var(--blp-card-border-width) solid var(--blp-card-border);
    border-radius: var(--blp-card-radius);
    overflow: hidden;
    transition: transform var(--blp-transition-speed) ease, border-color var(--blp-transition-speed) ease;
  }

  .blp-section[data-elevation-enabled="true"] .blp-card:hover,
  .blp-section[data-elevation-enabled="true"] .blp-card:focus-within {
    transform: translateY(calc(var(--blp-elevation) * -1));
    border-color: var(--blp-card-border-hover);
  }

  .blp-card__media {
    position: relative;
    display: block;
    overflow: hidden;
  }

  .blp-ratio--square { aspect-ratio: 1 / 1; }
  .blp-ratio--landscape { aspect-ratio: 4 / 3; }
  .blp-ratio--portrait { aspect-ratio: 3 / 4; }

  .blp-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--blp-transition-speed) ease;
  }

  .blp-card__image--placeholder {
    background: color-mix(in srgb, var(--blp-badge-bg) 15%, transparent);
  }

  .blp-section[data-zoom-enabled="true"] .blp-card:hover .blp-card__image,
  .blp-section[data-zoom-enabled="true"] .blp-card:focus-within .blp-card__image {
    transform: scale(var(--blp-zoom-scale));
  }

  .blp-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--blp-badge-bg);
    color: var(--blp-badge-text);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .blp-card__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    padding: 14px 16px 16px;
  }

  .blp-card__title {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
  }

  .blp-card__title-link {
    color: var(--blp-title-color);
    text-decoration: none;
  }

  .blp-card__title-link:hover {
    text-decoration: underline;
  }

  .blp-card__excerpt {
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
    color: var(--blp-excerpt-color);
  }

  .blp-card__divider {
    height: 0;
    border-top: var(--blp-card-border-width) solid var(--blp-card-border);
    margin: 6px 0 2px;
  }

  .blp-card__footer {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .blp-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 10px;
    font-size: 12px;
    color: var(--blp-meta-color);
  }

  .blp-card__author {
    font-style: italic;
  }

  .blp-card__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    color: var(--blp-link-color);
  }

  .blp-card__link:hover {
    text-decoration: underline;
  }

  .blp-card__link:focus-visible {
    outline: 2px solid var(--blp-link-color);
    outline-offset: 2px;
    border-radius: 4px;
  }

  .blp-card__link-arrow {
    transition: transform var(--blp-transition-speed) ease;
  }

  .blp-card:hover .blp-card__link-arrow {
    transform: translateX(3px);
  }

  .blp-empty {
    opacity: 0.7;
    padding: 20px 0;
  }

  /* ---------- Pagination (restylée, scopée à cette section) ---------- */
  .blp-pagination {
    margin-top: 12px;
  }

  .blp-section .pagination__item--current {
    background: var(--blp-pagination-active);
    border-color: var(--blp-pagination-active);
    color: #fff;
  }

  .blp-section .splide__pagination__page.is-active {
    background: var(--blp-pagination-active);
  }

  .blp-section .splide__pagination__page {
    background: var(--blp-pagination-inactive);
  }

  /* ---------- Accessibilité mouvement ---------- */
  @media (prefers-reduced-motion: reduce) {
    .blp-card,
    .blp-card__image,
    .blp-card__link-arrow,
    .blp-pill {
      transition: none !important;
      transform: none !important;
    }
  }

  .blp-featured{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center;margin-block:32px 40px;}
  .blp-featured__image{display:block;overflow:hidden;border-radius:var(--blp-card-radius);}
  .blp-featured__image img{display:block;width:100%;height:100%;aspect-ratio:var(--blp-featured-ratio,1.8);object-fit:cover;}
  .blp-featured__copy h2{font-size:clamp(26px,3vw,36px);margin:12px 0;}
  .blp-featured__copy a{color:var(--blp-title-color);text-decoration:none;}
  .blp-featured__copy p{color:var(--blp-intro-color);}
  .blp-all-title{font-size:28px;margin:32px 0 24px;}
  .blp-equipment{margin-top:48px;border-top:1px solid var(--blp-card-border);padding-top:24px;}
  @media(max-width:749px){.blp-featured{grid-template-columns:1fr;gap:18px;margin-block:24px;}.blp-pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;}.blp-pill{flex-shrink:0;min-height:44px;display:inline-flex;align-items:center;}.blp-equipment .blp-pills{flex-wrap:wrap;}}
/* END_SECTION:blog-listing-premium */

/* START_SECTION:breadcrumbs (INDEX:11) */
.breadcrumbs {
    padding-top: var(--padding-md);
    padding-bottom: var(--padding-md);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .breadcrumbs__list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--gap-xs);
  }

  .breadcrumbs__item {
    display: flex;
    font-size: var(--font-body--size);
    flex-direction: row;
    align-items: center;
    gap: var(--gap-xs);
  }

  .breadcrumbs__item:not(:last-child):after {
    content: '';
    display: inline-block;
    position: relative;
    vertical-align: middle;
  }

  .breadcrumbs--triangle .breadcrumbs__item:not(:last-child):after {
    border-style: solid;
    border-width: 0.1em 0.1em 0 0;
    height: 0.35em;
    width: 0.35em;
    transform: rotate(45deg);
  }

  .breadcrumbs--slash .breadcrumbs__item:not(:last-child):after {
    content: '/';
  }

  .breadcrumbs__link {
    cursor: pointer;
    display: inline-block;
    border: none;
    box-shadow: none;
    text-decoration: none;
    text-underline-offset: 0.3rem;
    transition: var(--animation-link-hover);
  }

  .breadcrumbs__link:hover {
    opacity: var(--opacity-link-hover);
  }
/* END_SECTION:breadcrumbs */

/* START_SECTION:cart-drawer (INDEX:12) */
:root {
    --cart-item-image-width: 80px;
  }

  cart-drawer {
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    background: rgba(var(--color-shadow));
    opacity: 0;
    visibility: hidden;
    -webkit-backdrop-filter: brightness(1);
    backdrop-filter: brightness(1);
    transition: opacity var(--animation-speed) var(--animation-easing), visibility var(--animation-speed) var(--animation-easing);
  }

  cart-drawer.is-open {
    opacity: 1;
    visibility: visible;
    -webkit-backdrop-filter: brightness(0.75);
    backdrop-filter: brightness(0.75);
    transition: opacity var(--animation-speed) var(--animation-easing), visibility var(--animation-speed) var(--animation-easing),
      -webkit-backdrop-filter var(--animation-speed) var(--animation-easing), backdrop-filter var(--animation-speed) var(--animation-easing);
  }

  cart-drawer.is-open .cart-drawer__inner {
    animation: modalSlideInRight var(--animation-speed) var(--animation-easing) forwards;
  }

  cart-drawer.is-closing .cart-drawer__inner {
    animation: modalSlideOutRight var(--animation-speed) var(--animation-easing) forwards;
  }

  .cart-drawer__inner {
    height: 100%;
    width: var(--cart-drawer-width);
    max-width: calc(100vw - 30px);
    padding: 0 var(--padding-md);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    background-color: var(--color-background);
    color: var(--color-foreground);
    box-shadow: var(--modal-shadow);
  }

  @media (width <= 750px) {
    .cart-drawer__inner.cart-drawer--full-width-on-mobile {
      width: 100%;
      max-width: 100%;
    }
  }

  @media (width <= 350px) {
    .cart-drawer__inner {
      width: 100%;
    }
  }

  .cart-drawer .splide:not(.is-overflow) .splide__pagination {
    display: flex;
  }

  .cart-drawer .slider-block--with-pagination {
    padding-bottom: var(--margin-md);
  }

  .cart-drawer .splide__pagination {
    bottom: calc(-1 * var(--margin-md));
  }

  .cart-drawer--floating {
    margin: 15px;
    height: calc(100% - 30px);
  }

  .cart-drawer--rounded.card {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .cart-drawer__inner-empty {
    height: 100%;
    padding: 0 var(--padding-sm);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--gap-lg);
  }

  .cart-drawer__inner-empty > p {
    text-align: center;
  }

  .cart-drawer__inner-empty .cart-drawer__close {
    right: var(--padding-sm);
    position: absolute;
    top: var(--padding-sm);
  }

  @media screen and (max-width: 350px) {
    .cart-drawer__inner {
      max-width: calc(100vw - 10px);
    }

    .cart-drawer--floating {
      margin: 5px;
      height: calc(100% - 10px);
    }
  }

  /* Cart Drawer Empty State */

  .cart-drawer--empty .cart-drawer__header,
  .cart-drawer--empty .cart-drawer__body,
  .cart-drawer--empty .cart-drawer__footer {
    display: none;
  }

  cart-drawer:not(.cart-drawer--empty) .cart-drawer__inner-empty {
    display: none;
  }

  /* Cart Drawer Header */

  .cart-drawer__header {
    position: relative;
    padding: var(--padding-md);
    border-bottom: var(--separator-border-width) solid var(--color-border);
    margin-left: calc(-1 * var(--padding-md));
    width: calc(100% + (2 * var(--padding-md)));
  }

  .cart-drawer__header_title {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .cart-drawer__header h2 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
    color: rgb(var(--color-foreground));
  }

  .cart-drawer__close {
    display: inline-block;
    padding: 0;
    color: rgb(var(--color-foreground));
    background-color: transparent;
    border: none;
    cursor: pointer;
    height: 24px;
  }

  /* Cart Drawer Content */

  .cart-drawer__items {
    display: flex;
    flex-direction: column;
  }

  /* Les lignes cadeau (0 €) sont toujours repoussees sous les produits achetes */
  .cart-drawer__item--gift {
    order: 1;
  }

  .cart-drawer__items--disabled {
    pointer-events: none;
  }

  /* Cart Drawer Footer */

  .cart-drawer__footer {
    border-top: var(--separator-border-width) solid var(--color-border);
    padding: var(--padding-md);
    position: sticky;
    bottom: 0;
    background-color: var(--color-background);
    width: calc(100% + (2 * var(--padding-md)));
    margin-left: calc(-1 * var(--padding-md));
  }

  .cart-drawer__footer > *:not(:last-child) {
    margin-bottom: var(--padding-sm);
  }

  .cart-drawer__footer .accordion__header {
    padding: 0;
  }

  .cart-drawer__footer .accordion__content {
    padding: var(--padding-sm) 0;
  }

  /* Totals */

  .cart-drawer__totals,
  .cart-drawer__reductions {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-content: space-between;
  }

  .cart-drawer__totals > * {
    color: rgb(var(--color-foreground));
    margin: 0;
    line-height: 1;
  }

  .cart-drawer__reductions p,
  .cart-drawer__totals p {
    font-weight: 500;
    margin: 0;
    line-height: normal;
  }

  .cart-drawer__reductions p,
  .cart-drawer__totals p,
  .cart-drawer__reductions-value,
  .cart-drawer__totals-value {
    font-size: var(--font-body--size-emphasized);
  }

  /* CTAs */

  .cart-drawer__ctas {
    text-align: center;
    display: flex;
    gap: 10px;
  }

  .cart-drawer__ctas button {
    width: 100%;
  }

  /* Items */

  .cart-drawer__body {
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
    padding-right: calc(var(--padding-sm) / 2);
    margin-right: calc(-1 * (var(--padding-sm) / 2));
    padding-top: var(--padding-md);
  }

  .cart-item__error {
    display: flex;
    align-items: flex-start;
    width: min-content;
    min-width: 100%;
  }

  .cart-drawer__body::-webkit-scrollbar {
    width: 3px;
  }

  /* Item */

  .cart-drawer__item {
    background-color: var(--color-background);
    color: var(--color-foreground);
    margin-bottom: var(--margin-lg);
    display: flex;
    gap: var(--gap-sm);
    align-items: flex-start;
    max-width: 100%;
  }

  .cart-drawer__item--loading {
    opacity: 0.5;
    pointer-events: none;
  }

  .cart-drawer__item:last-child {
    margin-bottom: var(--padding-sm);
  }

  .cart-drawer__item > a {
    display: flex;
    align-items: center;
  }

  .cart-drawer__item img {
    width: var(--cart-item-image-width);
    object-fit: cover;
    background-color: white;
    max-width: fit-content;
    border-radius: calc(var(--card-border-radius) - var(--padding-sm));
  }

  .cart-drawer__item.card {
    padding: var(--padding-sm);

    img {
      border-radius: calc(var(--card-border-radius) - var(--padding-sm));
    }
  }

  .cart-drawer__item-options,
  .cart-drawer__item-options p {
    line-height: normal;
    font-size: var(--font-body--size-small);
    word-break: break-word;
    color: rgba(var(--color-foreground), 0.8);
  }

  .cart-drawer__item-options .cart-drawer__item-option:not(:last-child) {
    margin-bottom: var(--padding-xs);
  }

  .cart-drawer__item-option {
    margin: 0;
  }

  .cart-drawer__item-content {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 5px;
  }

  .cart-drawer__item-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
    min-height: var(--cart-item-image-width);
    gap: var(--gap-sm);
  }

  .cart-drawer__item-name {
    text-decoration: none;
    display: block;
    width: calc(100% + 60px);
    font-size: var(--font-body--size);
    color: rgb(var(--color-foreground));
    font-weight: 500;
    line-height: normal;
    margin-bottom: 0;
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }

  .cart-drawer__item-prices {
    position: relative;
    width: 100%;
  }

  .cart-drawer__item-prices.loading {
    width: max-content;
  }

  .cart-drawer__item-price {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    font-size: var(--font-body--size-small);
    color: rgb(var(--color-foreground));
  }

  .cart-drawer__item-price > * {
    display: block;
    margin: 0;
    padding: 0;
    line-height: normal;
  }

  .cart-drawer__item-discounted-prices {
    display: flex;
    align-self: center;
    gap: 6px;
    line-height: normal;
  }

  .cart-drawer__item-compare-price {
    opacity: 0.7;
  }

  .cart-drawer__item--no-remove-button .cart-drawer__item-actions-wrapper {
    justify-content: flex-end;
  }

  .cart-drawer__item--no-remove-button .cart-drawer__item-name {
    width: calc(100% + var(--cart-item-image-width));
  }

  @media screen and (max-width: 350px) {
    .cart-drawer__item--no-remove-button .cart-drawer__item-name {
      width: calc(100% + 75px);
    }
  }

  @media screen and (max-width: 350px) {
    .cart-drawer__item img {
      width: var(--cart-item-image-width);
      max-height: calc(var(--cart-item-image-width) * 1.2);
    }

    .cart-drawer__item-content {
      gap: 5px;
    }

    .cart-drawer__item-wrapper {
      min-height: calc(var(--cart-item-image-width) * 1.2);
    }
    .cart-drawer__item-name {
      width: calc(100% + 50px);
    }

    .cart-drawer__item-prices {
      width: 100%;
    }
  }

  /* Quantity & Remove Button */

  .cart-drawer__item-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .cart-drawer__item-actions-wrapper {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: column;
    height: 100%;
    gap: 5px;
  }

  @media screen and (max-width: 749px) {
    .cart-drawer__item-actions-wrapper {
      flex-wrap: wrap;
    }
  }

  /* Discounts */

  .cart-drawer__discounts {
    margin-bottom: 0;
  }

  .cart-drawer__discount {
    margin-bottom: var(--padding-sm);
  }

  .cart-drawer__item-discounts,
  .cart-drawer__discounts {
    font-size: 12px;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }

  .cart-drawer__item-discount,
  .cart-drawer__discount {
    min-width: max-content;
    gap: var(--gap-xs);
  }

  .cart-drawer__item-discount .icon {
    font-size: 14px !important;
  }

  .icon-discount {
    color: rgb(var(--color-foreground));
    width: 12px;
    height: 12px;
    margin-right: 7px;
  }

  .cart-drawer__item-discount span {
    max-width: 70px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  @media screen and (max-width: 750px) {
    .cart-drawer__discounts {
      overflow: scroll;
      flex-wrap: nowrap;
    }

    .cart-drawer__discounts::-webkit-scrollbar {
      height: 3px;
    }
  }

  /* ============================================================
     PREMIUM — Mieux Gardé (couche additive, ne casse pas le natif)
     ============================================================ */

  /* Header : titre entièrement pilotable depuis le personnalisateur */
  .cart-drawer__title-group {
    min-width: 0;
  }
  .cart-drawer__header_title .h6 {
    font-size: var(--mg-cart-title-size, 1.05rem);
    font-weight: var(--mg-cart-title-weight, 600);
    letter-spacing: var(--mg-cart-title-spacing, -0.01em);
    text-transform: var(--mg-cart-title-transform, none);
    color: var(--mg-cart-title-color, rgb(var(--color-foreground)));
    line-height: 1.15;
    margin: 0;
  }
  .cart-drawer__subtitle {
    margin: 0 0 2px;
    font-size: var(--mg-cart-subtitle-size, var(--font-body--size-small));
    font-weight: var(--mg-cart-subtitle-weight, 400);
    letter-spacing: var(--mg-cart-subtitle-spacing, 0);
    text-transform: var(--mg-cart-subtitle-transform, none);
    line-height: 1.25;
    color: var(--mg-cart-subtitle-color, rgb(from var(--color-foreground) r g b / 62%));
  }

  .cart-drawer__close {
    transition: opacity var(--animation-speed) var(--animation-easing);
  }
  .cart-drawer__close:hover { opacity: var(--opacity-link-hover); }
  .cart-drawer__close:focus-visible {
    outline: 2px solid var(--color-primary-button-background);
    outline-offset: 2px;
    border-radius: 4px;
  }

  /* Bandeau « Livraison offerte » — toujours vrai (sans minimum) */
  .cart-drawer__shipping-highlight {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: var(--padding-sm);
    padding: 9px 12px;
    background: rgb(from var(--color-primary-button-background) r g b / 10%);
    color: rgb(var(--color-foreground));
    border-radius: 10px;
    font-size: var(--font-body--size-small);
    font-weight: 600;
    line-height: 1.2;
  }
  .cart-drawer__shipping-highlight .icon {
    font-size: 18px !important;
    color: var(--color-primary-button-background);
    flex: 0 0 auto;
  }

  /* Item : séparateurs discrets pour un rendu plus « posé » */
  .cart-drawer__item {
    padding-bottom: var(--margin-lg);
    border-bottom: var(--separator-border-width) solid rgb(from var(--color-foreground) r g b / 8%);
    margin-bottom: var(--margin-lg);
  }
  .cart-drawer__item:last-child {
    border-bottom: none;
  }
  .cart-drawer__item img {
    box-shadow: 0 1px 3px rgb(from var(--color-foreground) r g b / 8%);
  }

.mg-cart-gift-qty{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#636c52}.mg-cart-eta{font-size:12px;line-height:1.5;color:#454d30;margin:8px 0}.mg-cart-eta p{margin:0}.mg-cart-eta [hidden]{display:none!important}
  /* Cadeau / Offert */
  .cart-drawer__item-gift {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
  }
  .cart-drawer__item-gift-was {
    opacity: 0.5;
    font-size: 0.8rem;
  }
  .cart-drawer__item-gift-label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--mg-gift, #B4472E);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 0.85rem;
    line-height: 1;
  }
  .cart-drawer__item-gift-label .icon {
    font-size: 16px !important;
    color: var(--mg-gift, #B4472E);
  }

  /* Ligne de réassurance premium — icônes olive fines + sous-textes (Volet A) */
  .cart-drawer__trust {
    list-style: none;
    margin: 0;
    padding: var(--padding-md) 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    border-top: 1px solid var(--color-border);
  }
  .cart-drawer__trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
    flex: 1 1 0;
    min-width: 0;
  }
  .cart-drawer__trust-badge {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgb(from var(--color-primary-button-background) r g b / 12%);
    color: var(--color-primary-button-background);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
  }
  .cart-drawer__trust-badge svg {
    width: 55%;
    height: 55%;
  }
  .cart-drawer__trust-title {
    font-size: var(--mg-cart-trust-title-size, 12px);
    font-weight: 600;
    line-height: 1.2;
    color: rgb(var(--color-foreground));
  }
  .cart-drawer__trust-sub {
    font-size: var(--mg-cart-trust-sub-size, 10.5px);
    line-height: 1.2;
    color: rgb(from var(--color-foreground) r g b / 60%);
  }

  /* CTA checkout premium */
  .cart-drawer__ctas .button {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.01em;
    padding-block: 14px;
  }

  @media (prefers-reduced-motion: reduce) {
    cart-drawer.is-open .cart-drawer__inner,
    cart-drawer.is-closing .cart-drawer__inner {
      animation: none;
      transform: none;
    }
    .cart-drawer__close { transition: none; }
  }

  /* ============================================================
     Volet C — Cross-sell panier (carrousel scroll-snap léger)
     ============================================================ */
  .cart-xsell {
    margin-top: var(--padding-md);
    padding-top: var(--padding-md);
    border-top: 1px solid var(--color-border);
  }
  .cart-xsell__heading {
    margin: 0 0 var(--padding-sm);
    font-size: var(--font-body--size-emphasized);
    font-weight: 600;
    line-height: 1.25;
    color: rgb(var(--color-foreground));
  }
  .cart-xsell__track {
    display: flex;
    gap: var(--gap-sm);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    scrollbar-width: thin;
  }
  .cart-xsell__track::-webkit-scrollbar { height: 3px; }
  .cart-xsell__card {
    position: relative;
    scroll-snap-align: start;
    flex: 0 0 calc(50% - (var(--gap-sm) / 2));
    min-width: 128px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
    background: var(--color-background);
    border: 1px solid var(--color-border);
    border-radius: calc(var(--card-border-radius, 12px) - var(--padding-sm));
    padding: 10px;
  }
  .cart-xsell__badge {
    position: absolute;
    top: 6px;
    left: 6px;
    z-index: 1;
    background: var(--color-primary-button-background);
    color: var(--color-primary-button-text, #ffffff);
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1;
    padding: 3px 5px;
    border-radius: 6px;
  }
  .cart-xsell__media { display: block; }
  .cart-xsell__img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    display: block;
  }
  .cart-xsell__title {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25;
    color: rgb(var(--color-foreground));
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .cart-xsell__title:hover { opacity: var(--opacity-link-hover, 0.8); }
  .cart-xsell__price {
    display: flex;
    align-items: baseline;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 0.8rem;
  }
  .cart-xsell__price-compare {
    text-decoration: line-through;
    opacity: 0.5;
    font-size: 0.72rem;
  }
  .cart-xsell__price-current {
    font-weight: 700;
    color: rgb(var(--color-foreground));
  }
  .cart-xsell__add {
    margin-top: auto;
    width: 100%;
    cursor: pointer;
    border: 1px solid var(--color-primary-button-background);
    background: var(--color-primary-button-background);
    color: var(--color-primary-button-text, #ffffff);
    font: inherit;
    font-weight: 600;
    font-size: 0.75rem;
    line-height: 1.2;
    padding: 7px 8px;
    border-radius: 999px;
    transition: opacity 0.2s ease;
  }
  .cart-xsell__add:hover { opacity: 0.9; }
  .cart-xsell__add.is-loading { opacity: 0.6; pointer-events: none; }
  .cart-xsell__add:focus-visible {
    outline: 2px solid var(--color-primary-button-background);
    outline-offset: 2px;
  }
  @media (prefers-reduced-motion: reduce) {
    .cart-xsell__track { scroll-behavior: auto; }
  }

  /* ============================================================
     CORRECTIF — badge cadeau/remise tronqué (mobile)
     Le thème natif imposait max-width:70px + nowrap + ellipsis sur le
     libellé de remise, coupant le nom du cadeau. On affiche le texte
     COMPLET (jusqu'à plusieurs lignes) et on fait passer ce badge sur
     SA PROPRE LIGNE sous le prix + le badge -XX%. Quand la place suffit
     (desktop), le -XX% reste à côté du prix ; le libellé long descend
     proprement dessous — jamais de troncature, jamais de chevauchement
     avec le sélecteur de quantité (colonne d'actions distincte).
     ============================================================ */
  .cart-drawer__item-discounts {
    flex-wrap: wrap;
    flex-basis: 100%;
    overflow: visible;
  }
  .cart-drawer__item-discount {
    min-width: 0;
    max-width: 100%;
    align-items: flex-start;
    white-space: normal;
    height: auto;
  }
  .cart-drawer__item-discount span {
    max-width: none;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    word-break: break-word;
  }

  @media (max-width: 749px) {
    .cart-drawer__item-price {
      flex-wrap: wrap;
    }
    /* Empilage vertical explicite sur mobile : -XX% puis cadeau, l'un sous
       l'autre, chacun sur toute la largeur disponible de la colonne texte. */
    .cart-drawer__item-discounts {
      flex-direction: column;
      align-items: flex-start;
    }
  }
/* END_SECTION:cart-drawer */

/* START_SECTION:cart (INDEX:13) */
.cart {
    display: block;
  }

  .cart__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  :root {
    --cart-item-image-width: 85px;
  }

  .cart__empty {
    border: var(--container-border-width) solid var(--color-border);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--gap-sm);
  }

  .cart {
    padding-bottom: 3rem;
  }

  .cart__header {
    padding: var(--gap-md) 0;
  }

  .cart__form {
    display: grid;
    grid-template-columns: 100%;
    gap: var(--gap-md);
  }

  .cart__form--loading {
    opacity: 0.5;
    pointer-events: none;
  }

  @media (width > 750px) {
    .cart__header {
      padding: var(--gap-lg) 0;
    }

    .cart__form {
      grid-template-columns: 60% calc(40% - var(--gap-lg));
      gap: var(--gap-lg);
    }
  }

  .cart__items {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .cart__footer {
    height: fit-content;
  }

  .cart__footer > *:not(:last-child) {
    margin-bottom: var(--padding-sm);
  }

  .cart__footer .accordion__content,
  .cart__footer .accordion__header {
    padding: var(--padding-xxs) 0;
  }

  /* Totals */

  .cart__totals,
  .cart__reductions {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-content: space-between;
  }

  .cart__totals > * {
    color: rgb(var(--color-foreground));
    margin: 0;
    line-height: 1;
  }

  .cart__reductions p,
  .cart__totals p {
    font-weight: 500;
    margin: 0;
    line-height: normal;
  }

  .cart__reductions p,
  .cart__totals p,
  .cart__reductions-value,
  .cart__totals-value {
    font-size: var(--font-body--size-emphasized);
  }

  /* CTAs */

  .cart__ctas {
    text-align: center;
    display: flex;
    gap: 10px;
    margin-bottom: 0;
  }

  .cart__ctas button {
    width: 100%;
  }

  /* Item */

  .cart__item {
    background-color: var(--color-background);
    color: var(--color-foreground);
    display: flex;
    gap: var(--gap-sm);
    align-items: flex-start;
    max-width: 100%;
  }

  .cart__item > a {
    display: flex;
    align-items: center;
  }

  .cart__item img {
    width: var(--cart-item-image-width);
    object-fit: cover;
    background-color: white;
    max-width: fit-content;
    border-radius: calc(var(--card-border-radius) - var(--padding-sm));
  }

  .cart__item.card {
    padding: var(--padding-sm);

    img {
      border-radius: calc(var(--card-border-radius) - var(--padding-sm));
    }
  }

  .cart__item-options {
    line-height: normal;
    font-size: var(--font-body--size-small);
    word-break: break-word;
    color: rgba(var(--color-foreground), 0.8);
  }

  .cart__item-options .cart__item-option:not(:last-child) {
    margin-bottom: var(--padding-xs);
  }

  .cart__item-option {
    margin: 0;
  }

  .cart__item-content {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 5px;
  }

  .cart__item-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
    min-height: var(--cart-item-image-width);
    gap: var(--gap-sm);
  }

  .cart__item-name {
    text-decoration: none;
    display: block;
    width: calc(100% + 60px);
    font-size: var(--font-body--size);
    color: rgb(var(--color-foreground));
    font-weight: 500;
    line-height: normal;
    margin-bottom: 0;
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }

  .cart__item-prices {
    position: relative;
    width: 100%;
  }

  .cart__item-prices.loading {
    width: max-content;
  }

  .cart__item-price {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    font-size: var(--font-body--size-small);
    color: rgb(var(--color-foreground));
  }

  .cart__item-price > * {
    display: block;
    margin: 0;
    padding: 0;
    line-height: normal;
  }

  .cart__item-discounted-prices {
    display: flex;
    align-self: center;
    gap: 6px;
    line-height: normal;
  }

  .cart__item-compare-price {
    opacity: 0.7;
  }

  .cart__item--no-remove-button .cart__item-actions-wrapper {
    justify-content: flex-end;
  }

  .cart__item--no-remove-button .cart__item-name {
    width: calc(100% + var(--cart-item-image-width));
  }

  @media screen and (max-width: 350px) {
    .cart__item--no-remove-button .cart__item-name {
      width: calc(100% + 75px);
    }
  }

  @media screen and (max-width: 350px) {
    .cart__item img {
      width: var(--cart-item-image-width);
      max-height: calc(var(--cart-item-image-width) * 1.2);
    }

    .cart__item-content {
      gap: 5px;
    }

    .cart__item-wrapper {
      min-height: calc(var(--cart-item-image-width) * 1.2);
    }
    .cart__item-name {
      width: calc(100% + 50px);
    }

    .cart__item-prices {
      width: 100%;
    }
  }

  /* Quantity & Remove Button */

  .cart__item-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .cart__item-actions-wrapper {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: column;
    height: 100%;
    gap: 5px;
  }

  .cart__item-actions-wrapper .button,
  .cart__item-actions-wrapper .quantity-selector {
    border: var(--inputs-border-width) solid var(--color-border);
  }

  @media screen and (max-width: 749px) {
    .cart__item-actions-wrapper {
      flex-wrap: wrap;
    }
  }

  /* Discounts */

  .cart__discounts {
    margin-bottom: 0;
  }

  .cart__discount {
    margin-bottom: var(--padding-sm);
  }

  .cart__item-discounts,
  .cart__discounts {
    font-size: 12px;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }

  .cart__item-discount,
  .cart__discount {
    min-width: max-content;
    gap: var(--gap-xs);
  }

  .icon-discount {
    color: rgb(var(--color-foreground));
    width: 12px;
    height: 12px;
    margin-right: 7px;
  }

  /* .cart__item-discount span {
  max-width: 70px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
} */

  @media screen and (max-width: 750px) {
    .cart__discounts {
      overflow: scroll;
      flex-wrap: nowrap;
    }

    .cart__discounts::-webkit-scrollbar {
      height: 3px;
    }
  }
/* END_SECTION:cart */

/* START_SECTION:chatbot-widget (INDEX:14) */
{{ section.settings.widget_font | font_face: font_display: 'swap' }}

  .cw-root {
    position: fixed;
    bottom: var(--cw-bottom, 90px);
    z-index: 999;
    font-size: var(--cw-font-size, 14px);
  }
  .cw-root--right {
    right: var(--cw-side, 20px);
  }
  .cw-root--left {
    left: var(--cw-side, 20px);
  }

  .cw-toggle {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cw-accent-bg, #4a5c3a);
    color: var(--cw-accent-text, #fff);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    transition: transform 0.15s ease;
  }
  .cw-toggle:hover {
    transform: scale(1.05);
  }
  .cw-toggle__icon--close {
    display: none;
  }
  .cw-toggle[aria-expanded="true"] .cw-toggle__icon--chat {
    display: none;
  }
  .cw-toggle[aria-expanded="true"] .cw-toggle__icon--close {
    display: flex;
  }

  .cw-panel {
    position: absolute;
    bottom: 72px;
    width: min(var(--cw-width, 360px), calc(100vw - 40px));
    max-height: min(520px, calc(100vh - 140px));
    display: flex;
    flex-direction: column;
    background: var(--cw-panel-bg, #fff);
    border-radius: var(--cw-radius, 16px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
    overflow: hidden;
  }
  .cw-root--right .cw-panel {
    right: 0;
  }
  .cw-root--left .cw-panel {
    left: 0;
  }
  /* L'attribut hidden (posé par défaut, retiré par le JS au clic) doit
     gagner sur le display:flex ci-dessus — sinon le panneau reste visible
     en permanence dès le chargement de la page. */
  .cw-panel[hidden] {
    display: none;
  }

  .cw-panel__header {
    background: var(--cw-accent-bg, #4a5c3a);
    color: var(--cw-accent-text, #fff);
    padding: 14px 16px;
  }
  .cw-panel__title {
    margin: 0;
    font-weight: 600;
    font-size: 1.07em;
  }
  .cw-panel__subtitle {
    margin: 2px 0 0;
    font-size: 0.85em;
    opacity: 0.85;
  }

  .cw-panel__messages {
    flex: 1;
    overflow-y: auto;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 180px;
  }

  .cw-msg {
    max-width: 85%;
    padding: 9px 12px;
    border-radius: 12px;
    font-size: 1em;
    line-height: 1.4;
    white-space: pre-wrap;
  }
  .cw-msg--bot {
    align-self: flex-start;
    background: var(--cw-bot-bg, #f0f1ec);
    color: var(--cw-bot-text, #1f1f1f);
    border-bottom-left-radius: 4px;
  }
  .cw-msg--user {
    align-self: flex-end;
    background: var(--cw-accent-bg, #4a5c3a);
    color: var(--cw-accent-text, #fff);
    border-bottom-right-radius: 4px;
  }
  .cw-msg--error {
    align-self: flex-start;
    background: #fbe4e4;
    color: #7a1f1f;
  }
  .cw-msg--pending {
    align-self: flex-start;
    background: var(--cw-bot-bg, #f0f1ec);
    color: #6b6b6b;
    font-style: italic;
  }

  .cw-panel__escalate {
    padding: 10px 14px;
    font-size: 0.9em;
    background: #fdf6e8;
    border-top: 1px solid #eee;
  }
  .cw-panel__escalate a {
    color: inherit;
    font-weight: 600;
  }

  .cw-panel__form {
    display: flex;
    gap: 8px;
    padding: 10px;
    border-top: 1px solid #eee;
  }
  .cw-panel__form input {
    flex: 1;
    border: 1px solid #ddd;
    border-radius: 20px;
    padding: 9px 14px;
    font-size: 1em;
    font-family: inherit;
  }
  .cw-panel__send {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    background: var(--cw-accent-bg, #4a5c3a);
    color: var(--cw-accent-text, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .cw-panel__send:disabled {
    opacity: 0.5;
    cursor: default;
  }

  @media (max-width: 480px) {
    .cw-root {
      --cw-side: 12px;
    }
    .cw-panel {
      width: min(var(--cw-width, 360px), calc(100vw - 24px));
    }
  }
/* END_SECTION:chatbot-widget */

/* START_SECTION:chiffres-cles (INDEX:15) */
.chiffres-cles {
    background-color: var(--chiffres-bg, var(--color-background));
    padding-top: var(--chiffres-padding-top);
    padding-bottom: var(--chiffres-padding-bottom);
    border-radius: var(--chiffres-radius);
    overflow: hidden;
  }

  .chiffres-cles__inner {
    max-width: var(--chiffres-max-width);
  }

  .chiffres-cles__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: start;
  }

  @media screen and (width >= 750px) {
    .chiffres-cles__grid {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 64px;
    }

    .chiffres-cles--one-column .chiffres-cles__grid {
      grid-template-columns: 1fr;
      max-width: 640px;
      margin-inline: auto;
    }

    .chiffres-cles--text-right .chiffres-cles__text {
      order: 2;
    }

    .chiffres-cles--text-right .chiffres-cles__stats {
      order: 1;
    }
  }

  .chiffres-cles__grid--align-center .chiffres-cles__text {
    text-align: center;
  }

  .chiffres-cles__image {
    margin-bottom: 24px;
  }

  .chiffres-cles__image img {
    width: 100%;
    height: auto;
    border-radius: var(--chiffres-radius);
    display: block;
  }

  .chiffres-cles__title {
    font-size: var(--chiffres-title-size);
    font-weight: var(--chiffres-title-weight);
    font-family: var(--chiffres-title-font, inherit);
    color: var(--chiffres-title-color, var(--color-foreground));
    margin: 0 0 16px;
    line-height: 1.15;
  }

  .chiffres-cles__intro {
    font-size: var(--chiffres-intro-size);
    font-family: var(--chiffres-body-font, inherit);
    color: var(--chiffres-intro-color, color-mix(in srgb, var(--color-foreground) 70%, transparent));
    line-height: 1.6;
  }

  .chiffres-cles__stats {
    display: flex;
    flex-direction: column;
    gap: var(--chiffres-stat-gap);
  }

  .chiffres-cles__stat {
    display: flex;
    align-items: center;
    gap: 24px;
    padding-bottom: var(--chiffres-stat-gap);
  }

  .chiffres-cles__stat[data-separator] {
    border-bottom: 1px solid var(--chiffres-separator-color, var(--color-border));
  }

  .chiffres-cles__stat:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .chiffres-cles__ring {
    position: relative;
    flex-shrink: 0;
    width: var(--chiffres-ring-size-mobile);
    height: var(--chiffres-ring-size-mobile);
  }

  @media screen and (width >= 750px) {
    .chiffres-cles__ring {
      width: var(--chiffres-ring-size);
      height: var(--chiffres-ring-size);
    }
  }

  .chiffres-cles__ring svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  .chiffres-cles__ring-track {
    fill: none;
    stroke: var(--chiffres-ring-track);
  }

  .chiffres-cles__ring-fill {
    fill: none;
    stroke: var(--chiffres-ring-fill);
    stroke-linecap: round;
  }

  .chiffres-cles__percentage {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--chiffres-percentage-size);
    font-weight: var(--chiffres-percentage-weight);
    color: var(--chiffres-percentage-color, var(--color-foreground));
  }

  .chiffres-cles__label {
    font-size: var(--chiffres-label-size);
    font-family: var(--chiffres-body-font, inherit);
    color: var(--chiffres-label-color, color-mix(in srgb, var(--color-foreground) 82%, transparent));
    margin: 0;
    line-height: 1.4;
  }

  .chiffres-cles__stat--number .chiffres-cles__big-number {
    font-size: var(--chiffres-percentage-size);
    font-weight: var(--chiffres-percentage-weight);
    color: var(--chiffres-percentage-color, var(--color-foreground));
    margin: 0 0 4px;
    line-height: 1;
    white-space: nowrap;
  }

  .chiffres-cles__unit {
    font-size: 0.5em;
    margin-left: 4px;
  }

  .chiffres-cles__stat--number .chiffres-cles__label {
    margin: 0;
  }

  .chiffres-cles__stat--number {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .chiffres-cles__source {
    margin: 40px 0 0;
    font-size: 13px;
    color: var(--chiffres-source-color, color-mix(in srgb, var(--color-foreground) 55%, transparent));
  }

  @media (prefers-reduced-motion: no-preference) {
    .chiffres-cles__ring-fill {
      transition: stroke-dashoffset 200ms ease-out;
    }
  }
/* END_SECTION:chiffres-cles */

/* START_SECTION:collection-compat-explainer (INDEX:16) */
.cce-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .cce-inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .cce-title {
    margin: 0 0 8px;
    color: var(--cce-title-color);
    text-align: center;
  }

  .cce-subtitle {
    margin: 0 0 24px;
    color: var(--cce-text-color);
    text-align: center;
    max-width: 62ch;
    margin-left: auto;
    margin-right: auto;
  }

  .cce-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  @media (min-width: 750px) {
    .cce-grid {
      grid-template-columns: 1fr 1fr;
      gap: 24px;
    }
  }

  .cce-card {
    display: flex;
    flex-direction: column;
    background: var(--cce-card-bg);
    border: 1px solid var(--cce-card-border);
    border-radius: var(--card-border-radius);
    overflow: hidden;
    transition: border-color var(--animation-speed-medium, 150ms) ease;
  }

  .cce-card:hover {
    border-color: var(--cce-accent);
  }

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

  .cce-card__media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
  }

  .cce-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .cce-card__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .cce-card__badge {
    align-self: flex-start;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--cce-accent);
    border: 1px solid var(--cce-accent);
    border-radius: 999px;
    padding: 3px 10px;
    margin-bottom: 4px;
  }

  .cce-card__title {
    margin: 0;
    color: var(--cce-title-color);
  }

  .cce-card__text {
    margin: 0;
    color: var(--cce-text-color);
    line-height: 1.5;
    font-size: 14px;
  }
/* END_SECTION:collection-compat-explainer */

/* START_SECTION:collection-description (INDEX:17) */
.cd-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .cd-inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .cd-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: center;
  }

  @media (min-width: 750px) {
    .cd-grid {
      grid-template-columns: 1fr 1fr;
      gap: 60px;
    }

    .cd-grid--image-right .cd-media {
      order: 2;
    }

    .cd-grid--image-right .cd-content {
      order: 1;
    }
  }

  .cd-media__inner {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--cd-image-radius);
  }

  .cd-ratio--square { aspect-ratio: 1 / 1; }
  .cd-ratio--portrait { aspect-ratio: 3 / 4; }
  .cd-ratio--landscape { aspect-ratio: 4 / 3; }
  .cd-ratio--wide { aspect-ratio: 16 / 9; }

  .cd-media__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .cd-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .cd-eyebrow {
    margin: 0;
  }

  .cd-title {
    margin: 0;
    color: var(--cd-title-color);
  }

  .cd-intro {
    margin: 0;
    color: var(--cd-intro-color);
    line-height: 1.6;
  }

  .cd-cards {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 4px;
  }

  .cd-card {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 16px;
    background: var(--cd-card-bg);
    border: 1px solid var(--cd-card-border);
    border-radius: var(--cd-card-radius);
    transition: border-color 200ms ease;
  }

  .cd-card:hover {
    border-color: var(--cd-card-border-hover);
  }

  .cd-card__badge {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--cd-badge-size);
    height: var(--cd-badge-size);
    border-radius: var(--cd-badge-radius);
    background: var(--cd-badge-bg);
    color: var(--cd-badge-icon);
    transition: background-color 200ms ease, color 200ms ease;
  }

  .cd-card:hover .cd-card__badge {
    background: var(--cd-badge-bg-hover);
    color: var(--cd-badge-icon-hover);
  }

  .cd-card__badge .icon {
    font-size: calc(var(--cd-badge-size) * 0.5) !important;
  }

  .cd-card__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .cd-card__title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--cd-title-color);
  }

  .cd-card__text {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--cd-intro-color);
  }

  .cd-quiz {
    margin-top: 8px;
    padding-top: 20px;
    border-top: 1px solid var(--cd-card-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }

  .cd-quiz__prompt {
    margin: 0;
    font-weight: 600;
    color: var(--cd-title-color);
  }

  .cd-quiz__button {
    background: var(--cd-quiz-bg) !important;
    color: var(--cd-quiz-text) !important;
    border-color: var(--cd-quiz-border) !important;
  }

  .cd-quiz__button:hover {
    background: var(--cd-quiz-bg-hover) !important;
    border-color: var(--cd-quiz-bg-hover) !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .cd-card,
    .cd-card__badge {
      transition: none !important;
    }
  }
/* END_SECTION:collection-description */

/* START_SECTION:collection-featured (INDEX:18) */
.collection-featured {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .collection-featured .splide__arrow {
    display: none !important;
  }

  .collection-featured__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .collection-featured__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .collection-featured__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }

  .collection-featured__footer-link-wrap {
    margin-top: var(--gap-lg, 32px);
    text-align: center;
  }

  .collection-featured__footer-link {
    font-size: var(--font-body--size);
  }
/* END_SECTION:collection-featured */

/* START_SECTION:collection-header-premium (INDEX:19) */
.chp-section {
    width: 100%;
    background-color: var(--chp-bg);
    display: flex;
    align-items: center;
    overflow: hidden;
  }

  .chp-inner {
    width: 100%;
    max-width: min(var(--page-width), var(--chp-content-max-width));
    margin: 0 auto;
  }

  .chp-text {
    display: flex;
    flex-direction: column;
  }

  .chp-text--center {
    align-items: center;
    text-align: center;
  }

  .chp-text--left {
    align-items: flex-start;
    text-align: left;
  }

  .chp-text--center .chp-badges {
    justify-content: center;
    width: 100%;
  }

  .chp-eyebrow {
    margin: 0;
    color: var(--chp-eyebrow-color);
    font-size: var(--chp-eyebrow-size);
    font-weight: var(--chp-eyebrow-weight);
    font-family: var(--chp-eyebrow-family);
  }

  .chp-title {
    margin: 0;
    color: var(--chp-title-color);
    font-size: var(--chp-title-size-mobile);
    font-weight: var(--chp-title-weight);
    font-family: var(--chp-title-family);
    line-height: 1.15;
  }

  .chp-eyebrow + .chp-title {
    margin-top: var(--chp-gap-eyebrow-title);
  }

  @media (min-width: 750px) {
    .chp-title {
      font-size: var(--chp-title-size);
    }
  }

  .chp-resume {
    margin: var(--chp-gap-title-resume) 0 0;
    color: var(--chp-resume-color);
    font-size: var(--chp-resume-size-mobile);
    font-weight: var(--chp-resume-weight);
    font-family: var(--chp-resume-family);
    line-height: 1.5;
    max-width: 60ch;
    /* Garantit visuellement 2 lignes maximum quel que soit le texte saisi
       dans custom.resume_intro, même s'il dépasse la longueur visée. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  @media (min-width: 750px) {
    .chp-resume {
      font-size: var(--chp-resume-size);
    }
  }

  .chp-badges {
    list-style: none;
    margin: var(--chp-gap-resume-badges) 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    row-gap: 8px;
  }

  .chp-badge {
    color: var(--chp-badges-color);
    font-size: var(--chp-badges-size);
    font-weight: var(--chp-badges-weight);
    font-family: var(--chp-badges-family);
    white-space: nowrap;
  }

  /* Badge de note + avis : seul badge de la liste pouvant afficher le
     badge "Avis vérifiés" à sa suite — repasse en ligne flexible pour
     garder les deux éléments alignés sur la même ligne (ou repliés
     proprement dessous sur mobile étroit), sans casser le white-space:
     nowrap des autres badges texte de la liste (nombre de modèles,
     badges saisis à la main). */
  .chp-badge--rating {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: normal;
  }

  .chp-badge + .chp-badge::before {
    content: '•';
    display: inline-block;
    margin: 0 12px;
    color: var(--chp-badges-separator);
  }

  .chp-reveal-ready {
    opacity: 0;
    transform: translateY(var(--chp-reveal-distance));
    transition: opacity var(--chp-reveal-duration) ease var(--chp-reveal-delay),
      transform var(--chp-reveal-duration) ease var(--chp-reveal-delay);
  }

  .chp-reveal-ready.chp-reveal-visible {
    opacity: 1;
    transform: translateY(0);
  }

  @media (prefers-reduced-motion: reduce) {
    .chp-reveal-ready {
      opacity: 1 !important;
      transform: none !important;
      transition: none !important;
    }
  }

  .chp-signature .chp-inner {max-width:min(var(--page-width),var(--chp-layout-max));display:grid;grid-template-columns:minmax(0,1fr);gap:var(--chp-layout-gap-mobile);}
  .chp-signature .chp-text {min-width:0;justify-content:center;}
  .chp-photo {min-width:0;overflow:hidden;border-radius:var(--chp-image-radius);height:var(--chp-image-height-mobile);}
  .chp-photo img {display:block;width:100%;height:100%;object-fit:var(--chp-image-fit);object-position:var(--chp-image-position);}
  .chp-signature .chp-resume {-webkit-line-clamp:unset;display:block;overflow:visible;}
  .chp-signature .chp-badge {white-space:normal;}
  .chp-family-links {grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;}
  .chp-family-link {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--chp-nav-border);border-radius:999px;background:var(--chp-nav-bg);color:var(--chp-nav-color);font-family:var(--font-body--family);font-size:14px;line-height:1.3;text-decoration:none;}
  .chp-family-link.is-current {background:var(--chp-nav-active-bg);color:var(--chp-nav-active-color);border-color:var(--chp-nav-active-bg);}
  .chp-family-link:hover {text-decoration:underline;text-underline-offset:3px;}
  @media(min-width:990px){.chp-signature .chp-inner {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--chp-layout-gap);align-items:center;}.chp-signature .chp-text:first-child {grid-column:1/-1;}.chp-photo {height:var(--chp-image-height);}}
/* END_SECTION:collection-header-premium */

/* START_SECTION:collections-featured-premium (INDEX:20) */
.cf2-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .cf2-inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .cf2-header {
    margin-bottom: 32px;
    max-width: 720px;
  }

  .cf2-header--center {
    max-width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .cf2-header--center .cf2-eyebrow,
  .cf2-header--center .cf2-title,
  .cf2-header--center .cf2-subtitle {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  .cf2-eyebrow {
    margin: var(--cf2-eyebrow-margin-top) 0 var(--cf2-eyebrow-margin-bottom);
    font-size: var(--cf2-eyebrow-size);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--cf2-eyebrow-color);
  }

  .cf2-title {
    margin: var(--cf2-header-title-margin-top) 0 var(--cf2-header-title-margin-bottom);
    font-size: var(--cf2-header-title-size);
    color: var(--cf2-header-title-color);
  }

  .cf2-subtitle {
    margin: var(--cf2-header-subtitle-margin-top) 0 var(--cf2-header-subtitle-margin-bottom);
    font-size: var(--cf2-header-subtitle-size);
    color: var(--cf2-header-subtitle-color);
  }

  /* Correctif densité/espacement : Splide calcule la largeur des slides à
     partir de perPage (nombre entier de cartes par page) et ignore une
     largeur fixée uniquement sur l'élément enfant .cf2-card — d'où les
     cartes collées bord à bord et ~5 visibles au lieu de 3,5 malgré le
     réglage de largeur de carte. On force ici la largeur ET l'espacement
     réels du slide (l'élément que Splide dimensionne réellement) via
     !important, qui prime sur le style inline posé par le JS de Splide. */
  .cf2-section .splide__slide {
    width: var(--cf2-card-width) !important;
    margin-right: var(--cf2-card-gap) !important;
  }

  .cf2-card {
    display: block;
    width: 100%;
    text-decoration: none;
    color: inherit;
  }

  .cf2-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--cf2-card-radius);
    transition: transform var(--cf2-transition-speed) ease;
  }

  .cf2-section[data-elevation-enabled="true"] .cf2-card:hover .cf2-card__media {
    transform: translateY(calc(var(--cf2-elevation) * -1));
  }

  .cf2-ratio--square { aspect-ratio: 1 / 1; }
  .cf2-ratio--landscape { aspect-ratio: 4 / 3; }
  .cf2-ratio--portrait { aspect-ratio: 3 / 4; }

  .cf2-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--cf2-transition-speed) ease;
  }

  .cf2-card__image--placeholder {
    background: color-mix(in srgb, var(--cf2-arrow-bg) 15%, transparent);
  }

  .cf2-section[data-zoom-enabled="true"] .cf2-card:hover .cf2-card__image {
    transform: scale(var(--cf2-zoom-scale));
  }

  .cf2-card__gradient {
    position: absolute;
    inset: 0;
    /* Retouche "allègement" : le dégradé ne couvre plus que les derniers
       --cf2-gradient-height % de la hauteur de l'image (transparent avant),
       au lieu de courir sur toute la hauteur de la carte. */
    background: linear-gradient(
      to bottom,
      var(--cf2-gradient-top) 0%,
      var(--cf2-gradient-top) calc(100% - var(--cf2-gradient-height)),
      var(--cf2-gradient-bottom) 100%
    );
    pointer-events: none;
  }

  .cf2-card__caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .cf2-card__title {
    font-size: 18px;
    font-weight: 600;
    color: var(--cf2-title-color);
    line-height: 1.3;
  }

  .cf2-card__count {
    font-size: 13px;
    color: var(--cf2-count-color);
  }

  @media (prefers-reduced-motion: reduce) {
    .cf2-card__media,
    .cf2-card__image {
      transition: none !important;
      transform: none !important;
    }
  }

  /* Flèches et pagination : surcharge scopée à cette section uniquement,
     pour ne pas affecter les autres carrousels (guide de la conservation,
     etc.) qui gardent le style .splide__arrow/.splide__pagination__page
     par défaut du thème (assets/slider.css). */
  .cf2-section .splide__arrow {
    background: var(--cf2-arrow-bg);
    border: none;
  }

  .cf2-section .splide__arrow .icon--arrow_back,
  .cf2-section .splide__arrow .icon--arrow_forward {
    color: var(--cf2-arrow-icon);
  }

  .cf2-section .splide__pagination__page {
    background: var(--cf2-pagination-inactive);
    opacity: 1;
  }

  .cf2-section .splide__pagination__page.is-active {
    background: var(--cf2-pagination-active);
    opacity: 1;
  }
/* END_SECTION:collections-featured-premium */

/* START_SECTION:collections-featured (INDEX:21) */
.collections-featured {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    --cf-prem-radius: 16px;
    --cf-prem-gradient-bottom: rgba(0, 0, 0, 0.78);
    --cf-prem-title-color: #ffffff;
    --cf-prem-count-color: #e5e5e5;
    --cf-prem-arrow-bg: #777d43;
    --cf-prem-arrow-icon: #ffffff;
    --cf-prem-pagination-active: #777d43;
    --cf-prem-pagination-inactive: #d9d9d9;
    --cf-prem-transition: 250ms;
  }

  .collections-featured__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  /* En-tête : ordre figé sur-titre → titre → sous-titre.
     Le sur-titre hérite du style centralisé via la classe .eyebrow,
     le titre via la classe .section-title — on ne gère ici que l'espacement. */
  .cf-header {
    max-width: 720px;
    margin-bottom: 28px;
  }

  .cf-header--center {
    max-width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .cf-eyebrow {
    margin: 0 0 8px;
  }

  .cf-title {
    margin: 0 0 10px;
  }

  .cf-subtitle {
    margin: 0;
    color: #4a4a4a;
  }

  .collections-featured__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .collections-featured__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }

  .cf-prem-card {
    display: block;
    text-decoration: none;
    color: inherit;
  }

  .cf-prem-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--cf-prem-radius);
    aspect-ratio: 3 / 4;
    transition: transform var(--cf-prem-transition) ease;
  }

  .cf-prem-card:hover .cf-prem-card__media {
    transform: translateY(-4px);
  }

  .cf-prem-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--cf-prem-transition) ease;
  }

  .cf-prem-card:hover .cf-prem-card__image {
    transform: scale(1.03);
  }

  .cf-prem-card__image--placeholder {
    background: color-mix(in srgb, var(--cf-prem-arrow-bg) 15%, transparent);
  }

  .cf-prem-card__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 42%, var(--cf-prem-gradient-bottom) 100%);
    pointer-events: none;
  }

  .cf-prem-card__caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .cf-prem-card__title {
    font-size: 18px;
    font-weight: 600;
    color: var(--cf-prem-title-color);
    line-height: 1.3;
  }

  .cf-prem-card__count {
    font-size: 13px;
    color: var(--cf-prem-count-color);
  }

  @media (prefers-reduced-motion: reduce) {
    .cf-prem-card__media,
    .cf-prem-card__image {
      transition: none !important;
      transform: none !important;
    }
  }

  /* Flèches et pagination olive, scopées à cette section uniquement. */
  .collections-featured .splide__arrow {
    background: var(--cf-prem-arrow-bg);
    border: none;
  }

  .collections-featured .splide__arrow .icon--arrow_back,
  .collections-featured .splide__arrow .icon--arrow_forward {
    color: var(--cf-prem-arrow-icon);
  }

  .collections-featured .splide__pagination__page {
    background: var(--cf-prem-pagination-inactive);
    opacity: 1;
  }

  .collections-featured .splide__pagination__page.is-active {
    background: var(--cf-prem-pagination-active);
    opacity: 1;
  }
/* END_SECTION:collections-featured */

/* START_SECTION:collections-showcase (INDEX:22) */
.collections-showcase {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
  .collections-showcase__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .collections-showcase__media {
    position: relative;
    aspect-ratio: var(--cs-ratio, 0.8);
    width: 100%;
    background: var(--color-border, #eee);
  }
  .collections-showcase__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
  }
  .collections-showcase__img--placeholder svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .collections-showcase__card:hover .collections-showcase__img {
    transform: scale(1.04);
  }

  .collections-showcase__overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 16px 18px;
    color: var(--cs-overlay-color, #ffffff);
  }
  .collections-showcase__name {
    font-family: var(--font-heading--family, inherit);
    font-weight: var(--font-heading--weight, 600);
    font-size: var(--cs-title-size-card, 1.125rem);
    line-height: 1.2;
  }
  .collections-showcase__count {
    font-family: var(--font-body--family, inherit);
    font-size: 0.8125rem;
    opacity: 0.9;
  }

  .collections-showcase__empty {
    display: grid;
    place-items: center;
    aspect-ratio: var(--cs-ratio, 0.8);
    border-radius: var(--cc-radius);
    background: var(--color-border, #eee);
    color: var(--color-foreground, #333);
    font-family: var(--font-body--family, inherit);
    text-align: center;
    padding: 20px;
  }

  @media (prefers-reduced-motion: reduce) {
    .collections-showcase__card:hover .collections-showcase__img { transform: none; }
    .collections-showcase__img { transition: none; }
  }
/* END_SECTION:collections-showcase */

/* START_SECTION:comparison-mieux-garde (INDEX:23) */
.mg-comp {
    background: var(--mg-bg);
    color: var(--mg-text);
    padding-top: var(--mg-padding-top);
    padding-bottom: var(--mg-padding-bottom);
  }

  .mg-comp__inner {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .mg-comp__title {
    text-align: center;
    color: var(--mg-text);
    margin: 0 0 8px;
  }

  .mg-comp__subtitle {
    text-align: center;
    color: var(--mg-text);
    opacity: 0.65;
    font-weight: 400;
    margin: 0 0 44px;
  }

  /* Une seule colonne sur tous les breakpoints — le format pilule exploite
     déjà toute la largeur disponible. */
  .mg-comp__list {
    display: flex;
    flex-direction: column;
  }

  .mg-comp__criterion {
    margin-bottom: 38px;
  }

  .mg-comp__criterion:last-child {
    margin-bottom: 0;
  }

  /* Aucune ligne séparatrice entre critères — distinction par l'espacement
     (margin-bottom) uniquement. */

  .mg-comp__crit-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--mg-text);
  }

  .mg-comp__crit-head .icon {
    opacity: 0.85;
    flex-shrink: 0;
    font-size: 17px !important;
    color: var(--mg-text);
  }

  .mg-comp__pill-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 8px;
  }

  .mg-comp__pill-row:last-child {
    margin-bottom: 0;
  }

  .mg-comp__pill-label {
    flex: 0 0 120px;
    text-align: right;
    font-size: var(--mg-label-size);
    line-height: 1.3;
    color: var(--mg-label-other-color);
  }

  .mg-comp__pill-row--mg .mg-comp__pill-label {
    font-weight: 700;
    color: var(--mg-label-mg-color);
  }

  .mg-comp__pill-track {
    flex: 1 1 auto;
    min-height: var(--mg-pill-height-desktop);
    background: var(--mg-track);
    border-radius: var(--mg-pill-radius);
    overflow: hidden;
  }

  .mg-comp__pill-fill {
    min-height: var(--mg-pill-height-desktop);
    width: var(--pill-target);
    border-radius: var(--mg-pill-radius);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 8px 22px;
  }

  .mg-comp__pill-row--mg .mg-comp__pill-fill {
    background: linear-gradient(90deg, var(--mg-pill-mg-start), var(--mg-pill-mg-end));
  }

  .mg-comp__pill-row--other .mg-comp__pill-fill {
    background: var(--mg-pill-other);
  }

  .mg-comp__pill-text {
    color: var(--mg-pill-text-color);
    font-size: var(--mg-pill-text-size);
    font-weight: 600;
    line-height: 1.3;
    text-align: right;
    /* Hauteur automatique au-dessus du minimum : le retour à la ligne est
       autorisé plutôt que de tronquer ou de réduire la police sous la
       taille lisible, pour les textes longs dans une pilule courte. */
    white-space: normal;
    opacity: 1;
  }

  .mg-comp__button-wrap {
    text-align: center;
    margin-top: 32px;
  }

  .mg-comp__button {
    display: inline-block;
    padding: 12px 28px;
    background: var(--mg-pill-mg-end);
    color: #ffffff;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
  }

  /* ===================== Animation (cascade au niveau pilule) ===================== */
  /* État de base (JS absent, animation désactivée, ou prefers-reduced-motion) :
     pilules déjà à leur largeur finale, texte déjà visible — défini
     ci-dessus par défaut, rien à faire de plus ici. */
  .mg-comp.js-ready .mg-comp__pill-fill {
    width: 0%;
    transition: width var(--mg-pill-duration) cubic-bezier(0.22, 1, 0.36, 1);
    will-change: width;
  }

  .mg-comp.js-ready.is-visible .mg-comp__pill-fill {
    width: var(--pill-target);
  }

  .mg-comp.js-ready .mg-comp__pill-text {
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  .mg-comp.js-ready .mg-comp__pill-fill--filled .mg-comp__pill-text {
    opacity: 1;
  }

  @media (prefers-reduced-motion: reduce) {
    .mg-comp.js-ready .mg-comp__pill-fill {
      width: var(--pill-target);
      transition: none;
    }

    .mg-comp.js-ready .mg-comp__pill-text {
      opacity: 1;
      transition: none;
    }
  }

  /* ===================== Mobile ===================== */
  @media (width < 640px) {
    .mg-comp__pill-label {
      flex-basis: 84px;
      font-size: calc(var(--mg-label-size) - 2px);
    }

    .mg-comp__pill-track,
    .mg-comp__pill-fill {
      min-height: var(--mg-pill-height-mobile);
    }

    .mg-comp__pill-fill {
      padding: 6px 14px;
    }

    .mg-comp__pill-text {
      font-size: calc(var(--mg-pill-text-size) - 1.5px);
    }
  }
/* END_SECTION:comparison-mieux-garde */

/* START_SECTION:comparison-table (INDEX:24) */
.comparison-table {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .comparison-table__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .comparison-table__table-wrapper {
    overflow-x: auto;
  }

  @media (width >= 750px) {
    .comparison-table__table-wrapper {
      overflow: visible;
    }
  }

  .comparison-table__table {
    border-collapse: collapse;
    width: 100%;
    background-color: transparent;
    /* table-layout: fixed; */
  }
/* END_SECTION:comparison-table */

/* START_SECTION:complementary-accessories (INDEX:25) */
/* Variables scopées à .mg-complete (et non :root) : mêmes valeurs que la
     référence, sans polluer l'espace de noms CSS global du thème avec des
     noms génériques (--ink, --grey, --cols...). Aucune valeur modifiée. */
  .mg-complete {
    --olive: #454d30;
    --olive-hover: #343b23;
    --cream: #f8f6f0;
    --ink: #1e1e1e;
    --grey: #8a8a8a;
    --grey-light: #e4e3dc;
    --card-radius: 14px;
  }

  .mg-complete {
    max-width: 1200px;
    margin: 0 auto;
    background: linear-gradient(180deg, var(--cream) 0%, #fff 100%);
    border-radius: 24px;
    padding: 44px 36px 44px;
    box-shadow: 0 6px 32px rgba(0, 0, 0, 0.06);
    position: relative;
    overflow: hidden;
    color: var(--ink);
    font-family: inherit;
  }

  .mg-complete::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--olive), #a3a96f);
  }

  .mg-complete__header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 34px;
  }

  .mg-complete__plus {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(119, 125, 67, 0.12);
    color: var(--olive);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    font-weight: 600;
    flex-shrink: 0;
  }

  .mg-complete__title {
    font-size: clamp(21px, 3vw, 28px);
    font-weight: 700;
    margin: 0;
  }

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

  .mg-wrap {
    position: relative;
  }

  /* ===== Mode grille (statique) ===== */
  .mg-track {
    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: 16px;
  }

  /* ===== Mode carrousel ===== */
  .mg-wrap.is-carousel .mg-track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 6px 4px 14px;
    scrollbar-width: none;
  }

  .mg-wrap.is-carousel .mg-track::-webkit-scrollbar {
    display: none;
  }

  .mg-wrap.is-carousel .mg-card {
    flex: 0 0 calc((100% - (var(--cols) - 1) * 16px) / var(--cols));
    scroll-snap-align: start;
  }

  .mg-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: none;
    background: var(--olive);
    color: #fff;
    font-size: 17px;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
    transition: background 0.2s ease, opacity 0.2s ease;
    z-index: 2;
  }

  .mg-wrap.is-carousel .mg-arrow {
    display: flex;
  }

  .mg-arrow:hover {
    background: var(--olive-hover);
  }

  .mg-arrow--prev {
    left: -8px;
  }

  .mg-arrow--next {
    right: -8px;
  }

  .mg-arrow[disabled] {
    opacity: 0;
    pointer-events: none;
  }

  .mg-dots {
    display: none;
    justify-content: center;
    gap: 6px;
    margin-top: 4px;
  }

  .mg-wrap.is-carousel .mg-dots {
    display: flex;
  }

  .mg-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--grey-light);
    transition: all 0.25s ease;
  }

  .mg-dot.is-active {
    background: var(--olive);
    width: 16px;
    border-radius: 3px;
  }

  /* ===== Cartes (communes aux deux modes) ===== */
  .mg-card {
    background: #fff;
    border: 1px solid var(--grey-light);
    border-radius: var(--card-radius);
    padding: 14px 13px;
    display: flex;
    flex-direction: column;
    opacity: 0;
    transform: translateY(16px);
    transition: transform 0.28s ease, box-shadow 0.28s ease;
    min-width: 0;
  }

  /* Sans JS, animations désactivées, ou mouvement réduit : la carte reste
     visible par défaut (aucune classe "cachée" appliquée par le script). */
  .mg-wrap:not(.mg-wrap--animating) .mg-card,
  .mg-wrap--animating .mg-card.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .mg-wrap--animating .mg-card.is-visible {
    animation: mgReveal 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  }

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

  .mg-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(30, 30, 30, 0.1);
  }

  .mg-card__title {
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.6em;
  }

  .mg-card__media {
    border-radius: 10px;
    overflow: hidden;
    background: var(--cream);
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    min-width: 0;
  }

  .mg-card__media img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.35s ease;
    display: block;
  }

  .mg-card:hover .mg-card__media img {
    transform: scale(1.06);
  }

  .mg-card__price {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 8px;
  }

  .mg-card__price s {
    color: var(--grey);
    font-weight: 400;
    font-size: 11.5px;
    margin-left: 5px;
  }

  .mg-card__variant {
    margin-bottom: 8px;
  }

  .mg-card__variant select,
  .mg-card__qty select {
    font-family: inherit;
    font-size: 12px;
    padding: 6px 26px 6px 9px;
    border: 1px solid var(--grey-light);
    border-radius: 8px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238A8A8A' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 9px center;
    appearance: none;
    cursor: pointer;
    color: var(--ink);
  }

  .mg-card__variant select {
    width: 100%;
  }

  .mg-card__qty {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
  }

  .mg-card__qty label {
    font-size: 11.5px;
    font-weight: 600;
  }

  .mg-card__btn {
    margin-top: auto;
    width: 100%;
    background: var(--olive);
    color: #fff;
    border: none;
    border-radius: 9px;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 600;
    padding: 10px 10px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease;
    white-space: nowrap;
  }

  .mg-card__btn:hover {
    background: var(--olive-hover);
  }

  .mg-card__btn:active {
    transform: scale(0.985);
  }

  .mg-card__btn.is-added {
    background: var(--olive-hover);
    pointer-events: none;
  }

  .mg-card__btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }

  @media (max-width: 1000px) {
    .mg-track {
      grid-template-columns: repeat(3, 1fr);
    }

    .mg-wrap.is-carousel .mg-card {
      flex-basis: calc((100% - 32px) / 3);
    }
  }

  @media (max-width: 700px) {
    .mg-complete {
      padding: 28px 16px 30px;
    }

    .mg-track {
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
    }

    .mg-wrap.is-carousel .mg-card {
      flex-basis: 78%;
    }

    .mg-arrow {
      display: none !important;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .mg-card {
      opacity: 1;
      transform: none;
      animation: none !important;
      transition: none;
    }

    .mg-card:hover {
      transform: none;
    }

    .mg-card__media img {
      transition: none;
    }

    .mg-card:hover .mg-card__media img {
      transform: none;
    }

    .mg-wrap.is-carousel .mg-track {
      scroll-behavior: auto;
    }
  }
/* END_SECTION:complementary-accessories */

/* START_SECTION:conservation-approach (INDEX:26) */
.ca2-section {
    width: 100%;
  }

  .ca2-inner {
    margin: 0 auto;
  }

  .ca2-header {
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .ca2-header--center {
    align-items: center;
    text-align: center;
  }

  .ca2-header--left {
    align-items: flex-start;
    text-align: left;
  }

  .ca2-eyebrow {
    margin: 0;
    font-size: var(--eyebrow-font-size);
    font-weight: var(--eyebrow-font-weight);
    text-transform: var(--eyebrow-text-transform);
    letter-spacing: var(--eyebrow-letter-spacing);
    color: var(--ca2-eyebrow-color);
  }

  .ca2-title {
    margin: 0;
    color: var(--ca2-title-color);
  }

  .ca2-subtitle {
    margin: 0;
    max-width: 640px;
    color: var(--ca2-text-color);
  }

  .ca2-grid {
    display: grid;
    gap: var(--ca2-card-gap);
    grid-template-columns: repeat(1, 1fr);
  }

  @media (min-width: 700px) {
    .ca2-grid.ca2-cols--2 { grid-template-columns: repeat(2, 1fr); }
    .ca2-grid.ca2-cols--3 { grid-template-columns: repeat(3, 1fr); }
    .ca2-grid.ca2-cols--4 { grid-template-columns: repeat(4, 1fr); }
    .ca2-grid.ca2-cols--auto { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
  }

  .ca2-card {
    background: var(--ca2-card-bg);
    border: var(--ca2-card-border-width) solid var(--ca2-card-border);
    border-radius: var(--ca2-card-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color var(--ca2-hover-speed) ease, transform var(--ca2-hover-speed) ease;
  }

  .ca2-card:hover {
    border-color: var(--ca2-card-border-hover);
  }

  .ca2-section[data-elevation-enabled="true"] .ca2-card:hover {
    transform: translateY(calc(var(--ca2-elevation) * -1));
  }

  .ca2-card__media {
    display: block;
    overflow: hidden;
    border-radius: var(--ca2-image-radius);
    margin: 12px 12px 0;
  }

  .ca2-ratio--square { aspect-ratio: 1 / 1; }
  .ca2-ratio--landscape { aspect-ratio: 4 / 3; }
  .ca2-ratio--portrait { aspect-ratio: 3 / 4; }
  .ca2-ratio--wide { aspect-ratio: 16 / 9; }

  .ca2-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--ca2-hover-speed) ease;
  }

  [data-hover-zoom="true"] .ca2-card:hover .ca2-card__image {
    transform: scale(var(--ca2-zoom-scale));
  }

  .ca2-card__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
  }

  .ca2-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--ca2-badge-size);
    height: var(--ca2-badge-size);
    border-radius: var(--ca2-badge-radius);
    background: var(--ca2-badge-bg);
    color: var(--ca2-badge-icon);
    transition: background-color var(--ca2-hover-speed) ease, color var(--ca2-hover-speed) ease;
  }

  .ca2-section[data-badge-hover="true"] .ca2-card:hover .ca2-card__badge {
    background: var(--ca2-badge-bg-hover);
    color: var(--ca2-badge-icon-hover);
  }

  .ca2-card__badge .icon {
    font-size: calc(var(--ca2-badge-size) * 0.5) !important;
  }

  .ca2-card__title {
    margin: 0;
    color: var(--ca2-title-color);
    font-size: 19px;
    font-weight: 600;
  }

  .ca2-card__text {
    margin: 0;
    color: var(--ca2-text-color);
    line-height: 1.55;
  }

  .ca2-cta-wrap {
    display: flex;
    justify-content: center;
    margin-top: 44px;
  }

  .ca2-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }

  .ca2-cta__arrow {
    display: flex;
    align-items: center;
    transition: transform var(--ca2-hover-speed) ease;
  }

  .ca2-cta__arrow .icon {
    font-size: 18px !important;
  }

  .ca2-cta:hover .ca2-cta__arrow {
    transform: translateX(3px);
  }

  .ca2-cta--hover-color:hover {
    background-color: var(--ca2-cta-hover-bg) !important;
    border-color: var(--ca2-cta-hover-bg) !important;
  }

  /* Apparition au scroll (désactivée par défaut, voir schema) */
  .ca2-card--reveal-ready {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity var(--ca2-reveal-duration) ease, transform var(--ca2-reveal-duration) ease;
  }

  .ca2-card--reveal-ready.ca2-card--visible {
    opacity: 1;
    transform: translateY(0);
  }

  @media (prefers-reduced-motion: reduce) {
    .ca2-card,
    .ca2-card__image,
    .ca2-card__badge,
    .ca2-cta__arrow {
      transition: none !important;
      transform: none !important;
    }

    .ca2-card--reveal-ready {
      opacity: 1 !important;
      transform: none !important;
    }
  }
/* END_SECTION:conservation-approach */

/* START_SECTION:custom-code (INDEX:27) */
.custom-code-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_SECTION:custom-code */

/* START_SECTION:custom-section (INDEX:28) */
.section-custom-section {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  .section-custom-section .text-block[data-visual-preview-mode] {
    max-width: 100%;
  }

  .section-custom-section .image-card[data-visual-preview-mode] {
    width: 100%;
  }

  .custom-section {
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    justify-content: center;
  }

  .custom-section .custom-section__inner {
    gap: var(--gap-mobile);
    width: 100%;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .custom-section--flex .custom-section__inner {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
    height: 100%;
  }

  .custom-section:not(.custom-section--row-mobile) > div > .custom-section__inner > .text-block-center-mobile,
  .custom-section:not(.custom-section--row-mobile) > .custom-section__inner > .text-block-center-mobile {
    width: 100%;
  }

  .custom-section--grid .custom-section__inner {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
  }

  @media (width > 750px) {
    .custom-section .custom-section__inner {
      gap: var(--gap);
    }

    .custom-section--flex .custom-section__inner {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
      height: auto;
    }

    .custom-section:not(.custom-section--row-desktop) > div > .custom-section__inner > .text-block-center-desktop,
    .custom-section:not(.custom-section--row-desktop) > .custom-section__inner > .text-block-center-desktop,
    .custom-section:not(.custom-section--row-desktop) > div > .custom-section__inner > .text-block-right-desktop,
    .custom-section:not(.custom-section--row-desktop) > .custom-section__inner > .text-block-right-desktop {
      width: 100%;
    }

    .custom-section--grid .custom-section__inner {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:custom-section */

/* START_SECTION:demo-design-system (INDEX:29) */
.highlights {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 1.5rem;
  }

  @media (width <= 1000px) {
    .highlights {
      grid-template-columns: 1fr;
    }
  }

  .highlight {
    display: flex;
    flex-direction: column;
  }

  .highlight > * + * {
    margin-top: 1rem;
  }

  .highlight-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
/* END_SECTION:demo-design-system */

/* START_SECTION:faq-help-search (INDEX:30) */
.fh-wrap {
    background: var(--fh-section-bg);
    padding-top: var(--fh-padding-top);
    padding-bottom: var(--fh-padding-bottom);
  }

  .fh-inner {
    max-width: var(--fh-max-width);
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--fh-column-gap);
  }

  @media (width >= 900px) {
    .fh-inner {
      grid-template-columns: var(--fh-left-column-width) 1fr;
      align-items: start;
    }
  }

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

  .fh-help-card {
    background: var(--fh-card-bg);
    border-radius: var(--fh-card-radius);
    padding: var(--fh-card-padding-top) var(--fh-card-padding-right) var(--fh-card-padding-bottom) var(--fh-card-padding-left);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: var(--fh-help-card-align);
    gap: 12px;
    height: fit-content;
  }

  .fh-avatar-wrap { margin-bottom: 4px; }

  .fh-avatar {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: var(--fh-avatar-radius);
    display: block;
  }

  .fh-help-card__title {
    font-size: 20px;
    font-weight: 700;
    color: var(--fh-card-title-color);
  }

  .fh-help-card__title p { margin: 0; }

  .fh-help-card__text {
    font-size: 14px;
    color: var(--fh-card-text-color);
    line-height: 1.5;
  }

  .fh-help-card__text p { margin: 0; }

  .fh-help-card__buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    margin-top: 8px;
  }

  .fh-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: var(--button-padding-vertical) var(--button-padding-horizontal);
    border-radius: var(--button-border-radius);
    font-size: var(--button-font-size, inherit);
    font-weight: var(--button-primary-font-weight, 600);
    text-transform: var(--button-primary-text-transform, none);
    letter-spacing: var(--button-letter-spacing, normal);
    text-decoration: none;
    transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
  }

  .fh-button--primary {
    background: var(--fh-btn-primary-bg);
    color: var(--fh-btn-primary-text);
    border: 1.5px solid var(--fh-btn-primary-bg);
  }

  .fh-button--primary:hover {
    background: var(--fh-btn-primary-bg-hover);
    border-color: var(--fh-btn-primary-bg-hover);
  }

  .fh-button--secondary {
    background: transparent;
    color: var(--fh-btn-secondary-text);
    border: 1.5px solid var(--fh-btn-secondary-border);
    font-weight: var(--button-secondary-font-weight, var(--button-primary-font-weight, 600));
  }

  .fh-faq-title {
    font-size: var(--fh-title-font-size);
    font-weight: 700;
    color: var(--fh-item-label-color);
    text-align: center;
    margin-top: var(--fh-title-margin-top);
    margin-bottom: var(--fh-title-margin-bottom);
  }

  .fh-faq-title p { margin: 0; }

  .fh-search__field {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1.5px solid var(--fh-search-border);
    background: var(--fh-search-bg);
    border-radius: var(--button-border-radius, 8px);
    padding: 10px 16px;
  }

  .fh-search__field:focus-within {
    border-color: var(--fh-search-border-focus);
  }

  .fh-search__icon {
    display: flex;
    color: var(--fh-item-detail-color);
    flex-shrink: 0;
  }

  .fh-search__icon .icon { font-size: 20px !important; }

  .fh-search__input {
    border: none;
    outline: none;
    flex: 1;
    font-size: 15px;
    background: transparent;
    color: var(--fh-item-label-color);
  }

  .fh-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
  }

  .fh-pill {
    border: 1px solid var(--fh-pill-border);
    background: var(--fh-pill-bg);
    color: var(--fh-pill-text);
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 150ms ease, color 150ms ease;
  }

  .fh-pill--active {
    background: var(--fh-pill-active-bg);
    color: var(--fh-pill-active-text);
    border-color: var(--fh-pill-active-bg);
  }

  .fh-results {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 18px;
  }

  .fh-item {
    background: var(--fh-item-bg);
    border: 1px solid var(--fh-item-border);
    border-radius: 10px;
    padding: 14px 16px;
    transition: background-color var(--fh-transition-duration) ease;
  }

  .fh-item__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    list-style: none;
    font-size: 15px;
    font-weight: 600;
    color: var(--fh-item-label-color);
  }

  .fh-item__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fh-link-color);
    flex-shrink: 0;
  }

  .fh-item__icon .icon {
    font-size: 20px !important;
  }

  .fh-item__label {
    flex: 1;
  }

  .fh-item__summary::-webkit-details-marker { display: none; }
  .fh-item__summary::marker { content: ''; }

  .fh-item__summary:focus-visible {
    outline: 2px solid var(--fh-link-color);
    outline-offset: 3px;
    border-radius: 4px;
  }

  .fh-item__chevron {
    color: var(--fh-item-detail-color);
    display: flex;
    flex-shrink: 0;
    transition: transform var(--fh-transition-duration) ease;
  }

  .fh-item[open] .fh-item__chevron { transform: rotate(180deg); }

  .fh-item__body {
    display: grid !important;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--fh-transition-duration) ease;
  }

  .fh-item[open] .fh-item__body { grid-template-rows: 1fr; }

  .fh-item__body > .fh-item__detail {
    overflow: hidden;
    min-height: 0;
  }

  .fh-item__detail {
    padding-top: 8px;
    font-size: 14px;
    color: var(--fh-item-detail-color);
    line-height: 1.5;
  }

  .fh-results-empty {
    margin-top: 12px;
    font-size: 14px;
    color: var(--fh-item-detail-color);
  }

  .fh-link {
    color: var(--fh-link-color);
    text-decoration: underline;
  }

  .fh-faq-link-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
  }

  .fh-faq-link {
    gap: 8px;
  }

  .fh-faq-link:hover { text-decoration: none; }

  .fh-faq-link-subtext {
    margin: 10px 0 0;
    font-size: 13px;
    color: var(--fh-item-detail-color);
    text-align: center;
  }

  @media (prefers-reduced-motion: reduce) {
    .fh-item,
    .fh-item__chevron,
    .fh-item__body {
      transition: none !important;
    }
  }
/* END_SECTION:faq-help-search */

/* START_SECTION:faq-metaobjects (INDEX:31) */
.fq-wrap {
    background: var(--fq-bg);
    padding-top: var(--fq-padding-top);
    padding-bottom: var(--fq-padding-bottom);
  }

  .fq-inner {
    max-width: var(--fq-max-width);
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-direction: column;
    gap: 28px;
  }

  .fq-title {
    margin: 0;
    font-size: var(--fq-title-size);
    font-weight: 700;
    color: var(--fq-title-color);
  }

  .fq-title p,
  .fq-subtitle p {
    margin: 0;
  }

  .fq-subtitle {
    color: var(--fq-detail-color);
    max-width: 60ch;
  }

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

  .fq-search__label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    color: var(--fq-detail-color);
  }

  .fq-search__field {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1.5px solid var(--fq-badge-border);
    border-radius: var(--button-border-radius, 8px);
    padding: 10px 16px;
    max-width: 480px;
  }

  .fq-search__field:focus-within {
    border-color: var(--fq-link-color);
  }

  .fq-search__icon {
    display: flex;
    color: var(--fq-detail-color);
    flex-shrink: 0;
  }

  .fq-search__icon .icon {
    font-size: 20px !important;
  }

  .fq-search__input {
    border: none;
    outline: none;
    flex: 1;
    font-size: 15px;
    background: transparent;
    color: var(--fq-label-color);
  }

  .fq-search__count {
    margin-top: 8px;
    font-size: 13px;
    color: var(--fq-detail-color);
  }

  .fq-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .fq-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--fq-pill-border);
    background: var(--fq-pill-bg);
    color: var(--fq-pill-text);
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 13px;
    text-decoration: none;
    transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
  }

  .fq-pill:hover,
  .fq-pill:focus-visible {
    background: var(--fq-pill-active-bg);
    color: var(--fq-pill-active-text);
    border-color: var(--fq-pill-active-bg);
  }

  .fq-pill__icon {
    display: flex;
    align-items: center;
  }

  .fq-pill__icon .icon { font-size: 16px !important; }

  .fq-categories {
    display: flex;
    flex-direction: column;
    gap: var(--fq-category-gap);
  }

  .fq-category {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    scroll-margin-top: 100px;
  }

  .fq-category--no-image {
    grid-template-columns: 1fr;
  }

  @media (width > 750px) {
    .fq-category--has-image {
      grid-template-columns: 1fr 1fr;
      gap: var(--fq-category-column-gap);
      align-items: start;
    }

    .fq-category--image-right .fq-category__media {
      order: 2;
    }

    .fq-category--image-right .fq-category__content {
      order: 1;
    }
  }

  .fq-category__media {
    border-radius: var(--fq-image-radius);
    overflow: hidden;
    width: 100%;
    aspect-ratio: var(--fq-image-ratio);
  }

  .fq-category__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .fq-category__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }

  .fq-category__title {
    margin: 0 0 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: var(--fq-category-title-size);
    font-weight: 700;
    color: var(--fq-category-title-color);
  }

  .fq-category__icon {
    display: flex;
    align-items: center;
    color: var(--fq-link-color);
    flex-shrink: 0;
  }

  .fq-category__icon .icon {
    font-size: 24px !important;
  }

  .fq-accordions {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .fq-item {
    background: var(--fq-badge-bg);
    border: 1px solid var(--fq-badge-border);
    border-radius: 10px;
    padding: 16px 18px;
    transition: background-color var(--fq-transition-duration) ease;
  }

  .fq-item[open] {
    background: var(--fq-badge-bg-open);
  }

  .fq-item__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    list-style: none;
    font-size: var(--fq-label-size);
    font-weight: 600;
    color: var(--fq-label-color);
  }

  .fq-item__summary::-webkit-details-marker { display: none; }
  .fq-item__summary::marker { content: ''; }

  .fq-item__summary:focus-visible {
    outline: 2px solid var(--fq-link-color);
    outline-offset: 3px;
    border-radius: 4px;
  }

  .fq-item__chevron {
    color: var(--fq-detail-color);
    display: flex;
    flex-shrink: 0;
    transition: transform var(--fq-transition-duration) ease;
  }

  .fq-item[open] .fq-item__chevron {
    transform: rotate(180deg);
  }

  .fq-item__body {
    display: grid !important;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--fq-transition-duration) ease;
  }

  .fq-item[open] .fq-item__body {
    grid-template-rows: 1fr;
  }

  .fq-item__body > .fq-item__detail {
    overflow: hidden;
    min-height: 0;
  }

  .fq-item__detail {
    padding-top: 10px;
    font-size: var(--fq-detail-size);
    color: var(--fq-detail-color);
    line-height: 1.55;
  }

  .fq-item__detail p { margin: 0; }

  .fq-empty-config {
    color: var(--fq-detail-color);
    font-size: 14px;
  }

  @media (prefers-reduced-motion: reduce) {
    .fq-item,
    .fq-item__chevron,
    .fq-item__body {
      transition: none !important;
    }
  }
/* END_SECTION:faq-metaobjects */

/* START_SECTION:featured-collection (INDEX:32) */
.fc-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .fc-inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .fc-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 28px;
  }

  .fc-header--center {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .fc-header__text {
    max-width: 720px;
  }

  @media (width < 750px) {
    .fc-header {
      flex-direction: column;
      align-items: flex-start;
      gap: 16px;
    }
  }

  .fc-eyebrow {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fc-eyebrow-color);
  }

  .fc-title {
    margin: 0 0 10px;
    color: var(--fc-title-color);
  }

  .fc-subtitle {
    margin: 0;
    color: var(--fc-subtitle-color);
  }

  /* Bouton "Voir tous" : surcharge scopée à cette section pour rester
     olive quelle que soit la palette de couleurs choisie, tout en gardant
     la forme/typo/padding du système de bouton global. */
  .fc-header__cta .button {
    background-color: var(--fc-view-all-bg);
    color: var(--fc-view-all-text);
    border-color: var(--fc-view-all-border);
  }

  .fc-header__cta .button:hover {
    background-color: var(--fc-view-all-bg-hover);
    color: var(--fc-view-all-text);
    border-color: var(--fc-view-all-bg-hover);
  }

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

  /* Style de la carte produit (.fc-card et descendants) : voir
     assets/product-card-premium.css, chargé plus haut via stylesheet_tag —
     composant PARTAGÉ avec sections/main-collection.liquid, plus dupliqué
     ici (brief "cartes premium sur la grille collection"). */

  /* Flèches et pagination : surcharge scopée à cette section uniquement,
     pour rester cohérent avec "Nos collections" / "Le guide de la
     conservation" sans affecter les autres carrousels du site. */
  .fc-section .splide__arrow {
    background: var(--fc-arrow-bg);
    border: none;
  }

  .fc-section .splide__arrow .icon--arrow_back,
  .fc-section .splide__arrow .icon--arrow_forward {
    color: var(--fc-arrow-icon);
  }

  .fc-section .splide__pagination__page {
    background: var(--fc-pagination-inactive);
    opacity: 1;
  }

  .fc-section .splide__pagination__page.is-active {
    background: var(--fc-pagination-active);
    opacity: 1;
  }
/* END_SECTION:featured-collection */

/* START_SECTION:footer (INDEX:33) */
.footer-section {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  .footer {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    margin-top: var(--margin-top);
  }

  .footer--top-border {
    border-top: var(--separator-border-width) solid var(--color-border);
  }

  .footer__content {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
    gap: var(--gap-mobile);
    width: 100%;
  }

  .footer--flex .footer__content {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
  }

  .footer--grid .footer__content {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
  }

  @media (width > 750px) {
    .footer__content {
      gap: var(--gap);
    }

    .footer--flex .footer__content {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
    }

    .footer--grid .footer__content {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:footer */

/* START_SECTION:grille-usages (INDEX:34) */
.gu-wrap {
    background: var(--gu-bg);
    padding-top: var(--gu-padding-top);
    padding-bottom: var(--gu-padding-bottom);
  }

  .gu-inner {
    max-width: var(--gu-max-width);
    margin: 0 auto;
    padding: 0 24px;
  }

  .gu-header {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: var(--gu-header-gap);
  }

  .gu-header--center { align-items: center; text-align: center; }
  .gu-header--left { align-items: flex-start; text-align: left; }

  .gu-eyebrow {
    margin: 0;
    text-transform: uppercase;
    font-size: var(--gu-eyebrow-size);
    font-weight: var(--gu-eyebrow-weight);
    letter-spacing: var(--gu-eyebrow-spacing);
    color: var(--gu-eyebrow-color);
    font-family: var(--gu-eyebrow-font, inherit);
  }

  .gu-title {
    margin: 0;
    font-size: var(--gu-title-size);
    font-weight: var(--gu-title-weight);
    color: var(--gu-title-color);
    font-family: var(--gu-title-font, inherit);
  }

  .gu-grid {
    display: grid;
    grid-template-columns: repeat(var(--gu-columns-mobile), 1fr);
    align-items: start;
    gap: var(--gu-card-gap);
  }

  @media (width >= 750px) {
    .gu-grid {
      grid-template-columns: repeat(var(--gu-columns-desktop), 1fr);
    }
  }

  .gu-card {
    display: block;
    border-radius: var(--gu-card-radius);
    box-shadow: var(--gu-shadow);
    text-decoration: none;
    color: inherit;
  }

  a.gu-card {
    cursor: pointer;
  }

  a.gu-card:focus-visible {
    outline: 3px solid #1a1a1a;
    outline-offset: 3px;
    border-radius: var(--gu-card-radius);
  }

  /* Hauteur basée sur la largeur via un padding-top en pourcentage : ne
     dépend ni de aspect-ratio ni du comportement d'étirement de CSS Grid,
     fonctionne de façon fiable dans tous les navigateurs. */
  .gu-card__media {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: inherit;
  }

  .gu-card__media.gu-card--portrait { padding-top: 133.33%; }
  .gu-card__media.gu-card--square { padding-top: 100%; }
  .gu-card__media.gu-card--free { padding-top: 0; min-height: 280px; }

  .gu-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .gu-card__img--placeholder {
    background: color-mix(in srgb, var(--gu-card-title-color) 12%, transparent);
  }

  .gu-card__gradient {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--gu-gradient-height);
    background: linear-gradient(to bottom, var(--gu-gradient-start), var(--gu-gradient-end));
    pointer-events: none;
  }

  .gu-card__content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: var(--gu-card-padding);
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .gu-card__title {
    margin: 0;
    text-transform: uppercase;
    font-weight: var(--gu-card-title-weight);
    font-size: var(--gu-card-title-size);
    letter-spacing: var(--gu-card-title-spacing);
    color: var(--gu-card-title-color);
    font-family: var(--gu-card-title-font, inherit);
  }

  .gu-card__description {
    margin: 0;
    font-weight: var(--gu-card-desc-weight);
    font-size: var(--gu-card-desc-size);
    color: var(--gu-card-desc-color);
    font-family: var(--gu-card-desc-font, inherit);
  }

  .gu-card,
  .gu-card__img {
    transition: transform var(--gu-transition-duration) ease, filter var(--gu-transition-duration) ease;
  }

  .gu-card__content {
    transition: transform var(--gu-transition-duration) ease;
  }

  .gu-hover-on.gu-hover--zoom .gu-card:hover .gu-card__img {
    transform: scale(calc(1 + (var(--gu-hover-intensity) / 1000)));
  }

  .gu-hover-on.gu-hover--darken .gu-card:hover .gu-card__img {
    filter: brightness(calc(1 - (var(--gu-hover-intensity) / 200)));
  }

  .gu-hover-on.gu-hover--text_up .gu-card:hover .gu-card__content {
    transform: translateY(calc(var(--gu-hover-intensity) / -5 * 1px));
  }

  @media (prefers-reduced-motion: reduce) {
    .gu-card,
    .gu-card__img,
    .gu-card__content {
      transition: none;
    }
    .gu-hover-on .gu-card:hover .gu-card__img {
      transform: none;
      filter: none;
    }
    .gu-hover-on .gu-card:hover .gu-card__content {
      transform: none;
    }
  }
/* END_SECTION:grille-usages */

/* START_SECTION:header (INDEX:35) */
.mg-nav{display:flex;align-items:center;gap:16px}.mg-nav a{font-size:14px!important;white-space:nowrap;color:#25291f;text-decoration:none}.mg-nav a:focus-visible,.mg-mobile-menu summary:focus-visible{outline:2px solid #515831;outline-offset:4px}.mg-mobile-menu summary{list-style:none;cursor:pointer;display:flex;padding:10px}.mg-mobile-menu summary::-webkit-details-marker{display:none}.mg-mobile-menu .mg-nav{position:absolute;left:0;right:0;top:100%;background:#f7f5ef;display:grid;gap:0;box-shadow:0 12px 20px #0002;max-height:75vh;overflow:auto;padding:12px 20px}.mg-mobile-menu .mg-nav a{padding:12px 4px}.mg-mobile-menu{position:static}@media(width>1000px){.mg-mobile-menu{display:none}}


  .mg-nav a.mg-nav__professionals {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 6px 14px;
    border: 1px solid var(--mg-pro-pill-border);
    border-radius: 999px;
    background: var(--mg-pro-pill-bg);
    color: var(--mg-pro-pill-text) !important;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
  }
  .mg-nav a.mg-nav__professionals:hover,
  .mg-nav a.mg-nav__professionals:focus-visible {
    background: var(--mg-pro-pill-hover);
    border-color: var(--mg-pro-pill-hover);
    color: #f8f7f1 !important;
  }
  .mg-mobile-menu .mg-nav a.mg-nav__professionals {
    justify-self: start;
    min-height: 44px;
    margin: 6px 0;
    padding: 10px 16px;
  }

  .shopify-section-group-header-group {
    overflow: visible;
  }

  .section-header {
    position: relative;
  }

  header-component {
    display: flex;
    justify-content: center;
  }

  /* Header transparent */

  .section-header:has(.header--transparent):not(:has(.header--sticky)) {
    z-index: 3;
  }

  .header--transparent {
    margin-bottom: -100%;
  }

  .header--transparent[data-sticky-state='inactive']:not(:has(.header__menu-item--megamenu[data-open='true'])) {
    background-color: transparent;

    .header__layout {
      background-color: transparent;
      color: inherit;
      border-bottom: none;
    }

    .localization-form__language-select {
      background-color: transparent;
      color: inherit;
    }

    .header__logo-image--transparent {
      display: block;
    }

    &:has(.header__logo-image--transparent) .header__logo-image {
      display: none;
    }
  }

  .header__logo {
    display: flex;
    align-items: center;
  }

  .header__logo-image,
  .header__logo-image--transparent {
    height: var(--logo-height-mobile);
    width: var(--logo-width-mobile);
    transform: translateY(var(--logo-offset-y-mobile, 0px));
  }

  @media (width > 1000px) {
    .header__logo-image,
    .header__logo-image--transparent {
      height: var(--logo-height);
      width: var(--logo-width);
      transform: translateY(var(--logo-offset-y, 0px));
    }
  }

  .header__logo-image--transparent {
    display: none;
  }

  .header__logo-name {
    text-transform: uppercase;
    font-weight: bold;
  }

  .header__menu {
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  .header__menu-mobile {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: flex-start;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: inherit;
  }

  header-component:not(:has(.header__mobile-menu-overlay)) .header__menu-mobile {
    display: none;
  }

  @media (width > 1000px) {
    .header__menu-mobile {
      display: none;
    }

    .search-popup-mobile {
      display: none;
    }
  }

  .header__menu a,
  .header__menu-mobile {
    transition: var(--animation-link-hover);
  }

  .header__menu a:hover,
  .header__menu-mobile:hover {
    opacity: var(--opacity-link-hover);
  }

  .header__menu a:not(.button) {
    text-decoration: none;
    color: inherit;
  }

  .header__menu a {
    font-size: var(--font-body--size);
  }

  /* Mise en page des headers */

  .header__layout {
    border-bottom: var(--separator-border-width) solid var(--color-border);
  }

  .header__layout-desktop {
    display: none;
  }

  .header__layout-mobile {
    display: flex;
    width: 100%;
    max-width: var(--page-width);
    padding: 0 var(--page-margin-mobile);
  }

  @media (width > 1000px) {
    .header__layout-desktop {
      display: flex;
      width: 100%;
    }

    .header__layout-mobile {
      display: none;
    }
  }

  .header__layout--logo-center,
  .header__layout--logo-left,
  .header__layout--logo-left-menu-left,
  .header__layout--logo-center-with-two-menus,
  .header__layout--logo-center-above-menu__logo-and-icons,
  .header__layout--logo-left-above-menu__logo-and-icons {
    height: var(--header-height);
  }

  .header__layout--logo-center,
  .header__layout--logo-left,
  .header__layout--logo-left-menu-left,
  .header__layout--logo-center-with-two-menus,
  .header__layout--logo-center-above-menu,
  .header__layout--logo-left-above-menu {
    width: 100%;
  }

  .header__layout--logo-center,
  .header__layout--logo-left,
  .header__layout--logo-left-menu-left,
  .header__layout--logo-center-with-two-menus {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1.5rem;
  }

  .header__layout--logo-left-menu-left {
    grid-template-columns: auto auto 1fr;
  }

  .header__layout--logo-center {
    .header__menu-desktop {
      justify-content: flex-start;
    }

    .header__logo {
      justify-content: center;
    }

    .header__actions {
      justify-content: flex-end;
    }
  }

  .header__layout--logo-left {
    .header__logo {
      justify-content: flex-start;
    }

    .header__menu-desktop {
      justify-content: center;
    }

    .header__actions {
      justify-content: flex-end;
    }
  }

  .header__layout--logo-left-menu-left {
    .header__logo {
      justify-content: flex-start;
    }

    .header__menu-desktop {
      justify-content: flex-start;
    }

    .header__actions {
      justify-content: flex-end;
    }
  }

  .header__layout--logo-center-above-menu {
    .header__layout--logo-center-above-menu__logo-and-icons {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      gap: 1.5rem;
      align-items: center;

      .header__logo {
        grid-column: 2;
        justify-content: center;
      }

      .header__actions {
        grid-column: 3;
        justify-content: flex-end;
      }
    }

    .header__menu-desktop {
      justify-content: center;
      width: 100%;
    }
  }

  .header__layout--logo-left-above-menu {
    .header__layout--logo-left-above-menu__logo-and-icons {
      display: grid;
      grid-template-columns: auto auto;

      .header__logo {
        grid-column: 1;
        justify-content: flex-start;
      }

      .header__actions {
        grid-column: 2;
        justify-content: flex-end;
      }
    }
  }

  .header__layout--logo-center-above-menu__menu,
  .header__layout--logo-left-above-menu__menu {
    padding-bottom: 1rem;
  }

  .header__layout--logo-center-above-menu__menu,
  .header__layout--logo-left-above-menu__menu:not(:has(.button)) {
    height: 2rem;
  }

  .header__layout--logo-center-with-two-menus {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1.5rem;

    .header__layout--logo-center-with-two-menus__logo-and-menus {
      grid-column: 2;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      gap: 2rem;

      & > .header__menu:first-of-type {
        justify-content: flex-end;
      }
    }

    .header__actions {
      grid-column: 3;
      justify-content: flex-end;
    }
  }

  .header__icon-count-bubble {
    position: absolute;
    bottom: -6px;
    right: -6px;
    border-radius: 10px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
  }

  .header__icon-count-bubble-inner {
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-text);
    width: 14px;
    height: 14px;
    font-size: 0.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 0.6rem;
  }

  .header__icon-count-bubble--long {
    width: 30px;
    right: -50%;
  }

  header-component:not(.header--transparent) .header__icon-count-bubble,
  .header--transparent[data-sticky-state='active'] .header__icon-count-bubble,
  .header--transparent[data-sticky-state='inactive']:has(.header__menu-item--megamenu[data-open='true']) .header__icon-count-bubble {
    background-color: var(--color-background);
  }
/* END_SECTION:header */

/* START_SECTION:image-avec-texte (INDEX:36) */
.ia-wrap {
    background: var(--ia-bg);
    padding-top: var(--ia-padding-top);
    padding-bottom: var(--ia-padding-bottom);
  }

  .ia-inner {
    max-width: var(--ia-max-width);
    margin: 0 auto;
    padding: 0 24px;
  }

  .ia-header {
    display: flex;
    flex-direction: column;
    align-items: var(--ia-header-align);
    text-align: var(--ia-header-text-align);
    gap: 10px;
    margin-bottom: var(--ia-top-gap);
  }

  .ia-eyebrow {
    margin: 0;
    color: var(--ia-eyebrow-color);
    font-size: var(--ia-eyebrow-size);
    font-weight: var(--ia-eyebrow-weight);
    letter-spacing: var(--ia-eyebrow-spacing);
    text-transform: var(--ia-eyebrow-transform);
  }

  .ia-title {
    margin: 0;
    color: var(--ia-title-color);
    font-size: var(--ia-title-size);
    font-weight: var(--ia-title-weight);
    line-height: 1.2;
  }

  .ia-columns {
    display: grid;
    grid-template-columns: var(--ia-image-width) var(--ia-text-width);
    gap: var(--ia-column-gap);
    align-items: center;
  }

  .ia-wrap--reverse .ia-columns {
    grid-template-columns: var(--ia-text-width) var(--ia-image-width);
  }
  .ia-wrap--reverse .ia-col--image { order: 2; }
  .ia-wrap--reverse .ia-col--text { order: 1; }

  .ia-image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: var(--ia-image-ratio);
    object-fit: cover;
    border-radius: var(--ia-image-radius);
    box-shadow: var(--ia-image-shadow);
  }

  .ia-image--placeholder {
    background: color-mix(in srgb, currentColor 8%, transparent);
    aspect-ratio: var(--ia-image-ratio, 4 / 3);
  }

  .ia-col--text {
    display: flex;
    flex-direction: column;
    align-items: var(--ia-col-align);
    text-align: var(--ia-col-text-align);
    gap: 16px;
  }

  .ia-subtitle {
    margin: 0;
    color: var(--ia-subtitle-color);
    font-size: var(--ia-subtitle-size);
    font-weight: var(--ia-subtitle-weight);
    line-height: 1.25;
  }

  .ia-paragraph {
    color: var(--ia-paragraph-color);
    font-size: var(--ia-paragraph-size);
    line-height: var(--ia-paragraph-line-height);
  }
  .ia-paragraph p { margin: 0; }

  .ia-button {
    display: inline-block;
    margin-top: 6px;
    padding: 13px 28px;
    background: var(--ia-button-bg);
    color: var(--ia-button-text);
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
  }
  .ia-button:hover { opacity: 0.85; }

  @media (width < 750px) {
    .ia-columns {
      grid-template-columns: 1fr;
    }
    .ia-wrap--reverse .ia-columns {
      grid-template-columns: 1fr;
    }
    .ia-wrap--reverse .ia-col--image { order: 1; }
    .ia-wrap--reverse .ia-col--text { order: 2; }
  }
/* END_SECTION:image-avec-texte */

/* START_SECTION:image-banner (INDEX:37) */
.image-banner-wrapper {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .image-banner-wrapper__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .image-banner-wrapper--children-cards .image-banner {
    border-radius: var(--card-border-radius);
  }

  .image-banner-wrapper .splide__arrow {
    background-color: transparent;
    border: none;

    .icon {
      color: white;
    }
  }

  .image-banner-wrapper .splide__pagination {
    bottom: 5px;

    .splide__pagination__page,
    .splide__pagination__page.is-active {
      background: white;
    }
  }
/* END_SECTION:image-banner */

/* START_SECTION:lien-retour (INDEX:38) */
.lr-wrap {
    margin-top: var(--lr-margin-top);
    margin-bottom: var(--lr-margin-bottom);
  }

  .lr-inner {
    max-width: var(--lr-max-width);
    margin: 0 auto;
    padding: 0 24px;
  }

  .lr-align--left .lr-inner { text-align: left; }
  .lr-align--center .lr-inner { text-align: center; }

  .lr-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--lr-color);
    text-decoration: none;
    font-weight: 600;
    border-radius: 4px;
  }

  .lr-link:hover .lr-arrow {
    transform: translateX(-3px);
  }

  .lr-arrow {
    transition: transform 200ms ease;
    flex-shrink: 0;
  }

  .lr-link:focus-visible {
    outline: 2px solid var(--lr-color);
    outline-offset: 4px;
  }
/* END_SECTION:lien-retour */

/* START_SECTION:list-collections-premium (INDEX:39) */
.lcp-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .lcp-inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .lcp-header {
    text-align: center;
    max-width: 640px;
    margin: 0 auto var(--margin-lg, 24px);
  }

  .lcp-eyebrow {
    color: var(--lcp-color-eyebrow);
    margin: 0 0 var(--margin-xs, 8px);
  }

  .lcp-title {
    margin: 0 0 var(--margin-xs, 8px);
    font-family: var(--font-heading--family);
    font-weight: 700;
    color: var(--color-foreground);
  }

  .lcp-subtitle {
    margin: 0;
    color: var(--color-foreground);
    opacity: 0.75;
    line-height: 1.5;
  }

  .lcp-grid {
    display: grid;
    grid-template-columns: repeat(var(--lcp-columns-mobile), 1fr);
    gap: var(--gap-md, 16px);
  }

  @media (width > 750px) {
    .lcp-grid {
      grid-template-columns: repeat(var(--lcp-columns), 1fr);
    }
  }

  /* Carte cliquable dans son intégralité (brief : "toute la carte
     cliquable, pas juste le titre") */
  .lcp-card {
    display: block;
    text-decoration: none;
    color: inherit;
    border-radius: var(--lcp-card-radius);
    overflow: hidden;
    outline: 1px solid transparent;
    /* CORRECTIF : .lcp-card__caption est en position:absolute (layout
       vertical) pour se superposer en bas de l'image. Sans ancêtre
       positionné à proximité, elle se positionnait par rapport au
       prochain ancêtre positionné trouvé en remontant tout le DOM —
       potentiellement très loin de la carte, donc invisible dessus.
       position:relative ici garantit qu'elle reste ancrée à LA carte,
       quel que soit le contexte de page où la section est utilisée. */
    position: relative;
  }

  .lcp-card:focus-visible {
    outline: 2px solid #777d43;
    outline-offset: 2px;
  }

  /* --- Layout vertical (Section A) : image + dégradé + légende en
     surimpression, dans l'esprit de la carte premium déjà existante
     (snippets/cf-prem-card.liquid) --- */
  .lcp-grid--vertical .lcp-card__media {
    position: relative;
    aspect-ratio: 3 / 4;
    display: block;
  }

  .lcp-grid--vertical .lcp-card__image,
  .lcp-grid--vertical .lcp-card__image.lcp-card__image--placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .lcp-grid--vertical .lcp-card__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.78) 0%, transparent 55%);
    pointer-events: none;
  }

  .lcp-grid--vertical .lcp-card__caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: var(--padding-md, 16px);
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .lcp-grid--vertical .lcp-card__title {
    color: #ffffff;
    font-weight: 700;
    font-size: 1.05rem;
  }

  .lcp-grid--vertical .lcp-card__count {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.85rem;
  }

  /* --- Layout horizontal (Section B) : petite vignette carrée à gauche,
     texte simple à droite — volontairement plus sobre pour marquer un
     second niveau de navigation, pas une redite de la Section A --- */
  .lcp-grid--horizontal .lcp-card {
    display: flex;
    align-items: center;
    gap: var(--gap-md, 16px);
    background: var(--color-background, #ffffff);
    border: 1px solid var(--color-border, #e5e3dc);
    padding: var(--padding-sm, 12px);
  }

  .lcp-grid--horizontal .lcp-card__media {
    position: relative;
    flex: 0 0 96px;
    aspect-ratio: 1 / 1;
    border-radius: calc(var(--lcp-card-radius) - 2px);
    overflow: hidden;
  }

  .lcp-grid--horizontal .lcp-card__image,
  .lcp-grid--horizontal .lcp-card__image.lcp-card__image--placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .lcp-grid--horizontal .lcp-card__caption {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .lcp-grid--horizontal .lcp-card__title {
    color: var(--lcp-color-title);
    font-weight: 600;
    font-size: 1rem;
  }

  .lcp-grid--horizontal .lcp-card__count {
    color: var(--color-foreground);
    opacity: 0.65;
    font-size: 0.85rem;
  }

  /* --- Interactions (brief : uniquement transform/opacity, désactivable,
     prefers-reduced-motion respecté) --- */
  .lcp-card__image {
    transition: transform 0.3s ease;
  }

  .lcp-card__title {
    transition: color 0.2s ease;
  }

  [data-hover-enabled='true'] .lcp-card:hover .lcp-card__image {
    transform: scale(1.04);
  }

  [data-hover-enabled='true'] .lcp-card:hover .lcp-card__title {
    color: var(--lcp-color-title-hover);
  }

  @media (prefers-reduced-motion: reduce) {
    .lcp-card__image,
    .lcp-card__title {
      transition: none;
    }
  }

  .lcp-empty {
    text-align: center;
    opacity: 0.7;
  }

  .lcp-signature {font-family:var(--sig-body);font-weight:var(--sig-body-weight);font-size:var(--sig-b);color:var(--sig-text)}
  .lcp-signature .lcp-header {max-width:760px;margin:0 0 28px;text-align:var(--sig-align)}
  .lcp-signature .lcp-title {font-family:var(--sig-heading);font-weight:var(--sig-heading-weight);font-size:var(--sig-h);line-height:1.15;color:var(--lcp-color-title)}
  .lcp-signature .lcp-subtitle {color:var(--sig-text);opacity:1;font-size:var(--sig-b);max-width:660px}
  .lcp-signature .lcp-eyebrow {font-size:12px;letter-spacing:1px;font-weight:500}
  .lcp-signature .lcp-grid {gap:var(--sig-gap)}
  .lcp-signature .lcp-card {background:var(--sig-card);border:1px solid var(--sig-border);min-width:0;outline-offset:3px}
  .lcp-signature .lcp-card:focus-visible {outline-color:var(--lcp-color-title-hover)}
  .lcp-signature .lcp-grid--vertical .lcp-card__media {aspect-ratio:var(--sig-ratio)}
  .lcp-signature .lcp-card__image {object-fit:var(--sig-fit)}
  .lcp-signature .lcp-card__gradient {display:none}
  .lcp-signature .lcp-grid--vertical .lcp-card__caption {position:static;padding:20px;gap:8px}
  .lcp-signature .lcp-card__title {font-family:var(--sig-heading);font-weight:var(--sig-heading-weight);font-size:var(--sig-c);line-height:1.2;color:var(--lcp-color-title)}
  .lcp-signature .lcp-card__count {color:var(--sig-text);font-size:13px;opacity:1}
  .lcp-signature .lcp-card__description {font-size:var(--sig-b);line-height:1.5;color:var(--sig-text)}
  .lcp-signature .lcp-card__link {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:500;color:var(--lcp-color-title-hover);margin-top:8px}
  .lcp-signature .lcp-grid--horizontal .lcp-card {padding:16px;gap:16px;align-items:flex-start}
  .lcp-signature .lcp-grid--horizontal .lcp-card__media {flex:0 0 88px}
  .lcp-signature .lcp-grid--horizontal .lcp-card__caption {flex:1;min-width:0;gap:8px}
  @media(width <= 750px) {
    .lcp-signature {font-size:var(--sig-bm)}
    .lcp-signature .lcp-inner {padding-top:var(--sig-pm);padding-bottom:var(--sig-pm)}
    .lcp-signature .lcp-header {margin-bottom:20px}
    .lcp-signature .lcp-title {font-size:var(--sig-hm)}
    .lcp-signature .lcp-subtitle,.lcp-signature .lcp-card__description {font-size:var(--sig-bm)}
    .lcp-signature .lcp-grid {gap:var(--sig-gapm)}
    .lcp-signature .lcp-card__title {font-size:var(--sig-cm)}
    .lcp-signature .lcp-grid--vertical .lcp-card__caption {padding:14px;gap:6px}
    .lcp-signature .lcp-grid--horizontal .lcp-card {align-items:center;padding:14px}
    .lcp-signature .lcp-grid--horizontal .lcp-card__media {flex-basis:80px}
  }
.mg-collection-offer{position:absolute;z-index:1;max-width:calc(100% - 20px);line-height:1.2;overflow-wrap:anywhere}
/* END_SECTION:list-collections-premium */

/* START_SECTION:machine-quiz (INDEX:40) */
.mq-quiz {
    max-width: var(--mq-max-width);
    margin: 0 auto;
    padding: 32px 20px;
  }

  .mq-title {
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
  }

  .mq-subtitle {
    margin: 0 0 24px;
    text-align: center;
    color: #4a4a4a;
  }

  .mq-progress {
    display: flex;
    gap: 6px;
    margin-bottom: 32px;
  }

  .mq-progress__segment {
    flex: 1;
    height: var(--mq-progress-height);
    border-radius: 999px;
    background: var(--mq-color-inactive);
    transition: background-color 200ms ease;
  }

  .mq-progress__segment.is-active {
    background: var(--mq-color-active);
  }

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

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

  .mq-viewport {
    position: relative;
    min-height: 320px;
  }

  .mq-step[hidden] {
    display: none !important;
  }

  .mq-back {
    background: none;
    border: none;
    padding: 0;
    margin-bottom: 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--mq-color-active);
    cursor: pointer;
  }

  .mq-question {
    margin: 0 0 20px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
  }

  .mq-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  @media (min-width: 700px) {
    .mq-cards {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .mq-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 20px 16px;
    min-height: 44px;
    background: var(--mq-color-card-bg);
    border: 1.5px solid var(--mq-color-card-border);
    border-radius: var(--mq-radius);
    cursor: pointer;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
  }

  .mq-card:hover,
  .mq-card:focus-visible {
    background: var(--mq-color-card-hover);
    border-color: var(--mq-color-active);
  }

  .mq-card:focus-visible {
    outline: 2px solid var(--mq-color-active);
    outline-offset: 2px;
  }

  .mq-card:active {
    transform: scale(0.98);
  }

  @media (prefers-reduced-motion: reduce) {
    .mq-card {
      transition: none;
    }
    .mq-card:active {
      transform: none;
    }
  }

  .mq-card__icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--mq-color-active);
  }

  .mq-card__icon svg {
    width: 100%;
    height: 100%;
  }

  .mq-result__card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    background: var(--mq-color-card-bg);
    border: 1.5px solid var(--mq-color-card-border);
    border-radius: var(--mq-radius);
    overflow: hidden;
  }

  @media (min-width: 700px) {
    .mq-result__card {
      grid-template-columns: 280px 1fr;
    }
  }

  .mq-result__media {
    display: block;
    aspect-ratio: 1 / 1;
  }

  .mq-result__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .mq-result__body {
    padding: 20px 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .mq-result__eyebrow {
    margin: 0;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mq-color-active);
    font-weight: 700;
  }

  .mq-result__name {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
  }

  .mq-result__price {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #4a4a4a;
  }

  .mq-result__justification {
    margin: 8px 0 12px;
    font-size: 14px;
    line-height: 1.5;
    color: #4a4a4a;
  }

  .mq-result__cta {
    align-self: flex-start;
  }

  .mq-restart {
    display: block;
    margin: 24px auto 0;
    background: none;
    border: none;
    padding: 8px;
    min-height: 44px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
    color: var(--mq-color-active);
    cursor: pointer;
  }
/* END_SECTION:machine-quiz */

/* START_SECTION:main-account (INDEX:41) */
.customer-account {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-account__account {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
  }

  .customer-account__account > * {
    margin-bottom: var(--margin-md);
  }

  .customer-account__orders,
  .customer-account__addresses {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-account__order {
    text-decoration: none;
    color: var(--color-foreground);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }

    .customer-account__order-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .customer-account__order-header-left {
      display: flex;
      gap: var(--gap-sm);
      flex-wrap: wrap;
    }

    .customer-account__order-number {
      font-weight: 600;
    }

    .customer-account__order-date {
      font-weight: 100;
      opacity: 0.75;
    }
  }

  .customer-account__default-address > * {
    font-style: italic;
  }
/* END_SECTION:main-account */

/* START_SECTION:main-activate-account (INDEX:42) */
.customer-activate {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-activate__activate {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .customer-activate__activate > .h2 {
    margin-bottom: var(--margin-md);
  }

  .customer-activate__form {
    margin-top: var(--margin-lg);
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-activate__form-actions {
    margin-top: var(--margin-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_SECTION:main-activate-account */

/* START_SECTION:main-addresses (INDEX:43) */
.customer-addresses {
    width: 100%;
    padding: 50px 0;
    display: block;
  }

  .customer-addresses__addresses-container {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-addresses__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    margin: var(--margin-md) 0;
  }

  .checkbox-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--gap-sm);
  }
/* END_SECTION:main-addresses */

/* START_SECTION:main-article (INDEX:44) */
.article {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .article-content {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  @media (width > 750px) {
    .article-content {
      width: 65vw;
    }
  }
/* END_SECTION:main-article */

/* START_SECTION:main-blog (INDEX:45) */
.main-blog {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .main-blog__articles {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .main-blog__articles-grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-lg);
  }

  @media (width > 750px) {
    .main-blog__articles-grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:main-blog */

/* START_SECTION:main-collection (INDEX:46) */
.shopify-section-main-collection {
    overflow: visible;
  }

  .main-collection {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .main-collection__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-lg);
  }

  .main-collection__group + .main-collection__group {
    margin-top: var(--margin-xl, 40px);
  }

  /* Intitulé DISCRET (brief "un petit intitulé discret suffit, l'explication
     complète est déjà donnée juste au-dessus") : réutilise .eyebrow, le
     style de petit repère déjà utilisé ailleurs dans le thème (assets/base.css),
     plutôt qu'un gros titre de section dupliquant l'info du bloc
     explicatif indépendant au-dessus. */
  .main-collection__group-title.eyebrow {
    margin: 0 0 var(--margin-sm, 12px);
  }

  .main-collection__products-grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), minmax(0, 1fr));
    gap: var(--gap-md);
  }

  .main-collection .fc-card {min-width:0;}
  .main-collection .fc-card__title {overflow-wrap:anywhere;}
  .main-collection .fc-card__price strong {white-space:normal;}

  @media (width > 750px) {
    .main-collection:has(.filter-and-sort--inline) .main-collection__inner {
      display: flex;
      flex-direction: column;
      gap: var(--gap-lg);
    }

    .main-collection:has(.filter-and-sort--sidebar) .main-collection__inner {
      display: grid;
      grid-template-columns: 25% calc(75% - var(--gap-lg));
      gap: var(--gap-lg);
    }

    .main-collection__products-grid {
      grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
    }
  }
/* END_SECTION:main-collection */

/* START_SECTION:main-collections (INDEX:47) */
.main-collections {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .main-collections__inner {
    display: flex;
    flex-direction: column;
    gap: var(--gap-lg);
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .main-collections__products-grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .main-collections__products-grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:main-collections */

/* START_SECTION:main-login (INDEX:48) */
.customer-login {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-login__login,
  .customer-login__reset-password {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .customer-login__login-form,
  .customer-login__reset-password-form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    margin-top: var(--margin-lg);
  }

  .customer-login__form-actions {
    margin-top: var(--margin-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_SECTION:main-login */

/* START_SECTION:main-order (INDEX:49) */
.customer-order {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-order__content {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-order__content > .card {
    overflow-x: auto;
  }

  .order-details {
    width: 100%;
  }

  .order-details {
    margin-top: var(--margin-md);
    border: 1px solid var(--color-border, #e1e1e1);
    border-collapse: collapse;
  }
  .order-details th,
  .order-details td {
    border: 1px solid var(--color-border, #e1e1e1);
    padding: 10px;
  }

  .customer-order__addresses {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-order__addresses > .card {
    width: 100%;
  }

  @media (width > 750px) {
    .customer-order__addresses {
      flex-direction: row;
    }
  }
/* END_SECTION:main-order */

/* START_SECTION:main-page (INDEX:50) */
.section-main-page {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  .section-main-page .text-block[data-visual-preview-mode] {
    max-width: 100%;
  }

  .section-main-page .image-card[data-visual-preview-mode] {
    width: 100%;
  }

  .main-page {
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    justify-content: center;
  }

  .main-page .main-page__inner {
    gap: var(--gap-mobile);
    width: 100%;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .main-page--flex .main-page__inner {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
    height: 100%;
  }

  .main-page:not(.main-page--row-mobile) > div > .main-page__inner > .text-block-center-mobile,
  .main-page:not(.main-page--row-mobile) > .main-page__inner > .text-block-center-mobile {
    width: 100%;
  }

  .main-page--grid .main-page__inner {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
  }

  @media (width > 750px) {
    .main-page .main-page__inner {
      gap: var(--gap);
    }

    .main-page--flex .main-page__inner {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
      height: auto;
    }

    .main-page:not(.main-page--row-desktop) > div > .main-page__inner > .text-block-center-desktop,
    .main-page:not(.main-page--row-desktop) > .main-page__inner > .text-block-center-desktop {
      width: 100%;
    }

    .main-page--grid .main-page__inner {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:main-page */

/* START_SECTION:main-register (INDEX:52) */
.customer-register {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-register__register {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .customer-register__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    margin-top: var(--margin-lg);
  }

  .customer-register__form-actions {
    margin-top: var(--margin-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_SECTION:main-register */

/* START_SECTION:main-reset-password (INDEX:53) */
.customer-reset-password {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
    padding: 50px 0;
  }

  .customer-reset-password__reset-password {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .customer-reset-password__reset-password > .h2 {
    margin-bottom: var(--margin-md);
  }

  .customer-reset-password__form {
    margin-top: var(--margin-lg);
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .customer-reset-password__form-actions {
    margin-top: var(--margin-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_SECTION:main-reset-password */

/* START_SECTION:main-search (INDEX:54) */
.main-search {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .main-search__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .main-search__form {
    margin: 0;
  }

  .main-search__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  .main-search__pages {
    display: flex;
    gap: var(--gap-md);
    flex-wrap: wrap;
    padding-bottom: var(--margin-xl);
  }

  .main-search__page-link {
    color: var(--color-foreground);
  }

  .main-search__results-for {
    margin-top: var(--margin-md);
    margin-bottom: var(--margin-lg);
  }

  @media (width > 750px) {
    .main-search__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:main-search */

/* START_SECTION:manifeste-arche (INDEX:55) */
.rp {
    background: var(--rp-bg);
    padding-top: var(--rp-pad-top);
    padding-bottom: var(--rp-pad-bottom);
  }

  .rp__inner {
    max-width: var(--rp-max-width);
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
  }

  .rp__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 auto;
    padding: var(--rp-badge-pad-top) var(--rp-badge-pad-right) var(--rp-badge-pad-bottom) var(--rp-badge-pad-left);
    border-radius: var(--rp-badge-radius);
    background: var(--rp-badge-bg);
    color: var(--rp-badge-color);
    line-height: 1.3;
  }

  .rp__badge-logo {
    height: var(--rp-badge-logo-size);
    width: auto;
    display: block;
  }

  .rp__badge-text {
    font-size: var(--rp-badge-size);
    font-weight: var(--rp-badge-weight);
    letter-spacing: 0.02em;
    color: var(--rp-badge-color);
  }

  .rp__inner { text-align: center; }

  .rp__manifesto {
    max-width: var(--rp-manifesto-max-width);
    margin: 18px auto 0 auto;
    color: var(--rp-manifesto-color);
    font-size: var(--rp-manifesto-size);
    font-weight: var(--rp-manifesto-weight);
    line-height: 1.5;
  }
  .rp__manifesto > :first-child { margin-top: 0; }
  .rp__manifesto > :last-child { margin-bottom: 0; }

  .rp__track {
    position: relative;
    list-style: none;
    margin: 48px 0 0 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
  }

  /* Ligne fine reliant les points (centres des cercles) */
  .rp__track::before {
    content: "";
    position: absolute;
    top: var(--rp-line-top);
    left: var(--rp-line-inset);
    right: var(--rp-line-inset);
    height: var(--rp-line-thickness);
    background: var(--rp-line-color);
    transform: translateY(-50%);
    z-index: 0;
  }

  .rp__item {
    flex: 1 1 0;
    min-width: 0;
    padding: 0 var(--rp-item-gap);
    box-sizing: border-box;
    position: relative;
  }

  .rp__toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    text-align: center;
    cursor: pointer;
  }
  .rp__toggle--static { cursor: default; }

  .rp__toggle:focus-visible {
    outline: 2px solid var(--rp-icon-active-bg);
    outline-offset: 4px;
    border-radius: 8px;
  }

  .rp__index {
    display: block;
    height: calc(var(--rp-index-size) * 1.4);
    line-height: calc(var(--rp-index-size) * 1.4);
    margin-bottom: 10px;
    font-size: var(--rp-index-size);
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--rp-index-color);
  }

  .rp__icon {
    position: relative;
    z-index: 1;
    width: var(--rp-icon-size);
    height: var(--rp-icon-size);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rp-icon-rest-bg);
    border: 2px solid var(--rp-icon-rest-border);
    color: var(--rp-icon-rest);
    box-sizing: border-box;
    font-size: calc(var(--rp-icon-size) * 0.45);
    transition: background 300ms ease, border-color 300ms ease, color 300ms ease;
  }
  /* L'icône est un glyphe de police Material Symbols (snippet 'icon') :
     taille = font-size (héritée du cercle), couleur = currentColor. */
  .rp__icon .icon {
    font-size: inherit;
    line-height: 1;
  }

  .rp__title {
    display: block;
    margin-top: 16px;
    font-size: var(--rp-title-size);
    font-weight: var(--rp-title-weight);
    color: var(--rp-title-color);
    line-height: 1.3;
  }

  .rp__desc {
    display: none;
    max-width: var(--rp-desc-max-width);
    margin: 10px auto 0 auto;
    color: var(--rp-desc-color);
    font-size: var(--rp-desc-size);
    line-height: 1.5;
  }
  .rp__desc p { margin: 0; }

  /* Tactile / défaut : le texte se révèle au TAP (bascule de aria-expanded via JS),
     l'icône passe en fond plein. Motif "disclosure" accessible. */
  .rp__toggle[aria-expanded="true"] ~ .rp__desc { display: block; }
  .rp__toggle[aria-expanded="true"] .rp__icon {
    background: var(--rp-icon-active-bg);
    border-color: var(--rp-icon-active-border);
    color: var(--rp-icon-active);
  }

  /* Desktop (survol réel) : révélation au SURVOL et au FOCUS clavier, sans clic requis.
     Le texte occupe déjà sa place (transition d'opacity), donc pas de saut de mise en page. */
  @media (hover: hover) and (pointer: fine) {
    .rp__desc {
      display: block;
      opacity: 0;
      transform: translateY(6px);
      transition: opacity 350ms ease, transform 350ms ease;
    }
    .rp__item:hover .rp__desc,
    .rp__item:focus-within .rp__desc,
    .rp__toggle[aria-expanded="true"] ~ .rp__desc {
      opacity: 1;
      transform: none;
    }
    .rp__item:hover .rp__icon,
    .rp__item:focus-within .rp__icon {
      background: var(--rp-icon-active-bg);
      border-color: var(--rp-icon-active-border);
      color: var(--rp-icon-active);
    }
  }

  /* Mobile : empilement vertical, ligne masquée. Texte révélé au tap. */
  @media (width < 750px) {
    .rp__track {
      flex-direction: column;
      align-items: stretch;
      gap: 28px;
      margin-top: 36px;
    }
    .rp__track::before { display: none; }
    .rp__item { padding: 0; }
    .rp__index { height: auto; line-height: 1.4; margin-bottom: 8px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .rp__desc,
    .rp__icon {
      transition: none !important;
    }
    .rp__desc { transform: none !important; }
  }
/* END_SECTION:manifeste-arche */

/* START_SECTION:marquee (INDEX:56) */
.section-marquee {
    padding: 0;
    max-width: 100%;
  }

  .marquee-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_SECTION:marquee */

/* START_SECTION:mg-help-contact (INDEX:60) */
.mg-help{display:block;background:var(--mgh-bg);color:var(--mgh-text);font-family:var(--mgh-body-font);font-size:var(--mgh-body);font-weight:var(--mgh-body-weight);line-height:var(--mgh-body-line)}.mg-help *{box-sizing:border-box}.mg-help .mgh-wrap{max-width:var(--mgh-width);margin:auto;padding:var(--mgh-padding) var(--mgh-side)}.mg-help h1,.mg-help h2{font-family:var(--mgh-heading-font);font-weight:var(--mgh-heading-weight);line-height:var(--mgh-heading-line);color:var(--mgh-heading);letter-spacing:-.02em;margin:0 0 16px}.mg-help h1{font-size:var(--mgh-h1);max-width:15ch}.mg-help h2{font-size:var(--mgh-h3)}.mg-help p{margin:0 0 16px}.mg-help .mgh-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--mgh-gap);align-items:center}.mg-help .mgh-eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mgh-accent);margin-bottom:20px}.mg-help .mgh-intro{max-width:48ch}.mg-help .mgh-photo{overflow:hidden;border-radius:var(--mgh-radius);min-width:0;background:var(--mgh-card)}.mg-help .mgh-photo img{display:block;width:100%;height:auto;aspect-ratio:var(--mgh-ratio);object-fit:var(--mgh-image-fit);object-position:var(--mgh-image-position)}.mg-help .mgh-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.mg-help .mgh-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid var(--mgh-accent);border-radius:var(--mgh-button-radius);font-family:var(--mgh-body-font);font-weight:600;font-size:15px;line-height:1.4;text-decoration:none;white-space:normal;cursor:pointer;max-width:100%;transition:background-color .18s ease,color .18s ease}.mg-help .mgh-primary{background:var(--mgh-primary)!important;color:var(--mgh-primary-text)!important;border-color:var(--mgh-primary)}.mg-help .mgh-primary:is(:hover,:focus-visible,:active){background:var(--mgh-primary-hover)!important;color:var(--mgh-primary-hover-text)!important}.mg-help .mgh-secondary{background:var(--mgh-secondary)!important;color:var(--mgh-secondary-text)!important}.mg-help .mgh-secondary:is(:hover,:focus-visible,:active){background:var(--mgh-secondary-hover)!important;color:var(--mgh-secondary-hover-text)!important}.mg-help a:focus-visible,.mg-help button:focus-visible,.mg-help input:focus-visible,.mg-help textarea:focus-visible,.mg-help select:focus-visible{outline:3px solid var(--mgh-focus);outline-offset:4px}.mg-help .mgh-link{color:var(--mgh-accent);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px}.mg-help .mgh-link-label{text-decoration:underline;text-underline-offset:4px}.mg-help .mgh-link-arrow{display:inline-flex;text-decoration:none;flex-shrink:0}.mg-help .mgh-link:is(:hover,:focus-visible,:active){color:var(--mgh-accent)}.mg-help .mgh-requests{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;margin-top:32px}.mg-help .mgh-card{display:flex;flex-direction:column;padding:26px;background:var(--mgh-card);border:1px solid var(--mgh-border);border-radius:var(--mgh-radius);min-width:0}.mg-help .mgh-card-copy{display:flex;flex-direction:column;flex:1;min-width:0}.mg-help .mgh-card-copy .mgh-link{margin-top:auto}.mg-help .mgh-card p{margin-bottom:16px}.mg-help .mgh-icon{display:flex;width:48px;height:48px;border-radius:50%;align-items:center;justify-content:center;color:var(--mgh-accent);background:var(--mgh-icon-bg);margin-bottom:16px;flex-shrink:0}.mg-help .mgh-contact-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:20px;margin-top:24px;align-items:start}.mg-help .mgh-contact-single{grid-template-columns:minmax(0,1fr)}.mg-help .mgh-contact-info,.mg-help .mgh-form-card{padding:28px;border:1px solid var(--mgh-border);border-radius:var(--mgh-radius);min-width:0}.mg-help .mgh-contact-info{background:var(--mgh-contact)}.mg-help .mgh-form-card{background:var(--mgh-card);scroll-margin-top:120px}.mg-help .mgh-contact-details{display:grid;gap:16px}.mg-help .mgh-contact-details a,.mg-help .mgh-contact-details p{display:flex;align-items:flex-start;gap:12px;color:var(--mgh-accent);margin:0;text-decoration:none}.mg-help .mgh-contact-details p{color:var(--mgh-text)}.mg-help .mgh-contact-details svg{flex-shrink:0;margin-top:2px;color:var(--mgh-accent)}.mg-help .mgh-contact-details span{overflow-wrap:anywhere}.mg-help .mgh-response{border-top:1px solid var(--mgh-border);padding-top:20px;margin-top:24px;margin-bottom:0}.mg-help .mgh-form-card .mgh-button{width:auto}.mg-help .mgh-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.mg-help .mgh-field{min-width:0}.mg-help label{display:block;font-family:var(--mgh-body-font);font-size:14px;margin-bottom:6px;color:var(--mgh-text)}.mg-help input,.mg-help textarea,.mg-help select{display:block;width:100%;max-width:100%;padding:11px 12px;min-height:46px;border:1px solid var(--mgh-border);border-radius:6px;background:var(--mgh-card);color:var(--mgh-text);font:inherit;font-size:16px;line-height:1.4}.mg-help textarea{min-height:110px;resize:vertical}.mg-help .mgh-message{grid-column:1/-1}.mg-help .mgh-form-success,.mg-help .mgh-form-errors{padding:16px;border:1px solid var(--mgh-accent);border-radius:6px;overflow-wrap:anywhere}.mg-help .mgh-form-errors ul{margin:0;padding-left:20px}.mg-help .mgh-faq{text-align:center;margin-top:24px}.mg-help-no-motion *{transition:none!important;scroll-behavior:auto!important}
@media(max-width:999px){.mg-help .mgh-hero{grid-template-columns:1fr;gap:var(--mgh-gap-m)}.mg-help h1{max-width:20ch}.mg-help .mgh-photo{max-width:760px}.mg-help .mgh-requests{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.mg-help .mgh-contact-grid{grid-template-columns:1fr}}
@media(max-width:749px){.mg-help{font-size:var(--mgh-body-m)}.mg-help .mgh-wrap{padding:var(--mgh-padding-m) var(--mgh-side-m)}.mg-help h1{font-size:var(--mgh-h1-m);max-width:18ch}.mg-help h2{font-size:var(--mgh-h3-m)}.mg-help .mgh-eyebrow{margin-bottom:16px}.mg-help .mgh-photo img{aspect-ratio:var(--mgh-ratio-m)}.mg-help .mgh-actions{flex-direction:column;margin-top:20px;gap:10px}.mg-help .mgh-actions .mgh-button{width:100%}.mg-help .mgh-requests{grid-template-columns:1fr;gap:16px;margin-top:24px}.mg-help .mgh-card{flex-direction:row;gap:16px;padding:20px}.mg-help .mgh-icon{width:42px;height:42px;margin:0}.mg-help .mgh-card h2{font-size:20px}.mg-help .mgh-contact-info,.mg-help .mgh-form-card{padding:22px}.mg-help .mgh-fields{grid-template-columns:1fr}.mg-help .mgh-contact-grid{margin-top:20px}.mg-help .mgh-card p{margin-bottom:8px}.mg-help .mgh-form-card .mgh-button{width:100%}}
@media(prefers-reduced-motion:reduce){.mg-help *{transition:none!important;scroll-behavior:auto!important}}
/* END_SECTION:mg-help-contact */

/* START_SECTION:mg-offer-cartouche (INDEX:61) */
.mg-offer-cartouche{background:var(--mg-bg);padding:var(--mg-py) var(--mg-px);margin:var(--mg-mt) 0 var(--mg-mb)}
.mg-offer-cartouche__inner{display:flex;flex-direction:var(--mg-layout);justify-content:var(--mg-align);align-items:var(--mg-items);flex-wrap:wrap;gap:var(--mg-gap);max-width:var(--mg-width);margin-inline:auto}
.mg-offer-cartouche__item{max-width:100%;min-width:0;text-align:center;overflow-wrap:anywhere;font-family:var(--mg-font);font-weight:var(--mg-weight);font-style:var(--mg-style);font-size:var(--mg-size);line-height:var(--mg-line);letter-spacing:var(--mg-tracking);color:var(--mg-color);background:var(--mg-fill);padding:var(--mg-item-py) var(--mg-item-px);margin:var(--mg-item-mt) 0 var(--mg-item-mb);border:var(--mg-bw) solid var(--mg-border);border-radius:var(--mg-radius);box-shadow:var(--mg-shadow);transition:transform var(--mg-duration) ease,box-shadow var(--mg-duration) ease,background-color var(--mg-duration) ease,color var(--mg-duration) ease,border-color var(--mg-duration) ease}
.mg-offer-cartouche__item--transparent{background:transparent}
@media(hover:hover) and (pointer:fine){
.mg-offer-cartouche__item[data-hover]:not([data-hover=none]):hover{background:var(--mg-hover-fill);color:var(--mg-hover-color);border-color:var(--mg-hover-border)}
.mg-offer-cartouche__item[data-hover=lift]:hover{transform:translateY(calc(-1 * var(--mg-lift)));box-shadow:var(--mg-hshadow)}
.mg-offer-cartouche__item[data-hover=zoom]:hover{transform:scale(var(--mg-scale))}
.mg-offer-cartouche__item[data-hover=shadow]:hover{box-shadow:var(--mg-hshadow)}
.mg-offer-cartouche__item[data-hover=halo]:hover{box-shadow:0 0 14px 2px var(--mg-hover-border)}
}
.mg-offer-cartouche[data-entrance=fade]{animation:mg-cartouche-fade var(--mg-duration) ease both}
.mg-offer-cartouche[data-entrance=rise]{animation:mg-cartouche-rise var(--mg-duration) ease both}
@keyframes mg-cartouche-fade{from{opacity:0}to{opacity:1}}
@keyframes mg-cartouche-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(width <= 749px){.mg-offer-cartouche{padding:var(--mg-pym) var(--mg-pxm);margin-top:var(--mg-mtm);margin-bottom:var(--mg-mbm)}.mg-offer-cartouche__inner{flex-direction:var(--mg-layout-m);justify-content:var(--mg-align-m);align-items:var(--mg-items-m);gap:var(--mg-gap-m)}.mg-offer-cartouche__item{font-size:var(--mg-size-m);padding:var(--mg-item-pym) var(--mg-item-pxm)}}
@media(prefers-reduced-motion:reduce){.mg-offer-cartouche{animation:none!important}.mg-offer-cartouche__item{transition:none!important;transform:none!important}}
/* END_SECTION:mg-offer-cartouche */

/* START_SECTION:mg-pro-universe (INDEX:62) */
.mg-pro{background:var(--pro-bg);color:var(--pro-text);font-family:var(--pro-body-font);font-size:var(--pro-body-size);line-height:var(--pro-line);text-align:var(--pro-align)}.mg-pro *{box-sizing:border-box;min-width:0}.mg-pro-wrap{max-width:var(--pro-width);margin:auto;padding:var(--pro-pad) var(--pro-side)}.mg-pro h1,.mg-pro h2,.mg-pro h3{font-family:var(--pro-title-font);font-weight:var(--pro-title-weight);color:inherit;line-height:var(--pro-title-line);overflow-wrap:anywhere;margin:0 0 20px}.mg-pro h1,.mg-pro h2{font-size:var(--pro-title-size);letter-spacing:-.025em}.mg-pro h3{font-size:24px}.mg-pro p{margin:0 0 16px}.mg-pro a{color:inherit}.mg-pro-intro{max-width:75ch}.mg-pro-kicker{color:var(--pro-accent);font-size:12px;letter-spacing:.1em;line-height:1.4;text-transform:uppercase;font-weight:600}.mg-pro-hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--pro-gap);align-items:center}.mg-pro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.mg-pro-btn{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:48px;padding:12px 22px;border:1px solid var(--pro-accent);border-radius:var(--pro-radius);background:var(--pro-accent);color:var(--pro-btn-text)!important;text-decoration:none;font-size:15px;font-weight:500;line-height:1.5;white-space:normal}.mg-pro-secondary{color:var(--pro-accent)!important;background:var(--pro-secondary-bg)}.mg-pro-link{text-underline-offset:5px;font-weight:500}.mg-pro a:focus-visible,.mg-pro summary:focus-visible{outline:3px solid var(--pro-accent);outline-offset:4px}.mg-pro-hero-media,.mg-pro-machine,.mg-pro-orientation,.mg-pro-specs{background:var(--pro-card);border:var(--pro-border-width) solid var(--pro-border);border-radius:var(--pro-radius);overflow:hidden;box-shadow:var(--pro-shadow,none)}.mg-pro img{display:block;width:100%;height:auto;aspect-ratio:var(--pro-ratio);object-fit:var(--pro-fit);object-position:var(--pro-position)}.mg-pro-caption{display:flex;justify-content:space-between;gap:16px;padding:18px 22px;text-decoration:none;font-size:14px;border-top:1px solid var(--pro-border)}.mg-pro-caption strong{white-space:nowrap}.mg-pro-orientations{display:grid;grid-template-columns:repeat(var(--pro-cols),minmax(0,1fr));gap:var(--pro-gap);margin-top:30px}.mg-pro-orientation>div:last-child{padding:20px}.mg-pro-orientation h3{font-size:22px}.mg-pro-orientation p{font-size:14px}.mg-pro-orientation-image{padding:12px}.mg-pro-grid{display:grid;grid-template-columns:repeat(var(--pro-cols),minmax(0,1fr));gap:var(--pro-gap);margin-top:30px}.mg-pro-machine{display:flex;flex-direction:column}.mg-pro-machine-image{display:block;padding:18px}.mg-pro-machine-body{padding:24px;display:flex;flex-direction:column;flex:1}.mg-pro-machine h3 a{text-decoration:none}.mg-pro-alternative{border-color:var(--pro-accent)}.mg-pro-technology{font-weight:500;color:var(--pro-accent)}.mg-pro-price{font-size:24px;margin-top:auto;margin-bottom:20px}.mg-pro-comparison{margin-top:64px;scroll-margin-top:110px}.mg-pro-specs{padding:22px;align-self:start}.mg-pro summary{cursor:pointer;font-weight:500;min-height:44px;overflow-wrap:anywhere}.mg-pro-specs dl{margin:16px 0}.mg-pro-specs dl>div{padding:12px 0;border-top:1px solid var(--pro-border)}.mg-pro-specs dt{font-weight:600;font-size:13px}.mg-pro-specs dd{margin:4px 0 0;font-size:14px;overflow-wrap:anywhere}.mg-pro-note{font-size:13px}.mg-pro-faq{max-width:900px;margin-top:30px}.mg-pro-faq details{padding:20px 0;border-bottom:1px solid var(--pro-border)}.mg-pro-faq summary{font-size:17px}.mg-pro-faq details>div{padding-top:14px}.mg-pro-hover .mg-pro-machine,.mg-pro-hover .mg-pro-btn{transition:box-shadow var(--pro-duration),transform var(--pro-duration)}@media(hover:hover){.mg-pro-hover .mg-pro-machine:hover{box-shadow:0 8px 24px rgb(37 40 32 / 10%)}.mg-pro-hover .mg-pro-btn:hover{transform:translateY(-2px)}}@media(min-width:768px) and (max-width:1023px){.mg-pro-grid{grid-template-columns:repeat(var(--pro-cols-tablet),minmax(0,1fr))}.mg-pro-orientations{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.mg-pro{font-size:var(--pro-body-m);text-align:var(--pro-align-m)}.mg-pro-wrap{padding:var(--pro-pad-m) var(--pro-side)}.mg-pro h1,.mg-pro h2{font-size:var(--pro-title-m)}.mg-pro h3{font-size:23px}.mg-pro-hero,.mg-pro-grid,.mg-pro-orientations{grid-template-columns:1fr}.mg-pro-hero-media{margin-top:8px}.mg-pro-actions{flex-direction:column}.mg-pro-actions a{width:100%}.mg-pro-orientation{display:grid;grid-template-columns:var(--pro-orient-image,96px) 1fr;align-items:center}.mg-pro-orientation>div:last-child{padding:16px}.mg-pro-orientation h3{font-size:21px;margin-bottom:8px}.mg-pro-orientation p{font-size:13px;margin-bottom:8px}.mg-pro-orientation-image{padding:8px}.mg-pro-caption{padding:16px;flex-wrap:wrap}.mg-pro-machine-body{padding:22px}.mg-pro-comparison{margin-top:40px}.mg-pro-specs{padding:20px}}@media(prefers-reduced-motion:reduce){.mg-pro-hover .mg-pro-machine,.mg-pro-hover .mg-pro-btn{transition:none;transform:none}}

.mg-pro .mg-pro-btn{transition:background-color var(--pro-duration) ease,color var(--pro-duration) ease,border-color var(--pro-duration) ease,transform var(--pro-duration) ease}
.mg-pro .mg-pro-btn:is(:hover,:focus-visible,:active){background:var(--pro-btn-hover);color:var(--pro-btn-hover-text)!important;border-color:var(--pro-accent)}
.mg-pro .mg-pro-btn.mg-pro-secondary:is(:hover,:focus-visible,:active){background:var(--pro-secondary-hover);color:var(--pro-secondary-hover-text)!important}
.mg-pro .mg-pro-btn :is(.icon,svg){color:inherit}
@media(prefers-reduced-motion:reduce){.mg-pro .mg-pro-btn{transition:none}}
/* END_SECTION:mg-pro-universe */

/* START_SECTION:mg-product-compare (INDEX:63) */
.sp-section > .sp-compare-intro {
  margin-inline: 0 auto;
}
/* END_SECTION:mg-product-compare */

/* START_SECTION:mg-product-demo (INDEX:64) */
.mg-product-demo{background:var(--md-bg);padding:var(--md-pt) var(--md-px) var(--md-pb);margin:var(--md-mt) var(--md-mx) var(--md-mb);border:var(--md-border);border-radius:var(--md-radius);box-shadow:var(--md-shadow)}
.md-grid{max-width:var(--md-width);margin-inline:auto;display:grid;grid-template-columns:minmax(0,var(--md-col)) minmax(0,var(--md-text-col));column-gap:var(--md-gap);row-gap:var(--md-element-gap);grid-template-areas:'video eyebrow' 'video heading' 'video intro' 'video steps' 'video button'}
.mg-product-demo[data-side=right] .md-grid{grid-template-columns:minmax(0,var(--md-text-col)) minmax(0,var(--md-col));grid-template-areas:'eyebrow video' 'heading video' 'intro video' 'steps video' 'button video'}
.md-video{grid-area:video;display:block;align-self:var(--md-align);min-width:0;text-align:var(--md-video-align)}
.md-video-frame{transition:transform var(--md-speed) ease,box-shadow var(--md-speed) ease;width:var(--md-video-width);max-width:100%;display:inline-block;position:relative;aspect-ratio:var(--md-ratio);height:var(--md-video-height);border-radius:var(--md-video-radius);border:var(--md-video-bw) solid var(--md-video-border);overflow:hidden;box-shadow:var(--md-video-shadow);vertical-align:top}
.md-video video{display:block;width:100%;height:100%;object-fit:var(--md-fit);object-position:var(--md-position);background:var(--md-video-bg)}
.md-video-control{position:absolute;top:12px;left:12px;z-index:1;border:1px solid var(--md-control-text);border-radius:24px;background:var(--md-control-bg);color:var(--md-control-text);padding:10px 15px;min-height:44px;font:var(--md-control-weight) var(--md-control-size) var(--md-control-font);cursor:pointer}
.md-text{font-family:var(--md-font);font-weight:var(--md-weight);font-style:var(--md-font-style);font-size:var(--md-size);line-height:var(--md-line);letter-spacing:var(--md-tracking);color:var(--md-color);text-align:var(--md-text-align);margin:var(--md-block-mt) 0 var(--md-block-mb);min-width:0;overflow-wrap:anywhere}
.md-eyebrow{grid-area:eyebrow;align-self:end}.md-heading{grid-area:heading}.md-intro{grid-area:intro}.md-intro p,.md-step-description p{margin:0}
.md-steps{grid-area:steps;display:flex;flex-direction:column;gap:var(--md-step-gap)}
.md-step{display:flex;align-items:flex-start;gap:var(--md-step-space)}
.md-step h3{font-family:var(--md-step-title-font);font-weight:var(--md-step-title-weight);font-size:var(--md-step-title-size);line-height:var(--md-step-title-line);letter-spacing:var(--md-step-title-tracking);color:var(--md-step-title-color);margin:0 0 5px}
.md-step-marker{flex:0 0 auto;font-family:var(--md-number-font);font-weight:var(--md-number-weight);font-size:var(--md-number-size);color:var(--md-number-color);background:var(--md-number-bg);border-radius:var(--md-number-radius);min-width:32px;text-align:var(--md-number-align);padding:2px;line-height:var(--md-number-line);letter-spacing:var(--md-number-tracking)}
.md-step-marker img{width:var(--md-step-icon);height:var(--md-step-icon);object-fit:contain;display:block}
.md-button-wrap{grid-area:button}.md-button{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:var(--md-button-height);padding:var(--md-button-py) var(--md-button-px);color:var(--md-color);background:var(--md-button-bg);border:var(--md-button-bw) solid var(--md-button-border);border-radius:var(--md-button-radius);box-shadow:var(--md-button-shadow);text-decoration:none;font:inherit;transition:transform var(--md-speed) ease,background-color var(--md-speed) ease,color var(--md-speed) ease,border-color var(--md-speed) ease}
.md-button--full{width:100%}
@media(hover:hover){.md-video[data-hover=lift]:hover .md-video-frame{transform:translateY(-2px)}.md-video[data-hover=shadow]:hover .md-video-frame{box-shadow:0 8px 24px #25282020}.md-button[data-hover]:not([data-hover=none]):hover{background:var(--md-hover-bg);color:var(--md-hover-text);border-color:var(--md-hover-border)}.md-button[data-hover=lift]:hover{transform:translateY(-2px)}}
.md-editor-status{max-width:var(--md-width);margin:0 auto 16px;padding:12px 16px;background:#eeeee4;color:#454d30;font:400 14px var(--font-body--family);border-left:3px solid #454d30}
.md-video-waiting{display:flex;height:100%;min-height:140px;align-items:center;justify-content:center;flex-direction:column;background:#eeeee4;color:#454d30;padding:24px;text-align:center;font:400 14px var(--font-body--family)}.md-video-waiting p{margin:10px 0 0;max-width:350px}
.mg-product-demo[data-animation=fade] .md-grid{animation:md-demo-fade var(--md-speed) ease both}@keyframes md-demo-fade{from{opacity:0}to{opacity:1}}
@media(width <= 989px){.mg-product-demo{padding:var(--md-ptm) var(--md-pxm) var(--md-pbm);margin:var(--md-mtm) 0 var(--md-mbm)}.mg-product-demo .md-grid,.mg-product-demo[data-side=right] .md-grid{grid-template-columns:minmax(0,1fr);gap:var(--md-gap-m);grid-template-areas:'eyebrow' 'heading' 'video' 'intro' 'steps' 'button'}.mg-product-demo[data-mobile=video_first] .md-grid{grid-template-areas:'video' 'eyebrow' 'heading' 'intro' 'steps' 'button'}.md-text{font-size:var(--md-size-m);text-align:var(--md-text-align-m)}.md-video-frame{aspect-ratio:var(--md-ratio-m);height:var(--md-video-height-m)}.md-steps{gap:var(--md-step-gap-m)}.md-step h3{font-size:var(--md-step-title-m)}.md-step-marker{font-size:var(--md-number-m)}.md-button{min-height:var(--md-button-height-m);padding:var(--md-button-pym) var(--md-button-pxm)}.md-button--full:not(.md-button--full-m){width:auto}.md-button--full-m{width:100%}}
@media(prefers-reduced-motion:reduce){.mg-product-demo .md-grid{animation:none!important}.md-button,.md-video-frame{transition:none;transform:none!important}}
/* END_SECTION:mg-product-demo */

/* START_SECTION:mg-product-details (INDEX:65) */
.mg-purchase-details>summary{font-size:16px;line-height:1.4;font-weight:600;cursor:pointer;list-style:none;position:relative;padding:16px 36px 16px 18px;border:1px solid var(--mg-border);border-radius:12px}
.mg-purchase-details>summary::-webkit-details-marker{display:none}
.mg-purchase-details>summary:after{content:'+';position:absolute;right:16px;font-size:22px;top:10px}
.mg-purchase-details[open]>summary:after{content:'−'}
.mg-purchase-details>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}

.mg-details{box-sizing:border-box;max-width:1200px;padding:var(--mg-padding) 28px;margin:0 auto;color:var(--mg-text);background:var(--mg-bg);font-family:var(--font-body--family);font-size:var(--mg-body-size);line-height:1.65;border-radius:var(--mg-radius);scroll-margin-top:100px}.mg-details h2{font-family:var(--mg-title-font);font-size:var(--mg-title-size);line-height:1.2;margin:0 0 28px;font-weight:500}.mg-details h3{font-family:var(--mg-title-font);font-size:var(--mg-card-title-size);line-height:1.3;margin:0 0 14px;font-weight:500}.mg-details-grid{display:grid;grid-template-columns:repeat(var(--mg-columns),minmax(0,1fr));gap:var(--mg-gap)}.mg-details-grid>div{padding:var(--mg-card-padding);border:1px solid var(--mg-border);border-radius:var(--mg-radius);background:#fff;overflow-wrap:anywhere}.mg-details p{margin:0 0 12px}.mg-details p:last-child{margin-bottom:0}.mg-details a{color:var(--mg-accent);text-underline-offset:4px}.mg-details-help{display:inline-block;margin-top:26px;font-weight:600}.mg-details a:focus-visible{outline:2px solid currentColor;outline-offset:4px}@media(max-width:749px){.mg-details{padding:var(--mg-mobile-padding) 20px;margin:0 16px}.mg-details-grid{grid-template-columns:1fr}.mg-details h2{font-size:var(--mg-mobile-title-size)}}
/* END_SECTION:mg-product-details */

/* START_SECTION:mg-product-editorial (INDEX:66) */
.mg-editorial-grid { grid-template-columns: minmax(0, 1fr) !important; }
.mg-editorial .mg-editorial-row { align-items: center; gap: clamp(24px, 4vw, 56px); }
.mg-editorial .sp-media { margin: 0; aspect-ratio: 3 / 2; }
.mg-editorial .mg-editorial-copy { max-width: 48ch; }
.mg-editorial .mg-editorial-copy h3 { line-height: 1.2; }
.mg-editorial-story { transition: opacity 650ms ease, transform 650ms ease; }
.mg-editorial-story.mg-waiting { opacity: 0; transform: translateY(18px); }
@media (max-width: 749px) {
  .mg-editorial .mg-editorial-row { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .mg-editorial .sp-media { order: 0; }
  .mg-editorial .mg-editorial-copy { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .mg-editorial-story, .mg-editorial-story.mg-waiting { opacity: 1; transform: none; transition: none; }
}
/* END_SECTION:mg-product-editorial */

/* START_SECTION:mg-product-expert (INDEX:67) */
.mg-tech-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}
.mg-tech-highlights>div{padding:12px 14px;border:1px solid var(--sp-border);border-radius:10px;background:var(--sp-card)}
.mg-tech-highlights dt{font-size:12px;line-height:1.4;margin-bottom:5px;color:inherit}
.mg-tech-highlights dd{margin:0;font-weight:600;font-size:15px;line-height:1.35}
.mg-tech-full{border:1px solid var(--sp-border);border-radius:12px;padding:0 18px}
.mg-tech-full summary{padding:16px 30px 16px 0;font-weight:600;cursor:pointer;position:relative;list-style:none}
.mg-tech-full summary::-webkit-details-marker{display:none}
.mg-tech-full summary:after{content:'+';position:absolute;right:0;top:12px;font-size:24px}
.mg-tech-full[open] summary:after{content:'−'}
.mg-tech-full table{width:100%;border-collapse:collapse;margin-bottom:16px}
.mg-tech-full td,.mg-tech-full th{padding:10px 8px!important;text-align:left;overflow-wrap:anywhere;font-size:14px}
.mg-tech-full summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:749px){.mg-tech-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-tech-full{padding:0 12px}.mg-tech-full th{width:48%}.mg-tech-highlights dd{font-size:14px}}

.mg-choice.mg-choice{border-radius:var(--sp-radius);border:1px solid var(--sp-border);text-align:left}
.mg-choice.mg-choice h2{margin-bottom:10px!important}
.mg-choice-intro{color:inherit;opacity:.75;margin:0;max-width:65ch}
.mg-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0 18px}
.mg-choice-card{min-width:0;border:1px solid var(--sp-border);background:var(--sp-card);border-radius:var(--sp-radius);padding:24px;display:flex;flex-direction:column;align-items:flex-start}
.mg-choice-icon{display:block;width:40px;height:40px;color:var(--sp-button);margin-bottom:22px}
.mg-choice-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.mg-choice .mg-choice-card h3{font-size:clamp(20px,1.6vw,25px);line-height:1.2;margin:0 0 14px;font-weight:500}
.mg-choice-value{font-size:18px;font-weight:600;line-height:1.4;color:var(--sp-button);margin:0 0 10px;overflow-wrap:anywhere}
.mg-choice-copy{font-size:14px;line-height:1.6;margin:0;opacity:.85}
.mg-choice-details.mg-choice-details{border:0;border-top:1px solid var(--sp-border);border-radius:0;background:transparent;padding:8px 0 0;margin:0}
.mg-choice-details.mg-choice-details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:10px 0;margin:0;list-style:none;font-size:15px;font-weight:600;cursor:pointer}
.mg-choice-details.mg-choice-details>summary:before,.mg-choice-details.mg-choice-details>summary:after{content:none!important;display:none!important}
.mg-choice-details summary::-webkit-details-marker{display:none}
.mg-choice-chevron{flex:0 0 34px;width:34px;height:34px;border:1px solid var(--sp-border);border-radius:50%;display:grid;place-items:center;transition:transform .2s}
.mg-choice-chevron svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}
.mg-choice-details[open] .mg-choice-chevron{transform:rotate(180deg)}
.mg-choice-details summary:focus-visible{outline:2px solid var(--sp-button);outline-offset:4px}
.mg-choice-table{padding:14px 0 8px}
.mg-choice-table table{width:100%;border-collapse:collapse;margin:0}
.mg-choice-table th,.mg-choice-table td{padding:12px 8px!important;font-size:14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--sp-border);overflow-wrap:anywhere}
.mg-choice-table th{width:48%;font-weight:500}
@media(max-width:749px){.mg-choice-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:22px}.mg-choice-card{padding:20px;display:block}.mg-choice-icon{float:right;margin:0 0 12px 16px;width:32px;height:32px}.mg-choice .mg-choice-card h3{font-size:22px}.mg-choice-copy{clear:both}.mg-choice-value{font-size:17px}.mg-choice-details.mg-choice-details>summary{font-size:14px;gap:14px}}
@media(prefers-reduced-motion:reduce){.mg-choice-chevron{transition:none}}
/* END_SECTION:mg-product-expert */

/* START_SECTION:mg-product-guides (INDEX:68) */
.mg-guides-compact h2{margin-bottom:18px!important}
@media(min-width:750px){.mg-guides-carousel.mg-guides-no-desktop-scroll .splide__arrows{display:none!important}}
.mg-guides-compact .mg-guide-slide{height:auto;list-style:none;min-width:0}
.mg-guides-compact .mg-guide-card{height:100%;padding:var(--guide-padding);margin:0;min-height:0}
.mg-guides-compact .mg-guide-link{display:flex;align-items:center;gap:14px;width:100%;height:100%;min-height:84px;text-decoration:none!important;text-align:var(--guide-align,left);color:inherit}
.mg-guides-compact .mg-guide-image{display:block;flex:0 0 var(--guide-image);width:var(--guide-image);aspect-ratio:4 / 3;overflow:hidden;border-radius:calc(var(--sp-radius) * .5);margin:0}
.mg-guides-compact .mg-guide-image img{width:100%;height:100%;display:block;object-fit:var(--sp-fit);object-position:var(--sp-focus);opacity:var(--sp-opacity);transition:transform .2s ease}
.mg-guides-compact .mg-guide-copy{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.mg-guides-compact .mg-guide-title{font-family:var(--font-body--family);font-size:var(--guide-title);font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mg-guides-compact .mg-guide-label{font-size:13px;line-height:1.3;font-weight:500;color:var(--sp-button)}
.mg-guides-compact .mg-guide-excerpt{font-size:var(--guide-excerpt,var(--sp-body));line-height:1.4}
.mg-guides-compact .mg-guide-link:focus-visible{outline:2px solid var(--sp-button);outline-offset:3px;border-radius:6px}
.mg-guides-compact .mg-guides-grid{margin:0;padding:0;list-style:none}
.mg-guides-carousel slider-component{display:block}
.mg-guides-carousel .splide__arrows{display:flex;justify-content:flex-end;gap:8px;margin:0 0 12px;position:static}
.mg-guides-carousel .splide__arrow{display:inline-flex!important;align-items:center;justify-content:center;position:static;transform:none;width:36px;height:36px;border:1px solid var(--sp-border);border-radius:50%;background:var(--sp-card);color:var(--sp-button);opacity:1}
.mg-guides-carousel .splide__arrow:disabled{opacity:.35}
.mg-guides-carousel .splide__pagination{position:static;margin:12px 0 0;padding:0;gap:6px}
.mg-guides-carousel .splide__pagination__page{background:var(--sp-border);width:7px;height:7px}
.mg-guides-carousel .splide__pagination__page.is-active{background:var(--sp-button);transform:none}
.mg-guides-carousel .splide__track--with-pagination{padding-bottom:0}
@media(max-width:749px){.mg-guides-compact .mg-guide-card{padding:var(--guide-padding-m,var(--guide-padding))}.mg-guides-compact .mg-guide-excerpt{font-size:var(--guide-excerpt-m,var(--sp-body))}.mg-guides-compact .mg-guide-image{flex-basis:var(--guide-image-m);width:var(--guide-image-m)}.mg-guides-compact .mg-guide-title{font-size:var(--guide-title-m)}.mg-guides-compact .mg-guide-link{gap:12px;min-height:80px}.mg-guides-carousel .splide__arrows{margin-bottom:8px}}
@media(hover:hover){.mg-guides-compact .mg-guide-link:hover .mg-guide-title{text-decoration:underline;text-underline-offset:3px}}
@media(prefers-reduced-motion:reduce){.mg-guides-compact .mg-guide-image img{transition:none}}

.mg-guides-eyebrow,.mg-guide-type{font-family:var(--font-body--family);font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--sp-accent)}
.mg-guides-eyebrow{margin:0 0 8px}.mg-guides-intro{font-size:14px;line-height:1.5;margin:0 0 18px}
.mg-guides-magazine .mg-guide-link{flex-direction:column;align-items:stretch;gap:14px}
.mg-guides-magazine .mg-guide-image{flex:0 0 auto;width:min(100%,var(--guide-image));aspect-ratio:1 / 1;align-self:center}
.mg-guides-magazine .mg-guide-title{font-family:var(--font-heading--family);font-weight:400;-webkit-line-clamp:unset;display:block;overflow:visible}
.mg-guides-magazine .mg-guide-copy{flex:1;gap:8px}
.mg-guides-magazine .splide__track{overflow:hidden!important;padding-left:0!important;padding-right:0!important}
.mg-guides-magazine .mg-guide-label>span{display:inline-block;text-decoration:none}
@media(max-width:749px){.mg-guides-magazine .mg-guide-image{width:min(100%,var(--guide-image-m));aspect-ratio:1 / 1}.mg-guides-magazine .splide__slide{width:100%!important}}
/* END_SECTION:mg-product-guides */

/* START_SECTION:mg-product-proof (INDEX:69) */
.mg-product-proof{max-width:1200px;box-sizing:border-box;margin:20px auto;padding:20px 32px;color:#252820}
@media(max-width:749px){.mg-product-proof{margin:12px auto;padding:16px 18px}}
/* END_SECTION:mg-product-proof */

/* START_SECTION:mg-refonte (INDEX:72) */
.mg-refonte{background:#f7f5ef;color:#25291f;font-family:inherit;line-height:1.65}
  .mg-refonte *{box-sizing:border-box}.mg-wrap{max-width:1240px;margin:auto;padding:64px 32px}.mg-refonte h1,.mg-refonte h2,.mg-refonte h3{font-family:inherit;color:#25291f;font-weight:500;line-height:1.15;margin:0 0 22px}.mg-refonte h1{font-size:clamp(34px,4vw,60px);letter-spacing:-.045em}.mg-refonte h2{font-size:clamp(27px,3vw,40px);letter-spacing:-.025em}.mg-refonte h3{font-size:22px}.mg-refonte p{margin:0 0 18px}.mg-kicker{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:#515831}.mg-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-top:60px;padding-bottom:64px}.mg-intro{font-size:18px;max-width:50ch}.mg-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.mg-refonte a{color:inherit}.mg-btn{display:inline-flex;min-height:48px;padding:13px 22px;justify-content:center;align-items:center;background:#515831;color:#fff!important;border:1px solid #515831;border-radius:6px;text-decoration:none;font-size:15px;font-weight:600;line-height:1.4}.mg-btn:hover{background:#3e4425}.mg-secondary{background:transparent;color:#515831!important}.mg-secondary:hover{background:#e9ebdf}.mg-refonte a:focus-visible,.mg-scroll:focus-visible{outline:3px solid #a66b12;outline-offset:4px}.mg-hero-product{display:block;text-decoration:none;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e1e0d6}.mg-hero-product img{width:100%;height:auto;aspect-ratio:1.12;object-fit:contain;display:block}.mg-caption{display:flex;gap:20px;justify-content:space-between;padding:22px;border-top:1px solid #e1e0d6;font-size:15px}.mg-caption strong{white-space:nowrap}.mg-band{border-top:1px solid #dfdfd2}.mg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.mg-family{padding:28px;background:#eeeee4;border-radius:8px}.mg-number{display:block;color:#515831;font-size:13px;margin-bottom:26px}.mg-link{font-size:15px;font-weight:600;text-underline-offset:5px}.mg-card{background:#fff;border:1px solid #e1e0d6;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.mg-card-image{display:block;background:#fff}.mg-card-image img{display:block;width:100%;height:auto;aspect-ratio:1.2;object-fit:contain}.mg-card-body{display:flex;flex-direction:column;padding:26px;flex:1}.mg-card h3 a{text-decoration:none}.mg-compat{font-size:14px;border-top:1px solid #e1e0d6;padding-top:15px}.mg-price-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;margin-top:auto;margin-bottom:20px}.mg-price-row strong{font-size:22px}.mg-price-row span{font-size:12px}.mg-scroll{overflow-x:auto}.mg-table{border-collapse:collapse;width:100%;min-width:600px;text-align:left;table-layout:fixed}.mg-table th,.mg-table td{padding:20px 22px;border-bottom:1px solid #d8dacb;vertical-align:top;font-size:15px}.mg-table thead{background:#515831;color:white}.mg-table thead th{color:white}.mg-table tbody th{font-weight:600;width:22%}.mg-table tbody tr:nth-child(even){background:#eeeee4}.mg-note{font-size:13px;margin-top:20px!important;max-width:90ch}.mg-guides{display:grid;grid-template-columns:1fr 1fr;gap:64px}.mg-guide{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #d8dacb;text-decoration:none}.mg-guides .mg-btn{margin-top:24px}.mg-refonte video{display:block;width:100%;height:auto;border-radius:10px}.mg-editor-note{font-size:14px;background:#fff6dc;border:1px dashed #a66b12}
  @media(max-width:899px){.mg-wrap{padding:40px 22px}.mg-hero{grid-template-columns:1fr;gap:32px}.mg-grid{grid-template-columns:1fr;gap:18px}.mg-guides{grid-template-columns:1fr;gap:24px}.mg-intro{font-size:16px}.mg-caption{padding:16px}.mg-actions .mg-btn{flex:1;min-width:150px}.mg-card-image img{aspect-ratio:1.5}.mg-table th,.mg-table td{padding:16px}.mg-refonte h3{font-size:21px}}

  .mg-refonte{background:var(--mp-background);color:var(--mp-text);font-family:var(--mp-body-font);font-size:var(--mp-body-size);font-weight:var(--mp-body-weight);line-height:var(--mp-body-line);margin-top:var(--mp-margin-top);margin-bottom:var(--mp-margin-bottom);text-align:var(--mp-alignment)}
  .mg-refonte .mg-wrap{max-width:var(--mp-width);padding-top:var(--mp-padding);padding-bottom:var(--mp-padding)}
  .mg-refonte h1,.mg-refonte h2,.mg-refonte h3{font-family:var(--mp-heading-font);font-weight:var(--mp-heading-weight);color:var(--mp-heading);line-height:var(--mp-heading-line);letter-spacing:var(--mp-tracking)}
  .mg-refonte h1{font-size:var(--mp-heading-size)}.mg-refonte .mg-grid{grid-template-columns:repeat(var(--mp-columns),minmax(0,1fr));gap:var(--mp-gap)}
  .mg-refonte .mg-card,.mg-refonte .mg-hero-product,.mg-refonte .mg-family{border-radius:var(--mp-radius);background:var(--mp-card);border-color:var(--mp-border)}
  
  .mg-refonte .mg-kicker,.mg-refonte .mg-number{color:var(--mp-accent)}.mg-refonte .mg-table thead{background:var(--mp-accent);color:var(--mp-button-text)}.mg-refonte .mg-table thead th{color:inherit}
  .mg-refonte .mg-card-image img,.mg-refonte .mg-hero-product img{aspect-ratio:var(--mp-image-ratio);object-fit:var(--mp-image-fit);object-position:var(--mp-image-position);opacity:calc(var(--mp-opacity)/100)}.mg-path-shadow .mg-card{box-shadow:0 8px 24px #25282012}
  @media(prefers-reduced-motion:no-preference){.mg-path-hover .mg-card-image img{transition:transform var(--mp-duration) ease}.mg-path-hover .mg-card-image:hover img{transform:scale(1.03)}}
  .mg-card-image{overflow:hidden}.mg-refonte a{overflow-wrap:anywhere}
  @media(max-width:749px){.mg-refonte{font-size:var(--mp-body-mobile)}.mg-refonte h1{font-size:var(--mp-heading-mobile)}.mg-refonte .mg-wrap{padding-top:var(--mp-padding-m);padding-bottom:var(--mp-padding-m)}.mg-refonte .mg-grid{grid-template-columns:repeat(var(--mp-columns-mobile),minmax(0,1fr))}.mg-caption{flex-wrap:wrap}.mg-refonte .mg-btn{min-height:44px}}
.mg-refonte .mg-families-grid{grid-template-columns:repeat(var(--mp-family-columns),minmax(0,1fr))}.mg-refonte .mg-card-body,.mg-refonte .mg-family{padding:var(--mp-card-padding)}@media(max-width:749px){.mg-refonte .mg-families-grid{grid-template-columns:repeat(var(--mp-columns-mobile),minmax(0,1fr))}.mg-refonte .mg-card-body,.mg-refonte .mg-family{padding:var(--mp-card-padding-m)}}

  .mg-refonte .mg-family-with-photo{display:flex;flex-direction:column;gap:14px;min-width:0}
  .mg-refonte .mg-family-with-photo>h3,.mg-refonte .mg-family-with-photo>p,.mg-refonte .mg-family-with-photo>.mg-number{margin:0}
  .mg-refonte .mg-family-with-photo>.mg-link{margin-top:auto;min-height:44px;display:flex;align-items:center;gap:8px}
  .mg-refonte .mg-family-photo{background:#fff;border-radius:6px;overflow:hidden;height:140px;width:100%;flex-shrink:0}
  .mg-refonte .mg-family-photo img{display:block;width:100%;height:100%;object-fit:contain}
  @media(max-width:749px){.mg-refonte .mg-family-with-photo{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px 14px}.mg-refonte .mg-family-with-photo>.mg-family-photo{grid-column:1;grid-row:1 / span 4;height:80px;width:80px}.mg-refonte .mg-family-with-photo>:not(.mg-family-photo){grid-column:2}.mg-refonte .mg-family-with-photo>.mg-link{margin-top:0}.mg-refonte .mg-family-with-photo h3{overflow-wrap:anywhere}}

  .mg-refonte .mg-selection{max-width:var(--selection-width)}
  .mg-refonte .mg-model-grid{grid-template-columns:repeat(var(--selection-cols),minmax(0,1fr));gap:var(--selection-gap)}
  .mg-refonte .mg-model-grid .mg-card-image img{aspect-ratio:var(--selection-ratio);object-fit:var(--selection-fit);object-position:var(--selection-position)}
  .mg-refonte .mg-selection-intro{max-width:65ch;margin-bottom:24px}
  .mg-refonte .mg-selection h2,.mg-refonte .mg-selection h3,.mg-refonte .mg-comparison h2{color:var(--nav-text)}
  .mg-refonte .mg-selection .mg-kicker,.mg-refonte .mg-comparison .mg-kicker{color:var(--nav-accent)}
  
  
  
  .mg-refonte .mg-selection .mg-card,.mg-refonte .mg-selection .mg-compat,.mg-refonte .mg-comparison .mg-table td,.mg-refonte .mg-comparison .mg-table th{border-color:var(--nav-border)}
  .mg-refonte .mg-comparison .mg-table thead{background:var(--nav-accent);color:#fff}
  .mg-refonte .mg-comparison .mg-table tbody tr:nth-child(even){background:#fff}
  .mg-refonte .mg-comparison .mg-table th,.mg-refonte .mg-comparison .mg-table td{font-size:var(--comparison-size);padding:var(--comparison-cell)}
  .mg-refonte .mg-selection,.mg-refonte .mg-comparison{scroll-margin-top:90px}
  .mg-refonte .mg-comparison .mg-scroll{max-width:100%;overscroll-behavior-inline:contain}
  @media(min-width:750px) and (max-width:1099px){.mg-refonte .mg-model-grid{grid-template-columns:repeat(var(--selection-tablet),minmax(0,1fr))}}
  @media(max-width:749px){.mg-refonte .mg-model-grid{grid-template-columns:repeat(var(--selection-mobile),minmax(0,1fr))}.mg-refonte .mg-comparison .mg-table th,.mg-refonte .mg-comparison .mg-table td{padding:16px}.mg-refonte .mg-comparison-actions{flex-direction:column}.mg-refonte .mg-comparison-actions .mg-btn{width:100%;min-width:0}}

.mg-refonte .mg-btn{--cta-bg:var(--mp-accent);--cta-text:var(--mp-button-text);--cta-hover:var(--mp-button-hover);--cta-hover-text:var(--mp-button-hover-text);--cta-border:var(--mp-accent);background:var(--cta-bg);color:var(--cta-text)!important;border-color:var(--cta-border);transition:background-color var(--mp-duration) ease,color var(--mp-duration) ease,border-color var(--mp-duration) ease}
.mg-refonte .mg-btn.mg-secondary{--cta-bg:var(--mp-secondary-background);--cta-text:var(--mp-accent);--cta-hover:var(--mp-secondary-hover);--cta-hover-text:var(--mp-secondary-hover-text)}
.mg-refonte :is(.mg-selection,.mg-comparison) .mg-btn{--cta-bg:var(--nav-accent);--cta-border:var(--nav-accent)}
.mg-refonte :is(.mg-selection,.mg-comparison) .mg-btn.mg-secondary{--cta-bg:var(--mp-secondary-background);--cta-text:var(--nav-accent)}
.mg-refonte .mg-btn:is(:hover,:focus-visible,:active){background:var(--cta-hover);color:var(--cta-hover-text)!important;border-color:var(--cta-border)}
.mg-refonte .mg-btn:focus-visible{outline:2px solid var(--cta-border);outline-offset:4px}
.mg-refonte .mg-btn :is(.icon,svg){color:inherit}
@media(prefers-reduced-motion:reduce){.mg-refonte .mg-btn{transition:none}}
/* END_SECTION:mg-refonte */

/* START_SECTION:mg-selected-offers (INDEX:73) */
.mg-product-offers{background:var(--mg-bg);color:var(--mg-text);font-family:var(--mg-body);font-weight:var(--mg-body-weight);font-size:var(--mg-body-size);padding:var(--mg-padding) 24px;margin:var(--mg-margin-top) 0 var(--mg-margin-bottom)}
.mg-product-offers__inner{max-width:var(--mg-width);margin-inline:auto}
.mg-product-offers__header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px;text-align:var(--mg-align)}
.mg-product-offers__header p{margin:8px 0 0;line-height:1.5;font-size:inherit}
.mg-product-offers__header .mg-product-offers__eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:1px;color:var(--mg-accent)}
.mg-product-offers__header h2{font-family:var(--mg-heading);font-weight:var(--mg-heading-weight);font-size:var(--mg-title);line-height:1.2;margin:0}
.mg-product-offers__pill{border:1px solid var(--mg-accent);border-radius:50px;padding:9px 16px;font-family:var(--mg-heading);font-size:20px;white-space:nowrap;color:var(--mg-accent)}
.mg-product-offers__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--mg-gap)}
.mg-product-offers__card{min-width:0;color:inherit;text-decoration:none;background:var(--mg-card);border:1px solid var(--mg-border);border-radius:var(--mg-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--mg-duration) ease,box-shadow var(--mg-duration) ease}
.mg-product-offers__media{position:relative;height:var(--mg-image);padding:24px}
.mg-product-offers__media img{width:100%;height:100%;display:block;object-fit:contain}
.mg-product-offers__badge{position:absolute;top:14px;left:14px;border-radius:var(--mg-badge-radius);padding:6px 10px;background:var(--mg-badge-bg);color:var(--mg-badge-text);font-size:var(--mg-badge-size)}
.mg-product-offers__caption{padding:var(--mg-card-padding);flex:1;display:flex;flex-direction:column}
.mg-product-offers__family{font-size:11px;letter-spacing:.6px;color:var(--mg-accent);margin:0 0 10px}
.mg-product-offers__caption h3{font-family:var(--mg-heading);font-weight:var(--mg-heading-weight);font-size:var(--mg-card-title);line-height:1.2;margin:0 0 18px;min-height:2.4em}
.mg-product-offers__prices{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.mg-product-offers__prices strong{font-size:var(--mg-price);color:var(--mg-accent);font-weight:500}
.mg-product-offers__prices s,.mg-product-offers__prices small{font-size:13px;color:var(--mg-text)}
.mg-product-offers__saving{font-size:13px;margin:8px 0 20px;line-height:1.5}
.mg-product-offers__link{margin-top:auto;padding-top:14px;border-top:1px solid var(--mg-border);display:flex;justify-content:space-between;gap:10px;color:var(--mg-accent);font-size:14px}
@media(hover:hover){.mg-product-offers[data-hover=lift] .mg-product-offers__card:hover{transform:translateY(-3px)}.mg-product-offers[data-hover=shadow] .mg-product-offers__card:hover{box-shadow:0 7px 18px color-mix(in srgb,var(--mg-accent) 12%,transparent)}}
@media(width <= 749px){.mg-product-offers{padding:var(--mg-padding-m) 20px;font-size:var(--mg-body-m)}.mg-product-offers__header{flex-direction:column;align-items:flex-start;gap:14px}.mg-product-offers__header h2{font-size:var(--mg-title-m)}.mg-product-offers__grid{grid-template-columns:1fr;gap:var(--mg-gap-m)}.mg-product-offers__card{display:grid;grid-template-columns:110px minmax(0,1fr)}.mg-product-offers__media{height:100%;min-height:var(--mg-image-m);padding:35px 8px 15px}.mg-product-offers__badge{top:10px;left:10px}.mg-product-offers__caption h3{font-size:var(--mg-card-title-m);min-height:0;margin-bottom:12px}.mg-product-offers__family{font-size:10px}.mg-product-offers__caption{padding:var(--mg-card-padding)}.mg-product-offers__prices strong{font-size:var(--mg-price)}.mg-product-offers__link{font-size:13px}.mg-product-offers__saving{font-size:12px;margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.mg-product-offers__card{transition:none;transform:none!important}}
/* END_SECTION:mg-selected-offers */

/* START_SECTION:mg-why-choose (INDEX:75) */
.d2-why{box-sizing:border-box;max-width:var(--d2-width);margin:var(--d2-outer-top) auto var(--d2-outer-bottom);padding-inline:var(--d2-outer-left) var(--d2-outer-right);font-family:var(--d2-text-font);line-height:var(--d2-body-line);overflow-wrap:anywhere}.d2-why *{box-sizing:border-box}.d2-why p,.d2-why h2,.d2-why h3{margin:0}.d2-why__panel{display:grid;grid-template-columns:minmax(0,var(--d2-intro-fr)) minmax(0,var(--d2-ours-fr)) minmax(0,var(--d2-other-fr));gap:0 var(--d2-gap);min-height:var(--d2-min-height);padding:var(--d2-pad-top) var(--d2-pad-right) var(--d2-pad-bottom) var(--d2-pad-left);background:var(--d2-background);border:var(--d2-panel-bw) solid var(--d2-panel-border);border-radius:var(--d2-radius);box-shadow:0 8px var(--d2-panel-shadow) #25282018;color:var(--d2-light)}.d2-why__intro{grid-row:span var(--d2-cols);align-self:var(--d2-vertical);text-align:var(--d2-text-align);padding:var(--d2-intro-pad-top) var(--d2-intro-pad-right) var(--d2-intro-pad-bottom) var(--d2-intro-pad-left);min-width:0}.d2-why .d2-why__eyebrow{color:var(--d2-eyebrow-color);font-size:var(--d2-eyebrow-size);font-weight:var(--d2-eyebrow-weight);letter-spacing:var(--d2-eyebrow-tracking);margin-bottom:var(--d2-eyebrow-mb)}.d2-why h2{font:var(--d2-title-weight) var(--d2-title-size)/var(--d2-title-line) var(--d2-title-font);color:var(--d2-light);margin-bottom:var(--d2-title-mb)}.d2-why .d2-why__description{font-size:var(--d2-intro-size);font-weight:var(--d2-intro-weight);color:var(--d2-intro-color);margin-bottom:var(--d2-intro-mb)}.d2-why__button{display:inline-flex;justify-content:center;align-items:center;gap:var(--d2-cta-gap);min-height:var(--d2-cta-min-height);padding:var(--d2-cta-py) var(--d2-cta-px);background:var(--d2-cta-bg);color:var(--d2-cta-ink);font-size:var(--d2-cta-size);font-weight:var(--d2-cta-weight);border:var(--d2-cta-bw) solid var(--d2-cta-border);border-radius:var(--d2-cta-radius);text-decoration:none}.d2-why__button:hover{background:var(--d2-cta-hover);color:var(--d2-cta-hover-ink)}.d2-why__button:focus-visible{outline:3px solid var(--d2-light);outline-offset:5px}.d2-why--button-wide .d2-why__button{width:100%}
.d2-why__card{display:grid;grid-template-rows:subgrid;grid-row:span var(--d2-cols);background:var(--d2-ours-bg);border:var(--d2-card-bw) solid var(--d2-card-border);border-radius:var(--d2-card-radius);min-width:0;overflow:hidden;box-shadow:0 4px var(--d2-card-shadow) #25282012;color:var(--d2-ours-ink)}.d2-why__card--other{background:var(--d2-other-bg);color:var(--d2-other-ink)}.d2-why__card-header{min-height:var(--d2-header-height);padding:var(--d2-header-pad);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--d2-ours-head-bg);text-align:center}.d2-why__card--other .d2-why__card-header{background:var(--d2-other-head-bg)}.d2-why__card h3{font:var(--d2-card-title-weight) var(--d2-card-title-size)/1.25 var(--d2-text-font);color:var(--d2-ours-head-ink)}.d2-why__card--other h3{color:var(--d2-other-head-ink)}.d2-why__logo img{display:block;width:var(--d2-logo-width);max-width:100%;height:auto;max-height:var(--d2-logo-height);object-fit:contain}.d2-why .d2-why__risks{font-size:var(--d2-risks-size);font-weight:400;color:var(--d2-other-head-ink)}.d2-why__row{display:flex;align-items:center;gap:var(--d2-icon-gap);padding:calc(var(--d2-row-gap)/2) var(--d2-card-pad-x);font-size:var(--d2-row-size);font-weight:var(--d2-row-weight);min-width:0}.d2-why__row:nth-child(2){padding-top:var(--d2-list-pad-y)}.d2-why__row p{color:inherit;flex:1;min-width:0}.d2-why__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--d2-icon-size);width:var(--d2-icon-size);height:var(--d2-icon-size);background:var(--d2-good);color:var(--d2-good-glyph);border-radius:50%}.d2-why__card--other .d2-why__icon{background:var(--d2-bad);color:var(--d2-bad-glyph)}.d2-why__icon svg{width:var(--d2-glyph-size);height:var(--d2-glyph-size)}.d2-why--icon-square .d2-why__icon{border-radius:6px}.d2-why--icon-bare .d2-why__icon{background:transparent;color:var(--d2-good)}.d2-why--icon-bare .d2-why__card--other .d2-why__icon{background:transparent;color:var(--d2-bad)}.d2-why__footer-shell{padding:var(--d2-list-pad-y) var(--d2-footer-margin) var(--d2-footer-margin);align-self:end}.d2-why .d2-why__footer{background:var(--d2-good-footer-bg);color:var(--d2-good-footer-ink);font-size:var(--d2-footer-size);font-weight:var(--d2-footer-weight);text-align:var(--d2-footer-align);padding:var(--d2-footer-pad);border-radius:var(--d2-footer-radius)}.d2-why__card--other .d2-why__footer{background:var(--d2-bad-footer-bg);color:var(--d2-bad-footer-ink)}.d2-why__footer strong{color:var(--d2-bad-emphasis);font-weight:inherit}.d2-why .d2-why__notice{font-size:var(--d2-notice-size);font-weight:var(--d2-notice-weight);color:var(--d2-notice-color);margin:var(--d2-note-mt) 0 0}.d2-why__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.d2-why__row--custom{font-size:var(--row-size);color:var(--row-ours);gap:var(--row-gap);margin-top:var(--row-mt);margin-bottom:var(--row-mb);padding-top:var(--row-py);padding-bottom:var(--row-py);padding-inline:calc(var(--d2-card-pad-x) + var(--row-px))}.d2-why__card--other .d2-why__row--custom{color:var(--row-other)}.d2-why__row--custom .d2-why__icon{width:var(--row-icon);height:var(--row-icon);flex-basis:var(--row-icon);background:var(--row-good);color:var(--row-good-glyph)}.d2-why__card--other .d2-why__row--custom .d2-why__icon{background:var(--row-bad);color:var(--row-bad-glyph)}
@media(min-width:750px){.d2-why--mobile{display:none}}

@media(max-width:749px){.d2-why{margin:var(--d2-outer-m-top) auto var(--d2-outer-m-bottom);padding-inline:var(--d2-outer-m-left) var(--d2-outer-m-right)}.d2-why--desktop{display:none}.d2-why__panel{display:flex;flex-direction:column;gap:var(--d2-gap-m);min-height:0;padding:var(--d2-pad-m-top) var(--d2-pad-m-right) var(--d2-pad-m-bottom) var(--d2-pad-m-left)}.d2-why__intro{align-self:auto;text-align:var(--d2-text-align-m);padding:var(--d2-intro-pad-m-top) var(--d2-intro-pad-m-right) var(--d2-intro-pad-m-bottom) var(--d2-intro-pad-m-left)}.d2-why--text-last .d2-why__intro{order:2}.d2-why h2{font-size:var(--d2-title-size-m);margin-bottom:var(--d2-title-mb-m)}.d2-why .d2-why__eyebrow{font-size:var(--d2-eyebrow-size-m);margin-bottom:var(--d2-eyebrow-mb-m)}.d2-why .d2-why__description{font-size:var(--d2-intro-size-m);margin-bottom:var(--d2-intro-mb-m)}.d2-why__card{display:block;grid-row:auto}.d2-why__card-header{min-height:var(--d2-header-height-m);padding:var(--d2-header-pad-m)}.d2-why__logo img{width:var(--d2-logo-width-m);max-height:var(--d2-logo-height-m)}.d2-why .d2-why__risks{font-size:var(--d2-risks-size-m)}.d2-why__card h3{font-size:var(--d2-card-title-size-m)}.d2-why__row{font-size:var(--d2-row-size-m);padding:calc(var(--d2-row-gap-m)/2) var(--d2-card-pad-x-m);gap:var(--d2-icon-gap-m)}.d2-why__row:nth-child(2){padding-top:var(--d2-list-pad-y-m)}.d2-why__icon{width:var(--d2-icon-size-m);height:var(--d2-icon-size-m);flex-basis:var(--d2-icon-size-m)}.d2-why__footer-shell{padding:var(--d2-list-pad-y-m) var(--d2-footer-margin-m) var(--d2-footer-margin-m)}.d2-why .d2-why__footer{font-size:var(--d2-footer-size-m);padding:var(--d2-footer-pad-m)}.d2-why .d2-why__notice{font-size:var(--d2-notice-size-m)}.d2-why__button{font-size:var(--d2-cta-size-m);padding:var(--d2-cta-py-m) var(--d2-cta-px-m)}.d2-why--button-wide-m .d2-why__button{width:100%}.d2-why__row--custom{font-size:var(--row-size-m);gap:var(--row-gap-m);padding-top:var(--row-py);padding-bottom:var(--row-py);padding-inline:calc(var(--d2-card-pad-x-m) + var(--row-px))}.d2-why__row--custom .d2-why__icon{width:var(--row-icon-m);height:var(--row-icon-m);flex-basis:var(--row-icon-m)}.d2-why--pair .d2-why__panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--d2-gap-m)}.d2-why--pair .d2-why__intro{grid-column:1/-1;grid-row:auto;margin-bottom:var(--d2-gap-m)}.d2-why--pair .d2-why__card{display:grid;grid-template-rows:subgrid;grid-row:span var(--d2-cols)}.d2-why--pair .d2-why__row{flex-direction:column;align-items:flex-start}.d2-why--pair.d2-why--text-last .d2-why__intro{margin-top:var(--d2-gap-m);margin-bottom:0}}
/* END_SECTION:mg-why-choose */

/* START_SECTION:navigation (INDEX:77) */
.navigation {
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .navigation__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .navigation__track {
    display: flex;
    gap: var(--gap-md);
    scrollbar-width: none;
    overflow-x: auto;
    padding-top: 5px;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: var(--wrap);
  }

  @media (width > 750px) {
    .navigation__track {
      justify-content: var(--alignment-desktop);
    }
  }
/* END_SECTION:navigation */

/* START_SECTION:password (INDEX:78) */
.password-page__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    text-align: center;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }
/* END_SECTION:password */

/* START_SECTION:predictive-search (INDEX:79) */
.predictive-search-results-container {
    overflow-y: auto;
    max-height: calc(var(--search-modal-max-height-mobile) - var(--inputs-min-height) - var(--padding-md) * 2);
  }

  @media (width > 750px) {
    .predictive-search-results-container {
      max-height: calc(var(--search-modal-max-height) - var(--inputs-min-height) - var(--padding-md) * 2);
    }
  }

  .predictive-search-results:not(:empty) {
    display: flex;
    flex-direction: column;
    gap: var(--gap-lg);
    padding: var(--padding-xs);
    padding-top: var(--margin-md);
  }

  .predictive-search-results .predictive-search__section:not(:last-child) {
    border-bottom: 1px solid var(--color-input-border-low-opacity);
    padding-bottom: var(--gap-lg);
  }

  .predictive-search__title {
    margin-bottom: var(--margin-md);
  }

  .predictive-search__list,
  .predictive-search__grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
  }

  .predictive-search__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .predictive-search__grid {
      grid-template-columns: repeat(4, 1fr);
    }
  }

  .predictive-search__item-product a {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    text-decoration: none;
    font-size: var(--font-body--size);
  }

  .predictive-search__item-product a img,
  .predictive-search__item-collection a img {
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
    aspect-ratio: 1/1;
    object-fit: cover;
  }

  .predictive-search__item-collection a {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    text-decoration: none;
    font-size: var(--font-body--size);
  }

  .predictive-search__item-page,
  .predictive-search__item-article {
    padding: var(--padding-xs);
    border-radius: calc(var(--inputs-border-radius) * var(--small-multiplier));
    transition: background-color var(--animation-speed) var(--animation-easing);
    font-size: var(--font-body--size);
    text-decoration: none;
    color: inherit;
    display: block;
  }

  .predictive-search__item-page:hover,
  .predictive-search__item-article:hover {
    background-color: var(--color-input-border-low-opacity);
  }

  .predictive-search__item-article a {
    display: flex;
    justify-content: space-between;
    gap: var(--gap-xs);
    width: 100%;
  }

  .predictive-search__item-article-date {
    opacity: 0.7;
  }
/* END_SECTION:predictive-search */

/* START_SECTION:product-cross-sell (INDEX:80) */
.cross-sell-section {
    margin-top: var(--xsell-margin-top);
    margin-bottom: var(--xsell-margin-bottom);
  }

  .cross-sell__inner {
    max-width: var(--xsell-max-width, 640px);
    margin-inline: auto;
  }

  .cross-sell__eyebrow {
    margin: 0 0 0.85rem;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
    color: var(--color-foreground);
  }

  .cross-sell__card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--xsell-bg);
    border: var(--xsell-border-width) solid var(--xsell-border-color);
    border-radius: var(--xsell-radius);
    padding: var(--xsell-padding);
  }

  .cross-sell__media {
    flex: 0 0 auto;
    display: block;
    width: 110px;
  }

  .cross-sell__img {
    display: block;
    width: 110px;
    height: 110px;
    object-fit: contain;
    border-radius: calc(var(--xsell-radius) * 0.5);
  }

  .cross-sell__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 auto;
    min-width: 0;
  }

  .cross-sell__badge {
    align-self: flex-start;
    background: var(--xsell-accent);
    color: var(--xsell-on-accent);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 6px;
  }

  .cross-sell__title {
    color: var(--color-foreground);
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.3;
  }

  .cross-sell__title:hover,
  .cross-sell__title:focus-visible {
    text-decoration: underline;
    text-decoration-color: var(--xsell-accent);
    text-underline-offset: 0.15em;
  }

  .cross-sell__price {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .cross-sell__price-current {
    font-weight: 600;
    font-size: 1.05rem;
  }

  .cross-sell__price-note {
    font-size: 0.85rem;
    opacity: 0.7;
  }

  .cross-sell__form {
    margin-top: 10px;
  }

  .cross-sell__btn {
    appearance: none;
    cursor: pointer;
    width: 100%;
    border: 1px solid var(--xsell-accent);
    background: var(--xsell-accent);
    color: var(--xsell-on-accent);
    font: inherit;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.2;
    padding: 12px 18px;
    border-radius: 10px;
    transition: opacity 0.2s ease;
  }

  .cross-sell__btn:hover {
    opacity: 0.9;
  }

  .cross-sell__btn:focus-visible {
    outline: 2px solid var(--xsell-accent);
    outline-offset: 2px;
  }

  .cross-sell__btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
  }

  @media (width <= 749px) {
    .cross-sell__card {
      align-items: flex-start;
    }
    .cross-sell__media,
    .cross-sell__img {
      width: 88px;
    }
    .cross-sell__img {
      height: 88px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .cross-sell__btn {
      transition: none;
    }
  }
/* END_SECTION:product-cross-sell */

/* START_SECTION:product-recommendations (INDEX:82) */
.product-recommendations {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: block;
  }

  .product-recommendations__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    background-color: var(--color-background);
  }

  .product-recommendations__title {
    margin-bottom: var(--margin-lg);
  }

  .product-recommendations__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .product-recommendations__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_SECTION:product-recommendations */

/* START_SECTION:product-tabs (INDEX:83) */
.mg-editorial-table{overflow-x:auto}.mg-editorial-table table{width:100%;border-collapse:collapse}.mg-editorial-table th,.mg-editorial-table td{padding:12px;border-bottom:1px solid currentColor;text-align:left;vertical-align:top;overflow-wrap:anywhere}.pt-desc details{border-bottom:1px solid #e5e2d8;padding:14px 0}.pt-desc summary{cursor:pointer;min-height:44px;display:list-item;font-weight:500}.pt-desc summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
  .product-tabs { display: block; width: 100%; }
  .product-tabs__inner { box-sizing: border-box; }
  .product-tabs__nav-wrap { position: relative; }
  .product-tabs__tablist { position: relative; display: flex; gap: var(--pt-gap); overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--pt-border-color); padding-right: 32px; scroll-padding-inline: var(--pt-gap); }
  .product-tabs__tablist::-webkit-scrollbar { display: none; }
  .product-tabs--mobile-dropdown .product-tabs__tablist { display: none; }
  .product-tabs__tablist-scroller { position: relative; }

  /* Dégradés de bord (brief découvrabilité scroll horizontal onglets) :
     absents par défaut, activés uniquement quand data-pt-scroll-* le
     signale (JS product-tabs.js, calculé sur l'overflow réel). */
  .product-tabs__fade {
    position: absolute;
    top: 0;
    bottom: 1px;
    width: 32px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 150ms ease;
    z-index: 1;
  }
  .product-tabs__fade--start { left: 0; background: linear-gradient(to right, var(--color-background, #fff), transparent); }
  .product-tabs__fade--end { right: 0; background: linear-gradient(to left, var(--color-background, #fff), transparent); }
  .product-tabs__nav-wrap[data-pt-fade-start="true"] .product-tabs__fade--start,
  .product-tabs__nav-wrap[data-pt-fade-end="true"] .product-tabs__fade--end {
    opacity: 1;
  }

  /* CORRECTIF #7 "Flèche de découverte sur les onglets produit" (+ ajustement
     visibilité) : pastille olive superposée au dégradé de fin, même logique
     d'apparition (opacité du parent .product-tabs__fade--end, piloté par
     data-pt-fade-end) — pas d'état/transition JS séparé. pointer-events:
     none à tous les niveaux (parent + pastille) pour ne jamais bloquer le
     tap sur le dernier onglet visible, superposée au-dessus du dégradé
     (z-index hérité du parent .product-tabs__fade). Fond blanc + liseré +
     ombre légère : reste net et lisible même superposée à du texte clair
     ou une image de contenu de bloc, contrairement à un simple trait fin. */
  .product-tabs__scroll-arrow {
    position: absolute;
    top: 50%;
    right: 4px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #ffffff;
    border: 1.5px solid #777d43;
    box-shadow: 0 2px 6px rgba(26, 26, 26, 0.18);
    color: #777d43;
    pointer-events: none;
  }

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

  /* Barre de progression du scroll horizontal : masquée par défaut (bande
     qui ne déborde pas = rien à indiquer), affichée dès que la bande
     déborde réellement — dès le chargement, pas seulement à l'interaction. */
  .product-tabs__scroll-progress {
    display: none;
    position: relative;
    height: 3px;
    margin-top: 4px;
    background: var(--pt-border-color);
    border-radius: 3px;
    overflow: hidden;
  }
  .product-tabs__nav-wrap[data-pt-overflowing="true"] .product-tabs__scroll-progress {
    display: block;
  }
  .product-tabs__scroll-progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: var(--pt-active-bg);
    border-radius: 3px;
  }
  .product-tabs__select { display: none; width: 100%; font-size: var(--pt-font-size); padding: var(--pt-padding-v) var(--pt-padding-h); border: 1px solid var(--pt-border-color); border-radius: var(--pt-radius); background: var(--pt-inactive-bg); color: var(--pt-inactive-text); }
  .product-tabs--mobile-dropdown .product-tabs__select { display: block; }
  @media (width > 750px) { .product-tabs--mobile-dropdown .product-tabs__tablist { display: flex; } .product-tabs--mobile-dropdown .product-tabs__select { display: none; } }
  .product-tabs__tab { appearance: none; cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; gap: var(--pt-icon-gap); font-size: var(--pt-font-size); font-weight: var(--pt-font-weight-inactive); padding: var(--pt-padding-v) var(--pt-padding-h); background: transparent; color: var(--pt-inactive-text); border: none; border-bottom: 2px solid transparent; transition: color var(--pt-hover-speed) ease, background-color var(--pt-hover-speed) ease, border-color var(--pt-hover-speed) ease; }
  .product-tabs__tab-icon { display: flex; align-items: center; flex-shrink: 0; }
  .product-tabs__tab-icon .icon { font-size: var(--pt-icon-size) !important; }
  .product-tabs__tab:hover:not([aria-selected="true"]) { color: var(--pt-hover-text); }
  .product-tabs__tab:focus-visible { outline: 2px solid var(--pt-active-bg); outline-offset: 2px; }
  .product-tabs__tab[aria-selected="true"] { color: var(--pt-active-text); font-weight: var(--pt-font-weight-active); }
  .product-tabs--underline .product-tabs__tab[aria-selected="true"] { border-bottom-color: var(--pt-active-bg); }
  .product-tabs[data-indicator-enabled="true"].product-tabs--underline .product-tabs__tab[aria-selected="true"] { border-bottom-color: transparent; }
  .product-tabs__indicator { position: absolute; left: 0; bottom: -1px; height: var(--pt-indicator-height); width: 0; background: var(--pt-indicator-color); border-radius: var(--pt-indicator-height); transform: translateX(0); transition: transform var(--pt-hover-speed) ease, width var(--pt-hover-speed) ease; pointer-events: none; }
  .product-tabs--pill .product-tabs__tablist { border-bottom: none; padding-bottom: var(--pt-padding-v); }
  .product-tabs--pill .product-tabs__tab { background: var(--pt-inactive-bg); border-radius: var(--pt-radius); }
  .product-tabs--pill .product-tabs__tab[aria-selected="true"] { background: var(--pt-active-bg); color: var(--pt-active-text-on-fill); }
  .product-tabs--pill .product-tabs__indicator { display: none; }
  .product-tabs--bordered .product-tabs__tablist { border-bottom: none; gap: 0; }
  .product-tabs--bordered .product-tabs__tab { border: 1px solid var(--pt-border-color); margin-left: -1px; }
  .product-tabs--bordered .product-tabs__tab:first-child { margin-left: 0; border-top-left-radius: var(--pt-radius); border-bottom-left-radius: var(--pt-radius); }
  .product-tabs--bordered .product-tabs__tab:last-child { border-top-right-radius: var(--pt-radius); border-bottom-right-radius: var(--pt-radius); }
  .product-tabs--bordered .product-tabs__tab[aria-selected="true"] { background: var(--pt-active-bg); color: var(--pt-active-text-on-fill); border-color: var(--pt-active-bg); z-index: 1; position: relative; }
  .product-tabs--bordered .product-tabs__indicator { display: none; }
  .product-tabs__panels { padding-top: var(--pt-content-padding-top); position: relative; transition: min-height 200ms ease; }
  .product-tabs__panel { opacity: 1; }
  .product-tabs__panel[hidden] { display: none; }
  .product-tabs__panel-inner { max-width: 100%; box-sizing: border-box; overflow-x: auto; overflow-wrap: break-word; word-break: break-word; }
  .product-tabs__panel-inner img, .product-tabs__panel-inner table { max-width: 100%; }
  .product-tabs__panel-inner.rte table { width: 100%; border-collapse: collapse; }
  .product-tabs__panel-inner.rte table td, .product-tabs__panel-inner.rte table th { text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--pt-border-color); }
  .product-tabs__panel-inner.rte h1, .product-tabs__panel-inner.rte h2, .product-tabs__panel-inner.rte h3, .product-tabs__panel-inner.rte h4, .product-tabs__panel-inner.rte h5, .product-tabs__panel-inner.rte h6 { font-family: var(--font-body--family); font-size: var(--pt-desc-heading-size); font-weight: var(--pt-desc-heading-weight); line-height: 1.35; margin-top: var(--pt-desc-heading-margin-top); margin-bottom: var(--pt-desc-heading-margin-bottom); color: var(--pt-desc-heading-color); }
  .product-tabs__panel-inner.rte.pt-desc > :first-child { margin-top: 0; }
  .product-tabs__panel-inner.rte.pt-desc { max-width: var(--pt-desc-max-width); }
  .product-tabs__panel-inner.rte.pt-desc p, .product-tabs__panel-inner.rte.pt-desc li { font-size: var(--pt-desc-font-size); line-height: var(--pt-desc-line-height); color: var(--pt-desc-text-color); }
  .product-tabs__panel-inner.rte.pt-desc strong, .product-tabs__panel-inner.rte.pt-desc b { color: var(--pt-desc-bold-color); font-weight: 600; }
  .product-tabs__panel-inner.rte.pt-desc a { color: var(--pt-desc-link-color); text-decoration-color: currentColor; transition: color var(--pt-hover-speed) ease; }
  .product-tabs__panel-inner.rte.pt-desc a:hover { color: var(--pt-desc-link-hover-color); }
  .pt-desc--links-underline a { text-decoration: underline; }
  .pt-desc--links-dotted a { text-decoration: underline; text-decoration-style: dotted; }
  .pt-desc--links-none a { text-decoration: none; }
  @media (prefers-reduced-motion: reduce) { .product-tabs__panel-inner.rte.pt-desc a { transition: none !important; } }
  .product-tabs__panel-inner.rte.pt-desc ul, .product-tabs__panel-inner.rte.pt-desc ol { padding-left: var(--pt-desc-list-indent); margin: var(--pt-desc-list-gap) 0; }
  .product-tabs__panel-inner.rte.pt-desc li + li { margin-top: var(--pt-desc-list-gap); }
  .pt-desc--bullet-disc ul li::marker { color: var(--pt-desc-bullet-color); }
  .pt-desc--bullet-dash ul { list-style: none; padding-left: calc(var(--pt-desc-list-indent) + 4px); }
  .pt-desc--bullet-dash ul li { position: relative; }
  .pt-desc--bullet-dash ul li::before { content: '—'; position: absolute; left: calc(var(--pt-desc-list-indent) * -1); color: var(--pt-desc-bullet-color); }
  .pt-desc--bullet-check ul { list-style: none; padding-left: calc(var(--pt-desc-list-indent) + 4px); }
  .pt-desc--bullet-check ul li { position: relative; }
  .pt-desc--bullet-check ul li::before { content: '✓'; position: absolute; left: calc(var(--pt-desc-list-indent) * -1); color: var(--pt-desc-bullet-color); font-weight: 700; }

  /* "Voir plus" de la description (composant see-more-component, réutilisé
     depuis blocks/text.liquid / assets/see-more.js). Le fondu (mask) et le
     dépliage sont scopés sous .pt-desc-see-more pour ne rien changer aux
     autres usages du composant sur le site. */
  .pt-desc-see-more {
    display: block;
  }

  .pt-desc-see-more [data-ref="see-more-content"] {
    mask: linear-gradient(to bottom, black calc(100% - 40px), transparent 100%);
    -webkit-mask: linear-gradient(to bottom, black calc(100% - 40px), transparent 100%);
    transition: mask 0.3s ease, -webkit-mask 0.3s ease;
  }

  .pt-desc-see-more [data-ref="see-more-content"].see-more__content--expanded,
  .pt-desc-see-more [data-ref="see-more-content"].see-more__content--no-overflow {
    mask: none;
    -webkit-mask: none;
  }

  .pt-desc-see-more__toggle {
    display: inline-block;
    background: none;
    border: none;
    padding: 0;
    margin-top: 14px;
    cursor: pointer;
    font-size: var(--pt-desc-font-size);
    font-family: var(--font-body--family);
    color: var(--pt-desc-link-color);
    transition: color var(--pt-hover-speed, 200ms) ease;
  }

  .pt-desc-see-more__toggle:hover {
    color: var(--pt-desc-link-hover-color);
  }

  .pt-desc-see-more__toggle .see-more__toggle-text {
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  @media (prefers-reduced-motion: reduce) {
    .pt-desc-see-more [data-ref="see-more-content"] {
      transition: none !important;
    }

    .pt-desc-see-more__toggle {
      transition: none !important;
    }
  }

  .product-tabs[data-transitions-enabled="true"] .product-tabs__panel { transition: opacity 200ms ease; }
  .product-tabs[data-transitions-enabled="true"] .product-tabs__panel.product-tabs__panel--entering { opacity: 0; }
  @media (prefers-reduced-motion: reduce) { .product-tabs__panel, .product-tabs__panels, .product-tabs__tab, .product-tabs__indicator, .product-tabs__fade { transition: none !important; } }
  .product-tabs__table { width: 100%; border-collapse: collapse; }
  .product-tabs__table th, .product-tabs__table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--pt-border-color); font-size: 15px; }
  .product-tabs__table th[scope="row"] { font-weight: 500; color: var(--color-foreground); width: 45%; }
  .product-tabs__reviews-summary { margin-bottom: 20px; }
  .product-tabs__reviews-list.ac-list { grid-template-columns: 1fr; }
  .product-tabs__faq-accordion { display: flex; flex-direction: column; gap: var(--pt-faq-gap); margin-bottom: 20px; }
  .product-tabs__faq-card { background: var(--pt-faq-bg); border: var(--pt-faq-border-width) solid var(--pt-faq-border); border-radius: var(--pt-faq-radius); padding: 14px 16px; transition: background-color var(--pt-faq-transition) ease, border-color var(--pt-faq-transition) ease, transform var(--pt-faq-transition) ease; }
  .product-tabs__faq-card:hover { border-color: var(--pt-faq-border-hover); background: var(--pt-faq-bg-hover); transform: translateY(-1px); }
  .product-tabs__faq-card-summary { display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
  .product-tabs__faq-card-summary::-webkit-details-marker { display: none; }
  .product-tabs__faq-card-summary::marker { content: ''; }
  .product-tabs__faq-card-summary:focus-visible { outline: 2px solid var(--pt-active-bg); outline-offset: 3px; border-radius: 4px; }
  .product-tabs__faq-card-icon { display: flex; align-items: center; flex-shrink: 0; color: var(--pt-faq-icon-color); }
  .product-tabs__faq-card-icon .icon { font-size: var(--pt-faq-icon-size) !important; }
  .product-tabs__faq-card-question { flex: 1; font-size: var(--pt-faq-question-size); font-weight: 600; color: var(--color-foreground); }
  .product-tabs__faq-card-chevron { display: flex; flex-shrink: 0; color: var(--color-foreground); opacity: 0.7; transition: transform var(--pt-faq-transition) ease; }
  .product-tabs__faq-card[open] .product-tabs__faq-card-chevron { transform: rotate(180deg); }
  .product-tabs__faq-card-body { display: grid !important; grid-template-rows: 0fr; transition: grid-template-rows var(--pt-faq-transition) ease; }
  .product-tabs__faq-card[open] .product-tabs__faq-card-body { grid-template-rows: 1fr; }
  .product-tabs__faq-card-body > .product-tabs__faq-card-answer { overflow: hidden; min-height: 0; }
  .product-tabs__faq-card-answer { padding-top: 10px; font-size: var(--pt-faq-answer-size); color: var(--color-foreground); line-height: 1.55; }
  .product-tabs__faq-card-answer p { margin: 0; }
  @media (prefers-reduced-motion: reduce) { .product-tabs__faq-card, .product-tabs__faq-card-chevron, .product-tabs__faq-card-body { transition: none !important; } .product-tabs__faq-card:hover { transform: none; } }
  .product-tabs__faq-viewall { display: inline-flex; flex-direction: column; color: var(--pt-active-bg); font-weight: 600; text-decoration: underline; }
  .product-tabs__faq-viewall-count { font-weight: 400; text-decoration: none; opacity: 0.7; font-size: 13px; }
  .product-tabs__faq-fallback { padding: 16px; border: 1px dashed var(--pt-border-color); border-radius: var(--pt-radius); }
  .product-tabs__faq-fallback p { margin: 0 0 10px; color: var(--color-foreground); opacity: 0.8; }
  .product-tabs__faq-link { color: var(--pt-active-bg); font-weight: 600; text-decoration: underline; }
/* END_SECTION:product-tabs */

/* START_SECTION:quiz-recommandation (INDEX:84) */
.qz-quiz {
    max-width: var(--qz-max-width);
    margin: 0 auto;
    padding: var(--qz-padding-top) 20px var(--qz-padding-bottom);
  }

  .qz-title {
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
  }

  .qz-subtitle {
    margin: 0 0 24px;
    text-align: center;
    color: #4a4a4a;
  }

  .qz-progress {
    display: flex;
    gap: 6px;
    margin-bottom: 32px;
  }

  .qz-progress__segment {
    flex: 1;
    height: var(--qz-progress-height);
    border-radius: 999px;
    background: var(--qz-color-inactive);
    transition: background-color 200ms ease;
  }

  .qz-progress__segment.is-active {
    background: var(--qz-color-active);
  }

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

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

  .qz-viewport {
    position: relative;
    min-height: var(--qz-min-viewport);
  }

  .qz-step[hidden] {
    display: none !important;
  }

  .qz-back {
    background: none;
    border: none;
    padding: 0;
    margin-bottom: 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--qz-color-active);
    cursor: pointer;
  }

  .qz-question {
    margin: 0 0 20px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
  }

  .qz-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  @media (min-width: 700px) {
    .qz-cards {
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
  }

  .qz-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 20px 16px;
    min-height: 44px;
    background: var(--qz-color-card-bg);
    border: 1.5px solid var(--qz-color-card-border);
    border-radius: var(--qz-radius);
    cursor: pointer;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
  }

  .qz-card:hover,
  .qz-card:focus-visible {
    background: var(--qz-color-card-hover);
    border-color: var(--qz-color-active);
  }

  .qz-card:focus-visible {
    outline: 2px solid var(--qz-color-active);
    outline-offset: 2px;
  }

  .qz-card:active {
    transform: scale(0.98);
  }

  @media (prefers-reduced-motion: reduce) {
    .qz-card {
      transition: none;
    }
    .qz-card:active {
      transform: none;
    }
  }

  .qz-card__icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--qz-color-active);
  }

  .qz-card__icon svg {
    width: 100%;
    height: 100%;
  }

  .qz-result__card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    background: var(--qz-color-card-bg);
    border: 1.5px solid var(--qz-color-card-border);
    border-radius: var(--qz-radius);
    overflow: hidden;
  }

  @media (min-width: 700px) {
    .qz-result__card {
      grid-template-columns: 280px 1fr;
    }
  }

  .qz-result__media {
    display: block;
    aspect-ratio: 1 / 1;
  }

  .qz-result__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .qz-result__body {
    padding: 20px 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .qz-result__eyebrow {
    margin: 0;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--qz-color-active);
    font-weight: 700;
  }

  .qz-result__name {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
  }

  .qz-result__price {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #4a4a4a;
  }

  .qz-result__justification {
    margin: 8px 0 12px;
    font-size: 14px;
    line-height: 1.5;
    color: #4a4a4a;
  }

  .qz-result__cta {
    align-self: flex-start;
  }

  .qz-result__secondary {
    align-self: flex-start;
    margin-top: 4px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
    color: var(--qz-color-active);
  }

  .qz-restart {
    display: block;
    margin: 24px auto 0;
    background: none;
    border: none;
    padding: 8px;
    min-height: 44px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
    color: var(--qz-color-active);
    cursor: pointer;
  }
/* END_SECTION:quiz-recommandation */

/* START_SECTION:reviews (INDEX:85) */
.section-reviews {
    max-width: 100%;
    padding: 0;
  }

  .reviews {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    width: 100%;
  }

  .reviews__title {
    margin-bottom: var(--gap-lg);
  }

  .reviews__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
    list-style: none;
    padding: 0;
    margin: 0;
  }

  @media (width > 750px) {
    .reviews__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }

  .reviews .splide {
    padding-bottom: 20px;
  }
/* END_SECTION:reviews */

/* START_SECTION:trust-badges-accordion (INDEX:88) */
.tb-wrap {
    position: relative;
    overflow: hidden;
    background: var(--tb-bg);
    padding-top: var(--tb-padding-top);
    padding-bottom: var(--tb-padding-bottom);
  }

  .tb-glass-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(135deg, color-mix(in srgb, var(--tb-icon-color) 18%, var(--tb-bg)), var(--tb-bg));
  }

  .tb-glass-backdrop__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.35;
    filter: blur(2px);
  }

  .tb-inner {
    position: relative;
    z-index: 1;
    max-width: var(--tb-max-width);
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .tb-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
    order: 1;
  }

  .tb-image-wrap {
    order: 2;
  }

  .tb-mobile-image--above .tb-content {
    order: 2;
  }

  .tb-mobile-image--above .tb-image-wrap {
    order: 1;
  }

  .tb-no-image .tb-inner {
    grid-template-columns: 1fr;
  }

  @media (width >= 900px) {
    .tb-inner {
      grid-template-columns: 1fr 1fr;
      align-items: center;
    }

    .tb-image--left .tb-content {
      order: 2;
    }

    .tb-image--left .tb-image-wrap {
      order: 1;
    }

    .tb-image--right .tb-content {
      order: 1;
    }

    .tb-image--right .tb-image-wrap {
      order: 2;
    }
  }

  .tb-title {
    margin: 0;
    font-size: var(--tb-title-size);
    font-weight: 700;
    color: var(--tb-title-color);
  }

  .tb-title p {
    margin: 0;
  }

  .tb-badges {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--tb-badge-gap);
  }

  @media (width >= 750px) {
    .tb-badges--fixed {
      grid-template-columns: repeat(var(--tb-columns-desktop), 1fr);
    }

    .tb-badges--auto {
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }
  }

  .tb-badge {
    background: var(--tb-badge-bg);
    border: var(--tb-badge-border-width) solid var(--tb-badge-border);
    border-radius: var(--tb-badge-radius);
    padding: var(--tb-badge-padding);
    transition: background-color var(--tb-transition-duration) ease;
  }

  .tb-badge[open] {
    background: var(--tb-badge-bg-open);
  }

  /*
    Effet verre dépoli — reprend exactement blocks/group.liquid
    (.group--glass) : repli opaque par défaut, puis vrai flou/transparence
    si le navigateur supporte backdrop-filter (brief, contrainte repli).
  */
  [data-tb-glass="true"] .tb-badge {
    background: var(--tb-glass-bg-fallback);
  }

  [data-tb-glass="true"] .tb-badge[open] {
    background: var(--tb-glass-bg-open-fallback);
  }

  @supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
    [data-tb-glass="true"] .tb-badge {
      background: var(--tb-glass-bg);
      backdrop-filter: blur(var(--tb-glass-blur));
      -webkit-backdrop-filter: blur(var(--tb-glass-blur));
    }

    [data-tb-glass="true"] .tb-badge[open] {
      background: var(--tb-glass-bg-open);
    }
  }

  .tb-badge__summary {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    list-style: none;
    font-size: var(--tb-label-size);
    font-weight: var(--tb-label-weight);
    color: var(--tb-label-color);
  }

  .tb-badge__summary::-webkit-details-marker {
    display: none;
  }

  .tb-badge__summary::marker {
    content: '';
  }

  .tb-badge__summary:focus-visible {
    outline: 2px solid var(--tb-label-color);
    outline-offset: 3px;
    border-radius: 4px;
  }

  .tb-badge__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tb-icon-color);
    flex-shrink: 0;
  }

  .tb-badge__icon .icon {
    font-size: var(--tb-icon-size) !important;
  }

  .tb-badge__label {
    flex: 1;
  }

  .tb-badge__chevron {
    color: var(--tb-icon-color);
    display: flex;
    flex-shrink: 0;
    transition: transform var(--tb-transition-duration) ease;
  }

  .tb-badge[open] .tb-badge__chevron {
    transform: rotate(180deg);
  }

  /* Animation de hauteur en pur CSS (grid-template-rows), compatible avec
     l'ouverture/fermeture native de <details>. On force l'affichage du
     contenu (au lieu du display:none natif) pour permettre la transition. */
  .tb-badge__body {
    display: grid !important;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--tb-transition-duration) ease;
  }

  .tb-badge[open] .tb-badge__body {
    grid-template-rows: 1fr;
  }

  .tb-badge__body > .tb-badge__detail {
    overflow: hidden;
    min-height: 0;
  }

  .tb-badge__detail {
    padding-top: 10px;
    font-size: var(--tb-detail-size);
    color: var(--tb-detail-color);
    line-height: 1.55;
  }

  .tb-badge__detail p {
    margin: 0;
  }

  @media (prefers-reduced-motion: reduce) {
    .tb-badge,
    .tb-badge__chevron,
    .tb-badge__body {
      transition: none !important;
    }
  }

  .tb-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    align-self: flex-start;
    padding: 13px 26px;
    border-radius: var(--tb-button-radius);
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid var(--tb-button-bg);
    transition: background-color 200ms ease, color 200ms ease;
  }

  .tb-button--solid {
    background: var(--tb-button-bg);
    color: var(--tb-button-text);
  }

  .tb-button--solid:hover {
    background: var(--tb-button-bg-hover);
    border-color: var(--tb-button-bg-hover);
  }

  .tb-button--outline {
    background: transparent;
    color: var(--tb-button-bg);
  }

  .tb-button--outline:hover {
    background: var(--tb-button-bg);
    color: var(--tb-button-text);
  }

  .tb-image-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: var(--tb-image-radius);
  }

  .tb-image-wrap.tb-ratio--square {
    padding-top: 100%;
  }

  .tb-image-wrap.tb-ratio--portrait {
    padding-top: 125%;
  }

  .tb-image-wrap.tb-ratio--landscape {
    padding-top: 66.66%;
  }

  .tb-image-wrap.tb-ratio--free {
    padding-top: 0;
    min-height: 320px;
  }

  .tb-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .tb-image--placeholder {
    background: color-mix(in srgb, var(--tb-title-color) 10%, transparent);
  }
/* END_SECTION:trust-badges-accordion */

/* START_SECTION:trust-bar-premium (INDEX:89) */
.tbp-row {
    display: flex;
    flex-wrap: wrap;
  }

  .tbp-item {
    flex: 1 1 0;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    padding: 0 var(--tbp-column-gap);
  }

  .tbp-item--center {
    align-items: center;
    text-align: center;
  }

  .tbp-item--left {
    align-items: flex-start;
    text-align: left;
  }

  .tbp-item:first-child {
    padding-left: 0;
  }

  .tbp-item:last-child {
    padding-right: 0;
  }

  .tbp-badge {
    width: var(--tbp-badge-size);
    height: var(--tbp-badge-size);
    border-radius: 50%;
    background: var(--tbp-badge-bg);
    color: var(--tbp-badge-icon);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-bottom: var(--tbp-gap-badge-title);
  }

  .tbp-badge svg {
    width: 55%;
    height: 55%;
  }

  .tbp-title {
    font-size: var(--tbp-title-size);
    color: var(--tbp-title-color);
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 var(--tbp-gap-title-text) 0;
  }

  .tbp-title--link {
    color: var(--tbp-link-color);
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .tbp-title--link:hover {
    opacity: 0.8;
  }

  .tbp-text {
    font-size: var(--tbp-text-size);
    color: var(--tbp-text-color);
    line-height: 1.5;
    margin: 0;
  }

  /* Bande défilante mobile — masquée sur desktop. Fond blanc uni,
     AUCUN effet de verre/flou/teinte : ce composant est distinct de
     "Achetez en toute sérénité" (accueil), qui seul reçoit le glassmorphism. */
  .tbp-mq-wrap {
    display: none;
  }

  @media (width < 750px) {
    .tbp-row {
      display: none;
    }

    .tbp-mq-wrap {
      display: flex;
      align-items: center;
      width: 100%;
      background: var(--tbp-mq-bg);
      overflow: hidden;
      box-sizing: border-box;
    }
  }

  .tbp-mq-inner {
    width: 100%;
    padding: 10px 0;
    overflow: hidden;
  }

  .tbp-mq-track {
    display: flex;
    align-items: center;
    width: max-content;
    animation-name: tbp-mq-scroll;
    animation-duration: var(--tbp-mq-duration);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: var(--tbp-mq-anim-direction);
    will-change: transform;
    --tbp-mq-translate-pct: 50;
  }

  .tbp-mq-group {
    display: flex;
    align-items: center;
    flex-shrink: 0;
  }

  /* Icône fine à côté du texte, centrée verticalement sur titre + sous-titre */
  .tbp-mq-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 calc(var(--tbp-mq-gap) / 2);
  }

  .tbp-mq-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--tbp-mq-icon-size);
    height: var(--tbp-mq-icon-size);
    color: var(--tbp-mq-icon-color);
    flex-shrink: 0;
  }

  .tbp-mq-icon svg {
    width: 100%;
    height: 100%;
  }

  /* Texte sur deux lignes courtes : titre noir gras + précision grise.
     La 2e ligne reprend le texte descriptif desktop, qui peut être plus
     long qu'une "précision courte" — on le tronque proprement en CSS
     plutôt que de casser la hauteur compacte de la bande. */
  .tbp-mq-text {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
    max-width: 220px;
  }

  .tbp-mq-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--tbp-mq-text-color);
    white-space: nowrap;
  }

  .tbp-mq-subtitle {
    font-size: 12px;
    font-weight: 400;
    color: var(--tbp-mq-subtitle-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Séparateur : petit losange discret, pas de barre verticale. Rayon
     quasi nul : à cette taille, un border-radius trop généreux (ex. 2px
     sur 6px) fait paraître le losange rond une fois pivoté à 45°. */
  .tbp-mq-dot {
    width: var(--tbp-mq-dot-size);
    height: var(--tbp-mq-dot-size);
    border-radius: 1px;
    transform: rotate(45deg);
    background: var(--tbp-mq-dot-color);
    flex-shrink: 0;
    margin: 0 calc(var(--tbp-mq-gap) / 2);
  }

  @keyframes tbp-mq-scroll {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(calc(var(--tbp-mq-translate-pct) * -1%));
    }
  }

  /* Repli statique : défilement désactivé dans le personnalisateur —
     une seule copie des éléments, en ligne, sans animation. */
  .tbp-mq-wrap--static .tbp-mq-track {
    animation: none;
    transform: none;
  }

  .tbp-mq-wrap--static .tbp-mq-inner {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  /* prefers-reduced-motion : impératif, même si le défilement est activé
     dans le personnalisateur — un défilement perpétuel qu'on ne peut pas
     arrêter est un vrai problème d'accessibilité, pas une simple
     transition qu'on désactive par confort. */
  @media (prefers-reduced-motion: reduce) {
    .tbp-mq-track {
      animation: none !important;
      transform: none !important;
    }

    .tbp-mq-inner {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
    }

    .tbp-mq-group[aria-hidden='true'] {
      display: none;
    }
  }


  .mg-reassurance {background:var(--mg-bg); margin:var(--mg-mt) 0 var(--mg-mb); padding:var(--mg-pt) 0 var(--mg-pb);}
  .mg-reassurance, .mg-reassurance * {box-sizing:border-box;}
  .mg-reassurance__inner {max-width:var(--mg-max); margin-inline:auto; padding-inline:var(--mg-x);}
  .mg-reassurance__items {display:grid; grid-template-columns:repeat(var(--mg-count),minmax(0,1fr)); gap:var(--mg-gap);}
  .mg-reassurance__item {position:relative; min-width:0; display:flex; flex-direction:var(--mg-position); align-items:var(--mg-vertical); gap:var(--mg-icon-gap); text-align:var(--mg-item-align); transition:transform var(--mg-duration) ease,box-shadow var(--mg-duration) ease;}
  .mg-reassurance--signature.mg-reassurance--separators .mg-reassurance__item + .mg-reassurance__item::before {content:''; position:absolute; top:0; bottom:0; left:calc(var(--mg-gap) / -2); width:var(--mg-border); background:var(--mg-separator);}
  .mg-reassurance__icon {display:flex; flex-shrink:0; align-items:center; justify-content:center; align-self:var(--mg-icon-align); width:var(--mg-circle); height:var(--mg-circle); color:var(--mg-icon); background:var(--mg-circle-bg); border:var(--mg-icon-border) solid var(--mg-icon-border-color); border-radius:var(--mg-icon-radius);}
  .mg-reassurance__icon svg, .mg-reassurance__icon img {display:block; width:min(var(--mg-icon-size),100%); height:min(var(--mg-icon-size),100%); object-fit:contain;}
  .mg-reassurance__content {min-width:0; width:100%;}
  .mg-reassurance .mg-reassurance__title {margin:0; font-family:var(--mg-title-font); font-style:var(--mg-title-style); font-weight:var(--mg-title-weight); font-size:var(--mg-title-size); line-height:var(--mg-title-line); color:var(--mg-title-color); letter-spacing:normal; text-transform:none; overflow-wrap:anywhere;}
  .mg-reassurance__title a {color:var(--mg-link); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px;}
  .mg-reassurance__title a:focus-visible {outline:2px solid var(--mg-link); outline-offset:5px; border-radius:2px;}
  .mg-reassurance .mg-reassurance__text {margin:var(--mg-text-gap) 0 0; font-family:var(--mg-body-font); font-style:var(--mg-body-style); font-weight:var(--mg-body-weight); font-size:var(--mg-text-size); line-height:var(--mg-text-line); color:var(--mg-text-color); letter-spacing:normal; overflow-wrap:anywhere;}
  .mg-reassurance--cards .mg-reassurance__item {padding:var(--mg-card-pad); background:var(--mg-card-bg); border:var(--mg-border) solid var(--mg-separator); border-radius:var(--mg-radius); box-shadow:var(--mg-shadow);}
  .mg-reassurance--minimal .mg-reassurance__icon {background:transparent; border:0; border-radius:0; width:var(--mg-icon-size); height:var(--mg-icon-size);}
  @media (hover:hover) { .mg-reassurance--hover .mg-reassurance__item:hover {transform:translateY(-3px);} }
  .mg-reassurance--animate .mg-reassurance__item {animation:mg-reassurance-appear var(--mg-duration) ease both;}
  @keyframes mg-reassurance-appear {from {opacity:0;transform:translateY(8px);} to {opacity:1;transform:translateY(0);}}
  @media (min-width:750px) and (max-width:989px) {
    .mg-reassurance__items {grid-template-columns:repeat(2,minmax(0,1fr));}
    .mg-reassurance--signature.mg-reassurance--separators .mg-reassurance__item:nth-child(odd)::before {display:none;}
  }
  @media (max-width:749px) {
    .mg-reassurance {margin:var(--mg-mt-m) 0 var(--mg-mb-m); padding:var(--mg-pt-m) 0 var(--mg-pb-m);}
    .mg-reassurance__inner {padding-inline:var(--mg-x-m);}
    .mg-reassurance__items {grid-template-columns:minmax(0,1fr); gap:var(--mg-gap-m);}
    .mg-reassurance__item {flex-direction:row; align-items:var(--mg-vertical); text-align:var(--mg-align-m); gap:var(--mg-icon-gap-m); padding:var(--mg-card-pad-m); border:var(--mg-border) solid var(--mg-separator); border-radius:var(--mg-radius); background:var(--mg-card-bg); box-shadow:var(--mg-shadow);}
    .mg-reassurance--cards .mg-reassurance__item {padding:var(--mg-card-pad-m);}
    .mg-reassurance__icon {width:var(--mg-circle-m); height:var(--mg-circle-m);}
    .mg-reassurance__icon svg, .mg-reassurance__icon img {width:min(var(--mg-icon-m),100%); height:min(var(--mg-icon-m),100%);}
    .mg-reassurance .mg-reassurance__title {font-size:var(--mg-title-m);}
    .mg-reassurance .mg-reassurance__text {font-size:var(--mg-text-m);}
    .mg-reassurance--signature.mg-reassurance--separators .mg-reassurance__item::before {display:none;}
    .mg-reassurance--grid .mg-reassurance__items {grid-template-columns:repeat(2,minmax(0,1fr));}
    .mg-reassurance--grid .mg-reassurance__item {flex-direction:column; text-align:var(--mg-align-m);}
    .mg-reassurance--minimal .mg-reassurance__item {background:transparent; border:0; box-shadow:none; padding:0;}
    .mg-reassurance--minimal .mg-reassurance__icon {width:var(--mg-icon-m); height:var(--mg-icon-m);}
  }
  @media (prefers-reduced-motion:reduce) {
    .mg-reassurance .mg-reassurance__item {animation:none;transition:none;transform:none;}
    .mg-reassurance--hover .mg-reassurance__item:hover {transform:none;}
  }


 .mg-motion {position:relative; display:none; width:100%; min-width:0; align-items:center; min-height:var(--motion-height); padding:var(--motion-pt) var(--motion-x) var(--motion-pb); background:var(--motion-bg); color:var(--motion-color); border-block:var(--motion-border) solid var(--motion-separator); overflow:hidden;}
 .mg-motion--shadow {box-shadow:0 2px 8px rgb(37 40 32 / 7%);}
 .mg-motion__viewport {min-width:0; flex:1; overflow:hidden; mask-image:linear-gradient(to right, rgb(0 0 0 / calc(1 - var(--motion-fade-alpha))), black var(--motion-fade), black calc(100% - var(--motion-fade)), rgb(0 0 0 / calc(1 - var(--motion-fade-alpha))));}
 .mg-motion__track {display:flex; width:max-content; animation:mg-motion-scroll var(--motion-loop-duration,var(--motion-duration)) linear infinite var(--motion-direction);}
 .mg-motion__group {display:flex; flex-shrink:0; align-items:center; justify-content:flex-start;}
 .mg-motion__item {display:flex; align-items:center; padding-inline:calc(var(--motion-gap) / 2); flex-shrink:0; position:relative; min-height:44px;}
 .mg-motion__item a, .mg-motion__label {display:flex; align-items:center; gap:var(--motion-icon-gap); min-height:44px; white-space:nowrap; font-family:var(--motion-font); font-size:var(--motion-size); font-weight:var(--motion-weight); font-style:normal; letter-spacing:var(--motion-tracking); line-height:var(--motion-leading,1.2); text-decoration:none; color:var(--motion-item-text,var(--motion-color));}
 .mg-motion__icon {display:flex; flex-shrink:0; width:var(--motion-icon-size); height:var(--motion-icon-size); color:var(--motion-item-icon,var(--motion-icon-color));}
 .mg-motion__icon svg,.mg-motion__icon img {display:block; flex-shrink:0; width:100%; height:100%; object-fit:contain;}
 .mg-motion__icon svg {stroke-width:var(--motion-stroke,1.8);}
 .mg-motion__item--custom .mg-motion__icon {width:var(--item-icon-m);height:var(--item-icon-m);}
 .mg-motion__item--custom a,.mg-motion__item--custom .mg-motion__label {gap:var(--item-gap-m);}
 .mg-motion--separators .mg-motion__item::after {content:''; position:absolute; right:0; width:var(--motion-separator-width); height:var(--motion-separator-height); background:var(--motion-separator);}
 .mg-motion__pause {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; padding:0; margin:0; border:0; background:transparent; color:var(--motion-color); cursor:pointer; font-size:16px;}
 .mg-motion__play-symbol {display:none; font-size:12px;}
 .mg-motion__pause[aria-pressed='true'] .mg-motion__pause-symbol {display:none;}
 .mg-motion__pause[aria-pressed='true'] .mg-motion__play-symbol {display:inline;}
 .mg-motion a:focus-visible,.mg-motion button:focus-visible,.mg-motion__viewport:focus-visible {outline:2px solid var(--motion-color); outline-offset:-3px; border-radius:2px;}
 .mg-motion[data-mode='steps'] .mg-motion__item {width:190px; justify-content:center;}
 .mg-motion[data-mode='steps'] .mg-motion__track {animation-timing-function:steps(var(--motion-steps),end);}
 .mg-motion[data-mode='static'] .mg-motion__track,.mg-motion[data-manual] .mg-motion__track {animation:none; transform:none;}
 .mg-motion[data-mode='static'] .mg-motion__group[aria-hidden],.mg-motion[data-manual] .mg-motion__group[aria-hidden] {display:none;}
 .mg-motion[data-mode='static'] .mg-motion__viewport,.mg-motion[data-manual] .mg-motion__viewport {overflow-x:auto; mask-image:none; scrollbar-width:none;}
 .mg-motion[data-manual] [data-motion-repeat],.mg-motion[data-mode='static'] [data-motion-repeat] {display:none;}
 .mg-motion__viewport::-webkit-scrollbar {display:none;}
 .mg-motion[data-mode='static'] .mg-motion__pause {display:none;}

 .mg-motion__text {display:flex; flex-direction:column; gap:var(--motion-line-gap); min-width:0; max-width:calc(var(--motion-view-width,100vw) - var(--motion-icon-size) - var(--motion-icon-gap) - var(--motion-gap));}
 .mg-motion__title,.mg-motion__subtitle {white-space:normal;overflow-wrap:anywhere;}
 .mg-motion__title {font-size:var(--motion-size); font-weight:var(--motion-weight); line-height:var(--motion-leading,1.2);}
 .mg-motion__subtitle {font-size:var(--motion-subtitle-size); font-weight:var(--motion-subtitle-weight,400); color:var(--motion-item-subtitle,var(--motion-subtitle-color)); line-height:var(--motion-leading,1.2);}
 .mg-motion__pause--discreet {position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap;}
 .mg-motion__pause--discreet:focus-visible {position:absolute; right:4px; top:4px; width:44px; height:44px; clip-path:none; background:var(--motion-bg); z-index:2;}
 @media (hover:hover) {.mg-motion__viewport:hover .mg-motion__track {animation-play-state:paused;}}
 @media (max-width:749px) {
  .shopify-section[id*="template--"] .tbp-section,
  .shopify-section[id*="template--"] .mg-reassurance:not(.mg-reassurance--motion) {display:none;}
 }

 @keyframes mg-motion-scroll {to {transform:translateX(-50%);}}
 @media (prefers-reduced-motion:reduce) {
  .mg-motion__track {animation:none!important; transform:none!important;}
  .mg-motion__group[aria-hidden],.mg-motion__pause,.mg-motion [data-motion-repeat] {display:none!important;}
  .mg-motion__viewport {overflow-x:auto; mask-image:none; scrollbar-width:none;}
 }
/* END_SECTION:trust-bar-premium */

/* START_SECTION:usage-collection (INDEX:90) */
.usage-collection {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .usage-collection__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .usage-collection__title {
    text-align: center;
    margin: 0 0 30px;
  }

  .usage-collection__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .usage-collection__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }

  .usage-collection__footer-link-wrap {
    margin-top: var(--gap-lg, 32px);
    text-align: center;
  }

  .usage-collection__footer-link {
    font-size: var(--font-body--size);
  }
/* END_SECTION:usage-collection */

/* START_SECTION:usage-hero (INDEX:91) */
.usage-hero-wrapper {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .usage-hero {
    position: relative;
    overflow: hidden;
  }

  .usage-hero__filter {
    position: absolute;
    inset: 0;
    background-color: var(--color);
    opacity: calc(var(--opacity) / 100);
    z-index: 1;
  }

  .usage-hero__media {
    position: absolute;
    inset: 0;
  }

  .usage-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
  }

  @media (prefers-reduced-motion: no-preference) {
    .usage-hero__media img {
      animation: usage-hero-kenburns 26s ease-in-out infinite alternate;
      transform-origin: center center;
      will-change: transform;
    }
  }

  @keyframes usage-hero-kenburns {
    from { transform: scale(1); }
    to { transform: scale(1.07); }
  }

  .usage-hero__content-wrapper {
    position: relative;
    z-index: 2;
  }

  .usage-hero__content {
    min-height: var(--uh-height);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 14px;
    max-width: 620px;
    padding: var(--uh-padding-v) var(--uh-padding-h);
  }

  .usage-hero__cta {
    margin-top: 10px;
  }
/* END_SECTION:usage-hero */

/* START_SECTION:usage-intro (INDEX:92) */
.ui-wrap {
    background: var(--ui-bg);
    padding-top: var(--ui-padding-top);
    padding-bottom: var(--ui-padding-bottom);
  }

  .ui-inner {
    max-width: var(--ui-max-width);
    margin: 0 auto;
    padding: 0 24px;
  }

  .ui-header {
    display: flex;
    flex-direction: column;
    align-items: var(--ui-header-align);
    text-align: var(--ui-header-text-align);
    gap: 10px;
    margin-bottom: var(--ui-top-gap);
  }

  .ui-eyebrow {
    margin: 0;
    color: var(--ui-eyebrow-color);
    font-size: var(--ui-eyebrow-size);
    font-weight: var(--ui-eyebrow-weight);
    letter-spacing: var(--ui-eyebrow-spacing);
    text-transform: var(--ui-eyebrow-transform);
  }

  .ui-title {
    margin: 0;
    color: var(--ui-title-color);
    font-size: var(--ui-title-size);
    font-weight: var(--ui-title-weight);
    line-height: 1.2;
  }

  .ui-columns {
    display: grid;
    grid-template-columns: var(--ui-image-width) var(--ui-text-width);
    gap: var(--ui-column-gap);
    align-items: center;
  }

  .ui-wrap--reverse .ui-columns {
    grid-template-columns: var(--ui-text-width) var(--ui-image-width);
  }
  .ui-wrap--reverse .ui-col--image { order: 2; }
  .ui-wrap--reverse .ui-col--text { order: 1; }

  .ui-image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: var(--ui-image-ratio);
    object-fit: cover;
    border-radius: var(--ui-image-radius);
  }

  .ui-image--placeholder {
    background: color-mix(in srgb, currentColor 8%, transparent);
    aspect-ratio: var(--ui-image-ratio, 4 / 3);
  }

  .ui-col--text {
    display: flex;
    flex-direction: column;
    align-items: var(--ui-col-align);
    text-align: var(--ui-col-text-align);
    gap: 16px;
  }

  .ui-subtitle {
    margin: 0;
    color: var(--ui-subtitle-color);
    font-size: var(--ui-subtitle-size);
    font-weight: var(--ui-subtitle-weight);
    line-height: 1.25;
  }

  .ui-paragraph {
    color: var(--ui-paragraph-color);
    font-size: var(--ui-paragraph-size);
    line-height: var(--ui-paragraph-line-height);
  }
  .ui-paragraph p { margin: 0; }

  @media (width < 750px) {
    .ui-columns {
      grid-template-columns: 1fr;
    }
    .ui-wrap--reverse .ui-columns {
      grid-template-columns: 1fr;
    }
    .ui-wrap--reverse .ui-col--image { order: 1; }
    .ui-wrap--reverse .ui-col--text { order: 2; }
  }
/* END_SECTION:usage-intro */

/* START_SECTION:wishlist-drawer (INDEX:93) */
.wishlist-drawer__overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(var(--color-shadow));
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    -webkit-backdrop-filter: brightness(1);
    backdrop-filter: brightness(1);
    transition:
      opacity var(--animation-speed) var(--animation-easing),
      visibility var(--animation-speed) var(--animation-easing);
  }

  .wishlist-drawer__overlay.is-open {
    opacity: 1;
    visibility: visible;
    -webkit-backdrop-filter: brightness(0.75);
    backdrop-filter: brightness(0.75);
    transition:
      opacity var(--animation-speed) var(--animation-easing),
      visibility var(--animation-speed) var(--animation-easing),
      -webkit-backdrop-filter var(--animation-speed) var(--animation-easing),
      backdrop-filter var(--animation-speed) var(--animation-easing);
  }

  .wishlist-drawer__drawer {
    position: absolute;
    top: 0;
    right: 0;
    width: 90vw;
    max-width: 400px;
    height: 100%;
    background: var(--color-background);
    box-shadow: var(--modal-shadow);
    transform: translateX(100%);
    display: flex;
    flex-direction: column;
  }

  .wishlist-drawer__overlay.is-open .wishlist-drawer__drawer {
    animation: modalSlideInRight var(--animation-speed) var(--animation-easing) forwards;
  }

  .wishlist-drawer__overlay.is-closing .wishlist-drawer__drawer {
    animation: modalSlideOutRight var(--animation-speed) var(--animation-easing) forwards;
  }

  .wishlist-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--padding-xs);
  }

  .wishlist-drawer__title {
    margin-left: var(--margin-sm);
  }

  .wishlist-drawer__close .icon--close {
    font-size: 22px !important;
  }

  .wishlist-drawer__body {
    flex: 1;
    overflow-y: auto;
    padding: var(--padding-xs);
  }

  .wishlist-drawer__empty {
    text-align: center;
    padding: var(--padding-xl);
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .wishlist-drawer__item {
    display: flex;
    align-items: center;
    gap: var(--padding-xs);
    padding: var(--padding-xs);
    text-decoration: none;
    color: inherit;
    transition: var(--animation-link-hover);
  }

  .wishlist-drawer__item:hover {
    opacity: var(--opacity-link-hover);
  }

  .wishlist-drawer__item-image {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    object-fit: cover;
    background-color: white;
    border-radius: calc(var(--card-border-radius) - var(--padding-sm));
  }

  .wishlist-drawer__item-info {
    flex: 1;
    min-width: 0; /* Permet au texte de se tronquer si nécessaire */
  }

  .wishlist-drawer__item-title {
    font-size: var(--font-body--size);
    color: rgb(var(--color-foreground));
    font-weight: 500;
    line-height: normal;
    margin-bottom: 0;
  }

  .wishlist-drawer__item-remove {
    flex-shrink: 0;
    margin-left: auto;
    border: var(--inputs-border-width) solid var(--color-border);
  }
/* END_SECTION:wishlist-drawer */

/* CSS from block stylesheet tags */
/* START_BLOCK:_accelerated-checkout (INDEX:94) */
shopify-visual-preview-block-list .accelerated-checkout[data-visual-preview-mode] {
    width: 400px;
  }

  more-payment-options-link {
    font-size: smaller;
  }

  .shopify-payment-button__more-options {
    color: var(--color-foreground);
  }

  more-payment-options-link a {
    --button-color: var(--color-foreground);
  }

  more-payment-options-link a:hover {
    opacity: var(--opacity-link-hover);
  }

  .shopify-payment-button__more-options[aria-hidden='true'] {
    display: none;
  }
/* END_BLOCK:_accelerated-checkout */

/* START_BLOCK:_announcement (INDEX:97) */
.announcement .slide {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: var(--gap);
    margin: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
/* END_BLOCK:_announcement */

/* START_BLOCK:_article-date (INDEX:99) */
.article-date {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_BLOCK:_article-date */

/* START_BLOCK:_article-group (INDEX:100) */
.article-card-group {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
    gap: var(--gap-mobile);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: 100%;
  }

  @media (width > 750px) {
    .article-card-group {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
      gap: var(--gap);
    }
  }
/* END_BLOCK:_article-group */

/* START_BLOCK:_cart-accelerated-checkout (INDEX:102) */
shopify-visual-preview-block-list .accelerated-checkout[data-visual-preview-mode] {
    width: 400px;
  }

  more-payment-options-link {
    font-size: smaller;
  }

  more-payment-options-link a {
    --button-color: var(--color-foreground);
  }

  more-payment-options-link a:hover {
    opacity: var(--opacity-link-hover);
  }

  .shopify-payment-button__more-options[aria-hidden='true'] {
    display: none;
  }
/* END_BLOCK:_cart-accelerated-checkout */

/* START_BLOCK:_cart-drawer-empty-blocks (INDEX:103) */
.cart-drawer-empty-blocks {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--gap-lg);
    width: 100%;
  }

  @media (width <= 750px) {
    .cart-drawer-empty-blocks .slider-component--65-percent .splide__list {
      width: calc(100vw - 50%);
    }
  }
/* END_BLOCK:_cart-drawer-empty-blocks */

/* START_BLOCK:_cart-drawer-footer-blocks (INDEX:104) */
.cart-footer-blocks {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_cart-drawer-footer-blocks */

/* START_BLOCK:_cart-footer-blocks (INDEX:105) */
.cart-footer-blocks {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_cart-footer-blocks */

/* START_BLOCK:_cart-footer-resume-blocks (INDEX:106) */
.cart-footer-resume-blocks {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_cart-footer-resume-blocks */

/* START_BLOCK:_cart-header-blocks (INDEX:107) */
.cart-header-blocks {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .cart-drawer .cart-header-blocks:not(.card) > div:first-of-type {
    margin-top: var(--padding-md);
  }
/* END_BLOCK:_cart-header-blocks */

/* START_BLOCK:_cart-note (INDEX:108) */
cart-note {
    display: block;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);

    .icon--keyboard_arrow_down {
      display: none;
    }
  }

  cart-note[data-visual-preview-mode] {
    width: 350px;
  }
/* END_BLOCK:_cart-note */

/* START_BLOCK:_cart-progress-bar (INDEX:109) */
.cart-progress-bar {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .cart-progress-bar[data-visual-preview-mode] {
    width: 350px;
  }

  .cart-progress-bar__label {
    margin: 0;
    margin-bottom: var(--margin-md);
    letter-spacing: inherit;
    cursor: default;
    line-height: normal;
    font-weight: 500;
  }

  .cart-progress-bar__bar-container {
    margin-top: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .cart-progress-bar__progress-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: -webkit-fill-available;
  }

  .cart-progress-bar__step-label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
    font-size: var(--font-body--size-small);
    margin-top: 5px;
  }

  .cart-progress-bar__step-label .icon--check {
    font-size: var(--font-body--size-small) !important;
  }

  .cart-progress-bar__progress {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 5px;
  }

  .cart-progress-bar__progress[value]::-webkit-progress-bar {
    background-color: rgb(from var(--color-primary-button-background) r g b / 15%);
    border-radius: calc(var(--inputs-border-radius) * 20 / 100);
  }

  .cart-progress-bar__progress[value]::-webkit-progress-value {
    -webkit-transition: width 0.5s;
    transition: width 0.5s;
    background-color: var(--color-primary-button-background);
    border-radius: calc(var(--inputs-border-radius) * 20 / 100);
  }

  @-moz-document url-prefix() {
    .cart-progress-bar__bar-container {
      justify-content: center;
    }

    .cart-progress-bar__progress-group {
      width: 100%;
    }

    .cart-progress-bar__progress[value]::-moz-progress-bar {
      background: var(--color-primary-button-background);
      border-radius: calc(var(--inputs-border-radius) * 20 / 100);
    }

    .cart-progress-bar__progress[value],
    .cart-progress-bar__progress[value]::-moz-progress-bar {
      border-radius: calc(var(--inputs-border-radius) * 20 / 100);
    }

    .cart-progress-bar__progress[value] {
      border: none;
      border-radius: calc(var(--inputs-border-radius) * 20 / 100);
    }
  }

  .cart-progress-bar__bar-container:has(.cart-progress-bar__progress_2) {
    .cart-progress-bar__progress_1[value]::-webkit-progress-bar,
    .cart-progress-bar__progress_1[value]::-webkit-progress-value {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }
  }

  .cart-progress-bar__progress_2[value]::-webkit-progress-bar,
  .cart-progress-bar__progress_2[value]::-webkit-progress-value {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .cart-progress-bar__bar-container:has(.cart-progress-bar__progress_3) {
    .cart-progress-bar__progress_2[value]::-webkit-progress-bar,
    .cart-progress-bar__progress_2[value]::-webkit-progress-value {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }
  }

  .cart-progress-bar__progress_3[value]::-webkit-progress-bar,
  .cart-progress-bar__progress_3[value]::-webkit-progress-value {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
/* END_BLOCK:_cart-progress-bar */

/* START_BLOCK:_comparison-table-data (INDEX:111) */
.comparison-table__cell {
    padding: var(--padding-md);
    text-align: center;
    vertical-align: middle;
    color: var(--comparison-cell-color, inherit);
  }

  .comparison-table__cell > *:not(.text-block) {
    display: inline-block;
    vertical-align: middle;
  }

  .comparison-table__cell img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }

  .comparison-table__cell:empty {
    opacity: 0;
    background-color: transparent;
  }

  .comparison-table__table tr td:first-child {
    text-align: left;
  }

  .comparison-table__table tr td:first-child .icon-container {
    margin-right: var(--gap-sm, 10px);
  }

  @media (width < 750px) {
    .comparison-table__cell {
      padding: var(--padding-sm);
      overflow: hidden;
      min-width: var(--cell-min-width-mobile);
    }
  }

  .highlight-column-1 {
    tr td:nth-child(1):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(1):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(1):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-2 {
    tr td:nth-child(2):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
      border-bottom: none;
      padding-left: var(--padding-lg);
      padding-right: var(--padding-lg);
      position: relative;
    }

    tr:first-child td:nth-child(2):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
      background-color: var(--color-highlighted-header-background, var(--color-highlighted-background-column));
      color: var(--color-highlighted-header-color, var(--color-highlighted-column));
      padding-top: var(--padding-lg);
      padding-bottom: var(--padding-lg);
      box-shadow: 0 12px 28px rgb(0 0 0 / 30%);
    }

    tr:last-child td:nth-child(2):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
      padding-bottom: var(--padding-lg);
    }
  }

  .highlight-column-3 {
    tr td:nth-child(3):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(3):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(3):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-4 {
    tr td:nth-child(4):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(4):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(4):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-5 {
    tr td:nth-child(5):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(5):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(5):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-6 {
    tr td:nth-child(6):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(6):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(6):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-7 {
    tr td:nth-child(7):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(7):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(7):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }

  .highlight-column-8 {
    tr td:nth-child(8):not(:empty) {
      color: var(--color-highlighted-column);
      background-color: var(--color-highlighted-background-column);
    }

    tr:first-child td:nth-child(8):not(:empty) {
      border-top-left-radius: var(--card-border-radius);
      border-top-right-radius: var(--card-border-radius);
    }

    tr:last-child td:nth-child(8):not(:empty) {
      border-bottom-left-radius: var(--card-border-radius);
      border-bottom-right-radius: var(--card-border-radius);
    }
  }
/* END_BLOCK:_comparison-table-data */

/* START_BLOCK:_comparison-table-row (INDEX:112) */
.comparison-table__table tr:not(:last-child) {
    border-bottom: 1px solid var(--color-border);
  }
/* END_BLOCK:_comparison-table-row */

/* START_BLOCK:_custom_product_field (INDEX:113) */
.custom-product-field {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_BLOCK:_custom_product_field */

/* START_BLOCK:_discount-code (INDEX:114) */
.cart-discount-block {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);

    .icon--keyboard_arrow_down {
      display: none;
    }
  }

  .cart-discount-block[data-visual-preview-mode] {
    width: 350px;
  }

  cart-discount {
    display: block;
  }

  .cart-discount__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;

    .textfield {
      width: 100%;
    }

    .textfield input {
      min-width: 100%;
      width: 100%;
    }
  }

  .cart-discount_button {
    min-width: 90px;
  }

  .cart-discount_badge-container {
    margin-top: var(--margin-sm);
  }

  .cart-discount_badge {
    justify-content: center;
    gap: 5px;
    padding-right: 5px !important;
  }

  .cart-discount_badge.loading {
    cursor: default;
    pointer-events: none;

    .cart-discount__discount-text,
    .cart-discount__remove-discount {
      opacity: 0.5;
    }
  }

  .cart-discount__remove-discount {
    cursor: pointer;
    height: 14px;
  }

  .cart-discount_badge .cart-discount__discount-text {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
/* END_BLOCK:_discount-code */

/* START_BLOCK:_fake-variant-link (INDEX:115) */
.fake-variant-picker__variant {
    appearance: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-height: var(--variant-button-min-height);
    min-width: var(--variant-button-min-width);
    max-width: max-content;
    font-size: var(--variant-button-font-size);
    outline: 1px solid transparent;
    transition: all var(--animation-speed-medium) var(--animation-easing);
    padding: var(--variant-button-padding-vertical) var(--variant-button-padding-horizontal);
    color: var(--color-variant-text);
    background-color: var(--color-variant-background);
    border: var(--variant-button-border-width) solid var(--color-variant-border);
    border-radius: var(--inputs-border-radius);
    font-weight: var(--button-primary-font-weight);
    text-transform: var(--button-primary-text-transform);
    letter-spacing: var(--button-letter-spacing);
  }

  .fake-variant-picker__variant--selected {
    background-color: var(--color-selected-variant-background);
    color: var(--color-selected-variant-text);
    border-color: var(--color-selected-variant-border);
  }
/* END_BLOCK:_fake-variant-link */

/* START_BLOCK:_fake-variant-picker (INDEX:116) */
.fake-variant-picker {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .fake-variant-picker__variants {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_fake-variant-picker */

/* START_BLOCK:_footer-bottom-bar (INDEX:117) */
.footer-bottom-bar {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    margin-top: var(--margin-top);
  }

  .footer-bottom-bar--top-border {
    border-top: var(--separator-border-width) solid var(--color-border);
  }

  .footer-bottom-bar__content {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
    gap: var(--gap-mobile);
    width: 100%;
  }

  @media (width > 750px) {
    .footer-bottom-bar__content {
      gap: var(--gap);
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_BLOCK:_footer-bottom-bar */

/* START_BLOCK:_footer-policy-list (INDEX:118) */
.policy-list {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .policy-list__links {
    display: flex;
    gap: var(--gap-xs) var(--padding-sm);
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;

    @media (width >750px) {
      justify-content: flex-start;
    }
  }

  .policy-list__link {
    text-decoration: underline;
    color: var(--color-foreground);
    transition: var(--animation-link-hover);
    font-size: var(--font-body--size-small);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }
/* END_BLOCK:_footer-policy-list */

/* START_BLOCK:_header-drawer-menu-header (INDEX:120) */
.header-drawer-menu-header {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    margin-bottom: var(--margin-sm);
  }
/* END_BLOCK:_header-drawer-menu-header */

/* START_BLOCK:_header-drawer-menu-under-menu (INDEX:121) */
.header-drawer-menu-under-menu {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    margin-top: var(--margin-sm);
  }
/* END_BLOCK:_header-drawer-menu-under-menu */

/* START_BLOCK:_header-drawer-menu (INDEX:122) */
/* Menu mobile */
  .header__mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(var(--color-shadow));
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    -webkit-backdrop-filter: brightness(1);
    backdrop-filter: brightness(1);
    transition: opacity var(--animation-speed) var(--animation-easing), visibility var(--animation-speed) var(--animation-easing);
  }

  .header__mobile-menu-overlay.is-open {
    opacity: 1;
    visibility: visible;
    -webkit-backdrop-filter: brightness(0.75);
    backdrop-filter: brightness(0.75);
    transition: opacity var(--animation-speed) var(--animation-easing), visibility var(--animation-speed) var(--animation-easing),
      -webkit-backdrop-filter var(--animation-speed) var(--animation-easing), backdrop-filter var(--animation-speed) var(--animation-easing);
  }

  .header__mobile-menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 90vw;
    max-width: 400px;
    height: 100%;
    background: var(--color-background);
    box-shadow: var(--modal-shadow);
    transform: translateX(-100%);
    display: flex;
    flex-direction: column;
  }

  .header__mobile-menu-overlay.is-open .header__mobile-menu {
    animation: modalSlideInLeft var(--animation-speed) var(--animation-easing) forwards;
  }

  .header__mobile-menu-overlay.is-closing .header__mobile-menu {
    animation: modalSlideOutLeft var(--animation-speed) var(--animation-easing) forwards;
  }

  .header__mobile-menu-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: var(--padding-xs);
  }

  .header__mobile-menu-footer {
    padding: var(--padding-sm);
    border-top: var(--separator-border-width) solid var(--color-border);
  }

  .header__mobile-menu-close .icon--close {
    font-size: 22px !important;
  }

  .header__mobile-menu-nav {
    flex: 1;
    padding: var(--padding-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
    overflow-y: auto;
  }

  .header__mobile-menu-nav--uppercase .header__mobile-menu-link-text {
    text-transform: uppercase;
  }

  .header__mobile-menu-link-text {
    font-weight: var(--font-weight);
  }

  .header__mobile-menu-link {
    display: block;
    padding: var(--padding-sm);
    text-decoration: none;
    color: inherit;
    font-size: var(--font-h6--size);
    border-radius: var(--inputs-border-radius);
    transition: background-color var(--animation-speed) var(--animation-easing);
  }

  .header__mobile-menu-link:hover {
    background-color: var(--color-input-border-low-opacity);
  }

  /* Accordéons des sous-menus */
  .header__mobile-menu-accordion {
    width: 100%;
  }

  .header__mobile-menu-accordion summary {
    list-style: none;
    cursor: pointer;
  }

  .header__mobile-menu-accordion summary::-webkit-details-marker {
    display: none;
  }

  .header__mobile-menu-link--parent,
  .header__mobile-menu-link--child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  .header__mobile-menu-link--parent .icon,
  .header__mobile-menu-link--child .icon {
    transition: transform var(--animation-speed-fast) var(--animation-easing);
    flex-shrink: 0;
  }

  .header__mobile-menu-accordion[open] > summary .icon {
    transform: rotate(180deg);
  }

  .header__mobile-menu-submenu {
    padding-left: var(--padding-sm);
  }

  /* Niveaux d'indentation */
  .header__mobile-menu-link--child {
    font-size: var(--font-body--size-emphasized);
    padding-left: var(--padding-sm);
  }

  .header__mobile-menu-link--grandchild {
    font-size: var(--font-body--size);
    padding-left: var(--padding-sm);
  }

  .header__mobile-menu-submenu--level-2 {
    padding-left: var(--padding-sm);
  }
/* END_BLOCK:_header-drawer-menu */

/* START_BLOCK:_header-megamenu-group (INDEX:123) */
.megamenu-group {
    gap: var(--gap);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: var(--width);
  }

  .megamenu-group.card {
    padding: var(--padding-vertical) var(--padding-horizontal);
  }

  shopify-visual-preview-block-list .megamenu-group[data-visual-preview-mode] {
    width: 100%;
    max-width: 450px;
  }

  .megamenu-group--flex {
    display: flex;
    flex-direction: var(--direction);
    flex-wrap: var(--wrap);
    justify-content: var(--justify);
    align-items: var(--align_items);
  }

  .megamenu-group--grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns), 1fr);
    grid-template-rows: auto;
  }
/* END_BLOCK:_header-megamenu-group */

/* START_BLOCK:_header-megamenu (INDEX:124) */
.custom-megamenu-content {
    gap: var(--gap);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
  }

  .custom-megamenu-content--flex {
    display: flex;
    flex-direction: var(--direction);
    flex-wrap: var(--wrap);
    justify-content: var(--justify);
    align-items: var(--align_items);
  }

  .custom-megamenu-content--grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns), 1fr);
    grid-template-rows: auto;
  }
/* END_BLOCK:_header-megamenu */

/* START_BLOCK:_header-notification (INDEX:125) */
.header-notification {
    width: 100%;
    padding: var(--padding-xs);
    background: rgb(var(--color-background));
    border-radius: calc(var(--card-border-radius) - var(--padding-xs));
    transition: background-color var(--animation-speed) var(--animation-easing);
    font-size: var(--font-body--size);
  }

  .header-notification:hover {
    background-color: rgb(from var(--color-foreground) r g b / 5%);
    font-weight: 500;
  }

  .header-notification-link {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    text-decoration: none;
    color: rgb(var(--color-foreground));
    width: 100%;
  }

  .header-notification-image {
    width: 50px;
    height: 50px;
    object-fit: cover;
    object-position: center center;
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.67));
  }

  .header-notification-title {
    font-weight: 500;
  }
/* END_BLOCK:_header-notification */

/* START_BLOCK:_header-notifications (INDEX:126) */
.header-notifications {
    line-height: 0;
    position: relative;
  }

  .header-notifications__icon {
    position: relative;
    display: inline-block;
    cursor: pointer;
  }

  .header-notifications__popup {
    border: var(--container-border-width) solid var(--color-border);
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 240px;
    max-height: 350px;
    overflow-y: auto;
    padding: var(--padding-sm);
  }

  .header-notifications__list {
    display: flex;
    flex-direction: column;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_header-notifications */

/* START_BLOCK:_image-banner (INDEX:127) */
.image-banner {
    position: relative;
    overflow: hidden;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    height: 100%;

    &.card {
      padding: 0;
    }
  }

  .image-banner__media-filter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color);
    opacity: calc(var(--opacity) / 100);
    z-index: 1;
  }

  .image-banner__media {
    position: absolute;
    width: 100%;
    height: 100%;

    /* Correctif <picture> (LCP) : sans hauteur propre, <picture> se
       redimensionne sur son contenu (l'<img>), ce qui casse la résolution
       en % de height:100% sur l'<img> lui-même — l'image retombait alors à
       sa hauteur intrinsèque au lieu de remplir la bannière. */
    picture {
      display: block;
      height: 100%;
      width: 100%;
    }

    img,
    picture img,
    video,
    deferred-media,
    .placeholder-image {
      height: 100%;
      width: 100%;
      object-fit: cover;
      object-position: center center;
      border-radius: 0;
      overflow: hidden;
      position: relative;
    }

    /* Pour éviter les bandes noires sur desktop */
    .image-banner__external-video .deferred-media__video {
      position: relative;
      padding-bottom: 56.25%;
      height: 0;
      overflow: hidden;
    }

    .image-banner__external-video .deferred-media__video iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }

    /* Fix pour éliminer les bandes noires sur mobile */
    @media (width <= 1000px) {
      .image-banner__external-video {
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 0;
      }

      .image-banner__external-video .deferred-media__video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding-bottom: 0;
      }

      .image-banner__external-video .deferred-media__video iframe {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 177.77vh; /* Pour un ratio 16:9 */
        height: 100vh;
        min-width: 100%;
        min-height: 100%;
      }
    }
  }

  .image-banner__content-wrapper {
    position: relative;
    width: 100%;
    z-index: 2;

    .image-banner__content {
      width: 100%;
      min-height: var(--banner-height-mobile);
      display: flex;
      flex-direction: column;
      justify-content: var(--justify-mobile);
      align-items: var(--align-items-mobile);
      padding: var(--padding-vertical) var(--padding-horizontal);
    }
  }

  @media (width > 750px) {
    .image-banner__content-wrapper .image-banner__content {
      min-height: var(--banner-height);
      justify-content: var(--justify);
      align-items: var(--align-items);
    }
  }

  /* Effet "Ken Burns" subtil : léger zoom continu sur l'image fixe du hero */
  @media (prefers-reduced-motion: no-preference) {
    .image-banner__media img:not(.placeholder-image) {
      animation: image-banner-kenburns 26s ease-in-out infinite alternate;
      transform-origin: center center;
      will-change: transform;
    }

    @media (width < 750px) {
      .image-banner__media img:not(.placeholder-image) {
        animation-name: image-banner-kenburns-mobile;
      }
    }
  }

  @keyframes image-banner-kenburns {
    from {
      transform: scale(1);
    }

    to {
      transform: scale(1.07);
    }
  }

  @keyframes image-banner-kenburns-mobile {
    from {
      transform: scale(1);
    }

    to {
      transform: scale(1.04);
    }
  }
.mg-banner-custom { --banner-height: var(--mg-height); --banner-height-mobile: var(--mg-height-mobile); }
.mg-banner-custom .image-banner__media img { object-position: var(--mg-position-mobile); }
@media (min-width:750px) { .mg-banner-custom .image-banner__media img { object-position: var(--mg-position); } }
.mg-banner-static .image-banner__media img {animation:none;will-change:auto}

@media (width < 750px) {
  .mg-banner-mobile-below { height: auto; }
  .mg-banner-mobile-below > .image-banner__media { position: relative; height: var(--mg-mobile-image-height, 320px); overflow: hidden; }
  .mg-banner-mobile-below > .image-banner__content-wrapper { position: relative; padding-inline: 0; background: var(--mg-mobile-panel-bg, #F8F6F0); }
  .mg-banner-mobile-below > .image-banner__content-wrapper > .image-banner__content { min-height: 0; padding: 0; align-items: stretch; }
  .mg-banner-mobile-below .image-banner__content > .group { width: 100%; max-width: none; background: var(--mg-mobile-panel-bg, #F8F6F0); backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; }
  .mg-banner-mobile-below .image-banner__content > .mg-group-custom { padding: var(--mg-pad-top-m) var(--mg-pad-right-m) var(--mg-pad-bottom-m) var(--mg-pad-left-m); }
  .mg-banner-mobile-below .mg-hero-panel > .group { flex-direction: column; align-items: stretch; }
  .mg-banner-mobile-below .mg-hero-panel > .group > .button-block { width: 100%; }
  .mg-banner-mobile-below .mg-hero-panel > .group > .button-block > a { width: 100%; max-width: none; justify-content: center; }
}

.mg-hero-hide-reviews .mg-hero-panel .reviews-badge { display:none; }
.mg-hero-refined .image-banner__content > .mg-hero-panel { padding:var(--mg-pad-top-m) var(--mg-pad-right-m) var(--mg-pad-bottom-m) var(--mg-pad-left-m); }
@media(min-width:990px){ .mg-hero-refined .image-banner__content > .mg-hero-panel { padding:var(--mg-pad-top) var(--mg-pad-right) var(--mg-pad-bottom) var(--mg-pad-left); } }
.mg-hero-refined .mg-hero-actions { overflow:visible; }
.mg-hero-refined .mg-hero-actions > .button-block { flex:var(--mg-hero-button-width); min-width:180px; }
.mg-hero-refined .mg-hero-actions > .button-block > :is(a,button) { width:100%; max-width:none; min-height:var(--mg-hero-button-height); height:auto; box-sizing:border-box; justify-content:center; font-family:var(--font-body--family); font-weight:var(--mg-hero-button-weight); line-height:1.25; white-space:normal; text-align:center; }
.mg-hero-refined .mg-hero-actions :is(a,button):focus-visible { outline:3px solid #454D30; outline-offset:3px; }
@media (width < 750px) {
 .mg-hero-refined.mg-banner-mobile-below .image-banner__media-filter { display:none; }
 .mg-hero-refined.mg-banner-mobile-below .mg-hero-panel { max-width:var(--mg-max-m); margin-inline:auto; border-radius:0; border:0; }
 .mg-hero-refined .mg-hero-actions > .button-block { min-width:0; flex:0 1 auto; }
 .mg-hero-refined .mg-hero-actions > .button-block > :is(a,button) { min-height:var(--mg-hero-button-height-m); }
}
@media (750px <= width < 990px) {
 .mg-hero-refined.mg-hero-tablet-below.mg-banner-mobile-below { height:auto; }
 .mg-hero-refined.mg-hero-tablet-below.mg-banner-mobile-below > .image-banner__media { position:relative; height:var(--mg-mobile-image-height); overflow:hidden; }
 .mg-hero-refined.mg-hero-tablet-below.mg-banner-mobile-below .image-banner__media-filter { display:none; }
 .mg-hero-refined.mg-hero-tablet-below.mg-banner-mobile-below > .image-banner__content-wrapper { position:relative; padding-inline:0; background:var(--mg-mobile-panel-bg); }
 .mg-hero-refined.mg-hero-tablet-below.mg-banner-mobile-below .image-banner__content { min-height:0; padding:0; align-items:center; }
 .mg-hero-refined.mg-hero-tablet-below.mg-banner-mobile-below .mg-hero-panel { width:100%; max-width:var(--mg-max); margin-inline:auto; padding:var(--mg-pad-top-m) var(--mg-pad-right-m) var(--mg-pad-bottom-m) var(--mg-pad-left-m); background:var(--mg-mobile-panel-bg); backdrop-filter:none; -webkit-backdrop-filter:none; border:0; border-radius:0; box-shadow:none; }
}
/* END_BLOCK:_image-banner */

/* START_BLOCK:_marquee-image (INDEX:128) */
.marquee-image-block {
    width: var(--width-mobile);

    @media (width > 750px) {
      width: var(--width-desktop);
    }
  }

  .marquee-image-block--height-fill .marquee-image-block__image {
    height: 100%;
  }

  .marquee-image-block__image {
    object-fit: cover;
    aspect-ratio: var(--ratio);
    width: 100%;
  }
/* END_BLOCK:_marquee-image */

/* START_BLOCK:_navigation-link (INDEX:129) */
.navigation-item {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    justify-content: center;
    text-decoration: none;
    color: var(--color-foreground);
    min-width: fit-content;
    background-color: var(--color-background);
  }

  shopify-visual-preview-block-list .navigation-item[data-visual-preview-mode] {
    width: 150px;
  }

  .navigation__title {
    font-size: var(--font-body--size);
    color: var(--color-foreground);
    line-height: 1;
  }

  .navigation-item img {
    width: var(--image-width-mobile);
    height: var(--image-width-mobile);
    object-fit: cover;
    border-radius: 50px;
    overflow: hidden;
    object-position: center center;
    background-color: #f8f8f8;
  }

  .navigation--row .navigation-item {
    flex-direction: row;
    border-radius: calc(var(--small-multiplier) * var(--button-border-radius));
    border: var(--container-border-width) solid var(--color-border);
    padding: var(--padding-xxs) var(--padding-sm);
    transition: 0.3s;
    min-height: calc(var(--image-width-mobile) + 2 * var(--padding-xxs));

    img {
      border-radius: calc(calc(var(--small-multiplier) * var(--button-border-radius)) - var(--padding-xxs));
    }

    &.navigation-item--with-image {
      padding-left: var(--padding-xxs);
    }

    &.navigation-item--selected,
    &:hover {
      border: var(--container-border-width) solid var(--color-foreground);
    }
  }

  .navigation--column .navigation-item {
    flex-direction: column;

    .navigation__title {
      max-width: 100px;
      text-align: center;
    }

    img,
    .navigation-item__placeholder {
      outline: var(--container-border-width) solid var(--color-border);
      outline-offset: 0.2rem;
      transition: 0.3s;
    }

    &.navigation-item--selected img,
    &.navigation-item--selected .navigation-item__placeholder,
    &:hover img,
    &:hover .navigation-item__placeholder {
      outline: var(--container-border-width) solid var(--color-foreground);
      outline-offset: 0.2rem;
    }
  }

  @media (width > 750px) {
    .navigation-item img {
      width: var(--image-width-desktop);
      height: var(--image-width-desktop);
    }
  }
/* END_BLOCK:_navigation-link */

/* START_BLOCK:_password-form (INDEX:130) */
.password-form-container {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .password-form {
    margin-top: var(--margin-md);
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 300px;
    max-width: 100%;
    gap: var(--gap-md);
  }
/* END_BLOCK:_password-form */

/* START_BLOCK:_product-add-to-cart-button (INDEX:131) */
shopify-visual-preview-block-list .product-add-to-cart-button[data-visual-preview-mode] {
    width: 400px;
  }

  .product-add-to-cart-button {
    display: flex;
    flex-direction: row;
    gap: var(--gap-sm);
    align-items: center;
  }

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

  .sticky-add-to-cart[data-active='false'] {
    bottom: -150px;
  }

  .sticky-add-to-cart[data-active='true'] {
    bottom: 0;
    position: fixed;
    left: 0;
    padding: var(--padding-sm) 0;
    z-index: 2;
    border-top: var(--separator-border-width) solid var(--color-border);
    transition: bottom 300ms ease-in-out;

    .sticky-add-to-cart__content {
      width: 100%;
      max-width: var(--page-width);
      margin: 0 auto;
      padding: 0 var(--page-margin-mobile);
    }
  }

  @media (width > 750px) {
    .sticky-add-to-cart[data-active='true'] {
      padding: var(--padding-md) 0;

      .sticky-add-to-cart__content {
        padding: 0 var(--page-margin-desktop);
      }
    }
  }

  .product-add-to-cart-button .button {
    container-type: inline-size;
  }

  #klaviyo-bis-button-container {
    margin-bottom: 0 !important;
  }

  #klaviyo-bis-button-container button {
    appearance: none !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    height: calc(var(--inputs-min-height) - (2 * var(--button-padding-vertical))) !important;
    font-size: var(--button-font-size) !important;
    outline: 1px solid transparent !important;
    transition: all var(--animation-speed-medium) var(--animation-easing) !important;
    padding: var(--button-padding-vertical) var(--button-padding-horizontal) !important;
    color: var(--color-primary-button-text) !important;
    background-color: var(--color-primary-button-background) !important;
    border: var(--button-primary-border-width) solid var(--color-primary-button-border) !important;
    border-radius: var(--button-border-radius) !important;
    font-weight: var(--button-primary-font-weight) !important;
    text-transform: var(--button-primary-text-transform) !important;
    width: -webkit-fill-available !important;
    font-family: var(--font-body--family) !important;
    font-weight: 500 !important;
  }

  .product-add-to-cart-button .full-add-to-cart-text {
    display: block;
  }

  .product-add-to-cart-button .small-add-to-cart-text {
    display: none;
  }

  @container (width < 200px) {
    .product-add-to-cart-button .button__separator,
    .product-add-to-cart-button .price-container {
      display: none;
    }

    .product-add-to-cart-button .full-add-to-cart-text {
      display: block;
    }

    .product-add-to-cart-button .small-add-to-cart-text {
      display: none;
    }
  }

  @container (width < 270px) {
    .product-add-to-cart-button .full-add-to-cart-text {
      display: none;
    }

    .product-add-to-cart-button .small-add-to-cart-text {
      display: block;
    }
  }
/* END_BLOCK:_product-add-to-cart-button */

/* START_BLOCK:_product-card-group (INDEX:132) */
.product-card-group-link {
    display: contents;
    color: inherit;
    text-decoration: none;
  }

  .product-card-group {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
    gap: var(--gap-mobile);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: 100%;
  }

  @media (width > 750px) {
    .product-card-group {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
      gap: var(--gap);
    }
  }
/* END_BLOCK:_product-card-group */

/* START_BLOCK:_product-card-media-gallery (INDEX:133) */
@media (width > 750px) {
    .product-media-gallery .splide__arrow,
    .product-media-gallery .splide__arrow:disabled,
    .product-media-gallery .splide__pagination {
      opacity: 0;
      transition: opacity 0.2s ease-in-out;
    }

    .product-media-gallery:hover .splide__arrow,
    .product-media-gallery:hover .splide__pagination {
      opacity: 1;
    }

    .product-media-gallery:hover .splide__arrow:disabled {
      opacity: 0.5;
    }
  }

  @media (width > 750px) {
    .product-media-gallery--grid {
      .splide__list {
        display: grid;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
        gap: var(--grid-gap);

        .product-media-gallery__media--full-width {
          grid-column: span var(--grid-columns);
        }
      }
      .product-media-gallery__thumbnails {
        display: none;
      }
    }
  }

  .product-media-gallery__media {
    height: 100%;
    /* Nécessaire pour que le zoom léger au survol (micro-interaction B1,
       voir plus bas) ne déborde jamais visuellement de sa carte — avant,
       seule la variante "coins arrondis" avait cet overflow:hidden. */
    overflow: hidden;
  }

  .product-media-gallery__media--rounded {
    border-radius: var(--card-border-radius);
    overflow: hidden;
  }

  .product-media-gallery .splide__arrow {
    background-color: transparent;
    border: none;
  }

  .product-media-gallery .splide__pagination {
    bottom: 5px;
  }

  .product-media-gallery__thumbnails {
    margin-top: 10px;
  }

  .product-media-gallery__thumbnail {
    position: relative;
    height: auto !important;

    .product-media-gallery__thumbnail-play-button {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.1);

      .icon--play_circle {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);

        position: absolute;
        font-size: 36px !important;
        color: var(--color-primary-button-text);
      }
    }
  }

  .product-media-gallery__thumbnail-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .product-media-gallery__thumbnail--rounded,
  .product-media-gallery__thumbnail--rounded .product-media-gallery__thumbnail-image,
  .product-media-gallery__thumbnail--rounded .product-media-gallery__thumbnail-play-button {
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
  }

  /* Correctif "bout d'image suivante visible" : une règle externe (hors
     fichiers de ce thème — probablement injectée par une app ou un script
     tiers) applique `padding: 0 48px !important` sur .splide__track à
     partir de 750px, vraisemblablement pour réserver de la place aux
     flèches. Avec une seule slide par vue (perPage: 1), la slide active
     remplit exactement la zone de contenu du track (hors padding), et la
     slide suivante s'enchaîne juste après en flux flex normal — elle
     atterrit dans cette zone de padding, qui n'arrête pas le débordement
     de ses enfants (seul le bord de la boîte le fait). Résultat : un
     morceau de la slide suivante reste visible. Comme les flèches de
     cette galerie sont déjà transparentes et conçues pour se superposer
     directement à l'image (règle .product-media-gallery .splide__arrow
     ci-dessus), ce padding n'a aucune utilité ici : on le neutralise.
     Sélecteur scopé + !important pour gagner face à la règle externe,
     quelle que soit son origine réelle. */
  @media (width > 750px) {
    .product-media-gallery-main-slider.splide .splide__track {
      padding: 0 !important;
    }
  }

  /* Micro-interaction B1 — zoom léger au survol des images produit,
     desktop uniquement (pas de :hover fiable au tactile, donc scopé à
     @media (width > 750px)). Purement fonctionnel : signale que le
     visuel est le point d'attention avant achat, jamais un effet
     spectaculaire. transform:scale() n'affecte jamais le flux de la
     page (image déjà dimensionnée via aspect-ratio + object-fit dans
     snippets/product-media.liquid) : aucun risque de CLS. Hover scopé
     à la <li> de la slide survolée (pas à toute la galerie), pour ne
     zoomer que l'image réellement sous le curseur. */
  @media (width > 750px) {
    .product-media-gallery-main-slider .product-media img {
      transition: transform 0.28s ease;
    }

    .product-media-gallery-main-slider .splide__slide:hover .product-media img {
      transform: scale(1.03);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .product-media-gallery-main-slider .product-media img {
      transition: none;
    }
  }
/* END_BLOCK:_product-card-media-gallery */

/* START_BLOCK:_product-card-quick-add (INDEX:134) */
.quick-add-component {
    display: block;
    width: 100%;
    cursor: auto;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .quick-add-component--aligned-at-bottom {
    margin-top: auto;
  }

  .quick-add-component .dialog-modal {
    overflow-x: hidden;
  }

  .quick-add-component .button {
    container-type: inline-size;
  }

  .quick-add-button .full-add-to-cart-text {
    display: block;
  }

  .quick-add-button .small-add-to-cart-text {
    display: none;
  }

  @container (width < 200px) {
    .quick-add-button .full-add-to-cart-text {
      display: none;
    }

    .quick-add-button .small-add-to-cart-text {
      display: block;
    }
  }

  .quick-add-component .dialog-modal__content {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .quick-add-component .dialog-modal__content > * {
    margin-block: 0;
  }

  .quick-add-component .dialog-modal__content .fake-variant-picker,
  .quick-add-component .dialog-modal__content .slider-block,
  .quick-add-component .dialog-modal__content .stories__container {
    display: none;
  }

  .quick-add-component .product-section__medias--sticky,
  .quick-add-component .product-section__product-info--sticky {
    position: relative !important;
  }

  Neutralize sticky add-to-cart inside quick-add dialogs .quick-add-component .sticky-add-to-cart,
  .quick-add-component .sticky-add-to-cart[data-active='true'] {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    padding: 0 !important;
    border-top: none !important;
    z-index: auto !important;
    transition: none !important;
  }
/* END_BLOCK:_product-card-quick-add */

/* START_BLOCK:_product-form (INDEX:137) */
shopify-visual-preview-block-list product-form[data-visual-preview-mode] {
    width: 400px;
  }

  .product-form__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_product-form */

/* START_BLOCK:_product-media-gallery (INDEX:138) */
@media (width > 750px) {
    .product-media-gallery .splide__arrow,
    .product-media-gallery .splide__arrow:disabled,
    .product-media-gallery .splide__pagination {
      opacity: 0;
      transition: opacity 0.2s ease-in-out;
    }

    .product-media-gallery:hover .splide__arrow,
    .product-media-gallery:hover .splide__pagination {
      opacity: 1;
    }

    .product-media-gallery:hover .splide__arrow:disabled {
      opacity: 0.5;
    }
  }

  @media (width > 750px) {
    .product-media-gallery--grid {
      .splide__list {
        display: grid;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
        gap: var(--grid-gap);

        .product-media-gallery__media--full-width {
          grid-column: span var(--grid-columns);
        }
      }
      .product-media-gallery__thumbnails {
        display: none;
      }
    }
  }

  .product-media-gallery__media {
    height: 100%;
  }

  .product-media-gallery__media--rounded {
    border-radius: var(--card-border-radius);
    overflow: hidden;
  }

  .product-media-gallery .splide__arrow {
    background-color: transparent;
    border: none;
  }

  .product-media-gallery .splide__pagination {
    bottom: 5px;
  }

  .product-media-gallery__thumbnails {
    margin-top: 10px;
  }

  .product-media-gallery__thumbnail {
    position: relative;
    height: auto !important;

    .product-media-gallery__thumbnail-play-button {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.1);

      .icon--play_circle {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);

        position: absolute;
        font-size: 36px !important;
        color: var(--color-primary-button-text);
      }
    }
  }

  .product-media-gallery__thumbnail-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .product-media-gallery__thumbnail--rounded,
  .product-media-gallery__thumbnail--rounded .product-media-gallery__thumbnail-image,
  .product-media-gallery__thumbnail--rounded .product-media-gallery__thumbnail-play-button {
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
  }

  /* Correctif "bout d'image suivante visible" : une règle externe (hors
     fichiers de ce thème — probablement injectée par une app ou un script
     tiers) applique `padding: 0 48px !important` sur .splide__track à
     partir de 750px, vraisemblablement pour réserver de la place aux
     flèches. Avec une seule slide par vue (perPage: 1), la slide active
     remplit exactement la zone de contenu du track (hors padding), et la
     slide suivante s'enchaîne juste après en flux flex normal — elle
     atterrit dans cette zone de padding, qui n'arrête pas le débordement
     de ses enfants (seul le bord de la boîte le fait). Résultat : un
     morceau de la slide suivante reste visible. Comme les flèches de
     cette galerie sont déjà transparentes et conçues pour se superposer
     directement à l'image (règle .product-media-gallery .splide__arrow
     ci-dessus), ce padding n'a aucune utilité ici : on le neutralise.
     Sélecteur scopé + !important pour gagner face à la règle externe,
     quelle que soit son origine réelle. */
  @media (width > 750px) {
    .product-media-gallery-main-slider.splide .splide__track {
      padding: 0 !important;
    }
  }

.mg-photo-sale{position:absolute;z-index:3;pointer-events:none;display:inline-flex;padding:7px 14px;background:var(--mg-sale-bg);color:var(--mg-sale-text);font-size:var(--mg-sale-size);font-weight:600;font-family:var(--font-body--family);border-radius:var(--mg-sale-radius);line-height:1.3}
.mg-photo-sale-top-right{top:var(--mg-sale-offset);right:var(--mg-sale-offset)}.mg-photo-sale-top-left{top:var(--mg-sale-offset);left:var(--mg-sale-offset)}.mg-photo-sale-bottom-right{bottom:var(--mg-sale-offset);right:var(--mg-sale-offset)}.mg-photo-sale-bottom-left{bottom:var(--mg-sale-offset);left:var(--mg-sale-offset)}
.product-media-gallery-main-slider{position:relative}
@media(min-width:750px){.mg-gallery-left{display:grid!important;grid-template-columns:var(--mg-thumb) minmax(0,1fr);gap:var(--mg-gallery-gap)!important;align-items:start}.mg-gallery-left .product-media-gallery-main-slider{grid-column:2;grid-row:1;min-width:0;width:100%}.mg-gallery-left .product-media-gallery__thumbnails{grid-column:1;grid-row:1;margin:0!important;width:var(--mg-thumb)}.mg-gallery-left .product-media-gallery__thumbnails .splide__list{flex-direction:column!important;transform:none!important;gap:10px}.mg-gallery-left .product-media-gallery__thumbnails .splide__slide{width:var(--mg-thumb)!important;height:var(--mg-thumb)!important;margin:0!important}.mg-gallery-left .product-media-gallery__thumbnails .splide__track{max-height:560px;overflow:auto;scrollbar-width:thin}.mg-gallery-left .product-media-gallery__thumbnails img{width:100%;height:100%;object-fit:cover}}
@media(max-width:749px){.mg-photo-sale{font-size:var(--mg-sale-size-m)}}
/* END_BLOCK:_product-media-gallery */

/* START_BLOCK:_product-quantity-selector (INDEX:139) */
shopify-visual-preview-block-list .product-quantity-selector-block[data-visual-preview-mode] {
    width: 100px;
  }
/* END_BLOCK:_product-quantity-selector */

/* START_BLOCK:_product-variant-picker (INDEX:140) */
shopify-visual-preview-block-list variant-picker[data-visual-preview-mode] {
    width: 350px;
  }

  variant-picker {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .variant-picker__options {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .variant-picker__option {
    border: none;
    padding: 0;
  }

  .variant-picker__option-name {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--gap-sm);
  }

  .variant-picker__option-values {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
  }
/* END_BLOCK:_product-variant-picker */

/* START_BLOCK:_quantity-breaks-item (INDEX:142) */
.quantity-break {
    width: 100%;
    padding: var(--padding-md) var(--padding-xs);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: var(--padding-xs);
    justify-content: center;
    align-items: center;
    flex-grow: 1;
    height: 100%;
    overflow: hidden;
    min-width: 0;
    flex: 1 1 0;
    position: relative;
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border: var(--inputs-border-width) solid var(--color-input-border);

    &.quantity-break--no-overflow {
      overflow: visible;
    }

    &.quantity-break--selected {
      border: var(--inputs-border-width) solid var(--color-selected-input-border);
    }

    &.quantity-break--disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }

    &.quantity-break--with-image {
      padding: var(--padding-xs);
    }

    &:has(.quantity-break__banner--full-width) {
      gap: var(--gap-sm);
    }
  }

  .quantity-break__main-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: center;
    gap: var(--padding-xs);
  }

  .quantity-break__price-and-title-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    align-items: center;
  }

  .quantity-break__title-and-badge-container {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    justify-content: center;
  }

  .quantity-break__title {
    font-size: var(--font-body--size);
    font-weight: 500;
    text-align: center;
    line-height: var(--font-body--size);
  }

  .quantity-break__description p,
  .quantity-break__description ul li,
  .quantity-break__description ol li {
    font-size: var(--font-body--size-small);
  }

  .quantity-break__description p {
    margin: 0;
  }

  .quantity-break__description ul {
    margin: 0;
    padding-left: var(--padding-xs);
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
  }

  .quantity-break__description ol {
    margin: 0;
    padding-left: calc(var(--padding-xs) * 2);
  }

  .quantity-break__description ul li {
    position: relative;
    padding-left: var(--padding-xs);
  }

  .quantity-break__description ul li::before {
    font-family: var(--icon-font);
    content: 'check';
    position: absolute;
    left: calc(-1 * var(--padding-xs));
  }

  .quantity-break__image-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;

    img {
      width: 100%;
      height: auto;
      object-fit: contain;
      border-radius: calc(var(--card-border-radius) - var(--padding-xs));
    }
  }

  .quantity-break__image-badge {
    position: absolute;
    background-color: var(--color-background);
    color: var(--color-foreground);
    font-size: var(--font-body--size-small);
    border-radius: calc(var(--card-border-radius) - (2 * var(--padding-xs)));
    z-index: 1;
    display: flex;
    width: 24px;
    height: 24px;
    justify-content: center;
    align-items: center;

    &.quantity-break__image-badge--topright {
      top: var(--padding-xs);
      right: var(--padding-xs);
    }

    &.quantity-break__image-badge--topleft {
      top: var(--padding-xs);
      left: var(--padding-xs);
    }

    &.quantity-break__image-badge--bottomright {
      bottom: var(--padding-xs);
      right: var(--padding-xs);
    }

    &.quantity-break__image-badge--bottomleft {
      bottom: var(--padding-xs);
      left: var(--padding-xs);
    }
  }

  .quantity-break__content {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .quantity-break__price-container {
    display: flex;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    justify-content: center;
    font-size: var(--font-body--size-small);
    color: var(--color-foreground);

    .quantity-break__price-container_unit-price {
      font-size: var(--font-body--size-small);
      opacity: 0.8;
      text-align: center;
    }
  }

  .quantity-break__banner {
    &.quantity-break__banner--full-width {
      width: calc(100% + 2 * var(--padding-xs));
      z-index: 1;
    }

    &.quantity-break__banner--full-width.quantity-break__banner--bottom {
      border-top-right-radius: 0;
      border-top-left-radius: 0;
      margin-bottom: calc(-1 * var(--padding-md));
    }

    &.quantity-break__banner--full-width.quantity-break__banner--top {
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0;
      margin-top: calc(-1 * var(--padding-md));
    }

    &.quantity-break__banner--overlap {
      max-width: calc(max-content + var(--padding-xs));
      width: max-content;
      z-index: 1;
    }

    &.quantity-break__banner--overlap.quantity-break__banner--bottom {
      position: absolute;
      bottom: 0;
      transform: translateY(65%);
    }

    &.quantity-break__banner--overlap.quantity-break__banner--top {
      position: absolute;
      top: 0;
      transform: translateY(-65%);
    }
  }

  .quantity-break.quantity-break--with-image .quantity-break__banner {
    &.quantity-break__banner--full-width.quantity-break__banner--bottom {
      margin-bottom: calc(-1 * var(--padding-xs));
    }

    &.quantity-break__banner--full-width.quantity-break__banner--top {
      margin-top: calc(-1 * var(--padding-xs));
    }
  }

  .quantity-breaks-container--column {
    .quantity-break__description p,
    .quantity-break__description ul li {
      text-align: center;
    }

    .quantity-break__price-container .price-container .prices {
      align-items: center;
      justify-content: center;
    }

    .quantity-break__banner {
      &.quantity-break__banner--normal.quantity-break__banner--bottom {
        margin-bottom: calc(-1 * var(--padding-xs));
      }

      &.quantity-break__banner--normal.quantity-break__banner--top {
        margin-top: calc(-1 * var(--padding-xs));
      }
    }

    .quantity-break--with-image .quantity-break__banner {
      &.quantity-break__banner--normal.quantity-break__banner--bottom {
        margin-bottom: 0;
      }

      &.quantity-break__banner--normal.quantity-break__banner--top {
        margin-top: 0;
      }
    }

    .quantity-break--with-image {
      &:has(.quantity-break__banner--bottom.quantity-break__banner--overlap) {
        padding-bottom: var(--padding-md);
      }

      &:has(.quantity-break__banner--top.quantity-break__banner--overlap) {
        padding-top: var(--padding-md);
      }
    }
  }

  .quantity-breaks-container--row {
    .quantity-break {
      flex-direction: column;
      justify-content: flex-start;
      position: relative;
      flex: auto;
    }

    .quantity-break:not(.quantity-break--with-image) {
      padding: var(--padding-md);

      .quantity-break__banner--full-width {
        width: calc(100% + 2 * var(--padding-md));
      }
    }

    .quantity-break:has(.quantity-break__banner--overlap.quantity-break__banner--top) {
      margin-top: var(--margin-sm);
    }

    .quantity-break:has(.quantity-break__banner--overlap.quantity-break__banner--bottom) {
      margin-bottom: var(--margin-sm);
    }

    .quantity-break__main-content {
      flex-direction: row;
      gap: var(--gap-sm);
      align-items: flex-start;
    }

    .quantity-break__content {
      align-self: stretch;
      justify-content: center;
      width: 100%;
    }

    .quantity-break__image-container {
      width: auto;

      img {
        width: var(--image-width);
        max-width: var(--image-width);
      }
    }

    .quantity-break__price-and-title-container {
      align-items: flex-start;
    }

    .quantity-break__title-and-badge-container {
      justify-content: flex-start;
      gap: var(--gap-sm);
    }

    .quantity-break__banner {
      &.quantity-break__banner--normal {
        position: absolute;
        right: var(--padding-xs);
      }

      &.quantity-break__banner--normal.quantity-break__banner--top {
        top: var(--padding-xs);
      }

      &.quantity-break__banner--normal.quantity-break__banner--bottom {
        bottom: var(--padding-xs);
      }

      &.quantity-break__banner--overlap {
        right: var(--padding-xs);
      }
    }
  }

  .quantity-breaks-container.quantity-breaks-container--top {
    align-items: flex-end;
  }

  .quantity-breaks-container.quantity-breaks-container--bottom {
    align-items: flex-start;
  }

  /* Sélection de variante */

  .quantity-break__variant-picker-container {
    display: none;
  }

  .quantity-breaks--with-variant-picker .quantity-break--selected .quantity-break__variant-picker-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .quantity-break__variant-picker-row {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
  }

  .quantity-break__variant-thumbnail {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: calc(var(--card-border-radius) - var(--padding-md));
    overflow: hidden;
    background-color: var(--color-background);

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .quantity-break__variant-thumbnail--hidden {
    display: none;
  }

  .quantity-breaks:not([data-show-variant-thumbnail='true']) .quantity-break__variant-thumbnail {
    display: none;
  }

  /* Cross-sell */

  .quantity-break__cross-sells {
    display: none;
    flex-direction: column;
    width: calc(100% + 2 * var(--padding-xs));
    margin-bottom: calc(-1 * var(--padding-xs));
    border-top: var(--separator-border-width) solid var(--color-input-border);
    padding: var(--padding-xs) var(--padding-sm);
    gap: var(--gap-sm);
  }

  .quantity-break:not(.quantity-break--with-image) .quantity-break__cross-sells {
    margin-bottom: calc(-1 * var(--padding-md));
  }

  .quantity-breaks-container--row .quantity-break:not(.quantity-break--with-image) .quantity-break__cross-sells {
    width: calc(100% + 2 * var(--padding-md));
  }

  .quantity-breaks-container--column .quantity-break:not(.quantity-break--with-image) .quantity-break__cross-sells {
    width: calc(100% + 2 * var(--padding-xs));
  }

  .quantity-breaks-container--column {
    .quantity-break__cross-sells {
      padding: var(--padding-xs);
    }

    .quantity-break__cross-sell-image {
      display: none;
    }

    .quantity-break__cross-sell-info {
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      gap: var(--gap-xs);
    }

    .quantity-break__cross-sell-title {
      font-size: var(--font-body--size-small);
    }
  }

  .quantity-break--selected .quantity-break__cross-sells {
    display: flex;
  }

  .quantity-break__cross-sell {
    display: flex;
    align-items: center;
    width: 100%;
  }

  .quantity-break__cross-sell-image {
    flex-shrink: 0;
    margin-right: var(--margin-sm);
  }

  .quantity-break__cross-sell-image img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: cover;
    border-radius: calc(var(--card-border-radius) - var(--padding-sm));
  }

  .quantity-break__cross-sell-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    flex: 1;
  }

  .quantity-break__cross-sell-title {
    font-size: var(--font-body--size);
    font-weight: 500;
  }

  .quantity-break__cross-sell-price {
    font-size: var(--font-body--size-small);
  }

  .quantity-break__cross-sell-price .price-container {
    justify-content: flex-start;
  }

  quantity-break-variant-picker {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;

    &:not(:last-child) {
      margin-bottom: 1rem;
    }

    .form__label {
      margin: 0;
    }

    .quantity-break__variant-picker-container__option--dropdown {
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }
  }

  /* Refonte premium (brief "Réduction par quantité") — reprend le système
     de design du site : bordure fine, coins arrondis, badge en pastille
     olive (cohérent avec le badge du cross-sell), Poppins, hiérarchie de
     prix (prix réel dominant, prix barré plus petit et plus pâle).
     Couleurs/tailles pilotées par les réglages du bloc parent via
     variables CSS — entièrement personnalisable, comme le reste du site. */
  .quantity-break {
    border-color: var(--qb-card-border, #e4e1d6);
    border-radius: var(--qb-card-radius, 12px);
    font-family: 'Poppins', var(--font-body--family);
  }

  .quantity-break .badge.quantity-break__banner {
    background: var(--qb-badge-bg, #777d43);
    color: var(--qb-badge-text, #ffffff);
    border-radius: var(--qb-badge-radius, 6px);
    border: none;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    padding: 3px 8px;
    line-height: 1;
  }

  .quantity-break .price-container .prices .price {
    color: var(--qb-price-color, #1a1a1a);
    font-weight: 700;
  }

  .quantity-break .price-container .prices .compare-at-price {
    color: var(--qb-compare-color, #9a9a9a);
    font-weight: 400;
    font-size: 0.85em;
  }
/* END_BLOCK:_quantity-breaks-item */

/* START_BLOCK:_quantity-breaks (INDEX:143) */
.quantity-breaks {
    display: block;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .quantity-breaks[data-visual-preview-mode] {
    width: 450px;
  }

  .product-form__form .toggle-cross-sell:not(:first-of-type) {
    display: none;
  }

  .quantity-breaks-container {
    display: flex;
    flex-direction: row;
    gap: 10px;
  }

  .quantity-breaks-container.quantity-breaks-container--row {
    flex-direction: column;
  }

  .product-section__product-info:has(.quantity-breaks) .product-quantity-selector-block,
  .quantity-breaks--hidden {
    display: none;
  }

  .product-section__product-info:has(.quantity-breaks--with-variant-picker) variant-picker,
  .product-section__product-info:has(.quantity-breaks--with-variant-picker) .subscription {
    display: none;
  }
/* END_BLOCK:_quantity-breaks */

/* START_BLOCK:_slide (INDEX:145) */
.slide {
    display: flex;
    flex-direction: var(--direction);
    flex-wrap: var(--wrap);
    justify-content: var(--justify);
    align-items: var(--align_items);
    gap: var(--gap);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
/* END_BLOCK:_slide */

/* START_BLOCK:_social-icon (INDEX:146) */
.social-icon__icon {
    transition: var(--animation-link-hover);
  }

  .social-icon__icon:hover {
    opacity: var(--opacity-link-hover);
  }
/* END_BLOCK:_social-icon */

/* START_BLOCK:_story (INDEX:147) */
.story {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    appearance: none;
    border: none;
    background-color: transparent;
    cursor: pointer;
    max-width: 65px;
    padding: 0;
    margin: 0;
  }

  .story__bubble {
    border-radius: 50%;
    position: relative;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    width: 55px;
    height: 55px;

    .icon {
      font-size: 32px !important;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      color: white;
    }

    &:hover {
      transform: scale(102%);
    }

    &:before {
      width: 60px;
      height: 60px;
      content: '';
      background-color: #fff;
      border-radius: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
    }

    &:after {
      content: '';
      width: 65px;
      height: 65px;
      background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
      border-radius: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 1;
    }

    img {
      z-index: 3;
      width: 55px;
      height: 55px;
      border-radius: 50%;
      position: relative;
      overflow: hidden;
      cursor: pointer;
      z-index: 2;
      object-fit: cover;
    }
  }

  .story__bubble-label {
    font-size: var(--font-body--size-small);
    padding: 0;
    margin: 0;
    color: var(--color-foreground);
  }

  .story-slider__slide {
    /* border-radius: var(--card-border-radius); */
    overflow: hidden;
  }

  .story-slider__slide img,
  .story-slider__slide video {
    aspect-ratio: 3/5;
    object-fit: cover;
    max-width: 100%;
    height: 100%;
  }

  .story__slider {
    height: 100%;

    & > .splide__track {
      height: 100%;
    }

    & > .splide__arrows > .splide__arrow {
      height: 100%;
      width: 50%;
      border: none;
      background-color: transparent;
      color: var(--color-foreground);
    }

    & > .splide__arrows > .splide__arrow--prev {
      left: 0;
      justify-content: flex-start;

      .icon {
        margin-left: 1rem;
      }
    }

    & > .splide__arrows > .splide__arrow--next {
      right: 0;
      justify-content: flex-end;

      .icon {
        margin-right: 1rem;
      }
    }

    .splide__arrow:disabled {
      opacity: 0.5;
    }
  }

  .story__header {
    position: absolute;
    left: 0;
    top: 0;
    padding: var(--padding-md);
    width: 100%;
    z-index: 1;
    background: linear-gradient(0deg, #0000 6.99%, #00000080 163.32%);

    /* Force GPU layer pour iOS */
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
  }

  .story__progress-bars {
    display: flex;
    flex-direction: row;
    gap: 3px;
  }

  .story__progress-bar {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    flex: 1;
    min-width: 0;
    height: 2.5px;
  }

  .story__progress-bar[value]::-webkit-progress-bar {
    background-color: rgb(from white r g b / 15%);
    border-radius: var(--card-border-radius);
  }

  .story__progress-bar[value]::-webkit-progress-value {
    background-color: white;
    border-radius: var(--card-border-radius);
  }

  .story__heading {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding: var(--margin-md) 0;
    gap: var(--gap-sm);
    font-size: var(--font-body--size-small);
    color: white;

    img {
      border-radius: 50%;
      width: 32px;
      height: 32px;
      object-fit: cover;
    }
  }
/* END_BLOCK:_story */

/* START_BLOCK:_subscription (INDEX:148) */
.subscription {
    display: block;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .subscription[data-visual-preview-mode] {
    width: 450px;
  }

  /* Par défaut Shopify affiche un message de consentement sous le bouton d'achat rapide, on le cache */
  #shopify-buyer-consent {
    display: none;
  }

  .subscription__options {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .subscription__option {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    padding: var(--padding-md);
    cursor: pointer;
    transition: border-color 0.2s ease;
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border: var(--inputs-border-width) solid var(--color-input-border);
  }

  .subscription__option.subscription__option--selected {
    border: var(--inputs-border-width) solid var(--color-selected-input-border);
  }

  .subscription__option-radio {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .subscription__option .radio > .radio__label {
    font-size: var(--font-body--size);
    font-weight: 500;
  }

  .subscription__option-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--gap-sm);
    width: 100%;
  }

  .subscription__option-price {
    flex-shrink: 0;
  }

  .subscription__option-price .prices {
    font-size: var(--font-body--size);
  }

  .subscription__frequency {
    width: 100%;
  }

  .subscription__frequency-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
    border: none;
    padding: 0;
  }

  .subscription__frequency-button input {
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    height: 1px;
    width: 1px;
  }

  .subscription__frequency-button input + label {
    appearance: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: var(--variant-button-font-size);
    transition: all var(--animation-speed-medium) var(--animation-easing);
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border: var(--inputs-border-width) solid var(--color-input-border);
    font-weight: var(--button-primary-font-weight);
    text-transform: var(--button-primary-text-transform);
    letter-spacing: var(--button-letter-spacing);
    padding: calc(var(--button-padding-vertical) / 2) calc(var(--button-padding-horizontal) * var(--small-multiplier));
    min-height: calc(var(--small-multiplier) * var(--inputs-min-height));
    min-width: calc(var(--small-multiplier) * var(--inputs-min-width));
    border-radius: calc(var(--small-multiplier) * var(--button-border-radius));
  }

  .subscription__frequency-button input:checked + label {
    background-color: var(--color-selected-input-background);
    color: var(--color-selected-input-text);
    border-color: var(--color-selected-input-border);
  }

  .subscription__option-description p,
  .subscription__option-description ul li,
  .subscription__option-description ol li {
    font-size: var(--font-body--size-small);
  }

  .subscription__option-description p {
    margin: 0;
  }

  .subscription__option-description ul {
    margin: 0;
    padding-left: var(--padding-xs);
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
  }

  .subscription__option-description ol {
    margin: 0;
    padding-left: calc(var(--padding-xs) * 2);
  }

  .subscription__option-description ul li {
    position: relative;
    padding-left: var(--padding-xs);
  }

  .subscription__option-description ul li::before {
    font-family: var(--icon-font);
    content: 'check';
    position: absolute;
    left: calc(-1 * var(--padding-xs));
  }
/* END_BLOCK:_subscription */

/* START_BLOCK:_tab (INDEX:149) */
.tab__button {
    appearance: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-height: var(--tab-button-min-height);
    width: max-content;
    font-size: var(--tab-button-font-size);
    outline: 1px solid transparent;
    transition: all var(--animation-speed-medium) var(--animation-easing);
    padding: var(--tab-button-padding-vertical) var(--tab-button-padding-horizontal);
    color: var(--color-tab-text);
    background-color: var(--color-tab-background);
    border: var(--tab-button-border-width) solid var(--color-tab-border);
    border-radius: calc(var(--small-multiplier) * var(--button-border-radius));
    font-weight: var(--button-primary-font-weight);
    text-transform: var(--button-primary-text-transform);
    letter-spacing: var(--button-letter-spacing);
  }

  .tab.active .tab__button {
    background-color: var(--color-selected-tab-background);
    color: var(--color-selected-tab-text);
    border-color: var(--color-selected-tab-border);
  }
/* END_BLOCK:_tab */

/* START_BLOCK:_toggle-cross-sell (INDEX:150) */
.toggle-cross-sell {
    display: block;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .toggle-cross-sell[data-visual-preview-mode] {
    width: 400px;
  }

  .product-form__form .toggle-cross-sell:not(:first-of-type) {
    display: none;
  }

  .toggle-cross-sell__content {
    margin-bottom: var(--margin-sm);
  }

  .toggle-cross-sell__description p {
    margin: 0;
    line-height: normal;
    font-size: var(--font-body--size);
  }

  .toggle-cross-sell__products {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    width: 100%;
  }

  .toggle-cross-sell__product {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    /* min-height: 50px; */
    gap: var(--gap-md);
    overflow: hidden;
    cursor: pointer;
    border-radius: var(--card-border-radius);
    padding: var(--padding-xs);
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border: var(--inputs-border-width) solid var(--color-input-border);
  }

  .toggle-cross-sell__product:has(input[type='checkbox']:checked) {
    border-color: var(--color-selected-input-border);
  }

  .toggle-cross-sell__product-image img {
    display: block;
    min-width: 55px;
    width: 55px;
    border-radius: calc(var(--card-border-radius) - var(--margin-sm));
  }

  .toggle-cross-sell__product-image--wide img {
    object-fit: cover;
    min-height: 100%;
    border-radius: 0;
  }

  .toggle-cross-sell__product-container {
    display: flex;
    flex-direction: row;
    cursor: auto;
    gap: var(--gap-sm);
  }

  .toggle-cross-sell__product-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--gap-sm);
  }

  .toggle-cross-sell__product-content--no-image {
    margin-left: var(--margin-sm);
  }

  .toggle-cross-sell__product-header {
    display: flex;
    gap: var(--gap-xs);
    flex-wrap: wrap;
    flex-direction: column;
  }

  .toggle-cross-sell__product-title {
    margin: 0;
    font-size: var(--font-body--size);
    font-weight: 500;
    text-decoration: none;
    color: inherit;
  }

  .toggle-cross-sell__product-price-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--gap-sm);
    font-size: var(--font-body--size-small);
  }

  .toggle-cross-sell__product .checkbox,
  .toggle-cross-sell__product .button {
    margin-right: var(--margin-sm);
  }

  .toggle-cross-sell__text-add,
  .toggle-cross-sell__text-added,
  .toggle-cross-sell__text-remove {
    display: none;
  }

  .toggle-cross-sell__product .button.button--secondary .toggle-cross-sell__text-add {
    display: block;
  }

  .toggle-cross-sell__product .button.button--active:not(:hover) .toggle-cross-sell__text-added {
    display: block;
  }

  .toggle-cross-sell__product .button.button--active:hover .toggle-cross-sell__text-remove {
    display: block;
  }
/* END_BLOCK:_toggle-cross-sell */

/* START_BLOCK:accordions (INDEX:151) */
.accordions {
    width: 100%;
  }

  shopify-visual-preview-block-list .accordions[data-visual-preview-mode] {
    width: 450px;
  }

  .accordion-block {
    flex: 1;
    width: 100%;
  }

  .accordions--dividers .accordion-block:not(:last-child) .accordion {
    border-bottom: var(--separator-border-width) solid var(--color-border);
  }

  .accordions--dividers .accordion .details-content {
    padding-block-end: var(--padding-sm);
  }

  .accordions--caret .accordion__icons-add,
  .accordions--add .icon--keyboard_arrow_down {
    display: none;
  }
/* END_BLOCK:accordions */

/* START_BLOCK:badges (INDEX:153) */
.badges {
    justify-content: var(--alignment-mobile);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  @media (width > 750px) {
    .badges {
      justify-content: var(--alignment);
    }
  }
/* END_BLOCK:badges */

/* START_BLOCK:before-after (INDEX:154) */
.before-after-block {
    width: var(--width-mobile);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    position: relative;
  }

  .before-after-block__container {
    position: relative;
    width: 100%;
    aspect-ratio: var(--ratio);
    overflow: hidden;
    border-radius: var(--card-border-radius);
  }

  .before-after-block__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .before-after-block__image--before {
    clip-path: inset(0 50% 0 0);
    transition: clip-path 0.1s ease-out;
  }

  .before-after-block__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .before-after-block__slider {
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background-color: transparent;
    cursor: ew-resize;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .before-after-block__slider-line {
    width: 3px;
    height: 100%;
    background-color: var(--color-background);
  }

  .before-after-block__slider-handle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background-color: var(--color-background);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    transition: transform 0.1s ease-out;
    border: var(--button-secondary-border-width) solid var(--color-secondary-button-border);
  }

  .before-after-block__slider-handle:active {
    cursor: grabbing;
    transform: translate(-50%, -50%) scale(1.1);
  }

  .before-after-block__slider-icon {
    width: 16px;
    height: 16px;
    color: var(--color-text);
  }

  @media (width > 750px) {
    .before-after-block__slider-handle {
      width: 48px;
      height: 48px;
    }

    .before-after-block__slider-icon {
      width: 20px;
      height: 20px;
    }
  }

  .before-after-block__label {
    position: absolute;
    top: 1rem;
    pointer-events: none;
  }

  .before-after-block__label--before {
    left: 1rem;
  }

  .before-after-block__label--after {
    right: 1rem;
  }

  .before-after-block__label.badge--custom {
    background-color: var(--badge-custom-background);
    color: var(--badge-custom-text);
    border: var(--badge-primary-border-width) solid var(--badge-custom-border);
  }

  @media (width > 750px) {
    .before-after-block {
      width: var(--width-desktop);
    }
  }

  shopify-visual-preview-block-list .before-after-block[data-visual-preview-mode] {
    width: 100%;
    max-width: 600px;
  }
/* END_BLOCK:before-after */

/* START_BLOCK:benefice (INDEX:155) */
.bp-line .bp-badge .icon {font-size:var(--bp-line-icon-size,calc(var(--bp-badge-size) * .55)) !important;}
/* END_BLOCK:benefice */

/* START_BLOCK:benefices-produit (INDEX:156) */
.bp-source-product > .bp-manual-line { display:none; }
  .bp-line { min-width:0; max-width:100%; }
  .bp-text { overflow-wrap:anywhere; }
  @media(max-width:749px) {
    .bp-wrap { --bp-text-size:var(--bp-text-size-m);--bp-badge-size:var(--bp-badge-size-m);--bp-row-gap:var(--bp-row-gap-m);--bp-icon-text-gap:var(--bp-icon-text-gap-m);align-items:var(--bp-align-m); }
  }
  .bp-wrap {
    display: flex;
    flex-direction: column;
    gap: var(--bp-row-gap);
    margin-top: var(--bp-margin-top);
    margin-bottom: var(--bp-margin-bottom);
    max-width: var(--bp-max-width);
    align-items: var(--bp-align);
    background: var(--bp-section-bg, transparent);
  }

  .bp-wrap--grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--bp-row-gap) 16px;
  }

  @media (width < 600px) {
    .bp-wrap--grid {
      grid-template-columns: 1fr;
    }
  }

  .bp-line {
    display: flex;
    align-items: center;
    gap: var(--bp-icon-text-gap);
    transition: transform 0.2s ease;
  }

  .bp-hover-on .bp-line:hover {
    transform: translateX(2px);
  }

  .bp-hover-on .bp-line:hover .bp-badge {
    filter: brightness(0.9);
  }

  .bp-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: var(--bp-badge-size);
    height: var(--bp-badge-size);
    background: var(--bp-badge-bg);
    box-shadow: var(--bp-badge-shadow);
    border: var(--bp-badge-border);
    color: var(--bp-icon-color);
    transition: filter 0.2s ease;
  }

  .bp-badge--circle .bp-badge { border-radius: 50%; }
  .bp-badge--rounded .bp-badge { border-radius: 8px; }
  .bp-badge--none .bp-badge {
    background: none;
    box-shadow: none;
    border: none;
    width: auto;
    height: auto;
    color: var(--bp-badge-bg);
  }

  .bp-badge .icon {
    font-variation-settings: 'FILL' 1, 'wght' var(--bp-icon-weight), 'GRAD' 0, 'opsz' 24;
    font-size: calc(var(--bp-badge-size) * 0.55);
  }

  .bp-badge--none .bp-badge .icon {
    font-size: 20px;
  }

  .bp-text {
    color: var(--bp-text-color);
    font-size: var(--bp-text-size);
    font-weight: var(--bp-text-weight);
    line-height: var(--bp-line-height);
    font-family: var(--bp-font-family, inherit);
  }

  /* Animation d'apparition : jamais cachee par defaut, seulement si le JS confirme
     pouvoir la piloter (voir script plus bas) et que le reglage est active. */
  .bp-wrap.bp-js-ready .bp-reveal {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
  }
  .bp-wrap.bp-js-ready.bp-is-visible .bp-reveal {
    opacity: 1;
    transform: translateY(0);
  }

  @media (prefers-reduced-motion: reduce) {
    .bp-wrap.bp-js-ready .bp-reveal {
      opacity: 1;
      transform: none;
      transition: none;
    }
  }
/* END_BLOCK:benefices-produit */

/* START_BLOCK:button (INDEX:157) */
.button-block {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .button-block--full-width {
    width: 100%;
  }

.mg-button-custom .button{font-size:var(--mg-size);padding:var(--mg-py) var(--mg-px);border-radius:var(--mg-radius);border:var(--mg-border) solid var(--mg-border-color);background:var(--mg-bg);color:var(--mg-text);transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.mg-button-custom .button:is(:hover,:focus-visible,:active){background:var(--mg-hover);color:var(--mg-hover-text);border-color:var(--mg-hover-border)}
.mg-button-custom .button:focus-visible{outline:2px solid var(--mg-border-color);outline-offset:4px}
.mg-button-custom .button :is(.icon,svg,.button__content){color:inherit}
@media(prefers-reduced-motion:reduce){.mg-button-custom .button{transition:none}}
/* END_BLOCK:button */

/* START_BLOCK:collection-featured (INDEX:158) */
.block-collection-featured {
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .block-collection-featured .splide__arrow {
    display: none !important;
  }

  .block-collection-featured__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .block-collection-featured__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .block-collection-featured__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_BLOCK:collection-featured */

/* START_BLOCK:collections-featured (INDEX:159) */
.block-collections-featured {
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .block-collections-featured__inner {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .block-collections-featured__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    gap: var(--gap-md);
  }

  @media (width > 750px) {
    .block-collections-featured__grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
/* END_BLOCK:collections-featured */

/* START_BLOCK:contact-form (INDEX:160) */
.contact-form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
  }

  shopify-visual-preview-block-list .contact-form[data-visual-preview-mode] {
    max-width: 500px;
  }
/* END_BLOCK:contact-form */

/* START_BLOCK:copyright (INDEX:161) */
.footer-copyright {
    display: flex;
    align-items: center;
    justify-content: var(--alignment-mobile);
  }

  @media (width > 750px) {
    .footer-copyright {
      justify-content: var(--alignment);
    }
  }

  .footer-copyright__text,
  .footer-copyright__text > a {
    color: var(--color-foreground);
    text-decoration: none;
    font-size: var(--font-body--size-small);
  }

  .footer-copyright__text > a {
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }
/* END_BLOCK:copyright */

/* START_BLOCK:countdown (INDEX:162) */
.countdown {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    padding: var(--padding-md);
  }

  .countdown:not(.card) {
    padding: 0;
    background-color: inherit;
    color: inherit;
  }

  shopify-visual-preview-block-list .countdown[data-visual-preview-mode] {
    width: 300px;
  }

  date-counter {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--gap-sm);
    margin: 0;
  }

  .countdown__timer {
    display: flex;
    gap: var(--gap-sm);
    width: 100%;
    justify-content: center;
  }

  .countdown__timer-card:not(:last-child)::after {
    content: '';
    position: absolute;
    right: calc(-1 * var(--gap-sm) / 2 - 1px);
    top: calc(50%);
    transform: translateY(-50%);
    width: 1.5px;
    border-radius: 3px;
    height: 60%;
    background-color: var(--color-foreground);
    opacity: 0.2;
  }

  .countdown__timer--background .countdown__timer-card:not(:last-child)::after,
  .countdown__timer--border .countdown__timer-card:not(:last-child)::after {
    display: none;
  }

  .countdown__timer-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: fit-content;
    position: relative;
  }

  .countdown__timer-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--padding-md) var(--padding-xxs);
    height: calc(var(--countdown-timer-font-size) + var(--padding-xxs));
    border-radius: 3px;
    line-height: 1;
    font-weight: var(--countdown-timer-font-weight);
    font-size: var(--countdown-timer-font-size);
  }

  .countdown__timer--background .countdown__timer-value {
    background-color: var(--color-foreground);
    color: var(--color-background);
    padding: var(--padding-sm);
    margin-bottom: var(--margin-xs);
  }

  .countdown__timer--border .countdown__timer-value {
    background-color: var(--color-background);
    border: 1px solid var(--color-border);
    padding: var(--padding-sm);
    margin-bottom: var(--margin-xs);
  }

  .countdown__timer-label {
    font-size: 10px;
    text-align: center;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0.8;
  }

  .countdown__timer-ended p {
    font-weight: 500;
  }
/* END_BLOCK:countdown */

/* START_BLOCK:custom-code (INDEX:164) */
.custom-code-block {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_BLOCK:custom-code */

/* START_BLOCK:delivery-estimation (INDEX:165) */
.delivery-estimation {
    display: block;
    font-size: var(--font-body--size);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .delivery-estimation[data-visual-preview-mode] {
    width: 300px;
  }

  .delivery-estimation__content {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    align-items: center;
    justify-content: var(--alignment-mobile);

    .icon {
      font-size: 18px !important;
      width: 18px !important;
      height: 18px !important;
      margin-right: var(--margin-xs);
    }
  }

  @media (width > 750px) {
    .delivery-estimation__content {
      justify-content: var(--alignment);
    }
  }
/* END_BLOCK:delivery-estimation */

/* START_BLOCK:filters-and-sort (INDEX:166) */
.filter-and-sort--loading .filter-list,
  .filter-and-sort--loading sort-component,
  .filter-and-sort--loading sort-inline-component,
  .filter-and-sort--loading .filters__clear-all {
    opacity: 0.5;
    pointer-events: none;
  }

  .filter-and-sort__inline,
  .filter-and-sort__sidebar {
    display: none;
  }

  .filter-and-sort__sort-only {
    display: flex;
    justify-content: flex-end;
    width: 100%;
  }

  @media (width > 750px) {
    .filter-and-sort:not(.filter-and-sort--menu) .filter-and-sort__mobile {
      display: none;
    }

    .filter-and-sort--inline .filter-and-sort__inline {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: var(--gap-sm);
    }

    .filter-and-sort--sidebar .filter-and-sort__sidebar {
      display: block;
    }

    .filter-and-sort--sidebar.filter-and-sort--sticky .filter-and-sort__sidebar {
      height: fit-content;
      position: sticky;
      top: calc(var(--header-height, 0px) + var(--padding-md));
    }
  }
/* END_BLOCK:filters-and-sort */

/* START_BLOCK:group (INDEX:167) */
.group {
    gap: var(--gap-mobile);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: var(--width-mobile);
  }

  .group.card {
    padding: var(--padding-vertical) var(--padding-horizontal);
  }

  shopify-visual-preview-block-list .group[data-visual-preview-mode] {
    width: 100%;
    max-width: 450px;
  }

  .group--flex {
    display: flex;
    flex-direction: var(--direction-mobile);
    flex-wrap: var(--wrap-mobile);
    justify-content: var(--justify-mobile);
    align-items: var(--align_items-mobile);
  }

  .group--grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
    grid-template-rows: auto;
  }

  .group--glass {
    padding: var(--padding-vertical) var(--padding-horizontal);
    border-radius: var(--glass-radius);
    background: var(--glass-bg-fallback);
    border: var(--glass-border-width) solid var(--glass-border-color);
    box-shadow: var(--glass-shadow);
    box-sizing: border-box;
    overflow: visible;
  }

  @supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
    .group--glass {
      background: var(--glass-bg);
      backdrop-filter: blur(var(--glass-blur));
      -webkit-backdrop-filter: blur(var(--glass-blur));
    }
  }

  @media (width > 750px) {
    .group {
      gap: var(--gap);
      width: var(--width);
    }

    .group--flex {
      flex-direction: var(--direction);
      flex-wrap: var(--wrap);
      justify-content: var(--justify);
      align-items: var(--align_items);
    }

    .group--grid {
      grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
  }
.mg-group-custom { box-sizing:border-box; max-width:var(--mg-max-m); min-height:var(--mg-minheight); padding:var(--mg-pad-top-m) var(--mg-pad-right-m) var(--mg-pad-bottom-m) var(--mg-pad-left-m); transition:transform .2s,box-shadow .2s; }
.mg-group-custom:not(.group--glass) { border:var(--mg-border) solid var(--mg-border-color); border-radius:var(--mg-radius); box-shadow:0 12px 36px rgb(37 40 32 / var(--mg-shadow)); }
@media(min-width:750px){.mg-group-custom{max-width:var(--mg-max);padding:var(--mg-pad-top) var(--mg-pad-right) var(--mg-pad-bottom) var(--mg-pad-left)}}
@media(hover:hover){.mg-group-custom:hover{transform:translateY(calc(-1 * var(--mg-lift)))}}
@media(prefers-reduced-motion:reduce){.mg-group-custom{transition:none}.mg-group-custom:hover{transform:none}}
/* END_BLOCK:group */

/* START_BLOCK:icon-with-text (INDEX:168) */
.icon-with-text {
    display: flex;
    gap: var(--gap-mobile);
    overflow: hidden;
    width: 100%;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .icon-with-text .text-block {
    margin-top: 0;
    margin-bottom: 0;
  }

  .icon-with-text--row-mobile {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }

  .icon-with-text--column-mobile {
    flex-direction: column;
    align-items: center;
    justify-content: center;

    .text-block.paragraph p {
      text-align: center;
    }
  }

  shopify-visual-preview-block-list .icon-with-text[data-visual-preview-mode] {
    width: 100%;
    max-width: 350px;
  }

  .text-block.paragraph p {
    font-weight: var(--font-weight);
  }

  .text-block.paragraph a {
    color: inherit;
  }

  @media (width > 750px) {
    .icon-with-text {
      gap: var(--gap);
    }

    .icon-with-text--row-desktop {
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;

      .text-block.paragraph p {
        text-align: left;
      }
    }

    .icon-with-text--column-desktop {
      flex-direction: column;
      align-items: center;
      justify-content: center;

      .text-block.paragraph p {
        text-align: center;
      }
    }
  }
/* END_BLOCK:icon-with-text */

/* START_BLOCK:image-card (INDEX:170) */
.image-card {
    position: relative;
    overflow: hidden;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    text-decoration: none;
    color: var(--color-foreground);
    width: 100%;
    height: 100%;
    display: block;

    &.card {
      padding: 0;
    }
  }

  shopify-visual-preview-block-list .image-card[data-visual-preview-mode] {
    width: 350px;
  }

  .image-card__image-filter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color);
    opacity: calc(var(--opacity) / 100);
    z-index: 1;
  }

  .image-card__image {
    position: absolute;
    width: 100%;
    height: 100%;

    img,
    .placeholder-image {
      height: 100%;
      width: 100%;
      object-fit: cover;
      object-position: center center;
      border-radius: 0;
      overflow: hidden;
      position: relative;
    }
  }

  .image-card__content-wrapper {
    position: relative;
    width: 100%;
    z-index: 2;
    padding: var(--card-padding);
    height: 100%;

    .image-card__content {
      width: 100%;
      min-height: var(--image-height);
      height: 100%;
      display: flex;
      flex-direction: column;
      gap: var(--gap-xxs);
      justify-content: var(--justify);
      align-items: var(--align_items);
    }
  }

  /* L'overlay passe au-dessus du filtre */
  .image-card .stretched-link__overlay {
    z-index: 2;
  }
  /* Le content-wrapper reste visuellement au-dessus, 
   mais transparent aux clics */
  .image-card.stretched-link .image-card__content-wrapper {
    z-index: 3;
    pointer-events: none;
  }
  /* Les éléments interactifs récupèrent les clics */
  .image-card.stretched-link .image-card__content-wrapper a,
  .image-card.stretched-link .image-card__content-wrapper button,
  .image-card.stretched-link .image-card__content-wrapper input,
  .image-card.stretched-link .image-card__content-wrapper select,
  .image-card.stretched-link .image-card__content-wrapper summary {
    pointer-events: auto;
  }

  @media (width > 750px) {
    .image-card__content {
      padding: var(--padding-vertical) var(--padding-horizontal);
    }
  }
/* END_BLOCK:image-card */

/* START_BLOCK:image (INDEX:171) */
.image-block {
    width: var(--width-mobile);

    @media (width > 750px) {
      width: var(--width-desktop);
    }
  }

  .image-block__image {
    object-fit: cover;
    aspect-ratio: var(--ratio);
    width: 100%;
  }

  .image-block__image--rounded {
    border-radius: var(--card-border-radius);
  }

  .image-block--height-fill .image-block__image {
    height: 100%;
  }

  /* Correctif "fallback d'image cassé sur la bannière de collection" :
     fond uni neutre remplaçant l'icône de remplacement surdimensionnée
     pour toute collection sans image. Mêmes règles de dimensionnement
     que .image-block__image (aspect-ratio + width: 100%) pour ne jamais
     déborder du conteneur, quel que soit l'écran ; display: block
     nécessaire car c'est une <div>, pas un <img>, sans comportement
     de mise en page intrinsèque par défaut. */
  .image-block__collection-fallback {
    display: block;
    background-color: #f7f6f3;
  }

  /*
    Refonte visuelle du bloc "Image avec texte" en bas de page collection
    (brief "Refonte visuelle du guide complet") : l'image reste visible
    ("collée") pendant que le texte associé défile à côté, desktop
    uniquement, plutôt que de disparaître en haut de page dès les
    premiers paragraphes. Scoped sous .collection-hero-image-sticky
    (réglage "Classe additionnelle" du bloc image, templates/collection.json)
    pour ne toucher AUCUNE autre image du site.
  */
  @media (width > 750px) {
    .image-block.collection-hero-image-sticky {
      position: sticky;
      top: 32px;
      align-self: flex-start;
    }
  }

  /* Le "collage" n'est pas une animation, mais on désactive quand même
     l'effet si l'utilisateur préfère un mouvement réduit, comme demandé
     pour tout effet sticky/transition ajouté à cette section. */
  @media (prefers-reduced-motion: reduce) {
    .image-block.collection-hero-image-sticky {
      position: static;
    }
  }
/* END_BLOCK:image */

/* START_BLOCK:information-slider (INDEX:172) */
.slider-block {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: 100%;
  }

  shopify-visual-preview-block-list .slider-block[data-visual-preview-mode] {
    width: 400px;
  }

  .slider-block--with-pagination {
    padding-bottom: var(--margin-lg);

    &.slider-block--with-pagination-on-left {
      padding-bottom: 0;

      .splide__pagination {
        right: 0;
        left: auto;
        bottom: 50%;
        transform: translateY(50%);
        align-items: center;
        padding: 0;
      }

      .splide__pagination li {
        display: flex;
        align-items: center;
        justify-content: center;
      }
    }
  }
/* END_BLOCK:information-slider */

/* START_BLOCK:klarna-3x-payment (INDEX:173) */
.klarna-3x-payment {
    display: block;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .klarna-3x-payment[hidden] {
    display: none;
  }

  .klarna-3x-payment_row {
    display: flex;
    align-items: center;
    gap: var(--gap-xs, 6px);
    margin: 0;
  }

  .klarna-3x-payment_badge {
    display: inline-flex;
    align-items: center;
    flex: none;
  }

  .klarna-3x-payment_badge svg {
    width: var(--kp-badge-size, 22px);
    height: auto;
  }

  .klarna-3x-payment_text {
    font-size: var(--kp-text-size, var(--font-body--size-small));
    color: var(--kp-text-color, inherit);
  }
  .klarna-3x-payment--compact .klarna-3x-payment_row {
    justify-content: center;
    gap: 8px;
    min-height: 21px;
    line-height: 1.4;
  }
  .klarna-3x-payment--compact .klarna-3x-payment_text {
    font-size: var(--kp-text-size, 12px);
    font-weight: 500;
    line-height: 1.4;
  }
  .klarna-3x-payment--compact .klarna-3x-payment_badge svg {
    width: var(--kp-badge-size, 32px);
    height: auto;
    display: block;
  }
.product-section__product-info:has([data-mg-klarna-embedded]) > klarna-3x-payment { display: none; }
/* END_BLOCK:klarna-3x-payment */

/* START_BLOCK:logo (INDEX:174) */
.block__logo {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }
/* END_BLOCK:logo */

/* START_BLOCK:marquee (INDEX:175) */
.marquee {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    width: 100%;
  }

  /* Quand la barre est un enfant direct d'une section qui a page-width, on lui fait prendre toute la largeur de la page */
  .page-width > .marquee {
    margin-left: calc(-1 * var(--page-margin-desktop));
    width: calc(100% + 2 * var(--page-margin-desktop));
  }

  marquee-component {
    display: block;
    width: 100%;
    overflow: hidden;
  }

  .marquee__wrapper {
    display: flex;
    gap: var(--marquee-gap);
    width: fit-content;
    white-space: nowrap;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .marquee__content {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
  }

  .marquee__content :is(p, h1, h2, h3, h4, h5, h6) {
    white-space: nowrap;
  }

  .marquee__content .marquee__repeated-items * {
    max-width: none;
  }

  .marquee__repeated-items {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
    align-items: center;
    justify-content: center;
  }

  .marquee__repeated-items > * {
    align-content: center;
  }

  @media (prefers-reduced-motion: no-preference) {
    marquee-component:not([data-disabled]) .marquee__wrapper {
      animation: marquee-motion var(--marquee-speed) linear infinite var(--marquee-direction);
    }
  }

  @keyframes marquee-motion {
    to {
      transform: translate3d(calc(-50% - (var(--marquee-gap) / 2)), 0, 0);
    }
  }
/* END_BLOCK:marquee */

/* START_BLOCK:menu (INDEX:176) */
.menu-block {
    display: flex;
    justify-content: var(--alignment-mobile);
    margin: var(--margin-top) 0 var(--margin-bottom) 0;
  }

  @media (width > 750px) {
    .menu-block {
      justify-content: var(--alignment);
    }
  }

  .menu-block__content {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .menu-block__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: var(--menu-direction);
    gap: var(--gap-md);
  }

  .menu-block__item {
    margin: 0;
  }

  .menu-block__link {
    text-decoration: none;
    color: var(--color-foreground);
    font-size: var(--font-body--size);
    font-weight: var(--font-body--weight);
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }

  .menu-block__link--underlined {
    text-decoration: underline;
  }

  /* ---------- Cohérence visuelle des colonnes de liens ---------- */
  .footer-menu .menu-block__link {
    font-size: var(--font-body--size);
    font-weight: var(--font-body--weight);
  }

  /* ---------- Pied de page : survol olive, focus & zones tactiles ---------- */
  .footer {
    --footer-accent: #777d43;
  }

  .footer a {
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
  }

  .footer a:hover,
  .footer a:focus-visible {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: var(--footer-accent, #777d43);
    text-underline-offset: 0.2em;
  }

  .footer a:focus-visible,
  .footer button:focus-visible {
    outline: 2px solid var(--footer-accent, #777d43);
    outline-offset: 2px;
    border-radius: 2px;
  }

  @media (width <= 750px) {
    .footer .menu-block__link {
      display: inline-flex;
      align-items: center;
      min-height: 44px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .footer a {
      transition: none;
    }
  }
/* END_BLOCK:menu */

/* START_BLOCK:mg-commercial-offer (INDEX:177) */
.mg-commercial-offer{display:block;color:var(--offer-text);font-family:var(--font-body--family);font-weight:var(--offer-weight);font-size:var(--offer-size);line-height:1.4;margin:var(--offer-mt) 0 var(--offer-mb);overflow-wrap:anywhere;max-width:100%}
.mg-commercial-offer h2{font-family:var(--font-heading--family);font-size:clamp(22px,2.1vw,28px)!important;line-height:1.2!important;margin:0 0 12px!important;font-weight:600}
.mg-commercial-offer p{margin:0 0 14px}
.mg-commercial-offer ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--offer-gap)}
.mg-commercial-offer li{position:relative;padding-left:calc(var(--offer-badge-size) + 9px)}
.mg-commercial-offer li:before{content:'✓';position:absolute;left:0;top:1px;width:var(--offer-badge-size);height:var(--offer-badge-size);border-radius:50%;background:var(--offer-badge);color:var(--offer-glyph);text-align:center;font-size:13px;line-height:var(--offer-badge-size)}
@media(max-width:749px){.mg-commercial-offer{font-size:var(--offer-size-m)}.mg-commercial-offer h2{font-size:23px!important}}
/* END_BLOCK:mg-commercial-offer */

/* START_BLOCK:mg-purchase-reassurance (INDEX:183) */
.mg-buy-reassurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--mgt-gap);margin:var(--mgt-mt) 0 var(--mgt-mb);padding:var(--mgt-padding);background:var(--mgt-bg);border:var(--mgt-bw) solid var(--mgt-border);border-radius:var(--mgt-radius);font-family:var(--mgt-font);color:var(--mgt-text);text-align:center}.mg-buy-engagement{display:flex;flex-direction:column;align-items:center;gap:5px}.mg-buy-engagement .icon{font-size:var(--mgt-is)!important;width:var(--mgt-is);height:var(--mgt-is);color:var(--mgt-icon)}.mg-buy-engagement strong,.mg-buy-engagement a{font-size:var(--mgt-ts);line-height:1.3;font-weight:var(--mgt-weight);color:var(--mgt-text)}.mg-buy-engagement small{font-size:var(--mgt-ds);line-height:1.4}@media(max-width:749px){.mg-buy-reassurance{gap:var(--mgt-gap-m);padding:var(--mgt-padding-m)}.mg-buy-engagement .icon{font-size:var(--mgt-is-m)!important;width:var(--mgt-is-m);height:var(--mgt-is-m)}.mg-buy-engagement strong,.mg-buy-engagement a{font-size:var(--mgt-ts-m)}.mg-buy-engagement small{font-size:var(--mgt-ds-m)}}

.mg-buy-reassurance-wrap{width:100%;min-width:0}
.mg-buy-copy{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}
.mg-buy-reassurance--cartouche{width:100%;box-sizing:border-box;gap:0;text-align:left;margin-bottom:0}
.mg-buy-reassurance--cartouche .mg-buy-engagement{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--mgt-inner-gap);padding:0 6px;min-width:0}
.mg-buy-reassurance--cartouche .mg-buy-engagement>span{display:flex;align-items:center;flex-shrink:0}
.mg-buy-reassurance--cartouche .mg-buy-engagement+.mg-buy-engagement{border-left:1px solid var(--mgt-border)}
.mg-buy-reassurance--cartouche .mg-buy-copy{align-items:flex-start;gap:2px}
.mg-buy-reassurance--cartouche .mg-buy-engagement strong,.mg-buy-reassurance--cartouche .mg-buy-engagement a{line-height:1.3;text-decoration:none;margin:0}
.mg-buy-reassurance--cartouche .mg-buy-engagement small{line-height:1.3;margin:0}
.mg-buy-reassurance-note{margin:5px 0 0;text-align:right;line-height:1.4;font-weight:400}
@media(max-width:749px){.mg-buy-reassurance--cartouche{gap:0}.mg-buy-reassurance--cartouche .mg-buy-engagement{padding:0 4px}}
/* END_BLOCK:mg-purchase-reassurance */

/* START_BLOCK:mg-start-gift (INDEX:185) */
.mg-start-gift{display:flex;align-items:center;gap:var(--mg-gift-gap);padding:var(--mg-gift-padding);border:var(--mg-gift-bw) solid var(--mg-gift-border);border-radius:var(--mg-gift-radius);background:var(--mg-gift-bg);font-family:var(--mg-gift-font);color:var(--mg-gift-text)}.mg-start-gift>span{color:var(--mg-gift-accent)}.mg-start-gift>div{flex:1;display:flex;flex-direction:column;gap:3px}.mg-start-gift strong{font-size:var(--mg-gift-title);font-weight:600}.mg-start-gift span{font-size:var(--mg-gift-size)}.mg-start-gift small{font-size:var(--mg-gift-meta);line-height:1.4}.mg-start-gift b{background:var(--mg-gift-accent);color:var(--mg-gift-offered);padding:2px 7px;border-radius:4px;font-size:var(--mg-gift-label)}.mg-start-gift img{width:var(--mg-gift-thumb);height:var(--mg-gift-thumb);object-fit:contain}.mg-gift-editor{padding:10px;border:1px dashed #e5e2d8;font-size:12px}

.mg-start-gift>span .icon{font-size:var(--mg-gift-icon)!important;width:var(--mg-gift-icon);height:var(--mg-gift-icon)}
.mg-start-gift>div{min-width:0}.mg-start-gift img{flex-shrink:0}
.mg-start-gift--soft>span{align-self:flex-start;padding-top:2px}
.mg-start-gift--soft strong{line-height:1.3}
.mg-start-gift--soft b{background:transparent;color:var(--mg-gift-offered);padding:0;margin-inline-start:4px;font-weight:700}
/* END_BLOCK:mg-start-gift */

/* START_BLOCK:mg-tech-cards (INDEX:186) */
.mg-tech-cards{display:grid;grid-template-columns:repeat(var(--mgt-cols),minmax(0,1fr));gap:var(--mgt-gap);margin:var(--mgt-mt) 0 var(--mgt-mb);font-family:var(--mgt-font);color:var(--mgt-text)}.mg-tech-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;min-width:0;background:var(--mgt-bg);border:var(--mgt-bw) solid var(--mgt-border);border-radius:var(--mgt-radius);padding:var(--mgt-padding);line-height:1.4}.mg-tech-card strong{font-size:var(--mgt-ts);font-weight:var(--mgt-weight)}.mg-tech-description{font-size:var(--mgt-ds)}.mg-tech-icon{color:var(--mgt-icon);display:flex}.mg-tech-icon .icon{font-size:var(--mgt-is)!important;width:var(--mgt-is);height:var(--mgt-is)}.mg-tech-shadow .mg-tech-card{box-shadow:0 4px 14px rgb(37 40 32 / 8%)}.mg-tech-hover .mg-tech-card{transition:transform .18s ease}.mg-tech-hover .mg-tech-card:hover{transform:translateY(-2px)}@media(max-width:749px){.mg-tech-cards{grid-template-columns:repeat(var(--mgt-cols-m),minmax(0,1fr));gap:var(--mgt-gap-m)}.mg-tech-card{padding:var(--mgt-padding-m)}.mg-tech-card strong{font-size:var(--mgt-ts-m)}.mg-tech-description{font-size:var(--mgt-ds-m)}.mg-tech-icon .icon{font-size:var(--mgt-is-m)!important;width:var(--mgt-is-m);height:var(--mgt-is-m)}}@media(prefers-reduced-motion:reduce){.mg-tech-hover .mg-tech-card{transition:none;transform:none!important}}

.mg-tech-cards--soft{background:var(--mgt-bg);border:var(--mgt-bw) solid var(--mgt-border);border-radius:var(--mgt-radius);padding:var(--mgt-padding) 4px}
.mg-tech-cards--soft .mg-tech-card{background:transparent;border:0;border-radius:0;padding:0 var(--mgt-item-padding);gap:var(--mgt-item-gap);box-shadow:none}
.mg-tech-cards--soft .mg-tech-card+.mg-tech-card{border-inline-start:var(--mgt-bw) solid var(--mgt-separator)}
.mg-tech-cards--soft .mg-tech-card strong{line-height:1.35}
@media(max-width:749px){.mg-tech-cards--soft{padding-block:var(--mgt-padding-m)}}
/* END_BLOCK:mg-tech-cards */

/* START_BLOCK:newsletter-signup (INDEX:187) */
shopify-visual-preview-block-list .newsletter-signup[data-visual-preview-mode] {
    width: 300px;
    max-width: 100%;
  }

  .newsletter-signup {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    width: 100%;
  }

  .newsletter-signup__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_BLOCK:newsletter-signup */

/* START_BLOCK:payment-methods (INDEX:188) */
.payment-methods {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--gap-xs);
    margin: var(--margin-top) 0 var(--margin-bottom) 0;
    width: 100%;
    justify-content: var(--alignment-mobile);
  }

  shopify-visual-preview-block-list .payment-methods[data-visual-preview-mode] {
    width: max-content;
  }

  @media (width > 750px) {
    .payment-methods {
      justify-content: var(--alignment);
    }
  }

  /* Largeur = référence (taille inchangée) ; hauteur proportionnelle (ratio 24/38 ≈ 0.63)
     + object-fit: contain pour qu'Amex ne s'étire pas sans déformer son logo interne. */
  .payment-methods svg {
    width: var(--icon-size);
    height: calc(var(--icon-size) * 0.63);
    object-fit: contain;
  }
/* END_BLOCK:payment-methods */

/* START_BLOCK:powered-by-fullstack (INDEX:190) */
.powered-by-fullstack {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    justify-content: var(--alignment-mobile);
  }

  @media (width > 750px) {
    .powered-by-fullstack {
      justify-content: var(--alignment);
    }
  }

  .powered-by-fullstack-minimal {
    color: var(--color-foreground);
    font-size: var(--font-body--size);
    text-decoration: underline;
    transition: var(--animation-link-hover);

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }

  .powered-by-fullstack-badge {
    border: 1px solid lightgray;
    border-radius: 4px;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.5s ease;
    background-color: white;
    position: relative;
    overflow: hidden;
    margin: 2px;
    width: 120px;
  }

  .powered-by-fullstack-badge::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -100%;
    width: 200%;
    height: 200%;
    background: linear-gradient(0deg, transparent, transparent 30%, rgba(255, 255, 255, 0.5));
    transform: rotate(-45deg);
    transition: all 0.5s ease;
    opacity: 0;
  }

  .powered-by-fullstack-badge:hover {
    transform: scale(1.02);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  }

  .powered-by-fullstack-badge:hover::before {
    opacity: 1;
    transform: rotate(-45deg) translateY(150%);
  }
/* END_BLOCK:powered-by-fullstack */

/* START_BLOCK:product-gift-banner (INDEX:193) */
.pgb-wrap {
    position: relative;
    display: flex;
    align-items: stretch;
    background: var(--pgb-block-bg);
    border: 1px solid var(--pgb-border-color);
    border-radius: var(--pgb-block-radius);
    box-shadow: var(--pgb-shadow);
    overflow: hidden;
    margin-top: var(--pgb-margin-top);
    margin-bottom: var(--pgb-margin-bottom);
  }

  .pgb-link {
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: inherit;
  }

  .pgb-link:focus-visible {
    outline: 2px solid var(--pgb-pill-bg);
    outline-offset: 2px;
  }

  /* Disposition "row" (défaut) : icône + "OFFERT" côte à côte, pastille basse.
     Largeur, espacements et taille d'icône sont 100% pilotés par les curseurs
     du personnalisateur (réglages "Pastille « OFFERT »" ci-dessous). */
  .pgb-pill {
    flex-shrink: 0;
    width: var(--pgb-pill-width);
    background: var(--pgb-pill-bg);
    border-radius: var(--pgb-pill-radius) 0 0 var(--pgb-pill-radius);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: var(--pgb-pill-gap);
    padding: var(--pgb-pill-padding-v) var(--pgb-pill-padding-h);
    transition: transform 250ms ease, filter 250ms ease;
  }

  /* Disposition "column" : icône au-dessus du texte (ancien gabarit). */
  .pgb-pill--stacked {
    flex-direction: column;
  }

  .pgb-wrap--hover:hover .pgb-pill {
    transform: scale(1.03);
    filter: brightness(1.06);
  }

  .pgb-pill__icon {
    display: inline-flex;
    color: var(--pgb-pill-icon-color);
  }

  .pgb-pill__icon .icon {
    font-size: var(--pgb-icon-size, 18px) !important;
  }

  .pgb-pill__label {
    font-family: var(--pgb-offert-font, inherit);
    font-size: var(--pgb-offert-size);
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--pgb-pill-text-color);
    text-transform: uppercase;
  }

  .pgb-content {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--pgb-gap-thumb-text);
    padding: var(--pgb-padding);
    min-width: 0;
  }

  .pgb-thumb {
    flex-shrink: 0;
    width: var(--pgb-thumb-size);
    height: var(--pgb-thumb-size);
    border-radius: var(--pgb-thumb-radius);
    border: 1px solid var(--pgb-thumb-border-color);
    overflow: hidden;
    display: inline-flex;
    background: #ffffff;
  }

  .pgb-thumb__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .pgb-text {
    min-width: 0;
  }

  /* Titre réel du produit offert, tronqué proprement sur 2 lignes (…) —
     même approche de troncature que les cartes d'articles / produits du thème. */
  .pgb-title {
    font-family: var(--pgb-title-font, inherit);
    font-size: var(--pgb-title-size);
    font-weight: var(--pgb-title-weight);
    color: var(--pgb-title-color);
    line-height: 1.3;
    margin: 0 0 var(--pgb-gap-title-price) 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .pgb-price-line {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0;
  }

  .pgb-price-compare {
    font-family: var(--pgb-price-font, inherit);
    font-size: var(--pgb-compare-size);
    color: var(--pgb-compare-color);
    text-decoration: line-through;
  }

  .pgb-price-free {
    font-family: var(--pgb-price-font, inherit);
    font-size: var(--pgb-free-size);
    font-weight: var(--pgb-free-weight);
    color: var(--pgb-free-color);
  }

  /* Animation d'apparition au défilement */
  .pgb-wrap--animated {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 500ms ease, transform 500ms ease;
  }

  .pgb-wrap--animated.pgb-is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  @media (prefers-reduced-motion: reduce) {
    .pgb-wrap--animated {
      opacity: 1;
      transform: none;
      transition: none;
    }

    .pgb-pill {
      transition: none;
    }

    .pgb-wrap--hover:hover .pgb-pill {
      transform: none;
    }
  }

  @media (width < 480px) {
    .pgb-pill {
      width: calc(var(--pgb-pill-width) * 0.75);
    }
  }
/* END_BLOCK:product-gift-banner */

/* START_BLOCK:product-inventory (INDEX:194) */
.product-inventory {
    display: block;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .product-inventory[data-visual-preview-mode] {
    width: 150px;
  }

  .product-inventory__status {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    font-size: var(--font-body--size);
  }

  .product-inventory__status--left {
    justify-content: flex-start;
  }

  .product-inventory__status--right {
    justify-content: flex-end;
  }

  .product-inventory__status--center {
    justify-content: center;
  }

  .product-inventory__icon,
  .product-inventory__icon svg {
    width: 15px;
    height: 15px;
  }

  .product-inventory__icon-low {
    color: orange;
  }

  .product-inventory__icon-in_stock {
    color: green;
  }

  .product-inventory__icon-out_of_stock {
    color: red;
  }

  .product-inventory__icon circle:first-of-type {
    opacity: 0.3;
  }
/* END_BLOCK:product-inventory */

/* START_BLOCK:product-mini-card (INDEX:195) */
.product-mini-card {
    display: flex;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    padding: 0;
    overflow: hidden;
    text-decoration: none;
    color: var(--color-foreground);
    font-size: var(--font-body--size);
    transition: transform 0.2s ease-in-out;
    padding: var(--padding-xs);
  }

  .product-mini-card--column {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--gap-sm);
    max-width: 150px;

    .product-mini-card__content {
      text-align: center;

      .price-container {
        text-align: center;
        justify-content: center;
      }
    }
  }

  .product-mini-card--row {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: max-content;
    max-width: 100%;
  }

  .this-pack-contains_product-list .product-mini-card {
    min-width: max-content;
  }

  a.product-mini-card:hover {
    transform: translateY(-2px);
  }

  shopify-visual-preview-block-list .product-mini-card[data-visual-preview-mode] {
    width: 300px;
  }

  .product-mini-card__image {
    border-radius: calc(var(--card-border-radius) - var(--padding-xs));
    object-fit: cover;
    height: var(--height);
    width: var(--width);
  }

  .product-mini-card__content {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
    padding: 0 var(--padding-xs);
  }

  .product-mini-card__title {
    font-weight: 500;
  }
.mg-product-expanded {max-width:none;width:100%;align-items:stretch;gap:20px}
.mg-product-expanded .product-mini-card__image{width:100%;height:var(--mg-image-height-m);object-fit:contain;background:#fff}
.mg-product-expanded .product-mini-card__content{text-align:left;padding:0;gap:16px}
.mg-product-expanded .product-mini-card__content .price-container{justify-content:flex-start;text-align:left}
.mg-product-expanded .product-mini-card__title{font-family:var(--font-heading--family);font-size:24px;font-weight:400;line-height:1.25}
.mg-product-feature{font-size:16px;line-height:1.5}
@media(min-width:750px){.mg-product-expanded .product-mini-card__image{height:var(--mg-image-height)}}
/* END_BLOCK:product-mini-card */

/* START_BLOCK:product-photo-reviews-carousel (INDEX:196) */
.pap-track::-webkit-scrollbar {display:none}
  .pap-wrap {
    max-width: 100%;
  }

  .pap-title {
    margin: 0 0 12px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--pap-title-color, var(--color-foreground));
  }

  .pap-scroller {
    position: relative;
  }

  .pap-track {
    scrollbar-width: none;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }

  .pap-track:focus-visible {
    outline: 2px solid var(--pap-title-color, currentColor);
    outline-offset: 4px;
  }

  .pap-card {
    position: relative;
    scroll-snap-align: start;
    flex: 0 0 var(--pap-card-width, 220px);
    max-width: var(--pap-card-width, 220px);
    background: var(--pap-card-bg, #f7f6f3);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: var(--pap-card-radius, 8px);
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-sizing: border-box;
  }

  .pap-card__photo {
    display: block;
    width: 100%;
    aspect-ratio: var(--pap-photo-ratio, 4 / 3);
    border-radius: calc(var(--pap-card-radius, 8px) - 4px);
    overflow: hidden;
    background: rgba(0, 0, 0, 0.05);
  }

  /* Avis sans photo (CORRECTIF — pool global) : la carte s'étire à la
     hauteur de ses voisines (flex par défaut sur .pap-track), un peu de
     respiration en haut évite un rendu trop collé aux étoiles. */
  .pap-card--no-photo {
    padding-top: 18px;
  }

  .pap-card__photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .pap-card__stars {
    font-size: var(--pap-star-size, 13px);
    gap: var(--pap-star-gap, 2px);
  }

  .pap-card__stars .ac-star {
    transform: translate(var(--rating-star-offset-x, 0px), var(--rating-star-offset-y, 0px));
  }

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

  .pap-card__text {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--color-foreground);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .pap-card__name {
    margin-top: auto;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-foreground);
    opacity: 0.75;
  }

  .pap-fade {
    position: absolute;
    top: 0;
    bottom: 4px;
    width: 28px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 150ms ease;
    z-index: 1;
  }

  .pap-fade--start {
    left: 0;
    background: linear-gradient(to right, var(--color-background, #fff), transparent);
  }

  .pap-fade--end {
    right: 0;
    background: linear-gradient(to left, var(--color-background, #fff), transparent);
  }

  .pap-scroller[data-pap-fade-start="true"] .pap-fade--start,
  .pap-scroller[data-pap-fade-end="true"] .pap-fade--end {
    opacity: 1;
  }

  .pap-progress {
    position: relative;
    height: 3px;
    margin-top: 8px;
    background: rgba(0, 0, 0, 0.08);
    border-radius: 3px;
    overflow: hidden;
  }

  .pap-progress__fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: var(--pap-title-color, #777d43);
    border-radius: 3px;
  }

  @media (prefers-reduced-motion: reduce) {
    .pap-track {
      scroll-behavior: auto;
    }
  }
/* END_BLOCK:product-photo-reviews-carousel */

/* START_BLOCK:product-price (INDEX:197) */
product-price {
    display: flex;
    flex-direction: column;
    min-height: calc(2 * var(--padding-xxs) + var(--font-body--size-small) + var(--badge-primary-border-width) * 2);
    justify-content: center;
  }
/* END_BLOCK:product-price */

/* START_BLOCK:product-quantity-promo (INDEX:198) */
.qty-promo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: var(--qty-promo-margin-top) 0 var(--qty-promo-margin-bottom);
    padding: 10px 14px;
    background: var(--qty-promo-bg);
    border: 1px solid var(--qty-promo-border);
    border-radius: 8px;
  }

  @media (prefers-reduced-motion: no-preference) {
    .qty-promo {
      animation: qty-promo-in 0.35s ease-out;
    }
  }

  @keyframes qty-promo-in {
    from {
      opacity: 0;
      transform: translateY(-4px);
    }

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

  .qty-promo__icon {
    flex-shrink: 0;
    display: inline-flex;
    color: var(--qty-promo-text);
    font-size: 20px;
  }

  .qty-promo__icon .icon {
    font-size: 20px;
  }

  .qty-promo__text {
    margin: 0;
    color: var(--qty-promo-text);
    font-size: var(--qty-promo-font-size);
    font-weight: 600;
    line-height: 1.3;
  }
/* END_BLOCK:product-quantity-promo */

/* START_BLOCK:product-selection-note (INDEX:199) */
.psn-note {
    line-height: 1.4;
    font-style: italic;
  }
/* END_BLOCK:product-selection-note */

/* START_BLOCK:rating-stars (INDEX:201) */
.rating-stars__link {
    text-decoration: none;
    color: inherit;
  }

  .rating--empty .rating__count--empty {
    color: var(--rating-text-color, var(--rating-score-color, #252820));
    opacity: 0.75;
  }

  /* Option "Fond translucide" (voir réglage add_contrast_backdrop) : pastille
     semi-transparente derrière le groupe étoiles + note, utile quand ce bloc
     est posé sur une image ou un fond peu contrasté (ex. bannière hero en
     glassmorphism) — la couleur des étoiles elle-même (--rating-star-color)
     ne change JAMAIS, seul un repli de lisibilité est ajouté derrière. Opt-in
     uniquement : n'affecte aucune instance existante tant qu'il n'est pas
     activé explicitement sur ce bloc précis. */
  .rating-stars--backdrop {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.15);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border-radius: 999px;
    padding: 6px 14px;
  }
/* END_BLOCK:rating-stars */

/* START_BLOCK:review (INDEX:202) */
.review {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .review[data-visual-preview-mode] {
    width: 400px;
  }
/* END_BLOCK:review */

/* START_BLOCK:reviews-badge (INDEX:203) */
.reviews-badge {
    width: fit-content;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .reviews-badge[data-visual-preview-mode] {
    max-width: 400px;
  }

  .reviews-badge a {
    text-decoration: none;
    color: inherit;
  }

  .reviews-badge_badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--badge-gap, var(--gap-sm));
    background-color: transparent;
  }

  .reviews-badge_badge--wrapped {
    border-radius: var(--badge-border-radius);
    padding: var(--badge-padding-v, var(--padding-sm)) var(--badge-padding-h, var(--padding-md));
    background-color: var(--color-background);
    height: auto;
    min-height: 40px;
  }

  .reviews-badge_stars:has(.icon) {
    height: auto;
    display: flex;
    align-items: center;
    gap: 3px;
  }

  .reviews-badge_stars:has(.reviews-badge_stars-manual) {
    height: auto;
    display: flex;
    align-items: center;
  }

  .reviews-badge_stars svg {
    width: calc(var(--badge-star-size, 20px) * 4.5);
  }

  .reviews-badge_stars .icon {
    font-size: var(--badge-star-size, 20px) !important;
    font-variation-settings: 'FILL' 0, 'wght' var(--icon-weight), 'GRAD' 0, 'opsz' 20;
  }

  .reviews-badge_stars .icon--star,
  .reviews-badge_stars .icon--star-filled {
    color: var(--rating-star-color, var(--color-stars-icons));
  }

  .reviews-badge_stars .icon--google {
    color: var(--badge-star-filled, #00B67A);
  }

  .reviews-badge_stars .icon--star-filled {
    font-variation-settings: 'FILL' 1, 'wght' var(--icon-weight), 'GRAD' 0, 'opsz' 20;
  }

  /* Habillage "carré" (CORRECTIF #6 bis) : uniquement pour le style
     "Personnalisé" du bloc — le style "Google" garde ses icônes rondes
     natives (.icon--google exclu), sinon on lui écraserait sa propre
     charte visuelle. */
  .reviews-badge_stars .icon--star:not(.icon--google),
  .reviews-badge_stars .icon--star-filled:not(.icon--google) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--badge-star-size, 20px);
    height: var(--badge-star-size, 20px);
    border-radius: var(--badge-star-shape, var(--rating-star-tile-radius, 18%));
    background-color: var(--badge-star-color-empty, var(--rating-star-color-empty, #DCDCE6));
    color: var(--review-glyph-color, #FFFFFF);
    font-size: calc(var(--badge-star-size, 20px) * 0.65) !important;
    transform: translate(var(--badge-star-offset-x, 0px), var(--badge-star-offset-y, 0px));
  }

  .reviews-badge_stars .icon--star-filled:not(.icon--google),
  .reviews-badge_stars .icon--star_half:not(.icon--google) {
    background-color: var(--review-tile-filled, var(--badge-star-color-filled, var(--rating-star-color, var(--color-stars-icons))));
  }

  /* Note manuelle décimale (style "Personnalisé" uniquement) : deux rangées
     de tuiles superposées, la rangée "remplie" étant recadrée au pourcentage
     exact de la note — même technique que .ac-rating__stars dans la section
     "Avis clients", pour un rendu identique quelle que soit la valeur (ex.
     4,8/5), y compris entre deux paliers de demi-étoile. */
  .reviews-badge_stars-manual {
    position: relative;
    display: inline-block;
    font-size: var(--badge-star-size, 20px);
    line-height: 1;
  }

  .reviews-badge_stars-manual-empty,
  .reviews-badge_stars-manual-filled {
    display: flex;
    gap: 3px;
  }

  .reviews-badge_star-tile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    flex: none;
    border-radius: var(--badge-star-shape, var(--rating-star-tile-radius, 18%));
    transform: translate(var(--badge-star-offset-x, 0px), var(--badge-star-offset-y, 0px));
    color: var(--review-glyph-color, #FFFFFF);
    font-size: 0.55em;
    line-height: 1;
  }

  .reviews-badge_stars-manual-empty .reviews-badge_star-tile {
    background-color: var(--badge-star-color-empty, var(--rating-star-color-empty, #DCDCE6));
  }

  .reviews-badge_stars-manual-filled {
    position: absolute;
    top: 0;
    left: 0;
    width: var(--badge-fill);
    overflow: hidden;
    white-space: nowrap;
  }

  .reviews-badge_stars-manual-filled .reviews-badge_star-tile {
    background-color: var(--review-tile-filled, var(--badge-star-color-filled, var(--rating-star-color, #00B67A)));
  }

  .reviews-badge_logo img,
  .reviews-badge_logo svg {
    width: 100%;
    max-height: 20px;
  }

  .reviews-badge_logo .trustpilot-logo {
    max-width: 80px;
  }

  .reviews-badge_stars svg,
  .reviews-badge_logo svg {
    display: flex;
  }

  .reviews-badge_logo .trustpilot-logo {
    margin-top: -5px;
  }

  .reviews-badge_text-1,
  .reviews-badge_text-2,
  .reviews-badge_manual-number {
    font-size: var(--badge-text-size, var(--font-body--size));
  }

  .reviews-badge_manual-number {
    font-weight: 600;
    color: var(--badge-manual-number-color, inherit);
  }

  .reviews-badge_text-1 {
    margin-right: var(--badge-text-1-offset, 0px);
  }

  /* CORRECTIF : couleur du texte après les étoiles (ex. "+ de 2100 Avis
     vérifiés") réglable indépendamment — auparavant hérité sans réglage
     dédié (contrairement à la note manuelle, qui a déjà sa propre couleur).
     Repli sur "inherit" si le champ couleur est laissé vide, comportement
     identique à avant. */
  .reviews-badge_text-2 {
    margin-left: var(--badge-text-2-offset, 0px);
    color: var(--badge-text-2-color, inherit);
  }

  .reviews-badge_text-1 p,
  .reviews-badge_text-2 p {
    margin: 0;
  }

  @media screen and (max-width: 768px) {
    .reviews-badge_badge {
      gap: var(--badge-gap, 7px);
    }

    .reviews-badge_badge--wrapped {
      padding: var(--badge-padding-v, 10px) var(--badge-padding-h, 15px);
    }

    .reviews-badge_text-1,
    .reviews-badge_text-2 {
      font-size: calc(var(--badge-text-size, var(--font-body--size-small)) * 0.9);
    }

    .reviews-badge_logo img,
    .reviews-badge_logo svg {
      width: 100%;
      max-width: 80px;
    }
  }

  @media screen and (max-width: 390px) {
    .reviews-badge_text-1 {
      display: none;
    }
  }
/* END_BLOCK:reviews-badge */

/* START_BLOCK:separator (INDEX:204) */
.separator-block {
    width: 100%;
  }

  shopify-visual-preview-block-list .separator-block[data-visual-preview-mode] {
    width: 150px;
  }
/* END_BLOCK:separator */

/* START_BLOCK:slider (INDEX:205) */
.slider-block {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow: hidden;
    width: 100%;
  }

  shopify-visual-preview-block-list .slider-block[data-visual-preview-mode] {
    width: 400px;
  }

  .slider-block--with-pagination {
    padding-bottom: var(--margin-lg);
  }
/* END_BLOCK:slider */

/* START_BLOCK:social-icons (INDEX:206) */
.social-icons {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: flex;
    justify-content: var(--alignment-mobile);
    gap: var(--gap-md);
    align-items: center;
    width: 100%;
  }

  @media (width > 750px) {
    .social-icons {
      justify-content: var(--alignment);
    }
  }

  shopify-visual-preview-block-list .social-icons[data-visual-preview-mode] {
    width: max-content;
  }

  .social-icon__icon {
    width: var(--icon-size);
    height: var(--icon-size);
    fill: var(--icon-color);
    transition: var(--animation-link-hover);
  }

  .social-icon__icon:hover {
    opacity: var(--opacity-link-hover);
  }
/* END_BLOCK:social-icons */

/* START_BLOCK:stories (INDEX:207) */
.stories {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: block;
  }

  .stories__container {
    display: flex;
    flex-direction: row;
    justify-content: var(--alignment-mobile);
    gap: 20px;
    overflow-x: auto;
    scrollbar-width: none;
    padding: 6px;
  }

  @media (width > 750px) {
    .stories__container {
      justify-content: var(--alignment);
    }
  }

  .stories__modal {
    padding: 0;
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    background-color: transparent;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }

  .stories__modal:focus-visible,
  .stories__modal:focus {
    outline: none;
  }

  .stories__modal::backdrop {
    transition: backdrop-filter var(--animation-speed-medium) var(--animation-easing);
    -webkit-backdrop-filter: brightness(1);
    backdrop-filter: brightness(1);
    background: rgba(var(--color-shadow));
  }

  .stories__modal[open]::backdrop {
    animation: backdropFilter var(--animation-speed-medium) var(--animation-easing) forwards;
    transition: opacity var(--animation-speed-medium) var(--animation-easing);
  }

  .stories__modal[open] {
    display: flex;
    animation: modalSlideInTop var(--animation-speed-medium) var(--animation-easing) forwards;
  }

  .stories__modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #0000004d;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
    margin-bottom: 1em;
    pointer-events: all;
    backdrop-filter: blur(6.5px);
    z-index: 40;
    position: absolute;
    top: 2rem;
    right: 1rem;

    .icon {
      color: var(--color-background);
    }
  }

  @media (width <= 750px) {
    .stories__modal {
      padding: 40px 20px 0;
    }
  }

  .stories__slider {
    margin: 0 calc(40px + 2rem);
    height: 90vh;
    max-width: 100%;
    aspect-ratio: 3 / 5;

    & > .splide__track > .splide__list > .splide__slide {
      overflow: hidden;
    }

    & > .splide__track {
      overflow: hidden;
      height: 100%;
      border-radius: var(--card-border-radius);
    }

    & .stories__slider-list > .splide__slide:not(.is-active) {
      overflow: hidden;
    }

    & > .splide__arrows > .splide__arrow--prev {
      left: calc(-40px - 1rem);
    }

    & > .splide__arrows > .splide__arrow--next {
      right: calc(-40px - 1rem);
    }

    .splide__arrow:disabled {
      opacity: 0.5;
    }
  }

  @media (width <= 750px) {
    .stories__slider {
      margin: 0;
      height: calc(100vh - 60px);
    }
  }
/* END_BLOCK:stories */

/* START_BLOCK:tabs (INDEX:208) */
.tabs {
    width: 100%;
  }

  shopify-visual-preview-block-list .tabs[data-visual-preview-mode] {
    width: 400px;
  }

  .tabs__navigation {
    display: flex;
    justify-content: var(--alignment-mobile);
    max-width: 100%;
  }

  .tabs--wrapped .tabs__navigation-inner {
    flex-wrap: wrap;
  }

  .tabs__navigation-inner {
    display: flex;
    gap: var(--gap-sm);
    overflow-x: auto;
    scrollbar-width: thin;
    padding-bottom: var(--padding-sm);
  }

  .tabs__panel {
    margin-top: var(--margin-md);
    width: 100%;
  }

  @media (width > 750px) {
    .tabs__navigation {
      justify-content: var(--alignment);
    }

    .tabs__navigation-inner {
      padding-bottom: var(--padding-xxs);
    }
  }
/* END_BLOCK:tabs */

/* START_BLOCK:text (INDEX:209) */
.text-block {
    text-align: var(--text-align-mobile);
    align-content: center;
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    overflow-wrap: break-word;
    word-break: break-word;
  }

  @media (width > 750px) {
    .text-block {
      text-align: var(--text-align);
    }
  }

  shopify-visual-preview-block-list .text-block[data-visual-preview-mode] {
    max-width: 400px;
  }

  .text-block.paragraph > *,
  .see-more__content > * {
    font-weight: var(--font-weight);
    font-size: var(--font-size);
  }

  .text-block a {
    color: inherit;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  see-more-component {
    display: block;
    margin-block: 0 !important;
  }

  .see-more__content {
    position: relative;
  }

  .see-more__content > * {
    margin-block: var(--margin-md) 0;
  }

  .see-more__content {
    /* Solution principale avec mask CSS */
    mask: linear-gradient(to bottom, black calc(100% - 40px), transparent 100%);
    -webkit-mask: linear-gradient(to bottom, black calc(100% - 40px), transparent 100%);
    transition: mask 0.3s ease, -webkit-mask 0.3s ease;
  }

  /* Fallback pour les navigateurs qui ne supportent pas mask */
  @supports not (mask: linear-gradient(black, transparent)) {
    .see-more__content::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 40px;
      background: linear-gradient(transparent, color-mix(in srgb, var(--color-background) 90%, transparent));
      opacity: 1;
      transition: opacity 0.3s ease;
      pointer-events: none;
    }

    .see-more__content--expanded::after,
    .see-more__content--no-overflow::after {
      opacity: 0;
    }
  }

  .see-more__content--expanded,
  .see-more__content--no-overflow {
    mask: none;
    -webkit-mask: none;
  }

  .see-more__toggle {
    background: none;
    border: none;
    color: var(--color-foreground);
    cursor: pointer;
    font-size: 0.9em;
    font-weight: 500;
    margin-top: 0.5rem;
    padding: 0.25rem 0;
    text-decoration: underline;
    transition: var(--animation-link-hover);
  }

  .see-more__toggle:hover {
    opacity: var(--opacity-link-hover);
  }

  .see-more__toggle-text {
    display: inline-block;
    text-decoration: underline;
  }

  .text-block--truncated {
    display: -webkit-box;
    -webkit-line-clamp: var(--truncate-length);
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /*
    Refonte visuelle du bloc "Image avec texte" en bas de page collection
    (brief "Refonte visuelle du guide complet"). Reprend, sans dupliquer,
    le même système de titres H2 à bordure olive déjà utilisé pour le
    corps des articles de blog (voir sections/article-body-premium.liquid,
    classe .article-rte, variables --arte-accent / --arte-border-w).

    Tout est scoped sous .collection-seo-content (réglage "Classe
    additionnelle" du bloc de texte concerné, dans templates/collection.json)
    pour ne modifier AUCUN autre bloc de texte du site.
  */
  .text-block.collection-seo-content h2 {
    margin: 32px 0 12px;
    font-family: var(--font-heading--family, inherit);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    color: #1a1a1a;
    border-left: 3px solid #777d43;
    padding-left: 12px;
  }

  .text-block.collection-seo-content h2:first-child {
    margin-top: 0;
  }

  .text-block.collection-seo-content h3 {
    margin: 26px 0 10px;
    font-family: var(--font-heading--family, inherit);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    color: #1a1a1a;
    border-left: 3px solid #777d43;
    padding-left: 12px;
  }

  .text-block.collection-seo-content p {
    margin: 0 0 16px;
    line-height: 1.7;
  }

  .text-block.collection-seo-content p:last-child {
    margin-bottom: 0;
  }

  /*
    Distinction vrai lien / simple mot-clé en gras : un <strong> perd son
    gras générique (poids normal), qu'il entoure un lien ou non — un <a>,
    lui, redevient systématiquement visible (gras + souligné + olive),
    même s'il est imbriqué dans un <strong>. Aucune modification du HTML
    de la description n'est nécessaire : la distinction se fait ici, par
    CSS, uniquement à partir de la vraie sémantique lien vs. emphase.
  */
  .text-block.collection-seo-content strong,
  .text-block.collection-seo-content b {
    font-weight: 400;
  }

  .text-block.collection-seo-content a {
    font-weight: 600;
    color: #777d43;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .text-block.collection-seo-content a:hover {
    opacity: var(--opacity-link-hover, 0.75);
  }

  .text-block.collection-seo-content a:focus-visible {
    outline: 2px solid #777d43;
    outline-offset: 2px;
    border-radius: 2px;
  }

  /*
    Mise en avant façon citation pour UNE phrase clé par section (chiffre
    marquant, phrase de synthèse) — à poser manuellement dans la
    description de collection : <blockquote class="collection-seo-callout">…</blockquote>
  */
  .text-block.collection-seo-content blockquote.collection-seo-callout {
    margin: 20px 0;
    padding: 2px 0 2px 16px;
    border-left: 3px solid #777d43;
    font-style: normal;
    font-weight: 500;
    line-height: 1.6;
    color: #1a1a1a;
  }
div.text-block.mg-text-custom > *, .text-block.mg-text-custom .see-more__content > * {font-family:var(--mg-font);font-size:var(--mg-size-m);line-height:var(--mg-line);letter-spacing:var(--mg-tracking);color:var(--mg-color);font-weight:var(--font-weight)}
@media(min-width:750px){div.text-block.mg-text-custom > *, .text-block.mg-text-custom .see-more__content > *{font-size:var(--mg-size)}}
/* END_BLOCK:text */

/* START_BLOCK:this-pack-contains (INDEX:210) */
.this-pack-contains {
    display: flex;
    flex-direction: column;
    font-size: var(--font-body--size);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  shopify-visual-preview-block-list .this-pack-contains[data-visual-preview-mode] {
    width: 450px;
  }

  .this-pack-contains__title {
    font-weight: 500;
  }

  .this-pack-contains_description {
    margin-top: var(--margin-xs);
  }

  .this-pack-contains_product-list {
    display: flex;
    gap: var(--gap-sm);
    width: 100%;
    overflow-y: auto;
    padding: var(--padding-sm) 0;
  }
/* END_BLOCK:this-pack-contains */

/* START_BLOCK:video (INDEX:211) */
deferred-media {
    width: var(--size-style-width-mobile, var(--size-style-width));
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);

    @media screen and (width >750px) {
      width: var(--size-style-width);
    }
  }

  .video-placeholder-wrapper {
    position: relative;
    border-radius: var(--card-border-radius);
    overflow: hidden;
    width: var(--size-style-width-mobile, var(--size-style-width));
    aspect-ratio: var(--ratio);
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);

    @media screen and (width >750px) {
      width: var(--size-style-width);
    }
  }

  .video-placeholder-wrapper__poster-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: transparent;
    border: none;
    transition: var(--animation-link-hover);

    .icon--play_circle {
      font-size: 60px !important;
      color: var(--color-primary-button-text);
    }
  }
/* END_BLOCK:video */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:accordion (INDEX:214) */
accordion-row:has(.accordion__heading-title:empty),
  accordion-row:has(.accordion__content:empty) {
    display: none;
  }

  .accordion__header {
    display: flex;
    align-items: center;
    cursor: pointer;
    list-style: none;
    transition: margin 150ms ease-out;
    padding: var(--margin-sm) 0;

    /* Masquer la flèche par défaut sur tous les navigateurs */
    &::-webkit-details-marker {
      display: none;
    }

    &::marker {
      display: none;
    }

    /* Fix spécifique pour iOS Safari */
    &::-webkit-details-marker,
    &::before {
      display: none !important;
    }
  }

  .accordion__header .icon,
  .accordion__header .accordion__icons-add {
    margin-inline-start: auto;
    transition: transform var(--animation-speed-fast) var(--animation-easing);
  }

  .accordion[open] .accordion__header .icon--keyboard_arrow_down {
    transform: rotate(180deg);
  }

  .accordion[open] .accordion__header .icon--add {
    transform: rotate(90deg);
  }

  .accordion:not([open]) .accordion__header .icon--remove,
  .accordion[open] .accordion__header .icon--add {
    display: none;
  }

  .accordion[open] .accordion__header .icon--remove,
  .accordion:not([open]) .accordion__header .icon--add {
    display: block;
  }

  .accordion__heading {
    font-size: var(--font-body--size-emphasized);
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
  }

  .accordion__heading .icon {
    font-size: 20px !important;
  }

  .accordion__content {
    padding: 0 0 var(--margin-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }
/* END_SNIPPET:accordion */

/* START_SNIPPET:add-to-wishlist-button (INDEX:215) */
.product-quantity-selector-block[data-visual-preview-mode] {
    width: 100px;
  }

  .add-to-wishlist-button__icon {
    font-variation-settings: 'FILL' 0, 'wght' var(--icon-weight), 'GRAD' 0, 'opsz' 24;
  }

  .add-to-wishlist-button__icon--filled {
    font-variation-settings: 'FILL' 1, 'wght' var(--icon-weight), 'GRAD' 0, 'opsz' 24;
  }
/* END_SNIPPET:add-to-wishlist-button */

/* START_SNIPPET:article-card (INDEX:219) */
.article-card {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: 100%;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.2s ease-in-out;
    color: var(--color-foreground);
  }

  .article-card[data-visual-preview-mode] {
    max-width: 280px;
  }

  @media (width > 750px) {
    .article-card:hover {
      transform: translateY(-2px);
    }
  }
/* END_SNIPPET:article-card */

/* START_SNIPPET:cart-icon (INDEX:222) */
.header__icon-cart {
    position: relative;
    cursor: pointer;
  }
/* END_SNIPPET:cart-icon */

/* START_SNIPPET:checkbox (INDEX:224) */
.checkbox {
    z-index: 0;
    position: relative;
    display: block;
    line-height: var(--checkbox-size);
  }

  .checkbox > input {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    z-index: -1;
    position: absolute;
    left: -8px;
    top: -8px;
    display: block;
    margin: 0;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    box-shadow: none;
    outline: none;
    opacity: 0;
    transform: scale(1);
    pointer-events: none;
    transition: opacity 0.3s, transform 0.2s;
  }

  .checkbox > span {
    display: flex;
    align-items: center;
    width: 100%;
    cursor: pointer;
    font-size: var(--font-body--size-emphasized);
  }

  .checkbox__additionnal-label-content {
    margin-right: var(--margin-sm);
  }

  .checkbox > span::before {
    content: '';
    display: inline-block;
    box-sizing: border-box;
    margin-right: var(--margin-sm);
    border: var(--inputs-border-width) solid var(--color-input-text);
    border-radius: var(--checkbox-border-radius);
    min-width: var(--checkbox-size);
    width: var(--checkbox-size);
    height: var(--checkbox-size);
    vertical-align: top;
    transition: border-color 0.2s, background-color 0.2s;
    background-color: var(--color-input-background);
  }

  .checkbox > span:empty::before {
    margin-right: 0;
  }

  .checkbox > span::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 1px;
    width: 0.6rem;
    height: 0.3rem;
    border: solid 1.5px transparent;
    border-right: none;
    border-top: none;
    transform: translate(0.22rem, 0.32rem) rotate(-45deg);
  }

  .checkbox > input:checked + span::before,
  .checkbox > input:indeterminate + span::before {
    border-color: var(--color-input-text);
    background-color: var(--color-input-text);
  }

  .checkbox > input:checked + span::after,
  .checkbox > input:indeterminate + span::after {
    border-color: var(--color-input-background);
  }

  .checkbox > input:indeterminate + span::after {
    border-left: none;
    transform: translate(0.25rem, 0.1875rem);
  }

  .checkbox > input:focus {
    opacity: 0.12;
  }

  .checkbox > input:disabled {
    opacity: 0;
  }

  .checkbox > input:disabled + span {
    color: var(--color-input-text);
    cursor: initial;
    opacity: 0.5;
  }

  .checkbox > input:disabled + span::before {
    border-color: currentColor;
    cursor: not-allowed;
  }

  .checkbox > input:checked:disabled + span::before,
  .checkbox > input:indeterminate:disabled + span::before {
    border-color: transparent;
    background-color: currentColor;
  }

  .checkbox > input:checked:disabled + span::after {
    border-color: var(--color-input-background);
    cursor: not-allowed;
  }
/* END_SNIPPET:checkbox */

/* START_SNIPPET:collection-card (INDEX:225) */
.collection-card {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: 100%;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.2s ease-in-out;
    position: relative;
    cursor: pointer;
    color: var(--color-foreground);
  }

  .collection-card[data-visual-preview-mode] {
    max-width: 280px;
  }

  @media (width > 750px) {
    .collection-card:hover {
      transform: translateY(-2px);
    }
  }
/* END_SNIPPET:collection-card */

/* START_SNIPPET:compat-explainer (INDEX:227) */
.compat-explainer {
    max-width: 900px;
    margin: 0 auto;
  }

  .compat-explainer__header {
    text-align: center;
    margin-bottom: var(--margin-lg, 24px);
  }

  .compat-explainer__title {
    margin: 0 0 var(--margin-xs, 8px);
    font-size: var(--font-h3--size, 1.75rem);
    font-family: var(--font-h3--family);
    font-weight: var(--font-h3--weight);
    color: var(--color-foreground);
  }

  .compat-explainer__subtitle {
    margin: 0 auto;
    max-width: 560px;
    font-size: var(--font-body--size, 1rem);
    line-height: 1.5;
    color: var(--color-foreground);
    opacity: 0.75;
  }

  .compat-explainer__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gap-md, 16px);
  }

  @media (width > 750px) {
    .compat-explainer__cards {
      grid-template-columns: 1fr 1fr;
    }
  }

  .compat-explainer__card {
    border: 1px solid var(--color-border, #e5e3dc);
    border-radius: var(--card-border-radius, 8px);
    padding: var(--padding-lg, 24px);
    background: var(--color-background, #ffffff);
  }

  .compat-explainer__badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border: 1px solid #777d43;
    border-radius: 8px;
    color: #777d43;
    font-size: var(--font-body--size-small, 0.8rem);
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    margin-bottom: var(--margin-sm, 12px);
  }

  .compat-explainer__card-title {
    margin: 0 0 var(--margin-xs, 8px);
    font-size: var(--font-h5--size, 1.25rem);
    font-family: var(--font-h5--family);
    font-weight: var(--font-h5--weight);
    color: var(--color-foreground);
  }

  .compat-explainer__card-text {
    margin: 0;
    font-size: var(--font-body--size, 1rem);
    line-height: 1.6;
    color: var(--color-foreground);
    opacity: 0.85;
  }
/* END_SNIPPET:compat-explainer */

/* START_SNIPPET:discount-badge (INDEX:230) */
.discount-badge[hidden]{display:none!important}
.mg-sale-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-variant-numeric:tabular-nums}
.mg-sale-line s{font-size:.85em;font-weight:400;color:#66695e;white-space:nowrap}
.mg-sale-line strong{white-space:nowrap}
.mg-sale-line .discount-badge{font-size:12px}
.price-container .discount-badge{flex:none}

  .discount-badge {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    padding: 4px 10px;
    border-radius: var(--discount-badge-radius, 6px);
    background: var(--discount-badge-bg, #454d30);
    color: var(--discount-badge-text-color, #f8f6f0);
    white-space: nowrap;
  }
/* END_SNIPPET:discount-badge */

/* START_SNIPPET:dropdown-localization (INDEX:231) */
dropdown-component .dropdown-localization__toggle {
    gap: 3px;
    font-size: var(--font-body--size-emphasized);

    .icon-flag {
      width: 14px;
      height: 14px;
      clip-path: circle(50%);
      background-position: center;
      background-size: cover;
      margin-inline-end: 4px;
      position: relative;
    }
  }

  dropdown-component .dropdown-localization-content {
    min-width: 240px;
    padding: var(--padding-sm);
  }

  @media (width <= 1000px) {
    dropdown-component .dropdown-localization__toggle {
      width: 100%;
      padding: var(--padding-sm) var(--padding-xs);
    }

    dropdown-component .dropdown-localization-content {
      position: fixed;
      top: auto;
      bottom: 0;
      left: 0;
      width: 100%;
      min-width: 100%;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }
  }
/* END_SNIPPET:dropdown-localization */

/* START_SNIPPET:filter-list (INDEX:233) */
.filter-list {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .filter-list__swatch {
    background: var(--swatch-background);
    width: 16px;
    height: 16px;
    display: block;
    border-radius: 50%;
  }
/* END_SNIPPET:filter-list */

/* START_SNIPPET:filter-price-range (INDEX:234) */
.filter-price-range {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--gap-sm);
  }

  .filter-price-range__field {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
  }

  .filter-price-range__field .textfield input {
    width: 100px;
    min-width: 100px;
  }
/* END_SNIPPET:filter-price-range */

/* START_SNIPPET:filters-inline (INDEX:235) */
.filters__container {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
  }

  .filters__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--gap-sm);
  }

  .filter-dropdown-toggle {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .filter-dropdown-toggle__label {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .filter-count {
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-text);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    font-size: var(--font-body--size-small);
  }

  dropdown-component .filter-dropdown-content {
    min-width: fit-content;
    padding: var(--padding-md);
  }

  .filter-clear-button {
    margin-top: var(--margin-md);
  }

  /* Pills olive (brief "Réorganisation collection Accessoires" — barre de
     filtres cohérente avec le design system : boutons/pills olive, coins
     arrondis 4-8px, pas d'ovale). Ne recode aucun filtrage : ceci ne fait
     que styler le déclencheur du système de filtres natif Shopify déjà en
     place (dropdown-component/filter-dropdown-toggle). État actif reprend
     le même attribut data-open déjà utilisé pour la flèche du dropdown
     dans assets/base.css (dropdown-component[data-open='true']), pour
     rester cohérent avec ce pattern existant plutôt que d'en ajouter un
     nouveau. */
  .filter-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: var(--padding-xxs, 6px) var(--padding-sm, 12px);
    border: 1px solid #777d43;
    border-radius: 8px;
    background: transparent;
    color: var(--color-foreground);
    transition: background-color var(--animation-speed-medium, 0.15s) var(--animation-easing, ease-in-out),
      color var(--animation-speed-medium, 0.15s) var(--animation-easing, ease-in-out);
  }

  .filter-dropdown-toggle:hover,
  dropdown-component[data-open='true'] .filter-dropdown-toggle {
    background-color: #777d43;
    color: #ffffff;
  }

  @media (prefers-reduced-motion: reduce) {
    .filter-dropdown-toggle {
      transition: none;
    }
  }
/* END_SNIPPET:filters-inline */

/* START_SNIPPET:filters-modal (INDEX:236) */
.side-menu__toggle-link {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    background-color: transparent;
    color: var(--color-foreground);
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
  }

  .filters-side-panel {
    overflow-y: auto;
    height: 100%;
    padding: 20px;
  }
/* END_SNIPPET:filters-modal */

/* START_SNIPPET:filters-sidebar (INDEX:237) */
.filters-sidebar__list {
    display: flex;
    flex-direction: column;
  }

  .filters-sidebar__filter-label {
    display: block;
    font-size: var(--font-body--size-emphasized);
    font-weight: 600;
    margin-bottom: var(--margin-sm);
  }
/* END_SNIPPET:filters-sidebar */

/* START_SNIPPET:header-actions (INDEX:239) */
.header__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    height: var(--header-height);
  }

  .header__actions a {
    text-decoration: none;
    color: inherit;
  }

  .header__actions .dropdown-toggle:hover {
    opacity: 1;
  }

  .header__icon {
    height: 24px;
  }

  @media (width < 1000px) {
    .header__actions .dropdown-localization,
    .header__actions .search-popup,
    .header__actions .header__icon-account {
      display: none;
    }
  }
/* END_SNIPPET:header-actions */

/* START_SNIPPET:header-menu-desktop (INDEX:240) */
.header__menu-desktop {
    display: none;
  }

  @media (width > 1000px) {
    .header__menu-desktop {
      display: flex;
    }

    .header__menu-desktop-list {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      column-gap: 1rem;
      row-gap: 0.33rem;
      height: 100%;
    }

    .header__menu-mobile {
      display: none;
    }
  }

  /* Variables locales (couleur de marque + pastilles d'icônes) */
  .header__menu-desktop-list {
    --menu-accent: #777D43;
    --res-icon-bg: #F1F0E8;
    --res-icon-size: 30px;
  }

  .header__menu-desktop-list--uppercase .header__menu-link-text {
    text-transform: uppercase;
  }

  .header__menu-link-text {
    font-weight: var(--font-weight);
  }

  /* --- Soulignement olive actif / survol (éléments de 1er niveau) --- */
  .header__menu-desktop-list > a.header__menu-link,
  .header__menu-desktop-list > .header__menu-item > .header__menu-link--parent {
    position: relative;
    padding-bottom: 4px;
  }

  .header__menu-desktop-list > a.header__menu-link::after,
  .header__menu-desktop-list > .header__menu-item > .header__menu-link--parent::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: var(--menu-accent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.2s ease;
  }

  .header__menu-desktop-list > a.header__menu-link:hover::after,
  .header__menu-desktop-list > a.header__menu-link:focus-visible::after,
  .header__menu-desktop-list > a.header__menu-link[aria-current="page"]::after,
  .header__menu-desktop-list > .header__menu-item:hover > .header__menu-link--parent::after,
  .header__menu-desktop-list > .header__menu-item > .header__menu-link--parent:focus-visible::after,
  .header__menu-desktop-list > .header__menu-item > .header__menu-link--parent.header__menu-link--active::after {
    transform: scaleX(1);
  }

  @media (prefers-reduced-motion: reduce) {
    .header__menu-desktop-list > a.header__menu-link::after,
    .header__menu-desktop-list > .header__menu-item > .header__menu-link--parent::after {
      transition: none;
    }
  }

  /* Sous-menus */
  .header__submenu-link--parent .icon {
    transition: transform var(--animation-speed) var(--animation-easing);
    font-size: 22px !important;
  }

  .header__submenu-accordion summary {
    transition: var(--animation-link-hover);
  }

  .header__submenu-accordion summary:hover {
    opacity: var(--opacity-link-hover);
  }

  /* Liens dans les sous-menus */
  .header__submenu-link {
    display: block;
    padding: var(--padding-xs) 0;
    font-size: var(--font-body--size);
    text-decoration: none;
    color: inherit;
  }

  .header__menu-item--dropdown .header__submenu-link {
    padding: var(--padding-xs);
    border-radius: calc(var(--inputs-border-radius) * var(--small-multiplier));
    transition: background-color var(--animation-speed) var(--animation-easing);
  }

  .header__menu-item--dropdown .header__submenu-link:hover {
    background-color: var(--color-input-border-low-opacity);
  }

  /* Accordéons dans les sous-menus */
  .header__submenu-accordion {
    width: 100%;
  }

  .header__submenu-accordion summary {
    list-style: none;
    cursor: pointer;
  }

  .header__submenu-accordion summary::-webkit-details-marker {
    display: none;
  }

  .header__submenu-link--parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .header__submenu-accordion[open] > summary .icon {
    transform: rotate(180deg);
  }

  .header__subsubmenu {
    padding: 0 var(--padding-sm);
  }

  /* --- Dropdown "Ressources" : 2 colonnes + icônes rondes --- */
  .header__menu-item--resources .dropdown-content.header__resources {
    padding: var(--padding-md, 1rem);
    min-width: 440px;
    max-width: min(560px, calc(100vw - 2rem));
    left: auto;
    right: 0;
  }

  .header__resources-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap-lg, 2rem);
  }

  .header__resources-eyebrow {
    margin: 0 0 var(--padding-sm, 0.5rem);
    font-size: var(--eyebrow-font-size, 0.72rem);
    line-height: 1.2;
    letter-spacing: var(--eyebrow-letter-spacing, 0.12em);
    text-transform: var(--eyebrow-text-transform, uppercase);
    font-weight: var(--eyebrow-font-weight, 600);
    color: var(--eyebrow-color, var(--menu-accent));
  }

  .header__resources-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .header__resources-link {
    display: flex;
    align-items: center;
    gap: var(--gap-sm, 0.75rem);
    padding: var(--padding-xs, 0.4rem);
    border-radius: calc(var(--inputs-border-radius, 8px) * var(--small-multiplier, 1));
    text-decoration: none;
    color: inherit;
    transition: background-color var(--animation-speed) var(--animation-easing);
  }

  .header__resources-link:hover,
  .header__resources-link:focus-visible {
    background-color: var(--color-input-border-low-opacity);
  }

  .header__resources-link:focus-visible {
    outline: 2px solid var(--menu-accent);
    outline-offset: 2px;
  }

  .header__resources-icon {
    flex-shrink: 0;
    width: var(--res-icon-size);
    height: var(--res-icon-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--res-icon-bg);
    color: var(--menu-accent);
  }

  .header__resources-icon svg {
    width: 16px;
    height: 16px;
  }

  .header__resources-label {
    font-size: var(--font-body--size);
  }

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

  /* Megamenu */
  .header__menu-item--megamenu {
    position: static;
  }

  dropdown-component .dropdown-content.header__submenu--megamenu {
    width: 100%;
    top: calc(var(--header-offset-height) - var(--separator-border-width));
    left: 0;
    border: 0;
    border-bottom: var(--separator-border-width) solid var(--color-border);
    border-radius: 0;
  }

  .header__submenu--megamenu__content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--gap-md);
    width: 100%;
    max-width: var(--page-width);
    margin: 0 auto;
    padding: var(--padding-sm) var(--page-margin-desktop);
    max-height: 80vh;
    overflow-y: auto;
  }

  .header__submenu--megamenu__item {
    flex: 1;
  }

  .header__submenu--megamenu__item .header__submenu-link {
    font-size: var(--font-body--size);
  }

  .header__submenu--megamenu__item .header__submenu-link--parent {
    font-size: var(--font-body--size-emphasized);
    font-weight: 500;
  }

  .header__submenu-image-link {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--gap-sm);
    transition: var(--animation-link-hover);

    img {
      width: 100%;
      object-fit: cover;
      border-radius: var(--card-border-radius);
      aspect-ratio: var(--image-ratio);
    }

    &:hover {
      opacity: var(--opacity-link-hover);
    }
  }

  .header__submenu-image-title {
    font-size: var(--font-body--size);
    font-weight: 500;
  }
/* END_SNIPPET:header-menu-desktop */

/* START_SNIPPET:loading-spinner (INDEX:243) */
.loading__spinner {
    position: absolute;
    z-index: 1;
    width: 18px;
    display: inline-block;
    color: black;
    left: calc(50% - 9px);
    display: none;
  }

  .is-loading {
    cursor: wait;
    position: relative;
    opacity: 0.7;
    pointer-events: none;
  }

  .is-loading span:not(.loading__spinner) {
    opacity: 0;
  }

  .is-loading .loading__spinner {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    display: block;
  }

  .spinner {
    animation: rotator 1.4s linear infinite;

    .path {
      stroke-dasharray: 187;
      stroke-dashoffset: 0;
      transform-origin: center;
      animation: dash 1.4s ease-in-out infinite;
      stroke: var(--color-primary-button-text);
    }
  }

  .button--secondary .spinner .path {
    stroke: var(--color-secondary-button-text);
  }

  @keyframes rotator {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(270deg);
    }
  }

  @keyframes dash {
    0% {
      stroke-dashoffset: 187;
    }
    50% {
      stroke-dashoffset: 46.75;
      transform: rotate(135deg);
    }
    100% {
      stroke-dashoffset: 187;
      transform: rotate(450deg);
    }
  }
/* END_SNIPPET:loading-spinner */

/* START_SNIPPET:localization-form (INDEX:244) */
dropdown-localization-component {
    position: relative;
    color: var(--color-foreground);
  }

  /* Choix de pays */

  .localization-form__country-selector {
    overflow-y: auto;
    max-height: 100%;
    flex-grow: 1;
    max-height: 20.5rem;
  }

  .localization-form__countries {
    display: flex;
    flex-direction: column;
    gap: 3px;
    position: relative;
    width: 100%;
    scroll-padding: var(--padding-xs) 0;
    overflow-y: auto;
    white-space: nowrap;
  }

  .localization-form__country {
    border-radius: calc(var(--card-border-radius) - var(--padding-xs));
    display: flex;
    align-items: center;
    padding: var(--padding-xs);
    font-size: var(--font-body--size);
    gap: 3px;
    cursor: pointer;
    transition: background-color var(--animation-speed) var(--animation-easing);
  }

  .localization-form__country:hover,
  .localization-form__country:focus,
  .localization-form__country--selected {
    background-color: rgb(from var(--color-foreground) r g b / 5%);
    font-weight: 500;
  }

  .localization-form__country .country {
    flex: 1;
  }

  .localization-form__country .icon--check {
    visibility: hidden;
    font-size: 18px !important;
  }

  .localization-form__country--selected .icon--check {
    visibility: visible;
  }

  .localization-form__country-currency {
    width: max-content;
    opacity: 0;
    visibility: hidden;
    transition: none;
  }

  .localization-form__country:hover .localization-form__country-currency,
  .localization-form__country--selected .localization-form__country-currency {
    opacity: 1;
    transition: opacity var(--animation-speed-fast) var(--animation-easing);
    visibility: visible;
  }

  /* Choix de langue */

  .localization-form__language-selector {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-size: var(--font-body--size);

    &.localization-form__language-selector--with-country {
      border-top: var(--separator-border-width) solid var(--color-border);
      margin-top: var(--padding-xs);
      padding: var(--padding-xs) var(--padding-xs) 0;

      .localization-form__language-select-wrapper {
        width: auto;
      }
    }

    .icon--keyboard_arrow_down {
      font-size: 22px !important;
    }
  }

  .localization-form__language-select-label {
    flex: 1;
  }

  .localization-form__language-select-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
  }

  .localization-form__language-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    height: 35px;
    padding: 0 var(--inputs-padding);
    padding-right: calc(var(--inputs-padding) * 2);
    border: none;
    border-radius: var(--inputs-border-radius);
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    cursor: pointer;
    font-size: var(--inputs-font-size);
    font-weight: var(--font-weight);
    width: 100%;
  }

  .localization-form__language-selector--uppercase .localization-form__language-select {
    text-transform: uppercase;
  }

  .localization-form__language-select:not(:disabled):hover,
  .localization-form__language-select:not(:disabled):focus,
  .localization-form__language-select:focus-visible,
  .localization-form__language-select:focus {
    outline: none;
    margin: 0;
    box-shadow: none;
  }

  .localization-form__language-select-wrapper__icon {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--color-input-text);
    height: 20px;
  }

  .localization-form__language-select-wrapper__icon .icon {
    font-size: 20px !important;
  }

  @media (width <= 1000px) {
    .localization-form__country-currency {
      opacity: 1;
      visibility: visible;
    }
  }
/* END_SNIPPET:localization-form */

/* START_SNIPPET:mg-bags-technology-guide (INDEX:251) */
.mg-bags-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mp-gap,24px);margin-top:28px}
.mg-bags-guide-card{display:flex;flex-direction:column;background:var(--mp-card,#fff);border:1px solid var(--mp-border,#e5e2d8);border-radius:var(--mp-radius,12px);overflow:hidden}
.mg-bags-guide-image{height:180px;padding:20px;display:flex;justify-content:center;border-bottom:1px solid var(--mp-border,#e5e2d8)}
.mg-bags-guide-image img{width:180px;height:100%;object-fit:contain}
.mg-bags-guide-body{display:flex;flex-direction:column;flex:1;padding:var(--mp-card-padding,26px)}
.mg-bags-guide-body h3{text-wrap:balance;margin:0 0 10px}
.mg-bags-guide-material{font-weight:600;color:var(--mp-accent,#454d30)}
.mg-bags-guide-body .mg-btn{margin-top:auto;align-self:flex-start}
@media(max-width:749px){.mg-bags-guide{grid-template-columns:1fr;gap:var(--u-gap-m,18px)}.mg-bags-guide-image{height:132px;padding:12px}.mg-bags-guide-image img{width:120px}.mg-bags-guide-body{padding:var(--mp-card-padding-m,22px)}.mg-bags-guide-body .mg-btn{width:100%;align-self:stretch}}
/* END_SNIPPET:mg-bags-technology-guide */

/* START_SNIPPET:mg-best-seller (INDEX:252) */
.mg-best-seller{display:block!important;box-sizing:border-box;width:100%;flex:0 0 auto;grid-column:1 / -1;background:var(--bs-bg)!important;color:var(--bs-color)!important;font-family:var(--font-body--family,"DM Sans",sans-serif)!important;font-weight:500!important;font-size:var(--bs-size)!important;line-height:1.3!important;text-align:center!important;padding:var(--bs-padding) 12px!important;margin:0!important;letter-spacing:0;overflow-wrap:anywhere;position:relative;z-index:1}
@media(max-width:749px){.mg-best-seller{font-size:var(--bs-size-m)!important}}
/* END_SNIPPET:mg-best-seller */

/* START_SNIPPET:mg-chamber-bridge (INDEX:258) */
.mg-refonte .mg-bridge-wrap{padding-top:var(--bridge-margin);padding-bottom:var(--bridge-margin)}
  .mg-refonte .mg-bridge{display:grid;grid-template-columns:minmax(0,var(--bridge-text-width)) minmax(0,1fr);align-items:center;gap:var(--bridge-gap);padding:var(--bridge-padding);border:var(--bridge-border-width) solid var(--bridge-border);border-radius:var(--bridge-radius);background:var(--bridge-bg);color:var(--bridge-color);font-size:var(--bridge-body-size);font-weight:var(--bridge-body-weight);line-height:var(--bridge-body-line);text-align:left}
  .mg-refonte .mg-bridge h2{font-family:var(--bridge-heading-font);font-size:var(--bridge-heading-size);font-weight:var(--bridge-heading-weight);line-height:var(--bridge-heading-line);color:var(--bridge-color)}
  .mg-refonte .mg-bridge .mg-kicker{color:var(--bridge-primary)}
  .mg-refonte .mg-bridge-image_first{grid-template-columns:minmax(0,1fr) minmax(0,var(--bridge-text-width))}
  .mg-refonte .mg-bridge-image_first .mg-bridge-text{order:2}
  .mg-refonte .mg-bridge-no-image{grid-template-columns:1fr}
  .mg-refonte .mg-bridge-shadow{box-shadow:0 8px 24px #25282012}
  .mg-refonte .mg-bridge-photo{margin:0;min-width:0;background:#fff;border-radius:var(--bridge-radius);overflow:hidden}
  .mg-refonte .mg-bridge-photo img{display:block;width:100%;height:auto;aspect-ratio:var(--bridge-ratio);object-fit:var(--bridge-fit);object-position:var(--bridge-position);opacity:var(--bridge-opacity)}
  .mg-refonte .mg-bridge-actions{margin-top:24px;align-items:flex-start}
  .mg-refonte .mg-bridge-actions-column{flex-direction:column}
  .mg-refonte .mg-bridge-actions-full .mg-btn{width:100%}
  .mg-refonte .mg-bridge .mg-btn{border-radius:var(--bridge-button-radius);max-width:100%;min-width:0}
  .mg-refonte .mg-bridge-primary{--bridge-button:var(--bridge-primary);--bridge-hover:var(--bridge-primary-hover);border-width:var(--bridge-primary-border)}
  .mg-refonte .mg-bridge-secondary{--bridge-button:var(--bridge-secondary);--bridge-hover:var(--bridge-secondary-hover);border-width:var(--bridge-secondary-border)}

  .mg-refonte .mg-bridge .mg-btn{--cta-bg:var(--bridge-button);--cta-text:var(--mp-button-text);--cta-hover:var(--bridge-hover);--cta-hover-text:var(--mp-button-hover-text);--cta-border:var(--bridge-button)}
  .mg-refonte .mg-bridge .mg-bridge-button-outline{--cta-bg:var(--bridge-bg);--cta-text:var(--bridge-button);--cta-hover:var(--mp-secondary-hover);--cta-hover-text:var(--bridge-hover)}

  @media(max-width:899px){.mg-refonte .mg-bridge{grid-template-columns:1fr;gap:24px;padding:var(--bridge-padding-mobile);font-size:var(--bridge-body-mobile)}.mg-refonte .mg-bridge-wrap{padding-top:var(--bridge-margin-mobile);padding-bottom:var(--bridge-margin-mobile)}.mg-refonte .mg-bridge h2{font-size:var(--bridge-heading-mobile)}.mg-refonte .mg-bridge-mobile-image_first .mg-bridge-photo{order:0}.mg-refonte .mg-bridge-mobile-image_first .mg-bridge-text{order:1}.mg-refonte .mg-bridge-mobile-text_first .mg-bridge-text{order:0}.mg-refonte .mg-bridge-mobile-text_first .mg-bridge-photo{order:1}.mg-refonte .mg-bridge-actions{width:100%}.mg-refonte .mg-bridge-actions .mg-btn{width:100%}}
/* END_SNIPPET:mg-chamber-bridge */

/* START_SNIPPET:pagination (INDEX:273) */
.pagination-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 0;
  }

  .pagination__list {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .pagination__item {
    text-decoration: none;
  }

  .pagination__item--current {
    cursor: default;
    pointer-events: none;
  }
/* END_SNIPPET:pagination */

/* START_SNIPPET:price (INDEX:275) */
.badge:has(.badge__savings:empty) {
    display: none;
  }
/* END_SNIPPET:price */

/* START_SNIPPET:product-badges (INDEX:276) */
.product-badges {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-xs);
  }

  .product-badges--bottom-left {
    bottom: var(--padding-sm);
    left: var(--padding-sm);
    justify-content: flex-start;
  }

  .product-badges--top-left {
    top: var(--padding-sm);
    left: var(--padding-sm);
    justify-content: flex-start;
  }

  .product-badges--top-right {
    top: var(--padding-sm);
    right: var(--padding-sm);
    justify-content: flex-end;
  }
/* END_SNIPPET:product-badges */

/* START_SNIPPET:product-card-premium (INDEX:277) */
/* Positionnement du badge de réduction (snippets/discount-badge.liquid),
     normalement défini dans assets/product-card-premium.css — dupliqué ici
     via {% stylesheet %} (bundle CSS "sections everywhere", canal qui se
     rafraîchit de façon fiable) pour contourner un cache CDN Shopify resté
     bloqué sur l'ancienne version de ce fichier .css statique. À terme,
     une fois ce cache CDN naturellement purgé, cette règle sera redondante
     avec celle du fichier .css mais sans effet négatif (même valeurs). */
  .fc-card__badges {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
/* END_SNIPPET:product-card-premium */

/* START_SNIPPET:product-card (INDEX:278) */
.product-card {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: 100%;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.2s ease-in-out;
    position: relative;
    cursor: pointer;
  }

  .product-card[data-visual-preview-mode] {
    max-width: 280px;
  }

  @media (width > 750px) {
    .product-card:hover {
      transform: translateY(-2px);
    }
  }
/* END_SNIPPET:product-card */

/* START_SNIPPET:product-media (INDEX:279) */
.product-media img {
    aspect-ratio: var(--ratio);
    object-fit: cover;
  }
/* END_SNIPPET:product-media */

/* START_SNIPPET:product-option-value-button (INDEX:280) */
.variant-picker__option-value input {
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    height: 1px;
    width: 1px;
  }

  .variant-picker__option-value input + label {
    appearance: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-height: var(--variant-button-min-height);
    min-width: var(--variant-button-min-width);
    max-width: max-content;
    font-size: var(--variant-button-font-size);
    outline: 1px solid transparent;
    transition: all var(--animation-speed-medium) var(--animation-easing);
    padding: var(--variant-button-padding-vertical) var(--variant-button-padding-horizontal);
    color: var(--color-variant-text);
    background-color: var(--color-variant-background);
    border: var(--variant-button-border-width) solid var(--color-variant-border);
    border-radius: var(--inputs-border-radius);
    font-weight: var(--button-primary-font-weight);
    text-transform: var(--button-primary-text-transform);
    letter-spacing: var(--button-letter-spacing);
  }

  .variant-picker__option-value input:checked + label {
    background-color: var(--color-selected-variant-background);
    color: var(--color-selected-variant-text);
    border-color: var(--color-selected-variant-border);
  }

  .variant-picker__option-value input[aria-disabled='true'] + label {
    position: relative;
    opacity: 0.5;
    overflow: hidden;

    &::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: var(--color-variant-border);
      rotate: 20deg;
    }
  }

  .variant-picker__option-value input[aria-disabled='true']:checked + label::before {
    background-color: var(--color-selected-variant-text);
  }
/* END_SNIPPET:product-option-value-button */

/* START_SNIPPET:product-section-content (INDEX:281) */
@media (width > 750px) {
    .shopify-section-product-section {
      overflow: visible;
    }
  }

  .product-section {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
  }

  .product-section__content {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: var(--gap-md);
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
  }

  .product-section__product-info {
    display: flex;
    flex-direction: column;
    gap: var(--padding-sm);
  }

  @media (width > 750px) {
    .product-section__content {
      flex-direction: var(--image-position);
      gap: var(--gap);
    }

    .product-section__medias-container {
      overflow: hidden;
    }

    .product-section__medias {
      width: calc(100% - var(--product-info-width));
    }

    .product-section__product-info {
      max-width: calc(var(--product-info-width) - var(--gap));
      width: 100%;
    }

    .product-section__medias--sticky,
    .product-section__product-info--sticky {
      height: fit-content;
      position: sticky;
      top: calc(var(--header-height, 0px) + var(--padding-md));
      z-index: 2;
    }
  }

  @media (width <= 750px) {
    .product-section--carrousel-image-full-width {
      .product-section__content {
        padding-top: 0 !important;
      }

      .product-media-gallery-main-slider {
        width: calc(100% + 2 * (var(--page-margin-mobile)));
        margin-left: calc(var(--page-margin-mobile) * -1);
      }

      .product-media-gallery__media--rounded {
        border-radius: 0;
      }
    }
  }
/* END_SNIPPET:product-section-content */

/* START_SNIPPET:quantity-selector (INDEX:285) */
:root {
    --quantity-selector-button-width: 30px;
  }

  .quantity-selector {
    border: var(--inputs-border-width) solid var(--color-input-border);
    border-radius: var(--inputs-border-radius);
    background-color: var(--color-input-background);
    height: var(--inputs-min-height);
    overflow: hidden;
    display: flex;
    min-width: calc(var(--quantity-selector-button-width) * 3 + var(--inputs-border-width) * 2);
    width: calc(var(--quantity-selector-button-width) * 3 + var(--inputs-border-width) * 2);
  }

  .quantity-selector--disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
  }

  .quantity-selector button,
  .quantity-selector input {
    appearance: textfield;
    background-color: var(--color-input-background);
    border: none;
    transition: 0.2s;
    cursor: pointer;
    min-width: var(--quantity-selector-button-width);
    height: var(--inputs-min-height);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0;
    color: var(--color-input-text);
  }

  .quantity-selector--small {
    height: calc(var(--small-multiplier) * var(--inputs-min-height));
    border-radius: calc(var(--small-multiplier) * var(--inputs-border-radius));
  }

  .quantity-selector--small button,
  .quantity-selector--small input {
    height: calc(var(--small-multiplier) * var(--inputs-min-height) - 2 * var(--inputs-border-width));
    width: calc(var(--small-multiplier) * var(--inputs-min-height) - 2 * var(--inputs-border-width));
  }

  .quantity-selector button[disabled] {
    opacity: 0.3;
    pointer-events: none;
  }

  .quantity-selector button:not(:disabled):hover svg {
    transform: scale(1.1);
  }

  .quantity-selector .icon {
    pointer-events: none;
    font-size: 20px !important;
    color: var(--color-input-text);
  }

  .quantity-selector input::-webkit-inner-spin-button,
  .quantity-selector input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  .quantity-selector input:focus-visible {
    outline: none;
    outline-offset: 0;
    box-shadow: none;
    z-index: 1;
  }

  /* Micro-interaction B2 — pulsation douce du chiffre de quantité au
     changement (clic +/-, saisie validée), plutôt qu'un remplacement
     instantané et sec. Déclenchée par assets/quantity-selector.js
     (#pulse), purement CSS ici. */
  @keyframes quantity-pulse {
    0% {
      transform: scale(1);
    }
    40% {
      transform: scale(1.15);
    }
    100% {
      transform: scale(1);
    }
  }

  .quantity-selector input.is-updating {
    animation: quantity-pulse 0.3s ease;
  }

  @media (prefers-reduced-motion: reduce) {
    .quantity-selector input.is-updating {
      animation: none;
    }
  }
/* END_SNIPPET:quantity-selector */

/* START_SNIPPET:radio (INDEX:287) */
.radio {
    z-index: 0;
    position: relative;
    display: inline-block;
    line-height: 1.5;
  }

  .radio > input {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    z-index: -1;
    position: absolute;
    left: -10px;
    top: -8px;
    display: block;
    margin: 0;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    outline: none;
    opacity: 0;
    transform: scale(1);
    pointer-events: none;
    transition:
      opacity 0.3s,
      transform 0.2s;
  }

  .radio > .radio__label {
    display: inline-block;
    width: 100%;
    cursor: pointer;
    position: relative;
    font-size: var(--font-body--size-emphasized);
  }

  .radio > .radio__label::before {
    content: '';
    display: inline-block;
    box-sizing: border-box;
    margin: 0px 10px 0px 0;
    border: var(--inputs-border-width) solid var(--color-input-text);
    border-radius: 50%;
    width: 20px;
    min-width: 20px;
    height: 20px;
    vertical-align: top;
    transition: border-color 0.2s;
    background-color: var(--color-input-background);
  }

  .radio > .radio__label::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background-color: var(--color-input-text);
    transform: translate(5px, 5px) scale(0);
    transition: transform 0.2s;
  }

  .radio > input:checked + .radio__label::before {
    border-color: var(--color-input-text);
  }

  .radio > input:checked + .radio__label::after {
    transform: translate(5px, 5px) scale(1);
  }

  .radio > input:focus {
    opacity: 0.12;
  }

  .radio > input:disabled {
    opacity: 0;
  }

  .radio > input:disabled + .radio__label {
    color: var(--color-input-text);
    opacity: 0.5;
    cursor: not-allowed;
  }

  .radio > input:disabled + .radio__label::before {
    border-color: currentColor;
  }

  .radio > input:disabled + .radio__label::after {
    background-color: currentColor;
  }
/* END_SNIPPET:radio */

/* START_SNIPPET:rating-stars (INDEX:288) */
.rating--empty .rating__stars-empty{color:var(--rating-star-empty,var(--rating-star-color-empty,#DCDCE6));}
  .rating {
    display: flex;
    align-items: center;
    gap: var(--rating-gap, var(--gap-sm));
    justify-content: var(--rating-align, flex-start);
    flex-wrap: wrap;
  }

  .rating__stars {
    position: relative;
    display: inline-block;
    font-size: var(--rating-star-size, 22px);
    line-height: 1;
  }

  /* Habillage "carré" (CORRECTIF #6 bis) : chaque étoile est une tuile
     carrée arrondie ; le glyphe ★ est conservé dans le HTML (accessibilité/
     repli) et simplement rendu en blanc (color: #fff) sur le fond coloré
     de la tuile — pas d'icône séparée, pas de pseudo-élément. */
  .rating__stars-empty,
  .rating__stars-filled {
    display: flex;
    gap: var(--rating-star-gap, 3px);
  }

  .rating__star-tile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    flex: none;
    border-radius: var(--rating-star-tile-radius, 18%);
    color: var(--review-glyph-color, var(--rating-star-glyph-color, #FFFFFF));
    font-size: 0.55em;
    transform: translate(var(--rating-star-offset-x, 0px), var(--rating-star-offset-y, 0px));
  }

  .rating__stars-empty .rating__star-tile {
    background-color: var(--rating-star-empty, var(--rating-star-color-empty, #DCDCE6));
  }

  .rating__stars-filled {
    position: absolute;
    inset: 0;
    width: var(--rating-fill, 0%);
    overflow: hidden;
  }

  .rating__stars-filled .rating__star-tile {
    background-color: var(--review-tile-filled, var(--rating-star-filled, var(--rating-star-color, #00B67A)));
  }

  .rating__note,
  .rating__count,
  .rating__custom-text {
    line-height: 22px;
    font-size: var(--rating-text-size, inherit);
    font-weight: var(--rating-text-weight, inherit);
    letter-spacing: var(--rating-text-spacing, normal);
    text-transform: var(--rating-text-case, none);
    color: var(--rating-text-color, var(--rating-score-color, #252820));
  }

  /* Chiffre de note dominant (ex. "4,8/5") par rapport au texte "basé sur
     X avis" : uniquement quand l'appelant n'a pas déjà personnalisé
     --rating-text-size/--rating-text-weight (mécanisme d'opt-in existant
     du bloc rating-stars) — sinon la personnalisation explicite du bloc
     garde la priorité, comme avant. */
  .rating__note {
    font-size: var(--rating-text-size, 1.15em);
    font-weight: var(--rating-text-weight, 700);
  }

  /* Micro-interaction B2 : fondu doux au changement, plutôt qu'un
     remplacement instantané et sec du nombre affiché. */
  .rating__count {
    transition: opacity 0.25s ease, transform 0.25s ease;
  }

  .rating__count.is-updating {
    opacity: 0.35;
    transform: translateY(-2px);
  }

  @media (prefers-reduced-motion: reduce) {
    .rating__count {
      transition: none;
    }
  }
/* END_SNIPPET:rating-stars */

/* START_SNIPPET:review (INDEX:289) */
.review.card {background-color:var(--review-card-bg,#FFFFFF);border-color:var(--review-card-border,#E5E2D8);}
  .review {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    overflow: hidden;
    width: 100%;
  }

  shopify-visual-preview-block-list shopify-visual-preview-block-list .review[data-visual-preview-mode] {
    width: 100%;
    max-width: 400px;
  }

  .review__image {
    object-fit: cover;
    width: 100%;
    overflow: auto;
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
  }

  .review__image .placeholder-svg {
    width: 100%;
    height: 100%;
    background-color: #f8f8f8;
    border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
  }

  .review__title,
  .review__author-name {
    font-weight: 600;
  }

  .review__date {
    font-style: italic;
  }

  .review--2 {
    .review__author-and-date {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: var(--gap-sm);
      width: 100%;
      margin-top: 10px;
    }
  }

  .review--3 {
    .review__image {
      aspect-ratio: var(--image-ratio);
    }

    .review__image .placeholder-svg {
      aspect-ratio: var(--image-ratio);
    }
  }

  .review--4 {
    flex-direction: row;
    align-items: center;

    .review__content {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: var(--gap-sm);
    }

    .review__image,
    .review__image .placeholder-svg {
      aspect-ratio: 1 / 1;
    }
  }

  @media (width > 750px) {
    .review--4 {
      flex-direction: row;
      align-items: center;
    }
  }

  .review--5 {
    .review__author-and-date-container {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: var(--gap-sm);
      width: 100%;
      margin-bottom: 10px;

      .review__author-and-date {
        display: flex;
        flex-direction: column;
        gap: var(--gap-xs);
      }

      .review__author-profile,
      .review__author-profile svg {
        width: 50px;
        height: 50px;
        background-color: #f8f8f8;
        border-radius: calc(var(--card-border-radius) - (var(--card-padding) * 0.5));
        object-fit: cover;
      }
    }
  }
/* END_SNIPPET:review */

/* START_SNIPPET:reviews-verified-badge (INDEX:290) */
.reviews-verified-badge {
    display: inline-block;
    font-size: 12px;
    line-height: 1.4;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--reviews-verified-badge-bg, #777d43);
    color: var(--reviews-verified-badge-text-color, #ffffff);
    white-space: nowrap;
  }
/* END_SNIPPET:reviews-verified-badge */

/* START_SNIPPET:search-popup (INDEX:292) */
.header__icon-search {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: inherit;
    display: flex;
  }

  .dialog-modal--search {
    padding: var(--page-margin-mobile);
    flex-direction: row;
    gap: var(--gap-xs);
    align-items: center;
    width: var(--modal-width);
    overflow: hidden !important;
    max-height: var(--search-modal-max-height-mobile);

    @media (width > 750px) {
      max-height: var(--search-modal-max-height);
    }

    &[open] {
      display: flex;
      align-items: flex-start;
    }

    .dialog-modal__content {
      width: 100%;
    }

    .dialog-modal__content .search-form {
      display: flex;
      flex-direction: row;
      gap: var(--gap-xs);
      align-items: center;
      margin: 0;
    }

    .dialog-modal__close {
      position: relative;
      top: auto;
      right: auto;
    }
  }

  @media (width > 750px) {
    .dialog-modal--search {
      padding: var(--padding-md);
    }
  }
/* END_SNIPPET:search-popup */

/* START_SNIPPET:separator (INDEX:294) */
.separator {
    margin-top: var(--margin-top);
    margin-bottom: var(--margin-bottom);
    display: block;
    width: var(--width);
  }

  .separator hr {
    border: none;
    border-top: var(--separator-border-width) var(--separator-style) var(--color-border, #e0e0e0);
  }
/* END_SNIPPET:separator */

/* START_SNIPPET:slider (INDEX:295) */
slider-component {
    position: relative;
  }

  /* CORRECTIF disable_peek/no_peek : un fichier CSS global du thème
     (compiled_assets/styles.css) applique `.splide__track { padding: 0 48px
     !important; }` SANS scoping — cette règle globale avec !important
     l'emporte sur tout style en ligne posé par assets/slider.js (un style
     en ligne sans !important ne bat jamais un !important externe), ce qui
     recréait le "petit bout" de carte visible même après le correctif JS.
     On neutralise ce padding UNIQUEMENT quand data-no-peek est présent, via
     un sélecteur plus spécifique + !important : aucun effet sur les autres
     carrousels du thème qui ne posent pas cet attribut. */
  slider-component[data-no-peek] .splide__track {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
/* END_SNIPPET:slider */

/* START_SNIPPET:sort-inline (INDEX:296) */
.sorting-dropdown-toggle {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .sorting__select {
    border-radius: calc(var(--card-border-radius) - var(--padding-xs));
    display: flex;
    align-items: center;
    padding: var(--padding-xs);
    font-size: var(--font-body--size);
    gap: 3px;
    cursor: pointer;
    transition: background-color var(--animation-speed) var(--animation-easing);
  }

  .sorting__list {
    display: flex;
    flex-direction: column;
    gap: 3px;
    position: relative;
    width: 100%;
    scroll-padding: var(--padding-xs) 0;
    overflow-y: auto;
    white-space: nowrap;
    list-style: none;
    padding: 0;
  }

  .sorting__select:hover,
  .sorting__select:focus,
  .sorting__select--selected {
    background-color: rgb(from var(--color-foreground) r g b / 5%);
    font-weight: 500;
  }
/* END_SNIPPET:sort-inline */

/* START_SNIPPET:swatch (INDEX:298) */
.swatch-input {
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
  }

  .swatch-input + .swatch,
  .swatch-link {
    display: block;
    border-radius: calc(var(--swatch-border-radius) - var(--swatch-outline-offset));
    cursor: pointer;
    outline-offset: var(--swatch-outline-offset);
    margin: var(--swatches-border-width);
    width: var(--swatch-size);
    height: var(--swatch-size);
    outline: var(--swatches-border-width) solid transparent;
    transition: outline 0.1s ease-in-out;
    forced-color-adjust: none;
  }

  .swatch-input:active + .swatch,
  .swatch-input:checked + .swatch,
  .swatch-input[aria-checked='true'] + .swatch,
  .swatch-link[aria-checked='true'],
  .swatch-input:focus + .swatch,
  .swatch-input:focus-visible + .swatch {
    outline: var(--swatches-border-width) solid var(--color-selected-input-border);
  }

  .swatch-input:hover:not([aria-checked='true']):not([checked]) + .swatch,
  .swatch-link:hover:not([aria-checked='true']) {
    outline: var(--swatches-border-width) solid var(--color-input-border-low-opacity);
  }

  .swatch span {
    pointer-events: none;
    position: relative;
    overflow: hidden;
    display: block;
    width: var(--swatch-size);
    height: var(--swatch-size);
    background: var(--swatch-background);
    background-size: cover;
    background-origin: border-box;
    border: 0.5px solid var(--color-input-border-low-opacity);
    border-radius: calc(var(--swatch-border-radius) - var(--swatch-outline-offset));
  }

  .swatch--disabled span:after {
    --crossed-line--size: 1px;
    content: '';
    position: absolute;
    bottom: calc(var(--crossed-line--size) * -0.5);
    left: 0;
    width: calc(var(--swatch-size) * 1.414);
    height: var(--crossed-line--size);
    background-color: var(--color-foreground);
    transform: rotate(-45deg);
    transform-origin: left;
  }

  .swatch-input:checked + .swatch {
    outline: var(--swatches-border-width) solid var(--color-selected-input-border);
  }
/* END_SNIPPET:swatch */

/* START_SNIPPET:swatches (INDEX:299) */
.swatches {
    display: flex;
    justify-content: flex-start;
    overflow-x: auto;
    padding: 3px;
    gap: 10px;
    padding-bottom: 10px;
  }

  .swatches {
    --swatch-size: var(--swatches-size);
    --swatch-border-radius: var(--inputs-border-radius);
    --swatch-outline-offset: var(--swatches-outline-offset);
  }

  .swatches--small {
    --swatch-size: calc(var(--swatches-size) * var(--small-multiplier));
    --swatch-border-radius: calc(var(--small-multiplier) * var(--inputs-border-radius));
    --swatch-outline-offset: var(--swatches-small-outline-offset);
  }

  .swatches--big {
    --swatch-size: calc(var(--swatches-size) * var(--big-multiplier));
    --swatch-border-radius: calc(var(--inputs-border-radius) * var(--big-multiplier));
    --swatch-outline-offset: var(--swatches-big-outline-offset);
  }

  .swatches--rounded .swatch,
  .swatches--rounded .swatch-link,
  .swatches--rounded .swatch span {
    --swatch-border-radius: 100%;
  }
/* END_SNIPPET:swatches */

/* START_SNIPPET:textarea (INDEX:300) */
.textarea {
    position: relative;
  }

  .textarea textarea {
    outline: none;
    border: var(--inputs-border-width) solid var(--color-input-border);
    border-radius: var(--inputs-border-radius);
    padding: var(--inputs-padding);
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    transition: 0.1s ease-out;
    height: calc(var(--inputs-min-height) * 2);
    width: 100%;
    font-size: var(--inputs-font-size);
  }

  .textarea--disabled textarea {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: var(--color-input-background);
  }

  .textarea--full-width textarea {
    width: 100%;
  }
/* END_SNIPPET:textarea */

/* START_SNIPPET:textfield (INDEX:301) */
.textfield {
    position: relative;
  }

  .textfield input {
    outline: none;
    border: var(--inputs-border-width) solid var(--color-input-border);
    border-radius: var(--inputs-border-radius);
    padding: 1.25rem var(--inputs-padding) 0.375rem;
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    transition: 0.1s ease-out;
    height: var(--inputs-min-height);
    min-width: var(--inputs-min-width);
    font-size: var(--inputs-font-size);
  }

  .textfield input::placeholder {
    opacity: 0;
  }

  .textfield label {
    position: absolute;
    left: calc(var(--inputs-padding) + var(--inputs-border-width));
    top: 50%;
    transform: translateY(-50%);
    font-size: var(--inputs-font-size);
    color: var(--color-input-text);
    transition: 0.1s ease-out;
    transform-origin: left top;
    pointer-events: none;
  }

  .textfield input:focus + label,
  .textfield input:not(:placeholder-shown) + label {
    top: 0.375rem;
    transform: scale(0.75);
  }

  .textfield--small,
  .textfield--small input {
    height: calc(var(--small-multiplier) * var(--inputs-min-height));
  }

  .textfield--small input {
    padding: 0 var(--inputs-padding);
    border-radius: calc(var(--small-multiplier) * var(--inputs-border-radius));
  }

  .textfield--small label {
    display: none;
  }

  .textfield--small input::placeholder {
    opacity: 1;
  }

  .textfield--disabled input {
    opacity: 0.5;
    cursor: not-allowed;
  }

  .textfield--disabled label {
    opacity: 0.5;
  }

  .textfield--full-width,
  .textfield--full-width input {
    width: 100%;
  }

  .textfield--error input {
    border-color: var(--color-error);
  }

  .textfield--error label {
    color: var(--color-error);
  }

  .input-group {
    display: flex;
    align-items: center;
    border: var(--inputs-border-width) solid var(--color-input-border);
    border-radius: var(--inputs-border-radius);
    background-color: var(--color-input-background);
    transition: border-color 0.1s ease-out;
    width: 100%;

    .textfield {
      flex: 1;
      min-width: 0;
    }

    .textfield input {
      border-color: transparent;
      background-color: transparent;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }
  }

  .input-group:focus-within {
    border-color: var(--color-selected-input-border);
  }

  .input-group__action {
    flex-shrink: 0;
    display: flex;
    align-items: center;

    .button {
      border-color: transparent;
      background-color: transparent;
      color: var(--color-input-text);
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
  }
/* END_SNIPPET:textfield */

/* START_SNIPPET:video (INDEX:304) */
deferred-media {
    border-radius: var(--card-border-radius);
    overflow: hidden;
    aspect-ratio: var(--ratio);
    position: relative;
    display: block;
  }

  .video-interaction-hint {
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
  }

  .video-interaction-hint:hover {
    opacity: 1;
  }

  .deferred-media__video:empty {
    z-index: -1;
  }

  .deferred-media__video {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .deferred-media__video video {
    aspect-ratio: var(--ratio);
    object-fit: cover;
  }

  .deferred-media__poster-button {
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  .deferred-media__poster,
  .deferred-media__poster-button {
    cursor: pointer;
  }

  .deferred-media__poster-icon,
  .deferred-media__poster-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: transparent;
    border: none;
    transition: var(--animation-link-hover);

    .icon--play_circle,
    .icon--pause_circle {
      font-size: 60px !important;
      color: var(--color-primary-button-text);
    }
  }

  .deferred-media__poster:hover {
    .deferred-media__poster-button {
      opacity: 1;
    }

    .deferred-media__poster-icon {
      opacity: var(--opacity-link-hover);
    }
  }

  .deferred-media__poster {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
  }

  .deferred-media__poster.deferred-media__playing {
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  deferred-media img {
    height: 100%;
    transition: opacity 0.3s ease;
  }

  deferred-media iframe {
    width: 100%;
    height: 100%;
    border: none;
    aspect-ratio: var(--ratio);
  }

  deferred-media[data-media-loaded] img {
    opacity: 0;
  }
/* END_SNIPPET:video */

/* START_SNIPPET:wishlist-icon (INDEX:305) */
.header__icon-wishlist {
    position: relative;
    cursor: pointer;
    color: inherit;
  }
/* END_SNIPPET:wishlist-icon */