/** Shopify CDN: Minification failed

Line 2354:0 Unexpected "}"
Line 2379:0 Unexpected "}"

**/
/* ==========================================================================
   TABLE DES MATIÈRES
   --------------------------------------------------------------------------
   1. GÉNÉRAL
      1.1 Polices et variables
      1.2 Typographie (règles actives + anciennes versions commentées)
      1.3 Composants généraux
      1.4 Correctifs globaux (mobile, flèches de carrousel)
   2. ACCUEIL
      2.1 Temps des fêtes
      2.2 Bannière vidéo
      2.3 Slideshow (commenté)
      2.4 Titres de sections
      2.5 Widget Instagram
   3. HEADER
      3.1 Barre d'annonce
      3.2 Header : base, navigation et recherche
      3.3 Header : espacement
      3.4 Header : menu du bas
      3.5 Mega menu
      3.6 Recherche prédictive
   4. COLLECTION / RECHERCHE
   5. PRODUIT
      5.1 Informations produit
      5.2 Cartes produit et badges
      5.3 Variantes, quantité et paiement
      5.4 Barre d'achat rapide (quick add)
      5.5 Réassurance / Athena
      5.6 Galerie (zoom)
      5.7 Disponibilité en magasin (pickup)
      5.8 Produits similaires
      5.9 Produits certifiés
   6. PANIER
      6.1 Barre de livraison gratuite
      6.2 Tiroir panier et recommandations
   7. AVIS JUDGE.ME
   8. BLOG
   9. FOOTER
   ========================================================================== */


/* ==========================================================================
   1. GÉNÉRAL
   ========================================================================== */

/* --------------------------------------------------------------------------
   1.1 Polices et variables
   -------------------------------------------------------------------------- */

/*
* GENERAL
*/

/* Espacement vertical entre les sections (repris du thème en ligne le 16 oct. 2026 : il était dans un bloc
   Liquid personnalisé de l'en-tête, custom_liquid_N47x8X). Plus serré que les valeurs d'Impact. */
:root {
  --section-outer-spacing-block: 1.5rem !important;
  --section-inner-max-spacing-block: 1.5rem !important;
  --section-stack-spacing-block: 1rem !important;
}
@media screen and (min-width: 700px) {
  :root {
    --section-outer-spacing-block: 2rem !important;
    --section-inner-max-spacing-block: 2rem !important;
    --section-stack-spacing-block: 1.5rem !important;
  }
}
@media screen and (min-width: 1000px) {
  :root {
    --section-outer-spacing-block: 2.5rem !important;
    --section-inner-max-spacing-block: 2rem !important;
    --section-stack-spacing-block: 1.5rem !important;
  }
}

/* --------------------------------------------------------------------------
   1.2 Typographie
   -------------------------------------------------------------------------- */

@font-face {
font-family: 'pp eiko';
src: url('/cdn/shop/files/PPEiko-Thin.otf?v=1692844910') format('opentype');
font-style: normal;
font-weight: 400;
font-display: swap;
}
/* Vitesse (14 oct. 2026) : PP Eiko en version latine WOFF2, 42 Ko au lieu des 171 Ko du fichier .otf complet.
   Le fichier complet reste déclaré juste au-dessus : il ne se télécharge que si un titre contient un caractère
   absent de la version latine (unicode-range). Fichier dans Contenu > Fichiers : sl-ppeiko-thin-latin.woff2. */
@font-face {
font-family: 'pp eiko';
src: url('/cdn/shop/files/sl-ppeiko-thin-latin.woff2?v=1792031991') format('woff2');
font-style: normal;
font-weight: 400;
font-display: swap;
unicode-range: U+0020-007E, U+00A0-017F, U+2013-2014, U+2018-2019, U+201C-201D, U+2022, U+2026, U+20AC;
}

:root {
--heading-font-family: 'pp eiko', 'Times New Roman', Times, Georgia, serif;
--heading-font-weight: 400;
}

html body .header__main-nav .header__link-list a,
html body .header__main-nav .header__link-list summary,
html body .header__main-nav .header__link-list button,
html body .header__wrapper > .header__link-list a,
html body .header__wrapper > .header__link-list summary,
html body .header__wrapper > .header__link-list button,
html body .mobile-sticky-search__input,
html body .search-input input,
html body .search-input button,
.header__icon-list .bold,
html body [class*="video-banner-text-"] *, html body [class*="video-banner-button-"], html body [class*="video-banner-button-"] *,
html body .product-card__title, html body .product-card__title *,
.button--xl, .button {
  font-weight: 400 !important;
}
html body [class*="video-banner-heading-"] * {
  font-family: var(--heading-font-family) !important;
  font-weight: 400 !important;
}

/* Graisses et polices du thème en ligne (snippets/sl-typographie-reference.liquid, 15 oct. 2026), reprises le 16 oct.
   pour que le rendu soit identique : texte en 400 (le thème met plusieurs éléments en gras 700), gras des strong/b
   en 600, titres en PP Eiko 400, menus en Jost. Les popups Klaviyo gardent leurs propres réglages. */
/* Poids : comme avant, le texte reste en 400 (le thème met plusieurs éléments en gras 700) et le gras
     des balises strong/b passe à 600. Les popups Klaviyo gardent leurs propres réglages. */
  html body :is(p, span, a, button, input, textarea, select, summary, label, legend, small, li):not(:where(.klaviyo-form *)) {
    font-weight: 400 !important;
  }

html body :is(strong, b):not(:where(.klaviyo-form *)) {
    font-weight: 600 !important;
  }

/* Titres en PP Eiko. */
  html body h1,
  html body h2,
  html body h3,
  html body h4,
  html body h5,
  html body h6,
  html body .h0,
  html body .h1,
  html body .h2,
  html body .h3,
  html body .h4,
  html body .h5,
  html body .h6,
  html body .sl-price,
  html body .sl-st,
  html body .sl-typecard > b,
  html body .sl-step > b,
  html body [class*="video-banner-heading-"],
  html body [class*="video-banner-heading-"] * {
    font-family: var(--heading-font-family) !important;
    font-weight: 400 !important;
  }

html body .sl-collection-title,
  html body .sl-collection-title *,
  html body .sl-collection-title split-lines {
    font-family: var(--heading-font-family) !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
  }

/* Menus (tiroir de navigation, liens suggérés de la recherche, choix de langue) : le thème leur donne
     des classes de titre (h3, h5, h6). Ce ne sont pas des titres : Jost. */
  html body .panel__wrapper li:is(.h1, .h2, .h3, .h4, .h5, .h6),
  html body .panel__wrapper :is(a, button):is(.h1, .h2, .h3, .h4, .h5, .h6),
  html body .search-drawer__featured-links :is(.h1, .h2, .h3, .h4, .h5, .h6),
  html body x-popover p:is(.h4, .h5, .h6) {
    font-family: var(--text-font-family) !important;
    font-weight: 400 !important;
  }

/* Pastilles « Non taxable » : assets/theme.css les met en Roboto. Jost, au poids prévu par le thème (500). */
  html body .non-taxable-badge {
    font-family: var(--text-font-family) !important;
    font-weight: 500 !important;
  }

/* Numéros du carrousel de la bannière d'accueil (Montserrat dans la section SS - Video banner pro) : Jost. */
html body .swiper-pagination-bullet,
html body .swiper-pagination-bullet span {
  font-family: var(--text-font-family) !important;
}

/* Popup 5 $ ordinateur (Klaviyo QVJ2Y9). Le test A/B verrouille les variantes dans Klaviyo, donc la correction
   se fait ici : sous-titre (Georgia ou Roboto) et bouton (Roboto) en Jost. À retirer quand le test sera terminé
   et que la variante gagnante aura ses polices réglées directement dans Klaviyo. */
html body form[data-testid="klaviyo-form-QVJ2Y9"] em,
html body form[data-testid="klaviyo-form-QVJ2Y9"] .klaviyo-form-button {
  font-family: var(--text-font-family) !important;
}

/* Panneau 5 $ cellulaire (Klaviyo) ouvert : la bulle Shopify Inbox chevauche le champ courriel, on la cache. */
html body:has(.sl-row) shopify-chat {
  display: none !important;
}

/* --------------------------------------------------------------------------
   1.3 Composants généraux
   -------------------------------------------------------------------------- */

/*
* AUTRE
*/
.content-over-media > :is(img, video, iframe, svg, video-media) {
    transform-origin: bottom;
}

.block-swatch {
  white-space: nowrap;
}

@media (prefers-reduced-motion: no-preference) {
  .js .page-transition {
    opacity: 0;
  }
}

.social-media {
  align-items:center;
}

@media screen and (min-width: 700px) {
  .tabs-inner {
    text-align: center;
  }
}
@media screen and (min-width: 1000px) {
  .timeline__slide {
    text-align: left;
  }
}

.wp-caption {
  max-width:100%!important;
}

a[slot="subtitle"]:hover {
  text-decoration: underline;
  color:#2B4735;
}

/* --------------------------------------------------------------------------
   1.4 Correctifs globaux
   -------------------------------------------------------------------------- */

/* Code qui empêche le bug de scroll sur mobile */
@media screen and (max-width: 749px) {
  html,
  body {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    height: auto !important;
    min-height: 100% !important;
    touch-action: auto !important;
  }

  body * {
    overscroll-behavior: auto;
  }

  [aria-hidden="true"] {
    pointer-events: none !important;
  }
}

/* Correctif des flèches de carrousels */
button[is="prev-button"].circle-chevron > svg,
button[is="next-button"].circle-chevron > svg {
  display: none !important;
}

button[is="prev-button"].circle-chevron::before,
button[is="next-button"].circle-chevron::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  box-sizing: border-box;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
}

button[is="prev-button"].circle-chevron::before {
  transform: rotate(-135deg);
  margin-left: 2px;
}

button[is="next-button"].circle-chevron::before {
  transform: rotate(45deg);
  margin-right: 2px;
}


/* --------------------------------------------------------------------------
   1.5 Rendu des sections natives changé par la mise à jour d'Impact (16 oct. 2026)
   Référence : OFFICIEL (16 OCTOBRE).
   -------------------------------------------------------------------------- */

/* Gros boutons (.button--xl) en 22 px, comme dans le thème en ligne (assets/theme.css y avait été modifié).
   La graisse reste à 400 par la règle de typographie plus haut. */
.button--xl {
  font-size: 22px;
}

/* Section « Images avec texte défilant » : la mise à jour d'Impact passe les titres des blocs de .h2 à .h1.
   On garde la taille .h2 (pages Devenir marchand, Corporatif, Marché de Noël, etc.). */
.shopify-section--images-and-text-scrolling .images-scrolling__content .h1 {
  font-size: var(--text-h2);
  line-height: 1.1;
}

/* Retouches faites directement dans assets/theme.css du thème en ligne (OFFICIEL 16 OCTOBRE), perdues avec la mise à jour
   d'Impact. Reprises ici pour ne pas modifier le theme.css d'Impact. */

/* Prix de la fiche produit (et autres textes .text-lg) en 22 px. */
.text-lg {
  font-size: 22px;
}

