/* ===== Volet panier off-canvas ===== */
.cart-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(17, 17, 17, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  z-index: 10000;
}
.cart-drawer-overlay.open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease;
}

.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  height: 100dvh;
  width: 500px;
  max-width: 100vw;
  background: #F6F5F1;
  z-index: 10001;
  transform: translateX(100%);
  transition: transform 0.32s ease;
  box-shadow: -6px 0 24px rgba(17, 17, 17, 0.12);
  display: flex;
  flex-direction: column;
}
.cart-drawer.open {
  transform: translateX(0);
}


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

@media (max-width: 480px) {
  .cart-drawer { width: 90vw; }
}

body.cart-drawer-open {
  overflow: hidden;
}

/* Layout interne : 3 zones (haut/bas fixes, milieu scrollable) */
.cart-drawer__inner {
  height: 100%;
  width: 100%;
  display: flex;
}
.cart-drawer__content {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  min-height: 0; /* indispensable pour que le scroll du milieu fonctionne */
}

.cd-header {
  flex: 0 0 auto;
  padding: 18px 26px 10px;
  border-bottom: 1px solid #e6e3dd;
}
.cd-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.cd-title {
  margin: 0;
  text-transform: uppercase;
  font-family: Golos Text;
font-weight: 500;
font-style: Medium;
font-size: 27px;
leading-trim: NONE;
line-height: 100%;
letter-spacing: 0%;

}
.cart-drawer-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  line-height: 1;
  color: #111;
}
/* la barre livraison reprise du partial : on neutralise ses marges de "card" dans le volet */
.cart-drawer .free-shipping-promo.card {
  margin: 0;
  border: none;
  background: transparent;
  padding: 0;
}
.cart-drawer .cd-header hr.separator { display: none; }

.cd-body {
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0;
  padding: 6px 18px;
  /* les z-index internes (quantité 99, bandeau « retirer » 100, flèches du slider 5) restent dans leur zone :
     ils ne passent plus devant l'en-tête et le total fixes quand tout défile ensemble */
  isolation: isolate;
}
.cd-line {
  padding: 14px 0;
  border-bottom: 1px solid #e6e3dd;
}
.cd-line--added {
  border-bottom: 1px solid #111;
}
/* Lignes : infos alignées à gauche quelle que soit la longueur du nom. La colonne d'infos prenait la largeur de son
   contenu et le titre est centré : un nom sur deux lignes élargissait la colonne et centrait titre et quantité. */
#cart-drawer .cd-line .product-line-grid-left > div > .product-line-info {
  flex: 1 1 auto;
  min-width: 0;
}
#cart-drawer .cd-line .product-line-info a.label,
#cart-drawer .cd-line .product-line-info span.label,
#cart-drawer .cd-line .product-line-info span.price {
  text-align: left;
}
#cart-drawer .cd-line .qty {
  margin-left: 0;
  margin-right: 0;
}
/* croix de suppression : taille fixe (la colonne rétrécissait quand le nom du produit est long, la croix avec) */
#cart-drawer .cd-line .product-line-grid-right {
  flex: 0 0 auto;
}
#cart-drawer .cd-line .cart-line-product-actions img {
  width: 11px;
  min-width: 11px;
  max-width: none;
  height: auto;
}
/* dernier article (ou seul article ajouté) : pas de trait sous la ligne, le haut du slider en a déjà un */
.cd-body > .cd-line:last-child {
  border-bottom: none;
}
.cd-added-ok {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  margin: 8px 0 0;
  color: #111;
}
.cd-added-ok .material-icons { font-size: 16px; }

/* "À associer ensemble" */
.cart-drawer-accessories {
  margin-top: 8px;
}
.cd-accessories-title {
  text-transform: uppercase;
  font-weight: 600;
  margin: 8px 0 12px;
}
.cart-drawer-accessories .slick-slide { padding-right: 10px; }
/* Le thème décale une miniature sur deux (marge 7 px à droite puis à gauche, pour la grille 2 colonnes mobile) :
   dans le slider, ces marges s'ajoutent aux largeurs calculées par slick et rendent les écarts irréguliers. */
