@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Poppins:wght@400;500;600;700;800&display=swap");

:root {
  --glow-body-font: Poppins, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --glow-heading-font: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --glow-ink: #2f2b28;
  --glow-muted: rgba(47, 43, 40, .66);
  --glow-clay: #d9a08d;
  --glow-clay-strong: #c87968;
  --glow-gold: #a97636;
  --glow-cream: #fffaf6;
  --glow-paper: #fffdf9;
  --glow-line: #eadfd5;
  --glow-soft: #fbf1ea;

  /* Teinte des liens : or assombri.
     L'or de la palette (--glow-gold, #a97636) ne contraste qu'a 3.88:1 sur le
     papier, sous le minimum WCAG AA de 4.5:1 pour du texte. #8f6229 reste dans
     la meme famille et passe sur les trois fonds du site :
     papier 5.24:1, creme 5.13:1, soft 4.78:1. */
  --glow-link: #8f6229;
  --glow-link-hover: #7d5423;

  /* Contour de selection (vignette active de la galerie) : version plus claire
     et plus douce de l'or, dans la meme famille.
     Un contour n'est pas du texte : le seuil applicable est celui du critere
     WCAG 1.4.11 pour les indicateurs d'etat, soit 3:1 et non 4.5:1. #ad863f
     donne 3.30:1 sur le papier et 3.24:1 sur le creme.
     Les couleurs vraiment pastel de la palette ne conviennent pas ici :
     --glow-clay (#d9a08d) tombe a 2.21:1, on ne verrait plus quelle vignette
     est selectionnee. */
  --glow-outline: #ad863f;

  /* Bootstrap n'avait jamais ete rhabille : --bs-primary et --bs-link-color
     etaient restes au bleu par defaut (#0b69f6), qui ressortait sur 40
     elements d'une seule fiche produit — liens, titres produit en liste et
     jusqu'au lisere de la vignette active de la galerie. */
  --bs-link-color: var(--glow-link);
  --bs-link-color-rgb: 143, 98, 41;
  --bs-link-hover-color: var(--glow-link-hover);
  --bs-link-hover-color-rgb: 125, 84, 35;
  --bs-primary: var(--glow-link);
  --bs-primary-rgb: 143, 98, 41;
  --bs-primary-text-emphasis: var(--glow-link-hover);
  --bs-primary-border-subtle: var(--glow-clay);
}

html {
  scroll-behavior: smooth;
  background-color: #fffaf6; /* fond crème universel — couvre toute la page */
}

/* ── Menu mobile offcanvas — forcer la hauteur plein écran ─ */
#mobileMenu.offcanvas {
  height: 100dvh !important;
  height: 100vh !important;
  overflow-y: auto !important;
}

#mobileMenu .ps-mainmenu__mobile {
  padding: 1rem 1.25rem;
}

#mobileMenu .menu__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

#mobileMenu .menu__link {
  display: block;
  padding: .85rem 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--glow-ink);
  border-bottom: 1px solid var(--glow-line);
  text-decoration: none;
}

#mobileMenu .menu__link:hover {
  color: var(--glow-clay-strong);
}

/* ── Bouton fermer du menu mobile : croix noire dessinée en CSS ──
   (l'icone SVG par defaut de Bootstrap ne s'affichait pas) */
#mobileMenu .offcanvas-header .btn-close {
  position: relative;
  background-image: none;
  opacity: 1;
}

#mobileMenu .offcanvas-header .btn-close::before,
#mobileMenu .offcanvas-header .btn-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 2px;
  background-color: #000;
  transform-origin: center;
}

#mobileMenu .offcanvas-header .btn-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

#mobileMenu .offcanvas-header .btn-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

body {
  overflow-x: hidden;
  background:
    radial-gradient(circle at 15% 5%, rgba(238, 214, 186, .35), transparent 24rem),
    radial-gradient(circle at 88% 15%, rgba(227, 151, 132, .12), transparent 28rem),
    linear-gradient(180deg, #fffdf9 0%, #fffaf6 48%, #fff 100%);
  color: var(--glow-ink);
  font-family: var(--glow-body-font);
}

input,
textarea,
select,
button {
  font-family: var(--glow-body-font);
}

a,
button {
  -webkit-tap-highlight-color: transparent;
}

.h1,
.h2,
.h3,
.page-title,
.product__name,
.product-title,
.products-section-title,
.category-name,
h1,
h2 {
  font-family: var(--glow-heading-font);
  letter-spacing: 0;
  color: var(--glow-ink);
}

.product__name {
  font-family: var(--glow-body-font);
}

.btn,
.btn-primary,
.btn-secondary,
.add-to-cart,
button[data-button-action="add-to-cart"] {
  border-radius: 14px;
  border: 0;
  background: #f1d8ba;
  color: var(--glow-ink);
  box-shadow: none;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  transition: transform .22s ease, background-color .22s ease, color .22s ease, box-shadow .22s ease;
}

.btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.add-to-cart:hover,
button[data-button-action="add-to-cart"]:hover {
  transform: translateY(-2px);
  background: var(--glow-clay);
  color: #fff;
  box-shadow: 0 14px 30px rgba(170, 95, 80, .22);
}

/* Bouton "Ajouter au panier" pleine largeur sur les fiches produit */
.product-miniature__form {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.product-miniature__actions {
  width: 100%;
}

.product-miniature__add {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: .65rem 1rem;
  font-size: .8rem;
}

.product-miniature__add .material-icons {
  font-size: 1.1rem;
}

.product-miniature__add-text {
  display: inline;
}

@media (max-width: 767px) {
  .product-miniature__add {
    font-size: .65rem;
    padding: .55rem .4rem;
    gap: 0;
    letter-spacing: .02em;
  }
  .product-miniature__add .material-icons { display: none; }
}

.header-top,
.header-nav,
#header,
.header-banner,
.header-nav-fullwidth,
.header-unified {
  background: rgba(255, 255, 255, .95);
  border-color: #f4e9df;
  box-shadow: 0 1px 0 rgba(64, 54, 45, .08);
  backdrop-filter: blur(18px);
}

/* ── Header unifié ─────────────────────────────────── */
.header-unified {
  border-bottom: 1px solid #f4e9df;
}

.header-unified__inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-top: 0;
  padding-bottom: 0;
  height: 100px;
}

/* Logo : taille fixe, déborde haut/bas, rognage par overflow:hidden */
.header-unified__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  align-self: stretch;
  overflow: hidden;
  background: rgba(255, 255, 255, .95);
}

/* Intermédiaires en hauteur auto → le flex du logo-div centre l'img */
.header-unified__logo .header-bottom__h1 {
  height: auto;
  display: flex;
  align-items: center;
  margin: 0;
  font-size: unset;
}

.header-unified__logo .navbar-brand {
  padding: 0;
  margin: 0;
  height: auto;
  display: flex;
  align-items: center;
}

.header-unified__logo .logo,
.header-unified__logo img.logo {
  height: 100px !important;
  max-height: none !important;
  width: auto;
  max-width: 384px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

/* Recherche : s'étire pour remplir l'espace, éléments alignés en ligne */
.header-unified__search {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  min-width: 0;
  overflow: visible;
}

/* Search input prend l'espace restant */
.header-unified__search > .order-2 {
  flex: 1 1 0 !important;
  min-width: 0;
  margin-left: 0 !important;
}

/* Barre de recherche : ne jamais dépasser le container */
.header-unified__search .ps-searchbar,
.header-unified__search #search_widget {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
}