/* Prix soldés en noir, gras 600, 18 px (au lieu de la couleur « solde » du thème). */
.text-on-sale {
  color: #202020;
  font-weight: 600;
  font-size: 18px;
}

/* Champ de quantité : largeur fixe (la nouvelle version d'Impact l'ajuste au nombre de chiffres). */
.quantity-input {
  width: 44px;
}

@media screen and (min-width: 700px) {
  .quantity-input {
    width: 48px;
  }
}

/* Coins arrondis des tiroirs (panier, recherche, menu) et de la bannière des témoins. */
.drawer::part(content),
.privacy-bar__inner {
  border-radius: 8px;
}

/* Pastilles de variantes : 2 px au-dessus et au-dessous, pour que le contour de la pastille choisie ne soit pas coupé. */
.variant-picker__option-values.scroll-area {
  padding-block-start: 2px;
  padding-block-end: 2px;
}

/* Encadrés .offer (boîte « Commande cadeau » du panier, offres de la fiche produit) : la mise à jour d'Impact
   passe la marge intérieure de 16 à 20 px et l'écart de 4 à 8 px. On garde les valeurs d'avant. */
.offer {
  gap: var(--spacing-1);
  padding: var(--spacing-4);
}

/* ==========================================================================
   2. ACCUEIL
   ========================================================================== */

/* --------------------------------------------------------------------------
   2.1 Temps des fêtes
   -------------------------------------------------------------------------- */

/* TEMPS DES FETES ACCUEIL */
.shopify-section--featured-collection .section {
    padding-block-start: calc(var(--calculated-section-spacing-block-start)/1.5)!important;
    padding-block-end: calc(var(--calculated-section-spacing-block-end)/2)!important;
}
.shopify-section--featured-collection .section-stack {
    gap: calc(var(--section-stack-spacing-block, 0px)/2) var(--section-stack-spacing-inline, 0px)!important;
}
.shopify-section--featured-collection .product-card__info {
  padding: 1rem!important;
}
.gfa-widget.GSC-tDYeNPHSvDpwUQe {
  padding: 40px 20px !important;
}

@media screen and (min-width: 1000px) {
  .gfa-widget.GSC-tDYeNPHSvDpwUQe {
    padding-left: 0 !important;
  }
}
@media screen and (min-width: 700px) {
    .scrollable-with-controls {
        gap: calc(var(--spacing-10)/2)!important;
    }
}

/* --------------------------------------------------------------------------
   2.2 Bannière vidéo
   -------------------------------------------------------------------------- */

/*
* ACCUEIL
*/
/* Bannière vidéo (section SS - Video banner pro, réglée sur Height = Auto depuis le 8 oct. 2026) : la bannière prend
   la forme des vidéos, 8:3 sur ordinateur et 4:5 sur cellulaire. Rien n'est coupé, quel que soit l'écran.
   Remplace l'ancienne hauteur forcée à la hauteur de l'écran (qui coupait les nouvelles vidéos). */
video[class*="video-banner-video-"] {
  aspect-ratio: 8 / 3;
  height: auto !important;
}
@media (max-width: 1023px) {
  video[class*="video-banner-video-"] {
    aspect-ratio: 4 / 5;
  }
}

/* --------------------------------------------------------------------------
   2.3 Slideshow (commenté)
   -------------------------------------------------------------------------- */

/*.slideshow .h0 {
  font-family: 'jost' !important;
  font-weight:700;
  letter-spacing: var(--text-letter-spacing);
}
.slideshow .content {
  font-size:var(--text-h5);
}
.slideshow .button {
  border:1px solid rgb(var(--button-outline-color));
}*/

/* --------------------------------------------------------------------------
   2.4 Titres de sections
   -------------------------------------------------------------------------- */

#shopify-section-ef04bdae-d146-4b3f-98a1-8e17ecc1a415 .h2 {
  font-size: 1.5rem !important;
}


/* Réduire uniquement ces trois titres de la page d’accueil */
[id$="__custom_liquid_gcw3km"] .mm-heading,
[id$="__featured_collection_tBkXDF"] .section-header .h2,
[id$="__featured_collection_CmbHNm"] .section-header .h2 {
  font-size: 30px !important;
  line-height: 1.2 !important;
}

/* Taille mobile */
@media screen and (max-width: 699px) {
  [id$="__custom_liquid_gcw3km"] .mm-heading,
  [id$="__featured_collection_tBkXDF"] .section-header .h2,
  [id$="__featured_collection_CmbHNm"] .section-header .h2 {
    font-size: 25px !important;
  }
}

/* Réduire d’autres titres de la page d’accueil */
[id$="__recently_viewed_products_BGzVFw"] .section-header .h2,
[id$="__featured_collection_6CVqAT"] .section-header .h2,
[id$="__featured_collection_nNa9kF"] .section-header .h2,
[id$="__featured_collection_dtC7xi"] .section-header .h2 {
  font-size: 30px !important;
  line-height: 1.2 !important;
}

@media screen and (max-width: 699px) {
  [id$="__recently_viewed_products_BGzVFw"] .section-header .h2,
  [id$="__featured_collection_6CVqAT"] .section-header .h2,
  [id$="__featured_collection_nNa9kF"] .section-header .h2,
  [id$="__featured_collection_dtC7xi"] .section-header .h2 {
    font-size: 25px !important;
  }
}

/* --------------------------------------------------------------------------
   2.5 Widget Instagram (GFA)
   -------------------------------------------------------------------------- */

.gfa-content__text > h3,
.gfa-content__text > span {
  text-align: left !important;
}

.gfa-content__text {
  align-self: flex-start !important;
}

.gfa-content__button-container {
  align-self: flex-start !important;
}

