/* ==========================================================================
   Kapzul Beauty — couche de présentation "Polish"
   Ajoutée EN DERNIER dans index.html. Aucune règle métier, aucun sélecteur
   supprimé : uniquement typographie, couleur, rythme et composition.
   Mobile d'abord, puis tablette, puis desktop.
   ========================================================================== */

:root{
  --kp-category-font:"Dancing Script","Segoe Script","Snell Roundhand",cursive;
  --kp-category-weight:500;
  --kp-noir:#0A0A0C;
  --kp-noir-2:#151519;
  --kp-rose:#E85AA6;
  --kp-rose-soft:#F08BC0;
  --kp-rose-deep:#C93F86;
  --kp-white:#FAF7F9;
  --kp-surface:#F7F1F5;
  --kp-border:#EADCE5;
  --kp-ink:#18161A;
  --kp-muted:#8D8490;
  --kp-muted-dark:#9D95A0;
  --kp-gray:#C9C2C9;
  --kp-sans:"Manrope","Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif;
  --kp-r-sm:12px;
  --kp-r-md:18px;
  --kp-r-lg:24px;
  --kp-r-sheet:34px;
  --kp-shadow:0 12px 32px rgba(11,11,13,.07);
  --kp-shadow-card:0 2px 10px rgba(24,22,26,.05);
}

/* -------------------------------------------------- Socle typographique */
html{background:var(--kp-white)}
body{
  font-family:var(--kp-sans);
  color:var(--kp-ink);
  background:var(--kp-white);
  -webkit-font-smoothing:antialiased;
}
a{color:var(--kp-rose-deep)}
a:hover{color:var(--kp-rose)}

.hero h1,.hero-copy h1,
.family-heading h2,.beauty-selection h2,
.cart-page-header h1,#catalog-title,
.product-information h1,
.pickup-comparison-head h3,.unpriced-baskets h2{
  font-family:var(--kp-sans);
  font-weight:700;
  letter-spacing:-.025em;
  text-wrap:balance;
}

