/* ==========================================================================
   VIVLIGHT — maquette statique de la refonte (feuille commune)
   Même structure et mêmes noms de classes que /assets/css/app.css du site
   actuel ; seules la palette (nouveau logo) et quelques composants changent.
   Sommaire :
     1. Variables            7. Bandeau d'ouverture      13. Équipe et VIVMED
     2. Polices              8. Entrées par public       14. Repères pratiques
     3. Base                 9. Engagements (nouveau)    15. FAQ, devise
     4. Bandes et grilles   10. Cartes de niveau (nouv.) 16. Bande « Consulter »
     5. Titres, textes      11. Étiquettes de niveau     17. Pied de page
     6. Boutons, en-tête,   12. Chaîne d'étapes,         18. Tableaux, encadrés,
        menu plein écran        bande « plateforme »         listes, repère à compléter
     19. Règles propres à une page (préfixe body[data-page="…"])
     20. Impression
   ========================================================================== */

/* 1. Variables ------------------------------------------------------------ */
:root{
  /* Couleurs : mêmes noms que le site ; valeurs de « VIVLIGHT_test_couleur_v3 » (bleu marine et lumière orangée).
     Règle : 60 % bleu marine et crème (structure, texte, titres) · 30 % jaune → orange (boutons, logo, dégradés)
     · 10 % vert (seulement l'étiquette « Établi »). Jamais de texte blanc sur le jaune. */
  --nuit:#141B3A;                 /* bleu marine foncé (10/11/2026) — était #1F2A55 */
  --indigo:var(--nuit);           /* texte fort, titres, liens, fonds sombres, bouton Menu */
  --rose:#F5C33B;                 /* jaune — était #F9D6DE : début des dégradés, pastilles, points du menu ; texte sur fond sombre uniquement */
  --mauve:#F08A2C;                /* orange — était #C8B0D5 : fin des dégradés, pictogrammes */
  --orange-logo:#F3A83A;          /* orange intermédiaire (nouvelle) */
  --orange-clair:#F7B256;         /* fin du dégradé des bandes, plus claire que --mauve (nouvelle) */
  --jaune-pale:#FCE6A6;           /* fond des boutons, côté gauche (nouvelle) */
  --orange-pale:#F9C79A;          /* fond des boutons, côté droit (nouvelle) */
  --violet:var(--indigo);         /* était #6B5793 — titres et mots clés en bleu marine */
  --ardoise:#3B456E;              /* était #55516F — corps de texte, bleu marine adouci */
  --lavande:#F3EDE3;              /* était #EEE9F2 — fond des encadrés et des questions, crème soutenu */
  --filigrane:#EFE8DC;            /* était #E9E5EE — filigranes sur fond crème */
  --gris-fond:#FBF6EE;            /* crème — était #F5F5F5 : fond de page */
  --blanc:#FFFFFF;
  --filet:rgba(31,42,85,.12);
  --filet-fort:rgba(31,42,85,.28);
  --invite:var(--ardoise);
  --inactif:#8A8F9C;
  --degrade:linear-gradient(90deg,var(--rose) 0%,var(--orange-clair) 100%); /* fin plus claire (demande du 10/11) */
  --degrade-bas:linear-gradient(180deg,var(--rose) 0%,var(--mauve) 100%);
  --degrade-diag:linear-gradient(135deg,var(--rose) 0%,var(--mauve) 100%);
  --degrade-bouton:linear-gradient(90deg,var(--jaune-pale) 0%,var(--orange-pale) 100%); /* nouvelle */
  /* Étiquettes de niveau : Établi = vert, En évaluation = orange, Recherche = gris */
  --preuve-1:#2E7D4F;  --preuve-1-fond:#E2F0E6;   /* était vert #2E7D4F / #E1EFE7 */
  --preuve-2:#F08A2C;  --preuve-2-fond:#FCE6CC;   /* était ambre #8F6A10 / #F6EBD0 */
  --preuve-2-bord:#B35F12;                        /* contour du carré (nouveau) : 3,8:1 sur son fond */
  --preuve-3:#6B7280;  --preuve-3-fond:#EEEDEA;   /* était cuivre #A4562B / #F6E3D9 */
  --etage-actif:var(--indigo); --etage-inactif:#D6D2CA;
  --a-completer:#FF2D8A;                          /* repère « À COMPLÉTER » (maquette uniquement) */
  /* Typographie */
  --pile:'degular','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --t-hero:clamp(30px,4.4vw - 4px,52px); --i-hero:calc(var(--t-hero) + 4px);
  --t-sec:44px;   --i-sec:48px;
  --t-h2:32px;    --i-h2:36px;
  --t-col:24px;   --i-col:28px;
  --t-carte:20px; --i-carte:24px;
  --t-chapo:20px; --i-chapo:30px;
  --t-corps:18px; --i-corps:28px;
  --t-petit:15px; --i-petit:22px;
  --t-etq:13px;   --i-etq:16px;
  --t-etage:14px; --i-etage:16px;
  --approche-etq:.08em; --approche-etage:.10em;
  /* Espacements */
  --sec:18px; --rangee:27px; --module:30px; --gout:40px; --gout-tiers:33px; --talon-titre:10px;
  --conteneur:1080px; --colonne-lecture:680px; --menu-max:1400px;
  /* Rayons, ombres */
  --rayon-pilule:100px; --rayon-visuel:55px; --rayon-faq:50px; --rayon-carte:40px;
  --rayon-champ:30px; --rayon-encadre:24px; --rayon-message:12px; --rayon-carre:3px;
  --ombre-carte:0 8px 24px rgba(31,42,85,.08);
  --ombre-survol:0 10px 24px rgba(31,42,85,.16);
  --duree-court:.2s; --duree-menu:.4s; --duree-cascade:.3s;
  --focus:2px solid var(--indigo); --focus-clair:2px solid var(--rose);
  --chevauche-pastille:-60px;
}