/* Centrer le bouton du widget Instagram */
.gfa-content.GSC-tDYeNPHSvDpwUQe > a:last-child,
.gfa-content.GSC-tDYeNPHSvDpwUQe > button:last-child {
  display: flex !important;
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Cas où le bouton se trouve dans un conteneur */
.gfa-content.GSC-tDYeNPHSvDpwUQe > div:last-child {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

.gfa-content.GSC-tDYeNPHSvDpwUQe > div:last-child > a,
.gfa-content.GSC-tDYeNPHSvDpwUQe > div:last-child > button {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* SL — Alignement accueil avis + Instagram
   Sur grand écran, le parent est déjà aligné sur le conteneur Impact.
   Quand le viewport devient plus étroit (ex. zoom navigateur), on remet
   le gutter natif d'Impact pour garder le même départ que les titres standards. */
/*.sl-rv__head {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}*/

/*@media screen and (max-width: 1695px) {
  .sl-rv__head {
    width: calc(100% - (var(--container-gutter) * 2)) !important;
    margin-inline: auto !important;
  }
}*/

[id$="__1763553199f30ac911"] :is(h1, h2, h3, h4) {
  width: calc(100% - (var(--container-gutter) * 2));
  max-width: 1300px;
  margin-inline: auto !important;
}


/* SL — Instagram : conserver l’alignement gauche Impact, étendre à droite */
@media screen and (min-width: 1000px) {
  [id*="__1763553199f30ac911"] .section {
    padding-inline-end: 0 !important;
  }

  [id*="__1763553199f30ac911"] .shopify-app-block {
    width: 100% !important;
    max-width: none !important;
  }

  .gfa-widget.GSC-tDYeNPHSvDpwUQe {
    width: 100% !important;
    max-width: none !important;
  }

  .gfa-content.GSC-tDYeNPHSvDpwUQe {
    width: 100% !important;
    max-width: none !important;
    --gfa-content-max-width: 100% !important;
  }
}


/* SL — Instagram : bouton centré selon GSC */
@media screen and (min-width: 1000px) {
  .gfa-widget.GSC-tDYeNPHSvDpwUQe
  .gfa-content__button-container.button-LDjMGRYqAVBH {
    align-self: center !important;
    position: static !important;
    left: auto !important;
    transform: none !important;
  }
}


/* ==========================================================================
   3. HEADER
   ========================================================================== */

    .section-header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    column-gap: 16px !important;
  }

/* --------------------------------------------------------------------------
   3.1 Barre d'annonce
   -------------------------------------------------------------------------- */

/* HEADER */
.announcement-bar.announcement-bar .bold { font-weight:400 !important; }
/* Barre d'annonce amincie (8 oct. 2026) : un seul rang de texte sur ordinateur ; sur cellulaire, marges de 6 px
   et le texte peut aller sur deux lignes. */
.announcement-bar { padding-block: 6px !important; }
.announcement-bar__static-list { max-width: none !important; }
.announcement-bar__static-list p { white-space: normal; }
@media (min-width: 700px) {
  .announcement-bar__static-list p { white-space: nowrap; }
  .announcement-bar.announcement-bar { padding-block: 6px !important; }
  .announcement-bar__wrapper.announcement-bar__wrapper {
    max-width: none !important;
    width: max-content;
    margin-inline: auto;
  }
}

/* --------------------------------------------------------------------------
   3.2 Header : base, navigation et recherche
   -------------------------------------------------------------------------- */

/*
* HEADER 
*/
.header__logo {
  max-width: max-content;
  grid-area: logo;
  display: block;
  position: relative;
  margin-left:auto;
  margin-right:auto;
}
.header__logo-image {
  height: var(--header-logo-height);
}
.header__main-nav {
  justify-self:start;
}
@media screen and (min-width: 1150px) {
  .header__main-nav {
    justify-self:center;
  }
}
.header__secondary-nav {
    flex-direction:row-reverse;
}
.header__link-list {
  grid-area: link-list;
  font-size:15px;
}
.custom-search-form-sl {
    display: flex;
    flex-direction: row;
}
.custom-search-form-sl input[type="search"] {
    padding: 8px 15px;
    border: 1px solid rgb(43 71 53 / 10%);
    width: clamp(50px, 20vw, 400px);
}
.custom-search-form-sl button[type="submit"] {
    width: 40px;
    height: auto;
    background: #2b4735;
    color: #ffffff;
    text-align: center;
}
.custom-search-form-sl button[type="submit"] svg {
    margin-left: auto;
    margin-right: auto;
}
.custom-search-form-sl button[type="submit"]:hover {
  background:rgba(43,71,53,0.9);
}

@media screen and (min-width: 1150px) {
  .header__icon-list .tap-area[aria-controls="search-drawer"] {
    position:relative;
    margin-right:20px;
  }
  .header__icon-list .tap-area[aria-controls="search-drawer"]:after {
      display: block;
      width: 265px;
      height: 40px;
      border: 1px solid rgba(0, 0, 0, 0.2);
      content: '';
      position: absolute;
      right: 0;
      top: 0;
      transform: translate(10px, -10px);
      content: attr(aria-label);
      padding: 8px;
      color: rgba(0, 0, 0, 0.5);
  }
}
.header__icon-list {
  justify-content:flex-end;
  grid-area: icon-list;
}
@media screen and (min-width: 1150px) {
      .header__main-nav .header__link-list {
    width:100%;
    justify-content:space-between;
  }
}
.mega-menu .navigation-promo__wrapper,
.mega-menu .navigation-promo {
  margin-left: 0 !important;
}

/* reporté de header.liquid code custom inline 2026-09-17 */
.header__main-nav .header__link-list a,
.header__main-nav .header__link-list summary,
.header__main-nav .header__link-list button {
  font-family: var(--text-font-family) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: var(--text-letter-spacing) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

@media screen and (max-width: 699px) {
  /*#shopify-section-{{ section.id }} {
    position: relative !important;
    top: auto !important;
    z-index: 50;
  }*/

  .header__icon-list > a[aria-controls="search-drawer"] {
    display: none !important;
  }

  .mobile-sticky-search {
    display: block;
    position: relative;
    z-index: 60;
    padding: 10px 16px;
    background: #ffffff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  }

  .mobile-sticky-search.is-fixed {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 90;
    padding: 10px 16px;
    background: #ffffff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  }

  .mobile-sticky-search-placeholder {
    display: none;
    height: 0;
  }

  .mobile-sticky-search-placeholder.is-active {
    display: block;
  }

  .mobile-sticky-search__form {
    position: relative;
    display: flex;
    align-items: center;
    width: 300px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .mobile-sticky-search__input {
    display: flex;
    align-items: center;
    width: 100%;
    height: 46px;
    padding: 0 46px 0 12px;
    border: 1px solid #d3d3d3;
    border-radius: 4px;
    background: #ffffff;
    color: #777777;
    font-size: 0;
    line-height: 1;
    text-align: left;
    box-shadow: none;
    appearance: none;
  }

  .mobile-sticky-search__input::before {
    content: attr(data-desktop-label);
    font-size: 16px;
    line-height: 1;
    color: #777777;
  }

  .mobile-sticky-search__icon {
    position: absolute;
    right: 12px;
    left: auto;
    z-index: 1;
    display: flex;
    align-items: center;
    pointer-events: none;
    color: rgb(var(--text-color));
  }

  main,
  [role="main"] {
    padding-top: 0 !important;
  }
}

@media screen and (min-width: 700px) {
  .mobile-sticky-search {
    display: none !important;
  }

  .mobile-sticky-search.is-fixed {
    display: block !important;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 90;
    padding: 10px 0;
    background: #ffffff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  }

  .mobile-sticky-search-placeholder {
    display: none !important;
  }

  .mobile-sticky-search__form {
  position: relative;
  display: flex;
  align-items: center;
  width: 300px;
  max-width: calc(100vw - 48px);
  margin-left: auto;
  margin-right: var(--desktop-search-right, 24px);
  padding: 0;
  border: 0;
  background: transparent;
}

  .mobile-sticky-search__input {
    display: flex;
    align-items: center;
    width: 100%;
    height: 46px;
    padding: 0 46px 0 12px;
    border: 1px solid #d3d3d3;
    border-radius: 4px;
    background: #ffffff;
    color: #777777;
    font-size: 0;
    line-height: 1;
    text-align: left;
    box-shadow: none;
  }

  .mobile-sticky-search__input::before {
    content: attr(data-desktop-label);
    font-size: 16px;
    line-height: 1;
    color: #777777;
  }

  .mobile-sticky-search__icon {
    position: absolute;
    right: 12px;
    left: auto;
    z-index: 1;
    display: flex;
    align-items: center;
    pointer-events: none;
    color: rgb(var(--text-color));
  }
}

@media screen and (max-width: 699px) {
  .mobile-sticky-search.is-fixed .mobile-sticky-search__form {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }
}

@media screen and (min-width: 700px) {
  .mobile-sticky-search.is-fixed .mobile-sticky-search__form {
    width: calc(100% - 48px);
    max-width: 1280px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1150px) {
  .header__icon-list .tap-area[aria-controls="search-drawer"]:after {
    border-radius: 4px;
  }
}
/* fin reporté */

.mobile-sticky-search__input--fake {
  display: flex;
  align-items: center;
  color: rgba(var(--text-color), 0.65);
  cursor: text;
}

/* --------------------------------------------------------------------------
   3.3 Header : espacement
   -------------------------------------------------------------------------- */

.header__wrapper {
row-gap: 24px !important;
}

/* --------------------------------------------------------------------------
   3.4 Header : menu du bas
   -------------------------------------------------------------------------- */

/* Header - rendre le menu du bas aussi foncé/gras que le menu du haut */
@media screen and (min-width: 1150px) {
  store-header.header .header__main-nav nav.header__link-list.wrap > ul.contents > li > a,
  store-header.header .header__main-nav nav.header__link-list.wrap > ul.contents > li > details > summary,
  store-header.header .header__main-nav nav.header__link-list.wrap > ul.contents > li > button {
    font-family: var(--text-font-family), sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
    letter-spacing: 0 !important;
    font-style: normal !important;
    text-transform: none !important;
    color: #202020 !important;
    opacity: 1 !important;
    -webkit-font-smoothing: auto !important;
    text-rendering: auto !important;
  }

  store-header.header .header__main-nav nav.header__link-list.wrap > ul.contents {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--spacing-6) !important;
  }

  store-header.header .header__main-nav nav.header__link-list.wrap .text-with-icon {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  store-header.header .header__main-nav nav.header__link-list.wrap .icon-chevron-bottom {
    width: 10px !important;
    height: 7px !important;
    position: relative !important;
    top: 1px !important;
    color: #202020 !important;
    opacity: 1 !important;
  }
}

/* --------------------------------------------------------------------------
   3.5 Mega menu
   -------------------------------------------------------------------------- */

/* Mega menu - fermeture rapide au mouseleave */
details[is="mega-menu-disclosure"] > .mega-menu,
details[is="mega-menu-disclosure"][open] > .mega-menu {
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.mega-menu {
  --mega-menu-block-padding: var(--spacing-10);
  --mega-menu-gap: var(--spacing-12);
  width: 100%;
  gap: var(--mega-menu-gap);
  justify-content: var(--mega-menu-justify-content);
  padding: var(--mega-menu-block-padding) 30px;
  max-width: calc(100vw - var(--container-gutter) * 2);
  left: calc(var(--container-gutter) / 2) !important;
  max-height: calc(100vh - var(--sticky-announcement-bar-enabled, 0) * var(--announcement-bar-height, 0px) - var(--header-height, 0px) - 20px);
  overscroll-behavior-y: contain;
  background: rgb(var(--header-background));
  color: rgb(var(--header-text));
  mix-blend-mode: plus-lighter;
  border-block-start-width: 1px;
  align-items: flex-start;
  display: flex;
  position: absolute;
  top: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  box-shadow: 0 9999px 0 9999px #0006;
}
.mega-menu__nav a {
  padding: 2px 0 !important;
  line-height: 1.2 !important;
}
.mega-menu .navigation-promo__wrapper {
  flex: 0 0 auto !important;
  max-width: max-content !important;
  margin-left: 0 !important;
}
button.mega-menu__close {
  display: none !important;
}

/* @media screen and (min-width: 1150px) {
  #navigation-promo-{{ promo_id }} .content-over-media {
    --content-over-media-height: 380px !important;
  }
}

@media screen and (min-width: 1400px) {
  #navigation-promo-{{ promo_id }} .content-over-media {
    --content-over-media-height: 420px !important;
  }
}*/
/* Mega menu: reduce promo carousel image height */
/*.navigation-promo--carousel .content-over-media {
  max-height: 220px;
}

.navigation-promo--carousel .content-over-media img {
  height: 220px;
  object-fit: cover;
} */


@media screen and (min-width: 1150px) {
  .mega-menu {
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 42px !important;
  }
  .mega-menu .mega-menu__nav {
    flex: 0 1 46% !important;
    max-width: 46% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 42px;
    row-gap: 22px;
  }
  .mega-menu__nav > li ul,
  .mega-menu__nav-sublist {
      gap: 8px;
  }
  .mega-menu__nav > li > a,
  .mega-menu__nav > li > a.h5,
  .mega-menu__nav > li > a span,
  .mega-menu__nav-heading,
  .mega-menu__nav-heading span {
      font-size: 16px !important;
      line-height: 1.25 !important;
  }

  .mega-menu__nav ul a,
  .mega-menu__nav .link-faded,
  .mega-menu__nav .reversed-link {
      font-size: 15px !important;
      line-height: 1.3 !important;
  }

  .mega-menu__promo {
      flex: 0 0 24%;
      max-width: 24%;
      min-width: 220px;
  }

  .mega-menu__promo img,
  .mega-menu__promo picture,
  .mega-menu__promo svg,
  .mega-menu__promo .content-over-media {
      width: 100% !important;
      max-width: 100% !important;
  }
  .mega-menu .navigation-promo__wrapper {
    max-width: none !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin:0!important;
  }
  .mega-menu .navigation-promo__carousel-controls {
    display: none !important;
  }
  .mega-menu > *:not(.navigation-promo__wrapper) {
    min-width: 0;
  }
  .mega-menu .navigation-promo__wrapper {
    flex: 0 1 50% !important;
    max-width: 50% !important;
    width: auto !important;
    min-width: 0 !important;
    margin-left: 0 !important;

    /*flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;*/
  }
  .mega-menu .navigation-promo {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, 200px) !important;
    gap: 14px !important;
    justify-content: center !important;
    align-items: start !important;
    width: auto !important;
  }
  .mega-menu .mega-menu__promo-carousel {
    max-width: none !important;
    width: 100% !important;
  }
  .mega-menu mega-menu-promo-carousel.navigation-promo--carousel {
    /*display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;*/
    gap: 12px !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .mega-menu mega-menu-promo-carousel.navigation-promo--carousel > * {
    grid-area: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  .mega-menu .navigation-promo .content-over-media {
    width: 200px !important;
    height: 200px !important;
    aspect-ratio: 1 / 1 !important;
    max-width: 200px !important;
    max-height: 200px !important;
    overflow: hidden !important;
    aspect-ratio: 1 !important;
    width: 100% !important;
    height: auto !important;
  }
  .mega-menu .navigation-promo .content-over-media img,
  .mega-menu .navigation-promo .content-over-media picture,
  .mega-menu .navigation-promo .content-over-media svg {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }
}


  /* Let the carousel work normally between 1150px and 1399px */
/*@media screen and (min-width: 1150px) and (max-width: 1399px) {
  .mega-menu mega-menu-promo-carousel.navigation-promo--carousel {
    width: 100% !important;
  }

  .mega-menu mega-menu-promo-carousel.navigation-promo--carousel > * {
    width: 100% !important;
  }

  .mega-menu .navigation-promo__carousel-controls {
    display: flex !important;
  }
}

  .mega-menu .navigation-promo__wrapper .content-over-media,
  .mega-menu .navigation-promo__wrapper .content-over-media img,
  .mega-menu .navigation-promo__wrapper .content-over-media picture,
  .mega-menu .navigation-promo__wrapper .content-over-media svg {
    width: 100% !important;
  }

  .mega-menu .navigation-promo__wrapper .content-over-media {
    overflow: hidden !important;
  }

  .mega-menu .navigation-promo__wrapper .content-over-media img,
  .mega-menu .navigation-promo__wrapper .content-over-media picture,
  .mega-menu .navigation-promo__wrapper .content-over-media svg {
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
}*/

/* Large desktop: keep 3 images side by side */
/*@media screen and (min-width: 1361px) {
  .mega-menu mega-menu-promo-carousel.navigation-promo--carousel {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .mega-menu .navigation-promo__wrapper .content-over-media {
    height: clamp(240px, 18vw, 320px) !important;
    max-height: 320px !important;
  }
}*/

/* Small desktop / 1280x720-ish: keep text wider + real carousel */
/*@media screen and (min-width: 1150px) and (max-width: 1360px) {
  .mega-menu {
    align-items: start !important;
  }

  .mega-menu > *:not(.navigation-promo__wrapper) {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .mega-menu .navigation-promo__wrapper {
    flex: 0 0 220px !important;
    max-width: 220px !important;
    width: 220px !important;
    min-width: 220px !important;
    margin-inline-start: auto !important;
  }

  .mega-menu .mega-menu__nav {
    column-count: 3 !important;
    column-gap: 24px !important;
    display: block !important;
    max-width: calc(100% - 220px - 20px) !important;
  }

  .mega-menu .mega-menu__nav > li {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    display: inline-block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-bottom: 18px !important;
    vertical-align: top !important;
  }*/

  /* Real carousel: slides must overlap, not stack vertically */
  /*.mega-menu mega-menu-promo-carousel.navigation-promo--carousel {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .mega-menu mega-menu-promo-carousel.navigation-promo--carousel > * {
    grid-area: 1 / 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .mega-menu .navigation-promo__carousel-controls {
    display: flex !important;
    z-index: 3 !important;
  }

  .mega-menu .navigation-promo__wrapper .content-over-media {
    height: 220px !important;
    max-height: 220px !important;
    overflow: hidden !important;
  }

  .mega-menu .navigation-promo__wrapper .content-over-media img,
  .mega-menu .navigation-promo__wrapper .content-over-media picture,
  .mega-menu .navigation-promo__wrapper .content-over-media svg {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    display: block !important;
  }
}*/

/*@media screen and (min-width: 1400px) {
  .mega-menu {
    gap: 64px !important;
  }

  .mega-menu .navigation-promo {
    grid-template-columns: repeat(3, 210px) !important;
    gap: 16px !important;
  }

  .mega-menu .navigation-promo .content-over-media {
    width: 210px !important;
    height: 210px !important;
    max-width: 210px !important;
    max-height: 210px !important;
  }
}*/



/*@media screen and (min-width: 1150px) and (max-width: 1365px) {
    .mega-menu__nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 42px;
        row-gap: 22px;
    }

    .mega-menu__promo {
        flex: 0 0 22%;
        max-width: 22%;
        min-width: 200px;
    }
}*/
/* Firefox : pendant le passage direct d'un libelle de mega-menu a un autre,
     on se base sur le summary réellement survole plutot que sur details:hover. */
@supports (-moz-appearance: none) {
@media screen and (min-width: 1150px) and (pointer: fine) {
    .header__link-list:has(details[is="mega-menu-disclosure"][trigger="hover"] > summary:hover)
    details[is="mega-menu-disclosure"][trigger="hover"][open]:not(:has(> summary:hover)) > .mega-menu {
    opacity: 0 !important;
    }

    .header__link-list
    details[is="mega-menu-disclosure"][trigger="hover"][open]:has(> summary:hover) > .mega-menu {
    opacity: 1 !important;
    }
}
}

/* --------------------------------------------------------------------------
   3.6 Recherche prédictive
   -------------------------------------------------------------------------- */

/* Recherche prédictive : suggestions à gauche */
.sl-predictive-layout {
  display: grid;
  grid-template-columns: minmax(220px, 30%) minmax(0, 1fr);
  align-items: start;
  gap: clamp(28px, 4vw, 60px);
  width: 100%;
}

.sl-predictive-suggestions {
  min-width: 0;
  padding-right: clamp(22px, 3vw, 42px);
  border-right: 1px solid rgba(0, 0, 0, 0.14);
}

.sl-predictive-suggestions__heading {
  margin: 0 0 22px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
}

.sl-predictive-suggestions__list {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sl-predictive-suggestions__link {
  display: flex;
  align-items: center;
  gap: 13px;
  color: inherit;
  font-size: 18px;
  line-height: 1.35;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.sl-predictive-suggestions__link:hover {
  opacity: 0.6;
}

.sl-predictive-suggestions__icon {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
}

.sl-predictive-suggestions__link mark {
  padding: 0;
  background: transparent;
  color: inherit;
  font-weight: 700;
}

.sl-predictive-current-results {
  min-width: 0;
}

/* Version mobile */
@media screen and (max-width: 749px) {
  .sl-predictive-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .sl-predictive-suggestions {
    padding: 0 0 24px;
    border-right: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  }

  .sl-predictive-suggestions__list {
    gap: 14px;
  }

  .sl-predictive-suggestions__link {
    font-size: 16px;
  }
}


/* --------------------------------------------------------------------------
   3.9 En-tête sur ordinateur : marges, menu en 14 px, en-tête fixe et compact au défilement
   (repris du thème en ligne le 16 oct. 2026 ; comportement dans assets/sl-theme.js, « En-tête compact »)
   -------------------------------------------------------------------------- */

@media (min-width: 1000px) {
  .header__wrapper { padding-block: 16px !important; row-gap: 24px !important; }
  html body store-header.header .header__link-list a,
  html body store-header.header .header__main-nav nav.header__link-list.wrap > ul.contents > li > a,
  html body store-header.header .header__main-nav nav.header__link-list.wrap > ul.contents > li > details > summary,
  html body store-header.header .header__main-nav nav.header__link-list.wrap > ul.contents > li > button { font-size: 14px !important; }
}
@media (min-width: 1150px) {
  store-header .header__wrapper { transition: padding-block 0.3s ease, row-gap 0.3s ease; }
  store-header .header__main-nav { max-height: 60px; transition: max-height 0.3s ease, opacity 0.2s ease 0.1s; }
  store-header.sl-fixe {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 30;
    background: #fdfdfd;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
  }
  store-header.sl-fixe.sl-compact {
    background: rgba(253, 253, 253, 0.9);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 10px rgba(0, 0, 0, 0.07);
  }
  store-header.sl-compact .header__wrapper { padding-block: 14px !important; row-gap: 0px !important; }
  store-header.sl-compact .header__main-nav {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition: max-height 0.3s ease, opacity 0.15s ease;
  }
  height-observer .mobile-sticky-search.is-fixed { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  store-header, store-header .header__wrapper, store-header .header__main-nav { transition: none !important; }
}

/* ==========================================================================
   4. COLLECTION / RECHERCHE
   ========================================================================== */

.sl-collection-title {
  font-weight: 400 !important;
}

.blog-filter-list__placeholder-do-not-use { }

.facets__floating-filter {
  width: 100%;
  text-align: center;
  z-index: 1;
  position: static;
  bottom: var(--spacing-4);
}

/* Collections sur cellulaire : la mise à jour d'Impact ajoute son gros bouton « Filtrer et trier ».
   On garde seulement le petit bouton à côté du nombre de produits, comme OFFICIEL (16 OCTOBRE). */
.shopify-section--main-collection facet-floating-filter.facets__floating-filter {
  display: none;
}

.collection-load-more__button {
  cursor: pointer;
}

/* Bouton Voir plus : pages de collection et de recherche (snippets/sl-voir-plus.liquid) */
:is(.shopify-section--main-collection, .shopify-section--main-search) .collection-load-more {
  text-align: center;
}

/* Espace autour du bouton : seulement sur la recherche, comme OFFICIEL (16 OCTOBRE) (collections sans marge). */
.shopify-section--main-search .collection-load-more {
  margin-block-start: var(--spacing-10);
  margin-block-end: var(--spacing-12);
}

:is(.shopify-section--main-collection, .shopify-section--main-search) .collection-load-more__count {
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 600;
}

:is(.shopify-section--main-collection, .shopify-section--main-search) .collection-load-more__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 280px;
  min-height: 48px;
  padding: 0 32px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
  background: #000;
  border: 1px solid #000;
  border-radius: 4px;
}

:is(.shopify-section--main-collection, .shopify-section--main-search) .collection-load-more__button:hover {
  background: #333;
  border-color: #333;
}

:is(.shopify-section--main-collection, .shopify-section--main-search) .collection-load-more__done {
  margin-top: 18px;
  font-size: 14px;
  font-weight: 600;
}

/* Centrer le compteur et le bouton « Voir plus de produits locaux » */
.collection-load-more.collection__pagination {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.collection-load-more__button {
  margin-inline: auto !important;
  background-color: #2C4A3E !important;
  color: #ffffff !important;
  border-color: #2C4A3E !important;
}

.collection-load-more__button:hover {
  background-color: #233b32 !important;
  border-color: #233b32 !important;
}

/* Page de recherche : aligner le bouton avec la grille de produits */
@media screen and (min-width: 1000px) {
  .shopify-section--main-search
  .collection--filters-sidebar
  .collection-load-more.collection__pagination {
    grid-column: 2 / -1 !important;
  }
}

/* Grille des pages de collection */
.shopify-section--main-collection .main-collection-grid-settings {
  --product-list-gap: var(--main-collection-mobile-gap);
  --product-list-items-per-row: var(--main-collection-mobile-columns);
  --product-list-grid:
    auto-flow dense /
    repeat(var(--product-list-items-per-row), minmax(0, 1fr));
  --product-list-promo-grid-column:
    span var(--main-collection-mobile-promo-span);
  --content-over-media-gap: var(--spacing-8);
}

@media screen and (min-width: 700px) {
  .shopify-section--main-collection .main-collection-grid-settings {
    --product-list-gap:
      var(--product-list-row-gap)
      var(--product-list-column-gap);
    --product-list-items-per-row: 2;
    --product-list-promo-grid-column: span 1;
  }
}

@media screen and (min-width: 1000px) {
  .shopify-section--main-collection .main-collection-grid-settings {
    --product-list-items-per-row:
      var(--main-collection-columns-1000);
    --product-list-promo-grid-column: span 2;
  }
}

@media screen and (min-width: 1200px) {
  .shopify-section--main-collection .main-collection-grid-settings {
    --product-list-items-per-row:
      var(--main-collection-columns-1200);
  }
}

@media screen and (min-width: 1400px) {
  .shopify-section--main-collection .main-collection-grid-settings {
    --product-list-items-per-row:
      var(--main-collection-columns-1400);
  }
}

/* Blocs promotionnels dans la grille de collection */
@media screen and (min-width: 1400px) {
  .shopify-section--main-collection .product-list__promo--span-1 {
    --product-list-promo-grid-column: span 1;
  }

  .shopify-section--main-collection .product-list__promo--span-2 {
    --product-list-promo-grid-column: span 2;
    --content-over-media-column-gap: var(--spacing-12);
  }
}

/* Sous-collections (menu en carrousel) */
.subcollection-menu {
    position: relative;
    z-index: 1;
    padding-top: var(--subcollection-padding-top);
    padding-bottom: var(--subcollection-padding-bottom);
    overflow: hidden;
    color: var(--subcollection-text);
    background: var(--subcollection-background);
}

.subcollection-menu .subcollection-menu__heading {
    margin: 0 0 24px;
    color: inherit;
    text-align: center;
}

.subcollection-menu .subcollection-menu__carousel {
    position: relative;
    min-width: 0;
}

.subcollection-menu .subcollection-menu__viewport {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.subcollection-menu
    .subcollection-menu__viewport::-webkit-scrollbar {
    display: none;
}

.subcollection-menu .subcollection-menu__track {
    display: flex;
    align-items: flex-start;
    gap: var(--subcollection-gap);
    width: max-content;
    min-width: 100%;
    padding-inline: 4px;
}

.subcollection-menu .subcollection-menu__card {
    display: flex;
    flex: 0 0 var(--subcollection-card-width);
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: var(--subcollection-card-width);
    color: inherit;
    text-align: center;
    text-decoration: none;
    scroll-snap-align: start;
}

.subcollection-menu .subcollection-menu__media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--subcollection-card-width);
    height: var(--subcollection-card-width);
    padding: 4px;
    overflow: hidden;
    background: var(--subcollection-border);
    transition:
    transform 200ms ease,
    box-shadow 200ms ease;
}

.subcollection-menu
    .subcollection-menu__media--circle {
    border-radius: 50%;
}

.subcollection-menu
    .subcollection-menu__media--rounded {
    border-radius: 22px;
}

.subcollection-menu
    .subcollection-menu__media--square {
    border-radius: 0;
}

.subcollection-menu
    .subcollection-menu__media--hexagon {
    clip-path: polygon(
    25% 4%,
    75% 4%,
    100% 25%,
    100% 75%,
    75% 96%,
    25% 96%,
    0 75%,
    0 25%
    );
}

.subcollection-menu .subcollection-menu__image,
.subcollection-menu .subcollection-menu__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: var(--subcollection-image-background);
}

.subcollection-menu
    .subcollection-menu__media--circle
    .subcollection-menu__image,
.subcollection-menu
    .subcollection-menu__media--circle
    .subcollection-menu__placeholder {
    border-radius: 50%;
}

.subcollection-menu
    .subcollection-menu__media--rounded
    .subcollection-menu__image,
.subcollection-menu
    .subcollection-menu__media--rounded
    .subcollection-menu__placeholder {
    border-radius: 18px;
}

.subcollection-menu
    .subcollection-menu__media--hexagon
    .subcollection-menu__image,
.subcollection-menu
    .subcollection-menu__media--hexagon
    .subcollection-menu__placeholder {
    clip-path: inherit;
}

.subcollection-menu .subcollection-menu__title {
    display: -webkit-box;
    min-height: 2.6em;
    overflow: hidden;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.subcollection-menu
    .subcollection-menu__card:hover
    .subcollection-menu__media {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgb(0 0 0 / 14%);
}

.subcollection-menu .subcollection-menu__arrow {
    position: absolute;
    top: calc(var(--subcollection-card-width) / 2);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    color: var(--subcollection-text);
    cursor: pointer;
    background: rgb(255 255 255 / 85%);
    border: 0;
    border-radius: 50%;
    box-shadow: 0 3px 12px rgb(0 0 0 / 16%);
    transform: translateY(-50%);
}

.subcollection-menu
    .subcollection-menu__arrow--previous {
    left: -18px;
}

.subcollection-menu
    .subcollection-menu__arrow--next {
    right: -18px;
}

.subcollection-menu
    .subcollection-menu__arrow:disabled {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

.subcollection-menu
    .subcollection-menu__arrow[hidden] {
    display: none;
}

@media screen and (max-width: 999px) {
    .subcollection-menu .subcollection-menu__arrow {
    display: none;
    }
}

@media screen and (max-width: 699px) {
    .subcollection-menu .subcollection-menu__track {
    gap: 14px;
    padding-inline: 16px;
    }

    .subcollection-menu .subcollection-menu__card {
    flex-basis: var(--subcollection-mobile-card-width);
    width: var(--subcollection-mobile-card-width);
    gap: 9px;
    }

    .subcollection-menu .subcollection-menu__media {
    width: var(--subcollection-mobile-card-width);
    height: var(--subcollection-mobile-card-width);
    }

    .subcollection-menu .subcollection-menu__title {
    font-size: 13px;
    }

    .subcollection-menu .subcollection-menu__heading {
    margin-bottom: 18px;
    }

    .subcollection-menu .subcollection-menu__container {
    padding-inline: 0;
    }
}

/* Pages « produits certifiés » : bannières sans ombre ni filtre */
body[class*="produits-certifies"] .content-over-media,
body[class*="produits-certifies"] .content-over-media img,
body[class*="produits-certifies"] .collection-banner,
body[class*="produits-certifies"] .collection-banner img,
body[class*="produits-certifies"] .collection__image,
body[class*="produits-certifies"] .collection__image img,
body[class*="produits-certifies"] .rte img,
body[class*="produits-certifies"] .prose img {
  box-shadow: none !important;
  filter: none !important;
}

body[class*="produits-certifies"] .content-over-media::before,
body[class*="produits-certifies"] .content-over-media::after,
body[class*="produits-certifies"] .collection-banner::before,
body[class*="produits-certifies"] .collection-banner::after,
body[class*="produits-certifies"] .collection__image::before,
body[class*="produits-certifies"] .collection__image::after {
  box-shadow: none !important;
  filter: none !important;
  background: transparent !important;
  background-image: none !important;
}


/* ==========================================================================
   5. PRODUIT
   ========================================================================== */

/* --------------------------------------------------------------------------
   5.1 Informations produit
   -------------------------------------------------------------------------- */

/*
* PRODUCT
*/
.product-info__title {
margin-bottom: -1rem;
font-size: 1.75rem !important;
}
.product-info__price .rating-with-text {
    margin-top:-1rem;
}
@media screen and (min-width: 1000px) {
  .product-gallery--desktop-grid .product-gallery__zoom {
    transition: opacity .2s ease-in-out, transform .2s ease-in-out;
  }
}
.product__media-wrapper {
  padding-left: 2%;
}

/* --------------------------------------------------------------------------
   5.2 Cartes produit et badges
   -------------------------------------------------------------------------- */

.badge--on-sale {
    font-size: 12px;
}

.badge--collective {
    font-weight: 400 !important;
    letter-spacing: 0.5px;
    text-align: center;
    line-height: 1.2;
    padding: 5px 10px!important;
    border-color: var(--primary-badge-background);
    background-color: rgba(241,241,241,0.8);
    color: var(--primary-badge-background);
}

.non-taxable-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #2b4735;
  color: #ffffff;
  /*font-family: Roboto, sans-serif;*/
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  padding: 4px 10px;
  border-radius: 4px;
  margin-left: 8px;
  margin-top: 0;
  vertical-align: middle;
  width: fit-content;
  transform: translateY(-4px);
}
.product-card-price-with-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.non-taxable-badge--card {
  font-size: 10px;
  padding: 3px 7px;
  border-radius: 3px;
  margin-left: 0;
  margin-top: 0;
  transform: translateY(-1px);
}

.lpdq-certification-badge {
display: inline-flex;
align-items: center;
margin-left: 8px;
padding: 3px 8px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
line-height: 1.2;
background: #f4f0e8;
color: #3f3a34;
white-space: nowrap;
vertical-align: middle;
}

@media screen and (max-width: 699px) {
.lpdq-certification-badge {
    margin-left: 6px;
    font-size: 11px;
}
}

/* --------------------------------------------------------------------------
   5.3 Variantes, quantité et paiement
   -------------------------------------------------------------------------- */

/* Logos de paiement et « Paiements 100% sécurisés » sous les boutons d'achat (snippets/sl-paiements-icones.liquid).
   Collés aux boutons comme dans OFFICIEL (16 OCTOBRE), où ils faisaient partie du bloc des boutons. */
.product-info__block-item:has(+ .product-info__block-item .sl-paiements-icones) {
  margin-block-end: 0;
}

.product-info__block-item:has(.sl-paiements-icones) {
  margin-block-start: 0;
}

.sl-paiements-icones__logos {
  margin-top: 12px;
  justify-content: center;
}

.sl-paiements-icones__texte {
  display: block;
  font-size: 14px;
  text-align: center;
}

/* Boutons « Ajouter au panier » et d'achat de la fiche en 0,95 rem, comme OFFICIEL (16 OCTOBRE)
   (règle reprise de snippets/sl-recherche-synonymes.liquid du thème en ligne). Sans elle, ils prendraient les 22 px de .button--xl. */
.buy-buttons button {
  font-size: 0.95rem;
}

.quantity-selector__input {
  -webkit-appearance: none;
  appearance: none;
}

.variant-picker {
    margin-top:-1rem;
    margin-bottom:-1rem;
}

.shopify-payment-button__button--branded.shopify-payment-button__button--branded:focus-within {
  outline: 2px solid Highlight;
  outline: 5px auto -webkit-focus-ring-color;
}

.shopify-payment-button__button--branded.shopify-payment-button__button--branded [role="button"] {
  line-height: inherit !important;
  padding: var(--shopify-payment-button-padding, var(--spacing-4) var(--spacing-8)) !important;
}

.shopify-payment-button__more-options[aria-hidden="true"] {
  display: none;
}

.shopify-payment-button__more-options {
  text-underline-position: under !important;
  text-align: center !important;
  margin-top: .5em !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
}

/* --------------------------------------------------------------------------
   5.4 Barre d'achat rapide (quick add)
   -------------------------------------------------------------------------- */

.product-quick-add {
  z-index: 999;
  padding: 1.25rem;
  top: 0;
  bottom: auto;
  left: 0;
  right: 0;
}

@media screen and (max-width: 999px) {
  .product-quick-add {
    top: 0 !important;
    bottom: auto !important;
    left: 0;
    right: 0;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    background: #ffffff !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
    padding: calc(10px + env(safe-area-inset-top)) 12px 10px;
    border-top: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  }

  .product-info buy-buttons:not(.product-quick-add__mobile-button) {
    display: none !important;
  }

  .product-quick-add__mobile {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    width: 100%;
  }

  .product-quick-add__details {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .product-quick-add__top-row {
    display: flex;
    align-items: baseline;
    gap: 10px;
    min-width: 0;
  }

  .product-quick-add__title {
    min-width: 0;
    flex: 1 1 auto;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.2;
    color: #111111;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .product-quick-add__mobile-price {
    flex: 0 0 auto;
    margin-top: 0 !important;
    display: flex;
    align-items: baseline;
    white-space: nowrap;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.2;
    color: #111111;
  }

  .product-quick-add__variant {
    margin-top: 0;
    font-size: 0.82rem;
    line-height: 1.2;
    color: rgba(17, 17, 17, 0.72);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .product-quick-add__mobile-button {
    min-width: 0;
    width: auto;
  }

  .product-quick-add__mobile-button .button,
  .product-quick-add__mobile-button button {
    width: auto;
    min-width: 160px;
  }
}

@media screen and (min-width: 1000px) {
  .product-quick-add {
    top: 0;
    bottom: auto;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: 16px 24px;
    background: #ffffff;
    border-top: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  }

  .product-quick-add__mobile {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    width: 100%;
  }

  .product-quick-add__details {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .product-quick-add__top-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    min-width: 0;
  }

  .product-quick-add__title {
    min-width: 0;
    flex: 1 1 auto;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    color: #111111;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .product-quick-add__mobile-price {
    flex: 0 0 auto;
    margin-top: 0 !important;
    display: flex;
    align-items: baseline;
    white-space: nowrap;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.2;
    color: #111111;
  }

  .product-quick-add__variant {
    margin-top: 0;
    font-size: 0.95rem;
    line-height: 1.2;
    color: rgba(17, 17, 17, 0.78);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .product-quick-add__mobile-button {
    min-width: 0;
    width: auto;
  }

  .product-quick-add__mobile-button .button,
  .product-quick-add__mobile-button button {
    width: auto;
    min-width: 190px;
  }
}

@media screen and (min-width: 1000px) {
  .product-quick-add {
  top: 0;
  bottom: auto;
  left: 0;
  right: 0;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 16px 24px;
  background: #ffffff;
  border-top: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

  .product-quick-add__mobile {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  width: 100%;
  max-width: 1400px;
  margin-inline: auto;
}

.product-quick-add__title-wrap {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.product-quick-add__title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  color: #111111;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-quick-add__actions {
  display: flex;
  align-items: center;
  gap: 20px;
  min-width: 0;
}

.product-quick-add__mobile-price {
  margin-top: 4px !important;
  display: flex;
  align-items: center;
  white-space: nowrap;
  font-weight: 600;
  line-height: 1;
  color: #111111;
}

.product-quick-add__variant {
  margin-top: 0;
  font-size: 0.95rem;
  line-height: 1.2;
  color: rgba(17, 17, 17, 0.78);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-quick-add__mobile-button {
  min-width: 0;
  width: auto;
}

.product-quick-add__mobile-button .button,
.product-quick-add__mobile-button button {
  width: auto;
  min-width: 190px;
}
}

/* ATTENTION : bloc ci-dessous conservé EXACTEMENT tel quel, y compris les « } » en trop.
   Il contient deux accolades fermantes orphelines qui, dans l'original, invalident la règle
   qui les suit (.product-quick-add__mobile > * et .athena-gift-icon-wrap). Ne pas réorganiser
   l'intérieur de ce bloc. */
  .product-quick-add__title-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    text-align: center;
  }

  .product-quick-add__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
  }

  .product-quick-add__title,
  .product-quick-add__mobile-price,
  .product-quick-add__variant {
    text-align: center;
    justify-content: center;
    width: auto;
    margin: 0;
  }

  .product-quick-add__mobile-button {
    width: auto;
    min-width: 180px;
  }
}


  .product-quick-add__mobile > * {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .product-quick-add__title-wrap,
  .product-quick-add__actions {
    display: contents;
  }

  .product-quick-add__title,
  .product-quick-add__mobile-price,
  .product-quick-add__variant {
    white-space: nowrap;
    margin: 0;
  }

  .product-quick-add__mobile-button {
    width: auto;
    min-width: 150px;
  }
}
.athena-gift-icon-wrap {
  flex: 0 0 24px;
  width: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
}

/* --------------------------------------------------------------------------
   5.5 Réassurance / Athena
   -------------------------------------------------------------------------- */

.product-reassurance-item {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 12px;
  align-items: start;
}

.product-reassurance-icon {
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
}

.product-reassurance-icon svg {
  width: 16px;
  height: 16px;
  position: relative;
  top: 0px; 
}

.product-reassurance-title {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.25;
}

.product-reassurance-text {
  font-size: 12px;
  line-height: 1.35;
  opacity: 0.85;
  margin-top: 2px;
}

.athena-shipping-card {
  background: #edf7e8;
  color: #4e6b3a;
  border: 1px solid #c8ddb7;
  border-radius: 10px;
  padding: 14px 16px;
}
.athena-reassurance-stack {
  background: #FBFBF8;
  border: 1px solid rgba(0, 0, 0, 0.10);
  border-radius: 10px;
  overflow: hidden;
}
.athena-reassurance-divider {
  height: 1px;
  background: rgba(0, 0, 0, 0.10);
}
.athena-reassurance-card {
  padding: 16px;
}
.athena-gift-card {
  background: #6a3417;
  color: #ffffff;
  border: 0;
  border-radius: 10px;
  padding: 16px 18px;
}
.athena-reassurance-cards {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.athena-reassurance-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.athena-reassurance-icon-wrap {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  line-height: 0;
  padding-top: 0;
}

.athena-reassurance-icon-wrap {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  line-height: 0;
  padding-top: 0;
}

.athena-reassurance-icon-wrap svg {
  display: block;
  width: 18px;
  height: 18px;
  position: relative;
  top: -2px;
}

.athena-reassurance-text-wrap {
  min-width: 0;
  padding-top: 0;
}

.athena-reassurance-title-sm {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.25;
  margin: 0;
}

.athena-reassurance-text-sm {
  font-size: 12px;
  line-height: 1.35;
  opacity: 0.8;
  margin-top: 2px;
}
.athena-pickup-trigger {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  text-align: left;
}
.athena-pickup-trigger__label {
  color: #2d6a4f;
  font-weight: 700;
  text-decoration: underline;
}
.athena-pickup-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.athena-pickup-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.athena-pickup-drawer-header {
  font-weight: 700;
  font-size: 1.1rem;
}
.athena-pickup-unavailable {
  display: flex;
  flex-direction: row;
  gap: 10px;
}
.athena-pickup-item-status {
  font-size: 0.85rem;
  opacity: 0.7;
}
.athena-pickup-item-location {
  font-weight: 700;
}
.athena-reassurance-row-center {
  display: flex;
  align-items: center;
  gap: 12px;
}

.athena-gift-text-wrap {
  min-width: 0;
}
.athena-gift-title {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.3;
}
.athena-inline-link {
  color: inherit;
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   5.6 Galerie (zoom au survol)
   -------------------------------------------------------------------------- */

  /* Hover Zoom Styles */
  .product-gallery__hover-zoom-container {
    position: relative;
  }

  /* Allow pinch zoom on mobile - only apply overflow hidden on desktop */
  @media screen and (min-width: 1000px) {
    .product-gallery__hover-zoom-container {
      overflow: hidden;
    }
  }

  /* Enable pinch zoom and carousel swipe on mobile for images */
  @media screen and (max-width: 999px) {
    .product-gallery__ar-wrapper,
    .product-gallery__media-list-wrapper,
    .product-gallery__media-list,
    media-carousel.product-gallery__media-list,
    .product-gallery__media,
    .product-gallery__hover-zoom-container,
    .product-gallery__hover-zoom-container img {
      touch-action: pan-x pan-y pinch-zoom;
      -ms-touch-action: pan-x pan-y pinch-zoom;
    }

    media-carousel.product-gallery__media-list {
      -webkit-overflow-scrolling: touch;
    }
  }

  @media screen and (min-width: 1000px) {
  .product-gallery__hover-zoom-container--active {
    cursor: zoom-in;
  }

  .product-gallery__hover-zoom-container--active.is-click-zoomed {
    cursor: zoom-out;
  }

  .product-gallery__media-list-wrapper:has(.product-gallery__hover-zoom-container--active) .product-gallery__cursor {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  .product-gallery__hover-zoom-container--active img {
    transition: transform 0.1s ease-out;
    will-change: transform;
  }

  .product-gallery__hover-zoom-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(255, 255, 255, 0.7);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
  }

  .product-gallery__hover-zoom-container--active:hover .product-gallery__hover-zoom-nav[style*="flex"] {
    opacity: 1;
    pointer-events: auto;
  }

  .product-gallery__hover-zoom-nav:hover {
    background: rgba(255, 255, 255, 0.9);
  }

  .product-gallery__hover-zoom-nav--prev {
    left: 16px;
  }

  .product-gallery__hover-zoom-nav--next {
    right: 16px;
  }

  .product-gallery__hover-zoom-nav svg {
    width: 26px;
    height: 26px;
    stroke: currentColor;
    fill: none;
  }
}

/* --------------------------------------------------------------------------
   5.7 Disponibilité en magasin (pickup)
   -------------------------------------------------------------------------- */

/* Pickup availability drawer */
.pickup-availability-list-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.pickup-availability-list-content {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.pickup-availability-list-text {
  display: flex;
  flex-direction: column;
}

.pickup-availability-list-location {
  font-weight: bold;
}

.pickup-availability-list-status {
  font-size: 0.85rem;
  opacity: 0.7;
}

.pickup-availability-list-qty {
  margin-left: auto;
  color: #000000;
  font-weight: 600;
  flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   5.8 Produits similaires
   -------------------------------------------------------------------------- */

/* Produits similaires */
.similar-products-tags {
  padding-block: 48px;

  --product-list-gap:
    var(--product-list-row-gap)
    var(--spacing-2);

  --product-list-items-per-row:
    var(--similar-products-mobile-columns);

  --product-list-grid:
    auto-flow dense /
    repeat(
      var(--product-list-items-per-row),
      minmax(0, 1fr)
    );
}

.similar-products-tags__heading {
  margin: 0 0 24px;
  text-align: left;
}

@media screen and (min-width: 700px) {
  .similar-products-tags {
    --product-list-gap:
      var(--product-list-row-gap)
      var(--product-list-column-gap);

    --product-list-items-per-row: 2;
  }
}

@media screen and (min-width: 1000px) {
  .similar-products-tags {
    --product-list-items-per-row: 3;
  }
}

@media screen and (min-width: 1200px) {
  .similar-products-tags {
    --product-list-items-per-row:
      var(--similar-products-desktop-columns);
  }
}

@media screen and (max-width: 699px) {
  .similar-products-tags {
    padding-block: 32px;
  }
}

/* --------------------------------------------------------------------------
   5.9 Produits certifiés
   -------------------------------------------------------------------------- */

.lpdq-certified-block {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.lpdq-certified-title {
  margin: 0 0 12px;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 700 !important;
  font-style: italic !important;
  color: inherit;
}

.lpdq-certified-title strong,
.lpdq-certified-title em {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 700 !important;
  font-style: italic !important;
}

.lpdq-certified-logo {
  display: block;
  max-width: 86px;
  width: 86px;
  height: auto;
}


/* ==========================================================================
   6. PANIER
   ========================================================================== */

/* --------------------------------------------------------------------------
   6.0 Page panier : case « commande cadeau » (déplacé de sections/main-cart.liquid le 16 oct. 2026)
   -------------------------------------------------------------------------- */

#gift_order_note_container {
  transition: height 0.2s;
}
label[for="gift_order_yes"] {
  font-weight: 600;
  letter-spacing: 0.5px;
  font-size: 16px;
  margin: 10px 0;
}
.shopify-section--main-cart button[name="checkout"] {
  font-size: 20px;
}

/* --------------------------------------------------------------------------
   6.0b Page « Créez votre boîte-cadeau personnalisée » (sections/sl-boite-cadeau.liquid)
   -------------------------------------------------------------------------- */

.sl-boite-cadeau .tab-content > * + * {
  margin-block-start: var(--spacing-6);
}
.sl-boite-cadeau .sl-boite-cadeau__produits .product-list {
  --product-list-items-per-row: 2;
  --product-list-grid: auto / repeat(var(--product-list-items-per-row), minmax(0, 1fr));
  text-align: start;
}
@media screen and (min-width: 1000px) {
  .sl-boite-cadeau .sl-boite-cadeau__produits .product-list {
    --product-list-items-per-row: 4;
  }
}
.sl-message-cadeau {
  text-align: start;
}
.sl-message-cadeau textarea {
  width: 100%;
  height: 100px;
  padding: 10px;
}
.sl-message-cadeau__etat {
  margin-block: 8px;
  color: rgb(var(--success-text, 0 128 0));
}

/* --------------------------------------------------------------------------
   6.0c Tiroir du panier : 2 colonnes sur grand écran, emballages et produits recommandés
   (repris du thème en ligne le 16 oct. 2026 : assets/theme.css et assets/sl-cart-drawer.css ;
   balisage dans sections/cart-drawer.liquid et snippets/sl-tiroir-recommandations.liquid)
   -------------------------------------------------------------------------- */

/* Bouton Ajouter : recommandations dans le panier */
#cart-drawer cart-recommendations .horizontal-product__cta .button {
  --button-background: var(--button-background-primary) / 1 !important;
  --button-text-color: var(--button-text-primary) !important;
  --button-outline-color: var(--button-background-primary) !important;

  border-radius: var(--rounded-button);
  font-weight: 600;
  padding: 10px 18px;
}

/* Léger effet au survol */
@media screen and (pointer: fine) {
  #cart-drawer cart-recommendations .horizontal-product__cta .button:hover {
    --button-background-opacity: 0.88;
  }
}

/* =========================================================
   PANIER : RECOMMANDATIONS DANS UN PANNEAU LATÉRAL
   ========================================================= */

/* Ne pas conserver un espace vide s'il n'y a aucune recommandation */
.sl-cart-drawer__aside:not(:has(cart-recommendations:not([hidden]))) {
  display: none;
}

/* Sur mobile/tablette, on conserve l'affichage normal sous le panier */
.sl-cart-drawer__aside {
  margin-block-start: var(--spacing-6);
}

@media screen and (min-width: 1100px) {

  /* Élargir le tiroir uniquement lorsque les recommandations existent */
  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  ) {
    width: min(1100px, calc(100vw - 16px)) !important;
    max-width: none !important;
  }

  /*
   * Le padding est maintenant géré séparément
   * par la colonne recommandations et la colonne panier.
   */
  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  )::part(body) {
    padding: 0 !important;
    overflow: hidden !important;
    align-items: stretch !important;
    min-height: 0;
  }

  /*
   * Le footer reste sous la partie panier,
   * et non sous les recommandations.
   */
  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  )::part(footer) {
    width: 680px;
    max-width: 64%;
    margin-inline-start: auto;
    box-sizing: border-box;
  }

  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  ) .sl-cart-drawer__layout {
    width: 100%;
    height: 100%;
    min-height: 0;

    display: grid;
    grid-template-columns:
      minmax(320px, 1fr)
      minmax(0, 680px);
  }

  /* PANIER PRINCIPAL : colonne de droite */
  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  ) .sl-cart-drawer__main {
    grid-column: 2;
    grid-row: 1;

    min-width: 0;
    min-height: 0;

    padding: 2rem 2.5rem;
    overflow-y: auto;
  }

  /* RECOMMANDATIONS : colonne de gauche */
  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  ) .sl-cart-drawer__aside {
    grid-column: 1;
    grid-row: 1;

    min-width: 0;
    min-height: 0;

    margin: 0;
    padding: 2rem 1.5rem;

    overflow-y: auto;

    border-inline-end: 1px solid rgb(var(--border-color));
    background: rgb(var(--dialog-background));
  }

  /*
   * Dans le panneau latéral, les recommandations
   * deviennent une liste verticale.
   */
  #cart-drawer .sl-cart-drawer__aside
  .horizontal-product-list {
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    width: 100%;
  }

  #cart-drawer .sl-cart-drawer__aside
  .horizontal-product {
    width: 100%;
    padding: 1rem 0;
  }

  #cart-drawer .sl-cart-drawer__aside
  .horizontal-product + .horizontal-product {
    border-block-start: 1px solid rgb(var(--border-color));
  }

  /*
   * Le "bleed" du carrousel n'est pas souhaitable
   * dans le panneau latéral.
   */
  #cart-drawer .sl-cart-drawer__aside .bleed {
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    scroll-padding-inline: 0 !important;
  }

  /*
   * Comme les quatre produits sont visibles verticalement,
   * les flèches ne sont plus nécessaires sur ordinateur.
   */
  #cart-drawer .sl-cart-drawer__aside
  [data-recommendation-controls] {
    display: none !important;
  }
}

/* SL : recommandations du panier sur toute la hauteur du drawer */
@media screen and (min-width: 1100px) {
  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  )::part(body) {
    overflow: visible !important;
  }

  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  ) .sl-cart-drawer__layout {
    position: relative;
  }

  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  ) .sl-cart-drawer__aside {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;

    width: calc(100% - min(680px, 64%));
    height: calc(100dvh - 2rem);
    max-height: calc(100dvh - 2rem);

    overflow-y: auto;
    z-index: 2;
  }
}

/* Emballages en grille de 3 et liste de recommandations compacte (sl-cart-drawer.css du thème en ligne) */
@media screen and (min-width: 1100px) {
  /* Gift boxes: image on top, title/price below, add button last. */
  #cart-drawer button[aria-controls="cart-drawer-recommendations"] {
    display: none !important;
  }

  #cart-drawer-recommendations {
    overflow: visible !important;
  }

  #cart-drawer-recommendations .horizontal-product-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 0.75rem !important;
    width: 100% !important;
    border: 0 !important;
  }

  #cart-drawer-recommendations .horizontal-product {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.65rem !important;
    min-width: 0;
    height: 100%;
    padding: 0.85rem !important;
    border: none !important;
    border-radius: var(--rounded-xs);
    background: #ffffff !important;
  }

  #cart-drawer-recommendations .horizontal-product__image {
    width: 170px !important;
    height: 170px !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    object-fit: contain !important;
  }

  #cart-drawer-recommendations .horizontal-product__info {
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.35rem !important;
    min-width: 0;
  }

  #cart-drawer-recommendations .horizontal-product__info > .v-stack {
    flex: 1 1 auto;
    gap: 0.2rem !important;
  }

  #cart-drawer-recommendations .horizontal-product__info a,
  #cart-drawer-recommendations .horizontal-product__info .text-sm {
    text-align: left;
  }

  #cart-drawer-recommendations .horizontal-product__cta {
    width: 100% !important;
    margin: 0 !important;
    margin-top: auto !important;
  }

  #cart-drawer-recommendations .horizontal-product__cta form,
  #cart-drawer-recommendations .horizontal-product__cta .button {
    width: 100% !important;
  }

  #cart-drawer-recommendations .horizontal-product__cta .button {
    min-height: 38px;
    padding-inline: 0.75rem;
  }

  /* "Vous pourriez aussi aimer": 6 products in one compact column. */
  #cart-drawer .sl-cart-drawer__aside {
    padding: 1.25rem !important;
    overflow: hidden !important;
  }

  #cart-drawer .sl-cart-drawer__aside cart-recommendations {
    display: block;
    height: 100%;
    min-height: 0;
  }

  #cart-drawer .sl-cart-drawer__aside cart-recommendations > .v-stack {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100%;
    min-height: 0;
    gap: 0.75rem !important;
  }

  #cart-drawer .sl-cart-drawer__aside .horizontal-product-list-carousel {
    min-height: 0;
    height: 100%;
    overflow: hidden !important;
  }

  #cart-drawer .sl-cart-drawer__aside .horizontal-product-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  #cart-drawer .sl-cart-drawer__aside .horizontal-product {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 0.8rem !important;
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: 0.45rem 0.25rem !important;
    background: #ffffff !important;
    border: 0 !important;
    border-block-end: none !important;
  }


  #cart-drawer .sl-cart-drawer__aside .horizontal-product__image {
    width: 68px !important;
    height: 68px !important;
    max-width: 68px !important;
    margin: 0 auto;
    object-fit: contain;
  }

  #cart-drawer .sl-cart-drawer__aside .horizontal-product__info {
    display: contents !important;
  }

  #cart-drawer .sl-cart-drawer__aside .horizontal-product__info > .v-stack {
    min-width: 0;
    gap: 0.15rem !important;
  }

  #cart-drawer .sl-cart-drawer__aside .horizontal-product__cta {
    width: auto;
    margin: 0 !important;
    align-self: center;
  }

  #cart-drawer .sl-cart-drawer__aside .horizontal-product__cta form,
  #cart-drawer .sl-cart-drawer__aside .horizontal-product__cta .button {
    width: auto;
  }

  #cart-drawer .sl-cart-drawer__aside .horizontal-product__cta .button {
    min-height: 38px;
    padding-inline: 1rem;
    white-space: nowrap;
  }

  #cart-drawer .sl-cart-drawer__aside [data-recommendation-controls] {
    display: none !important;
  }
}