#cart-drawer .cart-drawer-accessories .product-miniature.slick-slide { margin-left: 0 !important; margin-right: 0 !important; }

/* Prix sous le nom du produit (le thème le flotte à droite du titre dès 1300 px) */
#cart-drawer .cart-drawer-accessories .product-miniature .product-title {
  text-align: left;
  padding: 0;
}
#cart-drawer .cart-drawer-accessories .product-miniature .product-price-and-shipping {
  display: block;
  float: none;
  text-align: left;
  padding: 0;
}

/* Pas de flèches de changement d'image sur les miniatures dans le volet */
#cart-drawer .cart-drawer-accessories article.product-miniature .swiper-button-prev,
#cart-drawer .cart-drawer-accessories article.product-miniature .swiper-button-next,
#cart-drawer .cart-drawer-accessories article.product-miniature .thumbnail-container:hover .swiper-button-prev,
#cart-drawer .cart-drawer-accessories article.product-miniature .thumbnail-container:hover .swiper-button-next { display: none !important; }

/* Flèches du carrousel : sur les côtés, visibles uniquement au survol */
.cart-drawer-accessories .cd-accessories-slider { position: relative; }
/* Mobile : défilement horizontal natif (classe posée par cart-drawer.js à la place de slick) */
#cart-drawer .cd-accessories-slider.cd-native-scroll {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
#cart-drawer .cd-accessories-slider.cd-native-scroll::-webkit-scrollbar { display: none; }
/* La fiche produit (catalog/product.tpl) masque en mobile les accessoires après le 4e et passe leur piste slick à la
   ligne (.product-accessories …:nth-child(n+5) / .slick-track) : le slider du volet porte aussi ces classes. */
#cart-drawer .cart-drawer-accessories .products article.product-miniature { display: block; }
#cart-drawer .cart-drawer-accessories .slick-track { flex-wrap: nowrap; }
#cart-drawer .cd-accessories-slider.cd-native-scroll > .product-miniature {
  flex: 0 0 calc((100% - 30px) / 3.2); /* 3,2 produits visibles, comme le slider ordinateur */
  width: auto;
  max-width: none;
  margin: 0 !important;
  padding: 0;
  scroll-snap-align: start;
}
.cart-drawer-accessories .cd-arrow {
  border: none;
  position: absolute;
  top: 38%;
  transform: translateY(-50%);
  z-index: 5;
  width: 34px;
  height: 34px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(246, 245, 241, 0.5);
  color: #111;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0s linear 0.2s;
}
.cart-drawer-accessories .cd-arrow--prev { left: 4px; }
.cart-drawer-accessories .cd-arrow--next { right: 14px; }
.cart-drawer-accessories .cd-arrow .material-icons { font-size: 22px; line-height: 1; }
.cart-drawer-accessories .cd-accessories-slider:hover .cd-arrow:not(.slick-disabled) {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s ease;
}
.cart-drawer-accessories .cd-arrow:hover { background: #fff; }
/* pas de survol sur tactile : flèches toujours visibles */
@media (hover: none) {
  .cart-drawer-accessories .cd-arrow:not(.slick-disabled) { opacity: 1; visibility: visible; }
}

.cd-footer {
  flex: 0 0 auto;
  isolation: isolate;
  padding: 14px 18px 0;
  border-top: 1px solid #111;
  background: #F6F5F1;
}
.cd-footerdeux {
    flex: 0 0 auto;
    padding: 14px 18px 18px;
    border-top: 1px solid #111;
    background: #F6F5F1;
}
/* Mobile, et écrans peu hauts (portables) : une seule zone qui défile (lignes puis slider), en-tête et total
   + « Commander » fixés en haut et en bas (position: sticky dans le contenu du volet, qui devient la zone de défilement).
   Pas de défilements imbriqués. Au-delà (grands écrans), le slider reste fixe au-dessus du total. */
@media (max-width: 767px), (max-height: 899px) {
  .cart-drawer__content {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .cd-header {
    position: sticky;
    top: 0;
    z-index: 20; /* au-dessus des flèches du slider (z-index 5) qui défilent dessous */
    background: #F6F5F1;
  }
  .cd-body {
    flex: 0 0 auto;
    overflow: visible;
  }
  .cd-footer {
    flex: 0 0 auto;
  }
  .cd-footerdeux {
    position: sticky;
    bottom: 0;
    z-index: 20; /* au-dessus des flèches du slider (z-index 5) qui défilent dessous */
    margin-top: auto; /* panier court : le total reste collé en bas */
  }
}

.cd-footer__line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}
.cd-footer__total strong {
  font-size: 16px;
}
.cd-checkout {
  display: block;
  width: 100%;
  text-align: center;
  background: #111;
  color: #fff;
  padding: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: none;
}
.cd-checkout:hover { color: #fff; opacity: 0.9; }

#blockcart-modal span.product-image.media-middle img {
    width: 75px;
}

#blockcart-modal a.btn-primary{
    text-transform: uppercase;
}


