/* Nuancier « Nude lilas » (retours graphiste du 04/11/2026) — chargé après site.css.
   Dérivé des Pantone de l'étui : 7676 C (violet), Rubine Red C, 245 C, 705 C. */
:root {
  --fond: #F7F1EC;      /* fond nude */
  --beige-rose: #EFDDD3;/* blocs, dérivé du 705 C */
  --lilas: #E3D9EE;     /* blocs, dérivé du 7676 C */
  --prune: #4B3A6B;     /* titres, boutons, dérivé du 7676 C */
  --vieux-rose: #C8507F;/* accent rare, dérivé du Rubine Red C */
  --encre: #1F1A24;     /* texte */

  --noir: var(--encre);
  --peche: var(--beige-rose);
  --sable: var(--fond);
  --beige: var(--beige-rose);
  --gris-fond: #F1E6DF;
  --orange: var(--vieux-rose);
  --brique: var(--vieux-rose);
  --repere: var(--vieux-rose);
  --texte: #4A4253;
  --doux: #6F6679;
  --ligne: #EADDD5;
  --ligne-2: #D9CCD6;
  --titre: "Fredoka", "Poppins", system-ui, sans-serif;
  --capitales: "Fredoka", "Poppins", system-ui, sans-serif;
  --corps: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  --rayon: 22px;
  --rayon-btn: 999px;
}
body { background: var(--fond); color: var(--encre); font-family: var(--corps); font-size: 16px; }
a:hover { color: var(--prune); }
:focus-visible { outline-color: var(--vieux-rose); }

