/* ==========================================================================
   Smouche · fiche produit lisible (proposition du 30/10/2026)
   Feuille à charger APRÈS smouche.css et cart-funnel.css, sur la fiche produit seulement.
   Ne change aucun texte : tailles, graisses, couleurs, épaisseurs, espacements et formes.
   Tout est limité à body.sm-product-page. Retour arrière : retirer la feuille.
   ========================================================================== */

body.sm-product-page{
  --fl-titre: futura-pt, Jost, "DM Sans", Arial, sans-serif;
  --fl-texte: Figtree, "DM Sans", Arial, sans-serif;
  --fl-ink: #151515;
  --fl-texte-2: #333;
  --fl-gris: #555;
  --fl-rose: #d7839e;          /* rose de la marque : bordures, décor */
  --fl-rose-fort: #b84f75;     /* rose plein avec texte blanc : contraste 4,8:1 (AA) */
  --fl-rose-sombre: #a3416a;     /* texte rose sur fond teinté : 5,4:1 */
  --fl-rose-pale: #fdf0f4;
  --fl-rose-ligne: #efc6d4;
  --fl-vert: #1f7a45;          /* texte vert : 5,4:1 (AA) */
  --fl-vert-point: #2fb35f;
  --fl-fond: #f5f3f3;
  --fl-rayon: 16px;
  /* Icônes dessinées (masques SVG), qui remplacent à l'écran les symboles ✦ ◷ ☀ du texte (le texte ne change pas). */
  --fl-ico-eclat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5l2.6 7.2 7.4 2.8-7.4 2.8L12 21.5l-2.6-7.2L2 11.5l7.4-2.8z'/%3E%3Cpath d='M19.5 16.5l.9 2.3 2.1.8-2.1.8-.9 2.3-.9-2.3-2.1-.8 2.1-.8z'/%3E%3C/svg%3E");
  --fl-ico-horloge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 6.5V12l3.8 2.4'/%3E%3C/svg%3E");
  --fl-ico-soleil: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4.6' fill='black'/%3E%3Cpath d='M12 1.8v2.6M12 19.6v2.6M1.8 12h2.6M19.6 12h2.6M4.8 4.8l1.8 1.8M17.4 17.4l1.8 1.8M4.8 19.2l1.8-1.8M17.4 6.6l1.8-1.8'/%3E%3C/svg%3E");
  --fl-ico-goutte: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8C9 6.2 5 10.4 5 14.6a7 7 0 0 0 14 0c0-4.2-4-8.4-7-12.8z'/%3E%3C/svg%3E");
  --fl-ico-mineral: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linejoin='round'%3E%3Cpath d='M7 3h10l5 6-10 12L2 9z'/%3E%3Cpath d='M2 9h20M9.5 3L7.5 9l4.5 12 4.5-12-2-6'/%3E%3C/svg%3E");
  font-family: var(--fl-texte);
  color: var(--fl-ink);
  font-size: 18px;
  line-height: 1.55;
}
/* Option à valider : texte courant en futura-pt (police actuelle) au lieu de Figtree. */
body.sm-product-page.opt-futura{ --fl-texte: futura-pt, Jost, "DM Sans", Arial, sans-serif; }

/* --------------------------------------------------------------------------
   1. Bandeau et en-tête
   -------------------------------------------------------------------------- */
body.sm-product-page .sm-sale-bar.sm-sale-bar-offre{
  height:auto;min-height:46px;padding:10px 16px;
  font-family:var(--fl-titre);font-size:15px;line-height:1.3;letter-spacing:.04em;font-weight:500;
}
body.sm-product-page .sm-sale-bar-offre strong{font-weight:800}
body.sm-product-page .sm-sale-bar-offre .sm-sale-sep{margin:0 10px;opacity:.6}
body.sm-product-page .sm-menu-toggle{width:48px;min-height:48px;margin-left:-11px;padding:0 11px}
body.sm-product-page .sm-menu-toggle span{width:26px;height:2.5px;margin:6px 0;border-radius:2px}
body.sm-product-page .sm-nav-right svg{stroke-width:1.9}
body.sm-product-page .sm-cart-link{min-width:48px;min-height:48px;display:grid;place-items:center}
body.sm-product-page .sm-cart-count{top:4px;right:2px;width:22px;height:22px;font-size:12px;font-weight:700;background:var(--fl-rose-fort)}
body.sm-product-page .sm-nav{font-size:14px}
body.sm-product-page .sm-mobile-nav a{font-size:18px;padding:6px 0}

/* --------------------------------------------------------------------------
   2. Galerie
   -------------------------------------------------------------------------- */
