/** Shopify CDN: Minification failed

Line 87:0 Unexpected "@font-face"
Line 575:6 Expected ":"

**/
f/* =============================================================================
   FOR.ME — CSS PERSONNALISÉ
   =============================================================================
   TABLE DES MATIÈRES :
   
   1. FONTS — Noir Pro
   2. GLOBAL — Reset & utilitaires
   3. HEADER & NAVIGATION DESKTOP
      3.1 Header wrapper
      3.2 Menu principal (liens)
      3.3 Bordure coulissante (hover)
      3.4 Hover bold (text-shadow)
      3.5 Exception : désactiver hover sur KITS
      3.6 Header actions mobile
   4. MEGA MENU
      4.1 Structure & reset ombres
      4.2 Bordure basse submenu
      4.3 Liens parents (PALETTES, PINCEAUX…)
      4.4 Sous-liens (Palette Marron, Gloss…)
   5. MENU DRAWER (MOBILE)
   6. PRODUCT CARDS
      6.1 Card — fond, border, radius, padding
      6.2 Card — image (galerie)
      6.3 Card — titres
      6.4 Card — prix
      6.5 Card — swatches
      6.6 Card — swatches out of stock (diagonale)
      6.7 Card — layout & alignement
      6.8 Card — bouton add-to-cart
      6.9 Card — badge promo
      6.10 Card — titre ellipsis (1 ligne max)
      6.11 Card — override recommandations (styles inline)
   7. PRODUCT PAGE
      7.1 Boutons add-to-cart (desktop + mobile)
      7.2 Sticky add-to-cart mobile (bouton rond "+")
      7.3 Variantes (swatches actives)
      7.4 Détails header
      7.5 Bouton épuisé
      7.6 Badges produit (masqués)
      7.7 Media gallery mobile (barre de progression)
   8. COLLECTION PAGE
   9. HERO — Mobile aspect ratio
   10. SECTIONS CUSTOM (grid mobile)
   11. ANIMATIONS — Étoile scintillante
   12. TOLSTOY (vidéos)
   13. INFLATE REVIEWS
   14. UPCART — HEADER
   15. UPCART — REWARDS & PROGRESS BAR
       15.1 Message rewards
       15.2 Progress bar (structure)
       15.3 Progress bar — segments & fill
       15.4 Progress bar — milestones (icônes & labels)
       15.5 Progress bar — icône custom : barrettes
       15.6 Progress bar — icône custom : miroir
   16. UPCART — CART ITEMS
       16.1 Images
       16.2 Titre & info
       16.3 Prix
       16.4 Quantité
       16.5 Espacement
   17. UPCART — UPSELL
       17.1 Section titre
       17.2 Tiles
       17.3 Images
       17.4 Prix
       17.5 Boutons & selects
       17.6 Carousel espacement
   18. UPCART — LAYOUT & FOOTER
       18.1 Cart sticky bottom
       18.2 Footer
       18.3 Éléments masqués
       18.4 Produits offerts / Free gifts (Safari fix)
       18.5 Divers (backdrop, empty state…)
   ============================================================================= */


/* =============================================================================
   1. FONTS — NOIR PRO
   ============================================================================= */

@font-face {
  font-family: 'Noir Pro';
  src: url('/cdn/shop/files/NoirPro-Light.woff2?v=1763305178') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: block;
  ascent-override: 90%;
}

@font-face {
  font-family: 'Noir Pro';
  src: url('/cdn/shop/files/NoirPro-Regular.woff2?v=1763305178') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: block;
  ascent-override: 90%;
}

@font-face {
  font-family: 'Noir Pro';
  src: url('/cdn/shop/files/NoirPro-Medium.woff2?v=1763305178') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: block;
  ascent-override: 90%;
}

@font-face {
  font-family: 'Noir Pro';
  src: url('/cdn/shop/files/NoirPro-SemiBold.woff2?v=1763305178') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: block;
  ascent-override: 90%;
}

@font-face {
  font-family: 'Noir Pro';
  src: url('/cdn/shop/files/NoirPro-Bold.woff2?v=1763305178') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: block;
  ascent-override: 90%;
}

@font-face {
  font-family: 'Noir Pro';
  src: url('/cdn/shop/files/NoirPro-Heavy.woff2?v=1763305178') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: block;
  ascent-override: 90%;
}

:root {
  --font-heading-family: 'Noir Pro', sans-serif;
  --font-body-family: 'Noir Pro', sans-serif;
}

body,
h1, h2, h3, h4, h5, h6,
p, a, span, li,
button, input, select, textarea,
.btn, .button {
  font-family: 'Noir Pro', sans-serif !important;
}

body {
  position: relative;
  top: 1px;
}


/* =============================================================================
   2. GLOBAL — RESET & UTILITAIRES
   ============================================================================= */

* {
  --shadow-blur: 0px !important;
  --shadow-popover: none !important;
}

/* Anti-zoom iOS sur focus input */
@media screen and (max-width: 1200px) {
  input,
  textarea,
  select {
    font-size: max(1rem, 100%) !important;
  }
}

/* Empêcher scroll horizontal mobile */
@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }
}


/* =============================================================================
   3. HEADER & NAVIGATION DESKTOP
   ============================================================================= */

/* --- 3.1 Header wrapper --- */

header-component,
.header-wrapper {
  box-shadow: none !important;
}

/* --- 3.2 Menu principal (liens) --- */

.menu-list__link {
  position: relative;
  font-size: 11px !important;
  font-weight: 400;
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  height: 100%;
}

.menu-list__list-item {
  height: 100%;
}

.menu-list__link-title {
  position: static;
  display: inline-block;
}

/* --- 3.3 Bordure coulissante (collée au bas du header, largeur du texte) --- */

.menu-list__link-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  height: 1.5px;
  background-color: var(--color-foreground);
  transition: width 0.3s ease;
  z-index: 9999;
}

.menu-list__link:hover .menu-list__link-title::after,
.menu-list__link:focus .menu-list__link-title::after,
.menu-list__link[aria-expanded="true"] .menu-list__link-title::after {
  width: 100%;
}

/* --- 3.4 Hover bold (text-shadow) --- */

.menu-list__link:hover .menu-list__link-title,
.menu-list__link:focus .menu-list__link-title,
.menu-list__link[aria-expanded="true"] .menu-list__link-title {
  text-shadow: 0 0 0px currentColor, 0 0 0.5px currentColor;
}