.header-unified__search .ps-searchbar form,
.header-unified__search #search_widget form {
  width: 100%;
}

.header-unified__search input[type="search"],
.header-unified__search .search-widget__input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100%;
  box-sizing: border-box;
}

/* Toggle menu après la barre de recherche */
.header-unified__search .ps-mainmenu--desktop {
  order: 3;
  flex-shrink: 1;
  min-width: 0;
}

/* Supprime l'icône loupe mobile dans le header */
#header .header-unified__search .ps-searchbar--mobile,
#header .ps-searchbar--mobile {
  width: 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  flex: 0 0 0 !important;
}

/* Actions à droite */
.header-unified__actions {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-shrink: 0;
}

/* ── Bouton compte — même style que le panier ─ */
.ps-customersignin .header-block__action-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--glow-soft);
  border: 1px solid rgba(217, 160, 141, 0.35);
  box-shadow: 0 2px 10px rgba(97, 74, 52, .13);
  text-decoration: none !important;
  transition: background .2s ease, box-shadow .2s ease;
  vertical-align: middle;
  line-height: 1;
}

.ps-customersignin .header-block__action-btn:hover {
  background: #f5dece;
  box-shadow: 0 4px 16px rgba(97, 74, 52, .2);
}

/* Desktop — supprime le rond, icône seule (cohérent avec le panier) */
@media (min-width: 768px) {
  .ps-customersignin .header-block__action-btn,
  .ps-customersignin .header-block__action-btn:hover {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: auto;
    height: auto;
  }
}

/* Masquer le caractère Material Icons, remplacer par SVG */
.ps-customersignin .header-block__icon {
  font-size: 0 !important;
  display: block;
  width: 22px;
  height: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%236b461f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-3.866 3.582-7 8-7s8 3.134 8 7'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Masquer le label "Connexion" */
.ps-customersignin .header-block__title {
  display: none !important;
}

/* ── Bouton menu hamburger — sans cerclage, tous formats ── */
.menu-toggle,
.menu-toggle:hover,
.menu-toggle:focus,
.menu-toggle:active {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0.25rem !important;
  color: var(--glow-ink) !important;
}

/* ── Bouton panier ──────────────────────── */
.ps-shoppingcart .header-block__action-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--glow-soft);
  border: 1px solid rgba(217, 160, 141, 0.35);
  box-shadow: 0 2px 10px rgba(97, 74, 52, .13);
  text-decoration: none !important;
  transition: background .2s ease, box-shadow .2s ease;
}

.ps-shoppingcart .header-block__action-btn:hover {
  background: #f5dece;
  box-shadow: 0 4px 16px rgba(97, 74, 52, .2);
}

/* Desktop — supprime le rond, icône seule */
@media (min-width: 768px) {
  .ps-shoppingcart .header-block__action-btn,
  .ps-shoppingcart .header-block__action-btn:hover {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
    gap: .3rem;
    position: relative;
  }

  /* Supprime le mot "Panier" sur desktop (contourne d-md-flex!important) */
  .ps-shoppingcart .header-block__title {
    width: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    flex: 0 0 0 !important;
  }

  /* Badge en haut à droite de l'icône panier */
  .ps-shoppingcart .header-block__badge {
    top: -4px !important;
    right: -4px !important;
  }
}

.ps-shoppingcart .header-block__icon {
  font-size: 22px;
  color: #6b461f;
  line-height: 1;
}

/* Masquer le label "Panier" sur mobile — icône seule */
@media (max-width: 767px) {
  .ps-shoppingcart .header-block__title {
    display: none !important;
  }
}

.ps-shoppingcart .header-block__badge {
  position: absolute;
  top: 1px;
  right: 1px;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--glow-clay);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border: 2px solid #fff;
}

/* Masquer langue, monnaie et contactez-nous */
.header-unified__actions .ps-languageselector,
.header-unified__actions .ps-currencyselector,
.header-unified__actions #_desktop_ps_languageselector,
.header-unified__actions #_desktop_ps_currencyselector {
  display: none !important;
}

/* Mobile : une seule ligne */
@media (max-width: 767px) {
  .header-unified__inner {
    flex-wrap: nowrap;
    height: 62px;
    min-height: 62px;
    gap: .25rem;
    padding-left: .5rem;
    padding-right: .5rem;
  }

  .header-unified__logo {
    flex: 0 0 auto;
  }

  .header-unified__logo .logo,
  .header-unified__logo img.logo {
    height: 84px !important;
    max-width: 195px;
  }

  .header-unified__search {
    order: 10;
    flex: 0 0 auto;
  }

  /* Icônes compte + panier poussées à droite, juste avant le hamburger */
  .header-unified__actions {
    margin-left: auto;
    order: 9;
  }

  /* Icônes réduites de 30% sur mobile uniquement */
  .ps-customersignin .header-block__action-btn,
  .ps-shoppingcart .header-block__action-btn {
    width: 32px !important;
    height: 32px !important;
  }

  .ps-customersignin .header-block__icon {
    width: 15px !important;
    height: 15px !important;
  }

  .ps-shoppingcart .header-block__icon {
    font-size: 15px !important;
  }

  .ps-shoppingcart .header-block__badge {
    top: -2px !important;
    right: -2px !important;
    min-width: 13px !important;
    height: 13px !important;
    font-size: 8px !important;
    padding: 0 3px !important;
    border-width: 1.5px !important;
  }

}

/* ── Menu desktop masqué — navigation via hamburger uniquement ── */
.ps-mainmenu__desktop {
  display: none !important;
}


/* ── Tablette + Desktop : hamburger en absolu à droite des icônes ── */
@media (min-width: 768px) {
  .header-unified__inner {
    position: relative;
  }

  .header-unified__search .ps-mainmenu__mobile-toggle {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
  }

  /* Espace à droite des icônes pour ne pas chevaucher le hamburger */
  .header-unified__actions {
    padding-right: 2.5rem;
  }
}

/* Tablette */
@media (min-width: 768px) and (max-width: 1199px) {
  .header-unified__inner {
    height: 72px;
  }

  .header-unified__logo .logo,
  .header-unified__logo img.logo {
    height: 84px !important;
    max-width: 270px;
  }

  /* Masquer le placeholder de la barre de recherche */
  .ps-searchbar__input::placeholder {
    color: transparent;
  }
}

#header {
  position: sticky;
  top: 0;
  z-index: 1000;
}

/* ── Ticker bar ── */
.glowup-ticker-bar {
  overflow: hidden;
  background: var(--glow-soft);
  border-bottom: 1px solid #f4e9df;
  height: 28px;
  display: flex;
  align-items: center;
}

.glowup-ticker-text {
  display: inline-block;
  white-space: nowrap;
  color: rgba(47, 43, 40, .78);
  font-size: 12px;
  letter-spacing: .02em;
  animation: glowup-ticker 16s linear infinite;
}

/* Pause au survol et au focus clavier : critere WCAG 2.2.2, qui impose un
   moyen d'arreter tout contenu en mouvement automatique durant plus de 5 s. */
.glowup-ticker-bar:hover .glowup-ticker-text,
.glowup-ticker-bar:focus-within .glowup-ticker-text {
  animation-play-state: paused;
}

/* Le sens etait inverse : l'animation partait de -100% (hors ecran a gauche)
   vers 100vw, donc le texte entrait par la gauche en commencant par sa fin,
   debut tronque. Un bandeau se lit de droite a gauche. */