/* titres : police ronde Fredoka, casse normale */
h1, h2, h3, .h-page, .h-section, .caps, .serif, .gonfle, .titre-etui, .titre-etui .gonfle, .article h1, .article h2,
.heros2 h1, .duo h1.serif, .infos-produit h2, .carte-culotte h2.gonfle, .carte-produit h2.gonfle, .guide .caps, .manifeste-liste b {
  font-family: "Bagel Fat One", "Bagel Fat One", sans-serif !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
h1, .h-page { color: var(--prune); }
.serif em, h1 em, h2 em { font-style: normal; color: var(--vieux-rose); }
.titre-etui .script { font-family: "Poppins", sans-serif !important; font-weight: 500 !important; text-transform: none !important; font-size: .45em !important; color: var(--doux) !important; display: block; }
.surtitre { color: var(--rose-encre); font-family: "Poppins", sans-serif; font-weight: 700; letter-spacing: .16em; font-size: 12px; }

/* boutons pilule */
.btn { border-radius: 999px; font-family: "Poppins", sans-serif; text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 16px; min-height: 48px; padding: 0 26px; }
.btn-noir, .btn-orange { background: var(--prune); color: #fff; }
.btn-noir:hover, .btn-orange:hover { background: #3A2C55; color: #fff; }
.btn-contour { border: 1.5px solid var(--prune); color: var(--prune); background: #fff; }
.btn-contour:hover { background: var(--lilas); color: var(--prune); }
.pilule, .taille { border-radius: 999px; }

/* bandeau remboursement */
.bandeau { background: var(--prune); color: #fff; font-family: "Poppins", sans-serif; font-weight: 500; font-size: 13.5px; padding: 8px 16px; }
.bandeau a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.bandeau a:hover { color: #F3C9DA; }

/* en-tête : les deux logos */
.entete { background: rgba(247,241,236,.96); border-bottom: 1px solid var(--ligne); }
.entete .wrap { min-height: 72px; }
.logo-duo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; letter-spacing: 0 !important; font-size: 16px !important; }
.logo-duo img { width: 128px; height: auto; display: block; }
.logo-x { color: var(--vieux-rose); font: 600 20px/1 "Poppins", sans-serif; }
.logo-clari { font-family: "Comfortaa", "Poppins", sans-serif; font-weight: 400; font-size: 22px; line-height: .9; color: #6F5BA8; letter-spacing: -.01em; display: flex; flex-direction: column; align-items: flex-end; }
.logo-clari small { font-family: "Poppins", sans-serif; font-size: 7px; letter-spacing: .14em; text-transform: uppercase; opacity: 1; margin: 2px 0 0; color: #6F5BA8; }
.menu { font-family: "Poppins", sans-serif; text-transform: none; letter-spacing: 0; font-size: 15px; font-weight: 500; gap: 4px 24px; justify-content: flex-end; }
.menu a { color: var(--encre); }
.menu a:hover { color: var(--prune); }
.menu a[aria-current="page"] { border-bottom-color: var(--vieux-rose); color: var(--prune); font-weight: 600; }
.outils a, .burger { color: var(--encre); }
.compteur { background: var(--vieux-rose) !important; color: #fff !important; }
@media (max-width: 640px) {
  .logo-duo { gap: 6px; }
  .logo-duo img { width: 98px; }
  .logo-clari { font-size: 17px; }
  .logo-x { font-size: 16px; }
  .bandeau { font-size: 12.5px; }
}

/* pied de page */
.pied2 { background: var(--encre); color: #fff; }
.pied2 .pied2-grille { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 32px; padding-top: 48px; padding-bottom: 28px; }
.pied2 .col { display: flex; flex-direction: column; gap: 9px; font-size: 14.5px; }
.pied2 .col b, .pied2-lettre b { color: #fff; font-family: "Bagel Fat One", sans-serif; font-size: 18px; font-weight: 600; }
.pied2 a { color: #E9E1EE; text-decoration: underline; text-underline-offset: 3px; }
.pied2 a:hover { color: #fff; }
.pied2-rembourse p { color: #CFC5D6; font-size: 14px; }
.pied2-rembourse a:first-of-type { color: #F3B6CD; font-weight: 600; }
.pied2-lettre { padding-bottom: 32px; }
.pied2-lettre p { color: #CFC5D6; font-size: 14px; margin: 4px 0 12px; }
.pied2 .lettre { display: flex; gap: 8px; max-width: none; }
.pied2 .lettre input { flex: 1; min-height: 46px; border-radius: 999px; border: 0; padding: 0 18px; font: 400 15px "Poppins", sans-serif; background: #fff; color: var(--encre); }
.pied2 .lettre button { min-height: 46px; padding: 0 22px; border-radius: 999px; border: 0; background: var(--rose-encre); color: #fff; font: 600 15px "Poppins", sans-serif; cursor: pointer; }
.pied2 .age { display: flex; gap: 8px; align-items: center; font-size: 13px; color: #CFC5D6; margin-top: 10px; }
.pied2 .mentions { border-top: 1px solid #3A3342; }
.pied2 .mentions .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-top: 16px; padding-bottom: 16px; font-size: 12.5px; color: #A99FB1; }
.pied2 .mentions em { font-style: normal; opacity: .7; }
@media (max-width: 760px) { .pied2 .pied2-grille { grid-template-columns: 1fr 1fr; } .pied2-rembourse { grid-column: 1 / -1; } }

/* blocs et cartes : fond nude, coins arrondis */
.section-sable { background: var(--fond); }
.section-peche, .pour-toutes, .heros2 { background: var(--beige-rose); }
.engagements { background: #fff; }
.engagements svg { color: var(--prune); }
.a-valider, .avis-exemple, .co-provisoire, .mk-a-valider, .a-valider-inline { background: #FFF1D6; color: #5A4300; }

/* page Remboursement */
.rb-tete { background: var(--beige-rose); padding: 48px 0; }
.rb-tete-grille { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.rb-tete .chapo { margin: 14px 0 22px; max-width: 620px; }
.rb-chiffre { background: var(--prune); color: #fff; border-radius: 28px; padding: 32px; display: flex; flex-direction: column; gap: 6px; }
.rb-prix { font: 700 72px/1 "Bagel Fat One", sans-serif; color: #fff; }
.rb-chiffre span:nth-child(2) { font-weight: 600; }
.rb-detail { margin-top: 10px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.25); color: #E3D9EE; font-size: 15px; }
.rb-cartes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rb-carte { background: #fff; border-radius: 22px; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.rb-carte h2 { font-size: 24px; color: var(--prune); }
.rb-carte p { color: var(--texte); }
.rb-n { width: 34px; height: 34px; border-radius: 50%; background: var(--lilas); color: var(--prune); font: 700 16px/34px "Bagel Fat One", sans-serif; text-align: center; }
.rb-attention { margin-top: 18px; background: var(--lilas); border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.rb-attention h2 { font-size: 26px; color: var(--prune); }
.rb-boutons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.rb-source { margin-top: 18px; font-size: 13px; color: var(--doux); }
@media (max-width: 860px) { .rb-tete-grille, .rb-cartes { grid-template-columns: 1fr; } .rb-prix { font-size: 56px; } }

/* fiche produit : étui par taille, couches, entretien en 4 gestes */
.galerie img.etui-taille { object-fit: contain; background: var(--beige-rose); padding: 18px; }
.entretien-fiche { background: var(--fond); }
.ef-couches { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 32px; align-items: center; background: #fff; border-radius: 26px; padding: 28px; }
.ef-texte { display: flex; flex-direction: column; gap: 12px; }
.ef-texte p:not(.surtitre) { color: var(--texte); }
.ef-texte a { color: var(--prune); font-weight: 600; }
.ef-fig { margin: 0; }
.ef-fig img { width: 100%; height: auto; }
.ef-fig figcaption { text-align: center; font-weight: 600; color: var(--prune); margin-top: 6px; }
.couches-cartes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.couches-cartes li { background: var(--lilas); border-radius: 16px; padding: 14px; display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; color: var(--texte); }
.couches-cartes span { width: 26px; height: 26px; border-radius: 50%; background: var(--prune); color: #fff; font: 700 13px/26px "Bagel Fat One", sans-serif; text-align: center; }
.couches-cartes b { color: var(--encre); font-size: 14.5px; }
.ef-titre { margin: 36px 0 14px; }
.ef-gestes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ef-gestes li { background: var(--beige-rose); border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 6px; }
.ef-gestes svg { width: 24px; height: 24px; color: var(--vieux-rose); margin-bottom: 4px; }
.ef-gestes b { font-family: "Bagel Fat One", sans-serif; font-size: 17px; color: var(--encre); }
.ef-gestes span { font-size: 14px; color: var(--doux); }
.ef-duree { margin: 14px 0 18px; color: var(--texte); }
.ef-boutons { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 860px) { .ef-couches { grid-template-columns: 1fr; padding: 18px; } .ef-gestes { grid-template-columns: 1fr 1fr; } }

/* comparatif régulier / abondant : code couleur de l'étui (rose 245 C / magenta Rubine) */
.c-reg { color: #E77BB5; } .c-ab { color: #D4136F; }
.comparatif thead th.th-reg { background: #F29BC2; color: #fff; }
.comparatif thead th.th-ab { background: #D4136F; color: #fff; }
.comparatif thead th:first-child { background: transparent; }

/* ===== Accueil (maquette du 04/11) ===== */
.ac-centre { text-align: center; }
.ac-beige { background: var(--beige-rose); } .ac-lilas { background: var(--lilas); }
.ac-prune { background: var(--prune); color: #fff; } .ac-rose { background: var(--vieux-rose); color: #fff; }
.gouttes { color: var(--vieux-rose); letter-spacing: 1px; }
.ac-heros { background: var(--beige-rose); padding: 40px 0 48px; }
.ac-heros-grille { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px; align-items: center; }
.ac-heros-texte { display: flex; flex-direction: column; gap: 16px; }
.ac-heros h1 { font-size: clamp(38px, 5vw, 66px); line-height: 1.02; }
.ac-chapo { font-size: 17px; color: var(--texte); max-width: 520px; }
.ac-flux { display: flex; flex-wrap: wrap; gap: 8px; }
.ac-flux a { background: #fff; border-radius: 999px; padding: 9px 16px; font-weight: 600; font-size: 14px; text-decoration: none; color: var(--encre); display: inline-flex; gap: 8px; align-items: center; }
.ac-tailles { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 14px; }
.ac-tailles span { background: var(--lilas); color: var(--prune); border-radius: 8px; padding: 3px 8px; font-weight: 600; font-size: 13px; }
.ac-boutons { display: flex; flex-wrap: wrap; gap: 10px; }
.ac-heros-visuel { position: relative; }
.ac-photo { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center 30%; border-radius: 26px; }
.ac-etui { position: absolute; left: -28px; bottom: -26px; width: 34%; filter: drop-shadow(0 12px 22px rgba(60,30,60,.25)); transform: rotate(-6deg); }
.ac-pastille { position: absolute; right: 14px; top: 14px; width: 92px; height: 92px; border-radius: 50%; background: var(--vieux-rose); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; transform: rotate(8deg); }
.ac-pastille b { font: 700 30px/1 "Bagel Fat One", sans-serif; }
.ac-pictos { background: #fff; }
.ac-pictos .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding-top: 18px; padding-bottom: 18px; }
.ac-pictos img { width: 80px; height: 80px; }
.ac-badge { display: flex; align-items: center; gap: 10px; max-width: 220px; font-size: 13px; font-weight: 600; }
.ac-badge svg { flex: none; width: 56px; height: 56px; padding: 14px; border-radius: 50%; background: var(--prune); color: #fff; }
.ac-culottes .h-section { margin: 6px 0 24px; }
.ac-cartes { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ac-carte { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); background: #fff; border-radius: 26px; overflow: hidden; border: 1px solid var(--ligne); }
.ac-carte-visuel { position: relative; display: flex; align-items: center; justify-content: center; padding: 30px 16px; }
.ac-carte-visuel img { width: 78%; height: auto; mix-blend-mode: multiply; }
.ac-mesure { position: absolute; left: 10px; top: 10px; background: #fff; border-radius: 999px; padding: 4px 10px; font-size: 11.5px; font-weight: 600; }
.ac-carte-infos { padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.ac-carte-infos h3 { font-size: 22px; } .ac-carte-infos h3 a { color: var(--encre); text-decoration: none; }
.ac-carte-infos > p { color: var(--texte); font-size: 14.5px; }
.ac-flux-ligne { font-size: 12.5px !important; font-weight: 600; }
.ac-label { font-weight: 600; font-size: 13px !important; color: var(--encre) !important; margin-top: 4px; }
.ac-taille { display: flex; flex-wrap: wrap; gap: 6px; }
.ac-taille button { min-width: 44px; height: 38px; border-radius: 10px; border: 1.5px solid var(--ligne-2); background: #fff; font: 600 13px "Poppins", sans-serif; cursor: pointer; }
.ac-taille button[aria-pressed="true"] { background: var(--encre); color: #fff; border-color: var(--encre); }
.ac-lien { color: var(--prune); font-weight: 600; font-size: 13.5px; text-underline-offset: 3px; }
.ac-prix { font: 700 24px "Bagel Fat One", sans-serif !important; color: var(--encre) !important; margin-top: auto; }
.ac-ajouter { align-self: flex-start; }
.ac-note { text-align: center; font-size: 13.5px; color: var(--texte); margin-top: 16px; }
.ac-note a { color: var(--prune); font-weight: 600; }
.ac-taille-bloc { padding: 8px 0 40px; }
.ac-taille-carte { background: var(--prune); color: #fff; border-radius: 28px; padding: 32px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.ac-taille-texte { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.ac-taille-texte h2 { color: #fff; font-size: 32px; }
.ac-taille-texte p { color: #E8E0F0; }
.ac-icone { width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.15); display: flex; align-items: center; justify-content: center; }
.ac-icone svg { width: 22px; height: 22px; }
.ac-mini { background: #fff; color: var(--encre); border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.ac-mini label { font-size: 13px; font-weight: 600; }
.ac-mini input { min-height: 46px; border-radius: 12px; border: 1.5px solid var(--ligne-2); padding: 0 14px; font: 400 15px "Poppins", sans-serif; }
.ac-mini-res { display: flex; justify-content: space-between; align-items: center; background: var(--beige-rose); border-radius: 12px; padding: 12px 14px; font-weight: 600; font-size: 14px; }
.ac-mini-res b { font: 700 26px "Bagel Fat One", sans-serif; color: var(--vieux-rose); }
.ac-mini-lien { font-size: 13px; color: var(--prune); font-weight: 600; }
.ac-packs .h-section { margin: 6px 0 4px; }
.ac-sous { color: var(--texte); margin-bottom: 22px; }
.ac-packs-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ac-pack { border-radius: 26px; padding: 28px; display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--encre); }
.ac-pack.ac-prune { color: #fff; }
.ac-fois { text-align: center; font: 700 64px/1 "Bagel Fat One", sans-serif; }
.ac-slips { display: flex; justify-content: center; gap: 6px; margin-bottom: 14px; }
.ac-slips i { width: 40px; height: 24px; background: currentColor; clip-path: polygon(0 0, 100% 0, 100% 30%, 62% 100%, 38% 100%, 0 30%); }
.ac-pack b { font: 700 26px "Bagel Fat One", sans-serif; }
.ac-pack-bas { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 10px; }
.ac-pack-bas strong { font: 700 30px/1 "Bagel Fat One", sans-serif; display: flex; flex-direction: column; }
.ac-pack-bas small { font: 400 12px "Poppins", sans-serif; margin-top: 4px; }
.ac-pack .btn { pointer-events: none; }
.ac-kit { background: var(--beige-rose); padding: 44px 0; }
.ac-kit-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 36px; align-items: center; }
.ac-kit-grille > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 24px; }
.ac-kit-texte { display: flex; flex-direction: column; gap: 12px; }
.ac-kit-sur { display: flex; align-items: center; gap: 10px; }
.ac-coches { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ac-coches li::before { content: "✓"; color: var(--vieux-rose); font-weight: 700; margin-right: 10px; }
.ac-kit-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.ac-kit-bas > b { font: 700 32px "Bagel Fat One", sans-serif; }
.ac-petit { font-size: 12.5px; color: var(--doux); }
.ac-manifeste .h-section { margin: 6px 0 20px; }
.ac-tuiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ac-tuile { border-radius: 22px; padding: 22px; min-height: 190px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; }
.ac-tuile b { font: 700 clamp(30px, 3.4vw, 44px)/1 "Bagel Fat One", sans-serif; }
.ac-tuile.ac-lilas b { color: var(--prune); }
.ac-tuile span { font-size: 14px; }
.ac-large { grid-column: 1 / -1; }
.ac-avis { background: var(--lilas); }
.ac-avis-tete { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.ac-note-avis { font-weight: 600; font-size: 14px; }
.ac-articles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ac-articles a { background: #fff; border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--encre); border: 1px solid var(--ligne); }
.ac-articles b { font: 600 17px "Poppins", sans-serif; line-height: 1.3; }
.ac-articles em { font-style: normal; font-size: 13px; color: var(--prune); font-weight: 600; }
.ac-etiquette { align-self: flex-start; background: var(--lilas); color: var(--prune); border-radius: 999px; padding: 3px 10px; font-size: 11.5px; font-weight: 600; }
@media (max-width: 900px) {
  .ac-heros-grille, .ac-taille-carte, .ac-kit-grille, .ac-cartes, .ac-packs-grille { grid-template-columns: 1fr; }
  .ac-heros-visuel { order: -1; }
  .ac-etui { left: -6px; bottom: -18px; width: 32%; }
  .ac-pictos .wrap { justify-content: center; }
  .ac-pictos img { width: 64px; height: 64px; }
  .ac-tuiles, .ac-articles { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .ac-carte { grid-template-columns: 1fr; }
  .ac-carte-visuel { padding: 34px 16px 18px; }
  .ac-carte-visuel img { width: 52%; }
  .ac-taille-carte { padding: 22px; }
  .ac-tuiles, .ac-articles { grid-template-columns: 1fr; }
  .ac-tuile { min-height: 0; }
  .ac-badge { max-width: 46%; }
}
.pied2 .lettre-bloc { max-width: 640px; width: 100%; display: block; } .pied2 .lettre { width: 100%; }

/* logo B. conservé (Bagel Fat One), couleur prune */
.entete .logo { font-family: "Bagel Fat One", sans-serif; font-size: 34px; color: var(--prune); line-height: .9; letter-spacing: 0; text-decoration: none; }
.entete .logo small { font-family: "Poppins", sans-serif; font-size: 9.5px; letter-spacing: .14em; color: var(--encre); opacity: .75; }
.ac-mini select { min-height: 46px; border-radius: 12px; border: 1.5px solid var(--ligne-2); padding: 0 12px; font: 400 15px "Poppins", sans-serif; background: #fff; } .ac-mini select:disabled { opacity: .55; }

/* héros : étui droit, à côté de la photo, sans masquer les mannequins */
.ac-heros-visuel { display: grid; grid-template-columns: minmax(0, .34fr) minmax(0, 1fr); gap: 16px; align-items: end; }
.ac-heros-visuel .ac-photo { grid-column: 2; grid-row: 1; }
.ac-heros-visuel .ac-etui { position: static; grid-column: 1; grid-row: 1; width: 100%; transform: none; margin-bottom: -6px; }
@media (max-width: 900px) { .ac-heros-visuel { grid-template-columns: minmax(0, .3fr) minmax(0, 1fr); gap: 10px; } }
.ac-pack em, em.btn { font-style: normal; }

.ac-pack-photo { position: relative; display: block; margin-bottom: 10px; }
.ac-pack-photo img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; border-radius: 18px; display: block; }
.ac-pack-photo .ac-fois { position: absolute; left: 14px; top: 10px; font-size: 44px; color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.25); }

/* manifeste : 4 engagements sur une ligne, plus marketing */
.ac-engage { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ac-eng { border-radius: 24px; padding: 24px 22px; display: flex; flex-direction: column; gap: 8px; min-height: 250px; transition: transform .2s; }
.ac-eng:hover { transform: translateY(-4px); }
.ac-eng img { width: 64px; height: 64px; margin-bottom: 6px; }
.ac-eng-chiffre { font: 400 56px/1 "Bagel Fat One", sans-serif; }
.ac-eng b { font: 400 22px/1.1 "Bagel Fat One", sans-serif; }
.ac-eng span:not(.ac-eng-chiffre) { font-size: 14px; opacity: .9; }
.ac-eng a { margin-top: auto; font-weight: 600; font-size: 14px; color: inherit; }
.ac-eng.ac-beige .ac-eng-chiffre, .ac-eng.ac-lilas b { color: var(--prune); }
@media (max-width: 900px) { .ac-engage { grid-template-columns: 1fr 1fr; } .ac-eng { min-height: 0; } }
.ac-kit-grille > img.ac-mascotte { object-fit: cover; object-position: 60% center; }

/* nuancier Nude lilas prioritaire sur les anciennes ambiances de test */
html[data-ambiance] { --fond: #F7F1EC; --peche: #EFDDD3; --sable: #F7F1EC; --beige: #EFDDD3; --gris-fond: #F1E6DF; --orange: #C8507F; --brique: #C8507F; --noir: #1F1A24; }
body { background: #F7F1EC; }

/* héros : photo seule, agrandie */
.ac-heros-grille { grid-template-columns: minmax(0, .8fr) minmax(0, 1.35fr); }
.ac-heros-visuel { display: block; }
.ac-heros-visuel .ac-photo { aspect-ratio: 16 / 10.5; }
@media (max-width: 900px) { .ac-heros-grille { grid-template-columns: 1fr; } }

/* cartes d'accueil : prénom + carrousel */
.ac-sous-nom { font-size: 13px !important; font-weight: 600; color: var(--vieux-rose) !important; margin-top: -4px; }
.ac-carte-visuel { padding: 0; overflow: hidden; }
.ac-carrousel { position: relative; width: 100%; height: 100%; min-height: 300px; overflow: hidden; }
.ac-slides { display: flex; height: 100%; transition: transform .35s ease; }
.ac-slides img { flex: 0 0 100%; width: 100%; height: 100%; min-height: 300px; object-fit: contain; padding: 44px 22px 34px; mix-blend-mode: multiply; }
.ac-slides img.ac-slide-porte { object-fit: cover; padding: 0; mix-blend-mode: normal; object-position: center 30%; }
.ac-fleche { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: var(--prune); font: 600 22px/1 "Poppins", sans-serif; cursor: pointer; box-shadow: 0 2px 8px rgba(55,40,80,.15); z-index: 2; }
.ac-prec { left: 8px; } .ac-suiv { right: 8px; }
.ac-points { position: absolute; bottom: 10px; left: 0; right: 0; display: flex; justify-content: center; gap: 6px; z-index: 2; }
.ac-points i { width: 7px; height: 7px; border-radius: 50%; background: rgba(75,58,107,.3); }
.ac-points i.on { background: var(--prune); }
.ac-mesure { z-index: 3; }

/* combien m'en faut-il */
.combien { background: var(--fond); }
.combien-grille { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); gap: 32px; align-items: center; }
.combien-texte { display: flex; flex-direction: column; gap: 12px; color: var(--texte); }
.combien-texte a { color: var(--prune); font-weight: 600; }
.combien-tableau table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border-radius: 20px; overflow: hidden; font-size: 14.5px; }
.combien-tableau th, .combien-tableau td { padding: 14px; text-align: left; border-bottom: 1px solid var(--ligne); vertical-align: top; }
.combien-tableau thead th { background: var(--prune); color: #fff; font-weight: 600; }
.combien-tableau tbody th { background: var(--beige-rose); font-weight: 600; }
.combien-tableau td b { display: block; color: var(--encre); }
.combien-tableau td span { font-size: 13px; color: var(--vieux-rose); font-weight: 600; }
.combien-tableau tr:last-child th, .combien-tableau tr:last-child td { border-bottom: 0; }
.combien-astuce { margin-top: 10px; font-size: 14px; color: var(--texte); }
@media (max-width: 860px) { .combien-grille { grid-template-columns: 1fr; } .combien-tableau th, .combien-tableau td { padding: 10px 8px; font-size: 13px; } }

/* cup : à qui correspond chaque taille */
.cup2-carte .cup2-pourqui { font-size: 12.5px; line-height: 1.3; color: var(--texte); }
.cup2-carte b { font-size: 13.5px; line-height: 1.2; color: var(--prune); }
.cup-guide { background: var(--beige-rose); }
.cup-guide .h-section { color: var(--prune); margin-bottom: 18px; }
.cup-guide-liste { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cup-g { display: flex; gap: 16px; align-items: flex-start; background: #fff; border-radius: 20px; padding: 18px; }
.cup-g-badge { flex: none; min-width: 64px; text-align: center; background: var(--vieux-rose); color: #fff; border-radius: 14px; padding: 10px 8px; font: 400 18px/1 "Bagel Fat One", sans-serif; }
.cup-g b { display: block; color: var(--prune); font-size: 15.5px; line-height: 1.3; margin-bottom: 6px; }
.cup-g p { color: var(--texte); font-size: 14px; }
.cup-g small { display: block; margin-top: 6px; color: var(--vieux-rose); font-weight: 600; font-size: 12.5px; }
.cup-g-note { margin-top: 14px; background: var(--prune); color: #fff; border-radius: 16px; padding: 14px 18px; font-size: 14px; }
@media (max-width: 760px) { .cup-guide-liste { grid-template-columns: 1fr; } }
.duo > img.pr-mascotte { object-fit: cover; object-position: 55% center; background: var(--beige-rose); }

/* recos dans le panier */
.recos { background: var(--fond); border-radius: 16px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.recos-titre { font-weight: 700; font-size: 13px; color: var(--prune); letter-spacing: .04em; text-transform: uppercase; }
.reco, .reco-pack { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 12px; padding: 8px; text-decoration: none; color: var(--encre); }
.reco img, .reco-pack img { width: 52px; height: 52px; object-fit: cover; border-radius: 10px; flex: none; background: var(--beige-rose); }
.reco span, .reco-pack span { flex: 1; font-size: 13.5px; line-height: 1.3; display: flex; flex-direction: column; }
.reco small { color: var(--doux); font-size: 12px; }
.reco-pack { background: var(--lilas); }
.reco-pack b { color: var(--prune); }
.reco-pack em { font-style: normal; font-weight: 600; color: var(--prune); font-size: 12.5px; margin-top: 2px; }
.reco-ajout { flex: none; border: 0; border-radius: 999px; background: var(--prune); color: #fff; font: 600 13px "Poppins", sans-serif; padding: 8px 12px; cursor: pointer; text-decoration: none; }
.reco-ajout:hover { background: var(--vieux-rose); color: #fff; }

/* Premières règles : visuels entiers, plus compacts */
.duo > img.pr-mascotte { object-fit: contain; object-position: center; height: 340px; padding: 12px 0; }
@media (max-width: 860px) { .duo > img.pr-mascotte { height: 260px; } }
.kit-pr .kit-grille { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 32px; }
.kit-pr .kit-photos { max-width: 520px; }
.kit-pr .kit-photos > img:first-child { aspect-ratio: 4 / 3; object-fit: cover; }
.kit-pr .kit-photos .kit-flyer { max-width: 210px; justify-self: center; }
.kit-pr .kit-photos img:last-child { aspect-ratio: 1 / 1; object-fit: cover; }
.premieres-a-imprimer img, .article img.couverture { max-height: 320px; object-fit: cover; }
.duo > img.pr-mascotte { height: 380px; padding: 8px 0 0; }

/* page Culottes, charte de l'accueil */
.cu-tete { background: var(--beige-rose); padding: 36px 0; }
.cu-tete-grille { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.cu-tete .h-page { margin: 6px 0 12px; font-size: clamp(36px, 4.6vw, 60px); }
.cu-tete .ac-chapo { margin-bottom: 14px; }
.cu-pictos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; justify-items: center; }
.cu-pictos img { width: 76px; height: 76px; }
.cu-packs { background: var(--fond); }
.cu-packs-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cu-packs .ac-pack b { font-size: 24px; }
.cu-packs .ac-pack-photo img { aspect-ratio: 16 / 10; }
.cu-flux { background: var(--beige-rose); }
.cu-flux .comparatif { background: #fff; border-radius: 20px; overflow: hidden; border-collapse: separate; border-spacing: 0; }
.cu-flux .comparatif thead th { font-family: "Bagel Fat One", sans-serif; font-size: 18px; text-transform: none; }
.cu-flux .comparatif tbody th { color: var(--prune); font-weight: 600; }
.cu-flux .cmp-conseil a { color: var(--prune); font-weight: 600; }
@media (max-width: 900px) { .cu-tete-grille, .cu-packs-grille { grid-template-columns: 1fr; } .cu-pictos img { width: 62px; height: 62px; } }

/* gouttes à la place des points (flux) */
.gouttes-svg { display: inline-flex; gap: 2px; vertical-align: -2px; }
.gouttes-svg .gt { width: 10px; height: 13px; display: inline-block; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 13'%3E%3Cpath d='M5 1C5 1 1 6 1 8.5a4 4 0 0 0 8 0C9 6 5 1 5 1z' fill='none' stroke='%23C8507F' stroke-width='1.4'/%3E%3C/svg%3E"); }
.gouttes-svg .gt.on { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 13'%3E%3Cpath d='M5 1C5 1 1 6 1 8.5a4 4 0 0 0 8 0C9 6 5 1 5 1z' fill='%23C8507F' stroke='%23C8507F' stroke-width='1.4'/%3E%3C/svg%3E"); }
.comparatif thead .gouttes-svg .gt, .th-reg .gt, .th-ab .gt { filter: brightness(0) invert(1); }

/* kit Maïwenn refait */
.kit-pr .kit-photos2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 560px; align-items: stretch; }
.kit-photos2 .kit-hero { grid-column: 1 / -1; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 22px; }
.kit-photos2 .kit-flyer { transform: none; border-radius: 16px; box-shadow: 0 6px 18px rgba(55,40,80,.12); max-width: none; }
.kit-photos2 .kit-flyer img { width: 100%; height: 100%; object-fit: cover; }
.kit-photos2 .kit-mascotte { width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; background: #fff; border-radius: 16px; padding: 10px; }
@media (max-width: 520px) { .kit-pr .kit-photos2 { grid-template-columns: 1fr 1fr; } .kit-photos2 .kit-mascotte { display: block; } }
.kit-photos2 .kit-hero { aspect-ratio: 2 / 1; object-fit: contain; background: #EBD8CC; }

/* guide des tailles : personnage animé */
.mq-perso #mq-culotte-g, .mq-perso #mq-bras { transform-box: fill-box; transform-origin: center top; }
.ajust-grande #mq-culotte-g { animation: mq-glisse 2.2s ease-in-out infinite; }
.ajust-grande #mq-bras { animation: mq-tire-cotes 2.2s ease-in-out infinite; transform-origin: center; }
.ajust-petite #mq-culotte-g { animation: mq-serre 1s ease-in-out infinite; transform-origin: center; }
.ajust-petite #mq-tension { animation: mq-clignote 1s ease-in-out infinite; }
.ajust-pile #mq-svg, svg.ajust-pile { animation: mq-boing .6s ease-out 1; transform-origin: center bottom; }
@keyframes mq-glisse { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(10px); } }
@keyframes mq-tire-cotes { 0%, 100% { transform: scaleX(1); } 50% { transform: scaleX(1.04); } }
@keyframes mq-serre { 0%, 100% { transform: scaleX(1); } 50% { transform: scaleX(.96); } }
@keyframes mq-clignote { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@keyframes mq-boing { 0% { transform: scale(.97); } 60% { transform: scale(1.02); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .mq-perso * { animation: none !important; } svg.ajust-pile { animation: none; } }

/* page Culottes : format d'origine, charte Nude lilas */
.cu-ancien .h-page { color: var(--prune); }
.cu-ancien .carte-culotte { background: #fff; border-radius: 26px; overflow: hidden; border: 1px solid var(--ligne); }
.cu-ancien .carte-culotte .visuel { border-radius: 0; background: var(--beige-rose); }
.cu-ancien .carte-culotte[data-flux="nina"] .visuel { background: var(--lilas); }
.cu-ancien .carte-infos { padding: 18px 22px 22px; }
.cu-ancien .carte-culotte h2.gonfle { color: var(--prune); }
.cu-ancien .badge { background: var(--rose-encre); color: #fff; border-radius: 999px; }
.cu-ancien .pilule-flux { background: var(--lilas); color: var(--prune); border-radius: 999px; padding: 4px 12px; font-weight: 600; font-size: 13px; display: inline-flex; gap: 6px; align-items: center; }
.cu-ancien .pilule-flux.abondant { background: #F3D3E0; color: var(--vieux-rose); }
.cu-ml { font-weight: 700; font-size: 13px; color: var(--prune); margin-left: 6px; }
.cu-ancien .carte-points { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13.5px; color: var(--texte); }
.cu-ancien .carte-points li::before { content: "✓"; color: var(--vieux-rose); font-weight: 700; margin-right: 6px; }
.cu-ancien .carte-pack { background: #fff; border-radius: 22px; overflow: hidden; border: 1px solid var(--ligne); }
.cu-ancien .carte-pack .visuel { border-radius: 0; aspect-ratio: 16 / 10; }
.cu-ancien .carte-pack .visuel img { object-fit: cover; }
.cu-ancien .carte-pack .carte-infos h3 { color: var(--prune); }
.cu-ancien .sous-titre-page { color: var(--prune); margin: 36px 0 14px; }
.cu-ancien .note-packs a { color: var(--prune); font-weight: 600; }

/* page Culottes : mannequins par taille */
.cu-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.cu-filles { background: #fff; border: 1px solid var(--ligne); border-radius: 20px; padding: 12px 14px; }
.cu-filles p { font-size: 13px; font-weight: 600; color: var(--prune); margin-bottom: 8px; }
.cu-filles-liste { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; }
.cu-filles-liste button { border: 0; background: none; padding: 0; cursor: pointer; display: flex; flex-direction: column; gap: 3px; align-items: center; font: 600 12px "Poppins", sans-serif; color: var(--encre); }
.cu-filles-liste img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center 30%; border-radius: 10px; border: 2px solid transparent; background: var(--beige-rose); }
.cu-filles-liste button[aria-pressed="true"] img, .cu-filles-liste button:hover img { border-color: var(--prune); }
.cu-filles-liste button[aria-pressed="true"] span { background: var(--prune); color: #fff; border-radius: 999px; padding: 0 6px; }
@media (max-width: 520px) { .cu-filles-liste { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.visuel.cu-face-dos img { object-fit: cover; object-position: center 62%; background: var(--beige-rose); }
.visuel.cu-face-dos img { object-position: center 88%; }
.cu-ancien .carte-culotte .visuel.cu-face-dos img { object-fit: cover !important; object-position: center 82% !important; }
/* face/dos : silhouette entière, culotte bien visible */
.cu-ancien .carte-culotte .visuel.cu-face-dos { aspect-ratio: auto !important; height: auto !important; }
.cu-ancien .carte-culotte .visuel.cu-face-dos img { height: auto !important; aspect-ratio: 1000 / 1339; object-fit: contain !important; object-position: center !important; }

/* packs page Culottes refaits */
.cu-ancien .grille-packs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px; }
.cu-ancien .carte-pack .visuel { aspect-ratio: 16 / 10; background: var(--beige-rose); }
.cu-ancien .carte-pack:nth-child(3) .visuel { background: var(--lilas); }
.cu-ancien .carte-pack .visuel img { object-fit: contain !important; padding: 6px; }
.cu-ancien .carte-pack:first-child .visuel img { object-fit: cover !important; padding: 0; object-position: center; }
.cu-ancien .carte-pack .carte-bas { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cu-ancien .carte-pack .carte-bas .btn { margin-left: auto; min-height: 40px; padding: 0 18px; font-size: 14px; }
@media (max-width: 860px) { .cu-ancien .grille-packs { grid-template-columns: 1fr !important; } }

/* régulier ou abondant : deux cartes face à face */
.fx-cartes { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 16px; align-items: stretch; }
.fx-carte { background: #fff; border-radius: 26px; padding: 22px; display: flex; flex-direction: column; gap: 14px; border-top: 8px solid #F29BC2; }
.fx-carte.fx-ab { border-top-color: #D4136F; }
.fx-tete { display: flex; align-items: center; gap: 16px; }
.fx-tete img { width: 110px; height: auto; flex: none; }
.fx-flux { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #E77BB5; display: flex; align-items: center; gap: 6px; }
.fx-ab .fx-flux { color: #D4136F; }
.fx-tete h3 { font: 400 34px/1 "Bagel Fat One", sans-serif; color: var(--prune); margin-top: 4px; }
.fx-quand { color: var(--texte); font-size: 15.5px; }
.fx-ml { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; align-items: baseline; }
.fx-ml span { font-size: 13px; color: var(--doux); font-weight: 600; }
.fx-ml b { font: 400 40px/1 "Bagel Fat One", sans-serif; color: var(--encre); justify-self: end; }
.fx-jauge { grid-column: 1 / -1; display: block; height: 12px; border-radius: 999px; background: var(--beige-rose); overflow: hidden; }
.fx-jauge i { display: block; height: 100%; border-radius: 999px; background: #F29BC2; }
.fx-ab .fx-jauge i { background: #D4136F; }
.fx-points { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; flex-wrap: wrap; }
.fx-points li { background: var(--fond); border-radius: 999px; padding: 6px 12px; font-size: 13.5px; color: var(--texte); }
.fx-points b { color: var(--prune); }
.fx-carte .btn { align-self: flex-start; margin-top: auto; }
.fx-vs { align-self: center; width: 52px; height: 52px; border-radius: 50%; background: var(--prune); color: #fff; display: flex; align-items: center; justify-content: center; font: 400 18px "Bagel Fat One", sans-serif; }
.fx-commun { margin-top: 14px; background: var(--lilas); border-radius: 18px; padding: 14px 18px; display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 14px; color: var(--texte); }
.fx-commun b { color: var(--prune); margin-right: 6px; }
@media (max-width: 860px) { .fx-cartes { grid-template-columns: 1fr; } .fx-vs { justify-self: center; margin: -6px 0; } .fx-tete img { width: 88px; } }

/* bloc composition cliquable */
#ef-bloc { cursor: pointer; transition: box-shadow .2s, transform .2s; }
#ef-bloc:hover { box-shadow: 0 10px 30px rgba(55,40,80,.12); transform: translateY(-2px); }
#ef-bloc:focus-visible { outline: 3px solid var(--vieux-rose); outline-offset: 4px; }
.ef-liens { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 4px; }
.ef-texte a:focus { outline: none; }
.ef-texte a:focus-visible { outline: 2px solid var(--vieux-rose); outline-offset: 3px; border-radius: 6px; }
.ac-kit-sur img { width: 96px; height: 96px; flex: none; }

/* packs sur le fil à linge : titre en surimpression */
.carte-pack .visuel, .ac-pack-photo { position: relative; }
.pack-titre { position: absolute; left: 16px; top: 12px; color: #fff; font: 700 15px/1.05 "Poppins", sans-serif; text-transform: uppercase; letter-spacing: .02em; text-shadow: 0 2px 12px rgba(31,26,36,.35); display: flex; align-items: center; gap: 8px; }
.pack-titre b { font: 400 52px/1 "Bagel Fat One", sans-serif; }
.cu-ancien .carte-pack .pack-titre { left: auto; right: 14px; top: 10px; }
.cu-ancien .carte-pack .visuel img[src*="pack-fil"] { object-fit: cover !important; padding: 0; object-position: center 60%; }
.ac-pack-photo img[src*="pack-fil"] { object-position: center 60%; }

/* combien m'en faut-il : plus de contraste */
.combien-texte { color: var(--encre); }
.combien-texte b { color: var(--prune); }
.combien-tableau table { box-shadow: 0 8px 26px rgba(55,40,80,.14); border: 2px solid var(--prune); }
.combien-tableau thead th { background: var(--prune); font-size: 15px; }
.combien-tableau tbody th { background: #6A5690; color: #fff; font-size: 15px; }
.combien-tableau th, .combien-tableau td { border-bottom: 1px solid #D9CCD6; }
.combien-tableau td { border-left: 1px solid #EADDE8; }
.combien-tableau td b { font-size: 17px; color: var(--encre); }
.combien-tableau td span { color: #A83E68; font-size: 13.5px; }
.combien-tableau tbody tr:nth-child(even) td { background: #FBF6FA; }
.combien-astuce { color: var(--encre); }

/* durée de vie */
.duree-vie { display: flex; align-items: center; gap: 16px; margin-top: 14px; background: #fff; border-radius: 18px; padding: 12px 16px; }
.duree-vie img { width: 92px; height: 92px; flex: none; }
.duree-vie p { color: var(--encre); font-size: 14.5px; }
.duree-vie b { color: var(--prune); }

/* Premières règles : moins de beige, plus de contraste, aligné */
.pr-heros { background: var(--lilas); align-items: stretch; }
.pr-heros > img.pr-mascotte { flex: 1 1 46%; height: auto; min-height: 380px; max-height: 440px; background: var(--lilas); mix-blend-mode: multiply; padding: 18px 0; object-fit: contain; }
.pr-heros .texte { flex: 1 1 54%; background: var(--prune) !important; color: #fff; padding: 48px 56px; justify-content: center; }
.pr-heros .texte .surtitre { color: #F3B6CD; }
.pr-heros .texte h1 { color: #fff !important; }
.pr-heros .texte h1 em { color: #F3B6CD !important; }
.pr-heros .texte .chapo { color: #E8E0F0; }
.pr-heros .texte .btn { background: #fff; color: var(--prune); }
.pr-heros .texte .btn:hover { background: var(--vieux-rose); color: #fff; }
.kit-pr { background: #fff !important; }
.kit-pr .kit-grille { align-items: start; }
.kit-pr .kit-texte { padding-top: 6px; }
.kit-pr .kit-liste li { color: var(--encre); }
.kit-pr .kit-liste li b { color: var(--prune); }
.kit-pr .kit-note { color: var(--texte); }
@media (max-width: 860px) { .pr-heros .texte { padding: 28px 18px; } .pr-heros > img.pr-mascotte { min-height: 0; max-height: 280px; } }

.galerie img[src*="clara-v"] { object-fit: contain; background: #FBE9E4; }

/* 04/11 : un seul fond beige derrière toutes les culottes et mannequins, culotte à plat sans cadre */
.ac-carte-visuel.ac-lilas,
.cu-ancien .carte-culotte[data-flux="nina"] .visuel,
.cu-ancien .carte-pack:nth-child(3) .visuel { background: #EFDDD3 !important; }
.ac-slides img[src*="lou.webp"], .ac-slides img[src*="nina.webp"],
img[src$="img/lou.webp"], img[src$="img/nina.webp"] { padding: 0 !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; background: transparent !important; object-fit: contain; }
.galerie img, .galerie img.contenu, .galerie img.etui-taille, .cu-ancien .visuel, .carte-culotte .visuel { background: #EFDDD3 !important; }

/* ===== Page « Comprendre les flux » (construction.html), refonte 04/11 ===== */
.fl-heros { background: var(--fond); padding-bottom: 40px; }
.fl-h1 { font-size: clamp(34px, 5vw, 56px); line-height: 1.02; margin: 6px 0 14px; color: var(--prune); }
.fl-h1 span { display: block; font-size: .5em; color: var(--vieux-rose); margin-top: 10px; }
.fl-intro { max-width: 640px; font-size: 17px; color: var(--texte); margin: 0 0 28px; }
.fl-h2 { color: var(--prune); text-align: center; margin: 0 0 8px; }
.fl-sous { text-align: center; color: var(--texte); margin: 0 auto 26px; max-width: 620px; }
.fl-note { text-align: center; font-size: 13.5px; color: var(--doux); max-width: 760px; margin: 18px auto 0; }
.fl-note a { color: var(--prune); font-weight: 600; }
.fl-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.fl-carte { display: grid; grid-template-columns: 44% 1fr; background: #fff; border-radius: 24px; overflow: hidden; text-decoration: none; color: inherit; box-shadow: 0 10px 28px rgba(75,58,107,.08); transition: transform .2s; }
.fl-carte:hover { transform: translateY(-3px); }
.fl-carte img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; background: #EFDDD3; }
.fl-carte-txt { padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 6px; }
.fl-nom { font: 400 32px/1 "Bagel Fat One", var(--titre); color: var(--prune); }
.fl-flux { color: var(--vieux-rose); font-weight: 600; font-size: 14px; }
.fl-ml { font-size: 15px; color: var(--texte); }
.fl-ml b { font: 400 26px/1 "Bagel Fat One", var(--titre); color: var(--encre); }
.fl-quand { font-size: 14.5px; color: var(--texte); }
.fl-lien { margin-top: auto; padding-top: 8px; font-weight: 700; color: var(--prune); }
.fl-cycle-s { background: var(--prune); }
.fl-cycle-s .fl-h2, .fl-cycle-s .fl-sous { color: #fff; }
.fl-cycle-s .fl-note { color: #E3D9EE; }
.fl-cycle-s .fl-note a { color: #fff; }
.fl-cycle { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.fl-cycle li { background: #EFDDD3; border-radius: 18px; padding: 16px 10px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.fl-cycle li.n { background: #E3D9EE; }
.fl-cycle li.fl-nuit { background: #fff; }
.fl-j { font-size: 12.5px; font-weight: 700; color: var(--doux); text-transform: uppercase; letter-spacing: .04em; }
.fl-cycle b { font: 400 20px/1 "Bagel Fat One", var(--titre); color: var(--prune); }
.fl-anim { background: #fff; }
.fl-anim .flux-onglets { justify-content: center; }
.fl-anim .flux-schema, .fl-anim .flux-etapes li { background: var(--fond); border-color: transparent; border-radius: 20px; }
.fl-abs { background: #EFDDD3; }
.fl-barres { max-width: 760px; margin: 0 auto; display: grid; gap: 12px; }
.fl-barre { display: grid; grid-template-columns: 210px 1fr 110px; align-items: center; gap: 14px; background: #fff; border-radius: 16px; padding: 14px 18px; }
.fl-barre span { font-size: 14.5px; color: var(--texte); }
.fl-barre i { display: block; height: 14px; border-radius: 99px; background: #D9CCD6; width: calc(var(--v) / 34 * 100%); }
.fl-barre b { text-align: right; font-size: 15px; color: var(--encre); }
.fl-barre.c i { background: var(--vieux-rose); }
.fl-barre.n i { background: var(--prune); }
.fl-barre.c b, .fl-barre.n b { font: 400 22px/1 "Bagel Fat One", var(--titre); color: var(--prune); }
.fl-barre.c span, .fl-barre.n span { font-weight: 700; color: var(--prune); }
.fl-couches { background: var(--fond); }
.fl-couches .pile { background: #fff; border-color: transparent; border-radius: 22px; }
.fl-labo { background: #E3D9EE; }
.fl-labo .chiffres li { background: #fff; border-color: transparent; border-radius: 18px; }
.fl-labo .chiffres b { color: var(--prune); }
.fl-fin { background: #fff; }
.fl-cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 26px; }
@media (max-width: 900px) {
  .fl-duo { grid-template-columns: 1fr; }
  .fl-cycle { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .fl-carte { grid-template-columns: 40% 1fr; }
  .fl-nom { font-size: 26px; }
  .fl-cycle { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fl-barre { grid-template-columns: 1fr 80px; }
  .fl-barre i { grid-column: 1 / -1; grid-row: 2; }
}

/* 04/11 : bloc taille de l'accueil compacté en une bande */
.ac-taille-bloc { padding: 4px 0 28px; }
.ac-taille-bande { background: var(--prune); color: #fff; border-radius: 22px; padding: 18px 22px; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, .8fr) auto auto; gap: 14px; align-items: end; }
.ac-tb-titre h2 { color: #fff; font-size: 24px; margin: 0 0 2px; line-height: 1.1; }
.ac-tb-titre p { color: #E3D9EE; margin: 0; font-size: 14px; line-height: 1.35; }
.ac-tb-titre { align-self: center; }
.ac-tb-champ { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ac-tb-champ label { font-size: 12px; font-weight: 600; color: #E3D9EE; }
.ac-tb-champ select { min-height: 42px; border-radius: 12px; border: 0; padding: 0 10px; font: 400 14px "Poppins", sans-serif; background: #fff; color: var(--encre); width: 100%; }
.ac-tb-champ select:disabled { opacity: .6; }
.ac-tb-res { margin: 0; min-height: 42px; display: flex; align-items: center; gap: 10px; background: #EFDDD3; color: var(--prune); border-radius: 12px; padding: 0 14px; font-size: 13px; font-weight: 600; }
.ac-tb-res b { font: 400 22px/1 "Bagel Fat One", sans-serif; color: var(--vieux-rose); min-width: 28px; text-align: center; }
.ac-tb-lien { color: #fff; font-weight: 600; font-size: 13.5px; white-space: nowrap; align-self: center; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 980px) { .ac-taille-bande { grid-template-columns: 1fr 1fr; } .ac-tb-titre { grid-column: 1 / -1; } }
@media (max-width: 520px) { .ac-taille-bande { grid-template-columns: 1fr; } }

/* 04/11 : bloc kit Maïwenn de l'accueil, format compact */
.ac-kit { background: var(--fond); padding: 12px 0 36px; }
.ac-kit2 { position: relative; display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; align-items: center; background: #EFDDD3; border-radius: 26px; padding: 18px 28px 18px 18px; }
.ac-kit2-img { width: 100%; height: 280px; object-fit: contain; display: block; }
.ac-kit2-txt { display: flex; flex-direction: column; gap: 12px; padding-right: 110px; }
.ac-kit2-sur { margin: 0; }
.ac-kit2-txt h2 { margin: 0; font-size: clamp(26px, 3vw, 38px); color: var(--prune); line-height: 1.05; }
.ac-kit2-puces { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ac-kit2-puces li { background: #fff; border-radius: 16px; padding: 10px 16px; display: flex; flex-direction: column; min-width: 120px; }
.ac-kit2-puces b { font: 400 28px/1 "Bagel Fat One", sans-serif; color: var(--vieux-rose); }
.ac-kit2-puces li { font-weight: 700; color: var(--prune); font-size: 15px; }
.ac-kit2-puces span { font-weight: 400; font-size: 13px; color: var(--texte); }
.ac-kit2-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.ac-kit2-bas > b { font: 400 32px/1 "Bagel Fat One", sans-serif; color: var(--encre); }
.ac-kit2-badge { position: absolute; top: 18px; right: 22px; width: 110px; height: 110px; transform: rotate(8deg); }
@media (max-width: 760px) {
  .ac-kit2 { grid-template-columns: 1fr; padding: 18px; }
  .ac-kit2-img { height: 220px; }
  .ac-kit2-txt { padding-right: 0; }
  .ac-kit2-badge { width: 80px; height: 80px; top: 12px; right: 12px; }
}

/* 04/11 : bloc réassurance (remplace le manifeste) */
.ac-preuves { background: #fff; }
.ac-pv-tete { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 24px; align-items: end; margin-bottom: 26px; }
.ac-pv-tete h2 { margin: 4px 0 0; color: var(--prune); }
.ac-pv-intro { margin: 0; color: var(--texte); font-size: 15.5px; }
.ac-pv-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ac-pv { background: var(--fond); border: 1px solid var(--ligne); border-radius: 22px; padding: 22px 20px 18px; display: flex; flex-direction: column; gap: 4px; }
.ac-pv img { width: 56px; height: 56px; margin-bottom: 8px; }
.ac-pv-chiffre { font: 400 46px/1 "Bagel Fat One", sans-serif; color: var(--prune); }
.ac-pv-titre { font-weight: 700; font-size: 16px; color: var(--encre); }
.ac-pv span { font-size: 14px; color: var(--texte); line-height: 1.45; margin-top: 4px; }
.ac-pv small { margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--ligne-2); font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--vieux-rose); }
.ac-pv-fort { background: var(--prune); border-color: var(--prune); }
.ac-pv-fort .ac-pv-chiffre, .ac-pv-fort .ac-pv-titre { color: #fff; }
.ac-pv-fort span { color: #E3D9EE; }
.ac-pv-fort small { color: #F3B6CD; border-top-color: rgba(255,255,255,.25); }
.ac-pv-bande { list-style: none; margin: 14px 0 0; padding: 14px 18px; background: #EFDDD3; border-radius: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ac-pv-bande li { font-size: 13.5px; color: var(--texte); display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; }
.ac-pv-bande li + li { border-left: 1px solid rgba(75,58,107,.18); padding-left: 12px; }
.ac-pv-bande b { font: 400 18px/1 "Bagel Fat One", sans-serif; color: var(--prune); }
.ac-pv-bande a { color: var(--prune); font-weight: 700; font-size: 12.5px; }
@media (max-width: 980px) {
  .ac-pv-tete { grid-template-columns: 1fr; }
  .ac-pv-grille, .ac-pv-bande { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-pv-bande li + li { border-left: 0; padding-left: 0; }
}
@media (max-width: 520px) { .ac-pv-grille, .ac-pv-bande { grid-template-columns: 1fr; } }

/* 04/11 : bloc avis compacté */
.ac-avis { padding: 34px 0 !important; }
.ac-avis-tete { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px !important; }
.ac-avis-tete h2 { font-size: clamp(24px, 2.6vw, 32px) !important; margin: 0 !important; }
.ac-avis .avis-exemple { margin: 0 0 14px !important; padding: 4px 10px !important; font-size: 12px !important; display: inline-block; }
.ac-avis .avis { gap: 12px !important; }
.ac-avis .avis figure { padding: 16px 18px !important; margin: 0; border-radius: 18px !important; display: flex; flex-direction: column; gap: 8px; }
.ac-avis .avis .etoiles { font-size: 13px; }
.ac-avis .avis blockquote { margin: 0 !important; font-size: 14.5px !important; line-height: 1.45 !important; }
.ac-avis .avis figcaption { font-size: 12.5px !important; margin: 0 !important; }

/* 04/11 : page Culottes, les deux cartes gardent le même format quelle que soit la taille choisie */
.cu-ancien .carte-culotte .visuel.double,
.cu-ancien .carte-culotte .visuel.cu-face-dos { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 !important; padding: 0 !important; aspect-ratio: 2000 / 1339 !important; height: auto !important; align-items: stretch; }
.cu-ancien .carte-culotte .visuel.double img,
.cu-ancien .carte-culotte .visuel.cu-face-dos img { width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover !important; object-position: center !important; border-radius: 0 !important; padding: 0 !important; margin: 0 !important; }
/* 04/11 : photos des cartes Culottes moins hautes, cadrées du buste aux cuisses */
.cu-ancien .carte-culotte .visuel.double,
.cu-ancien .carte-culotte .visuel.cu-face-dos { aspect-ratio: 16 / 9.5 !important; }
.cu-ancien .carte-culotte .visuel.double img,
.cu-ancien .carte-culotte .visuel.cu-face-dos img { object-position: center 58% !important; }
.cu-ancien .carte-culotte .visuel.double img[src*="lou.webp"],
.cu-ancien .carte-culotte .visuel.double img[src*="nina.webp"] { object-fit: contain !important; object-position: center !important; padding: 6% !important; }
.cu-ancien .carte-culotte .visuel.double,
.cu-ancien .carte-culotte .visuel.cu-face-dos { grid-template-rows: minmax(0, 1fr) !important; }
.cu-ancien .carte-culotte .visuel.double img,
.cu-ancien .carte-culotte .visuel.cu-face-dos img { min-height: 0 !important; max-height: 100% !important; }

/* 04/11 : onglets flux + schéma animé réintégrés sur la page Culottes */
.cu-schema { background: #fff; border-radius: 24px; padding: 22px; margin: 18px 0 8px; }
.cu-schema-tete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.cu-schema-tete h3 { margin: 0; font: 400 24px/1.1 "Bagel Fat One", sans-serif; color: var(--prune); }
.cu-schema .flux-onglets { margin: 0; }
.cu-schema .flux-schema, .cu-schema .flux-etapes li { background: var(--fond); border-color: transparent; border-radius: 18px; }
.cu-schema-lien { display: inline-block; margin-top: 12px; color: var(--prune); font-weight: 700; }

/* 04/11 : Nolwenn sans vue de dos -> la culotte à plat à côté de la mannequin */
.cu-ancien .carte-culotte .visuel.cu-face-dos img.cu-plat { object-fit: contain !important; padding: 8% !important; background: #EFDDD3 !important; }

/* 04/11 : fiche Clara — pictos ronds sous les photos, photos au format, mode d'emploi sous la galerie */
.pastilles-produit.pictos-cup { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; list-style: none; padding: 0; margin: 14px 0 0; }
.pastilles-produit.pictos-cup li { background: none !important; border: 0 !important; padding: 0 !important; display: flex; justify-content: center; box-shadow: none !important; }
.pastilles-produit.pictos-cup img { width: 100%; max-width: 104px; height: auto; display: block; }
.galerie.galerie-cup > img, .galerie.galerie-cup > figure img { aspect-ratio: 4 / 3 !important; object-fit: contain !important; height: auto !important; background: #FBE9E4 !important; }
.galerie.galerie-cup > img[src*="-chair"], .galerie.galerie-cup > img[src*="etui"] { padding: 4% !important; }
.cup-usage-haut { padding: 18px 0 0 !important; background: none !important; }
.cup-usage-haut .wrap { padding: 0 !important; max-width: none !important; }
.cup-usage-haut .cup2-tete { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.cup-usage-haut .cup2-tete h2 { font-size: 22px !important; margin: 0; }
.cup-usage-haut .cup2-tete p { margin: 0; font-size: 13px; color: var(--doux); }
.cup-usage-haut .cup2-etapes { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.cup-usage-haut .cup2-etapes li { background: #FBE9E4; padding: 10px; font-size: 12.5px; line-height: 1.35; }
.cup-usage-haut .cup2-etapes svg { width: 34px; height: 34px; }
.cup-usage-haut .cup2-etapes b { font-size: 13px; }
@media (max-width: 700px) { .cup-usage-haut .cup2-etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pastilles-produit.pictos-cup { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.galerie-zone:has(.galerie-cup) { position: static !important; }

/* 04/11 : Journal en BD, images plus petites */
.article-carte img { height: 190px !important; aspect-ratio: auto; object-fit: cover; object-position: center 40%; }
.article img.couverture { max-height: 260px !important; width: 100%; object-fit: cover; object-position: center 40%; border-radius: 18px; }
.cu-flux .cu-schema { margin-top: 6px; }

/* 04/11 (bis) : fiche Clara aérée et lisible */
.galerie.galerie-cup > img[src*="-chair"] { padding: 0 !important; object-fit: cover !important; background: #EFDDD3 !important; }
.pastilles-produit.pictos-cup { background: #fff; border-radius: 22px; padding: 18px 16px 16px; margin: 22px 0 0 !important; gap: 8px !important; }
.pastilles-produit.pictos-cup li { flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.pastilles-produit.pictos-cup img { max-width: 76px !important; }
.pastilles-produit.pictos-cup li::after { content: attr(data-legende); font-size: 13.5px; font-weight: 600; line-height: 1.25; color: var(--prune); max-width: 130px; }
.cup-usage-haut { margin-top: 22px; background: #fff !important; border-radius: 22px; padding: 22px 22px 18px !important; }
.cup-usage-haut .cup2-tete { margin-bottom: 16px !important; }
.cup-usage-haut .cup2-tete h2 { font-size: 26px !important; color: var(--prune); }
.cup-usage-haut .cup2-tete p { font-size: 14px !important; }
.cup-usage-haut .cup2-etapes { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px 18px !important; counter-reset: none; }
.cup-usage-haut .cup2-etapes li { display: grid !important; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 12px; row-gap: 2px; align-items: start; background: var(--fond) !important; border-radius: 16px; padding: 14px 16px !important; font-size: 14.5px !important; line-height: 1.45 !important; color: var(--texte); }
.cup-usage-haut .cup2-etapes li > svg { grid-row: 1 / span 2; width: 40px !important; height: 40px !important; margin: 0 !important; color: var(--prune); }
.cup-usage-haut .cup2-etapes li > b { font-size: 15.5px !important; color: var(--encre); }
.cup-usage-haut .cup2-etapes li > b i { color: var(--vieux-rose); font-style: normal; margin-right: 4px; }
.cup-usage-haut .cup2-etapes li:last-child { grid-column: 1 / -1; }
@media (max-width: 600px) { .cup-usage-haut .cup2-etapes { grid-template-columns: 1fr !important; } }

.gt-tableau td b { color: var(--vieux-rose); }
.gt-tableau { font-size: 14.5px; }
.galerie.galerie-cup > img[src*="-chair"] { object-fit: contain !important; padding: 5% !important; background: #EFDDD3 !important; }
.kit-photos2 .kit-hero { aspect-ratio: 16 / 9.15 !important; object-fit: cover; object-position: center; }

/* 04/11 : Clara — un seul fond derrière la cup, pictos plus petits et équilibrés */
.galerie.galerie-cup > img[src*="-chair"] { background: #EFE5D8 !important; }
.pastilles-produit.pictos-cup { display: flex !important; justify-content: space-evenly; align-items: flex-start; gap: 6px !important; padding: 14px 10px 12px !important; }
.pastilles-produit.pictos-cup li { flex: 1 1 0; min-width: 0; gap: 6px !important; }
.pastilles-produit.pictos-cup img { width: 58px !important; max-width: 58px !important; height: 58px !important; }
.pastilles-produit.pictos-cup li::after { font-size: 12px !important; font-weight: 600 !important; max-width: 110px; }

/* 04/11 : taille de cup choisie en rose (et non en noir) */
.achat .cup2-carte[aria-pressed="true"], .cup2-carte[aria-pressed="true"] { background: #FBE3EC !important; color: var(--encre) !important; border-color: var(--vieux-rose) !important; box-shadow: 0 0 0 2px var(--vieux-rose) inset !important; }
.achat .cup2-carte[aria-pressed="true"] b, .cup2-carte[aria-pressed="true"] b { color: var(--vieux-rose) !important; }
.achat .cup2-carte[aria-pressed="true"] small, .cup2-carte[aria-pressed="true"] small, .cup2-carte[aria-pressed="true"] .cup2-pourqui { color: var(--texte) !important; }
.achat .cup2-carte[aria-pressed="true"] .cup2-img img { filter: drop-shadow(0 1px 1px rgba(60, 40, 30, .25)) !important; }

/* 04/11 : zoom des photos produit */
#galerie img { cursor: zoom-in; }
.zoom-boite { position: fixed; inset: 0; z-index: 9999; background: rgba(31, 26, 36, .88); display: flex; align-items: center; justify-content: center; padding: 48px 70px; }
.zoom-boite[hidden] { display: none; }
.zoom-boite img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 14px; background: #FBE9E4; box-shadow: 0 20px 60px rgba(0,0,0,.35); cursor: zoom-out; }
.zoom-fermer { position: absolute; top: 14px; right: 18px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; color: var(--prune); font-size: 26px; line-height: 1; cursor: pointer; }
.zoom-fleche { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: 0; background: #fff; color: var(--prune); font-size: 28px; cursor: pointer; }
.zoom-prec { left: 14px; } .zoom-suiv { right: 14px; }
.zoom-compte { position: absolute; bottom: 12px; left: 0; right: 0; text-align: center; color: #fff; font-size: 14px; margin: 0; }
html.zoom-ouvert { overflow: hidden; }
@media (max-width: 600px) { .zoom-boite { padding: 56px 8px; } .zoom-fleche { top: auto; bottom: 10px; transform: none; } }
.ac-articles a[href="calendrier-regles.html"] { background: #E3D9EE; }
.ac-articles .ac-large { grid-column: span 2; } @media (max-width: 600px) { .ac-articles .ac-large { grid-column: auto; } }

/* 04/11 : suggestions d'achat sur la fiche, le composeur et la confirmation */
.p-recos { margin-top: 14px; background: var(--fond); border-radius: 16px; padding: 14px; }
.p-recos:empty { display: none; }
.p-recos-titre { margin: 0 0 10px; font: 600 13px "Poppins", sans-serif; color: var(--prune); letter-spacing: .04em; text-transform: uppercase; }
.p-recos-liste { display: flex; flex-direction: column; gap: 10px; }
.p-reco { display: flex; gap: 12px; align-items: center; background: #fff; border-radius: 14px; padding: 8px; }
.p-reco-img { flex: none; width: 64px; height: 76px; border-radius: 10px; overflow: hidden; background: var(--beige-rose); display: block; }
.p-reco-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-reco-img.contenu img { object-fit: contain; padding: 8px; background: #EFE5D8; }
.p-reco-txt { flex: 1; display: flex; flex-direction: column; gap: 3px; font-size: 13.5px; line-height: 1.3; color: var(--texte); min-width: 0; }
.p-reco-txt a { color: var(--noir); text-decoration: none; }
.p-reco-txt b { font-size: 15px; }
.p-reco-txt .reco-ajout { align-self: flex-start; margin-top: 4px; }
.reco-lien { background: #fff; color: var(--prune); border: 1.5px solid var(--prune); }
.reco-lien:hover { background: var(--prune); color: #fff; }
.p-recos-pack { margin-top: 10px; }
.co-sug-note { margin: -6px 0 12px; color: var(--doux); font-size: 14px; }

/* 04/11 : codes LPP sur la page remboursement */
.rb-codes { font-size: 14px; color: var(--doux); margin-top: 8px; }
.rb-codes b { color: var(--prune); }

/* 04/11 : formulaire d'avis */
.avis-note { margin-top: 12px; }
.avis-note .co-mode-nom { color: var(--vieux-rose); letter-spacing: 2px; }
#form-avis textarea { width: 100%; font: inherit; padding: 12px; border: 1.5px solid var(--ligne); border-radius: 12px; }

/* 04/11 : pages légales */
.article h2 { margin-top: 28px; }
.mentions a { color: inherit; }

/* 04/11 : contraste (axe, WCAG AA) — encre rose pour le texte et les boutons sur fond beige : 5,1:1 ; blanc dessus : 6,8:1 */
:root { --rose-encre: #9E3360; }
.co-sug em, .co-recap .co-total, .flux-ml b { color: var(--rose-encre); }
.p-reco-img { outline: none; }
/* 04/11 : contraste, suite — petits textes en rose : encre plus foncée ; note du pied de page plus claire */
.ac-sous-nom, .ac-pv small, .gt-tab td b, .cu-flux .abondant, .abondant, .c-reg, .c-ab, .flux-ml b { color: var(--rose-encre); }
.mentions em { color: #BDB4C6; }
.ac-carte-infos .ac-sous-nom, .gt-tab tbody td b, .pilule-flux.abondant, .cu-flux .pilule-flux.abondant { color: var(--rose-encre) !important; }
.ac-pv-fort small { color: #F3B6CD !important; }
/* 04/11 : contraste, fin — tableau des tailles et pièces du composeur */
table td > b, .gt-tab td b, .gt-tableau td b { color: var(--rose-encre) !important; }
.piece b, .piece span { color: var(--doux) !important; }

/* 04/11 : Journal, version éditoriale (mature, pour tous les âges) */
.jr-tete { max-width: 760px; margin-bottom: 28px; }
.jr-titre { font: 400 clamp(34px, 5vw, 56px)/1.05 "Bagel Fat One", sans-serif; color: var(--prune); margin: 6px 0 12px; letter-spacing: 0; }
.jr-chapo { margin: 0; max-width: 680px; }
.jr-une { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 0; background: #fff; border-radius: 22px; overflow: hidden; text-decoration: none; color: var(--noir); margin: 0 0 36px; box-shadow: 0 10px 30px rgba(55, 40, 80, .06); }
.jr-une img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; display: block; }
.jr-une-texte { display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 36px 40px; }
.jr-une-titre { font: 400 clamp(26px, 3vw, 36px)/1.12 "Bagel Fat One", sans-serif; color: var(--prune); }
.jr-une-chapo { color: var(--texte); font-size: 16px; line-height: 1.5; }
.jr-lire { font: 600 14px "Poppins", sans-serif; color: var(--rose-encre); margin-top: 6px; }
.jr-une:hover .jr-lire { text-decoration: underline; }
.jr-nav { display: flex; flex-wrap: wrap; gap: 8px 22px; border-top: 1px solid var(--ligne); border-bottom: 1px solid var(--ligne); padding: 14px 0; margin-bottom: 40px; }
.jr-nav a { font: 600 14px "Poppins", sans-serif; color: var(--prune); text-decoration: none; letter-spacing: .02em; }
.jr-nav a:hover { color: var(--rose-encre); }
.jr-rubrique { margin-bottom: 48px; }
.jr-rubrique-tete { display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; margin-bottom: 18px; }
.jr-rubrique-tete h2 { font: 400 28px/1.1 "Bagel Fat One", sans-serif; color: var(--prune); margin: 0; }
.jr-rubrique-tete p { margin: 0; color: var(--doux); font-size: 15px; }
.jr-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.jr-grille-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jr-carte { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--noir); }
.jr-carte img { width: 100%; aspect-ratio: 16 / 11; height: auto !important; object-fit: cover; border-radius: 16px; background: var(--beige-rose); transition: transform .25s; }
.jr-carte:hover img { transform: translateY(-3px); }
.jr-carte .surtitre { margin-top: 6px; }
.jr-carte-titre { font: 600 19px/1.25 "Poppins", sans-serif; color: var(--prune); }
.jr-carte-txt { color: var(--texte); font-size: 14.5px; line-height: 1.45; }
.jr-note { margin: 10px 0 0; font-size: 13.5px; color: var(--doux); }
@media (max-width: 900px) { .jr-grille { grid-template-columns: 1fr 1fr; } .jr-une { grid-template-columns: 1fr; } .jr-une img { min-height: 240px; max-height: 320px; } .jr-une-texte { padding: 24px; } }
@media (max-width: 600px) { .jr-grille, .jr-grille-2 { grid-template-columns: 1fr; } }

/* 04/11 soir : Journal en liste dense, petites vignettes */
.jr-nav { margin-bottom: 30px; }
.jr-rubrique { margin-bottom: 36px; }
.jr-liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; }
.jr-item { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; align-items: center; padding: 10px; border-radius: 14px; text-decoration: none; color: var(--noir); background: #fff; border: 1px solid transparent; }
.jr-item:hover { border-color: var(--ligne); }
.jr-item img { width: 112px; height: 80px; object-fit: cover; border-radius: 10px; background: var(--beige-rose); display: block; }
.jr-item > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.jr-item .surtitre { font-size: 10.5px; letter-spacing: .12em; }
.jr-item b { font: 600 15.5px/1.3 "Poppins", sans-serif; color: var(--prune); }
.jr-item em { font-style: normal; font-size: 13px; line-height: 1.35; color: var(--texte); }
@media (max-width: 760px) { .jr-liste { grid-template-columns: 1fr; gap: 8px; } .jr-item { grid-template-columns: 88px minmax(0, 1fr); padding: 8px; } .jr-item img { width: 88px; height: 64px; } }