#blockcart-modal .product-image {
    width: auto;
}

body#cart #blockcart-modal .card.cart-container span.price, #blockcart-modal .product-line-info a.label, #blockcart-modal .product-line-info span.label {
    font-family: Golos Text;
    font-weight: 500;
    font-style: Medium;
    font-size: 15px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
}

#blockcart-modal .product-line-info span.label , #blockcart-modal .product-line-info:not(:has(.product-discount)) span.price {
    margin-bottom:0;
    font-family: Golos Text;
font-weight: 400;
font-style: Regular;
font-size: 12px;
leading-trim: NONE;
line-height: 100%;
letter-spacing: 0%;
text-align: center;

}

#blockcart-modal .bootstrap-touchspin .input-group-btn-vertical .touchspin-up, #blockcart-modal .bootstrap-touchspin .input-group-btn-vertical .touchspin-down {
    font-family: Golos Text;
    font-weight: 400;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
}

#blockcart-modal .input-group .form-control:not(:first-child):not(:last-child) {
    font-family: Golos Text;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
}

#blockcart-modal .bootstrap-touchspin input.form-control, 
#blockcart-modal  .bootstrap-touchspin input.input-group {
height: 1.5rem;
}


 #blockcart-modal .product-flag-wishlist {
    display: none;
}

 #blockcart-modal .product-accessories .product-title a,  #blockcart-modal .product-miniature .product-title a {
    font-size: 10px;
}

 #blockcart-modal p.cd-accessories-title {
    font-family: Golos Text;
    font-weight: 500;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0%;
}