@keyframes glowup-ticker {
  0%   { transform: translateX(100vw); }
  100% { transform: translateX(-100%); }
}

@media (prefers-reduced-motion: reduce) {
  .glowup-ticker-text {
    animation: none;
    transform: none;
  }

  /* Sans defilement, le texte doit tenir dans la barre. */
  .glowup-ticker-bar {
    justify-content: center;
    height: auto;
    padding: 6px 12px;
  }

  .glowup-ticker-text {
    white-space: normal;
    text-align: center;
  }
}

#header .logo,
#header img.logo,
#_desktop_logo img,
#_mobile_logo img {
  max-height: 180px;
  width: auto;
  object-fit: contain;
}

@media (min-width: 768px) and (max-width: 1199px) {
  #header .logo,
  #header img.logo,
  #_desktop_logo img,
  #_mobile_logo img {
    max-height: 150px;
  }
}

@media (max-width: 767px) {
  #header .logo,
  #header img.logo,
  #_desktop_logo img,
  #_mobile_logo img {
    max-height: 120px;
  }
}

#search_widget input,
.search-widget input,
input[type="search"] {
  border-radius: 999px;
  border: 1px solid rgba(47, 43, 40, .15);
  background: #fff;
  color: var(--glow-ink);
  outline: 0;
}

#search_widget input:focus,
.search-widget input:focus,
input[type="search"]:focus {
  border-color: var(--glow-gold);
  box-shadow: 0 0 0 3px rgba(169, 118, 54, .12);
}

.breadcrumb__wrapper,
.breadcrumb,
nav.breadcrumb__wrapper {
  border: 0;
  background: transparent;
  color: rgba(47, 43, 40, .68);
}

.breadcrumb__wrapper {
  box-shadow: inset 0 1px 0 rgba(234, 223, 213, .72), inset 0 -1px 0 rgba(234, 223, 213, .55);
}

.breadcrumb,
.breadcrumb__wrapper .breadcrumb {
  margin-bottom: 0;
  background: transparent;
}

.breadcrumb a,
.breadcrumb__wrapper a {
  color: rgba(47, 43, 40, .72);
}

.breadcrumb a:hover,
.breadcrumb__wrapper a:hover {
  color: var(--glow-gold);
}

.glowup-home .container,
.glowup-home .columns-container,
.glowup-home #center-column,
.glowup-home #content {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

/* Supprime le gap grid du thème entre le hero et la barre de réassurance */
.page-content--home {
  row-gap: 0;
}

body#index #header,
body.page-index #header,
body#index .header-unified,
body.page-index .header-unified {
  border-bottom: 0;
  box-shadow: none;
}

.glowup-hero {
  position: relative;
  aspect-ratio: 941 / 1672;
  overflow: hidden;
  border-bottom: 0;
  background: #fffaf5;
  margin-top: -1px;
  margin-bottom: 0;
}

.glowup-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
  pointer-events: none;
}

.glowup-hero::after {
  bottom: 0;
  height: clamp(28px, 8vw, 72px);
  background: linear-gradient(180deg, rgba(255, 250, 245, 0) 0%, rgba(255, 250, 245, .72) 62%, #fffaf6 100%);
}

.glowup-hero__image {
  position: absolute;
  inset: 0;
  background-image: url("../img/glowup/hero-banner-glowup-mobile.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 97% auto;
}


.glowup-hero__cta {
  position: absolute;
  left: 23.5%;
  top: 34.8%;
  z-index: 2;
  width: 53%;
  height: 5.2%;
  border-radius: 18px;
}

@media (min-width: 768px) {
  .glowup-hero {
    aspect-ratio: 1672 / 941;
  }

  .glowup-hero__image {
    background-image: url("../img/glowup/hero-banner-glowup-v4.webp");
    background-position: center;
    background-size: contain;
  }

.glowup-hero__cta {
    left: 5.6%;
    top: 66.8%;
    width: 20.4%;
    height: 5.8%;
    border-radius: 10px;
  }
}

@media (max-width: 767px) {
  .glowup-hero::after {
    display: none;
  }
}

.glowup-trust {
  display: grid;
  gap: .5rem;
  width: 100%;
  max-width: 1380px;
  margin: 0 auto;
  padding: .875rem .625rem;
  border: 1px solid rgba(234, 223, 213, .7);
  border-radius: 18px;
  background: #fffaf2;
  box-shadow: 0 10px 24px rgba(97, 74, 52, .08);
}

.glowup-trust article {
  display: flex;
  min-height: 68px;
  align-items: center;
  gap: .75rem;
  padding: .75rem .875rem;
  border: 1px solid rgba(203, 154, 117, .24);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(97, 74, 52, .08);
}

.glowup-trust__icon {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: #f7eadc;
  color: #6b461f;
  font-family: "Material Icons", "Material Icons Round", sans-serif;
  font-size: 24px;
  box-shadow: 0 0 0 2px #fff;
}

.glowup-trust strong {
  display: block;
  color: var(--glow-ink);
  font-size: 15px;
  line-height: 1.2;
}

.glowup-trust p {
  margin: 3px 0 0;
  color: rgba(47, 43, 40, .66);
  font-size: 13px;
  line-height: 1.35;
}

@media (max-width: 767px) {
  .glowup-trust {
    position: relative;
    z-index: 2;
    margin-top: clamp(-3.5rem, -12vw, -2rem);
    padding-top: 1rem;
    border-top: 1px solid rgba(234, 223, 213, .7);
    border-bottom: 0;
    background: #fffaf2;
    box-shadow: none;
  }

  .glowup-trust::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100% - 1px);
    height: clamp(64px, 18vw, 96px);
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 250, 245, 0) 0%, rgba(255, 250, 245, .72) 50%, #fffaf2 100%);
  }

  .glowup-trust article {
    position: relative;
    z-index: 1;
  }
}

/* Tablette 640–991 px : 3 colonnes horizontales, taille intermédiaire */
@media (min-width: 640px) and (max-width: 991px) {
  .glowup-trust {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 1rem;
    gap: .75rem;
    background: #fff;
    box-shadow: 0 12px 28px rgba(97, 74, 52, .1);
  }

  .glowup-trust article {
    min-height: 72px;
    border: 1px solid rgba(203, 154, 117, .24);
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(97, 74, 52, .06);
    gap: .75rem;
    padding: .875rem 1rem;
  }

  .glowup-trust article:last-child {
    border-right: 1px solid rgba(203, 154, 117, .24);
  }

  .glowup-trust__icon {
    width: 48px;
    height: 48px;
    font-size: 26px;
    background: #f4eadf;
  }
}

@media (min-width: 992px) {
  .glowup-trust {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 86px;
    padding: 1rem;
    gap: .75rem;
    background: #fff;
    box-shadow: 0 14px 34px rgba(97, 74, 52, .12);
  }

  .glowup-trust article {
    min-height: 72px;
    border: 1px solid rgba(203, 154, 117, .24);
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(97, 74, 52, .06);
  }

  .glowup-trust article:last-child {
    border-right: 1px solid rgba(203, 154, 117, .24);
  }

  .glowup-trust__icon {
    width: 56px;
    height: 56px;
    font-size: 28px;
    background: #f4eadf;
  }
}

.featured-products,
.products,
.product-accessories,
.product-miniature {
  color: var(--glow-ink);
}