.eyebrow,.home-badge,.home-start,.overall-label,.summary-proof,.pickup-proof{
  font-family:var(--kp-sans);
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.eyebrow{font-size:10.5px;color:var(--kp-rose)}

/* -------------------------------------------------- Barre supérieure */
.topbar{background:var(--kp-noir);border-bottom:1px solid #26242a;color:var(--kp-white)}
.logo{color:var(--kp-white);font-family:var(--kp-sans);font-weight:800;letter-spacing:.26em}
.logo small{
  display:inline-block;
  margin-left:9px;
  padding:5px 10px 6px;
  border-radius:999px;
  background:var(--kp-rose);
  color:var(--kp-noir);
  font-weight:800;
  font-size:9px;
  letter-spacing:.18em;
}
.topbar-label{color:#A29AA4;font-size:.72rem;letter-spacing:.04em}
.logo{
  display:inline-flex;
  align-items:baseline;
  gap:.42rem;
  letter-spacing:0;
  white-space:nowrap;
}
.logo-kapzul{
  font-family:var(--kp-sans);
  font-size:1.2rem;
  font-weight:800;
  letter-spacing:.26em;
}
.logo-beauty{
  color:var(--kp-rose);
  font-family:"Dancing Script","Segoe Script","Snell Roundhand",cursive;
  font-size:2.3rem;
  font-weight:500;
  line-height:.9;
  transform:translateY(3px) rotate(-4deg);
  transform-origin:left bottom;
}
.logo small{display:none;}
.cart-shortcut{
  min-height:38px;
  border-radius:999px!important;
  background:rgba(250,247,249,.05)!important;
  border:1px solid rgba(250,247,249,.16)!important;
  color:var(--kp-white)!important;
  font-weight:700;
  letter-spacing:.02em;
}
.home-route .cart-shortcut,
.topbar .cart-shortcut{
  background:var(--kp-rose)!important;
  border-color:var(--kp-rose)!important;
  color:var(--kp-noir)!important;
  box-shadow:0 5px 14px rgba(232,90,166,.18);
}
.home-route .home-badge{
  width:min(100%,420px);
  justify-content:space-between;
  padding-inline:14px;
}
.home-route .home-badge{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-inline:16px;
  color:#fff!important;
  letter-spacing:.24em;
}
.home-route .home-badge .home-swiss-flag{margin-left:auto;flex:0 0 auto;}
.home-route .cart-shortcut,
.topbar .cart-shortcut{color:#fff!important;}
.cart-shortcut:hover{background:var(--kp-rose)!important;border-color:var(--kp-rose)!important;color:var(--kp-noir)!important}

/* -------------------------------------------------- Hero noir (accueil) */
.home-route .hero{
  background-image:
    linear-gradient(90deg,rgba(11,11,13,.72),rgba(11,11,13,.46)),
    url("/comparateur/assets/marbre.png");
  background-size:cover;
  background-position:center;
  color:var(--kp-white);
  padding-block:28px 0;
}
.home-route .hero h1,.home-route .hero-copy h1{
  color:var(--kp-white);
  font-size:clamp(33px,8.6vw,38px);
  font-family:var(--kp-sans);
  font-weight:700;
  line-height:1.04;
  letter-spacing:-.025em;
  max-width:16ch;
}
.home-route #hero-title .home-handwritten{
  font-family:"Dancing Script","Segoe Script","Snell Roundhand",cursive;
  font-style:italic;
  font-weight:700;
  font-size:1em;
  letter-spacing:-.02em;
  color:var(--kp-rose);
}
.home-route .home-badge,.home-route .home-start{
  background:var(--kp-rose);
  color:var(--kp-noir)!important;
  border:0;
  font-size:9.5px;
  letter-spacing:.2em;
  margin-bottom:18px;
}
.home-route .hero-explanation,.home-route .hero-copy>p:not(.home-badge):not(.home-start){
  color:var(--kp-muted-dark);
  font-size:14px;
  line-height:1.55;
}

/* Recherche : pilule blanche sur le noir, halo rose */
.home-route .search-wrap{
  margin-top:20px;
  padding:20px;
  border:1px solid rgba(234,220,229,.35);
  border-radius:18px;
  background:var(--kp-surface);
  color:var(--kp-ink);
  box-shadow:0 10px 26px rgba(0,0,0,.16);
}
.home-route #home-search-title{
  font-family:var(--kp-sans);
  font-weight:700;
  font-size:22px;
  letter-spacing:-.02em;
  color:var(--kp-ink);
  margin:0 0 12px;
}
.home-route .searchbox{
  min-height:54px;
  border-radius:999px;
  background:#fff;
  border:0;
  box-shadow:0 0 0 1px rgba(232,90,166,.6),0 0 44px rgba(232,90,166,.22);
}
.home-route .searchbox input{padding:14px 12px;font-size:16px;color:var(--kp-ink)}
.home-route .searchbox input::placeholder{color:var(--kp-muted);opacity:1}
.home-route .home-search-icon{color:var(--kp-ink);margin-left:18px}
.home-route .searchbox:focus-within{
  outline:3px solid rgba(232,90,166,.45);
  outline-offset:3px;
  border:0;
}
.results{
  border-radius:var(--kp-r-md);
  border-color:var(--kp-border);
  box-shadow:0 18px 44px rgba(11,11,13,.16);
}

/* Panier Beauty officiel : fond du visuel hero, halo rose derrière */
.home-route .hero-visual{
  position:relative;
  min-height:230px!important;
  padding:18px 8px 34px!important;
  isolation:isolate;
}
.home-route .hero-visual::before{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:88%;
  z-index:-2;
  background:radial-gradient(55% 18% at 52% 96%,rgba(232,90,166,.16),rgba(232,90,166,0) 72%);
}
.home-route .hero-visual::after{
  content:"";
  position:absolute;
  left:12%;
  right:8%;
  bottom:2%;
  height:48px;
  z-index:0;
  background:rgba(0,0,0,.58);
  border-radius:50%;
  filter:blur(18px);
  pointer-events:none;
  display:block;
}
.home-route .hero-visual img{
  display:block!important;
  position:relative;
  z-index:1;
  mix-blend-mode:normal!important;
  filter:drop-shadow(0 22px 26px rgba(0,0,0,.45));
}

/* -------------------------------------------------- Feuille claire arrondie */
.home-route #family-navigation{
  position:relative;
  z-index:1;
  margin-top:48px;
  border-radius:var(--kp-r-sheet) var(--kp-r-sheet) 0 0;
  background:linear-gradient(180deg,#FFFFFF 0,var(--kp-white) 200px);
  box-shadow:0 -12px 34px rgba(11,11,13,.18);
}
.home-route .family-heading{display:block;margin-bottom:18px}
.home-route .family-heading h2{
  font-size:clamp(26px,7.4vw,30px);
  line-height:1.08;
  color:var(--kp-ink);
  margin:10px 0 8px;
}
.home-route .family-heading>p,.beauty-selection>p:not(.eyebrow){
  color:var(--kp-muted);
  font-size:14px;
  line-height:1.6;
}

/* Catégories : tuiles éditoriales deux colonnes */
.family-nav{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.family-nav :is(a,.advent-universe-card){
  display:flex!important;
  align-items:center;
  gap:10px;
  min-height:72px;
  padding:0 12px 0 0;
  border:1px solid var(--kp-border);
  border-radius:var(--kp-r-md);
  background:#fff;
  box-shadow:var(--kp-shadow-card);
  overflow:hidden;
  text-decoration:none;
}
.family-nav :is(a,.advent-universe-card)::before{
  content:"";
  flex:0 0 58px;
  align-self:stretch;
  background:
    repeating-linear-gradient(135deg,var(--kp-surface) 0 9px,#EFE4EC 9px 18px);
}
.family-nav :is(a,.advent-universe-card) strong{
  flex:1;
  min-width:0;
  font-family:var(--kp-sans);
  font-weight:700;
  font-size:13px;
  line-height:1.2;
  color:var(--kp-ink);
  text-wrap:pretty;
}
.family-nav :is(a,.advent-universe-card) span{
  flex:0 0 auto;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--kp-muted);
}
.family-nav :is(a,.advent-universe-card):hover{border-color:var(--kp-rose);background:#FFF6FA}

/* -------------------------------------------------- Sélection & fiches produit */
.beauty-selection{background:var(--kp-white)}
.beauty-selection h2{font-size:clamp(24px,7vw,28px);color:var(--kp-ink);margin:10px 0 8px}
.product-grid{gap:14px}
.product-card{
  border:1px solid var(--kp-border);
  border-radius:var(--kp-r-md);
  background:#fff;
  box-shadow:var(--kp-shadow-card);
  padding:14px;
}
.product-card>div>p{
  font-family:var(--kp-sans);
  font-weight:800;
  font-size:9.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--kp-muted);
}
.product-card h3{font-size:13.5px;line-height:1.35;color:var(--kp-ink)}
.product-card>strong,.detail-price,.summary-price,.best-solution-price,
.beauty-totals>div:last-child dd,.detail-offer>strong,.price-from strong{
  font-family:var(--kp-sans);
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--kp-ink);
}
.product-card small{color:var(--kp-muted);font-size:11px}

/* Boutons : noir plein, rose au survol, cible 44px minimum */
.primary,.product-card button,.mobile-cart-shortcut,.merchant-link,.toppharm-open{
  min-height:48px;
  border-radius:999px!important;
  background:var(--kp-noir)!important;
  border:1px solid var(--kp-noir)!important;
  color:#fff!important;
  font-family:var(--kp-sans);
  font-weight:700;
  letter-spacing:.02em;
}
.primary:hover,.product-card button:hover,.merchant-link:hover{
  background:var(--kp-rose-deep)!important;
  border-color:var(--kp-rose-deep)!important;
}
.secondary,.continue-shopping,.text-button{
  border-radius:999px;
  border-color:var(--kp-border);
  color:var(--kp-ink);
  min-height:44px;
}
.secondary:hover,.continue-shopping:hover{border-color:var(--kp-rose);color:var(--kp-rose-deep)}

/* CTA panier fixe (mobile) */
.mobile-cart-shortcut{
  box-shadow:0 14px 34px rgba(11,11,13,.3);
  letter-spacing:.04em;
}

/* Fiche produit */
.product-information h1{font-size:clamp(26px,6.6vw,34px);line-height:1.1;color:var(--kp-ink)}
.product-information>.detail-price{font-size:30px;line-height:1.15}
.product-gallery figure,.detail-offer{
  border:1px solid var(--kp-border);
  border-radius:var(--kp-r-lg);
  background:#fff;
  box-shadow:var(--kp-shadow);
}
.gallery-thumbnails button{border-radius:var(--kp-r-sm);border-color:var(--kp-border)}
.gallery-thumbnails button[aria-pressed=true]{border:2px solid var(--kp-rose)}
.product-breadcrumb a{color:var(--kp-muted)}
.product-breadcrumb a:hover{color:var(--kp-rose-deep)}
.variant-chip{border-radius:999px;border-color:var(--kp-border)}
.variant-chip[aria-pressed=true]{background:var(--kp-rose);border-color:var(--kp-rose);color:var(--kp-noir)}

/* -------------------------------------------------- Panier */
.cart-panel{border-color:var(--kp-border);border-radius:var(--kp-r-lg);background:#fff}
.cart-page-header h1{font-size:clamp(28px,7.4vw,34px);color:var(--kp-ink)}
.cart-count{color:var(--kp-rose-deep);font-weight:700;letter-spacing:.02em}
.cart-line{border-color:var(--kp-border)}
.cart-item-main strong{font-size:13.5px;line-height:1.45}
.beauty-totals{
  background:var(--kp-surface);
  border:1px solid var(--kp-border);
  border-radius:var(--kp-r-md);
}
.beauty-totals>div:last-child{border-top:1px solid var(--kp-border);font-size:1.25rem}
.empty{border-radius:var(--kp-r-lg);border-color:var(--kp-border);background:var(--kp-surface)}

/* -------------------------------------------------- Comparaison */
#comparison{border-color:var(--kp-border)}
.result-summary{gap:10px}
.summary-card{
  border:1px solid var(--kp-border);
  border-radius:var(--kp-r-md);
  background:#fff;
  box-shadow:var(--kp-shadow-card);
}
.summary-price{font-size:1.9rem}
.summary-proof,.pickup-proof,.overall-label{color:var(--kp-rose-deep)!important;letter-spacing:.18em}
.results-best-found{font-family:var(--kp-sans);font-weight:700;letter-spacing:-.02em;color:var(--kp-ink)}
.results-saving strong{color:var(--kp-rose-deep)}
.best-solution-card,.winning-mono,.pickup-priority,.purchase-options,
.toppharm-results,.toppharm-pickup,.result-detail{
  border:1px solid var(--kp-border)!important;
  border-radius:var(--kp-r-lg);
  background:#fff!important;
  box-shadow:var(--kp-shadow);
}
.best-solution-price{font-size:clamp(2.4rem,9vw,3rem)}
.results-icon{background:var(--kp-surface);border-radius:999px}
.results-card-subtitle{color:var(--kp-muted)}
.beauty-solution-reason{color:#6B626C;line-height:1.6}
.local-improvement{border-color:var(--kp-rose-soft)!important;background:#FFF6FA!important;border-radius:var(--kp-r-md)}

/* -------------------------------------------------- Pied de page & mentions */
.notice{
  background:var(--kp-surface);
  border:1px solid var(--kp-border);
  border-radius:var(--kp-r-md);
  color:#6B626C;
  font-size:12.5px;
  line-height:1.6;
}
footer{background:var(--kp-noir);color:#CFC7CE;border:0}
footer strong{font-family:var(--kp-sans);font-weight:800;letter-spacing:.24em;color:var(--kp-white)}
footer span{color:#9D95A0;font-size:12px}

a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{
  outline:3px solid var(--kp-rose);
  outline-offset:3px;
}

/* ==========================================================================
   TABLETTE — 761px et plus : la feuille se détache, deux colonnes de tuiles
   deviennent trois.
   ========================================================================== */
@media (min-width:761px){
  .home-route .hero{padding-block:clamp(44px,6vw,72px) 0}
  .home-route .hero h1,.home-route .hero-copy h1{
    font-size:clamp(46px,5.4vw,78px);
    max-width:15ch;
  }
  .home-route #home-search-title{font-size:26px}
  .home-route .searchbox{min-height:62px}
  .family-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .family-nav :is(a,.advent-universe-card){min-height:84px}
  .family-nav :is(a,.advent-universe-card)::before{flex-basis:70px}
  .family-nav :is(a,.advent-universe-card) strong{font-size:14.5px}
  .home-route .family-heading{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
    align-items:end;
    gap:32px;
  }
  .home-route .family-heading h2{font-size:clamp(34px,4vw,48px)}
  .product-card{padding:20px}
  .cart-page-header h1{font-size:clamp(34px,3.4vw,46px)}
  .product-information h1{font-size:clamp(32px,3.2vw,44px)}
  .product-information>.detail-price{font-size:38px}
}

@media (max-width:760px){
  .home-route #family-navigation{
    margin-top:0!important;
    padding-top:24px!important;
  }
}

/* Contraste final des surfaces roses pleines. */
.home-route .home-badge,
.home-route .home-badge span,
.home-route .cart-shortcut,
.topbar .cart-shortcut{
  color:#fff!important;
}

/* Le badge est composé de mots distincts pour une répartition éditoriale
   réelle, plutôt qu'un seul bloc de texte avec du letter-spacing. */
.home-route .home-badge{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0;
  padding-inline:16px;
  height:27px;
}
.home-route .home-badge-word{
  flex:0 0 auto;
  color:#fff;
  letter-spacing:.16em;
  white-space:nowrap;
}
.home-route .home-swiss-cross{
  flex:0 0 auto;
  color:#fff;
  font-size:1rem;
  line-height:1;
}
.home-route .hero-kicker-text{
  flex:1 1 auto;
  min-width:0;
  color:#fff;
  font-size:9.5px;
  letter-spacing:.04em;
  line-height:1;
  white-space:nowrap;
  text-align:justify;
  text-align-last:justify;
  text-justify:inter-word;
}
.home-route .hero-kicker-svg{
  flex:1 1 auto;
  min-width:0;
  display:block;
  width:100%;
  height:18px;
  overflow:visible;
}
.home-route .hero-kicker-svg text{
  fill:#fff;
  font-family:var(--kp-sans);
  font-size:14px;
  font-weight:800;
  letter-spacing:.04em;
}
.home-route .home-badge .home-swiss-cross{margin-left:14px;}
@media (max-width:760px){
  .home-route .home-badge{padding-inline:12px;height:25px;}
  .home-route .home-badge-word{letter-spacing:.1em;font-size:.9em;}
  .home-route .home-swiss-cross{font-size:.9rem;}
  .home-route .hero-kicker-text{font-size:9px;letter-spacing:.03em;}
  .home-route .hero-kicker-svg{height:16px;}
  .home-route .hero-kicker-svg text{font-size:12px;letter-spacing:.02em;}
  .home-route .home-badge .home-swiss-cross{margin-left:8px;}
}

/* Finition des surfaces roses du haut. */
.home-route .home-badge,
.home-route .home-start,
.topbar .cart-shortcut{
  border:1px solid rgba(255,255,255,.3)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 6px rgba(0,0,0,.08);
}
.home-route .home-start{
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.18);
}
.home-route .cart-shortcut{
  min-height:44px;
  padding-inline:22px!important;
  font-size:14px!important;
  white-space:nowrap;
}
@media (max-width:760px){
  .home-route .cart-shortcut{
    min-height:42px;
    padding-inline:17px!important;
    font-size:11.5px!important;
    white-space:normal;
  }
}

/* Catégories Beauty : images éditoriales, sans vignette e-commerce. */
.home-route .family-nav :is(a,.advent-universe-card){
  overflow:hidden;
  padding:0;
  background:#fffafd;
}
.home-route .family-nav :is(a,.advent-universe-card)::before{display:none;}
.home-route .family-nav .family-category-image{
  display:block;
  width:100%;
  height:clamp(130px,12vw,190px);
  object-fit:cover;
  object-position:center;
}
.home-route .family-nav :is(a,.advent-universe-card) strong,
.home-route .family-nav :is(a,.advent-universe-card) span{
  display:block;
  padding-inline:16px;
}
.home-route .family-nav :is(a,.advent-universe-card) strong{padding-top:14px;}
.home-route .family-nav :is(a,.advent-universe-card) span{padding-bottom:16px;}
@media (max-width:760px){
  .logo-kapzul{font-size:1.02rem;}
  .logo-beauty{font-size:1.95rem;}
  .home-route .home-badge{width:min(100%,320px);}
  .home-route .family-nav :is(a,.advent-universe-card){min-height:0;}
  .home-route .family-nav .family-category-image{height:112px;}
  .home-route .family-nav :is(a,.advent-universe-card) strong{padding-top:10px;padding-inline:12px;}
  .home-route .family-nav :is(a,.advent-universe-card) span{padding-bottom:12px;padding-inline:12px;}
}

/* Contraste final des surfaces roses pleines. */
.home-route .home-badge,
.home-route .home-badge span,
.home-route .cart-shortcut,
.topbar .cart-shortcut{
  color:#fff!important;
}

/* Les campagnes sources sont carrées : préserver leur composition complète. */
.home-route .family-nav .family-category-image{
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:contain;
  object-position:center;
  background:#fffafd;
}
@media (min-width:761px){
  .home-route .family-nav{grid-template-columns:repeat(3,minmax(0,1fr));}
  .home-route .family-nav a:first-child{grid-column:span 1;min-height:0;}
}

/* Homepage : en-tête catégories réduit au seul titre validé. */
.home-route #family-navigation .family-heading .eyebrow,
.home-route #family-navigation .family-heading > p{
  display:none;
}
.home-route #family-navigation .family-heading{
  margin-bottom:10px;
}
.home-route #family-navigation .family-heading h2{
  margin-top:0;
  margin-bottom:0;
}

@media (min-width:761px){
  .home-route #family-navigation .family-heading h2{
    padding-left:28px;
    font-size:0;
    white-space:nowrap;
    line-height:1.05;
  }
  .home-route #family-navigation .family-heading h2::before{
    content:none;
    font-family:var(--kp-sans,"Manrope",system-ui,sans-serif);
    font-size:clamp(34px,3vw,48px);
    font-weight:650;
    letter-spacing:-.045em;
    color:var(--kp-ink,#18161A);
  }
  .home-route #family-navigation .family-heading h2::after{
    content:none;
    font-family:"Dancing Script","Segoe Script","Snell Roundhand",cursive;
    font-size:clamp(36px,3.1vw,50px);
    font-weight:700;
    color:var(--kp-rose,#E85AA6);
    letter-spacing:-.02em;
    margin-left:8px;
  }
  .home-route #family-navigation .family-heading{
    padding-top:8px;
  }
}

/* ==========================================================================
   DESKTOP — 1024px et plus : composition propre, pas un mobile agrandi.
   Hero en deux colonnes (texte à gauche, panier à droite), feuille claire
   pleine largeur, grille de catégories asymétrique.
   ========================================================================== */