@media (max-width:500px){
  #blockcart-modal .cart-drawer-accessories{
    margin:0;
  }
  #blockcart-modal .qty {
    margin: 0 auto 0.9375rem;
}

}

 #blockcart-modal .product-line-info {
    margin:  0;
}

 #blockcart-modal .qty {width: 140px;}

 #blockcart-modal .product-accessories .slick-track {
  margin: 0;
 }
 .input-group.bootstrap-touchspin {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

input.js-cart-line-product-quantity.form-control {
    margin: auto;
}
/* Panier vide */
.cart-drawer__content .cd-empty {
  margin: 24px 0;
  text-align: center;
  color: #666;
}

/* Indicateur affiché pendant le chargement du volet à l'ouverture */
.cd-loading {
  margin: auto;
  width: 28px;
  height: 28px;
  border: 2px solid rgba(17, 17, 17, 0.15);
  border-top-color: #111;
  border-radius: 50%;
  animation: cd-spin 0.7s linear infinite;
}
@keyframes cd-spin {
  to { transform: rotate(360deg); }
}

/* ==========================================================================
   Lignes du volet (checkout/_partials/cart-detailed-product-line2.tpl du thème)
   Règles reprises de la page panier. Elles étaient dans un <style> de la ligne, recopié à chaque article
   (~18 Ko par ligne) : ici une seule fois. :where(#cart-drawer) les limite au volet sans changer leur
   spécificité (sinon elles s'appliquaient à toute la page, ex. bouton « Ajouter au panier » de la fiche).
   ========================================================================== */
    :where(#cart-drawer) .prod_comp {
      flex: 0 0 100%;
      width: 100%;
      max-width: 1600px;
      margin: 0 auto;
    }

    :where(#cart-drawer) section.featured-products.clearfix {
      margin: 0;
      max-width: calc(1600px - 560px);
      padding: 0 15px;
    }

    :where(#cart-drawer) section.featured-products.clearfix {
      margin: 0;
    }

    /* Mobile : le calc(100% - 592px) rend .prod_comp négatif (donc invisible).
       On repasse en pleine largeur et on affiche les produits par 2. */
    @media (max-width: 767px) {
      :where(#cart-drawer) .prod_comp {
        width: 100%;
        max-width: 100%;
      }

      :where(#cart-drawer) .prod_comp .products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 31px;
        row-gap: 12px;
      }

      :where(#cart-drawer) section.featured-products.clearfix {
        padding: 0 18px;
      }

      :where(#cart-drawer) .cart-grid-right {
        padding: 0;
        flex: 0;
      }

      :where(#cart-drawer) article.product-miniature.js-product-miniature {
        margin: 0 !important;
      }

      :where(#cart-drawer) .prod_comp .product-miniature {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        float: none !important;
      }
    }

    :where(#cart-drawer) .cartmain {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
    }

    :where(#cart-drawer) .cart-overview.js-cart {
      display: flex;
      flex-direction: column;
    }

    :where(#cart-drawer) .cart-grid.row {
      flex: 1;
      display: flex;
      column-gap: 120px;
      max-width: 1600px;
      margin: auto;
    }

    @media (max-width:1200px) {
      :where(#cart-drawer) .cart-grid.row {
        column-gap: 60px;
      }
    }

    :where(#cart-drawer) .cart-grid.row:after {
      content: unset;
    }

    :where(#cart-drawer) .cart-grid-right {
      flex: 0 0 440px;
      max-width: 440px;
      padding: 5px;
    }

    :where(#cart-drawer) .product-line-grid-left {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: stretch;
      align-content: stretch;
      justify-content: flex-start;
      column-gap: 40px;
      flex: 1;
    }

    :where(#cart-drawer) span.separ {
      margin: 0 25px;
      width: 2px;
      background: white;
      height: 13px;
      display: inline-block;
    }

    :where(#cart-drawer) .product-line-info {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-content: flex-start;
      flex-wrap: wrap;
      align-items: flex-start;
      flex: 1;
    }

    :where(#cart-drawer) p.faiblestock { 
    font-size: 13px;
    color: #B43F3F;
}

    :where(#cart-drawer) .product-line-grid-right.product-line-actions {
      display: flex;
      align-content: stretch;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-end;
    }

    :where(#cart-drawer) .product-line-grid {
      flex: 1 1 100%;
    }

    :where(#cart-drawer) li.cart-item {
      display: flex;
    }

    :where(#cart-drawer) ul.cart-items {
      flex: 1;
    }

    :where(#cart-drawer) .product-line-grid {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
    }

    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical {
      width: 100%;
      float: unset;
      display: flex;
      position: absolute;
      z-index: 2;
      height: 100%;
      align-content: center;
      align-items: center;
      width: 100%;
      justify-content: space-between;
      padding: 0 8px;
      flex-direction: row-reverse;
    }

    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down {
      width: 8px;
      border: none;
    }

    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up {
      width: 8px;
      border: none;
    }

    :where(#cart-drawer) .input-group.bootstrap-touchspin {
      border: 1px solid #111;
      position: relative;
    }

    :where(#cart-drawer) input.js-cart-line-product-quantity.form-control {
      border: none;
    }

    :where(#cart-drawer) input.js-cart-line-product-quantity.form-control {
      margin: 0 29px;
      z-index: 99;
      background: transparent;
      text-align: center;
    }

    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical {
      width: 100%;
      float: unset;
      display: flex;
      position: absolute;
      z-index: 2;
      height: 100%;
      align-content: center;
      align-items: center;
      width: 100%;
      justify-content: space-between;
      padding: 0 8px;
    }

    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down {
      width: 8px;
      border: none;
    }

    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up {
      width: 8px;
      border: none;
    }

    :where(#cart-drawer) .input-group.bootstrap-touchspin {
      border: 1px solid #111;
      position: relative;
    }

    :where(#cart-drawer) input.js-cart-line-product-quantity.form-control {
      border: none;
    }

    :where(#cart-drawer) input.js-cart-line-product-quantity.form-control {
      margin: 0 29px;
      z-index: 99;
      background: transparent;
      text-align: center;
    }

    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .touchspin-up:after {
      content: '+';
      height: 100%;
    }

    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .touchspin-down:after {
      content: '-';
    }

    :where(#cart-drawer) i.material-icons.touchspin-down {
      font-size: 20px;
      line-height: 0.9375rem;
    }

    /* iOS/Safari colore par défaut le texte des boutons en bleu : on force le noir
       sur les boutons +/- du touchspin (et leurs pseudo-éléments). */
    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up,
    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down,
    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .touchspin-up,
    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .touchspin-down,
    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .touchspin-up:after,
    :where(#cart-drawer) .bootstrap-touchspin .input-group-btn-vertical .touchspin-down:after {
      color: #111 !important;
      -webkit-text-fill-color: #111 !important;
      -webkit-appearance: none;
      appearance: none;
    }

    :where(#cart-drawer) body#cart .card.cart-container span.price,
    :where(#cart-drawer) .product-line-info a.label,
    :where(#cart-drawer) .product-line-info span.label {
      font-family: Golos Text;
      font-weight: 400;
      font-style: Regular;
      font-size: 18px;
      leading-trim: NONE;
      line-height: 100%;
      letter-spacing: 0%;
      text-align: center;
    }

    :where(#cart-drawer) .supp_art {
      position: absolute;
      background: #111;
      color: white;
      display: flex;
      height: 100%;
      height: 40px;
      align-items: center;
      padding: 15px 20px;
      bottom: 0;
      width: 100%;
      transition: 1s;
      left: -100%;
      z-index: 100;
    }

    :where(#cart-drawer) .supp_art a {
      color: white;
    }

    :where(#cart-drawer) .replace {
      margin-left: auto;
    }

    :where(#cart-drawer) .supp_art.ouvv {
      left: 0;
    }

    :where(#cart-drawer) .cart-line-product-actions {
      cursor: pointer;
      padding: 0 0 0 20px; /* zone de clic plus large autour de la croix */
    }

    :where(#cart-drawer) span.ferm {
      cursor: pointer;
    }

    :where(#cart-drawer) .cart-grid.row {
      display: flex;
    }

    :where(#cart-drawer) .cart-grid-body {
      flex: 1;
    }

    :where(#cart-drawer) body#cart .card.cart-container span.product-price {
      line-height: 100%;
    }

    :where(#cart-drawer) span.label.js-subtotal {
      font-family: Golos Text;
      font-weight: 600;
      font-style: SemiBold;
      font-size: 16px;
      leading-trim: NONE;
      line-height: 100%;
      letter-spacing: 0%;
      text-transform: uppercase;
    }

    :where(#cart-drawer) .card-block.cart-summary-totals {
      padding: 0;
    }

    :where(#cart-drawer) .card-block.cart-summary-totals .cart-summary-line.cart-total {
      padding: 0;
    }

    :where(#cart-drawer) .card-block.cart-summary-totals .cart-summary-line.cart-total .label {
      font-family: Golos Text;
      font-weight: 400;
      font-style: Regular;
      font-size: 14px;
      leading-trim: NONE;
      line-height: 100%;
      letter-spacing: 0%;
    }

    :where(#cart-drawer) .card-block.cart-summary-totals .cart-summary-line.cart-total .value {
      font-family: Golos Text;
      font-weight: 400;
      font-style: Regular;
      font-size: 14px;
      leading-trim: NONE;
      line-height: 100%;
      letter-spacing: 0%;
      text-align: right;
    }

    :where(#cart-drawer) #cart .block-promo .promo-code form {
      width: 100%;
    }

    :where(#cart-drawer) .block-promo .promo-input {
      max-width: 100%;
      border: 1px solid #111;
      height: 34px;
    }

    :where(#cart-drawer) .block-promo .promo-input+button {
      padding: 15px 30px;
      height: 34px;
      margin: 0;
    }

    :where(#cart-drawer) .block-promo .promo-code {
      padding: 17px 0;
    }

    :where(#cart-drawer) #cart .block-promo .promo-code form {
      position: relative;
    }

    :where(#cart-drawer) a.cta_invit {
      display: block;
      font-family: Golos Text;
      font-weight: 500;
      font-size: 16px;
      line-height: 100%;
      letter-spacing: 0%;
      padding: 25px 0 7.5px;
      text-decoration: underline;
      text-underline-offset: 7px;
    }


    :where(#cart-drawer) .checkout.cart-action-buttons.card-block a.btn.btn-primary {
      text-transform: uppercase;
      width: 100%;
      padding: 8px;
    }

    :where(#cart-drawer) button.btn.btn-primary {
      padding: 12px 5px;
      margin-left: 0;
      margin-top: 0;
      width: 36px;
      max-width: unset;
      background: transparent;
      color: #111;
      position: absolute;
      right: 0;
      border: none;
      font-size: 0px;
    }

    :where(#cart-drawer) button.btn.btn-primary:before {
      content: url(/themes/classic-child/assets/img/chevron_right.svg);
      position: absolute;
      height: 100%;
      width: 36px;
      right: 5%;
      top: 0;
      text-align: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      flex-direction: row;
      align-content: center;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      line-height: 4px;
      transition: 0.5s;
      transform: scale(1.25);
    }

    :where(#cart-drawer) .paquet_cadeau {
      background: unset;
      padding: 13px 10px;
      max-width: 442px;
      border: 1px solid #111;
      margin-top: 0;
    }

    :where(#cart-drawer) .text_cadeau h3 {
      font-size: 18px;
      text-transform: uppercase;
      margin: 0;
    }

    :where(#cart-drawer) .text_cadeau a.btn-primary {
      font-family: Golos Text;
      font-weight: 500;
      font-style: Medium;
      font-size: 14px;
      leading-trim: NONE;
      line-height: 100%;
      letter-spacing: 0%;
      width: 100%;
      padding: 7px 25px;
    }

    :where(#cart-drawer) .text_cadeau p {
      margin: 10px 0 15px;
    }

    :where(#cart-drawer) .product-line-info span.label {
      margin-top: auto;
      margin-bottom: 18px;
    }

    :where(#cart-drawer) .product-line-info:not(:has(.product-discount)) span.price {
      margin-top: 10px;

    }

    :where(#cart-drawer) a.label.continue_shopping {
      font-family: Golos Text;
      font-weight: 400;
      font-style: Regular;
      font-size: 14px;
      leading-trim: NONE;
      line-height: 100%;
      letter-spacing: 0%;
      text-transform: uppercase;
    }

    :where(#cart-drawer) body#cart h2.h2.products-section-title.text-uppercase {
      padding: 0;
      font-family: Golos Text;
      font-weight: 500;
      font-style: Medium;
      font-size: 20px;
      leading-trim: NONE;
      line-height: 100%;
      letter-spacing: 0%;
    }

    :where(#cart-drawer) .cart-grid-body {
      /* border-bottom: 1px solid rgba(0, 0, 0, 0.25); */
    }

    :where(#cart-drawer) .sep_bas {
      border-top: 1px solid rgba(0, 0, 0, 0.25);
      margin: 0 15px;
    }


    /* Sticky uniquement sur desktop (>= 768px) */
    @media (min-width: 768px) {

      /* #main a overflow:hidden dans le thème, ce qui casse position:sticky.
         On le neutralise (overflow-x: clip garde le clip horizontal sans
         créer de conteneur de défilement) */
      :where(#cart-drawer) section#main {
        overflow: visible;
        overflow-x: clip;
      }

      /* la rangée ne doit pas étirer la colonne de droite,
         sinon la colonne fait toute la hauteur et le sticky n'a pas de course */
      :where(#cart-drawer) .cart-grid {
        align-items: flex-start;
      }

      :where(#cart-drawer) .cart-grid-right {
        position: sticky;
        /* valeur calculée en JS : position de #wrapper + 10px */
        top: var(--cart-sticky-top, 35px);
      }

    }

    @media (max-width: 768px) {

      :where(#cart-drawer) .cart-grid.row {
        display: flex;
        flex-direction: column;
      }

          :where(#cart-drawer) p.faiblestock { 
    font-size: 11px;
}

      :where(#cart-drawer) .sep_bas {
        margin: 0;
      }

      :where(#cart-drawer) body#cart .card.cart-container .product-line-grid-left img {
        max-width: 100px;
      }

      :where(#cart-drawer) input.js-cart-line-product-quantity.form-control {
        margin: 0 49px;
      }

      :where(#cart-drawer) .replace {
        margin: 5px 0 0;
      }

      :where(#cart-drawer) .supp_art.ouvv {
        flex-direction: column;
        height: 60px;
        align-items: flex-start;
        padding: 10px 5px;
      }

      :where(#cart-drawer) .supp_art {
        height: 60px;
      }

      :where(#cart-drawer) #cart .card-block {
        padding: 0;
      }

      :where(#cart-drawer) .block-promo .promo-input {
        width: 100%;
      }

      :where(#cart-drawer) .card.cart-summary.free-shipping-promo p {
        font-size: 13px;
      }

      :where(#cart-drawer) .card.cart-summary.free-shipping-promo {
        margin-bottom: 0;
      }

      :where(#cart-drawer) .paquet_cadeau {
        margin: 30px 0 20px 0;
      }

      :where(#cart-drawer) a.cta_invit {
        text-align: center;
        margin-bottom: 25px;
      }

      :where(#cart-drawer) .products {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: flex-start;
      }

      :where(#cart-drawer) a.cta_invit {
        text-align: center;
        margin-bottom: 25px;
      }

      :where(#cart-drawer) .text_cadeau a.btn-primary {
        font-family: Golos Text;
        font-weight: 500;
        font-style: Medium;
        font-size: 12px;
        line-height: 100%;
        letter-spacing: 0%;
        padding: 7px 5px;
      }

      :where(#cart-drawer) .cartmain {
        padding: 0 18px;
      }

      :where(#cart-drawer) .cart-grid.row {
        display: flex;
        flex-direction: column;
      }

      :where(#cart-drawer) .product-line-grid-left {
        column-gap: 20px;
      }

      :where(#cart-drawer) body#cart .card.cart-container span.price,
      :where(#cart-drawer) .product-line-info a.label,
      :where(#cart-drawer) .product-line-info span.label {
        font-size: 18px;
      }

      :where(#cart-drawer) body#cart .card.cart-container span.product-price {
        font-size: 14px;
      }

      :where(#cart-drawer) body#cart .card.cart-container span.price,
      :where(#cart-drawer) .product-line-info a.label,
      :where(#cart-drawer) .product-line-info span.label {
        font-size: 14px;
      }

      :where(#cart-drawer) .cart-grid.row {
        display: flex;
        flex-direction: column;
      }
    }



    :where(#cart-drawer) .product-accessories .product-title a, :where(#cart-drawer) .product-miniature .product-title a {
    font-size: 14px;
}
:where(#cart-drawer) .product-accessories .product-title, :where(#cart-drawer) .product-miniature .product-title{
  text-align: left;
}

:where(#cart-drawer) .product-accessories .product-price-and-shipping, :where(#cart-drawer) .product-miniature .product-price-and-shipping {
    font-size: 12px;
        text-align: left;
}