/* SL : Retirer le cadre des recommandations du panier */
#cart-drawer .cart-drawer__recommendations
#cart-drawer-dynamic-recommendations {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

#cart-drawer .cart-drawer__recommendations
#cart-drawer-dynamic-recommendations .horizontal-product-list {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   6.1 Barre de livraison gratuite
   -------------------------------------------------------------------------- */

/* SHIPPING BAR BLACK FRIDAY */
.free-shipping-bar {
  position: relative;
  padding: 1rem 0;
}

.progress-bar-container {
  position: relative;
  margin-top: 0.5rem;
}

/* Dans le thème en ligne, cette règle était au début de theme.css : la règle .progress-bar d'Impact, plus loin, remettait
   la hauteur (4 px), l'arrondi et la couleur de fond. On garde donc seulement le reste, pour le même rendu. */
.progress-bar {
  width: 100%;
  overflow: hidden;
  position: relative;
  display:block;
}

/*.progress-bar::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: calc(var(--progress) * 100%);
  background: linear-gradient(90deg, #ff6b6b,rgb(0, 0, 0));
  transition: width 0.3s ease;
}*/

.progress-bar__milestones {
  position: relative;
  height: 20px;
  margin-top: 8px;
}

.progress-bar__milestone {
  position: absolute;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width:50%;
}
.progress-bar__milestone:last-child {
    transform: translate(0) !important;
    text-align: right;
    right: 0;
    left: auto !important;
    align-items: flex-end;
}