.menu-list__link--active .menu-list__link-title {
  text-shadow: 0 0 0.3px currentColor, 0 0 0.5px currentColor;
}

/* --- 3.5 Désactiver hover sur KITS --- */

.menu-list__link:has(.mega-menu__link-title.wrap-text:only-child) .menu-list__link-title::after {
  display: none !important;
}

.menu-list__link:has(.mega-menu__link-title.wrap-text:only-child):hover .menu-list__link-title,
.menu-list__link:has(.mega-menu__link-title.wrap-text:only-child):focus .menu-list__link-title {
  text-shadow: none !important;
}

/* --- 3.6 Header actions mobile --- */

@media (max-width: 749px) {
  header-actions {
    display: flex !important;
    gap: 0 !important;
  }

  header-actions .header-actions__action {
    padding: 0 !important;
  }

  header-actions .account-button {
    min-width: unset !important;
    padding: 0 !important;
    width: 28px !important;
  }

  header-actions .account-button__icon {
    width: 15px !important;
    height: 15px !important;
  }
}


/* =============================================================================
   4. MEGA MENU
   ============================================================================= */

/* --- 4.1 Structure & reset ombres --- */

.menu-list__submenu-inner {
  padding: 20px 0;
}

.mega-menu,
.menu-list__submenu,
.menu-list__submenu-inner {
  box-shadow: none !important;
  border: none !important;
}

.mega-menu::before,
.mega-menu::after,
.menu-list__submenu::before,
.menu-list__submenu::after {
  display: none !important;
}

/* --- 4.2 Bordure basse submenu --- */

.header__row[style*="--border-bottom-width: 0px"] .menu-list__submenu.color-scheme-matches-parent .menu-list__submenu-inner,
.header__row[style*="--border-bottom-width: 0px"] .overflow-menu.color-scheme-matches-parent::part(overflow) {
  border-bottom: 1px solid #e0e0e0 !important;
}

/* --- 4.3 Liens parents (PALETTES, PINCEAUX…) --- */

.mega-menu__link--parent .mega-menu__link-title {
  font-size: 16px !important;
  font-weight: 400;
  letter-spacing: 2px;
}

.mega-menu__link--parent .mega-menu__link-title::after {
  display: none !important;
}

.mega-menu__link--parent:hover .mega-menu__link-title {
  text-shadow: none !important;
  opacity: 1 !important;
}

/* --- 4.4 Sous-liens (Palette Marron, Gloss…) --- */

.mega-menu__link:not(.mega-menu__link--parent) .mega-menu__link-title {
  font-size: 13px !important;
  color: #888888 !important;
  font-weight: 400 !important;
  letter-spacing: 0px;
  transition: color 0.3s ease;
}

.mega-menu__link:not(.mega-menu__link--parent):hover .mega-menu__link-title {
  color: #151515 !important;
}

.mega-menu__link:not(.mega-menu__link--parent)::after {
  display: none !important;
}


/* =============================================================================
   5. MENU DRAWER (MOBILE)
   ============================================================================= */

/* Cacher le bouton X du nav (garder celui du drawer) */
.menu-drawer__nav-buttons .menu-drawer__close-button,
button[on\:click="header-drawer/close"] {
  display: none !important;
}

.menu-drawer > .close-button.menu-drawer__close-button {
  display: flex !important;
}

.menu-drawer__nav-buttons {
  justify-content: flex-start !important;
}

.menu-drawer__back-button {
  display: flex !important;
}

@media screen and (max-width: 749px) {
  .menu-drawer {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =============================================================================
   6. PRODUCT CARDS
   ============================================================================= */
 
/* --- 6.1 Card — fond, border, radius, padding --- */
 
.product-card__content,
.product-grid__card {
  background-color: #FFFFFF !important;
  border-radius: 0px !important;
  border: 0px solid #DEDEDE !important;
  overflow: hidden !important;
}
 
/* --- 6.2 Card — image (galerie) --- */
 
.product-card__content .card-gallery,
.product-grid__card .card-gallery {
  border-radius: 0px !important;
  overflow: hidden !important;
}
 
/* Désactiver le hover image sur mobile */
@media (hover: none), (pointer: coarse) {
  [on\:pointerenter="product-card/previewImage"] {
    pointer-events: none;
  }
  [on\:pointerenter="product-card/previewImage"] * {
    pointer-events: auto;
  }
}
 
/* --- 6.3 Card — titres --- */
 
.product-card h4,
.product-card__content h4,
.product-card .group-block-content h4,
.product-card__content .text-block p,
.product-card__content .text-block h3 {
  font-size: 14px !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  letter-spacing: 0.0px !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  padding: 15px 10px 5px 10px !important;
  margin: 0 !important;
}
 
.product-card .group-block-content .text-block,
.product-card__content .text-block {
  --text-align: left !important;
  text-align: left !important;
}
 
/* --- 6.4 Card — prix --- */
 
.product-card product-price,
.product-card__content product-price {
  text-align: left !important;
  --text-align: left !important;
  font-size: 12px !important;
  margin-top: 0px !important;
  padding: 0 10px 10px 10px !important;
}
 
.product-card product-price .price,
.product-card__content product-price .price,
.product-card product-price .compare-at-price,
.product-card__content product-price .compare-at-price {
  font-size: 12px !important;
}
 
.product-card product-price [ref="priceContainer"],
.product-card__content product-price [ref="priceContainer"] {
  display: flex;
  align-items: left;
  justify-content: left;
  gap: 5px;
}
 
/* --- 6.5 Card — swatches --- */
 
.product-card product-swatches,
.product-card__content product-swatches {
  --product-swatches-alignment: left !important;
  --product-swatches-alignment-mobile: left !important;
  --overflow-list-alignment: left !important;
  --overflow-list-alignment-mobile: left !important;
  margin-bottom: 5px !important;
  padding: 2px 10px 0 10px !important;
}
 
.product-card .variant-option--swatches overflow-list::part(list),
.product-card__content .variant-option--swatches overflow-list::part(list) {
  gap: 5px !important;
}
 
.product-card .variant-option__swatch .swatch,
.product-card__content .variant-option__swatch .swatch {
  width: 18px !important;
  height: 18px !important;
}
 
.variant-option__button-label--active .swatch {
  outline: 2px solid var(--color-foreground) !important;
  outline-offset: 2px !important;
}
 
/* --- 6.6 Card — swatches out of stock (diagonale coin à coin) --- */
 
.variant-option__strikethrough {
  display: none !important;
}
 
.variant-option__button-label .swatch[style] {
  position: relative;
}
 
[data-option-available="false"] + .swatch::after,
[aria-disabled="true"] + .swatch::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to top right,
    transparent calc(50% - 0.75px),
    rgba(0, 0, 0, 0.35) calc(50% - 1.0px),
    rgba(0, 0, 0, 0.35) calc(50% + 1.0px),
    transparent calc(50% + 0.75px)
  );
  border-radius: inherit;
  pointer-events: none;
  z-index: 2;
}
 