.featured-products,
.products-section,
.page-content--home > section:not(.glowup-hero):not(.glowup-trust) {
  width: 100%;
  max-width: 1380px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.page-content--home .ps-customtext {
  display: none !important;
}

.module-products,
.featured-products,
.product-accessories,
.products-section {
  width: min(100%, 1380px);
}

.page-content--home > section.ps-featuredproducts {
  margin-top: 30px;
}

.page-content--home > section.ps-newproducts {
  margin-top: 40px;
}

.module-products .section-title,
.featured-products .section-title,
.ps-newproducts .section-title,
.product-accessories .section-title,
.products-section-title {
  font-family: var(--glow-heading-font) !important;
  font-size: 30px;
  font-weight: 700;
}

/* Le terracotta d'origine (#c86c68) ne donnait que 3.62:1 avec du texte blanc,
   sous le minimum WCAG AA de 4.5:1 — et son survol (#b95f5d) echouait aussi a
   4.32:1. On assombrit au strict necessaire pour rester fidele a la teinte :
   4.68:1 au repos, 5.90:1 au survol. */
.module-products__buttons .btn.btn-outline-primary,
.page-content--home .module-products__buttons .btn.btn-outline-primary {
  background-color: #b25a55 !important;
  background-image: none !important;
  border-color: #b25a55 !important;
  color: #fff !important;
}

.module-products__buttons .btn.btn-outline-primary:hover,
.module-products__buttons .btn.btn-outline-primary:focus,
.page-content--home .module-products__buttons .btn.btn-outline-primary:hover,
.page-content--home .module-products__buttons .btn.btn-outline-primary:focus {
  background-color: #9d4c47 !important;
  background-image: none !important;
  border-color: #9d4c47 !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(157, 76, 71, .24);
}

.module-products__list,
.featured-products .products,
.product-accessories .products,
.page-content--home .products {
  width: 100%;
}

.module-products__list .products,
.featured-products .products,
.product-accessories .products,
.page-content--home .products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(245px, 1fr));
  align-items: stretch;
  gap: 1.25rem;
}

@media (min-width: 1200px) {
  .module-products__list .products,
  .featured-products .products,
  .product-accessories .products,
  .page-content--home .products {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .module-products__list .products,
  .featured-products .products,
  .product-accessories .products,
  .page-content--home .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .page-content--home > section.ps-featuredproducts {
    margin-top: 30px;
  }

  .page-content--home > section.ps-newproducts {
    margin-top: 40px;
  }

  .module-products__list .products,
  .featured-products .products,
  .product-accessories .products,
  .page-content--home .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
  }
}

@media (max-width: 459px) {
  .module-products__list .products,
  .featured-products .products,
  .product-accessories .products,
  .page-content--home .products {
    grid-template-columns: 1fr;
  }
}

.module-products__list .products > .product-miniature,
.featured-products .products > .product-miniature,
.product-accessories .products > .product-miniature,
.page-content--home .products > .product-miniature {
  width: 100%;
  min-width: 0;
  max-width: none;
  flex: initial;
}

.product-miniature,
.js-product-miniature,
.product,
.card {
  border-color: var(--glow-line);
  border-radius: 14px;
}

.product-miniature .thumbnail-container,
.product-miniature article,
.js-product-miniature article,
.product-miniature {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--glow-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(97, 74, 52, .08);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.product-miniature:hover,
.product-miniature .thumbnail-container:hover,
.js-product-miniature article:hover {
  transform: translateY(-4px);
  border-color: #e4d5c8;
  box-shadow: 0 18px 42px rgba(97, 74, 52, .16);
}

.product-miniature img,
.js-product-miniature img,
.product-cover img,
.images-container img {
  width: 100%;
  background: #fbf2ed;
  object-fit: cover;
}

.product-miniature .thumbnail-container,
.product-miniature .thumbnail,
.product-miniature .product-thumbnail,
.js-product-miniature .thumbnail-container,
.js-product-miniature .thumbnail,
.js-product-miniature .product-thumbnail {
  display: block;
  width: 100%;
}

.product-miniature .thumbnail-container img,
.product-miniature .product-thumbnail img,
.js-product-miniature .thumbnail-container img,
.js-product-miniature .product-thumbnail img {
  aspect-ratio: 1.27;
  height: auto;
  min-height: 220px;
}

.product-miniature .product-description,
.js-product-miniature .product-description {
  width: 100%;
  padding: 1rem;
}

.product-title,
.product-miniature .product-title,
.product-miniature .product-title a {
  min-height: 2.5rem;
  color: var(--glow-ink);
  font-size: .95rem;
  font-weight: 650;
  line-height: 1.35;
}

.product-miniature__summary {
  display: -webkit-box;
  margin-top: .4rem;
  overflow: hidden;
  color: var(--glow-muted);
  font-size: .88rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.product-price,
.current-price,
.price {
  color: var(--glow-ink);
  font-weight: 800;
}

.regular-price,
.product-discount .regular-price {
  color: rgba(47, 43, 40, .45);
  text-decoration-thickness: 1px;
}

.discount-percentage,
.product-flags .product-flag,
.badge {
  border-radius: 8px;
  background: #f2b59f;
  color: #9b503f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
}

.product-flags .badge.discount,
.product-flags .product-flag.discount,
.badge.discount,
.product-flag.discount,
.product-flags .badge.new,
.product-flags .product-flag.new,
.badge.new,
.product-flag.new,
.discount-percentage {
  display: none !important;
}

.product-cover,
.images-container,
.product-information,
.product-actions,
.product-prices,
.tabs,
.page-cms,
.cart-grid-body,
.cart-summary,
.checkout-step {
  border-color: var(--glow-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 18px 45px rgba(97, 74, 52, .08);
}

.product-cover {
  overflow: hidden;
  background: #fff4ef;
}

.cart-summary {
  overflow: hidden;
  border: 1px solid var(--glow-line);
  background: var(--glow-soft);
}

.cart-grid__aside-wrapper > h2 {
  font-size: 30px;
  font-weight: 700;
}

.cart-summary__totals,
.cart-summary__subtotals,
.cart-summary__total,
.cart-summary__line {
  background: transparent !important;
}

.cart-summary__line {
  padding: .9rem 1rem;
  border-bottom: 1px solid rgba(217, 160, 141, .24);
  color: var(--glow-ink);
}

.cart-summary__line:last-child {
  border-bottom: 0;
}

.cart-summary__actions {
  padding: 1rem;
  background: transparent;
}

body#checkout .checkout__summary-accordion-wrapper.cart-summary {
  background: #fff !important;
}

body#checkout .checkout__summary-accordion-wrapper .cart-summary__products,
body#checkout .checkout__summary-accordion-wrapper .cart-summary__products-accordion,
body#checkout .checkout__summary-accordion-wrapper .accordion-item,
body#checkout .checkout__summary-accordion-wrapper .accordion-header,
body#checkout .checkout__summary-accordion-wrapper .accordion-button,
body#checkout .checkout__summary-accordion-wrapper .accordion-body,
body#checkout .checkout__summary-accordion-wrapper .cart-summary__totals,
body#checkout .checkout__summary-accordion-wrapper .cart-summary__subtotals,
body#checkout .checkout__summary-accordion-wrapper .cart-summary__total,
body#checkout .checkout__summary-accordion-wrapper .cart-summary__line {
  background: #fff !important;
}

body#checkout .checkout-grid__aside-wrapper {
  width: min(100%, 440px);
  margin-inline: auto;
}