.progress-bar__milestone::before {
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ddd;
  border: 2px solid #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  position: absolute;
  top: -18px;
}

.progress-bar__milestone--reached::before {
  background:rgb(0, 0, 0);
}

.progress-bar__milestone-label {
  font-size: 0.8rem;
  /*white-space: nowrap;*/
  color: #666;
  margin-top: 4px;
  max-width: 55%;
}

.progress-bar__milestone--reached .progress-bar__milestone-label {
  color:rgb(0, 0, 0);
}

.free-shipping-bar__message {
  text-align: center;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}

/* --------------------------------------------------------------------------
   6.2 Tiroir panier et recommandations
   -------------------------------------------------------------------------- */

/* Bouton Ajouter — recommandations dans le panier */
#cart-drawer cart-recommendations .horizontal-product__cta .button {
  --button-background: var(--button-background-primary) / 1 !important;
  --button-text-color: var(--button-text-primary) !important;
  --button-outline-color: var(--button-background-primary) !important;

  border-radius: var(--rounded-button);
  font-weight: 600;
  padding: 10px 18px;
}

/* Léger effet au survol */
@media screen and (pointer: fine) {
  #cart-drawer cart-recommendations .horizontal-product__cta .button:hover {
    --button-background-opacity: 0.88;
  }
}