@media (min-width:1024px){
  .home-route .hero{padding-block:clamp(34px,4vw,54px) 0}
  .home-route .hero-inner{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:center;
    gap:clamp(32px,4vw,64px);
  }
  .home-route .hero-copy{max-width:640px;margin-inline:0}
  .home-route .hero h1,.home-route .hero-copy h1{
    font-size:clamp(48px,4.25vw,64px);
    max-width:none;
    line-height:.98;
  }
  .home-route .search-wrap{margin-top:30px;max-width:560px}

  /* Panier officiel : pleine présence à droite, plus de simple fond */
  .home-route .hero-visual{
    min-height:clamp(380px,34vw,520px)!important;
    padding:0!important;
    margin-inline:0;
    max-width:none;
  }
  .home-route .hero-visual::after{
    left:12%;
    right:8%;
    bottom:2%;
    height:54px;
  }
  .home-route .hero-visual::before{
    inset:0;
    height:auto;
    background:radial-gradient(52% 48% at 56% 52%,rgba(232,90,166,.2),rgba(232,90,166,0) 72%);
  }
  .home-route .hero-visual img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    max-height:520px!important;
    transform:none;
  }

  .home-route #family-navigation{
    margin-top:0;
    border-radius:48px 48px 0 0;
    background:linear-gradient(180deg,#FFFFFF 0,var(--kp-white) 320px);
  }
  .home-route .family-heading{align-items:end;gap:clamp(40px,6vw,96px);margin-bottom:34px}
  .home-route .family-heading h2{font-size:clamp(44px,3.8vw,60px)}
  .home-route .family-heading>p{padding-bottom:10px}

  /* Grille asymétrique : la première famille occupe deux colonnes */
  .family-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .family-nav :is(a,.advent-universe-card){min-height:104px}
  .family-nav a:first-child{grid-column:span 2;min-height:124px}
  .family-nav a:first-child::before{flex-basis:132px}
  .family-nav a:first-child strong{font-size:19px}
  .family-nav :is(a,.advent-universe-card)::before{flex-basis:88px}

  .beauty-selection h2{font-size:clamp(34px,3.2vw,46px)}
  .product-grid{gap:24px}
  .product-card{padding:24px;transition:transform .18s ease,box-shadow .18s ease}
  .product-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(11,11,13,.11)}
  .product-card h3{font-size:15px}

  /* Résultats empilés : la largeur desktop sert à la lecture, pas aux colonnes. */
  .result-summary{grid-template-columns:minmax(0,1fr);gap:16px}
  .summary-card{padding:24px;border-radius:var(--kp-r-lg)}
  .summary-price{font-size:2.4rem}
  .cart-page-header h1{font-size:clamp(44px,3.6vw,58px)}
  .product-information h1{font-size:clamp(38px,3vw,52px)}
}

@media (min-width:1440px){
  .home-route .hero h1,.home-route .hero-copy h1{font-size:clamp(78px,5vw,102px)}
  .family-nav{gap:20px}
}

/* Mouvement réduit : on garde les décalages, on retire les transitions */
@media (prefers-reduced-motion:reduce){
  .product-card{transition:none}
  .product-card:hover{transform:none}
}
/* Hero home : fin nette de la zone sombre sur mobile. */
@media (max-width:760px){
  .home-route .hero-visual img{transform:translateY(-10px)}
  .home-route #family-navigation{margin-top:24px}
  .home-route:lang(fr) #hero-title .home-line{white-space:normal}
  .home-route #hero-title{font-size:clamp(30px,8.2vw,36px)}
  .home-route:lang(fr) #hero-title .home-line:first-child{white-space:nowrap;font-size:26px;letter-spacing:-.045em}
}

/* Fenêtre de crop desktop : scène et contenu remontent ensemble. */
@media (min-width:761px){
  .home-route .hero{
    --hero-crop-top:clamp(110px,8vw,160px);
    height:clamp(480px,calc(42vw - var(--hero-crop-top)),560px)!important;
    overflow:hidden;
  }
  .home-route .beauty-hero__stage{
    position:relative;
    width:100%;
    height:calc(100% + var(--hero-crop-top));
    transform:translateY(calc(-1 * var(--hero-crop-top)));
  }
  .home-route .beauty-hero__stage .beauty-hero__picture,
  .home-route .beauty-hero__stage .hero-inner{
    position:absolute;
    inset:0;
  }
}

/* Hero final artwork: the supplied desktop/mobile compositions already
   contain the marble, floor angle and Beauty basket. Keep all copy/search in
   HTML, while using the artwork as the responsive visual layer. */
.home-route .hero{
  background-image:url("/comparateur/assets/marbre_ordi.webp");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.home-route .hero-visual img,
.home-route .hero-visual::before,
.home-route .hero-visual::after{
  display:none!important;
}
@media (max-width:760px){
  .home-route #family-navigation{
    margin-top:0;
    padding-top:24px;
  }
  .home-route .family-nav a:last-child{grid-column:auto;}
  .home-route .cart-shortcut-main,
  .home-route .cart-shortcut-count{display:block;line-height:1.12;}
  .home-route #family-navigation .family-heading h2{
    padding-left:18px;
    font-size:0;
    line-height:1;
    white-space:nowrap;
  }
  .home-route #family-navigation .family-heading h2::before{
    content:none;
    font-family:var(--kp-sans,"Manrope",system-ui,sans-serif);
    font-size:clamp(24px,7.2vw,30px);
    font-weight:650;
    letter-spacing:-.045em;
    color:var(--kp-ink,#18161A);
  }
  .home-route #family-navigation .family-heading h2::after{
    content:none;
    font-family:"Dancing Script","Segoe Script","Snell Roundhand",cursive;
    font-size:clamp(27px,7.8vw,33px);
    font-weight:700;
    color:var(--kp-rose,#E85AA6);
    letter-spacing:-.02em;
    margin-left:5px;
  }
  .home-route .hero{
    background-image:url("/comparateur/assets/marbre_telephone.png");
    background-position:right center;
  }
  .home-route .hero-visual{
    min-height:300px!important;
    padding:0!important;
  }
}

/* Micro-tuning final de la composition hero (cadrage, respiration, accent). */
.home-route .hero{
  background-position:center center;
  padding-bottom:0;
}
.home-route #hero-title .home-handwritten{
  font-size:1.14em;
  line-height:1;
}

/* Noms de catégories : signature Beauty, avec une bande texte compacte. */
.home-route .family-nav :is(a,.advent-universe-card) strong{
  display:block;
  flex:none;
  width:100%;
  padding:10px 12px 0;
  color:var(--kp-rose);
  font-family:var(--kp-category-font);
  font-size:clamp(1.45rem,2.1vw,1.9rem);
  font-weight:var(--kp-category-weight);
  line-height:1.05;
  text-align:center;
}
.home-route .family-nav :is(a,.advent-universe-card) span{
  display:block;
  flex:none;
  width:100%;
  padding:5px 12px 10px;
  color:#9a8b93;
  font-family:var(--kp-sans);
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.04em;
  line-height:1.1;
  text-align:center;
}
.home-route .family-nav :is(a,.advent-universe-card){background:#fffafd;}
.home-route .seasonal-category-card{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(220px,.8fr);
  align-items:stretch;
  margin-top:clamp(18px,2vw,28px);
  margin-inline:clamp(22px,2vw,36px);
  overflow:hidden;
  border:1px solid #eadfe3;
  border-radius:18px;
  background:#fffafd;
  box-shadow:0 6px 18px rgba(42,24,34,.06);
}
.home-route .seasonal-category-card__media{min-width:0;}
.home-route .seasonal-category-card__media img{
  display:block;
  width:100%;
  height:clamp(280px,28vw,380px);
  object-fit:contain;
  background:#f6f2f0;
}
.home-route .seasonal-category-card__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px;
}
.home-route .seasonal-category-card__copy small{
  color:#9a8b93;
  font:600 .68rem/1.2 var(--kp-sans);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.home-route .seasonal-category-card__copy h3{
  margin:8px 0 0;
  color:#252126;
  font:500 clamp(1.8rem,3vw,2.7rem)/1.05 "Dancing Script","Segoe Script",cursive;
}
@media (max-width:760px){
  .home-route .seasonal-category-card{
    grid-template-columns:minmax(0,1.35fr) minmax(120px,.8fr);
    margin-top:18px;
    margin-inline:14px;
    border-radius:14px;
  }
  .home-route .seasonal-category-card__copy{padding:16px;}
  .home-route .seasonal-category-card__copy small{font-size:.56rem;letter-spacing:.1em;}
  .home-route .seasonal-category-card__copy h3{font-size:1.65rem;}
  .home-route .seasonal-category-card__media img{height:auto;aspect-ratio:1 / 1;}
}

/* Habillage éditorial des cartes : l'image est posée dans la carte, sans
   modifier son cadrage ni sa source. */
.home-route .family-nav{
  gap:clamp(16px,1.6vw,24px);
  padding-inline:clamp(22px,2vw,36px);
}
.home-route .family-nav :is(a,.advent-universe-card){
  background:#fbf7f8;
  border:1px solid #eadfe3;
  box-shadow:0 5px 16px rgba(42,24,34,.055);
}
.home-route .family-nav .family-category-image{
  width:calc(100% - 24px);
  margin:12px 12px 0;
  border-radius:14px;
}
.home-route .family-nav :is(a,.advent-universe-card) strong{color:#252126;}
@media (max-width:760px){
  .home-route .family-nav{gap:12px;padding-inline:14px;}
  .home-route .family-nav .family-category-image{
    width:calc(100% - 20px);
    margin:10px 10px 0;
    border-radius:12px;
  }
  .home-route .family-nav :is(a,.advent-universe-card) strong{
    padding:8px 8px 0;
    font-size:1.35rem;
  }
  .home-route .family-nav :is(a,.advent-universe-card) span{padding:4px 8px 9px;font-size:.64rem;}
}

/* Simplification finale : l'image rejoint directement le bord de la carte. */
.home-route #family-navigation{
  background:#f6f2f0;
}
.home-route .family-nav :is(a,.advent-universe-card){
  background:#fffafd;
}
.home-route .family-nav .family-category-image{
  width:100%;
  margin:0;
  border-radius:14px 14px 0 0;
}
@media (max-width:760px){
  .home-route .family-nav .family-category-image{
    width:100%;
    margin:0;
    border-radius:12px 12px 0 0;
  }
}
.home-route #family-navigation{
  margin-top:24px;
}
@media (max-width:760px){
  .home-route .hero{
    background-position:right center;
    padding-bottom:10px;
  }
  .home-route #hero-title .home-handwritten{
    font-size:1.14em;
  }
  .home-route #family-navigation{
    margin-top:24px;
  }
}

/* Desktop artwork: preserve the complete supplied composition instead of
   cropping it to the wider hero ratio. */
@media (min-width:1024px){
  .home-route .hero{
    /* Le hero suit le ratio natif 1672/941 : cover remplit ainsi le
       viewport sans bandes et conserve toute la composition du visuel. */
    min-height:0;
    height:auto;
    background-size:cover;
    background-position:center center;
    background-color:var(--kp-noir,#0B0B0D);
  }
}

/* Hero scène en image native : aucune image de fond ni recadrage. Le texte
   reste du HTML positionné au-dessus de la composition fournie. */
.home-route .hero{
  position:relative;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  background-image:none!important;
  background-color:#0B0B0D;
  overflow:hidden;
}
.home-route .beauty-hero__picture{
  display:block;
  width:100%;
  line-height:0;
}
.home-route .beauty-hero__scene{
  display:block;
  width:100%;
  height:auto;
  object-fit:initial;
  transform:none!important;
}
.home-route .hero-inner{
  position:absolute;
  inset:0;
  z-index:2;
  width:min(1120px,calc(100% - 64px));
  height:100%;
  margin:0 auto;
  display:block;
}
.home-route .hero-copy{
  position:absolute;
  left:0;
  top:18%;
  width:min(560px,44vw);
  margin:0;
}
.home-route .hero-visual{display:none!important}
@media (max-width:760px){
  .home-route .hero-inner{
    width:calc(100% - 28px);
  }
  .home-route .hero-copy{
    left:0;
    top:7%;
    width:100%;
  }
  .home-route #hero-title .home-line{
    white-space:normal!important;
  }
  .home-route #hero-title{
    font-size:clamp(27px,7.8vw,34px);
  }
}