body#checkout .checkout__summary-accordion {
  border: 0;
}

body#checkout .checkout__summary-accordion-item {
  overflow: hidden;
  border: 1px solid var(--glow-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(97, 74, 52, .08);
}

body#checkout .checkout__summary-accordion-header .accordion-button {
  min-height: 62px;
  padding: 1rem 1.1rem;
  border: 0;
  border-bottom: 1px solid rgba(217, 160, 141, .2);
  background: #fff !important;
  color: #0b64cf;
  font-size: 1.22rem;
  font-weight: 800;
  line-height: 1.2;
  box-shadow: none;
}

body#checkout .checkout__summary-accordion-wrapper.cart-summary {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body#checkout .checkout__summary-accordion-wrapper .cart-summary__products-number,
body#checkout .checkout__summary-accordion-wrapper .cart-summary__products-accordion .accordion-button {
  min-height: 54px;
  padding: .95rem 1rem;
  color: var(--glow-ink);
  font-size: 1rem;
  line-height: 1.25;
}

body#checkout .checkout__summary-accordion-wrapper .cart-summary__products hr {
  margin: 0 !important;
  opacity: 1;
  border-color: rgba(217, 160, 141, .24);
}

body#checkout .checkout__summary-accordion-wrapper .cart-summary__line {
  min-height: 62px;
  align-items: center;
  padding: 1rem;
}

body#checkout .checkout__summary-accordion-wrapper .cart-summary__total {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

@media (max-width: 991.98px) {
  body#checkout .checkout-grid__aside {
    padding-inline: 12px;
  }

  body#checkout .checkout-grid__aside-wrapper {
    margin-top: 1.4rem;
  }
}

body#cart .blockreassurance--cart {
  margin-top: 1.25rem;
  margin-bottom: 0;
  gap: .95rem;
}

body#cart .blockreassurance--cart .reassurance {
  display: flex;
  align-items: center;
  gap: .9rem;
  color: var(--glow-ink);
  line-height: 1.35;
}

body#cart .blockreassurance--cart .reassurance__image,
body#cart .blockreassurance--cart .reassurance__image img,
body#cart .blockreassurance--cart .reassurance__image svg {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
}

body#cart .blockreassurance--cart .reassurance__image {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--glow-ink) !important;
}

body#cart .blockreassurance--cart .reassurance__image img {
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(15%) sepia(7%) saturate(639%) hue-rotate(346deg) brightness(96%) contrast(88%);
}

body#cart .blockreassurance--cart .reassurance__image svg,
body#cart .blockreassurance--cart .reassurance__image svg * {
  fill: none !important;
  stroke: currentColor !important;
}

body#cart .blockreassurance--cart .reassurance__title,
body#cart .blockreassurance--cart .reassurance__content {
  color: var(--glow-ink) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}

body#cart {
  padding-bottom: 104px;
}

.glowup-sticky-cart {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  padding: .75rem max(1rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-right));
  border-top: 1px solid rgba(217, 160, 141, .32);
  background: rgba(255, 250, 246, .94);
  box-shadow: 0 -18px 44px rgba(97, 74, 52, .14);
  backdrop-filter: blur(18px);
}

.glowup-sticky-cart__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: min(100%, 1180px);
  margin: 0 auto;
}

.glowup-sticky-cart__summary {
  display: flex;
  min-width: 0;
  flex-direction: column;
  color: var(--glow-ink);
  line-height: 1.2;
}

.glowup-sticky-cart__summary span {
  color: var(--glow-muted);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.glowup-sticky-cart__amount {
  font-size: 1.2rem;
  font-weight: 850;
}

.glowup-sticky-cart__button {
  min-width: min(52vw, 280px);
  padding: .85rem 1.25rem;
  text-align: center;
}

@media (max-width: 767px) {
  body#cart {
    padding-bottom: 96px;
  }

  .glowup-sticky-cart {
    padding: .65rem .75rem max(.65rem, env(safe-area-inset-bottom));
  }

  .glowup-sticky-cart__inner {
    gap: .75rem;
  }

  .glowup-sticky-cart__amount {
    font-size: 1.05rem;
  }

  .glowup-sticky-cart__button {
    min-width: 54vw;
    padding: .8rem .75rem;
    font-size: .92rem;
  }
}

.product-actions .control-label,
.product-variants .control-label,
.qty .control-label {
  color: rgba(47, 43, 40, .7);
}

.combo-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .5rem;
}

.combo-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: .35rem .78rem;
  border: 1px solid rgba(217, 160, 141, .8);
  border-radius: 999px;
  background: #fffaf6;
  color: var(--glow-ink);
  font: inherit;
  font-size: .86rem;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.combo-pill:hover,
.combo-pill:focus-visible {
  border-color: #d99a8d;
  background: #fff1e9;
  color: var(--glow-ink);
  box-shadow: 0 0 0 3px rgba(217, 160, 141, .2);
  outline: 0;
  text-decoration: none;
}

.combo-pill.is-active {
  border-color: #d99a8d;
  background: #d99a8d;
  color: #fff;
}

.product-combo-pills {
  margin: .55rem 0 .25rem;
}

.product-combo-pill {
  min-height: 36px;
  padding-inline: 1rem;
  font-size: .95rem;
}

.product-combo-radio {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.product-combo-radio:checked + .product-combo-pill {
  border-color: #d99a8d;
  background: #d99a8d;
  color: #fff;
}

.product-combo-radio:focus-visible + .product-combo-pill {
  border-color: #d99a8d;
  box-shadow: 0 0 0 3px rgba(217, 160, 141, .2);
}

.product-combo-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.bootstrap-touchspin,
.qty input,
input.form-control,
select.form-control,
textarea.form-control {
  border-color: var(--glow-line);
  border-radius: 12px;
  background: #fff;
  color: var(--glow-ink);
}

.tabs .nav-tabs,
.accordion,
.product-description,
.footer-container,
footer {
  border-color: var(--glow-line);
}

.footer-container,
footer {
  background: rgba(255, 255, 255, .55);
}

#emailsubscription_anchor_displayFooterBefore .h3 {
  font-size: 22px;
}

/* ── Footer custom layout (fond sombre) ── */
.footer-glowup__brand {
  font-family: var(--glow-heading-font, serif);
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: .4rem;
  line-height: 1.3;
}

.footer-glowup__tagline {
  font-size: .8rem;
  color: rgba(255, 255, 255, .55);
  line-height: 1.55;
  margin: 0;
}

.footer-glowup__title {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #fff;
  margin-bottom: .75rem;
}

.footer-glowup__title-link {
  color: inherit;
  text-decoration: none;
}
.footer-glowup__title-link:hover { text-decoration: underline; }

.footer-glowup__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: .45rem;
}

.footer-glowup__list a {
  font-size: .82rem;
  color: rgba(255, 255, 255, .65);
  text-decoration: none;
  transition: color .2s;
}
.footer-glowup__list a:hover { color: #fff; }

.ps-contactinfo__item,
.ps-contactinfo__item a {
  display: flex;
  align-items: center;
  gap: .65rem;
}

.ps-contactinfo__item {
  margin: .35rem 0;
}

.ps-contactinfo__item a {
  min-width: 0;
}

.ps-contactinfo__instagram-icon,
.ps-contactinfo__email-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  color: #fff;
  flex: 0 0 28px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
}