/* =========================================================
   PANIER — RECOMMANDATIONS DANS UN PANNEAU LATÉRAL
   ========================================================= */

/* Ne pas conserver un espace vide s'il n'y a aucune recommandation */
.sl-cart-drawer__aside:not(:has(cart-recommendations:not([hidden]))) {
  display: none;
}

/* Sur mobile/tablette, on conserve l'affichage normal sous le panier */
.sl-cart-drawer__aside {
  margin-block-start: var(--spacing-6);
}

@media screen and (min-width: 1100px) {

  /* Élargir le tiroir uniquement lorsque les recommandations existent */
  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  ) {
    width: min(1100px, calc(100vw - 16px)) !important;
    max-width: none !important;
  }

  /*
   * Le padding est maintenant géré séparément
   * par la colonne recommandations et la colonne panier.
   */
  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  )::part(body) {
    padding: 0 !important;
    overflow: hidden !important;
    align-items: stretch !important;
    min-height: 0;
  }

  /*
   * Le footer reste sous la partie panier,
   * et non sous les recommandations.
   */
  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  )::part(footer) {
    width: 680px;
    max-width: 64%;
    margin-inline-start: auto;
    box-sizing: border-box;
  }

  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  ) .sl-cart-drawer__layout {
    width: 100%;
    height: 100%;
    min-height: 0;

    display: grid;
    grid-template-columns:
      minmax(320px, 1fr)
      minmax(0, 680px);
  }

  /* PANIER PRINCIPAL — colonne de droite */
  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  ) .sl-cart-drawer__main {
    grid-column: 2;
    grid-row: 1;

    min-width: 0;
    min-height: 0;

    padding: 2rem 2.5rem;
    overflow-y: auto;
  }

  /* RECOMMANDATIONS — colonne de gauche */
  #cart-drawer:has(
    .sl-cart-drawer__aside cart-recommendations:not([hidden])
  ) .sl-cart-drawer__aside {
    grid-column: 1;
    grid-row: 1;

    min-width: 0;
    min-height: 0;

    margin: 0;
    padding: 2rem 1.5rem;

    overflow-y: auto;

    border-inline-end: 1px solid rgb(var(--border-color));
    background: rgb(var(--dialog-background));
  }

  /*
   * Dans le panneau latéral, les recommandations
   * deviennent une liste verticale.
   */
  #cart-drawer .sl-cart-drawer__aside
  .horizontal-product-list {
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    width: 100%;
  }

  #cart-drawer .sl-cart-drawer__aside
  .horizontal-product {
    width: 100%;
    padding: 1rem 0;
  }

  #cart-drawer .sl-cart-drawer__aside
  .horizontal-product + .horizontal-product {
    border-block-start: 1px solid rgb(var(--border-color));
  }

  /*
   * Le "bleed" du carrousel n'est pas souhaitable
   * dans le panneau latéral.
   */
  #cart-drawer .sl-cart-drawer__aside .bleed {
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    scroll-padding-inline: 0 !important;
  }

  /*
   * Comme les quatre produits sont visibles verticalement,
   * les flèches ne sont plus nécessaires sur ordinateur.
   */
  #cart-drawer .sl-cart-drawer__aside
  [data-recommendation-controls] {
    display: none !important;
  }
}


