/* kharandi-complet sig:9257bec00add1ca9 */
/* kharandi.css */
/* ═══════════════════════════════════════════════════════════════
   KHARANDI — charte à l'écran · « Le voyage du savoir »
   Bleu du logo · Or des réussites · Montserrat (titres) + Inter (texte)
   Touche « cahier » (Caveat, lignes Seyès, stylo rouge) réservée aux
   endroits où l'on apprend vraiment : leçon, exercice, devoirs.
   ═══════════════════════════════════════════════════════════════ */

@font-face{font-family:Montserrat;font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:700;font-display:swap;src:url(../fonts/montserrat-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:800;font-display:swap;src:url(../fonts/montserrat-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:900;font-display:swap;src:url(../fonts/montserrat-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(../fonts/inter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Caveat;font-weight:600;font-display:swap;src:url(../fonts/caveat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Caveat;font-weight:700;font-display:swap;src:url(../fonts/caveat-latin-700-normal.woff2) format("woff2")}

:root{
  --canard-950:#064A60; --canard-900:#075A73; --canard-800:#0A6F8C; --canard-700:#0B7FA0; --canard-600:#0E94B5; --canard-500:#14A9C7; --lien:#0A6F8C;
  --cyan:#1ABCD4; --cyan-200:#A6E6F0; --cyan-100:#CFF1F7; --cyan-50:#E8F8FB;
  --or:#E2A93F; --or-400:#EDBE62; --or-600:#C98F22; --or-700:#B7852A; --or-texte:#8F5E00; --or-100:#FFE9B0; --or-50:#FFF7E3;
  --orange:#EE7D1A; --gris-logo:#B0B0AC;
  --encre:#0D2733; --texte:#23373B; --gris-600:#56676A; --gris-500:#6E7E81; --gris-400:#98A5A7; --gris-200:#D5DDDE; --filet:#E3ECEE; --gris-50:#F1F6F7;
  --fond:#F4FAFB; --blanc:#FFFFFF;
  --vert:#1E8E5A; --vert-50:#E7F5EE; --rouge:#C2412D; --rouge-50:#FBEDEA; --bleu:#1C6FB8; --bleu-50:#E8F1FA; --violet:#6B4FA0;
  --stylo:#D2694C; --marge:#EE8C84; --seyes:rgba(26,188,212,.22); --seyes-fin:rgba(26,188,212,.08); --postit:#FFF3C4;
  --titre:Montserrat,"Segoe UI",system-ui,sans-serif; --corps:Inter,"Segoe UI",system-ui,-apple-system,sans-serif; --main:Caveat,"Segoe Print","Comic Sans MS",cursive;
  --r-s:12px; --r:18px; --r-l:26px; --r-xl:34px;
  --ombre-1:0 1px 0 rgba(7,90,115,.04),0 8px 22px -12px rgba(7,90,115,.22);
  --ombre-2:0 2px 0 rgba(7,90,115,.05),0 18px 36px -14px rgba(7,90,115,.30);
  --ombre-3:0 28px 64px -18px rgba(6,74,96,.38);
  --degrade:linear-gradient(135deg,#1ABCD4 0%,#0E94B5 48%,#0B7FA0 100%);
  --degrade-profond:linear-gradient(140deg,#0E94B5 0%,#0A6F8C 55%,#075A73 100%);
  --largeur:1200px; --entete:72px;
}

/* ─── Base ─── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--corps);font-size:16px;line-height:1.6;color:var(--texte);background:var(--fond);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--lien);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--canard-900)}
h1,h2,h3,h4,h5{font-family:var(--titre);color:var(--encre);line-height:1.12;margin:0 0 .5em;letter-spacing:-.015em}
h1{font-size:clamp(1.85rem,3.9vw,3rem);font-weight:900;letter-spacing:-.03em}
h2{font-size:clamp(1.35rem,2.4vw,1.9rem);font-weight:900;letter-spacing:-.025em}
h3{font-size:1.08rem;font-weight:800}
h4{font-size:1.02rem;font-weight:700}
p{margin:0 0 1em}
hr{border:0;border-top:1px solid var(--filet);margin:2rem 0}
small,.petit{font-size:.86rem}
.muted{color:var(--gris-600)}
.ic{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-.2em}
::selection{background:var(--cyan-100);color:var(--encre)}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;border-radius:8px}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.conteneur{width:100%;max-width:var(--largeur);margin:0 auto;padding:0 20px}
.conteneur-etroit{max-width:820px;margin:0 auto;padding:0 20px}

/* ─── Sur-titres, titres de section ─── */
.surtitre{display:inline-flex;align-items:center;gap:.5em;font-family:var(--titre);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--canard-600);margin-bottom:.8rem}
.surtitre::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(26,188,212,.18)}
.sombre .surtitre{color:#fff}
.titre-section{max-width:720px;margin-bottom:1.6rem}
.titre-section.centre{margin-left:auto;margin-right:auto;text-align:center}
.titre-section.centre .surtitre::before{display:none}
.titre-section p{font-size:1rem;color:var(--gris-600)}
.accent{color:var(--canard-600)}
.sombre .accent{color:#BDEFF7}

/* ─── Boutons : un relief léger, comme une touche qu'on a envie d'appuyer ─── */
.btn{--relief:var(--canard-900);display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:46px;padding:.66em 1.25em;border-radius:14px;border:2px solid transparent;font-family:var(--titre);font-weight:800;font-size:.95rem;line-height:1.1;text-decoration:none;cursor:pointer;transition:transform .12s,box-shadow .12s,background .2s,color .2s;white-space:nowrap;background:var(--canard-700);color:#fff;box-shadow:0 4px 0 var(--relief);margin-bottom:4px}
.btn:hover{background:var(--canard-600);color:#fff;transform:translateY(-1px);box-shadow:0 5px 0 var(--relief)}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--relief)}
.btn-or{background:var(--canard-700);color:#fff}
.btn-or:hover{background:var(--canard-600);color:#fff}
.heros .btn-or,.appel .btn-or,.bienvenue .btn-or,.sombre .btn-or,.carte-sombre .btn-or{--relief:rgba(6,74,96,.35);background:#fff;color:var(--canard-900)}
.heros .btn-or:hover,.appel .btn-or:hover,.bienvenue .btn-or:hover,.sombre .btn-or:hover,.carte-sombre .btn-or:hover{background:#F2FCFE;color:var(--canard-950)}
.btn-ligne{--relief:var(--cyan-100);background:#fff;color:var(--canard-800);border-color:var(--cyan-100)}
.btn-ligne:hover{background:var(--cyan-50);color:var(--canard-900)}
.btn-blanc{--relief:rgba(6,74,96,.25);background:#fff;color:var(--canard-800)}
.btn-blanc:hover{background:#F2FCFE;color:var(--canard-900)}
.btn-fantome{--relief:rgba(0,0,0,.08);background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.35)}
.btn-fantome:hover{background:rgba(255,255,255,.24);color:#fff}
.btn-doux{--relief:var(--cyan-100);background:var(--cyan-50);color:var(--canard-800)}
.btn-doux:hover{background:var(--cyan-100);color:var(--canard-900)}
.btn-danger{--relief:#8e2e1f;background:var(--rouge);color:#fff}
.btn-danger:hover{background:#a3321f;color:#fff}
.btn-vert{--relief:#146741;background:var(--vert);color:#fff}
.btn-vert:hover{background:#1a7a4e;color:#fff}
.btn-whatsapp{--relief:#137a3c;background:#1FA855;color:#fff}.btn-whatsapp:hover{background:#178a45;color:#fff}
.btn-petit{min-height:38px;padding:.45em .95em;font-size:.84rem;border-radius:12px;box-shadow:0 3px 0 var(--relief)}
.btn-petit:hover{box-shadow:0 4px 0 var(--relief)}
.btn-large{min-height:54px;padding:.85em 1.6em;font-size:1.02rem;border-radius:16px}
.btn-bloc{width:100%}
.btn[disabled],.btn.desactive{opacity:.5;pointer-events:none}
.lien-fleche{display:inline-flex;align-items:center;gap:.4em;font-family:var(--titre);font-weight:800;text-decoration:none;color:var(--canard-700)}
.lien-fleche:hover .ic{transform:translateX(3px)}
.lien-fleche .ic{transition:transform .2s}
.groupe-btn{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}

/* ─── Bandeau démonstration ─── */
.bandeau-demo{background:var(--or-50);color:var(--or-texte);font-size:.82rem;font-weight:600;text-align:center;padding:.4rem 1rem;border-bottom:1px solid var(--or-100)}
.bandeau-demo a{color:inherit;font-weight:800}

/* ─── En-tête public ─── */
.entete{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid rgba(7,90,115,.06)}
.entete .conteneur{display:flex;align-items:center;gap:1.4rem;height:var(--entete)}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex:none}
.logo img{height:46px;width:auto}
.nav-principale{display:flex;gap:.15rem;margin-left:auto;align-items:center}
.nav-principale>a,.nav-principale .menu-deroulant>button{font-family:var(--titre);font-size:.9rem;font-weight:700;color:var(--encre);text-decoration:none;padding:.55rem .85rem;border-radius:12px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}
.nav-principale>a:hover,.nav-principale .menu-deroulant>button:hover,.nav-principale>a.actif{background:var(--cyan-50);color:var(--canard-800)}
.menu-deroulant{position:relative}
.menu-deroulant .panneau{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(6px);min-width:580px;background:#fff;border-radius:var(--r-l);box-shadow:var(--ombre-3);border:1px solid rgba(7,90,115,.06);padding:.8rem;display:grid;grid-template-columns:1fr 1fr;gap:.2rem;opacity:0;visibility:hidden;transition:.18s}
.menu-deroulant .panneau::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.menu-deroulant:hover .panneau,.menu-deroulant:focus-within .panneau{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.panneau a{display:flex;gap:.8rem;padding:.7rem;border-radius:16px;text-decoration:none;color:var(--texte);align-items:center}
.panneau a:hover{background:var(--cyan-50)}
.panneau .pic{width:42px;height:42px;border-radius:13px;background:var(--degrade);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 3px 0 var(--canard-900)}
.panneau b{display:block;font-family:var(--titre);font-size:.92rem;color:var(--encre)}
.panneau span{font-size:.8rem;color:var(--gris-600);line-height:1.35}
.entete-actions{display:flex;gap:.5rem;align-items:center}
.entete-actions .btn{margin-bottom:0}
.bouton-menu{display:none;background:var(--cyan-50);border:0;padding:.5rem;color:var(--canard-900);cursor:pointer;border-radius:12px}
.bouton-menu .ic{width:26px;height:26px}
.tiroir{position:fixed;inset:0;z-index:80;background:rgba(6,74,96,.5);opacity:0;visibility:hidden;transition:.2s}
.tiroir.ouvert{opacity:1;visibility:visible}
.tiroir-panneau{position:absolute;top:0;right:0;bottom:0;width:min(88vw,380px);background:#fff;padding:1.2rem 1.2rem 2rem;overflow-y:auto;transform:translateX(100%);transition:transform .25s;border-radius:26px 0 0 26px}
.tiroir.ouvert .tiroir-panneau{transform:none}
.tiroir-panneau .fermer{float:right;background:var(--gris-50);border:0;border-radius:14px;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}
.tiroir-panneau h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris-500);margin:1.4rem 0 .5rem}
.tiroir-panneau a.l{display:flex;align-items:center;gap:.8rem;padding:.65rem .5rem;border-radius:14px;text-decoration:none;color:var(--encre);font-weight:600}
.tiroir-panneau a.l:hover{background:var(--cyan-50)}
.tiroir-panneau a.l .ic{color:var(--canard-600)}

/* ─── Héros : l'appel à l'aventure ─── */
.sombre{background:var(--degrade-profond);color:#DDF3F7}
.sombre h1,.sombre h2,.sombre h3,.sombre h4{color:#fff}
.heros{position:relative;overflow:hidden;background:var(--degrade);color:#E9FAFD;padding:clamp(3rem,7vw,5.5rem) 0 clamp(3.5rem,8vw,6.5rem)}
.heros::before,.heros::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.10);pointer-events:none}
.heros::before{width:520px;height:520px;right:-140px;top:-180px}
.heros::after{width:300px;height:300px;left:-120px;bottom:-160px;background:rgba(255,255,255,.07)}
.heros .conteneur{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center}
.heros h1{color:#fff;margin-bottom:1.1rem}
.heros h1 .or{color:#BDEFF7;display:block}
.heros .lead{font-size:clamp(1.05rem,1.6vw,1.22rem);max-width:560px;color:#F2FBFD;margin-bottom:2rem}
.heros-visuel{position:relative;min-height:440px}
.heros-visuel .karamo{position:absolute;right:6%;bottom:-20px;width:62%;max-width:300px;filter:drop-shadow(0 30px 40px rgba(0,0,0,.28));animation:flotte 6s ease-in-out infinite}
@keyframes flotte{50%{transform:translateY(-10px)}}
.bulle{position:absolute;z-index:2;background:#fff;color:var(--texte);border-radius:20px;box-shadow:var(--ombre-3);padding:.85rem 1rem;font-size:.86rem;line-height:1.4;max-width:250px;animation:apparait .6s both}
.bulle b{font-family:var(--titre);color:var(--encre)}
.bulle .ligne{display:flex;align-items:center;gap:.6rem}
.bulle .pic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}
.bulle-1{top:4%;left:0;animation-delay:.15s}
.bulle-2{top:38%;left:-4%;animation-delay:.35s}
.bulle-3{bottom:10%;left:8%;animation-delay:.55s}
.bulle-4{top:0;right:0;animation-delay:.25s;background:var(--or-50);color:var(--canard-950)}
.bulle-4 b{color:var(--canard-950)}
@keyframes apparait{from{opacity:0;transform:translateY(12px) scale(.97)}}
.progression-mini{height:6px;border-radius:6px;background:var(--gris-50);overflow:hidden;margin-top:.4rem}
.progression-mini i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--canard-600));border-radius:6px}
.heros-rubriques{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.2rem}
.heros-rubriques a{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;font-size:.86rem;font-weight:600}
.heros-rubriques a:hover{background:rgba(255,255,255,.24);color:#fff}
.heros-rubriques .ic{color:#fff}

/* ─── Sections ─── */
.section{padding:clamp(2.2rem,4.5vw,3.6rem) 0}
.section-blanche{background:#fff}
.section-ivoire{background:var(--fond)}
.section-cyan{background:linear-gradient(180deg,var(--cyan-50),var(--fond))}
.entete-page{background:var(--degrade);color:#F0FBFD;padding:clamp(1.8rem,3.6vw,2.8rem) 0 clamp(2.2rem,4vw,3.2rem);position:relative;overflow:hidden;border-radius:0 0 var(--r-xl) var(--r-xl);margin-bottom:.4rem}
.entete-page::before{content:"";position:absolute;right:-90px;top:-150px;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.11)}
.entete-page::after{content:"";position:absolute;right:18%;bottom:-70px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.08)}
.entete-page .conteneur{position:relative;z-index:1}
.entete-page h1{color:#fff;font-size:clamp(1.6rem,3.2vw,2.4rem);margin-bottom:.6rem}
.entete-page p{max-width:720px;font-size:1rem;margin:0}
.fil{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.82rem;margin-bottom:1rem;color:rgba(255,255,255,.75)}
.fil a{color:#fff;text-decoration:none;opacity:.9}.fil a:hover{opacity:1;text-decoration:underline}

/* ─── Grilles ─── */
.grille-2,.grille-3,.grille-4,.grille-5,.grille-6{display:grid;gap:1rem}
.grille-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grille-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grille-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grille-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.grille-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.grille-auto{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.grille-auto-petit{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.pile{display:flex;flex-direction:column;gap:1rem}
.ligne{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.ligne-entre{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.span-2{grid-column:span 2}
.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.6rem}.mt-4{margin-top:2.4rem}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.6rem}
.centre{text-align:center}
.droite{text-align:right}

/* ─── Cartes ─── */
.carte{background:#fff;border-radius:var(--r-l);box-shadow:var(--ombre-1);border:1px solid rgba(7,90,115,.07);padding:1.2rem 1.25rem;position:relative}
.carte-lien{text-decoration:none;color:inherit;display:block;transition:transform .2s,box-shadow .2s}
.carte-lien:hover{transform:translateY(-3px);box-shadow:var(--ombre-2);color:inherit}
.carte h3{margin-bottom:.4rem}
.carte p:last-child{margin-bottom:0}
.carte-sombre{background:var(--degrade-profond);color:#DDF3F7;border:0;overflow:hidden}
.carte-sombre::before{content:"";position:absolute;right:-60px;top:-80px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.carte-sombre h2,.carte-sombre h3,.carte-sombre h4{color:#fff}
.carte-sombre .surtitre{color:#fff}
.carte-sombre .muted{color:#BFE3EA}
.carte-or{background:linear-gradient(150deg,#FFF3D6,#FFE3A6);color:var(--canard-950);border:1px solid var(--or-100)}
.carte-or h3{color:var(--canard-950)}
.carte-doux{background:var(--cyan-50);box-shadow:none;border:1px solid var(--cyan-100)}
.carte-titre{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.carte-titre h3,.carte-titre h2{margin:0}
.pastille-icone{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--c,var(--canard-700)) 13%,#fff);color:var(--c,var(--canard-700));margin-bottom:1rem;flex:none}
.pastille-icone .ic{width:22px;height:22px}
.pastille-icone.or{--c:var(--or-600);background:var(--or-50)}
.pastille-icone.sombre{background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.carte-sombre .pastille-icone{background:rgba(255,255,255,.14);color:#fff}

/* Profils (6 acteurs) */
.profils{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.profil{--couleur:var(--canard-600);border-radius:var(--r-l);padding:1.25rem;background:#fff;box-shadow:0 4px 0 color-mix(in srgb,var(--couleur) 30%,#fff),var(--ombre-1);border:2px solid color-mix(in srgb,var(--couleur) 22%,#fff);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:.2s;position:relative;overflow:hidden}
.profil:hover{transform:translateY(-4px);color:inherit}
.profil .pastille-icone{background:var(--couleur);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--couleur) 70%,#000)}
.profil h3{font-size:1.05rem}
.profil ul{list-style:none;padding:0;margin:.4rem 0 1.2rem;font-size:.92rem;color:var(--gris-600)}
.profil li{padding:.3rem 0 .3rem 1.5rem;position:relative}
.profil li::before{content:"";position:absolute;left:0;top:.72rem;width:.7rem;height:.7rem;border-radius:50%;border:2px solid var(--couleur)}
.profil .prix{margin-top:auto;padding-top:1rem;border-top:1px dashed var(--filet);font-family:var(--titre);font-weight:800;color:var(--encre);display:flex;justify-content:space-between;align-items:center}
.profil .prix small{font-family:var(--corps);font-weight:500;color:var(--gris-500)}

/* Piliers */
.piliers{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;counter-reset:p}
.pilier{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-l);padding:1.4rem 1.15rem;position:relative}
.pilier::before{display:block;counter-increment:p;content:"0" counter(p);font-family:var(--titre);font-weight:900;font-size:.78rem;color:#BDEFF7;letter-spacing:.1em}
.pilier .ic{width:34px;height:34px;color:#fff;margin:.9rem 0}
.pilier h3{font-size:1.05rem;color:#fff;margin-bottom:.3rem}
.pilier p{font-size:.86rem;margin:0;color:#D2EEF3}
.pilier.or{background:#fff;border-color:#fff}
.pilier.or::before{color:var(--or-600)}
.pilier.or h3,.pilier.or .ic{color:var(--canard-900)}
.pilier.or p{color:var(--gris-600)}

/* Chiffres */
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.chiffre{background:#fff;border-radius:var(--r-l);padding:1rem 1.1rem;box-shadow:var(--ombre-1);border:1px solid rgba(7,90,115,.07)}
.chiffre .v{font-family:var(--titre);font-size:clamp(1.35rem,2.1vw,1.8rem);font-weight:900;color:var(--encre);line-height:1.1;letter-spacing:-.02em}
.chiffre .l{font-size:.84rem;color:var(--gris-600);margin-top:.2rem}
.chiffre .ic-coin{float:right;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--cyan-50);color:var(--canard-700)}
.chiffre .tendance{font-size:.78rem;font-weight:700;margin-top:.5rem;display:inline-flex;gap:.25rem;align-items:center}
.tendance.haut{color:var(--vert)}.tendance.bas{color:var(--rouge)}

/* Étiquettes */
.pastille{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--gris-50);color:var(--gris-600);white-space:nowrap;line-height:1.5}
.pastille.canard{background:var(--cyan-50);color:var(--canard-800)}
.pastille.or{background:var(--or-50);color:var(--or-texte)}
.pastille.vert{background:var(--vert-50);color:var(--vert)}
.pastille.rouge{background:var(--rouge-50);color:var(--rouge)}
.pastille.bleu{background:var(--bleu-50);color:var(--bleu)}
.pastille.sombre{background:var(--canard-800);color:#fff}
.pastille.demo{background:var(--or-50);color:var(--or-texte)}
.pastille .ic{width:.95em;height:.95em}
.etoiles{color:var(--or);letter-spacing:.05em}

/* ─── Formulaires ─── */
.form{display:flex;flex-direction:column;gap:1rem}
.form label,.champ{display:flex;flex-direction:column;gap:.4rem;font-weight:700;font-size:.9rem;color:var(--encre)}
.form label .aide,.aide{font-weight:400;font-size:.8rem;color:var(--gris-500)}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=date],input[type=time],input[type=url],input[type=search],input:not([type]),select,textarea{width:100%;font:inherit;font-weight:400;font-size:16px;color:var(--encre);background:#fff;border:2px solid var(--filet);border-radius:14px;padding:.72rem .95rem;min-height:50px;transition:border-color .15s,box-shadow .15s,background .15s;appearance:none;-webkit-appearance:none}
input:hover,select:hover,textarea:hover{border-color:var(--cyan-100)}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230B7FA0' stroke-width='2.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.6rem}
textarea{min-height:120px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--cyan);box-shadow:0 0 0 4px rgba(26,188,212,.18)}
input[type=file]{font-size:.9rem;padding:.7rem;border:2px dashed var(--cyan-200);border-radius:14px;background:var(--cyan-50);width:100%}
label.case,.case{flex-direction:row!important;align-items:flex-start;gap:.6rem!important;font-weight:500!important;cursor:pointer}
.case input{width:20px;height:20px;min-height:0;margin-top:.15rem;accent-color:var(--canard-600);flex:none}
.form-ligne{display:flex;gap:.6rem;flex-wrap:wrap;align-items:flex-end}
.form-ligne>*{flex:1 1 180px}
.form-ligne>.btn{flex:0 0 auto}
.obligatoire::after{content:" *";color:var(--rouge)}
fieldset{border:2px solid var(--filet);border-radius:var(--r-l);padding:1.2rem;margin:0}
legend{font-family:var(--titre);font-weight:800;padding:0 .5rem;color:var(--encre)}
.choix-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem}
.choix-cartes label{position:relative;border:2px solid var(--filet);border-radius:var(--r);padding:1rem;cursor:pointer;text-align:center;font-weight:700;transition:.15s;background:#fff;align-items:center;box-shadow:0 3px 0 var(--filet)}
.choix-cartes label .ic{width:28px;height:28px;color:var(--canard-600)}
.choix-cartes input{position:absolute;opacity:0;pointer-events:none}
.choix-cartes label:has(input:checked){border-color:var(--cyan);background:var(--cyan-50);box-shadow:0 3px 0 var(--canard-600)}
.choix-cartes label small{font-weight:500;color:var(--gris-600)}
.recherche-bloc{display:flex;gap:.5rem;background:#fff;border-radius:18px;padding:.4rem .4rem .4rem 1.1rem;box-shadow:var(--ombre-2);align-items:center;border:2px solid transparent}
.recherche-bloc:focus-within{border-color:var(--cyan)}
.recherche-bloc input{border:0;box-shadow:none!important;padding:0;min-height:44px}
.recherche-bloc .btn{margin-bottom:0}
.recherche-bloc .ic{color:var(--gris-500)}

/* ─── Alertes ─── */
.alerte{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.15rem;border-radius:var(--r);background:var(--bleu-50);color:#154f82;font-size:.94rem;margin-bottom:1rem;border:1px solid rgba(28,111,184,.15)}
.alerte .ic{width:22px;height:22px;flex:none;margin-top:.05rem}
.alerte-ok{background:var(--vert-50);color:#16663f;border-color:rgba(30,142,90,.2)}
.alerte-erreur{background:var(--rouge-50);color:#8e2e1f;border-color:rgba(194,65,45,.2)}
.alerte-or{background:var(--or-50);color:#6b4600;border-color:rgba(226,169,63,.3)}
.alerte p:last-child{margin:0}
.messages-flash{position:fixed;top:calc(var(--entete) + 12px);left:50%;transform:translateX(-50%);z-index:90;width:min(560px,calc(100vw - 32px));display:flex;flex-direction:column;gap:.5rem}
.messages-flash .alerte{box-shadow:var(--ombre-3);margin:0;animation:apparait .3s both;border-radius:18px}

/* ─── Tableaux ─── */
.tableau-conteneur{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-l);border:1px solid var(--filet);background:#fff;box-shadow:var(--ombre-1)}
.tableau{width:100%;border-collapse:collapse;font-size:.92rem}
.tableau th{font-family:var(--titre);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--canard-800);text-align:left;padding:.85rem 1rem;background:var(--cyan-50);border-bottom:1px solid var(--filet);white-space:nowrap}
.tableau td{padding:.8rem 1rem;border-bottom:1px solid var(--filet);vertical-align:middle}
.tableau tr:last-child td{border-bottom:0}
.tableau tbody tr:hover td{background:#FAFDFE}
.tableau .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tableau .actions{white-space:nowrap;text-align:right}
.tableau .btn{margin-bottom:0}
.tableau input,.tableau select{min-height:40px;padding:.35rem .6rem;border-radius:10px}

/* ─── Onglets, filtres ─── */
.onglets{display:flex;gap:.3rem;overflow-x:auto;padding:.3rem;margin-bottom:1.4rem;scrollbar-width:none;background:#fff;border-radius:16px;border:1px solid var(--filet);width:max-content;max-width:100%}
.onglets::-webkit-scrollbar{display:none}
.onglets a{padding:.55rem 1rem;font-family:var(--titre);font-weight:700;font-size:.88rem;color:var(--gris-600);text-decoration:none;border-radius:12px;white-space:nowrap}
.onglets a:hover{color:var(--canard-800);background:var(--cyan-50)}
.onglets a.actif{color:#fff;background:var(--canard-700);box-shadow:0 3px 0 var(--canard-900)}
.filtres{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.4rem}
.filtres a,.filtre{padding:.45rem .95rem;border-radius:999px;background:#fff;border:2px solid var(--filet);font-size:.86rem;font-weight:700;color:var(--texte);text-decoration:none;white-space:nowrap;cursor:pointer;font-family:inherit}
.filtres a:hover,.filtre:hover{border-color:var(--cyan-200);background:var(--cyan-50)}
.filtres a.actif{background:var(--canard-700);border-color:var(--canard-700);color:#fff}
.barre-filtres{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;background:#fff;padding:.7rem;border-radius:var(--r-l);box-shadow:var(--ombre-1);margin-bottom:1.5rem;border:1px solid var(--filet)}
.barre-filtres select,.barre-filtres input{flex:1 1 170px;min-height:46px}
.barre-filtres .btn{margin-bottom:0}

/* ─── État vide, pagination ─── */
.vide{text-align:center;padding:2.2rem 1.2rem;border:2px dashed var(--cyan-200);border-radius:var(--r-l);background:rgba(255,255,255,.7);color:var(--gris-600)}
.vide .ic{width:48px;height:48px;margin:0 auto 1rem;color:var(--canard-500);background:var(--cyan-50);border-radius:16px;padding:10px;box-sizing:content-box}
.vide h3{color:var(--encre)}
.pagination{display:flex;gap:.3rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}
.pagination a,.pagination span{min-width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#fff;border:2px solid var(--filet);text-decoration:none;font-weight:800;color:var(--texte);padding:0 .6rem}
.pagination .actif{background:var(--canard-700);color:#fff;border-color:var(--canard-700);box-shadow:0 3px 0 var(--canard-900)}

/* ─── Barres de progression, anneau ─── */
.barre{height:10px;border-radius:10px;background:var(--gris-50);overflow:hidden}
.barre i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,var(--cyan),var(--canard-600))}
.barre.or i{background:linear-gradient(90deg,var(--or-400),var(--or-600))}
.anneau{--p:0;width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--or) calc(var(--p)*1%),rgba(255,255,255,.16) 0);display:grid;place-items:center;flex:none}
.anneau::before{content:attr(data-v);width:92px;height:92px;border-radius:50%;background:var(--canard-800);display:grid;place-items:center;font-family:var(--titre);font-weight:900;font-size:1.5rem;color:#fff}
.anneau.clair{background:conic-gradient(var(--cyan) calc(var(--p)*1%),var(--gris-50) 0)}
.anneau.clair::before{background:#fff;color:var(--encre)}

/* ─── Avatar ─── */
.avatar{width:44px;height:44px;border-radius:14px;background:var(--degrade);color:#fff;display:grid;place-items:center;font-family:var(--titre);font-weight:800;font-size:.95rem;flex:none;overflow:hidden;text-decoration:none}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.grand{width:96px;height:96px;font-size:1.8rem;border-radius:28px}
.avatar.or{background:linear-gradient(135deg,var(--or-400),var(--or-600));color:var(--canard-950)}

/* ─── Pied de page : une vague, puis le grand large ─── */
.pied{position:relative;background:var(--canard-950);color:#B9D9DF;padding:4.5rem 0 1.6rem;font-size:.92rem;margin-top:3rem}
.pied::before{content:"";position:absolute;left:0;right:0;top:-38px;height:40px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C240 -4 480 -4 720 18S1200 44 1440 14V40Z' fill='%23064A60'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.pied a{color:#DCEFF3;text-decoration:none}.pied a:hover{color:#fff;text-decoration:underline}
.pied-grille{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:2rem}
.pied h4{color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}
.pied ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
.pied-logo{background:#fff;border-radius:18px;padding:.6rem .9rem;display:inline-block;margin-bottom:1rem}
.pied-logo img{height:44px}
.pied-bas{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem}
.soussou{font-family:var(--main);font-size:1.3rem;font-weight:700;color:#9FE3EE;line-height:1.2}

/* ─── Bloc appel à l'action ─── */
.appel{border-radius:var(--r-xl);background:var(--degrade);color:#F0FBFD;padding:clamp(1.5rem,3.5vw,2.5rem);display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;position:relative;overflow:hidden}
.appel::before{content:"";position:absolute;right:-80px;top:-120px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.1)}
.appel>*{position:relative}
.appel h2{color:#fff;margin-bottom:.5rem}
.appel img{width:190px;align-self:end;margin:0 0 calc(-1 * clamp(2rem,5vw,3.5rem));filter:drop-shadow(0 20px 30px rgba(0,0,0,.25))}

/* ─── Karamö (bulle flottante) ─── */
.karamo-fab{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:.6rem;background:var(--canard-700);color:#fff;border:0;border-radius:22px;padding:.4rem 1.1rem .4rem .4rem;box-shadow:0 4px 0 var(--canard-900),var(--ombre-3);cursor:pointer;font-family:var(--titre);font-weight:800;font-size:.9rem;text-decoration:none;transition:transform .15s}
.karamo-fab:hover{background:var(--canard-600);color:#fff;transform:translateY(-2px)}
.karamo-fab .tete{width:46px;height:46px;border-radius:16px;background:#FFE3A6;overflow:hidden;display:grid;place-items:center}
.karamo-fab .tete img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;transform:scale(1.6);transform-origin:50% 12%}

/* ─── Divers ─── */
.liste-coches{list-style:none;padding:0;margin:0}
.liste-coches li{padding:.35rem 0 .35rem 1.8rem;position:relative}
.liste-coches li::before{content:"";position:absolute;left:0;top:.62rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--vert-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E8E5A' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/62% no-repeat}
.sombre .liste-coches li::before,.carte-sombre .liste-coches li::before{background-color:rgba(255,255,255,.14)}
.citation{font-family:var(--titre);font-weight:700;font-size:clamp(1.2rem,2.2vw,1.6rem);line-height:1.4;color:var(--encre);border-left:5px solid var(--cyan);padding:.3rem 0 .3rem 1.4rem;margin:0}
.sombre .citation{color:#fff}
.prose{font-size:1.04rem;line-height:1.75}
.prose h2{margin-top:2.2rem;font-size:1.6rem}
.prose h3{margin-top:1.8rem}
.prose img{border-radius:var(--r);margin:1.5rem 0}
.prose blockquote{border-left:4px solid var(--cyan);margin:1.5rem 0;padding:.5rem 1.2rem;background:var(--cyan-50);border-radius:0 var(--r) var(--r) 0}
.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}
.prose th,.prose td{border:1px solid var(--filet);padding:.6rem .8rem;text-align:left}
.prose th{background:var(--cyan-50)}
.prose code{background:var(--gris-50);padding:.1rem .35rem;border-radius:6px;font-size:.92em}
.prose .formule{background:var(--cyan-50);border:2px dashed var(--cyan-200);border-radius:var(--r);padding:1rem 1.2rem;font-family:var(--titre);font-weight:800;color:var(--canard-800);margin:1.2rem 0;text-align:center}
.prose .astuce{background:var(--postit);border-radius:4px;padding:1rem 1.2rem;margin:1.4rem .2rem;transform:rotate(-.6deg);box-shadow:0 8px 18px -8px rgba(0,0,0,.2)}
.mention-illustration{font-size:.72rem;color:var(--gris-500);font-style:italic}
.maquette-tag{position:absolute;top:10px;left:10px;background:rgba(15,35,39,.8);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;letter-spacing:.06em;text-transform:uppercase}
.puce-num{width:34px;height:34px;border-radius:12px;background:var(--canard-700);color:#fff;font-family:var(--titre);font-weight:900;display:grid;place-items:center;flex:none;box-shadow:0 3px 0 var(--canard-900)}
.etapes{display:grid;gap:1rem;counter-reset:e}
.etape{display:flex;gap:1rem;align-items:flex-start}
.separateur-points{border:0;height:2px;background:repeating-linear-gradient(90deg,var(--cyan-200) 0 6px,transparent 6px 12px);margin:1.5rem 0}
.bloc-prix{font-family:var(--titre);font-weight:900;font-size:1.9rem;color:var(--encre);letter-spacing:-.02em;line-height:1}
.bloc-prix small{font-family:var(--corps);font-size:.9rem;font-weight:500;color:var(--gris-600);letter-spacing:0}
.vignette{aspect-ratio:4/3;border-radius:var(--r);background:var(--gris-50) center/cover;overflow:hidden;position:relative}
.vignette img{width:100%;height:100%;object-fit:cover}
.vignette-vide{display:grid;place-items:center;color:var(--canard-500);background:linear-gradient(135deg,var(--cyan-50),#fff 60%,var(--or-50))}
.vignette-vide .ic{width:40px;height:40px}

/* ═══ Le voyage du savoir : îles, chemin, étapes ═══ */
.iles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.9rem}
.ile{--c:var(--canard-700);--o:color-mix(in srgb,var(--c) 72%,#000);position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem;background:#fff;border:2px solid color-mix(in srgb,var(--c) 30%,#fff);border-radius:22px;padding:1rem .7rem .85rem;text-decoration:none;color:var(--encre);box-shadow:0 5px 0 color-mix(in srgb,var(--c) 38%,#fff),0 14px 24px -14px rgba(7,90,115,.3);transition:transform .15s,box-shadow .15s}
.ile:hover{transform:translateY(-3px);color:var(--encre);box-shadow:0 8px 0 color-mix(in srgb,var(--c) 38%,#fff),0 18px 30px -14px rgba(7,90,115,.35)}
.ile:active{transform:translateY(3px);box-shadow:0 2px 0 color-mix(in srgb,var(--c) 38%,#fff)}
.ile-ic{width:54px;height:54px;border-radius:17px;background:var(--c);color:#fff;display:grid;place-items:center;margin-bottom:.35rem;box-shadow:0 4px 0 var(--o)}
.ile-ic .ic{width:27px;height:27px}
.ile b{font-family:var(--titre);font-weight:800;font-size:.92rem;line-height:1.2}
.ile small{font-size:.76rem;color:var(--gris-600)}
.ile .ile-prog{position:absolute;top:10px;right:10px;font-family:var(--titre);font-weight:900;font-size:.68rem;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);padding:.1rem .45rem;border-radius:99px}
.ile.active{background:color-mix(in srgb,var(--c) 8%,#fff);border-color:var(--c)}
/* Chemin de leçons (parcours en zigzag) */
.chemin-lecons{list-style:none;margin:0;padding:.6rem 0 1rem;position:relative;display:flex;flex-direction:column;gap:.2rem}
.chemin-lecons li{position:relative;display:flex;align-items:center;gap:1rem;min-height:92px}
.chemin-lecons li:nth-child(4n+2){padding-left:18%}
.chemin-lecons li:nth-child(4n+3){padding-left:36%}
.chemin-lecons li:nth-child(4n+4){padding-left:18%}
.chemin-lecons li:not(:last-child)::after{content:"";position:absolute;left:calc(var(--x,0%) + 36px);top:74px;height:34px;border-left:5px dotted var(--cyan-200)}
.chemin-lecons li:nth-child(4n+2)::after{--x:18%}.chemin-lecons li:nth-child(4n+3)::after{--x:36%}.chemin-lecons li:nth-child(4n+4)::after{--x:18%}
.noeud{position:relative;flex:none;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--titre);font-weight:900;font-size:1.3rem;text-decoration:none;background:var(--canard-600);box-shadow:0 6px 0 var(--canard-900);transition:transform .15s}
.noeud .ic{width:30px;height:30px}
.noeud:hover{transform:translateY(-2px);color:#fff}
.noeud.fait{background:var(--or);box-shadow:0 6px 0 var(--or-700)}
.noeud.actuel{background:var(--canard-700);box-shadow:0 0 0 8px rgba(26,188,212,.22),0 6px 0 var(--canard-950);animation:respire 2.4s ease-in-out infinite}
.noeud.ferme{background:#DCE4E6;color:#98A5A7;box-shadow:0 6px 0 #BCC8CA}
@keyframes respire{50%{box-shadow:0 0 0 14px rgba(26,188,212,.12),0 6px 0 var(--canard-950)}}
.noeud-etiq{background:#fff;border-radius:16px;padding:.55rem .85rem;box-shadow:var(--ombre-1);border:1px solid var(--filet);text-decoration:none;color:var(--encre);min-width:0;max-width:340px}
.noeud-etiq b{display:block;font-family:var(--titre);font-size:.92rem;line-height:1.25}
.noeud-etiq small{color:var(--gris-600);font-size:.78rem}
.noeud-etiq.actuel{background:var(--canard-700);color:#fff;border-color:var(--canard-700)}
.noeud-etiq.actuel small{color:#D5F3F8}
/* Étoiles de réussite */
.etoiles-3{display:inline-flex;gap:2px}
.etoiles-3 .ic{width:16px;height:16px;color:#DCE4E6;fill:currentColor}
.etoiles-3 .on{color:var(--or)}
/* Pastille de série (flamme) */
.flamme{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--titre);font-weight:900;color:#C2551B;background:#FFEFE3;border-radius:999px;padding:.35rem .8rem;font-size:.85rem}
.flamme .ic{color:#EE7D1A}

/* ═══ La touche « cahier » : là où l'on apprend vraiment ═══ */
.cahier{position:relative;background-color:#fff;background-image:linear-gradient(90deg,transparent 46px,var(--marge) 46px,var(--marge) 48px,transparent 48px),repeating-linear-gradient(180deg,transparent 0 31px,var(--seyes) 31px 32px),repeating-linear-gradient(180deg,transparent 0 7px,var(--seyes-fin) 7px 8px);background-position:0 0,0 10px,0 10px;border-radius:var(--r);border:1px solid rgba(7,90,115,.08);box-shadow:var(--ombre-1);padding:1.4rem 1.4rem 1.4rem 4.2rem}
.cahier.sans-marge{background-image:repeating-linear-gradient(180deg,transparent 0 31px,var(--seyes) 31px 32px),repeating-linear-gradient(180deg,transparent 0 7px,var(--seyes-fin) 7px 8px);background-position:0 10px,0 10px;padding-left:1.4rem}
.ecrit-main{font-family:var(--main);font-weight:700;color:var(--canard-700);font-size:1.35rem;line-height:1.15}
.stylo-rouge{font-family:var(--main);font-weight:700;color:var(--stylo);font-size:1.35rem;line-height:1.15}
.surligne{background:linear-gradient(transparent 58%,rgba(226,169,63,.45) 58% 90%,transparent 90%);padding:0 .1em}
.post-it{background:var(--postit);padding:.8rem 1rem;border-radius:3px;transform:rotate(-1.5deg);box-shadow:0 10px 20px -10px rgba(0,0,0,.25);font-family:var(--main);font-size:1.3rem;color:var(--canard-900);line-height:1.2}
.tampon{display:inline-block;border:3px solid var(--stylo);color:var(--stylo);font-family:var(--titre);font-weight:900;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .6rem;border-radius:8px;transform:rotate(-6deg);background:rgba(255,255,255,.75);line-height:1.2;text-align:center}
.tampon.vert{border-color:var(--vert);color:var(--vert)}
.case-cochee{width:20px;height:20px;border:2px solid var(--canard-700);border-radius:5px;flex:none;display:grid;place-items:center;color:#fff}
.case-cochee.ok{background:var(--canard-700)}
.case-cochee .ic{width:14px;height:14px}

/* ─── Installation / connexion ─── */
.page-install,.page-auth{background:var(--degrade-profond);min-height:100vh}
.install{max-width:620px;margin:3rem auto;background:#fff;border-radius:var(--r-xl);padding:2.4rem;box-shadow:var(--ombre-3)}
.install-logo{height:70px;margin-bottom:1.5rem}
.install-adresse{font-family:var(--titre);font-weight:800;font-size:1.1rem;background:var(--cyan-50);padding:1rem;border-radius:var(--r);word-break:break-all;color:var(--canard-900)}
.auth{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - var(--entete))}
.auth-visuel{background:var(--degrade);color:#F0FBFD;padding:3rem;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.auth-visuel::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.1)}
.auth-visuel>*{position:relative}
.auth-visuel h2{color:#fff;font-size:clamp(1.8rem,3vw,2.6rem)}
.auth-visuel img{width:220px;margin-top:2rem;align-self:flex-end}
.auth-form{display:flex;align-items:center;justify-content:center;padding:2.5rem 1.2rem;background:var(--fond)}
.auth-form .carte{width:100%;max-width:480px;padding:2.2rem}
.code-saisie{font-family:var(--titre);font-size:1.8rem!important;letter-spacing:.5em;text-align:center;font-weight:800}

/* ═══ Espaces connectés ═══ */
.espace{display:grid;grid-template-columns:268px 1fr;min-height:100vh;background:var(--fond)}
.espace-menu{background:#fff;color:var(--texte);padding:1.1rem .85rem;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;border-right:1px solid var(--filet)}
.espace-menu .logo{padding:.3rem .45rem;margin:0 .2rem .8rem;align-self:flex-start}
.espace-menu .logo img{height:40px}
.espace-menu nav{display:flex;flex-direction:column;gap:.15rem}
.espace-menu nav a{display:flex;align-items:center;gap:.75rem;padding:.55rem .6rem;border-radius:14px;color:var(--texte);text-decoration:none;font-weight:600;font-size:.93rem;position:relative}
.espace-menu nav a .ic{width:34px;height:34px;padding:7px;border-radius:11px;background:var(--gris-50);color:var(--canard-700);box-sizing:border-box;transition:.15s}
.espace-menu nav a:hover{background:var(--cyan-50);color:var(--canard-900)}
.espace-menu nav a:hover .ic{background:#fff}
.espace-menu nav a.actif{background:var(--cyan-50);color:var(--canard-900);font-weight:800}
.espace-menu nav a.actif .ic{background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.espace-menu .groupe{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris-500);padding:1rem .7rem .4rem;font-weight:800}
.espace-menu .badge{margin-left:auto;background:var(--rouge);color:#fff;font-size:.7rem;font-weight:800;border-radius:999px;padding:.05rem .5rem;min-width:22px;text-align:center}
.espace-menu .bas{margin-top:auto;padding-top:1rem;border-top:1px solid var(--filet)}
.espace-menu .btn-fantome{--relief:var(--filet);background:var(--gris-50);color:var(--gris-600);border-color:var(--filet)}
.espace-menu .btn-fantome:hover{background:var(--rouge-50);color:var(--rouge)}
.espace-principal{min-width:0;display:flex;flex-direction:column}
.espace-barre{height:68px;background:rgba(244,250,251,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1rem;padding:0 1.6rem;border-bottom:1px solid rgba(7,90,115,.06)}
.espace-barre .titre{font-family:var(--titre);font-weight:900;font-size:1.08rem;color:var(--encre);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}
.espace-barre .droite{margin-left:auto;display:flex;align-items:center;gap:.6rem}
.icone-btn{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#fff;border:1px solid var(--filet);color:var(--encre);position:relative;text-decoration:none;cursor:pointer;box-shadow:0 2px 0 var(--filet)}
.icone-btn:hover{background:var(--cyan-50);color:var(--canard-700)}
.icone-btn .point{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--rouge);color:#fff;font-size:.66rem;font-weight:800;display:grid;place-items:center;padding:0 4px;border:2px solid var(--fond)}
.solde-points{display:inline-flex;align-items:center;gap:.4rem;background:#fff;color:var(--or-texte);padding:.45rem .85rem;border-radius:999px;font-family:var(--titre);font-weight:900;font-size:.88rem;text-decoration:none;border:2px solid var(--or-100);box-shadow:0 3px 0 var(--or-100)}
.solde-points .ic{color:var(--or-600)}
.solde-points:hover{color:var(--or-texte);background:var(--or-50)}
.espace-contenu{padding:1.4rem 1.6rem 6rem;max-width:1280px;width:100%}
.espace-entete{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.espace-entete h1{font-size:clamp(1.35rem,2.2vw,1.8rem);margin:0}
.espace-entete p{margin:.3rem 0 0;color:var(--gris-600)}
.bienvenue{border-radius:var(--r-xl);background:var(--degrade);color:#F0FBFD;padding:1.4rem 1.6rem;display:flex;align-items:center;gap:1.2rem;position:relative;overflow:hidden;margin-bottom:1.2rem;min-height:140px}
.bienvenue::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.12);right:-70px;top:-90px}
.bienvenue>*{position:relative}
.bienvenue h1,.bienvenue h2{color:#fff;margin:0 0 .3rem;font-size:clamp(1.3rem,2.1vw,1.7rem)}
.bienvenue p{margin:0}
.bienvenue .karamo{position:absolute;right:1.2rem;bottom:-24px;width:118px}
.bienvenue .texte{max-width:calc(100% - 140px)}
.tuiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.9rem}
.tuile{--c:var(--canard-700);background:#fff;border-radius:22px;padding:.9rem;text-decoration:none;color:var(--encre);border:2px solid color-mix(in srgb,var(--c) 18%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 25%,#fff);display:flex;flex-direction:column;gap:.7rem;transition:.15s;font-family:var(--titre);font-weight:800;font-size:.92rem}
.tuile:hover{transform:translateY(-3px);color:var(--encre);border-color:color-mix(in srgb,var(--c) 40%,#fff)}
.tuile:active{transform:translateY(2px);box-shadow:0 1px 0 color-mix(in srgb,var(--c) 25%,#fff)}
.tuile .pastille-icone{margin:0;width:42px;height:42px;border-radius:13px;background:var(--c);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.tuile .pastille-icone.or{background:var(--or);box-shadow:0 3px 0 var(--or-700)}
.tuile small{font-family:var(--corps);font-weight:500;color:var(--gris-500);font-size:.78rem}
.nav-mobile{display:none}
.espace-menu .fermer-menu{display:none}

/* Liste d'éléments (notifications, activité) */
.liste{display:flex;flex-direction:column}
.liste .el{display:flex;gap:.9rem;align-items:flex-start;padding:.85rem .4rem;border-bottom:1px solid var(--filet);text-decoration:none;color:inherit;border-radius:12px;transition:background .15s}
a.el:hover{background:#FAFDFE}
.liste .el:last-child{border-bottom:0}
.liste .el .pic{width:42px;height:42px;border-radius:13px;background:var(--cyan-50);color:var(--canard-700);display:grid;place-items:center;flex:none}
.liste .el b{display:block;color:var(--encre);font-size:.94rem}
.liste .el span{font-size:.84rem;color:var(--gris-600)}
.liste .el.non-lu b::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cyan);margin-left:.4rem;vertical-align:middle}

/* ═══ Administration : la même famille, en plus calme ═══ */
.admin .espace-menu{background:linear-gradient(180deg,#075A73,#064A60);color:#CFE3E6;border-right:0}
.admin .espace-menu .logo{background:#fff;border-radius:14px;padding:.45rem .7rem}
.admin .espace-menu .logo img{height:34px}
.admin .espace-menu .logo::after{content:"Direction";display:block;font-family:var(--titre);font-size:.6rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--canard-700);margin-top:.2rem}
.admin .espace-menu nav a{color:#DCEFF3}
.admin .espace-menu nav a .ic{background:rgba(255,255,255,.08);color:#BDEFF7}
.admin .espace-menu nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.admin .espace-menu nav a.actif{background:rgba(255,255,255,.12);color:#fff}
.admin .espace-menu nav a.actif .ic{background:var(--cyan);color:var(--canard-950);box-shadow:none}
.admin .espace-menu .groupe{color:#8FC3CC}
.admin .espace-menu .bas{border-color:rgba(255,255,255,.1)}
.admin .espace-menu .btn-fantome{--relief:rgba(0,0,0,.1);background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)}
.admin .tableau{font-size:.88rem}
.graphe{width:100%;height:220px}
.graphe .barre-g{fill:var(--canard-600)}
.graphe .barre-g:hover{fill:var(--or)}
.graphe text{font-size:10px;fill:var(--gris-500);font-family:var(--corps)}
.repartition{display:flex;height:14px;border-radius:14px;overflow:hidden;background:var(--gris-50)}
.repartition i{display:block;height:100%}
.legende{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.82rem;margin-top:.7rem;color:var(--gris-600)}
.legende span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--c);margin-right:.35rem;vertical-align:-1px}
.direct{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;color:var(--vert)}
.direct::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--vert);box-shadow:0 0 0 0 rgba(30,142,90,.5);animation:pouls 1.8s infinite}
@keyframes pouls{70%{box-shadow:0 0 0 10px rgba(30,142,90,0)}100%{box-shadow:0 0 0 0 rgba(30,142,90,0)}}

/* ═══ Impression (bulletins, certificats, attestations) ═══ */
.page-impression{background:#e9ecec;padding:24px 0}
.feuille{width:210mm;min-height:297mm;margin:0 auto 24px;background:#fff;padding:16mm 16mm 14mm;box-shadow:0 4px 20px rgba(0,0,0,.12);position:relative;color:#111;font-size:10.5pt;line-height:1.45}
.feuille.paysage{width:297mm;min-height:210mm}
.barre-impression{max-width:210mm;margin:0 auto 16px;display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap;padding:0 12px}
@media print{
  @page{size:A4;margin:0}
  body{background:#fff!important}
  .page-impression{background:#fff;padding:0}
  .feuille{box-shadow:none;margin:0;page-break-after:always;width:auto;min-height:0}
  .barre-impression,.no-print,.karamo-fab,.bandeau-demo{display:none!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ═══ Adaptation tablette et téléphone ═══ */
@media (max-width:1100px){
  .nav-principale{display:none}
  .bouton-menu{display:block}
  .entete-actions .btn-ligne{display:none}
  .pied-grille{grid-template-columns:1fr 1fr 1fr}
  .pied-grille>div:first-child{grid-column:1/-1}
  .piliers{grid-template-columns:repeat(3,1fr)}
  .grille-5,.grille-6{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:960px){
  .heros .conteneur{grid-template-columns:1fr}
  .heros-visuel{min-height:380px;max-width:480px;width:100%;margin:0 auto}
  .grille-4,.chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grille-3,.profils{grid-template-columns:repeat(2,minmax(0,1fr))}
  .auth{grid-template-columns:1fr}
  .auth-visuel{display:none}
  .espace{grid-template-columns:1fr}
  .espace-menu{position:fixed;inset:0 auto 0 0;width:min(86vw,300px);z-index:90;transform:translateX(-100%);transition:transform .25s;box-shadow:var(--ombre-3);border-radius:0 26px 26px 0}
  .espace.menu-ouvert .espace-menu{transform:none}
  .espace.menu-ouvert::after{content:"";position:fixed;inset:0;background:rgba(6,74,96,.45);z-index:85}
  .espace-menu .fermer-menu{display:grid;position:absolute;top:1rem;right:1rem;background:var(--gris-50);border:0;color:var(--encre);width:42px;height:42px;border-radius:14px;place-items:center;cursor:pointer}
  .admin .espace-menu .fermer-menu{background:rgba(255,255,255,.12);color:#fff}
  .espace-barre{padding:0 1rem}
  .espace-contenu{padding:1.1rem 1rem 8rem}
  .nav-mobile{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:70;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--filet);border-radius:24px;padding:.4rem .3rem;justify-content:space-around;box-shadow:0 14px 34px -10px rgba(6,74,96,.35)}
  .nav-mobile a{display:flex;flex-direction:column;align-items:center;gap:.12rem;font-size:.64rem;line-height:1.15;font-weight:800;color:var(--gris-500);text-decoration:none;padding:.35rem .15rem;flex:1;min-width:0;text-align:center;border-radius:16px}
  .nav-mobile a span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cache-mobile{display:none!important}
  .nav-mobile a .ic{width:24px;height:24px}
  .nav-mobile a.actif{color:var(--canard-800);background:var(--cyan-50)}
  .nav-mobile a.actif .ic{color:var(--canard-700)}
  .karamo-fab{bottom:calc(18px + env(safe-area-inset-bottom));right:12px;padding:.3rem;border-radius:20px}
  .karamo-fab span:not(.tete){display:none}
  .espace .karamo-fab,.corps-espace .karamo-fab{display:none}
  .appel{grid-template-columns:1fr}
  .appel img{display:none}
}
@media (max-width:640px){
  body{font-size:15.5px}
  .conteneur{padding:0 16px}
  .grille-2,.grille-3,.grille-4,.grille-5,.grille-6,.profils{grid-template-columns:minmax(0,1fr)}
  .piliers{grid-template-columns:1fr 1fr}
  .chiffres{grid-template-columns:1fr 1fr;gap:.7rem}
  .chiffre{padding:.9rem}
  .span-2{grid-column:auto}
  .pied-grille{grid-template-columns:1fr 1fr}
  .logo img{height:40px}
  .entete .conteneur{gap:.6rem}
  .entete-actions .btn{padding:.55em 1em;min-height:40px;font-size:.85rem}
  .menu-deroulant .panneau{display:none}
  .heros-visuel{min-height:340px}
  .bulle{font-size:.78rem;max-width:200px;padding:.7rem .8rem}
  .bulle-2{left:0}
  .carte{padding:1.1rem;border-radius:22px}
  .entete-page{border-radius:0 0 26px 26px}
  .bienvenue{padding:1.3rem;min-height:0;border-radius:26px}
  .bienvenue .karamo{width:96px;right:.5rem;bottom:-18px}
  .bienvenue .texte{max-width:calc(100% - 90px)}
  .tuiles{grid-template-columns:repeat(2,1fr)}
  .iles{grid-template-columns:repeat(3,1fr);gap:.6rem}
  .ile{padding:.8rem .35rem .7rem;border-radius:18px}
  .ile-ic{width:46px;height:46px;border-radius:14px}
  .ile-ic .ic{width:23px;height:23px}
  .ile b{font-size:.8rem}
  .ile small{font-size:.7rem}
  .chemin-lecons li:nth-child(4n+2){padding-left:12%}
  .chemin-lecons li:nth-child(4n+3){padding-left:24%}
  .chemin-lecons li:nth-child(4n+4){padding-left:12%}
  .chemin-lecons li:nth-child(4n+2)::after,.chemin-lecons li:nth-child(4n+4)::after{--x:12%}.chemin-lecons li:nth-child(4n+3)::after{--x:24%}
  .noeud{width:62px;height:62px}
  .chemin-lecons li:not(:last-child)::after{left:calc(var(--x,0%) + 31px);top:66px}
  .cahier{padding:1.1rem 1rem 1.1rem 3.2rem;background-image:linear-gradient(90deg,transparent 32px,var(--marge) 32px,var(--marge) 34px,transparent 34px),repeating-linear-gradient(180deg,transparent 0 31px,var(--seyes) 31px 32px),repeating-linear-gradient(180deg,transparent 0 7px,var(--seyes-fin) 7px 8px)}
  .install{margin:0;border-radius:0;min-height:100vh;padding:1.6rem}
  .auth-form .carte{padding:1.4rem}
  .tableau-mobile thead{display:none}
  .tableau-mobile tr{display:block;border-bottom:1px solid var(--filet);padding:.6rem 0}
  .tableau-mobile td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.3rem 1rem;text-align:right}
  .tableau-mobile td::before{content:attr(data-l);font-weight:700;color:var(--gris-600);text-align:left;font-size:.8rem}
  .tableau-mobile td.actions{justify-content:flex-end}
  .tableau-mobile td.actions::before{display:none}
  .messages-flash{top:12px}
}
@media (max-width:380px){
  .iles{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ─── Paiement ─── */
.etapes-paiement{padding-left:1.3rem;margin:0 0 .5rem;display:flex;flex-direction:column;gap:.6rem;font-size:.95rem}
.etapes-paiement li::marker{font-family:var(--titre);font-weight:900;color:var(--canard-600)}
.numeros-marchands{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.numero{display:inline-flex;gap:.5rem;align-items:center;padding:.45rem .8rem;border-radius:12px;font-size:.9rem;background:var(--gris-50)}
.numero.om{background:#FFF1E6}.numero.mtn{background:#FFF9D9}
.numero em{color:var(--gris-500);font-size:.85rem}
.logo-op{display:inline-grid;place-items:center;min-width:44px;height:26px;padding:0 .4rem;border-radius:7px;font-family:var(--titre);font-weight:900;font-size:.72rem;margin:0 auto .2rem}
.logo-op.om{background:#FF7900;color:#fff}.logo-op.mtn{background:#FFCB05;color:#1a1a1a}

/* ─── Publicités ─── */
.pub{position:relative;margin:1.5rem 0}
.pub a{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:var(--r-l);overflow:hidden;text-decoration:none;color:var(--texte);border:1px solid var(--filet);box-shadow:var(--ombre-1)}
.pub img{width:100%;max-height:220px;object-fit:cover}
.pub-home_premium a{display:block}
.pub-texte{padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.2rem}
.pub-texte b{font-family:var(--titre);color:var(--encre)}
.pub-mention{position:absolute;top:8px;right:10px;background:rgba(255,255,255,.92);font-size:.68rem;font-weight:700;color:var(--gris-600);padding:.15rem .5rem;border-radius:999px}

/* ─── Lisibilité sur les fonds bleus ─── */
.heros .surtitre,.entete-page .surtitre,.bienvenue .surtitre,.appel .surtitre,.auth-visuel .surtitre,.carte-sombre .surtitre{color:#fff}
.auth-visuel .surtitre::before,.carte-sombre .surtitre::before,.heros .surtitre::before,.entete-page .surtitre::before,.bienvenue .surtitre::before,.appel .surtitre::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
.heros h1{text-shadow:0 2px 14px rgba(6,74,96,.22)}

/* ─── Recherche vocale (1.3.0) : bouton micro ajouté par kharandi.js aux champs [data-voix] ─── */
.k-voix-champ{position:relative;display:block;min-width:0;width:100%}
.k-voix-champ>input.k-voix-input{width:100%;padding-right:3.4rem!important}
.k-voix{position:absolute;top:50%;right:5px;transform:translateY(-50%);width:40px;height:40px;border-radius:12px;display:grid;place-items:center;border:0;padding:0;cursor:pointer;background:var(--cyan-50);color:var(--canard-700);box-shadow:0 3px 0 var(--cyan-100);transition:background .15s,color .15s}
.k-voix::before{content:"";position:absolute;inset:-3px}
.k-voix:hover{background:var(--cyan-100)}
.k-voix:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.k-voix .ic{width:20px;height:20px}
.k-voix.ecoute{background:var(--rouge);color:#fff;box-shadow:0 0 0 5px rgba(194,65,45,.18);animation:k-voix-respire 1.2s ease-in-out infinite}
@keyframes k-voix-respire{50%{box-shadow:0 0 0 10px rgba(194,65,45,.07)}}
@media (prefers-reduced-motion:reduce){.k-voix.ecoute{animation:none}}

/* 1.8.0 (intégration) — pied de page sur les petits téléphones (360 px, courants en Guinée) : la colonne « Nous joindre »
   (adresse e-mail) élargissait la page de 30 px. En dessous de 380 px seulement : colonnes égales, l'adresse passe à la ligne. */
@media (max-width:379px){
  .pied-grille{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .pied-grille a{overflow-wrap:anywhere}
}

/* accueil.css */
/* KHARANDI — page d'accueil « Le voyage du savoir » (préfixe .ac-) */
.ac{background:var(--fond)}
.ac .section{padding:clamp(2rem,4vw,3.2rem) 0}
.ac-titre{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.ac-titre h2{margin:0}
.ac-titre .surtitre{margin-bottom:.5rem}
.ac-titre.centre{justify-content:center;text-align:center}

/* ─── Héros ─── */
.ac-heros{position:relative;overflow:hidden;background:var(--degrade);color:#F0FBFD;padding:clamp(2.4rem,6vw,4.6rem) 0 clamp(6.5rem,10vw,8rem);border-radius:0 0 var(--r-xl) var(--r-xl)}
.ac-heros::before{content:"";position:absolute;width:640px;height:640px;border-radius:50%;background:rgba(255,255,255,.09);right:-200px;top:-260px}
.ac-heros::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.07);left:-90px;bottom:-110px}
.ac-heros-grille{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.ac-heros .surtitre{color:#fff}
.ac-heros h1{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.02;margin-bottom:1rem;text-shadow:0 2px 16px rgba(6,74,96,.2)}
.ac-heros h1 span{display:inline-block;background:#fff;color:var(--canard-800);padding:0 .22em .04em;border-radius:.22em;transform:rotate(-1.5deg);box-shadow:0 .09em 0 rgba(6,74,96,.28);text-shadow:none;margin-top:.12em}
.ac-lead{font-size:clamp(1.02rem,1.6vw,1.2rem);max-width:520px;color:#F2FBFD;margin-bottom:1.8rem}
.ac-heros-visuel{position:relative;min-height:400px}
.ac-rond{position:absolute;right:6%;bottom:0;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),rgba(255,255,255,.12) 55%,transparent 70%)}
.ac-perso{position:absolute;right:10%;bottom:-10px;width:56%;max-width:290px;filter:drop-shadow(0 26px 36px rgba(6,74,96,.35));animation:flotte 6s ease-in-out infinite}
.ac-badge{position:absolute;z-index:2;display:flex;align-items:center;gap:.65rem;background:#fff;color:var(--encre);border-radius:18px;padding:.6rem .85rem .6rem .6rem;box-shadow:0 5px 0 rgba(6,74,96,.18),var(--ombre-3);animation:apparait .7s both}
.ac-badge b{display:block;font-family:var(--titre);font-size:.86rem;line-height:1.2}
.ac-badge small{font-size:.76rem;color:var(--gris-600)}
.ac-badge .etoiles{font-size:.9rem;color:var(--or)}
.ac-bic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--canard-700);color:#fff;flex:none}
.ac-bic.or{background:var(--or)}.ac-bic.vert{background:var(--vert)}
.ac-b1{top:6%;left:2%;animation-delay:.2s}
.ac-b2{top:44%;left:-4%;animation-delay:.45s}
.ac-b3{bottom:26%;right:-3%;animation-delay:.7s}

/* ─── Je suis… (carte qui chevauche le héros) ─── */
.ac-portes{position:relative;z-index:3;margin-top:calc(-1 * clamp(4.6rem,8vw,5.6rem))}
.ac-portes-carte{background:#fff;border-radius:var(--r-xl);box-shadow:var(--ombre-3);border:1px solid rgba(7,90,115,.06);padding:1.1rem 1.2rem 1.2rem}
.ac-portes-titre{font-size:1.05rem;margin:0 0 .8rem .3rem;color:var(--canard-900)}
.ac-portes-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.ac-porte{display:flex;align-items:center;gap:.8rem;padding:.7rem .8rem;border-radius:18px;text-decoration:none;color:var(--encre);background:var(--gris-50);border:2px solid transparent;transition:.15s}
.ac-porte:hover{background:#fff;border-color:color-mix(in srgb,var(--c) 35%,#fff);color:var(--encre);transform:translateY(-2px);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 30%,#fff)}
.ac-porte-ic{width:46px;height:46px;border-radius:15px;background:var(--c);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.ac-porte-ic .ic{width:23px;height:23px}
.ac-porte-txt{min-width:0;flex:1}
.ac-porte-txt b{display:block;font-family:var(--titre);font-weight:800;font-size:.95rem;line-height:1.2}
.ac-porte-txt small{display:block;color:var(--gris-600);font-size:.8rem;line-height:1.3}
.ac-porte-fl{color:var(--gris-400);transition:transform .15s}
.ac-porte:hover .ac-porte-fl{transform:translateX(3px);color:var(--c)}

/* ─── Le voyage en cinq étapes ─── */
.ac-route{list-style:none;margin:0;padding:1rem 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;position:relative}
.ac-route::before{content:"";position:absolute;left:10%;right:10%;top:calc(1rem + 36px);border-top:5px dotted var(--cyan-200)}
.ac-route li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem}
.ac-route li:nth-child(even){margin-top:1.8rem}
.ac-route-noeud{position:relative;width:74px;height:74px;border-radius:50%;background:var(--canard-700);color:#fff;display:grid;place-items:center;box-shadow:0 6px 0 var(--canard-900),0 0 0 7px var(--fond);margin-bottom:.6rem}
.ac-route-noeud .ic{width:30px;height:30px}
.ac-route-noeud i{position:absolute;top:-4px;right:-4px;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--canard-800);font-style:normal;font-family:var(--titre);font-weight:900;font-size:.78rem;display:grid;place-items:center;box-shadow:0 2px 6px rgba(6,74,96,.25)}
.ac-route li.or .ac-route-noeud{background:var(--or);box-shadow:0 6px 0 var(--or-700),0 0 0 7px var(--fond)}
.ac-route li:nth-child(2) .ac-route-noeud{background:#0E94B5}
.ac-route li:nth-child(4) .ac-route-noeud{background:#0A6F8C}
.ac-route b{font-family:var(--titre);font-weight:800;color:var(--encre);font-size:1rem}
.ac-route small{color:var(--gris-600);font-size:.86rem;max-width:180px}

/* ─── Karamö ─── */
.ac-karamo{display:grid;grid-template-columns:1.05fr .95fr;gap:2.4rem;align-items:center;background:linear-gradient(160deg,#E8F8FB,#fff 70%);border:1px solid var(--cyan-100);border-radius:var(--r-xl);padding:clamp(1.4rem,4vw,2.8rem);position:relative;overflow:hidden}
.ac-karamo::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:rgba(26,188,212,.10);left:-120px;bottom:-160px}
.ac-karamo>*{position:relative}
.ac-karamo h2{margin-bottom:1.2rem}
.ac-karamo-liste{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.8rem}
.ac-karamo-liste li{display:flex;gap:.85rem;align-items:flex-start;font-size:.93rem;color:var(--gris-600)}
.ac-karamo-liste li>span{width:42px;height:42px;border-radius:14px;background:#fff;color:var(--canard-700);display:grid;place-items:center;flex:none;box-shadow:0 3px 0 var(--cyan-100);border:1px solid var(--cyan-100)}
.ac-karamo-liste b{display:block;font-family:var(--titre);color:var(--encre);font-size:.98rem}
.ac-tel{position:relative;justify-self:center;width:min(100%,360px);background:#F6FCFD;border-radius:32px;box-shadow:0 0 0 9px #0D2733,var(--ombre-3);padding:1rem .95rem 4.6rem;min-height:500px}
.ac-tel-tete{display:flex;gap:.6rem;align-items:center;padding:.2rem .2rem .8rem;border-bottom:1px solid var(--filet);margin-bottom:.8rem}
.ac-tel-tete img{width:40px;height:40px;border-radius:13px;object-fit:cover;object-position:50% 6%;background:#FFE3A6}
.ac-tel-tete b{display:block;font-family:var(--titre);font-size:.95rem;line-height:1.1}
.ac-tel-tete small{color:var(--vert);font-size:.74rem;font-weight:600}
.ac-tel-fil{display:flex;flex-direction:column;gap:.55rem}
.ac-m{max-width:84%;padding:.6rem .8rem;border-radius:16px;font-size:.88rem;line-height:1.4}
.ac-m.moi{align-self:flex-end;background:var(--canard-700);color:#fff;border-bottom-right-radius:5px}
.ac-m.lui{background:#fff;box-shadow:0 3px 12px rgba(7,90,115,.10);border-bottom-left-radius:5px}
.ac-m.lui b{display:block;font-family:var(--titre);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--canard-600)}
.ac-photo{align-self:flex-end;width:170px;height:104px;border-radius:14px;border:4px solid var(--canard-700);background:repeating-linear-gradient(180deg,#fff 0 12px,rgba(26,188,212,.25) 12px 13px);display:flex;align-items:flex-end;justify-content:flex-start;gap:.35rem;padding:.4rem;font-family:var(--main);font-weight:700;font-size:1.02rem;color:var(--canard-900)}
.ac-photo .ic{width:16px;height:16px}
.ac-puces{display:flex;gap:.35rem;flex-wrap:wrap}
.ac-puces span{font-family:var(--titre);font-weight:700;font-size:.72rem;background:var(--cyan-50);color:var(--canard-800);border:1.5px solid var(--cyan-100);padding:.35rem .6rem;border-radius:99px}
.ac-tel-saisie{position:absolute;left:.8rem;right:.8rem;bottom:.8rem;background:#fff;border-radius:16px;padding:.45rem .45rem .45rem .8rem;display:flex;align-items:center;gap:.35rem;box-shadow:0 6px 18px rgba(7,90,115,.14);font-size:.85rem;color:var(--gris-400)}
.ac-tel-saisie span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--cyan-50);color:var(--canard-700)}
.ac-tel-saisie span:first-of-type{margin-left:auto}
.ac-tel-saisie span.go{background:var(--canard-700);color:#fff}
.ac-exemple{position:absolute;top:-12px;right:14px;background:var(--encre);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;border-radius:99px}

/* ─── Trio ─── */
.ac-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ac-fiche{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-l);padding:1.3rem;border:2px solid color-mix(in srgb,var(--c) 18%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--c) 22%,#fff);text-decoration:none;color:var(--texte);transition:.15s}
.ac-fiche:hover{transform:translateY(-3px);color:var(--texte);border-color:color-mix(in srgb,var(--c) 40%,#fff)}
.ac-fiche-ic{width:50px;height:50px;border-radius:16px;background:var(--c);color:#fff;display:grid;place-items:center;margin-bottom:1rem;box-shadow:0 4px 0 color-mix(in srgb,var(--c) 70%,#000)}
.ac-fiche-ic .ic{width:25px;height:25px}
.ac-fiche h3{font-size:1.12rem;margin-bottom:.35rem}
.ac-fiche p{font-size:.92rem;color:var(--gris-600);margin-bottom:1.1rem}
.ac-prix{margin-top:auto;display:flex;align-items:center;gap:.35rem;font-family:var(--titre);font-weight:900;color:var(--encre);padding-top:.9rem;border-top:2px dashed var(--filet)}
.ac-prix small{font-family:var(--corps);font-weight:500;color:var(--gris-500)}
.ac-prix .ic{margin-left:auto;color:var(--c)}

/* ─── Gratuit ─── */
.ac-gratuit{display:grid;grid-template-columns:.8fr 1.2fr;gap:1.5rem;align-items:center;background:#fff;border-radius:var(--r-xl);padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--filet);box-shadow:var(--ombre-1)}
.ac-gratuit h2{margin:0}
.ac-etiquettes{display:flex;flex-wrap:wrap;gap:.55rem}
.ac-etiquettes a{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .9rem .45rem .45rem;border-radius:999px;background:var(--cyan-50);border:2px solid var(--cyan-100);color:var(--canard-900);text-decoration:none;font-weight:700;font-size:.9rem;transition:.15s}
.ac-etiquettes a span{width:30px;height:30px;border-radius:50%;background:#fff;color:var(--canard-700);display:grid;place-items:center}
.ac-etiquettes a span .ic{width:16px;height:16px}
.ac-etiquettes a:hover{background:var(--canard-700);border-color:var(--canard-700);color:#fff}

/* ─── Actualités ─── */
.ac-actus{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ac-actu{display:flex;flex-direction:column;gap:.5rem;background:#fff;border-radius:var(--r-l);padding:1.15rem 1.2rem;border:1px solid var(--filet);box-shadow:var(--ombre-1);text-decoration:none;color:var(--encre);transition:.15s}
.ac-actu:hover{transform:translateY(-3px);box-shadow:var(--ombre-2);color:var(--encre)}
.ac-actu small{font-family:var(--titre);font-weight:800;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--canard-600)}
.ac-actu b{font-family:var(--titre);font-size:1rem;line-height:1.3}
.ac-actu .lien-fleche{margin-top:auto}

/* ─── Fin ─── */
.ac-soussou{font-family:var(--main);font-weight:700;font-size:1.5rem;color:#fff;margin:0 0 .3rem;line-height:1.15}
.ac-fin .appel h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:1.1rem}

/* ─── Tablette ─── */
@media (max-width:1024px){
  .ac-heros-grille{grid-template-columns:1fr 1fr}
  .ac-heros-visuel{min-height:360px}
  .ac-b2{left:0}
  .ac-karamo{grid-template-columns:1fr}
  .ac-tel{justify-self:center}
  .ac-gratuit{grid-template-columns:1fr}
}
@media (max-width:860px){
  .ac-heros-grille{grid-template-columns:1fr}
  .ac-heros-visuel{min-height:300px;max-width:440px;width:100%;margin:0 auto}
  .ac-portes-grille{grid-template-columns:repeat(2,1fr)}
  .ac-route{grid-template-columns:1fr;gap:.2rem;padding-left:.2rem}
  .ac-route::before{left:37px;right:auto;top:1.6rem;bottom:2rem;border-top:0;border-left:5px dotted var(--cyan-200)}
  .ac-route li{flex-direction:row;text-align:left;align-items:center;gap:1rem;margin:0!important;padding:.35rem 0}
  .ac-route li:nth-child(even){padding-left:1.4rem}
  .ac-route-noeud{margin:0;flex:none;width:64px;height:64px}
  .ac-route b{display:block}
  .ac-route li>b,.ac-route li>small{display:block}
  .ac-route li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:1rem;align-content:center;row-gap:0}
  .ac-route-noeud{grid-row:1/3}
  .ac-route b{align-self:end}
  .ac-route small{align-self:start;max-width:none}
  .ac-trio,.ac-actus{grid-template-columns:1fr}
}
/* ─── Téléphone ─── */
@media (max-width:640px){
  .ac-heros{padding:1.8rem 0 5.6rem;border-radius:0 0 28px 28px}
  .ac-heros h1{font-size:2.35rem}
  .ac-heros .groupe-btn .btn{width:100%}
  .ac-heros-visuel{min-height:250px;max-width:360px}
  .ac-perso{width:52%}
  .ac-badge{padding:.45rem .6rem .45rem .45rem;border-radius:14px}
  .ac-badge b{font-size:.76rem}.ac-badge small{font-size:.68rem}
  .ac-bic{width:30px;height:30px;border-radius:10px}
  .ac-bic .ic{width:16px;height:16px}
  .ac-b1{top:2%}.ac-b2{top:40%}.ac-b3{bottom:24%;right:0}
  .ac-portes{margin-top:-4.4rem}
  .ac-portes-carte{padding:.9rem;border-radius:26px}
  .ac-portes-grille{grid-template-columns:1fr 1fr;gap:.5rem}
  .ac-porte{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem;border-radius:16px}
  .ac-porte-ic{width:40px;height:40px;border-radius:13px}
  .ac-porte-fl{display:none}
  .ac-porte-txt b{font-size:.88rem}
  .ac-porte-txt small{font-size:.74rem}
  .ac-tel{min-height:470px;border-radius:28px}
  .ac-karamo-texte .btn{width:100%}
}

/* apprendre.css */
/* ═══════════════════════════════════════════════════════════════
   KHARANDI — module Apprendre (cours, exercices, Abacus, Karamö, points, formations)
   Toutes les classes sont préfixées .ap-
   ═══════════════════════════════════════════════════════════════ */

/* ─── Communs ─── */
.ap-entrainement [hidden],.ap-boulier-carte [hidden],.ap-karamo [hidden],.ap-apercu-admin[hidden]{display:none!important}
.corps-espace .solde-points{white-space:nowrap}
.ap-section{padding-top:clamp(2rem,4vw,3.5rem)}
.ap-h2{font-size:clamp(1.25rem,2.2vw,1.55rem);margin-bottom:.8rem}
.ap-recherche{margin-top:1.6rem;max-width:620px}
.ap-recherche input{background:transparent;flex:1 1 auto;width:auto;min-width:0}
.ap-recherche .btn{flex:none}
.ap-recherche>.ic{flex:none}
.ap-filtres select,.ap-filtres input{flex:1 1 150px}
.ap-meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:1rem}
.entete-page .ap-meta .pastille{background:rgba(255,255,255,.16);color:#fff}
.entete-page .ap-meta .pastille.vert{background:rgba(30,142,90,.28);color:#CFF3DF}
.entete-page .ap-meta .pastille.or{background:#fff;color:var(--canard-900)}
.ap-matiere-pastille{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .7rem .22rem .5rem;border-radius:999px;font-size:.75rem;font-weight:700;background:color-mix(in srgb,var(--mc) 12%,#fff);color:var(--mc);white-space:nowrap}
.entete-page .ap-matiere-pastille{background:#fff}
.ap-matiere-pastille .ic{width:1em;height:1em}
.ap-entete-espace{margin-bottom:1.4rem}
.ap-entete-espace h1{font-size:clamp(1.5rem,3vw,2.2rem);margin:.3rem 0 .4rem}
.ap-etroit{max-width:760px}
.ap-gain{display:flex;align-items:center;gap:.6rem;background:linear-gradient(135deg,var(--or-50),#fff);border:1px solid var(--or-100);color:var(--or-texte);padding:.9rem 1.1rem;border-radius:var(--r);margin:1rem 0;font-weight:600}
.ap-gain .ic{color:var(--or-600);width:24px;height:24px}
.ap-or{background:var(--or-50)!important;color:var(--or-600)!important}
.ap-unite{font-size:.5em;font-weight:700;color:var(--gris-600);letter-spacing:0}
.btn.ap-attente{opacity:.65;pointer-events:none}

/* ─── Cartes de contenu ─── */
.ap-grille{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.ap-carte{position:relative;display:flex;flex-direction:column;gap:.55rem;background:#fff;border-radius:var(--r-l);padding:1.25rem 1.3rem 1.1rem;border:1px solid rgba(7,90,115,.07);box-shadow:var(--ombre-1);text-decoration:none;color:var(--texte);overflow:hidden;transition:transform .18s,box-shadow .18s;min-width:0}
.ap-carte::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--mc,var(--canard-600))}
.ap-carte:hover{transform:translateY(-3px);box-shadow:var(--ombre-2);color:var(--texte)}
.ap-carte h3{font-size:1.08rem;margin:0;line-height:1.3;color:var(--encre)}
.ap-carte-haut,.ap-carte-bas{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.ap-carte-bas{margin-top:auto;padding-top:.55rem;border-top:1px dashed var(--filet)}
.ap-matiere{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--titre);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mc,var(--canard-600))}
.ap-carte-texte{font-size:.9rem;color:var(--gris-600);line-height:1.5}
.ap-type{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--gris-600)}

/* ─── Lecture ─── */
.ap-entete-lecture h1{max-width:900px}
.ap-lecture{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;align-items:start}
.ap-article{background:#fff;border-radius:var(--r-l);box-shadow:var(--ombre-1);border:1px solid rgba(7,90,115,.06);padding:clamp(1.2rem,3.5vw,2.6rem);min-width:0}
.ap-outils{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.2rem}
.ap-outils-info{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto}
.ap-prose{font-size:1.06rem;line-height:1.78;color:var(--texte);overflow-wrap:break-word}
.ap-prose>:first-child{margin-top:0}
.ap-prose h2{font-size:1.35rem;margin:2.2rem 0 .8rem;padding-bottom:.45rem;border-bottom:2px solid var(--filet);position:relative}
.ap-prose h2::after{content:"";position:absolute;left:0;bottom:-2px;width:48px;height:2px;background:var(--or)}
.ap-prose h3{font-size:1.1rem;margin:1.6rem 0 .5rem;color:var(--canard-800)}
.ap-prose ul,.ap-prose ol{padding-left:1.3rem}
.ap-prose li{margin:.3rem 0}
.ap-prose li::marker{color:var(--canard-500)}
.ap-prose strong{color:var(--encre)}
.ap-prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px;font-size:.93rem}
.ap-prose th{font-family:var(--titre);font-size:.8rem;letter-spacing:.02em;color:var(--canard-800);background:var(--cyan-50)}
.ap-prose .formule{font-family:var(--corps);font-weight:600;border-left:4px solid var(--canard-500);overflow-x:auto}
.ap-prose .astuce{border-left:4px solid var(--or)}
.ap-prose blockquote{font-style:italic}
.ap-video{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000;margin:0 0 1.4rem}
.ap-video iframe,.ap-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.ap-media{border-radius:var(--r);padding:1rem 1.2rem;margin-bottom:1.2rem;background:var(--cyan-50)}
.ap-media audio{width:100%}
.ap-pdf{border:1px solid var(--filet);border-radius:var(--r);overflow:hidden;margin-bottom:1.4rem}
.ap-pdf-tete{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--or-50);flex-wrap:wrap}
.ap-pdf-tete .pastille-icone{margin:0;width:44px;height:44px}
.ap-pdf-tete>div{flex:1 1 180px;min-width:0}
.ap-pdf-apercu{display:block;width:100%;height:560px;border:0;background:var(--gris-50)}
.ap-fin-lecture{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--filet);display:flex;justify-content:center}
.ap-lu{padding:.6rem 1.1rem;font-size:.9rem}
.ap-apercu{position:relative;max-height:520px;overflow:hidden}
.ap-apercu::after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.ap-verrou{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.4rem;border:2px solid var(--or-100);background:linear-gradient(180deg,var(--or-50),#fff);margin-top:1rem}
.ap-verrou .pastille-icone{margin-bottom:.3rem}
.ap-verrou .groupe-btn{justify-content:center}
.ap-cote{display:flex;flex-direction:column;gap:1rem;position:sticky;top:calc(var(--entete) + 16px)}
.ap-lien-serie{display:flex;align-items:center;gap:.7rem;padding:.8rem .9rem;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;margin-top:.5rem;transition:background .15s}
.ap-lien-serie:hover{background:rgba(255,255,255,.16);color:#fff}
.ap-lien-serie>span{width:34px;height:34px;border-radius:10px;background:var(--or);color:var(--canard-950);display:grid;place-items:center;flex:none}
.ap-lien-serie b{flex:1;font-size:.92rem;line-height:1.3}
.ap-karamo-mini{display:flex;gap:.9rem;align-items:flex-end;padding-bottom:1rem}
.ap-karamo-mini img{width:84px;flex:none;margin:-.5rem 0 -1rem -.4rem}
.ap-karamo-mini b{font-family:var(--titre);color:var(--encre)}

/* ─── Exercices : catalogue ─── */
.ap-regles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.2rem}
.ap-regle{display:flex;gap:.8rem;align-items:flex-start}
.ap-regle b{display:block;font-family:var(--titre);color:var(--encre)}
.ap-regle span{font-size:.88rem;color:var(--gris-600)}

/* ─── Lecteur de QCM ─── */
.ap-section-qcm{background:linear-gradient(180deg,var(--fond),#fff 40%)}
.ap-qcm{scroll-margin-top:calc(var(--entete) + 20px)}
.ap-qcm-intro-tete{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}
.ap-qcm-intro-tete .pastille-icone{margin:0}
.ap-qcm-intro-tete h2{font-size:1.35rem;margin:0}
.ap-qcm-intro .liste-coches{margin-bottom:1rem}
.ap-points-info{display:flex;gap:.5rem;align-items:flex-start;font-size:.92rem;background:var(--or-50);color:#6b4600;padding:.8rem 1rem;border-radius:var(--r);margin-bottom:1.2rem}
.ap-points-info .ic{color:var(--or-600);margin-top:.15rem}
.ap-qcm-progres{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.92rem;color:var(--gris-600);margin-bottom:.5rem}
.ap-qcm-progres b{color:var(--encre);font-family:var(--titre)}
.ap-qcm-score{display:inline-flex;align-items:center;gap:.35rem;color:var(--vert);font-weight:700}
.ap-qcm-barre{margin-bottom:1.1rem;height:8px}
.ap-qcm-barre i{transition:width .4s}
.ap-question{padding:clamp(1.2rem,3vw,2rem);border-top:5px solid var(--canard-600);transition:border-color .2s}
.ap-question.est-juste{border-top-color:var(--vert)}
.ap-question.est-faux{border-top-color:var(--rouge)}
.ap-enonce-ligne{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1.2rem}
.ap-enonce{flex:1;font-family:var(--titre);font-weight:700;font-size:clamp(1.12rem,2.4vw,1.35rem);line-height:1.4;color:var(--encre);margin:0}
.ap-ecouter{flex:none;width:42px;height:42px}
.ap-choix{border:0;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.65rem}
.ap-choix-el{position:relative;display:flex!important;flex-direction:row!important;align-items:center;gap:.9rem!important;min-height:56px;padding:.75rem 1rem .75rem .8rem;border:2px solid var(--filet);border-radius:var(--r);background:#fff;cursor:pointer;font-weight:500!important;font-size:1rem!important;color:var(--texte)!important;transition:border-color .15s,background .15s,box-shadow .15s}
label.ap-choix-el:hover{border-color:var(--canard-500);background:#FBFEFE}
.ap-choix-el input{position:absolute;opacity:0;pointer-events:none}
.ap-lettre{width:36px;height:36px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--gris-50);font-family:var(--titre);font-weight:800;color:var(--canard-700);transition:.15s}
.ap-choix-texte{flex:1;line-height:1.4;overflow-wrap:anywhere}
label.ap-choix-el:has(input:checked){border-color:var(--canard-600);background:var(--cyan-50);box-shadow:0 0 0 3px rgba(26,188,212,.18)}
label.ap-choix-el:has(input:checked) .ap-lettre{background:var(--canard-700);color:#fff}
label.ap-choix-el:has(input:focus-visible){outline:3px solid var(--or);outline-offset:2px}
.ap-choix-corrige .ap-choix-el{cursor:default}
.ap-choix-el.bonne{border-color:var(--vert);background:var(--vert-50)}
.ap-choix-el.bonne .ap-lettre{background:var(--vert);color:#fff}
.ap-choix-el.fausse{border-color:var(--rouge);background:var(--rouge-50)}
.ap-choix-el.fausse .ap-lettre{background:var(--rouge);color:#fff}
.ap-marque{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff}
.bonne .ap-marque{background:var(--vert)}
.fausse .ap-marque{background:var(--rouge)}
.ap-indice{margin:0 0 1rem;border-radius:var(--r);background:var(--or-50);border:1px dashed var(--or-100)}
.ap-indice summary{cursor:pointer;padding:.75rem 1rem;font-weight:700;color:var(--or-texte);display:flex;align-items:center;gap:.45rem;list-style:none;min-height:44px}
.ap-indice summary::-webkit-details-marker{display:none}
.ap-indice p{margin:0;padding:0 1rem .9rem;color:#6b4600}
.ap-verdict{border-radius:var(--r);padding:1rem 1.1rem;margin-bottom:1rem;animation:apparait .3s both}
.ap-verdict>b{display:flex;align-items:center;gap:.45rem;font-family:var(--titre);font-size:1.05rem}
.ap-verdict.juste{background:var(--vert-50);color:#16663f}
.ap-verdict.faux{background:var(--rouge-50);color:#8e2e1f}
.ap-verdict p{margin:.5rem 0 0;color:var(--texte);line-height:1.6}
.ap-verdict>span{display:block;margin-top:.2rem}
.ap-valider[disabled]{opacity:.45}
.ap-resultat-tete{display:flex;gap:1.4rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}
.ap-anneau{width:112px;height:112px;flex:none}
.ap-anneau::before{width:86px;height:86px;font-size:1.35rem}
.ap-recap{list-style:none;counter-reset:q;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}
.ap-recap li{counter-increment:q;background:#fff;border:1px solid var(--filet);border-left:4px solid var(--vert);border-radius:12px;padding:.85rem 1rem}
.ap-recap li.ko{border-left-color:var(--rouge)}
.ap-recap-q{font-weight:600;color:var(--encre);margin:0 0 .4rem}
.ap-recap-q::before{content:counter(q) ". ";color:var(--gris-500)}
.ap-recap .pastille{white-space:normal;text-align:left}

/* ─── Espace élève : tableau de bord ─── */
.ap-bienvenue .texte{position:relative;z-index:1}
.ap-bienvenue{min-height:190px}
.ap-bienvenue .karamo{width:118px;bottom:-40px}
.ap-semaine{display:flex;gap:.35rem;margin-top:1rem}
.ap-semaine span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:.72rem;font-weight:800;background:rgba(255,255,255,.08);color:#9FC3C8;border:1px solid rgba(255,255,255,.12)}
.ap-semaine span.actif{background:var(--or);color:var(--canard-950);border-color:var(--or)}
.ap-semaine span.auj{box-shadow:0 0 0 2px rgba(255,255,255,.6)}
.ap-chiffres{margin-bottom:1.2rem}
.ap-chiffre-lien{text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.ap-chiffre-lien:hover{transform:translateY(-2px);box-shadow:var(--ombre-2);color:inherit}
.ap-encart-notes{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:var(--r-l);padding:1rem 1.2rem;border:1px solid rgba(7,90,115,.08);box-shadow:var(--ombre-1);margin-bottom:1.2rem;text-decoration:none;color:var(--texte)}
.ap-encart-notes .pastille-icone{margin:0}
.ap-encart-notes>span:nth-child(2){flex:1;min-width:0}
.ap-encart-notes b{display:block;font-family:var(--titre);color:var(--encre)}
.ap-encart-notes span span{font-size:.86rem;color:var(--gris-600)}
.ap-tuiles{margin-bottom:1.5rem}
.ap-bord{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.2rem;align-items:start}
.ap-progression{display:flex;flex-direction:column;gap:1rem}
.ap-prog-ligne .barre{height:8px;margin:.35rem 0 .2rem}
.ap-prog-nom{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--encre)}
.ap-point{width:10px;height:10px;border-radius:50%;flex:none}
.ap-score-pic{display:flex!important;align-items:center;justify-content:center;gap:1px;font-family:var(--titre);font-weight:900;font-size:.74rem;white-space:nowrap;letter-spacing:-.02em}
.ap-score-pic.bien{background:var(--vert-50)!important;color:var(--vert)!important}
.ap-score-pic.moyen{background:var(--cyan-50)!important;color:var(--canard-700)!important}
.ap-score-pic.faible{background:var(--or-50)!important;color:var(--or-texte)!important}
.ap-score-pic::after{content:"%";font-size:.65em;margin-left:1px}
.ap-carte-abo{border:2px solid var(--or-100);background:linear-gradient(160deg,var(--or-50),#fff)}

/* ─── Points ─── */
.ap-portefeuille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1.2rem;align-items:stretch}
.ap-solde{border-radius:var(--r-xl);padding:1.8rem;color:#D8E8EA;background:radial-gradient(400px 220px at 100% 0%,rgba(226,169,63,.28),transparent 60%),linear-gradient(150deg,var(--canard-700),var(--canard-950));display:flex;flex-direction:column}
.ap-solde .surtitre{color:var(--or-400)}
.ap-solde-v{font-family:var(--titre);font-weight:900;font-size:clamp(2.6rem,6vw,3.6rem);color:#fff;line-height:1;letter-spacing:-.03em}
.ap-solde-v small{font-size:.35em;font-weight:700;color:var(--or-400);letter-spacing:0}
.ap-solde-details{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:1rem 0;font-size:.9rem}
.ap-solde-details span{display:inline-flex;gap:.35rem;align-items:center}
.ap-plafond{margin-top:auto;background:rgba(255,255,255,.07);border-radius:var(--r);padding:.8rem 1rem}
.ap-plafond .barre{background:rgba(255,255,255,.12);height:8px;margin-top:.4rem}
.ap-solde .btn{align-self:flex-start}
.ap-regles-points{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.8rem}
.ap-regles-points li{display:flex;gap:.9rem;align-items:flex-start}
.ap-regles-points .pastille-icone{margin:0;width:42px;height:42px;border-radius:12px}
.ap-regles-points .pastille-icone .ic{width:20px;height:20px}
.ap-regles-points b{display:block;color:var(--encre)}
.ap-regles-points span{font-size:.86rem;color:var(--gris-600)}
.ap-mouvements .el{align-items:center}
.ap-mouvements .pic.moins{background:var(--rouge-50);color:var(--rouge)}
.ap-mv-texte{flex:1;min-width:0}
.ap-mv-montant{font-family:var(--titre);font-weight:900;font-size:1.05rem;white-space:nowrap}
.ap-mv-montant.plus{color:var(--vert)}
.ap-mv-montant.moins{color:var(--rouge)}
.ap-classement{list-style:none;padding:0;margin:0 0 .8rem;display:flex;flex-direction:column;gap:.4rem}
.ap-classement li{display:flex;align-items:center;gap:.8rem;padding:.6rem .8rem;border-radius:12px;background:var(--gris-50)}
.ap-classement li.moi{background:var(--or-50);box-shadow:inset 0 0 0 2px var(--or-100)}
.ap-rang{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:var(--titre);font-weight:900;font-size:.85rem;background:#fff;color:var(--gris-600);flex:none}
.ap-rang.r1{background:var(--or);color:var(--canard-950)}
.ap-rang.r2{background:#D5DDDE;color:var(--encre)}
.ap-rang.r3{background:#E8C9A6;color:#5a3a16}
.ap-cl-nom{flex:1;font-weight:600;color:var(--encre);min-width:0}
.ap-cl-nom em{font-style:normal;color:var(--or-texte);font-weight:700}

/* ─── Abacus ─── */
.ap-abacus-grille{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.2rem;align-items:start}
.ap-boulier-valeur{font-family:var(--titre);font-weight:900;font-size:1.6rem;color:var(--canard-700);background:var(--cyan-50);border-radius:12px;padding:.1rem .8rem;min-width:3ch;text-align:right;font-variant-numeric:tabular-nums}
.ap-soroban{--ab-h:212px;display:flex;justify-content:center;overflow-x:auto;padding:.3rem 0 .2rem}
.ap-cadre{position:relative;display:flex;gap:0;padding:10px 12px 34px;border-radius:18px;background:linear-gradient(160deg,#5B3A1E,#3E2612);box-shadow:inset 0 2px 0 rgba(255,255,255,.15),0 10px 24px rgba(62,38,18,.25)}
.ap-cadre::before{content:"";position:absolute;inset:10px 12px 34px;border-radius:8px;background:linear-gradient(180deg,#FBF4E6,#F1E5CC)}
.ap-barre{position:absolute;left:12px;right:12px;height:8px;margin-top:10px;background:linear-gradient(180deg,#6B4526,#3E2612);z-index:2;border-radius:2px}
.ap-tige{position:relative;width:44px;height:var(--ab-h);z-index:1}
.ap-tige::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:#8C6A45;border-radius:2px}
.ap-tige.repere::after{content:"";position:absolute;left:50%;top:66px;width:6px;height:6px;margin:-1px 0 0 -3px;border-radius:50%;background:#F7E7C6;z-index:3}
.ap-perle{position:absolute;left:3px;top:0;width:38px;height:26px;border:0;padding:0;cursor:pointer;background:radial-gradient(ellipse at 50% 30%,#2A8E98,#0B7FA0 70%);clip-path:polygon(0 50%,22% 0,78% 0,100% 50%,78% 100%,22% 100%);transition:transform .16s cubic-bezier(.3,.7,.4,1.1),filter .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ap-perle.ciel{background:radial-gradient(ellipse at 50% 30%,#FFD56B,#C98F22 70%)}
.ap-perle.active{filter:brightness(1.12) saturate(1.1)}
.ap-perle:not(.active){filter:saturate(.55) brightness(.92)}
.ap-perle:focus-visible{outline:none;filter:brightness(1.3) drop-shadow(0 0 0 #fff)}
.ap-perle::after{content:"";position:absolute;left:0;right:0;top:-9px;bottom:-9px}
.ap-chiffre-tige{position:absolute;left:0;right:0;bottom:-30px;text-align:center;font-family:var(--titre);font-weight:900;font-size:1.05rem;color:#FBE7BD}
.ap-tige-rang{position:absolute;left:0;right:0;bottom:-46px;text-align:center;font-size:.62rem;font-weight:800;color:var(--gris-500);letter-spacing:.04em}
.ap-soroban{padding-bottom:1.3rem}
.ap-boulier-actions{justify-content:center}
.ap-defi{margin-top:1rem;padding:1rem;border-radius:var(--r);background:var(--cyan-50);border:2px dashed var(--cyan-200);text-align:center}
.ap-defi .groupe-btn{justify-content:center}
.ap-defi-nombre{font-family:var(--titre);font-size:1.4rem;color:var(--canard-800)}
.ap-defi-msg{font-weight:600;font-size:.92rem}
.ap-defi-msg.ok{color:var(--vert)}
.ap-defi-msg.ko{color:var(--rouge)}
.ap-methode-liste{padding-left:1.2rem;margin:0 0 1rem;display:flex;flex-direction:column;gap:.6rem}
.ap-methode-liste li::marker{font-family:var(--titre);font-weight:900;color:var(--canard-600)}
.ap-modes{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1rem}
.ap-modes label{position:relative;cursor:pointer}
.ap-modes input{position:absolute;opacity:0}
.ap-modes span{display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;padding:1rem;border:2px solid var(--filet);border-radius:var(--r);background:#fff;height:100%;transition:.15s}
.ap-modes span .ic{width:26px;height:26px;color:var(--canard-600)}
.ap-modes b{font-family:var(--titre);color:var(--encre)}
.ap-modes small{color:var(--gris-600);font-size:.8rem;line-height:1.35}
.ap-modes input:checked+span{border-color:var(--canard-600);background:var(--cyan-50);box-shadow:0 0 0 3px rgba(26,188,212,.18)}
.ap-modes input:focus-visible+span{outline:3px solid var(--or);outline-offset:2px}
.ap-niveaux{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.55rem}
.ap-niveau{display:flex!important;flex-direction:row!important;align-items:center;gap:.8rem!important;padding:.7rem .9rem;border:2px solid var(--filet);border-radius:14px;background:#fff;cursor:pointer;min-height:56px}
.ap-niveau input{position:absolute;opacity:0}
.ap-niveau:has(input:checked){border-color:var(--canard-600);background:var(--cyan-50);box-shadow:0 3px 0 var(--canard-600)}
.ap-niveau:has(input:focus-visible){outline:3px solid var(--or);outline-offset:2px}
.ap-niveau-num{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--canard-700);color:#fff;font-family:var(--titre);font-weight:900;flex:none}
.ap-niveau-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.ap-niveau-txt b{font-size:.92rem;color:var(--encre)}
.ap-niveau-txt small{color:var(--gris-500);font-weight:500}
.ap-jeu-tete{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.8rem}
.ap-chrono{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--titre);font-weight:800;color:var(--canard-700);font-variant-numeric:tabular-nums;background:var(--cyan-50);padding:.35rem .8rem;border-radius:999px}
.ap-jeu-progres{font-size:.88rem;color:var(--gris-600);margin-bottom:.4rem;text-align:right}
.ap-affiche{min-height:150px;display:grid;place-items:center;font-family:var(--titre);font-weight:900;font-size:clamp(2.2rem,8vw,3.8rem);color:var(--encre);letter-spacing:-.01em;text-align:center;font-variant-numeric:tabular-nums;margin:1rem 0;border-radius:var(--r-l);background:linear-gradient(180deg,var(--fond),#fff);border:1px solid var(--filet)}
.ap-affiche.eclair{color:var(--canard-700)}
.ap-affiche.flash{color:var(--canard-800);background:linear-gradient(180deg,var(--or-50),#fff);animation:ap-flash .25s both}
@keyframes ap-flash{from{transform:scale(.92);opacity:.3}}
.ap-reponse{display:flex;gap:.6rem;max-width:460px;margin:0 auto}
.ap-reponse input{font-family:var(--titre);font-weight:800;font-size:1.4rem!important;text-align:center;min-height:56px}
.ap-reponse .btn{flex:none}
.ap-secoue{animation:ap-secoue .35s}
@keyframes ap-secoue{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.ap-avantages .pastille-icone{margin-bottom:.8rem}
.ap-entrainement{scroll-margin-top:90px}

/* ─── Karamö ─── */
.ap-heros-karamo .conteneur{align-items:center}
.ap-karamo-visuel{position:relative;max-width:420px;margin:0 auto;width:100%}
.ap-karamo-visuel img{width:100%;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
.ap-bulle-1{top:4%;left:-6%;animation-delay:.2s}
.ap-bulle-2{bottom:12%;right:-4%;animation-delay:.5s;max-width:220px}
.ap-etapes-karamo{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem}
.ap-etapes-karamo .etape{flex-direction:column;gap:.7rem}
.ap-etapes-karamo h3{font-size:1.05rem;margin-bottom:.3rem}
.ap-liste-non{list-style:none;padding:0;margin:0}
.ap-liste-non li{padding:.35rem 0 .35rem 1.8rem;position:relative}
.ap-liste-non li::before{content:"";position:absolute;left:0;top:.62rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--or-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D98A00' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center/55% no-repeat}
.ap-karamo{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.2rem;align-items:start}
.ap-convs{display:flex;flex-direction:column;gap:.8rem;position:sticky;top:84px}
.ap-convs-liste{background:#fff;border-radius:var(--r-l);border:1px solid rgba(7,90,115,.07);box-shadow:var(--ombre-1);overflow:hidden}
.ap-convs-liste summary{list-style:none;cursor:pointer;padding:.85rem 1rem;font-family:var(--titre);font-weight:800;font-size:.9rem;color:var(--encre);display:flex;align-items:center;gap:.5rem;min-height:48px}
.ap-convs-liste summary::-webkit-details-marker{display:none}
.ap-convs-liste summary .pastille{margin-left:auto}
.ap-convs-liste nav{display:flex;flex-direction:column;max-height:420px;overflow-y:auto;border-top:1px solid var(--filet)}
.ap-convs-liste nav a{display:flex;flex-direction:column;padding:.7rem 1rem;text-decoration:none;color:var(--texte);border-bottom:1px solid var(--filet)}
.ap-convs-liste nav a:hover{background:var(--fond)}
.ap-convs-liste nav a.actif{background:var(--cyan-50);box-shadow:inset 4px 0 0 var(--or)}
.ap-convs-liste nav b{font-size:.88rem;font-weight:600;color:var(--encre);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-convs-liste nav span{font-size:.76rem;color:var(--gris-500)}
.ap-convs-liste>p{padding:0 1rem 1rem;margin:0}
.ap-chat{padding:0;display:flex;flex-direction:column;overflow:hidden;min-height:min(72vh,720px)}
.ap-chat-tete{display:flex;align-items:center;gap:.8rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--filet);background:linear-gradient(90deg,var(--cyan-50),#fff)}
.ap-chat-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;background:var(--or);flex:none}
.ap-chat-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;transform:scale(1.6);transform-origin:50% 12%}
.ap-chat-tete b{display:block;font-family:var(--titre);color:var(--encre)}
.ap-chat-tete span{font-size:.8rem;color:var(--gris-600)}
.ap-chat-suppr{margin-left:auto}
.ap-fil{flex:1;overflow-y:auto;padding:1.2rem 1rem;display:flex;flex-direction:column;gap:.8rem;background:var(--fond);max-height:62vh;scroll-behavior:smooth}
.ap-fil-exemple{max-height:none;border-radius:var(--r);padding:1rem}
.ap-msg{position:relative;max-width:min(560px,88%);padding:.75rem 1rem;border-radius:18px;line-height:1.55;font-size:.97rem;overflow-wrap:anywhere;animation:apparait .25s both}
.ap-msg p{margin:0 0 .5rem}
.ap-msg p:last-child{margin-bottom:0}
.ap-msg ul{margin:.3rem 0 .5rem;padding-left:1.2rem}
.ap-msg li{margin:.2rem 0}
.ap-msg.eleve{align-self:flex-end;background:var(--canard-700);color:#fff;border-bottom-right-radius:6px}
.ap-msg.eleve strong,.ap-msg.eleve a{color:#fff}
.ap-msg.karamo{align-self:flex-start;background:#fff;color:var(--texte);border:1px solid var(--filet);border-bottom-left-radius:6px;box-shadow:var(--ombre-1);padding-right:2.6rem}
.ap-msg.karamo a{font-weight:700}
.ap-msg.erreur{background:var(--rouge-50);border-color:rgba(194,65,45,.25);color:#8e2e1f}
.ap-msg-ecouter{position:absolute;right:.35rem;top:.35rem;width:32px;height:32px;border-radius:50%;border:0;background:var(--gris-50);color:var(--canard-700);display:grid;place-items:center;cursor:pointer}
.ap-msg-ecouter:hover{background:var(--cyan-50)}
.ap-msg.attente{padding:.9rem 1.1rem}
.ap-points{display:inline-flex;gap:5px}
.ap-points i{width:8px;height:8px;border-radius:50%;background:var(--canard-500);animation:ap-rebond 1s infinite}
.ap-points i:nth-child(2){animation-delay:.15s}
.ap-points i:nth-child(3){animation-delay:.3s}
@keyframes ap-rebond{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}
.ap-suggestions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.2rem}
.ap-suggestions .filtre{cursor:pointer;font:inherit;font-size:.85rem;font-weight:600;min-height:40px;white-space:normal;text-align:left}
.ap-suggestions .filtre:hover{border-color:var(--canard-500);background:var(--cyan-50)}
.ap-saisie{display:flex;gap:.6rem;align-items:flex-end;padding:.8rem;border-top:1px solid var(--filet);background:#fff}
.ap-saisie textarea{min-height:48px;max-height:160px;resize:none;border-radius:24px;padding:.75rem 1.1rem;line-height:1.4}
.ap-envoyer{width:52px;height:52px;padding:0;flex:none}
.ap-envoyer .ic{width:22px;height:22px}
.ap-quota{margin:0;padding:.2rem 1rem .8rem;color:var(--gris-600);display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;background:#fff}

/* ─── Formations ─── */
.ap-formations{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.3rem}
.ap-formation{display:flex;flex-direction:column;padding:0;overflow:hidden}
.ap-formation>*:not(.ap-formation-bandeau){margin-left:1.4rem;margin-right:1.4rem}
.ap-formation h3{font-size:1.3rem;margin-top:1.2rem}
.ap-formation-bandeau{position:relative;height:118px;background:radial-gradient(260px 140px at 90% 0%,rgba(255,255,255,.28),transparent 60%),var(--degrade);display:flex;align-items:flex-end;padding:1rem 1.4rem;overflow:hidden}
.ap-formation-bandeau.avance{background:radial-gradient(260px 140px at 90% 0%,rgba(255,255,255,.22),transparent 60%),var(--degrade-profond)}
.ap-formation-bandeau::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px}
.ap-formation-niveau{position:relative;z-index:1;font-family:var(--titre);font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.ap-formation-sceau{position:absolute;right:1.2rem;top:1rem;width:58px;height:58px;border-radius:50%;background:var(--or);color:var(--canard-950);display:grid;place-items:center;z-index:1;box-shadow:0 0 0 6px rgba(226,169,63,.25)}
.ap-formation-sceau .ic{width:28px;height:28px}
.ap-formation-infos{list-style:none;padding:0;margin:.4rem 0 1rem;display:flex;flex-direction:column;gap:.45rem;font-size:.92rem}
.ap-formation-infos li{display:flex;align-items:center;gap:.5rem;color:var(--texte)}
.ap-formation-infos .ic{color:var(--canard-600)}
.ap-formation-pied{margin-top:auto!important;padding:1rem 0 1.4rem;border-top:1px dashed var(--filet);display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.ap-formation-pied .bloc-prix{font-size:1.8rem}
.ap-comment .etapes{margin-top:.5rem}
.ap-programme{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.ap-programme li{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;border-radius:12px;background:var(--gris-50)}
.ap-programme li.examen{background:var(--or-50)}
.ap-prog-num{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--canard-700);font-family:var(--titre);font-weight:900;font-size:.85rem;flex:none;border:1px solid var(--filet)}
.examen .ap-prog-num{background:var(--or);color:var(--canard-950);border:0}
.ap-achat .bloc-prix{margin-bottom:.3rem}
.ap-achat .btn{margin-top:.3rem}
.ap-paiement{max-width:760px}
.ap-suivre-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin:.6rem 0 1.2rem}
.ap-suivre-tete h1{font-size:clamp(1.4rem,3vw,2rem);margin:0}
.ap-suivre-progres{min-width:220px;flex:0 1 320px}
.ap-suivre-progres span{font-size:.9rem;color:var(--gris-600)}
.ap-suivre-progres .barre{margin-top:.3rem}
.ap-suivre{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.3rem;align-items:start}
.ap-sommaire{padding:.4rem;position:sticky;top:84px}
.ap-sommaire summary{list-style:none;cursor:pointer;padding:.7rem .8rem;font-family:var(--titre);font-weight:800;color:var(--encre)}
.ap-sommaire summary::-webkit-details-marker{display:none}
.ap-sommaire ol{list-style:none;padding:0;margin:0}
.ap-sommaire a{display:flex;gap:.7rem;align-items:center;padding:.6rem .7rem;border-radius:12px;text-decoration:none;color:var(--texte);font-size:.9rem;line-height:1.35}
.ap-sommaire a:hover{background:var(--fond)}
.ap-sommaire a.actif{background:var(--cyan-50);color:var(--canard-800);font-weight:700}
.ap-som-num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--gris-50);font-family:var(--titre);font-weight:800;font-size:.8rem;color:var(--gris-600)}
.ap-sommaire a.vu .ap-som-num{background:var(--vert);color:#fff}
.ap-sommaire a.actif .ap-som-num{box-shadow:0 0 0 2px var(--canard-600)}
.ap-lecon{padding:clamp(1.2rem,3.5vw,2.4rem)}
.ap-lecon h2{font-size:clamp(1.4rem,3vw,1.9rem)}
.ap-lecon-pied{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--filet)}
.ap-examen-carte{text-align:center;display:flex;flex-direction:column;align-items:center;padding:clamp(1.5rem,4vw,3rem)}
.ap-examen-carte .groupe-btn{justify-content:center}

/* ─── Certificat (A4 paysage) ─── */
@page paysage{size:A4 landscape;margin:0}
.ap-certificat{page:paysage;padding:10mm!important;display:flex;font-family:var(--corps);color:#10282C;width:297mm!important;height:210mm!important;min-height:0!important;overflow:hidden;break-after:avoid}
.ap-cert-cadre{position:relative;flex:1;border:2.5mm solid #0B7FA0;outline:.6mm solid #E2A93F;outline-offset:-5mm;padding:14mm 28mm 12mm;display:flex;flex-direction:column;align-items:center;text-align:center;background:radial-gradient(120mm 80mm at 50% 0%,rgba(26,188,212,.08),transparent 70%),#fff}
.ap-cert-coin{position:absolute;width:16mm;height:16mm;border:1.2mm solid #E2A93F}
.ap-cert-coin.hg{top:7mm;left:7mm;border-right:0;border-bottom:0}
.ap-cert-coin.hd{top:7mm;right:7mm;border-left:0;border-bottom:0}
.ap-cert-coin.bg{bottom:7mm;left:7mm;border-right:0;border-top:0}
.ap-cert-coin.bd{bottom:7mm;right:7mm;border-left:0;border-top:0}
.ap-cert-tete{display:flex;flex-direction:column;align-items:center;gap:3mm}
.ap-cert-logo{height:17mm;width:auto}
.ap-cert-type{font-family:var(--titre);font-weight:900;font-size:13pt;letter-spacing:.32em;text-transform:uppercase;color:#8F5E00}
.ap-cert-atteste{font-size:12.5pt;color:#3A5054;margin:8mm 0 2mm}
.ap-cert-nom{font-family:var(--titre);font-weight:900;font-size:36pt;letter-spacing:-.01em;color:#075A73;margin:2mm 0;padding:0 10mm 2mm;border-bottom:.5mm solid #E2A93F;line-height:1.1}
.ap-cert-formation{font-family:var(--titre);font-weight:800;font-size:23pt;color:#0B7FA0;margin:2mm 0 5mm}
.ap-cert-score{font-size:11.5pt;margin:0;padding:2mm 6mm;border-radius:99px;background:#FFF7E3}
.ap-cert-score span{color:#56676A}
.ap-cert-pied{margin-top:auto;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:8mm;padding-top:6mm}
.ap-cert-bloc{display:flex;flex-direction:column;text-align:left;font-size:9.5pt;color:#3A5054}
.ap-cert-bloc.droite{text-align:right}
.ap-cert-bloc b{font-family:var(--titre);font-size:12pt;color:#075A73}
.ap-cert-code{letter-spacing:.14em;font-size:15pt!important}
.ap-cert-bloc small{font-size:8.5pt;color:#56676A}
.ap-cert-sceau{width:30mm;height:30mm;border-radius:50%;background:radial-gradient(circle,#fff 58%,#E2A93F 59%,#E2A93F 64%,#fff 65%,#fff 70%,#0B7FA0 71%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1mm}
.ap-cert-sceau img{width:11mm;height:auto}
.ap-cert-sceau span{font-family:var(--titre);font-weight:900;font-size:7pt;letter-spacing:.2em;text-transform:uppercase;color:#0B7FA0}
@media screen and (max-width:1160px){
  .page-impression{overflow-x:auto}
  .ap-certificat{transform-origin:top left}
}

/* ─── Administration ─── */
.ap-admin-colonnes{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.2rem;align-items:start}
.ap-admin-form .carte{display:flex;flex-direction:column;gap:1rem}
.ap-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:.88rem!important;line-height:1.55}
.ap-multiple{min-height:190px;background-image:none;padding-right:.9rem}
.ap-apercu-admin{padding:1.2rem;border-radius:var(--r)}
.ap-admin-etroit{max-width:820px}
.ap-admin-choix-ligne{display:flex;gap:.7rem;align-items:center}
.ap-admin-choix-ligne .case{flex:none;align-items:center}
.ap-admin-questions{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.8rem}
.ap-admin-q-tete{display:flex;gap:.8rem;align-items:flex-start}
.ap-admin-q-tete p{flex:1}
.ap-admin-choix{list-style:none;padding:0;margin:.7rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.35rem}
.ap-admin-choix li{padding:.4rem .7rem;border-radius:8px;background:var(--gris-50);font-size:.9rem;display:flex;gap:.4rem;align-items:center}
.ap-admin-choix li.bonne{background:var(--vert-50);color:#16663f;font-weight:600}
.ap-admin-lecons{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.ap-admin-lecons li{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.5rem;border-radius:12px;background:var(--gris-50)}
.ap-admin-lecons li>a{flex:1;min-width:160px}
.ap-admin-lecons .groupe-btn{gap:.3rem}
.ap-matiere-form{display:grid;grid-template-columns:auto 1.6fr 90px 1.2fr 80px auto auto;gap:.8rem;align-items:end;padding:1rem;border-left:5px solid var(--mc,var(--or))}
.ap-matiere-form label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.82rem}
.ap-matiere-form input[type=color]{width:100%;height:48px;padding:.2rem;border:1.5px solid var(--gris-200);border-radius:12px;background:#fff}

/* ═══ Téléphone et tablette ═══ */
@media (max-width:1100px){
  .ap-etapes-karamo{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .ap-lecture,.ap-abacus-grille,.ap-bord,.ap-portefeuille,.ap-admin-colonnes,.ap-suivre{grid-template-columns:minmax(0,1fr)}
  .ap-cote,.ap-sommaire,.ap-convs{position:static}
  .ap-karamo{grid-template-columns:minmax(0,1fr)}
  .ap-convs{order:2}
  .ap-regles{grid-template-columns:minmax(0,1fr)}
  .ap-pdf-apercu{display:none}
  .ap-matiere-form{grid-template-columns:auto 1fr 1fr;}
  .ap-matiere-form>span.petit{grid-column:1/-1}
  .ap-bulle-1{left:0}
  .ap-bulle-2{right:0}
}
@media (max-width:640px){
  .ap-grille,.ap-formations{grid-template-columns:minmax(0,1fr)}
  .ap-carte{padding:1.1rem 1.1rem 1rem 1.25rem}
  .ap-article{padding:1.1rem;border-radius:var(--r)}
  .ap-prose{font-size:1.02rem;line-height:1.72}
  .ap-prose h2{font-size:1.22rem}
  .ap-outils-info{margin-left:0;width:100%}
  .ap-etapes-karamo{grid-template-columns:minmax(0,1fr)}
  .ap-etapes-karamo .etape{flex-direction:row}
  .ap-modes{grid-template-columns:1fr 1fr}
  .ap-niveaux{grid-template-columns:minmax(0,1fr)}
  .ap-tige{width:40px}
  .ap-perle{left:2px;width:36px}
  .ap-cadre{padding-left:8px;padding-right:8px}
  .ap-cadre::before{left:8px;right:8px}
  .ap-barre{left:8px;right:8px}
  .ap-affiche{min-height:120px}
  .ap-reponse input{font-size:1.25rem!important}
  .ap-chat{min-height:0;border-radius:var(--r)}
  .ap-fil{max-height:none;min-height:46vh;padding:1rem .7rem}
  .ap-msg{max-width:92%;font-size:.95rem}
  .ap-bienvenue .texte{max-width:calc(100% - 84px)}
  .ap-bienvenue{min-height:0}
  .ap-bienvenue .karamo{width:92px;bottom:-22px}
  .ap-semaine span{width:26px;height:26px;font-size:.66rem}
  .ap-semaine{gap:.25rem}
  .ap-solde{padding:1.4rem}
  .ap-question{padding:1.1rem}
  .ap-choix-el{padding:.65rem .8rem .65rem .65rem;min-height:52px}
  .ap-lettre{width:32px;height:32px}
  .ap-formation>*:not(.ap-formation-bandeau){margin-left:1.1rem;margin-right:1.1rem}
  .ap-lecon-pied .btn{flex:1 1 auto}
  .ap-suivre-progres{flex-basis:100%}
  .ap-matiere-form{grid-template-columns:1fr 1fr}
  .ap-matiere-form>.pastille-icone{display:none}
  .ap-resultat-tete{gap:1rem}
  .ap-anneau{width:96px;height:96px}
  .ap-anneau::before{width:74px;height:74px;font-size:1.15rem}
}
@media print{
  .ap-certificat{margin:0!important;box-shadow:none}
  .ap-outils,.ap-cote,.ap-fin-lecture,.ap-verrou{display:none!important}
}

/* ═══ Voyage du savoir — tableau de bord élève ═══ */
.ap-bienvenue{min-height:170px}
.ap-semaine span{width:32px;height:32px;border-radius:11px;background:rgba(255,255,255,.14);color:#E6F7FA;border:1px solid rgba(255,255,255,.2)}
.ap-semaine span .ic{width:16px;height:16px}
.ap-semaine span.actif{background:#fff;color:#EE7D1A;border-color:#fff;box-shadow:0 3px 0 rgba(6,74,96,.25)}
.ap-semaine span.auj{box-shadow:0 0 0 2px #fff}
.ap-compteurs{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.2rem}
.ap-compteur{--c:var(--canard-700);display:flex;align-items:center;gap:.7rem;background:#fff;border-radius:20px;padding:.8rem .9rem;border:2px solid color-mix(in srgb,var(--c) 16%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 20%,#fff);text-decoration:none;color:var(--encre);transition:.15s}
a.ap-compteur:hover{transform:translateY(-2px);color:var(--encre)}
.ap-compteur>span{width:42px;height:42px;border-radius:14px;background:var(--c);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.ap-compteur b{font-family:var(--titre);font-weight:900;font-size:1.35rem;line-height:1;letter-spacing:-.02em}
.ap-compteur small{display:block;width:100%;font-size:.76rem;color:var(--gris-600);line-height:1.2}
.ap-compteur{flex-wrap:wrap;row-gap:.1rem}
.ap-compteur>span{grid-row:span 2}
.ap-compteur.or{--c:var(--or)}.ap-compteur.feu{--c:#EE7D1A}.ap-compteur.vert{--c:var(--vert)}
.ap-compteur{display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;align-items:center}
.ap-compteur>span{grid-row:1/3}
.ap-compteur b{align-self:end}.ap-compteur small{align-self:start}
.ap-voyage h2,.ap-bord h2{font-size:1.25rem}
.ap-voyage .chemin-lecons{margin-top:.4rem}
.noeud.suivant{background:#fff;color:var(--canard-700);border:3px solid var(--cyan-200);box-shadow:0 6px 0 var(--cyan-100)}
.ap-maintenant{display:block;font-family:var(--titre);font-weight:900;font-size:.62rem!important;letter-spacing:.14em;text-transform:uppercase;color:#BDEFF7!important}
.ap-conseil{margin:.2rem .3rem .6rem}
.ap-conseil b{font-family:var(--titre);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--or-texte)}
.ap-tuiles{grid-template-columns:repeat(2,1fr)!important;margin-bottom:0}
.ap-iles{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}
.ap-iles .ile{padding:.85rem .5rem .7rem}
.ap-iles .ile small{font-size:.72rem}
@media (max-width:1100px){.ap-compteurs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:960px){.ap-bord{grid-template-columns:1fr}}
@media (max-width:640px){.ap-compteur{padding:.65rem}.ap-compteur>span{width:36px;height:36px;border-radius:12px}.ap-compteur b{font-size:1.15rem}.ap-iles{grid-template-columns:repeat(3,1fr)}}

/* ═══ Voyage du savoir — Karamö (photo, micro) ═══ */
.ap-chat{border-radius:var(--r-xl);background:#F6FCFD}
.ap-chat-tete{background:#fff;padding:.9rem 1.1rem}
.ap-chat-avatar{border-radius:16px;background:#FFE3A6;width:48px;height:48px}
.ap-chat-etat{display:inline-flex;align-items:center;gap:.35rem;font-weight:600}
.ap-chat-etat::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--or)}
.ap-chat-etat.ia::before{background:var(--vert)}
.ap-fil{background:linear-gradient(180deg,#F1FBFD,#F8FDFE)}
.ap-msg{border-radius:20px;font-size:.98rem}
.ap-msg.eleve{background:var(--canard-700);box-shadow:0 3px 0 var(--canard-900)}
.ap-msg.karamo{border:0;box-shadow:0 4px 16px rgba(7,90,115,.10)}
.ap-msg.karamo::before{content:"KARAMÖ";display:block;font-family:var(--titre);font-weight:900;font-size:.62rem;letter-spacing:.14em;color:var(--canard-600);margin-bottom:.2rem}
.ap-msg.karamo.attente::before,.ap-msg.karamo.erreur::before{display:none}
.ap-attente-txt{font-size:.85rem;color:var(--gris-600);margin-left:.3rem}
.ap-astuce-photo{font-size:.88rem;color:var(--gris-600);background:var(--cyan-50);border-radius:12px;padding:.5rem .7rem;margin-top:.5rem!important}
.ap-astuce-photo .ic{color:var(--canard-700)}
.ap-msg-photo{align-self:flex-end;display:block;max-width:220px;border-radius:16px;overflow:hidden;border:4px solid var(--canard-700);box-shadow:0 3px 0 var(--canard-900);background:#fff}
.ap-msg-photo img{width:100%;max-height:260px;object-fit:cover}
.ap-suggestions .filtre{border-radius:14px;background:#fff;border-color:var(--cyan-100);color:var(--canard-900)}
.ap-saisie{flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem;background:#fff}
.ap-saisie-ligne{display:flex;gap:.45rem;align-items:flex-end}
.ap-saisie textarea{border-radius:18px;background:var(--gris-50);border-color:transparent}
.ap-saisie textarea:focus{background:#fff}
.ap-outil{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;flex:none;background:var(--cyan-50);color:var(--canard-700);border:0;cursor:pointer;transition:.15s;box-shadow:0 3px 0 var(--cyan-100)}
.ap-outil:hover{background:var(--cyan-100)}
.ap-outil .ic{width:22px;height:22px}
.ap-outil[hidden]{display:none}
.ap-outil.ecoute{background:var(--rouge);color:#fff;box-shadow:0 0 0 6px rgba(194,65,45,.18);animation:respire-micro 1.2s infinite}
@keyframes respire-micro{50%{box-shadow:0 0 0 12px rgba(194,65,45,.08)}}
.ap-envoyer{width:50px;height:50px;border-radius:16px;margin-bottom:3px}
.ap-apercu{display:flex;align-items:center;gap:.7rem;background:var(--cyan-50);border:2px dashed var(--cyan-200);border-radius:16px;padding:.45rem .5rem}
.ap-apercu[hidden]{display:none}
.ap-apercu img{width:54px;height:54px;border-radius:10px;object-fit:cover}
.ap-apercu span{font-weight:700;font-size:.88rem;color:var(--canard-900);flex:1}
.ap-apercu-x{width:36px;height:36px;border-radius:12px;border:0;background:#fff;color:var(--gris-600);display:grid;place-items:center;cursor:pointer}
.ap-convs .btn{margin-bottom:4px}
.ap-convs-liste nav a.actif{box-shadow:inset 4px 0 0 var(--cyan)}
@media (max-width:640px){.ap-outil,.ap-envoyer{width:46px;height:46px;border-radius:14px}.ap-chat{border-radius:24px}}

/* ═══ Touche cahier — là où l'on apprend vraiment ═══ */
.ap-prose.cahier{line-height:32px;padding-top:32px;padding-bottom:32px;background-position:0 0,0 27px,0 27px;font-size:1.05rem}
.ap-prose.cahier p,.ap-prose.cahier ul,.ap-prose.cahier ol{margin:0 0 32px}
.ap-prose.cahier li{margin:0}
.ap-prose.cahier h2{font-size:1.3rem;line-height:32px;margin:32px 0 0;padding:0;border:0;color:var(--canard-800)}
.ap-prose.cahier h2::after{display:none}
.ap-prose.cahier h2{text-decoration:underline;text-decoration-color:var(--stylo);text-decoration-thickness:2px;text-underline-offset:5px}
.ap-prose.cahier h3{line-height:32px;margin:32px 0 0;color:var(--canard-700)}
.ap-prose.cahier .formule{background:rgba(232,248,251,.85);line-height:1.6;border:2px dashed var(--cyan-200);border-left:4px solid var(--canard-500)}
.ap-prose.cahier .astuce{border-left:0}
.ap-cahier-entete{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:-8px 0 24px!important;line-height:1.2}
.ap-cahier-entete .ecrit-main,.ap-cahier-entete .stylo-rouge{font-size:1.5rem}
.ap-apercu.cahier{-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
/* Exercice : la feuille du professeur */
.ap-question{border-top:0;background-color:#fff;background-image:repeating-linear-gradient(180deg,transparent 0 31px,var(--seyes-fin) 31px 32px);border-radius:var(--r-l);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-1);border:2px solid var(--cyan-100)}
.ap-question.est-juste{border-color:rgba(30,142,90,.35);box-shadow:0 5px 0 rgba(30,142,90,.25),var(--ombre-1)}
.ap-question.est-faux{border-color:rgba(210,105,76,.4);box-shadow:0 5px 0 rgba(210,105,76,.25),var(--ombre-1)}
.ap-enonce{font-family:var(--titre);font-weight:800;font-size:clamp(1.1rem,2.2vw,1.35rem);line-height:1.35;color:var(--canard-900)}
.ap-choix-el{border-radius:16px;box-shadow:0 3px 0 var(--filet)}
.ap-choix-el:has(input:checked){box-shadow:0 3px 0 var(--canard-600)}
.ap-choix-el.fausse .ap-choix-texte{text-decoration:line-through;text-decoration-color:var(--stylo);text-decoration-thickness:2px}
.ap-choix-el.fausse{border-color:var(--stylo);background:#FCEFEA}
.ap-choix-el.fausse .ap-lettre{background:var(--stylo)}
.ap-verdict{border-radius:18px;background:#fff!important;border:2px solid var(--filet)}
.ap-verdict.juste{border-color:rgba(30,142,90,.3)}
.ap-verdict.faux{border-color:rgba(210,105,76,.35)}
.ap-annotation{display:block;margin:.35rem 0 0;font-size:1.55rem;transform:rotate(-1.5deg);transform-origin:left}
.ap-verdict.juste .ap-annotation{color:var(--vert)}
.ap-resultat{position:relative;overflow:hidden}
.ap-tampon{position:absolute;right:1.2rem;top:1.2rem;font-size:1rem;padding:.45rem .8rem;transform:rotate(9deg);animation:tampon .5s .2s both}
@keyframes tampon{from{opacity:0;transform:rotate(9deg) scale(1.8)}}
@media (max-width:640px){.ap-tampon{position:static;display:inline-block;margin-bottom:.8rem;transform:rotate(-4deg)}.ap-prose.cahier{padding-top:32px}}

/* ═══ Voyage du savoir — catalogues, séries, Abacus, points, formations, Karamö ═══ */
/* Îles des matières */
.ap-iles-bande{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.7rem;margin:0 0 1.3rem;padding:.1rem 0 .4rem}
.ap-iles-bande .ile{padding:.75rem .2rem .65rem;border-radius:18px;gap:.1rem;min-height:44px}
.ap-iles-bande .ile-ic{width:42px;height:42px;border-radius:13px;margin-bottom:.25rem}
.ap-iles-bande .ile-ic .ic{width:21px;height:21px}
.ap-iles-bande .ile b{font-size:.8rem;line-height:1.15}
.ap-iles-bande .ile.active{background:color-mix(in srgb,var(--c) 12%,#fff);border-color:var(--c);box-shadow:0 5px 0 color-mix(in srgb,var(--c) 60%,#fff)}
.ap-iles-bande .ile.active b{color:color-mix(in srgb,var(--c) 75%,#000)}
.ap-iles-bande .ile.active::after{content:"";position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px #fff}
#f-matiere,#fe-matiere{display:none}
/* Cartes de contenu : bord teinté de la matière, relief, pastille pleine */
.ap-carte{--mc:var(--canard-700);border:2px solid color-mix(in srgb,var(--mc) 16%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--mc) 22%,#fff);border-radius:24px;padding:1.1rem 1.2rem 1rem;gap:.6rem;transition:transform .15s,border-color .15s,box-shadow .15s}
.ap-carte::before{display:none}
.ap-carte:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--mc) 42%,#fff);box-shadow:0 6px 0 color-mix(in srgb,var(--mc) 28%,#fff)}
.ap-carte:active{transform:translateY(2px);box-shadow:0 1px 0 color-mix(in srgb,var(--mc) 22%,#fff)}
.ap-carte h3{font-size:1.06rem;font-weight:800}
.ap-matiere{gap:.5rem;letter-spacing:.06em;color:color-mix(in srgb,var(--mc) 78%,#000);min-width:0}
.ap-matiere-ic{width:30px;height:30px;border-radius:10px;background:var(--mc);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 2px 0 color-mix(in srgb,var(--mc) 70%,#000)}
.ap-matiere-ic .ic{width:16px;height:16px}
.ap-carte-bas{border-top:2px dashed var(--filet)}
.ap-serie-etoiles{display:flex;align-items:center;gap:3px}
.ap-serie-etoiles .ic{width:19px;height:19px}
.ap-serie-etoiles small{margin-left:.4rem;font-size:.76rem;font-weight:700;color:var(--gris-500)}
.ap-score{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .7rem;border-radius:999px;font-family:var(--titre);font-weight:900;font-size:.78rem;background:var(--gris-50);color:var(--gris-600)}
.ap-score.ok{background:var(--or-50);color:var(--or-texte);box-shadow:inset 0 0 0 1.5px var(--or-100)}
.ap-score .ic{width:.95em;height:.95em}
.ap-regles{border-radius:var(--r-l)}
.puce-num.or{background:var(--or);box-shadow:0 3px 0 var(--or-700)}
/* Page d'une série */
.ap-entete-serie .conteneur{padding-right:130px}
.ap-entete-ile{position:absolute;right:20px;top:50%;transform:translateY(-50%) rotate(-4deg);width:84px;height:84px;border-radius:26px;background:#fff;color:var(--c,var(--canard-700));display:grid;place-items:center;box-shadow:0 6px 0 rgba(6,74,96,.25),0 18px 30px -12px rgba(6,74,96,.4)}
.ap-entete-ile .ic{width:40px;height:40px}
.ap-banniere{--c:var(--canard-700);position:relative;overflow:hidden;display:flex;align-items:center;gap:1.1rem;padding:1.3rem 1.4rem;border-radius:var(--r-xl);background:var(--degrade);color:#F0FBFD;margin:0 0 1rem}
.ap-banniere::before{content:"";position:absolute;right:-60px;top:-90px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.12)}
.ap-banniere>*{position:relative}
.ap-banniere-ic{width:64px;height:64px;border-radius:20px;background:#fff;color:var(--c);display:grid;place-items:center;flex:none;box-shadow:0 5px 0 rgba(6,74,96,.25);transform:rotate(-4deg)}
.ap-banniere-ic .ic{width:32px;height:32px}
.ap-banniere-txt{min-width:0}
.ap-banniere .surtitre{color:#fff}
.ap-banniere .surtitre::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
.ap-banniere h1{color:#fff;font-size:clamp(1.3rem,2.6vw,1.8rem);margin:.25rem 0 .3rem}
.ap-banniere p{margin:0;color:#E6F7FA;font-size:.95rem}
/* Abacus */
.ap-entete-abacus .conteneur{padding-right:260px}
.ap-abacus-deco{position:absolute;display:flex;gap:10px;padding:14px 12px;border-radius:20px;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.22);transform:rotate(4deg)}
.ap-entete-abacus .ap-abacus-deco{right:20px;top:50%;margin-top:-78px}
.ap-deco-tige{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:34px}
.ap-deco-tige::before{content:"";position:absolute;left:50%;top:-6px;bottom:-6px;width:3px;margin-left:-1.5px;border-radius:2px;background:rgba(255,255,255,.4)}
.ap-deco-tige i{position:relative;width:32px;height:20px;background:rgba(255,255,255,.28);clip-path:polygon(0 50%,22% 0,78% 0,100% 50%,78% 100%,22% 100%)}
.ap-deco-tige i.on{background:#fff}
.ap-deco-tige i.ciel.on{background:var(--or)}
.ap-deco-tige b{position:relative;width:44px;height:6px;border-radius:3px;background:rgba(255,255,255,.75);margin:3px 0}
.ap-abacus-banniere{min-height:170px}
.ap-abacus-banniere .texte{max-width:calc(100% - 190px)}
.ap-abacus-banniere .ap-abacus-deco{right:1.4rem;top:50%;margin-top:-88px;transform:rotate(4deg) scale(.95)}
.ap-abacus-gain{display:inline-flex;align-items:center;gap:.4rem;margin-top:.8rem;padding:.35rem .8rem;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);font-weight:700;font-size:.85rem;color:#fff}
.ap-abacus-gain .ic{color:#FFE3A6}
.ap-boulier-carte,.ap-methode,.ap-entrainement{border-radius:var(--r-xl)}
.ap-entrainement{border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-1)}
.ap-modes label{--c:var(--canard-700)}
.ap-modes span{border:2px solid color-mix(in srgb,var(--c) 22%,#fff);border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 7%,#fff),#fff 70%);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 28%,#fff);padding:1rem 1rem .95rem;gap:.3rem}
.ap-modes span .ic{width:44px;height:44px;padding:10px;border-radius:14px;background:var(--c);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000);margin-bottom:.35rem}
.ap-modes b{font-size:1.08rem}
.ap-modes input:checked+span{border-color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 55%,#fff)}
.ap-niveau{border-radius:18px;box-shadow:0 3px 0 var(--filet);transition:border-color .15s,background .15s}
.ap-niveau-num{width:38px;height:38px;border-radius:50%;box-shadow:0 3px 0 var(--canard-900)}
.ap-niveau:has(input:checked) .ap-niveau-num{background:var(--canard-600);box-shadow:0 0 0 5px rgba(26,188,212,.2),0 3px 0 var(--canard-900)}
.ap-affiche{background:radial-gradient(360px 160px at 100% 0%,rgba(255,255,255,.2),transparent 60%),var(--degrade);color:#fff;border:0;border-radius:var(--r-xl);box-shadow:0 6px 0 var(--canard-900);text-shadow:0 3px 12px rgba(6,74,96,.25)}
.ap-affiche.eclair,.ap-affiche.flash{color:#fff}
.ap-affiche.flash{background:var(--degrade-profond)}
.ap-reponse input{border-width:3px;border-color:var(--cyan-100)}
.ap-avantage{--c:var(--canard-700);border:2px solid color-mix(in srgb,var(--c) 16%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 22%,#fff)}
.ap-avantage .pastille-icone{background:var(--c);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
/* Points : le portefeuille en or */
.ap-portefeuille .ap-solde{position:relative;overflow:hidden;color:#5a3d00;background:radial-gradient(360px 200px at 100% 0%,rgba(255,255,255,.55),transparent 60%),linear-gradient(150deg,#FFE9B0 0%,#F5C865 50%,#E2A93F 100%);box-shadow:0 6px 0 var(--or-700),var(--ombre-2);border-radius:var(--r-xl)}
.ap-portefeuille .ap-solde>*{position:relative}
.ap-portefeuille .ap-solde .surtitre{color:var(--canard-950)}
.ap-portefeuille .ap-solde .surtitre::before{background:var(--canard-950);box-shadow:0 0 0 4px rgba(6,74,96,.15)}
.ap-solde-piece{position:absolute!important;right:-18px;top:-18px;width:132px;height:132px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFF1CC,#E2A93F 62%,#C98F22);color:#fff;display:grid;place-items:center;box-shadow:inset 0 -6px 0 rgba(143,94,0,.25),0 10px 24px -8px rgba(143,94,0,.45);transform:rotate(-12deg)}
.ap-solde-piece .ic{width:58px;height:58px}
.ap-portefeuille .ap-solde-v{color:var(--canard-950);font-size:clamp(2.8rem,6vw,3.8rem)}
.ap-portefeuille .ap-solde-v small{color:#6b4600}
.ap-portefeuille .ap-solde-details{color:#5a3d00;font-weight:600}
.ap-portefeuille .ap-plafond{background:rgba(255,255,255,.5);color:#5a3d00}
.ap-portefeuille .ap-plafond b{color:var(--canard-950)}
.ap-portefeuille .ap-plafond .barre{background:rgba(255,255,255,.7)}
.ap-portefeuille .ap-plafond .barre i{background:linear-gradient(90deg,var(--canard-600),var(--canard-800))}
.ap-regles-points .pastille-icone{--c:var(--canard-700);background:var(--c);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.ap-titre-ic{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--or);color:#fff;vertical-align:-7px;margin-right:.3rem}
.ap-titre-ic .ic{width:16px;height:16px}
.ap-classement li{background:#fff;border:2px solid var(--filet);border-radius:16px;padding:.55rem .8rem}
.ap-classement li.moi{background:var(--cyan-50);border-color:var(--cyan);box-shadow:0 3px 0 var(--cyan-100)}
.ap-rang{width:34px;height:34px;background:var(--gris-50)}
.ap-rang.r1{box-shadow:0 3px 0 var(--or-700)}
.ap-rang.r2{box-shadow:0 3px 0 #AEB9BB}
.ap-rang.r3{box-shadow:0 3px 0 #BF9A70}
.ap-cl-pts{font-family:var(--titre);font-weight:900;color:var(--or-texte);white-space:nowrap}
.ap-cl-nom em{color:var(--canard-700)}
/* Formations */
.ap-formation{border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-1);border-radius:var(--r-xl)}
.ap-formation-bandeau{border-radius:0}
.ap-formation-sceau{color:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.25),0 4px 0 var(--or-700)}
.ap-pastille-claire{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.8rem;padding:.35rem .85rem;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:800;font-size:.82rem}
.ap-achat{border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-1);border-radius:var(--r-xl)}
.ap-programme li{background:#fff;border:2px solid var(--filet);border-radius:14px}
.ap-programme li.examen{border-color:var(--or-100)}
.ap-comment{border-radius:var(--r-xl)}
.ap-lecon-cahier{margin-top:.4rem}
/* Karamö : présentation publique */
.ap-heros-note{color:#E3F7FA!important}
.ap-karamo-visuel{min-height:420px;display:flex;align-items:flex-end;justify-content:center}
.ap-karamo-rond{position:absolute;left:50%;bottom:0;width:86%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),rgba(255,255,255,.12) 55%,transparent 70%)}
.ap-karamo-visuel img{position:relative;width:74%;max-width:330px;filter:drop-shadow(0 26px 36px rgba(6,74,96,.35));animation:flotte 6s ease-in-out infinite}
.ap-kbadge{position:absolute;z-index:2;display:flex;align-items:center;gap:.65rem;background:#fff;color:var(--encre);border-radius:18px;padding:.55rem .85rem .55rem .55rem;box-shadow:0 5px 0 rgba(6,74,96,.18),var(--ombre-3);animation:apparait .7s both;max-width:250px}
.ap-kbadge b{display:block;font-family:var(--titre);font-size:.86rem;line-height:1.2}
.ap-kbadge small{display:block;font-size:.74rem;color:var(--gris-600);line-height:1.25}
.ap-kb-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--canard-700);color:#fff;flex:none}
.ap-kb-ic.rouge{background:var(--rouge)}.ap-kb-ic.or{background:var(--or)}
.ap-kb1{top:4%;left:-2%;animation-delay:.2s}
.ap-kb2{top:40%;right:-4%;animation-delay:.45s}
.ap-kb3{bottom:8%;left:2%;animation-delay:.7s}
.ap-facons-grille{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:1.1rem}
.ap-facon{--c:var(--canard-700);display:flex;flex-direction:column;gap:.35rem;background:#fff;border-radius:var(--r-xl);padding:1.4rem;border:2px solid color-mix(in srgb,var(--c) 18%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--c) 24%,#fff)}
.ap-facon.vedette{background:linear-gradient(170deg,color-mix(in srgb,var(--c) 10%,#fff),#fff 70%);border-color:color-mix(in srgb,var(--c) 35%,#fff)}
.ap-facon-ic{width:62px;height:62px;border-radius:20px;background:var(--c);color:#fff;display:grid;place-items:center;box-shadow:0 5px 0 color-mix(in srgb,var(--c) 70%,#000);margin-bottom:.6rem}
.ap-facon-ic .ic{width:30px;height:30px}
.ap-facon h3{font-size:1.15rem;margin:0}
.ap-facon p{color:var(--gris-600);font-size:.94rem;margin:0}
.ap-facon-liste{list-style:none;padding:0;margin:.6rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}
.ap-facon-liste li{font-size:.8rem;font-weight:700;padding:.3rem .7rem;border-radius:999px;background:#fff;border:1.5px solid color-mix(in srgb,var(--c) 25%,#fff);color:color-mix(in srgb,var(--c) 75%,#000)}
.ap-exemple{border-radius:var(--r-xl)}
.ap-photo-maquette{align-self:flex-end;display:flex!important;flex-direction:column;justify-content:space-between;width:210px;height:118px;padding:.5rem .7rem;background-color:#fff;background-image:repeating-linear-gradient(180deg,transparent 0 15px,var(--seyes) 15px 16px);border:4px solid var(--canard-700);border-radius:16px}
.ap-photo-maquette .ecrit-main{font-size:1.5rem;margin-top:.5rem}
.ap-photo-maquette small{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;color:var(--canard-800)}
.ap-photo-maquette small .ic{width:14px;height:14px}
.ap-dicte{display:inline-flex;align-items:center;gap:.25rem;margin-right:.45rem;padding:.05rem .5rem;border-radius:999px;background:rgba(255,255,255,.2);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;vertical-align:1px}
.ap-dicte .ic{width:12px;height:12px}

@media (max-width:1100px){
  .ap-entete-abacus .conteneur{padding-right:200px}
  .ap-entete-abacus .ap-abacus-deco{transform:rotate(4deg) scale(.8);right:0}
}
@media (max-width:960px){
  .ap-facons-grille{grid-template-columns:1fr 1fr}
  .ap-facon.vedette{grid-column:1/-1}
  .ap-karamo-visuel{min-height:360px;max-width:460px}
  .ap-kb1{left:0}.ap-kb2{right:0}
}
@media (max-width:640px){
  .ap-iles-bande{display:flex;overflow-x:auto;scroll-snap-type:x proximity;margin:0 -16px 1rem;padding:.2rem 16px .7rem;gap:.55rem;scrollbar-width:none}
  .ap-iles-bande::-webkit-scrollbar{display:none}
  .ap-iles-bande .ile{flex:0 0 86px;scroll-snap-align:start}
  .ap-iles-bande .ile b{font-size:.74rem}
  .ap-carte{padding:1rem 1rem .9rem;border-radius:20px}
  .ap-entete-serie .conteneur{padding-right:84px}
  .ap-entete-ile{width:60px;height:60px;border-radius:19px;right:16px}
  .ap-entete-ile .ic{width:28px;height:28px}
  .ap-banniere{padding:1.05rem;gap:.85rem;border-radius:24px;align-items:flex-start}
  .ap-banniere-ic{width:48px;height:48px;border-radius:15px}
  .ap-banniere-ic .ic{width:24px;height:24px}
  .ap-entete-abacus .conteneur{padding-right:16px}
  .ap-entete-abacus .ap-abacus-deco{display:none}
  .ap-abacus-banniere .texte{max-width:calc(100% - 96px)}
  .ap-abacus-banniere .ap-abacus-deco{right:-.4rem;transform:rotate(6deg) scale(.55);transform-origin:right center}
  .ap-abacus-gain{font-size:.76rem}
  .ap-solde-piece{width:96px;height:96px;right:-14px;top:-14px}
  .ap-solde-piece .ic{width:42px;height:42px}
  .ap-facons-grille{grid-template-columns:1fr}
  .ap-karamo-visuel{min-height:320px}
  .ap-kbadge{padding:.4rem .6rem .4rem .4rem;border-radius:14px;max-width:190px}
  .ap-kbadge b{font-size:.76rem}.ap-kbadge small{font-size:.66rem}
  .ap-kb-ic{width:30px;height:30px;border-radius:10px}
  .ap-kb-ic .ic{width:16px;height:16px}
}
@media (min-width:641px) and (max-width:1100px){.ap-iles-bande{grid-template-columns:repeat(6,minmax(0,1fr))}}
.ap-iles-bande .ile b{font-size:.76rem;letter-spacing:-.015em}
.ap-regle .puce-num{color:#fff;font-size:1rem}
.ap-section .appel .surtitre{color:#fff}
.ap-section .appel .surtitre::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
@media (max-width:640px){
  .ap-iles-bande{scroll-padding-inline:16px}
  .ap-filtres select,.ap-filtres input{flex:1 1 100%}
}
.ap-mouvements .el span.ap-mv-montant{font-size:1.05rem}
.ap-mouvements .el span.ap-mv-montant.plus{color:var(--or-texte)}
.ap-mouvements .el span.ap-mv-montant.moins{color:var(--rouge)}
.ap-mouvements .pic:not(.moins){background:var(--or-50);color:var(--or-600)}
.ap-points-info{display:block;position:relative;padding-left:2.6rem}
.ap-points-info>.ic{position:absolute;left:1rem;top:.95rem;margin:0}
@media (max-width:640px){.ap-abacus-banniere .ap-abacus-deco{display:none}.ap-abacus-banniere .texte{max-width:none}.ap-abacus-banniere{min-height:0}}
.ap-matiere-form input[type=color]{height:50px}

/* ═══ 1.3.0 — Karamö connaît ta progression (encart discret de la conversation) ═══ */
.ap-connait{background:#fff;border-radius:var(--r-l);border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-50);padding:1rem 1rem .9rem;display:flex;flex-direction:column;gap:.65rem}
.ap-connait h2{font-size:.9rem;font-weight:800;margin:0;display:flex;align-items:center;gap:.45rem;color:var(--encre)}
.ap-connait h2 .ic{width:18px;height:18px;color:var(--canard-600);flex:none}
.ap-connait p{margin:0}
.ap-connait-mat{display:flex;flex-direction:column;gap:.1rem;background:var(--cyan-50);border-radius:14px;padding:.6rem .75rem}
.ap-connait-mat span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--canard-700)}
.ap-connait-mat b{font-family:var(--titre);font-weight:900;font-size:1.05rem;color:var(--encre);overflow-wrap:anywhere}
.ap-connait-mat small{font-size:.8rem;color:var(--gris-600)}
.ap-connait-actions{display:flex;flex-wrap:wrap;gap:.45rem}
.ap-connait-actions .btn{min-height:44px;margin-bottom:4px}
.ap-connait-ok{display:flex;gap:.45rem;align-items:flex-start;font-size:.86rem;color:var(--vert)}
.ap-connait-ok .ic{width:18px;height:18px;flex:none;margin-top:.1rem}
.ap-connait-chiffres{display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-size:.82rem;color:var(--gris-600)}
.ap-connait-chiffres b{font-family:var(--titre);font-weight:900;color:var(--or-texte);font-size:.95rem}
.ap-connait .aide{font-size:.74rem;line-height:1.45}

/* ═══ 1.4.0 — Karamö : sources, recherche, écriture en direct, tableaux, administration ═══ */
.ap-msg ol{margin:.3rem 0 .5rem;padding-left:1.4rem}
.ap-msg ol li::marker{font-weight:800;color:var(--canard-600)}
.ap-msg code{font-size:.9em;background:var(--cyan-50);padding:.05rem .35rem;border-radius:6px}
.ap-msg-titre{margin-top:.6rem!important;color:var(--canard-900)}
.ap-tableau{overflow-x:auto;margin:.4rem 0 .6rem;border-radius:12px;border:1px solid var(--filet);-webkit-overflow-scrolling:touch}
.ap-tableau table{border-collapse:collapse;width:100%;font-size:.9rem;min-width:max-content}
.ap-tableau th,.ap-tableau td{padding:.45rem .65rem;text-align:left;border-bottom:1px solid var(--filet);vertical-align:top}
.ap-tableau th{background:var(--cyan-50);font-family:var(--titre);font-weight:800;font-size:.8rem;color:var(--canard-900)}
.ap-tableau tr:last-child td{border-bottom:0}
.ap-msg.ecrit>*:last-child::after{content:"";display:inline-block;width:.5em;height:1em;margin-left:2px;vertical-align:-.12em;background:var(--canard-500);border-radius:2px;animation:ap-curseur 1s steps(2) infinite}
.ap-msg.ecrit>.ap-cherche::after,.ap-msg.ecrit>ul:last-child::after,.ap-msg.ecrit>ol:last-child::after{display:none}
@keyframes ap-curseur{50%{opacity:0}}
.ap-cherche{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--gris-600);margin-top:.4rem!important}
.ap-sources{margin-top:.7rem;padding-top:.6rem;border-top:1px dashed var(--filet)}
.ap-sources-t{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--titre);font-weight:900;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--canard-600);margin-bottom:.35rem}
.ap-sources-t .ic{width:14px;height:14px}
.ap-sources ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.ap-sources li{margin:0;max-width:100%}
.ap-sources a{display:flex;flex-direction:column;gap:.05rem;padding:.4rem .65rem;border-radius:12px;background:var(--cyan-50);border:1px solid var(--cyan-100);text-decoration:none;max-width:260px;min-height:44px;justify-content:center}
.ap-sources a:hover{border-color:var(--canard-500);background:#fff}
.ap-sources a b{font-size:.8rem;font-weight:700;color:var(--canard-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-sources a small{font-size:.72rem;color:var(--gris-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){.ap-sources a{max-width:100%}.ap-sources li{flex:1 1 100%}}

/* Administration ▸ Karamö */
.ap-k-etat{display:flex;gap:1.1rem;align-items:flex-start;padding:1.4rem 1.5rem;border-radius:var(--r-l);border:2px solid var(--filet);background:#fff;box-shadow:var(--ombre-1)}
.ap-k-etat.ok{border-color:rgba(30,142,90,.35);background:linear-gradient(135deg,#EFFAF4,#fff 60%)}
.ap-k-etat.guide{border-color:var(--or-100);background:linear-gradient(135deg,var(--or-50),#fff 60%)}
.ap-k-etat-ic{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;flex:none;color:#fff;background:var(--vert);box-shadow:0 4px 0 rgba(0,0,0,.15)}
.ap-k-etat.guide .ap-k-etat-ic{background:var(--or)}
.ap-k-etat-ic .ic{width:32px;height:32px}
.ap-k-etat-txt{min-width:0}
.ap-k-etat-sur{margin:0;font-family:var(--titre);font-weight:900;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris-600)}
.ap-k-etat h2{margin:.15rem 0 .4rem;font-size:clamp(1.35rem,3vw,1.9rem)}
.ap-k-etat p{margin:0 0 .7rem;max-width:70ch}
.ap-k-puces{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0}
.ap-k-puces li{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:999px;background:#fff;border:1px solid var(--filet);font-size:.84rem}
.ap-k-puces .ic{width:15px;height:15px;color:var(--canard-600)}
.ap-k-num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--canard-700);color:#fff;font-family:var(--titre);font-weight:900;font-size:.85rem;margin-right:.35rem;vertical-align:.08em}
.ap-k-haut{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.ap-k-etapes{padding-left:1.2rem;margin:.2rem 0 1rem}
.ap-k-etapes li{margin:.25rem 0}
.ap-k-fs{border:0;padding:0;margin:0 0 1.2rem;min-width:0}
.ap-k-fs legend{font-family:var(--titre);font-weight:800;color:var(--encre);margin-bottom:.4rem;padding:0}
.ap-k-choix{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.ap-k-choix label{text-align:left;align-items:flex-start;gap:.3rem}
.ap-k-choix label b{font-size:.98rem}
.ap-k-choix label small{font-weight:500;color:var(--gris-600);font-size:.84rem;line-height:1.4}
.ap-k-compteur{margin:.2rem 0 1rem;padding:.7rem .9rem;border-radius:14px;background:var(--fond)}
.ap-k-compteur .barre{margin-top:.4rem}
.ap-k-tests{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}
.ap-k-test{padding:.8rem;border-radius:16px;background:var(--fond);border:1px solid var(--filet)}
.ap-k-test.ko{background:var(--rouge-50);border-color:rgba(194,65,45,.25)}
.ap-k-test .ap-msg{max-width:100%;animation:none}
.ap-k-q{display:flex;gap:.4rem;align-items:flex-start;font-weight:700;color:var(--canard-900);margin:0 0 .5rem}
.ap-k-q .ic{flex:none;margin-top:.2rem;color:var(--canard-600)}
.ap-k-err{display:flex;gap:.4rem;align-items:flex-start;color:#8e2e1f;font-weight:600;margin:0}
.ap-k-err .ic{flex:none;margin-top:.2rem}
.ap-k-meta{margin:.5rem 0 0;font-size:.8rem;color:var(--gris-600);display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.ap-k-journal{margin:0;padding-left:1rem;font-size:.78rem;color:var(--gris-600);overflow-wrap:anywhere}
.ap-k-titre{font-size:1.3rem}
@media (max-width:900px){.ap-k-haut{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.ap-k-etat{flex-direction:column;padding:1.1rem}.ap-k-etat-ic{width:52px;height:52px;border-radius:16px}}

/* ═══════════ 1.5.0 — Karamö : une vraie messagerie, stable (seule la zone des messages défile) ═══════════ */
:root{--kc-top:68px;--kc-bas:0px}
.en-essai{--kc-top:108px}
.kc{display:grid;grid-template-columns:290px minmax(0,1fr);gap:1rem;height:calc(var(--kc-vh,100dvh) - var(--kc-top) - 2.8rem);min-height:520px}
.espace-contenu:has(>.kc){padding-bottom:1.4rem}
.kc [hidden]{display:none!important}
.kc-btn.kc-seul-mobile{display:none}
.kc-btn{position:relative;width:42px;height:42px;border-radius:14px;border:0;background:var(--gris-50);color:var(--canard-800);display:grid;place-items:center;cursor:pointer;flex:none;text-decoration:none;transition:background .15s}
.kc-btn:hover{background:var(--cyan-50)}
.kc-btn .ic{width:20px;height:20px}
.kc-nb{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--or);color:#3b2a00;font:800 .66rem/18px var(--titre);text-align:center;padding:0 4px}

/* Liste des conversations */
.kc-convs{display:flex;flex-direction:column;gap:.7rem;min-height:0;background:#fff;border-radius:26px;border:1px solid var(--filet);box-shadow:var(--ombre-1);padding:.9rem;overflow:hidden}
.kc-convs-tete{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:36px}
.kc-convs-tete b{font-family:var(--titre);font-weight:900;font-size:.95rem;color:var(--encre);display:flex;align-items:center;gap:.45rem}
.kc-convs-tete b .ic{width:18px;height:18px;color:var(--canard-700)}
.kc-convs-liste{display:flex;flex-direction:column;gap:2px;overflow-y:auto;overscroll-behavior:contain;margin:0 -.35rem;padding:0 .35rem;flex:1;min-height:0}
.kc-convs-liste a{display:flex;gap:.6rem;align-items:center;padding:.55rem .6rem;border-radius:14px;text-decoration:none;color:var(--texte)}
.kc-convs-liste a:hover{background:var(--gris-50)}
.kc-convs-liste a.actif{background:var(--cyan-50);box-shadow:inset 3px 0 0 var(--cyan)}
.kc-conv-pic{width:34px;height:34px;border-radius:11px;background:var(--gris-50);color:var(--canard-700);display:grid;place-items:center;flex:none}
.kc-convs-liste a.actif .kc-conv-pic{background:#fff}
.kc-conv-pic .ic{width:17px;height:17px}
.kc-conv-txt{min-width:0;display:flex;flex-direction:column}
.kc-conv-txt b{font-size:.86rem;font-weight:700;color:var(--encre);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kc-conv-txt small{font-size:.74rem;color:var(--gris-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kc-convs-vide{margin:0;font-size:.86rem;color:var(--gris-500);padding:.2rem .3rem}
.kc-convs .ap-connait{flex:none}

/* Conversation */
.kc-chat{display:flex;flex-direction:column;min-height:0;min-width:0;background:#fff;border-radius:28px;border:1px solid var(--filet);box-shadow:0 18px 40px -26px rgba(6,74,96,.35);overflow:hidden}
.kc-tete{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border-bottom:1px solid var(--filet);background:#fff;flex:none;min-height:66px}
.kc-avatar{width:44px;height:44px;border-radius:15px;overflow:hidden;background:#FFE3A6;flex:none}
.kc-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;transform:scale(1.6);transform-origin:50% 12%}
.kc-id{min-width:0;flex:1}
.kc-id b{display:block;font-family:var(--titre);font-weight:900;color:var(--encre);font-size:1.02rem;line-height:1.2}
.kc-id .ap-chat-etat{font-size:.78rem;color:var(--gris-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;max-width:100%}
.kc-actions{display:flex;gap:.4rem;flex:none}
.kc-actions form{margin:0}
.kc-simuler{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.5rem .9rem;background:var(--cyan-50);border-bottom:1px solid var(--cyan-100);flex:none;font-size:.86rem}
.kc-simuler label{display:flex;align-items:center;gap:.35rem;font-weight:700;color:var(--canard-900);margin:0}
.kc-simuler label .ic{width:17px;height:17px}
.kc-simuler select{flex:1 1 220px;min-height:38px;padding:.3rem .7rem;border-radius:12px;font-size:16px;max-width:420px}
.kc-sim-fixe{font-weight:700;color:var(--encre);background:#fff;border-radius:10px;padding:.25rem .6rem}

.kc-fil.ap-fil{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto;padding:1.1rem 1rem 1.3rem;gap:.8rem;background:linear-gradient(180deg,#F3FBFD,#FAFDFE)}
.kc .ap-msg{max-width:min(640px,86%);font-size:1rem;line-height:1.55;animation:kc-arrive .2s ease-out both}
@keyframes kc-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.kc .ap-msg.karamo{margin-left:42px;padding-right:1rem;overflow:visible}
.kc .ap-msg.karamo::after{content:"";position:absolute;left:-42px;bottom:0;width:32px;height:32px;border-radius:11px;background:#FFE3A6 var(--kc-avatar) 50% 6%/220% no-repeat}
.kc .ap-msg.karamo.attente{min-height:48px;display:flex;align-items:center;gap:.5rem}
.kc .ap-msg.eleve{margin-right:0}
.kc .ap-msg-photo{max-width:200px}
.kc .ap-msg-ecouter{position:static;display:inline-flex;align-items:center;gap:.35rem;width:auto;height:32px;padding:0 .75rem 0 .55rem;margin-top:.6rem;border-radius:10px;background:var(--gris-50);color:var(--canard-800);font:700 .78rem var(--corps)}
.kc .ap-msg-ecouter .ic{width:16px;height:16px}
.kc .ap-msg-ecouter:hover{background:var(--cyan-50)}
.kc .ap-astuce-photo{font-size:.86rem;color:var(--gris-600);display:flex;gap:.4rem;align-items:flex-start}
.kc .ap-astuce-photo .ic{width:17px;height:17px;flex:none;margin-top:.15rem;color:var(--canard-600)}
.kc .ap-msg.karamo table{display:block;max-width:100%;overflow-x:auto}

.kc-bas{flex:none;border-top:1px solid var(--filet);background:#fff;padding:.6rem .75rem .45rem}
.kc-suggestions{display:flex;gap:.45rem;overflow-x:auto;padding:0 .1rem .55rem;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.kc-suggestions::-webkit-scrollbar{display:none}
.kc-sug{flex:none;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1.5px solid var(--cyan-100);background:#fff;color:var(--canard-900);font:600 .84rem var(--corps);padding:.5rem .8rem;border-radius:14px;cursor:pointer}
.kc-sug:hover{border-color:var(--canard-500);background:var(--cyan-50)}
.kc-saisie.ap-saisie{padding:0;border:0;background:none;gap:.45rem}
.kc-ligne{display:flex;align-items:flex-end;gap:.45rem}
.kc-outil.ap-outil{width:46px;height:46px;border-radius:15px;box-shadow:none;margin-bottom:1px}
.kc-champ{position:relative;flex:1;min-width:0}
.kc-champ textarea{width:100%;min-height:48px;max-height:132px;resize:none;border-radius:18px;background:var(--gris-50);border:1.5px solid transparent;padding:.72rem 3rem .72rem 1rem;font-size:16px;line-height:1.4;display:block;overflow-y:auto}
.kc-champ textarea:focus{background:#fff;border-color:var(--cyan-200);outline:none;box-shadow:0 0 0 4px rgba(26,188,212,.12)}
.kc-micro{position:absolute;right:6px;bottom:6px;width:36px;height:36px;border-radius:12px;border:0;background:transparent;color:var(--canard-700);display:grid;place-items:center;cursor:pointer}
.kc-micro:hover{background:var(--cyan-50)}
.kc-micro .ic{width:20px;height:20px}
.kc-micro.ecoute{background:var(--rouge);color:#fff;animation:respire-micro 1.2s infinite}
.kc-envoyer.ap-envoyer{width:48px;height:48px;border-radius:16px;margin:0;flex:none}
.kc-quota{display:flex;align-items:center;gap:.4rem;margin:.4rem 0 0;font-size:.78rem;color:var(--gris-600);min-height:26px}
.kc-quota>.ic{width:15px;height:15px;color:var(--canard-600)}
.kc-note-btn{margin-left:auto;display:inline-flex;align-items:center;gap:.3rem;border:0;background:none;color:var(--gris-500);font:600 .76rem var(--corps);cursor:pointer;padding:.2rem .3rem;border-radius:8px}
.kc-note-btn .ic{width:14px;height:14px}
.kc-note{margin:.2rem 0 .1rem;font-size:.78rem;color:var(--gris-600);background:var(--gris-50);border-radius:12px;padding:.55rem .7rem}
.kc-limite{display:flex;gap:.7rem;align-items:center;background:var(--or-50);border-radius:16px;padding:.8rem .9rem;color:#5c3d00}
.kc-limite>.ic{width:26px;height:26px;flex:none;color:var(--or-600)}
.kc-limite p{margin:0;font-size:.92rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.kc-voile{display:none}

/* 1.8.1 — messages posés en bas de la conversation, juste au-dessus de la zone d'écriture (comme une messagerie) :
   plus de grand espace blanc quand la conversation est courte. Sans effet quand elle est longue. */
.kc-fil.ap-fil>:first-child{margin-top:auto}

/* Tablette et téléphone : la messagerie occupe l'écran entre la barre du haut et la barre du bas, comme une application */
@media (max-width:960px){
  :root{--kc-bas:calc(86px + env(safe-area-inset-bottom))}
  .espace.admin{--kc-bas:env(safe-area-inset-bottom)}
  html.kc-page body{overflow:hidden}
  /* 1.6.4 — accrochée en haut ET en bas de l'écran : c'est le téléphone qui gère le clavier, aucun calcul de position */
  .kc{position:fixed;left:0;right:0;top:var(--kc-top);bottom:var(--kc-bas);height:auto;min-height:0;display:block;padding:0 8px;z-index:30}
  html.kc-clavier{--kc-bas:0px}
  /* Clavier ouvert : la messagerie occupe toute la partie visible, au-dessus du clavier (son propre en-tête « Karamö » reste en haut) */
  html.kc-clavier .kc{padding-bottom:4px}
  html.kc-clavier .kc-fil{overscroll-behavior:none}
  /* Clavier ouvert : la conversation garde la place (comme une messagerie) — le bandeau « répond comme à », les idées
     de questions et la ligne « Prudence » reviennent dès que le clavier se ferme. */
  html.kc-clavier .kc-simuler,html.kc-clavier .kc-suggestions,html.kc-clavier .kc-quota,html.kc-clavier .kc-note{display:none}
  html.kc-clavier .kc-tete{min-height:52px;padding:.4rem .6rem}
  html.kc-clavier .kc-avatar{width:34px;height:34px}
  html.kc-clavier .nav-mobile{display:none}
  .kc-chat{height:100%;border-radius:24px}
  .kc-btn.kc-seul-mobile{display:grid}
  .kc:has(.kc-convs.ouvert){z-index:100}
  .kc-convs{position:fixed;left:0;top:0;bottom:0;width:min(86vw,330px);z-index:96;border-radius:0 26px 26px 0;padding:calc(.9rem + env(safe-area-inset-top)) .9rem calc(.9rem + env(safe-area-inset-bottom));transform:translateX(-105%);transition:transform .25s ease;box-shadow:var(--ombre-3);visibility:hidden}
  .kc-convs.ouvert{transform:none;visibility:visible}
  .kc-voile{display:block;position:fixed;inset:0;background:rgba(6,74,96,.42);z-index:95}
  .kc-tete{padding:.55rem .6rem;gap:.55rem;min-height:60px}
  .kc-avatar{width:40px;height:40px;border-radius:13px}
  .kc .ap-msg{max-width:88%;font-size:.97rem}
  .kc .ap-msg.karamo{margin-left:38px}
  .kc .ap-msg.karamo::after{left:-38px;width:30px;height:30px}
  .kc-fil.ap-fil{padding:.9rem .7rem 1rem}
  .kc-bas{padding:.5rem .55rem .35rem}
}
@media (max-width:380px){
  .kc-outil.ap-outil{width:42px;height:42px}
  .kc-envoyer.ap-envoyer{width:44px;height:44px}
  .kc-id .ap-chat-etat{font-size:.72rem}
}

/* Bandeau « mode essai » de la direction */
.bandeau-direction{position:sticky;top:0;z-index:98;height:40px;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:0 .7rem 0 1rem;background:var(--encre);color:#fff;font-size:.84rem}
.bandeau-direction>span{display:flex;align-items:center;gap:.4rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bandeau-direction .ic{width:17px;height:17px;color:var(--or)}
.bandeau-direction form{margin:0}
.bandeau-direction .btn{min-height:30px;padding:.2rem .7rem;background:var(--or);color:#3b2a00;border:0;font-size:.8rem;box-shadow:none}
.en-essai .espace-barre{top:40px}
.en-essai .messages-flash{top:52px}

/* ═══ 1.5.3 — Kharandi léger : garder un cours sans réseau, questions en attente ═══ */
.ap-garder.garde-ok{background:var(--vert-50);color:var(--vert);border-color:transparent}
.ap-garder[disabled]{opacity:.7}
.ap-msg.karamo.reseau::before{display:none}
.ap-attente-reseau{margin:0;font-size:.92rem;color:var(--gris-600)}
.sc-hl-gardes{text-align:left;margin:1.4rem auto 1.4rem;max-width:440px}
.sc-hl-gardes ul{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.45rem}
.sc-hl-gardes a{display:block;padding:.75rem 1rem;border-radius:14px;background:var(--cyan-50);color:var(--canard-800);font-weight:600;text-decoration:none}

/* ═══ 1.6.0 — Karamö illustré : formules de cahier, schémas, encadrés de fiche ═══ */
.km{white-space:nowrap;font-variant-numeric:lining-nums}
.kf{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .12em;line-height:1.05;font-size:.86em;font-weight:600}
.kf-n{padding:0 .22em .08em;border-bottom:1.6px solid currentColor}
.kf-d{padding:.08em .22em 0}
.kf .kf{font-size:.9em}
.kr{white-space:nowrap}
.kr-in{border-top:1.6px solid currentColor;padding:0 .12em;margin-left:.02em}
.ko{border-top:1.4px solid currentColor}
.ko-v{border-top:0;position:relative}
.ko-v::before{content:"→";position:absolute;left:0;right:0;top:-.95em;text-align:center;font-size:.8em}
.ko-a{border-top:0;position:relative}
.ko-a::before{content:"^";position:absolute;left:0;right:0;top:-.7em;text-align:center;font-size:.85em}
.kb{border:1.6px solid currentColor;border-radius:6px;padding:0 .3em}
.ap-msg sup,.ap-msg sub{font-size:.72em;line-height:0}

.ks-fig{margin:.7rem 0 .8rem;padding:.8rem .7rem .6rem;background:#fff;border:1px solid var(--filet);border-radius:18px;box-shadow:0 6px 18px -12px rgba(7,90,115,.35)}
.ks-svg{display:block;width:100%;height:auto;max-height:340px}
.ks-cycle .ks-svg{max-width:340px;margin:0 auto}
.ks-fig figcaption{margin-top:.45rem;text-align:center;font-size:.86rem;color:var(--gris-600);font-weight:600}

.ks-boite{position:relative;margin:.7rem 0;padding:.75rem .9rem .7rem 1rem;border-radius:16px;background:var(--cyan-50);border-left:5px solid var(--canard-600)}
.ks-boite p:last-child,.ks-boite ul:last-child,.ks-boite ol:last-child{margin-bottom:0}
.ks-boite-titre{display:flex;align-items:center;gap:.4rem;margin:0 0 .35rem!important;font-family:var(--titre);font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--canard-800)}
.ks-boite-titre .ic{width:17px;height:17px}
.ks-retenir{background:#FDF3D7;border-left-color:#E3A008}
.ks-retenir .ks-boite-titre{color:#8A5A00}
.ks-exemple{background:#E9F6FA;border-left-color:#0B7FA0}
.ks-attention{background:#FBEDEA;border-left-color:var(--rouge)}
.ks-attention .ks-boite-titre{color:var(--rouge)}
.ks-astuce{background:var(--vert-50);border-left-color:var(--vert)}
.ks-astuce .ks-boite-titre{color:var(--vert)}
.ks-methode{background:#F1EDF8;border-left-color:#6B4FA0}
.ks-methode .ks-boite-titre{color:#4F3A78}
.ks-exercice{background:#fff;border:1.5px dashed var(--canard-600);border-left-width:5px;border-left-style:solid}

.ks-etapes{list-style:none;margin:.7rem 0;padding:0;display:grid;gap:0}
.ks-etapes li{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:.7rem;align-items:start;padding:0 0 .9rem}
.ks-etapes li:not(:last-child)::before{content:"";position:absolute;left:16px;top:34px;bottom:2px;width:2px;background:repeating-linear-gradient(var(--canard-500) 0 5px,transparent 5px 9px)}
.ks-num{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--canard-700);color:#fff;font-family:var(--titre);font-weight:900;font-size:.95rem;box-shadow:0 3px 0 var(--canard-900)}
.ks-txt{padding:.4rem .75rem;background:#fff;border:1px solid var(--filet);border-radius:12px;line-height:1.45}

.ks-comparer{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.7rem 0}
.ks-col{border-radius:14px;padding:.6rem .7rem;border:1px solid var(--filet);background:#fff}
.ks-col b{display:block;font-family:var(--titre);font-weight:800;font-size:.85rem;margin-bottom:.3rem}
.ks-col ul{margin:0;padding-left:1.05rem}
.ks-col li{margin:.15rem 0;font-size:.92rem}
.ks-a{border-top:4px solid #0B7FA0}.ks-a b{color:#0B7FA0}
.ks-b{border-top:4px solid #E3A008}.ks-b b{color:#8A5A00}
.ap-code{margin:.5rem 0;padding:.6rem .8rem;border-radius:12px;background:#0D2733;color:#E6F4F7;font-size:.84rem;overflow-x:auto;white-space:pre}
.ks-dessin{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;padding:.7rem .9rem;border-radius:14px;background:var(--cyan-50);color:var(--canard-800);font-weight:600;font-size:.9rem}
@media (max-width:420px){.ks-comparer{grid-template-columns:1fr}}
.ks-fig.ks-etapes,.ks-fig.ks-comparer{background:none;border:0;box-shadow:none;padding:0}
.ks-fig.ks-droite .ks-svg,.ks-fig.ks-barres .ks-svg{max-height:none}

/* ═══ 1.6.2 — Réponses de Karamö : une vraie page de cahier soignée ═══ */
.ap-msg.karamo{line-height:1.6}
.ap-msg.karamo strong{color:var(--canard-900);font-weight:800;background:linear-gradient(transparent 60%,#FCE7A8 60%);padding:0 .1em;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ap-msg.karamo .ks-boite-titre strong,.ap-msg.karamo th strong,.ap-msg.karamo .ks-col b{background:none;padding:0}
.ap-msg.karamo ul{list-style:none;padding-left:0;margin:.45rem 0 .65rem}
.ap-msg.karamo ul>li{position:relative;padding-left:1.35rem;margin:.32rem 0}
.ap-msg.karamo ul>li::before{content:"";position:absolute;left:.2rem;top:.62em;width:.52rem;height:.52rem;border-radius:3px;background:var(--canard-600);transform:rotate(45deg)}
.ap-msg.karamo ol{list-style:none;counter-reset:km;padding-left:0;margin:.45rem 0 .65rem}
.ap-msg.karamo ol>li{counter-increment:km;position:relative;padding-left:2.1rem;margin:.45rem 0;min-height:1.6rem}
.ap-msg.karamo ol>li::before{content:counter(km);position:absolute;left:0;top:.05rem;width:1.55rem;height:1.55rem;border-radius:9px;background:var(--canard-700);color:#fff;font-family:var(--titre);font-weight:900;font-size:.8rem;display:grid;place-items:center;box-shadow:0 2px 0 var(--canard-900)}
.ap-msg.karamo ol>li::marker{content:none}
.ap-msg.karamo .ks-etapes>li{padding-left:0}
.ap-msg.karamo .ks-etapes>li::before{content:"";top:34px;left:16px;width:2px;height:auto;border-radius:0;background:repeating-linear-gradient(var(--canard-500) 0 5px,transparent 5px 9px);box-shadow:none;transform:none}
.ap-msg.karamo .ks-etapes>li:last-child::before{display:none}
.ap-msg.karamo .ap-msg-titre{display:flex;align-items:center;gap:.5rem;margin:1rem 0 .35rem!important;padding-bottom:.3rem;border-bottom:2px solid var(--cyan-100,#D6F1F7);font-family:var(--titre);font-size:1.02rem}
.ap-msg.karamo .ap-msg-titre::before{content:"";flex:none;width:.4rem;height:1.1rem;border-radius:4px;background:linear-gradient(var(--canard-600),var(--or,#E3A008))}
.ap-msg.karamo .ap-msg-titre strong{background:none;padding:0}
.ap-msg.karamo>p:first-of-type{font-size:1.03em}
.ap-msg.karamo .ap-tableau{box-shadow:0 4px 14px -10px rgba(7,90,115,.4)}
.ap-msg.karamo .ap-tableau tr:nth-child(even) td{background:#F7FBFC}

/* argent.css */
/* ARGENT (1.8.2) — pages Argent du jour, Journal financier, Garde-fous, Contrôler et valider, Rembourser, Sauvegarde.
   Uniquement des compléments : les pages reprennent les composants de l'administration (ad-panneau, ad-kpis, tableau, alerte…). */
.ar-nav-jour{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.ar-nav-jour form{display:flex;align-items:center;gap:.45rem}
.ar-nav-jour input[type=date]{min-height:40px;border-radius:12px;border:2px solid var(--filet);padding:.3rem .6rem;font:inherit;background:#fff;max-width:11rem}
.ad-kpis.ar-kpis.ar-kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.ar-kpis .ad-kpi .v{overflow-wrap:normal}
.ad-kpi.sombre .v small{color:#D5F0F5}
.ar-note{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;max-width:200px}
.ar-note .pastille{white-space:normal;text-align:left}
.ar-note .btn{white-space:normal;text-align:left}
.ar-note small,.ar-petit{font-size:.76rem;color:var(--gris-600);line-height:1.35}
.ar-lien{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:700;margin-top:.3rem}
.ar-lien .ic{width:15px;height:15px}
.ar-etats{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}
.ar-etats li{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;line-height:1.4}
.ar-etats li>.ic{flex:none;width:18px;height:18px;margin-top:.12rem;color:var(--canard-700)}
.ar-ok{color:#1F8A4C}.ar-ko{color:#C0392B}
.ar-liste{list-style:none;margin:0;padding:0}
.ar-liste li{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem 0;border-top:1px solid var(--filet);font-size:.88rem;min-width:0}
.ar-liste li:first-child{border-top:0}
.ar-liste li>span:first-child{min-width:0;overflow-wrap:anywhere}
.ar-liste li>b{white-space:nowrap;font-family:var(--titre);font-weight:900}
.ar-liste .ic{width:16px;height:16px;vertical-align:-3px;color:var(--canard-700)}
.ar-liste .groupe-btn{flex:none;margin:0}
.ar-totaux{list-style:none;margin:.9rem 0 0;padding:.8rem 0 0;border-top:1px solid var(--filet);display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.85rem}
.ar-totaux .ic{width:15px;height:15px;vertical-align:-2px;color:var(--canard-700)}
.ar-filtre{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap;margin:0 0 1rem}
.ar-filtre label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:700}
.ar-filtre select{min-height:42px;border-radius:12px;border:2px solid var(--filet);padding:.3rem .6rem;font:inherit;background:#fff;max-width:100%}
.ar-detail{display:flex;flex-wrap:wrap;gap:.2rem .6rem;font-size:.78rem;line-height:1.35;overflow-wrap:anywhere;max-width:420px}
.ar-detail i{font-style:normal;color:var(--gris-500)}
.ar-empreinte{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;color:var(--gris-500);overflow-wrap:anywhere}
.ar-journal td{vertical-align:top}
.ar-dl{display:grid;grid-template-columns:max-content 1fr;gap:.55rem 1rem;margin:0;font-size:.9rem}
.ar-dl dt{color:var(--gris-500);font-weight:700}
.ar-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.ar-cles{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:.4rem 0 .6rem;padding:0}
.ar-cles code{font-size:.75rem;background:var(--fond);border-radius:8px;padding:.15rem .45rem}
@media (max-width:640px){
  .ar-cache-mobile{display:none}
  .ar-dl{grid-template-columns:1fr;gap:.15rem}
  .ar-dl dd{margin-bottom:.45rem}
  .ar-liste li{flex-wrap:wrap}
  .ar-note{max-width:none}
}
@media (max-width:640px){
  .ad-kpis.ar-kpis.ar-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* communaute.css */
/* ═══════════════════════════════════════════════════════════════
   KHARANDI — module Communauté : répétiteurs + Makiti
   Toutes les classes sont préfixées .cm- (chargé sur toutes les pages)
   ═══════════════════════════════════════════════════════════════ */

/* ─── Communs ─── */
.cm-section{padding-top:clamp(1.6rem,4vw,3rem)}
.cm-h{font-size:1.15rem;font-weight:800;margin-bottom:.9rem}
.cm-h2{font-size:clamp(1.2rem,2.2vw,1.45rem);margin:0 0 1rem}
.cm-titre-page{font-size:clamp(1.6rem,3.5vw,2.3rem)}
.cm-aligne-haut{align-items:start}
.cm-tags{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.cm-tags .pastille{text-decoration:none}
.cm-meta{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;color:var(--gris-600)}
.cm-meta li{display:flex;gap:.5rem;align-items:flex-start;min-width:0}
.cm-meta .ic{color:var(--canard-600);margin-top:.18em}
.cm-dl{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:.5rem 1rem;margin:0;font-size:.93rem}
.cm-dl dt{font-weight:700;color:var(--gris-600);font-size:.84rem}
.cm-dl dd{margin:0;color:var(--encre);min-width:0;overflow-wrap:anywhere}
.cm-etoile-vide{color:var(--gris-200)}
.carte-titre .lien-fleche{white-space:nowrap;flex:none}
.cm-cartes-liste{display:flex;flex-direction:column;gap:1rem}
.cm-citation-courte{background:var(--cyan-50);border-left:4px solid var(--cyan);border-radius:0 14px 14px 0;padding:.6rem .9rem;margin:.8rem 0 0;font-size:.93rem;color:var(--texte);overflow-wrap:anywhere}
.cm-btn-texte{background:none;color:var(--canard-700);border-color:transparent;padding-left:.6rem;padding-right:.6rem}
.cm-btn-texte:hover{background:var(--cyan-50);color:var(--canard-800);box-shadow:none}
.cm-fil-clair{color:var(--gris-500)}
.cm-fil-clair a{color:var(--canard-600)}
.cm-demo-coin{align-self:flex-start;margin-top:-.3rem}
.cm-summary{cursor:pointer;font-weight:700;color:var(--rouge)}
.cm-details>summary{list-style:none}
.cm-details>summary::-webkit-details-marker{display:none}
.cm-input-petit{min-height:36px!important;max-width:170px;padding:.3rem .6rem!important;margin-right:.3rem}
.cm-large{max-width:1060px}

/* Badges de confiance */
.cm-verifie{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;font-weight:700;color:var(--vert);white-space:nowrap}
.cm-verifie .ic{width:1em;height:1em}
.cm-verifie.clair{background:#fff;color:var(--vert);padding:.3rem .8rem;border-radius:999px;border:0;box-shadow:0 3px 0 rgba(6,74,96,.25);font-family:var(--titre);font-weight:800}
.cm-verifie.clair .ic{color:var(--vert)}
.cm-recommande{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:800;letter-spacing:.04em;color:var(--or-texte);background:var(--or-50);border:1px solid var(--or-100);padding:.18rem .6rem;border-radius:999px}
.cm-recommande .ic{width:.95em;height:.95em;color:var(--or-600)}
.cm-recommande.statique{position:static;background:var(--or-50);color:var(--or-texte);border-color:var(--or-100);box-shadow:0 3px 0 rgba(6,74,96,.25);font-family:var(--titre);padding:.3rem .8rem}
.cm-recommande.statique .ic{color:var(--or-600)}

/* Portraits et logos */
.cm-portrait{width:68px;height:68px;border-radius:22px;background:var(--degrade);color:#fff;display:grid;place-items:center;font-family:var(--titre);font-weight:900;font-size:1.35rem;flex:none;overflow:hidden;box-shadow:0 4px 0 var(--canard-900)}
.cm-portrait img{width:100%;height:100%;object-fit:cover}
.cm-portrait.grand{width:112px;height:112px;border-radius:28px;font-size:2.1rem}
.cm-portrait.petit{width:40px;height:40px;border-radius:12px;font-size:.85rem;box-shadow:none}
.cm-logo{width:48px;height:48px;border-radius:15px;background:var(--canard-700);color:#fff;display:grid;place-items:center;flex:none;overflow:hidden;box-shadow:0 3px 0 var(--canard-900)}
.cm-logo img{width:100%;height:100%;object-fit:cover}
.cm-logo .ic{width:24px;height:24px}
.cm-logo.grand{width:96px;height:96px;border-radius:28px;background:#fff;color:var(--canard-700);box-shadow:0 6px 0 rgba(6,74,96,.28)}
.cm-logo.grand .ic{width:40px;height:40px}

/* ─── En-têtes ─── */
.cm-heros h1{max-width:820px}
.cm-heros .btn-fantome{border-color:rgba(255,255,255,.35)}

/* ─── Annuaire des répétiteurs ─── */
.cm-filtres{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:.6rem}
.cm-filtres select,.cm-filtres input{min-width:0}
.cm-filtres select{padding-left:.8rem;padding-right:2.1rem;background-position:right .75rem center;font-size:15px;text-overflow:ellipsis}
.cm-filtres-makiti{grid-template-columns:repeat(3,minmax(0,1fr)) auto auto}
.cm-case-points{white-space:nowrap;align-self:center;padding:0 .4rem}
.cm-resultat{margin:0 0 1.2rem;color:var(--gris-600)}
.cm-resultat b{color:var(--encre)}
.cm-rep-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.25rem}
.cm-rep-carte{display:flex;flex-direction:column;gap:.9rem;padding:1.4rem;min-width:0}
.cm-rep-carte{border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100),0 14px 26px -16px rgba(7,90,115,.3);border-radius:var(--r-l)}
.cm-rep-carte:hover{border-color:var(--cyan-200);box-shadow:0 7px 0 var(--cyan-200),0 18px 30px -16px rgba(7,90,115,.35)}
.cm-rep-carte.cm-avant{border-color:var(--or-100);box-shadow:0 5px 0 var(--or-100),0 14px 26px -16px rgba(7,90,115,.3)}
.cm-rep-tete{display:flex;gap:1rem;align-items:center;padding-right:5.5rem;min-width:0}
.cm-rep-carte:not(.cm-avant) .cm-rep-tete{padding-right:0}
.cm-rep-id{min-width:0}
.cm-rep-id h3{font-size:1.08rem;margin:0 0 .15rem}
.cm-rep-titre{font-size:.86rem;color:var(--gris-600);margin:0 0 .3rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cm-rep-pied{margin-top:auto;padding-top:.9rem;border-top:2px dashed var(--filet);display:flex;justify-content:space-between;align-items:flex-end;gap:.8rem}
.cm-tarif b{display:block;font-family:var(--titre);font-weight:900;font-size:1.3rem;color:var(--encre);letter-spacing:-.02em;line-height:1.1}
.cm-tarif .cm-devise{display:inline;font-size:.72rem;font-weight:800;color:var(--gris-500);letter-spacing:0}
.cm-tarif small,.cm-note small{display:block;font-size:.74rem;color:var(--gris-500)}
.cm-tarif-libre{font-size:.92rem!important;color:var(--gris-600)!important}
.cm-note{text-align:right}
.cm-etapes .carte{height:100%}
.cm-appel p{max-width:560px}

/* ─── Profil public ─── */
.cm-profil-tete{display:flex;gap:1.6rem;align-items:center}
.cm-profil-tete .cm-portrait{background:#fff;color:var(--canard-700);box-shadow:0 0 0 5px rgba(255,255,255,.28),0 8px 0 rgba(6,74,96,.3)}
.cm-profil-tete h1{margin-bottom:.2rem}
.cm-profil-titre{font-size:1.1rem!important;color:#F2FBFD;margin:0 0 .8rem!important}
.cm-profil-infos{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem;font-size:.9rem;color:#fff}
.cm-profil-infos li{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:.3rem .8rem;font-weight:600}
.cm-profil-infos .ic{color:#fff}
.cm-profil-infos .etoiles{color:#fff}.cm-profil-infos .cm-etoile-vide{color:rgba(255,255,255,.35)}
.cm-profil-grille{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:1.5rem;align-items:start}
.cm-profil-aside{display:flex;flex-direction:column;gap:1rem;position:sticky;top:calc(var(--entete) + 16px)}
.cm-bio{font-size:1rem}
.cm-modalites{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-weight:600;color:var(--encre)}
.cm-modalites li{display:inline-flex;align-items:center;gap:.4rem}
.cm-modalites .ic{color:var(--vert)}
.cm-modalites li.non{color:var(--gris-400);font-weight:500}
.cm-modalites li.non .ic{color:var(--gris-400)}
.cm-contact{border:2px solid var(--cyan-100);box-shadow:0 6px 0 var(--cyan-100),var(--ombre-2);overflow:hidden;padding-top:1.5rem}
.cm-contact::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--degrade)}
.cm-contact-prix{margin-bottom:1rem;display:flex;flex-direction:column;gap:.2rem}
.cm-contact-prix .bloc-prix{font-size:2rem}
.cm-bloc-prix-libre{font-size:1.5rem!important}
.cm-contact-btns{gap:.6rem}
.cm-invite{background:var(--cyan-50);border:1px solid var(--cyan-100);border-radius:var(--r);padding:1rem}
.cm-invite p{font-size:.92rem}
.cm-conseils h3{display:flex;align-items:center;gap:.4rem;font-size:1rem}
.cm-conseils .liste-coches{font-size:.88rem}
.cm-avis-liste{display:flex;flex-direction:column}
.cm-avis{padding:1rem 0;border-bottom:1px solid var(--filet)}
.cm-avis:last-child{border-bottom:0}
.carte.cm-avis{padding:1.2rem 1.4rem;border-bottom:1px solid rgba(7,90,115,.06)}
.cm-avis p{margin:.4rem 0;overflow-wrap:anywhere}
.cm-form-avis{border-top:1px solid var(--filet);padding-top:1rem}
.cm-note-choix{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:.15rem;border:0;padding:0}
.cm-note-choix legend{font-family:var(--corps);font-size:.9rem;font-weight:600;padding:0;margin-bottom:.3rem;float:left;width:100%}
.cm-note-choix input{position:absolute;opacity:0;width:1px;height:1px}
.cm-note-choix label{font-size:2rem;line-height:1;color:var(--gris-200);cursor:pointer;min-width:44px;min-height:44px;display:grid!important;place-items:center;transition:color .1s}
.cm-note-choix input:checked~label,.cm-note-choix label:hover,.cm-note-choix label:hover~label{color:var(--or)}
.cm-note-choix input:focus-visible+label{outline:3px solid var(--or);outline-offset:2px;border-radius:8px}
.cm-note-grande{display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:999px;padding:.5rem 1.1rem;border:2px solid var(--or-100);box-shadow:0 3px 0 var(--or-100)}
.cm-note-grande b{font-family:var(--titre);font-weight:900;font-size:1.3rem;color:var(--or-texte)}
.cm-note-grande small{color:var(--gris-500)}

/* ─── Demandes ─── */
.cm-demande-grille{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.5rem;align-items:start}
.cm-etapes-liste{padding-left:1.2rem;margin:0;display:flex;flex-direction:column;gap:.5rem;font-size:.93rem}
.cm-etapes-liste li::marker{color:var(--canard-600);font-weight:900;font-family:var(--titre)}
.cm-demande h3{font-size:1.05rem}
.cm-repondants{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--filet);font-size:.9rem}
.cm-alerte-lien{text-decoration:none}
.cm-alerte-lien:hover{box-shadow:var(--ombre-1)}
.cm-a-faire{color:var(--gris-600)}
.cm-a-faire::before{background:var(--or-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D98A00' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E") center/62% no-repeat!important}

/* ─── Espaces : états, promo ─── */
.cm-etat-grille{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cm-etat{--c:var(--gris-400);display:flex;gap:1rem;align-items:flex-start;border:2px solid color-mix(in srgb,var(--c) 22%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 22%,#fff)}
.cm-etat h3{margin:.1rem 0 .3rem}
.cm-etat p{font-size:.92rem}
.cm-etat.ok{--c:var(--vert)}
.cm-etat.ko{--c:var(--rouge)}
.cm-etat.attente{--c:var(--or)}
.cm-etat-ic{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--c);color:#fff;flex:none;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.cm-etat .liste-coches{font-size:.93rem}
.cm-promo{display:flex;align-items:center;gap:1rem;border:2px solid var(--or-100);background:linear-gradient(100deg,#fff 55%,var(--or-50));box-shadow:0 4px 0 var(--or-100)}
.cm-promo .pastille-icone{margin:0;background:var(--or);color:#fff;box-shadow:0 3px 0 var(--or-700)}
.cm-promo>div{flex:1;min-width:0}
.cm-chiffre-lien{text-decoration:none;color:inherit;transition:box-shadow .2s}
.cm-chiffre-lien:hover{box-shadow:var(--ombre-2);color:inherit}
.cm-chiffre-lien .l b{color:var(--or-texte)}

/* Formulaire profil : puces à cocher */
.cm-puces{display:flex;flex-wrap:wrap;gap:.45rem}
.cm-puce{position:relative;cursor:pointer;flex-direction:row!important}
.cm-puce input{position:absolute;opacity:0;width:1px;height:1px}
.cm-puce span{display:inline-flex;align-items:center;min-height:40px;padding:.4rem .9rem;border-radius:999px;border:1.5px solid var(--gris-200);background:#fff;font-weight:600;font-size:.86rem;color:var(--texte);transition:.12s}
.cm-puce input:checked+span{background:var(--canard-700);border-color:var(--canard-700);color:#fff}
.cm-puce input:checked+span{box-shadow:0 3px 0 var(--canard-900)}
.cm-puce input:checked+span::before{content:"✓";margin-right:.35rem;font-weight:900;color:#fff}
.cm-puce input:focus-visible+span{outline:3px solid var(--cyan);outline-offset:2px}
.cm-cycle{font-family:var(--titre);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gris-500);margin:.9rem 0 .4rem}
.cm-cycle:first-of-type{margin-top:0}
.cm-photo-ligne{flex-wrap:nowrap;align-items:center}
fieldset.carte{margin:0;padding:1.3rem}
fieldset.carte legend{padding:0 .4rem}

/* Réservations */
.cm-resa{display:flex;gap:1.1rem;align-items:flex-start}
.cm-resa-date{width:66px;flex:none;border-radius:18px;background:var(--degrade);box-shadow:0 4px 0 var(--canard-900);color:#fff;text-align:center;padding:.5rem .3rem;display:flex;flex-direction:column;line-height:1.1}
.cm-resa-date b{font-family:var(--titre);font-size:1.6rem;font-weight:900}
.cm-resa-date span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#fff;font-weight:800}
.cm-resa-date small{font-size:.78rem;margin-top:.25rem;color:#E9FAFD;font-weight:700}
.cm-resa-corps{flex:1;min-width:0}
.cm-resa h3{font-size:1.02rem}

/* ─── Makiti : en-tête ─── */
.cm-heros-makiti-grille{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2.5rem;align-items:center}
.cm-heros-makiti .recherche-bloc{max-width:560px}
.cm-heros-makiti .recherche-bloc input{background:transparent}
.cm-atouts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.8rem}
.cm-atouts li{display:flex;gap:.9rem;align-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:var(--r);padding:.8rem 1rem}
.cm-atouts .ic{width:42px;height:42px;padding:9px;border-radius:14px;background:#fff;color:var(--canard-700);flex:none;box-shadow:0 3px 0 rgba(6,74,96,.25)}
.cm-atouts b{display:block;color:#fff;font-family:var(--titre);font-size:.95rem}
.cm-atouts span{font-size:.86rem;line-height:1.4;color:#F2FBFD}

/* Solde de points */
.cm-solde{display:flex;align-items:center;gap:1rem;background:linear-gradient(100deg,#fff 50%,var(--or-50));border:2px solid var(--or-100);border-radius:var(--r-l);padding:1rem 1.2rem;margin-bottom:1.4rem;box-shadow:0 4px 0 var(--or-100)}
.cm-solde .pastille-icone{margin:0;width:48px;height:48px;background:var(--or);color:#fff;box-shadow:0 3px 0 var(--or-700)}
.cm-solde>div{flex:1;min-width:0}
.cm-solde b{font-family:var(--titre);font-weight:900;color:var(--or-texte)}
.cm-solde small{display:block;color:var(--gris-600);font-size:.84rem}
.cm-solde.compact{margin:1rem 0;padding:.9rem 1rem;box-shadow:none;background:var(--or-50)}
.cm-solde.compact.ok{background:var(--vert-50);border-color:rgba(30,142,90,.2)}
.cm-panier-flottant{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:65;display:inline-flex;align-items:center;gap:.5rem;background:var(--canard-700);color:#fff;font-family:var(--titre);font-weight:800;font-size:.9rem;text-decoration:none;padding:.75rem 1.2rem;min-height:48px;border-radius:999px;box-shadow:0 4px 0 var(--canard-900),var(--ombre-3)}
.cm-panier-flottant:hover{color:#fff;background:var(--canard-700)}
.cm-panier-flottant span{background:#fff;color:var(--canard-800);font-weight:900;border-radius:999px;min-width:24px;height:24px;display:grid;place-items:center;font-size:.8rem;padding:0 .4rem}

/* Catégories : des îles colorées (une couleur par rayon) */
.cm-produit-carte,.cm-produit-visuel{--c:var(--canard-700)}
.cm-c-tout{--c:#075A73}.cm-c-livres{--c:#0B7FA0}.cm-c-fournitures{--c:#EE7D1A}.cm-c-uniformes{--c:#6B4FA0}
.cm-c-sacs{--c:#1E8E5A}.cm-c-accessoires{--c:#B8561B}.cm-c-numerique{--c:#1C6FB8}
.cm-titre-bloc{margin-bottom:.9rem}
.cm-cats{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.8rem;margin-bottom:1.8rem;padding:0 0 .5rem}
.cm-cats .ile{min-width:0}
.cm-cats .ile b{font-size:.86rem}
.cm-cats .ile small{font-size:.74rem}
.cm-cats .ile.active{background:var(--c);border-color:var(--c);color:#fff;box-shadow:0 5px 0 color-mix(in srgb,var(--c) 70%,#000),0 14px 24px -14px rgba(7,90,115,.35)}
.cm-cats .ile.active .ile-ic{background:#fff;color:var(--c);box-shadow:0 4px 0 rgba(0,0,0,.18)}
.cm-cats .ile.active small{color:rgba(255,255,255,.88)}

/* Boutiques à la une */
.cm-une{margin-bottom:1.6rem}
.cm-une-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:.8rem}
.cm-boutique-mini{display:flex;align-items:center;gap:.9rem;background:#fff;border-radius:var(--r-l);padding:.9rem 1rem;text-decoration:none;color:inherit;border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100);transition:transform .15s}
.cm-boutique-mini>.ic{color:var(--gris-400);flex:none}
.cm-boutique-mini:hover{transform:translateY(-2px);border-color:var(--cyan-200);color:inherit}
.cm-boutique-mini>span:nth-child(2){flex:1;min-width:0}
.cm-boutique-mini b{display:block;font-family:var(--titre);color:var(--encre);font-size:.95rem}
.cm-boutique-mini small{display:block;color:var(--gris-600);font-size:.78rem;line-height:1.4}
.cm-boutique-mini small .ic{display:inline-block;vertical-align:-.15em;width:1.05em;height:1.05em}
.cm-boutique-mini small .ic{color:var(--vert)}

/* Grille de produits : cartes en relief, teintées par rayon */
.cm-produits{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem 1.1rem}
.cm-pub-ligne{grid-column:1/-1}
.cm-pub-ligne .pub{margin:.2rem 0}
.cm-produit-carte{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-l);overflow:hidden;text-decoration:none;color:inherit;border:2px solid color-mix(in srgb,var(--c) 18%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--c) 24%,#fff),0 16px 28px -18px rgba(7,90,115,.35);transition:transform .15s,box-shadow .15s,border-color .15s;min-width:0}
.cm-produit-carte:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--c) 40%,#fff);box-shadow:0 8px 0 color-mix(in srgb,var(--c) 30%,#fff),0 22px 34px -18px rgba(7,90,115,.4);color:inherit}
.cm-produit-carte:active{transform:translateY(2px);box-shadow:0 2px 0 color-mix(in srgb,var(--c) 24%,#fff)}
.cm-produit-carte .vignette{aspect-ratio:1/1;border-radius:0}
.cm-produit-carte .vignette-vide,.cm-produit-visuel .vignette-vide{background:radial-gradient(circle at 50% 46%,#fff 0 28%,transparent 29%),linear-gradient(150deg,color-mix(in srgb,var(--c) 14%,#fff),color-mix(in srgb,var(--c) 5%,#fff) 70%)}
.cm-produit-carte .vignette-vide::before,.cm-produit-visuel .vignette-vide::before{content:"";position:absolute;width:62%;aspect-ratio:1;border-radius:50%;border:2px dashed color-mix(in srgb,var(--c) 25%,#fff)}
.cm-pc-ic{position:relative;width:64px;height:64px;border-radius:20px;background:var(--c);color:#fff;display:grid;place-items:center;box-shadow:0 5px 0 color-mix(in srgb,var(--c) 70%,#000);transition:transform .2s}
.cm-pc-ic .ic{width:30px!important;height:30px!important;color:#fff!important;opacity:1!important}
.cm-produit-carte:hover .cm-pc-ic{transform:translateY(-3px) rotate(-4deg)}
.cm-pc-ic.grand{width:104px;height:104px;border-radius:32px;box-shadow:0 8px 0 color-mix(in srgb,var(--c) 70%,#000)}
.cm-pc-ic.grand .ic{width:50px!important;height:50px!important}
.cm-sponsor{position:absolute;top:10px;left:10px;background:#fff;color:var(--or-texte);font-family:var(--titre);font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;box-shadow:0 2px 0 var(--or-100);border:1px solid var(--or-100)}
.cm-rupture{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(194,65,45,.92);color:#fff;font-family:var(--titre);font-size:.74rem;font-weight:800;text-align:center;padding:.35rem;border-radius:12px}
.cm-pc-corps{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:0;border-top:2px solid color-mix(in srgb,var(--c) 10%,#fff)}
.cm-pc-cat{font-family:var(--titre);font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-produit-carte h3{font-size:.98rem;font-weight:800;line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.cm-pc-boutique{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--gris-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-pc-boutique .ic{color:var(--vert);width:1em;height:1em}
.cm-pc-demo{align-self:flex-start}
.cm-pc-prix{margin-top:auto;padding-top:.6rem;border-top:2px dashed var(--filet);display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:center;justify-content:space-between}
.cm-pc-prix b{font-family:var(--titre);font-weight:900;font-size:1.22rem;color:var(--encre);white-space:nowrap;letter-spacing:-.02em;line-height:1.1}
.cm-pc-prix b small{font-size:.66rem;font-weight:800;color:var(--gris-500);letter-spacing:0}
.cm-points{display:inline-flex;align-items:center;gap:.25rem;background:var(--or-50);color:var(--or-texte);border:1.5px solid var(--or-100);font-family:var(--titre);font-size:.74rem;font-weight:900;padding:.14rem .55rem;border-radius:999px;white-space:nowrap;box-shadow:0 2px 0 var(--or-100)}
.cm-points .ic{width:1.05em;height:1.05em;color:var(--or-600)}
.cm-points.grand{font-size:1.05rem;padding:.4rem .95rem;background:var(--or);color:#fff;border-color:var(--or);box-shadow:0 4px 0 var(--or-700)}
.cm-points.grand .ic{color:#fff}

/* Fiche produit */
.cm-produit-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start;margin-top:.6rem}
.cm-produit-visuel{position:sticky;top:calc(var(--entete) + 16px)}
.cm-produit-visuel .vignette{aspect-ratio:1/1;border-radius:var(--r-xl);border:2px solid color-mix(in srgb,var(--c) 18%,#fff);box-shadow:0 6px 0 color-mix(in srgb,var(--c) 24%,#fff),var(--ombre-2)}
.cm-produit-visuel .vignette-vide{flex-direction:column;display:flex;align-items:center;justify-content:center;gap:.8rem}
.cm-sans-photo{position:relative;font-family:var(--titre);font-size:.78rem;font-weight:800;color:var(--c);background:#fff;padding:.25rem .8rem;border-radius:999px;box-shadow:0 2px 0 color-mix(in srgb,var(--c) 22%,#fff)}
.cm-produit-infos.carte{padding:clamp(1.2rem,3vw,1.9rem)}
.cm-produit-titre{font-size:clamp(1.5rem,2.8vw,2.2rem);margin-bottom:.5rem}
.cm-prix-bloc{padding:1rem 1.1rem;background:var(--fond);border:2px solid var(--filet);border-radius:var(--r);margin:.8rem 0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}
.cm-prix-bloc .aide{width:100%}
.cm-prix-bloc .bloc-prix{font-size:clamp(2rem,4vw,2.6rem)}
.cm-ou-points{display:flex;align-items:center;gap:.6rem;color:var(--gris-500);font-size:.9rem}
.cm-stock{display:flex;align-items:center;gap:.4rem;font-weight:700;font-size:.92rem;margin:.6rem 0 1rem}
.cm-stock.ok{color:var(--vert)}.cm-stock.bas{color:var(--or-texte)}.cm-stock.ko{color:var(--rouge)}
.cm-achat{display:flex;gap:.6rem;align-items:stretch}
.cm-achat .btn{flex:1}
.cm-qte input{width:84px!important;text-align:center;font-weight:700;min-height:56px}
.cm-ligne-qte .cm-qte input{min-height:38px;width:64px!important;padding:.3rem}
.cm-garanties{list-style:none;padding:0;margin:1.2rem 0;display:flex;flex-direction:column;gap:.55rem;font-size:.9rem;color:var(--texte)}
.cm-garanties li{display:flex;gap:.6rem;align-items:flex-start}
.cm-garanties li{align-items:center}
.cm-garanties .ic{color:var(--canard-700);background:var(--cyan-50);width:34px;height:34px;padding:7px;border-radius:11px;flex:none}
.cm-boutique-carte{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:var(--r-l);background:var(--cyan-50);border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100);text-decoration:none;color:inherit;transition:transform .15s}
.cm-boutique-carte:hover{transform:translateY(-2px);border-color:var(--cyan-200);color:inherit}
.cm-boutique-carte>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}
.cm-boutique-carte b{font-family:var(--titre);color:var(--encre)}
.cm-boutique-carte small{color:var(--gris-500);font-size:.78rem}

/* Panier et commande */
.cm-panier-groupe{margin-bottom:1.2rem}
.cm-panier-boutique{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;text-decoration:none;color:var(--encre)}
.cm-lignes{list-style:none;padding:0;margin:0}
.cm-ligne{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--filet)}
.cm-ligne:last-child{border-bottom:0}
.cm-ligne .vignette{aspect-ratio:1/1;border-radius:14px}
.cm-ligne .vignette-vide .ic{width:28px;height:28px}
.cm-ligne-simple{grid-template-columns:minmax(0,1fr) auto}
.cm-ligne-infos{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.cm-ligne-infos a{text-decoration:none;color:var(--encre)}
.cm-ligne-infos b{overflow-wrap:anywhere}
.cm-ligne-qte{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.3rem}
.cm-ligne-total{font-family:var(--titre);font-weight:900;color:var(--encre);white-space:nowrap}
.cm-totaux{border-top:2px solid var(--filet);margin:.6rem 0 1rem;padding-top:.8rem;display:flex;flex-direction:column;gap:.35rem;font-size:.93rem}
.cm-totaux>div{display:flex;justify-content:space-between;gap:1rem}
.cm-totaux span{color:var(--gris-600)}
.cm-totaux b{color:var(--encre);text-align:right}
.cm-total{font-size:1.05rem;padding-top:.3rem}
.cm-total b{font-family:var(--titre);font-weight:900;font-size:1.3rem;letter-spacing:-.02em}
.cm-total-points b{display:inline-flex;align-items:center;gap:.3rem;color:var(--or-texte);font-family:var(--titre);font-weight:900}
.cm-commande-grille{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.5rem;align-items:start}
.cm-recap{position:sticky;top:calc(var(--entete) + 16px)}
.cm-recap-lignes{list-style:none;padding:0;margin:0 0 .4rem;display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}
.cm-recap-lignes li{display:flex;justify-content:space-between;gap:1rem}
.cm-recap-lignes span{min-width:0;overflow-wrap:anywhere}
.cm-recap-lignes b{white-space:nowrap}
.cm-modes{display:flex;flex-direction:column;gap:.7rem}
.cm-mode{position:relative;display:flex!important;flex-direction:row!important;gap:.9rem;align-items:flex-start;border:2px solid var(--filet);border-radius:var(--r);padding:1rem;cursor:pointer;background:#fff;font-weight:500!important}
.cm-mode input{position:absolute;opacity:0;width:1px;height:1px}
.cm-mode{box-shadow:0 3px 0 var(--filet)}
.cm-mode:has(input:checked){border-color:var(--cyan);background:var(--cyan-50);box-shadow:0 3px 0 var(--canard-600)}
.cm-mode:has(input:focus-visible){outline:3px solid var(--cyan);outline-offset:2px}
.cm-mode.desactive{opacity:.6;cursor:not-allowed;background:var(--gris-50)}
.cm-mode-ic{width:44px;height:44px;border-radius:14px;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900);display:grid;place-items:center;flex:none}
.cm-mode b{display:block;font-family:var(--titre);color:var(--encre);font-size:1rem}
.cm-mode small{display:block;color:var(--gris-600);font-size:.85rem;line-height:1.45;margin-top:.15rem}

/* Suivi de commande */
.cm-suivi{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative;background:#fff;border-radius:var(--r-l);padding:1.2rem .6rem;border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100)}
.cm-suivi li{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;font-size:.8rem;font-weight:700;color:var(--gris-400);position:relative}
.cm-suivi li::before{content:"";position:absolute;top:17px;right:50%;width:100%;height:3px;background:var(--filet);z-index:0}
.cm-suivi li:first-child::before{display:none}
.cm-suivi li.fait::before,.cm-suivi li.actuel::before{background:var(--canard-600)}
.cm-suivi-pt{width:36px;height:36px;border-radius:50%;background:#fff;border:3px solid var(--filet);display:grid;place-items:center;font-family:var(--titre);font-weight:900;position:relative;z-index:1;color:var(--gris-400)}
.cm-suivi-pt .ic{width:18px;height:18px}
.cm-suivi li.fait{color:var(--canard-700)}
.cm-suivi li.fait .cm-suivi-pt{background:var(--canard-600);border-color:var(--canard-600);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.cm-suivi li.actuel{color:var(--encre)}
.cm-suivi li.actuel .cm-suivi-pt{background:var(--cyan);border-color:var(--cyan);color:#fff;box-shadow:0 0 0 6px rgba(26,188,212,.2)}
.cm-livreur{display:flex;gap:1rem;align-items:flex-start}
.cm-livreur .pastille-icone{margin:0}
.cm-commande-ligne{display:flex;align-items:center;gap:1rem;border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100)}
.cm-commande-ligne:hover{border-color:var(--cyan-200)}
.cm-commande-ligne .pastille-icone{margin:0;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.cm-commande-ligne>.ic{color:var(--gris-400)}
.cm-cl-corps{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.cm-cl-total{font-family:var(--titre);font-weight:900;color:var(--encre)}

/* Espace vendeur */
.cm-vp{display:flex;gap:1rem;align-items:flex-start;padding:1rem;border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100)}
.cm-vp>.vignette{width:84px;flex:none;aspect-ratio:1/1;border-radius:16px}
.cm-vp>.vignette-vide,.cm-ligne .vignette-vide{background:var(--c,var(--canard-700));color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--c,var(--canard-700)) 70%,#000)}
.cm-ligne .vignette-vide .ic{color:#fff}
.cm-vp>.vignette-vide .ic{color:#fff}
.cm-vp .vignette-vide .ic{width:30px;height:30px}
.cm-vp-corps{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}
.cm-vp-corps a{text-decoration:none;color:var(--encre)}
.cm-vp-corps .pastille{align-self:flex-start}
.cm-vp-corps .groupe-btn{gap:.3rem}
.cm-motif{display:flex;gap:.4rem;align-items:flex-start;font-size:.85rem;color:var(--rouge);margin:.2rem 0}
.cm-photo-produit{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1rem;align-items:start}
.cm-photo-produit .vignette{aspect-ratio:1/1}
.cm-boost-liste{list-style:none;padding:0;margin:0}
.cm-boost-liste li{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem 0;border-bottom:1px solid var(--filet)}
.cm-boost-liste li:last-child{border-bottom:0}
.cm-boost-liste li.choisi{background:var(--cyan-50);margin:0 -1rem;padding:.75rem 1rem;border-radius:12px}
.cm-boost-liste li>span{min-width:0}
.cm-boost-liste b{display:block;font-size:.92rem;overflow-wrap:anywhere}
.cm-boost-liste small{color:var(--gris-500);font-size:.78rem}

/* Administration */
.cm-ligne-serree{gap:.6rem;flex-wrap:nowrap}
.cm-file{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:1rem}
.cm-file-el{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.1rem;align-items:start;padding:1.1rem}
.cm-file-el .vignette{aspect-ratio:1/1}
.cm-file-corps{min-width:0}
.cm-extrait{color:var(--gris-600)}
.cm-file-actions{margin:.4rem 0 .6rem}
.cm-file-actions input{flex:1 1 150px;min-height:38px;padding:.35rem .7rem}
.cm-recherche-admin{box-shadow:var(--ombre-1);max-width:360px;width:100%}

/* ─── Adaptation ─── */
@media (max-width:1100px){
  .cm-filtres{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cm-filtres-makiti{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:960px){
  .cm-profil-grille,.cm-demande-grille,.cm-commande-grille{grid-template-columns:1fr}
  .cm-profil-aside,.cm-recap{position:static}
  .cm-heros-makiti-grille{grid-template-columns:1fr;gap:1.6rem}
  .cm-atouts{flex-direction:row;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:0 20px}
  .cm-atouts::-webkit-scrollbar{display:none}
  .cm-atouts li{flex:0 0 240px}
  .cm-produit-grille{grid-template-columns:1fr}
  .cm-produit-visuel{position:static;max-width:520px}
  .cm-panier-flottant{bottom:calc(84px + env(safe-area-inset-bottom))}
  .cm-file{grid-template-columns:1fr}
}
@media (max-width:640px){
  .cm-filtres{grid-template-columns:repeat(2,minmax(0,1fr));padding:.7rem}
  .cm-filtres .btn{grid-column:1/-1}
  .cm-filtres-makiti .cm-case-points{grid-column:1/-1;padding:.2rem .3rem}
  .cm-rep-grille{grid-template-columns:1fr}
  .cm-rep-carte{padding:1.15rem}
  .cm-portrait{width:60px;height:60px;border-radius:18px;font-size:1.2rem}
  .cm-portrait.grand{width:84px;height:84px;border-radius:22px;font-size:1.6rem}
  .cm-profil-tete{gap:1rem;align-items:flex-start}
  .cm-profil-titre{font-size:1rem!important}
  .cm-etat-grille{grid-template-columns:1fr}
  .cm-dl{grid-template-columns:1fr;gap:.1rem}
  .cm-dl dd{margin-bottom:.5rem}
  .cm-produits{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem .7rem}
  .cm-pc-ic{width:52px;height:52px;border-radius:16px}
  .cm-pc-ic .ic{width:25px!important;height:25px!important}
  .cm-pc-prix{justify-content:flex-start}
  .cm-compteurs{grid-template-columns:1fr 1fr;gap:.6rem}
  .cm-compteur{padding:.7rem;column-gap:.55rem}
  .cm-compteur>span{width:38px;height:38px;border-radius:12px}
  .cm-compteur b{font-size:1.15rem}
  .cm-cats .ile{flex-basis:118px}
  .cm-pc-corps{padding:.7rem .75rem .8rem}
  .cm-produit-carte h3{font-size:.9rem}
  .cm-pc-prix b{font-size:1.05rem}
  .cm-points{font-size:.7rem;padding:.1rem .4rem}
  .cm-atouts{margin:0 -16px;padding:0 16px}
  .cm-atouts li{flex-basis:220px}
  .cm-heros-makiti .recherche-bloc{padding-left:.9rem}
  .cm-heros-makiti .recherche-bloc .btn{padding:.6em 1em}
  .cm-achat .btn-large{padding:.8em 1em;font-size:.98rem}
  .cm-ligne{grid-template-columns:56px minmax(0,1fr);gap:.8rem}
  .cm-ligne-simple{grid-template-columns:minmax(0,1fr) auto}
  .cm-ligne>.cm-ligne-total{grid-column:2;justify-self:start}
  .cm-ligne-simple>.cm-ligne-total{grid-column:auto;justify-self:end}
  .cm-suivi{padding:1rem .2rem}
  .cm-suivi li{font-size:.7rem}
  .cm-suivi-pt{width:32px;height:32px}
  .cm-suivi li::before{top:15px}
  .cm-vp>.vignette{width:64px}
  .cm-photo-produit{grid-template-columns:90px minmax(0,1fr)}
  .cm-promo{align-items:flex-start}
  .cm-promo>.ic{display:none}
  .cm-resa{gap:.8rem}
  .cm-solde{flex-wrap:wrap}
  .cm-solde>.btn{width:100%}
  .cm-modalites{margin-bottom:.4rem}
  .cm-resa-date{width:56px}
  .cm-file-el{grid-template-columns:90px minmax(0,1fr);gap:.8rem}
  .cm-note-grande{padding:.4rem .9rem}
  .cm-recommande{top:10px;right:10px}
  .cm-rep-tete{padding-right:0}
  .cm-rep-carte.cm-avant .cm-rep-tete{padding-top:1.7rem}
}
.cm-panier-groupe .btn-large,.cm-recap .btn-large{white-space:normal;text-align:center}

/* ═══ Charte B « Le voyage du savoir » — compléments du module ═══ */
/* Bloc d'appel : surtitre lisible sur le dégradé */
.cm-appel .surtitre{color:#fff}
.cm-appel p{color:#F2FBFD}
/* Filtres Makiti : case « points » alignée */
.cm-case-points{display:flex!important;align-items:center!important;min-height:46px;padding:0 .8rem!important;border:2px solid var(--or-100);border-radius:14px;background:var(--or-50);color:var(--or-texte)!important;font-weight:700!important}
.cm-case-points input{flex:none!important;width:20px!important;height:20px!important;min-height:0!important;margin-top:0!important;accent-color:var(--or-600)}
/* Matières en pastilles colorées (couleur de la matière) */
.cm-mat{--c:var(--canard-700);display:inline-flex;align-items:center;gap:.35rem;padding:.24rem .7rem .24rem .5rem;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1.5;white-space:nowrap;color:color-mix(in srgb,var(--c) 82%,#000);background:color-mix(in srgb,var(--c) 11%,#fff);border:1.5px solid color-mix(in srgb,var(--c) 24%,#fff)}
.cm-mat::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.cm-mat.grand{font-size:.86rem;padding:.4rem .95rem .4rem .7rem;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 22%,#fff)}
.cm-mat.grand::before{width:10px;height:10px}
/* Sceau « vérifié » posé sur le portrait */
.cm-portrait-cadre{position:relative;flex:none;display:inline-block}
.cm-sceau{position:absolute;right:-6px;bottom:-6px;width:26px;height:26px;border-radius:50%;background:var(--vert);color:#fff;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 2px 6px rgba(6,74,96,.25)}
.cm-sceau .ic{width:14px;height:14px;stroke-width:3.2}
.cm-portrait.grand+.cm-sceau{width:36px;height:36px;right:-8px;bottom:-8px}
.cm-portrait.grand+.cm-sceau .ic{width:19px;height:19px}
.cm-rep-carte .cm-verifie{background:var(--vert-50);padding:.15rem .6rem;border-radius:999px}
/* Compteurs des tableaux de bord (même esprit que .ap-compteur) */
.cm-compteurs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.cm-compteur{--c:var(--canard-700);display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.75rem;row-gap:.1rem;align-items:center;background:#fff;border-radius:20px;padding:.85rem .95rem;border:2px solid color-mix(in srgb,var(--c) 16%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 22%,#fff);text-decoration:none;color:var(--encre);transition:transform .15s;min-width:0}
a.cm-compteur:hover{transform:translateY(-2px);color:var(--encre);border-color:color-mix(in srgb,var(--c) 35%,#fff)}
.cm-compteur>span{grid-row:1/3;width:44px;height:44px;border-radius:14px;background:var(--c);color:#fff;display:grid;place-items:center;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.cm-compteur>span .ic{width:22px;height:22px}
.cm-compteur b{align-self:end;font-family:var(--titre);font-weight:900;font-size:1.45rem;line-height:1.05;letter-spacing:-.02em;overflow-wrap:anywhere}
.cm-compteur b i{font-style:normal;font-size:.62em;font-weight:800;color:var(--gris-500);letter-spacing:0}
.cm-compteur small{align-self:start;font-size:.76rem;line-height:1.25;color:var(--gris-600)}
.cm-compteur small em{font-style:normal;font-weight:800;color:var(--or-texte)}
.cm-compteur.or{--c:var(--or)}
.cm-compteur.or b{color:var(--or-texte)}
/* Tablette : îles défilantes, sans débordement de page */
@media (max-width:1100px){
  .cm-cats{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 -20px 1.6rem;padding:.2rem 20px .8rem}
  .cm-cats::-webkit-scrollbar{display:none}
  .cm-cats .ile{flex:0 0 132px}
  .cm-compteurs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .cm-cats{margin:0 -16px 1.4rem;padding:.2rem 16px .8rem}
  .cm-filtres-makiti select{padding-left:.75rem;padding-right:2.1rem;background-position:right .75rem center;font-size:15px}
  .cm-filtres-makiti select:first-of-type{grid-column:1/-1}
  .cm-filtres-makiti .cm-case-points{grid-column:auto!important;justify-content:center}
  .cm-filtres-makiti .btn{grid-column:auto}
}
/* Bandeau d'accueil des espaces pro : Karamö entier (tête visible) */
.cm-bienvenue .karamo{top:14px;bottom:auto;width:104px}
@media (max-width:640px){.cm-bienvenue .karamo{width:84px;top:16px}}
/* Grilles du module : jamais plus larges que l'écran (le bloc de paiement commun peut contenir un long texte) */
.cm-aligne-haut>*{min-width:0}
.cm-aligne-haut .numero{white-space:normal;flex-wrap:wrap;max-width:100%}
@media (max-width:640px){.grille-2.cm-aligne-haut{grid-template-columns:minmax(0,1fr)}}
.cm-aligne-haut .paiement .btn{white-space:normal;text-align:center}
.cm-tableau-cmd td a b{white-space:nowrap}
@media (max-width:640px){.cm-tableau-cmd td:first-child{flex-wrap:wrap;align-items:baseline}.cm-tableau-cmd td:first-child small{flex-basis:100%}}
.cm-file-el .vignette-vide{background:color-mix(in srgb,var(--c,var(--canard-700)) 12%,#fff);color:var(--c,var(--canard-700))}
.cm-portrait img[hidden],.cm-photo-produit img[hidden]{display:none}
/* 1.8.4 — plus de livraison : contact direct du vendeur sur WhatsApp */
.cm-wa-bloc{display:flex;flex-direction:column;gap:.45rem;margin:1rem 0 .9rem}
.cm-wa-bloc .btn-whatsapp{white-space:normal;text-align:center;justify-content:center}
.cm-wa-commande{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;border:2px solid #BFE8CF;background:#F1FBF5}
.cm-wa-commande>div{flex:1 1 260px;min-width:0}
.cm-wa-commande .pastille-icone{margin:0;background:#1FA855;color:#fff}
.cm-wa-commande .btn-whatsapp{white-space:normal;text-align:center}
.cm-commande-bloc{display:flex;flex-direction:column;gap:.5rem}
.cm-cl-wa{align-self:flex-start;white-space:normal}
.cm-remise-info{margin:0}
.cm-wa-obligatoire{border:2px solid #BFE8CF;background:#F1FBF5}
.cm-wa-manque{border:2px solid var(--or-400)}
@media (max-width:640px){.cm-wa-commande .btn-whatsapp,.cm-cl-wa{width:100%;justify-content:center}}
.cm-profil-infos a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* confiance.css */
/* ═══════════════ CONFIANCE, COMPTE ET AIDE (1.8.0) — charte B, préfixe ca- ═══════════════ */

/* ─── Bandeau d'annonce (haut du site et des espaces) ─── */
.ca-bandeau{--c:var(--canard-700);--f:var(--cyan-50);background:var(--f);border-bottom:1px solid color-mix(in srgb,var(--c) 22%,#fff);color:var(--encre)}
.ca-bandeau.ton-or{--c:var(--or-texte);--f:var(--or-50)}
.ca-bandeau.ton-alerte{--c:var(--rouge);--f:var(--rouge-50)}
.ca-bandeau-in{max-width:var(--largeur);margin:0 auto;padding:.55rem 20px;display:flex;align-items:center;gap:.7rem;font-size:.9rem;line-height:1.4}
.ca-bandeau-in>.ic{color:var(--c);width:1.25em;height:1.25em;flex:none}
.ca-bandeau-in p{margin:0;flex:1;min-width:0;overflow-wrap:anywhere}
.ca-bandeau-lien{font-weight:800;color:var(--c);white-space:nowrap}
.ca-bandeau-fermer{flex:none;width:36px;height:36px;border-radius:12px;border:0;background:transparent;color:var(--c);display:grid;place-items:center;cursor:pointer}
.ca-bandeau-fermer:hover{background:color-mix(in srgb,var(--c) 10%,transparent)}
.corps-espace .ca-bandeau-in{max-width:none}

/* ─── Page de maintenance ─── */
.ca-corps-maintenance{min-height:100vh;background:var(--degrade-profond);display:grid;place-items:center;padding:20px}
.ca-maintenance{width:100%;max-width:560px}
.ca-maintenance-carte{background:#fff;border-radius:var(--r-xl);padding:clamp(1.6rem,5vw,2.8rem);text-align:center;box-shadow:var(--ombre-3)}
.ca-maintenance-logo{height:52px;width:auto;margin:0 auto 1rem}
.ca-maintenance-karamo{width:170px;height:auto;margin:0 auto .6rem}
.ca-maintenance h1{font-size:clamp(1.6rem,5vw,2.2rem)}
.ca-maintenance-fin{display:inline-flex;align-items:center;gap:.4rem;background:var(--cyan-50);color:var(--canard-800);font-weight:700;border-radius:999px;padding:.4rem .9rem}

/* ─── Bouton « Continuer avec Google » ─── */
.ca-google{margin-top:1rem;display:grid;gap:.8rem}
.ca-google-ou{display:flex;align-items:center;gap:.8rem;color:var(--gris-500);font-size:.85rem}
.ca-google-ou::before,.ca-google-ou::after{content:"";flex:1;border-top:1px solid var(--filet)}
.ca-google-btn{display:flex;align-items:center;justify-content:center;gap:.7rem;min-height:48px;border:1px solid #DADCE0;border-radius:14px;background:#fff;color:#1F1F1F;font-weight:600;text-decoration:none;box-shadow:0 2px 0 var(--filet);font-family:var(--corps)}
.ca-google-btn:hover{background:#F8FAFB;color:#1F1F1F}
.ca-g{width:20px;height:20px;flex:none}

/* ─── Badge « Identité vérifiée » / « Vendeur vérifié » ─── */
.ca-badge-id{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;font-weight:800;color:var(--vert);background:var(--vert-50);border-radius:999px;padding:.15rem .6rem;white-space:nowrap;font-family:var(--titre);letter-spacing:.01em}
.ca-badge-id .ic{width:1em;height:1em}
.ca-badge-id.clair{background:#fff;padding:.3rem .8rem;box-shadow:0 3px 0 rgba(6,74,96,.25)}
.ca-badges{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.cm-filtres .ca-filtre-id{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.9rem;white-space:nowrap;min-height:44px}
.cm-filtres .ca-filtre-id input{width:20px;height:20px;accent-color:var(--vert)}

/* ─── Mon profil : blocs ajoutés ─── */
.ca-serie-choix{grid-template-columns:repeat(3,minmax(0,1fr))}
.ca-serie-choix label{padding:.7rem .5rem}
.ca-serie-choix label b{display:block;font-family:var(--titre);font-size:1.1rem}
.ca-serie-choix label small{display:block;font-size:.72rem;line-height:1.25}
.ca-lien-carte{display:flex;align-items:center;gap:.9rem;text-decoration:none;color:inherit}
.ca-lien-carte>.ic{margin-left:auto;color:var(--gris-400)}
.ca-lien-texte{display:grid;min-width:0}
.ca-lien-texte b{font-family:var(--titre);color:var(--encre)}
.ca-lien-texte small{color:var(--gris-600)}
.ca-securite h3,.ca-aide-bloc h3{margin-bottom:.4rem}
.ca-google-lie form{margin:0}

/* ─── Mes appareils ─── */
.ca-appareils-liste{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.ca-appareils-liste li{display:flex;align-items:center;gap:.9rem;padding:.8rem .3rem;border-bottom:1px solid var(--filet)}
.ca-appareils-liste li:last-child{border-bottom:0}
.ca-appareils-liste li.ici{background:var(--vert-50);border-radius:14px;padding:.8rem}
.ca-appareils-liste form{margin:0 0 0 auto}
.ca-app-txt{min-width:0;flex:1}
.ca-app-txt b{color:var(--encre)}
.ca-app-txt small{display:block}

/* ─── Mon identité ─── */
.ca-id-ok,.ca-id-attente{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.2rem}
.ca-id-ok h2,.ca-id-attente h2{font-size:1.25rem}
.ca-id-grille{align-items:start}
.ca-id-form h2{font-size:1.15rem;margin-bottom:.2rem}
.ca-fichier{background:var(--gris-50);border:2px dashed var(--gris-200);border-radius:var(--r);padding:.8rem .9rem}
.ca-fichier input[type=file]{background:#fff;max-width:100%}
.ca-deja{display:flex;align-items:center;gap:.35rem;color:var(--vert);font-weight:600}
.ca-deja .ic{width:1em;height:1em}
.ca-id-grille .liste-coches li{font-size:.94rem}

/* ─── Direction : examen d'une identité ─── */
.ca-examen{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1.2rem;align-items:start}
.ca-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem .9rem;margin:0 0 1rem}
.ca-dl dt{color:var(--gris-600);font-size:.85rem}
.ca-dl dd{margin:0;overflow-wrap:anywhere}
.ca-ecart{display:inline-flex;align-items:center;gap:.3rem;color:var(--or-texte);font-weight:600}
.ca-examen-pieces{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.ca-piece{margin:0;padding:.8rem}
.ca-piece figcaption{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem}
.ca-piece img{width:100%;max-height:420px;object-fit:contain;background:var(--gris-50);border-radius:12px}
.ca-piece-pdf{display:flex;align-items:center;gap:.5rem;justify-content:center;min-height:160px;background:var(--gris-50);border-radius:12px;font-weight:700}

/* ─── Aide et support ─── */
.ca-guides-rapides{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.7rem;margin-bottom:1.4rem}
.ca-guide-mini{--c:var(--canard-700);display:flex;align-items:center;gap:.7rem;background:#fff;border:2px solid color-mix(in srgb,var(--c) 18%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 25%,#fff);border-radius:18px;padding:.7rem .8rem;text-decoration:none;color:var(--encre);font-weight:700;font-size:.92rem;line-height:1.25;transition:transform .15s}
.ca-guide-mini:hover{transform:translateY(-2px);color:var(--encre)}
.ca-guide-mini.tous{--c:var(--gris-500)}
.ca-guide-ic{width:40px;height:40px;border-radius:13px;background:var(--c,var(--canard-700));color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 3px 0 color-mix(in srgb,var(--c,#0B7FA0) 60%,#000)}
.ca-guide-ic .ic{width:21px;height:21px}
.ca-guide-ic.grand{width:60px;height:60px;border-radius:18px;margin-bottom:.8rem;background:rgba(255,255,255,.2);box-shadow:none}
.ca-guide-ic.grand .ic{width:30px;height:30px}
.ca-support{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.2rem;align-items:start}
.ca-support.seul{grid-template-columns:minmax(0,760px)}
.ca-support:not(:has(form)){grid-template-columns:minmax(0,1fr)}
.ca-tickets .el{align-items:center}
.ca-tk-etat{margin-left:auto;display:grid;justify-items:end;gap:.2rem;flex:none}
.ca-reponse{display:inline-flex;align-items:center;gap:.25rem;color:var(--vert);font-weight:700}
.ca-reponse .ic{width:1em;height:1em}
.ca-cats{border:0;padding:0;margin:0}
.ca-cats legend{font-weight:600;margin-bottom:.5rem;padding:0}
.ca-cats .choix-cartes{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ca-cats .choix-cartes label{display:flex;padding:.7rem;font-size:.88rem;text-align:left}
.ca-cats .choix-cartes label span{display:flex;align-items:center;gap:.5rem}
.ca-cats .choix-cartes label .ic{width:20px;height:20px;flex:none}

/* ─── Fils (demandes d'aide, discussions) ─── */
.ca-fil{display:flex;flex-direction:column;gap:.8rem}
.ca-bulle{max-width:min(620px,88%);border-radius:18px;padding:.7rem .95rem;background:var(--gris-50);border:1px solid var(--filet)}
.ca-bulle.moi{align-self:flex-end;background:var(--cyan-50);border-color:var(--cyan-100);border-bottom-right-radius:6px}
.ca-bulle.equipe{align-self:flex-start;border-bottom-left-radius:6px}
.ca-bulle-tete{font-size:.84rem;margin-bottom:.2rem}
.ca-bulle-texte{overflow-wrap:anywhere;white-space:normal}
.ca-bulle-texte .ic{width:1em;height:1em}
.ca-bulle-pied{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.3rem;flex-wrap:wrap}
.ca-piece-jointe{display:inline-flex;align-items:center;gap:.35rem;margin-top:.4rem;font-weight:700;font-size:.9rem}
.ca-ticket-admin{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.2rem;align-items:start}
.ca-case-sms{align-self:end}

/* ─── Centre d'aide public ─── */
.ca-aide-heros h1{max-width:760px}
.ca-aide-recherche{display:flex;gap:.6rem;margin-top:1.3rem;max-width:620px}
.ca-aide-recherche input{flex:1;min-width:0;min-height:52px;border-radius:16px;border:0;padding:0 1.1rem;font-size:1rem;box-shadow:0 4px 0 rgba(6,74,96,.25)}
.ca-aide-recherche .btn{min-height:52px}
.ca-aide-profils{margin-bottom:1.4rem}
.ca-aide-profils a .ic{width:1.05em;height:1.05em}
.ca-guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.ca-guide{--c:var(--canard-700);display:flex;flex-direction:column;gap:.7rem;text-decoration:none;color:inherit;border:2px solid color-mix(in srgb,var(--c) 18%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 25%,#fff);transition:transform .15s}
.ca-guide:hover{transform:translateY(-3px);color:inherit}
.ca-guide-txt{display:grid;gap:.25rem}
.ca-guide-txt b{font-family:var(--titre);font-weight:800;color:var(--encre);font-size:1.05rem;line-height:1.2}
.ca-guide-txt small{color:var(--gris-600);font-size:.9rem;line-height:1.45}
.ca-guide-pied{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:.84rem;font-weight:700;color:var(--c)}
.ca-aucun{margin-top:1rem}
.ca-aide-appel{display:flex;gap:1.2rem;align-items:flex-start;margin-top:2.2rem}
.ca-aide-appel h2{color:#fff}
.ca-aide-appel p{color:#E6F7FA}
.ca-guide-heros .fil a{color:#fff}
.ca-pour{margin-top:.8rem!important;display:flex;flex-wrap:wrap;gap:.4rem}
.ca-pour .pastille{background:rgba(255,255,255,.18);color:#fff;border-color:transparent}
.ca-guide-corps{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.6rem;align-items:start}
.ca-h2{font-size:1.35rem}
.ca-etapes{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;gap:.8rem}
.ca-etapes li{display:flex;gap:.9rem;align-items:flex-start;background:#fff;border:1px solid var(--filet);border-radius:var(--r);padding:.9rem 1rem;box-shadow:var(--ombre-1)}
.ca-etapes li p{margin:0;padding-top:.15rem}
.ca-etapes .puce-num{flex:none}
.ca-savoir h3{display:flex;align-items:center;gap:.4rem}
.ca-savoir h3 .ic{color:var(--or-600)}

/* ─── Discussions ─── */
.ca-convs .el{align-items:center}
.ca-convs .el.non-lu b{color:var(--canard-800)}
.ca-conv-txt{display:grid;min-width:0;flex:1}
.ca-conv-txt span,.ca-conv-txt small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ca-conv-meta{display:grid;justify-items:end;gap:.25rem;flex:none}
.ca-badge-n{background:var(--rouge);color:#fff;font-size:.7rem;font-weight:800;border-radius:999px;padding:.05rem .5rem;min-width:22px;text-align:center}
.ca-possible{margin:0;align-items:center}
.ca-possible>span:not(.pic){flex:1;min-width:0}
.ca-disc{min-height:200px;max-height:62vh;overflow-y:auto;overscroll-behavior:contain}
.ca-disc-form textarea{min-height:84px}
.ca-disc-form .ligne-entre{flex-wrap:wrap;gap:.6rem}
.ca-signaler summary{cursor:pointer;font-size:.8rem;color:var(--gris-600);list-style:none;display:inline-flex;align-items:center;gap:.25rem;min-height:32px}
.ca-signaler summary::-webkit-details-marker{display:none}
.ca-signaler summary .ic{width:1em;height:1em}
.ca-signaler[open]{flex-basis:100%}
.ca-signaler .form{margin-top:.5rem;background:#fff;border-radius:14px;padding:.7rem;border:1px solid var(--filet)}
.ca-signalement .ca-contexte{display:grid;gap:.4rem;margin-top:.6rem}
.ca-ctx{background:var(--gris-50);border-radius:12px;padding:.5rem .7rem;font-size:.92rem;overflow-wrap:anywhere}
.ca-ctx.cible{background:var(--rouge-50);border:1px solid color-mix(in srgb,var(--rouge) 30%,#fff)}

/* ─── Réglages de la direction ─── */
.ca-ancres{margin-bottom:1rem}
.ca-reglage{scroll-margin-top:90px}
.ca-reglage h2{font-size:1.2rem}
.ca-etapes-admin{margin:0 0 1rem;padding-left:1.2rem;display:grid;gap:.5rem;font-size:.94rem}
.ca-code{display:inline-block;background:var(--gris-50);border:1px solid var(--filet);border-radius:8px;padding:.1rem .45rem;font-size:.85rem;overflow-wrap:anywhere;word-break:break-all}
.ca-apercu{border:1px dashed var(--gris-200);border-radius:14px;padding:.5rem;display:grid;gap:.3rem}
.ca-choix-profil{grid-template-columns:repeat(2,minmax(0,1fr))}
.ca-choix-profil label span{display:flex;flex-direction:column;align-items:center;gap:.3rem}

/* ─── Cloche : panneau des dernières notifications ─── */
.ca-cloche-panneau{position:fixed;z-index:990;top:74px;right:16px;width:min(380px,calc(100vw - 32px));max-height:min(70vh,520px);overflow:auto;background:#fff;border-radius:var(--r-l);box-shadow:var(--ombre-3);border:1px solid var(--filet);padding:.6rem}
.ca-cloche-panneau h3{display:flex;justify-content:space-between;align-items:center;font-size:1rem;margin:.3rem .5rem .4rem}
.ca-cloche-panneau h3 a{font-size:.84rem;font-family:var(--corps);font-weight:700}
.ca-cloche-panneau .el{padding:.65rem .5rem}
.ca-cloche-panneau .el.non-lu{background:var(--cyan-50)}
.ca-cloche-panneau .vide-cloche{padding:1.2rem .5rem;text-align:center;color:var(--gris-600)}

/* ─── Visite guidée (sans bibliothèque) ─── */
.ca-visite{position:fixed;inset:0;z-index:1000;background:rgba(6,40,52,.55);display:grid;place-items:end center;padding:16px}
.ca-visite-carte{width:min(460px,100%);background:#fff;border-radius:var(--r-xl);padding:1.5rem 1.4rem 1.2rem;box-shadow:var(--ombre-3);animation:ca-monte .25s ease-out}
.ca-visite-ic{width:58px;height:58px;border-radius:18px;background:var(--degrade);color:#fff;display:grid;place-items:center;box-shadow:0 4px 0 var(--canard-900);margin-bottom:.9rem}
.ca-visite-ic .ic{width:28px;height:28px}
.ca-visite-carte h2{font-size:1.3rem;margin-bottom:.4rem}
.ca-visite-carte p{color:var(--texte)}
.ca-visite-points{display:flex;gap:.35rem;margin:.2rem 0 1rem}
.ca-visite-points i{width:8px;height:8px;border-radius:50%;background:var(--gris-200)}
.ca-visite-points i.actif{background:var(--canard-600);width:22px;border-radius:6px}
.ca-visite-actions{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
@keyframes ca-monte{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media (min-width:700px){.ca-visite{place-items:center}}
@media (prefers-reduced-motion:reduce){.ca-visite-carte{animation:none}}

/* ─── Téléphone ─── */
@media (max-width:900px){
  .ca-examen,.ca-support,.ca-ticket-admin,.ca-guide-corps{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .ca-bandeau-in{padding:.5rem 16px;font-size:.86rem}
  .ca-appareils-liste li{flex-wrap:wrap}
  .ca-appareils-liste form{margin-left:calc(44px + .9rem)}
  .ca-app-txt{flex-basis:calc(100% - 44px - .9rem)} /* 1.8.0 (intégration) : le texte garde toute la largeur, le bouton passe dessous */
  .ca-id-ok,.ca-id-attente,.ca-aide-appel{flex-direction:column}
  .ca-guides-rapides{grid-template-columns:minmax(0,1fr)}
  .ca-tickets .el{flex-wrap:wrap}
  .ca-tk-etat{margin-left:calc(42px + .9rem);justify-items:start}
  .ca-bulle{max-width:94%}
  .ca-cloche-panneau{top:70px;right:8px;width:calc(100vw - 16px)}
  .ca-serie-choix label small{display:none}
  .ca-disc{max-height:58vh}
}

/* ─── Lien vers le centre d'aide (page Contact) ─── */
.ca-lien-aide{margin-top:.8rem!important}
.ca-lien-aide a{display:inline-flex;align-items:center;gap:.4rem;color:#fff;font-weight:700;background:rgba(255,255,255,.16);border-radius:999px;padding:.35rem .9rem;text-decoration:none}
.ca-lien-aide a:hover{background:rgba(255,255,255,.26);color:#fff}
.ca-signalement .ligne-entre{flex-wrap:wrap;gap:.4rem}
.ca-signalement .pastille{white-space:normal;max-width:100%;height:auto}
@media (max-width:600px){.ca-visite{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}

/* connexions.css */
/* ═══════════════════════════════════════════════════════════════
   CONNEXIONS — Administration ▸ Connexions (SMS, WhatsApp Business, paiement),
   vérification du téléphone, encadré d'envoi WhatsApp des bulletins.
   Toutes les classes sont préfixées .cx-
   ═══════════════════════════════════════════════════════════════ */

/* ─── Résumé des trois services ─── */
.cx-resume{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1.2rem}
.cx-carte{--c:var(--canard-600);display:flex;gap:.85rem;align-items:flex-start;background:#fff;border:2px solid color-mix(in srgb,var(--c) 16%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 22%,#fff);border-radius:22px;padding:1rem 1.05rem;text-decoration:none;color:inherit;min-width:0;transition:transform .18s,border-color .18s}
.cx-carte:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--c) 34%,#fff);color:inherit}
.cx-ic{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--c);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.cx-ic .ic{width:22px;height:22px}
.cx-carte-txt{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0}
.cx-carte-txt b{font-family:var(--titre);font-weight:800;font-size:1.02rem;color:var(--encre);line-height:1.2}
.cx-carte-txt small{font-size:.8rem;color:var(--gris-600);line-height:1.35}
.cx-etat .ic{width:14px;height:14px}

/* ─── Panneau d'un service ─── */
.cx-service{margin-bottom:1.1rem;scroll-margin-top:90px}
.cx-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}
.cx-tete h2{font-size:1.2rem;margin:0;display:flex;align-items:center;gap:.55rem}
.cx-tete h2 .ic{color:var(--canard-600)}
.cx-tete p{margin:.25rem 0 0;font-size:.88rem;color:var(--gris-600);max-width:640px}
.cx-achat{display:flex;gap:.75rem;align-items:flex-start;background:var(--cyan-50);border:1px solid color-mix(in srgb,var(--cyan) 22%,#fff);border-radius:16px;padding:.85rem 1rem;margin-bottom:1.1rem;font-size:.9rem;line-height:1.5}
.cx-achat>.ic{flex:none;color:var(--canard-700);margin-top:.15rem}
.cx-achat b{display:block;font-family:var(--titre);font-weight:800;color:var(--canard-800);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.15rem}
.cx-duo{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:1.2rem;align-items:start}
.cx-bloc{border:1px solid var(--filet);border-radius:18px;padding:1rem 1.05rem;margin:0;min-width:0;background:#fff}
.cx-bloc h3,.cx-bloc legend{font-size:.98rem;font-weight:800;margin:0 0 .7rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:space-between;width:100%}
.cx-bloc legend{padding:0 .3rem;width:auto;justify-content:flex-start}
.cx-bloc .lien-fleche .ic{width:14px;height:14px}
.cx-form{gap:1rem}
.cx-pilotes{border:0;padding:0;margin:0;min-width:0}
.cx-pilotes legend{font-weight:700;font-size:.9rem;margin-bottom:.5rem;padding:0}
.cx-pilotes .choix-cartes{grid-template-columns:repeat(4,minmax(0,1fr))}
.cx-pilotes .choix-cartes label{padding:.8rem .5rem;font-size:.9rem;gap:.25rem}
.cx-pilotes .choix-cartes label .ic{width:24px;height:24px}
/* Seuls les champs du prestataire choisi sont affichés */
.cx-p-http,.cx-p-orange,.cx-p-twilio{display:none}
.cx-form:has(input[name=sms_pilote][value=http]:checked) .cx-p-http,
.cx-form:has(input[name=sms_pilote][value=orange]:checked) .cx-p-orange,
.cx-form:has(input[name=sms_pilote][value=twilio]:checked) .cx-p-twilio{display:block}
.cx-form:has(input[name=sms_pilote][value=""]:checked) .cx-commun{display:none}
@supports not selector(:has(*)){.cx-p-http,.cx-p-orange,.cx-p-twilio{display:block}}
.cx-form textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem}
.cx-garde{display:inline-flex;align-items:center;gap:.3rem;color:var(--vert);font-weight:700}
.cx-garde .ic{width:13px;height:13px}

/* ─── Colonne « tester + journal » ─── */
.cx-cote{display:flex;flex-direction:column;gap:.9rem;min-width:0;background:var(--gris-50);border-radius:20px;padding:1rem}
.cx-cote h3{font-size:.98rem;margin:0;display:flex;align-items:center;gap:.5rem}
.cx-cote h3 .ic{color:var(--canard-600);width:18px;height:18px}
.cx-test{background:#fff;border-radius:16px;padding:.95rem;border:1px solid var(--filet);gap:.7rem}
.cx-test .btn[disabled]{opacity:.5;cursor:not-allowed}
.cx-test-modele{gap:.6rem}
.cx-compteur{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem}
.cx-compteur div{background:#fff;border-radius:14px;padding:.7rem .75rem;border:1px solid var(--filet);min-width:0}
.cx-compteur b{display:block;font-family:var(--titre);font-weight:900;font-size:1.35rem;color:var(--canard-800);line-height:1.1}
.cx-compteur span{font-size:.74rem;color:var(--gris-600);line-height:1.3;display:block}
.cx-compteur .ko b{color:var(--rouge)}
.cx-sous{margin-top:.2rem!important}
.cx-journal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.cx-journal li{display:flex;gap:.55rem;align-items:flex-start;background:#fff;border-radius:12px;padding:.5rem .65rem;font-size:.8rem;line-height:1.4;min-width:0}
.cx-j-ic{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--vert-50);color:var(--vert)}
.cx-j-ic .ic{width:13px;height:13px}
.cx-journal li.ko .cx-j-ic{background:var(--rouge-50);color:var(--rouge)}
.cx-j-txt{min-width:0;overflow-wrap:anywhere}
.cx-j-txt b{font-variant-numeric:tabular-nums;white-space:nowrap}
.cx-j-txt small{display:block;color:var(--rouge);margin-top:.1rem}
.cx-effacer{color:var(--rouge);border-color:color-mix(in srgb,var(--rouge) 30%,#fff)}

/* ─── Aide dépliable ─── */
.cx-aide{margin-top:1rem;border-top:1px dashed var(--filet);padding-top:.8rem;font-size:.88rem}
.cx-aide summary{cursor:pointer;font-weight:700;color:var(--canard-700);display:flex;align-items:center;gap:.45rem;min-height:44px}
.cx-aide summary .ic{width:18px;height:18px}
.cx-aide ol{padding-left:1.2rem;margin:.4rem 0 .6rem;line-height:1.6}
.cx-exemple{background:var(--gris-50);border-left:3px solid #1FA855;border-radius:10px;padding:.7rem .9rem;margin:.5rem 0;font-size:.88rem}
.cx-exemple-inline{background:var(--gris-50);border-radius:6px;padding:.1rem .35rem}
.cx-variables{display:flex;flex-direction:column;gap:.35rem;margin-top:.8rem;line-height:1.7}

/* ─── Usages ─── */
.cx-usages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}
.cx-actif{margin-top:.45rem;display:inline-flex;align-items:center;gap:.3rem}
.cx-actif .ic{width:14px;height:14px}
.cx-usage{background:var(--gris-50);border-radius:16px;padding:.9rem 1rem!important;min-width:0;line-height:1.45}
.cx-usage-select{display:flex;flex-direction:column;gap:.6rem;font-weight:500}
.cx-usage-select .aide{display:block;margin-top:.2rem}
.cx-inactif{margin-top:.5rem}
.cx-inactif .ic{width:13px;height:13px}
.cx-attention{display:flex;gap:.35rem;align-items:flex-start;color:var(--or-texte)!important}
.cx-attention .ic{width:14px;height:14px;flex:none;margin-top:.15rem}

/* ─── Paiement automatique ─── */
.cx-etapes-pay{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:1rem;margin-bottom:1rem}
.cx-etapes-pay h3{font-size:1rem;display:flex;align-items:center;gap:.5rem;margin:0 0 .6rem}
.cx-etapes-pay h3 .ic{color:var(--canard-600)}
.cx-maintenant{background:var(--gris-50);border-radius:18px;padding:1rem 1.1rem;font-size:.9rem;line-height:1.55}
.cx-maintenant p{margin:0}
.cx-demain{border:2px dashed color-mix(in srgb,var(--or) 45%,#fff);border-radius:18px;padding:1rem 1.1rem;font-size:.9rem;line-height:1.5}
.cx-demain .etapes{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.7rem}
.cx-demain .etape{display:flex;gap:.7rem;align-items:flex-start}
.cx-demain .puce-num{flex:none}
.cx-pay-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.cx-bientot{display:flex;flex-direction:column;gap:.7rem;background:linear-gradient(180deg,#fff,var(--or-50))}
.cx-bientot legend .pastille{font-size:.7rem}

/* ─── Options avancées ─── */
.cx-avance summary{cursor:pointer;font-weight:800;display:flex;align-items:center;gap:.5rem;min-height:44px}
.cx-avance summary .ic{color:var(--gris-500)}
.cx-avance[open] summary{margin-bottom:.6rem}

/* ─── Pages publiques : inscription, vérification, mot de passe oublié ─── */
.cx-aide-sms{display:flex!important;align-items:center;gap:.35rem;color:var(--canard-700)!important;font-weight:600!important;margin-top:.2rem}
.cx-aide-sms .ic{width:15px;height:15px;flex:none}
.cx-autre-canal{border-top:1px solid var(--filet);padding-top:.6rem}
.cx-autre-canal summary{cursor:pointer;font-weight:600;color:var(--canard-700);font-size:.92rem;min-height:44px;display:flex;align-items:center}
.cx-renvoi{margin-top:.8rem;display:flex;justify-content:center}
.cx-code{font-family:var(--titre);font-weight:900;font-size:1.7rem!important;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}
.cx-verif-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.cx-verif-actions form{margin:0}

/* ─── Encadré « Envoyer à tous les parents par WhatsApp » (espace école) ─── */
.cx-wa-auto{background:#fff;border:2px solid color-mix(in srgb,#1FA855 22%,#fff);box-shadow:0 4px 0 color-mix(in srgb,#1FA855 26%,#fff);border-radius:var(--r-l);padding:1.2rem 1.25rem;margin-bottom:1.2rem;display:flex;flex-direction:column;gap:.9rem}
.cx-wa-tete{display:flex;gap:.9rem;align-items:flex-start}
.cx-wa-ic{flex:none;width:48px;height:48px;border-radius:15px;background:#1FA855;color:#fff;display:grid;place-items:center;box-shadow:0 3px 0 #168043}
.cx-wa-ic .ic{width:24px;height:24px}
.cx-wa-tete h2{font-size:1.15rem;margin:0 0 .25rem}
.cx-wa-tete p{margin:0;font-size:.9rem;color:var(--gris-600)}
.cx-wa-chiffres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.cx-wa-chiffres div{background:#EEF9F2;border-radius:14px;padding:.7rem .85rem;min-width:0}
.cx-wa-chiffres b{display:block;font-family:var(--titre);font-weight:900;font-size:1.45rem;color:#146b3a;line-height:1.1}
.cx-wa-chiffres span{font-size:.8rem;color:var(--gris-600)}
.cx-wa-note{display:flex;gap:.4rem;align-items:flex-start;margin:0}
.cx-wa-note .ic{width:15px;height:15px;flex:none;margin-top:.15rem}
.cx-wa-form{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.cx-wa-form .btn{min-height:48px}
.cx-wa-progres .barre{height:12px}
.cx-wa-progres .barre i{background:#1FA855;transition:width .3s}
.cx-wa-etat{margin:.5rem 0 0;font-weight:700;font-size:.92rem}
.cx-wa-erreurs{margin:.4rem 0 0;padding-left:1.1rem;font-size:.82rem;color:var(--rouge)}
.cx-wa-erreurs:empty{display:none}

/* ─── Téléphone et tablette ─── */
@media (max-width:1100px){
  .cx-duo{grid-template-columns:minmax(0,1fr)}
  .cx-usages{grid-template-columns:minmax(0,1fr)}
  .cx-pay-grille{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
  .cx-resume{grid-template-columns:minmax(0,1fr)}
  .cx-etapes-pay{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .cx-pilotes .choix-cartes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx-wa-chiffres{grid-template-columns:minmax(0,1fr)}
  .cx-wa-form .btn{width:100%;justify-content:center}
  .cx-service,.cx-avance{padding:1.05rem .95rem}
  .cx-bloc{padding:.9rem .85rem}
}

/* ─── Vérification par e-mail (1.3.1) ─── */
.cx-dest{white-space:nowrap;color:var(--canard-800)}
.cx-panne{margin-top:.6rem}
.cx-panne .cx-dest{white-space:normal;word-break:break-all}
.cx-verif-actions .btn[disabled]{opacity:.55;cursor:not-allowed}

/* ecole.css */
/* ═══════════════════════════════════════════════════════════════
   KHARANDI ÉCOLE — styles du module « ecole » (préfixe .ec-)
   Page publique /ecoles, espace école, espace parent, bulletins A4
   ═══════════════════════════════════════════════════════════════ */
:root{--ec-vert:#16663F;--ec-vert-f:#1E8E5A;--ec-orange:#B45309;--ec-orange-50:#FFF4E5;--ec-rouge:#B3321F}

/* ─── Éléments communs ─── */
.ec-vert{color:var(--ec-vert)}.ec-orange{color:var(--ec-orange)}.ec-rouge{color:var(--ec-rouge)}.ec-gris{color:var(--gris-500)}
.ec-fond-vert{background:var(--vert-50)}.ec-fond-orange{background:var(--ec-orange-50)}.ec-fond-rouge{background:var(--rouge-50)}.ec-fond-gris{background:var(--gris-50)}
.pastille.orange{background:var(--ec-orange-50);color:var(--ec-orange)}
.ec-logo{width:56px;height:56px;border-radius:14px;object-fit:contain;background:#fff;flex:none}
.ec-logo-vide{display:grid;place-items:center;background:var(--degrade);color:#fff;font-family:var(--titre);font-weight:900;font-size:1.2rem;letter-spacing:.04em;box-shadow:0 3px 0 var(--canard-900)}
.ec-ecouter{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.5rem .95rem;border-radius:999px;border:2px solid var(--canard-600);background:#fff;color:var(--canard-700);font-family:var(--titre);font-weight:800;font-size:.86rem;cursor:pointer;flex:none}
.ec-ecouter:hover,.ec-ecouter:focus-visible{background:var(--canard-700);color:#fff}
.ec-ecouter .ic{width:20px;height:20px}
.ec-ecouter.seul span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ec-ecouter.seul{width:48px;height:48px;padding:0;justify-content:center}
.ec-ecouter{box-shadow:0 3px 0 var(--cyan-100);transition:transform .12s,box-shadow .12s,background .15s,color .15s}
.ec-ecouter:active{transform:translateY(2px);box-shadow:0 1px 0 var(--cyan-100)}
.carte-sombre .ec-ecouter,.bienvenue .ec-ecouter,.ec-parent-bienvenue .ec-ecouter,.ec-bandeau .ec-ecouter{background:#fff;color:var(--canard-800);border-color:#fff;box-shadow:0 3px 0 rgba(6,74,96,.3)}
.carte-sombre .ec-ecouter:hover,.ec-parent-bienvenue .ec-ecouter:hover{background:#F2FCFE;color:var(--canard-950)}
.ec-mini{font-size:.8rem;color:var(--gris-600)}
.ec-num{font-variant-numeric:tabular-nums}
.ec-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.ec-selecteurs{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;background:#fff;padding:.8rem;border-radius:var(--r-l);box-shadow:var(--ombre-1);border:1px solid var(--filet);margin-bottom:1.4rem}
.ec-selecteurs label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.8rem;color:var(--gris-600);flex:1 1 160px;min-width:0}
.ec-selecteurs .btn{flex:0 0 auto}
.ec-secret{border:2px dashed var(--cyan-200);background:var(--cyan-50);border-radius:var(--r-l);padding:1.2rem 1.4rem;margin-bottom:1.5rem}
.ec-secret code{font-family:var(--titre);font-weight:900;font-size:1.35rem;letter-spacing:.06em;color:var(--canard-900);background:#fff;padding:.2rem .6rem;border-radius:8px;word-break:break-all}
.ec-verrou{display:flex;gap:1rem;align-items:flex-start}
.ec-section-titre{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem}
.ec-section-titre .pastille-icone{margin:0;width:44px;height:44px;border-radius:14px}
.ec-section-titre h2,.ec-section-titre h3{margin:0}
.ec-vide-mini{padding:1rem;border:2px dashed var(--cyan-100);background:rgba(232,248,251,.45);border-radius:var(--r);color:var(--gris-600);font-size:.9rem;text-align:center}
.ec-table-compacte td,.ec-table-compacte th{padding:.55rem .7rem}
.ec-table-large{min-width:720px}
.ec-grise td{color:var(--gris-500)}
.ec-carte-c{--c:var(--canard-700);border:2px solid color-mix(in srgb,var(--c) 22%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 22%,#fff),var(--ombre-1)}
details.ec-plier>summary{cursor:pointer;font-family:var(--titre);font-weight:800;color:var(--canard-700);list-style:none;display:flex;align-items:center;gap:.5rem;min-height:44px}
details.ec-plier>summary::-webkit-details-marker{display:none}
details.ec-plier>summary::after{content:"+";margin-left:auto;font-size:1.3rem;color:var(--gris-500)}
details.ec-plier[open]>summary::after{content:"–"}

/* ─── Page publique /ecoles ─── */
.ec-heros{position:relative;overflow:hidden;background:var(--degrade);color:#F0FBFD;padding:clamp(2.4rem,5.5vw,4.6rem) 0 clamp(3.2rem,7vw,5.6rem);border-radius:0 0 var(--r-xl) var(--r-xl)}
.ec-heros::before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;background:rgba(255,255,255,.09);right:-200px;top:-260px;pointer-events:none}
.ec-heros::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.07);left:-100px;bottom:-120px;pointer-events:none}
.ec-heros .conteneur{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.ec-heros .surtitre{color:#fff}
.ec-heros .surtitre::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
.ec-heros h1{color:#fff;font-size:clamp(2rem,3.7vw,3rem);line-height:1.06;margin-bottom:1.1rem;text-shadow:0 2px 16px rgba(6,74,96,.2)}
.ec-heros h1 .or{color:#DDF6FB;display:block}
.ec-heros .lead{font-size:clamp(1.02rem,1.5vw,1.18rem);max-width:580px;margin-bottom:1.8rem;color:#F2FBFD}
.ec-heros .fil{color:rgba(255,255,255,.8)}
.ec-heros-points{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.8rem;font-size:.86rem}
.ec-heros-points span{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .85rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);color:#fff;font-weight:600}
.ec-heros-points .ic{color:#fff}
/* Maquette de bulletin dans le héros */
.ec-maquette{position:relative;max-width:440px;margin-left:auto}
.ec-maquette .feuillet{background:#fff;color:var(--texte);border-radius:22px;box-shadow:0 30px 60px -18px rgba(6,74,96,.55);padding:1.2rem 1.2rem 1rem;transform:rotate(-1.5deg)}
.ec-maquette .feuillet .t{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--cyan-100);padding-bottom:.6rem;margin-bottom:.7rem}
.ec-maquette .feuillet .t b{font-family:var(--titre);font-size:.82rem;color:var(--canard-900);letter-spacing:.06em;text-transform:uppercase}
.ec-maquette .l{display:grid;grid-template-columns:1fr 72px 46px;gap:.4rem;font-size:.78rem;padding:.32rem 0;border-bottom:1px solid var(--filet);align-items:center}
.ec-maquette .l i{display:block;height:6px;border-radius:6px;background:var(--gris-50);overflow:hidden}
.ec-maquette .l i::before{content:"";display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--cyan),var(--canard-600));border-radius:6px}
.ec-maquette .l span:last-child{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.ec-maquette .total{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem;background:var(--degrade-profond);color:#fff;border-radius:14px;box-shadow:0 3px 0 var(--canard-950);padding:.6rem .8rem;font-family:var(--titre);font-weight:800}
.ec-maquette .feuillet .total b{color:#fff;font-size:1.3rem;font-weight:900;flex:none;margin-left:.6rem}
.ec-maquette .badge-verif{position:absolute;right:-8px;bottom:-22px;background:#fff;color:var(--canard-900);border:2px solid var(--vert-50);border-radius:14px;padding:.55rem .8rem;font-size:.76rem;font-weight:700;box-shadow:var(--ombre-3);display:flex;gap:.45rem;align-items:center;transform:rotate(2deg)}
.ec-maquette .notif{position:absolute;left:-26px;top:-18px;background:#fff;border-radius:16px;box-shadow:var(--ombre-3);padding:.6rem .75rem;display:flex;gap:.55rem;align-items:center;font-size:.76rem;max-width:230px;color:var(--texte)}
.ec-maquette .notif .pic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--vert-50);color:var(--vert);flex:none}
.ec-maquette .badge-verif .ic{color:var(--vert)}
.ec-maquette .maquette-tag{top:auto;bottom:-44px;left:0;background:rgba(255,255,255,.2)}
.ec-gains .carte{--k:var(--canard-700);display:flex;flex-direction:column;border:2px solid color-mix(in srgb,var(--k) 18%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--k) 22%,#fff)}
.ec-gains .carte:nth-child(2){--k:#0E94B5}.ec-gains .carte:nth-child(3){--k:var(--vert)}.ec-gains .carte:nth-child(4){--k:var(--canard-900)}
.ec-gains .pastille-icone,.ec-gains .pastille-icone.or,.ec-gains .pastille-icone.sombre{width:50px;height:50px;border-radius:16px;background:var(--k);color:#fff;box-shadow:0 4px 0 color-mix(in srgb,var(--k) 70%,#000)}
.ec-gains .carte p{color:var(--gris-600)}
.ec-gains .preuve{margin-top:auto;padding-top:.8rem;border-top:2px dashed var(--filet);font-size:.84rem;color:var(--canard-700);font-weight:600}
.ec-prix{display:grid;grid-template-columns:1.25fr 1fr;gap:1.25rem;align-items:stretch}
.ec-prix .carte{padding:2rem}
.ec-prix>.carte:not(.carte-sombre){border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-1)}
.ec-prix-carte{box-shadow:0 5px 0 var(--canard-950),var(--ombre-2)}
.ec-prix .entete-prix{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--filet)}
.carte-sombre.ec-prix-carte .entete-prix{border-color:rgba(255,255,255,.12)}
.carte-sombre .bloc-prix{color:#fff}
.carte-sombre .bloc-prix small{color:#CDEFF5}
.carte-sombre .alerte-or{background:#fff;color:var(--canard-950);border-color:#fff}
.carte-sombre .alerte-or .ic{color:var(--or-600)}
.ec-plus{font-family:var(--titre);font-weight:900;color:var(--canard-600)}
.ec-simulateur{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center}
.ec-simulateur .resultat{background:var(--degrade-profond);color:#DDF3F7;border-radius:var(--r-l);padding:1.6rem;position:relative;overflow:hidden;box-shadow:0 5px 0 var(--canard-950)}
.ec-simulateur .resultat::before{content:"";position:absolute;right:-70px;top:-90px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.09);pointer-events:none}
.ec-simulateur .resultat>*{position:relative}
.ec-simulateur .resultat .v{font-family:var(--titre);font-weight:900;font-size:clamp(1.8rem,4vw,2.6rem);color:#fff;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ec-simulateur .resultat .d{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem;padding:.4rem 0;border-top:1px solid rgba(255,255,255,.14)}
.ec-simulateur .resultat .d b{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.ec-curseur{width:100%;accent-color:var(--canard-600);min-height:44px}
.ec-parent-demo{display:grid;grid-template-columns:auto 1fr;gap:1.6rem;align-items:center}
.ec-telephone{width:230px;border-radius:36px;background:var(--encre);padding:12px;box-shadow:0 6px 0 #061a22,var(--ombre-3);position:relative}
.ec-telephone .ecran{background:var(--fond);border-radius:24px;padding:1rem .8rem;display:flex;flex-direction:column;gap:.6rem;min-height:380px}
.ec-telephone .bulle-p{background:#fff;border-radius:16px;padding:.7rem;display:flex;gap:.6rem;align-items:center;font-size:.74rem;box-shadow:var(--ombre-1)}
.ec-telephone .bulle-p .pic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none}
.ec-telephone .bulle-p b{display:block;font-family:var(--titre);font-size:.8rem;color:var(--encre)}
.ec-telephone .bulle-p{border:2px solid var(--cyan-100);box-shadow:0 3px 0 var(--cyan-100);border-radius:18px}
.ec-telephone .bulle-p .pic{background:var(--canard-700)!important;color:#fff!important;box-shadow:0 3px 0 var(--canard-900)}
.ec-telephone .bulle-p .pic.ec-fond-vert{background:var(--vert)!important;box-shadow:0 3px 0 #146741}
.ec-telephone .bulle-p .pic.ec-fond-orange{background:#D9780F!important;box-shadow:0 3px 0 #9a520a}
.ec-telephone .gros{font-family:var(--titre);font-weight:900;font-size:1.6rem;line-height:1}
.ec-telephone .maquette-tag{top:18px;left:50%;transform:translateX(-50%)}
.ec-objection{background:var(--fond);border:1px solid var(--filet);border-radius:var(--r-l);padding:1.2rem 1.3rem 1.1rem;position:relative}
.ec-objection::before{content:"";display:block;width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 5px rgba(26,188,212,.18);margin:0 0 .9rem .2rem}
.ec-objection p{margin:0;color:var(--texte)}
.ec-objection h3{font-size:1.15rem}
.ec-porte{--k:var(--canard-700);display:flex;flex-direction:column;border:2px solid color-mix(in srgb,var(--k) 18%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--k) 22%,#fff)}
.ec-porte:hover{border-color:color-mix(in srgb,var(--k) 40%,#fff);box-shadow:0 6px 0 color-mix(in srgb,var(--k) 22%,#fff)}
.ec-porte .ligne{flex-wrap:nowrap;align-items:flex-start}
.ec-porte .pastille-icone{background:var(--k)!important;color:#fff!important;box-shadow:0 3px 0 color-mix(in srgb,var(--k) 70%,#000)}
.ec-porte .lien-fleche{margin-top:auto;padding-top:1rem;color:color-mix(in srgb,var(--k) 80%,#000)}
.ec-demande{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:start}
.ec-cycles{display:flex;flex-wrap:wrap;gap:.5rem}
.ec-cycles label{flex:1 1 110px;border:2px solid var(--filet);box-shadow:0 3px 0 var(--filet);border-radius:14px;padding:.7rem .9rem;flex-direction:row!important;align-items:center;gap:.5rem!important;cursor:pointer;background:#fff;min-height:48px}
.ec-cycles label:has(input:checked){border-color:var(--cyan);background:var(--cyan-50);box-shadow:0 3px 0 var(--canard-600)}
.ec-cycles input{width:20px;height:20px;accent-color:var(--canard-600);min-height:0}

/* ─── Tableau de bord école ─── */
.ec-bandeau{border-radius:var(--r-xl);background:var(--degrade);color:#F0FBFD;padding:1.5rem 1.6rem;display:flex;gap:1.2rem;align-items:center;margin-bottom:1.4rem;flex-wrap:wrap;position:relative;overflow:hidden}
.ec-bandeau::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.11);right:-80px;top:-150px;pointer-events:none}
.ec-bandeau::after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.07);right:26%;bottom:-80px;pointer-events:none}
.ec-bandeau>*{position:relative;z-index:1}
.ec-bandeau .pastille.demo{background:#fff;color:var(--or-texte);vertical-align:middle;font-size:.7rem}
.ec-bandeau select{border-color:#fff;box-shadow:0 3px 0 rgba(6,74,96,.3)}
.ec-bandeau h1{color:#fff;font-size:clamp(1.3rem,2.6vw,1.9rem);margin:0 0 .2rem}
.ec-bandeau p{margin:0;font-size:.92rem}
.ec-bandeau .ec-logo{width:64px;height:64px;border-radius:18px;box-shadow:0 4px 0 rgba(6,74,96,.3)}
.ec-bandeau .ec-logo-vide{background:#fff;color:var(--canard-800)}
.ec-bandeau .droite-b{margin-left:auto;display:flex;gap:.5rem;flex-wrap:wrap}
.ec-kpi .chiffre .v small{font-size:.5em;font-weight:700;color:var(--gris-500);letter-spacing:0}
.ec-kpi .chiffre .ic-coin .ic{width:20px;height:20px}
.ec-kpi .chiffre{--c:var(--canard-700);border:2px solid color-mix(in srgb,var(--c) 14%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 18%,#fff)}
.ec-kpi .chiffre:nth-child(2){--c:#0E94B5}.ec-kpi .chiffre:nth-child(3){--c:var(--vert)}.ec-kpi .chiffre:nth-child(4){--c:var(--bleu)}
.ec-tdb-rang{align-items:stretch}
.ec-tdb-rang>.carte{display:flex;flex-direction:column}
.ec-tdb-rang>.carte>.aide:last-child{margin-top:auto!important;padding-top:.8rem}
.ec-kpi .chiffre .ic-coin{background:var(--c);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.ec-kpi .chiffre .l b{color:var(--encre)}
.ec-barres{display:flex;flex-direction:column;gap:.75rem}
.ec-barres .r{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;gap:.8rem;align-items:center;font-size:.9rem}
.ec-barres .r>span:first-child{font-weight:600;color:var(--encre);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ec-barres .piste{height:14px;border-radius:14px;background:var(--gris-50);position:relative;overflow:hidden}
.ec-barres .piste i{position:absolute;left:0;top:0;bottom:0;border-radius:14px;background:linear-gradient(90deg,var(--cyan),var(--canard-600))}
.ec-barres .piste i.orange{background:linear-gradient(90deg,#F6B04A,var(--ec-orange))}
.ec-barres .piste i.rouge{background:linear-gradient(90deg,#E27A68,var(--ec-rouge))}
.ec-barres .piste::after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;background:rgba(6,74,96,.35)}
.ec-barres .v{font-family:var(--titre);font-weight:800;font-variant-numeric:tabular-nums;min-width:4.2em;text-align:right}
.ec-colonnes{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;align-items:end;height:170px;padding-top:1.2rem}
.ec-colonnes .c{display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100%;justify-content:flex-end}
.ec-colonnes .c i{display:block;width:100%;max-width:46px;border-radius:12px 12px 5px 5px;background:var(--canard-600);min-height:4px}
.ec-colonnes .c:nth-child(1) i,.ec-colonnes .c:nth-child(2) i{background:var(--ec-rouge)}
.ec-colonnes .c:nth-child(3) i{background:#E0A13A}
.ec-colonnes .c:nth-child(6) i{background:var(--or)}
.ec-colonnes .c b{font-family:var(--titre);font-size:.9rem;font-variant-numeric:tabular-nums}
.ec-colonnes .c small{font-size:.7rem;color:var(--gris-500);white-space:nowrap}
.ec-progress-l{display:flex;justify-content:space-between;font-size:.84rem;margin-bottom:.35rem;gap:.5rem}
.ec-alerte-l{display:flex;gap:.8rem;align-items:center;padding:.7rem .4rem;border-bottom:1px solid var(--filet);border-radius:12px;transition:background .15s}
a.ec-alerte-l:hover{background:#FAFDFE}
.ec-alerte-l:last-child{border-bottom:0}
.ec-alerte-l .fl{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:none;background:var(--rouge-50);color:var(--ec-rouge)}
.ec-alerte-l .fl.orange{background:var(--ec-orange-50);color:var(--ec-orange)}
.ec-alerte-l .t{flex:1;min-width:0}
.ec-alerte-l .t b{display:block;color:var(--encre);font-size:.93rem}
.ec-alerte-l .t span{font-size:.8rem;color:var(--gris-600)}
.ec-alerte-l .m{font-family:var(--titre);font-weight:800;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ec-alerte-l .m small{display:block;font-family:var(--corps);font-weight:500;font-size:.74rem;color:var(--gris-500)}
.ec-raccourcis{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.8rem}

/* Cartes matière (notes) */
.ec-matiere{display:flex;flex-direction:column;border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100)}
.ec-matiere:hover{border-color:var(--cyan-200);box-shadow:0 6px 0 var(--cyan-100)}
.ec-matiere .ligne-entre{flex-wrap:nowrap;align-items:flex-start;gap:.6rem;margin-bottom:.35rem}
.ec-matiere .ligne-entre h3{min-width:0;font-size:1.02rem;line-height:1.25}
.ec-matiere .ligne-entre .pastille{flex:none}
.ec-matiere>p:last-child{margin-top:auto!important;padding-top:.7rem}

/* ─── Saisie des notes ─── */
.ec-saisie-entete{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;font-size:.9rem;color:var(--gris-600)}
.ec-saisie{background:#fff;border-radius:var(--r-l);border:1px solid var(--filet);overflow:hidden;box-shadow:var(--ombre-1);max-width:920px}
.ec-saisie .r{display:grid;grid-template-columns:2rem 1fr 6.2rem 4.6rem 1.6rem;gap:.6rem;align-items:center;padding:.5rem .8rem;border-bottom:1px solid var(--filet)}
.ec-saisie .r:last-child{border-bottom:0}
.ec-saisie .r.tete{background:var(--cyan-50);font-family:var(--titre);font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--canard-800);padding:.75rem .8rem}
.ec-saisie .r:not(.tete):focus-within{background:#F5FCFD}
.ec-saisie .n{font-size:.78rem;color:var(--gris-500);text-align:right;font-variant-numeric:tabular-nums}
.ec-saisie .nom{min-width:0}
.ec-saisie .nom b{display:block;color:var(--encre);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ec-saisie .nom small{color:var(--gris-500);font-size:.72rem}
.ec-saisie input.note{text-align:center;font-family:var(--titre);font-weight:900;font-size:1.15rem;padding:.4rem;min-height:48px;font-variant-numeric:tabular-nums;color:var(--encre)}
.ec-saisie input.note.invalide{border-color:var(--rouge);background:var(--rouge-50)}
.ec-saisie input.note:disabled{background:var(--gris-50);color:var(--gris-400)}
.ec-saisie .abs{display:flex;align-items:center;justify-content:center;gap:.3rem;font-size:.8rem;font-weight:700;color:var(--gris-600);cursor:pointer;min-height:46px;border-radius:14px;border:2px solid var(--filet);background:#fff;user-select:none}
.ec-saisie .abs input{width:18px;height:18px;min-height:0;accent-color:var(--rouge)}
.ec-saisie .abs:has(input:checked){background:var(--rouge-50);border-color:var(--rouge);color:var(--ec-rouge)}
.ec-saisie .etat{width:1.4rem;height:1.4rem;display:grid;place-items:center}
.ec-saisie .etat .ic{width:18px;height:18px}
.ec-saisie .etat.ok{color:var(--vert)}.ec-saisie .etat.err{color:var(--rouge)}.ec-saisie .etat.enc{color:var(--gris-400)}
.ec-saisie .r.erreur{background:var(--rouge-50)}
.ec-saisie .msg{grid-column:2/-1;font-size:.78rem;color:var(--ec-rouge);display:none}
.ec-saisie .r.erreur .msg{display:block}
.ec-barre-saisie{position:sticky;bottom:0;z-index:30;max-width:920px;background:rgba(244,250,251,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:.8rem 0;margin-top:1rem;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;border-top:1px solid var(--filet)}
.ec-barre-saisie .barre{flex:1 1 160px}

/* ─── Appel (absences) ─── */
.ec-appel{background:#fff;border-radius:var(--r-l);border:1px solid var(--filet);overflow:hidden;box-shadow:var(--ombre-1);max-width:920px}
.ec-appel .r{display:grid;grid-template-columns:1fr auto;gap:.5rem .8rem;align-items:center;padding:.65rem .8rem;border-bottom:1px solid var(--filet)}
.ec-appel .r:last-child{border-bottom:0}
.ec-appel .r b{color:var(--encre);font-size:.95rem}
.ec-segment{display:inline-flex;border:2px solid var(--filet);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 3px 0 var(--filet)}
.ec-segment label{display:grid;place-items:center;min-width:52px;min-height:44px;padding:0 .6rem;font-weight:800;font-size:.8rem;cursor:pointer;color:var(--gris-600);border-left:2px solid var(--filet);font-family:var(--titre)}
.ec-segment label:first-child{border-left:0}
.ec-segment input{position:absolute;opacity:0;pointer-events:none}
.ec-segment label:has(input[value=present]:checked){background:var(--vert-50);color:var(--ec-vert)}
.ec-segment label:has(input[value=absence]:checked){background:var(--rouge);color:#fff}
.ec-segment label:has(input[value=retard]:checked){background:var(--ec-orange-50);color:var(--ec-orange)}
.ec-segment label:has(input:focus-visible){outline:3px solid var(--cyan);outline-offset:-3px}
.ec-appel .plus{grid-column:1/-1;display:none;gap:.5rem;flex-wrap:wrap}
.ec-appel .r.retard .plus,.ec-appel .r.ouvert .plus{display:flex}
.ec-appel .plus input{flex:1 1 180px;min-height:42px}
.ec-appel .plus input[type=number]{flex:0 0 110px}
.ec-appel .lien-plus{font-size:.78rem;color:var(--gris-600);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;justify-self:start}

/* ─── Espace parent ─── */
.role-parent .espace-contenu{max-width:980px}
.ec-parent-bienvenue{border-radius:var(--r-xl);background:var(--degrade);color:#F0FBFD;padding:1.4rem;display:flex;gap:1rem;align-items:center;margin-bottom:1.3rem;position:relative;overflow:hidden}
.ec-parent-bienvenue::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.12);right:-70px;top:-100px;pointer-events:none}
.ec-parent-bienvenue>*{position:relative}
.ec-parent-bienvenue h1{color:#fff;font-size:clamp(1.35rem,4vw,1.9rem);margin:0 0 .25rem}
.ec-parent-bienvenue p{margin:0;font-size:1rem}
.ec-parent-bienvenue .texte{flex:1;min-width:0}
.ec-parent-bienvenue img{width:84px;margin:-.5rem -.4rem -1.8rem 0;align-self:flex-end}
.ec-enfant{background:#fff;border-radius:var(--r-xl);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-2);border:2px solid var(--cyan-100);overflow:hidden;margin-bottom:1.3rem}
.ec-enfant .haut{display:flex;gap:1rem;align-items:center;padding:1.2rem 1.2rem 1rem}
.ec-enfant .avatar{width:58px;height:58px;font-size:1.25rem}
.ec-enfant .qui{flex:1;min-width:0}
.ec-enfant .qui h2{font-size:1.35rem;margin:0}
.ec-enfant .qui p{margin:0;font-size:.86rem;color:var(--gris-600)}
.ec-moyenne{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;margin:0 1rem;border-radius:var(--r-l);flex-wrap:wrap}
.ec-moyenne .rond{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;flex:none;background:#fff;box-shadow:inset 0 0 0 7px currentColor,0 4px 0 color-mix(in srgb,currentColor 30%,transparent)}
.ec-moyenne .rond b{font-family:var(--titre);font-weight:900;font-size:1.65rem;letter-spacing:-.02em;line-height:1;color:var(--encre);text-align:center}
.ec-moyenne .rond b small{display:block;font-size:.55em;color:var(--gris-500);font-weight:700;margin-top:.15rem}
.ec-moyenne .txt{flex:1;min-width:150px}
.ec-moyenne .txt b{display:block;font-family:var(--titre);font-weight:900;font-size:1.18rem;color:var(--encre)}
.ec-moyenne .txt span{font-size:.88rem;color:var(--texte)}
.ec-tendance{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--titre);font-weight:800;font-size:.95rem;margin-top:.2rem}
.ec-tendance .ic{width:22px;height:22px}
.ec-infos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:1rem}
.ec-info{--c:var(--canard-700);display:flex;gap:.75rem;align-items:center;padding:.85rem;border-radius:22px;text-decoration:none;color:var(--encre);background:color-mix(in srgb,var(--c) 7%,#fff);border:2px solid color-mix(in srgb,var(--c) 22%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 22%,#fff);min-height:84px;transition:transform .15s,border-color .15s}
.ec-info:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--c) 45%,#fff);color:var(--encre)}
.ec-info .pic{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;flex:none;background:var(--c);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.ec-info .pic .ic{width:25px;height:25px}
.ec-info b{display:block;font-family:var(--titre);font-weight:800;font-size:1rem;line-height:1.2}
.ec-info span{font-size:.82rem;color:var(--texte)}
.ec-info.vert{--c:var(--vert)}
.ec-info.orange{--c:#D9780F}
.ec-info.rouge{--c:var(--rouge)}
.ec-info.gris{--c:#8A999C}
.ec-info.canard{--c:var(--canard-700)}
.ec-info .ec-ecouter.seul{background:#fff}
.ec-enfant .bas{display:flex;gap:.6rem;padding:0 1rem 1.2rem;flex-wrap:wrap}
.ec-enfant .bas .btn{flex:1 1 180px}
.ec-bloc{background:#fff;border-radius:var(--r-xl);box-shadow:var(--ombre-1);border:1px solid var(--filet);padding:1.2rem;margin-bottom:1.1rem;scroll-margin-top:84px}
.ec-bloc-tete{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem}
.ec-bloc-tete .pic{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;flex:none;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.ec-bloc-tete .pic .ic{width:28px;height:28px}
.ec-bloc-tete h2{font-size:1.25rem;margin:0;flex:1}
.ec-sommaire{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:1.2rem}
.ec-sommaire a{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.8rem .3rem;border-radius:20px;background:#fff;border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100);transition:transform .15s;text-decoration:none;color:var(--encre);font-family:var(--titre);font-weight:800;font-size:.78rem;text-align:center;min-height:84px;justify-content:center}
.ec-sommaire a .ic{width:28px;height:28px;color:var(--canard-600)}
.ec-sommaire a:hover{transform:translateY(-2px);color:var(--canard-900)}
.ec-sommaire a:active{transform:translateY(2px);box-shadow:0 1px 0 var(--cyan-100)}
.ec-matieres{display:flex;flex-direction:column;gap:.55rem}
.ec-matieres .m{display:grid;grid-template-columns:1fr 3.6rem;gap:.3rem .8rem;align-items:center}
.ec-matieres .m>span{font-weight:600;font-size:.92rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ec-matieres .m b{font-family:var(--titre);text-align:right;font-variant-numeric:tabular-nums}
.ec-matieres .m .piste{grid-column:1/-1;height:10px;border-radius:10px;background:var(--gris-50);overflow:hidden}
.ec-matieres .m .piste i{display:block;height:100%;border-radius:10px}
.ec-matieres .m .piste i.vert{background:var(--vert)}.ec-matieres .m .piste i.orange{background:#E08A12}.ec-matieres .m .piste i.rouge{background:var(--rouge)}.ec-matieres .m .piste i.gris{background:var(--gris-200)}
.ec-liste-l{display:flex;flex-direction:column}
.ec-liste-l .l{display:flex;gap:.8rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--filet)}
.ec-liste-l .l:last-child{border-bottom:0}
.ec-liste-l .l .pic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:none}
.ec-liste-l .l .t{flex:1;min-width:0}
.ec-liste-l .l .t b{display:block;color:var(--encre);font-size:.95rem}
.ec-liste-l .l .t span{font-size:.82rem;color:var(--gris-600)}
.ec-liste-l .l .v{font-family:var(--titre);font-weight:900;font-size:1.1rem;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ec-message{padding:1rem 1.1rem;border-radius:20px;background:var(--fond);border:1px solid var(--filet);margin-bottom:.7rem}
.ec-message .tete{display:flex;gap:.6rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.ec-message h3{font-size:1.02rem;margin:0}
.ec-message p{margin:.5rem 0 0;white-space:pre-line}
.ec-relier{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;align-items:start}
.ec-relier .carte h2{font-size:1.25rem}
.ec-code-saisie{font-family:var(--titre)!important;font-weight:800!important;font-size:1.4rem!important;letter-spacing:.2em;text-transform:uppercase;text-align:center}

/* ─── Espace élève : mes notes ─── */
.ec-carte-moy{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}

/* ─── Documents A4 : bulletins, attestations, reçus ─── */
.ec-doc{font-family:var(--corps);color:#111}
.ec-doc .ec-tete{display:grid;grid-template-columns:1fr auto 1fr;gap:6mm;align-items:start;padding-bottom:4mm;border-bottom:2.5pt solid var(--canard-800)}
.ec-doc .ec-tete .rep{font-size:8pt;line-height:1.35;color:#333;text-transform:uppercase;letter-spacing:.06em}
.ec-doc .ec-tete .rep b{display:block;font-family:var(--titre);font-size:8.5pt;color:#111}
.ec-doc .ec-tete .rep i{display:block;width:30mm;height:1.6mm;margin:1.2mm 0;background:linear-gradient(90deg,#CE1126 33.3%,#FCD116 33.3% 66.6%,#009460 66.6%)}
.ec-doc .ec-tete .centre-t{text-align:center}
.ec-doc .ec-tete .centre-t .ec-logo{width:22mm;height:22mm;margin:0 auto 1.5mm;border-radius:4mm}
.ec-doc .ec-tete .centre-t .ec-logo-vide{font-size:14pt}
.ec-doc .ec-tete .centre-t h1{font-size:12.5pt;margin:0;color:var(--canard-900);letter-spacing:0;line-height:1.2}
.ec-doc .ec-tete .centre-t p{margin:.5mm 0 0;font-size:8pt;color:#444}
.ec-doc .ec-tete .droite-t{text-align:right;font-size:8.5pt;color:#333}
.ec-doc .ec-tete .droite-t b{display:block;font-family:var(--titre);font-size:10pt;color:#111}
.ec-doc .ec-titre{display:flex;justify-content:space-between;align-items:center;margin:5mm 0 4mm;gap:4mm}
.ec-doc .ec-titre h2{font-size:16pt;margin:0;letter-spacing:.08em;text-transform:uppercase;color:var(--canard-900)}
.ec-doc .ec-titre h2 span{color:var(--canard-600)}
.ec-doc .ec-titre .per{background:var(--canard-800);color:#fff;font-family:var(--titre);font-weight:800;padding:1.5mm 4mm;border-radius:2mm;font-size:10pt;white-space:nowrap}
.ec-doc .ec-ident{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1pt solid #9FB3B6;border-radius:2mm;overflow:hidden;margin-bottom:4mm}
.ec-doc .ec-ident div{padding:1.8mm 2.5mm;border-right:1pt solid #D5DDDE;font-size:8pt;color:#555}
.ec-doc .ec-ident div:nth-child(4n){border-right:0}
.ec-doc .ec-ident div:nth-child(n+5){border-top:1pt solid #D5DDDE}
.ec-doc .ec-ident b{display:block;font-size:10pt;color:#111;font-family:var(--titre)}
.ec-doc table.ec-notes{width:100%;border-collapse:collapse;font-size:9.5pt}
.ec-doc table.ec-notes th{background:var(--canard-800);color:#fff;font-family:var(--titre);font-size:7.5pt;text-transform:uppercase;letter-spacing:.06em;padding:2mm 2mm;text-align:left;font-weight:800}
.ec-doc table.ec-notes th.n,.ec-doc table.ec-notes td.n{text-align:center;font-variant-numeric:tabular-nums}
.ec-doc table.ec-notes td{padding:1.7mm 2mm;border-bottom:.6pt solid #D5DDDE}
.ec-doc table.ec-notes tbody tr:nth-child(even) td{background:#F5F8F8}
.ec-doc table.ec-notes td.moy{font-weight:800;font-family:var(--titre)}
.ec-doc table.ec-notes td.faible{color:#B3321F}
.ec-doc table.ec-notes tfoot td{font-weight:800;background:#E8F1F2;border-top:1.2pt solid var(--canard-800);font-family:var(--titre)}
.ec-doc table.ec-notes small{color:#666;font-size:7.5pt}
.ec-doc .ec-synthese{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:3mm;margin-top:4mm}
.ec-doc .ec-synthese>div{border:1pt solid #D5DDDE;border-radius:2mm;padding:2.5mm 3mm}
.ec-doc .ec-synthese .grande{background:var(--canard-800);color:#fff;border:0;display:flex;align-items:center;gap:3mm;justify-content:space-between}
.ec-doc .ec-synthese .grande span{font-size:8pt;text-transform:uppercase;letter-spacing:.08em;color:#CFE3E6}
.ec-doc .ec-synthese .grande b{font-family:var(--titre);font-weight:900;font-size:22pt;color:#fff;line-height:1}
.ec-doc .ec-synthese .grande b small{font-size:10pt;color:#CFEFF5}
.ec-doc .ec-synthese .l{display:flex;justify-content:space-between;gap:2mm;font-size:8.5pt;padding:.6mm 0}
.ec-doc .ec-synthese .l b{font-family:var(--titre)}
.ec-doc .ec-conseil{display:grid;grid-template-columns:1.6fr 1fr;gap:3mm;margin-top:4mm}
.ec-doc .ec-conseil>div{border:1pt solid #D5DDDE;border-radius:2mm;padding:2.5mm 3mm;min-height:20mm}
.ec-doc .ec-conseil h4{font-size:7.5pt;text-transform:uppercase;letter-spacing:.1em;color:#555;margin:0 0 1.5mm}
.ec-doc .ec-conseil p{margin:0;font-family:var(--titre);font-weight:700;font-size:11pt;color:#111}
.ec-doc .ec-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm;margin-top:4mm;font-size:8pt;color:#444}
.ec-doc .ec-signatures div{border-top:.8pt solid #999;padding-top:1.5mm;min-height:18mm}
.ec-doc .ec-verif{margin-top:5mm;display:flex;gap:3mm;align-items:center;justify-content:space-between;padding:2.5mm 3mm;background:#FFF7E3;border:1pt solid #F5D38A;border-radius:2mm;font-size:8pt;color:#5A4200}
.ec-doc .ec-verif b{font-family:var(--titre);font-size:10.5pt;letter-spacing:.08em;color:#111}
.ec-doc .ec-verif .sceau{width:11mm;height:11mm;border-radius:50%;background:var(--canard-800);color:#fff;display:grid;place-items:center;flex:none}
.ec-doc .ec-verif .sceau .ic{width:6mm;height:6mm}
.ec-doc .ec-filigrane{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;overflow:hidden}
.ec-doc .ec-filigrane span{transform:rotate(-30deg);font-family:var(--titre);font-weight:900;font-size:44pt;color:rgba(11,79,87,.06);white-space:nowrap;letter-spacing:.1em}
.ec-doc .ec-pied{position:absolute;left:16mm;right:16mm;bottom:8mm;font-size:7pt;color:#777;display:flex;justify-content:space-between;gap:4mm}
.ec-doc .ec-corps-att{font-size:12pt;line-height:1.9;margin:12mm 4mm 10mm;text-align:justify}
.ec-doc .ec-corps-att b{font-family:var(--titre)}
.ec-doc .ec-cachet{width:42mm;height:26mm;border:1pt dashed #999;border-radius:3mm;display:grid;place-items:center;font-size:7.5pt;color:#888;margin-left:auto}
.ec-doc .ec-recu-montant{display:flex;justify-content:space-between;align-items:center;background:var(--canard-800);color:#fff;border-radius:2mm;padding:4mm 5mm;margin:5mm 0}
.ec-doc .ec-recu-montant b{font-family:var(--titre);font-size:20pt;color:#fff}
.feuille.ec-demi{min-height:148mm}
@media print{
  .ec-doc .ec-titre .per,.ec-doc table.ec-notes th,.ec-doc .ec-synthese .grande,.ec-doc .ec-recu-montant{background:var(--canard-800)!important}
  .feuille.ec-doc{padding:12mm 14mm 16mm;height:297mm;overflow:hidden}
  .ec-doc .ec-pied{bottom:6mm}
}

/* ─── Adaptation ─── */
@media (max-width:960px){
  .ec-heros .conteneur{grid-template-columns:1fr}
  .ec-maquette{margin:1rem auto 2.5rem}
  .ec-prix,.ec-simulateur,.ec-demande,.ec-relier{grid-template-columns:1fr}
  .ec-parent-demo{grid-template-columns:1fr;justify-items:center}
}
@media (max-width:640px){
  .ec-maquette .notif{left:-4px;top:-26px}
  .ec-maquette .badge-verif{right:0}
  .ec-prix .carte{padding:1.3rem}
  .ec-bandeau{padding:1.2rem}
  .ec-bandeau .droite-b{margin-left:0;width:100%}
  .ec-barres .r{grid-template-columns:minmax(70px,96px) 1fr auto;gap:.5rem;font-size:.84rem}
  .ec-colonnes{height:140px;gap:.3rem}
  .ec-saisie .r{grid-template-columns:1fr 5.4rem 4.2rem 1.3rem;padding:.5rem .6rem;gap:.45rem}
  .ec-saisie .r .n{display:none}
  .ec-saisie .msg{grid-column:1/-1}
  .ec-infos{grid-template-columns:1fr;padding:.8rem}
  .ec-moyenne{margin:0 .8rem}
  .ec-sommaire{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}
  .ec-sommaire a{font-size:.68rem;padding:.6rem .15rem}
  .ec-parent-bienvenue img{width:64px}
  .ec-appel .r{grid-template-columns:1fr}
  .ec-segment{width:100%}
  .ec-segment label{flex:1}
  .ec-selecteurs{padding:.7rem}
  .ec-selecteurs label{flex:1 1 100%}
}
/* Aperçu A4 lisible sur téléphone (sans défilement horizontal de la page) */
@media screen and (max-width:820px){
  .page-impression{overflow-x:hidden}
  .page-impression .feuille.ec-doc{width:210mm;transform-origin:top left;transform:scale(var(--ec-echelle,.46));margin:0 0 calc((var(--ec-echelle,.46) - 1) * 297mm + 12px) 8px}
  .page-impression .feuille.ec-doc.ec-demi{margin-bottom:calc((var(--ec-echelle,.46) - 1) * 148mm + 12px)}
}
.ec-large-g{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.ec-mat-l{display:grid;grid-template-columns:minmax(0,2fr) 5rem minmax(0,1.6fr) 4rem auto;gap:.5rem;align-items:end;padding:.6rem 0;border-bottom:1px solid var(--filet)}
.ec-mat-l:last-child{border-bottom:0}
.ec-mat-l label{font-size:.75rem;gap:.2rem}
.ec-mat-l .case{align-self:center;font-size:.8rem}
@media (max-width:960px){.ec-large-g{grid-template-columns:1fr}}
@media (max-width:640px){.ec-mat-l{grid-template-columns:1fr 5rem;}.ec-mat-l .ens{grid-column:1/-1}.ec-mat-l .ord{display:none}}
.ec-maquette .notif{z-index:3}
.ec-doc .ec-synthese .l b{white-space:nowrap}
@media (max-width:960px){.ec-barre-saisie{bottom:calc(64px + env(safe-area-inset-bottom));padding:.6rem .2rem}.ec-barre-saisie .btn{min-height:44px}}

/* ─── Charte B : garde-fous téléphone et tablette (espaces école et parent) ─── */
.role-ecole .espace-contenu :is(.grille-2,.grille-3,.grille-4,.pile)>*,.role-parent .espace-contenu :is(.grille-2,.grille-3,.grille-4,.pile)>*{min-width:0}
.role-ecole details.ec-plier{max-width:100%;overflow-x:auto}
@media (max-width:960px){.ec-large-g{grid-template-columns:minmax(0,1fr)}}
.role-ecole .tableau-conteneur,.role-parent .tableau-conteneur{position:relative}
.role-ecole .carte>table.tableau th{white-space:normal}
@media (max-width:640px){
  .role-ecole .tableau-mobile,.role-ecole .tableau-mobile tbody,.role-parent .tableau-mobile,.role-parent .tableau-mobile tbody{display:block;width:100%}
  .role-ecole .tableau-mobile td,.role-parent .tableau-mobile td{display:block;min-width:0;overflow-wrap:break-word;text-align:right;padding:.35rem 1rem}
  .role-ecole .tableau-mobile td::before,.role-parent .tableau-mobile td::before{float:left;margin:0 1rem .2rem 0;white-space:nowrap;line-height:1.9}
  .role-ecole .tableau-mobile td::after,.role-parent .tableau-mobile td::after{content:"";display:block;clear:both}
  .role-ecole .tableau-mobile td>form:not([style]),.role-ecole .tableau-mobile td>input,.role-ecole .tableau-mobile td>select{display:inline-block;width:62%;vertical-align:middle;text-align:left}
  .role-ecole .tableau-mobile td>form select{width:100%;min-width:0}
}
.role-ecole .liste .el>.avatar,.admin .liste .el>.avatar{color:#fff;font-size:.95rem}
.role-ecole .carte>table.tableau tbody th{background:none;text-transform:none;letter-spacing:0;font-family:var(--corps);font-size:.92rem;font-weight:600;color:var(--texte)}
.role-ecole .tableau td select{min-width:150px}
@media (max-width:640px){.role-ecole .tableau-mobile td select{min-width:0}}
.ec-relier .carte{border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100),var(--ombre-1)}
.ec-relier .pastille-icone{width:52px;height:52px;border-radius:16px;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.ec-relier .pastille-icone.or{background:#0E94B5;box-shadow:0 3px 0 var(--canard-800)}
.ec-admin-fiche>*,.ec-admin-fiche .pile>*{min-width:0}
.ec-admin-fiche .carte>table.tableau{table-layout:fixed}
.ec-admin-fiche .carte>table.tableau th{white-space:normal;width:42%;background:none;text-transform:none;letter-spacing:0;font-family:var(--corps);font-size:.86rem;font-weight:600;color:var(--gris-600)}
.ec-admin-fiche .carte>table.tableau td{overflow-wrap:anywhere}
.ec-doc .ec-logo-vide{box-shadow:none}

/* ═══ 1.3.0 — Messagerie audio école ↔ parents ═══ */
/* Lecteur d'un message vocal */
.ec-audio{display:flex;align-items:center;gap:.7rem;background:var(--cyan-50);border:2px solid var(--cyan-100);border-radius:var(--r);padding:.6rem .7rem;margin:.7rem 0 0}
.ec-audio-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:none;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.ec-audio-ic .ic{width:22px;height:22px}
.ec-audio-corps{display:flex;flex-direction:column;gap:.3rem;min-width:0;flex:1}
.ec-audio-corps b{font-family:var(--titre);font-weight:800;font-size:.84rem;color:var(--canard-900)}
.ec-audio audio{width:100%;min-width:0;height:44px;display:block}

/* Enregistreur */
.ec-rec-bloc{border:2px dashed var(--cyan-200);border-radius:var(--r);padding:.8rem .9rem;background:#fff}
.ec-rec-titre{margin:0 0 .6rem;font-weight:800;font-size:.9rem;color:var(--encre);display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.ec-rec-titre .ic{width:18px;height:18px;color:var(--canard-700)}
.ec-rec{display:flex;flex-direction:column;gap:.6rem}
.ec-rec [hidden]{display:none!important}
.ec-rec-zone{display:flex;flex-direction:column;gap:.55rem}
.ec-rec-btn{display:inline-flex;align-items:center;gap:.7rem;align-self:flex-start;min-height:52px;padding:.35rem 1.1rem .35rem .35rem;border-radius:999px;border:2px solid var(--cyan-100);background:#fff;color:var(--canard-800);font-family:var(--titre);font-weight:800;font-size:.92rem;cursor:pointer;box-shadow:0 4px 0 var(--cyan-100);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .1s,box-shadow .1s}
.ec-rec-btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--cyan-100)}
.ec-rec-btn:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.ec-rec-rond{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--degrade);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.ec-rec-rond .ic{width:22px;height:22px}
.ec-rec.enregistre .ec-rec-btn{border-color:rgba(194,65,45,.35);color:var(--rouge);box-shadow:0 4px 0 rgba(194,65,45,.25)}
.ec-rec.enregistre .ec-rec-rond{background:var(--rouge);box-shadow:0 0 0 6px rgba(194,65,45,.18);animation:ec-rec-respire 1.2s ease-in-out infinite}
@keyframes ec-rec-respire{50%{box-shadow:0 0 0 13px rgba(194,65,45,.06)}}
.ec-rec-etat{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.95rem;color:var(--rouge)}
.ec-rec-etat b{font-family:var(--titre);font-weight:900;font-variant-numeric:tabular-nums}
.ec-rec-sur{color:var(--gris-500);font-size:.85rem}
.ec-rec-point{width:10px;height:10px;border-radius:50%;background:var(--rouge);animation:ec-rec-clignote 1s steps(2) infinite}
@keyframes ec-rec-clignote{50%{opacity:.25}}
.ec-rec-aide{margin:0}
.ec-rec-apercu{display:flex;flex-direction:column;gap:.55rem;background:var(--vert-50);border:2px solid rgba(30,142,90,.2);border-radius:var(--r);padding:.7rem}
.ec-rec-pret{margin:0;display:flex;align-items:flex-start;gap:.4rem;font-weight:700;font-size:.9rem;color:var(--vert)}
.ec-rec-pret .ic{width:18px;height:18px;flex:none;margin-top:.1rem}
.ec-rec-apercu audio{width:100%;height:44px}
.ec-rec-actions{display:flex;flex-wrap:wrap;gap:.45rem}
.ec-rec-actions .btn{min-height:44px;margin-bottom:4px}
.ec-rec-secours{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.85rem;color:var(--gris-600)}
.ec-rec-secours>span{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.ec-rec-secours .ic{width:16px;height:16px}
.ec-rec-secours small{font-weight:400;color:var(--gris-500)}
/* Version parent : un gros bouton rond, au centre */
.ec-rec-grand .ec-rec-zone{align-items:center;text-align:center;padding:.6rem 0 .2rem}
.ec-rec-grand .ec-rec-btn{flex-direction:column;align-self:center;gap:.7rem;padding:0;border:0;background:none;box-shadow:none;font-size:1.02rem;color:var(--canard-900)}
.ec-rec-grand .ec-rec-btn:active{transform:none}
.ec-rec-grand .ec-rec-rond{width:112px;height:112px;box-shadow:0 7px 0 var(--canard-900),0 18px 34px -12px rgba(6,74,96,.45);transition:transform .12s,box-shadow .12s}
.ec-rec-grand .ec-rec-btn:active .ec-rec-rond{transform:translateY(4px);box-shadow:0 3px 0 var(--canard-900)}
.ec-rec-grand .ec-rec-rond .ic{width:48px;height:48px}
.ec-rec-grand.enregistre .ec-rec-btn{color:var(--rouge)}
.ec-rec-grand.enregistre .ec-rec-rond{box-shadow:0 0 0 10px rgba(194,65,45,.16)}
.ec-rec-grand .ec-rec-etat{justify-content:center;font-size:1.15rem}
.ec-rec-grand .ec-rec-aide{max-width:34ch;margin:0 auto}
.ec-rec-grand .ec-rec-apercu{text-align:left}

/* Fil des échanges */
.ec-fil{display:flex;flex-direction:column;gap:.7rem}
.ec-fil-msg{border-radius:var(--r);padding:.8rem .9rem;border:1px solid var(--filet);background:var(--fond);max-width:92%}
.ec-fil-msg.parent{border-color:rgba(226,169,63,.35);background:var(--or-50)}
.ec-fil-msg.ecole{background:#fff;border-color:var(--cyan-100)}
.ec-fil-msg.moi{align-self:flex-end}
.ec-fil-de{margin:0;display:flex;flex-wrap:wrap;gap:.1rem .5rem;align-items:baseline;font-size:.85rem}
.ec-fil-de b{font-family:var(--titre);font-weight:800;color:var(--encre)}
.ec-fil-de span{color:var(--gris-500);font-size:.8rem}
.ec-fil-texte{margin:.4rem 0 0;white-space:pre-line;overflow-wrap:anywhere}
.ec-fil-ecouter{margin-top:.5rem}
.ec-fil-carte h3{display:flex;align-items:center;gap:.45rem}
.ec-fil-carte h3 .ic{width:20px;height:20px;color:var(--canard-700)}
.ec-repondre{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--filet);scroll-margin-top:84px}
.ec-repondre h4{margin:0;font-size:1rem}
.ec-repondre-parent{scroll-margin-top:84px}
.ec-ecrire{border:1px solid var(--filet);border-radius:var(--r);padding:.2rem .9rem;background:#fff}
.ec-ecrire summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.4rem;font-weight:700;color:var(--canard-800);list-style:none}
.ec-ecrire summary::-webkit-details-marker{display:none}
.ec-ecrire summary .ic{width:18px;height:18px}
.ec-ecrire[open]{padding-bottom:.8rem}
.ec-pastilles{display:inline-flex;gap:.35rem;flex-wrap:wrap}
.ec-pastilles .pastille .ic{width:14px;height:14px}
.ec-message-liens{display:inline-flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center}
.ec-nb-reponses{text-decoration:none}
.ec-nb-reponses .ic{width:14px;height:14px}
.ec-message-pied{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin-top:.6rem}
.ec-btn-repondre{min-height:48px}
@media (max-width:640px){.ec-fil-msg{max-width:100%}.ec-audio{padding:.5rem}.ec-audio-ic{width:36px;height:36px}}
@media (prefers-reduced-motion:reduce){.ec-rec.enregistre .ec-rec-rond,.ec-rec-point{animation:none}}

/* examens.css */
/* KHARANDI — examens (1.8.0) : résultats enrichis, pages écoles, annales, import par lots. Charte B, préfixe ex- */
.ex-rang{display:flex;align-items:center;gap:.45rem;margin:.8rem 0 0;font-size:.92rem;color:var(--canard-800)}
.ex-rang .ic{color:var(--or);width:18px;height:18px}
.ex-rang b{font-family:var(--titre);font-weight:900;color:var(--encre)}
.ex-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.ex-fiche .rb-resultat-nom{font-size:clamp(1.35rem,4vw,1.8rem)}
.ex-grand-chiffre{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin:.3rem 0 .6rem}
.ex-grand-chiffre b{font-family:var(--titre);font-weight:900;font-size:clamp(2.2rem,6vw,3rem);line-height:1;color:var(--or)}
.ex-grand-chiffre span{font-weight:700}
.ex-carte-lien{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;color:inherit;text-decoration:none}
.ex-carte-lien>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.ex-carte-lien b{font-family:var(--titre);font-weight:800;color:var(--encre);line-height:1.25}
.ex-carte-lien small{color:var(--gris-600);font-size:.85rem;line-height:1.35}
.ex-carte-lien>.ic{flex:none;color:var(--canard-600)}
.ex-carte-lien .pastille-icone{flex:none}
.ex-chiffres{grid-template-columns:repeat(4,minmax(0,1fr))}
.ex-filtres{display:flex;flex-wrap:wrap;gap:.7rem;align-items:flex-end;margin-bottom:1rem}
.ex-filtres label{flex:1 1 170px;min-width:0}
.ex-filtres .btn{flex:none}
.ex-bloc-programme{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem}
/* Annales */
.ex-attente{margin-bottom:1.2rem}
.ex-en-attendant{align-items:stretch}
.ex-annales{margin-top:.6rem}
.ex-annale-carte{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1.2rem;color:inherit;text-decoration:none;position:relative}
.ex-annale-carte b{font-family:var(--titre);font-weight:900;font-size:1.08rem;color:var(--encre)}
.ex-annale-carte small{color:var(--gris-600)}
.ex-annale-annee{align-self:flex-start;font-family:var(--titre);font-weight:900;font-size:.85rem;color:#fff;background:var(--canard-700);border-radius:10px;padding:.15rem .6rem;box-shadow:0 3px 0 var(--canard-900);margin-bottom:.35rem}
.ex-annale-pastilles{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.4rem}
.ex-annale-pastilles .ic{width:14px;height:14px}
.ex-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}
.ex-sujet .prose{font-size:1.02rem}
.ex-corrige summary{cursor:pointer;font-family:var(--titre);font-weight:800;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-height:44px}
.ex-corrige[open] summary{margin-bottom:.8rem}
/* Administration : import par lots et alerte */
.ex-barre{height:14px;margin:.6rem 0}
.ex-barre i{transition:width .4s ease}
.ex-etat{font-weight:700;color:var(--canard-800)}
.ex-sms{background:var(--cyan-50);border-radius:14px;padding:.8rem 1rem;font-family:ui-monospace,monospace;font-size:.88rem;overflow-wrap:anywhere}
.ex-doc li code{overflow-wrap:anywhere;word-break:break-all}
.ex-doc .rb-code-bloc{white-space:pre-wrap;word-break:break-all}
.ex-groupes{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
@media (max-width:760px){
  .ex-chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ex-bloc-programme{grid-template-columns:minmax(0,1fr)}
  .ex-actions .btn{flex:1 1 auto;justify-content:center}
  .ex-filtres .btn{width:100%}
}
/* 1.8.2 — chiffres officiels en tête de session, installation des résultats livrés */
.ex-officiel{margin-bottom:1.4rem;border:2px solid var(--cyan-100);padding:1.1rem 1.3rem}
.ex-officiel-chiffres{display:flex;flex-wrap:wrap;gap:.6rem 2rem;margin:.2rem 0 .7rem}
.ex-officiel-chiffres div{display:flex;flex-direction:column}
.ex-officiel-chiffres b{font-family:var(--titre);font-weight:900;font-size:clamp(1.5rem,4vw,2rem);line-height:1.1;color:var(--canard-800)}
.ex-officiel-chiffres span{font-size:.85rem;color:var(--gris-600)}
.ex-officiel-chiffres .ex-officiel-liste{padding-left:2rem;border-left:2px dashed var(--filet)}
.ex-officiel-chiffres .ex-officiel-liste b{color:var(--or-texte)}
.ex-livraison-table td,.ex-livraison-table th{vertical-align:middle}
@media (max-width:560px){.ex-officiel-chiffres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ex-officiel-chiffres .ex-officiel-liste{padding-left:0;border-left:0}}

/* exogagnant.css */
/* EXO GAGNANT (1.8.4) — exercices hebdomadaires. Classes préfixées eg-. Réutilise la charte (carte, pastille, ap-choix…). */
.eg-grille{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.4rem;align-items:start}
.eg-entete .surtitre{color:var(--or)}
.eg-entete-pastilles{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.eg-dates{display:inline-flex;align-items:center;gap:.35rem;font-size:.92rem;opacity:.92}
.eg-dates .ic{width:16px;height:16px}

/* Choix de la classe */
.eg-choix-classe{margin-bottom:0}
.eg-choix-label{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--encre);flex:0 0 auto}
.eg-mini-classe select{min-height:44px;max-width:210px}

/* Exercices de la semaine */
.eg-exos{display:grid;gap:.75rem}
.eg-exo{display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;border-left:5px solid var(--c,var(--canard-600));margin:0}
.eg-num{width:44px;height:44px;flex:none;border-radius:14px;display:grid;place-items:center;background:var(--canard-700);color:#fff;font-family:var(--titre);font-weight:900;font-size:1.2rem;box-shadow:0 3px 0 var(--canard-900)}
.eg-exo-corps{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}
.eg-exo-haut{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.eg-matiere{font-size:.82rem;font-weight:600;color:var(--gris-600)}
.eg-exo-titre{font-family:var(--titre);font-weight:800;font-size:1.05rem;color:var(--encre);line-height:1.3;overflow-wrap:anywhere}
.eg-exo-bas{font-size:.86rem;color:var(--gris-600)}
.eg-fait{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;color:var(--vert);font-size:.9rem}
.eg-fait .ic{width:18px;height:18px}
.eg-fleche{flex:none;color:var(--gris-600)}
.eg-exo-vide{border:2px dashed var(--filet);border-radius:var(--r-l);background:transparent;border-left-width:2px}
.eg-exo-vide .eg-num{background:var(--gris-50);color:var(--gris-600);box-shadow:none}
.eg-exo-vide .eg-exo-titre{color:var(--gris-600);font-weight:700}

/* Barème */
.eg-table-bareme{width:100%;border-collapse:collapse;margin-bottom:1rem}
.eg-table-bareme th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gris-600);text-align:left;padding:.4rem .2rem;border-bottom:2px solid var(--filet)}
.eg-table-bareme td{padding:.55rem .2rem;border-bottom:1px solid var(--filet)}
.eg-table-bareme .num{text-align:right;white-space:nowrap}
.eg-table-bareme tbody tr:first-child td{color:var(--or-texte)}
.eg-conversion{background:var(--or-50);border-radius:var(--r);padding:.8rem 1rem;margin-bottom:.8rem}
.eg-conversion p{margin:.2rem 0;display:flex;align-items:flex-start;gap:.45rem;line-height:1.45}
.eg-conversion .ic{flex:none;color:var(--or-texte);margin-top:.15rem}

/* Tes points */
.eg-points .surtitre{color:var(--or)}
.eg-points-solde{display:flex;align-items:flex-end;gap:.7rem;margin:.3rem 0 .6rem}
.eg-points-solde b{font-family:var(--titre);font-weight:900;font-size:clamp(2.4rem,6vw,3.2rem);line-height:.95;color:#fff;letter-spacing:-.02em}
.eg-points-solde span{line-height:1.2;font-weight:600;color:rgba(255,255,255,.88)}
.eg-points-solde small{font-weight:500;color:var(--or)}
.eg-points-detail{font-size:.9rem;color:rgba(255,255,255,.82)}
.eg-progres{display:grid;gap:.45rem;margin-bottom:1rem}
.eg-progres .barre{background:rgba(255,255,255,.14)}
.eg-progres .petit{color:rgba(255,255,255,.86)}
.eg-attente{display:flex;gap:.5rem;align-items:flex-start;background:rgba(255,255,255,.08);border-radius:var(--r);padding:.75rem .9rem;margin:0;font-size:.92rem}
.eg-attente .ic{flex:none;color:var(--or)}

/* Classement */
.eg-onglets-mini{margin-bottom:1rem}
.eg-cl-moy{font-family:var(--corps);font-weight:500;font-size:.72rem;color:var(--gris-600)}
.eg-classement .ap-cl-pts{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}

/* Page d'un exercice */
.eg-page-exo{max-width:860px}
.eg-enonce{font-size:1.05rem}
.eg-question{margin:0;min-width:0}
.eg-q-titre{font-family:var(--titre);font-weight:700;font-size:clamp(1.05rem,2.3vw,1.25rem);line-height:1.45;color:var(--encre);margin:0 0 1rem;padding:0;overflow-wrap:anywhere}
.eg-q-num{display:block;font-family:var(--corps);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--canard-600);margin-bottom:.25rem}
.eg-courte input{width:100%;min-height:56px;font-size:1.15rem;font-weight:600;border:2px solid var(--filet);border-radius:var(--r);padding:.6rem 1rem}
.eg-courte input:focus{border-color:var(--canard-600);outline:3px solid rgba(26,188,212,.25)}
.eg-envoyer p{display:flex;gap:.5rem;align-items:flex-start}
.eg-envoyer .ic{flex:none;color:var(--canard-600);margin-top:.15rem}
.eg-resultat{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}
.eg-plus{color:var(--vert);font-family:var(--titre);font-weight:900}
.eg-invite p{display:flex;gap:.5rem;align-items:flex-start}
.eg-invite p .ic{flex:none;margin-top:.15rem;color:var(--canard-600)}
.eg-apercu{margin:0;padding-left:1.3rem;display:grid;gap:.55rem;line-height:1.5}
.eg-correction .ap-question{margin:0}
.eg-juste{color:var(--vert)}
.eg-faux{color:var(--rouge)}
.eg-passes .el a{display:flex;justify-content:space-between;align-items:center;gap:.8rem;width:100%;color:inherit;text-decoration:none;min-height:44px}

/* Encarts (accueil du site, accueil de l'espace élève) */
.eg-encart-accueil{padding-top:0;padding-bottom:0}
.eg-encart{display:flex;align-items:center;gap:1.2rem;padding:1.3rem 1.5rem;border-radius:var(--r-l);background:linear-gradient(120deg,var(--canard-800),var(--canard-700));color:#fff;text-decoration:none;box-shadow:var(--ombre-1)}
.eg-encart:hover{color:#fff;filter:brightness(1.05)}
.eg-encart-ic{width:58px;height:58px;flex:none;border-radius:18px;display:grid;place-items:center;background:var(--or);color:var(--canard-900)}
.eg-encart-ic .ic{width:30px;height:30px}
.eg-encart-txt{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}
.eg-encart-txt .surtitre{color:var(--or);margin:0}
.eg-encart-txt b{font-family:var(--titre);font-weight:900;font-size:1.45rem;line-height:1.1}
.eg-encart-txt small{font-size:.95rem;color:rgba(255,255,255,.86);line-height:1.45}
.eg-encart .btn{flex:none}
.eg-encart-eleve{display:flex;align-items:center;gap:.9rem;margin:0 0 1.2rem;padding:1rem 1.1rem;background:#fff;color:var(--texte);border-left:5px solid var(--or)}
.eg-encart-eleve:hover{color:var(--texte)}
.eg-encart-eleve>span:nth-child(2){flex:1;display:flex;flex-direction:column}
.eg-encart-eleve b{font-family:var(--titre);color:var(--encre)}
.eg-encart-eleve span span{font-size:.9rem;color:var(--gris-600)}

/* Direction */
.eg-onglets{margin-bottom:1.3rem;flex-wrap:wrap}
.eg-onglets a{display:inline-flex;align-items:center;gap:.35rem}
.eg-kpi{grid-template-columns:repeat(4,minmax(0,1fr))}
.eg-plan th,.eg-plan td{white-space:nowrap}
.eg-plan-cycle th{background:var(--gris-50);font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:var(--gris-600)}
.eg-plan-choisie th,.eg-plan-choisie td{background:var(--cyan-50)}
.eg-case{display:inline-block;min-width:54px;padding:.3rem .55rem;border-radius:10px;font-weight:700;text-decoration:none;text-align:center}
.eg-case.plein{background:var(--vert-50);color:#16663f}
.eg-case.partiel{background:var(--or-50);color:var(--or-texte)}
.eg-case.vide{background:var(--rouge-50);color:#8e2e1f}
.eg-plan-semaines{display:grid;gap:1.2rem}
.eg-plan-semaine h3{font-size:1rem;margin:0 0 .6rem}
.eg-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.eg-slot{display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1rem;border:1px solid var(--filet);border-radius:var(--r);background:#fff}
.eg-slot-vide{flex-direction:row;align-items:center;justify-content:center;gap:.5rem;min-height:96px;border:2px dashed var(--or-100);background:var(--or-50);color:var(--or-texte);font-weight:700;text-decoration:none;text-align:center}
.eg-slot-vide:hover{border-color:var(--or);color:var(--or-texte)}
.eg-q{border:1px solid var(--filet);border-radius:var(--r);padding:1rem 1.1rem;margin:0 0 1rem;min-width:0}
.eg-q legend{font-family:var(--titre);font-weight:800;color:var(--encre);padding:0 .4rem}
.eg-q-choix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .9rem;margin-bottom:.8rem}
.eg-q-choix .aide{grid-column:1/-1}
.eg-q-choix-l{display:flex;align-items:center;gap:.5rem}
.eg-q-choix-l .case{flex:none;margin:0;min-width:44px;min-height:44px;justify-content:center}
.eg-q-choix-champ{flex:1;margin:0}
.eg-q-choix-champ input{width:100%}
.eg-case-exemple{align-self:end}
.eg-jours{width:110px;min-height:40px}

@media (max-width:900px){
  .eg-grille{grid-template-columns:minmax(0,1fr)}
  .eg-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .eg-exo{padding:.85rem .9rem;gap:.75rem}
  .eg-num{width:38px;height:38px;font-size:1.05rem}
  .eg-encart{flex-wrap:wrap;padding:1.1rem}
  .eg-encart .btn{width:100%;justify-content:center}
  .eg-slots,.eg-q-choix{grid-template-columns:minmax(0,1fr)}
  .eg-resultat{gap:1rem}
  .eg-mini-classe select{max-width:100%}
  .carte-titre:has(.eg-mini-classe){flex-wrap:wrap}
}
/* La légende d'un fieldset reste DANS la carte (sinon elle se pose sur la bordure) */
.eg-question>legend.eg-q-titre{float:left;width:100%}
.eg-question>legend.eg-q-titre+*{clear:both}
.eg-plan tbody th[scope=row]{background:transparent;text-transform:none;letter-spacing:0;font-size:.92rem;font-weight:700;white-space:normal;min-width:150px}
.eg-plan tbody th[scope=row] a{text-decoration:none}
.eg-q-choix-l .case{display:flex;align-items:center;padding:0}
.eg-encart .btn{background:var(--or);color:var(--canard-900);border-color:var(--or)}

/* paiements.css */
/* ═══ PAIEMENTS ET SMS (1.8.0) — paiement en ligne, reçus, avis SMS, campagnes, codes cadeaux, promos Makiti ═══ */

/* Bloc « Payer maintenant » dans le formulaire de paiement */
.pai-auto{border:2px solid color-mix(in srgb,var(--cyan) 40%,#fff);background:var(--cyan-50);border-radius:var(--r);padding:1rem;margin:0 0 1rem;box-shadow:0 4px 0 color-mix(in srgb,var(--cyan) 30%,#fff)}
.pai-auto[hidden]{display:none}
.pai-auto-tete{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:.8rem}
.pai-auto-tete b{display:block;font-family:var(--titre);font-weight:800;color:var(--encre);font-size:1.02rem;line-height:1.3}
.pai-auto-tete small{display:block;color:var(--gris-600);font-size:.86rem;line-height:1.45;margin-top:.15rem}
.pai-auto-ic{flex:none;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.pai-auto-ou{display:flex;align-items:center;gap:.6rem;margin:.9rem 0 0;color:var(--gris-600);font-size:.82rem;text-align:center}
.pai-auto-ou::before,.pai-auto-ou::after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--cyan) 35%,#fff)}
.pai-auto-ou span{flex:0 1 auto}

/* Retour de paiement */
.pai-retour .conteneur-etroit{max-width:640px}
.pai-retour-carte{text-align:center;padding:2rem 1.4rem;border:2px solid var(--filet)}
.pai-retour-carte.ok{border-color:color-mix(in srgb,var(--vert) 30%,#fff)}
.pai-retour-carte.ko{border-color:color-mix(in srgb,var(--rouge) 25%,#fff)}
.pai-retour-carte h1{font-size:clamp(1.5rem,4.6vw,2rem);margin:.2rem 0 .6rem}
.pai-retour-carte p{max-width:32rem;margin-left:auto;margin-right:auto}
.pai-retour-carte .groupe-btn{justify-content:center;margin-top:1.2rem}
.pai-retour-ic{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;margin:0 auto 1rem;color:#fff;background:var(--canard-700);box-shadow:0 5px 0 var(--canard-900)}
.pai-retour-ic .ic{width:36px;height:36px}
.pai-retour-ic.ok{background:var(--vert);box-shadow:0 5px 0 #146b43}
.pai-retour-ic.ko{background:var(--rouge);box-shadow:0 5px 0 #8f2e20}
.pai-retour-ic.attente{background:var(--or);box-shadow:0 5px 0 var(--or-700)}
.pai-retour-ic.neutre{background:var(--gris-500);box-shadow:0 5px 0 var(--gris-600)}

/* Administration : mises en page communes */
.pai-etat{align-self:flex-start;white-space:nowrap}
.pai-duo{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.25rem;align-items:start}
.pai-cote{min-width:0}
.pai-cote .carte h3,.pai-apercu h2{display:flex;align-items:center;gap:.45rem}
.pai-interrupteur{background:var(--cyan-50);border-radius:var(--r-s);padding:.8rem .9rem;margin-bottom:.8rem}
.pai-url{display:block;word-break:break-all;font-size:.8rem;background:var(--gris-50);border:1px solid var(--filet);border-radius:10px;padding:.55rem .7rem}
.pai-etapes{margin:.3rem 0 0;padding-left:1.1rem;font-size:.88rem;color:var(--gris-600)}
.pai-etapes li{margin:.3rem 0}
.pai-journal{list-style:none;margin:0;padding:0}
.pai-journal li{padding:.65rem 0;border-bottom:1px solid var(--filet);font-size:.88rem;overflow-wrap:anywhere}
.pai-journal li:last-child{border-bottom:0}
.pai-journal small{display:block;color:var(--gris-600)}
.pai-corps{display:block;margin-top:.3rem;font-size:.75rem;color:var(--gris-600);white-space:pre-wrap;word-break:break-all}
.pai-kpi-petit{font-size:1.1rem!important}
.pai-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:.6rem 0}
.pai-type{border:2px solid var(--filet);border-radius:var(--r);padding:.75rem .8rem;background:#fff;min-width:0}
.pai-type .case{margin:0 0 .45rem}
.pai-modele textarea{font-size:.85rem;min-height:3.4rem}
.pai-sms{display:inline-block;font-size:.86rem;line-height:1.45;background:var(--gris-50);border:1px solid var(--filet);border-radius:14px 14px 14px 4px;padding:.45rem .7rem;max-width:34rem;overflow-wrap:anywhere}
.pai-sms-grand{display:block;font-size:1rem;padding:.8rem 1rem}
.tableau .pai-sms{min-width:12rem}
.pai-fieldset{border:0;padding:0;margin:0 0 1.1rem;min-width:0}
.pai-fieldset legend{font-family:var(--titre);font-weight:800;color:var(--encre);margin-bottom:.5rem;padding:0}
.pai-coches{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;margin-bottom:.7rem}
.pai-coches .case{margin:0}
.pai-dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.4rem 1rem;margin:1rem 0 0;font-size:.92rem}
.pai-dl dt{color:var(--gris-600)}
.pai-dl dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.pai-apercu-chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.6rem;margin:.6rem 0}
.pai-apercu-chiffres div{background:var(--cyan-50);border-radius:var(--r-s);padding:.7rem .8rem}
.pai-apercu-chiffres b{display:block;font-family:var(--titre);font-weight:900;font-size:1.5rem;color:var(--canard-900);line-height:1.1}
.pai-apercu-chiffres span{font-size:.8rem;color:var(--gris-600)}
.pai-h{display:flex;align-items:center;gap:.45rem;font-size:1.15rem}
.pai-code-promo{font-family:var(--titre);font-weight:800;letter-spacing:.04em;background:var(--or-50);border:1px dashed var(--or-600);color:var(--or-texte);border-radius:8px;padding:.1rem .45rem}

/* Code cadeau (Mes points) */
.pai-code-cadeau{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.1fr);gap:1rem;align-items:center;margin-top:1.25rem;border:2px solid color-mix(in srgb,var(--or) 35%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--or) 30%,#fff)}
.pai-code-cadeau h3{margin:0 0 .15rem}
.pai-code-ic{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--or);color:#fff;box-shadow:0 3px 0 var(--or-700)}
.pai-code-champ{display:flex;gap:.5rem}
.pai-code-champ input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.06em;font-weight:700}

/* Makiti : commander, bandeaux */
.pai-mk{margin-top:0}
.pai-mk legend{font-family:var(--titre);font-weight:800}
.pai-mk-ic{background:var(--vert)!important;box-shadow:0 3px 0 #146b43!important}
.pai-mk-ligne{display:flex;gap:.5rem;align-items:stretch;margin-bottom:.4rem}
.pai-mk-champ{flex:1;min-width:0;margin:0!important}
.pai-mk-champ input{width:100%;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.pai-mk-promo{display:flex;gap:.5rem;align-items:flex-start;color:var(--texte)}
.pai-mk-promo .ic{color:var(--or-600);flex:none;margin-top:.15rem}
.pai-mk-recap{margin:-.3rem 0 1rem}
.pai-mk-recap>div{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0}
.pai-mk-recap>div:first-child b{color:var(--vert)}
.pai-mk-bandeau{margin-bottom:1rem}
.pai-reduc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem}

/* Mes SMS */
.pai-sms-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.pai-sms-liste small{display:block;margin-top:.2rem}

/* Connexions : pilote Nimba (5 prestataires) */
.cx-p-nimba{display:none}
.cx-form:has(input[name=sms_pilote][value=nimba]:checked) .cx-p-nimba{display:block}
@supports not selector(:has(*)){.cx-p-nimba{display:block}}
.cx-pilotes .choix-cartes:has(input[value=nimba]){grid-template-columns:repeat(5,minmax(0,1fr))}

/* Reçu et relevé imprimables */
.pai-recu{font-family:var(--corps);color:#15282c}
.pai-recu-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:6mm;border-bottom:3px solid var(--canard-700)}
.pai-recu-logo{height:14mm;width:auto}
.pai-recu-emetteur{text-align:right;font-size:9pt;color:#44585c;display:flex;flex-direction:column;gap:1px}
.pai-recu-emetteur b{font-family:var(--titre);font-size:11pt;color:var(--encre)}
.pai-recu-titre{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:8mm 0 6mm;flex-wrap:wrap}
.pai-recu-titre h1{font-family:var(--titre);font-weight:900;font-size:20pt;color:var(--canard-900);margin:0;letter-spacing:-.01em}
.pai-recu-num{font-size:10pt;color:#44585c}
.pai-recu-num b{font-family:var(--titre);color:var(--encre);font-size:12pt}
.pai-recu-grille{display:grid;grid-template-columns:1fr 1fr;gap:4mm 8mm;margin-bottom:7mm}
.pai-recu-grille div{border-left:3px solid var(--cyan);padding:1mm 0 1mm 3mm}
.pai-recu-grille span{display:block;font-size:8.5pt;text-transform:uppercase;letter-spacing:.06em;color:#5d7074}
.pai-recu-grille b{display:block;font-size:11pt;overflow-wrap:anywhere}
.pai-recu-grille small{display:block;font-size:9pt;color:#44585c}
.pai-mono{font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;letter-spacing:.02em}
.pai-recu-table{width:100%;border-collapse:collapse;font-size:10.5pt}
.pai-recu-table th,.pai-recu-table td{padding:2.6mm 3mm;border-bottom:1px solid #d9e4e6;text-align:left;vertical-align:top}
.pai-recu-table thead th{background:#eaf7fa;color:var(--canard-900);font-family:var(--titre);font-size:9pt;text-transform:uppercase;letter-spacing:.05em}
.pai-recu-table tfoot th{font-family:var(--titre);font-size:12pt;color:var(--encre);border-top:2px solid var(--canard-700);border-bottom:0}
.pai-recu-table .num{text-align:right;white-space:nowrap}
.pai-recu-pied{display:flex;justify-content:space-between;align-items:center;gap:6mm;margin-top:10mm}
.pai-recu-tampon{width:30mm;height:30mm;border-radius:50%;border:3px solid var(--vert);color:var(--vert);display:grid;place-items:center;transform:rotate(-12deg);flex:none}
.pai-recu-tampon span{font-family:var(--titre);font-weight:900;font-size:14pt;text-transform:uppercase;letter-spacing:.12em}
.pai-recu-verif{text-align:right;display:flex;flex-direction:column;gap:1mm}
.pai-recu-verif span{font-size:8.5pt;text-transform:uppercase;letter-spacing:.06em;color:#5d7074}
.pai-recu-verif b{font-size:13pt;color:var(--encre)}
.pai-recu-verif small{font-size:8.5pt;color:#5d7074}
.pai-recu-mention{margin-top:8mm;font-size:9pt;color:#44585c}
.pai-recu-note{margin-top:6mm;font-size:8.5pt;color:#6b7c7f;border-top:1px solid #e3ecee;padding-top:3mm}
.pai-releve-vide{padding:10mm 0;text-align:center;color:#5d7074}
.pai-releve-annees{justify-content:flex-start}

/* Téléphone et tablette */
@media (max-width:1100px){
  .pai-types{grid-template-columns:1fr}
}
@media (max-width:960px){
  .pai-duo{grid-template-columns:1fr}
}
@media (max-width:820px){
  .page-impression .feuille.pai-recu{width:auto;min-height:0;margin:0 12px 16px;padding:18px 16px}
  .pai-recu-tete{flex-direction:column}
  .pai-recu-emetteur{text-align:left}
  .pai-recu-grille{grid-template-columns:1fr}
  .pai-recu-table{font-size:9.5pt}
  .pai-releve .pai-recu-table th:nth-child(2),.pai-releve .pai-recu-table td:nth-child(2),.pai-releve .pai-recu-table th:nth-child(4),.pai-releve .pai-recu-table td:nth-child(4){display:none}
  .pai-recu-pied{flex-direction:column-reverse;align-items:flex-start}
  .pai-recu-verif{text-align:left}
  .pai-code-cadeau{grid-template-columns:auto minmax(0,1fr)}
  .pai-code-champ{grid-column:1/-1}
}
@media (max-width:560px){
  .cx-pilotes .choix-cartes:has(input[value=nimba]){grid-template-columns:repeat(2,minmax(0,1fr))}
  .pai-mk-ligne,.pai-code-champ{flex-direction:column}
  .pai-dl{grid-template-columns:1fr;gap:.1rem}
  .pai-dl dd{margin-bottom:.4rem}
}
@media print{
  .pai-recu-table thead th{background:#eaf7fa!important}
}

/* programme.css */
/* ═══════════════════════════════════════════════════════════════
   KHARANDI 1.7.0 — PROGRAMME (7e → Terminale) · « la craie vivante »
   Charte B (bleu du logo, îles, relief) + touche « cahier » seulement dans la leçon.
   Téléphone d'abord (375 px), aucun débordement horizontal. Préfixe : pg-
   ═══════════════════════════════════════════════════════════════ */

/* ─── En-têtes des listes ─── */
.pg-entete-ligne{display:flex;align-items:flex-start;gap:1rem}
.pg-entete-ligne>div{min-width:0}
.pg-entete-ic{--c:var(--canard-700);flex:none;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--c);color:#fff;box-shadow:0 4px 0 color-mix(in srgb,var(--c) 72%,#000),0 0 0 4px rgba(255,255,255,.22)}
.pg-entete-ic .ic{width:28px;height:28px}
.pg-entete .surtitre{color:#fff}
.pg-entete .surtitre::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
.pg-entete h1{max-width:820px}
.pg-recherche{max-width:640px;margin-top:1.3rem}
.pg-recherche input{min-width:0}
.pg-recherche .btn{flex:none}
.pg-section{padding-top:clamp(1.6rem,3.5vw,2.6rem)}
.pg-fil-espace{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.82rem;color:var(--gris-600);margin-bottom:.8rem}
.pg-fil-espace a{color:var(--canard-700);text-decoration:none;font-weight:600}
.pg-entete-espace{margin-bottom:1.4rem}
.pg-entete-espace h1{font-size:clamp(1.45rem,3vw,2.1rem);margin:.25rem 0 .35rem}
.pg-entete-espace .pg-recherche{margin-top:1rem}
.pg-onglets{margin-top:1.2rem;display:inline-flex}
.pg-entete .pg-onglets{background:rgba(255,255,255,.16)}
.pg-entete .pg-onglets a{color:#fff}
.pg-entete .pg-onglets a.actif{background:#fff;color:var(--canard-900)}

/* ─── /programme ─── */
.pg-chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:0 0 1.6rem}
.pg-chiffres>div{background:#fff;border-radius:var(--r);border:1px solid var(--filet);padding:.9rem 1rem;box-shadow:var(--ombre-1)}
.pg-chiffres b{display:block;font-family:var(--titre);font-weight:900;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.1;color:var(--canard-800);letter-spacing:-.02em}
.pg-chiffres span{font-size:.82rem;color:var(--gris-600);line-height:1.3;display:block;margin-top:.15rem}
.pg-ma-classe{display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;border-radius:var(--r-l);background:var(--degrade);color:#fff;text-decoration:none;box-shadow:0 6px 0 var(--canard-900),var(--ombre-2);margin-bottom:2rem;flex-wrap:wrap}
.pg-ma-classe:hover{color:#fff;transform:translateY(-2px)}
.pg-ma-classe-ic{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:none}
.pg-ma-classe-ic .ic{width:26px;height:26px}
.pg-ma-classe small{display:block;font-size:.78rem;opacity:.85}
.pg-ma-classe b{font-family:var(--titre);font-size:1.15rem;font-weight:900}
.pg-ma-classe .btn{margin:0 0 0 auto;background:#fff;color:var(--canard-900);--relief:rgba(6,74,96,.35)}
.pg-cycle{margin-bottom:2.2rem}
.pg-cycle-tete{margin-bottom:1rem;max-width:760px}
.pg-cycle-tete h2{margin-top:.2rem}
.pg-cycle-tete p.muted{margin-top:.4rem;font-size:.92rem}
.pg-classes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.pg-classe{--c:var(--canard-700);background:#fff;border:2px solid color-mix(in srgb,var(--c) 22%,#fff);border-radius:var(--r-l);box-shadow:0 5px 0 color-mix(in srgb,var(--c) 30%,#fff),var(--ombre-1);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s}
.pg-classe:hover{transform:translateY(-3px)}
.pg-classe.mienne{border-color:var(--vert);box-shadow:0 5px 0 color-mix(in srgb,var(--vert) 40%,#fff),var(--ombre-2)}
.pg-classe-lien{position:relative;display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;text-decoration:none;color:var(--encre);flex-wrap:wrap}
.pg-classe-lien:hover{color:var(--encre)}
.pg-classe-num{flex:none;width:64px;height:64px;border-radius:20px;background:var(--degrade);color:#fff;display:grid;place-items:center;font-family:var(--titre);font-weight:900;font-size:1.45rem;letter-spacing:-.03em;box-shadow:0 4px 0 var(--canard-900)}
.pg-classe.lycee .pg-classe-num{background:var(--degrade-profond);box-shadow:0 4px 0 var(--canard-950)}
.pg-classe-txt{min-width:0;flex:1}
.pg-classe-txt b{display:block;font-family:var(--titre);font-weight:800;font-size:1.05rem}
.pg-classe-txt small{color:var(--gris-600);font-size:.84rem}
.pg-examen,.pg-ma{position:absolute;top:.7rem;right:.75rem}
.pg-ma{top:auto;bottom:.6rem}
.pg-classe-series{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;padding:0 1rem 1rem}
.pg-classe-series a{--c:var(--canard-700);display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .3rem .45rem;border-radius:14px;border:2px solid color-mix(in srgb,var(--c) 25%,#fff);background:color-mix(in srgb,var(--c) 6%,#fff);color:var(--c);text-decoration:none;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 30%,#fff);min-height:64px;justify-content:center}
.pg-classe-series a:hover{background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c)}
.pg-classe-series a.mienne{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,#fff)}
.pg-classe-series b{font-family:var(--titre);font-weight:900;font-size:.95rem;color:color-mix(in srgb,var(--c) 80%,#000)}
.pg-classe-series small{font-size:.7rem;color:var(--gris-600)}
.pg-classe-series .ic{width:18px;height:18px}
.pg-classe-prog{padding:0 1.1rem 1rem;display:flex;align-items:center;gap:.6rem}
.pg-classe-prog .barre{flex:1}
.pg-classe-prog small{font-size:.76rem;color:var(--gris-600);white-space:nowrap}
.pg-methode{margin-top:.6rem;background:linear-gradient(160deg,#fff 40%,var(--cyan-50));border:1px solid var(--cyan-100)}
.pg-methode h2{max-width:640px}
.pg-methode-etapes{list-style:none;margin:1.2rem 0 1rem;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;counter-reset:m}
.pg-methode-etapes li{position:relative;display:flex;flex-direction:column;gap:.15rem;padding:.9rem .8rem;background:#fff;border-radius:18px;border:1px solid var(--filet)}
.pg-methode-etapes li:not(:last-child)::after{content:"";position:absolute;right:-.62rem;top:1.6rem;width:.55rem;border-top:3px dotted var(--cyan-200)}
.pg-methode-ic{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900);margin-bottom:.4rem}
.pg-methode-etapes li:nth-child(1) .pg-methode-ic{background:#14A9C7;box-shadow:0 3px 0 #0A6F8C}
.pg-methode-etapes li:nth-child(3) .pg-methode-ic{background:var(--or);box-shadow:0 3px 0 var(--or-700)}
.pg-methode-etapes li:nth-child(4) .pg-methode-ic{background:#6B4FA0;box-shadow:0 3px 0 #4F3A78}
.pg-methode-etapes li:nth-child(5) .pg-methode-ic{background:var(--vert);box-shadow:0 3px 0 #146741}
.pg-methode-etapes b{font-family:var(--titre);font-weight:800;font-size:.92rem;color:var(--encre)}
.pg-methode-etapes small{font-size:.8rem;color:var(--gris-600);line-height:1.35}
.pg-resultats{margin-bottom:2rem}
.pg-resultats h2{font-size:clamp(1.1rem,2vw,1.4rem)}

/* ─── Listes de leçons ─── */
.pg-liste-lecons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.pg-lecon-el{--c:var(--canard-700);display:flex;align-items:center;gap:.8rem;padding:.6rem .75rem;border-radius:16px;border:1.5px solid var(--filet);background:#fff;text-decoration:none;color:var(--encre);min-height:56px;transition:border-color .15s,background .15s,transform .15s}
.pg-lecon-el:hover{border-color:color-mix(in srgb,var(--c) 45%,#fff);background:color-mix(in srgb,var(--c) 4%,#fff);color:var(--encre);transform:translateX(2px)}
.pg-lecon-num{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--titre);font-weight:900;font-size:.85rem;color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);border:2px solid color-mix(in srgb,var(--c) 28%,#fff)}
.pg-lecon-num .ic{width:18px;height:18px}
.pg-lecon-el.faite .pg-lecon-num{background:var(--or);border-color:var(--or);color:#fff;box-shadow:0 3px 0 var(--or-700)}
.pg-lecon-el.suivante{border-color:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 12%,transparent)}
.pg-lecon-el.suivante .pg-lecon-num{background:var(--c);border-color:var(--c);color:#fff}
.pg-lecon-ic{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--c);color:#fff}
.pg-lecon-ic .ic{width:20px;height:20px}
.pg-lecon-txt{flex:1;min-width:0}
.pg-lecon-txt b{display:block;font-weight:700;font-size:.95rem;line-height:1.3;overflow-wrap:anywhere}
.pg-lecon-txt small{display:block;color:var(--gris-600);font-size:.78rem;line-height:1.35;margin-top:.1rem}
.pg-lecon-duree{flex:none;font-size:.78rem;color:var(--gris-600);font-weight:600;white-space:nowrap}
.pg-lecon-verrou{flex:none;color:var(--or-600)}
.pg-coche{flex:none;width:28px;height:28px;border-radius:50%;background:var(--or);color:#fff;display:grid;place-items:center}
.pg-coche .ic{width:16px;height:16px}

/* ─── Séries ─── */
.pg-series{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pg-serie{--c:var(--canard-700);position:relative;display:flex;flex-direction:column;gap:.3rem;padding:1.3rem 1.2rem 1.2rem;border-radius:var(--r-l);background:#fff;border:2px solid color-mix(in srgb,var(--c) 24%,#fff);box-shadow:0 6px 0 color-mix(in srgb,var(--c) 32%,#fff),var(--ombre-1);text-decoration:none;color:var(--encre);transition:transform .15s}
.pg-serie:hover{transform:translateY(-3px);color:var(--encre)}
.pg-serie.mienne{border-color:var(--c)}
.pg-serie-ic{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:var(--c);color:#fff;box-shadow:0 4px 0 color-mix(in srgb,var(--c) 70%,#000);margin-bottom:.5rem}
.pg-serie-ic .ic{width:26px;height:26px}
.pg-serie-code{position:absolute;right:1.1rem;top:1rem;font-family:var(--titre);font-weight:900;font-size:2.4rem;line-height:1;color:color-mix(in srgb,var(--c) 18%,#fff);letter-spacing:-.04em}
.pg-serie b{font-family:var(--titre);font-weight:900;font-size:1.12rem}
.pg-serie>small{color:var(--gris-600)}
.pg-serie-mats{font-size:.85rem;color:var(--texte);margin-top:.3rem}
.pg-serie-prog{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}
.pg-serie-prog .barre{flex:1}
.pg-serie-prog small{font-size:.75rem;color:var(--gris-600);white-space:nowrap}
.pg-serie-go{margin-top:.6rem;align-self:flex-end;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 10%,#fff);color:var(--c)}
.pg-serie .pg-ma{position:static;align-self:flex-start;margin-top:.4rem}

/* ─── Matières d'une classe ─── */
.pg-bilan{display:flex;align-items:center;gap:1rem;margin-bottom:1.3rem}
.pg-anneau{flex:none;width:68px;height:68px}
.pg-alerte-compte{margin-bottom:1.3rem}
.pg-matieres{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem}
.pg-mat{--c:var(--canard-700);position:relative;display:flex;align-items:center;gap:.9rem;padding:1rem;border-radius:22px;background:#fff;border:2px solid color-mix(in srgb,var(--c) 22%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--c) 32%,#fff),0 14px 24px -16px rgba(7,90,115,.3);text-decoration:none;color:var(--encre);transition:transform .15s,box-shadow .15s}
.pg-mat:hover{transform:translateY(-3px);color:var(--encre);box-shadow:0 8px 0 color-mix(in srgb,var(--c) 32%,#fff),0 18px 30px -16px rgba(7,90,115,.35)}
.pg-mat:active{transform:translateY(3px);box-shadow:0 2px 0 color-mix(in srgb,var(--c) 32%,#fff)}
.pg-mat-ic{flex:none;width:56px;height:56px;border-radius:18px;background:var(--c);color:#fff;display:grid;place-items:center;box-shadow:0 4px 0 color-mix(in srgb,var(--c) 72%,#000)}
.pg-mat-ic .ic{width:28px;height:28px}
.pg-mat-txt{flex:1;min-width:0}
.pg-mat-txt b{display:block;font-family:var(--titre);font-weight:800;font-size:1.02rem;line-height:1.2}
.pg-mat-txt small{color:var(--gris-600);font-size:.8rem}
.pg-mat-prog{display:flex;align-items:center;gap:.5rem;margin-top:.45rem}
.pg-mat-prog .barre{flex:1;height:7px}
.pg-mat-prog .barre i{background:var(--c)}
.pg-mat-prog small{font-family:var(--titre);font-weight:800;font-size:.72rem;color:var(--c)}
.pg-mat-fini{color:var(--or);flex:none}
.pg-mat-go{flex:none;color:color-mix(in srgb,var(--c) 60%,#fff)}

/* ─── Une matière ─── */
.pg-matiere-grille{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.4rem;align-items:start}
.pg-matiere-cote{position:sticky;top:calc(var(--entete) + 1rem);display:flex;flex-direction:column;gap:1rem}
.corps-espace .pg-matiere-cote{top:5.2rem}
.pg-resume-tete{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}
.pg-resume-tete b{display:block;font-family:var(--titre);font-weight:900;font-size:1.25rem;color:var(--encre)}
.pg-resume .btn{white-space:normal;text-align:center}
.pg-bravo{display:flex;gap:.5rem;align-items:center;font-weight:700;color:var(--or-texte);margin:0}
.pg-chapitres-nav ol{margin:0;padding-left:1.3rem;display:flex;flex-direction:column;gap:.3rem;font-size:.88rem}
.pg-chapitres-nav a{color:var(--texte);text-decoration:none}
.pg-chapitres-nav a:hover{color:var(--canard-700);text-decoration:underline}
.pg-chapitres{display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.pg-chapitre{scroll-margin-top:calc(var(--entete) + 1rem)}
.pg-chapitre-tete{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem}
.pg-chapitre-tete>div{flex:1;min-width:0}
.pg-chapitre-tete h2{font-size:clamp(1.05rem,2vw,1.3rem);margin:0;line-height:1.25}
.pg-chapitre-num{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--c);color:#fff;font-family:var(--titre);font-weight:900;font-size:1.1rem;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}

/* ═══ LA LEÇON ═══ */
.pg-page-lecon{padding-top:1rem;padding-bottom:3rem}
.pg-lecon{--c:var(--canard-700);max-width:790px;margin:0 auto;position:relative}
.pg-barre-lecture{position:fixed;left:0;right:0;top:0;height:4px;z-index:70;pointer-events:none}
.pg-barre-lecture i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--canard-600),var(--or));transform-origin:0 50%;transform:scaleX(0)}
html:not(.pg-js) .pg-barre-lecture{display:none}
/* Le chemin */
.pg-chemin{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:.3rem 0 .9rem;font-size:.82rem;color:var(--gris-600)}
.pg-ile{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem .3rem .35rem;min-height:36px;border-radius:999px;background:#fff;border:1px solid var(--filet);font-weight:700;color:var(--canard-900);text-decoration:none;box-shadow:0 2px 0 var(--filet)}
.pg-ile:hover{border-color:var(--cyan-200);color:var(--canard-900)}
.pg-ile-rond{width:22px;height:22px;border-radius:50%;display:block;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--c) 40%,#fff),var(--c))}
.pg-ile-rond.or{background:radial-gradient(circle at 35% 35%,#FFE3A3,var(--or))}
.pg-pas{width:16px;border-top:2px dotted var(--gris-200)}
.pg-chemin-ch{color:var(--gris-600);text-decoration:none;line-height:1.35;flex:1 1 100%}
.pg-chemin-ch:hover{color:var(--canard-700);text-decoration:underline}
/* L'en-tête : la craie */
.pg-tete{position:relative;overflow:hidden;background:#fff;border-radius:28px;padding:1.4rem 1.25rem 1.2rem;box-shadow:var(--ombre-2);border:1px solid rgba(7,90,115,.06)}
.pg-tete::after{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 12%,#fff) 0 60%,transparent 61%);pointer-events:none}
.pg-tete>*{position:relative;z-index:1}
.pg-tete-pastilles{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.8rem}
.pg-pastille{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--titre);font-weight:800;font-size:.68rem;line-height:1.2;letter-spacing:.07em;text-transform:uppercase;padding:.45rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--c) 11%,#fff);color:color-mix(in srgb,var(--c) 78%,#000)}
.pg-pastille .ic{width:14px;height:14px}
.pg-pastille.or{background:var(--or-50);color:var(--or-texte)}
.pg-pastille.vert{background:var(--vert-50);color:var(--vert)}
.pg-pastille.gris{background:var(--gris-50);color:var(--gris-600)}
.pg-tete-num{margin:0 0 .2rem;font-size:.8rem;font-weight:700;color:var(--gris-500)}
.pg-titre{font-size:clamp(1.75rem,6.4vw,2.65rem);font-weight:900;line-height:1.08;letter-spacing:-.025em;margin:0;overflow-wrap:break-word;hyphens:auto}
.pg-trait{display:block;width:min(260px,70%);height:14px;margin:.4rem 0 .9rem;overflow:visible}
.pg-trait path{fill:none;stroke:var(--or);stroke-width:5;stroke-linecap:round;stroke-dasharray:280;stroke-dashoffset:0}
.pg-craie .pg-trait path{animation:pg-trait 1.1s cubic-bezier(.6,.05,.3,1) .35s both}
@keyframes pg-trait{from{stroke-dashoffset:280}to{stroke-dashoffset:0}}
.pg-idee{font-size:clamp(1.05rem,2.6vw,1.2rem);line-height:1.5;color:var(--encre);font-weight:500;margin:0 0 1rem;max-width:36em}
.pg-infos{list-style:none;margin:0 0 1rem;padding:0;display:flex;gap:.45rem;flex-wrap:wrap}
.pg-infos li{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:11px;border:1px solid var(--filet);font-size:.82rem;color:var(--gris-600);background:#fff}
.pg-infos .ic{width:15px;height:15px;color:var(--c)}
.pg-objectifs{background:var(--cyan-50);border-radius:18px;padding:.95rem 1rem;margin-bottom:1rem}
.pg-mini-titre{font-family:var(--titre);font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--canard-800);margin:0 0 .5rem}
.pg-coches{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.pg-coches li{position:relative;padding-left:1.8rem;font-size:.95rem;line-height:1.45}
.pg-coches li::before{content:"";position:absolute;left:0;top:.12rem;width:19px;height:19px;border-radius:6px;background:var(--canard-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat}
.pg-prerequis{display:flex;gap:.5rem;align-items:flex-start;margin:.8rem 0 0;padding-top:.7rem;border-top:1px dashed var(--cyan-200);font-size:.88rem;color:var(--texte)}
.pg-prerequis .ic{flex:none;margin-top:.15rem;color:var(--canard-600)}
.pg-outils{display:flex;flex-wrap:wrap;gap:.5rem}
.pg-outils .btn{margin-bottom:3px}
.pg-outils .garde-ok{background:var(--vert-50);color:var(--vert);--relief:#bfe5d0}
/* Sommaire */
.pg-sommaire{display:flex;gap:.45rem;overflow-x:auto;padding:.9rem 2px .6rem;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pg-sommaire::-webkit-scrollbar{display:none}
.pg-sommaire a{flex:none;display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem .4rem .45rem;min-height:40px;border-radius:999px;background:#fff;border:1px solid var(--filet);font-size:.84rem;font-weight:700;color:var(--canard-900);text-decoration:none;white-space:nowrap}
.pg-sommaire a:hover{border-color:var(--cyan-200);background:var(--cyan-50)}
.pg-sommaire span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--cyan-50);font-family:var(--titre);font-weight:900;font-size:.75rem;color:var(--canard-700)}
/* Sections */
.pg-bloc{margin-top:1.8rem}
.pg-etiquette{display:flex;align-items:center;gap:.65rem;margin:0 0 .8rem;font-family:var(--titre);font-weight:900;font-size:.88rem;letter-spacing:.1em;text-transform:uppercase;color:var(--canard-900);scroll-margin-top:calc(var(--entete) + 1rem)}
.corps-espace .pg-etiquette{scroll-margin-top:5rem}
.pg-etiquette-n{font-size:.78rem;color:var(--gris-400);letter-spacing:0}
.pg-etiquette-n::after{content:" ·"}
.pg-pic{--pc:var(--canard-700);width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--pc);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--pc) 70%,#000);flex:none}
.pg-pic .ic{width:21px;height:21px}
.pg-pic-decouvre{--pc:#14A9C7}.pg-pic-comprends{--pc:#0B7FA0}.pg-pic-retiens{--pc:#D99A22}.pg-pic-erreurs{--pc:#C2412D}.pg-pic-exerce{--pc:#6B4FA0}.pg-pic-qcm{--pc:#1E8E5A}
.pg-carte{background:#fff;border:1px solid var(--filet);border-radius:22px;padding:1.1rem 1.15rem;box-shadow:0 1px 0 rgba(7,90,115,.03)}
/* Le texte du cours */
.pg-texte{font-size:1rem;line-height:1.68;color:var(--texte);overflow-wrap:break-word}
.pg-texte>:first-child{margin-top:0}
.pg-texte>:last-child{margin-bottom:0}
.pg-texte p{margin:0 0 .75em}
.pg-texte strong{color:var(--encre)}
.pg-texte ul,.pg-texte ol{margin:0 0 .85em;padding-left:1.35rem}
.pg-texte li{margin:.2em 0}
.pg-texte li::marker{color:var(--c);font-weight:700}
.pg-h3{position:relative;font-size:1.08rem;font-weight:800;margin:1.6rem 0 .55rem;padding-left:.8rem;line-height:1.3}
.pg-h3::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:4px;border-radius:4px;background:var(--c)}
.pg-texte .ap-msg-titre{margin:1rem 0 .4rem}
.pg-texte .ap-tableau{margin:.8rem 0 1rem;background:#fff}
.pg-texte .ap-tableau table{font-size:.92rem}
.pg-texte .ks-fig{margin:1rem 0 1.1rem;box-shadow:none;border-radius:20px}
.pg-texte .ks-boite{margin:1rem 0}
.pg-texte .ks-boite p{margin-bottom:.45em}
.pg-texte code{background:var(--gris-50);padding:.05em .35em;border-radius:6px;font-size:.9em}
.pg-texte .ap-code{overflow-x:auto;background:var(--gris-50);padding:.7rem .9rem;border-radius:12px;font-size:.88rem}
.pg-question{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 0!important;padding:.8rem .95rem;border-radius:16px;background:var(--or-50);border:1px solid var(--or-100);color:var(--encre);font-weight:700;line-height:1.45}
.pg-question .ic{flex:none;width:22px;height:22px;color:var(--or-600);margin-top:.05rem}
/* Je retiens : la page de cahier */
.pg-cahier{position:relative;border-radius:18px;padding:.6rem 1.1rem 1.1rem 3.3rem;background-color:#FFFEFA;background-image:linear-gradient(90deg,transparent 2.35rem,var(--marge) 2.35rem,var(--marge) calc(2.35rem + 2px),transparent calc(2.35rem + 2px)),repeating-linear-gradient(180deg,transparent 0 31px,var(--seyes) 31px 32px),repeating-linear-gradient(180deg,transparent 0 7px,var(--seyes-fin) 7px 8px);background-position:0 0,0 6px,0 6px;border:1px solid rgba(7,90,115,.1);box-shadow:var(--ombre-1)}
.pg-cahier-titre{font-family:var(--main);font-weight:700;font-size:1.9rem;line-height:32px;color:var(--stylo);margin:0 0 0;padding-top:0}
.pg-cahier-texte{font-family:var(--main);font-weight:600;font-size:1.42rem;line-height:32px;color:var(--canard-950)}
.pg-cahier-texte p,.pg-cahier-texte ul,.pg-cahier-texte ol{margin:0}
.pg-cahier-texte ul,.pg-cahier-texte ol{padding-left:1.2rem}
.pg-cahier-texte li::marker{color:var(--stylo)}
.pg-cahier-texte strong{font-weight:700;color:var(--canard-800);background:linear-gradient(transparent 62%,rgba(226,169,63,.35) 62% 92%,transparent 92%)}
.pg-cahier-texte .km{font-family:var(--corps);font-size:.72em;font-weight:600}
.pg-cahier-texte .ap-tableau{font-family:var(--corps);font-size:.66em;line-height:1.5;background:#fff;margin:.3rem 0}
/* Erreurs fréquentes */
.pg-erreurs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}
.pg-erreurs li{display:flex;gap:.7rem;align-items:flex-start;padding:.75rem .9rem;border-radius:16px;background:var(--rouge-50);border:1px solid color-mix(in srgb,var(--rouge) 18%,#fff);line-height:1.5;font-size:.96rem}
.pg-erreurs li>.ic{flex:none;width:24px;height:24px;padding:4px;border-radius:50%;background:var(--rouge);color:#fff;margin-top:.05rem}
/* Exercices */
.pg-exercice{background:#fff;border:1px solid var(--filet);border-left:5px solid #6B4FA0;border-radius:18px;padding:.95rem 1.05rem 1rem;margin-bottom:.8rem}
.pg-exercice-n{display:flex;align-items:center;gap:.55rem;margin:0 0 .55rem;font-family:var(--titre);font-weight:800;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:#4F3A78}
.pg-exercice-n span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#6B4FA0;color:#fff;font-size:.85rem;letter-spacing:0}
.pg-corrige{margin-top:.8rem}
.pg-corrige>summary{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.5rem .95rem;border-radius:12px;background:#F1EDF8;color:#4F3A78;font-family:var(--titre);font-weight:800;font-size:.86rem;cursor:pointer;list-style:none;box-shadow:0 3px 0 #DCD2EE;user-select:none}
.pg-corrige>summary::-webkit-details-marker{display:none}
.pg-corrige>summary:hover{background:#E8E1F4}
.pg-corrige .pg-cacher,.pg-corrige[open] .pg-voir{display:none}
.pg-corrige[open] .pg-cacher{display:inline}
.pg-corrige>.pg-texte{margin-top:.8rem;padding:.9rem 1rem;border-radius:14px;background:#FFFDF7;border:1.5px dashed color-mix(in srgb,var(--stylo) 45%,#fff);position:relative}
.pg-corrige>.pg-texte::before{content:"Corrigé";display:block;font-family:var(--main);font-weight:700;font-size:1.35rem;line-height:1;color:var(--stylo);margin-bottom:.45rem}
.pg-corrige-seul{margin-top:.2rem}
.pg-conseil{display:flex;gap:.45rem;align-items:flex-start;font-size:.85rem;color:var(--gris-600);margin:.4rem 0 0}
.pg-conseil .ic{flex:none;color:var(--or-600)}
/* QCM */
.pg-qcm-intro{font-size:.92rem;margin:0 0 .8rem}
.pg-q{border:1px solid var(--filet);border-radius:22px;padding:1rem 1rem 1.05rem;margin:0 0 .8rem;background:#fff;min-width:0}
.pg-q legend{float:left;width:100%;display:flex;gap:.6rem;align-items:flex-start;padding:0;margin:0 0 .7rem;font-family:var(--corps);font-weight:700;font-size:1rem;line-height:1.45;color:var(--encre)}
.pg-q legend+*{clear:both}
.pg-q-n{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--vert);color:#fff;font-family:var(--titre);font-weight:900;font-size:.85rem;box-shadow:0 3px 0 #146741}
.pg-choix{display:flex;flex-direction:column;gap:.45rem}
.pg-choix-el{position:relative;display:flex;align-items:center;gap:.7rem;min-height:50px;padding:.5rem .8rem .5rem .55rem;border-radius:14px;border:2px solid var(--filet);background:var(--fond);cursor:pointer;line-height:1.35;transition:border-color .15s,background .15s}
.pg-choix-el:hover{border-color:var(--cyan-200);background:#fff}
.pg-choix-el input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pg-lettre{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--gris-200);font-family:var(--titre);font-weight:900;font-size:.85rem;color:var(--canard-800)}
.pg-choix-txt{flex:1;min-width:0;overflow-wrap:anywhere}
.pg-choix-el:has(input:checked){border-color:var(--canard-600);background:var(--cyan-50)}
.pg-choix-el:has(input:focus-visible){outline:3px solid var(--cyan);outline-offset:2px}
.pg-choix-el.bonne,.pg-choix-el.bonne:has(input:checked){border-color:var(--vert);background:var(--vert-50)}
.pg-choix-el.bonne .pg-lettre{background:var(--vert);border-color:var(--vert);color:#fff}
.pg-choix-el.fausse,.pg-choix-el.fausse:has(input:checked){border-color:var(--rouge);background:var(--rouge-50)}
.pg-choix-el.fausse .pg-lettre{background:var(--rouge);border-color:var(--rouge);color:#fff}
.pg-marque{flex:none;font-weight:900;font-size:1.1rem}
.pg-choix-el.bonne .pg-marque::after{content:"✓";color:var(--vert)}
.pg-choix-el.fausse .pg-marque::after{content:"✗";color:var(--rouge)}
.pg-q.repondu .pg-choix-el{cursor:default}
.pg-q.repondu .pg-choix-el:not(.bonne):not(.fausse){opacity:.6}
.pg-q-retour{margin:.7rem 0 0;padding:.7rem .85rem;border-radius:14px;font-size:.93rem;line-height:1.5}
.pg-q.juste .pg-q-retour{background:var(--vert-50);color:#155d3c}
.pg-q.faux .pg-q-retour{background:var(--or-50);color:#6b4a07}
.pg-q-reponse{margin-top:.7rem;font-size:.92rem}
.pg-q-reponse summary{cursor:pointer;font-weight:700;color:var(--canard-700);min-height:36px;display:inline-flex;align-items:center}
.pg-q-reponse p{margin:.4rem 0 0;padding:.6rem .8rem;border-radius:12px;background:var(--vert-50)}
.pg-js .pg-q-reponse{display:none}
.pg-score{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:1rem 1.1rem;border-radius:20px;background:#fff;border:2px solid var(--filet);box-shadow:var(--ombre-1)}
.pg-score>div{display:flex;align-items:center;gap:.7rem}
.pg-score b{font-family:var(--titre);font-weight:900;font-size:1.5rem;color:var(--encre)}
.pg-score p{flex:1 1 220px;color:var(--texte);font-size:.95rem}
.pg-score.bien{border-color:var(--vert);background:linear-gradient(135deg,#fff,var(--vert-50))}
.pg-etoiles{font-size:1.5rem;letter-spacing:.15em;color:var(--or);line-height:1}
.pg-score .btn{margin-bottom:3px}
/* Fin de leçon */
.pg-fin{margin-top:2rem;scroll-margin-top:calc(var(--entete) + 1rem)}
.pg-fin-carte{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem 1.15rem;border-radius:24px;background:linear-gradient(150deg,#fff 30%,var(--cyan-50));border:2px solid var(--cyan-100);box-shadow:var(--ombre-1)}
.pg-fin-carte b{font-family:var(--titre);font-weight:900;font-size:1.12rem;color:var(--encre);display:block;margin-bottom:.25rem}
.pg-fin-carte p{font-size:.94rem}
.pg-fin-carte form{margin:0}
.pg-fin-carte .btn{white-space:normal;text-align:left}
.pg-fin-ic{flex:none;width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--canard-700);color:#fff;box-shadow:0 4px 0 var(--canard-900)}
.pg-fin-ic .ic{width:26px;height:26px}
.pg-fin-ic.ok{background:var(--or);box-shadow:0 4px 0 var(--or-700)}
.pg-karamo{display:grid;grid-template-columns:64px minmax(0,1fr);gap:.8rem;align-items:end;margin-top:1.2rem}
.pg-karamo img{width:64px;height:auto}
.pg-bulle{background:#fff;border:1px solid var(--filet);border-radius:20px 20px 20px 6px;padding:.85rem 1rem;box-shadow:var(--ombre-1);font-size:.94rem;line-height:1.5}
.pg-bulle b{color:var(--encre)}
.pg-bulle .btn{display:flex;width:max-content;max-width:100%;margin-top:.6rem}
/* Suite */
.pg-suite{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:2rem}
.pg-suite a{display:flex;flex-direction:column;gap:.25rem;padding:.95rem 1rem;border-radius:18px;border:1.5px solid var(--filet);background:#fff;text-decoration:none;color:var(--encre);min-width:0;transition:border-color .15s,transform .15s}
.pg-suite a:hover{border-color:var(--cyan-200);transform:translateY(-2px);color:var(--encre)}
.pg-suite small{display:inline-flex;align-items:center;gap:.3rem;color:var(--gris-600);font-weight:600;font-size:.78rem}
.pg-suite b{font-family:var(--titre);font-weight:800;font-size:.93rem;line-height:1.3;overflow-wrap:anywhere}
.pg-suite-suiv{text-align:right;align-items:flex-end;background:linear-gradient(135deg,#fff,var(--cyan-50))!important}
.pg-suite-verrou{display:inline-flex;align-items:center;gap:.25rem;font-size:.74rem;font-weight:700;color:var(--or-texte)}
.pg-retour-matiere{text-align:center;margin:1.3rem 0 0}
.pg-note{text-align:center;font-size:.8rem;color:var(--gris-500);margin:.8rem 0 0}
.pg-verrou{margin-top:1.4rem}

/* ─── La craie vivante (seulement si programme.js a préparé le schéma ; sinon tout reste visible) ─── */
.pg-trace{stroke-dasharray:var(--l);stroke-dashoffset:0}
.pg-craie .pg-anime:not(.pg-dessine) .pg-trace{stroke-dashoffset:var(--l)}
.pg-craie .pg-anime:not(.pg-dessine) .pg-remplit,.pg-craie .pg-anime:not(.pg-dessine) .pg-ecrit{opacity:0}
.pg-craie .pg-anime:not(.pg-dessine) .pg-glisse{opacity:0;transform:translateX(-10px)}
.pg-dessine .pg-glisse{animation:pg-glisse .5s cubic-bezier(.3,.7,.4,1) var(--t,0s) both}
@keyframes pg-glisse{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.pg-dessine .pg-trace{animation:pg-craie var(--d,.9s) cubic-bezier(.55,.1,.35,1) var(--t,0s) both}
.pg-dessine .pg-remplit{animation:pg-apparait .5s ease-out var(--t,0s) both}
.pg-dessine .pg-ecrit{animation:pg-apparait .45s ease-out var(--t,0s) both}
@keyframes pg-craie{from{stroke-dashoffset:var(--l)}to{stroke-dashoffset:0}}
@keyframes pg-apparait{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .pg-craie .pg-trait path,.pg-dessine .pg-trace,.pg-dessine .pg-remplit,.pg-dessine .pg-ecrit{animation:none}
  .pg-craie .pg-anime:not(.pg-dessine) .pg-trace{stroke-dashoffset:0}
  .pg-craie .pg-anime:not(.pg-dessine) .pg-remplit,.pg-craie .pg-anime:not(.pg-dessine) .pg-ecrit,.pg-craie .pg-anime:not(.pg-dessine) .pg-glisse{opacity:1;transform:none}
  .pg-dessine .pg-glisse{animation:none}
  .pg-lecon-el,.pg-mat,.pg-classe,.pg-serie{transition:none}
}

/* ─── Entrées : accueil de l'élève et accueil du site ─── */
.pg-entree{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;padding:1.15rem 1.2rem;border-radius:var(--r-l);background:var(--degrade-profond);color:#E6F7FA;text-decoration:none;box-shadow:0 6px 0 var(--canard-950),var(--ombre-2);margin:0 0 1.4rem;position:relative;overflow:hidden}
.pg-entree::before{content:"";position:absolute;right:-60px;top:-90px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08)}
.pg-entree>*{position:relative}
.pg-entree-ic{width:58px;height:58px;border-radius:19px;background:#fff;color:var(--canard-800);display:grid;place-items:center;box-shadow:0 4px 0 rgba(0,0,0,.18)}
.pg-entree-ic .ic{width:30px;height:30px}
.pg-entree h2{color:#fff;font-size:clamp(1.1rem,2.2vw,1.4rem);margin:0 0 .2rem}
.pg-entree p{margin:0;font-size:.9rem;color:#CFEFF5}
.pg-entree .surtitre{color:#fff;margin-bottom:.3rem}
.pg-entree .surtitre::before{background:var(--or);box-shadow:0 0 0 4px rgba(226,169,63,.3)}
.pg-entree-prog{grid-column:1/-1;display:flex;align-items:center;gap:.7rem}
.pg-entree-prog .barre{flex:1;background:rgba(255,255,255,.18)}
.pg-entree-prog .barre i{background:var(--or)}
.pg-entree-prog small{font-family:var(--titre);font-weight:800;font-size:.78rem;color:#fff;white-space:nowrap}
.pg-entree-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.6rem}
.pg-entree-actions .btn{margin-bottom:4px;white-space:normal;text-align:left}
.pg-entree-actions .btn-or{background:#fff;color:var(--canard-900);--relief:rgba(0,0,0,.25)}
.pg-entree-actions .btn-fantome{--relief:rgba(0,0,0,.15)}
.pg-accueil{padding-bottom:0}
.pg-accueil-carte{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.6rem;align-items:center;padding:clamp(1.4rem,3vw,2.2rem);border-radius:var(--r-xl);background:var(--degrade-profond);color:#E6F7FA;box-shadow:var(--ombre-3)}
.pg-accueil-carte::before{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.07)}
.pg-accueil-carte>*{position:relative}
.pg-accueil-carte h2{color:#fff;font-size:clamp(1.45rem,3vw,2.1rem)}
.pg-accueil-carte .surtitre{color:#fff}
.pg-accueil-carte .surtitre::before{background:var(--or);box-shadow:0 0 0 4px rgba(226,169,63,.3)}
.pg-accueil-carte p{color:#D2EEF3}
.pg-accueil-carte .groupe-btn .btn-or{background:#fff;color:var(--canard-900);--relief:rgba(0,0,0,.25)}
.pg-accueil-classes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
.pg-accueil-classes a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:84px;padding:.6rem .3rem;border-radius:18px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;box-shadow:0 4px 0 rgba(0,0,0,.15);transition:background .15s,transform .15s}
.pg-accueil-classes a:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);color:#fff}
.pg-accueil-classes b{font-family:var(--titre);font-weight:900;font-size:1.3rem;line-height:1.1}
.pg-accueil-classes small{font-size:.72rem;color:#BFE6EE}
.pg-accueil-classes a.tle{grid-column:span 2}
.pg-accueil-classes a.examen{background:rgba(226,169,63,.2);border-color:rgba(226,169,63,.55)}
.pg-catalogue{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding:.9rem 1rem;border-radius:var(--r);background:#fff;border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100);margin-bottom:1.3rem;text-decoration:none;color:var(--encre)}
.pg-catalogue:hover{color:var(--encre);border-color:var(--cyan-200)}
.pg-catalogue .pastille-icone{margin:0}
.pg-catalogue>span:nth-child(2){flex:1 1 220px;min-width:0}
.pg-catalogue b{display:block;font-family:var(--titre);font-weight:800}
.pg-catalogue small{color:var(--gris-600)}

/* ─── Direction ─── */
.pg-admin-colonnes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}
.pg-admin-top{margin:0;padding-left:1.3rem;display:flex;flex-direction:column;gap:.55rem;font-size:.9rem}
.pg-admin-top li{padding-bottom:.45rem;border-bottom:1px solid var(--filet)}
.pg-admin-top small{display:block}
.pg-admin-top b{display:block;font-size:.82rem;color:var(--canard-800)}
.pg-admin-pastille{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--c);color:#fff;vertical-align:middle}
.pg-admin-pastille .ic{width:15px;height:15px}

/* ─── Écrans moyens et petits ─── */
@media (max-width:980px){
  .pg-matiere-grille{grid-template-columns:minmax(0,1fr)}
  .pg-matiere-cote{position:static}
  .pg-chapitres-nav ol{list-style:none;padding:0;flex-direction:row;overflow-x:auto;gap:.4rem;scrollbar-width:none;padding-bottom:.2rem}
  .pg-chapitres-nav ol::-webkit-scrollbar{display:none}
  .pg-chapitres-nav li{flex:none}
  .pg-chapitres-nav a{display:inline-flex;align-items:center;min-height:38px;padding:.35rem .75rem;border-radius:999px;background:var(--cyan-50);white-space:nowrap;font-weight:600;color:var(--canard-900)}
  .pg-methode-etapes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pg-methode-etapes li::after{display:none}
  .pg-series{grid-template-columns:minmax(0,1fr)}
  .pg-admin-colonnes{grid-template-columns:minmax(0,1fr)}
  .pg-accueil-carte{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .pg-chiffres{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .pg-classes{grid-template-columns:minmax(0,1fr)}
  .pg-methode-etapes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-methode-etapes li:last-child{grid-column:1/-1}
  .pg-recherche{padding-left:.8rem}
  .pg-recherche .btn{padding-left:.9rem;padding-right:.9rem}
  .pg-matieres{grid-template-columns:minmax(0,1fr)}
  .pg-entete-ic{width:48px;height:48px;border-radius:15px}
  .pg-entete-ic .ic{width:24px;height:24px}
  .pg-tete{padding:1.2rem 1rem 1rem;border-radius:24px}
  .pg-carte{padding:1rem .95rem;border-radius:20px}
  .pg-texte{font-size:.98rem}
  .pg-cahier{padding:.5rem .85rem 1rem 2.6rem;background-image:linear-gradient(90deg,transparent 1.75rem,var(--marge) 1.75rem,var(--marge) calc(1.75rem + 2px),transparent calc(1.75rem + 2px)),repeating-linear-gradient(180deg,transparent 0 31px,var(--seyes) 31px 32px),repeating-linear-gradient(180deg,transparent 0 7px,var(--seyes-fin) 7px 8px)}
  .pg-cahier-texte{font-size:1.32rem}
  .pg-exercice{padding:.85rem .85rem .9rem}
  .pg-q{padding:.9rem .8rem}
  .pg-fin-carte{flex-direction:column;gap:.7rem}
  .pg-suite{grid-template-columns:minmax(0,1fr)}
  .pg-suite-suiv{order:-1}
  .pg-lecon-duree{display:none}
  .pg-accueil-classes{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}
  .pg-accueil-classes a{min-height:70px;border-radius:15px}
  .pg-accueil-classes b{font-size:1.1rem}
  .pg-ma-classe .btn{margin-left:0;width:100%}
  .pg-entree{grid-template-columns:minmax(0,1fr)}
  .pg-entree-ic{width:48px;height:48px;border-radius:16px}
}

/* ─── Impression : une leçon propre, corrigés ouverts, sans boutons ─── */
@media print{
  .pg-barre-lecture,.pg-outils,.pg-sommaire,.pg-fin,.pg-suite,.pg-retour-matiere,.pg-chemin,.pg-q-retour,.pg-score,.pg-qcm-intro,.pg-conseil,.karamo-fab,.entete,.pied,.espace-menu,.espace-barre,.nav-mobile,.tiroir{display:none!important}
  body{background:#fff}
  .pg-page-lecon,.espace-contenu{padding:0!important}
  .pg-lecon{max-width:none}
  .pg-tete,.pg-carte,.pg-exercice,.pg-q,.pg-cahier{box-shadow:none!important;break-inside:avoid-page}
  .pg-tete::after{display:none}
  .pg-bloc{break-before:auto;margin-top:1.1rem}
  .pg-etiquette{break-after:avoid}
  .pg-trace,.pg-remplit,.pg-ecrit,.pg-glisse,.pg-trait path{animation:none!important;stroke-dashoffset:0!important;opacity:1!important;transform:none!important}
  .pg-corrige>summary{display:none}
  .pg-corrige>.pg-texte{margin-top:.4rem}
  .pg-js .pg-q-reponse{display:block}
  .pg-q-reponse summary{display:none}
  .pg-choix-el{background:#fff!important;min-height:0}
  .ks-fig,.ap-tableau{break-inside:avoid}
}
@media (min-width:981px){.pg-classes-lycee{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pg-chemin .pg-pas:nth-of-type(2){display:none}
@media (min-width:700px){.pg-sommaire{flex-wrap:wrap;overflow:visible}}
.pg-cahier-texte>p{position:relative}
.pg-cahier-texte>p::before{content:"";position:absolute;left:-.85rem;top:14px;width:6px;height:6px;border-radius:50%;background:var(--stylo);opacity:.75}
/* 1.8.0 — formules longues (137 leçons débordaient à 390 px, ex. /lecon/9e-maths-01). Le rendu marque « km-long » les formules
   de plus de 24 caractères (texte inchangé). Sur téléphone et tablette, seules celles-ci passent à la ligne à leurs espaces,
   fractions comprises ; les formules courtes restent d'un seul tenant et le grand écran ne change pas. */
@media (max-width:900px){
  .pg-lecon .km-long{white-space:normal;overflow-wrap:break-word}
  .pg-lecon .km-long .kf{max-width:100%}
}

/* rb-publicites.css */
/* ═══ 1.8.4 — Bannières publicitaires et page « Bon plan » (modules/rubriques/publicites.php) ═══ */

/* Bannière */
.rbp{margin:1.6rem 0;container-type:inline-size}
.rbp-corps{display:block;color:var(--texte);text-decoration:none;border-radius:var(--r-l);background:#fff;border:1.5px solid var(--filet);box-shadow:var(--ombre-1);overflow:hidden}
a.rbp-corps:hover{color:var(--texte)}
a.rbp-corps:hover .rbp-visuel img{transform:scale(1.012)}
.rbp-visuel{display:block;background:var(--gris-50);overflow:hidden}
.rbp-visuel img{display:block;width:100%;height:auto;transition:transform .35s}
.rbp-legende{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.1rem;border-top:1px solid var(--filet);font-size:.92rem;line-height:1.4}
.rbp-legende b{font-family:var(--titre);font-weight:800;color:var(--encre)}
.rbp-legende>span:first-child span{color:var(--gris-600)}
.rbp-cta{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--cyan-50);color:var(--canard-800)}
.rbp-mention{display:flex;align-items:center;justify-content:flex-end;gap:.3rem;margin:0 .4rem .35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gris-500);font-size:.7rem;font-weight:700;letter-spacing:.03em}
.rbp-mention .ic{width:.95em;height:.95em}

/* Bannière sans visuel : en texte, sur fond clair */
.rbp-texte-seul .rbp-corps{background:linear-gradient(120deg,var(--cyan-50),#fff 60%);border-color:var(--cyan-100)}
.rbp-txt{display:flex;align-items:center;gap:1rem;padding:1.4rem 1.4rem 1.2rem;min-height:120px}
.rbp-txt-ic{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--degrade);color:#fff;box-shadow:0 4px 0 var(--canard-800)}
.rbp-txt-ic .ic{width:26px;height:26px}
.rbp-txt-corps{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}
.rbp-txt-corps b{font-family:var(--titre);font-weight:900;font-size:clamp(1.05rem,2vw,1.35rem);color:var(--encre);line-height:1.2}
.rbp-txt-corps span{color:var(--gris-600)}
.rbp-txt-btn{flex:none;pointer-events:none}
@container (max-width:560px){
  .rbp-txt{flex-wrap:wrap;padding:1.2rem 1rem 1rem;gap:.8rem}
  .rbp-txt-corps{flex:1 1 calc(100% - 70px)}
  .rbp-txt-btn{width:100%;justify-content:center}
}

/* Emplacement vide : vu seulement par la direction */
.rbp-vide{display:flex;align-items:center;gap:1rem;margin:1.6rem 0;padding:1.1rem 1.3rem;min-height:150px;border:2.5px dashed var(--or-600);border-radius:var(--r-l);background:repeating-linear-gradient(-45deg,var(--or-50),var(--or-50) 12px,#fff 12px,#fff 24px);color:var(--texte)}
.rbp-vide-ic{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--or);color:#fff}
.rbp-vide-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.rbp-vide-txt b{font-family:var(--titre);font-weight:800;color:var(--encre)}
.rbp-vide-txt small{color:var(--or-texte);font-weight:600}
.rbp-vide-txt small .ic{margin-right:.3rem}
.rbp-vide .btn{flex:none}

/* Page Bon plan */
.rbp-bp-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}
.rbp-bp-tete h2{margin:0}
.rbp-liste{display:grid;gap:1.2rem;margin-top:1rem}
.rbp-liste .rbp{margin:0}
.rbp-bp-vide{margin:1rem 0 0}
.rbp-bp-vide p{max-width:620px;margin:0 auto}
.rbp-annonceurs{display:flex;gap:1.2rem;align-items:flex-start;margin-top:2.4rem;background:linear-gradient(120deg,#fff 55%,var(--or-50));border:1.5px solid var(--or-100)}
.rbp-annonceurs .pastille-icone{flex:none;margin:0}
.rbp-annonceurs h2{font-size:clamp(1.15rem,2vw,1.45rem);margin-bottom:.4rem}
.rbp-annonceurs p{color:var(--gris-600);max-width:720px}
.rbp-annonceurs .groupe-btn{align-items:center}

/* Administration */
.rbp-ligne-nom{display:flex;align-items:center;gap:.7rem}
.rbp-vignette{width:96px;height:24px;object-fit:cover;border-radius:6px;border:1px solid var(--filet);flex:none}
.rbp-puces{list-style:none;margin:0 0 .2rem;padding:0;font-size:.82rem;line-height:1.45;min-width:170px}
.rbp-puces li{position:relative;padding-left:.8rem;white-space:nowrap}
.rbp-puces li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--canard-600)}
.rbp-puces li.bp{color:var(--vert);font-weight:700}
.rbp-puces li.bp::before{background:var(--vert)}
.rbp-actions{display:flex;flex-direction:column;gap:.35rem;align-items:stretch}
.rbp-actions form{margin:0}
.rbp-actions .btn{width:100%;justify-content:center;white-space:nowrap}
.rbp-zone .ligne-entre{flex-wrap:nowrap;align-items:flex-start;gap:.6rem}
.rbp-zone .ligne-entre .pastille{flex:none}
.rbp-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}
.rbp-zone{display:flex;flex-direction:column;gap:.2rem}
.rbp-zone h3{font-size:1rem}
.rbp-zone .lien-fleche{margin-top:auto}
.rbp-zone-bp{border:1.5px solid var(--vert);background:var(--vert-50)}
.rbp-tailles{display:flex;flex-wrap:wrap;gap:.4rem .9rem;font-size:.86rem;font-weight:700;color:var(--canard-900);margin:.2rem 0 .5rem}
.rbp-tailles span{display:inline-flex;align-items:center;gap:.3rem}
.rbp-form h3{display:flex;align-items:center;gap:.45rem;margin-bottom:.2rem}
.rbp-form .mt-0{margin-top:0}
.rbp-champ-img{display:flex;flex-direction:column;gap:.45rem}
.rbp-apercu-img{width:100%;height:auto;border-radius:10px;border:1px solid var(--filet)}
.rbp-apercu-tel{max-width:260px}
.rbp-cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem}
.rbp-case{align-items:flex-start;padding:.6rem .75rem;border:1.5px solid var(--filet);border-radius:14px;background:#fff;min-height:44px}
.rbp-case span{display:flex;flex-direction:column;gap:.1rem}
.rbp-case small{color:var(--gris-600);font-weight:400;line-height:1.35}
.rbp-case:has(input:checked){border-color:var(--canard-600);background:var(--cyan-50)}
.rbp-case-bp{border-color:var(--vert)!important;background:var(--vert-50)!important}
.rbp-actif{padding:.7rem .85rem;border-radius:14px;background:var(--gris-50)}
.rbp-liste-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}
.rbp-liste-admin .rbp{margin:0 0 .4rem}

@media (min-width:641px){
  .rbp-vide{aspect-ratio:4/1;min-height:auto}
}
@media (min-width:900px){
  .rbp-liste-multi{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rbp-liste-multi .rbp-txt{min-height:150px}
}
@media (max-width:640px){
  .rbp{margin:1.2rem 0}
  .rbp-corps{border-radius:var(--r)}
  .rbp-legende{padding:.6rem .85rem;font-size:.86rem}
  .rbp-vide{flex-wrap:wrap;min-height:0;padding:1rem;gap:.7rem}
  .rbp-vide-ic{width:40px;height:40px}
  .rbp-vide-txt{flex:1 1 calc(100% - 60px)}
  .rbp-vide .btn{width:100%;justify-content:center}
  .rbp-annonceurs{flex-direction:column}
  .rbp-annonceurs .groupe-btn .btn{width:100%;justify-content:center}
  .rbp-actions{flex-direction:row;flex-wrap:wrap}
  .rbp-actions .btn{width:auto}
  .rbp-puces li{white-space:normal}
  .rbp-liste-admin{grid-template-columns:1fr}
}

/* rubriques-palmares.css */
/* 1.8.4 — Palmarès : parcours dossier → paiement → fiche d'évaluation, introduction et conclusion de la page. */
.rb-pal-parcours{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.rb-pal-parcours li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;position:relative;color:var(--gris-500);min-width:0}
.rb-pal-parcours li::before{content:"";position:absolute;top:18px;left:calc(-50% + 28px);right:calc(50% + 28px);border-top:4px dotted var(--cyan-200)}
.rb-pal-parcours li:first-child::before{display:none}
.rb-pal-parcours li.faite::before,.rb-pal-parcours li.encours::before{border-top-style:solid;border-color:var(--canard-600)}
.rb-pal-parcours-point{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#DCE4E6;color:#7F8E91;font-family:var(--titre);font-weight:900;box-shadow:0 4px 0 #BCC8CA;position:relative;z-index:1}
.rb-pal-parcours-point .ic{width:18px;height:18px}
.rb-pal-parcours li.faite .rb-pal-parcours-point{background:var(--canard-600);color:#fff;box-shadow:0 4px 0 var(--canard-900)}
.rb-pal-parcours li.encours .rb-pal-parcours-point{background:var(--or);color:#fff;box-shadow:0 0 0 6px rgba(226,169,63,.22),0 4px 0 var(--or-700)}
.rb-pal-parcours b{display:block;font-family:var(--titre);font-size:.9rem;line-height:1.2;color:var(--encre)}
.rb-pal-parcours li:not(.faite):not(.encours) b{color:var(--gris-500)}
.rb-pal-parcours small{display:block;font-size:.76rem;font-weight:600;line-height:1.3;margin-top:.1rem}
.rb-pal-parcours-form{background:#fff;border:1px solid var(--cyan-100);border-radius:var(--r);padding:1rem .6rem .9rem}
.rb-pal-detail{margin-top:1.2rem;border-top:1px solid var(--cyan-100);padding-top:.9rem}
.rb-pal-detail summary{cursor:pointer;font-family:var(--titre);font-weight:800;color:var(--canard-800);min-height:32px}
.rb-pal-etape-titre{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1rem}
.rb-pal-etape-titre h2{font-size:clamp(1.15rem,2.2vw,1.35rem)}
.rb-pal-etape-titre .puce-num{background:var(--or);box-shadow:0 3px 0 var(--or-700)}
.rb-pal-fiche{border:2px solid var(--or-100);background:linear-gradient(180deg,var(--or-50),#fff 55%)}
.rb-pal-fiche .ligne{display:flex;gap:.8rem;align-items:center;margin-bottom:.9rem}
.rb-pal-fiche .pastille-icone{margin-bottom:0}
.rb-pal-fiche-btn{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.1rem 0 .9rem}
.rb-pal-fiche-btn .btn{flex-wrap:wrap;white-space:normal;text-align:center;row-gap:.15rem}
.rb-pal-fiche-btn .btn small{flex-basis:100%;font-family:var(--corps,inherit);font-weight:600;font-size:.78rem;opacity:.85}
@media (max-width:560px){.rb-pal-fiche-btn{grid-template-columns:1fr}}
/* Introduction et conclusion (texte de la fondatrice) */
.rb-pal-texte{max-width:760px;margin:0 auto}
.rb-pal-texte h2{margin-bottom:1.1rem}
.rb-pal-texte p{font-size:1.04rem;line-height:1.75;color:var(--texte)}
.rb-pal-conclusion{margin-bottom:clamp(1.8rem,4vw,2.6rem)}
.rb-pal-rdv{display:flex;gap:.7rem;align-items:flex-start;background:var(--or-50);border:1px solid var(--or-100);border-radius:var(--r);padding:.9rem 1.1rem;color:var(--or-texte)}
.rb-pal-rdv .ic{width:22px;height:22px;flex:none;margin-top:.15rem}

/* rubriques.css */
/* ═══════════════════════════════════════════════════════════════
   KHARANDI — module « rubriques » (préfixe .rb-) · charte B « Le voyage du savoir »
   Résultats · bourses · articles · Palmarès · publicité · institutionnel
   Bleu du logo partout ; l'or est réservé aux distinctions (médailles, étoiles,
   prix spéciaux, mentions, « Admis »). Aucun texte doré sur fond bleu.
   ═══════════════════════════════════════════════════════════════ */

/* ─── Communs ─── */
.rb-section-serree{padding:clamp(1.8rem,4vw,3rem) 0}
.rb-h2{font-size:clamp(1.3rem,2.4vw,1.7rem)}
.rb-piege{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.rb-entete .surtitre{color:#fff}
.rb-entete h1{max-width:900px}
.rb-entete>.conteneur-etroit{position:relative;z-index:1}
/* En-têtes des pages Palmarès (candidature, suivi) : même dégradé, avec un halo de médaille */
.rb-entete-or{background:radial-gradient(420px 260px at 92% 10%,rgba(255,233,176,.28),transparent 65%),var(--degrade-profond)}
.rb-source{display:flex;gap:.7rem;align-items:flex-start;font-size:.86rem;color:var(--gris-600);background:#fff;border:1px solid var(--filet);border-radius:var(--r);padding:.85rem 1rem;box-shadow:var(--ombre-1)}
.rb-source .ic{color:var(--canard-600);margin-top:.15rem}
.rb-cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.3rem .8rem}
.rb-form-large{padding:clamp(1.2rem,3vw,2.2rem)}
.rb-form-large fieldset{padding:1.2rem}
.rb-form-large>label.case{display:block;position:relative;padding-left:1.9rem;font-size:.9rem;line-height:1.5}
.rb-form-large>label.case input{position:absolute;left:0;top:.1rem;margin:0}
.rb-choix-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rb-choix-3 label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}
.rb-etoiles{display:inline-flex;gap:.08em;letter-spacing:0;line-height:1;font-size:1.05em}
.rb-etoiles .rb-e-pleine{color:var(--or)}
.rb-etoiles .rb-e-vide{color:#DCE4E6}
.rb-a-completer{display:inline-block;background:var(--gris-50);color:var(--gris-600);border:1.5px dashed var(--gris-400);border-radius:8px;padding:.05rem .5rem;font-size:.86rem;font-weight:700}
.rb-coupe{word-break:break-all}

/* ─── Résultats d'examens ─── */
.rb-attente{text-align:center;background:#fff;border-radius:var(--r-xl);padding:clamp(2rem,5vw,3.5rem) 1.5rem;box-shadow:var(--ombre-2);border:2px solid var(--cyan-100);margin-bottom:1.5rem;position:relative;overflow:hidden}
.rb-attente::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--cyan-50);right:-90px;top:-120px}
.rb-attente>*{position:relative}
.rb-attente-icone{width:84px;height:84px;margin:0 auto 1.2rem;border-radius:26px;display:grid;place-items:center;background:var(--canard-700);color:#fff;box-shadow:0 5px 0 var(--canard-900)}
.rb-attente-icone .ic{width:40px;height:40px}
.rb-attente h2{max-width:560px;margin-left:auto;margin-right:auto}
.rb-attente p{color:var(--gris-600);max-width:520px;margin:0 auto 1.2rem}
.rb-examens-liste{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}
.rb-examens-liste .pastille{white-space:normal}
.rb-resultats-grille{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.5rem;align-items:start}
.rb-recherche-carte{border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-2);padding:clamp(1.2rem,3vw,1.8rem)}
.rb-recherche-carte .btn{align-self:flex-start}
.rb-ou{display:flex;align-items:center;gap:.8rem;color:var(--gris-500);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-family:var(--titre)}
.rb-ou::before,.rb-ou::after{content:"";flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--cyan-200) 0 6px,transparent 6px 12px)}
.rb-resultat{background:#fff;border-radius:var(--r-l);box-shadow:var(--ombre-2);padding:1.3rem 1.4rem;border:2px solid var(--filet);position:relative;overflow:hidden}
.rb-resultat.admis{border-color:color-mix(in srgb,var(--vert) 35%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--vert) 25%,#fff),var(--ombre-2)}
.rb-resultat.admis::before{content:"";position:absolute;right:-50px;top:-60px;width:170px;height:170px;border-radius:50%;background:var(--or-50)}
.rb-resultat>*{position:relative}
.rb-resultat-tete{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}
.rb-resultat-nom{font-family:var(--titre);font-weight:900;font-size:1.35rem;color:var(--encre);line-height:1.2}
.rb-resultat-meta{font-size:.86rem;color:var(--gris-600)}
.rb-verdict{font-size:.95rem;padding:.4rem .95rem}
.rb-resultat.admis .rb-verdict{background:var(--vert);color:#fff;box-shadow:0 3px 0 #146741}
.rb-resultat-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.7rem;margin:1rem 0 0}
.rb-resultat-details div{background:var(--cyan-50);border-radius:14px;padding:.6rem .8rem}
.rb-resultat-details dt{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--canard-700);font-family:var(--titre)}
.rb-resultat-details dd{margin:0;font-family:var(--titre);font-weight:900;color:var(--encre)}
.rb-mention{color:var(--or-texte)!important}
.rb-bravo{margin:1rem 0 0;font-family:var(--titre);font-weight:900;color:var(--or-texte);display:flex;gap:.45rem;align-items:center}
.rb-bravo .ic{color:var(--or)}
.rb-stats .rb-taux{display:flex;align-items:center;gap:1.2rem;color:#fff}
.rb-stats .rb-taux b{font-family:var(--titre);font-weight:900;font-size:1.3rem}
.rb-aide-clair{color:#D5F3F8!important;margin:1rem 0 0}
.rb-barres{display:flex;flex-direction:column;gap:.9rem}
.rb-barre-ligne .ligne-entre{font-size:.9rem;margin-bottom:.3rem}
.rb-barre-ligne .ligne-entre b{font-family:var(--titre);font-weight:900;color:var(--encre)}
.rb-barre-ligne .barre.or i{background:linear-gradient(90deg,var(--cyan),var(--canard-600))}
.rb-mentions{list-style:none;padding:0;margin:0}
.rb-mentions li{display:flex;justify-content:space-between;padding:.55rem 0;border-bottom:2px dashed var(--filet)}
.rb-mentions li b{font-family:var(--titre);font-weight:900;color:var(--or-texte)}
.rb-mentions li:last-child{border:0}
.rb-alerte-carte{border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-1)}
.rb-alerte-carte .ligne{flex-wrap:nowrap;align-items:flex-start}
.rb-alerte-carte .pastille-icone{margin:0;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900)}

/* ─── Articles (bourses, études à l'étranger, actualités, bons plans) ─── */
.rb-rubriques-nav{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.6rem}
.rb-rubriques-nav a{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.45rem .95rem;border-radius:999px;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;font-size:.86rem;font-weight:700;transition:background .15s}
.rb-rubriques-nav a:hover{background:rgba(255,255,255,.26);color:#fff}
.rb-rubriques-nav .ic{color:#fff}
.entete-page .rb-rubriques-nav a.actif{background:#fff;border-color:#fff;color:var(--canard-900);box-shadow:0 3px 0 rgba(6,74,96,.28)}
.entete-page .rb-rubriques-nav a.actif .ic{color:var(--canard-600)}
.rb-case-filtre{flex:0 0 auto!important;padding:0 .4rem;font-size:.9rem;min-height:44px;align-items:center!important}
.rb-case-filtre input{flex:none!important;min-height:0!important;width:20px!important}
.rb-compte{font-size:.9rem;margin-bottom:1rem;font-weight:600}
.rb-cartes{--c:var(--canard-700);display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}
.rb-cartes-bourses{--c:#0E94B5}.rb-cartes-etranger{--c:#6B4FA0}.rb-cartes-actualites{--c:#0A6F8C}.rb-cartes-bons_plans{--c:#B8561B}
.rb-carte{background:#fff;border-radius:var(--r-l);overflow:hidden;border:2px solid color-mix(in srgb,var(--c) 18%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--c) 25%,#fff);display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.rb-carte.carte-lien:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--c) 40%,#fff);box-shadow:0 7px 0 color-mix(in srgb,var(--c) 25%,#fff)}
.rb-carte .vignette{border-radius:0;aspect-ratio:16/8}
.rb-carte-bandeau{position:relative;overflow:hidden;min-height:92px;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 70%,#1ABCD4),var(--c));display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:1rem 1.2rem;color:#fff}
.rb-carte-bandeau::before{content:"";position:absolute;right:-40px;top:-70px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.14)}
.rb-carte-bandeau::after{content:"";position:absolute;right:28%;bottom:-46px;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.10)}
.rb-carte-bandeau .ic{position:relative;z-index:1;width:48px;height:48px;padding:11px;border-radius:15px;background:rgba(255,255,255,.2);color:#fff;box-sizing:border-box}
.rb-carte-bandeau span{position:relative;z-index:1;font-family:var(--titre);font-weight:800;font-size:.9rem;background:#fff;color:var(--encre);padding:.3rem .8rem;border-radius:999px;box-shadow:0 3px 0 rgba(6,74,96,.2)}
.rb-carte-corps{padding:1.15rem 1.25rem 1.2rem;display:flex;flex-direction:column;flex:1}
.rb-carte-corps h3{font-size:1.1rem;line-height:1.3}
.rb-carte-corps p{font-size:.92rem;color:var(--gris-600);margin-bottom:1rem}
.rb-carte-etiquettes{gap:.35rem;margin-bottom:.7rem}
.rb-carte-etiquettes .pastille.or{background:var(--cyan-50);color:var(--canard-800)}
.rb-carte-pied{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:.6rem;font-size:.8rem;color:var(--gris-500);border-top:2px dashed var(--filet);padding-top:.8rem}
.rb-carte-pied>span:first-child{display:inline-flex;align-items:center;gap:.3rem}
.rb-carte-pied .ic{color:var(--vert)}
.rb-carte-pied .lien-fleche{color:var(--c)}
.rb-carte-pied .lien-fleche .ic{color:inherit}
.rb-entete-article h1{font-size:clamp(1.7rem,3.6vw,2.6rem)}
.rb-chapo{font-size:1.12rem!important;color:#F2FBFD;margin-top:.4rem!important}
.rb-article-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem;font-size:.84rem;color:#fff}
.rb-article-meta span{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);padding:.3rem .8rem;border-radius:999px;font-weight:600}
.rb-article-meta .ic{color:#fff}
.rb-fiche{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem;margin-bottom:2rem}
.rb-fiche>div{background:#fff;border-radius:var(--r);padding:1rem 1.1rem;border:2px solid var(--filet);box-shadow:0 4px 0 var(--filet);display:flex;flex-direction:column;gap:.2rem}
.rb-fiche b{font-family:var(--titre);font-weight:800;color:var(--encre);display:flex;gap:.4rem;align-items:center}
.rb-fiche b .ic{color:var(--canard-600)}
.rb-fiche-l{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--canard-600);font-family:var(--titre)}
.rb-fiche-dl.ouverte{background:var(--cyan-50)!important;border-color:var(--cyan)!important;box-shadow:0 4px 0 var(--cyan-200)!important}
.rb-fiche-dl.ouverte b{font-size:1.2rem;font-weight:900;color:var(--canard-900)}
.rb-fiche-dl.ouverte small{color:var(--canard-700);font-weight:800}
.rb-fiche-dl.cloturee{background:var(--rouge-50)!important;border-color:rgba(194,65,45,.35)!important;box-shadow:0 4px 0 rgba(194,65,45,.18)!important}
.rb-fiche-dl.cloturee b{color:var(--rouge);font-size:1.2rem}
.rb-fiche-dl.inconnue b{font-size:.92rem;font-weight:700}
.rb-image img{border-radius:var(--r-l);width:100%}
.rb-actions-article{display:flex;flex-wrap:wrap;gap:.7rem;margin:2rem 0 1.2rem}
.rb-lien-carte{border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100);display:flex;flex-direction:column;align-items:flex-start}
.rb-lien-carte:hover{border-color:var(--cyan-200);box-shadow:0 6px 0 var(--cyan-100)}
.rb-lien-carte h3{font-size:1.02rem;line-height:1.3}

/* ═══ PALMARÈS : prestige, podium, médailles ═══ */
.rb-pal-heros{position:relative;overflow:hidden;color:#EAF9FC;padding:clamp(2.4rem,6vw,4.6rem) 0 clamp(2.6rem,6vw,4.4rem);border-radius:0 0 var(--r-xl) var(--r-xl);
  background:radial-gradient(520px 340px at 82% 42%,rgba(255,233,176,.30),transparent 62%),var(--degrade-profond)}
.rb-pal-heros::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:rgba(255,255,255,.08);right:-180px;top:-240px;pointer-events:none}
.rb-pal-heros::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.07);left:-90px;bottom:-120px;pointer-events:none}
.rb-pal-heros .conteneur{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;align-items:center}
.rb-pal-heros-court .conteneur{grid-template-columns:1fr}
.rb-pal-heros h1{color:#fff;font-size:clamp(2.2rem,5.4vw,4rem);font-weight:900;letter-spacing:-.03em;line-height:1.02;margin:1rem 0 1.2rem;text-shadow:0 2px 16px rgba(6,74,96,.25)}
.rb-pal-heros h1 span{color:#BDEFF7}
.rb-pal-heros-court h1{font-size:clamp(1.9rem,4.4vw,3rem)}
.rb-pal-lead{font-size:clamp(1.02rem,1.6vw,1.2rem);max-width:640px;color:#F2FBFD;margin-bottom:1.8rem}
.rb-pal-lead b{color:#fff}
.rb-pal-lead a,.rb-pal-heros .fil a,.rb-apropos-heros .fil a,.rb-parcours-heros .fil a{color:#fff}
.rb-edition{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--canard-900);font-family:var(--titre);font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.45rem .95rem .45rem .5rem;border-radius:999px;box-shadow:0 3px 0 rgba(6,74,96,.25)}
.rb-edition .ic{width:24px;height:24px;padding:4px;border-radius:50%;background:var(--or);color:#fff;box-sizing:border-box}
.rb-pal-embleme{display:grid;place-items:center;position:relative}
.rb-pal-embleme::before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.45),rgba(255,255,255,.1) 55%,transparent 70%);top:28%}
.rb-medaille{position:relative;width:min(100%,290px);filter:drop-shadow(0 26px 40px rgba(6,74,96,.45));animation:flotte 7s ease-in-out infinite}
div.rb-principe{background:#fff;color:var(--encre);border:0;border-bottom:1px solid var(--filet);margin-top:-.4rem;padding-top:.4rem}
.rb-principe .conteneur{display:flex;gap:1rem;align-items:center;padding-top:1rem;padding-bottom:1rem}
div.rb-principe .ic{width:44px;height:44px;padding:10px;border-radius:14px;flex:none;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900);box-sizing:border-box}
.rb-principe p{margin:0;font-size:.96rem;line-height:1.5;color:var(--texte)}
.rb-principe p b{color:var(--encre)}
.rb-principe-carte{display:flex;gap:.9rem;align-items:flex-start;background:var(--cyan-50);border:2px solid var(--cyan-100);border-radius:var(--r);padding:1rem 1.2rem;margin-top:1.2rem}
.rb-principe-carte .ic{width:40px;height:40px;padding:9px;border-radius:13px;background:var(--canard-700);color:#fff;flex:none;box-sizing:border-box;box-shadow:0 3px 0 var(--canard-900)}
.rb-principe-carte p{margin:0;color:var(--texte);font-size:.95rem}
.rb-principe-carte b{color:var(--encre)}
/* Avancement de l'édition : le chemin, comme les leçons */
.rb-avancement{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;background:#fff;border:1px solid var(--filet);border-radius:var(--r-xl);box-shadow:var(--ombre-1);padding:1.3rem 1rem 1.1rem}
.rb-av-etape{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;font-size:.8rem;font-weight:700;color:var(--gris-500);position:relative;line-height:1.3}
.rb-av-etape::before{content:"";position:absolute;top:19px;left:-50%;width:100%;border-top:4px dotted var(--cyan-200);z-index:0}
.rb-av-etape:first-child::before{display:none}
.rb-av-etape.faite::before,.rb-av-etape.encours::before{border-top-style:solid;border-color:var(--canard-600)}
.rb-av-point{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#DCE4E6;color:#7F8E91;font-family:var(--titre);font-weight:900;position:relative;z-index:1;box-shadow:0 4px 0 #BCC8CA;flex:none}
.rb-av-point .ic{width:18px;height:18px}
.rb-av-etape.faite .rb-av-point{background:var(--canard-600);color:#fff;box-shadow:0 4px 0 var(--canard-900)}
.rb-av-etape.encours{color:var(--encre)}
.rb-av-etape.encours .rb-av-point{background:var(--canard-700);color:#fff;box-shadow:0 0 0 7px rgba(26,188,212,.22),0 4px 0 var(--canard-950);animation:respire 2.4s ease-in-out infinite}
/* Évaluer · classer · distinguer */
.rb-trois .rb-pilier{--pc:#0E94B5;padding:1.6rem;border:2px solid color-mix(in srgb,var(--pc) 18%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--pc) 25%,#fff)}
.rb-trois .rb-pilier:nth-child(2){--pc:#0A6F8C}.rb-trois .rb-pilier:nth-child(3){--pc:var(--or)}
.rb-trois .pastille-icone{width:52px;height:52px;border-radius:16px;background:var(--pc);color:#fff;box-shadow:0 4px 0 color-mix(in srgb,var(--pc) 70%,#000)}
.rb-trois .pastille-icone .ic{width:26px;height:26px}
.rb-trois h3{font-size:1.35rem}
/* Barème */
.rb-bareme-grille{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,5vw,4rem);align-items:center}
.rb-bareme-grille h2{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:900;line-height:1.05}
.rb-ruban{display:flex;height:22px;border-radius:22px;overflow:hidden;margin-top:1.6rem;box-shadow:0 4px 0 var(--filet)}
.rb-ruban i{display:block;height:100%;border-right:2px solid #fff}
.rb-ruban i:last-child{border-right:0}
.rb-ruban-legende{display:flex;justify-content:space-between;font-size:.75rem;font-weight:800;color:var(--gris-500);margin-top:.5rem;font-family:var(--titre)}
.rb-bareme{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem;counter-reset:b}
.rb-bareme li{counter-increment:b}
.rb-bareme-tete{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-weight:600;color:var(--encre)}
.rb-bareme-tete span::before{content:counter(b,decimal-leading-zero);font-family:var(--titre);font-weight:900;font-size:.72rem;color:var(--canard-600);margin-right:.6rem;letter-spacing:.06em}
.rb-bareme-tete b{font-family:var(--titre);font-weight:900;font-size:1.35rem;color:var(--encre);white-space:nowrap}
.rb-bareme-tete small{font-size:.72rem;color:var(--gris-500);font-weight:700}
.rb-bareme-barre{height:10px;border-radius:10px;background:var(--gris-50);margin-top:.35rem;overflow:hidden}
.rb-bareme-barre i{display:block;height:100%;border-radius:10px;background:var(--c)}
.rb-bareme-total{border-top:2px dashed var(--cyan-200);padding-top:.8rem}
.rb-bareme-total .rb-bareme-tete span::before{content:""}
.rb-bareme-total .rb-bareme-tete span{font-family:var(--titre);font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--canard-800)}
.rb-bareme-total b{font-size:1.9rem;color:var(--canard-700)}
/* Bandes bleu profond (labels, conviction) */
.rb-pal-sombre{position:relative;overflow:hidden;background:var(--degrade-profond);color:#E4F6FA}
.rb-pal-sombre::before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:rgba(255,255,255,.07);left:-160px;top:-220px;pointer-events:none}
.rb-pal-sombre>.conteneur{position:relative}
.rb-pal-sombre h2,.rb-pal-sombre h3{color:#fff}
.rb-pal-sombre .titre-section p{color:#D5F3F8}
.rb-pal-sombre .surtitre{color:#fff}
.rb-labels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;align-items:end}
.rb-label{border-radius:var(--r-l);padding:1.4rem 1rem;text-align:center;display:flex;flex-direction:column;gap:.5rem;align-items:center;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2)}
.rb-label .rb-etoiles{font-size:1.3rem}
.rb-label .rb-etoiles .rb-e-vide{color:rgba(255,255,255,.22)}
.rb-label b{font-family:var(--titre);font-weight:800;color:#fff;font-size:1.02rem;line-height:1.2}
.rb-label span{font-size:.8rem;color:#D5F3F8}
.rb-label-5{background:#fff;border-color:#fff;padding:1.8rem 1rem;box-shadow:0 6px 0 rgba(6,74,96,.35),0 0 0 6px rgba(255,233,176,.28)}
.rb-label-5 b{color:var(--canard-900);font-size:1.1rem}
.rb-label-5 span{color:var(--gris-600)}
.rb-label-5 .rb-etoiles .rb-e-vide{color:#DCE4E6}
.rb-label-4{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.34)}
/* Prix spéciaux : médaillons d'or (distinctions) */
.rb-prix{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}
.rb-prix-el{background:#fff;border-radius:var(--r-l);padding:1.5rem .8rem 1.3rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;border:2px solid var(--or-100);box-shadow:0 5px 0 var(--or-100)}
.rb-prix-medaillon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 35% 28%,#F6DA9A,var(--or) 52%,#B87A12);box-shadow:0 0 0 4px #fff,0 0 0 6px var(--or-100),0 5px 0 6px var(--or-100)}
.rb-prix-medaillon .ic{width:28px;height:28px;filter:drop-shadow(0 1px 0 rgba(120,70,0,.35))}
.rb-prix-el b{font-family:var(--titre);font-weight:800;color:var(--encre);font-size:.95rem;line-height:1.25}
.rb-prix-laureat a{font-size:.85rem;font-weight:700}
/* Trois échelles */
.rb-echelle{padding:1.7rem;overflow:hidden;border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100)}
.rb-echelle>.ic{width:52px;height:52px;padding:13px;border-radius:16px;background:var(--canard-700);color:#fff;margin-bottom:1rem;box-sizing:border-box;box-shadow:0 4px 0 var(--canard-900)}
.rb-echelle:nth-child(2)>.ic{background:#0E94B5;box-shadow:0 4px 0 var(--canard-800)}
.rb-echelle:nth-child(3)>.ic{background:var(--canard-500);box-shadow:0 4px 0 var(--canard-700)}
.rb-echelle-num{position:absolute;right:1rem;top:.4rem;font-family:var(--titre);font-weight:900;font-size:4rem;color:var(--cyan-50);line-height:1}
.rb-echelle h3{font-size:1.35rem;position:relative}
.rb-echelle p{position:relative}
/* Méthodologie */
.rb-methode{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,5vw,4rem)}
.rb-methode-etapes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem;position:relative}
.rb-methode-etapes::before{content:"";position:absolute;left:calc(1.2rem + 16px);top:1.4rem;bottom:1.4rem;border-left:4px dotted var(--cyan-200)}
.rb-methode-etapes li{position:relative;display:flex;gap:1rem;background:#fff;border-radius:var(--r);padding:1rem 1.2rem;box-shadow:var(--ombre-1);border:1px solid var(--filet)}
.rb-methode-etapes b{font-family:var(--titre);color:var(--encre)}
.rb-methode-etapes p{margin:.2rem 0 0;font-size:.92rem;color:var(--gris-600)}
/* Calendrier */
.rb-calendrier{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;position:relative}
.rb-calendrier::before{content:"";position:absolute;left:8%;right:8%;top:31px;border-top:5px dotted var(--cyan-200)}
.rb-calendrier li{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.35rem}
.rb-cal-icone{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--canard-700);color:#fff;position:relative;z-index:1;box-shadow:0 5px 0 var(--canard-900),0 0 0 7px #fff}
.rb-calendrier li:nth-child(even) .rb-cal-icone{background:#0E94B5}
.rb-calendrier li:last-child .rb-cal-icone{background:var(--or);box-shadow:0 5px 0 var(--or-700),0 0 0 7px #fff}
.rb-cal-icone .ic{width:27px;height:27px}
.rb-cal-mois{font-family:var(--titre);font-weight:900;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--canard-600);margin-top:.5rem}
.rb-calendrier b{font-family:var(--titre);color:var(--encre);line-height:1.25}
.rb-calendrier p{font-size:.84rem;color:var(--gris-600);margin:0}
/* Contribution */
.rb-contribution{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;background:#fff;border-radius:var(--r-xl);padding:clamp(1.2rem,4vw,2.6rem);box-shadow:var(--ombre-2);border:2px solid var(--cyan-100)}
.rb-contribution-prix{position:relative;overflow:hidden;background:var(--degrade);color:#F0FBFD;border-radius:var(--r-l);padding:2rem 1.6rem;text-align:center}
.rb-contribution-prix::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.12);right:-80px;top:-100px}
.rb-contribution-prix>*{position:relative}
.rb-contribution-prix .surtitre{color:#fff}
.rb-contribution-prix .surtitre::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
.rb-contribution-prix .bloc-prix{color:#fff;font-size:clamp(2.4rem,5vw,3.2rem)}
.rb-contribution-prix .bloc-prix small{color:#E4F6FA}
.rb-contribution-prix .btn-or{--relief:rgba(6,74,96,.35);background:#fff;color:var(--canard-900)}
.rb-contribution-prix .btn-or:hover{background:#F2FCFE;color:var(--canard-950)}
.rb-edition-carte{display:flex;flex-direction:column;gap:.3rem;border:2px solid var(--or-100);box-shadow:0 5px 0 var(--or-100)}
.rb-edition-carte>.ic{width:50px;height:50px;padding:12px;border-radius:50%;box-sizing:border-box;color:#fff;background:radial-gradient(circle at 35% 28%,#F6DA9A,var(--or) 52%,#B87A12);margin-bottom:.5rem}
.rb-edition-carte b{font-family:var(--titre);font-weight:900;font-size:1.3rem;color:var(--encre)}
.rb-edition-carte span{font-size:.85rem;color:var(--gris-600)}

/* Suivi d'une candidature */
.rb-code-suivi{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:1rem 0;padding:.8rem 1rem;background:var(--cyan-50);border:2px dashed var(--cyan-200);border-radius:var(--r)}
.rb-code-suivi b{font-family:var(--titre);font-weight:900;letter-spacing:.14em;font-size:1.15rem;color:var(--canard-900)}
.rb-code-suivi .btn{margin-bottom:0}
.rb-etapes-suivi{list-style:none;padding:0;margin:1.2rem 0 0;display:flex;flex-direction:column;gap:.35rem}
.rb-etapes-suivi li{display:flex;align-items:center;gap:.9rem;padding:.35rem 0;color:var(--gris-500);font-weight:700;position:relative}
.rb-etapes-suivi li::after{content:"";position:absolute;left:18px;top:46px;height:calc(100% - 38px);border-left:4px dotted var(--cyan-200)}
.rb-etapes-suivi li:last-child::after{display:none}
.rb-etapes-suivi li.faite{color:var(--encre)}
.rb-etapes-suivi li.faite::after{border-left-style:solid;border-color:var(--canard-600)}
.rb-etapes-suivi li.faite .rb-av-point{background:var(--canard-600);color:#fff;box-shadow:0 4px 0 var(--canard-900)}
.rb-etapes-suivi li.encours{color:var(--encre);font-weight:800}
.rb-etapes-suivi li.encours .rb-av-point{background:var(--canard-700);color:#fff;box-shadow:0 0 0 7px rgba(26,188,212,.22),0 4px 0 var(--canard-950)}
.rb-suivi{border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100)}
.rb-connexion-requise{border:2px solid var(--cyan-100)}
.rb-fiche-dispo .ligne{flex-wrap:nowrap;align-items:flex-start}
.rb-fiche-dispo .pastille-icone{margin:0}

/* Podium (trois premiers du classement) */
.rb-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end;margin:.4rem 0 2rem;padding-top:1.4rem}
.rb-podium-place{--m1:#F6DA9A;--m2:var(--or);--m3:#B87A12;--socle:var(--or-100);display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:var(--encre);position:relative}
.rb-podium-place:hover{color:var(--encre)}
.rb-podium-2{--m1:#FFFFFF;--m2:#C3CED1;--m3:#8A989C;--socle:#E3EAEC;order:-1}
.rb-podium-3{--m1:#F6D3B2;--m2:#C98A55;--m3:#8C5A2F;--socle:#F4E0CF}
.rb-podium-carte{width:100%;background:#fff;border-radius:var(--r-l) var(--r-l) 0 0;padding:2.6rem 1rem 1.1rem;border:2px solid var(--socle);border-bottom:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;transition:transform .15s}
.rb-podium-place:hover .rb-podium-carte{transform:translateY(-3px)}
.rb-podium-medaille{position:absolute;top:-34px;left:50%;transform:translateX(-50%);width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;font-family:var(--titre);font-weight:900;font-size:1.5rem;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25);background:radial-gradient(circle at 35% 28%,var(--m1),var(--m2) 55%,var(--m3));box-shadow:0 0 0 5px #fff,0 0 0 7px var(--socle),0 8px 16px -4px rgba(6,74,96,.3)}
.rb-podium-medaille small{font-size:.5em;position:relative;top:-.6em;margin-left:1px}
.rb-podium-2 .rb-podium-medaille{color:var(--encre);text-shadow:none}
.rb-podium-nom{font-family:var(--titre);font-weight:800;font-size:1.02rem;line-height:1.25}
.rb-podium-lieu{font-size:.8rem;color:var(--gris-600)}
.rb-podium-score{font-family:var(--titre);font-weight:900;font-size:2rem;line-height:1;margin-top:.4rem;color:var(--encre)}
.rb-podium-score small{font-size:.8rem;font-weight:700;color:var(--gris-500)}
.rb-podium-label{font-size:.76rem;font-weight:800;color:var(--canard-700);font-family:var(--titre)}
.rb-podium-socle{width:100%;display:grid;place-items:center;font-family:var(--titre);font-weight:900;font-size:1.3rem;color:var(--canard-900);background:linear-gradient(180deg,var(--socle),color-mix(in srgb,var(--socle) 70%,#fff));border-radius:0 0 18px 18px;box-shadow:0 5px 0 color-mix(in srgb,var(--m3) 45%,#fff)}
.rb-podium-1 .rb-podium-socle{height:92px;font-size:1.6rem}
.rb-podium-2 .rb-podium-socle{height:62px}
.rb-podium-3 .rb-podium-socle{height:44px}
.rb-podium-1 .rb-podium-carte{padding-top:3rem;box-shadow:0 -10px 40px -18px rgba(226,169,63,.6)}
.rb-podium-1 .rb-podium-medaille{width:82px;height:82px;top:-42px;font-size:1.8rem}
.rb-podium-1 .rb-podium-score{font-size:2.4rem}
.rb-suite-titre{font-size:1.1rem;margin:0 0 .8rem;color:var(--canard-900)}

/* Classement */
.rb-classement{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.rb-classement a{display:grid;grid-template-columns:64px 1fr auto;gap:1rem;align-items:center;background:#fff;border-radius:var(--r-l);padding:1rem 1.2rem;text-decoration:none;color:inherit;border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100);transition:transform .15s,border-color .15s}
.rb-classement a:hover{transform:translateY(-2px);border-color:var(--cyan-200);color:inherit}
.rb-rang{font-family:var(--titre);font-weight:900;font-size:1.3rem;color:var(--canard-800);text-align:center;line-height:1;width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--cyan-50);justify-self:center}
.rb-rang small{font-size:.55em;align-self:flex-start;margin-top:.9em}
.podium a{border-color:var(--or-100);box-shadow:0 4px 0 var(--or-100)}
.podium-1 a{background:linear-gradient(100deg,var(--or-50),#fff 55%)}
.podium .rb-rang{border-radius:50%;font-size:1.3rem;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25);background:radial-gradient(circle at 35% 28%,#F6DA9A,var(--or) 52%,#B87A12);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--or-100)}
.podium-2 a{border-color:#E3EAEC;box-shadow:0 4px 0 #E3EAEC}
.podium-2 .rb-rang{background:radial-gradient(circle at 35% 28%,#fff,#C3CED1 55%,#8A989C);color:var(--encre);text-shadow:none;box-shadow:0 0 0 3px #fff,0 0 0 5px #E3EAEC}
.podium-3 a{border-color:#F4E0CF;box-shadow:0 4px 0 #F4E0CF}
.podium-3 .rb-rang{background:radial-gradient(circle at 35% 28%,#F6D3B2,#C98A55 55%,#8C5A2F);box-shadow:0 0 0 3px #fff,0 0 0 5px #F4E0CF}
.rb-classement-nom{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.rb-classement-nom b{font-family:var(--titre);font-size:1.06rem;color:var(--encre);line-height:1.25}
.rb-classement-nom small{color:var(--gris-600)}
.rb-prix-mini{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}
.rb-classement-score{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}
.rb-classement-score b{font-family:var(--titre);font-weight:900;font-size:1.6rem;color:var(--encre);line-height:1}
.rb-classement-score small{color:var(--gris-500);font-size:.75rem}
.rb-classement-score em{font-style:normal;font-size:.75rem;font-weight:800;color:var(--canard-700);font-family:var(--titre)}
/* Fiche publique d'une école */
.rb-score-heros{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.28);border-radius:var(--r-l);padding:.8rem 1.2rem;width:max-content;max-width:100%}
.rb-score-heros b{font-family:var(--titre);font-weight:900;font-size:clamp(2.8rem,7vw,4.2rem);color:#fff;line-height:1}
.rb-score-heros span{color:#E4F6FA;font-weight:700}
.rb-score-heros .rb-etoiles{font-size:1.5rem}
.rb-score-heros .rb-etoiles .rb-e-vide{color:rgba(255,255,255,.25)}
.rb-score-heros em{font-style:normal;font-family:var(--titre);font-weight:800;color:var(--canard-900);background:#fff;padding:.25rem .75rem;border-radius:999px}
.rb-rangs .chiffre{border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100);text-align:center}
.rb-rangs .chiffre .v{color:var(--canard-800);font-size:clamp(1.6rem,3vw,2.3rem)}
.rb-rangs .chiffre .v sup{font-size:.5em}
.rb-ecole-grille{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;align-items:start}
.rb-criteres{display:flex;flex-direction:column;gap:1rem}
.rb-critere .ligne-entre{font-size:.93rem;margin-bottom:.3rem}
.rb-critere .ligne-entre b{font-family:var(--titre);font-weight:900;color:var(--encre)}
.rb-critere .barre.or i{background:linear-gradient(90deg,var(--cyan),var(--canard-600))}
.rb-radar{width:100%;max-width:340px;height:auto;margin:0 auto}
.rb-radar-grille{fill:none;stroke:var(--filet);stroke-width:1}
.rb-radar-axe{stroke:var(--filet);stroke-width:1}
.rb-radar-zone{fill:rgba(26,188,212,.28);stroke:var(--canard-600);stroke-width:2;stroke-linejoin:round}
.rb-radar-texte{font-family:var(--corps);font-size:10.5px;font-weight:600;fill:var(--gris-600)}

/* Fiche d'évaluation (A4, impression) */
.rb-feuille{display:flex;flex-direction:column;gap:6mm;font-family:var(--corps)}
.rb-f-entete{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #0E94B5;padding-bottom:4mm}
.rb-f-logo{height:14mm;width:auto}
.rb-f-titre{text-align:right;display:flex;flex-direction:column}
.rb-f-titre span{font-size:8.5pt;text-transform:uppercase;letter-spacing:.14em;color:#0A6F8C;font-weight:700}
.rb-f-titre b{font-family:var(--titre);font-size:13pt;color:#075A73}
.rb-f-provisoire{background:#E8F8FB;border:1px dashed #0E94B5;color:#075A73;text-align:center;font-weight:700;padding:2mm;border-radius:2mm;font-size:9pt}
.rb-f-ecole{display:flex;justify-content:space-between;gap:6mm;align-items:center}
.rb-f-ecole h1{font-size:19pt;color:#075A73;margin:0 0 1.5mm;font-weight:900}
.rb-f-ecole p{margin:0;color:#444;font-size:9.5pt}
.rb-f-score{flex:none;width:44mm;text-align:center;border-radius:4mm;padding:4mm 3mm;background:#0A6F8C;color:#fff}
.rb-f-score>b{font-family:var(--titre);font-weight:900;font-size:28pt;line-height:1}
.rb-f-score>span{font-size:9pt;color:#D5F3F8;margin-left:1mm}
.rb-f-score .rb-etoiles{font-size:13pt;justify-content:center;margin-top:1mm}
.rb-f-score .rb-etoiles .rb-e-vide{color:rgba(255,255,255,.25)}
.rb-f-score em{display:block;font-style:normal;font-weight:700;color:#fff;font-size:9pt}
.rb-f-corps{display:grid;grid-template-columns:68mm minmax(0,1fr);gap:6mm;align-items:center}
.rb-f-radar .rb-radar{max-width:68mm}
.rb-f-radar .rb-radar-texte{font-size:14px}
.rb-f-table{width:100%;border-collapse:collapse;font-size:9pt}
.rb-f-table th{text-align:left;font-size:7.5pt;text-transform:uppercase;letter-spacing:.08em;color:#56676A;border-bottom:1.5px solid #075A73;padding:1.5mm}
.rb-f-table td{padding:1.4mm 1.6mm;border-bottom:1px solid #E4E9E9}
.rb-f-table td:last-child{white-space:nowrap}
.rb-f-table .num{text-align:right}
.rb-f-table tfoot td{border-top:1.5px solid #075A73;border-bottom:0;font-weight:800}
.rb-f-barre{display:inline-block;width:15mm;height:2.2mm;background:#F1F6F7;border-radius:2mm;overflow:hidden;vertical-align:middle}
.rb-f-barre i{display:block;height:100%;background:#0E94B5}
.rb-f-textes{display:grid;grid-template-columns:1fr 1fr;gap:5mm}
.rb-f-textes>div{border:1px solid #E4E9E9;border-radius:3mm;padding:3.5mm 4mm;min-height:32mm}
.rb-f-textes h2{font-size:10.5pt;color:#075A73;margin:0 0 2mm;text-transform:uppercase;letter-spacing:.08em}
.rb-f-textes p{margin:0;font-size:9.5pt}
.rb-f-prix{background:#FFF7E3;border-radius:3mm;padding:3mm 4mm;font-size:10pt}
.rb-f-pied{margin-top:auto;border-top:1px solid #D5DDDE;padding-top:3mm;font-size:7.8pt;color:#56676A}
.rb-f-pied p{margin:0 0 1.2mm}
.rb-f-code b{font-family:var(--titre);color:#075A73;letter-spacing:.06em}

/* ─── Publicité ─── */
.rb-emplacements{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
.rb-empl{padding:0;overflow:hidden;display:flex;flex-direction:column;border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100)}
.rb-empl-premium{border-color:var(--canard-600);box-shadow:0 5px 0 var(--canard-800),var(--ombre-2)}
.rb-empl-premium .pastille.or{background:var(--canard-700);color:#fff}
.rb-empl-corps{padding:1.2rem 1.4rem 1.4rem;display:flex;flex-direction:column;flex:1}
.rb-empl-corps .bloc-prix{margin-top:auto;font-size:1.9rem;padding-top:.9rem;border-top:2px dashed var(--filet)}
.rb-empl-maquette{position:relative;aspect-ratio:16/8;background:var(--cyan-50);border-bottom:1px solid var(--cyan-100);display:flex;flex-direction:column;gap:6px;padding:36px 18% 12px}
.rb-empl-maquette i{display:block;height:9px;border-radius:5px;background:#fff}
.rb-empl-maquette i:nth-child(3){width:70%}
.rb-empl-maquette i.pub{height:auto;flex:1;background:var(--degrade);border-radius:10px;box-shadow:0 3px 0 var(--canard-800)}
.rb-m-home_premium{flex-direction:column-reverse}
.rb-m-home_premium i.pub{flex:2}
.rb-m-marketplace i.pub,.rb-m-profil i.pub{flex:.6}
.rb-audience-liste{list-style:none;padding:0;margin:1.2rem 0;display:flex;flex-direction:column;gap:1rem}
.rb-audience-liste li{display:flex;gap:.9rem;align-items:flex-start}
.rb-audience-liste .ic{width:44px;height:44px;padding:11px;border-radius:14px;background:var(--canard-700);color:#fff;flex:none;box-sizing:border-box;box-shadow:0 3px 0 var(--canard-900)}
.rb-audience-liste li:nth-child(2) .ic{background:#C98F22;box-shadow:0 3px 0 #8f6412}
.rb-audience-liste li:nth-child(3) .ic{background:#0A6F8C;box-shadow:0 3px 0 var(--canard-950)}
.rb-audience-liste b{display:block;font-family:var(--titre);color:var(--encre)}
.rb-audience-liste span{font-size:.92rem;color:var(--gris-600)}
.rb-audiences .carte-doux h3{display:flex;gap:.5rem;align-items:center}
.rb-audiences .carte-doux h3 .ic{color:var(--canard-700)}

/* ─── À propos ─── */
.rb-apropos-heros{position:relative;overflow:hidden;padding:clamp(2.6rem,7vw,5.5rem) 0;color:#F0FBFD;background:var(--degrade);border-radius:0 0 var(--r-xl) var(--r-xl)}
.rb-apropos-heros::before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:rgba(255,255,255,.09);right:-200px;top:-260px}
.rb-apropos-heros::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.07);left:-90px;bottom:-120px}
.rb-apropos-heros .conteneur{position:relative;z-index:1}
.rb-apropos-heros .rb-pal-lead{max-width:560px}
.rb-soussou-grand{font-family:var(--titre);font-weight:800;color:#fff;font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.2;margin:1rem 0 1.2rem;max-width:760px;text-shadow:0 2px 14px rgba(6,74,96,.2)}
.rb-soussou-grand b{color:#fff;font-weight:900}
.rb-soussou-grand span{display:inline-block;font-weight:900;font-size:1.4em;background:#fff;color:var(--canard-800);padding:0 .25em .05em;border-radius:.2em;transform:rotate(-1.5deg);box-shadow:0 .09em 0 rgba(6,74,96,.28);text-shadow:none;margin-top:.15em}
.rb-apropos-karamo{position:absolute;z-index:1;right:max(20px,calc((100vw - var(--largeur)) / 2 + 20px));bottom:-10px;width:clamp(150px,20vw,250px);filter:drop-shadow(0 20px 30px rgba(6,74,96,.35))}
.rb-mission{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,5vw,4rem)}
.rb-conviction{max-width:860px;margin:0 auto;text-align:center}
.rb-conviction .citation{text-align:left;margin:1rem 0 1.5rem;font-size:clamp(1.3rem,2.8vw,2rem);border-left-color:#fff}
.rb-conviction p{color:#E4F6FA;font-size:1.05rem}
.rb-pal-sombre .citation{color:#fff}
.rb-piliers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.rb-pilier-el{--c:var(--canard-700);background:#fff;border-radius:var(--r-l);padding:1.4rem 1.2rem;border:2px solid color-mix(in srgb,var(--c) 18%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--c) 25%,#fff)}
.rb-pilier-el:nth-child(1){--c:#0E94B5}.rb-pilier-el:nth-child(2){--c:#0A6F8C}.rb-pilier-el:nth-child(3){--c:#6B4FA0}.rb-pilier-el:nth-child(4){--c:#1C6FB8}.rb-pilier-el:nth-child(5){--c:var(--or)}
.rb-pilier-el>.ic{display:block;width:50px;height:50px;padding:12px;border-radius:16px;background:var(--c);color:#fff;margin:.7rem 0 .9rem;box-sizing:border-box;box-shadow:0 4px 0 color-mix(in srgb,var(--c) 70%,#000)}
.rb-pilier-el h3{font-size:1.05rem}
.rb-pilier-el p{font-size:.88rem;color:var(--gris-600);margin:0}
.rb-pilier-num{font-family:var(--titre);font-weight:900;font-size:.78rem;color:var(--c);letter-spacing:.12em}
.rb-acteurs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;position:relative}
.rb-acteurs-centre{grid-column:1/-1;justify-self:center;display:flex;align-items:center;gap:.8rem;background:var(--degrade);color:#fff;border-radius:999px;padding:.6rem 1.6rem .6rem .6rem;font-family:var(--titre);font-weight:800;margin-bottom:.5rem;box-shadow:0 5px 0 var(--canard-900)}
.rb-acteurs-centre img{width:56px;height:56px;background:#fff;border-radius:50%;padding:6px}
.rb-acteur{--ac:var(--canard-700);display:flex;flex-direction:column;gap:.3rem;background:#fff;border-radius:var(--r-l);padding:1.3rem;text-decoration:none;color:inherit;border:2px solid color-mix(in srgb,var(--ac) 18%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--ac) 25%,#fff);transition:transform .15s,border-color .15s}
.rb-acteur:nth-child(2){--ac:#0E94B5}.rb-acteur:nth-child(3){--ac:#C98F22}.rb-acteur:nth-child(4){--ac:#0A6F8C}.rb-acteur:nth-child(5){--ac:#6B4FA0}.rb-acteur:nth-child(6){--ac:#B8561B}.rb-acteur:nth-child(7){--ac:#4A5E6A}
.rb-acteur:hover{border-color:color-mix(in srgb,var(--ac) 40%,#fff);transform:translateY(-3px);color:inherit}
.rb-acteur .pastille-icone{margin-bottom:.4rem;background:var(--ac);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--ac) 70%,#000)}
.rb-acteur b{font-family:var(--titre);font-size:1.1rem;color:var(--encre)}
.rb-acteur span:last-child{font-size:.9rem;color:var(--gris-600)}
.rb-distingue .carte{border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100)}
.rb-distingue .pastille-icone{background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.rb-trajectoire{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;position:relative}
.rb-trajectoire::before{content:"";position:absolute;left:16%;right:16%;top:31px;border-top:5px dotted var(--cyan-200)}
.rb-trajectoire li{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.rb-trajectoire li:last-child .rb-cal-icone{background:var(--or);box-shadow:0 5px 0 var(--or-700),0 0 0 7px #fff}
.rb-appel-3{grid-template-columns:1fr auto auto}
.rb-appel-3 img{width:150px}
.rb-trajectoire b{font-family:var(--titre);font-size:1.2rem;color:var(--encre);margin-top:.4rem}
.rb-trajectoire p{color:var(--gris-600);font-size:.94rem;max-width:300px;margin:0}

/* ─── Parcours ─── */
.rb-parcours-heros{--couleur:var(--canard-600);position:relative;overflow:hidden;color:#F0FBFD;padding:clamp(2.4rem,6vw,4.6rem) 0;border-radius:0 0 var(--r-xl) var(--r-xl);background:radial-gradient(520px 360px at 85% 20%,color-mix(in srgb,var(--couleur) 55%,transparent),transparent 65%),var(--degrade)}
.rb-parcours-heros::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(255,255,255,.09);right:-180px;top:-240px}
.rb-parcours-heros .conteneur{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}
.rb-parcours-heros h1{color:#fff;font-size:clamp(1.8rem,4.2vw,3rem);margin:1rem 0 0;max-width:680px;text-shadow:0 2px 14px rgba(6,74,96,.2)}
.rb-profil-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;padding:.4rem .95rem .4rem .45rem;border-radius:999px;color:var(--canard-900);font-family:var(--titre);font-weight:800;font-size:.85rem;box-shadow:0 3px 0 rgba(6,74,96,.25)}
.rb-profil-badge .ic{width:28px;height:28px;padding:6px;border-radius:50%;background:var(--couleur);color:#fff;box-sizing:border-box}
.rb-parcours-prix{display:inline-flex;gap:.5rem;align-items:center;margin-top:1rem;color:#fff;font-weight:700;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:.4rem .9rem;border-radius:999px}
.rb-telephone{position:relative;justify-self:center;width:250px;max-width:100%;border-radius:36px;padding:10px;background:#0D2733;box-shadow:var(--ombre-3)}
.rb-telephone .maquette-tag{z-index:2;top:-12px;left:50%;transform:translateX(-50%);background:var(--encre)}
.rb-tel-ecran{background:var(--fond);border-radius:28px;overflow:hidden;min-height:420px;display:flex;flex-direction:column;gap:.6rem;padding:0 0 .6rem}
.rb-tel-barre{display:flex;align-items:center;gap:.5rem;padding:1.2rem .9rem .9rem;background:linear-gradient(135deg,var(--couleur,var(--canard-700)),var(--canard-700));color:#fff;font-family:var(--titre);font-weight:800;font-size:.95rem;border-radius:0 0 20px 20px}
.rb-tel-barre img{width:30px;height:30px;background:#fff;border-radius:9px;padding:3px}
.rb-tel-ligne{display:flex;gap:.6rem;align-items:center;background:#fff;margin:0 .7rem;border-radius:14px;padding:.7rem;border:2px solid color-mix(in srgb,var(--couleur) 15%,#fff);box-shadow:0 3px 0 color-mix(in srgb,var(--couleur) 20%,#fff)}
.rb-tel-ligne>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--couleur);color:#fff;flex:none}
.rb-tel-ligne>span .ic{width:18px;height:18px}
.rb-tel-ligne b{display:block;font-family:var(--titre);font-size:.82rem;color:var(--encre)}
.rb-tel-ligne small{font-size:.72rem;color:var(--gris-600)}
.rb-tel-nav{margin-top:auto;display:flex;justify-content:space-around;padding:.6rem .8rem 0;border-top:1px solid var(--filet)}
.rb-tel-nav i{width:22px;height:22px;border-radius:7px;background:var(--gris-200)}
.rb-tel-nav i:first-child{background:var(--couleur)}
.rb-video{position:relative;aspect-ratio:16/9;border-radius:var(--r-l);overflow:hidden;background:var(--degrade-profond);box-shadow:var(--ombre-2)}
.rb-video iframe,.rb-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.rb-video-lancer{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;background:none;border:0;color:#fff;cursor:pointer;font-family:var(--titre);font-weight:800;font-size:1.1rem}
.rb-video-lancer>.ic{width:76px;height:76px;padding:22px;border-radius:50%;background:#fff;color:var(--canard-700);box-shadow:0 5px 0 rgba(6,74,96,.35),0 0 0 10px rgba(255,255,255,.2)}
.rb-video-lancer span{display:flex;flex-direction:column;align-items:center;gap:.2rem}
.rb-video-lancer small{font-family:var(--corps);font-weight:500;font-size:.8rem;color:#E4F6FA}
.rb-frise{--couleur:var(--canard-600);list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;position:relative}
.rb-frise li{display:flex;flex-direction:column;gap:.8rem;background:#fff;border-radius:var(--r-l);padding:1.3rem;position:relative;border:2px solid color-mix(in srgb,var(--couleur) 18%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--couleur) 25%,#fff)}
.rb-frise-icone{position:relative;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--couleur);color:#fff;box-shadow:0 4px 0 color-mix(in srgb,var(--couleur) 70%,#000)}
.rb-frise-icone .ic{width:26px;height:26px}
.rb-frise-icone em{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--encre);font-style:normal;font-family:var(--titre);font-weight:900;font-size:.8rem;display:grid;place-items:center;box-shadow:0 2px 6px rgba(6,74,96,.25)}
.rb-frise b{font-family:var(--titre);font-size:1.05rem;color:var(--encre)}
.rb-frise p{font-size:.9rem;color:var(--gris-600);margin:.2rem 0 0}
.rb-gains{align-items:center}
.rb-liste-grande li{font-size:1.05rem;padding:.5rem 0 .5rem 2rem}
.rb-liste-grande li::before{top:.8rem}
.rb-cta-carte{padding:2rem}
.rb-cta-carte .pastille-icone{margin-bottom:1rem;background:#fff;color:var(--canard-700);box-shadow:0 3px 0 rgba(6,74,96,.3)}
.rb-autres-parcours{display:flex;flex-wrap:wrap;gap:.6rem}
.rb-autres-parcours a{display:inline-flex;gap:.55rem;align-items:center;min-height:48px;padding:.45rem 1.1rem .45rem .45rem;border-radius:999px;background:#fff;border:2px solid color-mix(in srgb,var(--couleur) 22%,#fff);box-shadow:0 3px 0 color-mix(in srgb,var(--couleur) 25%,#fff);text-decoration:none;color:var(--encre);font-weight:700;font-size:.92rem;transition:transform .15s}
.rb-autres-parcours a .ic{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--couleur);color:#fff;box-sizing:border-box}
.rb-autres-parcours a:hover{transform:translateY(-2px);color:var(--encre);border-color:color-mix(in srgb,var(--couleur) 45%,#fff)}

/* ─── Contact, légal ─── */
.rb-contact-grille{display:grid;grid-template-columns:1.4fr .8fr;gap:1.5rem;align-items:start}
.rb-contact-grille>.form{border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-1)}
.rb-canal{display:flex;gap:1rem;align-items:center;padding:1.1rem 1.2rem;border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100)}
.rb-canal .pastille-icone{margin:0;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.rb-canal b{display:block;font-family:var(--titre);color:var(--encre)}
.rb-canal span{font-size:.9rem;color:var(--gris-600)}
.rb-canal .rb-wa{background:#1FA855!important;color:#fff!important;box-shadow:0 3px 0 #137a3c!important}
.rb-liens-rapides{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.1rem}
.rb-liens-rapides a{display:flex;gap:.7rem;align-items:center;min-height:44px;padding:.35rem .4rem;border-radius:12px;text-decoration:none;font-weight:700;color:var(--canard-900)}
.rb-liens-rapides a:hover{background:#fff}
.rb-liens-rapides .ic{width:32px;height:32px;padding:7px;border-radius:10px;background:#fff;color:var(--canard-700);box-sizing:border-box;border:1px solid var(--cyan-100)}
.rb-legal{display:flex;flex-direction:column;gap:1.2rem}
.rb-legal>.carte{border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100)}
.rb-legal>.carte-doux{box-shadow:none}
.rb-legal>.prose{background:#fff;border-radius:var(--r-l);padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--filet);box-shadow:var(--ombre-1)}
.rb-legal .carte h2,.rb-legal .prose h2{font-size:1.25rem;margin-top:1.6rem;display:flex;align-items:center;gap:.55rem}
.rb-legal .carte h2::before,.rb-legal .prose h2::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(26,188,212,.18);flex:none}
.rb-legal .carte h2:first-child,.rb-legal .prose>h2:first-child{margin-top:0}
.rb-dl{margin:0;display:flex;flex-direction:column}
.rb-dl>div{display:grid;grid-template-columns:minmax(0,35%) minmax(0,1fr);gap:1rem;padding:.75rem 0;border-bottom:2px dashed var(--filet)}
.rb-dl>div:last-child{border:0}
.rb-dl dt{font-weight:700;color:var(--gris-600);font-size:.9rem}
.rb-dl dd{margin:0;color:var(--encre);overflow-wrap:anywhere;font-weight:600}
.rb-admin-2 .rb-dl>div{grid-template-columns:1fr;gap:.1rem}
.rb-sommaire b{font-family:var(--titre);font-weight:900;color:var(--canard-900)}
.rb-sommaire ol{margin:.5rem 0 0;padding-left:1.4rem;columns:2;column-gap:2rem;font-size:.92rem}
.rb-sommaire li{break-inside:avoid;padding:.2rem 0}
.rb-sommaire li::marker{font-family:var(--titre);font-weight:900;color:var(--canard-600)}
.rb-sommaire a{text-decoration:none;font-weight:600}
.rb-sommaire a:hover{text-decoration:underline}

/* ─── Administration (calme) ─── */
.rb-admin-2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.25rem;align-items:start}
.rb-chiffres-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rb-apercu{border:2px solid var(--cyan);margin-bottom:1rem}
.rb-rapport{margin:.5rem 0 0;padding-left:1.2rem;font-size:.88rem;max-height:280px;overflow:auto}
.rb-doc-csv{font-size:.88rem}
.rb-doc-csv ul{margin:.5rem 0 0;padding-left:1.1rem}
.rb-code-bloc{display:block;background:var(--encre);color:var(--cyan-100);padding:.7rem .9rem;border-radius:12px;font-size:.8rem;overflow-x:auto;white-space:nowrap;margin:.4rem 0}
.rb-admin-article{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1.25rem;align-items:start}
.rb-apercu-image{border-radius:var(--r);max-height:160px;object-fit:cover}
.rb-compteurs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem}
.rb-compteurs a{display:flex;flex-direction:column;background:var(--gris-50);border-radius:14px;padding:.6rem .7rem;text-decoration:none;color:var(--gris-600);font-size:.76rem;line-height:1.25;border:2px solid transparent}
.rb-compteurs a:hover{border-color:var(--cyan-100);background:var(--cyan-50)}
.rb-compteurs a b{font-family:var(--titre);font-weight:900;font-size:1.3rem;color:var(--encre)}
.rb-compteurs a.actif{border-color:var(--canard-600);background:var(--cyan-50);box-shadow:0 3px 0 var(--cyan-200)}
.rb-liste-editions{list-style:none;padding:0;margin:0}
.rb-liste-editions a{display:flex;flex-direction:column;padding:.6rem .8rem;border-radius:12px;text-decoration:none;color:var(--gris-600);font-size:.85rem}
.rb-liste-editions a:hover{background:var(--gris-50)}
.rb-liste-editions a b{font-family:var(--titre);font-weight:900;font-size:1.1rem;color:var(--encre)}
.rb-liste-editions a.actif{background:var(--cyan-50);box-shadow:inset 3px 0 0 var(--canard-600)}
.rb-grille-total{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}
.rb-grille-total b{font-family:var(--titre);font-weight:900;font-size:2rem;color:var(--encre)}
.rb-table-grille input{max-width:110px;min-width:72px;text-align:right;font-weight:700;margin-left:auto;display:block}
.rb-invalide{border-color:var(--rouge)!important;background:var(--rouge-50)!important}
.rb-apercus{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}
.rb-message.traite{opacity:.62}
.rb-message-texte{white-space:normal;margin:.8rem 0;color:var(--texte);word-break:break-word}

/* ═══ Adaptation ═══ */
@media (max-width:1100px){
  .rb-piliers{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rb-labels{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rb-calendrier{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:2rem}
  .rb-calendrier::before{display:none}
}
@media (max-width:960px){
  .rb-resultats-grille,.rb-bareme-grille,.rb-methode,.rb-contribution,.rb-ecole-grille,.rb-mission,.rb-contact-grille,.rb-admin-2,.rb-admin-article{grid-template-columns:minmax(0,1fr)}
  .rb-pal-heros .conteneur,.rb-parcours-heros .conteneur{grid-template-columns:minmax(0,1fr)}
  .rb-contribution .btn{white-space:normal}
  .rb-pal-embleme{order:-1}
  .rb-medaille{width:160px}
  .rb-avancement{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.2rem}
  .rb-av-etape:nth-child(4)::before{display:none}
  .rb-acteurs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-apropos-karamo{width:170px;right:10px}
  .rb-appel-3{grid-template-columns:1fr}
}
@media (max-width:640px){
  .rb-pal-heros{border-radius:0 0 26px 26px}
  .rb-apropos-heros,.rb-parcours-heros{border-radius:0 0 26px 26px}
  .rb-apropos-heros{padding-bottom:8.5rem}
  .rb-apropos-karamo{opacity:1;width:118px;right:14px;bottom:-12px}
  .rb-pal-heros h1{font-size:2.15rem}
  .rb-pal-heros-court h1{font-size:1.85rem}
  .rb-pal-embleme{display:none}
  .rb-pal-heros .groupe-btn .btn,.rb-parcours-heros .groupe-btn .btn,.entete-page .groupe-btn .btn{width:100%;white-space:normal}
  .rb-edition{font-size:.7rem;letter-spacing:.05em;white-space:normal}
  .rb-principe .conteneur{align-items:flex-start}
  div.rb-principe .ic{width:38px;height:38px;padding:8px}
  .rb-principe p{font-size:.9rem}
  .rb-avancement{grid-template-columns:repeat(2,minmax(0,1fr));padding:1.1rem .7rem}
  .rb-av-etape::before{display:none}
  .rb-labels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-label:first-child{grid-column:1/-1}
  .rb-calendrier{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem .8rem}
  .rb-prix{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-piliers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-piliers>:last-child{grid-column:1/-1}
  .rb-acteurs{grid-template-columns:1fr}
  .rb-trajectoire{grid-template-columns:1fr}
  .rb-trajectoire::before{display:none}
  .rb-choix-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
  .rb-choix-3 label{padding:.7rem .3rem;font-size:.82rem}
  .rb-podium{gap:.45rem;padding-top:1.8rem;margin-bottom:1.6rem}
  .rb-podium-carte{padding:2.2rem .4rem .8rem;border-radius:18px 18px 0 0}
  .rb-podium-1 .rb-podium-carte{padding-top:2.5rem}
  .rb-podium-medaille{width:52px;height:52px;top:-26px;font-size:1.15rem}
  .rb-podium-1 .rb-podium-medaille{width:62px;height:62px;top:-31px;font-size:1.35rem}
  .rb-podium-nom{font-size:.8rem;overflow-wrap:anywhere}
  .rb-podium-lieu{font-size:.7rem}
  .rb-podium-score{font-size:1.4rem}
  .rb-podium-1 .rb-podium-score{font-size:1.7rem}
  .rb-podium-label{font-size:.66rem}
  .rb-podium-carte .rb-etoiles{font-size:.8rem}
  .rb-podium-socle{font-size:1rem}
  .rb-podium-1 .rb-podium-socle{height:64px;font-size:1.2rem}
  .rb-podium-2 .rb-podium-socle{height:42px}
  .rb-podium-3 .rb-podium-socle{height:28px}
  .rb-classement a{grid-template-columns:48px 1fr;gap:.7rem;padding:.9rem}
  .rb-classement-score{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:.5rem;border-top:2px dashed var(--filet);padding-top:.6rem}
  .rb-classement-score b{font-size:1.3rem}
  .rb-rang{width:44px;height:44px;font-size:1.1rem}
  .rb-dl>div{grid-template-columns:1fr;gap:.1rem}
  .rb-sommaire ol{columns:1}
  .rb-chiffres-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
  .rb-chiffres-3 .chiffre{padding:.7rem}
  .rb-chiffres-3 .chiffre .v{font-size:1.3rem}
  .rb-cartes{grid-template-columns:1fr}
  .rb-carte-bandeau{min-height:72px;padding:.8rem 1rem}
  .rb-carte-bandeau .ic{width:42px;height:42px;padding:10px}
  .rb-emplacements{grid-template-columns:1fr}
  .rb-apercus{grid-template-columns:1fr}
  .rb-resultat-nom{font-size:1.15rem}
  .rb-recherche-carte .btn{width:100%}
  .rb-frise{grid-template-columns:1fr;gap:.8rem}
  .rb-frise li{flex-direction:row;align-items:flex-start;gap:1rem;padding:1.1rem}
  .rb-frise-icone{width:50px;height:50px;border-radius:16px;flex:none}
  .rb-telephone{width:220px}
  .rb-tel-ecran{min-height:360px}
  .rb-actions-article .btn{width:100%}
  .rb-rangs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
  .rb-rangs .chiffre{padding:.8rem .5rem}
  .rb-rangs .chiffre .v{font-size:1.4rem}
  .rb-rangs .chiffre .l{font-size:.72rem}
  .rb-score-heros{padding:.7rem .9rem}
  .rb-contribution-prix{padding:1.4rem 1rem}
  .rb-bareme-tete{font-size:.92rem}
  .rb-bareme-tete b{font-size:1.15rem}
  .rb-acteurs-centre{padding:.5rem 1.2rem .5rem .5rem}
  .rb-methode-etapes li{padding:.9rem}
  .rb-methode-etapes::before{left:calc(.9rem + 16px)}
}
@media print{
  .rb-feuille{gap:4.5mm}
  .rb-f-score{background:#0A6F8C!important;color:#fff!important}
}

/* socle-admin.css */
/* ═══════════════════════════════════════════════════════════════
   SOCLE — administration générale + page publique des tarifs
   Toutes les classes sont préfixées .ad-
   ═══════════════════════════════════════════════════════════════ */

/* ─── En-tête d'une page d'administration ─── */
.ad-entete{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.ad-entete h1{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0}
.ad-entete p{margin:.3rem 0 0;color:var(--gris-600);max-width:720px}
.ad-entete .surtitre{margin-bottom:.4rem}

/* ─── Bandeau de tête du tableau de bord ─── */
.ad-tete{position:relative;overflow:hidden;border-radius:var(--r-xl);color:#CFE3E6;padding:clamp(1.3rem,3vw,2.2rem);margin-bottom:1.25rem;
  background:radial-gradient(640px 320px at 100% 0%,rgba(26,188,212,.34),transparent 60%),var(--degrade-profond);
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.6rem;align-items:end}
.ad-tete::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at 80% 20%,#000 15%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 80% 20%,#000 15%,transparent 70%)}
.ad-tete>*{position:relative;z-index:1}
.ad-tete h1{color:#fff;font-size:clamp(1.6rem,3.2vw,2.5rem);margin:.35rem 0 .45rem;letter-spacing:-.025em}
.ad-tete p{margin:0;color:#DDF3F7;max-width:520px}
.ad-date{font-family:var(--titre);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff;display:flex;align-items:center;gap:.5rem}
.ad-date::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
.ad-tete .groupe-btn{margin-top:1.1rem}
.ad-direct-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.ad-direct{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:.95rem 1rem;min-width:0}
.ad-direct .v{font-family:var(--titre);font-weight:900;font-size:clamp(1.7rem,3vw,2.4rem);color:#fff;line-height:1;letter-spacing:-.02em}
.ad-direct .l{font-size:.78rem;color:#D5F0F5;margin-top:.45rem;line-height:1.3}
.ad-direct.vif{background:rgba(94,224,160,.09);border-color:rgba(94,224,160,.25)}
.ad-tete .direct{color:#6EE7AE;font-size:.74rem}
.ad-tete .direct::before{background:#6EE7AE}

/* ─── Chiffres clés ─── */
.ad-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.8rem;margin-bottom:1.25rem}
.ad-kpis.argent{grid-template-columns:repeat(4,minmax(0,1fr))}
.ad-kpi{--c:var(--canard-700);background:#fff;border-radius:22px;padding:1.05rem 1.1rem;border:2px solid color-mix(in srgb,var(--c) 14%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 18%,#fff);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.15rem;min-width:0;transition:transform .18s,box-shadow .18s;position:relative}
a.ad-kpi:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--c) 32%,#fff);color:inherit}
.ad-kpi .ic-k{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--c);color:#fff;margin-bottom:.6rem;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.ad-kpi .ic-k .ic{width:19px;height:19px}
.ad-kpi .v{font-family:var(--titre);font-weight:900;font-size:clamp(1.35rem,2.2vw,1.85rem);color:var(--encre);line-height:1.05;letter-spacing:-.02em;overflow-wrap:anywhere}
.ad-kpi .v small{font-size:.55em;font-weight:800;color:var(--gris-500);letter-spacing:0}
.ad-kpi .l{font-size:.8rem;color:var(--gris-600);line-height:1.3}
.ad-kpi .s{font-size:.74rem;color:var(--gris-500);margin-top:.25rem}
.ad-kpi.or{--c:var(--or);background:linear-gradient(150deg,#fff 45%,var(--or-50))}
.ad-kpi.or .ic-k{color:#fff}
.ad-kpi.sombre{background:var(--degrade);border:0;box-shadow:0 4px 0 var(--canard-900)}
.ad-kpi.sombre .v{color:#fff}.ad-kpi.sombre .l{color:#E6F7FA}.ad-kpi.sombre .s{color:#D5F0F5}
.ad-kpi.sombre .ic-k{background:rgba(255,255,255,.18);color:#fff;box-shadow:none}
.ad-kpi.alerte{border-color:var(--or);box-shadow:0 4px 0 var(--or-100)}
.ad-kpi.alerte::after{content:"";position:absolute;top:14px;right:14px;width:10px;height:10px;border-radius:50%;background:var(--or);box-shadow:0 0 0 4px var(--or-100)}

/* ─── Grille du tableau de bord ─── */
.ad-grille{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.1rem;margin-bottom:1.1rem}
.ad-8{grid-column:span 8}.ad-7{grid-column:span 7}.ad-6{grid-column:span 6}.ad-5{grid-column:span 5}.ad-4{grid-column:span 4}.ad-12{grid-column:1/-1}
.ad-panneau{background:#fff;border-radius:var(--r-l);border:1px solid rgba(7,90,115,.08);box-shadow:var(--ombre-1);padding:1.3rem 1.4rem;min-width:0}
.ad-ph{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:1rem}
.ad-ph h2{font-size:1.08rem;margin:0;font-weight:800;letter-spacing:-.01em}
.ad-ph p{margin:.15rem 0 0;font-size:.82rem;color:var(--gris-500)}
.ad-ph .lien-fleche{font-size:.84rem;white-space:nowrap;flex:none}
.ad-panneau.sombre{background:radial-gradient(420px 220px at 100% 0%,rgba(255,255,255,.14),transparent 60%),var(--degrade-profond);border:0;color:#E6F7FA}
.ad-panneau.sombre h2{color:#fff}.ad-panneau.sombre .ad-ph p{color:#D5F0F5}
.ad-total{font-family:var(--titre);font-weight:900;font-size:1.5rem;color:var(--encre);line-height:1}
.ad-total small{font-family:var(--corps);font-weight:500;font-size:.78rem;color:var(--gris-500)}

/* ─── Courbe d'audience (SVG fait main) ─── */
.ad-courbe{position:relative;padding-left:40px}
.ad-courbe-zone{position:relative;height:210px;border-bottom:1px solid var(--gris-200)}
.ad-courbe-zone svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ad-courbe .grille-l{stroke:var(--filet);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:3 4}
.ad-courbe .b{fill:var(--canard-600);transition:fill .15s}
.ad-courbe .b.auj{fill:var(--or)}
.ad-courbe .b.zero{fill:var(--gris-200)}
.ad-courbe .hit{fill:transparent}
.ad-courbe g:hover .b{fill:var(--canard-800)}
.ad-courbe g:hover .b.auj{fill:var(--or-600)}
.ad-courbe g:hover .hit{fill:rgba(26,188,212,.07)}
.ad-y{position:absolute;left:-40px;width:34px;text-align:right;font-size:.7rem;color:var(--gris-500);transform:translateY(-50%);font-variant-numeric:tabular-nums}
.ad-x{position:relative;height:1.5rem;font-size:.7rem;color:var(--gris-500)}
.ad-x span{position:absolute;top:.35rem;transform:translateX(-50%);white-space:nowrap}
.ad-x span:first-child{transform:none}
.ad-x span:last-child{transform:translateX(-100%)}
.ad-courbe-vide{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:1rem;pointer-events:none}
.ad-courbe-vide div{background:rgba(255,255,255,.94);border:1px solid var(--filet);border-radius:var(--r);padding:.8rem 1.1rem;font-size:.86rem;color:var(--gris-600);max-width:330px;box-shadow:var(--ombre-1)}
.ad-courbe-vide b{display:block;font-family:var(--titre);color:var(--encre);margin-bottom:.15rem}
.ad-legende{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.78rem;color:var(--gris-600);margin-top:.6rem}
.ad-legende span{display:inline-flex;align-items:center;gap:.35rem}
.ad-legende i{width:10px;height:10px;border-radius:3px;background:var(--canard-600);display:inline-block}
.ad-legende i.or{background:var(--or)}

/* ─── Anneau (part des visites) ─── */
.ad-anneau-bloc{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem}
.ad-anneau{--p:0;width:148px;height:148px;border-radius:50%;background:conic-gradient(var(--canard-600) calc(var(--p)*1%),var(--gris-50) 0);display:grid;place-items:center;position:relative}
.ad-anneau::before{content:"";position:absolute;inset:16px;border-radius:50%;background:#fff}
.ad-anneau b{position:relative;font-family:var(--titre);font-weight:900;font-size:1.9rem;color:var(--encre);line-height:1}
.ad-anneau b small{font-size:.55em}
.ad-anneau.or{background:conic-gradient(var(--or) calc(var(--p)*1%),var(--gris-50) 0)}
.ad-anneau.petit{width:112px;height:112px}.ad-anneau.petit::before{inset:13px}.ad-anneau.petit b{font-size:1.45rem}
.ad-duo{display:flex;justify-content:space-between;gap:.5rem;width:100%;font-size:.84rem;border-top:1px solid var(--filet);padding-top:.8rem}
.ad-duo div{flex:1}
.ad-duo b{display:block;font-family:var(--titre);font-size:1.05rem;color:var(--encre)}
.ad-duo span{color:var(--gris-500);font-size:.76rem}

/* ─── À valider ─── */
.ad-valider{display:flex;flex-direction:column;gap:.45rem}
.ad-valider a{display:flex;align-items:center;gap:.8rem;padding:.65rem .8rem;border-radius:14px;text-decoration:none;color:var(--texte);border:1px solid var(--filet);transition:background .15s,border-color .15s;min-height:52px}
.ad-valider a:hover{background:var(--gris-50);color:var(--encre)}
.ad-valider .pic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--gris-50);color:var(--gris-500);flex:none}
.ad-valider .pic .ic{width:18px;height:18px}
.ad-valider .t{flex:1;min-width:0;font-weight:600;font-size:.9rem}
.ad-valider .n{font-family:var(--titre);font-weight:900;font-size:.95rem;min-width:34px;height:30px;border-radius:999px;display:grid;place-items:center;padding:0 .6rem;background:var(--gris-50);color:var(--gris-500)}
.ad-valider a.actif{background:var(--or-50);border-color:var(--or-100)}
.ad-valider a.actif .pic{background:var(--or);color:var(--canard-950)}
.ad-valider a.actif .t{color:var(--encre);font-weight:700}
.ad-valider a.actif .n{background:var(--canard-800);color:#fff}
.ad-valider a.calme .t{color:var(--gris-600)}
.ad-a-jour{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border-radius:14px;background:var(--vert-50);color:#16663f;font-size:.9rem;margin-bottom:.7rem}
.ad-a-jour .ic{width:24px;height:24px;flex:none}

/* ─── Paiements en attente (tableau de bord) ─── */
.ad-paies{display:flex;flex-direction:column;gap:.7rem}
.ad-paie{border:1px solid var(--filet);border-radius:var(--r);padding:.9rem 1rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;align-items:center}
.ad-paie .qui b{display:block;color:var(--encre);font-size:.95rem}
.ad-paie .qui span{font-size:.8rem;color:var(--gris-600)}
.ad-paie .montant{font-family:var(--titre);font-weight:900;font-size:1.15rem;color:var(--encre);text-align:right;white-space:nowrap}
.ad-paie .details{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center;font-size:.8rem;color:var(--gris-600)}
.ad-paie .details code{background:var(--gris-50);padding:.12rem .45rem;border-radius:6px;font-size:.8rem;color:var(--encre);overflow-wrap:anywhere}
.ad-paie .gestes{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}
.ad-paie .gestes form{margin:0}
.ad-refus summary{list-style:none;cursor:pointer}
.ad-refus summary::-webkit-details-marker{display:none}
.ad-refus[open] summary{background:var(--rouge-50);color:var(--rouge);border-color:var(--rouge-50)}
.ad-refus form{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem!important}
.ad-refus input{min-height:38px;padding:.4rem .7rem;font-size:.88rem;flex:1 1 180px;border-radius:10px}
.ad-op{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .5rem;border-radius:6px;font-family:var(--titre);font-weight:800;font-size:.7rem;white-space:nowrap;background:var(--gris-50);color:var(--gris-600)}
.ad-op.orange{background:#FF7900;color:#fff}
.ad-op.mtn{background:#FFCB05;color:#1a1a1a}
.btn-rouge-ligne{background:#fff;color:var(--rouge);border-color:var(--rouge-50)}
.btn-rouge-ligne:hover{background:var(--rouge);color:#fff}

/* ─── Engagement ─── */
.ad-eng{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
.ad-eng div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:1rem;min-width:0}
.ad-eng .ic{width:22px;height:22px;color:#fff}
.ad-eng b{display:block;font-family:var(--titre);font-weight:900;font-size:1.7rem;color:#fff;line-height:1;margin:.6rem 0 .3rem}
.ad-eng span{font-size:.78rem;color:#D5F0F5;line-height:1.3;display:block}

/* ─── Classements en barres (pages, revenus) ─── */
.ad-rang{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}
.ad-rang li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .8rem;align-items:baseline}
.ad-rang .nom{font-size:.88rem;color:var(--encre);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-rang .nom code{font-size:.84rem;color:var(--canard-700);background:none;padding:0}
.ad-rang .val{font-family:var(--titre);font-weight:800;font-size:.9rem;color:var(--encre);font-variant-numeric:tabular-nums;white-space:nowrap}
.ad-rang .val small{font-family:var(--corps);font-weight:500;color:var(--gris-500);font-size:.76rem}
.ad-rang .barre{grid-column:1/-1;height:8px}
.ad-rang .barre i{background:var(--canard-600)}
.ad-rang .barre.or i{background:var(--or)}

/* ─── Activité récente ─── */
.ad-activite .el{padding:.7rem 0;align-items:center}
.ad-activite .el .pic{width:34px;height:34px;border-radius:10px}
.ad-activite .el .pic .ic{width:17px;height:17px}
.ad-activite .el b{font-size:.88rem}
.ad-activite .el span{font-size:.8rem}
.ad-activite .quand{margin-left:auto;font-size:.74rem;color:var(--gris-500);white-space:nowrap;flex:none}

/* ─── Indicateurs des modules ─── */
.ad-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.7rem}
.ad-module{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;border-radius:var(--r);border:2px solid var(--filet);box-shadow:0 3px 0 var(--filet);background:#fff;text-decoration:none;color:var(--texte);min-width:0}
a.ad-module:hover{border-color:var(--canard-500);color:var(--texte)}
.ad-module .pic{width:38px;height:38px;border-radius:12px;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900);display:grid;place-items:center;flex:none}
.ad-module b{display:block;font-family:var(--titre);font-weight:900;font-size:1.2rem;color:var(--encre);line-height:1.1;overflow-wrap:anywhere}
.ad-module span{font-size:.8rem;color:var(--gris-600);line-height:1.25;display:block}

/* ─── Vide élégant (petit) ─── */
.ad-vide{text-align:center;padding:1.6rem 1rem;border:1.5px dashed var(--filet);border-radius:var(--r);color:var(--gris-600);font-size:.88rem}
.ad-vide .ic{width:34px;height:34px;margin:0 auto .6rem;color:var(--gris-400)}
.ad-vide b{display:block;font-family:var(--titre);color:var(--encre);font-size:.98rem;margin-bottom:.2rem}
.ad-panneau.sombre .ad-vide{border-color:rgba(255,255,255,.25);color:#D5F0F5}
.ad-panneau.sombre .ad-vide b{color:#fff}

/* ─── Filtres, onglets à compteur ─── */
.ad-filtres{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;background:#fff;padding:.8rem;border-radius:var(--r-l);box-shadow:var(--ombre-1);margin-bottom:1.2rem;border:1px solid rgba(7,90,115,.05)}
.ad-filtres select,.ad-filtres input{flex:1 1 170px;min-height:44px;width:auto}
.ad-filtres .btn{flex:0 0 auto}
.ad-onglets a{display:inline-flex;align-items:center;gap:.45rem}
.ad-compte{font-family:var(--titre);font-size:.72rem;font-weight:800;min-width:24px;height:22px;border-radius:999px;display:inline-grid;place-items:center;padding:0 .45rem;background:var(--gris-50);color:var(--gris-600)}
.onglets a.actif .ad-compte{background:var(--canard-700);color:#fff}
.ad-compte.or{background:var(--or);color:var(--canard-950)}

/* ─── Tableaux ─── */
.ad-personne{display:flex;align-items:center;gap:.7rem;min-width:0;text-decoration:none;color:inherit}
.ad-personne .avatar{width:36px;height:36px;font-size:.8rem}
.ad-personne b{display:block;color:var(--encre);font-size:.9rem;line-height:1.25}
.ad-personne small{color:var(--gris-500);font-size:.76rem}
a.ad-personne:hover b{color:var(--canard-600)}
.ad-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;background:var(--gris-50);padding:.12rem .45rem;border-radius:6px;color:var(--encre);overflow-wrap:anywhere}
.tableau td[data-l="Numéro payeur"],.tableau td[data-l="Téléphone"],.tableau td[data-l="Date"]{white-space:nowrap}
.tableau td[data-l="Achat"]{min-width:200px}
.tableau .ad-code{white-space:nowrap}
.ad-montant{font-family:var(--titre);font-weight:800;color:var(--encre);white-space:nowrap}
.ad-actions-cell{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;align-items:flex-start}
.ad-actions-cell form{margin:0}
.ad-pied-tableau{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.8rem;font-size:.84rem;color:var(--gris-600)}

/* ─── Fiche compte ─── */
.ad-fiche-tete{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;margin-bottom:1.3rem}
.ad-fiche-tete .avatar{width:72px;height:72px;font-size:1.5rem}
.ad-fiche-tete h1{font-size:clamp(1.4rem,2.6vw,2rem);margin:0 0 .3rem}
.ad-fiche-tete .ligne{gap:.4rem}
.ad-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-bottom:1rem}
.ad-mini div{background:var(--gris-50);border-radius:14px;padding:.8rem .9rem;min-width:0}
.ad-mini b{display:block;font-family:var(--titre);font-weight:900;font-size:1.25rem;color:var(--encre);line-height:1.1;overflow-wrap:anywhere}
.ad-mini span{font-size:.76rem;color:var(--gris-600)}
.ad-form .ad-niveau{display:flex}
.ad-form:has(select[name=role] option:checked:not([value=eleve])) .ad-niveau{display:none}
.ad-rapides{display:flex;flex-wrap:wrap;gap:.4rem}
.ad-rapides button{min-height:38px}
.ad-infos{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;font-size:.88rem;margin:0}
.ad-infos dt{color:var(--gris-500)}
.ad-infos dd{margin:0;color:var(--encre);font-weight:600;overflow-wrap:anywhere}

/* ─── Formulaires de réglages ─── */
.ad-section-form{margin-bottom:1.1rem}
.ad-section-form>h2{font-size:1.1rem;display:flex;align-items:center;gap:.6rem;margin-bottom:.3rem}
.ad-section-form>h2 .ic{color:var(--canard-600)}
.ad-section-form>p.muted{font-size:.88rem;margin-bottom:1rem}
.ad-tarif{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:.4rem 1rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--filet)}
.ad-tarif:last-child{border-bottom:0}
.ad-tarif label{font-weight:600;font-size:.92rem;color:var(--encre);display:block}
.ad-tarif .aide{display:block;font-size:.78rem;color:var(--gris-500);font-weight:400;margin-top:.15rem}
.ad-tarif .champ-unite{position:relative}
.ad-tarif .champ-unite input{padding-right:3.6rem;text-align:right;font-family:var(--titre);font-weight:800;font-variant-numeric:tabular-nums}
.ad-tarif .champ-unite span{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);font-size:.76rem;font-weight:700;color:var(--gris-500);pointer-events:none}
.ad-tarif .modifie{color:var(--or-texte);font-weight:700}
.ad-barre-envoi{position:sticky;bottom:12px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--degrade-profond);color:#E6F7FA;border-radius:var(--r-l);padding:.8rem .9rem .8rem 1.2rem;box-shadow:var(--ombre-3);margin-top:1rem;font-size:.86rem}
.ad-danger{border:1.5px solid rgba(194,65,45,.25);background:linear-gradient(180deg,#fff,var(--rouge-50))}
.ad-danger h2 .ic{color:var(--rouge)!important}
.ad-etat{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.88rem}
.ad-etat.ok{color:var(--vert)}.ad-etat.non{color:var(--rouge)}
.ad-code-bloc{display:block;background:var(--canard-950);color:#CFE3E6;border-radius:12px;padding:.8rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;overflow-x:auto;white-space:pre;margin:.6rem 0}

/* ═══════════════════ Page publique « Tarifs » ═══════════════════ */
.ad-tp-heros{padding-bottom:clamp(3rem,6vw,4.5rem)}
.ad-tp-heros h1 .accent{color:#BDEFF7}
.ad-tp-ancres{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.6rem}
.ad-tp-ancres a{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .95rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);color:#fff;text-decoration:none;font-size:.85rem;font-weight:600;min-height:40px}
.ad-tp-ancres a:hover{background:#fff;color:var(--canard-900)}
.ad-tp-ancres .ic{color:currentColor}
.ad-tp-bloc{scroll-margin-top:calc(var(--entete) + 12px)}

/* Offre élève : deux cartes, dont l'annuelle mise en avant */
.ad-tp-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:stretch;max-width:980px;margin:0 auto}
.ad-offre{background:#fff;border-radius:var(--r-xl);padding:clamp(1.4rem,3vw,2.1rem);border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-1);display:flex;flex-direction:column;position:relative;min-width:0}
.ad-offre h3{font-size:1.15rem;margin-bottom:.25rem}
.ad-offre .pour{font-size:.88rem;color:var(--gris-600);margin-bottom:1.1rem}
.ad-prix{font-family:var(--titre);font-weight:900;font-size:clamp(2.2rem,5vw,3rem);color:var(--encre);letter-spacing:-.03em;line-height:1;display:flex;align-items:baseline;flex-wrap:wrap;gap:.1rem .45rem}
.ad-prix small{font-family:var(--corps);font-size:.95rem;font-weight:500;color:var(--gris-600);letter-spacing:0}
.ad-prix.moyen{font-size:clamp(1.6rem,3.4vw,2.1rem)}
.ad-offre .note{font-size:.86rem;color:var(--gris-600);margin:.6rem 0 1.1rem}
.ad-offre .liste-coches{font-size:.93rem;margin-bottom:1.4rem}
.ad-offre .btn{margin-top:auto;white-space:normal;text-align:center}
.ad-offre .ad-prix+.liste-coches{margin-top:1.2rem}
.ad-offre .ad-simulateur+.btn{margin-top:1.2rem}
.ad-offre.vedette{background:radial-gradient(420px 240px at 100% 0%,rgba(255,255,255,.16),transparent 60%),var(--degrade);color:#F0FBFD;border:0;box-shadow:0 6px 0 var(--canard-900),var(--ombre-3)}
.ad-offre.vedette h3,.ad-offre.vedette .ad-prix{color:#fff}
.ad-offre.vedette .ad-prix small,.ad-offre.vedette .pour,.ad-offre.vedette .note{color:#E3F7FA}
.ad-offre.vedette .liste-coches li::before{background-color:#fff}
.ad-ruban{position:absolute;top:-13px;left:clamp(1.4rem,3vw,2.1rem);background:var(--canard-950);color:#fff;font-family:var(--titre);font-weight:900;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .85rem;border-radius:999px;box-shadow:0 3px 0 rgba(6,74,96,.3)}
.ad-eco{display:inline-flex;align-items:center;gap:.4rem;background:#fff;color:var(--canard-900);box-shadow:0 3px 0 rgba(6,74,96,.2);font-weight:800;font-size:.82rem;padding:.3rem .75rem;border-radius:999px;margin-top:.8rem;align-self:flex-start}
.ad-par-jour{display:flex;align-items:center;gap:.9rem;justify-content:center;flex-wrap:wrap;text-align:center;margin:1.6rem auto 0;max-width:980px;padding:1rem 1.2rem;border-radius:var(--r-l);background:var(--cyan-50);border:2px dashed var(--cyan-200);color:var(--canard-900);font-size:.95rem}
.ad-par-jour b{font-family:var(--titre);font-weight:900;color:var(--encre)}

/* Grille des offres professionnelles */
.ad-tp-pros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.ad-paliers{list-style:none;padding:0;margin:0 0 1.2rem;display:flex;flex-direction:column}
.ad-paliers li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem 1rem;align-items:baseline;padding:.75rem 0;border-bottom:1px dashed var(--gris-200)}
.ad-paliers li:last-child{border-bottom:0}
.ad-paliers .q{font-weight:700;color:var(--encre);font-size:.93rem}
.ad-paliers .q small{display:block;font-weight:400;color:var(--gris-500);font-size:.8rem}
.ad-paliers .m{font-family:var(--titre);font-weight:900;color:var(--encre);white-space:nowrap;text-align:right}
.ad-paliers .m small{display:block;font-family:var(--corps);font-weight:500;font-size:.76rem;color:var(--gris-500)}
.ad-paliers li.option .q{color:var(--canard-700)}
.ad-paliers li.option .q::before{content:"+ ";font-weight:900}

/* École */
.ad-ecole{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.25rem;align-items:stretch}
.ad-ecole .ad-offre.vedette .liste-coches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.2rem}
.ad-simulateur{margin-top:1.2rem;padding:1rem;border-radius:var(--r);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24)}
.ad-simulateur label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.86rem;color:#E6F2F3}
.ad-simulateur .ligne{gap:.8rem;align-items:flex-end}
.ad-simulateur input{max-width:150px;background:#fff}
.ad-simulateur output{font-family:var(--titre);font-weight:900;font-size:1.45rem;color:#fff;line-height:1.1}
.ad-simulateur small{display:block;color:#D5F0F5;font-size:.76rem;margin-top:.25rem}

/* Rubriques gratuites */
.ad-gratuit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.ad-gratuit a{--c:var(--canard-700);display:flex;flex-direction:column;gap:.35rem;padding:1.1rem;border-radius:22px;background:#fff;border:2px solid color-mix(in srgb,var(--c) 18%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 24%,#fff);text-decoration:none;color:var(--texte);transition:transform .15s,border-color .15s;min-width:0}
.ad-gratuit a:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--c) 40%,#fff);color:var(--texte)}
.ad-g-ic{width:44px;height:44px;border-radius:14px;background:var(--c);color:#fff;display:grid;place-items:center;margin-bottom:.35rem;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.ad-g-ic .ic{width:22px;height:22px}
.ad-gratuit b{font-family:var(--titre);color:var(--encre);font-size:.95rem;line-height:1.25}
.ad-gratuit span{font-size:.82rem;color:var(--gris-600);line-height:1.4}
.ad-gratuit-tampon{display:inline-flex;align-items:center;gap:.4rem;background:var(--vert-50);color:var(--vert);font-family:var(--titre);font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;padding:.35rem .8rem;border-radius:999px;margin-bottom:.9rem}

/* Palmarès */
.ad-palmares{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;align-items:center}
.ad-principe{display:flex;gap:.9rem;align-items:flex-start;border-left:5px solid var(--cyan);background:#fff;border-radius:0 var(--r) var(--r) 0;padding:1rem 1.2rem;font-size:.93rem;box-shadow:var(--ombre-1)}
.ad-principe .ic{width:24px;height:24px;color:var(--canard-600);flex:none;margin-top:.1rem}

/* Publicité */
.ad-pubs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}
.ad-pub{background:#fff;border-radius:22px;padding:1.2rem;border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100);display:flex;flex-direction:column;gap:.4rem;min-width:0}
.ad-pub .schema{height:64px;border-radius:10px;background:var(--gris-50);position:relative;overflow:hidden;margin-bottom:.4rem;border:1px solid var(--filet)}
.ad-pub .schema i{position:absolute;background:var(--degrade);border-radius:4px}
.ad-pub .schema em{position:absolute;background:var(--gris-200);border-radius:3px;height:5px}
.ad-pub b{font-family:var(--titre);color:var(--encre);font-size:.95rem;line-height:1.25}
.ad-pub span{font-size:.8rem;color:var(--gris-600);line-height:1.35}
.ad-pub .m{font-family:var(--titre);font-weight:900;color:var(--encre);font-size:1.15rem;margin-top:auto;padding-top:.5rem}
.ad-pub .m small{font-family:var(--corps);font-weight:500;font-size:.76rem;color:var(--gris-500)}

/* Paiement et questions */
.ad-paiement-etapes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;counter-reset:ad}
.ad-paiement-etapes div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-l);padding:1.3rem}
.ad-paiement-etapes div::before{counter-increment:ad;content:counter(ad);width:38px;height:38px;border-radius:13px;background:#fff;color:var(--canard-800);box-shadow:0 3px 0 rgba(6,74,96,.3);font-family:var(--titre);font-weight:900;display:grid;place-items:center;margin-bottom:.8rem}
.ad-paiement-etapes b{color:#fff;font-family:var(--titre);display:block;margin-bottom:.25rem}
.ad-paiement-etapes p{margin:0;font-size:.9rem;color:#D5F0F5}
.ad-ops{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.6rem}
.ad-faq{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:.7rem}
.ad-faq details{background:#fff;border-radius:var(--r);border:1px solid rgba(7,90,115,.08);box-shadow:var(--ombre-1)}
.ad-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.2rem;font-family:var(--titre);font-weight:800;color:var(--encre);font-size:1rem;min-height:56px}
.ad-faq summary::-webkit-details-marker{display:none}
.ad-faq summary .ic{transition:transform .2s;color:var(--canard-600);flex:none}
.ad-faq details[open] summary .ic{transform:rotate(180deg)}
.ad-faq .rep{padding:0 1.2rem 1.15rem;color:var(--texte);font-size:.96rem}
.ad-faq .rep p:last-child{margin:0}
.ad-profils-cta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;margin-top:1.4rem}
.ad-profils-cta a{display:flex;flex-direction:column;align-items:center;gap:.45rem;text-align:center;padding:1rem .6rem;border-radius:var(--r);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);color:#fff;text-decoration:none;font-family:var(--titre);font-weight:800;font-size:.88rem;min-height:44px}
.ad-profils-cta a:hover{background:#fff;color:var(--canard-900);border-color:#fff}
.ad-profils-cta .ic{width:24px;height:24px;color:#fff}
.ad-profils-cta a:hover .ic{color:var(--canard-700)}

/* ═══ Adaptation ═══ */
@media (max-width:1180px){
  .ad-kpis.argent{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad-8,.ad-7,.ad-6,.ad-5,.ad-4{grid-column:1/-1}
  .ad-tete{grid-template-columns:1fr}
  .ad-pubs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ad-gratuit{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .ad-ecole,.ad-palmares,.ad-tp-pros{grid-template-columns:1fr}
  .ad-profils-cta{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .ad-tete{border-radius:var(--r-l)}
  .ad-direct-grille{gap:.45rem}
  .ad-direct{padding:.75rem .7rem}
  .ad-direct .l{font-size:.72rem}
  .ad-kpis,.ad-kpis.argent{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .ad-ph{flex-wrap:wrap}
  .ad-kpi{padding:.9rem}
  .ad-panneau{padding:1.1rem 1rem;border-radius:var(--r)}
  .ad-eng{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad-courbe{padding-left:30px}
  .ad-y{left:-30px;width:26px}
  .ad-courbe-zone{height:170px}
  .ad-x span:nth-child(2),.ad-x span:nth-child(4){display:none}
  .ad-mini{grid-template-columns:1fr 1fr 1fr;gap:.4rem}
  .ad-mini div{padding:.65rem}
  .ad-mini b{font-size:1.05rem}
  .ad-tarif{grid-template-columns:1fr}
  .ad-tp-duo,.ad-pubs,.ad-gratuit,.ad-paiement-etapes{grid-template-columns:1fr}
  .ad-ecole .ad-offre.vedette .liste-coches{grid-template-columns:1fr}
  .ad-profils-cta{grid-template-columns:1fr 1fr}
  .ad-paie{grid-template-columns:1fr}
  .ad-paie .montant{text-align:left}
  .tableau-mobile td .ad-actions-cell{justify-content:flex-end}
  .ad-barre-envoi{bottom:8px}
  .tableau-mobile td[data-l="Achat"]{min-width:0}
  .tableau-mobile .ad-code{white-space:normal;overflow-wrap:anywhere}
}

/* ═══════════════════════════════════════════════════════════════
   Voyage du savoir — pages publiques et espace du socle (préfixe .sc-)
   Connexion, inscription, mot de passe, vérification, démonstration,
   hors-ligne, erreurs, compte, abonnement.
   ═══════════════════════════════════════════════════════════════ */
.ad-pic{background:var(--c)!important;color:#fff!important;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.ad-clair{color:#E3F7FA}
.ad-sim-case{color:#F0FBFD!important;align-self:center}

/* ─── Connexion, inscription, mot de passe : visuel bleu + formulaire net ─── */
.sc-auth{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.sc-auth .auth-visuel{padding:clamp(2.2rem,5vw,4.2rem) clamp(1.6rem,5vw,4.2rem) 0;border-radius:0 0 var(--r-xl) 0;justify-content:center;gap:0}
.sc-auth .auth-visuel::before{right:-150px;top:-170px;width:460px;height:460px;background:rgba(255,255,255,.1)}
.sc-auth .auth-visuel::after{content:"";position:absolute;left:-80px;bottom:-110px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.07)}
.sc-auth-rond{position:absolute;right:-40px;bottom:-90px;width:min(440px,70%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.45),rgba(255,255,255,.1) 55%,transparent 70%);pointer-events:none}
.sc-auth-texte{position:relative;z-index:1;max-width:500px}
.sc-auth .auth-visuel .surtitre{color:#fff}
.sc-auth .auth-visuel .surtitre::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
.sc-auth .auth-visuel h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.04;margin-bottom:.8rem;text-shadow:0 2px 14px rgba(6,74,96,.2)}
.sc-auth .auth-visuel p{font-size:1.05rem;color:#F2FBFD;max-width:440px}
.sc-auth-puces{list-style:none;padding:0;margin:1.6rem 0 0;display:flex;flex-wrap:wrap;gap:.55rem}
.sc-auth-puces li{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .9rem .35rem .35rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);font-family:var(--titre);font-weight:800;font-size:.86rem;color:#fff}
.sc-auth-puces span{width:32px;height:32px;border-radius:50%;background:#fff;color:var(--canard-700);display:grid;place-items:center}
.sc-auth-puces span.or{background:var(--or);color:#fff}
.sc-auth-puces .ic{width:17px;height:17px}
.sc-auth-coches{margin-top:1.3rem}
.sc-auth-coches li{color:#fff;font-weight:600}
.sc-auth .auth-visuel .liste-coches li::before{background-color:#fff}
.sc-auth-rond{display:none}
.sc-auth .auth-visuel img.sc-auth-karamo[src*=debout]{width:auto;max-height:min(400px,46vh)}
.sc-auth .auth-visuel img.sc-auth-karamo{position:relative;z-index:1;width:min(280px,46%);margin:1.6rem 0 0;align-self:flex-end;background:radial-gradient(circle closest-side at 50% 60%,rgba(255,255,255,.42),rgba(255,255,255,.1) 70%,transparent 100%);filter:drop-shadow(0 24px 30px rgba(6,74,96,.35));animation:flotte 6s ease-in-out infinite}
.sc-auth .auth-form{padding:clamp(1.6rem,4vw,3rem) 1.2rem}
.sc-auth-carte{max-width:460px!important;border-radius:var(--r-xl)!important;border:1px solid rgba(7,90,115,.08)!important;box-shadow:var(--ombre-2)!important;padding:clamp(1.4rem,3vw,2.3rem)!important}
.sc-auth-titre{font-size:clamp(1.45rem,2.4vw,1.8rem);margin-bottom:.4rem;text-wrap:balance}
.sc-auth .btn{white-space:normal;text-align:center}
.sc-auth-liens{display:flex;justify-content:space-between;gap:.3rem 1rem;flex-wrap:wrap}
.sc-auth-liens a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.sc-auth-demo .ic{flex:none}
/* Profil choisi (inscription) */
.sc-profil-choisi{display:flex;align-items:center;gap:.75rem;padding:.55rem .6rem .55rem .55rem;border-radius:18px;background:color-mix(in srgb,var(--c) 8%,#fff);border:2px solid color-mix(in srgb,var(--c) 22%,#fff);margin-bottom:1.1rem}
.sc-profil-ic{width:44px;height:44px;border-radius:14px;background:var(--c);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.sc-profil-choisi>span:nth-child(2){flex:1;min-width:0;line-height:1.2}
.sc-profil-choisi small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-500)}
.sc-profil-choisi b{font-family:var(--titre);font-weight:900;color:var(--encre)}
.sc-profil-changer{display:inline-flex;align-items:center;min-height:44px;padding:0 .8rem;border-radius:12px;font-weight:700;font-size:.86rem;text-decoration:none;color:color-mix(in srgb,var(--c) 70%,#000);background:#fff}
.sc-profil-changer:hover{background:color-mix(in srgb,var(--c) 14%,#fff);color:color-mix(in srgb,var(--c) 70%,#000)}
/* Mot de passe oublié : les deux étapes */
.sc-mdp-etapes{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-direction:column;gap:.55rem}
.sc-mdp-etapes li{display:flex;align-items:center;gap:.7rem;font-family:var(--titre);font-weight:800;font-size:.92rem;color:rgba(255,255,255,.8)}
.sc-mdp-etapes span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);border:2px solid rgba(255,255,255,.35);color:#fff;font-weight:900;flex:none}
.sc-mdp-etapes span .ic{width:17px;height:17px}
.sc-mdp-etapes li.actuel{color:#fff}
.sc-mdp-etapes li.actuel span{background:#fff;border-color:#fff;color:var(--canard-800);box-shadow:0 0 0 5px rgba(255,255,255,.2)}
.sc-mdp-etapes li.fait span{background:var(--or);border-color:var(--or)}

/* ─── Inscription : choisir son île ─── */
.sc-choix-entete{padding-bottom:clamp(2.6rem,5vw,3.6rem)}
.sc-choix-entete p:not(.surtitre){max-width:620px}
.sc-choix-karamo{position:absolute;z-index:1;right:max(3%,calc((100vw - var(--largeur)) / 2 + 20px));bottom:-26px;width:190px;filter:drop-shadow(0 20px 26px rgba(6,74,96,.35));animation:flotte 6s ease-in-out infinite;pointer-events:none}
.sc-choix{padding-top:clamp(1.8rem,3.5vw,2.8rem)}
.sc-iles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.sc-ile{--c:var(--canard-700);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.55rem;padding:1.4rem 1.4rem 1.3rem;border-radius:28px;text-decoration:none;color:var(--encre);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 9%,#fff),#fff 72%);border:2px solid color-mix(in srgb,var(--c) 26%,#fff);box-shadow:0 6px 0 color-mix(in srgb,var(--c) 34%,#fff),0 18px 30px -18px rgba(7,90,115,.35);transition:transform .15s,box-shadow .15s,border-color .15s;min-width:0}
.sc-ile::before{content:"";position:absolute;right:-50px;top:-60px;width:170px;height:170px;border-radius:50%;background:color-mix(in srgb,var(--c) 10%,transparent);pointer-events:none}
.sc-ile:hover{transform:translateY(-4px);color:var(--encre);border-color:color-mix(in srgb,var(--c) 50%,#fff);box-shadow:0 9px 0 color-mix(in srgb,var(--c) 34%,#fff),0 22px 34px -18px rgba(7,90,115,.4)}
.sc-ile:active{transform:translateY(3px);box-shadow:0 2px 0 color-mix(in srgb,var(--c) 34%,#fff)}
.sc-ile-ic{position:relative;width:62px;height:62px;border-radius:20px;background:var(--c);color:#fff;display:grid;place-items:center;box-shadow:0 5px 0 color-mix(in srgb,var(--c) 70%,#000);margin-bottom:.4rem}
.sc-ile-ic .ic{width:30px;height:30px}
.sc-ile-txt{position:relative;display:flex;flex-direction:column;gap:.3rem}
.sc-ile-txt b{font-family:var(--titre);font-weight:900;font-size:1.22rem;line-height:1.15;letter-spacing:-.015em}
.sc-ile-txt small{font-size:.93rem;line-height:1.5;color:var(--gris-600)}
.sc-ile-cta{position:relative;margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.5rem 1rem;border-radius:999px;font-family:var(--titre);font-weight:800;font-size:.9rem;background:color-mix(in srgb,var(--c) 14%,#fff);color:color-mix(in srgb,var(--c) 72%,#000);transition:background .15s,color .15s}
.sc-ile-cta .ic{transition:transform .15s}
.sc-ile:hover .sc-ile-cta{background:color-mix(in srgb,var(--c) 85%,#000);color:#fff}
.sc-ile:hover .sc-ile-cta .ic{transform:translateX(3px)}
.sc-ile.vedette{grid-column:span 2;padding-right:210px;min-height:230px}
.sc-ile.vedette .sc-ile-txt b{font-size:clamp(1.4rem,2.4vw,1.8rem)}
.sc-ile.vedette .sc-ile-txt small{font-size:1rem;max-width:420px}
.sc-ile.vedette .sc-ile-cta{background:var(--c);color:#fff;box-shadow:0 4px 0 color-mix(in srgb,var(--c) 70%,#000)}
.sc-ile.vedette:hover .sc-ile-cta{background:color-mix(in srgb,var(--c) 85%,#000)}
.sc-ile-karamo{position:absolute;right:2rem;bottom:-34px;width:150px;filter:drop-shadow(0 16px 22px rgba(6,74,96,.28));transition:transform .2s}
.sc-ile.vedette:hover .sc-ile-karamo{transform:translateY(-6px) rotate(-2deg)}
.sc-deja{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.6rem;padding:1rem 1.2rem;border-radius:var(--r-l);background:#fff;border:2px dashed var(--cyan-200)}
.sc-deja-ic{width:46px;height:46px;border-radius:15px;background:var(--cyan-50);color:var(--canard-700);display:grid;place-items:center;flex:none}
.sc-deja>div{flex:1 1 220px;min-width:0}
.sc-deja b{display:block;font-family:var(--titre);color:var(--encre)}
.sc-deja>div span{font-size:.9rem;color:var(--gris-600)}
.sc-deja .btn{margin-bottom:4px}

/* ─── Vérifier un document ─── */
.sc-verif-types{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.sc-verif-types span{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);color:#fff;font-weight:700;font-size:.85rem}
.sc-verif-form{border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-2);min-height:64px}
.sc-verif-form>.ic{color:var(--canard-600);width:24px;height:24px;flex:none}
.sc-verif-form input{flex:1 1 auto;width:auto;min-width:0;font-family:var(--titre);font-weight:800;letter-spacing:.06em;background:transparent}
.sc-verif-form .btn{flex:none}
.sc-verif-res{border:2px solid var(--filet);border-radius:var(--r-xl)}
.sc-verif-res.ok{border-color:rgba(30,142,90,.35);box-shadow:0 5px 0 rgba(30,142,90,.22),var(--ombre-1)}
.sc-verif-res.ko{border-color:rgba(194,65,45,.35);box-shadow:0 5px 0 rgba(194,65,45,.2),var(--ombre-1)}
.sc-verif-tete{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.sc-verif-tete>div{flex:1 1 200px;min-width:0}
.sc-verif-tete h2{font-size:1.4rem}
.sc-verif-ic{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:#fff;background:var(--vert);box-shadow:0 4px 0 #146741;flex:none}
.sc-verif-ic .ic{width:28px;height:28px}
.sc-verif-res.ko .sc-verif-ic{background:var(--rouge);box-shadow:0 4px 0 #8e2e1f}
.sc-verif-tampon{font-size:.9rem}
.sc-verif-table th{width:40%;text-transform:none;letter-spacing:0;font-size:.82rem;white-space:normal}

/* ─── Démonstration ─── */
.sc-demo-note{display:inline-flex;align-items:center;gap:.45rem;margin-top:.9rem!important;padding:.4rem .85rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);font-size:.88rem!important;font-weight:600;color:#fff}
.sc-demo-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem}
.sc-demo{--c:var(--canard-700);display:flex;flex-direction:column;border:2px solid color-mix(in srgb,var(--c) 20%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--c) 28%,#fff);border-radius:26px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 7%,#fff),#fff 60%);transition:transform .15s}
.sc-demo:hover{transform:translateY(-3px)}
.sc-demo-haut{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}
.sc-demo-ic{width:54px;height:54px;border-radius:17px;background:var(--c);color:#fff;display:grid;place-items:center;box-shadow:0 4px 0 color-mix(in srgb,var(--c) 70%,#000)}
.sc-demo-ic .ic{width:26px;height:26px}
.sc-demo h3{margin:1rem 0 .3rem;font-size:1.1rem}
.sc-demo p{flex:1;font-size:.92rem}
.sc-demo .btn{margin-top:.4rem}

/* ─── Hors ligne et pages d'erreur ─── */
.sc-hors-ligne .conteneur-etroit,.section:has(>.conteneur-etroit.centre>img+.surtitre)>.conteneur-etroit{max-width:640px;background:#fff;border-radius:var(--r-xl);border:1px solid rgba(7,90,115,.08);box-shadow:var(--ombre-2);padding:clamp(1.6rem,4vw,2.8rem) clamp(1.2rem,4vw,2.6rem)}
.sc-hl-visuel{position:relative;width:200px;height:200px;margin:0 auto 1.2rem}
.sc-hl-rond{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,var(--cyan-50) 58%,var(--cyan-100) 59%,var(--cyan-100) 62%,transparent 63%)}
.sc-hl-visuel img{position:absolute;left:50%;bottom:6px;width:160px;transform:translateX(-50%);filter:drop-shadow(0 14px 18px rgba(6,74,96,.25))}
.sc-hl-badge{position:absolute;right:8px;top:14px;width:50px;height:50px;border-radius:16px;background:#fff;color:var(--rouge);display:grid;place-items:center;box-shadow:0 4px 0 var(--filet),var(--ombre-1)}
.sc-hors-ligne h1,.section:has(>.conteneur-etroit.centre>img+.surtitre) h1{font-size:clamp(1.6rem,4vw,2.2rem)!important}
.sc-hors-ligne .surtitre{justify-content:center}
.sc-hors-ligne .surtitre::before{display:none}
.sc-hl-actions,.section:has(>.conteneur-etroit.centre>img+.surtitre) .groupe-btn{justify-content:center}
.section:has(>.conteneur-etroit.centre>img+.surtitre)>.conteneur-etroit>img{width:170px!important;padding:14px 10px 0;border-radius:50%;background:radial-gradient(circle at 50% 60%,var(--cyan-50) 60%,transparent 61%);animation:flotte 6s ease-in-out infinite}
.section:has(>.conteneur-etroit.centre>img+.surtitre) .surtitre{display:inline-flex;padding:.3rem .8rem;border-radius:999px;background:var(--cyan-50);color:var(--canard-800)}
.section:has(>.conteneur-etroit.centre>img+.surtitre) .surtitre::before{display:none}

/* ─── Connexion de l'équipe ─── */
.sc-admin-cnx{min-height:72vh;background:linear-gradient(180deg,var(--cyan-50),var(--fond) 70%)}
.sc-admin-cnx .conteneur-etroit{max-width:480px}
.sc-admin-cnx-carte{border-radius:var(--r-xl);box-shadow:var(--ombre-2);border:1px solid rgba(7,90,115,.08);padding:clamp(1.4rem,4vw,2.3rem)}
.sc-admin-cnx-tete{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-bottom:1.3rem;padding-bottom:1rem;border-bottom:2px dashed var(--filet)}
.sc-admin-cnx-tete img{height:46px;width:auto}

/* ─── Mon profil ─── */
.sc-compte{align-items:start}
.sc-compte-photo{flex-wrap:nowrap;align-items:center}
.sc-compte-photo label{flex:1;min-width:0}
.sc-code-parent{background:var(--degrade);box-shadow:0 5px 0 var(--canard-900)}
.sc-code-parent .pastille-icone{margin-bottom:.8rem}
.sc-code{color:#fff;letter-spacing:.18em;font-size:2rem;background:rgba(255,255,255,.14);padding:.35rem .8rem;border-radius:14px;border:2px dashed rgba(255,255,255,.4)}
.sc-lien-abo .ligne-entre{flex-wrap:nowrap}
.sc-lien-abo .pastille-icone{margin:0}
.sc-lien-abo-txt{flex:1;min-width:0}
.sc-lien-abo{border:2px solid var(--cyan-100);box-shadow:0 4px 0 var(--cyan-100)}
.sc-suppr{cursor:pointer;font-weight:700;color:var(--rouge);min-height:44px;display:flex;align-items:center;list-style:none}
.sc-suppr::-webkit-details-marker{display:none}
.sc-suppr::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);margin:0 .7rem 0 .2rem;transition:transform .15s}
.sc-suppr-bloc[open] .sc-suppr::before{transform:rotate(45deg)}
.sc-suppr-bloc{border:2px dashed var(--rouge-50);box-shadow:none}

/* ─── Mon abonnement ─── */
.sc-abo-duo{align-items:start;margin-top:1rem}
.sc-abo{position:relative;border:2px solid var(--cyan-100);box-shadow:0 5px 0 var(--cyan-100),var(--ombre-1)}
.sc-abo .bloc-prix{font-size:clamp(1.9rem,4vw,2.4rem)}
.sc-abo summary{list-style:none}
.sc-abo summary::-webkit-details-marker{display:none}
.sc-abo.vedette{border-color:var(--cyan);background:linear-gradient(160deg,var(--cyan-50),#fff 62%);box-shadow:0 6px 0 var(--canard-600),var(--ombre-2)}
.sc-ruban{position:absolute;top:-14px;left:1.2rem;background:var(--canard-700);color:#fff;font-family:var(--titre);font-weight:900;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .85rem;border-radius:999px;box-shadow:0 3px 0 var(--canard-900)}
.sc-abo-inclus{border-radius:var(--r-l)}

/* ─── Adaptation ─── */
@media (max-width:1100px){
  .sc-choix-entete p:not(.surtitre){max-width:calc(100% - 170px)}
  .sc-choix-karamo{width:150px}
}
@media (max-width:960px){
  .sc-auth{grid-template-columns:1fr}
  .sc-auth .auth-visuel{display:flex;min-height:0;padding:1.6rem 1.4rem 4.6rem;border-radius:0 0 30px 30px}
  .sc-auth-texte{max-width:calc(100% - 150px)}
  .sc-auth .auth-visuel h2{font-size:clamp(1.5rem,4.2vw,2.1rem)}
  .sc-auth .auth-visuel p{font-size:.95rem}
  .sc-auth .auth-visuel img.sc-auth-karamo{position:absolute;right:1.2rem;bottom:3.6rem;width:140px;margin:0}
  .sc-auth .auth-visuel img.sc-auth-karamo[src*=debout]{width:92px;max-height:none}
  .sc-auth-coches,.sc-mdp-etapes{display:none}
  .sc-auth .auth-form{position:relative;z-index:2;background:transparent;margin-top:-3.2rem;padding:0 16px 2.4rem;align-items:flex-start}
  .sc-auth-carte{max-width:560px!important}
  .sc-iles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sc-inscription .sc-auth-titre{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (max-width:640px){
  .sc-auth .auth-visuel{padding:1.3rem 1.1rem 4.4rem}
  .sc-auth-texte{max-width:calc(100% - 96px)}
  .sc-auth .auth-visuel h2{font-size:1.45rem}
  .sc-auth .auth-visuel p{font-size:.88rem;margin-bottom:0}
  .sc-auth-puces{margin-top:.9rem;gap:.35rem}
  .sc-auth-puces li{font-size:.74rem;padding:.2rem .6rem .2rem .2rem;gap:.35rem}
  .sc-auth-puces span{width:24px;height:24px}
  .sc-auth-puces .ic{width:13px;height:13px}
  .sc-auth .auth-visuel img.sc-auth-karamo{width:96px;right:.6rem;bottom:3.4rem}
  .sc-auth .auth-visuel img.sc-auth-karamo[src*=debout]{width:70px}
  .sc-auth .auth-form{margin-top:-3rem}
  .sc-choix-entete p:not(.surtitre){max-width:calc(100% - 92px);font-size:.93rem}
  .sc-choix-karamo{width:96px;right:10px;bottom:-16px}
  .sc-iles{gap:.7rem}
  .sc-ile{padding:1rem .9rem .95rem;border-radius:22px;gap:.4rem}
  .sc-ile-ic{width:48px;height:48px;border-radius:15px;margin-bottom:.2rem}
  .sc-ile-ic .ic{width:24px;height:24px}
  .sc-ile-txt b{font-size:1rem}
  .sc-ile-txt small{font-size:.8rem;line-height:1.4}
  .sc-ile-cta{font-size:.74rem;padding:.35rem .65rem;min-height:40px;white-space:nowrap;letter-spacing:-.01em}
  .sc-ile:not(.vedette) .sc-ile-cta .ic{display:none}
  .sc-ile.vedette{padding:1.2rem 118px 1.2rem 1.1rem;min-height:0}
  .sc-ile.vedette .sc-ile-txt b{font-size:1.3rem}
  .sc-ile.vedette .sc-ile-txt small{font-size:.88rem}
  .sc-ile-karamo{width:98px;right:.6rem;bottom:-22px}
  .sc-deja .btn{width:100%}
  .sc-verif-form{flex-wrap:wrap;padding:.5rem}
  .sc-verif-form>.ic{display:none}
  .sc-verif-form input{flex-basis:100%;padding:.4rem .6rem!important;text-align:center}
  .sc-verif-form .btn{width:100%}
  .sc-code{font-size:1.5rem}
  .sc-compte-photo{flex-wrap:wrap}
}
.ad-offre.vedette .btn-or{--relief:rgba(6,74,96,.35);background:#fff;color:var(--canard-900)}
.ad-offre.vedette .btn-or:hover{background:var(--cyan-50);color:var(--canard-950)}
.ad-gratuit span.ad-g-ic{color:#fff;font-size:inherit;line-height:1}
.sombre p.ad-clair,.titre-section p.ad-clair{color:#E3F7FA}
.sombre .titre-section p{color:#E3F7FA}
.sc-hors-ligne .conteneur-etroit,.section:has(>.conteneur-etroit.centre>img+.surtitre)>.conteneur-etroit{width:calc(100% - 32px)}
.sc-abo{min-width:0}
.sc-abo .numero{flex-wrap:wrap;white-space:normal}
@media (max-width:640px){.sc-abo-duo{grid-template-columns:minmax(0,1fr)}}
@media (min-width:1181px){.ad-kpis:not(.argent){grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,1.9fr)}}
.ad-barre-envoi .btn-or{--relief:rgba(6,74,96,.35);background:#fff;color:var(--canard-900)}
.ad-barre-envoi .btn-or:hover{background:var(--cyan-50);color:var(--canard-950)}

/* ═════════ 1.3.0 — Code promo dans le formulaire de paiement (toutes les pages) ═════════ */
.sc-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0}
.paiement .bloc-prix{white-space:nowrap}
.paiement .promo-barre{font-size:.55em;font-weight:700;color:var(--gris-500);text-decoration-thickness:2px;margin-right:.15em}
.promo-bandeau{display:flex;align-items:center;gap:.5rem;background:var(--cyan-50);color:var(--canard-800);border:1px solid var(--cyan-100);border-radius:12px;padding:.5rem .8rem;font-size:.88rem;margin:-.3rem 0 .8rem}
.promo-bandeau .ic{width:18px;height:18px;flex:none;color:var(--canard-600)}
.promo-gratuit{display:flex;gap:.7rem;align-items:flex-start;background:var(--vert-50);color:#16663f;border-radius:14px;padding:.8rem 1rem;margin:0 0 .6rem;font-size:.92rem}
.promo-gratuit .ic{width:22px;height:22px;flex:none;margin-top:.1rem}
.promo-zone{border:1.5px dashed var(--cyan-200);border-radius:14px;padding:.1rem .9rem;background:#fff}
.promo-zone[open]{padding-bottom:.8rem;background:var(--cyan-50)}
.promo-zone summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.9rem;color:var(--canard-800);list-style:none}
.promo-zone summary::-webkit-details-marker{display:none}
.promo-zone summary .ic{width:18px;height:18px;color:var(--canard-600)}
.promo-zone summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.promo-zone[open] summary::after{transform:rotate(-135deg)}
.promo-ligne{display:flex;gap:.5rem;align-items:stretch;flex-wrap:wrap}
.promo-champ{flex:1 1 150px;min-width:0;margin:0}
.promo-champ input{text-transform:uppercase;letter-spacing:.08em;font-family:var(--titre);font-weight:800;width:100%}
.promo-champ input::placeholder{text-transform:none;letter-spacing:0;font-weight:500;font-family:var(--corps)}
.promo-ligne .btn{flex:none;min-height:46px}
.promo-msg{margin:.5rem 0 0;font-size:.82rem;color:var(--gris-600)}
.promo-msg.ok{color:#16663f;font-weight:600}
.promo-msg.erreur{color:var(--rouge);font-weight:600}
@media (max-width:420px){.promo-ligne .btn[data-promo-appliquer]{flex:1 1 auto}}

/* ═════════ 1.3.0 — Promotions (administration) ═════════ */
.sc-code-promo{display:inline-block;font-family:var(--titre);font-weight:900;letter-spacing:.06em;background:var(--cyan-50);color:var(--canard-900);border:1.5px dashed var(--cyan-200);border-radius:8px;padding:.15rem .55rem;font-size:.86rem;overflow-wrap:anywhere}
.sc-reduc{font-family:var(--titre);font-weight:900;color:var(--canard-700);white-space:nowrap}
.sc-promo-eteint td{color:var(--gris-500)}
.sc-promo-eteint .sc-code-promo{background:var(--gris-50);border-color:var(--gris-200);color:var(--gris-600)}
.sc-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.sc-actions form{margin:0}
.sc-promo-info{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:700;color:var(--canard-700);white-space:nowrap}
.sc-promo-info .ic{width:13px;height:13px}
.ad-paie .montant .sc-promo-info{display:flex;justify-content:flex-end;font-family:var(--corps)}
.sc-code-champ{text-transform:uppercase;letter-spacing:.08em;font-family:var(--titre);font-weight:800}
.sc-code-champ[readonly]{background:var(--gris-50);color:var(--gris-600)}
.sc-fieldset{border:1px solid var(--filet);border-radius:var(--r);padding:.9rem 1rem 1rem;margin:0;min-width:0}
.sc-fieldset legend{font-weight:700;color:var(--encre);padding:0 .4rem;font-size:.92rem}
.sc-reduc-ligne{display:flex;gap:.7rem;flex-wrap:wrap;align-items:stretch;margin-bottom:.4rem}
.sc-type{flex:1 1 300px;margin:0}
.sc-valeur{flex:0 1 160px;margin:0}
.sc-valeur input{font-family:var(--titre);font-weight:900;font-size:1.1rem;text-align:right;height:100%}
.sc-objets{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.2rem 1rem;margin:.4rem 0 .5rem;padding-top:.6rem;border-top:1px dashed var(--filet)}
.sc-tous{margin-bottom:.2rem}
.sc-cases{display:flex;flex-direction:column;gap:.4rem;justify-content:center}
.sc-promo-form .groupe-btn{margin-top:.4rem}

/* ═════════ 1.3.0 — Indicateurs du cahier des charges (tableau de bord) ═════════ */
.sc-tdr-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:.75rem}
.sc-tdr-carte{position:relative;display:flex;flex-direction:column;gap:.1rem;min-width:0;padding:.95rem 1rem 1rem;border-radius:var(--r);border:2px solid color-mix(in srgb,var(--canard-600) 14%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--canard-600) 16%,#fff);background:#fff}
.sc-tdr-carte.sc-vide{background:var(--gris-50);border-color:var(--filet);box-shadow:0 4px 0 var(--filet)}
.sc-tdr-haut{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.45rem}
.sc-tdr-carte .pic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--canard-700);color:#fff;box-shadow:0 3px 0 var(--canard-900)}
.sc-tdr-carte.sc-vide .pic{background:var(--gris-400);box-shadow:0 3px 0 var(--gris-500)}
.sc-tdr-carte .pic .ic{width:18px;height:18px}
.sc-tdr-v{font-family:var(--titre);font-weight:900;font-size:clamp(1.4rem,2.2vw,1.8rem);color:var(--encre);line-height:1.05;letter-spacing:-.02em}
.sc-tdr-carte.sc-vide .sc-tdr-v{color:var(--gris-400)}
.sc-tdr-l{font-weight:700;font-size:.84rem;color:var(--encre);line-height:1.3}
.sc-tdr-d{font-size:.75rem;color:var(--gris-500);line-height:1.35}
.sc-i,.sc-i-ex{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--cyan-200);background:#fff;color:var(--canard-700);font:italic 800 .85rem/1 Georgia,serif;display:inline-grid;place-items:center;cursor:help;padding:0;flex:none}
.sc-i-ex{width:20px;height:20px;font-size:.7rem;vertical-align:-.2em;cursor:default}
.sc-i:hover,.sc-i:focus-visible{background:var(--canard-700);color:#fff;border-color:var(--canard-700);outline:none}
.sc-bulle{position:absolute;left:.5rem;right:.5rem;top:calc(100% - .4rem);z-index:20;background:var(--canard-950);color:#E6F7FA;font-size:.78rem;line-height:1.45;padding:.6rem .75rem;border-radius:12px;box-shadow:var(--ombre-3);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s;pointer-events:none}
.sc-tdr-carte:hover .sc-bulle,.sc-i:focus+.sc-bulle,.sc-tdr-carte:focus-within .sc-bulle{opacity:1;visibility:visible;transform:none}

/* ═════════ 1.3.0 — Rapports ═════════ */
.sc-rapport-resume b small{font-size:.5em;font-weight:800}
.sc-evol{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;font-weight:700;white-space:nowrap}
.sc-evol .ic{width:15px;height:15px}
.sc-evol small{font-weight:500;opacity:.85}
.sc-evol.hausse{color:#16663f}.sc-evol.baisse{color:var(--rouge)}.sc-evol.egal{color:var(--gris-500)}
.sc-rapport-tete .sc-evol{margin-top:.45rem;background:rgba(255,255,255,.14);border-radius:999px;padding:.2rem .6rem;color:#fff!important;white-space:normal}
.sc-rapport-tete .sc-evol.baisse{background:rgba(255,120,120,.22)}
.sc-rapport-tete .ad-eng span.sc-evol{display:inline-flex}
.sc-rapport .sc-rubrique th{background:var(--cyan-50);color:var(--canard-800);font-family:var(--titre);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:.5rem .9rem}
.sc-rapport .sc-sous td:first-child{padding-left:1.8rem;color:var(--gris-600)}
.sc-etapes{padding-left:1.2rem;margin:1rem 0;display:flex;flex-direction:column;gap:.8rem;font-size:.87rem}
.sc-etapes li::marker{font-family:var(--titre);font-weight:900;color:var(--canard-600)}
.sc-cron{white-space:pre-wrap!important;overflow-wrap:anywhere;word-break:break-all;font-size:.76rem!important}
.sc-etat{list-style:none;padding:.8rem 0 0;margin:0 0 1rem;border-top:1px solid var(--filet);display:flex;flex-direction:column;gap:.45rem;font-size:.84rem;color:var(--gris-600)}
.sc-etat li{display:flex;gap:.5rem;align-items:flex-start;overflow-wrap:anywhere;min-width:0}
.sc-etat .ic{width:16px;height:16px;flex:none;margin-top:.15rem;color:var(--canard-600)}
.sc-etat b{color:var(--encre)}
.sc-decl{display:inline-flex;align-items:center;gap:.35rem}
.sc-decl .ic{width:15px;height:15px;color:var(--canard-600)}
.sc-dest{overflow-wrap:anywhere}

/* ═════════ 1.3.0 — Alertes et notifications ═════════ */
.sc-alertes{display:flex;flex-direction:column}
.sc-alerte{display:grid;grid-template-columns:minmax(0,1fr) 190px 150px;gap:.6rem 1rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--filet)}
.sc-alerte:last-child{border-bottom:0}
.sc-alerte b{display:block;color:var(--encre);font-size:.92rem}
.sc-alerte small{display:block;color:var(--gris-500);font-size:.78rem;line-height:1.4;margin-top:.1rem}
.sc-alerte small .pastille{font-size:.66rem;padding:.05rem .5rem;margin-left:.2rem}
.sc-alerte-tete{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--gris-500);padding-top:0}
.sc-bascule{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;min-height:44px;margin:0;font-weight:500;flex-direction:row!important}
.sc-bascule input{position:absolute;opacity:0;width:1px;height:1px}
.sc-b-piste{width:46px;height:26px;border-radius:999px;background:var(--gris-200);position:relative;flex:none;transition:background .15s}
.sc-b-piste::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.sc-bascule input:checked+.sc-b-piste{background:var(--canard-600)}
.sc-bascule input:checked+.sc-b-piste::after{transform:translateX(20px)}
.sc-bascule input:focus-visible+.sc-b-piste{outline:3px solid var(--cyan-200);outline-offset:2px}
.sc-b-txt{font-size:.82rem;color:var(--gris-600)}
.sc-alerte:not(.sc-alerte-tete) .sc-b-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sc-note{display:flex;gap:.6rem;align-items:flex-start;background:var(--gris-50);border-radius:14px;padding:.8rem 1rem;font-size:.84rem;color:var(--gris-600);align-self:start}
.sc-note .ic{width:18px;height:18px;flex:none;color:var(--canard-600);margin-top:.1rem}

@media (max-width:760px){
  .sc-alerte{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sc-alerte>span:first-child{grid-column:1/-1}
  .sc-alerte-tete{display:none}
  .sc-alerte:not(.sc-alerte-tete) .sc-b-txt{position:static;width:auto;height:auto;clip:auto;overflow:visible}
  .sc-tdr-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .sc-tdr-carte{padding:.8rem .8rem .9rem}
  .sc-bulle{left:0;right:0}
  .sc-tdr-grille .sc-tdr-carte:nth-child(2n) .sc-bulle{left:-40%}
  .sc-tdr-grille .sc-tdr-carte:nth-child(2n+1) .sc-bulle{right:-40%}
  .sc-actions{justify-content:flex-start}
  .sc-valeur{flex:1 1 100%}
}
.sc-promo-id{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;min-width:0}
.sc-promo-id small{flex-basis:100%;font-size:.76rem}
.sc-code-promo{white-space:nowrap}
.sc-validite small{display:block;margin-top:.15rem}
.sc-promos td.actions{min-width:150px}
.sc-promos .sc-actions{flex-direction:column;align-items:stretch}
.sc-promos .sc-actions .btn{width:100%;justify-content:center}
@media (max-width:760px){.sc-promos .sc-actions{flex-direction:row}.sc-promos .sc-actions .btn{width:auto}.sc-promos td.actions{min-width:0}}
.sc-valeur input::placeholder,.sc-code-champ::placeholder{color:var(--gris-400);font-weight:500;letter-spacing:0}
.sc-bloc{display:block;margin-top:.5rem}
.sc-court{display:none}
.sc-rapport td.num,.sc-rapport th.num{white-space:nowrap}
@media (max-width:760px){
  .sc-long{display:none}.sc-court{display:inline}
  .sc-rapport{font-size:.8rem}
  .sc-rapport th,.sc-rapport td{padding:.5rem .4rem!important}
  .sc-rapport thead th{font-size:.66rem}
  .sc-rapport .sc-sous td:first-child{padding-left:.9rem!important}
  .sc-rapport .sc-evol{font-size:.72rem}
}
.sc-rapport-tete .sc-evol{flex-wrap:wrap;border-radius:12px}.sc-rapport-tete .sc-evol small{white-space:nowrap}
.promo-zone{margin:0 0 .9rem}
.paiement-form [data-p-envoyer]{white-space:normal;text-align:center;line-height:1.25;height:auto;min-height:52px}

/* ─── Mon profil : adresse e-mail vérifiée (1.3.1) ─── */
.sc-verif-etat{margin-left:.35rem;vertical-align:middle;display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem}
.sc-verif-etat .ic{width:13px;height:13px}
.sc-verif-email{align-items:flex-start}
.sc-verif-email .btn{min-height:44px}

/* ═══════════ 1.5.0 — Poste de direction ═══════════ */
.pd{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.6rem}
.pd-cherche{display:flex;align-items:center;gap:.6rem;background:#fff;border:2px solid var(--cyan-100);border-radius:22px;padding:.45rem .45rem .45rem 1rem;box-shadow:0 4px 0 var(--cyan-50)}
.pd-cherche>.ic{width:22px;height:22px;color:var(--canard-700);flex:none}
.pd-cherche input{flex:1;min-width:0;border:0;background:none;font-size:16px;padding:.6rem .2rem;box-shadow:none}
.pd-cherche input:focus{outline:none}
.pd-cherche:focus-within{border-color:var(--cyan)}
.pd-cherche .btn{flex:none}
.pd-etat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
@media (max-width:1560px){.pd-etat{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pd-puce{--c:var(--canard-700);display:flex;align-items:center;gap:.7rem;background:#fff;border-radius:18px;border:1.5px solid var(--filet);padding:.75rem .85rem;text-decoration:none;color:inherit;margin:0;min-width:0;flex-wrap:wrap}
.pd-puce.ok{--c:var(--vert);border-color:color-mix(in srgb,var(--vert) 22%,#fff)}
.pd-puce.alerte{--c:var(--or-600);border-color:var(--or-100);background:var(--or-50)}
.pd-puce-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c)}
.pd-puce-ic .ic{width:19px;height:19px}
.pd-puce-t{min-width:0;flex:1 1 140px}
.pd-puce b{display:block;font-family:var(--titre);font-weight:800;font-size:.9rem;color:var(--encre)}
.pd-puce small{display:block;font-size:.78rem;color:var(--gris-600);overflow-wrap:anywhere;line-height:1.35}
.pd-puce-geste{display:inline-flex;align-items:center;gap:.3rem;font:700 .78rem var(--corps);color:var(--canard-800);background:none;border:0;padding:0;cursor:pointer;white-space:nowrap;flex:none!important;margin-left:auto}
.pd-puce-geste .ic{width:14px;height:14px}
.pd-grille{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.pd-carte{background:#fff;border-radius:var(--r-l);border:1px solid rgba(7,90,115,.08);box-shadow:var(--ombre-1);padding:1.2rem 1.3rem;min-width:0}
.pd-carte h2{font-size:1.02rem;margin:0 0 .5rem;display:flex;align-items:center;gap:.45rem}
.pd-carte h2 .ic{width:19px;height:19px;color:var(--canard-700)}
.pd-carte>p{margin:0 0 .8rem;font-size:.88rem;color:var(--gris-600)}
.pd-karamo{grid-column:span 7;background:linear-gradient(135deg,#06546B,#0A6F8C 55%,#0E94B5);color:#DDF3F7;border:0;position:relative;overflow:hidden}
.pd-karamo h2{color:#fff;font-size:1.25rem;margin:0 0 .25rem}
.pd-karamo p{margin:0;font-size:.9rem;color:#CDEBF1}
.pd-carte-tete{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}
.pd-karamo-av{width:64px;height:64px;border-radius:20px;background:#FFE3A6;overflow:hidden;flex:none;box-shadow:0 6px 0 rgba(0,0,0,.12)}
.pd-karamo-av img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;transform:scale(1.6);transform-origin:50% 12%}
.pd-karamo-form textarea{width:100%;border-radius:18px;border:0;padding:.85rem 1rem;font-size:16px;resize:vertical;min-height:84px;background:#fff;color:var(--texte)}
.pd-karamo-bas{display:flex;align-items:center;gap:.7rem;margin-top:.7rem;flex-wrap:wrap}
.pd-sim{display:flex;align-items:center;gap:.5rem;flex:1;min-width:220px;margin:0;color:#DDF3F7;font-size:.84rem;font-weight:600}
.pd-sim select{flex:1;min-width:0;border-radius:12px;border:0;min-height:42px;font-size:16px;padding:.3rem .6rem}
.pd-exemples{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}
.pd-exemples a{font-size:.8rem;font-weight:600;color:#fff;text-decoration:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:.35rem .7rem}
.pd-exemples a:hover{background:rgba(255,255,255,.22)}
.pd-note{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:.9rem 0 0!important;font-size:.82rem!important;color:#FFE3A6!important}
.pd-note .ic{width:16px;height:16px}
.pd-note a{color:#fff;font-weight:700}
.pd-voir{grid-column:span 5}
.pd-voir-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.pd-voir-liste form{margin:0}
.pd-voir-btn{width:100%;display:flex;align-items:center;gap:.55rem;border:1.5px solid var(--cyan-100);background:#fff;border-radius:15px;padding:.55rem .7rem;font:700 .88rem var(--corps);color:var(--encre);cursor:pointer;text-align:left;min-height:48px}
.pd-voir-btn span{width:32px;height:32px;border-radius:10px;background:var(--cyan-50);color:var(--canard-700);display:grid;place-items:center;flex:none}
.pd-voir-btn .ic{width:17px;height:17px}
.pd-voir-btn:hover:not([disabled]){border-color:var(--canard-500);background:var(--cyan-50)}
.pd-voir-btn[disabled]{opacity:.45;cursor:not-allowed}
.pd-ajouter{grid-column:span 8}
.pd-ajouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.pd-ajouts a{display:flex;gap:.65rem;align-items:flex-start;padding:.7rem .75rem;border-radius:16px;border:1.5px solid var(--filet);text-decoration:none;color:inherit;transition:.15s}
.pd-ajouts a:hover{border-color:var(--canard-500);background:var(--cyan-50);transform:translateY(-1px)}
.pd-aj-ic{width:38px;height:38px;border-radius:12px;background:var(--canard-700);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 3px 0 var(--canard-900)}
.pd-aj-ic .ic{width:18px;height:18px}
.pd-ajouts b{display:block;font-size:.88rem;color:var(--encre)}
.pd-ajouts small{display:block;font-size:.76rem;color:var(--gris-600);line-height:1.35;margin-top:.1rem}
.pd-contenus{grid-column:span 4}
.pd-contenus ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.pd-contenus a{display:flex;align-items:center;gap:.55rem;padding:.45rem .5rem;border-radius:12px;text-decoration:none;color:inherit;flex-wrap:wrap}
.pd-contenus a:hover{background:var(--gris-50)}
.pd-c-ic{width:30px;height:30px;border-radius:10px;background:var(--gris-50);color:var(--canard-700);display:grid;place-items:center;flex:none}
.pd-c-ic .ic{width:16px;height:16px}
.pd-c-lib{flex:1;min-width:0;font-size:.86rem}
.pd-contenus b{font-family:var(--titre);font-weight:900;color:var(--encre)}
.pd-contenus small{width:100%;padding-left:2.4rem;font-size:.72rem;color:var(--or-texte);margin-top:-.25rem}
.pd-titre-chiffres{font-size:1.05rem;display:flex;align-items:center;gap:.45rem;margin:.4rem 0 .9rem;color:var(--encre)}
.pd-titre-chiffres .ic{width:19px;height:19px;color:var(--canard-700)}
.pd-res h2{font-size:1rem;display:flex;align-items:center;gap:.45rem;margin:0 0 .6rem}
.pd-res h2 .ic{width:18px;height:18px;color:var(--canard-700)}
.pd-res ul{list-style:none;margin:0;padding:0}
.pd-res li{display:flex;align-items:center;gap:.8rem;padding:.6rem 0;border-top:1px solid var(--filet)}
.pd-res li:first-child{border-top:0}
.pd-res-l{flex:1;min-width:0;text-decoration:none;color:inherit}
.pd-res-l b{display:block;color:var(--encre);font-size:.92rem;overflow-wrap:anywhere}
.pd-res-l small{color:var(--gris-600);font-size:.8rem}
.pd-res-g{display:flex;gap:.4rem;flex:none}
@media (max-width:1180px){
  .pd-etat{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-karamo,.pd-voir,.pd-ajouter,.pd-contenus{grid-column:span 12}
  .pd-ajouts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .pd-etat{grid-template-columns:minmax(0,1fr)}
  .pd-ajouts{grid-template-columns:minmax(0,1fr)}
  .pd-cherche{padding-left:.8rem;border-radius:18px}
  .pd-cherche .btn{padding:.55rem .8rem}
  .pd-carte-tete{gap:.8rem}
  .pd-karamo-av{width:52px;height:52px;border-radius:16px}
  .pd-karamo h2{font-size:1.1rem}
  .pd-karamo-bas .btn{width:100%}
  .pd-res li{flex-direction:column;align-items:stretch;gap:.4rem}
}

/* ═══ 1.5.5 — Équipe de direction ═══ */
.eq-liste{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.eq-membre{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.85rem .9rem;border:1px solid rgba(7,90,115,.1);border-radius:18px;background:#fff}
.eq-membre.eq-suspendu{opacity:.62;background:var(--gris-50,#f6f8f9)}
.eq-infos{display:grid;gap:.15rem;min-width:0}
.eq-infos small{color:var(--gris-600)}
.eq-etiquettes{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}
.eq-actions{display:flex;flex-direction:column;gap:.4rem;align-items:stretch}
.eq-actions select{min-height:38px;padding:.3rem .6rem;border-radius:12px}
.eq-roles{border:0;margin:0;padding:0;display:grid;gap:.5rem}
.eq-roles legend{font-weight:600;margin-bottom:.4rem}
.eq-role{display:flex;gap:.7rem;align-items:flex-start;padding:.75rem .85rem;border:1.5px solid rgba(7,90,115,.14);border-radius:16px;cursor:pointer}
.eq-role:has(input:checked){border-color:var(--canard-600);background:var(--cyan-50)}
.eq-role input{margin-top:.2rem;accent-color:var(--canard-700)}
.eq-role span{display:grid;gap:.15rem}
.eq-role small{color:var(--gris-600);font-size:.86rem;line-height:1.4}
.eq-comment{margin-top:1.2rem;padding:1rem 1.1rem;border-radius:18px;background:var(--cyan-50)}
.eq-comment h3{display:flex;gap:.5rem;align-items:center;font-size:1rem;margin:0 0 .5rem}
.eq-comment ol{margin:0 0 .6rem;padding-left:1.2rem;display:grid;gap:.35rem}
@media (max-width:640px){.eq-membre{grid-template-columns:auto minmax(0,1fr)}.eq-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.eq-actions form{flex:1 1 auto}.eq-actions select,.eq-actions .btn{width:100%}}
.form .eq-role,.eq-role{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:start;font-weight:400}
.eq-role b{font-weight:700}
.eq-role small{font-weight:400}
.eq-infos small{overflow-wrap:anywhere}
@media (max-width:640px){.eq-membre>.muted{grid-column:1/-1}}
.eq-mdp summary{list-style:none;cursor:pointer;width:100%;justify-content:center}
.eq-mdp summary::-webkit-details-marker{display:none}
.eq-mdp[open] summary{margin-bottom:.4rem}
.eq-mdp form{display:grid;gap:.4rem}
.eq-mdp input{min-height:38px;padding:.3rem .6rem;border-radius:12px;border:1.5px solid rgba(7,90,115,.18)}
/* 1.8.4 : intertitre « Coordonnées » du formulaire d'inscription */
.sc-form-intertitre{margin:.4rem 0 -.2rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--c,#0E94B5)}

/* suivi.css */
/* KHARANDI 1.8.0 — module « suivi » : défi de la semaine, leçons de l'Abacus, fiches Guinée, diaporama, QCM de Karamö,
   vitesse de la voix, bilan des parents, recherche globale, cours en direct, carnet de séances, exports.
   Charte B « Le voyage du savoir » : mêmes composants (carte, pastille, onglets, ap-choix…), couleurs par variables. */

/* ───── Défi de la semaine ───── */
.sv-onglets{max-width:100%}
.sv-defi-grille{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:1.4rem;align-items:start}
.sv-defi-tete{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}
.sv-defi-tete .pastille-icone{margin:0}
.sv-info-points{display:flex;gap:.5rem;align-items:flex-start;background:var(--or-50);color:var(--or-texte);border-radius:14px;padding:.7rem .9rem;font-weight:600;font-size:.93rem}
.sv-info-points .ic{flex:none;margin-top:.1rem}
.sv-chrono{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--titre);font-weight:800;color:var(--canard-700);background:var(--cyan-50);border-radius:999px;padding:.25rem .7rem;font-variant-numeric:tabular-nums}
.sv-chrono.urgent{color:var(--rouge);background:var(--rouge-50)}
.sv-temps{margin-bottom:1rem}
.sv-temps i{transition:width .25s linear}
.sv-bonnes{color:var(--vert);font-weight:700}
.sv-question{margin-top:.3rem}
.sv-choix button.ap-choix-el{width:100%;text-align:left;font:inherit}
.sv-choix button.ap-choix-el:not(:disabled):hover{border-color:var(--canard-500);background:#FBFEFE}
.sv-choix button.ap-choix-el:focus-visible{outline:3px solid var(--or);outline-offset:2px}
.sv-choix button.ap-choix-el:disabled{cursor:default}
.sv-choix button.sv-choisi:not(.bonne):not(.fausse){border-color:var(--canard-600);background:var(--cyan-50)}
.sv-src{display:inline-flex;margin-top:.6rem;font-size:.9rem}
.sv-fin-tete{margin-bottom:.5rem}
.sv-rang{font-size:1.05rem}
.sv-partage{border-top:2px dashed var(--filet);margin-top:1rem;padding-top:1rem}
.sv-classement-carte .ap-cl-pts{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.sv-cl-duree{font-family:var(--corps);font-weight:500;font-size:.72rem;color:var(--gris-600)}

/* ───── Abacus : apprendre pas à pas ───── */
.sv-ab-progres{margin-bottom:1.4rem;padding:1.1rem 1.3rem}
.sv-ab-grille{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:1.4rem;align-items:start}
.sv-ab-plan{padding:1.1rem;position:sticky;top:1rem}
.sv-ab-niveau{font-family:var(--titre);font-weight:800;font-size:.92rem;color:var(--encre);margin:.9rem 0 .4rem}
.sv-ab-niveau:first-child{margin-top:0}
.sv-ab-niveau span{display:inline-block;background:var(--cyan-50);color:var(--canard-800);border-radius:999px;padding:.1rem .55rem;font-size:.75rem;margin-right:.3rem}
.sv-ab-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}
.sv-ab-liste a{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:12px;text-decoration:none;color:var(--texte);font-size:.92rem;min-height:44px;border:2px solid transparent}
.sv-ab-liste a:hover{background:var(--cyan-50)}
.sv-ab-liste a.actif{border-color:var(--cyan);background:var(--cyan-50);font-weight:700}
.sv-ab-num{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--gris-50);font-family:var(--titre);font-weight:800;font-size:.82rem;color:var(--canard-700)}
.sv-ab-num .ic{width:15px;height:15px}
.sv-ab-liste a.fait .sv-ab-num{background:var(--vert);color:#fff}
.sv-ab-lecon .ap-h2 .pastille{vertical-align:middle;margin-left:.3rem}
.sv-ab-consigne{background:var(--gris-50);border-radius:var(--r);padding:.9rem 1rem;margin:1rem 0}
.sv-ab-consigne p{display:flex;align-items:center;gap:.7rem}
.sv-ab-consigne .puce-num{width:30px;height:30px}
.sv-ab-consigne .puce-num .ic{width:16px;height:16px}
.sv-ab-cible{font-family:var(--titre);font-size:1.35rem;color:var(--canard-700)}
.sv-ab-boulier-tete{margin:.2rem 0 .6rem}
.sv-ab-message{margin-top:.8rem;border-radius:14px;padding:0;font-size:.95rem}
.sv-ab-message:not(:empty){padding:.8rem 1rem}
.sv-ab-message.ok{background:var(--vert-50);color:#16663f}
.sv-ab-message.ko{background:var(--or-50);color:#6b4600}
.sv-ab-message .btn{margin-top:.5rem}
.sv-ab-message span{display:block;margin-top:.3rem}
.sv-ab-nouveau{color:var(--or-texte);font-weight:600}
.sv-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.sv-badge{--c:var(--canard-700);background:#fff;border:2px solid var(--filet);border-radius:var(--r-l);padding:1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.25rem;color:var(--gris-500)}
.sv-badge b{font-family:var(--titre);font-size:.95rem;color:var(--gris-600)}
.sv-badge small{font-size:.8rem;line-height:1.35}
.sv-badge-ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--gris-50);margin-bottom:.3rem}
.sv-badge-ic .ic{width:24px;height:24px}
.sv-badge.obtenu{border-color:color-mix(in srgb,var(--c) 30%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--c) 22%,#fff);color:var(--texte)}
.sv-badge.obtenu b{color:var(--encre)}
.sv-badge.obtenu .sv-badge-ic{background:var(--c);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--c) 70%,#000)}
.sv-badge-date{font-size:.72rem;color:var(--gris-600)}

/* ───── Fiches Guinée ───── */
.sv-fiche{max-width:760px}
.sv-fiche-texte{font-size:1.08rem;line-height:1.75;margin-bottom:1.2rem}
.sv-fiche-source{border-top:2px dashed var(--filet);padding-top:1rem}
.sv-fiche-source ul{margin:0;padding-left:1.2rem}
.sv-fiche-source b{display:inline-flex;gap:.35rem;align-items:center}
.sv-fiches-liens{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.sv-fiche-carte h3{margin-bottom:.4rem}
.sv-fiche-carte .ic{width:14px;height:14px;vertical-align:-2px}

/* ───── Leçon : QCM de Karamö ───── */
.sv-qcm-ia{border-top:2px dashed var(--filet);padding-top:1.4rem}
.sv-qcm-ia-tete{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}
.sv-qcm-ia-tete h2{margin:0}
.sv-qcm-ia-q{margin-bottom:1rem}
.sv-qcm-ia-q legend{padding:0;margin-bottom:.8rem;font-weight:600}
.sv-qcm-ia-score{font-family:var(--titre);font-weight:800;font-size:1.1rem;color:var(--canard-800);margin-top:1rem}

/* ───── Diaporama plein écran ───── */
body.sv-diapo-ouvert{overflow:hidden}
.sv-diapo{position:fixed;inset:0;z-index:1000;background:var(--degrade-profond,#08414A);display:flex;flex-direction:column;color:#fff}
.sv-diapo-barre{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem 1rem;min-height:56px}
.sv-diapo-cpt{font-family:var(--titre);font-weight:700;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sv-diapo-outils{display:flex;gap:.4rem;flex:none}
.sv-diapo-btn{min-width:44px;height:44px;border-radius:12px;border:0;background:rgba(255,255,255,.14);color:#fff;font-family:var(--titre);font-weight:800;font-size:1rem;cursor:pointer}
.sv-diapo-btn:hover,.sv-diapo-btn:focus-visible{background:rgba(255,255,255,.26)}
.sv-diapo-scene{flex:1;overflow:auto;padding:0 1rem;-webkit-overflow-scrolling:touch}
.sv-diapo-page{background:#fff;color:var(--texte);border-radius:var(--r-l);max-width:1100px;margin:0 auto;padding:clamp(1.2rem,4vw,3rem);box-shadow:var(--ombre-3);min-height:calc(100% - 1rem)}
.sv-diapo-page .pg-bloc{margin:0}
.sv-diapo-page h1{font-size:clamp(1.6rem,4vw,2.8em);line-height:1.15;margin-bottom:.6em}
.sv-diapo-sur{font-family:var(--titre);font-weight:700;color:var(--canard-700);margin-bottom:.4em}
.sv-diapo-titre .pg-idee{font-size:1.2em}
.sv-diapo-nav{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom,0px))}
.sv-diapo-fleche{width:48px;height:48px;flex:none;border-radius:14px;border:0;background:#fff;color:var(--canard-800);font-size:1.3rem;font-weight:800;cursor:pointer;box-shadow:0 3px 0 rgba(0,0,0,.25)}
.sv-diapo-fleche:disabled{opacity:.35;cursor:default}
.sv-diapo-miniatures{flex:1;display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;min-width:0}
.sv-diapo-miniatures::-webkit-scrollbar{display:none}
.sv-diapo-mini{flex:none;display:flex;align-items:center;gap:.4rem;border:2px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:.35rem .7rem;min-height:44px;font:inherit;font-size:.82rem;cursor:pointer;max-width:200px}
.sv-diapo-mini b{font-family:var(--titre)}
.sv-diapo-mini span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv-diapo-mini.actif{background:#fff;color:var(--canard-800);border-color:#fff}

/* ───── Vitesse de la voix ───── */
.sv-voix{display:inline-flex;align-items:center;gap:.2rem;background:var(--gris-50);border-radius:12px;padding:.2rem;flex-wrap:wrap;vertical-align:middle}
.sv-voix-lib{font-size:.75rem;font-weight:700;color:var(--gris-600);padding:0 .4rem}
.sv-voix-btn{border:0;background:transparent;border-radius:9px;min-height:36px;min-width:44px;padding:0 .45rem;font:inherit;font-size:.8rem;font-weight:700;color:var(--canard-800);cursor:pointer}
.sv-voix-btn[aria-pressed=true]{background:var(--canard-700);color:#fff;box-shadow:0 2px 0 var(--canard-900)}

/* ───── Bilan des parents ───── */
.sv-bilan-tete{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem;flex-wrap:wrap}
.sv-bilan-tete h2{font-size:1.25rem}
.sv-bilan-jours{margin-left:auto}
.sv-bilan-chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.sv-bilan-chiffres div{background:var(--gris-50);border-radius:16px;padding:.8rem;display:flex;flex-direction:column;gap:.15rem}
.sv-bilan-chiffres b{font-family:var(--titre);font-weight:900;font-size:1.6rem;color:var(--canard-800);line-height:1.1}
.sv-bilan-chiffres .or b{color:var(--or-texte)}
.sv-bilan-chiffres span{font-size:.84rem;color:var(--gris-600);line-height:1.3}
.sv-bilan-plus{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.4rem;font-size:.93rem}
.sv-bilan-plus li{display:flex;gap:.5rem;align-items:flex-start}
.sv-bilan-plus .ic{flex:none;color:var(--canard-700);margin-top:.15rem}

/* ───── Recherche ───── */
.entete-page .sv-recherche{max-width:680px;margin-top:1.2rem}
.sv-rech-idee{display:flex;flex-direction:column;gap:.2rem}
.sv-rech-idee .pastille-icone{margin-bottom:.5rem}
.sv-rech-sauts a{text-decoration:none}
.sv-rech-titre{display:flex;align-items:center;gap:.7rem;font-size:1.15rem;margin:0}
.sv-rech-titre .pastille-icone{margin:0;width:38px;height:38px}
.sv-rech-liste{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.sv-rech-liste li+li{border-top:1px solid var(--filet)}
.sv-rech-liste a{display:flex;flex-direction:column;gap:.1rem;padding:.7rem .2rem;text-decoration:none;color:var(--texte);min-height:44px;justify-content:center}
.sv-rech-liste a:hover b{color:var(--lien,var(--canard-700));text-decoration:underline}
.sv-rech-liste span{font-size:.85rem;color:var(--gris-600);overflow-wrap:anywhere}

/* ───── Cours en direct ───── */
.sv-direct-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:1.4rem;align-items:start}
.sv-direct{display:flex;gap:1.1rem;align-items:flex-start}
.sv-direct.en-direct{border:2px solid var(--rouge);box-shadow:0 4px 0 var(--rouge-50)}
.sv-direct-quand{flex:none;width:92px;text-align:center;background:var(--cyan-50);border-radius:16px;padding:.7rem .4rem;display:flex;flex-direction:column;gap:.1rem}
.sv-direct-quand b{font-family:var(--titre);font-weight:900;font-size:1.3rem;color:var(--canard-800)}
.sv-direct-quand span{font-size:.74rem;color:var(--gris-600);line-height:1.25}
.sv-direct-quand small{font-size:.72rem;font-weight:700;color:var(--canard-700)}
.sv-direct-corps{flex:1;min-width:0}
.sv-direct-corps h3{margin:.3rem 0 .4rem}
.sv-direct-pastilles{display:flex;gap:.35rem;flex-wrap:wrap}
.sv-live i{width:8px;height:8px;border-radius:50%;background:currentColor;animation:sv-pouls 1.4s infinite}
@keyframes sv-pouls{50%{opacity:.25}}
.sv-direct-filtres select{max-width:260px}
.sv-forfait .pastille-icone{margin-bottom:.6rem}
.sv-forfait h3{margin-bottom:.5rem}

/* ───── Carnet de séances ───── */
.sv-rep-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.4rem;align-items:start}
.sv-seances-chiffres{grid-template-columns:repeat(3,minmax(0,1fr))}
.sv-seance .ligne-entre{gap:.6rem;flex-wrap:wrap}
.sv-signaler summary{list-style:none;cursor:pointer}
.sv-signaler summary::-webkit-details-marker{display:none}
.sv-signaler[open] summary{margin-bottom:.4rem}

/* ───── Téléphone ───── */
@media (max-width:960px){
  .sv-defi-grille,.sv-ab-grille,.sv-direct-grille,.sv-rep-grille{grid-template-columns:minmax(0,1fr)}
  .sv-ab-plan{position:static}
  .sv-badges{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .sv-bilan-chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sv-bilan-jours{margin-left:0}
  .sv-seances-chiffres{grid-template-columns:minmax(0,1fr)}
  .sv-direct{flex-direction:column}
  .sv-direct-quand{width:auto;flex-direction:row;align-items:baseline;gap:.5rem;padding:.5rem .8rem}
  .sv-diapo-mini span{display:none}
  .sv-diapo-barre{padding:.5rem .7rem}
  .sv-diapo-scene{padding:0 .5rem}
  .sv-badge{padding:.8rem .6rem}
}
@media print{.sv-diapo,.sv-voix,[data-sv-diaporama],[data-sv-qcm-ia]{display:none!important}}
@media (prefers-reduced-motion:reduce){.sv-live i{animation:none}.sv-temps i{transition:none}}

/* Entrée « Apprendre pas à pas » sur la page de l'Abacus */
.sv-ab-entree{display:flex;align-items:center;gap:.9rem;margin-bottom:1.4rem;padding:1rem 1.2rem;text-decoration:none;color:var(--texte)}
.sv-ab-entree .pastille-icone{margin:0}
.sv-ab-entree>span:nth-child(2){flex:1;display:flex;flex-direction:column}
.sv-ab-entree b{font-family:var(--titre);font-size:1.05rem;color:var(--encre)}
.sv-ab-entree small{color:var(--gris-600)}
.sv-ab-entree>.ic{color:var(--canard-700);flex:none}

/* vitrine.css */
/* KHARANDI 1.8.4 — vitrine : avatar officiel de Karamö, menu principal (intitulés plus longs), « Le Répétiteur »,
   visuels KADIOBO, vidéo « Découvrir Kharandi en 1 minute ». Chargée après apprendre, accueil et socle-admin. */

/* ── Avatar officiel de Karamö (visage recadré, rond) : bulle, en-tête du chat, messages, menus ── */
.karamo-fab .tete{background:#fff;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--or)}
.karamo-fab .tete img,.kc-avatar img,.pd-karamo-av img{transform:none;object-position:50% 50%;object-fit:cover;border-radius:50%}
.kc-avatar,.pd-karamo-av{border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--or)}
.kc .ap-msg.karamo::after{border-radius:50%;background:#fff var(--kc-avatar) 50% 50%/cover no-repeat;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--or)}
.ac-tel-tete img{border-radius:50%;object-position:50% 50%;background:#fff;box-shadow:0 0 0 2px var(--or)}
@media (max-width:760px){html.kc-clavier .kc-avatar,.kc-avatar{border-radius:50%}}
/* Entrée « Karamö, le prof virtuel » des menus */
.nav-principale .panneau .pic.pic-avatar{background:#fff;padding:0;overflow:hidden;border-radius:50%;box-shadow:0 0 0 2px var(--or)}
.pic-karamo{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.tiroir .l .pic-karamo{width:22px;height:22px;border-radius:50%;flex:none;box-shadow:0 0 0 1.5px var(--or)}
.espace img.ic-karamo,.corps-espace img.ic-karamo{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none;background:#fff;box-shadow:0 0 0 1.5px var(--or)}

/* ── Page « Karamö, le prof virtuel » : Karamö 3D qui fait coucou, dans un anneau aux couleurs de son portrait officiel ── */
.ap-karamo-visuel .kr-anneau{position:relative;z-index:1;width:min(360px,80%);aspect-ratio:1;border-radius:50%;padding:8px;margin:0 auto 1rem;
  background:conic-gradient(from -8deg,#F5A800 0 47%,transparent 47% 49%,#14B8C8 49% 98%,transparent 98%);filter:drop-shadow(0 22px 34px rgba(6,74,96,.35));animation:flotte 6s ease-in-out infinite}
.ap-karamo-visuel .kr-anneau::before{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}
.kr-salut{position:relative;display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;background:#F8F8F7}
@media (prefers-reduced-motion:reduce){.ap-karamo-visuel .kr-anneau{animation:none}}
@media (max-width:760px){.ap-karamo-visuel .kr-anneau{width:min(260px,72%);margin-bottom:.4rem}}

/* ── Menu principal : sept entrées avec les nouveaux intitulés, sans retour à la ligne ── */
.nav-principale>a,.nav-principale .menu-deroulant>button{white-space:nowrap}
.entete-actions .btn{white-space:nowrap}
@media (min-width:1101px){
  .entete .conteneur{gap:.9rem}
  .nav-principale{gap:0}
  .nav-principale>a,.nav-principale .menu-deroulant>button{font-size:.83rem;padding:.5rem .5rem}
  .entete-actions{gap:.4rem}
  .entete-actions .btn{padding-left:.85em;padding-right:.85em}
  /* Les menus déroulants s'ouvrent sous leur bouton, alignés à gauche (le menu commence plus tôt : ils ne sortent plus de l'écran). */
  .nav-principale .menu-deroulant .panneau{left:-.4rem;transform:translateY(6px)}
  .nav-principale .menu-deroulant:hover .panneau,.nav-principale .menu-deroulant:focus-within .panneau{transform:translateY(0)}
}
/* En dessous, le menu passe dans le tiroir (bouton ☰), comme sur tablette et téléphone. */
@media (max-width:1279px){
  .nav-principale{display:none}
  .bouton-menu{display:block}
  .entete-actions .btn-ligne{display:none}
}

/* ── « Le Répétiteur » ── */
.vt-heros{overflow:hidden}
.vt-heros-grille{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}
.vt-heros-karamo{width:170px;height:auto;margin-bottom:-2.2rem;filter:drop-shadow(0 18px 26px rgba(0,0,0,.28))}
.vt-deux-publics{align-items:stretch}
.vt-public{display:flex;flex-direction:column}
.vt-public h2{font-size:clamp(1.35rem,2.4vw,1.75rem)}
.vt-public .liste-coches{margin:1rem 0 .4rem}
.vt-public .groupe-btn{margin-top:auto;padding-top:.8rem}
.carte-sombre.vt-public .aide{color:rgba(255,255,255,.78)}
@media (max-width:760px){
  .vt-heros-grille{grid-template-columns:1fr}
  .vt-heros-karamo{display:none}
}

/* ── Visuels KADIOBO (Études à l'étranger) ── */
.vt-kadiobo{margin:0 0 1.6rem}
.vt-kadiobo-banniere{display:block;border-radius:20px;overflow:hidden;background:var(--ivoire,#F7F6F2);box-shadow:var(--ombre-2,0 6px 18px rgba(0,0,0,.08))}
.vt-kadiobo-banniere img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}
.vt-kadiobo-vignettes{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.vt-kadiobo-vignette{display:block;border-radius:16px;overflow:hidden;background:var(--ivoire,#F7F6F2);aspect-ratio:1;box-shadow:var(--ombre-1,0 2px 8px rgba(0,0,0,.06))}
.vt-kadiobo-vignette img{display:block;width:100%;height:100%;object-fit:cover}
a.vt-kadiobo-vignette:hover,a.vt-kadiobo-banniere:hover{transform:translateY(-2px);transition:transform .2s}
.vt-kadiobo-apercu{outline:3px dashed var(--or);outline-offset:8px;border-radius:12px}
.vt-kadiobo-etiquette{display:flex;gap:.4rem;align-items:center;font-size:.85rem;font-weight:600;color:var(--or-texte,#8A5A00);margin:0 0 .6rem}
@media (max-width:700px){.vt-kadiobo-vignettes{grid-template-columns:repeat(2,1fr);gap:.7rem}.vt-kadiobo-banniere{border-radius:14px}}
.vt-admin-apercu{display:block;width:100%;max-height:220px;object-fit:contain;background:var(--ivoire,#F7F6F2);border-radius:12px;margin:.4rem 0 .8rem}
.vt-admin-mini{width:44px;height:44px;border-radius:8px;object-fit:cover}

/* ── Vidéo « Découvrir Kharandi en 1 minute » (À propos) ── */
.vt-video{max-width:960px;margin:0 auto}
.vt-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:20px;background:#08414A;box-shadow:var(--ombre-3,0 18px 40px rgba(6,74,96,.25))}
.vt-video figcaption{margin-top:.8rem}
@media (max-width:700px){.vt-video video{border-radius:14px}}

/* 1.8.4 : affiches du partenaire (format portrait, jamais recadrées) */
.vt-kadiobo-tete{margin:0 0 .9rem}.vt-kadiobo-tete h2{margin:.1rem 0 .3rem}.vt-kadiobo-tete p{margin:0;color:var(--texte-doux,#4A5A66)}
.vt-kadiobo-affiches{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.vt-kadiobo-affiche{display:flex;flex-direction:column;gap:.45rem;text-decoration:none;color:inherit}
.vt-kadiobo-affiche img{display:block;width:100%;height:auto;aspect-ratio:480/679;border-radius:12px;background:var(--ivoire,#F7F6F2);box-shadow:var(--ombre-1,0 2px 8px rgba(0,0,0,.08));transition:transform .2s}
.vt-kadiobo-affiche span{font-weight:700;font-size:.92rem;text-align:center}
.vt-kadiobo-affiche:hover img{transform:translateY(-3px)}
.vt-kadiobo-note{display:flex;gap:.4rem;align-items:flex-start;font-size:.8rem;color:var(--texte-doux,#4A5A66);margin:.8rem 0 0}
.vt-kadiobo-note svg{flex:none;width:15px;height:15px;margin-top:.15rem}
@media (max-width:1100px){.vt-kadiobo-affiches{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.vt-kadiobo-affiches{grid-template-columns:repeat(2,1fr);gap:.8rem}}

/* zz-harmonie.css */
/* KHARANDI — harmonie finale (chargée en dernier) : sur les fonds bleus, pas de texte doré. */
.entete-page .surtitre,.bienvenue .surtitre,.sombre .surtitre,.carte-sombre .surtitre,.heros .surtitre,.appel .surtitre,.auth-visuel .surtitre,
.ec-heros .surtitre,.rb-entete .surtitre,.ap-solde .surtitre,[class*="-heros"] .surtitre{color:#fff}
.entete-page .accent,.sombre .accent,.heros .accent,.carte-sombre .accent,.appel .accent,
.heros h1 .or,[class*="-heros"] h1 .accent,[class*="-heros"] h1 .or{color:#BDEFF7;background:none;-webkit-text-fill-color:#BDEFF7}
[class*="-heros"] .btn-or,.entete-page .btn-or{--relief:rgba(6,74,96,.3);background:#fff;color:var(--canard-900)}
[class*="-heros"] .btn-or:hover,.entete-page .btn-or:hover{background:#F2FCFE;color:var(--canard-950)}

/* ═══ 1.6.0 — Stabilité « comme une application » ═══ */
/* Sur téléphone, un bouton au texte long passe à la ligne au lieu de dépasser de l'écran. */
@media (max-width:640px){.btn{max-width:100%;white-space:normal;text-align:center;overflow-wrap:break-word}}
/* Karamö : la page ne « rebondit » plus derrière la messagerie (iPhone), seule la conversation défile. */
html.kc-page,html.kc-page body{overscroll-behavior:none}
.kc-fil{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media (max-width:960px){html.kc-page body{position:fixed;inset:0;width:100%}}
/* Listes déroulantes : le texte ne passe jamais sous la flèche (certaines règles réduisaient la marge de droite). */
select:not([multiple]):not([size]){padding-right:2.4rem!important;background-position:right .85rem center!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}

