/** Shopify CDN: Minification failed

Line 69:0 Unexpected "<"
Line 80:0 Unexpected "<"
Line 905:0 Expected "}" to go with "{"

**/
/* État normal : aucun fond, aucun cadre noir */
.product-form__input input + label,
.variant-option label,
.swatch-element label {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* État sélectionné : gold léger (fond + bordure) */
.product-form__input input:checked + label,
.variant-option input:checked + label,
.swatch-element input:checked + label {
  background-color: #e6c767 !important;  /* gold léger */
  border: 1.5px solid #e6c767 !important; /* cadre même gold */
  outline: none !important;
  box-shadow: none !important;
  color: #000 !important;
}
/* État normal : bordure gold légère, pas de fond */
.product-form__input input + label,
.variant-option label,
.swatch-element label {
  background: transparent !important;
  border: 1.5px solid #e6c767 !important; /* bordure gold légère */
  outline: none !important;
  box-shadow: none !important;
}

/* État sélectionné : gold léger (fond + bordure) */
.product-form__input input:checked + label,
.variant-option input:checked + label,
.swatch-element input:checked + label {
  background-color: #e6c767 !important;   /* fond gold léger */
  border: 1.5px solid #e6c767 !important; /* cadre même gold */
  color: #000 !important;
}
/* Titre Couleur / Size (Farbe / Größe) : gris + pas gras */
.product-form__input legend,
.product-form__input > label {
  color: #777 !important;      /* gris */
  font-weight: 400 !important; /* normal */
}
/* Prix actuel : un peu plus grand */
.price-item--sale,
.price-item--last,
.price__current {
  font-size: 28px !important; /* principal */
  line-height: 1.2;
}

/* Ancien prix barré : légèrement plus petit */
.price-item--regular,
.price__compare,
.compare-at-price,
s {
  font-size: 22px !important; /* décalage léger */
  line-height: 1.2;
}

<style>
/* Custom Liquid – progression BLEU clair jusqu’au “F” de FREE, reste BLANC */
.free-shipping-progress{
  background: linear-gradient(
    to right,
    #cfe4ff 0%,
    #cfe4ff 71%,  /* FIN sur le “F” de FREE */
    #ffffff 71%,
    #ffffff 100%
  );
}
</style>

/* Bleu très léger dès le début du carré (avant l’emoji) → stop sur “R” de FREE */
.fs-text{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:100% !important;
  height:100% !important;
  background: linear-gradient(to right,#eaf3ff 0%,#eaf3ff 66%,transparent 66%,transparent 100%) !important;
}

/* Centrage texte + icône + BACKGROUND depuis le début du carré */
.fs-text{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;

  /* BLEU très léger dès le début → STOP SUR R DE FREE */
  background: linear-gradient(
    to right,
    #eaf3ff 0%,
    #eaf3ff 63%,   /* ← STOP EXACT SUR "R" */
    transparent 63%,
    transparent 100%
  ) !important;

  width:100% !important;
  height:100% !important;
  padding:4px 6px !important;
}

/* Aucun fond sur le texte interne */
.fs-text span,
.fs-text strong{
  background:transparent !important;
}

/* Camion aligné */
.fs-truck{
  display:inline-block !important;
}

/* ===== STICKY ADD TO CART BUTTON ===== */

/* Cible le bouton sticky add to cart (Dawn & thèmes similaires) */
.sticky-atc button,
.sticky-atc button[type="submit"],
.sticky-add-to-cart button,
.sticky-add-to-cart button[type="submit"]{
  color:#ffffff !important; /* texte blanc */
}

/* FIX: réafficher le texte du bouton (sticky + add to cart) */
.product-form__submit,
button[name="add"],
.sticky-atc button,
.sticky-add-to-cart button,
form[action^="/cart/add"] button[type="submit"]{
  font-size: 16px !important;
  line-height: 1.2 !important;
  color: #ffffff !important;      /* blanc si fond gold */
  text-indent: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Supprime tout pseudo-texte qui peut casser l'affichage */
.product-form__submit::before,
.product-form__submit::after,
button[name="add"]::before,
button[name="add"]::after,
.sticky-atc button::before,
.sticky-atc button::after,
.sticky-add-to-cart button::before,
.sticky-add-to-cart button::after{
  content: none !important;
}
/* Enlever les majuscules sur le bouton Add to Cart + Sticky */
.product-form__submit,
button[name="add"],
.sticky-atc button,
.sticky-add-to-cart button,
form[action^="/cart/add"] button[type="submit"]{
  text-transform: none !important;
}
/* Agrandir légèrement le texte du bouton (normal + sticky) */
.product-form__submit,
button[name="add"],
.sticky-atc button,
.sticky-add-to-cart button,
form[action^="/cart/add"] button[type="submit"]{
  font-size: 17px !important;   /* un peu plus grand */
  text-transform: none !important;
}

/* ÉTAT NORMAL : blanc + texte noir */
.product-form__submit,
button[name="add"],
.sticky-atc button,
.sticky-add-to-cart button,
form[action^="/cart/add"] button[type="submit"]{
  background-color:#ffffff !important; /* BLANC */
  color:#000000 !important;            /* NOIR */
  font-size:17px !important;
  text-transform:none !important;
  border:1px solid #e0e0e0 !important; /* bordure discrète */
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

/* AU SURVOL : rouge léger + texte noir */
.product-form__submit:hover,
button[name="add"]:hover,
.sticky-atc button:hover,
.sticky-add-to-cart button:hover,
form[action^="/cart/add"] button[type="submit"]:hover{
  background-color:#ffd6d6 !important; /* ROUGE LÉGER */
  color:#000000 !important;            /* NOIR */
  border-color:#ffd6d6 !important;
}

/* ÉTAT NORMAL : blanc + bordure noire claire */
.product-form__submit,
button[name="add"],
.sticky-atc button,
.sticky-add-to-cart button,
form[action^="/cart/add"] button[type="submit"]{
  background-color:#ffffff !important; /* BLANC */
  color:#000000 !important;            /* TEXTE NOIR */
  font-size:17px !important;
  text-transform:none !important;

  border:1.5px solid #333333 !important; /* NOIR CLAIR */
  transition: background-color .25s ease,
              color .25s ease,
              border-color .25s ease;
}

/* AU SURVOL : rouge un peu plus foncé */
.product-form__submit:hover,
button[name="add"]:hover,
.sticky-atc button:hover,
.sticky-add-to-cart button:hover,
form[action^="/cart/add"] button[type="submit"]:hover{
  background-color:#f2a1a1 !important; /* ROUGE PLUS FONCÉ */
  color:#000000 !important;            /* TEXTE NOIR */
  border-color:#f2a1a1 !important;
}

/* ÉTAT NORMAL : blanc + bordure noire claire */
.product-form__submit,
button[name="add"],
.sticky-atc button,
.sticky-add-to-cart button,
form[action^="/cart/add"] button[type="submit"]{
  background-color:#ffffff !important; /* BLANC */
  color:#000000 !important;            /* TEXTE NOIR */
  font-size:17px !important;
  text-transform:none !important;

  border:1.5px solid #333333 !important; /* NOIR CLAIR */
  transition: background-color .25s ease,
              color .25s ease,
              border-color .25s ease;
}

/* AU SURVOL : ROUGE FONCÉ (VRAI RED) */
.product-form__submit:hover,
button[name="add"]:hover,
.sticky-atc button:hover,
.sticky-add-to-cart button:hover,
form[action^="/cart/add"] button[type="submit"]:hover{
  background-color:#c62828 !important; /* ROUGE FONCÉ */
  color:#000000 !important;            /* TEXTE NOIR */
  border-color:#c62828 !important;
}
/* ÉTAT NORMAL */
.product-form__submit,
button[name="add"],
.sticky-atc button,
.sticky-add-to-cart button,
form[action^="/cart/add"] button[type="submit"]{
  background-color:#ffffff !important;
  color:#000000 !important;
  font-size:17px !important;
  text-transform:none !important;
  border:1.5px solid #333333 !important;
  transition: background-color .25s ease,
              color .25s ease,
              border-color .25s ease;
}

/* ÉTAT NORMAL : blanc + bordure noire claire */
.product-form__submit,
button[name="add"],
.sticky-atc button,
.sticky-add-to-cart button,
form[action^="/cart/add"] button[type="submit"]{
  background-color:#ffffff !important;
  color:#000000 !important;
  font-size:17px !important;
  text-transform:none !important;
  border:1.5px solid #333333 !important;
  transition: background-color .25s ease,
              color .25s ease,
              border-color .25s ease;
}

/* ÉTAT NORMAL : blanc + bordure noire claire */
.product-form__submit,
button[name="add"],
.sticky-atc button,
.sticky-add-to-cart button,
form[action^="/cart/add"] button[type="submit"]{
  background-color:#ffffff !important;
  color:#000000 !important;
  font-size:17px !important;
  text-transform:none !important;
  border:1.5px solid #333333 !important;
  transition: background-color .25s ease,
              color .25s ease,
              border-color .25s ease;
}

/* ÉTAT NORMAL : blanc + bordure noire claire */
.product-form__submit,
button[name="add"],
.sticky-atc button,
.sticky-add-to-cart button,
form[action^="/cart/add"] button[type="submit"]{
  background-color:#ffffff !important;
  color:#000000 !important;
  font-size:17px !important;
  text-transform:none !important;
  border:1.5px solid #333333 !important;
  transition: background-color .25s ease,
              color .25s ease,
              border-color .25s ease;
}

/* ÉTAT NORMAL : blanc + bordure noire claire */
.product-form__submit,
button[name="add"],
.sticky-atc button,
.sticky-add-to-cart button,
form[action^="/cart/add"] button[type="submit"]{
  background-color:#ffffff !important;
  color:#000000 !important;
  font-size:17px !important;
  text-transform:none !important;
  border:1.5px solid #333333 !important;
  transition: background-color .25s ease,
              color .25s ease,
              border-color .25s ease;
}

/* HOVER : ROUGE NORMAL */
.product-form__submit:hover,
button[name="add"]:hover,
.sticky-atc button:hover,
.sticky-add-to-cart button:hover,
form[action^="/cart/add"] button[type="submit"]:hover{
  background-color:#ff0000 !important; /* ROUGE NORMAL */
  border-color:#ff0000 !important;
  color:#000000 !important;
}


/* 1) Trouver la 1ère section (celle du haut) qui contient un slider */
.shopify-section:has(.slideshow, .slider, .swiper, .flickity-viewport, .splide, [data-slideshow], [data-slider]) {
  /* on ne change rien ici */
}

/* 2) CIBLER LA SECTION JUSTE EN DESSOUS (la 2ème) */
.shopify-section:has(.slideshow, .slider, .swiper, .flickity-viewport, .splide, [data-slideshow], [data-slider])
+ .shopify-section {
  width: 50% !important;
  margin-left: auto !important;   /* moitié droite */
  margin-right: 0 !important;
  transform: none !important;
}

/* 3) Dans cette 2ème section : images/vidéos bien droites */
.shopify-section:has(.slideshow, .slider, .swiper, .flickity-viewport, .splide, [data-slideshow], [data-slider])
+ .shopify-section :is(img, video, iframe, model-viewer) {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  transform: none !important;
}

/* 4) Enlever la limite de largeur du thème dans cette 2ème section */
.shopify-section:has(.slideshow, .slider, .swiper, .flickity-viewport, .splide, [data-slideshow], [data-slider])
+ .shopify-section :is(.page-width, .container, .wrapper) {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* ✅ Appliquer sur l’éditeur ET sur View store */
.shopify-section:has(.slideshow, .slider, .swiper, .flickity-viewport, .splide, [data-slideshow], [data-slider])
+ .shopify-section{
  width: 50% !important;
  max-width: 50% !important;
  margin-left: auto !important;   /* moitié droite */
  margin-right: 0 !important;
}

/* ✅ Dans View store, le thème centre via page-width/container : on neutralise */
.shopify-section:has(.slideshow, .slider, .swiper, .flickity-viewport, .splide, [data-slideshow], [data-slider])
+ .shopify-section :is(.page-width, .container, .wrapper){
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ✅ Image (ou video) prend toute la largeur du cadre */
.shopify-section:has(.slideshow, .slider, .swiper, .flickity-viewport, .splide, [data-slideshow], [data-slider])
+ .shopify-section :is(img, video, iframe, model-viewer){
  width: 100% !important;
  display: block !important;
  height: auto !important;
}
/* 🔒 FORÇAGE FRONT STORE : section image à droite */
.shopify-section:has(.slideshow, .slider, .swiper, .flickity-viewport, .splide, [data-slideshow], [data-slider])
+ .shopify-section{
  width: 50% !important;
  max-width: 50% !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  float: right !important; /* <- clé pour View store */
}

/* Supprimer le centrage du thème */
.shopify-section:has(.slideshow, .slider, .swiper, .flickity-viewport, .splide, [data-slideshow], [data-slider])
+ .shopify-section :is(.page-width, .container, .wrapper){
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Image / vidéo bien droite */
.shopify-section:has(.slideshow, .slider, .swiper, .flickity-viewport, .splide, [data-slideshow], [data-slider])
+ .shopify-section :is(img, video, iframe, model-viewer){
  width: 100% !important;
  display: block !important;
  height: auto !important;
}


/* 1) PRIX NORMAL (24.99) → ROUGE + PAS BARRÉ
   On cible tous les montants "money" SAUF ceux qui sont dans un del/s/strike */
.price .money,
.price [class*="money"],
[class*="price"] .money,
[class*="price"] [class*="money"]{
  color: #e10600 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* IMPORTANT: annule la règle rouge pour les montants qui sont dans le prix barré */
.price del .money,
.price s .money,
.price strike .money,
[class*="price"] del .money,
[class*="price"] s .money,
[class*="price"] strike .money{
  color: #9b9b9b !important;
  text-decoration: line-through !important;
  font-weight: 500 !important;
}

/* 2) PRIX BARRÉ (49.99) → GRIS + BARRÉ (même si ce n’est pas un .money) */
.price del,
.price s,
.price strike,
[class*="price"] del,
[class*="price"] s,
[class*="price"] strike{
  color: #9b9b9b !important;
  text-decoration: line-through !important;
}

/* 3) AU CAS OÙ ton thème met la barre via un pseudo-élément */
.price del::before,
.price del::after,
[class*="price"] del::before,
[class*="price"] del::after{
  color: #9b9b9b !important;
}

/* Prix actuel (non barré) en rouge */
.product__info-container .price :is(span, div, p, b, strong) {
  color: #e10600 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Prix barré (ancien) gris + barré */
.product__info-container .price :is(del, s, strike) {
  color: #9b9b9b !important;
  text-decoration: line-through !important;
}

/* FIX : badge "Save 50%" plus clair + texte lisible */
[class*="save"],
.badge--sale,
.price__badge-sale,
.sale-badge {
  background-color: #ff6b6b !important; /* rouge clair */
  color: #ffffff !important;            /* texte blanc */
  font-weight: 700 !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.25) !important; /* lisibilité */
}

/* Au cas où le thème fonce le texte à l’intérieur */
[class*="save"] *,
.badge--sale * {
  color: #ffffff !important;
}


/* TEXTE "SAVE 50%" EN BLANC (FOND ROUGE INCHANGÉ) */
.badge--sale,
.badge--sale *,
.price__badge-sale,
.price__badge-sale *,
.sale-badge,
.sale-badge *,
.discount-badge,
.discount-badge * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}



/* Supprimer l’espace sous le GIF */
.bundle-top-image{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  display: block;
}

/* Supprimer l’espace au-dessus du Bundler */
.bundle-wrapper [class*="bundler"]{
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* =============================== */
/* ZERO ESPACE ENTRE GIF ET BUNDLER */
/* =============================== */

/* GIF */
.bundle-top-image{
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  display: block !important;
}

/* Tous les blocs juste après le GIF */
.bundle-top-image + *{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Bundler lui-même */
.bundle-wrapper [class*="bundler"]{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Cas des thèmes Shopify (sections / blocks) */
.bundle-wrapper .shopify-section,
.bundle-wrapper .shopify-block{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Sécurité totale : premier élément du Bundler */
.bundle-wrapper [class*="bundler"] > *:first-child{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* BUNDLER : CADRE NOIR FIN AUTOUR DES IMAGES */
.bundle-wrapper [class*="bundler"] img{
  border: 1px solid #000 !important; /* noir normal */
  padding: 4px !important;           /* fin */
  border-radius: 0 !important;       /* carré net */
  box-sizing: border-box !important;
}

/* =============================== */
/* BUNDLER : SUPPRIMER ESPACE IMAGE → TEXTE */
/* =============================== */

/* Image Bundler */
.bundle-wrapper [class*="bundler"] img{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  display: block !important;
}

/* ===================================================== */
/* BUNDLER : REMETTRE ALIGNEMENT + TEXTE EN HAUT DE L’IMAGE */
/* ===================================================== */

/* 1) RESET des règles qui peuvent faire bouger l'image */
.bundle-wrapper [class*="bundler"] img{
  margin: 0 auto !important;
  padding: 0 !important;
  line-height: normal !important;
}

/* 2) Forcer tous les conteneurs flex du bundler à aligner en haut */
.bundle-wrapper [class*="bundler"] *{
  align-items: flex-start !important;   /* si c'est flex */
  align-content: start !important;      /* si c'est grid */
}

/* 3) Supprimer l’espace SANS casser l’alignement */
.bundle-wrapper [class*="bundler"] p,
.bundle-wrapper [class*="bundler"] h1,
.bundle-wrapper [class*="bundler"] h2,
.bundle-wrapper [class*="bundler"] h3,
.bundle-wrapper [class*="bundler"] span{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.05 !important;
}

/* 4) Coller le bloc texte à l'image (cas le plus fréquent) */
.bundle-wrapper [class*="bundler"] img + *{
  margin-top: 0 !important;
  padding-top: 0 !important;

/* ✅ BUNDLER: afficher le 2ème prix en premier (sans changer le HTML) */
.bundle-wrapper [class*="bundler"] .price,
.bundle-wrapper [class*="bundler"] [class*="price"]{
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

/* 2ème prix -> devient 1er */
.bundle-wrapper [class*="bundler"] span + span{
  order: 1 !important;
}

/* 1er prix -> passe après */
.bundle-wrapper [class*="bundler"] span:first-child{
  order: 2 !important;
}


/* ========================================= */
/* BUNDLER – CORRECTION DU TOTAL */
/* ========================================= */

/* Conteneur TOTAL en flex pour gérer l'ordre */
.bundle-wrapper [class*="total"],
.bundle-wrapper [id*="total"]{
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

/* 🔁 Afficher le 2e prix en premier (prix final) */
.bundle-wrapper [class*="total"] span + span,
.bundle-wrapper [id*="total"] span + span{
  order: 1 !important;
}

/* 🔁 Mettre le 1er prix après (prix barré) */
.bundle-wrapper [class*="total"] span:first-child,
.bundle-wrapper [id*="total"] span:first-child{
  order: 2 !important;
}

/* ❌ Supprimer les doublons intermédiaires */
.bundle-wrapper [class*="total"] span:not(:first-child):not(:last-child),
.bundle-wrapper [id*="total"] span:not(:first-child):not(:last-child){
  display: none !important;
}

/* 🎨 Style final du TOTAL */
.bundle-wrapper [class*="total"] span + span,
.bundle-wrapper [id*="total"] span + span{
  color: #e10600 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.bundle-wrapper [class*="total"] span:first-child,
.bundle-wrapper [id*="total"] span:first-child{
  color: #7a7a7a !important;
  opacity: .75 !important;
  text-decoration: line-through !important;
}

/* ========================================= */
/* BUNDLER – SUPPRIMER LE PRIX BARRÉ GRIS À DROITE DU TOTAL */
/* ========================================= */

.bundle-wrapper [class*="total"] del:last-of-type,
.bundle-wrapper [class*="total"] s:last-of-type,
.bundle-wrapper [id*="total"] del:last-of-type,
.bundle-wrapper [id*="total"] s:last-of-type{
  display: none !important;
}

/* ===================================================== */
/* BUNDLER – UNIQUEMENT le prix 9.99 du produit DROIT */
/* ===================================================== */

/* 1️⃣ Neutraliser tout barré par défaut */
.bundle-wrapper [class*="price"],
.bundle-wrapper [class*="amount"]{
  text-decoration: none !important;
}

/* 2️⃣ Barrer UNIQUEMENT le prix du produit de droite (2e carte) */
.bundle-wrapper
:is([class*="product"],[class*="item"]):nth-of-type(2)
[class*="price"] span:first-of-type{
  color: #7a7a7a !important;
  text-decoration: line-through !important;
  opacity: 0.75 !important;
  font-weight: 600 !important;
}

/* 3️⃣ Sécurité : ne jamais toucher au TOTAL */
.bundle-wrapper :is([class*="total"],[id*="total"]) *{
  text-decoration: none !important;
  color: inherit !important;
}

/* ========================================= */
/* BUNDLER – ENLEVER LE SOULIGNEMENT DU TEXTE */
/* ========================================= */

.bundle-wrapper
:is([class*="product"],[class*="item"])
:is(h1,h2,h3,h4,h5,h6,p,a,span,.title,[class*="title"],[class*="name"]){
  text-decoration: none !important;
}

/* ========================================= */
/* BUNDLER – ENLEVER LE GRAS DU TEXTE (hors prix) */
/* ========================================= */

.bundle-wrapper
:is([class*="product"],[class*="item"])
:is(h1,h2,h3,h4,h5,h6,p,a,span,.title,[class*="title"],[class*="name"]){
  font-weight: 400 !important;
}

/* ========================================= */
/* BUNDLER – METTRE LES PRIX DES IMAGES EN GRAS */
/* ========================================= */

.bundle-wrapper
:is([class*="product"],[class*="item"])
:is(.price,[class*="price"],[class*="amount"])
:not([class*="total"]):not([id*="total"]){
  font-weight: 700 !important;
}



/* ========================================= */
/* BUNDLER – ALIGNEMENT PROPRE DES CARTES */
/* ========================================= */

/* Chaque produit du bundle */
.bundle-wrapper > [class*="product"],
.bundle-wrapper > [class*="item"] {
  display: flex !important;
  flex-direction: column !important;
}

/* TEXTE (titre / description) */
.bundle-wrapper
:is([class*="product"], [class*="item"])
:is(h1,h2,h3,h4,h5,h6,p,.title,[class*="title"],[class*="name"]) {
  min-height: 120px; /* 🔧 ajuste selon ton texte */
}

/* PRIX */
.bundle-wrapper
:is([class*="product"], [class*="item"])
:is(.price,[class*="price"],[class*="amount"]) {
  margin-top: auto !important;
}

/* VARIANTES + QUANTITÉ */
.bundle-wrapper
:is([class*="product"], [class*="item"])
select,
.bundle-wrapper
:is([class*="product"], [class*="item"])
:is(.quantity,[class*="quantity"],[class*="qty"]) {
  margin-top: 10px !important;
}


/* ✅ Augmenter la longueur du quantity selector */
.quantity,
.quantity-selector,
.product-quantity,
[class*="quantity"]{
  width: 150px !important;      /* <-- augmente ici (ex: 160px / 170px) */
  max-width: 100% !important;
}

/* Si le bloc est dans un layout flex et se réduit trop */
.quantity,
.quantity-selector,
.product-quantity,
[class*="quantity"]{
  flex: 0 0 150px !important;   /* garde la largeur */
}




/* ✅ Forcer le quantity selector du thème (SHRINE) */
.template-product .product-form__quantity,
.template-product .quantity {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}

.template-product .product-form__quantity input[type="number"],
.template-product .quantity input[type="number"]{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* === FIX ESPACE POUR BUNDLER (TOTAL + PRIX) === */
.bundler-widget,
.bundler-bundle,
[class*="bundler"] {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Zone du total et des prix */
[class*="total" i],
[class*="price" i],
[data-bundler-total] {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}

/* Lignes produits */
.bundler-product,
.bundler-item {
  min-height: auto !important;
  overflow: visible !important;
}

/* Si flex bloque l’espace */
[class*="total" i] {
  flex-wrap: wrap !important;
  align-items: flex-start !important;
}





/* GLOBAL : même rendu page + preview/modal */
.media--contain img {
  object-fit: contain !important;
  height: auto !important;
}

.media--constrain img {
  max-height: none !important;
}

/* modal/preview Shrine/Dawn (haute priorité) */
.product-media-modal .media img,
.product__modal .media img,
.modal__content .media img {
  object-fit: contain !important;
  height: auto !important;
  max-height: none !important;
}