/* ==========================================================================
   7. AVIS JUDGE.ME
   ========================================================================== */

/* --- Étoiles (police) --- */
.jdgm-star {
  font-family: 'JudgemeStar'!important;
}

/* Judge.me - correction des étoiles corrompues sur Chrome/Edge */
.jdgm-star,
.jdgm-star:before,
.jdgm-star::before,
.jm-star-rating__font-icon {
  font-family: 'JudgemeStar' !important;
}

/* --- En-têtes alignés à gauche --- */
.jdgm-header {
  text-align: left !important;
  justify-content: flex-start !important;
}

.jdgm-title {
  text-align: left !important;
}

.jdgm-header-info {
  justify-content: flex-start !important;
  text-align: left !important;
}

.jdgm-average-rating {
  justify-content: flex-start !important;
}

/* --- Titre des avis de la page d'accueil --- */

/* Judge.me — titre de la page d’accueil */
[id*="1782851204451af3fc"] .jdgm-header {
  text-align: left !important;
  justify-content: flex-start !important;
}

[id*="1782851204451af3fc"] h2 {
  margin: 0 !important;
  font-size: 28px !important;
  line-height: 1.2 !important;
  text-align: left !important;
  transform: none !important;
}

/* --- Page produit : étoiles --- */

/* Correctif fiable pour les étoiles Judge.me */
#judgeme_product_reviews .jdgm-star {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 0 !important;
}