/* Hero plus dense : le contenu remonte sans modifier la scène ni ses assets. */
@media (min-width:761px){
  .home-route .hero-copy{top:8%;}
}
@media (max-width:760px){
  .home-route .hero-copy{top:3.5%;}
  .home-route .home-badge{margin-bottom:14px;}
  .home-route .search-wrap{margin-top:24px;}
}

/* Hero compact à média indépendant : le texte ne dépend plus de la hauteur
   intrinsèque de l'asset, tandis que la scène est cadrée par le conteneur. */
@media (min-width:761px){
  .home-route .hero{
    display:block!important;
    height:clamp(430px,calc(42vw - 60px),500px)!important;
    min-height:0!important;
    overflow:hidden;
  }
  .home-route .beauty-hero__picture{
    display:block!important;
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
  }
  .home-route .beauty-hero__scene{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 70%;
  }
  .home-route .hero-inner{
    height:100%;
  }
  .home-route .hero-copy{
    top:clamp(160px,12vw,230px);
  }
  .home-route #family-navigation{
    padding-top:28px;
    padding-bottom:32px;
  }
  .home-route .family-heading{
    grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
    margin-bottom:20px;
  }
  .home-route .family-heading h2{
    white-space:nowrap;
    font-size:clamp(34px,3vw,48px);
    margin-top:4px;
    margin-bottom:4px;
  }
  .home-route .family-heading>p{padding-bottom:0;}
}
@media (max-width:760px){
  .home-route .hero{
    display:block!important;
    height:clamp(560px,154vw,650px)!important;
    min-height:0!important;
    overflow:hidden;
  }
  .home-route .beauty-hero__picture{
    display:block!important;
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
  }
  .home-route .beauty-hero__scene{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
  .home-route .hero-inner{height:100%;}
}

/* Final desktop crop window: media and copy move as one stage. */
@media (min-width:761px){
  .home-route .hero{
    --hero-crop-top:clamp(110px,8vw,160px);
    height:clamp(430px,calc(42vw - var(--hero-crop-top) - 60px),500px)!important;
    overflow:hidden;
  }
  .home-route .beauty-hero__stage{
    position:relative;
    width:100%;
    height:calc(100% + var(--hero-crop-top));
    transform:translateY(calc(-1 * var(--hero-crop-top)));
  }
  .home-route .beauty-hero__stage .beauty-hero__picture,
  .home-route .beauty-hero__stage .hero-inner{
    position:absolute;
    inset:0;
  }
}

/* Final interaction layer: allow the hero search menu to escape the crop
   window while keeping the scene itself behind the content. */
.home-route .hero {
  position: relative;
  z-index: 20;
  overflow: visible;
}
.home-route .beauty-hero__stage {
  position: relative;
  z-index: 0;
  overflow: visible;
}
.home-route .hero-inner,
.home-route .hero-copy,
.home-route .search-wrap {
  overflow: visible;
}
.home-route .hero-inner { z-index: 30; }
.home-route .hero-copy { z-index: 31; }
.home-route .search-wrap { z-index: 32; }
.home-route #search-results {
  position: absolute;
  z-index: 80;
}
.home-route #family-navigation {
  position: relative;
  z-index: 1;
}

