/* Fiches préparations — module fiches-prepa (plugin ljd-modules). GÉNÉRÉ depuis les fiches
   de produits/fiches-preparations/ par construire-module-prepa.py — ne pas éditer à la main.
   Tokens : variables du thème (--wp--preset--color--*) avec replis charte v1.2. */
  @font-face{font-family:'Montserrat';font-style:normal;font-weight:400 600;font-display:swap;src:url('/wp-content/themes/juste-dose/assets/fonts/montserrat-variable-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:'Montserrat';font-style:normal;font-weight:400 600;font-display:swap;src:url('/wp-content/themes/juste-dose/assets/fonts/montserrat-variable-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
  @font-face{font-family:'Playfair Display';font-style:italic;font-weight:500 600;font-display:swap;src:url('/wp-content/themes/juste-dose/assets/fonts/playfair-display-italic-variable-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:'Playfair Display';font-style:italic;font-weight:500 600;font-display:swap;src:url('/wp-content/themes/juste-dose/assets/fonts/playfair-display-italic-variable-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
  .fprep{
    --vert:var(--wp--preset--color--vert,#1F4D3A); --dore:var(--wp--preset--color--dore,#C9942B); --dore-texte:var(--wp--preset--color--dore-texte,#876114);
    --creme:var(--wp--preset--color--creme,#F7F0E3); --blanc-casse:var(--wp--preset--color--blanc-casse,#FCFAF3); --blanc:var(--wp--preset--color--blanc,#FFFFFF);
    --encre:var(--wp--preset--color--encre,#22281F); --sable:var(--wp--preset--color--sable,#F0E6D0);
    --vert-hover:var(--wp--preset--color--vert-hover,#173B2C); --gris-texte:var(--wp--preset--color--gris-texte,#565B52);
    --bordure:var(--wp--preset--color--bordure,#E3DCCB); --bordure-sable:var(--wp--preset--color--bordure-sable,#E8DFC9);
    --alerte:var(--wp--preset--color--alerte,#9A3324); --alerte-fond:var(--wp--preset--color--alerte-fond,#F8EFEF); --alerte-bord:var(--wp--preset--color--alerte-bord,#E5CFCF);
  }
  .fprep *{margin:0;padding:0;box-sizing:border-box}
  .fprep{font-family:'Montserrat',sans-serif;background:var(--blanc-casse);color:var(--encre);font-size:16px;line-height:1.65;padding:40px 16px 70px}
  .fprep .fiche{max-width:700px;margin:0 auto;background:var(--blanc);border:1px solid var(--bordure);border-radius:18px;overflow:hidden}
  .fprep .entete{background:var(--vert);padding:26px 34px 22px;color:var(--creme)}
  .fprep .entete .surtitre{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--dore);margin-bottom:8px}
  .fprep .entete h1{color:var(--creme);font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:clamp(27px,7vw,36px);line-height:1.2}
  .fprep .entete .classe{margin-top:6px;font-size:14px;color:var(--creme);opacity:.92}
  .fprep .aisha-bandeau{display:flex;align-items:center;gap:14px;background:var(--sable);padding:12px 34px;border-bottom:1px solid var(--bordure-sable)}
  .fprep .aisha-bandeau .rond{width:42px;height:42px;border-radius:50%;background:var(--vert);color:var(--creme);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-style:italic;font-size:20px;flex-shrink:0}
  .fprep .aisha-bandeau .txt{font-size:14px;color:var(--gris-texte)}
  .fprep .aisha-bandeau .txt b{color:var(--vert);font-weight:600}
  .fprep .illus{position:relative;border-bottom:1px solid var(--bordure-sable)}
  .fprep .illus img{display:block;width:100%;height:auto}
  .fprep .illus .ia{position:absolute;right:10px;bottom:10px;background:rgba(34,40,31,.72);color:var(--creme);font-size:11px;letter-spacing:.3px;padding:4px 10px;border-radius:999px}
  .fprep .niveau{display:flex;align-items:center;gap:14px;background:var(--creme);padding:13px 34px;border-bottom:1px solid var(--bordure-sable);flex-wrap:wrap}
  .fprep .niveau .label{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--dore-texte);white-space:nowrap}
  .fprep .jauge{flex:1;display:flex;align-items:center;max-width:240px;min-width:140px}
  .fprep .jauge .ligne{flex:1;height:2px;background:var(--vert)}
  .fprep .jauge .tick{width:2px;height:10px;background:var(--vert)}
  .fprep .jauge .tick-or{width:6px;height:22px;background:var(--dore);border-radius:2px;margin:0 -2px;z-index:1}
  .fprep .niveau .texte{font-size:13px;color:var(--gris-texte);font-weight:500}
  .fprep .corps{padding:30px 34px}
  .fprep .bloc{margin-bottom:28px}
  .fprep .bloc:last-child{margin-bottom:0}
  .fprep .bloc .titre{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  .fprep .bloc .titre .trait{width:6px;height:18px;background:var(--dore);border-radius:2px}
  .fprep .bloc .titre h2{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:22px;color:var(--vert)}
  .fprep .bloc p{font-size:16px;color:var(--encre);margin-bottom:10px}
  .fprep .bloc p:last-child{margin-bottom:0}
  .fprep .bloc ul{list-style:none}
  .fprep .bloc ul li{padding:7px 0 7px 22px;position:relative;font-size:16px;color:var(--encre);border-bottom:1px solid var(--bordure-sable)}
  .fprep .bloc ul li:last-child{border-bottom:none}
  .fprep .bloc ul li::before{content:"";position:absolute;left:2px;top:16px;width:8px;height:2px;background:var(--vert)}
  .fprep .bloc ul li strong{font-weight:600}
  .fprep .etapes{counter-reset:etape;list-style:none}
  .fprep .etape{position:relative;padding:0 0 22px 52px}
  .fprep .etape:last-child{padding-bottom:0}
  .fprep .etape::before{counter-increment:etape;content:counter(etape);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--vert);color:var(--creme);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}
  .fprep .etape::after{content:"";position:absolute;left:16px;top:38px;bottom:6px;width:2px;background:var(--bordure)}
  .fprep .etape:last-child::after{display:none}
  .fprep .etape h3{font-size:16px;font-weight:600;color:var(--vert);margin-bottom:5px}
  .fprep .etape p{font-size:15.5px;color:var(--encre);margin-bottom:8px}
  .fprep .etape .controle{font-size:14.5px;color:var(--gris-texte);background:var(--creme);border-radius:8px;padding:9px 13px;border:1px solid var(--bordure-sable)}
  .fprep .etape .controle b{color:var(--vert);font-weight:600}
  .fprep .oeil{background:var(--sable);border:1px solid var(--bordure-sable);border-left:4px solid var(--dore);border-radius:0 10px 10px 0;padding:12px 16px;margin-top:10px}
  .fprep .oeil .lab{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;color:var(--dore-texte);margin-bottom:4px}
  .fprep .oeil p{font-size:14.5px;color:var(--encre);font-style:italic;margin:0}
  .fprep .valid{background:var(--vert);color:var(--creme);border-radius:14px;padding:20px 24px;margin-top:14px}
  .fprep .valid .lab{font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--dore);margin-bottom:8px}
  .fprep .valid p{font-size:15.5px;color:var(--creme);margin-bottom:8px}
  .fprep .valid p:last-child{margin-bottom:0}
  .fprep .valid b{font-weight:600}
  .fprep .alerte-bloc{background:var(--alerte-fond);border:1px solid var(--alerte-bord);border-radius:12px;padding:16px 20px;margin-top:14px}
  .fprep .alerte-bloc .titre-a{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--alerte);margin-bottom:6px}
  .fprep .alerte-bloc p{font-size:16px;color:var(--encre);margin:0}
  .fprep .quiz{background:var(--creme);border:1px solid var(--bordure-sable);border-radius:12px;padding:20px 22px}
  .fprep .quiz .compteur{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
  .fprep .quiz .points{display:flex;gap:8px}
  .fprep .quiz .pt{width:9px;height:9px;border-radius:50%;background:var(--bordure)}
  .fprep .quiz .pt.actif{background:var(--vert)}
  .fprep .quiz .ou{font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--dore-texte)}
  .fprep .quiz .q{font-weight:500;font-size:16px;margin-bottom:14px;min-height:48px}
  .fprep .quiz .actions-q{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .fprep .quiz button{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;letter-spacing:.5px;border:none;border-radius:999px;padding:9px 20px;cursor:pointer}
  .fprep .quiz .btn-rep{background:var(--vert);color:var(--creme)}
  .fprep .quiz .btn-rep:hover{background:var(--vert-hover)}
  .fprep .quiz .btn-nav{background:transparent;color:var(--vert);border:1.5px solid var(--vert)}
  .fprep .quiz .btn-nav:hover{background:rgba(31,77,58,.07)}
  .fprep .quiz .btn-nav:disabled{opacity:.35;cursor:default}
  .fprep .quiz .reponse{display:none;margin-top:14px;font-size:16px;color:var(--encre);border-top:1px solid var(--bordure-sable);padding-top:14px}
  .fprep .quiz .reponse.ouverte{display:block}
  .fprep .memo{background:var(--sable);border:1px solid var(--bordure-sable);border-radius:12px;padding:18px 22px}
  .fprep .memo .titre-m{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--dore-texte);margin-bottom:8px}
  .fprep .memo p{font-size:16px;color:var(--encre);margin:0}
  .fprep .memo p b{font-weight:600;color:var(--vert)}
  .fprep .actions{display:flex;gap:12px;flex-wrap:wrap;padding:20px 34px;background:var(--blanc);border-top:1px solid var(--bordure-sable)}
  .fprep .actions a, .fprep .actions button{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.5px;border-radius:999px;padding:11px 24px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
  .fprep .btn-plein{background:var(--vert);color:var(--creme);border:none}
  .fprep .btn-plein:hover{background:var(--vert-hover)}
  .fprep .btn-ligne{background:transparent;color:var(--vert);border:1.5px solid var(--vert)}
  .fprep .btn-ligne:hover{background:rgba(31,77,58,.07)}
  .fprep .pied{padding:16px 34px 20px;background:var(--blanc);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid var(--bordure-sable)}
  .fprep .pied .signe{font-size:13px;color:var(--gris-texte)}
  .fprep .pied .signe b{font-weight:600;color:var(--vert)}
  .fprep .pied .avert{font-size:13px;color:var(--gris-texte);max-width:380px;text-align:right}
  .fprep .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .fprep a{color:var(--vert);font-weight:500}
  .fprep a:focus-visible, .fprep button:focus-visible{outline:2.5px solid var(--vert);outline-offset:2px}
  @media (max-width:560px){
    .fprep{padding:16px 0 46px}
    .fprep .fiche{border-radius:0;border-left:none;border-right:none}
    .fprep .entete{padding:22px 20px 18px}
    .fprep .aisha-bandeau{padding:12px 20px;gap:11px}
    .fprep .niveau{padding:12px 20px;gap:6px 12px}
    .fprep .niveau .texte{flex-basis:100%;order:3}
    .fprep .corps{padding:24px 20px}
    .fprep .bloc{margin-bottom:24px}
    .fprep .valid{padding:18px 18px}
    .fprep .etape{padding-left:46px}
    .fprep .actions{padding:18px 20px}
    .fprep .actions a, .fprep .actions button{flex:1 1 auto;justify-content:center;text-align:center}
    .fprep .pied{padding:16px 20px 20px;flex-direction:column;align-items:flex-start}
    .fprep .pied .avert{text-align:left;max-width:none}
  }
  @media print{.fprep{padding:0;background:var(--blanc)}.fprep .fiche{border:none;border-radius:0;max-width:none}.fprep .actions{display:none}.fprep .quiz .reponse{display:block}.fprep .quiz button{display:none}}
/* --- compléments module (fil d'Ariane, retour, catalogue) --- */
.fprep .ariane{max-width:700px;margin:0 auto 12px}
.fprep .retour-wrap{max-width:700px;margin:18px auto 0;text-align:left}
.fprep .retour{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:15px;color:var(--vert);text-decoration:none}
.fprep .retour:hover{text-decoration:underline}
.fprep .retour svg{width:18px;height:18px}
.fprep-cat .tete-cat{max-width:760px;margin:0 auto 30px;text-align:center}
.fprep-cat .tete-cat h1{font-size:clamp(30px,5.4vw,42px);margin-bottom:10px}
.fprep-cat .tete-cat p{color:var(--gris-texte)}
.fprep-cat .fprep-vig{display:block;width:100%;height:auto;border-bottom:1px solid var(--bordure-sable)}
.fprep-cat .carte h2{font-size:23px}
.fprep-cat .fprep-meta{font-size:12.5px;letter-spacing:1px;text-transform:uppercase;font-weight:600;color:var(--dore-texte)}
.fprep-cat .fprep-ia{font-size:12px;color:var(--gris-meta, #6B6F66);margin-top:26px;text-align:center}