#judgeme_product_reviews .jdgm-star::before {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

/* Étoile pleine */
#judgeme_product_reviews .jdgm-star.jdgm--on::before {
  content: "★" !important;
}

/* Étoile vide */
#judgeme_product_reviews .jdgm-star.jdgm--off::before {
  content: "☆" !important;
}

/* Demi-étoile */
#judgeme_product_reviews .jdgm-star.jdgm--half::before {
  content: "★" !important;
  color: transparent !important;
  background: linear-gradient(
    90deg,
    var(--jdgm-star-color, #f5a623) 50%,
    #d9d9d9 50%
  );
  -webkit-background-clip: text;
  background-clip: text;
}

/* --- Carrousel de cartes (accueil) --- */

/* =========================
   Judge.me - Cards Carousel
   Style plus proche du modèle
   ========================= */

.jdgm-card.jdgm-media-card.jdgm-carousel-item.jdgm-text-card {
  background: #ffffff !important;
  border: 1px solid #eee7db !important;
  border-radius: 4px !important;
  box-shadow: none !important;

  padding: 28px 28px 24px !important;
  min-height: 340px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  text-align: left !important;
}

.jdgm-card.jdgm-media-card.jdgm-carousel-item.jdgm-text-card .jdgm-text {
  width: 100%;
  margin-bottom: 20px !important;
  flex: 1 1 auto;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 8;
  overflow: hidden;
}

.jdgm-card.jdgm-media-card.jdgm-carousel-item.jdgm-text-card .jdgm-text p {
  margin: 0 !important;
  text-align: left !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: #111111 !important;
}

.jdgm-card.jdgm-media-card.jdgm-carousel-item.jdgm-text-card .jdgm-rating-section {
  width: 100%;
  margin-top: auto !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

.jdgm-card.jdgm-media-card.jdgm-carousel-item.jdgm-text-card .jdgm-stars {
  margin: 0 !important;
}

.jdgm-card.jdgm-media-card.jdgm-carousel-item.jdgm-text-card .jdgm-star {
  color: #b79a67 !important;
}

.jdgm-card.jdgm-media-card.jdgm-carousel-item.jdgm-text-card .jdgm-reviewer-info {
  margin: 0 !important;
}

.jdgm-card.jdgm-media-card.jdgm-carousel-item.jdgm-text-card .jdgm-reviewer-name {
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #111111 !important;
}

/* Ajustement de la hauteur et de la typographie des cartes Judge.me */

.jdgm-card.jdgm-media-card.jdgm-carousel-item.jdgm-text-card {
  box-sizing: border-box !important;
  height: 380px !important;
  min-height: 380px !important;
  max-height: 380px !important;
  padding: 26px 28px 22px !important;
}

.jdgm-card.jdgm-media-card.jdgm-carousel-item.jdgm-text-card .jdgm-text {
  margin-bottom: 16px !important;
  -webkit-line-clamp: 7 !important;
}

.jdgm-card.jdgm-media-card.jdgm-carousel-item.jdgm-text-card .jdgm-text p {
  font-size: 16px !important;
  line-height: 1.45 !important;
}

/* Fond et espacement de toute la section Judge.me */
.jdgm-widget.jdgm-cards-carousel {
  background-color: #eee3d1 !important;
  padding-top: 70px !important;
  padding-bottom: 80px !important;
}


/* Titre */
.jdgm-widget.jdgm-cards-carousel .jdgm-title {
  margin: 0 !important;
  text-align: left !important;
  color: #193127 !important;
}
/* Aligner l’en-tête avec le contenu du carrousel */
.jdgm-widget.jdgm-cards-carousel .jdgm-header {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1600px !important;
  margin: 0 auto 42px !important;
  padding-left: 160px !important;
  padding-right: 160px !important;
}

.jdgm-widget.jdgm-cards-carousel .jdgm-title {
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Petit libellé au-dessus du titre Judge.me */
.jdgm-widget.jdgm-cards-carousel .jdgm-header::before {
  content: "—  AVIS";
  display: block;
  margin-bottom: 14px;
  color: #b79a67;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
}

/* Titre principal du carrousel */
.jdgm-widget.jdgm-cards-carousel .jdgm-title {
  font-size: 42px !important;
  line-height: 1.1 !important;
}

@media screen and (max-width: 699px) {
  .jdgm-widget.jdgm-cards-carousel .jdgm-title {
    font-size: 28px !important;
  }
}
/* Carrousel Judge.me sur toute la largeur de l’écran */
.jdgm-widget.jdgm-cards-carousel {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}


/* ==========================================================================
   8. BLOG
   ========================================================================== */

.blog-filter-list {
  --filter-list-item-padding: var(--spacing-2-5) var(--spacing-5);
  white-space: nowrap;
}

.blog-filter-list [aria-selected="true"] {
  background-color: rgb(var(--background-primary));
  color: rgb(var(--text-primary));
}

.blog-filter-list [aria-selected="false"] {
  opacity: .5;
  transition: opacity .2s ease-in-out;
}

@media screen and (pointer: fine) {
  .blog-filter-list [aria-selected="false"]:hover {
    opacity: 1;
  }
}

.blog-filter-list a {
  padding: var(--filter-list-item-padding);
  display: block;
}


/* ==========================================================================
   9. FOOTER
   ========================================================================== */

/*
* FOOTER
*/
.app-badge {
    width: 135px;
    display: block;
    margin: 0;
    padding: 0;
    position: relative;
    height: 50px;
}
.app-badge svg {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
}