/* 2. Polices : Degular, mêmes fichiers que le site (à déposer dans assets/fonts/) */
@font-face{font-family:'degular';src:url('../fonts/degulardisplay-light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'degular';src:url('../fonts/degulardisplay-lightitalic.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap;}
@font-face{font-family:'degular';src:url('../fonts/degulardisplay-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;ascent-override:90%;descent-override:22%;line-gap-override:0%;size-adjust:100%;}
@font-face{font-family:'degular';src:url('../fonts/degulardisplay-regularitalic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'degular';src:url('../fonts/degulardisplay-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'degular';src:url('../fonts/degulardisplay-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}

/* 3. Base ------------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;background:var(--gris-fond);color:var(--ardoise);font-family:var(--pile);font-weight:400;font-size:var(--t-corps);line-height:var(--i-corps);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
body.menu-ouvert{overflow:hidden;}
img,svg{max-width:100%;height:auto;border:0;}
a{color:inherit;}
p{margin:0 0 16px;}
p:last-child{margin-bottom:0;}
b,strong,.fort{font-weight:700;}
em{font-style:italic;}
:focus-visible{outline:var(--focus);outline-offset:3px;border-radius:4px;}
.saut-contenu{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--indigo);color:#fff;padding:12px 20px;border-radius:0 0 12px 0;font-size:15px;text-decoration:none;}
.saut-contenu:focus{left:0;}

/* 4. Bandes et grilles ------------------------------------------------------ */
.sec{position:relative;padding:var(--sec) 0;}
.sec--gris{background:var(--gris-fond);}
.sec--blanc{background:var(--blanc);}
.sec--lavande{background:var(--lavande);}
.sec--indigo{background:var(--indigo);color:#fff;}
.sec--degrade{background:var(--degrade);color:var(--indigo);}
.sec > .rangee{padding:var(--rangee) 0;position:relative;z-index:1;}
.rangee{width:80%;max-width:var(--conteneur);margin:0 auto;}
.rangee--large{width:90%;max-width:none;}
.cols{display:grid;gap:var(--gout);align-items:start;}
.cols--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.cols--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gout-tiers);}
.cols--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.cols--centre{align-items:center;}
.cols--etirees{align-items:stretch;}
.centre{text-align:center;}
.filigrane{position:absolute;top:0;height:100%;width:auto;pointer-events:none;z-index:0;}
.filigrane--droite{right:0;}
.filigrane--gauche{left:0;}
.sec--filigrane{overflow:hidden;}
.sec--separateur{padding:0;background:transparent;margin:var(--chevauche-pastille) 0;position:relative;z-index:3;text-align:center;}
.marque-pastille{display:block;margin:0 auto;width:147px;height:auto;}
.emplacement{position:relative;}
.emplacement img{display:block;width:100%;}
.visuel{display:block;width:100%;height:auto;border-radius:var(--rayon-visuel);}
.visuel--carre{aspect-ratio:1/1;object-fit:cover;}
.visuel--pano{aspect-ratio:3.2/1;object-fit:cover;}

/* 5. Titres et textes ------------------------------------------------------- */
h1,h2,h3,h4{margin:0 0 var(--talon-titre);font-weight:400;color:var(--indigo);}
.titre-hero,.titre-sec,.h2,.devise span{text-wrap:balance;}
.titre-hero{font-weight:300;font-size:var(--t-hero);line-height:var(--i-hero);padding-bottom:var(--talon-titre);margin-bottom:4px;}
.titre-hero em{font-weight:400;font-style:italic;}
.titre-hero .fort{font-weight:700;font-style:normal;}
.sous-titre-hero{font-weight:300;font-style:italic;font-size:23px;line-height:28px;color:var(--indigo);padding-bottom:var(--talon-titre);margin-bottom:18px;}
.titre-sec{font-size:var(--t-sec);line-height:var(--i-sec);padding-bottom:var(--talon-titre);color:var(--indigo);}
.titre-sec .fort,.titre-hero .fort,.t-violet{color:var(--violet);}
.titre-sec--sur-degrade .fort,.sec--degrade .titre-sec .fort{color:var(--indigo);}
.sec--indigo .titre-sec{color:var(--rose);font-style:italic;}
.sec--indigo .titre-sec .fort{font-style:normal;color:var(--rose);}
.sec--indigo p{color:#fff;}
.h2{font-size:var(--t-h2);line-height:var(--i-h2);color:var(--indigo);margin-bottom:22px;}
.h2 .fort{color:var(--violet);}
.titre-col{font-size:var(--t-col);line-height:var(--i-col);color:var(--indigo);margin-bottom:10px;}
.titre-carte{font-size:var(--t-carte);line-height:var(--i-carte);color:var(--violet);margin-bottom:10px;}
.sur-titre{font-size:var(--t-petit);line-height:var(--i-petit);color:var(--indigo);margin:0 0 12px;}
.sur-titre--italique{font-weight:300;font-style:italic;font-size:21px;line-height:26px;color:#fff;margin-bottom:16px;text-wrap:balance;}
.chapo{font-size:var(--t-chapo);line-height:var(--i-chapo);color:var(--indigo);}
.petit{font-size:var(--t-petit);line-height:var(--i-petit);}
.lecture{max-width:var(--colonne-lecture);}
.lecture--centre{margin-left:auto;margin-right:auto;}
.intro-sec{color:var(--indigo);margin-bottom:var(--module);}
.lien{color:var(--indigo);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;}
.lien:hover{color:var(--violet);}
.sec--indigo .lien{color:#fff;}
.sec--indigo .lien:hover{color:var(--rose);}
.sec--degrade .lien:hover{color:var(--indigo);text-decoration-thickness:2.5px;}
.date-classement{font-size:var(--t-petit);line-height:var(--i-petit);color:var(--ardoise);font-style:italic;}

/* 6. Boutons, en-tête, menu plein écran -------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:14px 28px;border-radius:var(--rayon-pilule);font:inherit;font-size:16px;line-height:20px;color:var(--indigo);text-decoration:none;text-align:center;border:1px solid transparent;cursor:pointer;background:transparent;transition:transform var(--duree-court) ease,box-shadow var(--duree-court) ease,background-color var(--duree-court) ease;}
.btn--degrade{background-image:var(--degrade-bouton);font-weight:500;}
.btn--contour{border-color:var(--indigo);}
.btn--indigo{background:var(--indigo);color:var(--rose);}
.btn--blanc{background:#fff;color:var(--indigo);}
.btn--contour-clair{border-color:var(--rose);color:#fff;}
.btn img,.btn svg{width:22px;height:22px;flex:none;}
.btn:hover{transform:translateY(-2px);box-shadow:var(--ombre-survol);}
.btn:focus-visible{outline:var(--focus);outline-offset:3px;}
.sec--indigo .btn:focus-visible,.pied-bloc .btn:focus-visible{outline:var(--focus-clair);}
@media (prefers-reduced-motion:reduce){.btn,.btn-bande,.menu-case,.menu-plein,.entree > a{transition:none !important;}.btn:hover,.btn-bande:hover,.menu-case:hover,.entree > a:hover{transform:none;}}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;margin-top:26px;}
.actions--centre{justify-content:center;}

.tete{position:relative;z-index:20;padding:14px 0 0;background:var(--gris-fond);}
.tete .rangee{display:flex;align-items:center;max-width:none;width:auto;margin:0;gap:20px;padding:0 140px 0 40px;min-height:96px;}
.tete-logo{display:block;flex:none;border-radius:8px;}
.tete-logo img{width:200px;height:auto;display:block;margin:0;}
.nav-principale{margin-left:auto;}
.nav-principale ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:2px;}
.nav-principale a{display:inline-flex;align-items:center;min-height:44px;padding:12px 11px;border-radius:8px;font-size:16px;line-height:20px;color:var(--indigo);text-decoration:none;white-space:nowrap;}
.nav-principale a:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;color:var(--violet);}
/* Entrée active : marquée par le CSS à partir de data-page (aucune variante du code HTML) */
body[data-page="professionnels"] .nav-principale [data-page="professionnels"] a,
body[data-page="indications"] .nav-principale [data-page="indications"] a,
body[data-page="parcours"] .nav-principale [data-page="parcours"] a,
body[data-page="photobiomodulation"] .nav-principale [data-page="photobiomodulation"] a,
body[data-page="demarche"] .nav-principale [data-page="demarche"] a,
body[data-page="recherche"] .nav-principale [data-page="recherche"] a,
body[data-page="contact"] .nav-principale [data-page="contact"] a{font-weight:700;box-shadow:inset 0 -3px 0 var(--rose);border-radius:0;}
.btn--tete{flex:none;font-size:16px;line-height:20px;min-height:44px;padding:12px 22px;white-space:nowrap;}
.btn-tete-court{display:none;}

.menu-bouton{position:fixed;top:23px;right:45px;width:79px;height:79px;border:0;padding:0;cursor:pointer;border-radius:50%;background:var(--indigo);z-index:1100;display:grid;place-items:center;font:inherit;}
.menu-bouton-corps{display:flex;align-items:center;gap:8px;}
.menu-bouton-points{display:block;width:8px;height:38px;color:var(--rose);}
.menu-bouton-mot{color:var(--rose);font-size:14px;line-height:1;writing-mode:vertical-rl;letter-spacing:.02em;}
.menu-bouton-croix{display:none;width:26px;height:26px;color:var(--indigo);}
.menu-bouton--ouvert{background:var(--degrade-diag);}
.menu-bouton--ouvert .menu-bouton-corps{display:none;}
.menu-bouton--ouvert .menu-bouton-croix{display:block;}
.menu-bouton:focus-visible{outline:2px solid var(--rose);outline-offset:3px;box-shadow:0 0 0 2px var(--indigo);}

.menu-plein{position:fixed;inset:0;z-index:1050;background:var(--indigo);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duree-menu) ease,visibility var(--duree-menu) ease;overflow-y:auto;overscroll-behavior:contain;padding:24px 0;}
.menu-plein.actif{opacity:1;visibility:visible;pointer-events:auto;}
.menu-plein .filigrane{right:0;height:60%;top:20%;}
.menu-grille{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;width:80%;max-width:var(--menu-max);margin:0 auto;text-align:center;position:relative;z-index:1;}
.menu-case{border:1px solid rgba(245,195,59,.55);border-radius:var(--rayon-visuel);padding:20px;color:#fff;min-height:168px;opacity:0;transform:translateY(10px);transition:background-color var(--duree-cascade) ease,transform var(--duree-cascade) ease,opacity var(--duree-cascade) ease;}
.menu-plein.actif .menu-case{opacity:1;transform:none;}
.menu-case a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;text-decoration:none;color:inherit;}
.menu-case img{width:60%;max-width:70px;object-fit:contain;}
.menu-case span{display:block;font-size:14px;line-height:18px;}
.menu-case:hover,.menu-plein.actif .menu-case:hover{background:rgba(255,255,255,.05);transform:translateY(-5px);}
.menu-case--logo{border:0;padding:0;grid-column:span 2;display:grid;place-items:center;opacity:1;transform:none;}
.menu-case--logo img{max-width:80%;width:auto;padding:25px 0;}
.menu-case--consultation{border-color:transparent;background-image:var(--degrade-bouton);color:var(--indigo);}
.menu-case--consultation span{font-weight:500;}
.menu-case[aria-current="page"]{border:2px solid var(--rose);padding:19px;}
.menu-case[aria-current="page"] span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--rose);margin-right:8px;vertical-align:middle;}
.menu-case a:focus-visible{outline:var(--focus-clair);outline-offset:-8px;border-radius:var(--rayon-visuel);}
.menu-secondaire{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;list-style:none;margin:34px auto 0;padding:0 20px;width:80%;max-width:var(--menu-max);font-size:14px;line-height:18px;color:#fff;position:relative;z-index:1;}
.menu-secondaire a{color:#fff;text-decoration:none;display:inline-block;padding:5px 0;margin:-5px 0;}
.menu-secondaire a:hover{text-decoration:underline;}
.menu-secondaire a:focus-visible{outline:var(--focus-clair);}

/* 7. Bandeau d'ouverture (composition de la maquette PDF : bandeau foncé) ---- */
.sec--hero{padding:2px 0 18px;}
.sec--hero > .rangee{padding:29px 0;}
.sec--hero .cols--2{gap:60px;}
.sec--hero.sec--indigo{padding:26px 0 40px;}
.sec--hero.sec--indigo .titre-hero{color:#fff;}
.sec--hero.sec--indigo .titre-hero .fort{color:var(--rose);}
.sec--hero.sec--indigo .sous-titre-hero{color:var(--rose);}
.sec--hero.sec--indigo .chapo{color:#fff;margin-bottom:0;}
.hero-picto{display:block;width:52px;height:auto;margin-bottom:14px;}
.hero-actions{gap:14px 18px;margin-top:28px;}
.hero-actions .btn{padding-left:24px;padding-right:24px;}
.hero-actions .lien{display:inline-block;padding:10px 0;font-size:16px;line-height:20px;}
.hero-visuel{max-width:510px;margin-left:auto;}
.hero-visuel img{display:block;width:100%;border-radius:var(--rayon-visuel);}

/* 8. Entrées par public (« Vous êtes… ») ------------------------------------- */
.entrees{list-style:none;margin:var(--module) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gout-tiers);}
.entree > a{display:flex;flex-direction:column;gap:12px;height:100%;min-height:88px;background:var(--blanc);border-radius:var(--rayon-encadre);border-top:4px solid var(--rose);box-shadow:var(--ombre-carte);padding:26px 28px 24px;color:inherit;text-decoration:none;transition:transform var(--duree-court) ease,box-shadow var(--duree-court) ease;}
.entree > a:hover{transform:translateY(-2px);box-shadow:var(--ombre-survol);}
.entree > a:focus-visible{outline:var(--focus);outline-offset:3px;border-radius:var(--rayon-encadre);}
.entree-tete{display:flex;align-items:center;gap:14px;}
.picto{display:block;margin:0 auto 18px;width:auto;max-height:70px;}
.entree .picto{flex:none;width:44px;max-height:44px;margin:0;}
.entree h3{font-weight:700;font-size:18px;line-height:22px;color:var(--indigo);margin:0;text-wrap:balance;}
.entree p{flex:1;margin:0;color:var(--ardoise);}
.entree .lien{align-self:flex-start;font-size:16px;line-height:20px;}
.entree > a:hover .lien{color:var(--violet);}

/* 9. Engagements — NOUVEAU composant (bande foncée « Ce qui distingue VIVLIGHT ») */
.engagements{list-style:none;margin:var(--module) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px var(--gout);}
.engagement{position:relative;padding:18px 0 0;border-top:2px solid var(--rose);color:#fff;font-size:17px;line-height:26px;}
.engagement strong{display:block;margin-bottom:6px;font-size:20px;line-height:26px;font-weight:700;color:var(--rose);}
.sec--indigo .intro-sec{color:#fff;}

/* 10. Cartes de niveau — NOUVEAU composant (accueil : Soins établis / En évaluation / Recherche) */
.niveaux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gout-tiers);align-items:stretch;}
.niveau--3{grid-column:1 / -1;flex-direction:row;align-items:center;gap:20px;padding:22px 30px;}
.niveau{background:#fff;border-radius:var(--rayon-carte);padding:32px 30px;box-shadow:var(--ombre-carte);display:flex;flex-direction:column;align-items:flex-start;gap:14px;border-top:6px solid var(--preuve-3);}
.niveau--1{border-top-color:var(--preuve-1);}
.niveau--2{border-top-color:var(--preuve-2);}
.niveau--3{border-top-color:var(--preuve-3);}
.niveau .titre-col{margin:0;font-weight:700;}
.niveau p{margin:0;color:var(--ardoise);}
.niveau p strong{color:var(--indigo);}
.niveau p.etq{color:var(--indigo);flex:none;}
.niveau .lignes{align-self:stretch;}
.niveaux-pied{margin-top:30px;text-align:center;}
.niveaux-pied .date-classement{margin-top:20px;}
.mesures-ligne{color:var(--ardoise);font-size:var(--t-petit);line-height:var(--i-petit);max-width:860px;margin:14px auto 0;}

/* 11. Étiquettes de niveau : le mot porte le sens, le carré le double, la couleur souligne */
.etq{display:inline-flex;align-items:center;gap:9px;padding:6px 14px 6px 10px;border-radius:16px;font-weight:500;font-size:var(--t-etq);line-height:var(--i-etq);letter-spacing:var(--approche-etq);text-transform:uppercase;color:var(--indigo);background:var(--lavande);text-align:left;}
.etq::before{content:"";flex:none;width:12px;height:12px;border-radius:var(--rayon-carre);border:2px solid var(--indigo);}
.etq--1{background:var(--preuve-1-fond);}
.etq--1::before{border-color:var(--preuve-1);background:var(--preuve-1);}                                         /* carré plein */
.etq--2{background:var(--preuve-2-fond);}
.etq--2::before{border-color:var(--preuve-2-bord);background:linear-gradient(90deg,var(--preuve-2) 50%,transparent 50%);} /* à demi plein */
.etq--3{background:var(--preuve-3-fond);}
.etq--3::before{border-color:var(--preuve-3);background:transparent;}                                              /* vide */
.etq--neutre{background:#fff;border:1px solid var(--filet-fort);}
.etq--neutre::before{display:none;}
.etq--grande{font-size:14px;padding:8px 18px 8px 12px;}
.etq--grande::before{width:14px;height:14px;}
.etqs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px;}
.etq-note{color:var(--ardoise);}
.sec--indigo .etq-note{color:#fff;margin:0;}
.repere{font-weight:700;color:var(--indigo);}

/* 12. Chaîne d'étapes (numéros produits par compteur CSS) et bande « plateforme » */
.chaine{list-style:none;margin:var(--module) 0 0;padding:0;display:grid;gap:34px 40px;position:relative;counter-reset:chainon;}
.chaine--trois{grid-template-columns:repeat(3,minmax(0,1fr));}
.maillon{position:relative;text-align:left;}
.maillon-n{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--indigo);color:var(--rose);font-weight:700;font-size:18px;line-height:1;margin-bottom:16px;}
.maillon-n::before{counter-increment:chainon;content:counter(chainon);}
.chaine--trois .maillon:not(:nth-child(3n))::before{content:"";position:absolute;top:21px;left:52px;right:-40px;height:2px;background:var(--indigo);}
.maillon-texte{display:block;margin:0;color:var(--ardoise);}
.maillon-texte strong{display:block;font-weight:700;font-size:20px;line-height:24px;color:var(--indigo);margin-bottom:8px;}
.parcours-actions{margin-top:30px;}

.sec--indigo > .rangee{padding:var(--rangee) 0 82px;}
.sec--indigo.sec--hero > .rangee,.sec--indigo.sec--engagements > .rangee{padding:29px 0;}
.sec--indigo .visuel{border-radius:var(--rayon-carte);}
#methode .titre-sec{margin-bottom:14px;}
#methode .cols--2{gap:60px;}
.methode-etqs{margin:4px 0 10px;}
.etage{display:inline-flex;align-items:center;gap:10px;font-weight:500;font-size:var(--t-etage);line-height:var(--i-etage);letter-spacing:var(--approche-etage);text-transform:uppercase;color:var(--indigo);white-space:nowrap;}
.etage::before{content:"";flex:none;width:30px;height:6px;background:linear-gradient(90deg,var(--c1) 0 6px,transparent 6px 8px,var(--c2) 8px 14px,transparent 14px 16px,var(--c3) 16px 22px,transparent 22px 24px,var(--c4) 24px 30px);--c1:var(--etage-inactif);--c2:var(--etage-inactif);--c3:var(--etage-inactif);--c4:var(--etage-inactif);}
.etage--lab::before{--c4:var(--etage-actif);}
.sec--indigo .etage{color:var(--rose);}
.sec--indigo .etage::before{--etage-actif:var(--rose);--etage-inactif:rgba(245,195,59,.35);}
.methode-lab{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2);}
.methode-lab .lab-tete{margin-bottom:10px;align-items:center;}
.methode-lab p{margin:0;}
.methode-chute{margin:20px 0 0;text-wrap:balance;}
#methode .actions{margin-top:22px;gap:14px 24px;}
.methode-lien{display:inline-block;padding:10px 0;}

/* 13. Équipe et VIVMED -------------------------------------------------------- */
#equipe{padding-top:40px;}
#equipe .titre-sec{margin-bottom:14px;}
.equipe-blocs{display:flex;flex-direction:column;}
.equipe-bloc{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:18px;row-gap:8px;align-items:start;padding:20px 0;}
.equipe-bloc + .equipe-bloc{border-top:1px solid var(--filet);}
.equipe-bloc:last-child{padding-bottom:0;}
.equipe-bloc .picto{grid-column:1;grid-row:1;width:40px;max-height:40px;margin:0;align-self:center;}
.equipe-bloc .titre-col{grid-column:2;grid-row:1;margin:0;font-size:22px;line-height:26px;align-self:center;}
.equipe-bloc p{grid-column:2;margin:0;}
.equipe-bloc p strong{color:var(--indigo);}
.equipe-bloc .lien{grid-column:2;justify-self:start;}
.equipe-bloc .btn{grid-column:2;justify-self:start;margin-top:4px;}

/* 14. Repères pratiques ------------------------------------------------------- */
.sec--degrade .titre-col,.sec--degrade p{color:var(--indigo);}
.atouts{margin-top:36px;gap:var(--gout-tiers);}
.atouts > div{text-align:center;}
.atouts .picto{max-height:76px;margin-bottom:18px;}
.atouts .titre-col{margin-bottom:0;font-size:20px;line-height:27px;text-wrap:balance;}
.atout-lien{display:inline-block;margin-top:12px;}
.pratique-adresse{margin-top:36px;font-weight:500;}
#pratique .filigrane--gauche{left:-70px;}

/* 15. FAQ et devise ----------------------------------------------------------- */
.faq{margin-top:var(--module);}
.faq details{margin-bottom:14px;}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--lavande);border-radius:var(--rayon-faq);padding:18px 28px;min-height:64px;color:var(--indigo);font-size:var(--t-corps);line-height:28px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--indigo);color:var(--rose);font-size:20px;line-height:1;font-weight:500;}
.faq details[open] summary{color:var(--indigo);font-weight:700;background:#fff;box-shadow:var(--ombre-carte);}
.faq details[open] summary::after{content:"−";}
.faq summary:focus-visible{outline:var(--focus);outline-offset:3px;}
.faq-reponse{padding:16px 28px 6px;color:var(--ardoise);}
.faq-reponse p{max-width:var(--colonne-lecture);}
.faq-contact{margin-top:36px;gap:16px 28px;}
.faq-contact .lien{display:inline-block;padding:10px 0;}
.devise{margin:44px 0 0;text-align:center;font-weight:700;font-size:24px;line-height:34px;color:var(--indigo);}
.devise span{display:block;}

/* 16. Bande « Consulter VIVLIGHT » (commune à toutes les pages) ---------------- */
.sec--consulter > .rangee{padding:var(--rangee) 0 91px;}
.sec--consulter .cols--2{gap:60px;counter-reset:etape;}
.consulter-picto{display:block;margin:0 auto 26px;width:110px;height:auto;}
.consulter-titre{text-align:center;}
.consulter-titre .fort{color:var(--indigo);}
.consulter-accroche{font-size:22px;line-height:28px;color:var(--indigo);text-align:center;margin-top:14px;}
.etape-ligne{display:grid;grid-template-columns:78px minmax(0,1fr);gap:32px;align-items:start;margin-bottom:30px;}
.etape-ligne:last-child{margin-bottom:0;}
.etape-n{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--indigo);color:var(--rose);font-weight:700;font-size:34px;line-height:1;}
.etape-n::before{counter-increment:etape;content:counter(etape);}
.etape-ligne p{color:var(--indigo);margin-bottom:14px;}
.etape-ligne p:last-child{margin-bottom:0;}
.btn-bande{display:block;text-align:center;text-decoration:none;padding:18px 32px;border-radius:var(--rayon-pilule);font-size:19px;line-height:24px;min-height:44px;transition:transform var(--duree-court) ease,box-shadow var(--duree-court) ease;}
.btn-bande--indigo{background:var(--indigo);color:var(--rose);}
.btn-bande--blanc{background:#fff;color:var(--indigo);}
.btn-bande:hover{transform:translateY(-2px);box-shadow:var(--ombre-survol);}
.btn-bande:focus-visible{outline:var(--focus);outline-offset:3px;}

/* 17. Pied de page ------------------------------------------------------------- */
.pied{background:var(--gris-fond);padding:0 0 23px;}
.pied-marque{margin-bottom:var(--chevauche-pastille);position:relative;z-index:2;text-align:center;}
.pied-bloc{background:var(--indigo);color:#fff;border-radius:var(--rayon-carte);padding:70px 120px 50px;}
.pied-bloc .cols--4{gap:26px;}
.pied-bloc a,.pied-bloc p{color:#fff;}
.pied-logo{width:220px;height:auto;display:block;margin-bottom:34px;}
.pied-coord{font-size:16px;line-height:22px;}
.pied-coord em{font-style:italic;color:#fff;}
.pied-coord .mel{font-style:italic;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:2px 0;margin:-2px 0;}
.pied-liens{list-style:none;margin:0 0 22px;padding:0;font-size:16px;line-height:22px;}
.pied-liens li{margin-bottom:10px;}
.pied-liens a{text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:2px 0;margin:-2px 0;}
.pied-liens a:hover{color:var(--rose);}
.pied-bloc .pied-titre{font-weight:500;font-size:var(--t-etq);letter-spacing:var(--approche-etq);text-transform:uppercase;color:var(--rose);margin:0 0 14px;}
.pied-bloc .pied-note{color:#fff;margin-top:20px;font-size:16px;line-height:22px;}
.pied-bloc .btn{margin-top:20px;color:var(--indigo);}
.pied-bloc a:focus-visible{outline:var(--focus-clair);}
.pied-legal{margin-top:34px;color:var(--ardoise);font-size:15px;line-height:20px;align-items:center;}
.pied-legal p{margin:0;}
.pied-legal a{text-decoration:none;display:inline-block;padding:4px 0;}
.pied-legal a:hover{text-decoration:underline;}

/* 18. Tableaux, encadrés, listes, repère « À COMPLÉTER » ------------------------- */
.encadre{background:var(--lavande);border-left:4px solid var(--indigo);border-radius:var(--rayon-encadre);padding:22px 26px;color:var(--indigo);}
.encadre--blanc{background:#fff;}
.encadre p{color:var(--indigo);}
.encadre-texte{font-weight:700;color:var(--indigo);}
.lignes{list-style:none;margin:0;padding:0;}
.lignes li{padding:9px 0 9px 24px;position:relative;color:var(--ardoise);}
.lignes li::before{content:"";position:absolute;left:2px;top:19px;width:8px;height:8px;border-radius:2px;background:var(--rose);}
.lignes li + li{border-top:1px solid var(--filet);}
.lignes strong{color:var(--indigo);}
.lignes--num{counter-reset:maillon;}
.lignes--num li{padding-left:44px;}
.lignes--num li::before{counter-increment:maillon;content:counter(maillon);top:11px;left:0;width:28px;height:28px;border-radius:7px;background:var(--indigo);display:grid;place-items:center;color:var(--rose);font-weight:700;font-size:13px;line-height:1;}
.tableau-cadre{overflow-x:auto;border-radius:var(--rayon-encadre);background:#fff;box-shadow:var(--ombre-carte);}
.tableau{width:100%;border-collapse:collapse;font-size:16px;line-height:23px;min-width:680px;}
.tableau th,.tableau td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--filet);}
.tableau thead th{background:var(--indigo);color:#fff;font-weight:500;font-size:var(--t-etq);line-height:var(--i-etq);letter-spacing:var(--approche-etq);text-transform:uppercase;}
.tableau tbody th{font-weight:500;color:var(--indigo);}
.tableau tbody tr:last-child th,.tableau tbody tr:last-child td{border-bottom:0;}
.tableau .etq{white-space:nowrap;}
/* Repère provisoire : ne doit plus exister dans la livraison finale */
.a-completer{background:var(--a-completer);color:#fff;font-style:normal;font-weight:700;padding:1px 8px;border-radius:6px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}

.btn-bande-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.btn-bande-duo .btn-bande{font-size:17px;padding:16px 18px;}
.pied-titre--soeur{margin-top:28px !important;}
.pied-soeur{display:inline-block;}
.pied-soeur img{display:block;width:180px;height:auto;}
.principes li{background:#fff;box-shadow:var(--ombre-carte);border-top:4px solid var(--rose);}
.devise--haut{margin:0 0 24px;text-align:left;font-size:21px;line-height:30px;}

/* Points de rupture (identiques au site : 1100 px et 767 px) ---------------------- */
@media (max-width:1560px){
  .btn-tete-long{display:none;} .btn-tete-court{display:inline;}
}
@media (max-width:1420px){
  .tete .rangee{min-height:64px;padding:0 84px 0 20px;gap:12px;}
  .tete{padding-top:8px;}
  .tete-logo img{width:160px;}
  .nav-principale{display:none;}
  .btn--tete{margin-left:auto;padding:12px 18px;}
  .menu-bouton{top:13px;right:14px;width:55px;height:55px;}
  .menu-bouton-points{width:6px;height:28px;} .menu-bouton-mot{font-size:12px;} .menu-bouton-croix{width:20px;height:20px;}
}
@media (max-width:1100px){
  :root{--t-sec:38px;--i-sec:42px;--t-h2:30px;--i-h2:34px;}
  .rangee,.rangee--large{width:88%;max-width:900px;}
  .cols--4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .menu-grille{grid-template-columns:repeat(3,minmax(0,1fr));}
  .menu-case--logo{grid-column:1 / -1;}
  .filigrane{display:none;}
  .engagements{grid-template-columns:repeat(2,minmax(0,1fr));}
  .niveaux{grid-template-columns:1fr;}
  .chaine--trois{gap:30px 28px;}
  .chaine--trois .maillon:not(:nth-child(3n))::before{right:-28px;}
  .pied-bloc{padding:60px 60px 44px;}
}
@media (max-width:767px){
  :root{--t-corps:17px;--i-corps:26px;--t-chapo:18px;--i-chapo:28px;--t-hero:36px;--i-hero:40px;--t-sec:28px;--i-sec:31px;--t-h2:26px;--i-h2:30px;--t-col:22px;--i-col:26px;--sec:0px;--rangee:20px;--module:24px;--gout:24px;--gout-tiers:24px;}
  .rangee,.rangee--large{width:90%;max-width:none;}
  .cols,.cols--3{gap:var(--gout);}
  .cols--2,.cols--3,.cols--4{grid-template-columns:1fr;}
  .sec--hero{padding:8px 0 18px;}
  .sec--hero.sec--indigo{padding:14px 0 26px;}
  .sec--separateur{margin:-49px 0;}
  .marque-pastille{width:118px;}
  .tete .rangee{padding:0 76px 0 16px;}
  .tete-logo img{width:140px;}
  .btn{padding:12px 22px;}
  .btn--tete{padding:12px 16px;gap:10px;}
  .menu-plein{justify-content:flex-start;padding:80px 0 30px;}
  .menu-grille{grid-template-columns:repeat(2,minmax(0,1fr));width:90%;gap:14px;}
  .menu-case{min-height:96px;padding:16px;border-radius:36px;}
  .menu-case img{width:50%;max-width:50px;}
  .menu-case--logo img{width:auto;max-width:56%;padding:6px 0;}
  .menu-case--consultation{order:-1;}
  .menu-secondaire{width:90%;gap:12px 18px;margin-top:28px;}
  .hero-actions .btn{width:100%;}
  .hero-visuel{max-width:300px;margin:0 auto;}
  .visuel,.hero-visuel img,.sec--indigo .visuel{border-radius:28px;}
  .entrees{grid-template-columns:1fr;gap:12px;}
  .entree > a{padding:18px 20px;gap:10px;min-height:0;}
  .engagements{grid-template-columns:1fr;gap:22px;}
  .niveau{padding:24px 20px;}
  .niveau--3{flex-direction:column;align-items:flex-start;gap:12px;padding:22px 20px;}
  .chaine--trois{grid-template-columns:1fr;gap:0;}
  .chaine--trois .maillon{padding:0 0 26px 62px;min-height:44px;}
  .chaine--trois .maillon:last-child{padding-bottom:0;}
  .chaine--trois .maillon-n{position:absolute;left:0;top:0;margin:0;}
  .chaine--trois .maillon:not(:nth-child(3n))::before,.chaine--trois .maillon:not(:last-child)::before{content:"";position:absolute;left:21px;top:22px;bottom:0;width:2px;height:auto;right:auto;background:var(--indigo);}
  .maillon-texte strong{padding-top:10px;font-size:19px;}
  .parcours-actions .btn,#methode .actions .btn,.faq-contact .btn{width:100%;}
  #methode .cols--2{gap:20px;}
  .sec--indigo > .rangee{padding-bottom:56px;}
  #equipe{padding-top:32px;}
  .equipe-bloc{grid-template-columns:36px minmax(0,1fr);column-gap:14px;padding:16px 0;}
  .equipe-bloc .picto{width:36px;max-height:36px;}
  .equipe-bloc .btn{width:100%;justify-self:stretch;}
  .atouts{margin-top:24px;}
  .atouts > div{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:14px;align-items:start;text-align:left;}
  .atouts .picto{grid-column:1;grid-row:1 / span 2;width:56px;max-height:56px;margin:0;}
  .atouts .titre-col,.atouts .atout-lien{grid-column:2;}
  .atouts .atout-lien{margin-top:8px;}
  .faq summary{border-radius:28px;padding:14px 20px;line-height:26px;}
  .faq-reponse{padding:14px 20px 4px;}
  .devise{font-size:20px;line-height:28px;margin-top:36px;}
  .etape-ligne{grid-template-columns:62px minmax(0,1fr);gap:18px;}
  .etape-n{width:62px;height:62px;font-size:28px;}
  .pied-bloc{padding:56px 26px 40px;}
  .pied-marque{margin-bottom:-46px;}
  .niveaux-pied{text-align:left;}
  .btn-bande-duo{grid-template-columns:1fr;}
}
@media (max-width:380px){
  :root{--t-hero:33px;--i-hero:37px;}
  .tete-logo img{width:124px;}
  .btn--tete img{display:none;}
}


/* 18 bis. Composants des pages intérieures ------------------------------------------- */
.cols--1{grid-template-columns:minmax(0,1fr);}
.carte{background:#fff;border-radius:var(--rayon-carte);padding:36px 30px;text-align:center;box-shadow:var(--ombre-carte);}
.carte--gauche{text-align:left;}
.carte--gauche .picto{margin-left:0;max-height:56px;}
.carte p{color:var(--ardoise);}
.carte-libelle{font-weight:500;font-size:var(--t-etq);line-height:var(--i-etq);letter-spacing:var(--approche-etq);text-transform:uppercase;color:var(--indigo);margin:14px 0 6px;}
.carte-etage .etqs{margin-bottom:14px;align-items:center;}
.carte-etage .titre-col{font-weight:700;}
.etage--care::before{--c1:var(--etage-actif);}
.etage--mesure::before{--c2:var(--etage-actif);}
.etage--research::before{--c3:var(--etage-actif);}
.raccourcis{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;counter-reset:chapitre;}
.raccourcis a{display:flex;flex-direction:column;gap:10px;height:100%;background:#fff;border-radius:var(--rayon-encadre);border-top:4px solid var(--rose);box-shadow:var(--ombre-carte);padding:18px 18px 20px;text-decoration:none;color:var(--indigo);font-weight:700;font-size:17px;line-height:22px;}
.raccourcis a::before{counter-increment:chapitre;content:counter(chapitre);display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--indigo);color:var(--rose);font-size:15px;}
.raccourcis a:hover{box-shadow:var(--ombre-survol);}
.principes{list-style:none;margin:var(--module) 0 0;padding:0;}
.principes li{background:rgba(255,255,255,.55);border-radius:var(--rayon-encadre);padding:22px 24px;color:var(--indigo);}
.principes strong{display:block;margin-bottom:6px;font-size:19px;line-height:24px;}
.atouts--texte > div{text-align:left;}
.atouts--texte .picto{margin:0 0 14px;max-height:56px;}
.atouts--texte .titre-col{font-size:22px;line-height:26px;margin-bottom:8px;}
.lignes--clair li{color:#fff;}
.lignes--clair li + li{border-top-color:rgba(255,255,255,.18);}
.lignes--clair strong{color:var(--rose);}
.pile{list-style:none;margin:20px 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px;}
.pile li{position:relative;padding-left:22px;font-weight:300;font-size:26px;line-height:32px;color:#fff;}
.pile li::before{content:"";position:absolute;left:0;top:12px;width:10px;height:10px;border-radius:3px;background:var(--rose);}
.references{margin:0;padding-left:22px;font-size:15px;line-height:22px;}
.references li{margin-bottom:8px;}
.rubriques{display:grid;gap:0;}
.rubrique{display:grid;grid-template-columns:28% minmax(0,1fr);gap:4%;padding:26px 0;border-top:1px solid var(--filet);}
.rubrique:first-child{border-top:0;}
.rubrique .titre-col{font-weight:700;font-size:20px;line-height:26px;}
.hero-liens{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px;}
.contact-grille{gap:60px;align-items:start;}
.formulaire-image{display:block;width:100%;max-width:640px;height:auto;}
.recueil{margin-top:24px;}
.recueil .cols--2{gap:40px;}
.tableau--indications th[scope="row"]{min-width:280px;}
.tableau--indications td:nth-child(3){min-width:220px;}
.tableau--indications .lien{display:inline-block;margin-top:6px;font-weight:400;font-size:15px;}
.sec--domaine .titre-sec{margin-bottom:8px;}
.sec--domaine .intro-sec{margin-bottom:22px;}
@media (max-width:1100px){.raccourcis{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:767px){
  .raccourcis{grid-template-columns:1fr;gap:10px;}
  .raccourcis a{flex-direction:row;align-items:center;}
  .rubrique{grid-template-columns:1fr;gap:8px;}
  .pile li{font-size:20px;line-height:26px;}
  .contact-grille{gap:28px;}
}

/* Fiches patients (A4) ------------------------------------------------------------------ */
body[data-page^="fiche"]{background:#E9E4DA;}
.fiche{max-width:794px;margin:24px auto;background:#fff;padding:44px 52px;box-shadow:var(--ombre-carte);color:var(--ardoise);font-size:13.5px;line-height:19px;}
.fiche-tete{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;}
.fiche-logo{width:190px;height:auto;}
.fiche-titre{font-weight:700;font-size:30px;line-height:34px;margin:0 0 4px;color:var(--indigo);}
.fiche-version{margin:0 0 10px;font-size:13px;}
.fiche-niveau{margin:0 0 16px;}
.fiche-colonnes{columns:2;column-gap:30px;}
.fiche section{break-inside:avoid;margin-bottom:12px;}
.fiche h2{font-weight:700;font-size:15px;line-height:20px;color:var(--indigo);margin:0 0 4px;padding-top:6px;border-top:2px solid var(--rose);}
.fiche p{margin:0 0 6px;}
.fiche .lignes li{padding:3px 0 3px 18px;}
.fiche .lignes li::before{top:10px;width:6px;height:6px;}
.fiche .lignes li + li{border-top:0;}
.fiche-pied{margin-top:14px;padding-top:8px;border-top:1px solid var(--filet);font-size:12px;}
@media (max-width:767px){.fiche{padding:24px 20px;margin:0;}.fiche-colonnes{columns:1;}}
@media print{
  @page{size:A4;margin:12mm;}
  body[data-page^="fiche"]{background:#fff;}
  .fiche{box-shadow:none;margin:0;padding:0;max-width:none;}
  .btn-imprimer{display:none;}
  .a-completer{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .fiche h2{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}

/* 19. Règles propres à une page ---------------------------------------------------- */
/* Planche de charte (non publiée) */
body[data-page="charte"] .charte-bloc{margin-top:var(--module);}
body[data-page="charte"] .nuancier{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;}
body[data-page="charte"] .nuance{background:#fff;border-radius:var(--rayon-encadre);box-shadow:var(--ombre-carte);overflow:hidden;font-size:15px;line-height:21px;}
body[data-page="charte"] .nuance-couleur{display:block;height:74px;border-bottom:1px solid var(--filet);}
body[data-page="charte"] .nuance p{margin:0;padding:10px 16px 0;}
body[data-page="charte"] .nuance p:last-child{padding-bottom:14px;}
body[data-page="charte"] .nuance strong{color:var(--indigo);}
body[data-page="charte"] .c-indigo{background:var(--indigo);} body[data-page="charte"] .c-rose{background:var(--rose);}
body[data-page="charte"] .c-orange-logo{background:var(--orange-logo);} body[data-page="charte"] .c-mauve{background:var(--mauve);}
body[data-page="charte"] .c-degrade{background:var(--degrade);} body[data-page="charte"] .c-violet{background:var(--violet);}
body[data-page="charte"] .c-ardoise{background:var(--ardoise);} body[data-page="charte"] .c-lavande{background:var(--lavande);}
body[data-page="charte"] .c-filigrane{background:var(--filigrane);} body[data-page="charte"] .c-gris-fond{background:var(--gris-fond);}
body[data-page="charte"] .c-blanc{background:var(--blanc);}
body[data-page="charte"] .c-degrade-bouton{background:var(--degrade-bouton);}
body[data-page="charte"] .c-p1{background:var(--preuve-1);} body[data-page="charte"] .c-p1f{background:var(--preuve-1-fond);}
body[data-page="charte"] .c-p2{background:var(--preuve-2);} body[data-page="charte"] .c-p2f{background:var(--preuve-2-fond);}
body[data-page="charte"] .c-p3{background:var(--preuve-3);} body[data-page="charte"] .c-p3f{background:var(--preuve-3-fond);}
body[data-page="charte"] .echantillons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:18px;}
body[data-page="charte"] .echantillon{border-radius:var(--rayon-encadre);padding:20px 22px;border:1px solid var(--filet);min-height:96px;}
body[data-page="charte"] .echantillon p{margin:0;color:inherit;}
body[data-page="charte"] .specimen{border-top:1px solid var(--filet);padding:18px 0;}
body[data-page="charte"] .specimen .petit{color:var(--ardoise);margin:0 0 6px;}
body[data-page="charte"] .specimen > *:last-child{margin-bottom:0;padding-bottom:0;}
body[data-page="charte"] .pictos{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:18px;}
body[data-page="charte"] .pictos li{background:#fff;border-radius:16px;padding:12px;box-shadow:var(--ombre-carte);}
body[data-page="charte"] .pictos img{display:block;width:56px;height:auto;}
body[data-page="charte"] .pictos .sur-sombre{background:var(--indigo);}
body[data-page="charte"] .pictos .sur-degrade{background:var(--degrade);}

/* Sommaire de la maquette et inventaire (pages de travail, non livrées à la mise en ligne) */
body[data-page="travail"] .tableau{font-size:15px;line-height:21px;}
body[data-page="travail"] .tableau td,body[data-page="travail"] .tableau th{padding:10px 14px;}
body[data-page="travail"] h3{font-weight:700;font-size:20px;line-height:26px;margin:28px 0 10px;}
body[data-page="travail"] .rangee > h2{margin-top:10px;}
body[data-page="travail"] .lignes li{padding-top:7px;padding-bottom:7px;}
body[data-page="travail"] .act{display:inline-block;font-size:12px;line-height:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:10px;white-space:nowrap;background:var(--lavande);color:var(--indigo);}
body[data-page="travail"] .act--mod{background:var(--preuve-2-fond);}
body[data-page="travail"] .act--new{background:var(--preuve-1-fond);}
body[data-page="travail"] .act--sup{background:#FFD9E8;}
body[data-page="travail"] .sommaire-pages{list-style:none;margin:var(--module) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
body[data-page="travail"] .sommaire-pages a{display:block;height:100%;background:#fff;border-radius:var(--rayon-encadre);border-top:4px solid var(--rose);box-shadow:var(--ombre-carte);padding:22px 24px;text-decoration:none;}
body[data-page="travail"] .sommaire-pages strong{display:block;color:var(--indigo);font-size:20px;line-height:26px;margin-bottom:6px;}
body[data-page="travail"] .sommaire-pages span{display:block;font-size:15px;line-height:22px;color:var(--ardoise);}

/* 20. Impression --------------------------------------------------------------------- */
@media print{
  .tete,.menu-bouton,.menu-plein,.sec--consulter,.pied,.filigrane{display:none !important;}
  body{background:#fff;}
}
/* Partenaires (pied de page), mêmes logos que VIVMED */
.pied-partenaires{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.partenaire{display:flex;align-items:center;justify-content:center;height:56px;padding:6px 10px;border-radius:10px;background:#fff;}
.partenaire img{display:block;height:100%;width:auto;}
.partenaire--doctolib{background:#107ACA;padding:10px 10px;}
body[data-page="accueil"] .sous-titre-hero{font-size:clamp(25px,2.4vw,32px);line-height:1.25;font-weight:400;}
body[data-page="accueil"] .sous-titre-hero strong{font-weight:700;}

/* Schéma PBM (page La PBM, #mecanisme) */
.cols--schema{align-items:start;}
.schema-pbm{background:#fff;border:1px solid var(--filigrane);border-radius:24px;padding:24px 24px 18px;}
.schema-pbm img{display:block;width:100%;height:auto;}
.schema-legende{font-size:15px;line-height:22px;margin:14px 0 0;color:var(--ardoise);}
.schema-legende+.schema-legende{margin-top:4px;}
.pied-partenaires-rangee{max-width:1024px;margin:36px auto 0;padding-top:26px;border-top:1px solid rgba(255,255,255,.16);}
.pied-partenaires-rangee .pied-partenaires{gap:14px;}
.pied-partenaires-rangee .partenaire{height:64px;padding:8px 14px;}
.pied-dpo{max-width:1024px;margin:22px auto 0;}
.pied-dpo img{display:block;width:240px;height:auto;}

/* Intitulé au-dessus du titre d'accueil (ajout du 12/11/2026) */
.hero-marque{font-weight:700;font-size:var(--t-petit);line-height:var(--i-petit);letter-spacing:.06em;text-transform:uppercase;color:var(--rose);margin:0 0 14px;}