/* --- 6.7 Card — layout & alignement --- */
 
.product-card .group-block-content,
.product-card__content .group-block-content {
  --horizontal-alignment: center !important;
  align-items: center !important;
  text-align: center !important;
}
 
.product-card__content {
  display: flex !important;
  flex-direction: column !important;
  --product-card-gap: 0px !important;
}
 
/* --- 6.8 Card — bouton add-to-cart aligné en bas --- */
 
.product-card__content .buy-buttons-block {
  margin-top: auto !important;
  padding: 10px 0px 0px 0px !important;
}
 
/* --- 6.9 Card — badge promo en pillule --- */
 
.product-badges__badge--rectangle {
  background-color: #ffffff !important;
  color: #151515 !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 50px !important;
  padding: 4px 12px !important;
  font-size: 10px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}
 
/* --- 6.10 Card — titre ellipsis (1 ligne max) --- */
 
.product-card .text-block p,
.product-card .text-block span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}
 
/* --- 6.11 Card — nom de variante (section Produits par variant) --- */
 
.product-card__content .variant-name-block p {
  font-size: 13px !important;
  font
  text-transform: none !important;
  font-weight: 400 !important;
  letter-spacing: 0.0px !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  padding: 15px 10px 5px 10px !important;
  margin: 0 !important;
}
.product-card__content .buy-buttons-block button {
  padding: 8px 12px !important;
  height: auto !important;
  letter-spacing: 1.0px !important;
  font-size: 10px !important;
}
.ui-test-products-by-variant .product-card__content {
  padding: 0 !important;
  background-color: transparent !important;
}
 


/* =============================================================================
   7. PRODUCT PAGE
   ============================================================================= */

/* --- 7.1 Boutons add-to-cart (desktop + mobile) --- */

.product-form-buttons button[data-testid="standalone-add-to-cart"],
.sticky-add-to-cart__button.add-to-cart-button.button,
.button.size-style,
.button-secondary.size-style {
  padding: 8px 12px !important;
  height: auto !important;
  letter-spacing: 1.0px !important;
  font-size: 10px !important;
}

.svg-wrapper.add-to-cart-icon {
  display: none !important;
}

/* --- 7.2 Sticky add-to-cart mobile (bouton rond "+") --- */

@media screen and (max-width: 749px) {
  .sticky-add-to-cart__button.add-to-cart-button.button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
  }

  .sticky-add-to-cart__button .add-to-cart-text,
  .sticky-add-to-cart__button .add-to-cart__added {
    display: none !important;
  }

  .sticky-add-to-cart__button.add-to-cart-button.button::after {
    content: '+' !important;
    font-size: 26px !important;
    font-weight: 300 !important;
    color: #ffffff !important;
    line-height: 1 !important;
    transition: color 0.3s ease !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
  }

  .sticky-add-to-cart__button.add-to-cart-button.button:hover::after {
    color: #000000 !important;
  }
}

/* --- 7.3 Variantes (swatches actives) --- */

.variant-option__button-label.is-active {
  outline: 0.09375rem solid rgb(21 21 21 / 1.0);
  outline-offset: 2px;
  border-radius: 0px;
}

/* --- 7.4 Détails header --- */

.details__header {
  padding: 25px 0;
}

/* --- 7.5 Bouton épuisé --- */

.button.add-to-cart-button:disabled .add-to-cart-text__content,
.button.add-to-cart-button:disabled .add-to-cart-icon {
  display: none;
}

.button.add-to-cart-button:disabled .add-to-cart-text::after {
  content: "ÉPUISÉ";
}


/* --- 7.7 Media gallery mobile (barre de progression) --- */

@media (max-width: 749px) {
  media-gallery {
    --padding-block-start: 0px !important;
    --padding-inline-start: 0px !important;
  }
}

.media-gallery__mobile-controls .slideshow-controls__dots {
  display: none;
}

.media-gallery__mobile-controls {
  position: relative !important;
  height: 1.0px !important;
  min-height: 1.0px !important;
  max-height: 1.0px !important;
  width: calc(100% - 40px) !important;
  margin: 12px auto 0 auto !important;
  padding: 0 !important;
  background-color: rgba(0, 0, 0, 0.15) !important;
  overflow: visible !important;
}

.media-gallery__mobile-controls::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: calc(100% / var(--total-slides, 3)) !important;
  height: 1.5px !important;
  background-color: #000 !important;
  transform: translateX(calc(var(--slide-index, 0) * 100%)) !important;
  z-index: 10 !important;
}



/* =============================================================================
   9. HERO — MOBILE ASPECT RATIO
   ============================================================================= */

@media screen and (max-width: 749px) {
  .hero__container {
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    min-height: unset !important;
    max-height: unset !important;
  }

  .hero__media-grid {
    aspect-ratio: 4 / 5 !important;
    height: 100% !important;
    min-height: unset !important;
    max-height: unset !important;
    position: absolute !important;
    inset: 0 !important;
  }
}


/* =============================================================================
   10. SECTIONS CUSTOM (GRID MOBILE)
   ============================================================================= */

@media screen and (max-width: 749px) {
  #shopify-section-sections--25934274330960__section_HxEjWr .section-content-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
}


/* =============================================================================
   11. ANIMATIONS — ÉTOILE SCINTILLANTE
   ============================================================================= */

@keyframes sparkle {
  0%, 100% { transform: scale(1); }
  25%      { transform: scale(0.95); }
  50%      { transform: scale(1.1); }
  75%      { transform: scale(0.98); }
}

@keyframes twinkle-1 {
  0%, 100% { opacity: 0; transform: scale(0); }
  50%      { opacity: 1; transform: scale(1); }
}

@keyframes twinkle-2 {
  0%, 100% { opacity: 0; transform: scale(0); }
  30%      { opacity: 1; transform: scale(1); }
  60%      { opacity: 0; transform: scale(0); }
}

.action__star {
  position: relative;
}

.action__star .svg-wrapper svg {
  animation: sparkle 2s ease-in-out infinite;
}

