/* Smart Tech — section « Consultation Dr Énergie » (CDC Dr Énergie §5-6).
   Charte Aurore cantonnée à body.st-docteur : aucune règle hors de ce sélecteur.
   Animations : classes st-anim--Axx, en pause tant que l'élément n'est pas visible (docteur-anim.js ajoute .is-visible),
   coupées une à une par body.st-anim-off--Axx (Réglages › Smart Tech › Dr Énergie) et toutes par prefers-reduced-motion. */

body.st-docteur {
  --de-nuit: #0B1033; --de-indigo: #3636A0; --de-indigo-vif: #5B5BD6; --de-lavande: #D6D6F5; --de-lavande-2: #AFB3D6;
  --de-turquoise: #22D3B6; --de-orange: #FF7A3D; --de-orange-texte: #A63F10; --de-orange-texte-2: #C2501A; --de-peche: #FFB27A;
  --de-brume: #F4F5FB; --de-filet: #E4E6F2; --de-filet-2: #DCDFEE; --de-gris: #4A5068; --de-encre: #1F3A93;
  --de-c-bg: #FFE8DC; --de-c-fg: #A63F10; --de-p-bg: #E6E6FA; --de-p-fg: #3636A0; --de-a-bg: #FFF4D6; --de-a-fg: #7A5A00;
  --de-n-bg: #ECEEF4; --de-n-fg: #4A5068; --de-o-bg: #D3F7F0; --de-o-fg: #0B6B5C;
  --de-degrade: linear-gradient(160deg, #4141AB 0%, #34349C 45%, #1A1C5C 80%, #0B1033 100%);
  --de-ombre: 0 24px 60px rgba(11,16,51,.1); --de-teinte: 1;
  --de-display: 'Red Hat Display', system-ui, sans-serif; --de-texte: 'Red Hat Text', system-ui, sans-serif;
  background: #FFFFFF;
}
body.st-docteur .de { font-family: var(--de-texte); color: var(--de-nuit); font-size: 17px; line-height: 1.6; }
body.st-docteur .de *, body.st-docteur .de *::before, body.st-docteur .de *::after { box-sizing: border-box; }
body.st-docteur .de :is(h1, h2, h3, h4) { color: inherit; }
body.st-docteur .de a { color: var(--de-indigo); }
body.st-docteur .de a:hover { color: var(--de-nuit); }
body.st-docteur .de [tabindex="-1"]:focus { outline: none; }
body.st-docteur .de :focus-visible { outline: 3px solid var(--de-indigo-vif); outline-offset: 3px; border-radius: 6px; }
:where(body.st-docteur .de) svg { display: block; }
body.st-docteur .de-wrap { max-width: 1320px; margin: 0 auto; padding: 0 40px; position: relative; }
body.st-docteur .de-section { padding: 110px 0; }
body.st-docteur .de-section--brume { background: var(--de-brume); }
body.st-docteur .de [hidden] { display: none !important; }
body.st-docteur .de-visuellement-cache { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Typographie */
body.st-docteur .de-surtitre { font-size: 13px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: var(--de-indigo-vif); margin: 0; }
body.st-docteur .de-h1, body.st-docteur .de-h2, body.st-docteur .de-h3 { font-family: var(--de-display); font-weight: 800; letter-spacing: -.03em; line-height: 1.04; margin: 0; color: inherit; }
body.st-docteur .de-h1 { font-size: 72px; }
body.st-docteur .de-h2 { font-size: 50px; line-height: 1.06; margin-top: 14px; }
body.st-docteur .de-h3 { font-size: 30px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
body.st-docteur .de-chapo { font-size: 20px; line-height: 1.55; margin: 24px 0 0; max-width: 620px; }
body.st-docteur .de-p { font-size: 18px; line-height: 1.65; color: var(--de-gris); margin: 18px 0 0; max-width: 720px; }
body.st-docteur .de-accent { color: var(--de-turquoise); }
body.st-docteur .de-accent-vif { color: var(--de-indigo-vif); }
body.st-docteur .de-accent-peche { color: var(--de-peche); }
body.st-docteur .de-mention { font-size: 13px; color: var(--de-gris); line-height: 1.6; margin: 28px 0 0; }

/* Boutons */
body.st-docteur .de-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 18px 30px; border-radius: 999px; border: 0; font-family: var(--de-texte); font-weight: 700; font-size: 17px; line-height: 1.1; text-decoration: none; cursor: pointer; text-align: center; transition: transform .2s ease, box-shadow .2s ease; }
body.st-docteur .de-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(11,16,51,.22); }
body.st-docteur .de-btn--turquoise { background: var(--de-turquoise); color: var(--de-nuit); }
body.st-docteur .de-btn--nuit { background: var(--de-nuit); color: #FFFFFF; }
body.st-docteur .de-btn--blanc { background: #FFFFFF; color: var(--de-nuit); }
body.st-docteur .de-btn--contour { background: transparent; color: var(--de-nuit); box-shadow: inset 0 0 0 1.5px var(--de-nuit); font-weight: 600; }
body.st-docteur .de-btn--contour-clair { background: transparent; color: #FFFFFF; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.6); font-weight: 600; }
body.st-docteur .de a.de-btn--turquoise, body.st-docteur .de a.de-btn--blanc, body.st-docteur .de a.de-btn--contour { color: var(--de-nuit); }
body.st-docteur .de a.de-btn--nuit, body.st-docteur .de a.de-btn--contour-clair { color: #FFFFFF; }
body.st-docteur .de-btn--petit { min-height: 44px; padding: 12px 22px; font-size: 15px; }
body.st-docteur .de-btn[disabled] { opacity: .55; cursor: wait; transform: none; box-shadow: none; }
body.st-docteur .de-boutons { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 34px; }
body.st-docteur .de-lien-retour { background: none; border: 0; color: var(--de-indigo); font: 600 15px/1 var(--de-texte); padding: 10px 0; min-height: 44px; cursor: pointer; }

/* Badges de statut et pastilles */
body.st-docteur .de-badge { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 5px 12px; font-size: 13px; font-weight: 600; line-height: 1.3; white-space: nowrap; }
body.st-docteur .de-badge--concerne { background: var(--de-c-bg); color: var(--de-c-fg); }
body.st-docteur .de-badge--probable { background: var(--de-p-bg); color: var(--de-p-fg); }
body.st-docteur .de-badge--confirmer { background: var(--de-a-bg); color: var(--de-a-fg); }
body.st-docteur .de-badge--non, body.st-docteur .de-badge--attente, body.st-docteur .de-badge--neutre { background: var(--de-n-bg); color: var(--de-n-fg); }
body.st-docteur .de-badge--opportunite { background: var(--de-o-bg); color: var(--de-o-fg); }
body.st-docteur .de-badge--clair { background: rgba(255,255,255,.12); color: #FFFFFF; }
body.st-docteur .de-badge--peche { background: rgba(255,178,122,.18); color: var(--de-peche); }
body.st-docteur .de-badge--turquoise { background: rgba(34,211,182,.16); color: var(--de-turquoise); }
body.st-docteur .de-point { position: relative; width: 10px; height: 10px; flex: 0 0 10px; display: inline-block; }
body.st-docteur .de-point::before, body.st-docteur .de-point::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--de-point, var(--de-turquoise)); }
body.st-docteur .de-point::before { animation: deOnde 1.6s ease-out infinite; }
body.st-docteur .de-smiley { flex: 0 0 auto; }

/* Hero sur dégradé */
body.st-docteur .de-hero { background: var(--de-degrade); color: #FFFFFF; position: relative; overflow: hidden; }
body.st-docteur .de-hero::after { content: ""; position: absolute; right: -120px; top: -140px; width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(circle, rgba(255,122,61,.3) 0%, rgba(255,122,61,0) 65%); pointer-events: none; }
body.st-docteur .de-hero__ecg { position: absolute; left: 0; width: 100%; height: 220px; opacity: .35; pointer-events: none; }
body.st-docteur .de-hero__inner { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; padding-top: 56px; padding-bottom: 130px; z-index: 1; }
body.st-docteur .de-hero__texte { flex: 1 1 560px; min-width: 0; }
body.st-docteur .de-hero__visuel { flex: 1 1 440px; min-width: 0; position: relative; min-height: 500px; display: flex; justify-content: center; }
body.st-docteur .de-hero .de-chapo { color: var(--de-lavande); }
body.st-docteur .de-hero .de-h1 { margin-top: 22px; }
body.st-docteur .de-ouvert { display: inline-flex; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.08); padding: 7px 14px; border-radius: 999px; font-size: 14px; font-weight: 600; }
body.st-docteur .de-reassurances { display: flex; gap: 26px; flex-wrap: wrap; margin: 30px 0 0; padding: 0; list-style: none; font-size: 15px; color: var(--de-lavande); }
body.st-docteur .de-bulle { position: absolute; left: 0; top: 10px; background: #FFFFFF; color: var(--de-nuit); border-radius: 20px 20px 20px 4px; padding: 16px 20px; font: 700 19px/1.3 var(--de-display); box-shadow: 0 18px 40px rgba(11,16,51,.35); max-width: 250px; z-index: 2; }
body.st-docteur .de-hero__mascotte { margin-top: 80px; }
body.st-docteur .de-constantes { position: absolute; right: 0; bottom: 110px; background: rgba(11,16,51,.75); border: 1px solid rgba(255,255,255,.18); border-radius: 16px; padding: 16px 18px; color: #FFFFFF; width: 230px; z-index: 2; }
body.st-docteur .de-constantes__titre { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--de-lavande); font-weight: 600; }
body.st-docteur .de-constantes__ligne { display: flex; justify-content: space-between; font-size: 14px; margin-top: 4px; }
body.st-docteur .de-etiquette { position: absolute; right: 40px; top: 30px; z-index: 2; }
body.st-docteur .de-etiquette span { display: block; background: var(--de-orange); color: var(--de-nuit); border-radius: 14px; padding: 10px 14px; font-weight: 700; font-size: 14px; box-shadow: 0 14px 30px rgba(11,16,51,.3); transform: rotate(4deg); }

/* Mascotte (dimensions fixées : pas de décalage de mise en page) */
body.st-docteur .de-mascotte { display: block; flex: 0 0 auto; }
body.st-docteur .de-mascotte svg { width: 100%; height: auto; aspect-ratio: 280 / 320; }

/* Schémas fléchés : blocs de tailles et de hauteurs différentes, flèches en pointillés animés */
body.st-docteur .de-schema { position: relative; display: flex; align-items: flex-start; margin-top: 40px; padding: 30px 24px; border-radius: 24px; background-image: radial-gradient(var(--de-filet-2) 1.2px, transparent 1.2px); background-size: 26px 26px; }
body.st-docteur .de-schema--plein { background: #FFFFFF; border: 1px solid var(--de-filet); --de-lien: 64px; }
body.st-docteur .de-schema--plein .de-schema__bloc { padding: 20px; overflow-wrap: anywhere; }
body.st-docteur .de-schema--plein .de-schema__date { font-size: 22px; }
body.st-docteur .de-schema--plein .de-schema__bloc--nuit .de-schema__date { font-size: 30px; }
body.st-docteur .de-schema--plein .de-schema__txt { font-size: 13px; }
body.st-docteur .de-schema--nu { background: none; padding: 0; }
body.st-docteur .de-schema__bloc { position: relative; flex: var(--de-flex, 1) 1 0; min-width: 0; margin-top: var(--de-decal, 0); border-radius: 22px; padding: 26px; background: #FFFFFF; border: 2px solid var(--de-filet); box-shadow: 0 18px 40px rgba(11,16,51,.08); min-height: var(--de-h, 0); display: flex; flex-direction: column; justify-content: center; gap: 8px; }
body.st-docteur .de-schema__bloc--brume { background: var(--de-brume); border-color: var(--de-filet-2); box-shadow: none; }
body.st-docteur .de-schema__bloc--nuit { background: var(--de-nuit); color: #FFFFFF; border-color: var(--de-nuit); box-shadow: 0 24px 60px rgba(11,16,51,.25); }
body.st-docteur .de-schema__bloc--indigo { background: var(--de-indigo-vif); color: #FFFFFF; border-color: var(--de-indigo-vif); box-shadow: none; }
body.st-docteur .de-schema__bloc--echeance { background: #FFF4EC; border-color: var(--de-orange); box-shadow: none; }
body.st-docteur .de-schema__titre { font: 700 24px/1.15 var(--de-display); }
body.st-docteur .de-schema__date { font: 800 26px/1.1 var(--de-display); color: var(--de-orange-texte-2); }
body.st-docteur .de-schema__bloc--nuit .de-schema__date { color: var(--de-turquoise); font-size: 34px; }
body.st-docteur .de-schema__bloc--indigo .de-schema__date { color: #FFFFFF; }
body.st-docteur .de-schema__txt { font-size: 15px; line-height: 1.5; color: var(--de-gris); margin: 0; }
body.st-docteur .de-schema__bloc--nuit .de-schema__txt, body.st-docteur .de-schema__bloc--indigo .de-schema__txt { color: var(--de-lavande); }
body.st-docteur .de-schema__num { position: absolute; left: -14px; top: -22px; width: 52px; height: 52px; border-radius: 50%; background: var(--de-indigo-vif); color: #FFFFFF; display: flex; align-items: center; justify-content: center; font: 800 19px/1 var(--de-display); box-shadow: 0 8px 20px rgba(91,91,214,.4); }
body.st-docteur .de-schema__num--turquoise { background: var(--de-turquoise); color: var(--de-nuit); box-shadow: 0 8px 20px rgba(34,211,182,.4); }
body.st-docteur .de-schema__badges { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
body.st-docteur .de-schema__lien { position: relative; flex: 0 0 var(--de-lien, 120px); align-self: stretch; color: var(--de-indigo-vif); }
body.st-docteur .de-schema__lien--turquoise { color: var(--de-turquoise); }
body.st-docteur .de-schema__lien--orange { color: var(--de-orange); }
body.st-docteur .de-fleche { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
body.st-docteur .de-fleche path { stroke-dasharray: 10 8; vector-effect: non-scaling-stroke; animation: deTirets 1.2s linear infinite; }
body.st-docteur .de-fleche__pointe { position: absolute; right: -2px; width: 0; height: 0; border-left: 12px solid currentColor; border-top: 7px solid transparent; border-bottom: 7px solid transparent; transform: translateY(-50%); }
body.st-docteur .de-fleche--bas { display: none; }
body.st-docteur .de-schema__legende { position: absolute; font-size: 13px; line-height: 16px; color: var(--de-gris); text-align: center; left: 0; right: 0; }

/* Tableaux à en-têtes colorés */
body.st-docteur .de-tableau-conteneur { overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.st-docteur .de-tableau { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 560px; margin: 0; border: 0; }
body.st-docteur .de-tableau th, body.st-docteur .de-tableau td { border: 0; background: transparent; }
body.st-docteur .de-tableau tbody > tr:nth-child(odd) > td, body.st-docteur .de-tableau tbody > tr:hover > td { background-color: transparent; }
body.st-docteur .de-tableau th { text-align: left; font: 700 13px/1.3 var(--de-display); letter-spacing: .1em; text-transform: uppercase; padding: 14px 16px; }
body.st-docteur .de-tableau td { padding: 18px 16px; border-bottom: 1px solid var(--de-filet-2); vertical-align: top; color: var(--de-gris); }
body.st-docteur .de-tableau td + td { border-left: 1px solid var(--de-filet-2); }
body.st-docteur .de-tableau tr:last-child td { border-bottom: 0; }
body.st-docteur .de-tableau .de-col-icone { width: 46px; padding-left: 0; padding-right: 0; }
body.st-docteur .de-tableau .de-col-icone + td { border-left: 0; }
body.st-docteur .de-tableau td.de-fort { font-weight: 600; color: var(--de-nuit); }
body.st-docteur .de-th--symptome { background: var(--de-c-bg); color: var(--de-c-fg); border-radius: 12px 0 0 0; }
body.st-docteur .de-th--examen { background: var(--de-p-bg); color: var(--de-p-fg); }
body.st-docteur .de-th--traitement { background: var(--de-o-bg); color: var(--de-o-fg); border-radius: 0 12px 0 0; }
body.st-docteur.st-de-teinte .de-tableau--teinte td:nth-child(2) { background: rgba(255,232,220,.35); }
body.st-docteur.st-de-teinte .de-tableau--teinte td:nth-child(3) { background: rgba(230,230,250,.35); }
body.st-docteur.st-de-teinte .de-tableau--teinte td:nth-child(4) { background: rgba(211,247,240,.35); }
body.st-docteur .de-tableau--sombre { color: #FFFFFF; min-width: 520px; }
body.st-docteur .de-tableau--sombre th { color: var(--de-lavande); font-size: 12px; letter-spacing: .12em; padding: 0 20px 10px; border-bottom: 1.5px solid rgba(255,255,255,.5); }
body.st-docteur .de-tableau--sombre th:first-child, body.st-docteur .de-tableau--sombre td:first-child { padding-left: 0; }
body.st-docteur .de-tableau--sombre th + th { border-left: 1px solid rgba(255,255,255,.25); }
body.st-docteur .de-tableau--sombre td { padding: 11px 20px; border-bottom-color: rgba(255,255,255,.18); color: var(--de-lavande); }
body.st-docteur .de-tableau--sombre td + td { border-left-color: rgba(255,255,255,.25); }
body.st-docteur .de-tableau--sombre td:first-child { color: #FFFFFF; font-weight: 600; }
body.st-docteur .de-tableau--sombre .de-th--symptome, body.st-docteur .de-tableau--sombre .de-th--examen, body.st-docteur .de-tableau--sombre .de-th--traitement { background: none; }
body.st-docteur .de-tableau--examens { min-width: 440px; }
body.st-docteur .de-tableau--examens th { padding: 12px 14px; font-size: 12px; }
body.st-docteur .de-tableau--examens td { padding: 12px 14px; color: var(--de-nuit); }
body.st-docteur .de-statut-txt--obligatoire { font-weight: 600; color: var(--de-orange-texte) !important; white-space: nowrap; }
body.st-docteur .de-statut-txt--facultatif { font-weight: 600; white-space: nowrap; }

/* Deux colonnes texte + visuel */
body.st-docteur .de-duo { display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-start; }
body.st-docteur .de-duo--centre { align-items: center; }
body.st-docteur .de-duo__a { flex: 1 1 380px; min-width: 0; }
body.st-docteur .de-duo__b { flex: 1 1 600px; min-width: 0; }

/* Mosaïque des constantes */
body.st-docteur .de-mosaique { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); grid-auto-rows: minmax(150px, auto); gap: 18px; margin-top: 48px; }
body.st-docteur .de-tuile { background: #FFFFFF; border: 1px solid var(--de-filet); border-radius: 20px; padding: 22px; display: flex; flex-direction: column; justify-content: center; gap: 6px; }
body.st-docteur .de-tuile--grande { grid-row: span 2; border-radius: 24px; padding: 30px; gap: 10px; }
body.st-docteur .de-tuile--decalee { margin-top: 40px; }
body.st-docteur .de-tuile--nuit { background: var(--de-nuit); color: #FFFFFF; border-color: var(--de-nuit); justify-content: flex-end; }
body.st-docteur .de-tuile--turquoise { background: var(--de-turquoise); border-color: var(--de-turquoise); }
body.st-docteur .de-tuile__chiffre { font: 800 44px/1 var(--de-display); letter-spacing: -.03em; color: var(--de-indigo-vif); }
body.st-docteur .de-tuile--nuit .de-tuile__chiffre { color: var(--de-peche); }
body.st-docteur .de-tuile__titre { font: 700 20px/1.2 var(--de-display); }
body.st-docteur .de-tuile--grande .de-tuile__titre { font-size: 22px; }
body.st-docteur .de-tuile p { margin: 0; color: var(--de-gris); line-height: 1.45; font-size: 14px; }
body.st-docteur .de-tuile--grande p { font-size: 15px; line-height: 1.5; }
body.st-docteur .de-tuile--nuit p { color: var(--de-lavande); }
body.st-docteur .de-tuile--turquoise p { color: var(--de-nuit); }
body.st-docteur .de-tuile__echeance { font-weight: 600; font-size: 14px; color: var(--de-orange-texte); }
body.st-docteur .de-tuile--nuit .de-tuile__echeance { color: var(--de-peche); }

/* Cartes génériques */
body.st-docteur .de-carte { background: #FFFFFF; border: 1px solid var(--de-filet); border-radius: 28px; padding: 40px; box-shadow: var(--de-ombre); position: relative; }
body.st-docteur .de-carte--nuit { background: var(--de-nuit); color: #FFFFFF; border-color: var(--de-nuit); }
body.st-docteur .de-carte--degrade { background: linear-gradient(160deg, #4141AB 0%, #34349C 50%, #0B1033 100%); color: #FFFFFF; border: 0; }

/* Aperçu du bilan (landing) */
body.st-docteur .de-apercu { overflow: hidden; padding: 30px; border-radius: 24px; }
body.st-docteur .de-apercu__scan { position: absolute; inset: 0; pointer-events: none; animation: deScan 3.2s ease-in-out infinite alternate; }
body.st-docteur .de-apercu__scan::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, rgba(34,211,182,0), #22D3B6, rgba(34,211,182,0)); }
body.st-docteur .de-apercu__tete { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
body.st-docteur .de-apercu__titre { font: 700 20px/1.2 var(--de-display); }
body.st-docteur .de-lignes { list-style: none; margin: 20px 0 0; padding: 0; }
body.st-docteur .de-lignes li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--de-filet-2); }
body.st-docteur .de-lignes__nom { font-weight: 600; flex: 1 1 auto; }
body.st-docteur .de-lignes__statut { font-weight: 600; font-size: 14px; }

/* FAQ */
body.st-docteur .de-faq { max-width: 900px; margin: 30px 0 0; border-top: 1px solid var(--de-filet-2); }
body.st-docteur .de-faq details { border-bottom: 1px solid var(--de-filet-2); padding: 0; }
body.st-docteur .de-faq summary { list-style: none; cursor: pointer; padding: 24px 40px 24px 0; font: 700 20px/1.3 var(--de-display); position: relative; min-height: 44px; }
body.st-docteur .de-faq summary::-webkit-details-marker { display: none; }
body.st-docteur .de-faq summary::after { content: "+"; position: absolute; right: 4px; top: 20px; font-size: 28px; font-weight: 600; color: var(--de-indigo-vif); transition: transform .2s ease; }
body.st-docteur .de-faq details[open] summary::after { transform: rotate(45deg); }
body.st-docteur .de-faq p { margin: 0 0 24px; color: var(--de-gris); line-height: 1.6; }

/* CTA final */
body.st-docteur .de-cta-final { background: linear-gradient(160deg, #34349C 0%, #0B1033 70%); color: #FFFFFF; position: relative; overflow: hidden; }
body.st-docteur .de-cta-final__ecg { position: absolute; left: 0; top: 50%; width: 100%; height: 160px; opacity: .25; pointer-events: none; }
body.st-docteur .de-cta-final__inner { display: flex; flex-wrap: wrap; gap: 40px; align-items: center; justify-content: space-between; padding-top: 90px; padding-bottom: 90px; }
body.st-docteur .de-cta-final .de-h2 { margin-top: 0; }

/* Barre du cabinet (consultation, bilan, prise de sang) */
body.st-docteur .de-cabinet { background: var(--de-nuit); color: #FFFFFF; }
body.st-docteur .de-cabinet--transparent { background: transparent; }
body.st-docteur .de-cabinet__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 14px; padding-bottom: 14px; }
body.st-docteur .de-cabinet__nom { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font: 700 18px/1.2 var(--de-display); }
body.st-docteur .de-cabinet a, body.st-docteur .de-cabinet button.de-lien { color: var(--de-lavande); font-size: 15px; background: none; border: 0; padding: 10px 0; min-height: 44px; cursor: pointer; font-family: var(--de-texte); text-decoration: underline; }

/* Consultation */
body.st-docteur .de-consultation { background-color: var(--de-brume); background-image: radial-gradient(var(--de-filet-2) 1.2px, transparent 1.2px); background-size: 28px 28px; min-height: 900px; }
body.st-docteur .de-progression { display: flex; align-items: center; gap: 16px; padding-top: 22px; }
body.st-docteur .de-progression__barre { flex: 1 1 auto; height: 8px; background: var(--de-filet); border-radius: 999px; overflow: hidden; }
body.st-docteur .de-progression__barre span { display: block; height: 8px; width: 100%; background: linear-gradient(90deg, #5B5BD6, #22D3B6); border-radius: 999px; transform-origin: 0 50%; transform: scaleX(var(--de-pct, 0)); transition: transform .4s ease; }
body.st-docteur .de-progression__texte { font-weight: 600; font-size: 14px; color: var(--de-gris); min-width: 130px; text-align: right; }
body.st-docteur .de-cabinet-grille { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; padding-top: 28px; padding-bottom: 60px; }
body.st-docteur .de-cabinet-grille__principal { flex: 999 1 640px; min-width: 0; }
body.st-docteur .de-cabinet-grille__cote { flex: 1 1 340px; min-width: 0; }
body.st-docteur .de-salle { display: flex; flex-wrap: wrap; gap: 32px; align-items: center; padding: 48px; }
body.st-docteur .de-salle .de-h1 { font-size: 50px; line-height: 1.05; margin-top: 12px; }
body.st-docteur .de-salle .de-surtitre { color: var(--de-lavande); }
body.st-docteur .de-coches { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 16px; }
body.st-docteur .de-coches li { display: flex; gap: 10px; align-items: center; }
body.st-docteur .de-coches li::before { content: "✓"; color: var(--de-turquoise); font-weight: 700; }
body.st-docteur .de-question__tete { display: flex; gap: 20px; align-items: flex-end; flex-wrap: wrap; }
body.st-docteur .de-question__bulle { flex: 1 1 360px; min-width: 0; background: var(--de-nuit); color: #FFFFFF; border-radius: 22px 22px 22px 4px; padding: 22px 26px; margin-bottom: 24px; }
body.st-docteur .de-question__bulle .de-surtitre { color: var(--de-turquoise); font-size: 12px; letter-spacing: .18em; }
body.st-docteur .de-question__titre { font: 700 30px/1.2 var(--de-display); letter-spacing: -.02em; margin: 8px 0 0; color: #FFFFFF; }
body.st-docteur .de-question__aide { font-size: 16px; color: var(--de-gris); line-height: 1.55; margin: 18px 0 0; }
body.st-docteur .de-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin-top: 24px; }
body.st-docteur .de-option { display: flex; align-items: center; gap: 14px; text-align: left; background: #FFFFFF; border: 2px solid var(--de-filet); border-radius: 18px; padding: 18px 20px; font: 600 17px/1.3 var(--de-texte); color: var(--de-nuit); cursor: pointer; min-height: 64px; transition: border-color .15s ease, background-color .15s ease; }
body.st-docteur .de-option:hover { border-color: var(--de-indigo-vif); }
body.st-docteur .de-option__lettre { flex: 0 0 32px; height: 32px; border-radius: 10px; background: var(--de-brume); color: var(--de-indigo); display: flex; align-items: center; justify-content: center; font: 700 15px/1 var(--de-display); }
body.st-docteur .de-option[aria-pressed="true"] { border-color: var(--de-indigo-vif); background: #EEEEFC; }
body.st-docteur .de-option[aria-pressed="true"] .de-option__lettre { background: var(--de-indigo-vif); color: #FFFFFF; }
body.st-docteur .de-dossier { background: #FFFFFF; border: 1px solid var(--de-filet); border-radius: 24px; padding: 26px; }
body.st-docteur .de-dossier__tete { display: flex; justify-content: space-between; align-items: center; font: 700 20px/1.2 var(--de-display); }
body.st-docteur .de-dossier__tete small { font: 600 12px/1 var(--de-texte); color: var(--de-gris); }
body.st-docteur .de-dossier dl { margin: 14px 0 0; }
body.st-docteur .de-dossier dl div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid #F0F1F7; font-size: 14px; }
body.st-docteur .de-dossier dt { color: var(--de-gris); }
body.st-docteur .de-dossier dd { margin: 0; font-weight: 600; text-align: right; }
body.st-docteur .de-dossier__vide { font-size: 14px; color: var(--de-gris); padding: 9px 0; margin: 0; }
body.st-docteur .de-analyses { margin-top: 20px; background: var(--de-nuit); color: #FFFFFF; border-radius: 18px; padding: 20px; }
body.st-docteur .de-analyses__tete { display: flex; justify-content: space-between; align-items: baseline; }
body.st-docteur .de-analyses__tete span:first-child { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--de-lavande); }
body.st-docteur .de-analyses__compteur { font: 800 28px/1 var(--de-display); color: var(--de-peche); display: inline-block; }
body.st-docteur .de-analyses__sous { font-size: 13px; color: var(--de-lavande); margin: 2px 0 0; }
body.st-docteur .de-analyses ul { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
body.st-docteur .de-analyses li { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 14px; }
body.st-docteur .de-analyses li span:last-child { display: flex; align-items: center; gap: 8px; color: var(--de-lavande); }
body.st-docteur .de-analyses__pied { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.14); font-size: 13px; color: var(--de-lavande-2); }
body.st-docteur .de-point--concerne { --de-point: #FF7A3D; } body.st-docteur .de-point--probable { --de-point: #8F8FF0; }
body.st-docteur .de-point--confirmer { --de-point: #F2C14E; } body.st-docteur .de-point--non { --de-point: #9AA0B8; }
body.st-docteur .de-point--opportunite { --de-point: #22D3B6; } body.st-docteur .de-point--attente { --de-point: #3A3F6B; }
body.st-docteur .de-point--attente::before, body.st-docteur .de-point--non::before { display: none; }

/* Formulaires (carte patient, envoi de documents) */
body.st-docteur .de-champs { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-top: 24px; }
body.st-docteur .de-champ { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 14px; }
body.st-docteur .de-champ input { font: 400 16px/1.3 var(--de-texte); padding: 14px 16px; border: 1.5px solid var(--de-filet-2); border-radius: 12px; min-height: 48px; color: var(--de-nuit); background: #FFFFFF; width: 100%; }
body.st-docteur .de-champ input:focus { border-color: var(--de-indigo-vif); outline: none; box-shadow: 0 0 0 3px rgba(91,91,214,.2); }
body.st-docteur .de-champ input[aria-invalid="true"] { border-color: var(--de-orange-texte); }
body.st-docteur .de-champ__msg { font-weight: 500; font-size: 13px; color: var(--de-orange-texte); min-height: 0; }
body.st-docteur .de-champ__msg--info { color: var(--de-a-fg); }
body.st-docteur .de-cases { display: flex; flex-direction: column; gap: 12px; margin-top: 22px; font-size: 14px; color: var(--de-gris); line-height: 1.5; }
body.st-docteur .de-cases label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
body.st-docteur .de-cases input { width: 20px; height: 20px; margin: 1px 0 0; flex: 0 0 20px; accent-color: var(--de-indigo-vif); }
body.st-docteur .de-finalite { font-size: 13px; color: var(--de-gris); line-height: 1.55; margin: 18px 0 0; }
body.st-docteur .de-piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.st-docteur .de-alerte { margin: 18px 0 0; padding: 14px 18px; border-radius: 14px; background: var(--de-c-bg); color: var(--de-c-fg); font-size: 15px; }
body.st-docteur .de-alerte--ok { background: var(--de-o-bg); color: var(--de-o-fg); }
body.st-docteur .de-carte-patient__icone { width: 72px; height: 72px; border-radius: 18px; background: var(--de-indigo-vif); display: flex; align-items: center; justify-content: center; flex: 0 0 72px; }

/* Bilan */
body.st-docteur .de-bilan { background: var(--de-brume); }
body.st-docteur .de-bilan__corps { padding-top: 36px; padding-bottom: 80px; }
body.st-docteur .de-synthese { display: flex; flex-wrap: wrap; gap: 36px; align-items: center; padding: 44px; }
body.st-docteur .de-synthese__texte { flex: 1 1 440px; min-width: 0; }
body.st-docteur .de-synthese .de-surtitre { color: var(--de-lavande); }
body.st-docteur .de-synthese .de-h1 { font-size: 50px; line-height: 1.05; margin-top: 14px; }
body.st-docteur .de-synthese .de-p { color: var(--de-lavande); max-width: 600px; }
body.st-docteur .de-jauge { flex: 0 1 300px; background: rgba(11,16,51,.55); border: 1px solid rgba(255,255,255,.16); border-radius: 22px; padding: 22px; display: flex; flex-direction: column; align-items: center; text-align: center; }
body.st-docteur .de-jauge__titre { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--de-lavande); align-self: flex-start; }
body.st-docteur .de-jauge svg { width: 240px; height: 144px; margin-top: 8px; }
body.st-docteur .de-jauge__aiguille { transform-origin: 100px 100px; transform: rotate(var(--de-angle, 0deg)); animation: deAiguille 2.4s cubic-bezier(.3,.9,.3,1) both; }
body.st-docteur .de-jauge__etat { font: 700 20px/1.2 var(--de-display); color: var(--de-peche); margin-top: 4px; }
body.st-docteur .de-jauge__etat--en_forme { color: var(--de-turquoise); }
body.st-docteur .de-jauge__sous { font-size: 13px; color: var(--de-lavande); }
body.st-docteur .de-obligations { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-auto-rows: minmax(132px, auto); gap: 16px; margin-top: 22px; }
body.st-docteur .de-obl { background: #FFFFFF; border: 1px solid var(--de-filet); border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 8px; justify-content: center; animation: deMontee .7s ease-out both; animation-delay: calc(var(--de-i, 0) * 120ms); }
body.st-docteur .de-obl--grande { grid-row: span 2; border-radius: 22px; padding: 26px; justify-content: flex-start; gap: 10px; }
body.st-docteur .de-obl--decalee { margin-top: 36px; }
body.st-docteur .de-obl--nuit { background: var(--de-nuit); color: #FFFFFF; border-color: var(--de-nuit); }
body.st-docteur .de-obl--turquoise { background: var(--de-turquoise); border-color: var(--de-turquoise); }
body.st-docteur .de-obl__tete { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
body.st-docteur .de-obl__nom { font: 700 19px/1.2 var(--de-display); color: inherit; margin: 0; }
body.st-docteur .de-obl--grande .de-obl__nom { font-size: 22px; }
body.st-docteur .de-obl__tete .de-badge { margin-left: auto; }
body.st-docteur .de-obl__chiffre { font: 800 40px/1 var(--de-display); letter-spacing: -.03em; color: var(--de-orange-texte-2); }
body.st-docteur .de-obl--nuit .de-obl__chiffre { color: var(--de-peche); }
body.st-docteur .de-obl p { margin: 0; color: var(--de-gris); line-height: 1.5; font-size: 15px; }
body.st-docteur .de-obl--nuit p { color: var(--de-lavande); }
body.st-docteur .de-obl--turquoise p { color: var(--de-nuit); }
body.st-docteur .de-obl__echeance { margin-top: auto; font-weight: 600; font-size: 14px; color: var(--de-orange-texte); }
body.st-docteur .de-obl--nuit .de-obl__echeance { color: var(--de-peche); }
body.st-docteur .de-bilan .de-h2 { font-size: 34px; letter-spacing: -.02em; margin-top: 52px; }
body.st-docteur .de-suite { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 52px; align-items: flex-start; }
body.st-docteur .de-conseils { flex: 1 1 520px; min-width: 0; padding: 30px; border-radius: 20px; box-shadow: none; }
body.st-docteur .de-conseils .de-h3 { font-size: 28px; }
body.st-docteur .de-conseils ol { list-style: none; margin: 16px 0 0; padding: 0; counter-reset: de-c; }
body.st-docteur .de-conseils li { display: flex; gap: 14px; padding: 16px 0; border-top: 1px solid var(--de-filet-2); line-height: 1.55; counter-increment: de-c; }
body.st-docteur .de-conseils li::before { content: "0" counter(de-c); font: 800 17px/1.55 var(--de-display); color: var(--de-indigo-vif); }
body.st-docteur .de-rdv { flex: 1 1 380px; min-width: 0; margin-top: 40px; padding: 30px; border-radius: 20px; display: flex; flex-direction: column; gap: 14px; }
body.st-docteur .de-rdv .de-surtitre { color: var(--de-turquoise); }
body.st-docteur .de-rdv p { margin: 0; color: var(--de-lavande); line-height: 1.6; }
body.st-docteur .de-bilan-absent { max-width: 760px; margin: 0 auto; text-align: center; padding: 80px 0; }

/* Prise de sang */
body.st-docteur .de-psang__hero .de-hero__inner { padding-top: 50px; padding-bottom: 110px; gap: 40px; }
body.st-docteur .de-psang__hero .de-h1 { font-size: 62px; margin-top: 0; }
body.st-docteur .de-tube { flex: 0 1 380px; min-width: 0; display: flex; justify-content: center; position: relative; }
body.st-docteur .de-tube svg { width: 260px; height: 346px; }
body.st-docteur .de-tube__niveau { animation: deNiveau 3s ease-out both; }
body.st-docteur .de-tube__bulle { animation: deBulle 2.6s ease-in infinite; }
body.st-docteur .de-tube__bulle:nth-of-type(2) { animation-delay: .9s; } body.st-docteur .de-tube__bulle:nth-of-type(3) { animation-delay: 1.7s; }
body.st-docteur .de-tube .de-bulle { left: -10px; top: 20px; font-size: 15px; padding: 12px 16px; border-radius: 16px 16px 16px 4px; }
body.st-docteur .de-formules { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; margin-top: -60px; position: relative; z-index: 2; }
body.st-docteur .de-formule { flex: 3 1 520px; min-width: 0; border: 2px solid var(--de-turquoise); border-radius: 26px; display: flex; flex-direction: column; gap: 16px; }
body.st-docteur .de-formule--visite { flex: 2 1 340px; margin-top: 60px; border: 0; padding: 32px; border-radius: 26px; gap: 14px; }
body.st-docteur .de-formule__tete { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font: 800 32px/1.1 var(--de-display); }
body.st-docteur .de-formule--visite .de-formule__tete { font-size: 26px; }
body.st-docteur .de-formule p { margin: 0; color: var(--de-gris); line-height: 1.6; font-size: 16px; }
body.st-docteur .de-formule--visite p { color: var(--de-lavande); font-size: 15px; }
body.st-docteur .de-etapes-visite { list-style: none; margin: 0; padding: 0; font-size: 14px; counter-reset: de-v; }
body.st-docteur .de-etapes-visite li { display: flex; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.14); counter-increment: de-v; }
body.st-docteur .de-etapes-visite li:last-child { border-bottom: 1px solid rgba(255,255,255,.14); }
body.st-docteur .de-etapes-visite li::before { content: "0" counter(de-v); font: 800 14px/1.5 var(--de-display); color: #8F8FF0; }
body.st-docteur .de-visite__infos { font-size: 13px; color: var(--de-lavande-2); margin: 0; }
body.st-docteur .de-depot { background: var(--de-brume); border: 2px dashed #C9CDE6; border-radius: 18px; padding: 26px; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; transition: border-color .15s ease, background-color .15s ease; }
body.st-docteur .de-depot.is-survol { border-color: var(--de-indigo-vif); background: #EEEEFC; }
body.st-docteur .de-depot__titre { font-weight: 600; }
body.st-docteur .de-depot__aide { font-size: 14px; color: var(--de-gris); margin: 0; }
body.st-docteur .de-depot input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
body.st-docteur .de-depot label.de-btn { position: relative; }
body.st-docteur .de-fichiers { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
body.st-docteur .de-fichiers li { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: #FFFFFF; border: 1px solid var(--de-filet); border-radius: 12px; padding: 10px 14px; font-size: 14px; }
body.st-docteur .de-fichiers button { background: none; border: 0; color: var(--de-orange-texte); font-weight: 600; cursor: pointer; min-height: 44px; padding: 0 6px; }
body.st-docteur .de-fichiers .is-erreur { border-color: var(--de-orange); background: var(--de-c-bg); }

/* Ordonnance exemple. Repli si Caveat est absent : écriture système réduite pour garder la mise en page de la feuille. */
@font-face { font-family: 'DE Manuscrit'; src: local('Bradley Hand'), local('BradleyHandITCTT-Bold'), local('Segoe Print'), local('Comic Sans MS'); size-adjust: 74%; }
body.st-docteur .de-ordo { background: var(--de-brume); padding: 60px 0 100px; }
body.st-docteur .de-feuille-cadre { width: 100%; max-width: 794px; margin: 0 auto; }
body.st-docteur .de-feuille-echelle { width: 794px; height: 1123px; transform-origin: 0 0; transform: scale(var(--de-echelle, 1)); }
body.st-docteur .de-feuille { width: 794px; height: 1123px; background-color: #FFFFFF; background-image: repeating-linear-gradient(0deg, transparent 0 31px, #EEF0F7 31px 32px); color: var(--de-nuit); position: relative; overflow: hidden; padding: 44px 56px; box-shadow: 0 30px 80px rgba(11,16,51,.16); font-size: 12.5px; line-height: 1.5; }
body.st-docteur .de-feuille__ecg { position: absolute; left: 0; top: 520px; width: 794px; height: 120px; opacity: .07; }
body.st-docteur .de-feuille__tete { display: flex; justify-content: space-between; gap: 24px; position: relative; }
body.st-docteur .de-feuille__praticien { font: 800 20px/1.3 var(--de-display); letter-spacing: -.01em; }
body.st-docteur .de-feuille__qualite { font-weight: 600; color: var(--de-indigo); }
body.st-docteur .de-feuille__date { text-align: right; color: var(--de-gris); line-height: 1.6; }
body.st-docteur .de-feuille__symbole { width: 40px; height: 40px; border-radius: 10px; background: var(--de-nuit); color: #FFFFFF; display: inline-flex; align-items: center; justify-content: center; font: 800 20px/1 var(--de-display); }
body.st-docteur .de-manuscrit { font-family: 'Caveat', 'DE Manuscrit', cursive; color: var(--de-encre); font-weight: 600; font-size: 22px; }
body.st-docteur .de-feuille__patient { margin-top: 28px; display: flex; justify-content: space-between; gap: 16px; font-size: 14px; border-top: 1.5px solid var(--de-nuit); border-bottom: 1.5px solid var(--de-nuit); padding: 10px 0; position: relative; }
body.st-docteur .de-feuille__patient .de-manuscrit { font-size: 24px; }
body.st-docteur .de-feuille__titre { display: flex; justify-content: space-between; align-items: center; margin-top: 22px; position: relative; }
body.st-docteur .de-feuille__titre h1 { font: 800 34px/1 var(--de-display); letter-spacing: .12em; text-transform: uppercase; margin: 0; }
body.st-docteur .de-feuille__badges { display: flex; gap: 8px; }
body.st-docteur .de-feuille__badges span { white-space: nowrap; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; border: 1.5px solid var(--de-nuit); border-radius: 999px; padding: 4px 10px; }
body.st-docteur .de-feuille__badges span + span { background: var(--de-orange); border-color: var(--de-orange); }
body.st-docteur .de-feuille__diag { font-size: 13px; color: var(--de-gris); margin: 6px 0 0; position: relative; }
body.st-docteur .de-feuille__diag b { color: var(--de-nuit); }
body.st-docteur .de-prescriptions { list-style: none; margin: 18px 0 0; padding: 0; font-family: 'Caveat', 'DE Manuscrit', cursive; color: var(--de-encre); font-size: 23px; line-height: 32px; font-weight: 500; position: relative; }
body.st-docteur .de-prescriptions li { display: flex; gap: 12px; margin-top: 12px; clip-path: inset(0 0 0 0); animation: deEcriture .6s ease-out both; animation-delay: calc(.3s + var(--de-i, 0) * .6s); }
body.st-docteur .de-prescriptions li:first-child { margin-top: 0; }
body.st-docteur .de-prescriptions__num { width: 28px; flex: 0 0 auto; font-weight: 700; }
body.st-docteur .de-prescriptions b { font-weight: 700; }
body.st-docteur .de-posologie { display: block; padding-left: 20px; }
body.st-docteur .de-feuille__pied { position: absolute; left: 56px; bottom: 44px; right: 56px; display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
body.st-docteur .de-feuille__avert { font-size: 11px; color: var(--de-gris); line-height: 1.55; max-width: 400px; margin: 0; }
body.st-docteur .de-feuille__avert b { color: var(--de-nuit); }
body.st-docteur .de-feuille__avert .de-manuscrit { font-size: 19px; font-weight: 500; }
body.st-docteur .de-signature { position: relative; width: 240px; height: 120px; }
body.st-docteur .de-tampon { position: absolute; left: 20px; top: 8px; width: 200px; height: 78px; border: 2.5px solid var(--de-indigo); border-radius: 12px; transform: rotate(-6deg); opacity: .85; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--de-indigo); font: 700 12px/1.3 var(--de-display); letter-spacing: .1em; text-transform: uppercase; text-align: center; mix-blend-mode: multiply; animation: deTampon .5s cubic-bezier(.2,1.4,.4,1) both; animation-delay: 4.2s; }
body.st-docteur .de-tampon small { font-size: 10px; font-weight: 600; letter-spacing: .06em; margin-top: 4px; }
body.st-docteur .de-signature svg { position: absolute; left: 40px; top: 56px; width: 180px; height: 60px; }
body.st-docteur .de-signature__legende { position: absolute; right: 0; bottom: 0; font-size: 10px; color: var(--de-gris); letter-spacing: .08em; text-transform: uppercase; }
body.st-docteur .de-lecture { max-width: 794px; margin: 48px auto 0; }
body.st-docteur .de-lecture ol { margin: 16px 0 0; padding-left: 22px; color: var(--de-gris); line-height: 1.65; }

/* ---------- Animations (A01 à A20) ---------- */
@keyframes deOnde { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(2.6); opacity: 0; } }
@keyframes deEcg { 0% { stroke-dashoffset: 2400; } 100% { stroke-dashoffset: -2400; } }
@keyframes deFlotte { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes deRespire { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-10px) rotate(1deg); } }
@keyframes deMontee { 0% { opacity: 0; transform: translateY(18px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes deMontee16 { 0% { opacity: 0; transform: translateY(16px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes deTirets { to { stroke-dashoffset: -24; } }
@keyframes deScan { 0% { transform: translateY(0); } 100% { transform: translateY(100%); } }
@keyframes dePop { 0% { transform: scale(.6); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }
@keyframes deAiguille { 0% { transform: rotate(-90deg); } 60% { transform: rotate(calc(var(--de-angle, 0deg) + 8deg)); } 80% { transform: rotate(calc(var(--de-angle, 0deg) - 4deg)); } 100% { transform: rotate(var(--de-angle, 0deg)); } }
@keyframes deNiveau { 0% { transform: translateY(130px); } 100% { transform: translateY(0); } }
@keyframes deBulle { 0% { transform: translateY(0); opacity: 0; } 20% { opacity: .9; } 100% { transform: translateY(-90px); opacity: 0; } }
@keyframes deEcriture { 0% { clip-path: inset(0 100% 0 0); } 100% { clip-path: inset(0 0 0 0); } }
@keyframes deTampon { 0% { opacity: 0; transform: rotate(-40deg) scale(1.8); } 100% { opacity: .85; transform: rotate(-6deg) scale(1); } }
@keyframes deScintille { 0%, 100% { opacity: 1; } 50% { opacity: .6; } }

body.st-docteur .st-anim--A02 path, body.st-docteur .st-anim--A02 polyline, body.st-docteur .st-anim--A16 polyline, body.st-docteur .st-anim--A05 polyline { stroke-dasharray: 1200 1200; animation: deEcg 7s linear infinite; }
body.st-docteur .st-anim--A03 { animation: deFlotte 5.5s ease-in-out infinite; }
body.st-docteur .st-anim--A04 { animation: deRespire 4s ease-in-out infinite; }
body.st-docteur .st-anim--A05 { animation: deFlotte 6.5s ease-in-out infinite; animation-delay: -3s; }
body.st-docteur .st-anim--A06 { animation: deMontee .7s ease-out both; }
body.st-docteur .st-anim--A06 + .st-anim--A06 { animation-delay: .15s; }
body.st-docteur .st-anim--A06 + .st-anim--A06 + .st-anim--A06 { animation-delay: .3s; }
body.st-docteur .st-anim--A09 { animation: deMontee16 .5s ease-out both; }
body.st-docteur .st-anim--A10.is-pop { animation: dePop .5s ease-out both; }
body.st-docteur .st-anim--A19 .de-eclair { animation: deScintille 2.4s ease-in-out infinite; }

/* Pause hors écran : seules les animations des éléments visibles tournent (html.de-js posé en tête de page ; sans JS, tout tourne). */
html.de-js body.st-docteur [class*="st-anim--"]:not(.is-visible), html.de-js body.st-docteur [class*="st-anim--"]:not(.is-visible) *, html.de-js body.st-docteur [class*="st-anim--"]:not(.is-visible)::before { animation-play-state: paused; }

/* Coupures individuelles (réglages) */
body.st-anim-off--A02 .st-anim--A02 *, body.st-anim-off--A16 .st-anim--A16 *, body.st-anim-off--A05 .st-anim--A05 polyline,
body.st-anim-off--A03 .st-anim--A03, body.st-anim-off--A04 .st-anim--A04, body.st-anim-off--A05 .st-anim--A05, body.st-anim-off--A06 .st-anim--A06,
body.st-anim-off--A07 .st-anim--A07 path, body.st-anim-off--A08 .st-anim--A08, body.st-anim-off--A09 .st-anim--A09, body.st-anim-off--A10 .st-anim--A10,
body.st-anim-off--A11 .st-anim--A11::before, body.st-anim-off--A13 .st-anim--A13, body.st-anim-off--A14 .st-anim--A14, body.st-anim-off--A15 .st-anim--A15,
body.st-anim-off--A15 .st-anim--A15 *, body.st-anim-off--A17 .st-anim--A17, body.st-anim-off--A18 .st-anim--A18, body.st-anim-off--A19 .st-anim--A19 .de-eclair { animation: none !important; }
body.st-anim-off--A11 .st-anim--A11::before { opacity: 0; }
body.st-anim-off--A12 .st-anim--A12 { transition: none !important; }
body.st-anim-off--A20 .st-anim--A20, body.st-anim-off--A20 .st-anim--A20:hover { transition: none !important; transform: none !important; box-shadow: none !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  body.st-docteur .de-hero__visuel { min-height: 460px; }
}
@media (max-width: 900px) {
  body.st-docteur .de-wrap { padding: 0 16px; }
  body.st-docteur .de-section { padding: 72px 0; }
  body.st-docteur .de { font-size: 17px; }
  body.st-docteur .de-h1 { font-size: 40px; line-height: 1.06; }
  body.st-docteur .de-h2 { font-size: 32px; }
  body.st-docteur .de-h3 { font-size: 24px; }
  body.st-docteur .de-chapo { font-size: 18px; }
  body.st-docteur .de-p { font-size: 17px; }
  body.st-docteur .de-hero__inner { padding-top: 32px; padding-bottom: 64px; gap: 24px; }
  body.st-docteur .de-hero__visuel { min-height: 0; flex-basis: 100%; padding-top: 70px; }
  body.st-docteur .de-hero__mascotte { margin-top: 0; }
  body.st-docteur .de-bulle { font-size: 16px; max-width: 220px; top: 0; }
  body.st-docteur .de-constantes { right: 0; bottom: 0; width: 190px; padding: 12px 14px; }
  body.st-docteur .de-etiquette { right: 0; top: 4px; }
  body.st-docteur .de-btn { width: 100%; }
  body.st-docteur .de-boutons { margin-top: 26px; }
  body.st-docteur .de-schema { flex-direction: column; align-items: stretch; padding: 24px 16px; min-height: 0 !important; }
  body.st-docteur .de-schema__bloc { flex: none; margin-top: 0 !important; min-height: 0; }
  body.st-docteur .de-hero__mascotte .de-mascotte { width: 240px !important; height: 274px !important; }
  body.st-docteur .de-schema__bloc > .de-noprint { display: none; }
  body.st-docteur .de-schema__lien { flex: 0 0 56px; align-self: center; width: 24px; }
  body.st-docteur .de-fleche--coude, body.st-docteur .de-schema__lien .de-fleche__pointe, body.st-docteur .de-schema__legende { display: none; }
  body.st-docteur .de-fleche--bas { display: block; }
  body.st-docteur .de-schema__lien::after { content: ""; position: absolute; left: 50%; bottom: -2px; transform: translateX(-50%); border-top: 12px solid currentColor; border-left: 7px solid transparent; border-right: 7px solid transparent; }
  body.st-docteur .de-schema__num { left: auto; right: 12px; top: -20px; width: 44px; height: 44px; font-size: 16px; }
  body.st-docteur .de-schema__titre { font-size: 22px !important; }
  body.st-docteur .de-tuile--decalee, body.st-docteur .de-obl--decalee, body.st-docteur .de-formule--visite, body.st-docteur .de-rdv { margin-top: 0; }
  body.st-docteur .de-tuile--grande, body.st-docteur .de-obl--grande { grid-row: auto; }
  body.st-docteur .de-carte { padding: 24px; border-radius: 22px; }
  body.st-docteur .de-salle, body.st-docteur .de-synthese { padding: 28px 22px; }
  body.st-docteur .de-salle .de-h1, body.st-docteur .de-synthese .de-h1 { font-size: 34px; }
  body.st-docteur .de-question__titre { font-size: 23px; }
  body.st-docteur .de-question__tete .de-mascotte { width: 72px !important; }
  body.st-docteur .de-options { grid-template-columns: 1fr; gap: 10px; }
  body.st-docteur .de-option { min-height: 56px; padding: 14px 16px; font-size: 16px; }
  body.st-docteur .de-cabinet-grille { padding-top: 18px; gap: 18px; }
  body.st-docteur .de-progression__texte { min-width: 0; }
  body.st-docteur .de-psang__hero .de-h1 { font-size: 38px; }
  body.st-docteur .de-tube svg { width: 200px; height: 266px; }
  body.st-docteur .de-formules { margin-top: -40px; }
  body.st-docteur .de-formule__tete { font-size: 26px; }
  body.st-docteur .de-jauge { flex-basis: 100%; }
  body.st-docteur .de-faq summary { font-size: 18px; }
  body.st-docteur .de-cta-final__inner { padding-top: 64px; padding-bottom: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  body.st-docteur .de *, body.st-docteur .de *::before, body.st-docteur .de *::after { animation: none !important; transition: none !important; }
}
@media print {
  @page { size: A4; margin: 14mm; }
  body.st-docteur { background: #FFFFFF; }
  body.st-docteur .de *, body.st-docteur .de *::before { animation: none !important; transition: none !important; box-shadow: none !important; }
  body.st-docteur #st-header, body.st-docteur .elementor-location-header, body.st-docteur .elementor-location-footer, body.st-docteur .st-footer, body.st-docteur .de-noprint, body.st-docteur #cmplz-cookiebanner-container, body.st-docteur .cmplz-cookiebanner { display: none !important; }
  body.st-docteur .de-bilan { background: #FFFFFF; }
  body.st-docteur .de-bilan__corps { padding: 0; }
  body.st-docteur .de-carte--degrade, body.st-docteur .de-obl--nuit, body.st-docteur .de-rdv { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.st-docteur .de-obl, body.st-docteur .de-schema__bloc { break-inside: avoid; }
  body.st-docteur .de-schema { flex-direction: column; background: none; }
  body.st-docteur .de-schema__lien { display: none; }
  body.st-docteur .de-schema__bloc { margin: 0 0 10px !important; }
}