/* Whole-logo hover: KAPZUL and Beauty swap their existing brand colours. */
.topbar .logo,
.topbar .logo-kapzul,
.topbar .logo-beauty {
  transition: color 160ms ease;
}
.topbar .logo-kapzul { color: var(--kp-white, #FAF7F9); }
.topbar .logo-beauty { color: var(--kp-rose, #E85AA6); }
.topbar .logo:hover .logo-kapzul,
.topbar .logo:focus-visible .logo-kapzul { color: var(--kp-rose, #E85AA6); }
.topbar .logo:hover .logo-beauty,
.topbar .logo:focus-visible .logo-beauty { color: var(--kp-white, #FAF7F9); }

/* =====================================================================
   Beauty results experience
   Presentation-only layer: all values and existing interaction hooks remain
   supplied by the current comparison renderer.
   ===================================================================== */
:root{
  --kb-beauty-rose:#E85AA6;
  --kb-beauty-rose-deep:#C93F86;
  --kb-beauty-ink:#18161A;
  --kb-beauty-ivory:#FAF7F9;
  --kb-beauty-surface:#F7F1F5;
  --kb-beauty-line:#EADCE5;
}

/* Calculation transition: marble, editorial wordmark, no tech orbit UI. */
.premium-basket-loader{
  background:
    linear-gradient(180deg,rgba(9,8,11,.72),rgba(9,8,11,.9)),
    url("/comparateur/assets/marbre.png") center/cover no-repeat,
    #0B0B0D;
  color:var(--kb-beauty-ivory);
}
.premium-loader-orbit,.premium-loader-halo{display:none!important}
.premium-loader-core{
  top:39%;
  width:min(90vw,620px);
  height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.premium-loader-wordmark{
  color:#fff;
  font-family:var(--kp-sans,Manrope,system-ui,sans-serif);
  font-size:clamp(2.5rem,7vw,5.3rem);
  font-weight:800;
  letter-spacing:.28em;
  text-indent:.28em;
  text-shadow:0 0 24px rgba(255,255,255,.18),0 0 34px rgba(232,90,166,.2);
  animation:beauty-wordmark-in .9s cubic-bezier(.2,.8,.2,1) both;
}
.premium-loader-beauty{
  color:var(--kb-beauty-rose);
  font-family:"Dancing Script","Segoe Script","Snell Roundhand",cursive;
  font-size:clamp(2.2rem,5vw,4rem);
  line-height:.72;
  transform:rotate(-5deg) translateX(22px);
  transform-origin:left center;
  text-shadow:0 0 18px rgba(232,90,166,.28);
  animation:beauty-signature-in 1.35s .45s cubic-bezier(.2,.8,.2,1) both;
}
.premium-basket-loader.is-complete .premium-loader-wordmark{color:#fff}
.premium-basket-loader.is-complete .premium-loader-beauty{color:#F08BC0}
.premium-loader-copy{
  width:min(560px,calc(100% - 40px));
  margin-top:230px;
  text-align:center;
}
.premium-loader-copy h2{
  margin:0 0 10px;
  color:#fff;
  font-family:var(--kp-sans,Manrope,system-ui,sans-serif);
  font-size:clamp(1.1rem,2.4vw,1.55rem);
  font-weight:700;
  letter-spacing:-.02em;
}
.premium-loader-copy>p:not(.premium-loader-signoff){
  margin:0 auto 24px;
  color:rgba(250,247,249,.72);
  font-size:.9rem;
}
.premium-loader-steps{
  display:grid;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin:0 auto;
  color:rgba(250,247,249,.5);
  font-size:.78rem;
  text-align:left;
}
.premium-loader-steps li{display:none;min-width:260px}
.premium-loader-steps li.is-visible{display:list-item}
.premium-loader-steps li.is-active{color:#fff}
.premium-loader-steps li.is-complete{color:rgba(250,247,249,.74)}
.premium-loader-steps li.is-complete::before{color:var(--kb-beauty-rose);margin-right:8px}
.premium-loader-entities{margin-top:18px;color:rgba(250,247,249,.38);font-size:.65rem;letter-spacing:.12em}
.premium-loader-signoff{
  margin:34px 0 0!important;
  color:rgba(250,247,249,.46)!important;
  font-family:"Dancing Script","Segoe Script","Snell Roundhand",cursive;
  font-size:1.15rem!important;
  line-height:1.15;
}
.premium-loader-reflections{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.premium-loader-reflections i{position:absolute;display:block;width:34vw;height:1px;background:linear-gradient(90deg,transparent,rgba(232,90,166,.34),transparent);filter:blur(1px);opacity:0;animation:beauty-reflection 7s ease-in-out infinite}
.premium-loader-reflections i:nth-child(1){top:27%;left:-35%;animation-delay:.4s}
.premium-loader-reflections i:nth-child(2){top:63%;left:-28%;animation-delay:2.7s}
.premium-loader-reflections i:nth-child(3){top:78%;left:-40%;animation-delay:4.8s}
@keyframes beauty-wordmark-in{from{opacity:0;letter-spacing:.5em;transform:translateY(7px)}to{opacity:1;letter-spacing:.28em;transform:none}}
@keyframes beauty-signature-in{from{opacity:0;clip-path:inset(0 100% 0 0);transform:rotate(-5deg) translateX(22px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:rotate(-5deg) translateX(22px)}}
@keyframes beauty-reflection{0%{opacity:0;transform:translateX(0) rotate(-8deg)}18%,36%{opacity:.8}65%,100%{opacity:0;transform:translateX(170vw) rotate(-8deg)}}

/* Result priority: winner first, merchant comparison second, details last. */
#comparison{
  width:min(1120px,calc(100% - 64px));
  margin-inline:auto;
  color:var(--kb-beauty-ink);
}
#result-summary{display:grid;gap:18px}
.winning-mono,
.delivery-multi-summary{
  border:1px solid var(--kb-beauty-line)!important;
  border-radius:24px!important;
  background:var(--kb-beauty-ivory)!important;
  box-shadow:0 18px 48px rgba(34,18,27,.08)!important;
}
.winning-mono{padding:clamp(24px,4vw,42px)!important}
.winning-mono .winner-badge,
.winning-mono .multi-winner-badge,
.multi-saving-pill{
  background:var(--kb-beauty-rose)!important;
  color:#fff!important;
}
.winning-mono .winner-saving,
.winning-mono .winner-saving>b,
.winning-mono .winner-total,
.multi-saving-title{color:var(--kb-beauty-rose-deep)!important}
.winning-mono .winner-price,
.winning-mono .winner-command,
.winning-mono .winner-reference{color:var(--kb-beauty-ink)!important}
.winning-mono .winner-price{font-size:clamp(2rem,4vw,3.1rem);font-weight:800}
.winning-mono .winner-facts span{border-color:var(--kb-beauty-line);background:#fff;color:var(--kb-beauty-ink)}
.winning-mono .product-details>summary,
.result-detail>summary{color:var(--kb-beauty-ink)}
.result-detail{
  border:1px solid var(--kb-beauty-line)!important;
  border-radius:18px!important;
  background:rgba(250,247,249,.72)!important;
  box-shadow:none!important;
}
.result-detail>summary{padding:18px 20px!important;font-size:.92rem;letter-spacing:.01em}
.result-detail[open]>summary{border-bottom-color:var(--kb-beauty-line)!important}
#delivery-results>summary{color:var(--kb-beauty-ink)!important}
#delivery-results>summary::after{content:var(--beauty-view-detail);margin-left:auto;color:var(--kb-beauty-rose-deep);font-size:.78rem;font-weight:700}
.purchase-options,.toppharm-results{background:transparent!important}
.purchase-options-grid{display:grid;gap:10px}
.retailer-comparison{border:1px solid var(--kb-beauty-line)!important;border-radius:16px!important;background:#fff!important;overflow:hidden}
.retailer-comparison>summary{min-height:70px;padding:13px 16px!important;color:var(--kb-beauty-ink)!important}
.retailer-comparison>summary strong{color:var(--kb-beauty-rose-deep)!important;font-weight:800}
.retailer-comparison-label small{color:#8D8490!important}
.retailer-comparison-body{border-top:1px solid var(--kb-beauty-line);background:var(--kb-beauty-surface)}
.comparison-proof{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.multi-basket{border:1px solid var(--kb-beauty-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 30px rgba(34,18,27,.06)!important}
.multi-basket .multi-total{color:var(--kb-beauty-rose-deep)!important}
.multi-basket .multi-retailer{border-color:var(--kb-beauty-line)!important;background:var(--kb-beauty-surface)!important}
.multi-basket .multi-cart-action,.winning-mono .outbound{color:var(--kb-beauty-rose-deep)!important}
.unpriced-baskets{border-color:var(--kb-beauty-line)!important;background:var(--kb-beauty-surface)!important}

@media (max-width:760px){
  .premium-loader-core{top:31%;height:145px}
  .premium-loader-copy{margin-top:210px}
  .premium-loader-wordmark{font-size:clamp(2rem,11vw,3.2rem);letter-spacing:.18em;text-indent:.18em}
  .premium-loader-beauty{font-size:2.45rem;transform:rotate(-5deg) translateX(15px)}
  .premium-loader-steps{width:100%;max-width:280px}
  .premium-loader-steps li{min-width:0}
  #comparison{width:calc(100% - 28px)}
  .winning-mono{padding:20px!important;border-radius:20px!important}
  .result-detail>summary{padding:16px!important}
  .retailer-comparison>summary{min-height:64px;padding:11px!important}
}
@media (prefers-reduced-motion:reduce){
  .premium-loader-wordmark,.premium-loader-beauty,.premium-loader-reflections i{animation:none}
}

/* Remove the Pharma panorama from the Beauty result card while retaining the
   real result heading and all existing data/detail controls. */
.best-solution-card{
  border:1px solid var(--kb-beauty-line)!important;
  border-radius:24px!important;
  background:var(--kb-beauty-ivory)!important;
  box-shadow:0 18px 48px rgba(34,18,27,.08)!important;
}
.best-solution-card .results-panorama,
.best-solution-card .results-icon{display:none!important}
.best-solution-card .results-card-heading{padding:30px 34px 0!important;color:var(--kb-beauty-ink)!important}
.best-solution-card .results-card-heading h2{font-size:clamp(1.35rem,2.7vw,2rem)!important;color:var(--kb-beauty-ink)!important}
.best-solution-card .results-card-heading h2::before{content:var(--beauty-best-combination);display:block;margin-bottom:8px;color:var(--kb-beauty-rose-deep);font-size:.68em;letter-spacing:.14em}
.best-solution-card .results-card-body{padding:24px 34px 34px!important}
.best-solution-card .results-saving strong{color:var(--kb-beauty-rose-deep)!important}
.best-solution-card .results-basket-total strong{color:var(--kb-beauty-ink)!important}
.best-solution-card .beauty-totals{background:var(--kb-beauty-surface)!important;border-color:var(--kb-beauty-line)!important}
.best-solution-card .best-solution-detail>summary{color:var(--kb-beauty-ink)!important}
.delivery-primary{
  gap:18px!important;
  padding:30px!important;
  border:1px solid var(--kb-beauty-line)!important;
  border-radius:24px!important;
  background:var(--kb-beauty-ivory)!important;
  box-shadow:0 18px 48px rgba(34,18,27,.08)!important;
}
.delivery-primary>h1{color:var(--kb-beauty-ink)!important;font-size:clamp(1.55rem,3vw,2.2rem)!important}
.delivery-primary>.purchase-option{border:1px solid var(--kb-beauty-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important}
.delivery-primary .total,
.delivery-primary .winner-price{color:var(--kb-beauty-rose-deep)!important}
@media(max-width:760px){
  .best-solution-card .results-card-heading{padding:22px 20px 0!important}
  .best-solution-card .results-card-body{padding:18px 20px 22px!important}
  .delivery-primary{padding:20px!important;border-radius:20px!important}
}

/* Final Beauty loader signature: the word is drawn as an SVG stroke rather
   than faded in as a static label. */
.premium-basket-loader{
  background:
    radial-gradient(ellipse at 50% 43%,rgba(232,90,166,.10),transparent 34%),
    radial-gradient(ellipse at 18% 72%,rgba(196,112,73,.13),transparent 30%),
    linear-gradient(180deg,rgba(7,6,9,.5),rgba(7,6,9,.72)),
    url("/comparateur/assets/marbre.png") center/cover no-repeat,
    #0B0B0D;
}
.premium-loader-beauty-svg{
  width:min(330px,76vw);
  height:auto;
  transform:rotate(-4deg) translateX(16px);
  transform-origin:center;
}
.premium-loader-beauty-svg svg{display:block;width:100%;height:auto;overflow:visible}
.premium-loader-beauty-stroke,
.premium-loader-beauty-fill{
  font-family:"Dancing Script","Segoe Script","Snell Roundhand",cursive;
  font-size:54px;
  font-weight:500;
  letter-spacing:-.035em;
}
.premium-loader-beauty-stroke{
  fill:transparent;
  stroke:var(--kb-beauty-rose,#E85AA6);
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:700;
  stroke-dashoffset:700;
  animation:beauty-signature-stroke 1.35s .48s cubic-bezier(.2,.75,.2,1) forwards;
}
.premium-loader-beauty-fill{
  fill:var(--kb-beauty-rose,#E85AA6);
  opacity:0;
  animation:beauty-signature-fill .24s 1.63s ease-out forwards;
}
.premium-loader-sparkle{
  fill:#F6C6A6;
  opacity:0;
  filter:drop-shadow(0 0 5px rgba(246,198,166,.9));
  transform-origin:center;
  animation:beauty-signature-sparkle .55s 1.72s ease-out forwards;
}
@keyframes beauty-signature-stroke{0%{stroke-dashoffset:700;opacity:.25}12%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes beauty-signature-fill{from{opacity:0}to{opacity:1}}
@keyframes beauty-signature-sparkle{0%{opacity:0;transform:scale(.2)}35%{opacity:1;transform:scale(1.35)}100%{opacity:0;transform:scale(.8)}}
@media(max-width:760px){
  .premium-loader-beauty-svg{width:min(280px,72vw);transform:rotate(-4deg) translateX(12px)}
  .premium-loader-beauty-stroke,.premium-loader-beauty-fill{font-size:52px}
}
@media(prefers-reduced-motion:reduce){
  .premium-loader-beauty-stroke{stroke-dashoffset:0;animation:none;opacity:1}
  .premium-loader-beauty-fill{opacity:1;animation:none}
  .premium-loader-sparkle{opacity:.85;animation:none}
}

/* True handwritten path animation. Each glyph is an extracted SVG outline;
   the six paths are drawn sequentially from B through y. */
.premium-loader-beauty-svg{
  width:min(330px,76vw);
  height:auto;
  transform:rotate(-4deg) translateX(16px);
  transform-origin:center;
}
.premium-loader-beauty-svg svg{display:block;width:100%;height:auto;overflow:visible}
.beauty-trace .beauty-glyph{
  fill:none;
  stroke:var(--kb-beauty-rose,#E85AA6);
  stroke-width:12;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  opacity:1;
  animation:beauty-glyph-draw .38s cubic-bezier(.2,.72,.2,1) forwards;
}
.beauty-trace .beauty-glyph-1{animation-delay:.48s}
.beauty-trace .beauty-glyph-2{animation-delay:.68s}
.beauty-trace .beauty-glyph-3{animation-delay:.88s}
.beauty-trace .beauty-glyph-4{animation-delay:1.08s}
.beauty-trace .beauty-glyph-5{animation-delay:1.28s}
.beauty-trace .beauty-glyph-6{animation-delay:1.48s}
.beauty-fill{opacity:0;animation:beauty-fill-in .22s 1.92s ease-out forwards}
.beauty-fill .beauty-glyph{fill:var(--kb-beauty-rose,#E85AA6);stroke:none}
@keyframes beauty-glyph-draw{to{stroke-dashoffset:0}}
@keyframes beauty-fill-in{to{opacity:1}}
@media(max-width:760px){.premium-loader-beauty-svg{width:min(280px,72vw);transform:rotate(-4deg) translateX(12px)}}
@media(prefers-reduced-motion:reduce){
  .beauty-trace .beauty-glyph{animation:none;stroke-dashoffset:0}
  .beauty-fill{animation:none;opacity:1}
}

/* The loader is hidden in the DOM between comparisons. Keep the signature
   at its initial dash state until the real comparison opens it. */
.premium-loader-wordmark{animation:none!important;opacity:0}
.premium-basket-loader.is-visible .premium-loader-wordmark{animation:beauty-wordmark-in .9s cubic-bezier(.2,.8,.2,1) both!important}
.beauty-trace .beauty-glyph{animation:none!important;stroke-dashoffset:1}
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph{animation:beauty-glyph-draw .38s cubic-bezier(.2,.72,.2,1) forwards!important}
.beauty-fill{animation:none!important;opacity:0}
.premium-basket-loader.is-visible .beauty-fill{animation:beauty-fill-in .22s 1.92s ease-out forwards!important}
.premium-loader-sparkle{animation:none!important;opacity:0}
.premium-basket-loader.is-visible .premium-loader-sparkle{animation:beauty-signature-sparkle .55s 1.72s ease-out forwards!important}
@media(prefers-reduced-motion:reduce){
  .premium-basket-loader.is-visible .premium-loader-wordmark{animation:none!important;opacity:1}
  .premium-basket-loader.is-visible .beauty-trace .beauty-glyph{animation:none!important;stroke-dashoffset:0}
  .premium-basket-loader.is-visible .beauty-fill{animation:none!important;opacity:1}
  .premium-basket-loader.is-visible .premium-loader-sparkle{animation:none!important;opacity:.85}
}

/* Preserve the deliberate per-glyph pauses when the visible-state animation
   is armed. */
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-1{animation-delay:.48s!important}
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-2{animation-delay:.68s!important}
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-3{animation-delay:.88s!important}
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-4{animation-delay:1.08s!important}
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-5{animation-delay:1.28s!important}
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-6{animation-delay:1.48s!important}

/* Final loader cadence: keep the signature alone on screen until its stroke
   has completed, then introduce the real comparison progress below it. */
.premium-basket-loader .premium-loader-copy{
  opacity:0;
  transform:translateY(14px);
  pointer-events:none;
}
.premium-basket-loader.is-visible .premium-loader-copy{
  animation:beauty-loader-copy-in .58s 2.72s cubic-bezier(.2,.8,.2,1) forwards;
}
@keyframes beauty-loader-copy-in{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
.premium-loader-copy{margin-top:400px}

/* B→e→a→u→t→y: the complete handwritten path finishes around 2.3s. */
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-1{animation-delay:.90s!important}
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-2{animation-delay:1.10s!important}
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-3{animation-delay:1.30s!important}
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-4{animation-delay:1.50s!important}
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-5{animation-delay:1.70s!important}
.premium-basket-loader.is-visible .beauty-trace .beauty-glyph-6{animation-delay:1.90s!important}
.premium-basket-loader.is-visible .beauty-fill{animation-delay:2.34s!important}
.premium-basket-loader.is-visible .premium-loader-sparkle{animation-delay:2.32s!important}

@media(max-width:760px){
  .premium-loader-copy{margin-top:360px}
}
@media(prefers-reduced-motion:reduce){
  .premium-basket-loader.is-visible .premium-loader-copy{
    opacity:1;
    transform:none;
    animation:none;
    pointer-events:auto;
  }
}

/* Use the approved Beauty marble scenes directly for the loader. The desktop
   and vertical mobile assets keep their original rose-gold composition. */
.premium-basket-loader{
  background:
    linear-gradient(180deg,rgba(7,6,9,.30),rgba(7,6,9,.54)),
    url("/assets/loader/beauty-loader-marble-desktop.png") center/cover no-repeat,
    #0B0B0D;
}
@media(max-width:760px){
  .premium-basket-loader{
    background:
      linear-gradient(180deg,rgba(7,6,9,.28),rgba(7,6,9,.50)),
      url("/assets/loader/beauty-loader-marble-mobile.png") center/cover no-repeat,
      #0B0B0D;
  }
}

/* The signature is a solid rose fill. Its visibility is painted by a broad
   SVG mask stroke that follows each real glyph path, so no outline remains. */
.beauty-trace .beauty-glyph{
  fill:none!important;
  stroke:transparent!important;
}
.beauty-fill{
  opacity:1!important;
  animation:none!important;
  mask:none!important;
  -webkit-mask:none!important;
}
.beauty-fill .beauty-glyph{fill:var(--kb-beauty-rose,#E85AA6)!important;stroke:none!important;opacity:0}
.beauty-mask-glyph{
  fill:none!important;
  stroke:#fff!important;
  stroke-width:52!important;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:none;
}
.premium-basket-loader.is-visible .beauty-mask-glyph{
  animation:beauty-mask-draw .6s cubic-bezier(.42,0,.58,1) forwards!important;
}
.premium-basket-loader.is-visible .beauty-mask-glyph-1{animation-delay:.90s!important;animation-duration:.62s!important}
.premium-basket-loader.is-visible .beauty-mask-glyph-2{animation-delay:1.20s!important;animation-duration:.42s!important}
.premium-basket-loader.is-visible .beauty-mask-glyph-3{animation-delay:1.48s!important;animation-duration:.44s!important}
.premium-basket-loader.is-visible .beauty-mask-glyph-4{animation-delay:1.78s!important;animation-duration:.46s!important}
.premium-basket-loader.is-visible .beauty-mask-glyph-5{animation-delay:2.08s!important;animation-duration:.38s!important}
.premium-basket-loader.is-visible .beauty-mask-glyph-6{animation-delay:2.35s!important;animation-duration:.80s!important}
.premium-basket-loader.is-visible .beauty-fill .beauty-glyph-1{animation:beauty-letter-fill .62s .90s ease-in-out forwards!important}
.premium-basket-loader.is-visible .beauty-fill .beauty-glyph-2{animation:beauty-letter-fill .42s 1.20s ease-in-out forwards!important}
.premium-basket-loader.is-visible .beauty-fill .beauty-glyph-3{animation:beauty-letter-fill .44s 1.48s ease-in-out forwards!important}
.premium-basket-loader.is-visible .beauty-fill .beauty-glyph-4{animation:beauty-letter-fill .46s 1.78s ease-in-out forwards!important}
.premium-basket-loader.is-visible .beauty-fill .beauty-glyph-5{animation:beauty-letter-fill .38s 2.08s ease-in-out forwards!important}
.premium-basket-loader.is-visible .beauty-fill .beauty-glyph-6{animation:beauty-letter-fill .80s 2.35s ease-in-out forwards!important}
@keyframes beauty-letter-fill{from{opacity:0}to{opacity:1}}
@keyframes beauty-mask-draw{to{stroke-dashoffset:0}}
.premium-loader-sparkle{display:none!important;animation:none!important;opacity:0!important}
.premium-basket-loader.is-visible .premium-loader-copy{animation-delay:3.62s!important}
@media(prefers-reduced-motion:reduce){
  .beauty-mask-glyph{animation:none!important;stroke-dashoffset:0}
  .beauty-fill .beauty-glyph{animation:none!important;opacity:1}
}

/* Final loader legibility pass: strengthen only the real progress copy. */
.premium-loader-copy{
  margin-top:420px;
  position:relative;
  z-index:1;
  text-shadow:0 1px 10px rgba(0,0,0,.38);
}
.premium-loader-copy::before{
  content:"";
  position:absolute;
  inset:-22px -44px;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(7,6,9,.22),transparent 72%);
  filter:blur(10px);
}
.premium-loader-copy h2{
  color:#fff!important;
  font-size:clamp(1.25rem,2.6vw,1.7rem)!important;
  font-weight:750!important;
  text-shadow:0 1px 12px rgba(0,0,0,.46)!important;
}
.premium-loader-copy>p:not(.premium-loader-signoff){
  color:rgba(250,247,249,.88)!important;
  font-size:.98rem!important;
  text-shadow:0 1px 8px rgba(0,0,0,.42)!important;
}
.premium-loader-steps{
  gap:11px;
  color:rgba(250,247,249,.82)!important;
  font-size:.88rem!important;
  font-weight:500;
  text-shadow:0 1px 8px rgba(0,0,0,.48);
}
.premium-loader-steps li.is-active{color:#fff!important;font-weight:650}
.premium-loader-steps li.is-complete{color:rgba(250,247,249,.9)!important}
.premium-loader-entities{color:rgba(250,247,249,.58)!important;text-shadow:0 1px 7px rgba(0,0,0,.5)}
.premium-loader-signoff{color:rgba(250,247,249,.7)!important;text-shadow:0 1px 8px rgba(0,0,0,.5)}
@media(max-width:760px){.premium-loader-copy{margin-top:380px}}

/* Final minimal loader composition: the Beauty wordmark is the hero and the
   live title is the only progress indicator shown beneath it. */
.premium-loader-stage{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  padding-top:clamp(11vh,15vh,18vh);
  box-sizing:border-box;
}
.premium-loader-core{
  position:relative;
  left:auto;
  top:auto;
  width:min(94vw,760px);
  height:auto;
  gap:20px;
  align-items:center;
  transform:none;
}
.premium-loader-wordmark{
  width:75vw;
  max-width:75vw;
  white-space:nowrap!important;
  font-size:clamp(3rem,8.2vw,8rem)!important;
  letter-spacing:.30em!important;
  text-indent:.30em!important;
}
.premium-loader-beauty-svg{
  width:min(520px,82vw)!important;
  transform:rotate(-4deg)!important;
}
.premium-loader-copy{
  position:relative;
  top:auto;
  left:auto;
  width:min(680px,calc(100% - 40px));
  margin:clamp(80px,9vw,100px) 0 0!important;
  transform:none;
  text-align:center;
  text-shadow:none!important;
}
.premium-loader-copy::before{display:none!important}
.premium-basket-loader.is-visible .premium-loader-copy{
  animation:beauty-loader-copy-in .7s .90s cubic-bezier(.2,.8,.2,1) forwards!important;
}
.premium-loader-copy h2{
  margin:0 0 14px!important;
  font-size:clamp(1.05rem,2vw,1.45rem)!important;
  font-weight:600!important;
  letter-spacing:0!important;
  color:rgba(250,247,249,.92)!important;
  text-shadow:none!important;
}
.premium-loader-subline{
  margin:14px 0 0!important;
  color:rgba(250,247,249,.62)!important;
  font-size:clamp(.86rem,1.5vw,1rem)!important;
  font-weight:400;
}
.premium-loader-steps,
.premium-loader-entities,
.premium-loader-signoff{display:none!important}
.premium-loader-signoff{
  position:fixed;
  left:20px;
  right:20px;
  bottom:34px;
  margin:0!important;
  font-size:clamp(1rem,2vw,1.25rem)!important;
}
@media(max-width:760px){
  .premium-loader-stage{padding-top:13vh}
  .premium-loader-core{gap:14px}
  .premium-loader-wordmark{width:82vw;max-width:82vw;font-size:clamp(2.35rem,11.5vw,5rem)!important;letter-spacing:.18em!important;text-indent:.18em!important}
  .premium-loader-beauty-svg{width:min(380px,88vw)!important;transform:rotate(-4deg)!important}
  .premium-loader-copy{width:calc(100% - 32px);margin-top:clamp(50px,15vw,70px)!important}
}

/* Keep the positioned mobile artwork inside a stage with a real height. */
@media (max-width:760px){
  .home-route .beauty-hero__stage{height:100%;}
}

/* Translatable copy stays in HTML; CSS only supplies the presentation. */
.home-route #family-navigation .family-heading h2{font-size:clamp(24px,3vw,48px);white-space:normal}
.home-route #family-title em{font-family:"Dancing Script",cursive;color:var(--kp-rose,#E85AA6);font-weight:700}

/* Beauty public UI: keep pickup data/capabilities intact, but expose delivery
   only in this experience. */
#pickup-results,.pickup-priority,#local-improvement{display:none!important}
@media(max-width:760px){
  body.mobile-cart-visible{padding-bottom:calc(var(--mobile-cart-height,52px) + 32px + env(safe-area-inset-bottom,0px))}
  .catalog-route main,.dermo-route main{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
}

/* Résultats panier : hiérarchie unique, détail gagnant visible et compact sur mobile. */
#result-summary .best-solution-card{background:linear-gradient(135deg,#fff 0%,#fff8fb 100%);border-color:var(--kb-border);box-shadow:var(--kb-shadow)}
#result-summary .best-solution-card .results-card-heading{padding:26px 34px 0;gap:10px}
#result-summary .best-solution-card .results-card-heading h2{font-size:clamp(1.35rem,2.7vw,2rem);color:var(--kb-text)}
#result-summary .best-solution-card .results-card-heading h2::before{display:none}
#result-summary .results-icon{display:grid;place-items:center;background:var(--kb-pink);color:var(--kb-black);font-size:1.25rem;border-radius:50%;width:34px;height:34px;flex:0 0 34px}
#result-summary .results-home-label{margin:8px 34px 0;color:var(--kb-muted);font-size:.92rem}
#result-summary .best-solution-card .results-card-body{padding:18px 34px 30px}
#result-summary .results-saving{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:10px;margin:0 0 18px}
#result-summary .results-saving span{grid-column:1/-1;font-size:.84rem;text-transform:uppercase;letter-spacing:.08em;color:var(--kb-muted)}
#result-summary .results-saving strong{font-size:clamp(2rem,4vw,3.2rem);line-height:1;color:var(--kb-pink-deep)}
#result-summary .results-saving small{max-width:46ch;color:var(--kb-muted);line-height:1.4}
#result-summary .results-retailer{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 20px;font-size:1rem}
#result-summary .results-retailer strong:last-child{margin-left:auto;font-size:1.05rem;white-space:nowrap}
.winner-products{border-top:1px solid var(--kb-border);padding-top:16px}.winner-products>h3{margin:0 0 8px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--kb-muted)}
.winner-products>ul,.result-product-group>ul{list-style:none;padding:0;margin:0}.result-product-group{margin:0}.result-product-group>h3{margin:14px 0 4px;font-size:.82rem;color:var(--kb-muted)}
.result-product-line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #f0e7eb;min-width:0}.result-product-line:last-child{border-bottom:0}.result-product-line-image{width:64px;height:76px;display:grid;place-items:center}.result-product-line-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.result-product-line-copy>strong{overflow-wrap:anywhere}.result-product-line-copy small{color:var(--kb-muted);overflow-wrap:anywhere}.result-product-line-copy .price-condition{margin:2px 0;font-size:.75rem}.result-product-line-copy .outbound{font-size:.78rem;color:var(--kb-pink-deep)}
.result-product-line-quantity{color:var(--kb-muted);font-size:.82rem;white-space:nowrap}.result-product-line-price{white-space:nowrap;font-size:.98rem}.result-product-line .product-image{width:64px;height:76px;display:block}.result-product-line .product-image img{width:100%;height:100%;object-fit:contain}.product-image-fallback{display:grid;place-items:center;width:100%;height:100%;border:1px solid var(--kb-border);border-radius:10px;background:var(--kb-surface);color:var(--kb-pink-deep)}
.winner-products+.beauty-totals{margin-top:20px}.winner-link-note{margin:14px 0 0;color:var(--kb-muted);font-size:.8rem;line-height:1.45}#comparison>#delivery-results>summary{min-height:56px}.purchase-options{margin-top:0}.purchase-options-grid{gap:8px}.retailer-comparison summary{min-height:64px}.retailer-comparison-label{min-width:0}.retailer-comparison-label b{overflow-wrap:anywhere}.retailer-comparison summary>strong{white-space:nowrap}.cart-line{padding-block:14px}.cart-item-main p{color:var(--kb-muted)}
@media(max-width:760px){#result-summary .best-solution-card .results-card-heading{padding:20px 16px 0}#result-summary .results-home-label{margin-inline:16px}#result-summary .best-solution-card .results-card-body{padding:16px 16px 22px}#result-summary .results-saving{grid-template-columns:auto 1fr;column-gap:8px}#result-summary .results-saving strong{font-size:2.15rem}.results-saving small{font-size:.76rem}#result-summary .results-retailer{font-size:.88rem;gap:5px}.result-product-line{grid-template-columns:52px minmax(0,1fr) auto;gap:9px;padding:9px 0}.result-product-line-image,.result-product-line .product-image{width:52px;height:62px}.result-product-line-copy>strong{font-size:.86rem;line-height:1.25}.result-product-line-copy small{font-size:.74rem}.result-product-line-price{font-size:.86rem}.result-product-line-quantity{font-size:.72rem}.winner-products>h3{font-size:.7rem}.cart-line{padding-block:11px;gap:8px}.cart-line .qty{margin-left:0}.cart-line .remove{font-size:.76rem}.cart-product-image{width:48px;height:60px}.retailer-comparison summary{min-height:58px;padding:12px}.retailer-comparison summary>strong{font-size:.84rem}.retailer-comparison-label small{font-size:.72rem}}

/* Dernier polish mobile du panier gagnant : hiérarchie compacte, sans toucher aux données. */
#comparison>#delivery-results>summary::after{content:none}
#comparison>#delivery-results>summary{cursor:pointer}

@media(max-width:760px){
  #result-summary .best-solution-card .results-card-heading{display:block;padding:18px 16px 0}
  #result-summary .best-solution-card .results-card-heading .results-icon{display:none}
  #result-summary .best-solution-card .results-card-heading h2{margin:0;color:var(--kb-beauty-rose-deep)!important;font-size:.64rem!important;font-weight:800;letter-spacing:.16em;line-height:1.35;text-transform:uppercase}
  #result-summary .results-home-label{margin:5px 16px 0;color:var(--kb-beauty-ink)!important;font-size:1.15rem;font-weight:750;letter-spacing:-.02em;line-height:1.2}
  #result-summary .best-solution-card .results-card-body{padding:14px 16px 20px}
  #result-summary .results-saving{display:block;margin:0 0 14px}
  #result-summary .results-saving span{display:block;margin-bottom:5px;color:var(--kb-beauty-rose-deep)!important;font-size:.68rem;font-weight:800;letter-spacing:.14em;line-height:1.3}
  #result-summary .results-saving strong{display:block;font-size:2.05rem;line-height:1.05}
  #result-summary .results-saving small{display:block;max-width:36ch;margin-top:5px;color:var(--kb-muted);font-size:.76rem;line-height:1.35}
  #result-summary .beauty-solution-reason{margin:0 0 13px;line-height:1.45}
  #result-summary .results-retailer{align-items:baseline;gap:4px 6px;margin:0 0 14px;font-size:.84rem;line-height:1.35}
  #result-summary .results-retailer strong:first-child{min-width:0;overflow-wrap:anywhere}
  #result-summary .results-retailer strong:last-child{flex-shrink:0;margin-left:auto;font-size:.9rem}
  .winner-products{padding-top:12px}
  .winner-products>h3{margin-bottom:6px}
  .result-product-line{grid-template-columns:52px minmax(0,1fr) auto auto;align-items:start;gap:8px;padding:9px 0}
  .result-product-line-copy{min-width:0;gap:2px}
  .result-product-line-copy>strong{font-size:.84rem;line-height:1.22}
  .result-product-line-copy small{font-size:.72rem;line-height:1.25}
  .result-product-line-copy .price-condition{margin:1px 0;font-size:.7rem}
  .result-product-line-copy .outbound{font-size:.73rem;line-height:1.25}
  .result-product-line-quantity{padding-top:1px;font-size:.68rem}
  .result-product-line-price{padding-top:1px;font-size:.82rem;letter-spacing:-.02em}
  .winner-products+.beauty-totals{margin-top:14px}
  .beauty-totals{margin:14px 0;padding:13px}
  .beauty-totals>div{margin:7px 0}
  .beauty-totals>div:last-child{font-size:1.16rem}
  .winner-link-note{margin:10px 0 0;line-height:1.35}
  #comparison>#delivery-results>summary{min-height:52px;padding:13px 14px!important}
  .retailer-comparison>summary{min-height:54px;padding:10px!important}
}

@media(max-width:360px){
  .result-product-line{grid-template-columns:46px minmax(0,1fr) auto auto;gap:6px}
  .result-product-line-image,.result-product-line .product-image{width:46px;height:56px}
  .result-product-line-price{font-size:.76rem}
  .result-product-line-quantity{font-size:.64rem}
}

.merchant-offer-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:16px 0 2px;padding:13px 18px;border:1px solid var(--kb-black);border-radius:var(--kb-radius-sm);background:var(--kb-black);color:#fff!important;font-weight:750;line-height:1.25;text-align:center;text-decoration:none;overflow-wrap:anywhere}
.merchant-offer-cta:hover,.merchant-offer-cta:focus-visible{background:var(--kb-pink-deep);border-color:var(--kb-pink-deep);color:#fff!important}
@media(max-width:760px){.merchant-offer-cta{margin:14px 0 0;min-height:52px;padding:13px 14px;font-size:.88rem}}

/* Multi-basket result: show the existing engine solution as distinct orders. */
.best-solution-multi .results-card-heading h2{color:var(--kb-beauty-rose-deep)!important;font-size:clamp(1.05rem,2.1vw,1.4rem)!important;letter-spacing:.12em!important;text-transform:uppercase}
.best-solution-multi .results-card-body{padding-top:18px!important}
.multi-result-orders{display:flex;flex-wrap:wrap;gap:6px;margin:0;color:var(--kb-beauty-ink);font-size:1.16rem;font-weight:800;line-height:1.3;letter-spacing:.02em;text-transform:uppercase}
.multi-result-orders strong{font-weight:850}
.multi-result-merchants{margin:4px 0 0;color:var(--kb-beauty-ink);font-size:1.05rem;font-weight:700;overflow-wrap:anywhere}
.multi-result-saving{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:22px 0 0;color:var(--kb-beauty-rose-deep)}
.multi-result-saving span{font-size:.72rem;font-weight:850;letter-spacing:.14em;line-height:1.3;text-transform:uppercase}
.multi-result-saving strong{font-size:clamp(2.55rem,5vw,4rem);font-weight:850;letter-spacing:-.035em;line-height:1}
.multi-result-total{display:flex;align-items:baseline;gap:5px;margin:12px 0 0;color:var(--kb-beauty-ink);font-size:1rem;line-height:1.35}
.multi-result-total span{color:var(--kb-muted)}
.multi-result-total strong{font-weight:800;white-space:nowrap}
.multi-orders{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid var(--kb-beauty-line)}
.delivery-multi-summary .multi-breakdown .multi-retailers{grid-template-columns:minmax(0,1fr)}
.multi-order-card{min-width:0;padding:16px;border:1px solid var(--kb-beauty-line);border-radius:16px;background:#fff}
.multi-order-heading h3{margin:5px 0 0;color:var(--kb-beauty-ink);font-size:1.1rem;overflow-wrap:anywhere}
.multi-order-products{list-style:none;padding:0;margin:12px 0 0}
.multi-order-products .result-product-line{grid-template-columns:52px minmax(0,1fr) auto;gap:9px;padding:9px 0}
.multi-order-products .result-product-line-quantity{display:none}
.multi-order-totals,.multi-order-total{margin:14px 0 0;padding-top:10px;border-top:1px solid var(--kb-beauty-line)}
.multi-order-totals>div,.multi-order-total>div{display:flex;justify-content:space-between;gap:12px;margin:6px 0}
.multi-order-totals dt,.multi-order-total dt{color:var(--kb-muted)}
.multi-order-totals dd,.multi-order-total dd{margin:0;text-align:right;white-space:nowrap}
.multi-order-totals>div:last-child{font-weight:800}
.multi-order-total{margin-top:22px;padding:16px;border:1px solid var(--kb-beauty-line);border-radius:14px;background:var(--kb-beauty-surface)}
.multi-order-total>div:last-child{font-size:1.15rem;font-weight:800}
.mono-alternative{padding:22px 24px;border:1px solid var(--kb-beauty-line);border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(34,18,27,.05)}
.alternative-heading h3{margin:5px 0 0;color:var(--kb-beauty-ink);font-size:1.25rem}
.alternative-merchant{display:flex;align-items:center;gap:9px;margin-top:16px;min-width:0}.alternative-merchant strong{overflow-wrap:anywhere}.alternative-merchant span{margin-left:auto;color:var(--kb-muted);white-space:nowrap}
.alternative-total{display:block;margin-top:14px;color:var(--kb-beauty-ink);font-size:1.6rem}.alternative-saving{margin:5px 0 0;color:var(--kb-muted)}
.alternative-products{margin-top:16px;padding-top:12px;border-top:1px solid var(--kb-beauty-line)}.alternative-products h4{margin:0 0 5px;color:var(--kb-muted);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:760px){
  /* Le résumé de comparaison reste une séquence verticale sur smartphone. */
  #result-summary{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;gap:12px}
  #result-summary>*{grid-column:1;min-width:0;width:100%;max-width:100%;box-sizing:border-box}
  #result-summary .best-solution-card,.mono-alternative{min-width:0;max-width:100%;box-sizing:border-box}
  .best-solution-multi .results-card-heading{padding:18px 16px 0!important}
  .best-solution-multi .results-card-body{padding:14px 16px 18px!important}
  #result-summary .best-solution-multi .results-card-heading h2{font-size:clamp(.62rem,2.7vw,.82rem)!important;letter-spacing:.12em!important;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
  .multi-result-orders{font-size:1.02rem}
  .multi-result-merchants{font-size:.98rem}
  .multi-result-saving{margin-top:19px}
  .multi-result-saving strong{font-size:2.65rem}
  .multi-result-total{font-size:.92rem}
  .multi-orders{grid-template-columns:1fr;gap:10px;margin-top:17px;padding-top:14px}
  .multi-order-card{padding:13px}
  .multi-order-heading h3{font-size:1rem}
  .multi-order-products .result-product-line{grid-template-columns:46px minmax(0,1fr) auto;gap:7px}
  .multi-order-products .result-product-line-image,.multi-order-products .result-product-line .product-image{width:46px;height:56px}
  .multi-order-products .result-product-line-copy>strong{font-size:.82rem}
  .multi-order-products .result-product-line-copy small{font-size:.71rem}
  .multi-order-products .result-product-line-price{font-size:.8rem}
  .mono-alternative{padding:17px 16px;border-radius:18px}
  .alternative-merchant{font-size:.9rem}.alternative-merchant span{font-size:.76rem}
  .alternative-total{font-size:1.45rem}
}

/* Final multi-basket polish: compact order headings, clearer conclusion and
   a visible but secondary simplicity option. Presentation only. */
.multi-order-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;min-width:0}
.multi-order-heading .eyebrow{flex:0 0 auto;margin:0;color:var(--kb-beauty-rose-deep);font-size:.7rem;letter-spacing:.13em;line-height:1.2}
.multi-order-heading h3{min-width:0;flex:1;margin:0;text-align:right;overflow-wrap:anywhere}
.multi-order-total{background:#fff7fb;border-color:#ead4df;box-shadow:0 8px 20px rgba(34,18,27,.04)}
.multi-order-total>div{margin:5px 0}
.multi-order-total>div:last-child{margin-top:11px;padding-top:11px;border-top:1px solid #e6cbd8;color:var(--kb-beauty-ink);font-size:1.3rem;font-weight:850}
.multi-order-total>div:last-child dt{color:var(--kb-beauty-rose-deep);font-size:.84rem;letter-spacing:.04em;text-transform:uppercase}
.mono-alternative{background:#fffafd;border-color:#ead4df;box-shadow:0 10px 26px rgba(34,18,27,.06)}
.alternative-heading .eyebrow{margin:0;color:var(--kb-beauty-rose-deep);font-size:1rem;font-weight:850;letter-spacing:.12em;line-height:1.25}
.alternative-heading h3{margin:6px 0 0;color:var(--kb-beauty-ink);font-size:1.65rem;font-weight:850;line-height:1.1}
.alternative-merchant{margin-top:13px}
.alternative-merchant strong{color:var(--kb-beauty-ink);font-size:1.05rem}
.alternative-merchant span{color:var(--kb-beauty-ink);font-weight:650}
.alternative-total{font-size:1.5rem;font-weight:800}
.alternative-saving{display:inline-flex;flex-direction:column;gap:2px;margin:10px 0 0;padding:8px 10px;border:1px solid #efd9e4;border-radius:10px;background:#fff1f7;color:var(--kb-beauty-ink);font-size:.78rem;line-height:1.3}
.alternative-saving strong{font-size:1rem;font-weight:850;color:var(--kb-beauty-rose-deep)}
.alternative-saving span{font-weight:500;color:var(--kb-muted)}
.mono-alternative .alternative-products{margin-top:14px}
.mono-alternative .result-product-line-price{align-self:start;padding-top:1px;font-size:.86rem;font-weight:750;white-space:nowrap}
.mono-alternative .price-condition{width:100%;min-width:0;max-width:none;margin:1px 0;font-size:.82rem;line-height:1.35;color:var(--kb-muted);overflow-wrap:normal;word-break:normal}
.mono-alternative .price-condition strong,.mono-alternative .price-condition span{display:inline;font-size:inherit;line-height:inherit}
.mono-alternative .price-condition strong{font-weight:600}
.mono-alternative .price-condition span{font-weight:400;color:var(--kb-muted)}
.mono-alternative .price-condition strong::after{content:" · "}
.mono-alternative .result-product-line-copy{gap:2px}
@media(max-width:760px){
  .multi-result-orders{font-size:1.08rem}
  .multi-order-heading{gap:8px}
  .multi-order-heading .eyebrow{font-size:.64rem;letter-spacing:.1em}
  .multi-order-heading h3{font-size:.94rem;line-height:1.2}
  .multi-order-total{margin-top:18px;padding:13px}
  .multi-order-total>div:last-child{font-size:1.2rem}
  .multi-order-total>div:last-child dt{font-size:.76rem}
  .alternative-heading .eyebrow{font-size:.92rem}
  .alternative-heading h3{font-size:1.5rem}
  .mono-alternative .result-product-line-price{font-size:.8rem}
  .merchant-offer-cta,.primary{margin-bottom:calc(8px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){
  #result-summary .best-solution-multi .results-card-heading h2{font-size:1rem!important}
}

/* Closed merchant cards: one merchant cell, one total, one coverage line. */
.retailer-comparison>summary.retailer-comparison-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:center;
  gap:4px 12px;
  min-height:72px;
}
.retailer-comparison-summary .retailer-comparison-merchant{grid-column:1;grid-row:1;min-width:0}
.retailer-comparison-summary .retailer-logo{display:flex;align-items:center;gap:8px;width:auto;min-width:0;margin:0}
.retailer-comparison-summary .retailer-logo img{flex:0 0 auto;max-width:72px;height:28px;object-fit:contain}
.retailer-comparison-summary .retailer-logo-name{min-width:0;color:var(--kb-beauty-ink);font-size:.92rem;font-weight:800;line-height:1.15;overflow-wrap:anywhere}
.retailer-comparison-summary .retailer-comparison-price{grid-column:2;grid-row:1;color:var(--kb-beauty-rose-deep)!important;font-size:1rem;line-height:1.15;text-align:right;white-space:nowrap}
.retailer-comparison-summary .retailer-comparison-status{grid-column:1 / -1;grid-row:2;color:#8D8490;font-size:.78rem;line-height:1.2;overflow-wrap:anywhere}
.retailer-comparison-summary .retailer-comparison-price:empty{display:none}
.retailer-comparison-summary .retailer-comparison-merchant:has(.retailer-logo-name){max-width:100%}
@media(max-width:760px){
  .retailer-comparison>summary.retailer-comparison-summary{min-height:62px;padding:10px!important;gap:4px 8px}
  .retailer-comparison-summary .retailer-logo img{max-width:58px;height:24px}
  .retailer-comparison-summary .retailer-logo-name{font-size:.82rem}
  .retailer-comparison-summary .retailer-comparison-price{font-size:.86rem}
  .retailer-comparison-summary .retailer-comparison-status{font-size:.72rem}
}
.comparison-product-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.comparison-product-detail-main{display:flex;align-items:center;min-width:0;gap:8px}
.comparison-product-detail-main>span:last-child{min-width:0;overflow-wrap:anywhere}
.comparison-product-image{display:grid!important;flex:0 0 42px;width:42px!important;height:50px!important;border:1px solid var(--kb-border);border-radius:7px;background:#fff;overflow:hidden}
.comparison-product-image img{width:100%;height:100%;object-fit:contain}
.comparison-product-detail>.price-condition,.comparison-product-detail>.product-mode-status,.comparison-product-detail>.outbound{grid-column:1 / -1;margin-left:50px}
.comparison-product-detail>.price-freshness{grid-column:1 / -1;margin-left:50px}

html,body{background:#FCF8F7}

/* Final comparator hierarchy: the validated card is the single visual lead. */
#result-summary .best-solution-multi .results-card-heading h2,
#result-summary .best-solution-card:not(.best-solution-multi) .results-card-heading h2{
  color:var(--kb-beauty-rose-deep)!important;
  font-size:clamp(1.35rem,4.8vw,2.2rem)!important;
  font-weight:850;
  letter-spacing:.055em!important;
  line-height:1.12;
  text-transform:uppercase;
}
#result-summary .best-solution-multi .results-card-heading{padding-bottom:0}
#result-summary .multi-result-saving strong{font-size:clamp(3rem,10vw,4.8rem);color:var(--kb-beauty-rose-deep)}
#result-summary .multi-result-total{margin-top:14px;font-size:1.08rem}
#result-summary .multi-result-total strong{font-size:1.2rem}

/* Compact merchant comparison: scanable thumbnails, no second result card. */
.retailer-comparison>summary{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:9px}
.retailer-comparison>summary .retailer-logo{min-width:0;width:78px;margin:0}
.retailer-comparison-thumbs{display:flex;align-items:center;min-width:0}
.comparison-mini-image{display:grid!important;width:36px!important;height:40px!important;margin-left:-7px;border:1px solid var(--kb-border);border-radius:7px;background:#fff;overflow:hidden}
.comparison-mini-image:first-child{margin-left:0}
.comparison-mini-image img{width:100%;height:100%;object-fit:contain}
.retailer-comparison-label{min-width:0;display:grid;gap:2px}
.retailer-comparison-label b{overflow-wrap:anywhere}
.retailer-comparison-label small{line-height:1.25;overflow-wrap:anywhere}
.retailer-comparison>summary>strong{white-space:nowrap;text-align:right}
@media(max-width:760px){
  #result-summary .best-solution-multi .results-card-heading h2,
  #result-summary .best-solution-card:not(.best-solution-multi) .results-card-heading h2{font-size:1.32rem!important;letter-spacing:.045em!important}
  #result-summary .multi-result-saving strong{font-size:3.1rem}
  #result-summary .multi-result-total{font-size:.98rem}
  #result-summary .multi-result-total strong{font-size:1.12rem}
  .retailer-comparison>summary{grid-template-columns:auto minmax(0,1fr) auto;gap:7px;padding:10px!important}
  .retailer-comparison>summary .retailer-logo{grid-column:1;grid-row:1 / span 2;width:76px}
  .retailer-comparison-thumbs{grid-column:2;grid-row:1 / span 2}
  .retailer-comparison-label{grid-column:2;grid-row:3;min-width:0}
  .retailer-comparison>summary>strong{grid-column:3;grid-row:1 / span 2;font-size:.82rem}
  .comparison-mini-image{width:34px!important;height:38px!important}
}

/* Keep the closed-card layout authoritative after legacy responsive rules. */
.retailer-comparison>summary.retailer-comparison-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:4px 12px;align-items:center}
.retailer-comparison>summary.retailer-comparison-summary .retailer-comparison-merchant{grid-column:1;grid-row:1;min-width:0}
.retailer-comparison>summary.retailer-comparison-summary .retailer-logo{display:flex;width:auto;min-width:0;margin:0;align-items:center;gap:8px}
.retailer-comparison>summary.retailer-comparison-summary .retailer-logo-name{min-width:0;overflow-wrap:anywhere}
.retailer-comparison>summary.retailer-comparison-summary .retailer-comparison-price{grid-column:2;grid-row:1}
.retailer-comparison>summary.retailer-comparison-summary .retailer-comparison-status{grid-column:1 / -1;grid-row:2}
.retailer-comparison>summary.retailer-comparison-summary .retailer-comparison-thumbs{display:none}
@media(max-width:760px){
  .retailer-comparison>summary.retailer-comparison-summary{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:4px 8px;padding:10px!important}
  .retailer-comparison>summary.retailer-comparison-summary .retailer-logo{width:auto}
}
/* Partial basket coverage is a result state, not a complete-price promise. */
.partial-basket-notice{margin:0 0 18px;padding:19px 20px;border:1px solid #f2c7d8;border-radius:16px;background:#fff3f7;color:var(--kb-beauty-ink,#241c24)}
.partial-basket-notice h2{margin:0;letter-spacing:.055em;font-size:clamp(1.25rem,2vw,1.375rem);line-height:1.2;color:#a83f6b}.partial-basket-subtitle{margin:9px 0 16px;color:var(--kb-beauty-ink,#4d4048);font-size:1rem;line-height:1.45}.partial-basket-missing{margin:0}.partial-basket-missing h3{margin:0 0 9px;color:#b65b7f;font-size:.76rem;font-weight:650;letter-spacing:.11em;line-height:1.2}.partial-basket-missing ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.partial-basket-missing li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-width:0;font-size:.82rem}.partial-basket-product-thumb{display:block}.partial-basket-product-thumb .product-image{width:30px;height:34px;border-radius:7px}.partial-basket-product-thumb .product-image img{width:30px;height:34px;object-fit:cover;border-radius:7px}.partial-basket-product-thumb .product-image-fallback{font-size:.75rem}.partial-basket-product-copy{display:grid;min-width:0;gap:1px}.partial-basket-product-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.partial-basket-product-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--kb-muted,#8d8490);font-size:.76rem}
@media(max-width:560px){.partial-basket-notice{padding:12px 13px}.partial-basket-product-copy strong,.partial-basket-product-copy small{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}}