.action__star::before,
.action__star::after {
  content: '✦';
  position: absolute;
  font-size: 6px;
  color: currentColor;
  pointer-events: none;
}

.action__star::before {
  top: 8px;
  right: 12px;
  animation: twinkle-1 1.5s ease-in-out infinite;
}

.action__star::after {
  bottom: 11px;
  left: 8px;
  animation: twinkle-2 1.8s ease-in-out infinite;
}

.action__star:hover .svg-wrapper svg {
  animation: sparkle 0.6s ease-in-out infinite;
}


/* =============================================================================
   12. TOLSTOY (VIDÉOS)
   ============================================================================= */

.tolstoy-product-content {
  border-radius: 15px !important;
}

._watermark_103z0_196 {
  display: none !important;
}

/* Mise en avant de la vidéo centrale */
.tolstoy-carousel-center-tile {
  transform: scale(1.08) !important;
  z-index: 2 !important;
}

/* Desktop : full width */
@media (min-width: 769px) {
  .tolstoy-carousel-videos-container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
  }
}


/* =============================================================================
   13. INFLATE REVIEWS
   ============================================================================= */

/* Card — no shadow + border */
.inflate-igr-card {
  box-shadow: none !important;
  border: 1px solid #DEDEDE !important;
}

/* Summary — border-bottom only */
.inflate-summary {
  box-shadow: none !important;
  border: none !important;
  border-bottom: 1px solid #DEDEDE !important;
}
/* Bold text — font-weight 500 */
.inflate-igr-card strong,
.inflate-igr-card b,
.inflate-summary strong,
.inflate-summary b {
  font-weight: 500 !important;
}
/* Bouton "Voir plus" — gris & petit */
.inflate-igr-card-read-more {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #212121 !important;
}


/* =============================================================================
   14. UPCART — HEADER
   ============================================================================= */

.upcart-internal-header,
.upcart-public-header {
  position: relative !important;
  padding-top: 20px !important;
  padding-bottom: 5px !important;
}

[data-upcart-chunk="header-title-content"] {
  text-transform: uppercase;
  font-weight: 400 !important;
  letter-spacing: 1.5px;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}

.upcart-internal-header__close-button,
.upcart-public-header__close-button {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  -webkit-transform: translateY(-50%) !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
}

.upcart-internal-header__close-button:hover,
.upcart-public-header__close-button:hover {
  background: none !important;
  opacity: 1 !important;
  -webkit-transform: translateY(-50%) !important;
  transform: translateY(-50%) !important;
  box-shadow: none !important;
  color: #151515 !important;
}

.upcart-internal-header__close-button:hover svg,
.upcart-public-header__close-button:hover svg {
  fill: #151515 !important;
  stroke: #151515 !important;
  color: #151515 !important;
}


/* =============================================================================
   15. UPCART — REWARDS & PROGRESS BAR
   ============================================================================= */

/* --- 15.1 Message rewards --- */