.ps-contactinfo__instagram-icon {
  background: linear-gradient(135deg, #f9ce34 0%, #ee2a7b 48%, #6228d7 100%);
}

.ps-contactinfo__email-icon {
  background: linear-gradient(135deg, #f2d2a4 0%, #c48a55 100%);
}

/* Contact avec icônes */
.footer-glowup__list--contact li {
  display: flex;
  align-items: center;
  gap: .55rem;
}

.footer-glowup__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  border-radius: 7px;
  flex-shrink: 0;
}

.footer-glowup__icon--email {
  background: rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .85);
  border: 1px solid rgba(255, 255, 255, .18);
}

.footer-glowup__icon--instagram {
  background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  color: #fff;
}

.glowup-fly-to-cart {
  position: fixed;
  z-index: 99999;
  width: 64px;
  height: 64px;
  border-radius: 16px;
  object-fit: cover;
  pointer-events: none;
  box-shadow: 0 18px 38px rgba(97, 74, 52, .22);
  outline: 1px solid rgba(255, 255, 255, .74);
}

.blockreassurance .reassurance__image {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.blockreassurance .reassurance__image svg {
  width: 30px;
  height: 30px;
  color: var(--glow-ink);
  fill: none;
  stroke: currentColor;
  flex-shrink: 0;
}

.blockreassurance--product .reassurance__image,
.blockreassurance--product .reassurance__image img,
.blockreassurance--product .reassurance__image svg {
  width: 30px;
  height: 30px;
  color: #111;
}

.blockreassurance--product .reassurance__image svg,
.blockreassurance--product .reassurance__image svg * {
  fill: none !important;
  stroke: currentColor !important;
}

.glowup-cart-pop {
  animation: glowup-cart-pop 520ms cubic-bezier(.2, .85, .25, 1);
}

.glowup-shipping-progress {
  margin: 0 0 1.35rem;
  padding: 1.15rem 1.25rem 1rem;
  border-radius: 28px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 44px rgba(97, 74, 52, .09);
}

.glowup-shipping-progress__track {
  position: relative;
  height: 16px;
  overflow: visible;
  border-radius: 999px;
  background: #efd5b4;
}

.glowup-shipping-progress__fill {
  position: absolute;
  inset: 0 auto 0 0;
  min-width: 18px;
  max-width: 100%;
  border-radius: inherit;
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(255, 255, 255, .42) 0 12px,
      rgba(255, 255, 255, 0) 12px 24px
    ),
    linear-gradient(90deg, #e99886, #de7f70);
  background-size: 34px 34px, auto;
  animation: glowup-shipping-stripes 900ms linear infinite;
}

.glowup-shipping-progress__truck {
  position: absolute;
  top: 50%;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 4px solid #fff;
  border-radius: 999px;
  background: #df806f;
  color: #fff;
  box-shadow: 0 10px 24px rgba(170, 95, 80, .26);
  transform: translate(-50%, -50%);
}

.glowup-shipping-progress__truck svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.glowup-shipping-progress p {
  margin: 1.05rem 0 0;
  color: #4e5c6d;
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-weight: 500;
  letter-spacing: 0;
}

.glowup-free-shipping-popup[hidden] {
  display: none !important;
}

.glowup-free-shipping-popup {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 1.25rem;
}

.glowup-free-shipping-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(47, 43, 40, .34);
  backdrop-filter: blur(8px);
}

.glowup-free-shipping-popup__panel {
  position: relative;
  width: min(100%, 430px);
  padding: 2.1rem 1.5rem 1.45rem;
  border: 1px solid rgba(217, 160, 141, .38);
  border-radius: 24px;
  background:
    radial-gradient(circle at 20% 0%, rgba(255, 255, 255, .92), transparent 10rem),
    linear-gradient(180deg, #fffaf6 0%, #fbf1ea 100%);
  box-shadow: 0 28px 70px rgba(97, 74, 52, .3);
  color: var(--glow-ink);
  text-align: center;
  animation: glowup-popup-in 260ms cubic-bezier(.2, .85, .25, 1);
}

.glowup-free-shipping-popup__close {
  position: absolute;
  top: .75rem;
  right: .75rem;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .74);
  color: var(--glow-ink);
  font-size: 1.4rem;
  line-height: 1;
}