body.sm-product-page .product-main-media{border-radius:var(--fl-rayon)}
body.sm-product-page .product-clinician{
  top:16px;padding:9px 14px;border-radius:0 10px 10px 0;
  font-family:var(--fl-titre);font-size:14px;line-height:1.25;letter-spacing:.03em;
  box-shadow:0 4px 14px rgba(0,0,0,.10);
}
body.sm-product-page .product-clinician strong{font-weight:800}
body.sm-product-page .product-korea{
  left:12px;right:auto;bottom:12px;max-width:calc(100% - 24px);
  padding:6px 10px;border-radius:10px;left:10px;bottom:10px;
  font-family:var(--fl-texte);font-size:14px;line-height:1.3;font-weight:600;text-wrap:balance;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
}
body.sm-product-page .product-thumbs{gap:10px}
body.sm-product-page .product-thumb{border:2px solid transparent;border-radius:12px;overflow:hidden;background:#f3f1f1}
body.sm-product-page .product-thumb.is-active{border-color:var(--fl-rose-fort);box-shadow:0 0 0 2px #fff inset}

/* --------------------------------------------------------------------------
   3. Haut du résumé : Corée, preuve sociale, note, titre, prix
   -------------------------------------------------------------------------- */
body.sm-product-page .product-korea-bar{
  padding:10px 0 12px;border-radius:0;background:none;border-bottom:1.5px solid #ebe7e8;
  font-family:var(--fl-texte);font-size:17px;line-height:1.35;
}
body.sm-product-page .product-korea-bar strong{font-weight:800}
body.sm-product-page .product-proof{gap:10px;margin-top:18px;font-size:18px;line-height:1.35;color:var(--fl-ink)}
body.sm-product-page .product-proof>span:last-child{text-wrap:pretty}
body.sm-product-page .product-proof strong{font-weight:800}
body.sm-product-page .proof-avatars{
  flex:0 0 auto;font-size:24px;line-height:1;letter-spacing:-4px;padding:0 4px 0 0;
}
body.sm-product-page .product-rating{
  display:inline-block;margin:10px 0 10px;font-size:21px;line-height:1.3;
  color:var(--fl-rose-fort);letter-spacing:.02em;
  min-height:48px;padding:8px 0;
}
body.sm-product-page .product-rating strong{color:var(--fl-ink);font-weight:800;letter-spacing:0;margin-left:4px}
body.sm-product-page .product-summary h1{
  margin:8px 0 14px;
  font-family:var(--fl-titre);font-weight:800;text-transform:uppercase;
  font-size:31px;line-height:1.08;letter-spacing:.005em;color:var(--fl-ink);text-wrap:balance;
}
body.sm-product-page .product-price{gap:14px;flex-wrap:wrap}
body.sm-product-page .product-price>strong{font-family:var(--fl-titre);font-size:36px;line-height:1.1;font-weight:800}
body.sm-product-page .product-price span{
  padding:7px 13px;border-radius:999px;background:var(--fl-rose-fort);
  font-family:var(--fl-texte);font-size:15px;line-height:1.2;font-weight:800;letter-spacing:.04em;
}

/* --------------------------------------------------------------------------
   4. Les 4 avantages en pastilles (le symbole devient l'icône rose)
   -------------------------------------------------------------------------- */
body.sm-product-page .benefit-chips{grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}
body.sm-product-page .benefit-chips span{
  display:block;position:relative;padding:13px 14px 13px 48px;
  border-radius:14px;background:var(--fl-fond);
  font-family:var(--fl-texte);font-size:17px;line-height:1.3;font-weight:600;color:var(--fl-ink);text-wrap:balance;
}
/* Le symbole du texte (✦ ◷ ☀) est masqué à l'écran (taille 0, y compris l'émoji ☀ d'iPhone) et remplacé par une icône rose. */
body.sm-product-page .benefit-chips span::first-letter,
body.sm-product-page .story-icons b::first-letter{float:left;font-size:0;line-height:0;color:transparent}
body.sm-product-page .benefit-chips span::before,
body.sm-product-page .story-icons b::before{
  content:"";position:absolute;left:15px;top:13px;width:22px;height:22px;
  background:var(--fl-rose-fort);-webkit-mask:var(--fl-ico-eclat) center/contain no-repeat;mask:var(--fl-ico-eclat) center/contain no-repeat;
}
body.sm-product-page .benefit-chips span:nth-child(3)::before,
body.sm-product-page .product-how .story-icons b:nth-child(1)::before{-webkit-mask-image:var(--fl-ico-horloge);mask-image:var(--fl-ico-horloge)}
body.sm-product-page .benefit-chips span:nth-child(4)::before,
body.sm-product-page .product-how .story-icons b:nth-child(2)::before{-webkit-mask-image:var(--fl-ico-soleil);mask-image:var(--fl-ico-soleil)}

/* --------------------------------------------------------------------------
   5. Texte d'introduction
   -------------------------------------------------------------------------- */
body.sm-product-page .product-lead{
  margin:20px 0 8px;font-family:var(--fl-texte);font-size:19px;line-height:1.4;font-weight:700;color:var(--fl-ink);text-wrap:pretty;
}
body.sm-product-page .product-summary>p:not(.product-lead){
  margin:0 0 6px;font-size:18.5px;line-height:1.6;color:var(--fl-texte-2);text-wrap:pretty;
}

/* --------------------------------------------------------------------------
   6. Les offres : grandes cartes, bordure épaisse, gros bouton radio,
      badge plein, prix rose, cadeaux dans une bande rose pleine
   -------------------------------------------------------------------------- */
body.sm-product-page .bundle-form fieldset{margin:26px 0 16px}
body.sm-product-page .bundle-option{
  --pad:18px;
  grid-template-columns:30px minmax(0,1fr) auto;gap:6px 14px;align-items:center;
  min-height:84px;margin-bottom:14px;padding:var(--pad);
  border:2px solid #dcd6d7;border-radius:var(--fl-rayon);background:var(--fl-fond);
  transition:border-color .2s,box-shadow .2s,background .2s;
}
body.sm-product-page .bundle-option.is-selected{
  --pad:17px;
  border:3px solid var(--fl-rose-fort);background:#fff;
  box-shadow:0 10px 26px rgba(184,79,117,.20);
}
body.sm-product-page .bundle-option input:focus-visible ~ .bundle-radio{outline:3px solid var(--fl-ink);outline-offset:3px}
body.sm-product-page .bundle-radio{
  width:30px;height:30px;border:2.5px solid #8a7f83;background:#fff;box-shadow:none;
  transition:background .2s,border-color .2s,box-shadow .2s;
}
body.sm-product-page .is-selected .bundle-radio{
  border-color:var(--fl-rose-fort);background:var(--fl-rose-fort);box-shadow:inset 0 0 0 5px #fff;
}
body.sm-product-page .bundle-title{gap:4px}
body.sm-product-page .bundle-title strong{
  display:block;font-family:var(--fl-titre);font-size:22px;line-height:1.15;font-weight:800;color:var(--fl-ink);
}
body.sm-product-page .bundle-title em{
  display:table;margin-top:8px;padding:6px 13px;border-radius:999px;
  background:var(--fl-rose-fort);color:#fff;
  font-family:var(--fl-texte);font-style:normal;font-size:15px;line-height:1.2;font-weight:800;letter-spacing:.03em;
}
body.sm-product-page .bundle-title small{margin-top:4px;font-size:17px;line-height:1.35;color:var(--fl-gris);font-weight:500;text-wrap:balance}
body.sm-product-page .bundle-price{align-self:center;gap:2px}
body.sm-product-page .bundle-price strong{font-family:var(--fl-titre);font-size:25px;line-height:1.1;font-weight:800;white-space:nowrap}
body.sm-product-page .bundle-best .bundle-price strong{color:var(--fl-rose-fort)}
body.sm-product-page .bundle-price del{font-size:17px;line-height:1.3;color:var(--fl-gris);white-space:nowrap}

/* La bande des cadeaux */
body.sm-product-page .bundle-gifts{
  grid-column:1/-1;display:grid;gap:0;
  margin:14px calc(-1 * var(--pad) - 1px) calc(-1 * var(--pad) - 1px);
  padding:4px 15px;border-radius:0 0 14px 14px;
  background:var(--fl-rose-fort);color:#fff;
  font-family:var(--fl-texte);font-size:17px;line-height:1.3;
}
body.sm-product-page .bundle-gifts>span{
  grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:68px;padding:8px 0;
}
body.sm-product-page .bundle-gifts>span+span{border-top:1.5px solid rgba(255,255,255,.35)}
body.sm-product-page .bundle-gifts img{
  width:52px;height:52px;padding:7px;border-radius:12px;background:#fff;object-fit:contain;
  box-shadow:0 2px 6px rgba(0,0,0,.10);
}
body.sm-product-page .bundle-gifts>span>span{font-weight:600;color:#fff}
body.sm-product-page .bundle-gifts b{color:#fff;font-weight:800;letter-spacing:.02em}
body.sm-product-page .bundle-gifts del{color:#fff;font-size:17px;font-weight:600;text-decoration-thickness:2px}
/* Carte non choisie : la bande des cadeaux passe en rose pâle ; elle redevient pleine quand on choisit l'offre. */
body.sm-product-page .bundle-option:not(.is-selected) .bundle-gifts{background:var(--fl-rose-pale);color:var(--fl-ink);border-top:1.5px solid var(--fl-rose-ligne)}
body.sm-product-page .bundle-option:not(.is-selected) .bundle-gifts>span>span{color:var(--fl-ink)}
body.sm-product-page .bundle-option:not(.is-selected) .bundle-gifts b{color:var(--fl-rose-sombre)}
body.sm-product-page .bundle-option:not(.is-selected) .bundle-gifts del{color:var(--fl-gris);opacity:1}
body.sm-product-page .bundle-option:not(.is-selected) .bundle-gifts>span+span{border-top-color:var(--fl-rose-ligne)}

/* --------------------------------------------------------------------------
   7. Le bouton « AJOUTER AU PANIER »
   -------------------------------------------------------------------------- */
body.sm-product-page .sm-add-cart{
  position:relative;overflow:hidden;isolation:isolate;
  height:auto;min-height:68px;padding:14px 20px;border-radius:999px;background:#111;color:#fff;
  font-family:var(--fl-titre);font-size:22px;line-height:1.15;font-weight:800;letter-spacing:.035em;
  box-shadow:0 10px 22px rgba(0,0,0,.22);
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
@media (hover:hover){body.sm-product-page .sm-add-cart:hover{background:#000;transform:translateY(-2px);box-shadow:0 14px 26px rgba(0,0,0,.26)}}
body.sm-product-page .sm-add-cart:active,body.sm-product-page .sm-add-cart.is-demo-pressed{transform:translateY(1px) scale(.99);box-shadow:0 6px 14px rgba(0,0,0,.22)}
body.sm-product-page .sm-add-cart:focus-visible{outline:3px solid var(--fl-rose-fort);outline-offset:4px}
body.sm-product-page .sm-add-cart::after{
  content:"";position:absolute;top:0;bottom:0;left:0;width:28%;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.24) 50%,rgba(255,255,255,0) 100%);
  transform:translateX(-150%) skewX(-18deg);animation:fl-reflet 1.6s ease-out 1.5s 2 both;pointer-events:none;
}
/* Le reflet passe deux fois après le chargement, puis s'arrête. */
@keyframes fl-reflet{to{transform:translateX(480%) skewX(-18deg)}}

/* Option à valider : logos de paiement sous le bouton (les mêmes que dans le pied de page). */
body.sm-product-page .fl-paiement{display:none}
body.sm-product-page.opt-paiement .fl-paiement{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0 2px;
}
body.sm-product-page .fl-paiement img{
  box-sizing:border-box;width:58px;height:38px;padding:4px 6px;border:1.5px solid #e2dcdd;border-radius:7px;background:#fff;object-fit:contain;
}
body.sm-product-page .fl-paiement img[src*="paypal"]{padding:9px 7px}

/* Option à valider : « MEILLEURE VENTE » en onglet sur la carte « 1 acheté = 1 offert ». */
body.sm-product-page .fl-onglet{display:none}
body.sm-product-page.opt-onglet .product-price span{display:none}
body.sm-product-page.opt-onglet .bundle-best{margin-top:30px}
body.sm-product-page.opt-onglet .fl-onglet{
  display:block;position:absolute;top:-19px;right:16px;padding:7px 14px;border-radius:10px 10px 10px 10px;
  background:var(--fl-rose-fort);color:#fff;
  font-family:var(--fl-texte);font-size:14.5px;line-height:1.2;font-weight:800;letter-spacing:.05em;
  box-shadow:0 4px 10px rgba(184,79,117,.25);
}

/* --------------------------------------------------------------------------
   8. Réassurance : « Expédié aujourd'hui » avec point vert animé, livraison
   -------------------------------------------------------------------------- */
body.sm-product-page .shipping-today{
  flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:18px 0 24px;
  font-family:var(--fl-texte);font-size:17.5px;line-height:1.35;font-weight:700;color:var(--fl-ink);text-align:center;
}
body.sm-product-page .shipping-today span{display:inline-block;position:relative}
body.sm-product-page .shipping-today span:first-child{color:var(--fl-vert);padding-left:4px}
/* Le « ● » du texte devient un point vert qui respire. */
body.sm-product-page .shipping-today span:first-child::first-letter{color:transparent}
body.sm-product-page .shipping-today span:first-child::before{
  content:"";position:absolute;left:4px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;
  background:var(--fl-vert-point);box-shadow:0 0 0 0 rgba(47,179,95,.55);animation:fl-pouls 1.8s ease-out infinite;
}
@keyframes fl-pouls{0%{box-shadow:0 0 0 0 rgba(47,179,95,.55)}70%{box-shadow:0 0 0 10px rgba(47,179,95,0)}100%{box-shadow:0 0 0 0 rgba(47,179,95,0)}}

/* --------------------------------------------------------------------------
   9. Stocks limités, garantie, accordéons du résumé
   -------------------------------------------------------------------------- */
body.sm-product-page .selling-fast{
  display:grid;grid-template-columns:1fr auto;gap:0 12px;align-items:center;
  padding:20px 0 0;border-top:1.5px solid #ebe7e8;font-size:17px;line-height:1.4;
}
body.sm-product-page .selling-fast>strong,body.sm-product-page .selling-fast>p,body.sm-product-page .selling-fast>div{grid-column:1/-1}
body.sm-product-page .selling-fast strong{font-family:var(--fl-titre);font-size:21px;font-weight:800}
body.sm-product-page .selling-fast p{margin:4px 0 14px;color:var(--fl-texte-2)}
body.sm-product-page .selling-fast>div{height:14px;border-radius:999px;background:#efe9eb}
body.sm-product-page .selling-fast i{
  border-radius:999px;
  background:var(--fl-rose-fort) repeating-linear-gradient(-45deg,rgba(255,255,255,.18) 0 10px,rgba(255,255,255,0) 10px 20px);
}
body.sm-product-page .selling-fast>span{width:auto;margin-top:8px;font-weight:700}
body.sm-product-page .selling-fast>span:last-child{color:var(--fl-rose-fort);text-align:right}
body.sm-product-page .selling-fast b{font-variant-numeric:tabular-nums;font-weight:800}

body.sm-product-page .guarantee-card{
  gap:16px;align-items:flex-start;margin:26px 0;padding:20px 0;border:0;border-radius:0;
  border-top:1.5px solid #ebe7e8;border-bottom:1.5px solid #ebe7e8;background:none;
}
body.sm-product-page .guarantee-card>span{
  flex:0 0 58px;height:58px;background:var(--fl-rose-fort);color:#fff;
  font-family:var(--fl-titre);font-size:24px;font-weight:800;
}
body.sm-product-page .guarantee-card h3{margin:2px 0 6px;font-family:var(--fl-titre);font-size:21px;line-height:1.2;font-weight:800;text-wrap:balance}
body.sm-product-page .guarantee-card p{margin:0;font-size:17px;line-height:1.5;color:var(--fl-texte-2)}

body.sm-product-page .product-accordions details{border-bottom:1.5px solid #e5e0e1}
body.sm-product-page .product-accordions summary,body.sm-product-page .faq-grid summary{
  display:flex;align-items:center;min-height:62px;padding:14px 52px 14px 4px;
  font-family:var(--fl-texte);font-size:18.5px;line-height:1.3;font-weight:700;color:var(--fl-ink);text-wrap:pretty;
}
body.sm-product-page .product-accordions summary::-webkit-details-marker,body.sm-product-page .faq-grid summary::-webkit-details-marker{display:none}
body.sm-product-page .product-accordions summary:after,body.sm-product-page .faq-grid summary:after{
  right:4px;top:50%;width:34px;height:34px;margin-top:-17px;display:grid;place-items:center;border-radius:50%;
  background:var(--fl-rose-pale);color:var(--fl-rose-fort);font-size:24px;line-height:1;font-weight:600;
}
body.sm-product-page .product-accordions details p{padding:0 4px 18px;font-size:17.5px;line-height:1.6;color:var(--fl-texte-2)}

/* --------------------------------------------------------------------------
   10. Avis clientes
   -------------------------------------------------------------------------- */
body.sm-product-page .product-reviews h2{font-family:var(--fl-titre);font-weight:800;letter-spacing:-.01em;text-wrap:balance}
body.sm-product-page .review-cards article{border-radius:18px;background:#f7f4f5}
body.sm-product-page .review-copy{padding:20px 20px 18px}
body.sm-product-page .product-reviews h2 span{color:var(--fl-rose-fort)}
body.sm-product-page .review-cards h3{font-family:var(--fl-titre);font-size:20px;line-height:1.25;font-weight:700}
body.sm-product-page .review-cards h3 span{color:var(--fl-rose-fort);font-size:18px;letter-spacing:.04em}
body.sm-product-page .review-cards small{margin-bottom:12px;color:var(--fl-rose-sombre);font-size:15px;line-height:1.3;font-weight:800;letter-spacing:.04em}
body.sm-product-page .review-cards p{font-size:17.5px;line-height:1.55;color:var(--fl-texte-2)}
body.sm-product-page .review-more{
  min-height:48px;padding:10px 16px;color:var(--fl-rose-sombre);
  font:800 17.5px/1.3 var(--fl-texte);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;
}

/* --------------------------------------------------------------------------
   11. Blocs du bas : histoire, fonctionnement, résultats, comparatif,
       ingrédients, questions, dernier appel
   -------------------------------------------------------------------------- */
body.sm-product-page .product-story h2,body.sm-product-page .product-how h2,body.sm-product-page .real-results h2,
body.sm-product-page .why-smouche h2,body.sm-product-page .ingredients h2,body.sm-product-page .product-faq h2,
body.sm-product-page .product-final h2{font-family:var(--fl-titre);font-weight:800;letter-spacing:-.015em;text-wrap:balance}
body.sm-product-page .product-story h2{line-height:1.2}
body.sm-product-page .product-story h2 span{background:var(--fl-rose-fort);border-radius:10px;padding:0 10px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
body.sm-product-page .product-story p,body.sm-product-page .product-how p{font-size:18.5px;line-height:1.65;color:var(--fl-texte-2)}
body.sm-product-page .story-icons{gap:12px;margin-top:26px;font-size:17px;line-height:1.3}
body.sm-product-page .story-icons b{
  display:block;position:relative;padding:13px 14px 13px 48px;border-radius:14px;background:var(--fl-rose-pale);font-weight:700;
}

body.sm-product-page .result-cards article{border-radius:20px;background:#fff;border:0;box-shadow:0 6px 18px rgba(184,79,117,.10)}
body.sm-product-page .real-results{background:var(--fl-rose-pale)}
body.sm-product-page .result-cards strong{font-family:var(--fl-titre);font-weight:800;color:var(--fl-rose-fort)}
body.sm-product-page .result-cards p{font-size:18.5px;line-height:1.5;font-weight:600;color:var(--fl-ink)}
body.sm-product-page .real-results small{display:block;margin-top:14px;font-size:16px;line-height:1.5;color:var(--fl-gris)}

body.sm-product-page .why-smouche table{font-size:18px;table-layout:fixed;width:100%}
body.sm-product-page .why-smouche th:first-child,body.sm-product-page .why-smouche td:first-child{width:50%}
body.sm-product-page .why-smouche th{font-family:var(--fl-titre);font-size:17px;font-weight:800;letter-spacing:.04em}
body.sm-product-page .why-smouche th:nth-child(2),body.sm-product-page .why-smouche td:nth-child(2){background:var(--fl-rose-fort);color:#fff}
body.sm-product-page .why-smouche td{padding:18px 14px;border-bottom:1.5px solid #ddd}
body.sm-product-page .why-smouche td:first-child{font-weight:700;color:var(--fl-ink)}
body.sm-product-page .why-smouche td:nth-child(2),body.sm-product-page .why-smouche td:nth-child(3){font-size:26px;line-height:1;font-weight:800;text-align:center}
body.sm-product-page .why-smouche td:nth-child(3){color:#8a8a8a}

body.sm-product-page .ingredients>.sm-container>p{font-size:18.5px;line-height:1.55;color:var(--fl-texte-2)}
body.sm-product-page .ingredient-cards article{border-radius:20px;padding:40px 24px 30px}
/* Icônes des ingrédients (💧 ✦ ◌) : même principe, une icône dessinée remplace le symbole. */
body.sm-product-page .ingredient-icon{position:relative;width:64px;height:64px;margin:0 auto 6px;border-radius:50%;background:var(--fl-rose-pale);font-size:0;color:transparent}
body.sm-product-page .ingredient-icon::before{
  content:"";position:absolute;inset:16px;background:var(--fl-rose-fort);
  -webkit-mask:var(--fl-ico-goutte) center/contain no-repeat;mask:var(--fl-ico-goutte) center/contain no-repeat;
}
body.sm-product-page .ingredient-cards article:nth-child(2) .ingredient-icon::before{-webkit-mask-image:var(--fl-ico-eclat);mask-image:var(--fl-ico-eclat)}
body.sm-product-page .ingredient-cards article:nth-child(3) .ingredient-icon::before{-webkit-mask-image:var(--fl-ico-mineral);mask-image:var(--fl-ico-mineral)}
body.sm-product-page .ingredient-cards h3{font-family:var(--fl-titre);font-size:23px;font-weight:800}
body.sm-product-page .ingredient-cards p{font-size:17.5px;line-height:1.55;color:var(--fl-texte-2)}
body.sm-product-page .ingredient-cards span{padding:0;background:none;color:var(--fl-rose-sombre);font-size:15px;font-weight:800;letter-spacing:.08em}

body.sm-product-page .faq-grid{gap:10px 28px}
body.sm-product-page .faq-grid details{padding:0 16px;border-radius:14px;background:var(--fl-fond)}
body.sm-product-page .faq-grid details[open]{background:#fff;box-shadow:inset 0 0 0 2px var(--fl-rose-ligne)}
body.sm-product-page .faq-grid summary{padding-left:0}
body.sm-product-page .faq-grid summary:after{right:0}
body.sm-product-page .faq-grid p{margin-top:0;padding-bottom:16px;font-size:17.5px;line-height:1.6;color:var(--fl-texte-2)}

body.sm-product-page .product-final img{border-radius:20px 20px 0 0}
body.sm-product-page .product-final>div{border-radius:0 0 20px 20px}
body.sm-product-page .product-final li{padding:16px 0;border-bottom:1.5px solid #ddd}
body.sm-product-page .product-final li b{font-family:var(--fl-titre);font-size:21px;line-height:1.25;font-weight:800;text-wrap:balance}
body.sm-product-page .product-final li span{margin-top:2px;font-size:17px;line-height:1.45;color:var(--fl-gris)}
body.sm-product-page .product-final .sm-btn{
  min-height:66px;padding:14px 24px;border-radius:999px;text-align:center;
  font-family:var(--fl-titre);font-size:21px;line-height:1.15;font-weight:800;letter-spacing:.035em;
  box-shadow:0 10px 22px rgba(0,0,0,.22);
}

/* --------------------------------------------------------------------------
   12. Barre d'achat collante
   -------------------------------------------------------------------------- */
body.sm-product-page .product-sticky-buy-copy>strong{font-family:var(--fl-titre);font-size:17px;line-height:1.25;font-weight:800}
body.sm-product-page .product-sticky-buy-copy span{font-size:17px;line-height:1.3}
body.sm-product-page .product-sticky-buy-copy b{color:var(--fl-rose-fort);font-weight:800}
body.sm-product-page .product-sticky-buy-button{
  min-height:56px;height:auto;padding:0 30px;border-radius:999px;
  font-family:var(--fl-titre);font-size:19px;font-weight:800;letter-spacing:.04em;
}

/* --------------------------------------------------------------------------
   13. Pied de page
   -------------------------------------------------------------------------- */
body.sm-product-page .sm-footer{font-size:17px;line-height:1.5}
body.sm-product-page .sm-footer h3{font-family:var(--fl-titre);font-size:19px;font-weight:800}
body.sm-product-page .sm-footer p{color:#333}
body.sm-product-page .sm-footer section>a{display:flex;align-items:center;min-height:44px;margin:0}
body.sm-product-page .sm-newsletter{min-height:56px;border:1.5px solid #777;border-radius:12px}
body.sm-product-page .sm-newsletter input{font-size:17px}
body.sm-product-page .sm-newsletter button{min-width:56px;font-size:22px}
body.sm-product-page .sm-payments img{height:30px}
body.sm-product-page .sm-footer-bottom{font-size:16px}

/* ==========================================================================
   Ordinateur (plus de 900 px) : résumé plus large pour des textes plus gros
   ========================================================================== */
@media (min-width:901px){
  body.sm-product-page .product-shell{
    width:1180px;max-width:calc(100% - 96px);
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;
  }
  body.sm-product-page .product-main-media>img{width:100%;height:auto;aspect-ratio:1/1}
  body.sm-product-page .product-gallery{position:sticky;top:24px;align-self:start}
  body.sm-product-page .product-summary h1{font-size:38px;line-height:1.08;font-weight:800;letter-spacing:.005em;margin:10px 0 16px}
  body.sm-product-page .sm-sale-bar.sm-sale-bar-offre{font-size:16px}
  body.sm-product-page .product-reviews h2{font-size:48px}
  body.sm-product-page .review-cards article{flex:0 0 300px;width:300px}
  body.sm-product-page .review-cards img{width:300px}
  body.sm-product-page .product-sticky-buy-copy>strong{font-size:19px}
  body.sm-product-page .product-sticky-buy-copy span{font-size:18px}
  body.sm-product-page .product-sticky-buy-button{min-width:220px;font-size:20px}
}
@media (min-width:901px) and (max-width:1100px){
  body.sm-product-page .product-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;max-width:calc(100% - 64px)}
  body.sm-product-page .product-summary h1{font-size:34px}
}

/* ==========================================================================
   Tablette (761 à 900 px) : une colonne de 720 px
   ========================================================================== */
@media (min-width:761px) and (max-width:900px){
  body.sm-product-page .product-summary h1{font-size:40px}
  body.sm-product-page .benefit-chips span{font-size:18px}
  body.sm-product-page .bundle-title strong{font-size:24px}
  body.sm-product-page .bundle-price strong{font-size:28px}
  body.sm-product-page .sm-add-cart{min-height:72px;font-size:24px}
}

/* ==========================================================================
   Téléphone (760 px et moins) : gouttière de 16 px
   ========================================================================== */
@media (max-width:760px){
  body.sm-product-page .sm-container:not(.product-shell){width:calc(100% - 32px)}
  body.sm-product-page .sm-sale-bar.sm-sale-bar-offre{min-height:46px;padding:9px 12px;font-size:14.5px;letter-spacing:.025em}
  body.sm-product-page .sm-sale-bar-offre .sm-sale-sep{margin:0 8px}
  body.sm-product-page .product-main-media{border-radius:0}
  body.sm-product-page .product-thumbs{padding:0 16px;grid-template-columns:repeat(6,76px);margin-top:12px}
  body.sm-product-page .product-summary{padding:22px 16px}
  body.sm-product-page .product-summary h1{font-size:clamp(23px,6.4vw,28px);line-height:1.1;letter-spacing:0;text-wrap:wrap}
  /* Les 4 avantages : une seule carte grise, une ligne par avantage, séparées par un filet. */
  body.sm-product-page .benefit-chips{grid-template-columns:1fr;gap:0;margin:20px 0;padding:4px 0;border-radius:14px;background:var(--fl-fond)}
  body.sm-product-page .benefit-chips span{min-height:0;padding:11px 14px 11px 48px;border-radius:0;background:none;text-wrap:wrap}
  body.sm-product-page .benefit-chips span::before{top:11px}
  body.sm-product-page .benefit-chips span+span{border-top:1px solid #e6e1e2}
  body.sm-product-page .shipping-today{margin:14px 0 20px}
  body.sm-product-page .guarantee-card{gap:14px}
  body.sm-product-page .guarantee-card>span{flex-basis:48px;height:48px;font-size:20px}
  body.sm-product-page .why-smouche th{padding:14px 4px;font-size:14.5px;letter-spacing:.01em}
  body.sm-product-page .why-smouche th:first-child,body.sm-product-page .why-smouche td:first-child{width:46%}
  body.sm-product-page .product-story h2{line-height:1.25}
  body.sm-product-page .bundle-option{--pad:16px;gap:6px 10px;grid-template-columns:28px minmax(0,1fr) auto}
  body.sm-product-page .bundle-option.is-selected{--pad:15px}
  body.sm-product-page .bundle-radio{width:28px;height:28px}
  body.sm-product-page .bundle-title strong{font-size:20px}
  body.sm-product-page .bundle-title em{font-size:15px;padding:5px 11px;letter-spacing:.02em}
  body.sm-product-page .bundle-price strong{font-size:23px}
  body.sm-product-page .bundle-gifts{padding:2px 13px;font-size:17px}
  body.sm-product-page .bundle-gifts>span{grid-template-columns:46px minmax(0,1fr) auto;gap:11px;min-height:60px;padding:6px 0}
  body.sm-product-page .bundle-gifts img{width:46px;height:46px;padding:6px}
  body.sm-product-page .bundle-gifts del{font-size:17px}
  body.sm-product-page .product-reviews{padding:50px 0 60px}
  body.sm-product-page .product-reviews h2{font-size:36px}
  body.sm-product-page .product-story,body.sm-product-page .product-how{padding:55px 0}
  body.sm-product-page .story-icons{grid-template-columns:1fr}
  body.sm-product-page .product-story h2,body.sm-product-page .product-how h2,body.sm-product-page .real-results h2,
  body.sm-product-page .why-smouche h2,body.sm-product-page .ingredients h2,body.sm-product-page .product-faq h2{font-size:34px;line-height:1.08}
  body.sm-product-page .result-cards article,body.sm-product-page .ingredient-cards article{min-width:80vw}
  body.sm-product-page .result-cards,body.sm-product-page .ingredient-cards{gap:12px;padding-bottom:6px}
  body.sm-product-page .why-smouche table{font-size:17px}
  body.sm-product-page .why-smouche td{padding:16px 10px}
  body.sm-product-page .product-faq{padding:60px 0}
  body.sm-product-page .product-final{padding:16px 0}
  body.sm-product-page .product-final .sm-btn{width:100%;font-size:19px;padding:14px 16px}
  body.sm-product-page .product-final>div{padding:30px 20px}
  body.sm-product-page .product-sticky-buy-inner{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;width:calc(100% - 24px);min-height:84px}
  body.sm-product-page .product-sticky-buy img{width:44px;height:44px}
  body.sm-product-page .product-sticky-buy-copy>strong{font-size:16px;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}
  body.sm-product-page .product-sticky-buy-copy span{font-size:17px;line-height:1.3}
  body.sm-product-page .product-sticky-buy-button{min-width:0;min-height:52px;padding:0 16px;font-size:18px;letter-spacing:.03em}
}
@media (max-width:400px){
  body.sm-product-page .bundle-title em{font-size:14px;padding:5px 10px}
  body.sm-product-page .product-proof{font-size:17.5px}
}
@media (max-width:380px){
  body.sm-product-page .bundle-title strong{font-size:18.5px}
  body.sm-product-page .bundle-title em{font-size:14px;padding:5px 9px;letter-spacing:.01em}
  body.sm-product-page .bundle-price strong{font-size:21px}
}

@media (max-width:365px){
  body.sm-product-page .bundle-title em{font-size:13px;padding:5px 7px;letter-spacing:0}
}
@media (max-width:349px){
  body.sm-product-page .sm-sale-bar.sm-sale-bar-offre{font-size:13px}
}
/* Tablette et ordinateur : bloc final en 2 colonnes, bouton sur une ligne, titres sur 2 lignes. */
@media (min-width:761px){
  body.sm-product-page .product-final img{border-radius:20px 0 0 20px}
  body.sm-product-page .product-final>div{border-radius:0 20px 20px 0}
  body.sm-product-page .product-final .sm-btn{white-space:nowrap;padding:14px 22px}
}
@media (min-width:761px) and (max-width:1100px){
  body.sm-product-page .product-story h2,body.sm-product-page .product-how h2{font-size:38px}
  body.sm-product-page .product-final h2{font-size:32px}
}
/* Téléphone : la barre d'achat collante ne cache plus le bas du pied de page. */
@media (max-width:760px){
  body.sm-product-page .sm-footer{padding-bottom:96px}
}
/* Le surlignage de « s'accorde à vous » ne touche plus le « q » de « qui ». */
body.sm-product-page .product-story h2{line-height:1.32}

/* Mouvements réduits : aucune animation. */
@media (prefers-reduced-motion:reduce){
  body.sm-product-page .sm-add-cart::after,
  body.sm-product-page .shipping-today span:first-child::before{animation:none}
  body.sm-product-page .sm-add-cart::after{display:none}
}

/* --------------------------------------------------------------------------
   13. Barre d'achat collante vraiment cachée quand le bouton principal est à l'écran (31/10/2026)
   Safari sur iPhone (iOS 26) affiche la page jusque sous sa barre d'adresse flottante : la barre
   « cachée », seulement décalée sous le bas de la fenêtre, y restait à moitié visible (capture de Konate).
   Elle devient en plus invisible (visibility, opacity) et descend plus bas ; même effet sur tous les appareils.
   -------------------------------------------------------------------------- */
body.sm-product-page .product-sticky-buy{
  visibility:hidden;opacity:0;transform:translateY(calc(100% + 80px));
  transition:transform .24s ease,opacity .2s ease,visibility 0s linear .24s;
}
body.sm-product-page .product-sticky-buy.is-visible{
  visibility:visible;opacity:1;transform:translateY(0);
  transition:transform .24s ease,opacity .2s ease,visibility 0s linear 0s;
}
@media (prefers-reduced-motion:reduce){
  body.sm-product-page .product-sticky-buy,
  body.sm-product-page .product-sticky-buy.is-visible{transition:none}
}