.upcart-internal-rewards__message,
.upcart-public-rewards__message {
  font-size: 11px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.upcart-internal-rewards__message strong,
.upcart-public-rewards__message strong {
  font-weight: 500 !important;
}

.upcart-internal-rewards,
.upcart-public-rewards {
  padding: 8px 12px 0 !important;
  margin: 0 !important;
}

/* --- 15.2 Progress bar (structure) --- */

.upcart-public-rewards__bar,
.upcart-internal-rewards__bar {
  margin-top: 6px !important;
  margin-bottom: 20px;
  width: 95% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.upcart-public-rewards__bar {
  padding: 3px 20px 0px !important;
}

.upcart-public-component-segmented-progress-bar__segments-container {
  gap: 0px !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-align-items: center !important;
  align-items: center !important;
}

/* --- 15.3 Segments & fill --- */

.upcart-public-component-segmented-progress-bar__segment {
  height: 1.5px !important;
  min-height: 1.5px !important;
  max-height: 1.5px !important;
  background: #e8e8e8 !important;
  border-radius: 8px !important;
  overflow: visible !important;
  position: relative !important;
}

.upcart-public-component-segmented-progress-bar__segment-fill {
  height: 1.5px !important;
  min-height: 1.5px !important;
  max-height: 1.5px !important;
  background: #16BD65 !important;
  border-radius: 8px !important;
}

/* --- 15.4 Milestones (icônes & labels) --- */

.upcart-public-component-segmented-progress-bar__milestone {
  position: relative !important;
}

.upcart-public-component-segmented-progress-bar__milestone-icon {
  position: absolute !important;
  top: -15px !important;
  left: 50% !important;
  -webkit-transform: translateX(-50%) !important;
  transform: translateX(-50%) !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-align-items: center !important;
  align-items: center !important;
  -webkit-justify-content: center !important;
  justify-content: center !important;
  z-index: 2 !important;
}

.upcart-public-component-segmented-progress-bar__milestone-icon svg {
  width: 16px !important;
  height: 16px !important;
  fill: #848484 !important;
}

.upcart-public-component-segmented-progress-bar__milestone-icon[data-internal-properties="isCompleted=true"] svg {
  fill: #16BD65 !important;
}

.upcart-public-component-segmented-progress-bar__milestone-label {
  position: absolute !important;
  top: 20px !important;
  left: 50% !important;
  -webkit-transform: translateX(-50%) !important;
  transform: translateX(-50%) !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
  color: #848484 !important;
  white-space: nowrap !important;
}

.upcart-public-component-segmented-progress-bar__milestone-icon[data-internal-properties="isCompleted=true"]
  ~ .upcart-public-component-segmented-progress-bar__milestone-label {
  color: #16BD65 !important;
}

/* --- 15.5 Icône custom : barrettes (milestoneIndex=1) --- */

.upcart-public-component-segmented-progress-bar__segment[data-internal-properties="milestoneIndex=1"]
  .upcart-public-component-segmented-progress-bar__milestone-icon svg {
  display: none !important;
}

.upcart-public-component-segmented-progress-bar__segment[data-internal-properties="milestoneIndex=1"]
  .upcart-public-component-segmented-progress-bar__milestone-icon::after {
  content: '' !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  background: url("data:image/svg+xml,%3Csvg%20enable-background%3D%22new%200%200%20512%20512%22%20viewBox%3D%220%200%20512%20512%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cg%20id%3D%22_x34_5_Hair_Pins%22%3E%3Cg%20fill%3D%22%23848484%22%3E%3Cpath%20d%3D%22m158.671%20238.261c52.763%200%20306.536-46.613%20306.536-116.015%200-69.407-253.772-116.02-306.536-116.02-63.974%200-116.02%2052.046-116.02%20116.02%200%2063.969%2052.046%20116.015%20116.02%20116.015zm0-222.24c66.456%200%20296.741%2051.458%20296.741%20106.225s-230.284%20106.22-296.741%20106.22c-58.574%200-106.225-47.65-106.225-106.22%200-58.575%2047.651-106.225%20106.225-106.225z%22/%3E%3Cpath%20d%3D%22m196.794%20198.617c34.24%200%20198.919-30.681%20198.919-76.371s-164.679-76.376-198.919-76.376c-42.112%200-76.371%2034.264-76.371%2076.376s34.259%2076.371%2076.371%2076.371zm0-9.795c-35.059%200-63.804-27.252-66.328-61.678h254.328c-13.153%2031.781-148.874%2061.678-188%2061.678zm0-133.157c39.126%200%20174.846%2029.901%20188%2061.683h-254.327c2.523-34.426%2031.268-61.683%2066.327-61.683z%22/%3E%3Cpath%20d%3D%22m353.334%20273.744c-52.763%200-306.54%2046.613-306.54%20116.015s253.777%20116.015%20306.54%20116.015c63.969%200%20116.015-52.046%20116.015-116.015s-52.046-116.015-116.015-116.015zm0%20222.235c-66.456%200-296.745-51.453-296.745-106.22s230.289-106.22%20296.745-106.22c58.57%200%20106.22%2047.65%20106.22%20106.22s-47.651%20106.22-106.22%20106.22z%22/%3E%3Cpath%20d%3D%22m315.206%20313.388c-34.24%200-198.919%2030.681-198.919%2076.371s164.68%2076.371%20198.919%2076.371c42.112%200%2076.371-34.259%2076.371-76.371s-34.259-76.371-76.371-76.371zm0%209.795c35.059%200%2063.804%2027.252%2066.328%2061.678h-254.328c13.153-31.781%20148.874-61.678%20188-61.678zm0%20133.152c-39.126%200-174.846-29.897-188-61.678h254.328c-2.524%2034.426-31.269%2061.678-66.328%2061.678z%22/%3E%3C/g%3E%3C/g%3E%3Cg%20id%3D%22Layer_1%22/%3E%3C/svg%3E") no-repeat center !important;
  -webkit-background-size: contain !important;
  background-size: contain !important;
}

.upcart-public-component-segmented-progress-bar__segment[data-internal-properties="milestoneIndex=1"]
  .upcart-public-component-segmented-progress-bar__milestone-icon[data-internal-properties="isCompleted=true"]::after {
  background: url("data:image/svg+xml,%3Csvg%20enable-background%3D%22new%200%200%20512%20512%22%20viewBox%3D%220%200%20512%20512%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cg%20id%3D%22_x34_5_Hair_Pins%22%3E%3Cg%20fill%3D%22%2316BD65%22%3E%3Cpath%20d%3D%22m158.671%20238.261c52.763%200%20306.536-46.613%20306.536-116.015%200-69.407-253.772-116.02-306.536-116.02-63.974%200-116.02%2052.046-116.02%20116.02%200%2063.969%2052.046%20116.015%20116.02%20116.015zm0-222.24c66.456%200%20296.741%2051.458%20296.741%20106.225s-230.284%20106.22-296.741%20106.22c-58.574%200-106.225-47.65-106.225-106.22%200-58.575%2047.651-106.225%20106.225-106.225z%22/%3E%3Cpath%20d%3D%22m196.794%20198.617c34.24%200%20198.919-30.681%20198.919-76.371s-164.679-76.376-198.919-76.376c-42.112%200-76.371%2034.264-76.371%2076.376s34.259%2076.371%2076.371%2076.371zm0-9.795c-35.059%200-63.804-27.252-66.328-61.678h254.328c-13.153%2031.781-148.874%2061.678-188%2061.678zm0-133.157c39.126%200%20174.846%2029.901%20188%2061.683h-254.327c2.523-34.426%2031.268-61.683%2066.327-61.683z%22/%3E%3Cpath%20d%3D%22m353.334%20273.744c-52.763%200-306.54%2046.613-306.54%20116.015s253.777%20116.015%20306.54%20116.015c63.969%200%20116.015-52.046%20116.015-116.015s-52.046-116.015-116.015-116.015zm0%20222.235c-66.456%200-296.745-51.453-296.745-106.22s230.289-106.22%20296.745-106.22c58.57%200%20106.22%2047.65%20106.22%20106.22s-47.651%20106.22-106.22%20106.22z%22/%3E%3Cpath%20d%3D%22m315.206%20313.388c-34.24%200-198.919%2030.681-198.919%2076.371s164.68%2076.371%20198.919%2076.371c42.112%200%2076.371-34.259%2076.371-76.371s-34.259-76.371-76.371-76.371zm0%209.795c35.059%200%2063.804%2027.252%2066.328%2061.678h-254.328c13.153-31.781%20148.874-61.678%20188-61.678zm0%20133.152c-39.126%200-174.846-29.897-188-61.678h254.328c-2.524%2034.426-31.269%2061.678-66.328%2061.678z%22/%3E%3C/g%3E%3C/g%3E%3Cg%20id%3D%22Layer_1%22/%3E%3C/svg%3E") no-repeat center !important;
  -webkit-background-size: contain !important;
  background-size: contain !important;
}

/* --- 15.6 Icône custom : miroir (milestoneIndex=2) --- */

.upcart-public-component-segmented-progress-bar__segment[data-internal-properties="milestoneIndex=2"]
  .upcart-public-component-segmented-progress-bar__milestone-icon svg {
  display: none !important;
}

.upcart-public-component-segmented-progress-bar__segment[data-internal-properties="milestoneIndex=2"]
  .upcart-public-component-segmented-progress-bar__milestone-icon::after {
  content: '' !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  background: url("data:image/svg+xml,%3Csvg%20height%3D%22512pt%22%20viewBox%3D%22-30%200%20512%20512%22%20width%3D%22512pt%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20fill%3D%22%23848484%22%20d%3D%22m226%2030c-46.574219%200-91.71875%2016.628906-127.121094%2046.824219-3.152344%202.691406-3.527344%207.421875-.839844%2010.574219%202.6875%203.152343%207.421876%203.527343%2010.574219.839843%2032.6875-27.882812%2074.378907-43.238281%20117.386719-43.238281%2099.804688%200%20181%2081.195312%20181%20181s-81.195312%20181-181%20181-181-81.195312-181-181c0-43.007812%2015.355469-84.699219%2043.238281-117.386719%202.6875-3.152343%202.3125-7.886719-.839843-10.574219-3.152344-2.6875-7.886719-2.3125-10.574219.839844-30.195313%2035.398438-46.824219%2080.546875-46.824219%20127.121094%200%20108.074219%2087.925781%20196%20196%20196s196-87.925781%20196-196-87.925781-196-196-196zm0%200%22/%3E%3Cpath%20fill%3D%22%23848484%22%20d%3D%22m444.5%20437h-137.203125c29.101563-11.199219%2055.796875-28.480469%2078.507813-51.195312%2042.6875-42.683594%2066.195312-99.4375%2066.195312-159.804688s-23.507812-117.121094-66.195312-159.804688c-42.683594-42.6875-99.4375-66.195312-159.804688-66.195312s-117.121094%2023.507812-159.804688%2066.195312c-42.6875%2042.683594-66.195312%2099.4375-66.195312%20159.804688s23.507812%20117.121094%2066.195312%20159.804688c22.710938%2022.714843%2049.40625%2039.996093%2078.507813%2051.195312h-137.203125c-4.140625%200-7.5%203.355469-7.5%207.5%200%2037.21875%2030.28125%2067.5%2067.5%2067.5h317c37.21875%200%2067.5-30.28125%2067.5-67.5%200-4.144531-3.355469-7.5-7.5-7.5zm-429.5-211c0-116.347656%2094.652344-211%20211-211s211%2094.652344%20211%20211-94.652344%20211-211%20211-211-94.652344-211-211zm293.5%20226v15h-165v-15zm76%2045h-317c-26.402344%200-48.316406-19.59375-51.964844-45h112.964844v22.5c0%204.144531%203.359375%207.5%207.5%207.5h180c4.144531%200%207.5-3.355469%207.5-7.5v-22.5h112.964844c-3.648438%2025.40625-25.5625%2045-51.964844%2045zm0%200%22/%3E%3C/svg%3E") no-repeat center !important;
  -webkit-background-size: contain !important;
  background-size: contain !important;
}

.upcart-public-component-segmented-progress-bar__segment[data-internal-properties="milestoneIndex=2"]
  .upcart-public-component-segmented-progress-bar__milestone-icon[data-internal-properties="isCompleted=true"]::after {
  background: url("data:image/svg+xml,%3Csvg%20height%3D%22512pt%22%20viewBox%3D%22-30%200%20512%20512%22%20width%3D%22512pt%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20fill%3D%22%2316BD65%22%20d%3D%22m226%2030c-46.574219%200-91.71875%2016.628906-127.121094%2046.824219-3.152344%202.691406-3.527344%207.421875-.839844%2010.574219%202.6875%203.152343%207.421876%203.527343%2010.574219.839843%2032.6875-27.882812%2074.378907-43.238281%20117.386719-43.238281%2099.804688%200%20181%2081.195312%20181%20181s-81.195312%20181-181%20181-181-81.195312-181-181c0-43.007812%2015.355469-84.699219%2043.238281-117.386719%202.6875-3.152343%202.3125-7.886719-.839843-10.574219-3.152344-2.6875-7.886719-2.3125-10.574219.839844-30.195313%2035.398438-46.824219%2080.546875-46.824219%20127.121094%200%20108.074219%2087.925781%20196%20196%20196s196-87.925781%20196-196-87.925781-196-196-196zm0%200%22/%3E%3Cpath%20fill%3D%22%2316BD65%22%20d%3D%22m444.5%20437h-137.203125c29.101563-11.199219%2055.796875-28.480469%2078.507813-51.195312%2042.6875-42.683594%2066.195312-99.4375%2066.195312-159.804688s-23.507812-117.121094-66.195312-159.804688c-42.683594-42.6875-99.4375-66.195312-159.804688-66.195312s-117.121094%2023.507812-159.804688%2066.195312c-42.6875%2042.683594-66.195312%2099.4375-66.195312%20159.804688s23.507812%20117.121094%2066.195312%20159.804688c22.710938%2022.714843%2049.40625%2039.996093%2078.507813%2051.195312h-137.203125c-4.140625%200-7.5%203.355469-7.5%207.5%200%2037.21875%2030.28125%2067.5%2067.5%2067.5h317c37.21875%200%2067.5-30.28125%2067.5-67.5%200-4.144531-3.355469-7.5-7.5-7.5zm-429.5-211c0-116.347656%2094.652344-211%20211-211s211%2094.652344%20211%20211-94.652344%20211-211%20211-211-94.652344-211-211zm293.5%20226v15h-165v-15zm76%2045h-317c-26.402344%200-48.316406-19.59375-51.964844-45h112.964844v22.5c0%204.144531%203.359375%207.5%207.5%207.5h180c4.144531%200%207.5-3.355469%207.5-7.5v-22.5h112.964844c-3.648438%2025.40625-25.5625%2045-51.964844%2045zm0%200%22/%3E%3C/svg%3E") no-repeat center !important;
  -webkit-background-size: contain !important;
  background-size: contain !important;
}


/* =============================================================================
   16. UPCART — CART ITEMS
   ============================================================================= */

/* --- 16.1 Images --- */

.upcart-internal-component-product-tile__content,
.upcart-public-component-product-tile__content {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-align-items: center !important;
  align-items: center !important;
}

.upcart-internal-component-product-tile__image-wrapper,
.upcart-public-component-product-tile__image-wrapper {
  width: 70px !important;
  min-width: 70px !important;
  height: 88px !important;
  -webkit-flex-shrink: 0 !important;
  flex-shrink: 0 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

.upcart-internal-component-product-tile__image,
.upcart-public-component-product-tile__image,
img.upcart-internal-component-product-tile__image,
img.upcart-public-component-product-tile__image {
  width: 70px !important;
  height: 88px !important;
  min-width: 70px !important;
  min-height: 88px !important;
  max-width: none !important;
  max-height: none !important;
  -o-object-fit: cover !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}

/* --- 16.2 Titre & info --- */

.upcart-internal-component-product-tile__info,
.upcart-public-component-product-tile__info {
  position: relative !important;
}

.upcart-internal-component-product-tile__product-title,
.upcart-public-component-product-tile__product-title {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 400 !important;
  letter-spacing: 0.5px;
}

.upcart-internal-component-product-tile__remove-button,
.upcart-public-component-product-tile__remove-button {
  display: none !important;
}

/* --- 16.3 Prix --- */

.upcart-internal-component-product-tile__product-pricing,
.upcart-public-component-product-tile__product-pricing {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
  gap: 6px;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 400 !important;
  letter-spacing: 0px;
  margin-top: 2px !important;
}

.upcart-internal-component-product-tile__price,
.upcart-public-component-product-tile__price {
  font-weight: 400 !important;
  font-size: 11px !important;
  -webkit-order: -1 !important;
  order: -1 !important;
}

.upcart-internal-component-product-tile__price-compare-at,
.upcart-public-component-product-tile__price-compare-at {
  font-weight: 400 !important;
  font-size: 11px !important;
}

.upcart-internal-component-product-tile__savings,
.upcart-public-component-product-tile__savings {
  font-weight: 400 !important;
  font-size: 11px !important;
}

/* --- 16.4 Quantité --- */

.upcart-internal-component-product-tile__quantity-selector,
.upcart-public-component-product-tile__quantity-selector {
  border-radius: 8px !important;
  border-color: #E8E8E8 !important;
}

.upcart-internal-component-product-tile__quantity-minus,
.upcart-public-component-product-tile__quantity-minus {
  border-right: none !important;
  border-color: #E8E8E8 !important;
}

.upcart-internal-component-product-tile__quantity-plus,
.upcart-public-component-product-tile__quantity-plus {
  border-left: none !important;
  border-color: #E8E8E8 !important;
}

.upcart-internal-component-product-tile__quantity-selector input,
.upcart-public-component-product-tile__quantity-selector input {
  font-size: 10px !important;
}

/* --- 16.5 Espacement --- */

.upcart-internal-cart-items,
.upcart-public-cart-items {
  padding: 6px 10px !important;
  gap: 0px !important;
}

.upcart-internal-cart-item,
.upcart-public-cart-item {
  padding: 0px 0px !important;
  margin: 0px !important;
}

.upcart-internal-component-product-tile,
.upcart-public-component-product-tile {
  padding: 7px !important;
  gap: 8px !important;
}


/* =============================================================================
   17. UPCART — UPSELL
   ============================================================================= */

/* --- 17.1 Section titre --- */

.upcart-internal-style__title-large,
.upcart-internal-style__title,
.upcart-public-upsell__title {
  font-weight: 400 !important;
  font-size: 14px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-top: 6px !important;
  margin-bottom: 8px !important;
  padding: 0 8px !important;
}

/* --- 17.2 Tiles --- */

.upcart-internal-component-upsell-tile,
.upcart-public-component-upsell-tile {
  background: transparent !important;
  border: 1px solid #E8E8E8 !important;
  border-radius: 8px !important;
  padding: 7px !important;
}

.upcart-internal-component-upsell-tile__title,
.upcart-internal-style__title-wrapped,
.upcart-public-component-upsell-tile__title {
  text-transform: uppercase;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px;
}

/* --- 17.3 Images --- */

.upcart-internal-component-upsell-tile__image-container,
.upcart-public-component-upsell-tile__image-container {
  width: 65px !important;
  min-width: 65px !important;
  height: 82px !important;
  -webkit-flex-shrink: 0 !important;
  flex-shrink: 0 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

.upcart-internal-component-upsell-tile__image,
.upcart-public-component-upsell-tile__image,
img.upcart-internal-component-upsell-tile__image,
img.upcart-public-component-upsell-tile__image {
  width: 65px !important;
  height: 82px !important;
  min-width: 65px !important;
  min-height: 82px !important;
  max-width: none !important;
  max-height: none !important;
  -o-object-fit: cover !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}

/* --- 17.4 Prix --- */

.upcart-internal-component-upsell-tile__price,
.upcart-public-component-upsell-tile__price {
  font-size: 11px !important;
  font-weight: 400 !important;
}

.upcart-internal-component-upsell-tile__price-compare-at,
.upcart-public-component-upsell-tile__price-compare-at {
  font-size: 11px !important;
  font-weight: 400 !important;
}

/* --- 17.5 Boutons & selects --- */

.upcart-internal-component__button,
.upcart-public-component__button {
  text-transform: uppercase;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0px;
  background: transparent !important;
  border-radius: 8px !important;
  border: 1px solid #E8E8E8 !important;
  color: #212121 !important;
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
  padding: 5px 12px !important;
}

.upcart-internal-component__button:hover,
.upcart-public-component__button:hover {
  border: 1px solid transparent !important;
  background: #212121 !important;
  color: #fff !important;
}

.upcart-internal-component-upsell-tile__variant-row select,
.upcart-public-component-upsell-tile__variant-row select {
  background: transparent !important;
  border-radius: 8px !important;
  border: 1px solid #E8E8E8 !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0px;
  text-transform: uppercase;
  color: #212121 !important;
  padding: 5px 12px !important;
  -webkit-appearance: none !important;
}

/* --- 17.6 Carousel espacement --- */

.upcart-internal-upsell,
.upcart-public-upsell {
  padding: 4px 0 !important;
}

.upcart-internal-component-carousel__container,
.upcart-public-component-carousel__container {
  padding: 0 4px !important;
}


/* =============================================================================
   18. UPCART — LAYOUT & FOOTER
   ============================================================================= */

/* --- 18.1 Cart sticky bottom --- */

.styles_CartPreview__card__ {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  height: 100%;
}

.upcart-cart-body.styles_CartPreview__body__ {
  -webkit-flex-grow: 1;
  flex-grow: 1;
  overflow-y: auto;
  min-height: 0;
  -webkit-overflow-scrolling: touch;
}

.styles_CartPreview__bottomModules__ {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  z-index: 10;
  background: #ffffff;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  border-top: 1px solid #E8E8E8;
}

/* --- 18.2 Footer --- */

.styles_Footer__,
.upcart-footer {
  padding: 8px 12px !important;
}

.styles_Footer__cartSummarySection__ {
  padding: 4px 0 !important;
  margin: 0 !important;
}

.styles_Footer__cartSubtotalTitle__ {
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
}

.styles_CustomButton__fullWidth__,
.upcart-checkout-button {
  background: #212121 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  padding: 10px 0 !important;
}

.styles_Footer__checkoutButton__ {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

/* --- 18.3 Éléments masqués --- */

/* Continue shopping */
.upcart-continue-shopping,
.styles_Footer__continueShopping__ {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* Express payments */
.upcart-internal-express-payments__container,
.upcart-public-express-payments__container {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* --- 18.4 Produits offerts / Free gifts (Safari fix) --- */

/* Approche 1 : ciblage par classes */
.upcart-internal-rewards__products,
.upcart-public-rewards__products,
.upcart-internal-free-gift,
.upcart-public-free-gift,
.upcart-internal-gift-product,
.upcart-public-gift-product,
.upcart-internal-cart-summary,
.upcart-public-cart-summary {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
  position: static !important;
  -webkit-transform: none !important;
  transform: none !important;
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
}

/* Approche 2 : ciblage par data-attributes */
[data-upcart-chunk="rewards-products"],
[data-upcart-chunk="free-gift"],
[data-upcart-chunk="gift-product"],
[data-upcart-chunk*="gift"],
[data-upcart-chunk*="reward"],
[data-upcart-chunk*="free"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
  -webkit-transform: none !important;
  transform: none !important;
}

/* Approche 3 : enfants du cart-summary visibles */
.upcart-internal-cart-summary > *,
.upcart-public-cart-summary > * {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Masquer uniquement les lignes texte du résumé (pas les produits offerts) */
.upcart-internal-cart-summary__subtotal,
.upcart-public-cart-summary__subtotal,
.upcart-internal-cart-summary__taxes,
.upcart-public-cart-summary__taxes,
.upcart-internal-cart-summary__shipping,
.upcart-public-cart-summary__shipping,
.upcart-internal-cart-summary__total,
.upcart-public-cart-summary__total {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* --- 18.5 Divers (backdrop, empty state…) --- */

.UpcartTextUnderUpsells {
  text-align: left;
  margin-bottom: 6px;
  margin-top: 6px;
}

.styles_CartPreview__empty__ h3 {
  font-weight: 400 !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

.upcart-backdrop,
.styles_CartPreview__backdrop__ {
  background-color: rgba(255, 255, 255, 0.5) !important;
}

#CartPopup,
.upcart-cart,
.styles_CartPreview__ {
  background-color: #ffffff !important;
    border-left: 1px solid #DEDEDE !important;
}

#UpcartPopupBackDrop {
  background-color: transparent !important;
}

strong, b,
.rte strong, .rte b {
  font-weight: 500;
}



body.upcart-blur #header-group,
body.upcart-blur main,
body.upcart-blur #MainContent,
body.upcart-blur footer,
body.upcart-blur .shopify-section:not(#shopify-section-header) {
  -webkit-filter: blur(8px) !important;
  filter: blur(8px) !important;
  transition: filter 0.3s ease !important;
}

body.upcart-blur main,
body.upcart-blur #MainContent,
body.upcart-blur footer {
  pointer-events: none !important;
}

#UpcartPopupBackDrop.styles_active__ {
  background-color: rgba(0, 0, 0, 0.7) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.product-form-buttons:has(button.add-to-cart-button[disabled]):not(product-card .product-form-buttons) {
  display: none !important;
}

/* Bouton alerte stock */
.gw-button-widget {
  font-size: 10px !important;
  background-color: #212121 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  border: 1px solid #212121 !important;
  letter-spacing: 1px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: 36px !important;
}

.gw-button-widget::before {
  content: '' !important;
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 371.263 371.263'%3E%3Cpath fill='%23212121' d='m305.402 234.794v-70.54c0-52.396-33.533-98.085-79.702-115.151.539-2.695.838-5.449.838-8.204.001-22.575-18.323-40.899-40.898-40.899s-40.899 18.324-40.899 40.899c0 2.695.299 5.389.778 7.964-15.868 5.629-30.539 14.551-43.054 26.647-23.593 22.755-36.587 53.354-36.587 86.169v73.115c0 2.575-2.096 4.731-4.731 4.731-22.096 0-40.959 16.647-42.995 37.845-1.138 11.797 2.755 23.533 10.719 32.276 7.904 8.683 19.222 13.713 31.018 13.713h72.217c2.994 26.887 25.869 47.905 53.534 47.905s50.54-21.018 53.534-47.905h72.217c11.797 0 23.114-5.03 31.018-13.713 7.904-8.743 11.797-20.479 10.719-32.276-2.036-21.198-20.958-37.845-42.995-37.845-2.635-.001-4.731-2.097-4.731-4.731zm-119.762-210.842c9.341 0 16.946 7.605 16.946 16.946 0 .778-.12 1.497-.24 2.275-4.072-.599-8.204-1.018-12.336-1.138-7.126-.24-14.132.24-21.078 1.198-.12-.778-.24-1.497-.24-2.275.002-9.401 7.607-17.006 16.948-17.006zm0 323.358c-14.431 0-26.527-10.3-29.342-23.952h58.683c-2.813 13.653-14.909 23.952-29.341 23.952zm143.655-67.665c.479 5.15-1.138 10.12-4.551 13.892-3.533 3.773-8.204 5.868-13.353 5.868h-251.501c-5.15 0-9.82-2.096-13.294-5.868-3.473-3.772-5.09-8.743-4.611-13.892.838-9.042 9.282-16.168 19.162-16.168 15.809 0 28.683-12.874 28.683-28.683v-73.115c0-26.228 10.419-50.719 29.282-68.923 18.024-17.425 41.498-26.887 66.528-26.887 1.198 0 2.335 0 3.533.06 50.839 1.796 92.277 45.929 92.277 98.325v70.54c0 15.809 12.874 28.683 28.683 28.683 9.88 0 18.264 7.126 19.162 16.168z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  flex-shrink: 0 !important;
}

.product-badges__badge--rectangle.product-badges__badge--nouveau {
  background: linear-gradient(
    135deg,
    #8a8a8a 0%,
    #b0b0b0 15%,
    #6e6e6e 30%,
    #a0a0a0 45%,
    #585858 55%,
    #909090 70%,
    #7a7a7a 85%,
    #b0b0b0 100%
  ) !important;
  background-size: 200% 200% !important;
  animation: chrome-shift 3s ease infinite !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3) !important;
  font-size: 8px !important;
  font-weight: 600 !important;
  padding: 5px 10px !important;
  letter-spacing: 0.5px !important;
}

.card-gallery {
  position: relative !important;
}

.product-badges__badge--promo {
  position: absolute !important;
  top: 8px !important;
  right: 10px !important;
  z-index: 2 !important;
}

.pdp-badge-promo {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  display: inline-flex !important;
  margin-left: 8px !important;
  vertical-align: middle !important;
}