.glowup-free-shipping-popup__icon {
  display: grid;
  width: 74px;
  height: 74px;
  margin: 0 auto 1rem;
  place-items: center;
  border: 5px solid #fff;
  border-radius: 999px;
  background: linear-gradient(135deg, #df806f, #c87968);
  color: #fff;
  box-shadow: 0 16px 34px rgba(170, 95, 80, .28);
}

.glowup-free-shipping-popup__icon svg {
  width: 40px;
  height: 40px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.glowup-free-shipping-popup__eyebrow {
  margin: 0 0 .35rem;
  color: var(--glow-gold);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.glowup-free-shipping-popup h2 {
  margin: 0;
  font-size: clamp(1.55rem, 6vw, 2rem);
}

.glowup-free-shipping-popup__text {
  margin: .75rem 0 1.15rem;
  color: rgba(47, 43, 40, .72);
  line-height: 1.55;
}

.glowup-free-shipping-popup .btn {
  width: 100%;
  padding: .85rem 1rem;
}

@keyframes glowup-cart-pop {
  0% { transform: scale(1); }
  45% { transform: scale(1.18); }
  100% { transform: scale(1); }
}

@keyframes glowup-popup-in {
  from { opacity: 0; transform: translateY(18px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes glowup-shipping-stripes {
  from { background-position: 0 0, 0 0; }
  to { background-position: 34px 0, 0 0; }
}

@media (max-width: 767px) {
  #header .logo,
  #header img.logo,
  #_desktop_logo img,
  #_mobile_logo img {
    max-height: 90px;
  }

  .featured-products,
  .products-section,
  .page-content--home > section:not(.glowup-hero):not(.glowup-trust) {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .glowup-shipping-progress {
    padding: 1rem .95rem .9rem;
    border-radius: 22px;
  }

  .glowup-shipping-progress__truck {
    width: 42px;
    height: 42px;
  }

  .glowup-free-shipping-popup {
    place-items: center;
    padding: 1rem .75rem calc(1rem + env(safe-area-inset-bottom));
  }

  .glowup-free-shipping-popup__panel {
    padding: 1.85rem 1.15rem 1.15rem;
    border-radius: 22px;
  }
}

/* ── Fond crème sur toutes les pages intérieures ── */
#wrapper,
.wrapper,
.columns-container,
.page,
.center-column,
.page-content {
  background-color: transparent !important;
}

/* Fond crème — même gradient que la homepage, base crème fixe sans blanc final */
body.page-cms {
  background:
    radial-gradient(circle at 15% 5%, rgba(238, 214, 186, .45), transparent 24rem),
    radial-gradient(circle at 88% 15%, rgba(227, 151, 132, .15), transparent 28rem),
    #fffaf6 !important;
}

body.page-cms #wrapper,
body.page-cms .columns-container,
body.page-cms .center-column,
body.page-cms .page-header {
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Fil d'Ariane visible sur pages CMS */
body.page-cms .breadcrumb__wrapper {
  background-color: transparent !important;
  box-shadow: none !important;
}

/* ── Pages CMS (Mentions légales, CGV, Livraison, Retour…) ── */
.page-content--cms {
  background: #fff !important;
  border-radius: 16px;
  border: 1px solid var(--glow-line);
  padding: 1.75rem 1.5rem;
  box-shadow: 0 4px 20px rgba(97, 74, 52, .07);
}

/* Sections sans séparation visuelle — juste espacement vertical */
.glowup-cms-section {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin-bottom: 1.5rem;
}

.glowup-cms-section:last-child {
  margin-bottom: 0;
}

.glowup-cms-section h3 {
  font-family: var(--glow-heading-font);
  font-size: 1rem;
  font-weight: 700;
  color: var(--glow-ink);
  margin: 0 0 .5rem;
}

.glowup-cms-section p {
  color: var(--glow-ink);
  font-size: .93rem;
  line-height: 1.65;
  margin: .2rem 0 0;
}

.glowup-cms-section a {
  color: var(--glow-ink);
  text-decoration: underline;
}

.glowup-cms-section a:hover {
  color: var(--glow-gold);
}

/* ── Contenu CMS : h2 + p directs (format natif éditeur BO) ── */
.page-content--cms h2 {
  font-family: var(--glow-heading-font);
  font-size: 1rem;
  font-weight: 700;
  color: var(--glow-ink);
  margin: 1.5rem 0 .4rem;
}
.page-content--cms h2:first-child {
  margin-top: 0;
}
.page-content--cms p {
  color: var(--glow-ink);
  font-size: .93rem;
  line-height: 1.65;
  margin: 0 0 .4rem;
}
.page-content--cms p:last-child {
  margin-bottom: 0;
}
.page-content--cms a {
  color: var(--glow-ink);
  text-decoration: underline;
}
.page-content--cms a:hover {
  color: var(--glow-gold);
}

/* Titre de page CMS */
.page-title-section {
  font-family: var(--glow-heading-font);
  color: var(--glow-ink);
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 1.25rem;
}

/* ── Détails produit masqués (marque/ref/stock) — données gardées pour le JS ── */
#product_details {
  display: none !important;
}

/* ── Accordéons page produit — fond transparent + couleur unifiée ── */
.product__accordion .accordion-item,
.product__accordion .accordion-button,
.product__accordion .accordion-body {
  background-color: transparent;
}
.product__accordion .accordion-button {
  color: var(--glow-ink);
  box-shadow: none;
}
.product__accordion .accordion-button:not(.collapsed) {
  color: var(--glow-ink);
  font-weight: 700;
  background-color: transparent;
  box-shadow: none;
}

/* Indentation du contenu + espacement réduit titre→texte */
.product__accordion .accordion-body,
.glowup-feature-accordion .accordion-body {
  padding-left: calc(38px + .75rem);
  padding-top: .25rem;
  padding-right: .25rem;
  padding-bottom: .75rem;
}

/* Boutons accordéon : réduction du padding-bottom Bootstrap (16px → 4px) */
.product__accordion .accordion-button,
.glowup-feature-accordion .accordion-button {
  padding-bottom: 4px;
}

/* ── Accordéons features produit (Quand utiliser, Comment utiliser…) ── */
.glowup-feature-accordion .accordion-button {
  display: flex;
  align-items: center;
  gap: .75rem;
  font-weight: 600;
  font-size: .95rem;
  color: var(--glow-ink);
}

.glowup-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--glow-soft);
  box-shadow: inset 0 0 0 1px rgba(217, 160, 141, .12);
}

.glowup-feature-icon svg {
  width: 19px;
  height: 19px;
  stroke: var(--glow-clay);
  flex-shrink: 0;
}

.glowup-feature-body {
  font-size: .93rem;
  line-height: 1.7;
  color: var(--glow-ink);
  padding-top: .5rem;
  padding-bottom: .75rem;
  /* nl2br déjà appliqué en Smarty — pas besoin de pre-line */
}

/* Enlève l'ombre/outline au focus sur le bouton feature */
.glowup-feature-accordion .accordion-button:focus,
.glowup-feature-accordion .accordion-button:focus-visible {
  box-shadow: none;
  outline: none;
}

/* ── Prix produit — cache uniquement le badge "Économisez" ── */
.product__discount-amount,
.product__discount-percentage { display: none !important; }

/* ── Prix produit — aligne ancien prix barré et prix actuel sur la même ligne ── */
.product__prices-block {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .25rem .6rem;
}

.product__tax-infos,
.product__pack-price,
.product__taxless-price {
  flex-basis: 100%;
}

.product__tax-infos { display: none !important; }

/* ── Sélecteur de quantité — uniformisation ── */
.quantity-button__group {
  gap: 0;
  border: none;
}

.quantity-button__group .btn-square-icon,
.quantity-button__group .form-control {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 0 !important;
  background-color: var(--glow-soft) !important;
  border: 1px solid var(--glow-line) !important;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  padding: 0;
  box-shadow: none !important;
  color: var(--glow-ink);
  flex-shrink: 0;
}

/* Coins arrondis uniquement sur les extrémités */
.quantity-button__group .btn-square-icon.decrement {
  border-radius: 12px 0 0 12px !important;
}

.quantity-button__group .btn-square-icon.increment {
  border-radius: 0 12px 12px 0 !important;
}

/* Supprime la double bordure entre les éléments */
.quantity-button__group .form-control {
  border-left: none !important;
  border-right: none !important;
  background-color: #fff !important;
}

.quantity-button__group .btn-square-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.quantity-button__group .form-control:focus {
  border-color: var(--glow-clay) !important;
  background-color: #fff !important;
}

/* ── Badges réduction montant (panier) masqués ── */
.product-line__item-discount--amount { display: none !important; }

/* ── Sélecteur combinaisons sur carte produit ── */
.miniature-combo-select {
  width: 100%;
  font-size: .82rem;
  border: 1px solid #e8d5c4;
  border-radius: 8px;
  padding: .3rem .6rem;
  margin-bottom: .5rem;
  color: var(--glow-ink);
  background: #fff8f4;
  cursor: pointer;
}

.miniature-combo-radios {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-bottom: .5rem;
}
.miniature-combo-radios__option {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  padding: .3rem .8rem;
  border: 1.5px solid var(--glow-clay);
  border-radius: 20px;
  color: var(--glow-ink);
  font-size: .78rem;
  font-weight: 500;
  background: transparent;
  transition: background .18s ease, color .18s ease;
  user-select: none;
}
.miniature-combo-radios__option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  margin: 0;
}
.miniature-combo-radios__option:hover {
  background: var(--glow-clay);
  color: #fff;
}
.miniature-combo-radios__option.is-active {
  border-color: var(--glow-clay);
  background: var(--glow-clay);
  color: #fff;
  font-weight: 600;
}

/* ── Partage social — fiche produit ── */
.ps-sharebuttons { display: none !important; }   /* masque l'ancien module */

.glowup-social-share {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .5rem 0 .25rem;
}

.glowup-social-share__label {
  font-size: .82rem;
  font-weight: 600;
  color: var(--glow-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  flex-shrink: 0;
}

.glowup-social-share__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: .55rem;
}

.glowup-social-share__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: radial-gradient(ellipse at 36% 28%, #fffcf9 0%, #e4d0c4 90%);
  color: #111;
  border: none;
  cursor: pointer;
  text-decoration: none;
  box-shadow:
    7px 12px 26px rgba(165, 115, 85, 0.48),
    -3px -4px 10px rgba(255, 255, 255, 0.95),
    0 0 0 1.5px rgba(195, 155, 125, 0.28),
    inset 0 2px 7px rgba(255, 255, 255, 0.78),
    inset 0 -2px 7px rgba(155, 105, 75, 0.22);
  transition: transform .2s ease, box-shadow .2s ease;
}

.glowup-social-share__btn svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.glowup-social-share__btn:hover {
  transform: scale(1.08);
  box-shadow:
    9px 15px 32px rgba(165, 115, 85, 0.55),
    -3px -4px 10px rgba(255, 255, 255, 0.95),
    0 0 0 1.5px rgba(195, 155, 125, 0.28),
    inset 0 2px 7px rgba(255, 255, 255, 0.78),
    inset 0 -2px 7px rgba(155, 105, 75, 0.22);
  color: #111;
}

/* ── Déclinaisons produit — style pills ── */
.product-variant__radios {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .25rem;
}
.product-variant__radio {
  padding: 0;
  margin: 0;
}
.product-variant__radio .form-check-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}
.product-variant__radio label {
  cursor: pointer;
  display: inline-block;
  padding: .4rem 1.1rem;
  border: 1.5px solid var(--glow-clay);
  border-radius: 20px;
  color: var(--glow-ink);
  font-size: .88rem;
  font-weight: 500;
  background: transparent;
  transition: background .18s ease, color .18s ease;
  user-select: none;
}
.product-variant__radio label:hover {
  background: var(--glow-clay);
  color: #fff;
}
.product-variant__radio .form-check-input:checked + label {
  background: var(--glow-clay);
  color: #fff;
  font-weight: 600;
  border-color: var(--glow-clay);
}

/* ─── Combo pills (conditionnement sur carte produit) ─── */
.combo-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 4px;
}

.combo-pill {
  padding: 4px 12px;
  border: 1.5px solid var(--glow-clay);
  border-radius: 20px;
  background: transparent;
  color: var(--glow-ink);
  font-family: var(--font-body, 'Poppins', sans-serif);
  font-size: .78rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
  line-height: 1.4;
  white-space: nowrap;
}

.combo-pill:hover {
  background: var(--glow-clay);
  color: #fff;
}

.combo-pill.is-active {
  background: var(--glow-clay);
  color: #fff;
  font-weight: 600;
}

.glowup-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .68s ease, transform .68s cubic-bezier(.2, .8, .2, 1);
  will-change: opacity, transform;
}

.glowup-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

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

/* ── Contour de selection de la galerie ──
   Le theme pose ce contour avec var(--bs-primary), qui sert aussi au texte des
   liens et doit donc rester fonce. On dissocie les deux : le contour prend une
   teinte doree plus claire, le texte garde la sienne.
   Les anneaux de focus clavier (.outline:focus-visible) ne sont volontairement
   PAS eclaircis : ils doivent rester bien lisibles pour la navigation au
   clavier. */
.page-product .product__thumbnail.active .product__thumbnail-image {
  outline-color: var(--glow-outline);
}

/* ── Titres des cartes produit ──
   Ce sont des liens : sans regle, ils heritent de --bs-link-color et
   ressortaient en dore. On les aligne sur --glow-ink, le noir deja utilise
   par les titres de section et le texte courant, pour que les listes de
   produits lisent comme de la typographie et non comme une liste de liens.
   L'affordance est reportee sur le survol, qui reprend la teinte de lien. */
.product-miniature__title {
  color: var(--glow-ink);
  /* 400 etait un peu leger pour l'element principal de la carte. 500 est une
     vraie graisse de Poppins, pas une synthese du navigateur, et suffit a
     detacher le titre du resume qui le suit sans alourdir la grille. */
  font-weight: 500;
}

.product-miniature__title:hover,
.product-miniature__title:focus-visible {
  color: var(--glow-link);
}

/* ══════════════════════════════════════════════════════════════════════
   NOUVEAUX EFFETS (essai UI/UX Pro Max) — 3 micro-interactions absentes
   du theme : etat du bouton d'ajout, feedback du selecteur de quantite,
   barre d'achat collante sur mobile. Tout sur transform/opacity, neutralise
   sous prefers-reduced-motion, retirable d'un seul bloc (CSS + le bloc JS
   equivalent dans glowup-custom.js).
   ══════════════════════════════════════════════════════════════════════ */

/* ── 1. Bouton « Ajouter » : spinner pendant l'ajout → « ✓ Ajouté » ── */
.glowup-btn-busy,
.glowup-btn-done {
  pointer-events: none;
}
.glowup-btn-busy {
  position: relative;
  color: transparent !important;
}
.glowup-spinner {
  display: inline-block;
  width: 1.05em;
  height: 1.05em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  color: #fff;
  animation: glowup-btn-spin .6s linear infinite;
  vertical-align: -.15em;
}
.glowup-btn-done {
  /* Vert doux, texte fonce : contraste ~7:1, largement au-dessus du seuil AA. */
  background: #e7f3ea !important;
  background-image: none !important;
  border-color: #cfe6d5 !important;
  color: #1f6b45 !important;
  box-shadow: none !important;
}
.glowup-btn-done .glowup-check {
  display: inline-block;
  margin-right: .35em;
  animation: glowup-check-pop .32s cubic-bezier(.2, .85, .25, 1);
}
@keyframes glowup-btn-spin { to { transform: rotate(360deg); } }
@keyframes glowup-check-pop { 0% { transform: scale(0); } 60% { transform: scale(1.25); } 100% { transform: scale(1); } }

/* ── 2. Selecteur de quantite : enfoncement du +/- et « tic » du nombre ── */
.glowup-press { animation: glowup-press-kf .18s ease; }
.glowup-qty-pop { animation: glowup-qty-pop-kf .24s ease; }
@keyframes glowup-press-kf { 0% { transform: scale(1); } 40% { transform: scale(.86); } 100% { transform: scale(1); } }
@keyframes glowup-qty-pop-kf { 0% { transform: scale(1); } 45% { transform: scale(1.16); } 100% { transform: scale(1); } }

/* ── 3. Barre d'achat collante (mobile uniquement, fiche produit) ── */
.glowup-sticky-atc {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1030;
  display: none;                     /* affichee via .is-visible + media query */
  align-items: center;
  gap: .75rem;
  padding: .6rem .9rem calc(.6rem + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 253, 249, .96);
  border-top: 1px solid var(--glow-line);
  box-shadow: 0 -10px 30px rgba(97, 74, 52, .12);
  backdrop-filter: saturate(1.1) blur(6px);
  transform: translateY(110%);
  transition: transform .28s cubic-bezier(.2, .8, .2, 1);
}
.glowup-sticky-atc__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.2;
}
.glowup-sticky-atc__name {
  font-weight: 600;
  font-size: .82rem;
  color: var(--glow-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.glowup-sticky-atc__price {
  font-weight: 800;
  font-size: .95rem;
  color: var(--glow-ink);
}
.glowup-sticky-atc__btn {
  margin-left: auto;
  flex: none;
  white-space: nowrap;
  padding: .6rem 1.25rem;
}

@media (max-width: 767px) {
  .glowup-sticky-atc { display: flex; }
  .glowup-sticky-atc.is-visible { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .glowup-spinner { animation-duration: 1.2s; }
  .glowup-btn-done .glowup-check,
  .glowup-press,
  .glowup-qty-pop { animation: none; }
  .glowup-sticky-atc { transition: none; }
}
