:root{
  --bg:#f6f7fb;
  --panel:#ffffff;
  --ink:#152033;
  --muted:#667085;
  --line:#d8deea;
  --soft:#edf2f7;
  --accent:#1d4ed8;
  --accent2:#0f766e;
  --danger:#b42318;
  --warn:#b54708;
  --ok:#027a48;
  --shadow:0 18px 50px rgba(21,32,51,.10);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
a{color:inherit}
button,a.primary,a.ghost{font:inherit}
.hero{padding:28px clamp(18px,4vw,58px) 44px;background:linear-gradient(135deg,#0f172a,#1e3a8a 55%,#0f766e);color:white}
.small-hero{padding-bottom:28px}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:40px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em}
.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:white;color:#1e3a8a;font-weight:900}
.top-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:28px;align-items:start;max-width:1220px;margin:0 auto}
.hero h1{font-size:clamp(2.2rem,5vw,4.9rem);line-height:.98;margin:0 0 18px;letter-spacing:-.06em;max-width:980px}
.hero .lead{font-size:clamp(1.05rem,2vw,1.32rem);max-width:850px;color:#e0e7ff}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:#0f766e;margin:0 0 8px}
.hero .eyebrow{color:#99f6e4}.lead-small{font-size:1.05rem;color:var(--muted)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.hero-card{color:var(--ink)}.hero-card h2{margin-top:0}.mode-grid{display:grid;gap:10px;margin:16px 0}
.mode{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;text-align:left;cursor:pointer;transition:.18s ease}
.mode:hover,.mode.active{border-color:var(--accent);box-shadow:0 0 0 3px rgba(29,78,216,.12)}
.mode span{display:block;color:var(--muted);font-size:.92rem;margin-top:4px}
button,.primary,.secondary,.ghost{border:0;border-radius:14px;padding:12px 16px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;cursor:pointer;transition:.18s ease;font-weight:750}
.primary{background:var(--accent);color:#fff}.primary:hover{filter:brightness(.95);transform:translateY(-1px)}
.secondary{background:#e7f0ff;color:#123b7a}.secondary:hover{background:#d9e8ff}.ghost{background:rgba(255,255,255,.12);color:white;border:1px solid rgba(255,255,255,.25)}
.card .ghost{background:white;color:var(--accent);border:1px solid var(--line)}.small{padding:8px 12px;font-size:.9rem}.wide{width:100%}
.notice{padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);max-width:850px}.privacy strong{color:#fff}
.layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:26px;max-width:1260px;margin:-24px auto 50px;padding:0 clamp(16px,3vw,30px)}
.sidebar{min-width:0}.sticky{position:sticky;top:16px;display:grid;gap:16px}.content{min-width:0;display:grid;gap:22px}.progress-meta{display:flex;justify-content:space-between;font-weight:800}.bar{height:10px;border-radius:99px;background:var(--soft);overflow:hidden;margin:12px 0}.bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:.25s ease}.muted{color:var(--muted)}
.questionnaire{display:grid;gap:20px}.section-head h2,.card h2{margin:0 0 10px}.question-section{border-top:1px solid var(--line);padding-top:20px;margin-top:8px}.question-section h3{font-size:1.25rem;margin:0 0 14px}.question{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;margin:14px 0}.question.required .label:after{content:" *";color:var(--danger)}.label{font-weight:800;display:block;margin-bottom:8px}.help{color:var(--muted);font-size:.95rem;margin:0 0 12px}.options{display:grid;gap:10px}.option{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcff;cursor:pointer}.option:hover{border-color:#a8b7d7}.option input{margin-top:4px}input[type="number"],select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;background:white;color:var(--ink)}.unit{font-size:.9rem;color:var(--muted);margin-top:6px}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.hidden{display:none!important}
.results{display:grid;gap:22px}.report-cover{background:linear-gradient(180deg,#fff,#f8fbff)}.score-row{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.score-circle{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) 0deg,#e5e7eb 0deg);position:relative}.score-circle:before{content:"";position:absolute;inset:12px;border-radius:50%;background:white}.score-circle span,.score-circle small{position:relative;z-index:1}.score-circle span{font-size:3rem;font-weight:900;letter-spacing:-.07em}.score-circle small{font-weight:800;color:var(--muted)}.disclaimer{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;border-radius:14px;padding:12px}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.category{border:1px solid var(--line);border-radius:16px;padding:14px}.category header{display:flex;justify-content:space-between;gap:12px;font-weight:850}.riskbar{height:9px;border-radius:99px;background:#edf2f7;overflow:hidden;margin:10px 0}.riskbar span{display:block;height:100%;background:var(--accent);width:0}.tag{display:inline-flex;align-items:center;border-radius:99px;padding:4px 9px;font-size:.82rem;font-weight:800;background:#eef4ff;color:#1d4ed8}.tag.warn{background:#fff7ed;color:#b54708}.tag.danger{background:#fef3f2;color:#b42318}.tag.ok{background:#ecfdf3;color:#027a48}.alert{border:1px solid #fed7aa;background:#fffbeb;border-radius:16px;padding:14px;margin:10px 0}.alert.critique{border-color:#fecaca;background:#fef2f2}.alert h3{margin:0 0 8px}.alert ul{margin-bottom:0}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mini-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfcff}.mini-card h3{margin:0 0 8px}.roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.roadmap h3{margin:0 0 8px}.roadmap ul,.checklist ul{padding-left:20px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;margin:12px 0}table{border-collapse:collapse;width:100%;min-width:720px;background:white}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{background:#f8fafc}.sources a{word-break:break-word}.premium{border-color:#bfdbfe;background:linear-gradient(180deg,#fff,#eff6ff)}.cta-inline{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.footer{text-align:center;color:var(--muted);padding:30px}.admin-layout{max-width:1100px;margin:30px auto}.admin-controls{display:flex;gap:12px;margin:12px 0;flex-wrap:wrap}#jsonEditor{height:620px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.45;white-space:pre}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill{background:#f2f4f7;border:1px solid #e4e7ec;border-radius:999px;padding:6px 10px;font-weight:700;font-size:.87rem}.print-only{display:none}

.flow-table td:first-child{font-weight:800;min-width:150px}.risk-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:850}.risk-low{background:#ecfdf3;color:#027a48}.risk-med{background:#eef4ff;color:#1d4ed8}.risk-high{background:#fff7ed;color:#b54708}.risk-critical{background:#fef3f2;color:#b42318}.qa-item{border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0;background:#fbfcff}.qa-item h3{margin:0 0 8px}.crisis-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.crisis-box{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfcff}.doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mono-note{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:10px;white-space:pre-wrap}.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfcff}.metric strong{display:block;font-size:1.3rem}.warning-box{border:1px solid #fed7aa;background:#fffbeb;color:#7c2d12;border-radius:14px;padding:12px;margin:10px 0}
@media(max-width:920px){.crisis-grid,.doc-grid,.metric-row{grid-template-columns:1fr}}

@media(max-width:920px){.hero-grid,.layout{grid-template-columns:1fr}.layout{margin-top:16px}.sticky{position:static}.category-grid,.cards-grid,.roadmap{grid-template-columns:1fr}.hero h1{font-size:2.5rem}.topbar{align-items:flex-start;flex-direction:column}}
@media print{body{background:white;color:#111}.hero,.sidebar,.footer,.form-actions,.top-actions,.cta-inline,.mode-grid,#questionnaire,#copyChecklistBtn,#exportFinalBtn,#comparatorCard{display:none!important}.layout{display:block;margin:0;padding:0;max-width:none}.content{display:block}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid;margin:0 0 14px;padding:18px}.hidden{display:block!important}.results{display:block}.print-only{display:block}a{color:#111;text-decoration:none}.score-circle{border:1px solid #ddd;background:white!important}.riskbar span{background:#555!important}}


/* Android wrapper additions */
.android-badge {
  display:inline-flex; align-items:center; gap:.35rem; border:1px solid rgba(255,255,255,.25);
  padding:.35rem .55rem; border-radius:999px; font-size:.82rem; color:var(--muted, #6b7280);
}
.android-paywall {
  position: fixed; inset: 0; display: none; align-items: center; justify-content: center;
  background: rgba(3, 7, 18, .72); z-index: 9999; padding: 1rem;
}
.android-paywall.visible { display:flex; }
.android-paywall-card {
  max-width: 640px; width: min(640px, 100%); background: #fff; color: #111827; border-radius: 24px;
  padding: 1.4rem; box-shadow: 0 20px 80px rgba(0,0,0,.35);
}
.android-paywall-card h2 { margin-top: 0; }
.android-paywall-card .actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem; }
.android-free .mode[data-mode="complete"], .android-free .mode[data-mode="audit"] { opacity:.62; position:relative; }
.android-free .mode[data-mode="complete"]::after, .android-free .mode[data-mode="audit"]::after {
  content:'Premium'; position:absolute; top:.5rem; right:.5rem; font-size:.72rem; padding:.18rem .48rem;
  border-radius:999px; background:#111827; color:#fff;
}
.android-free #comparatorCard, .android-free #auditPack { border: 1px dashed rgba(17,24,39,.28); }
@media print { .android-paywall, .android-badge { display:none!important; } }


/* === V5 mobile-friendly layer === */
:root{
  --warm:#fff7ed;
  --warm2:#ffedd5;
  --violet:#6d28d9;
  --cyan:#0891b2;
  --green:#059669;
  --surface:rgba(255,255,255,.86);
}
body{background:
  radial-gradient(circle at 15% 5%, rgba(14,165,233,.14), transparent 32rem),
  radial-gradient(circle at 85% 0%, rgba(249,115,22,.13), transparent 26rem),
  linear-gradient(180deg,#f8fafc 0%,#f6f7fb 45%,#f8fafc 100%);
}
.app-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 50%,#0f766e 100%)}
.app-hero:before{content:"";position:absolute;inset:-20% -10% auto auto;width:520px;height:520px;background:radial-gradient(circle,rgba(255,255,255,.20),transparent 62%);pointer-events:none}
.app-hero:after{content:"";position:absolute;left:8%;bottom:-110px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.08);filter:blur(2px)}
.app-hero>*{position:relative;z-index:1}
.friendly-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.78fr);align-items:stretch}
.hero-copy h1{font-size:clamp(2.2rem,6vw,5rem);line-height:.92;max-width:980px;letter-spacing:-.065em;margin-bottom:22px}
.hero-copy .lead{font-size:clamp(1.05rem,2vw,1.32rem);max-width:820px;color:rgba(255,255,255,.88)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 18px}
.big{padding:15px 19px;border-radius:18px;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.soft-notice{backdrop-filter:blur(10px);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff}
.trust-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.trust-strip span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.23);font-weight:760;font-size:.9rem}
.friendly-mode-card{position:relative;background:rgba(255,255,255,.94);color:var(--ink);box-shadow:0 26px 80px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.65)}
.mascot-bubble{position:absolute;right:20px;top:-26px;width:64px;height:64px;border-radius:22px;background:linear-gradient(135deg,#fff7ed,#e0f2fe);display:grid;place-items:center;font-size:2rem;box-shadow:var(--shadow);transform:rotate(4deg)}
.mode-grid{gap:12px}
.mode{position:relative;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f8fafc);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;text-align:left;overflow:hidden}
.mode:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.12)}
.mode.active{background:linear-gradient(135deg,#eef2ff,#ecfeff);border-color:#60a5fa;box-shadow:0 12px 35px rgba(37,99,235,.18)}
.mode-icon{font-size:1.35rem;margin-right:4px}
.mode em{display:inline-flex;margin-top:8px;font-style:normal;color:#0f766e;font-weight:800;font-size:.82rem;background:#ccfbf1;padding:4px 8px;border-radius:999px}
.feature-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1180px;margin:28px auto 0}
.feature-card{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:15px 16px;color:white;backdrop-filter:blur(8px);display:grid;gap:4px}
.feature-card span{font-size:1.5rem}.feature-card strong{font-size:1rem}.feature-card small{opacity:.82;line-height:1.35}
.app-layout{align-items:start}.friendly-progress{background:linear-gradient(180deg,#fff,#f8fafc)}
.progress-nudge{background:linear-gradient(135deg,#eff6ff,#ecfdf5);border:1px solid #bfdbfe;border-radius:16px;padding:12px 13px;margin:14px 0 0;color:#1e3a8a;font-weight:650}
.section-nav{display:grid;gap:8px}.section-pill{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;font-size:.88rem;color:#334155;text-decoration:none}.section-pill .dot{width:9px;height:9px;border-radius:50%;background:#94a3b8}.section-pill.done .dot{background:#059669}.section-pill.active{border-color:#60a5fa;background:#eff6ff;color:#1d4ed8;font-weight:800}
.calm-cta{background:linear-gradient(180deg,#ffffff,#fff7ed)}
.learning-hub{border:0;background:linear-gradient(135deg,#ffffff,#f0f9ff);box-shadow:0 24px 70px rgba(14,116,144,.11)}
.split-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.split-head>div{min-width:0}.mini-meter{min-width:92px;height:92px;border-radius:28px;background:linear-gradient(135deg,#1d4ed8,#0f766e);color:white;display:grid;place-items:center;text-align:center;box-shadow:0 16px 40px rgba(29,78,216,.22)}.mini-meter span{font-weight:900;font-size:1.6rem}.mini-meter small{margin-top:-12px;opacity:.85}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.video-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.video-card{position:relative;border-radius:22px;overflow:hidden;background:white;border:1px solid #dbeafe;box-shadow:0 14px 40px rgba(15,23,42,.08)}.video-thumb{min-height:120px;background:linear-gradient(135deg,#1e3a8a,#0891b2 60%,#f97316);color:white;padding:16px;display:flex;flex-direction:column;justify-content:space-between}.video-play{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.20);border:1px solid rgba(255,255,255,.4);font-weight:900}.video-body{padding:14px}.video-body h3{margin:.1rem 0 .45rem;font-size:1rem;line-height:1.25}.video-meta{display:flex;gap:6px;flex-wrap:wrap;margin:.7rem 0}.video-meta span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:4px 7px;font-size:.75rem;font-weight:750;color:#475569}.video-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.video-actions button,.video-actions a{font-size:.85rem;padding:8px 10px;border-radius:12px;text-decoration:none}.video-card.featured:before{content:"Recommandé";position:absolute;top:12px;right:12px;background:#f97316;color:white;font-weight:900;font-size:.7rem;padding:5px 8px;border-radius:999px;z-index:1}
.video-dialog{border:0;border-radius:24px;padding:0;max-width:min(900px,94vw);width:860px;background:#020617;color:white;box-shadow:0 35px 90px rgba(0,0,0,.42)}.video-dialog::backdrop{background:rgba(2,6,23,.72);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:10px;top:8px;z-index:4;border:0;background:rgba(255,255,255,.13);color:white;width:38px;height:38px;border-radius:50%;font-size:1.7rem;line-height:1;cursor:pointer}.video-frame-wrap{aspect-ratio:16/9;background:#000;border-radius:24px 24px 0 0;overflow:hidden}.video-frame-wrap iframe{width:100%;height:100%;border:0}.video-dialog-info{padding:16px 18px 20px}.video-dialog-info h3{margin:.2rem 0 .4rem}.video-dialog-info p{color:#cbd5e1}.video-privacy{font-size:.88rem;color:#fde68a!important}
.friendly-questionnaire{background:rgba(255,255,255,.92);backdrop-filter:blur(8px)}
.question-section{position:relative;border:1px solid #e2e8f0;background:linear-gradient(180deg,#ffffff,#f8fafc);border-radius:26px;padding:22px;margin:18px 0;box-shadow:0 14px 42px rgba(15,23,42,.06)}.question-section>h3{display:flex;align-items:center;gap:10px;margin-top:0;font-size:1.3rem}.question-section>h3:before{content:"";width:13px;height:13px;border-radius:5px;background:linear-gradient(135deg,#1d4ed8,#0f766e)}
.question{border:1px solid #e5e7eb;border-radius:22px;background:white;padding:18px;margin:14px 0;box-shadow:0 10px 26px rgba(15,23,42,.045);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.question:hover{border-color:#bfdbfe;box-shadow:0 14px 36px rgba(37,99,235,.09)}.question.answered{border-color:#a7f3d0;background:linear-gradient(180deg,#ffffff,#f0fdf4)}.question.required:before{content:"Important";display:inline-flex;margin-bottom:8px;background:#fef3c7;color:#92400e;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.label{font-weight:850;font-size:1.02rem;color:#0f172a}.help{background:#f8fafc;border-left:4px solid #38bdf8;padding:10px 12px;border-radius:12px;color:#475569}
.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.option{position:relative;display:flex;gap:9px;align-items:flex-start;padding:12px 13px;border:1px solid #dbe3ef;border-radius:16px;background:#fff;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.option:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.08);border-color:#93c5fd}.option input{margin-top:3px;accent-color:#1d4ed8}.option:has(input:checked){border-color:#2563eb;background:#eff6ff;box-shadow:0 10px 28px rgba(37,99,235,.13)}input[type="number"]{border-radius:16px;border:1px solid #cbd5e1;padding:13px 14px;font-size:1rem;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.floating-actions{position:sticky;bottom:10px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border:1px solid #e2e8f0;border-radius:22px;padding:12px;box-shadow:0 18px 44px rgba(15,23,42,.16);z-index:4}
.friendly-report-cover{background:linear-gradient(135deg,#fff,#eef2ff 52%,#ecfeff)}.crisis-card{border-color:#fed7aa;background:linear-gradient(180deg,#fff,#fff7ed)}.cards-grid .mini-card,.doc-grid .mini-card{transition:transform .16s ease,box-shadow .16s ease}.cards-grid .mini-card:hover,.doc-grid .mini-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.08)}
@media(max-width:980px){.friendly-hero-grid{grid-template-columns:1fr}.feature-row{grid-template-columns:repeat(2,minmax(0,1fr))}.video-grid,.video-grid.compact{grid-template-columns:1fr}.split-head{display:block}.mini-meter{margin:14px 0 0;width:86px;height:86px}.options{grid-template-columns:1fr}.layout{grid-template-columns:1fr}.sidebar{position:static}.section-card{display:none}}
@media(max-width:620px){.hero{padding:18px 14px 30px}.hero-copy h1{font-size:2.55rem}.feature-row{grid-template-columns:1fr}.topbar{align-items:flex-start}.brand{font-size:.95rem}.top-actions{gap:6px}.ghost.small{padding:7px 9px}.card{border-radius:20px}.question-section{padding:15px;border-radius:22px}.question{padding:14px;border-radius:18px}.floating-actions{display:grid}.score-row{align-items:center}.video-dialog{width:96vw}.hero-actions .big{width:100%}}
@media print{.learning-hub,.video-dialog,.feature-row,.trust-strip,.hero-actions,.section-card,.floating-actions{display:none!important}.question{box-shadow:none}.app-hero{background:#fff!important;color:#111!important}}


/* V5 prelaunch refinements */
.onboarding-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:center;margin:16px auto 26px;max-width:1180px;padding:14px;border:1px solid rgba(71,191,166,.35);background:rgba(255,255,255,.78);border-radius:22px;box-shadow:0 16px 42px rgba(27,58,87,.10);backdrop-filter:blur(10px)}
.onboarding-step{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(244,250,249,.92))}
.onboarding-step strong{color:#15324b;font-size:.95rem}.onboarding-step span{color:#536779;font-size:.86rem}.hidden{display:none!important}.danger{color:#a23737!important}.ghost.danger:hover,.secondary.danger:hover{border-color:#d45b5b;background:#fff5f5}.external-video-card{padding:12px}.single-page{max-width:980px;margin:0 auto;padding:32px 18px}.single-page .card{margin-top:24px}.android-premium .ad-only,.android-premium .android-paywall{display:none!important}
@media (max-width:900px){.onboarding-card{grid-template-columns:1fr}.onboarding-card .small{width:100%}}

/* V5.1 legal pages */
.legal-page{display:block;max-width:1040px;margin:0 auto;padding:32px 18px 44px}.legal-card h1{font-size:2.25rem;margin-bottom:.75rem}.legal-card h2{margin-top:1.7rem;padding-top:.85rem;border-top:1px solid #e2e8f0;color:#15324b}.legal-card ul{padding-left:1.25rem}.legal-card li{margin:.45rem 0}.legal-box{background:linear-gradient(135deg,#f8fafc,#eef2ff);border:1px solid #dbeafe;border-radius:18px;padding:14px 16px;margin:14px 0}.warning-box{background:linear-gradient(135deg,#fff7ed,#fef3c7);border-color:#fed7aa}.legal-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;padding-top:18px;border-top:1px solid #e2e8f0}.legal-footer{display:grid;gap:8px}.footer-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.footer-links a{color:#dbeafe;text-decoration:none;border:1px solid rgba(255,255,255,.22);padding:6px 9px;border-radius:999px}.footer-links a:hover{background:rgba(255,255,255,.12)}
@media(max-width:620px){.legal-page{padding:18px 12px 32px}.legal-card h1{font-size:1.85rem}.legal-nav a{width:100%;text-align:center}.footer-links{justify-content:flex-start}.footer-links a{font-size:.84rem}}

.premium-price-line {
  margin: 12px 0;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(15,23,42,0.08);
  font-size: 0.98rem;
}
body.android-premium .android-paywall { display: none !important; }


/* V6.1 - Correctif mobile WebView
   Objectif : éviter l'effet zoom / débordement horizontal dans l'app Android. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
*, *::before, *::after {
  box-sizing: border-box;
}
img, iframe, video, table {
  max-width: 100%;
}
body.android-native {
  font-size: 15px;
}
body.android-native .label,
body.android-native .help,
body.android-native .option,
body.android-native .card,
body.android-native p,
body.android-native h1,
body.android-native h2,
body.android-native h3 {
  overflow-wrap: anywhere;
  word-break: normal;
}
body.android-native .floating-actions {
  z-index: 20;
}

@media (max-width: 620px) {
  body.android-native {
    font-size: 14px;
    line-height: 1.45;
  }
  body.android-native .hero {
    padding: 14px 10px 18px;
  }
  body.android-native .hero-copy h1 {
    font-size: 2rem;
    line-height: 1.04;
    letter-spacing: -0.035em;
  }
  body.android-native .hero .lead,
  body.android-native .hero-copy .lead {
    font-size: 0.98rem;
  }
  body.android-native .layout {
    padding: 0 8px;
    margin: 10px auto 70px;
    gap: 14px;
    width: 100%;
    max-width: 100%;
  }
  body.android-native .content {
    gap: 14px;
    width: 100%;
    min-width: 0;
  }
  body.android-native .card {
    padding: 12px;
    border-radius: 18px;
  }
  body.android-native .questionnaire {
    gap: 12px;
  }
  body.android-native .question-section {
    padding: 12px;
    margin: 12px 0;
    border-radius: 18px;
  }
  body.android-native .question-section > h3 {
    font-size: 1.05rem;
    line-height: 1.25;
  }
  body.android-native .question {
    padding: 12px;
    margin: 10px 0;
    border-radius: 16px;
  }
  body.android-native .label {
    font-size: 0.98rem;
    line-height: 1.28;
  }
  body.android-native .help {
    font-size: 0.9rem;
    line-height: 1.42;
    padding: 9px 10px;
  }
  body.android-native .options {
    grid-template-columns: 1fr !important;
    gap: 8px;
  }
  body.android-native .option {
    padding: 11px 10px;
    border-radius: 14px;
    font-size: 0.98rem;
    line-height: 1.25;
    align-items: center;
  }
  body.android-native .option input {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    margin-top: 0;
  }
  body.android-native .section-head h2,
  body.android-native .card h2 {
    font-size: 1.2rem;
    line-height: 1.25;
  }
  body.android-native .split-head {
    gap: 8px;
  }
  body.android-native .floating-actions {
    position: sticky;
    bottom: 4px;
    display: grid;
    grid-template-columns: 1fr;
    padding: 8px;
    border-radius: 16px;
  }
  body.android-native .floating-actions button {
    width: 100%;
    min-height: 44px;
  }
  body.android-native .floating-actions #saveBtn {
    display: none;
  }
}

/* Web / WordPress additions */
.market-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
  margin: 14px 0 24px;
}
.market-card {
  border: 1px solid var(--border, #dbe3ef);
  border-radius: 18px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
}
.market-card h4 { margin: 0 0 6px; font-size: 1.05rem; }
.market-card .tagline { color: var(--primary, #1d4ed8); font-weight: 700; margin: 0 0 10px; }
.market-card p { margin: 8px 0; }
.market-card a { font-weight: 700; }
.wordpress-embed-note {
  margin: 16px auto;
  max-width: 980px;
  padding: 12px 16px;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  background: #eff6ff;
}
@media (max-width: 680px) {
  .market-grid { grid-template-columns: 1fr; }
}

/* V4 - niveau de risque des scores par catégorie */
.tag.info{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}


/* V7 - outil de décision, rapport PDF et modules d'audit */
.confidence-box{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:center;background:linear-gradient(135deg,#f8fbff,#eef7f5);border:1px solid var(--line);border-radius:18px;padding:16px;margin:10px 0 14px}
.score-mini{min-height:118px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(21,32,51,.08);text-align:center}
.score-mini strong{font-size:2.1rem;letter-spacing:-.04em}.score-mini span{font-weight:700}.score-mini.ok{color:var(--ok)}.score-mini.warn{color:var(--warn)}.score-mini.bad{color:var(--danger)}
.matrix-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.matrix-row{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px}.matrix-row header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.matrix-row header span{font-weight:800;white-space:nowrap}
.scenario-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.scenario-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.scenario-card h3{font-size:1rem;margin:.45rem 0}.scenario-card p{margin:0;color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}table{width:100%;border-collapse:collapse}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc;font-size:.9rem;color:var(--muted)}tr:last-child td{border-bottom:0}
.policy-list{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px 16px 38px}.policy-list li{margin:.35rem 0}
@media(max-width:980px){.matrix-grid,.scenario-grid{grid-template-columns:1fr 1fr}.confidence-box{grid-template-columns:1fr}.score-mini{min-height:92px}}
@media(max-width:640px){.matrix-grid,.scenario-grid{grid-template-columns:1fr}.confidence-box{padding:12px}.policy-list{padding-left:28px}}
@media print{
  body{background:#fff;color:#111;font-size:12pt}.topbar,.onboarding-card,.hero,.mode-card,.learning-hub,.sidebar,.questionnaire,.footer,.video-dialog,.toast{display:none!important}.layout{display:block;max-width:none;margin:0;padding:0}.results{display:block!important}.card{break-inside:avoid;box-shadow:none;border:1px solid #ddd;margin:0 0 14px;padding:14px}.results-header{box-shadow:none;border:1px solid #ddd;margin-bottom:14px}.results-actions,.video-grid,.premium .cta-inline{display:none!important}.score-circle{box-shadow:none}.print-priority{break-inside:avoid}.market-tool-grid,.doc-grid,.cards-grid{grid-template-columns:1fr 1fr!important}.matrix-grid,.scenario-grid{grid-template-columns:1fr 1fr!important}a{color:#111;text-decoration:none}.muted{color:#444}.riskbar span{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* V8 decision modules */
.policy-block { border:1px solid rgba(15,23,42,.10); border-radius:18px; padding:18px; margin:14px 0; background:#fff; }
.policy-block h3 { margin-top:0; }
.policy-block .secondary { margin-top:10px; }
.table-wrap table td ul { margin:0; padding-left:18px; }
.market-card p strong { color:#152033; }
@media print { .policy-block button, #copySupplierQuestionnaireBtn { display:none !important; } }


/* V9 - pack documentaire et tonalité professionnelle */
.generated-doc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.generated-doc-grid .policy-block { display:flex; flex-direction:column; }
.generated-doc-grid .policy-list { flex:1; max-height:520px; overflow:auto; }
.legal-card .lead-small, .legal-page .lead-small { color: var(--muted); }
@media(max-width:980px){ .generated-doc-grid{grid-template-columns:1fr;} .generated-doc-grid .policy-list{max-height:none;} }
@media print { .generated-doc-grid{grid-template-columns:1fr!important;} .generated-doc-grid .policy-list{max-height:none;overflow:visible;} .policy-block button, #copyDocInternalAiBtn, #copyDocExternalAiBtn, #copyDocPrivacyBtn, #copyDocDisclaimerBtn { display:none!important; } }


/* V10 - livrables et tableaux de décision */
.notice-card, .neutrality-card { border: 1px solid rgba(15, 23, 42, .10); border-radius: 18px; padding: 16px; background: #fff; }
.doc-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.doc-actions button { margin:0; }
.status-pill { display:inline-flex; align-items:center; border-radius:999px; padding:4px 10px; font-weight:700; font-size:.82rem; background:#eef2ff; color:#1e3a8a; }
.status-pill.ok { background:#ecfdf3; color:#027a48; }
.status-pill.warn { background:#fffaeb; color:#b54708; }
.status-pill.bad { background:#fef3f2; color:#b42318; }
.livrable-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:14px; }
.livrable-card { border:1px solid rgba(15,23,42,.10); border-radius:18px; padding:14px; background:#ffffff; }
.method-note { border-left:4px solid #1d4ed8; padding:12px 14px; background:#eff6ff; border-radius:12px; }
@media print { .doc-actions, #exportableDeliverables button { display:none !important; } }

.source-badge{display:inline-block;padding:.18rem .5rem;border-radius:999px;background:#eef2ff;color:#1e3a8a;font-weight:700;font-size:.78rem}
.generated-doc-grid .method-note ul{margin:.5rem 0 0 1rem}


.legal-model-pre{white-space:pre-wrap;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px 16px;max-height:520px;overflow:auto;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.93rem;line-height:1.58;color:var(--ink)}
.policy-block .legal-model-pre{margin-top:12px}
.generated-doc-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
@media print{.legal-model-pre{max-height:none;overflow:visible;border:0;background:#fff;padding:0}}


/* V10.4 pédagogie */
.glossary-hub { border: 1px solid rgba(37, 99, 235, .18); }
.glossary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.glossary-grid.compact { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.glossary-card, .pedagogy-card { border: 1px solid rgba(15, 23, 42, .10); background: #fff; border-radius: 16px; padding: 14px; }
.glossary-card h3 { margin: 0 0 8px; font-size: 1rem; }
.term-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 10px; }
.term-pill { display: inline-flex; gap: 4px; align-items: center; border: 1px solid rgba(37,99,235,.18); background: rgba(37,99,235,.06); color: #1e3a8a; border-radius: 999px; padding: 6px 10px; font-size: .82rem; line-height: 1.25; }
.question-pedagogy { margin: 12px 0 0; border: 1px solid rgba(15,23,42,.10); background: #f8fafc; border-radius: 14px; padding: 10px 12px; }
.question-pedagogy summary { cursor: pointer; font-weight: 700; color: #334155; }
.pedagogy-body { margin-top: 10px; display: grid; gap: 7px; }
.pedagogy-body p { margin: 0; color: #334155; }
.pedagogical-list { display: grid; gap: 10px; margin: 0; padding-left: 22px; }
.coherence-list { display: grid; gap: 10px; margin: 0; padding-left: 20px; }
.source-badge { display: inline-block; border-radius: 999px; padding: 2px 8px; background: #eef2ff; color: #3730a3; font-size: .78rem; }
@media print { .question-pedagogy, .glossary-hub { break-inside: avoid; } }


/* V11 Design & UX professionnelle */
:root{
  --bg:#f3f5f9;
  --panel:#ffffff;
  --ink:#0f1b2d;
  --muted:#5b687d;
  --line:#dde3ee;
  --soft:#eef2f7;
  --accent:#1f4aa8;
  --accent2:#155e75;
  --shadow:0 18px 55px rgba(15,27,45,.08);
  --radius:22px;
}
body{background:linear-gradient(180deg,#eef2f7 0,#f7f9fc 20%,#f3f5f9 100%);color:var(--ink)}
.hero{background:linear-gradient(140deg,#13233b,#21438f 48%,#155e75)}
.hero-grid,.layout,.home-panels{max-width:1240px;margin-left:auto;margin-right:auto}
.hero-copy h1{max-width:960px;font-size:clamp(2.4rem,4.8vw,4.6rem);line-height:1.01;letter-spacing:-.05em}
.hero .lead{max-width:860px;color:#dbeafe}
.hero-card,.onboarding-card,.card{box-shadow:0 20px 55px rgba(15,27,45,.08)}
.topbar{margin-bottom:26px}
.top-actions .ghost.small{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18)}
.soft-notice{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.16)}
.feature-row{max-width:1240px;margin:24px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.feature-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);border-radius:18px;padding:16px;color:#fff;display:grid;gap:8px;min-height:118px}
.feature-card span{font-size:1.4rem}
.feature-card strong{font-size:1rem}
.feature-card small{color:#dbeafe;line-height:1.45}
.home-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:26px 0 0}
.home-panel{padding:22px 22px 20px;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.home-panel h2{font-size:1.15rem;margin:10px 0 8px}
.home-panel p{color:var(--muted);margin:0}
.home-panel-icon{display:inline-flex;align-items:center;justify-content:center;min-width:78px;height:34px;border-radius:999px;background:#eef4ff;color:#163b7a;font-weight:900;font-size:.82rem;letter-spacing:.02em;text-transform:uppercase}
.layout{gap:28px;margin-top:-6px}
.sidebar .card,.content .card{border-color:#e3e9f3}
.section-card,.cta-card,.progress-card{background:linear-gradient(180deg,#ffffff,#fbfcff)}
.progress-card{border-top:4px solid rgba(31,74,168,.16)}
.section-nav{display:grid;gap:9px}
.section-nav a,.section-nav button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;font-weight:700}
.section-nav a.active,.section-nav a:hover{border-color:#bfd2f5;background:#f8fbff}
.questionnaire{padding:28px}
.question-section{padding:24px;border-radius:24px;background:linear-gradient(180deg,#ffffff,#f9fbfe)}
.question{padding:20px;border-radius:20px}
.question-pedagogy{margin-top:12px;border:1px solid #e3e8f1;border-radius:16px;background:#fafcff}
.question-pedagogy summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:780;color:#143463}
.question-pedagogy summary::-webkit-details-marker{display:none}
.question-pedagogy[open] summary{border-bottom:1px solid #e6ebf3;background:#f2f6fb}
.pedagogy-body{padding:14px 16px;color:#344256}
.results{gap:18px}
.report-cover{padding:30px 30px 28px}
.score-row{align-items:center}
.dashboard-card,.report-nav-card,.documents-showcase-card{background:linear-gradient(180deg,#ffffff,#f9fbfe)}
.dashboard-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px}
.dashboard-column h3{margin:0 0 12px;font-size:1rem}
.dashboard-matrix{display:grid;gap:12px}
.dashboard-metric{border:1px solid #e3e9f2;border-radius:16px;padding:14px;background:#fff}
.dashboard-metric-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:800}
.dashboard-track{height:10px;background:#edf2f7;border-radius:999px;overflow:hidden;margin:10px 0 8px}
.dashboard-track span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.dashboard-track.compact{margin:8px 0 12px;height:8px}
.dashboard-list{display:grid;gap:10px}
.dashboard-item{border:1px solid #e3e9f2;border-radius:16px;padding:12px;background:#fff}
.dashboard-item.compact strong{display:block;margin-bottom:4px}
.report-nav-pills{display:flex;flex-wrap:wrap;gap:10px}
.report-nav-pill{display:inline-flex;align-items:center;padding:10px 12px;border-radius:999px;border:1px solid #d6deea;background:#fff;text-decoration:none;color:#17315c;font-weight:760}
.report-nav-pill:hover{background:#f4f8ff;border-color:#b5c8ea}
.documents-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.document-showcase{border:1px solid #e2e8f0;border-radius:18px;padding:18px;background:#fff;display:grid;gap:10px;align-content:start}
.document-icon{font-size:1.4rem}
.document-showcase h3{margin:0;font-size:1rem}
.document-showcase p{margin:0;color:var(--muted)}
.document-actions{display:flex;gap:8px;margin-top:4px}
.generated-doc-grid{gap:16px}
.policy-block{border:1px solid #e2e8f0;border-radius:18px;padding:16px;background:#fff}
.livrable-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.livrable-card{border:1px solid #e2e8f0;border-radius:18px;padding:16px;background:#fff}
.scenario-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.scenario-compare-card{border:1px solid #e2e8f0;border-radius:18px;padding:18px;background:#fff;display:grid;gap:12px}
.scenario-compare-card h3{margin:0 0 4px}
.scenario-axis strong{display:block;margin-bottom:4px}
.scenario-axis p{margin:0 0 4px}
.scenario-limits{padding-top:6px;border-top:1px solid #edf2f7}
.scenario-limits ul{padding-left:18px;margin:.4rem 0 0}
.table-wrap{border-radius:18px}
.mini-card,.metric,.qa-item,.crisis-box,.market-card{border-radius:18px}
.footer-links a{background:rgba(255,255,255,.08)}
@media(max-width:1100px){
  .dashboard-grid{grid-template-columns:1fr}
  .documents-library-grid,.livrable-grid,.scenario-compare-grid,.doc-grid{grid-template-columns:1fr 1fr}
  .feature-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-panels{grid-template-columns:1fr}
}
@media(max-width:760px){
  .hero{padding:18px 14px 28px}
  .topbar{gap:12px}
  .hero-grid{gap:18px}
  .hero-copy h1{font-size:2.2rem}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .layout{padding:0 12px;margin:10px auto 44px}
  .questionnaire{padding:18px}
  .dashboard-card,.report-nav-card,.documents-showcase-card{padding:18px}
  .documents-library-grid,.livrable-grid,.scenario-compare-grid,.doc-grid,.feature-row{grid-template-columns:1fr}
  .report-nav-pills{display:grid;grid-template-columns:1fr}
  .report-nav-pill{justify-content:flex-start}
  .floating-actions{bottom:8px;border-radius:18px}
}
@media print{
  .home-panels,.report-nav-card,.documents-showcase-card,.feature-row,.question-pedagogy,.onboarding-card{display:none!important}
  .dashboard-grid,.documents-library-grid,.scenario-compare-grid{grid-template-columns:1fr 1fr}
  .report-cover,.dashboard-card{break-inside:avoid}
}

/* V11.1 — Premium sobre + questionnaire allégé */
:root{--bg:#f5f4f1;--panel:#fffdf9;--ink:#111827;--muted:#667085;--line:#e5e1d8;--accent:#172554;--accent2:#0f766e;--gold:#b99a5b;--shadow:0 22px 60px rgba(17,24,39,.075)}
body{background:radial-gradient(circle at top left,rgba(185,154,91,.14),transparent 32rem),linear-gradient(180deg,#f7f5f0 0,#fbfaf7 30%,#f5f4f1 100%)}
.hero{background:linear-gradient(145deg,rgba(17,24,39,.96),rgba(23,37,84,.95) 55%,rgba(15,76,92,.94)),radial-gradient(circle at top right,rgba(185,154,91,.28),transparent 30rem);padding-bottom:34px}
.brand-mark{background:linear-gradient(135deg,#fffdf7,#d7c08a);color:#111827;border-radius:999px}
.hero-copy h1{max-width:1020px;font-size:clamp(2.25rem,4.2vw,4.15rem);letter-spacing:-.045em}
.hero .lead{max-width:900px;color:#e5e7eb;font-size:clamp(1.02rem,1.7vw,1.22rem)}
.eyebrow{color:var(--gold)}.hero .eyebrow{color:#e6d3a5}
.hero-card{border:1px solid rgba(255,255,255,.16);background:rgba(255,253,249,.96)}
.mode-grid{grid-template-columns:1fr}.mode{display:grid;grid-template-columns:42px 1fr auto;column-gap:14px;align-items:center;border-radius:18px;padding:16px}
.mode-icon{display:grid!important;place-items:center;width:42px;height:42px;border-radius:50%;background:#f7f0df;color:#7a5b1d!important;margin:0!important;font-weight:900}
.mode strong{font-size:1.03rem}.mode span:not(.mode-icon){margin:0}.mode em{font-size:.8rem;color:#7a5b1d;background:#fbf4e4;border:1px solid #ead8ad;border-radius:999px;padding:5px 9px;font-style:normal;font-weight:800}
.home-panel{background:rgba(255,253,249,.94);border-color:rgba(229,225,216,.82);box-shadow:0 18px 44px rgba(17,24,39,.06)}.home-panel-icon{background:#f7f0df;color:#70521a}
.layout{grid-template-columns:300px minmax(0,1fr);max-width:1220px}.card{background:rgba(255,253,249,.96);border-color:var(--line)}
.learning-hub,.glossary-hub{background:rgba(255,253,249,.74);box-shadow:none}
.learning-hub .video-grid,.glossary-hub .glossary-grid{max-height:0;overflow:hidden;opacity:0;margin:0}
.learning-hub:hover .video-grid,.glossary-hub:hover .glossary-grid,.learning-hub:focus-within .video-grid,.glossary-hub:focus-within .glossary-grid{max-height:1200px;opacity:1;margin-top:16px;transition:.25s ease}
.questionnaire{padding:26px;background:rgba(255,253,249,.98)}.questionnaire-overview{margin:16px 0 4px}
.overview-card{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:14px;border:1px solid var(--line);border-radius:20px;padding:16px;background:linear-gradient(180deg,#fffdf9,#faf7ef)}
.overview-card>div{border-right:1px solid var(--line);padding-right:14px}.overview-card>div:last-child{border-right:0}
.overview-label{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;color:var(--muted);font-weight:850;margin-bottom:4px}.overview-card strong{display:block;font-size:1.05rem}
.question-step{padding:0;overflow:hidden;border-radius:22px;background:#fffdf9}.question-step-summary{display:flex;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;list-style:none;border-bottom:1px solid transparent}
.question-step-summary::-webkit-details-marker{display:none}.question-step[open] .question-step-summary{border-bottom-color:var(--line);background:linear-gradient(180deg,#fffdf9,#fbf8f0)}
.step-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#111827;color:#fff;font-weight:900;font-size:.86rem}.step-title{display:grid;flex:1}.step-title strong{font-size:1.08rem}.step-title small{color:var(--muted);margin-top:2px}
.step-toggle{color:#70521a;background:#f7f0df;border:1px solid #ead8ad;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:850}.question-step[open] .step-toggle{color:#0f5132;background:#ecfdf3;border-color:#bbf7d0}
.question-section-body{padding:18px 20px 20px}.question{box-shadow:none;border-radius:18px;background:#fff}.question:hover{transform:none;box-shadow:0 12px 28px rgba(17,24,39,.055)}
.question.required:before{background:#f7f0df;color:#70521a}.label{font-size:1rem;letter-spacing:-.01em}.help{background:#faf7ef;border-left-color:#b99a5b}.options{grid-template-columns:1fr}.option{border-radius:15px;padding:11px 12px}
.question-pedagogy{border-color:#e7dfd0;background:#fffaf1}.question-pedagogy summary{color:#70521a}.question-pedagogy[open] summary{background:#fbf4e4}
.progress-card{border-top:0;border-left:4px solid var(--gold)}.floating-actions{justify-content:flex-end;background:rgba(255,253,249,.92)}
.primary{background:#172554}.primary:hover{background:#0f1b3d}.secondary{background:#f7f0df;color:#70521a}.secondary:hover{background:#f1e5c8}
.dashboard-card,.report-nav-card,.documents-showcase-card,.report-cover{background:linear-gradient(180deg,#fffdf9,#faf7ef)}.dashboard-track span,.bar span{background:linear-gradient(90deg,#172554,#b99a5b)}
.report-nav-pill{background:#fffdf9;border-color:#e7dfd0;color:#172554}.report-nav-pill:hover{background:#fbf4e4}
.documents-library-grid,.livrable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-showcase,.livrable-card,.policy-block,.scenario-compare-card{background:#fffdf9;border-color:#e7dfd0}
.document-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f7f0df}.footer{background:#111827;color:#d1d5db}
@media(max-width:980px){.layout{grid-template-columns:1fr}.overview-card,.dashboard-grid{grid-template-columns:1fr}.overview-card>div{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}.overview-card>div:last-child{border-bottom:0;padding-bottom:0}.documents-library-grid,.livrable-grid,.scenario-compare-grid{grid-template-columns:1fr}.learning-hub .video-grid,.glossary-hub .glossary-grid{max-height:none;opacity:1}}
@media(max-width:640px){.hero-copy h1{font-size:2rem}.mode{grid-template-columns:36px 1fr}.mode em{grid-column:2;justify-self:start;margin-top:4px}.question-step-summary{padding:15px;gap:10px}.question-section-body{padding:12px}.step-toggle{display:none}.questionnaire{padding:14px}.floating-actions{position:sticky;display:grid;grid-template-columns:1fr}}
@media print{.learning-hub,.glossary-hub,.questionnaire-overview,.report-nav-card,.home-panels{display:none!important}.dashboard-grid{grid-template-columns:1fr 1fr}}


/* V11.2 — Correctifs lisibilité / mode cards / progression */
.friendly-mode-card{
  max-width: 520px;
}
.friendly-mode-card .mode-grid{
  display: grid;
  gap: 12px;
}
.friendly-mode-card .mode{
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "icon title time"
    "icon desc time";
  align-items: center;
  min-height: 96px;
  padding: 16px 18px !important;
  gap: 8px 14px;
  background: #fffdf9;
}
.friendly-mode-card .mode .mode-icon{
  grid-area: icon;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  font-size: 1rem;
  line-height: 1;
}
.friendly-mode-card .mode strong{
  grid-area: title;
  font-size: 1.05rem !important;
  line-height: 1.2;
  color: #111827;
}
.friendly-mode-card .mode > span:not(.mode-icon){
  grid-area: desc;
  display: block;
  font-size: .95rem !important;
  line-height: 1.35;
  color: #5b6475 !important;
  font-weight: 650;
}
.friendly-mode-card .mode em{
  grid-area: time;
  justify-self: end;
  align-self: center;
  min-width: 70px;
  max-width: 82px;
  text-align: center;
  white-space: normal;
  line-height: 1.15;
  font-size: .78rem !important;
  padding: 8px 10px !important;
  border-radius: 999px;
}

/* Le pourcentage d'avancement ne doit pas devenir une pastille verticale de fête foraine. */
.mini-meter{
  width: 104px !important;
  height: 104px !important;
  min-width: 104px;
  border-radius: 28px !important;
  padding: 12px !important;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg,#f8fafc,#eef2ff);
  border: 1px solid #dbe3ef;
  box-shadow: 0 14px 32px rgba(17,24,39,.08);
}
.mini-meter span,
#miniMeterValue{
  font-size: 1.85rem !important;
  line-height: 1 !important;
  letter-spacing: -.04em;
  white-space: nowrap;
}
.mini-meter small{
  font-size: .76rem !important;
  line-height: 1.2;
  color: #667085;
  white-space: nowrap;
}

/* Bloc résumé questionnaire : plus d'air, texte plus lisible. */
.overview-card{
  grid-template-columns: 1.3fr .8fr .8fr !important;
}
.overview-card strong{
  font-size: 1rem !important;
  line-height: 1.25;
  word-break: normal;
  overflow-wrap: anywhere;
}
.overview-label{
  font-size: .7rem !important;
}

/* Textes généraux : éviter le style trop compact. */
.questionnaire .muted,
.hero-card .muted,
.progress-nudge,
.mode span,
.option span{
  font-size: .96rem;
  line-height: 1.42;
}
.question-step-summary{
  min-height: 76px;
}
.step-title strong{
  font-size: 1.05rem !important;
}
.step-title small{
  font-size: .9rem;
}

/* Amélioration mobile */
@media(max-width: 640px){
  .friendly-mode-card .mode{
    grid-template-columns: 40px minmax(0,1fr) !important;
    grid-template-areas:
      "icon title"
      "icon desc"
      ". time";
    min-height: auto;
    padding: 14px !important;
  }
  .friendly-mode-card .mode em{
    justify-self: start;
    min-width: auto;
    max-width: none;
    width: auto;
    margin-top: 6px;
  }
  .mini-meter{
    width: 86px !important;
    height: 86px !important;
    min-width: 86px;
    border-radius: 22px !important;
  }
  .mini-meter span,
  #miniMeterValue{
    font-size: 1.45rem !important;
  }
  .overview-card{
    grid-template-columns: 1fr !important;
  }
}


/* V11.3 — Correctif couleur cartes d'accueil placées dans le header.hero
   Les cartes héritaient de color:white depuis .hero. On force les couleurs utiles. */
.hero .home-panels,
.hero .home-panel,
.hero .home-panel h2,
.hero .home-panel p,
.hero .home-panel strong,
.hero .home-panel small {
  color: #111827 !important;
}

.hero .home-panel h2 {
  color: #172554 !important;
  opacity: 1 !important;
}

.hero .home-panel p {
  color: #475569 !important;
  opacity: 1 !important;
}

.hero .home-panel-icon {
  color: #70521a !important;
  background: #f7f0df !important;
  opacity: 1 !important;
}

.hero .home-panel {
  background: rgba(255,253,249,.96) !important;
  border-color: rgba(229,225,216,.92) !important;
}


/* V11.4 — Correctif couleur indicateur de progression */
.mini-meter,
.mini-meter * {
  color: #172554 !important;
}

.mini-meter span,
#miniMeterValue {
  color: #172554 !important;
  opacity: 1 !important;
}

.mini-meter small,
#miniMeterLabel {
  color: #64748b !important;
  opacity: 1 !important;
}

/* Si le bloc est dans une zone qui force le blanc, on neutralise l'héritage. */
.progress-card .mini-meter,
.progress-card .mini-meter span,
.progress-card .mini-meter small,
.progress-card #miniMeterValue,
.progress-card #miniMeterLabel {
  color: inherit;
}
.progress-card #miniMeterValue { color: #172554 !important; }
.progress-card #miniMeterLabel { color: #64748b !important; }


/* =========================================================
   V11.5 — Nettoyage visuel global
   Objectifs :
   - corriger les couleurs héritées parasites ;
   - unifier la hiérarchie typographique ;
   - harmoniser les espacements et les cartes ;
   - améliorer l’alignement mobile ;
   - rendre le bloc progression lisible ;
   - homogénéiser les boutons.
   ========================================================= */

:root{
  --v115-text:#111827;
  --v115-title:#172554;
  --v115-muted:#5b6475;
  --v115-soft:#64748b;
  --v115-line:#e6e0d4;
  --v115-panel:#fffdf9;
  --v115-panel-soft:#faf7ef;
  --v115-accent:#172554;
  --v115-accent-hover:#0f1b3d;
  --v115-gold:#70521a;
  --v115-gold-bg:#f7f0df;
  --v115-radius-card:22px;
  --v115-radius-btn:14px;
}

html{
  font-size:16px;
}

body,
button,
input,
select,
textarea{
  color:var(--v115-text);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

p, li, dd, dt, small, .muted{
  line-height:1.55;
}

h1,h2,h3,h4{
  color:var(--v115-title);
  line-height:1.15;
  letter-spacing:-0.02em;
}

/* Neutraliser les héritages de couleur dans les zones premium */
.hero .home-panel,
.hero .home-panel *,
.progress-card,
.progress-card *,
.friendly-mode-card,
.friendly-mode-card *,
.questionnaire-overview,
.questionnaire-overview *{
  text-shadow:none;
}

.hero .home-panel h2,
.hero .home-panel strong,
.overview-card strong,
.friendly-mode-card .mode strong,
.question-step .step-title strong,
.progress-card h2,
.progress-card h3,
.results h2,
.results h3,
.sidebar h2,
.sidebar h3,
.card h2,
.card h3{
  color:var(--v115-title) !important;
}

.hero .home-panel p,
.hero .home-panel small,
.friendly-mode-card .mode > span:not(.mode-icon),
.questionnaire .muted,
.progress-card .muted,
.overview-card,
.overview-card p,
.overview-label,
.step-title small,
.question .help,
.question-pedagogy,
.question-pedagogy p,
.question-pedagogy li,
.option span,
.label + .muted{
  color:var(--v115-muted) !important;
}

/* Cartes : marges, respiration, homogénéité */
.card,
.hero-card,
.home-panel,
.question-section,
.question,
.question-step,
.document-showcase,
.scenario-compare-card,
.policy-block,
.livrable-card,
.dashboard-metric,
.dashboard-item,
.mode,
.feature-card,
.mini-card,
.metric,
.qa-item,
.crisis-box,
.market-card{
  border-color:var(--v115-line) !important;
  border-radius:var(--v115-radius-card) !important;
}

.card,
.hero-card,
.document-showcase,
.scenario-compare-card,
.policy-block,
.livrable-card,
.dashboard-metric,
.dashboard-item,
.market-card{
  box-shadow:0 14px 34px rgba(17,24,39,.05) !important;
}

.results,
.doc-grid,
.generated-doc-grid,
.dashboard-grid,
.documents-library-grid,
.livrable-grid,
.scenario-compare-grid{
  gap:18px !important;
}

.questionnaire,
.report-cover,
.dashboard-card,
.report-nav-card,
.documents-showcase-card,
.section-card,
.progress-card,
.cta-card,
.learning-hub,
.glossary-hub{
  padding:24px !important;
}

.question{
  padding:18px !important;
}

.question-section-body{
  padding:18px 18px 20px !important;
}

.question-step-summary{
  padding:18px !important;
  gap:14px !important;
}

/* Typographie plus cohérente */
.hero-copy h1{ letter-spacing:-0.04em; }
.hero .lead{ color:#e5e7eb !important; }

.eyebrow,
.overview-label,
.section-card .eyebrow,
.section-head .eyebrow{
  font-size:.74rem !important;
  line-height:1.1;
  letter-spacing:.12em !important;
  font-weight:800 !important;
}

.friendly-mode-card h2,
.questionnaire h2,
.results h2,
.sidebar h2,
.card h2{
  font-size:clamp(1.45rem,2vw,2rem) !important;
}

.friendly-mode-card .mode strong,
.step-title strong,
.home-panel h2,
.report-cover .score-row strong,
.results h3,
.card h3{
  font-size:1.05rem !important;
}

.friendly-mode-card .mode > span:not(.mode-icon),
.home-panel p,
.questionnaire p,
.results p,
.sidebar p,
.option span,
.question .help,
.question-pedagogy p,
.question-pedagogy li,
.label + .muted,
.overview-card strong,
.overview-card p{
  font-size:.97rem !important;
}

/* Boutons : homogénéité */
button,
.primary,
.secondary,
.ghost,
a.primary,
a.secondary,
a.ghost,
input[type="button"],
input[type="submit"]{
  min-height:48px;
  padding:12px 18px !important;
  border-radius:var(--v115-radius-btn) !important;
  font-size:.96rem !important;
  font-weight:780 !important;
  line-height:1.2;
  transition:background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.primary,
a.primary{
  background:var(--v115-accent) !important;
  color:#fff !important;
  border:1px solid var(--v115-accent) !important;
}
.primary:hover,
a.primary:hover{
  background:var(--v115-accent-hover) !important;
  border-color:var(--v115-accent-hover) !important;
  transform:translateY(-1px);
}

.secondary,
a.secondary{
  background:var(--v115-gold-bg) !important;
  color:var(--v115-gold) !important;
  border:1px solid #ead8ad !important;
}
.secondary:hover,
a.secondary:hover{
  background:#f1e5c8 !important;
}

.ghost,
a.ghost{
  background:#fffdf9 !important;
  color:var(--v115-accent) !important;
  border:1px solid #d8dde8 !important;
}
.ghost:hover,
a.ghost:hover{
  background:#f8fbff !important;
  border-color:#b8c7e6 !important;
}

.hero-actions,
.document-actions,
.footer-links,
.top-actions,
.floating-actions{
  gap:10px !important;
}

/* Cartes de choix du mode */
.friendly-mode-card{
  max-width:540px;
}
.friendly-mode-card .mode-grid{
  display:grid;
  gap:12px;
}
.friendly-mode-card .mode{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) auto !important;
  grid-template-areas:
    "icon title time"
    "icon desc time";
  align-items:center;
  gap:8px 14px;
  min-height:96px;
  padding:16px 18px !important;
  background:var(--v115-panel) !important;
}
.friendly-mode-card .mode .mode-icon{
  grid-area:icon;
  width:44px !important;
  height:44px !important;
  min-width:44px;
  display:grid !important;
  place-items:center;
  border-radius:50% !important;
  background:var(--v115-gold-bg) !important;
  color:var(--v115-gold) !important;
  font-size:.98rem !important;
  font-weight:900 !important;
  line-height:1;
  margin:0 !important;
}
.friendly-mode-card .mode strong{
  grid-area:title;
  line-height:1.2;
}
.friendly-mode-card .mode > span:not(.mode-icon){
  grid-area:desc;
  display:block;
  font-weight:650 !important;
  line-height:1.35;
}
.friendly-mode-card .mode em{
  grid-area:time;
  justify-self:end;
  align-self:center;
  min-width:74px;
  max-width:84px;
  white-space:normal;
  text-align:center;
  font-style:normal;
  font-size:.78rem !important;
  line-height:1.15;
  padding:8px 10px !important;
  border-radius:999px !important;
  color:var(--v115-gold) !important;
  background:#fbf4e4 !important;
  border:1px solid #ead8ad !important;
}

/* Bloc progression */
.mini-meter{
  width:110px !important;
  height:110px !important;
  min-width:110px;
  padding:12px !important;
  display:grid !important;
  place-items:center;
  border-radius:28px !important;
  background:linear-gradient(180deg,#f8fafc,#eef2ff) !important;
  border:1px solid #dbe3ef !important;
  box-shadow:0 14px 32px rgba(17,24,39,.08) !important;
}
.mini-meter,
.mini-meter *{
  color:var(--v115-title) !important;
}
.mini-meter span,
#miniMeterValue{
  display:block;
  font-size:1.82rem !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:-0.04em;
  white-space:nowrap;
  color:var(--v115-title) !important;
  opacity:1 !important;
}
.mini-meter small,
#miniMeterLabel{
  display:block;
  margin-top:4px;
  font-size:.76rem !important;
  line-height:1.2 !important;
  white-space:nowrap;
  color:var(--v115-soft) !important;
  opacity:1 !important;
}

.progress-card .progress-nudge,
.progress-card .mini-meter + p,
.progress-card .mini-meter + small{
  color:var(--v115-muted) !important;
}

/* Bloc résumé de questionnaire */
.questionnaire-overview{
  margin:16px 0 6px !important;
}
.overview-card{
  display:grid !important;
  grid-template-columns:1.3fr .8fr .8fr !important;
  gap:14px;
  padding:16px !important;
  border:1px solid var(--v115-line) !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#fffdf9,#faf7ef) !important;
}
.overview-card > div{
  border-right:1px solid var(--v115-line) !important;
  padding-right:14px !important;
}
.overview-card > div:last-child{
  border-right:0 !important;
  padding-right:0 !important;
}
.overview-card strong{
  display:block;
  line-height:1.25;
  overflow-wrap:anywhere;
}

/* Options et zones pédagogiques */
.options{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.option{
  padding:11px 12px !important;
  border-radius:15px !important;
}
.question-pedagogy{
  background:#fffaf1 !important;
  border-color:#e7dfd0 !important;
}
.question-pedagogy summary{
  color:var(--v115-gold) !important;
  font-weight:780 !important;
}
.question-pedagogy[open] summary{
  background:#fbf4e4 !important;
}

/* Mobile : alignement et lisibilité */
@media(max-width:980px){
  .layout{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  .sidebar .sticky{ top:0 !important; }
  .overview-card,
  .dashboard-grid,
  .documents-library-grid,
  .livrable-grid,
  .scenario-compare-grid,
  .doc-grid{
    grid-template-columns:1fr !important;
  }
  .overview-card > div{
    border-right:0 !important;
    border-bottom:1px solid var(--v115-line) !important;
    padding:0 0 12px !important;
  }
  .overview-card > div:last-child{
    border-bottom:0 !important;
    padding-bottom:0 !important;
  }
}

@media(max-width:640px){
  .hero{
    padding-bottom:26px !important;
  }
  .hero-copy h1{
    font-size:2rem !important;
  }
  .hero .lead{
    font-size:1rem !important;
  }
  .questionnaire,
  .report-cover,
  .dashboard-card,
  .report-nav-card,
  .documents-showcase-card,
  .section-card,
  .progress-card,
  .cta-card,
  .learning-hub,
  .glossary-hub{
    padding:16px !important;
  }
  .question-step-summary{
    padding:14px !important;
    gap:10px !important;
  }
  .question-section-body{
    padding:12px !important;
  }
  .friendly-mode-card .mode{
    grid-template-columns:40px minmax(0,1fr) !important;
    grid-template-areas:
      "icon title"
      "icon desc"
      ". time" !important;
    min-height:auto !important;
    padding:14px !important;
  }
  .friendly-mode-card .mode em{
    justify-self:start !important;
    min-width:auto !important;
    max-width:none !important;
    width:auto !important;
    margin-top:6px !important;
  }
  .mini-meter{
    width:88px !important;
    height:88px !important;
    min-width:88px !important;
    border-radius:22px !important;
    padding:10px !important;
  }
  .mini-meter span,
  #miniMeterValue{
    font-size:1.42rem !important;
  }
  .mini-meter small,
  #miniMeterLabel{
    font-size:.72rem !important;
  }
  .floating-actions{
    position:sticky;
    bottom:8px;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .floating-actions button,
  .floating-actions .primary,
  .floating-actions .secondary,
  .floating-actions .ghost{
    width:100% !important;
  }
  .step-toggle{
    display:none !important;
  }
}


/* =========================================================
   V11.6 — Polish final
   Micro-ajustements visuels, palette premium, contraste WCAG,
   détails de mise en page, focus visible et cohérence générale.
   ========================================================= */

:root{
  --v116-navy:#0b1220;
  --v116-blue:#14245a;
  --v116-blue-2:#1d3b7a;
  --v116-gold:#8a641f;
  --v116-gold-2:#b3914c;
  --v116-cream:#fffdf8;
  --v116-cream-2:#f7f1e4;
  --v116-muted:#4b5565;
  --v116-muted-2:#647085;
  --v116-border:#ddd5c7;
  --v116-focus:#b3914c;
  --v116-danger:#9f1d1d;
  --v116-ok:#0f6b3d;
}

/* Contraste global */
body{
  color:var(--v116-navy) !important;
  background:
    radial-gradient(circle at 8% -8%, rgba(179,145,76,.18), transparent 34rem),
    radial-gradient(circle at 94% 4%, rgba(20,36,90,.10), transparent 30rem),
    linear-gradient(180deg,#f8f5ee 0%,#fbfaf6 32%,#f3f0e9 100%) !important;
}

h1,h2,h3,h4,
.card h2,.card h3,
.home-panel h2,
.friendly-mode-card .mode strong,
.step-title strong,
.overview-card strong{
  color:var(--v116-blue) !important;
}

p,li,small,
.muted,
.option span,
.question .help,
.question-pedagogy p,
.question-pedagogy li,
.home-panel p,
.overview-card,
.step-title small{
  color:var(--v116-muted) !important;
}

/* Hero : plus haut de gamme, moins saturé */
.hero{
  background:
    linear-gradient(145deg, rgba(11,18,32,.98), rgba(20,36,90,.96) 55%, rgba(13,79,92,.94)),
    radial-gradient(circle at top right, rgba(179,145,76,.26), transparent 34rem) !important;
}

.hero .lead{
  color:#e8edf6 !important;
}

.hero .eyebrow{
  color:#e8d09a !important;
}

.brand{
  color:#ffffff !important;
}

.brand-mark{
  color:var(--v116-navy) !important;
  background:linear-gradient(135deg,#fffdf7,#e7d19a) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}

/* Cartes : plus nettes, moins floues */
.card,
.hero-card,
.home-panel,
.question-section,
.question,
.question-step,
.document-showcase,
.scenario-compare-card,
.policy-block,
.livrable-card,
.dashboard-metric,
.dashboard-item,
.mode,
.mini-card,
.metric,
.qa-item,
.crisis-box,
.market-card{
  background:rgba(255,253,248,.985) !important;
  border:1px solid var(--v116-border) !important;
  box-shadow:0 18px 48px rgba(11,18,32,.065) !important;
}

.card:hover,
.home-panel:hover,
.document-showcase:hover,
.scenario-compare-card:hover,
.livrable-card:hover,
.market-card:hover{
  box-shadow:0 22px 58px rgba(11,18,32,.085) !important;
}

/* Page d'accueil : alignement et respiration */
.home-panels{
  gap:20px !important;
}

.home-panel{
  min-height:178px;
  padding:24px !important;
}

.home-panel h2{
  margin-top:14px !important;
  margin-bottom:10px !important;
  font-size:1.16rem !important;
}

.home-panel p{
  font-size:.98rem !important;
  max-width:32rem;
}

.home-panel-icon{
  background:var(--v116-cream-2) !important;
  color:var(--v116-gold) !important;
  border:1px solid #ead8ad !important;
}

/* Modes : contrastes + alignement */
.friendly-mode-card .mode{
  border-color:#d7cfbf !important;
}

.friendly-mode-card .mode.active,
.friendly-mode-card .mode:hover{
  border-color:#8fb2ff !important;
  box-shadow:0 0 0 3px rgba(29,78,216,.10), 0 18px 44px rgba(11,18,32,.075) !important;
}

.friendly-mode-card .mode .mode-icon,
.step-number{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);
}

.friendly-mode-card .mode em{
  color:#6f4f13 !important;
  background:#fbf1d8 !important;
  border-color:#e8cf91 !important;
}

/* Questionnaire : densité et lecture */
.questionnaire{
  border-top:4px solid rgba(179,145,76,.34) !important;
}

.question-section,
.question-step{
  margin:18px 0 !important;
}

.question-step-summary{
  background:linear-gradient(180deg,#fffdf8,#faf4e8) !important;
}

.question-step[open] .question-step-summary{
  background:linear-gradient(180deg,#fffaf1,#f6edda) !important;
}

.question{
  border-color:#e3dccf !important;
}

.question.answered{
  background:linear-gradient(180deg,#fffdf8,#f1fbf5) !important;
  border-color:#b7e4c7 !important;
}

.label{
  color:var(--v116-navy) !important;
  font-weight:850 !important;
}

.help{
  background:#f8f2e6 !important;
  border-left-color:var(--v116-gold-2) !important;
}

.option{
  background:#fffefa !important;
  border-color:#ddd6ca !important;
}

.option:hover{
  border-color:#99b4e8 !important;
  background:#f8fbff !important;
}

.option:has(input:checked){
  background:#eef5ff !important;
  border-color:#1d4ed8 !important;
  box-shadow:0 10px 28px rgba(29,78,216,.12) !important;
}

input[type="radio"],
input[type="checkbox"]{
  accent-color:#1d3b7a;
}

/* Progression */
.mini-meter{
  background:linear-gradient(180deg,#ffffff,#eef3ff) !important;
  border-color:#ccd8ee !important;
}

.mini-meter span,
#miniMeterValue{
  color:var(--v116-blue) !important;
}

.mini-meter small,
#miniMeterLabel{
  color:#566276 !important;
}

.progress-card{
  background:linear-gradient(180deg,#fffdf8,#faf5eb) !important;
  border-left-color:var(--v116-gold-2) !important;
}

.progress-meta span{
  color:var(--v116-blue) !important;
}

.bar{
  background:#e8e1d4 !important;
}

.bar span{
  background:linear-gradient(90deg,var(--v116-blue),var(--v116-gold-2)) !important;
}

/* Boutons : même hauteur, contraste WCAG, focus */
button,
.primary,
.secondary,
.ghost,
a.primary,
a.secondary,
a.ghost{
  min-height:48px !important;
  box-shadow:none !important;
}

.primary,
a.primary{
  background:var(--v116-blue) !important;
  border-color:var(--v116-blue) !important;
  color:#fff !important;
}

.primary:hover,
a.primary:hover{
  background:#0f1d4a !important;
  border-color:#0f1d4a !important;
}

.secondary,
a.secondary{
  background:#f7ecd2 !important;
  border-color:#dcc17c !important;
  color:#62450f !important;
}

.secondary:hover,
a.secondary:hover{
  background:#f1dfb7 !important;
  color:#4d370b !important;
}

.ghost,
a.ghost{
  background:#fffdf8 !important;
  color:var(--v116-blue) !important;
  border-color:#cfd7e6 !important;
}

.ghost:hover,
a.ghost:hover{
  background:#f4f7ff !important;
  border-color:#9fb5df !important;
}

/* Focus visible */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
.option:focus-within{
  outline:3px solid rgba(179,145,76,.72) !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 6px rgba(179,145,76,.18) !important;
}

/* Tags : contraste amélioré */
.tag{
  font-weight:850 !important;
}

.tag.ok{
  background:#e9f8ef !important;
  color:#0f6b3d !important;
}

.tag.warn{
  background:#fff4df !important;
  color:#854d0e !important;
}

.tag.danger{
  background:#fff0f0 !important;
  color:#9f1d1d !important;
}

/* Rapport : meilleure structure */
.report-cover{
  border-top:4px solid rgba(20,36,90,.18) !important;
}

.dashboard-card{
  border-top:4px solid rgba(179,145,76,.30) !important;
}

.documents-showcase-card{
  border-top:4px solid rgba(15,107,61,.22) !important;
}

.dashboard-track{
  background:#e8e1d4 !important;
}

.dashboard-track span{
  background:linear-gradient(90deg,var(--v116-blue),var(--v116-gold-2)) !important;
}

.document-icon{
  color:var(--v116-gold) !important;
  background:#f7ecd2 !important;
}

/* Tableaux */
.table-wrap{
  border-color:#ddd5c7 !important;
}

th{
  background:#f8f2e6 !important;
  color:var(--v116-blue) !important;
}

td{
  color:var(--v116-muted) !important;
}

/* Footer */
.footer{
  background:#0b1220 !important;
}

.footer,
.footer p,
.footer a{
  color:#e5e7eb !important;
}

.footer-links a{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.18) !important;
}

.footer-links a:hover{
  background:rgba(255,255,255,.12) !important;
}

/* Ajustements mobiles */
@media(max-width:760px){
  html{font-size:15.5px}
  .top-actions{
    width:100%;
  }
  .top-actions .ghost.small{
    flex:1 1 auto;
    min-height:40px !important;
    padding:8px 10px !important;
    font-size:.85rem !important;
  }
  .hero-card,
  .home-panel,
  .card{
    border-radius:20px !important;
  }
  .home-panel{
    min-height:auto;
    padding:18px !important;
  }
  .overview-card{
    gap:12px !important;
  }
  .question-step-summary{
    align-items:flex-start !important;
  }
  .step-number{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
  }
  .question{
    padding:14px !important;
  }
  button,
  .primary,
  .secondary,
  .ghost,
  a.primary,
  a.secondary,
  a.ghost{
    min-height:46px !important;
  }
}

@media(max-width:420px){
  .hero-copy h1{
    font-size:1.82rem !important;
  }
  .brand{
    font-size:.92rem;
  }
  .mini-meter{
    width:82px !important;
    height:82px !important;
    min-width:82px !important;
  }
  #miniMeterValue{
    font-size:1.32rem !important;
  }
}


/* =========================================================
   V11.7 — Correctif lisibilité textes sur fond sombre (header)
   Le polish global a réintroduit des couleurs sombres dans des blocs placés
   sur le hero bleu nuit. On force ici une palette lisible pour ces zones.
   ========================================================= */

/* Zone éditoriale principale du hero */
.hero .hero-copy,
.hero .hero-copy * {
  text-shadow: none;
}

.hero .hero-copy h1 {
  color: #f8fbff !important;
}

.hero .hero-copy .lead,
.hero .hero-copy p,
.hero .hero-copy .muted {
  color: #e8edf6 !important;
}

.hero .hero-copy .eyebrow {
  color: #e8d09a !important;
}

/* Bloc confidentialité et bandeau de confiance */
.hero .soft-notice,
.hero .soft-notice * {
  color: #f4f7fb !important;
}
.hero .soft-notice {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
}
.hero .soft-notice strong {
  color: #ffffff !important;
}

.hero .trust-strip span {
  color: #f8fafc !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
}

/* Cartes de fonctionnalités dans le hero */
.hero .feature-row {
  gap: 18px !important;
}

.hero .feature-card {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.12) !important;
}

.hero .feature-card span {
  color: #f0d79c !important;
}

.hero .feature-card strong {
  color: #ffffff !important;
}

.hero .feature-card small,
.hero .feature-card p {
  color: #dbe6f3 !important;
}

/* Topbar sombre : garder les boutons lisibles */
.hero .topbar .ghost.small,
.hero .topbar .ghost.small:link,
.hero .topbar .ghost.small:visited {
  color: #eef4ff !important;
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.18) !important;
}

.hero .topbar .ghost.small:hover {
  color: #ffffff !important;
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.28) !important;
}

.hero .topbar .ghost.small.danger {
  color: #ffe5e5 !important;
}

/* Le bloc de mode reste clair avec texte sombre */
.hero .hero-card,
.hero .friendly-mode-card,
.hero .friendly-mode-card * {
  text-shadow: none;
}

.hero .friendly-mode-card h2,
.hero .friendly-mode-card strong,
.hero .friendly-mode-card .mode strong {
  color: #172554 !important;
}

.hero .friendly-mode-card p,
.hero .friendly-mode-card .muted,
.hero .friendly-mode-card .mode > span:not(.mode-icon) {
  color: #5b6475 !important;
}

/* Home panels sous le hero : fonds clairs, texte sombre */
.hero .home-panel h2 {
  color: #172554 !important;
}
.hero .home-panel p {
  color: #475569 !important;
}

@media (max-width: 760px) {
  .hero .feature-row {
    grid-template-columns: 1fr !important;
  }
  .hero .hero-copy h1 {
    color: #f8fbff !important;
  }
}


/* =========================================================
   V11.8 — Harmonisation finale du hero
   Équilibrage colonne gauche / carte droite, H1 moins agressif,
   alignement vertical et cartes fonctionnalités plus premium.
   ========================================================= */

.hero{
  padding-top:24px !important;
  padding-bottom:38px !important;
}

.hero-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.76fr) !important;
  align-items:center !important;
  gap:36px !important;
  min-height:520px;
}

.hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:760px;
}

.hero-copy h1{
  max-width:760px !important;
  font-size:clamp(2.55rem,4vw,4.35rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.038em !important;
  margin-bottom:20px !important;
  color:#f8fbff !important;
}

.hero-copy .lead{
  max-width:720px !important;
  font-size:clamp(1.03rem,1.45vw,1.20rem) !important;
  line-height:1.55 !important;
  margin-bottom:22px !important;
  color:#e8edf6 !important;
}

.hero-actions{
  margin-top:2px;
}

.hero-card.friendly-mode-card{
  align-self:center;
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:30px !important;
  border-radius:24px !important;
}

.hero-card.friendly-mode-card h2{
  font-size:clamp(1.65rem,2.2vw,2.1rem) !important;
  line-height:1.12 !important;
  margin-bottom:12px !important;
}

.hero-card.friendly-mode-card > p{
  margin-bottom:16px !important;
  font-size:1rem !important;
}

.hero-card .mode-grid{
  margin-top:4px !important;
}

.hero-card .mode{
  min-height:84px !important;
  padding:14px 16px !important;
}

.hero-card #startBtn{
  margin-top:14px;
}

.trust-strip{
  margin-top:18px !important;
}

.trust-strip span{
  backdrop-filter:blur(8px);
}

/* Cartes fonctionnalités : plus premium, plus lisibles */
.hero .feature-row{
  margin-top:28px !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}

.hero .feature-card{
  min-height:126px !important;
  padding:18px !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.075)) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.16) !important;
}

.hero .feature-card span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(232,208,154,.16);
  color:#f6d991 !important;
  font-size:1.08rem !important;
}

.hero .feature-card strong{
  display:block;
  margin-top:4px;
  color:#ffffff !important;
  font-size:1rem !important;
  line-height:1.25;
}

.hero .feature-card small{
  display:block;
  margin-top:4px;
  color:#dbe6f3 !important;
  font-size:.88rem !important;
  line-height:1.42;
}

/* Home panels : détacher davantage du hero sans les rendre criards */
.hero .home-panels{
  margin-top:26px !important;
}

.hero .home-panel{
  min-height:158px !important;
  padding:22px !important;
}

.hero .home-panel h2{
  font-size:1.08rem !important;
}

/* Section marché : une ligne d'explication pour Claude/MCP et open source */
.market-card h4{
  color:#172554 !important;
}

.market-card a{
  color:#1d3b7a !important;
  font-weight:780;
}

/* Mobile / tablette */
@media(max-width:1100px){
  .hero-grid{
    grid-template-columns:1fr !important;
    min-height:0 !important;
    gap:24px !important;
  }
  .hero-copy{
    max-width:none;
  }
  .hero-card.friendly-mode-card{
    min-height:0;
  }
  .hero .feature-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:640px){
  .hero{
    padding-top:18px !important;
    padding-bottom:28px !important;
  }
  .hero-copy h1{
    font-size:2.05rem !important;
    line-height:1.08 !important;
  }
  .hero-copy .lead{
    font-size:.98rem !important;
  }
  .hero-card.friendly-mode-card{
    padding:20px !important;
  }
  .hero .feature-row{
    grid-template-columns:1fr !important;
  }
  .hero .feature-card{
    min-height:112px !important;
  }
}


/* =========================================================
   V11.9 — Dashboard entonnoir, légitimité métier, tooltips,
   benchmarking, références institutionnelles et CTA final.
   ========================================================= */

.practitioner-proof{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  color:#f8fbff !important;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:8px 12px;
  font-weight:780;
  margin:0 0 14px;
}

.funnel-dashboard{
  display:grid;
  grid-template-columns:1.05fr 1fr 1fr;
  gap:18px;
}

.funnel-main,
.funnel-panel{
  border:1px solid var(--v116-border, #ddd5c7);
  border-radius:22px;
  background:#fffdf8;
  padding:18px;
  box-shadow:0 14px 34px rgba(17,24,39,.05);
}

.funnel-main{
  background:linear-gradient(180deg,#fffdf8,#f6edda);
}

.funnel-score{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin:12px 0;
}

.funnel-score strong{
  font-size:2.5rem;
  line-height:1;
  letter-spacing:-.05em;
  color:#172554;
}

.funnel-score span{
  font-weight:850;
  color:#5b6475;
}

.funnel-item{
  border-top:1px solid #e6e0d4;
  padding:12px 0;
}

.funnel-item:first-of-type{
  border-top:0;
}

.funnel-item strong{
  display:block;
  margin:6px 0 4px;
  color:#172554;
}

.funnel-item p{
  margin:0;
  color:#4b5565;
}

.benchmark-strip{
  margin-top:14px;
  padding:12px;
  border-radius:16px;
  background:#eef4ff;
  border:1px solid #d3def4;
}

.benchmark-strip strong{
  display:block;
  color:#172554;
}

.benchmark-strip span{
  color:#475569;
}

.funnel-note{
  margin-top:12px;
}

/* Accordéons du rapport */
.report-accordion{
  border:1px solid #ddd5c7;
  border-radius:22px;
  background:#fffdf8;
  box-shadow:0 14px 34px rgba(17,24,39,.045);
  overflow:hidden;
}

.report-accordion + .report-accordion{
  margin-top:14px;
}

.report-accordion summary{
  cursor:pointer;
  list-style:none;
  padding:18px 22px;
  font-weight:850;
  color:#172554;
  background:linear-gradient(180deg,#fffdf8,#faf4e8);
}

.report-accordion summary::-webkit-details-marker{
  display:none;
}

.report-accordion summary:after{
  content:"Afficher";
  float:right;
  font-size:.82rem;
  color:#70521a;
  background:#f7f0df;
  border:1px solid #ead8ad;
  border-radius:999px;
  padding:5px 9px;
}

.report-accordion[open] summary:after{
  content:"Masquer";
}

.report-accordion-body{
  box-shadow:none !important;
  border:0 !important;
  border-top:1px solid #e6e0d4 !important;
  border-radius:0 !important;
  margin:0 !important;
}

.report-accordion-body > h2{
  display:none;
}

/* Tooltips directs, au lieu du détour par la page pédagogie */
.inline-tooltips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 12px;
}

.term-tooltip{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border-radius:999px;
  background:#f7f0df;
  border:1px solid #ead8ad;
  color:#70521a;
  font-size:.83rem;
  font-weight:800;
  cursor:help;
}

.term-tooltip > span{
  display:inline-grid;
  place-items:center;
  width:17px;
  height:17px;
  border-radius:50%;
  background:#fffdf8;
  border:1px solid #ead8ad;
  font-size:.72rem;
}

.term-tooltip:focus{
  outline:3px solid rgba(179,145,76,.45);
  outline-offset:2px;
}

.term-tooltip:hover:after,
.term-tooltip:focus:after{
  content:attr(data-tooltip);
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  width:min(360px, 86vw);
  z-index:50;
  background:#0b1220;
  color:#f8fafc;
  padding:10px 12px;
  border-radius:12px;
  box-shadow:0 18px 44px rgba(0,0,0,.25);
  line-height:1.45;
  font-size:.86rem;
  font-weight:600;
}

/* Modules ajoutés */
.benchmark-card{
  display:grid;
  grid-template-columns:180px 180px 1fr;
  gap:16px;
  align-items:stretch;
}

.benchmark-number{
  border:1px solid #ddd5c7;
  border-radius:18px;
  background:#fffdf8;
  padding:16px;
  display:grid;
  align-content:center;
}

.benchmark-number strong{
  color:#172554;
  font-size:2rem;
  line-height:1;
}

.benchmark-number span{
  color:#64748b;
  font-weight:750;
}

.benchmark-text{
  border:1px solid #d3def4;
  border-radius:18px;
  background:#eef4ff;
  padding:16px;
}

.insurance-box{
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:18px;
  background:linear-gradient(180deg,#fffdf8,#faf4e8);
}

.cta-final-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.cta-final-grid article{
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:16px;
  background:#fffdf8;
}

/* Segmentation : mettre la taille du cabinet en évidence */
[data-qid="cabinet_size"]{
  border:2px solid rgba(179,145,76,.55) !important;
  background:linear-gradient(180deg,#fffdf8,#faf4e8) !important;
}

[data-qid="benchmark_consent"]{
  border-style:dashed !important;
}

@media(max-width:1100px){
  .funnel-dashboard,
  .benchmark-card,
  .cta-final-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .practitioner-proof{
    width:100%;
    border-radius:16px;
    align-items:flex-start;
  }
  .funnel-score strong{
    font-size:2rem;
  }
  .report-accordion summary{
    padding:16px;
  }
  .report-accordion summary:after{
    float:none;
    display:inline-flex;
    margin-left:10px;
  }
}


/* =========================================================
   V12 — Livrables Flash, impact financier, PWA, badges,
   cartographie éditeurs.
   ========================================================= */

.flash-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.flash-grid article,
.impact-grid article,
.vendor-note-grid article{
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:16px;
  background:#fffdf8;
  box-shadow:0 12px 30px rgba(17,24,39,.045);
}

.impact-grid{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:16px;
  align-items:stretch;
}

.impact-number{
  display:grid;
  align-content:center;
  text-align:center;
  background:linear-gradient(180deg,#fffdf8,#f6edda) !important;
}

.impact-number strong{
  color:#172554;
  font-size:2.15rem;
  line-height:1;
  letter-spacing:-.04em;
}

.impact-number span{
  display:block;
  margin-top:8px;
  color:#5b6475;
  font-weight:750;
}

.alert{
  padding:12px 14px;
  border-radius:14px;
  background:#fff0f0;
  border:1px solid #fecaca;
  color:#9f1d1d !important;
  font-weight:700;
}

.badge-preview{
  max-width:920px;
  overflow:auto;
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:12px;
  background:#fffdf8;
  margin:12px 0 16px;
}

.badge-preview svg{
  display:block;
  width:100%;
  height:auto;
}

.vendor-note-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.vendor-note-grid h3{
  margin-top:0;
}

@media(max-width:900px){
  .flash-grid,
  .impact-grid,
  .vendor-note-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V12.1 — Éditeurs étendus, rapport associés, incident RGPD,
   feuille de route interactive.
   ========================================================= */

.incident-box{
  border:1px solid #fecaca;
  border-radius:18px;
  padding:18px;
  background:linear-gradient(180deg,#fff7f7,#fffdf8);
}

.danger-button{
  min-height:48px;
  border-radius:14px;
  padding:12px 18px;
  border:1px solid #9f1d1d;
  background:#9f1d1d;
  color:#fff;
  font-weight:850;
  cursor:pointer;
}

.danger-button:hover{
  background:#7f1d1d;
}

.roadmap-timeline{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}

.roadmap-card{
  position:relative;
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:16px;
  background:#fffdf8;
  box-shadow:0 12px 30px rgba(17,24,39,.045);
}

.roadmap-card:before{
  content:"";
  position:absolute;
  top:29px;
  left:-14px;
  width:14px;
  height:2px;
  background:#b3914c;
}

.roadmap-card:first-child:before{
  display:none;
}

.roadmap-phase{
  display:inline-flex;
  border-radius:999px;
  background:#f7f0df;
  border:1px solid #ead8ad;
  color:#70521a;
  padding:5px 9px;
  font-weight:850;
  font-size:.78rem;
}

.roadmap-card h3{
  font-size:1rem !important;
  margin:12px 0 8px;
}

.roadmap-meta{
  display:grid;
  gap:6px;
  margin:12px 0;
}

.roadmap-meta span{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:5px 8px;
  background:#eef4ff;
  color:#172554;
  font-size:.78rem;
  font-weight:780;
}

.roadmap-done{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  font-weight:780;
  color:#172554;
}

.roadmap-progress{
  height:12px;
  border-radius:999px;
  background:#e8e1d4;
  overflow:hidden;
  margin-top:18px;
}

.roadmap-progress span{
  display:block;
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#14245a,#b3914c);
  transition:width .2s ease;
}

@media(max-width:1100px){
  .roadmap-timeline{
    grid-template-columns:1fr;
  }
  .roadmap-card:before{
    display:none;
  }
}

/* Rapport d'associés : impression / PDF navigateur */
@media print {
  @page {
    size: A4;
    margin: 14mm 12mm 16mm;
  }

  html, body {
    background:#fff !important;
    color:#111827 !important;
    font-size:10.5pt !important;
    line-height:1.35 !important;
  }

  body * {
    text-shadow:none !important;
    box-shadow:none !important;
  }

  .topbar,
  .hero-actions,
  .top-actions,
  .onboarding-card,
  .mode-grid,
  .friendly-mode-card,
  .feature-row,
  .home-panels,
  .sidebar,
  .footer,
  .toast,
  button,
  .primary,
  .secondary,
  .ghost,
  .danger-button,
  .floating-actions,
  .report-nav-card,
  .video-hub,
  .learning-hub,
  .glossary-hub,
  .premium .cta-final-grid,
  .edn-iframe-wrapper {
    display:none !important;
  }

  .hero {
    background:#fff !important;
    padding:0 0 8mm !important;
    color:#111827 !important;
    border-bottom:2px solid #172554;
  }

  .hero-grid {
    display:block !important;
    min-height:0 !important;
  }

  .hero-copy h1 {
    color:#172554 !important;
    font-size:22pt !important;
    line-height:1.08 !important;
    margin:0 0 4mm !important;
  }

  .hero-copy .lead,
  .hero-copy p,
  .practitioner-proof,
  .hero .eyebrow {
    color:#111827 !important;
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
  }

  main.layout,
  .layout,
  .app-layout {
    display:block !important;
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .results,
  #results {
    display:block !important;
  }

  details.report-accordion,
  details.report-accordion[open] {
    display:block !important;
    border:0 !important;
    page-break-inside:avoid;
    break-inside:avoid;
    margin:0 0 6mm !important;
  }

  details.report-accordion > summary {
    display:block !important;
    padding:0 0 2mm !important;
    background:#fff !important;
    color:#172554 !important;
    font-size:14pt !important;
    border-bottom:1px solid #ddd !important;
  }

  details.report-accordion > summary:after {
    display:none !important;
  }

  details.report-accordion > article,
  .report-accordion-body,
  article.card {
    display:block !important;
    border:0 !important;
    background:#fff !important;
    padding:0 !important;
    margin:0 !important;
    page-break-inside:avoid;
    break-inside:avoid;
  }

  .report-cover,
  #reportDashboardCard,
  .funnel-dashboard,
  .funnel-main,
  .funnel-panel,
  .funnel-item,
  .dashboard-card,
  .insurance-box,
  .incident-box,
  .roadmap-card,
  .vendor-note-grid article,
  .flash-grid article {
    page-break-inside:avoid;
    break-inside:avoid;
  }

  #reportDashboardCard {
    page-break-after:always;
  }

  .funnel-dashboard {
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr !important;
    gap:5mm !important;
  }

  .funnel-main,
  .funnel-panel,
  .benchmark-card,
  .impact-grid,
  .insurance-box,
  .incident-box {
    border:1px solid #ddd !important;
    background:#fff !important;
    padding:4mm !important;
  }

  .funnel-score strong {
    font-size:24pt !important;
  }

  .tag,
  .roadmap-phase,
  .roadmap-meta span {
    border:1px solid #999 !important;
    background:#fff !important;
    color:#111827 !important;
  }

  .table-wrap {
    overflow:visible !important;
  }

  table {
    width:100% !important;
    border-collapse:collapse !important;
    font-size:9.5pt !important;
  }

  th, td {
    border:1px solid #ddd !important;
    padding:4px 5px !important;
    vertical-align:top !important;
  }

  th {
    background:#f3f4f6 !important;
    color:#111827 !important;
  }

  a {
    color:#172554 !important;
    text-decoration:none !important;
  }

  a[href]::after {
    content:" (" attr(href) ")";
    font-size:8pt;
    color:#555;
  }

  .roadmap-timeline,
  .vendor-note-grid,
  .flash-grid,
  .impact-grid,
  .cta-final-grid,
  .benchmark-card {
    display:block !important;
  }

  .roadmap-card,
  .vendor-note-grid article,
  .flash-grid article {
    margin:0 0 5mm !important;
    border:1px solid #ddd !important;
    padding:4mm !important;
  }

  .badge-preview svg {
    max-width:100% !important;
  }

  .no-print {
    display:none !important;
  }

  h1,h2,h3,h4 {
    color:#172554 !important;
    page-break-after:avoid;
    break-after:avoid;
  }

  p, li {
    orphans:3;
    widows:3;
  }
}


/* =========================================================
   V12.2 — Stabilisation production + rapport associé.
   ========================================================= */

.associate-report{
  display:grid;
  gap:18px;
}

.associate-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.associate-kpis article,
.scoring-grid article,
.production-grid article,
.trajectory-grid article{
  border:1px solid #ddd5c7;
  border-radius:18px;
  background:#fffdf8;
  padding:16px;
  box-shadow:0 12px 30px rgba(17,24,39,.045);
}

.associate-kpis span{
  display:block;
  color:#64748b;
  font-weight:780;
}

.associate-kpis strong,
.scoring-grid strong,
.readiness-score strong{
  display:block;
  color:#172554;
  font-size:2rem;
  line-height:1;
  letter-spacing:-.04em;
  margin-top:8px;
}

.associate-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.associate-columns section,
.decision-box,
.readiness-box{
  border:1px solid #ddd5c7;
  border-radius:18px;
  background:linear-gradient(180deg,#fffdf8,#faf4e8);
  padding:16px;
}

.scoring-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:14px 0 18px;
}

.proof-list{
  columns:2;
  column-gap:32px;
}

.proof-list li{
  break-inside:avoid;
  margin-bottom:8px;
}

.readiness-box{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:18px;
  align-items:center;
}

.readiness-score{
  text-align:center;
  border:1px solid #d3def4;
  background:#eef4ff;
  border-radius:18px;
  padding:18px;
}

.readiness-score span{
  display:block;
  margin-top:8px;
  color:#475569;
  font-weight:780;
}

.trajectory-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.trajectory-score{
  display:inline-flex;
  border-radius:999px;
  background:#eef4ff;
  border:1px solid #d3def4;
  color:#172554;
  padding:6px 10px;
  font-weight:900;
}

.trajectory-grid dl{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:6px 10px;
  font-size:.9rem;
}

.trajectory-grid dt{
  color:#64748b;
  font-weight:800;
}

.trajectory-grid dd{
  margin:0;
  color:#111827;
}

.production-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.cta-final-clean{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

/* Tooltips mobiles plus robustes */
@media(max-width:760px){
  .associate-kpis,
  .associate-columns,
  .scoring-grid,
  .readiness-box,
  .trajectory-grid,
  .production-grid,
  .cta-final-clean{
    grid-template-columns:1fr !important;
  }

  .proof-list{
    columns:1;
  }

  .term-tooltip:hover:after,
  .term-tooltip:focus:after{
    position:fixed;
    left:12px;
    right:12px;
    top:auto;
    bottom:18px;
    width:auto;
    max-width:none;
    z-index:9999;
  }
}

/* Rapport associé 2 pages : renforcement impression */
@media print {
  .associate-report,
  .associate-kpis,
  .associate-columns,
  .readiness-box,
  .scoring-grid {
    page-break-inside:avoid;
    break-inside:avoid;
  }

  #executiveTwoPageCard {
    page-break-after:always;
  }

  #detailedScoringCard,
  #proofChecklistExportCard,
  #cyberInsuranceReadinessCard,
  #trajectoryComparatorV122Card {
    page-break-inside:avoid;
    break-inside:avoid;
  }

  .associate-kpis,
  .associate-columns,
  .scoring-grid,
  .readiness-box,
  .trajectory-grid,
  .production-grid {
    display:block !important;
  }

  .associate-kpis article,
  .associate-columns section,
  .decision-box,
  .scoring-grid article,
  .readiness-box,
  .trajectory-grid article,
  .production-grid article {
    border:1px solid #ddd !important;
    padding:4mm !important;
    margin:0 0 4mm !important;
    background:#fff !important;
  }

  .associate-kpis strong,
  .scoring-grid strong,
  .readiness-score strong {
    font-size:18pt !important;
  }

  .proof-list {
    columns:1 !important;
  }
}


/* =========================================================
   V12.3 — Référentiel, preuves locales, PDF, TCO, modèles.
   ========================================================= */

.neutral-proof{
  display:block;
  max-width:760px;
  margin:0 0 16px;
  color:#dbe6f3 !important;
  font-weight:650;
}

.red-alerts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.red-alerts article{
  border:1px solid #fecaca;
  background:linear-gradient(180deg,#fff5f5,#fffdf8);
  border-radius:18px;
  padding:16px;
}

.red-alerts h3{
  color:#9f1d1d !important;
}

.evidence-drop{
  position:relative;
  display:grid;
  place-items:center;
  gap:6px;
  min-height:150px;
  border:2px dashed #b3914c;
  border-radius:20px;
  background:#fffaf1;
  color:#172554;
  margin:14px 0;
  text-align:center;
}

.evidence-drop.dragover{
  background:#eef4ff;
  border-color:#172554;
}

.evidence-drop input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}

.evidence-form{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:12px;
  margin-bottom:14px;
}

.conditional-grid,
.training-grid,
.template-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.conditional-grid article,
.training-grid article,
.template-grid article{
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:16px;
  background:#fffdf8;
  box-shadow:0 12px 30px rgba(17,24,39,.045);
}

.training-grid span{
  display:inline-flex;
  border-radius:999px;
  background:#f7f0df;
  border:1px solid #ead8ad;
  color:#70521a;
  padding:5px 9px;
  font-weight:850;
  font-size:.78rem;
}

@media(max-width:900px){
  .red-alerts,
  .evidence-form,
  .conditional-grid,
  .training-grid,
  .template-grid{
    grid-template-columns:1fr;
  }
}

@media print{
  #nativePdfExportCard,
  #evidenceDossierCard .evidence-drop,
  #evidenceDossierCard .evidence-form,
  #evidenceDossierCard button{
    display:none !important;
  }
}


/* V12.5 — clarté avocat, exemples nommés, cas pratiques */
.solution-examples{
  border:1px solid #d3def4;
  background:#eef4ff;
  border-radius:18px;
  padding:14px;
  margin:14px 0;
}

.strong-pill{
  font-weight:850;
  color:#172554 !important;
  background:#fff !important;
}

.case-box{
  border-left:4px solid #b3914c;
  background:#fffaf1;
  padding:12px 14px;
  border-radius:14px;
  margin:14px 0;
  color:#334155;
}

.case-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.case-grid article{
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:16px;
  background:#fffdf8;
}

@media(max-width:900px){
  .case-grid{
    grid-template-columns:1fr;
  }
}


/* V13 Production */
.evidence-score-grid,
.production-test-grid,
.mistake-grid,
.scenario-ready-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.evidence-score-grid article,
.production-test-grid article,
.mistake-grid article,
.scenario-ready-grid article{
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:16px;
  background:#fffdf8;
  box-shadow:0 12px 30px rgba(17,24,39,.045);
}

.evidence-score-grid strong{
  display:block;
  font-size:2rem;
  color:#172554;
  line-height:1;
  margin:8px 0;
}

.production-test-grid ul{
  list-style:none;
  padding-left:0;
}

.production-test-grid li{
  margin:8px 0;
}

.legal-page{
  max-width:980px;
  margin:0 auto;
  padding:34px 18px 80px;
}

.legal-page h1{
  font-size:clamp(2rem,3vw,3rem);
}

.back-link{
  margin-top:34px;
}

@media(max-width:900px){
  .evidence-score-grid,
  .production-test-grid,
  .mistake-grid,
  .scenario-ready-grid{
    grid-template-columns:1fr;
  }
}

@media print{
  #premiumDeliverables button,
  #premiumDeliverables a.primary{
    display:none !important;
  }
}


/* V13.1 — correctif questionnaire, preuves locales, lien vidéo */
.question-section[open] .question-section-body{
  display:block;
}

.inline-evidence-uploader{
  border:1px solid #d3def4;
  background:#f8fbff;
  border-radius:18px;
  padding:14px;
  margin:14px 0;
}

.inline-evidence-head{
  display:grid;
  gap:4px;
  margin-bottom:10px;
}

.inline-evidence-head span{
  color:#64748b;
  font-size:.92rem;
}

.inline-evidence-controls{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:10px;
  margin-bottom:10px;
}

.evidence-file-label{
  display:block;
  border:2px dashed #b3914c;
  border-radius:16px;
  background:#fffaf1;
  padding:16px;
  text-align:center;
  font-weight:850;
  color:#172554;
  cursor:pointer;
}

.evidence-file-label input{
  display:none;
}

.inline-evidence-list{
  margin-top:10px;
}

.inline-evidence-list ul{
  margin:0;
  padding-left:18px;
}

.video-help{
  border-left:4px solid #b3914c;
  background:#fffaf1;
  padding:10px 12px;
  border-radius:12px;
}

@media(max-width:760px){
  .inline-evidence-controls{
    grid-template-columns:1fr;
  }
}


/* V13.2 — indice de sécurité et style soutenu */
.video-card .video-meta span{
  line-height:1.35;
}

.extraterritoriality-note{
  border-left:4px solid #172554;
  background:#f8fbff;
  padding:14px;
  border-radius:14px;
  margin:14px 0;
}


/* V13.3 — démonstrations, institutionnel, recette */
.demo-profiles-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.demo-profile-card{
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:16px;
  background:#fffdf8;
  box-shadow:0 12px 30px rgba(17,24,39,.045);
}

.demo-profile-card h3{
  margin-top:0;
}

.video-count{
  grid-column:1/-1;
  margin:0 0 8px;
}

.institutional-banner{
  position:sticky;
  top:0;
  z-index:100;
  background:#172554;
  color:#fff;
  padding:10px 16px;
  text-align:center;
  font-size:.95rem;
}

.institutional-mode .hidden-institutional{
  display:none !important;
}

@media(max-width:900px){
  .demo-profiles-grid{
    grid-template-columns:1fr;
  }
}


/* V13.4 — bouton version institutionnelle */
.top-actions #institutionalModeBtn.active{
  background:#172554;
  color:#fff;
  border-color:#172554;
}


/* V13.5 — registre solutions, neutralité, version */
.version-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 8px;
  border-radius:999px;
  background:#fffaf1;
  color:#172554;
  border:1px solid #d4b56a;
  font-size:.78rem;
  font-weight:850;
  margin-left:8px;
}

.top-actions #neutralModeBtn.active{
  background:#1f2937;
  color:#fff;
  border-color:#1f2937;
}

.neutral-mode .hidden-neutral{
  display:none !important;
}

.trust-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 8px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  background:#f1f5f9;
  color:#334155;
  border:1px solid #cbd5e1;
}

.trust-élevé,
.trust-eleve{
  background:#ecfdf5;
  color:#065f46;
  border-color:#a7f3d0;
}

.trust-moyen{
  background:#fff7ed;
  color:#9a3412;
  border-color:#fed7aa;
}

.trust-faible{
  background:#fef2f2;
  color:#991b1b;
  border-color:#fecaca;
}

.price-status{
  margin-top:6px;
  white-space:normal;
}

.vendor-registry-table table{
  font-size:.88rem;
}

.vendor-registry-table td{
  vertical-align:top;
}

.interpretation-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.interpretation-summary article{
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:16px;
  background:#fffdf8;
}

@media(max-width:900px){
  .interpretation-summary{
    grid-template-columns:1fr;
  }
}


/* V13.6 — correctifs interface vidéos et glossaire */
.brand-clean{
  gap:0;
  font-weight:900;
  letter-spacing:-.01em;
}

.brand-clean .brand-title{
  display:inline-block;
  padding:8px 0;
  color:inherit;
}

.version-badge{
  display:none !important;
}

.resource-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.video-grid,
.glossary-grid{
  max-height:none !important;
  overflow:visible !important;
  align-items:stretch;
}

.video-grid.full,
.glossary-grid.full{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  max-height:none !important;
  overflow:visible !important;
}

.video-count,
.glossary-count{
  grid-column:1/-1;
  margin:0 0 8px;
  padding:8px 10px;
  border-radius:12px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}

#videoHub,
#reportVideoHub,
#glossaryGrid{
  padding-bottom:8px;
}

.video-page-grid{
  margin-top:18px;
}

.glossary-full-table td{
  vertical-align:top;
}

.glossary-full-table p{
  margin:.35rem 0;
}

@media(max-width:760px){
  .resource-actions{
    justify-content:flex-start;
  }
}


/* V13.7 — logo, accessibilité, mobile, test utilisateur */
.brand-logo{
  display:flex;
  align-items:center;
  min-width:180px;
}

.brand-logo img{
  display:block;
  width:220px;
  max-width:34vw;
  height:auto;
  filter:drop-shadow(0 6px 16px rgba(15,23,42,.18));
}

.top-actions{
  flex-wrap:wrap;
}

.top-actions #userTestModeBtn.active,
.top-actions #soloShortModeBtn.active{
  background:#172554;
  color:#fff;
  border-color:#172554;
}

.user-test-banner{
  position:sticky;
  top:0;
  z-index:101;
  background:#0f766e;
  color:#fff;
  padding:10px 16px;
  text-align:center;
  font-size:.95rem;
}

.filter-panel{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
  margin:18px 0;
  padding:14px;
  border:1px solid #ddd5c7;
  border-radius:16px;
  background:#fffdf8;
}

.filter-panel label{
  display:grid;
  gap:6px;
  font-weight:800;
}

.filter-panel input,
.filter-panel select{
  min-height:42px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  padding:8px 10px;
  font:inherit;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid #facc15;
  outline-offset:3px;
}

@media(max-width:900px){
  .topbar{
    align-items:flex-start;
  }
  .brand-logo img{
    width:170px;
    max-width:58vw;
  }
  .top-actions{
    width:100%;
    justify-content:flex-start;
  }
  .top-actions .ghost.small,
  .top-actions button.small{
    min-height:42px;
  }
}

@media(max-width:640px){
  .layout{
    grid-template-columns:1fr;
    padding:0 12px 40px;
  }
  .sticky{
    position:static;
  }
  .card{
    padding:18px;
    border-radius:18px;
  }
  .top-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .top-actions .ghost.small,
  .top-actions button.small{
    width:100%;
    padding:10px 8px;
    font-size:.9rem;
  }
  .brand-logo img{
    width:160px;
  }
  .hero{
    padding:18px 14px 32px;
  }
}


/* V13.8 — correction logo, hiérarchie de navigation et affichage vidéo/glossaire */
.topbar{justify-content:flex-end}
.hero-logo-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 40px rgba(15,23,42,.18);
  border:1px solid rgba(255,255,255,.65);
  margin:0 0 16px;
}
.hero-logo-wrap img{
  display:block;
  width:260px;
  max-width:min(72vw,260px);
  height:auto;
}
.brand-logo{display:none}
.top-actions{gap:10px;justify-content:flex-end}

/* Garder les hubs visibles, sans fond vide au repos */
.learning-hub,.glossary-hub{background:rgba(255,253,249,.94)!important;box-shadow:0 14px 32px rgba(15,23,42,.06)!important}
.learning-hub .video-grid,
.glossary-hub .glossary-grid{
  max-height:none !important;
  overflow:visible !important;
  opacity:1 !important;
  margin-top:16px !important;
}
.grid-placeholder{
  grid-column:1/-1;
  padding:12px 14px;
  border-radius:14px;
  border:1px dashed #cbd5e1;
  background:#f8fafc;
}

.footer-links-secondary{
  margin-top:10px;
  opacity:.92;
}

@media (max-width:980px){
  .topbar{justify-content:flex-start}
  .hero-logo-wrap img{width:220px;max-width:68vw}
}
@media (max-width:640px){
  .hero-logo-wrap{padding:10px 14px;border-radius:16px}
  .hero-logo-wrap img{width:190px;max-width:72vw}
  .top-actions{grid-template-columns:1fr 1fr}
}


/* V13.9 — allègement en-tête + footer premium + hero harmonisé */
.topbar-premium{
  justify-content:center;
  margin-bottom:30px;
}

.top-actions-primary{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  width:100%;
}

.top-actions-primary .ghost.small,
.top-actions-primary .primary.small{
  min-height:42px;
  padding:10px 14px;
  border-radius:14px;
}

.top-actions-primary .subtle-action{
  opacity:.78;
}

.header-menu{
  position:relative;
}

.header-menu summary{
  list-style:none;
  cursor:pointer;
  border-radius:14px;
  padding:10px 14px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
  font-weight:850;
}

.header-menu summary::-webkit-details-marker{display:none}

.header-menu summary:after{
  content:"⌄";
  opacity:.8;
  font-size:.85rem;
}

.header-menu[open] summary{
  background:rgba(255,255,255,.22);
}

.header-menu-panel{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  z-index:50;
  width:min(320px,88vw);
  display:grid;
  gap:6px;
  padding:12px;
  border-radius:18px;
  background:#fffdf8;
  box-shadow:0 24px 70px rgba(15,23,42,.24);
  border:1px solid rgba(15,23,42,.12);
}

.header-menu-panel a{
  color:#172554;
  text-decoration:none;
  font-weight:850;
  padding:10px 12px;
  border-radius:12px;
}

.header-menu-panel a:hover{
  background:#f1f5f9;
}

.hero-logo-premium{
  margin-bottom:18px;
  padding:14px 20px;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 22px 55px rgba(15,23,42,.22);
}

.hero-logo-premium img{
  width:280px;
  max-width:min(74vw,280px);
}

.hero-eyebrow-premium{
  color:#fde68a!important;
}

.hero-proof-grid{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:16px 0 22px;
}

.hero-proof-grid span{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  color:#e0f2fe;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  font-size:.9rem;
  font-weight:850;
}

.friendly-hero-grid{
  align-items:center;
}

.friendly-mode-card{
  border-radius:30px;
  box-shadow:0 32px 95px rgba(15,23,42,.20);
}

.footer-premium{
  background:linear-gradient(135deg,#0f172a,#172554 55%,#0f766e);
  color:#e5e7eb;
  padding:42px clamp(18px,4vw,56px);
  border-top:1px solid rgba(255,255,255,.12);
}

.footer-premium a{
  color:#e0f2fe;
  text-decoration:none;
}

.footer-premium a:hover{
  text-decoration:underline;
}

.footer-premium-head{
  max-width:1280px;
  margin:0 auto 28px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  border-bottom:1px solid rgba(255,255,255,.16);
  padding-bottom:22px;
}

.footer-premium-head strong{
  display:block;
  color:#fff;
  font-size:1.1rem;
  margin-bottom:6px;
}

.footer-premium-head p{
  margin:0;
  color:#cbd5e1;
}

.footer-brand-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.footer-brand-links a{
  display:inline-flex;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  font-weight:850;
}

.footer-groups{
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:22px;
}

.footer-groups section{
  display:grid;
  align-content:start;
  gap:8px;
}

.footer-groups h3{
  margin:0 0 8px;
  color:#fde68a;
  font-size:.84rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.footer-groups a{
  color:#dbeafe;
  font-size:.94rem;
  line-height:1.3;
}

.footer-disclaimer{
  max-width:1280px;
  margin:28px auto 0;
  color:#cbd5e1;
  font-size:.92rem;
  border-top:1px solid rgba(255,255,255,.14);
  padding-top:18px;
}

@media(max-width:980px){
  .top-actions-primary{
    justify-content:flex-start;
  }
  .header-menu-panel{
    left:0;
    right:auto;
  }
  .footer-premium-head{
    display:grid;
  }
  .footer-groups{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .top-actions-primary{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .header-menu{
    width:100%;
  }
  .header-menu summary{
    width:100%;
  }
  .header-menu-panel{
    width:calc(100vw - 36px);
  }
  .hero-logo-premium img{
    width:220px;
  }
  .footer-groups{
    grid-template-columns:1fr;
  }
}


/* V13.10 — correctif navigation, logo et contraste */
.stable-topbar{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  max-width:1180px;
  margin:0 auto 32px;
  position:relative;
  z-index:20;
}

.stable-topbar .top-actions-primary{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}

.stable-topbar .top-actions-primary .primary.start-action{
  background:#f8fafc;
  color:#172554;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 10px 24px rgba(15,23,42,.18);
}

.stable-topbar .top-actions-primary .primary.start-action:hover{
  background:#ffffff;
  transform:translateY(-1px);
}

.stable-topbar .top-actions-primary .ghost.small,
.stable-topbar .top-actions-primary .primary.small{
  min-height:42px;
  padding:10px 14px;
  border-radius:14px;
  line-height:1.15;
  white-space:nowrap;
}

.header-logo-strip{
  width:100%;
  max-width:1180px;
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  border:1px solid rgba(255,255,255,.78);
  border-radius:24px;
  box-shadow:0 24px 70px rgba(15,23,42,.24);
}

.header-logo-strip img{
  display:block;
  width:min(520px,82vw);
  height:auto;
  max-height:74px;
  object-fit:contain;
}

.hero-logo-wrap,
.hero-logo-premium{
  display:none !important;
}

.header-menu,
.header-menu-panel{
  display:none !important;
}

/* Évite qu’un ancien overlay de menu reste au-dessus du hero */
.topbar-premium{
  overflow:visible;
}

@media(max-width:980px){
  .stable-topbar{
    align-items:stretch;
    padding:0 12px;
  }
  .stable-topbar .top-actions-primary{
    justify-content:flex-start;
  }
  .header-logo-strip{
    border-radius:20px;
    min-height:82px;
  }
  .header-logo-strip img{
    width:min(420px,84vw);
    max-height:66px;
  }
}

@media(max-width:640px){
  .stable-topbar .top-actions-primary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .stable-topbar .top-actions-primary .ghost.small,
  .stable-topbar .top-actions-primary .primary.small{
    width:100%;
    min-height:44px;
    font-size:.86rem;
    white-space:normal;
  }
  .header-logo-strip{
    min-height:76px;
    padding:10px 12px;
  }
  .header-logo-strip img{
    width:min(330px,86vw);
    max-height:56px;
  }
}


/* V14 — test public / stabilisation */
.topbar-v14{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  max-width:1180px;
  margin:0 auto 34px;
  position:relative;
  z-index:20;
}

.top-actions-v14{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.top-actions-v14 .primary.start-action{
  background:#fff;
  color:#172554;
  border-color:#fff;
  box-shadow:0 12px 26px rgba(15,23,42,.22);
}

.top-actions-v14 .secondary.small{
  background:#fff7e6;
  color:#6b4b00;
  border-color:#d4a943;
}

.top-actions-v14 .nav-link-chip{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:14px;
  font-weight:850;
  text-decoration:none;
  color:#dbeafe;
  background:rgba(255,255,255,.08);
  border:1px dashed rgba(219,234,254,.45);
}

.top-actions-v14 .nav-link-chip:before{
  content:none!important;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  opacity:.72;
  margin-right:8px;
}

.header-brand-panel{
  width:100%;
  max-width:1180px;
}

.header-brand-panel .header-logo-strip{
  width:100%;
  max-width:none;
  margin:0;
  border-radius:24px 24px 0 0;
  border-bottom:0;
}

.header-context-panel{
  width:100%;
  padding:18px 22px 20px;
  border-radius:0 0 24px 24px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));
  border:1px solid rgba(255,255,255,.78);
  border-top:1px solid rgba(15,23,42,.08);
  box-shadow:0 22px 55px rgba(15,23,42,.18);
}

.header-context-panel .eyebrow{
  color:#9a6a00!important;
  margin:0 0 8px;
}

.header-context-panel .practitioner-proof,
.header-context-panel .neutral-proof{
  color:#172554;
  margin:8px 0;
  max-width:960px;
}

.header-context-panel .hero-proof-grid{
  margin:14px 0 0;
}

.header-context-panel .hero-proof-grid span{
  background:#eef6ff;
  color:#172554;
  border:1px solid #bfdbfe;
}

.primary,
button.primary{
  cursor:pointer;
}

.secondary,
button.secondary{
  cursor:pointer;
}

.nav-link-chip,
.ghost[href],
a.ghost,
a.secondary,
.nav-link-big{
  cursor:pointer;
}

.nav-link-big{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 18px;
  border-radius:16px;
  color:#172554;
  background:#fff7e6;
  border:1px dashed #d4a943;
  text-decoration:none;
  font-weight:900;
}

.nav-link-big:before{
  content:none!important;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  opacity:.72;
  margin-right:8px;
}

.summary-one-page{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.summary-one-page section{
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:16px;
  background:#fffdf8;
}

.summary-one-page h3{
  margin-top:0;
}

.summary-score{
  display:block;
  font-size:2.4rem;
  line-height:1;
  color:#172554;
}

.resource-directory{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.resource-directory section{
  border:1px solid #ddd5c7;
  border-radius:18px;
  padding:18px;
  background:#fffdf8;
}

.resource-directory a{
  display:block;
  padding:9px 0;
  color:#172554;
  font-weight:850;
}

@media(max-width:900px){
  .top-actions-v14{
    justify-content:flex-start;
  }
  .summary-one-page,
  .resource-directory{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .top-actions-v14{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .top-actions-v14 .primary.small,
  .top-actions-v14 .secondary.small,
  .top-actions-v14 .nav-link-chip{
    width:100%;
    min-height:44px;
    white-space:normal;
    font-size:.88rem;
  }
  .header-context-panel{
    padding:14px;
  }
  .header-brand-panel .header-logo-strip img{
    width:min(330px,86vw);
    max-height:58px;
  }
}


/* V14.1 — thème professionnel, boutons visibles et liens distingués */
:root{
  --edn-navy:#0f2147;
  --edn-navy-2:#173768;
  --edn-gold:#d8ad4c;
  --edn-gold-soft:#fff3cf;
  --edn-cream:#fffaf0;
  --edn-link:#dbeafe;
}

/* Navigation : vrais boutons uniformes, liens distincts */
.topbar-v14{
  max-width:1180px;
  gap:14px;
}

.top-actions-v14{
  gap:10px;
  justify-content:center;
}

.top-actions-v14 .primary.small,
.top-actions-v14 .secondary.small{
  min-height:44px;
  border-radius:14px;
  padding:10px 16px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(15,23,42,.18);
}

.top-actions-v14 .primary.small,
.top-actions-v14 .primary.start-action{
  background:linear-gradient(180deg,#f7d77c,#d8ad4c);
  color:#102044;
  border:1px solid #f1cf73;
}

.top-actions-v14 .primary.small:hover,
.top-actions-v14 .primary.start-action:hover{
  background:linear-gradient(180deg,#ffe49a,#d8ad4c);
  transform:translateY(-1px);
}

.top-actions-v14 .secondary.small{
  background:#ffffff;
  color:#102044;
  border:1px solid rgba(255,255,255,.86);
}

.top-actions-v14 .secondary.small:hover{
  background:#f8fafc;
  transform:translateY(-1px);
}

/* Les liens ne doivent plus ressembler à des boutons d'action */
.nav-resource-link,
.hero-text-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 4px;
  color:#e0f2fe;
  background:transparent;
  border:0;
  border-radius:0;
  text-decoration:underline;
  text-underline-offset:5px;
  font-weight:900;
  box-shadow:none;
}

.hero-text-link{
  color:#fff3cf;
  min-height:48px;
  padding:12px 4px;
}

.nav-resource-link:hover,
.hero-text-link:hover{
  color:#ffffff;
  background:transparent;
}

.nav-link-chip,
.nav-link-big{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-decoration:underline!important;
  text-underline-offset:5px;
}

.nav-link-chip:before,
.nav-link-big:before,
.nav-resource-link:before,
.hero-text-link:before{
  content:none!important;
  display:none!important;
}

/* Logo + bloc explicatif : même largeur, directement sous le logo */
.header-brand-panel{
  width:100%;
  max-width:1180px;
}

.header-brand-panel .header-logo-strip{
  width:100%;
  max-width:none;
  min-height:92px;
  margin:0;
  border-radius:24px 24px 0 0;
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  border:1px solid rgba(255,255,255,.84);
  border-bottom:0;
}

.header-brand-panel .header-logo-strip img{
  width:min(520px,78vw);
  max-height:74px;
  object-fit:contain;
}

.header-context-panel{
  width:100%;
  max-width:none;
  margin:0;
  padding:18px 24px 20px;
  border-radius:0 0 24px 24px;
  background:linear-gradient(180deg,#ffffff,#f7f3ea);
  border:1px solid rgba(255,255,255,.84);
  border-top:1px solid #e7dcc7;
  box-shadow:0 26px 65px rgba(15,23,42,.22);
}

.header-context-panel .eyebrow{
  margin:0 0 10px;
  color:#9a6a00!important;
  letter-spacing:.12em;
}

.header-context-panel .practitioner-proof{
  display:inline-flex;
  width:auto;
  max-width:100%;
  margin:0 0 10px;
  color:#102044;
  background:#eef2ff;
  border:1px solid #c7d2fe;
}

.header-context-panel .neutral-proof{
  color:#102044;
  max-width:980px;
  margin:0 0 14px;
  font-size:1rem;
}

.header-context-panel .hero-proof-grid{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.header-context-panel .hero-proof-grid span{
  color:#102044;
  background:#fff7df;
  border:1px solid #dfbf66;
}



/* Boutons du hero : uniformes avec la navigation */
.hero-actions .primary.big{
  background:linear-gradient(180deg,#f7d77c,#d8ad4c);
  color:#102044;
  border:1px solid #f1cf73;
  box-shadow:0 14px 30px rgba(15,23,42,.22);
}

.hero-actions .secondary.big{
  background:#ffffff;
  color:#102044;
  border:1px solid rgba(255,255,255,.86);
  box-shadow:0 12px 28px rgba(15,23,42,.16);
}

/* Harmonisation globale des boutons sur fond sombre */
.hero .ghost,
.topbar .ghost{
  background:#ffffff;
  color:#102044;
  border-color:rgba(255,255,255,.86);
}

.hero .ghost:hover,
.topbar .ghost:hover{
  background:#f8fafc;
}

/* Accessibilité visuelle */
button,
a{
  -webkit-tap-highlight-color:rgba(216,173,76,.35);
}

button:focus-visible,
a:focus-visible{
  outline:3px solid #f7d77c;
  outline-offset:3px;
}

/* Mobile */
@media(max-width:900px){
  .header-context-panel{
    padding:16px;
  }
  .header-context-panel .practitioner-proof{
    display:flex;
  }
}

@media(max-width:640px){
  .top-actions-v14{
    grid-template-columns:1fr 1fr;
  }
  .nav-resource-link{
    min-height:44px;
    justify-content:center;
  }
  .header-brand-panel .header-logo-strip{
    min-height:78px;
    padding:10px;
  }
  .header-brand-panel .header-logo-strip img{
    width:min(340px,86vw);
    max-height:58px;
  }
  .header-context-panel{
    border-radius:0 0 20px 20px;
  }
}


/* V1.0 — correctif définitif hero / logo / boutons / contraste */
:root{
  --edn-navy:#0f2147;
  --edn-navy-soft:#173768;
  --edn-gold:#d8ad4c;
  --edn-gold-light:#f7d77c;
  --edn-cream:#fffaf0;
  --edn-white:#ffffff;
  --edn-border:rgba(15,23,42,.14);
}

/* Structure haute : boutons, logo, contexte, puis hero */
.topbar-v142{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  width:100%;
  max-width:1180px;
  margin:0 auto 34px;
  position:relative;
  z-index:20;
}

.top-actions-v142{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

/* Boutons uniformes, lisibles sur fond bleu foncé */
.top-actions-v142 .edn-btn,
.top-actions-v142 button.edn-btn{
  min-height:44px;
  padding:10px 16px;
  border-radius:14px;
  font-weight:900;
  line-height:1.15;
  cursor:pointer;
  border:1px solid var(--edn-gold);
  color:var(--edn-navy);
  box-shadow:0 10px 24px rgba(15,23,42,.18);
  transition:transform .16s ease, filter .16s ease, background .16s ease;
}

.top-actions-v142 .edn-btn-primary,
.top-actions-v142 .edn-btn-secondary{
  background:linear-gradient(180deg,var(--edn-gold-light),var(--edn-gold));
  color:var(--edn-navy);
  border-color:var(--edn-gold);
}

.top-actions-v142 .edn-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}

/* Liens = liens. Pas faux boutons. Pas préfixe "Lien". */
.edn-link,
.nav-resource-link,
.hero-text-link{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  color:#fff3cf!important;
  text-decoration:underline!important;
  text-underline-offset:5px;
  font-weight:900;
  cursor:pointer;
  padding:8px 4px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}

.edn-link::before,
.nav-resource-link::before,
.hero-text-link::before,
.nav-link-chip::before,
.nav-link-big::before{
  content:none!important;
  display:none!important;
}

.edn-link:hover,
.nav-resource-link:hover,
.hero-text-link:hover{
  color:#ffffff!important;
}

/* Cartouche logo + bloc contextuel : largeur strictement identique */
.header-brand-panel{
  width:100%;
  max-width:1180px;
  margin:0 auto;
}

.header-logo-strip{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  min-height:92px;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:14px 18px;
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  border:1px solid rgba(255,255,255,.84);
  border-bottom:0;
  border-radius:24px 24px 0 0;
  box-shadow:0 24px 60px rgba(15,23,42,.20);
}

.header-logo-strip img{
  display:block;
  width:min(520px,78vw);
  max-height:74px;
  height:auto;
  object-fit:contain;
}

.header-context-panel{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:18px 24px 20px;
  border-radius:0 0 24px 24px;
  background:linear-gradient(180deg,#ffffff,#f7f3ea);
  border:1px solid rgba(255,255,255,.84);
  border-top:1px solid #e7dcc7;
  box-shadow:0 26px 65px rgba(15,23,42,.22);
  color:var(--edn-navy);
}

.header-context-panel .eyebrow{
  display:block!important;
  margin:0 0 10px;
  color:#9a6a00!important;
  letter-spacing:.12em;
}

.header-context-panel .practitioner-proof{
  display:inline-flex!important;
  width:auto;
  max-width:100%;
  margin:0 0 10px;
  color:var(--edn-navy)!important;
  background:#eef2ff;
  border:1px solid #c7d2fe;
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
}

.header-context-panel .neutral-proof{
  display:block!important;
  color:var(--edn-navy)!important;
  max-width:980px;
  margin:0 0 14px;
  font-size:1rem;
  line-height:1.5;
}

.header-context-panel .hero-proof-grid{
  display:flex!important;
  flex-wrap:wrap;
  gap:10px;
  margin:0;
}

.header-context-panel .hero-proof-grid span{
  display:inline-flex;
  align-items:center;
  color:var(--edn-navy);
  background:#fff7df;
  border:1px solid #dfbf66;
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
}



/* Boutons hero uniformes avec topbar */
.hero-actions .edn-btn,
.hero-actions button.edn-btn{
  min-height:48px;
  border-radius:16px;
  padding:12px 18px;
  font-weight:900;
  cursor:pointer;
  color:var(--edn-navy);
}

.hero-actions .edn-btn-primary,
.hero-actions .edn-btn-secondary{
  background:linear-gradient(180deg,var(--edn-gold-light),var(--edn-gold));
  border:1px solid var(--edn-gold);
  color:var(--edn-navy);
  box-shadow:0 14px 30px rgba(15,23,42,.22);
}

/* Nettoyage des anciennes classes hybrides */
.nav-link-chip,
.nav-link-big{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  color:#fff3cf!important;
  text-decoration:underline!important;
  text-underline-offset:5px;
}

/* Aucun ancien menu ne doit bloquer les clics */
.header-menu,
.header-menu-panel{
  display:none!important;
  pointer-events:none!important;
}

/* Accessibilité et mobile */
button:focus-visible,
a:focus-visible{
  outline:3px solid var(--edn-gold-light);
  outline-offset:3px;
}

@media(max-width:900px){
  .top-actions-v142{
    justify-content:flex-start;
  }

  .header-context-panel{
    padding:16px;
  }

  .header-context-panel .practitioner-proof{
    display:flex!important;
    border-radius:16px;
  }
}

@media(max-width:640px){
  .top-actions-v142{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .top-actions-v142 .edn-btn,
  .top-actions-v142 .edn-link{
    width:100%;
    justify-content:center;
    min-height:44px;
    font-size:.88rem;
  }

  .header-logo-strip{
    min-height:78px;
    padding:10px;
  }

  .header-logo-strip img{
    width:min(340px,86vw);
    max-height:58px;
  }

  .header-context-panel{
    border-radius:0 0 20px 20px;
  }
}


/* V1.0 — sécurité anti-préfixe Lien */
.nav-link-chip:before,
.nav-link-chip::before,
.nav-link-big:before,
.nav-link-big::before,
.nav-resource-link:before,
.nav-resource-link::before,
.hero-text-link:before,
.hero-text-link::before,
.edn-link:before,
.edn-link::before{
  content:none!important;
  display:none!important;
}


/* V1.0 — correctif final contraste footer sombre + accessibilité modes */
.footer-premium,
.footer-premium *{
  text-shadow:none!important;
}

.footer-premium h1,
.footer-premium h2,
.footer-premium h3,
.footer-premium h4,
.footer-groups h3{
  color:#fde68a!important;
}

.footer-premium .footer-premium-head strong{
  color:#ffffff!important;
}

.footer-premium p,
.footer-premium .footer-disclaimer,
.footer-premium small{
  color:#cbd5e1!important;
}

.footer-premium a,
.footer-groups a,
.footer-brand-links a{
  color:#dbeafe!important;
}

.footer-premium a:hover,
.footer-groups a:hover,
.footer-brand-links a:hover{
  color:#ffffff!important;
  text-decoration:underline!important;
}

.mode[role="radio"][aria-checked="true"]{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 3px rgba(29,78,216,.16)!important;
}

.mode[role="radio"]:focus-visible{
  outline:3px solid var(--edn-gold-light, #f6d98a)!important;
  outline-offset:3px!important;
}


/* V1.0 — hub prompts sécurisés et skills IA */
.prompt-skills-hub{
  border:1px solid rgba(245,158,11,.34)!important;
  background:linear-gradient(180deg,#fffdf7,#ffffff)!important;
}
.prompt-rule-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:14px 0 18px;
}
.prompt-rule-strip span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 11px;
  background:#fff7ed;
  color:#7c2d12;
  border:1px solid #fed7aa;
  font-weight:850;
  font-size:.86rem;
}
.prompt-mini-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.prompt-mini-grid article{
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  border-radius:16px;
  padding:14px;
}
.prompt-mini-grid h3{
  margin:0 0 8px;
  color:var(--edn-navy, #14245a)!important;
}
.prompt-example-row,
.prompt-template-list{
  display:grid;
  gap:12px;
  margin-top:16px;
}
.prompt-example{
  border:1px solid rgba(15,23,42,.12);
  border-radius:16px;
  background:#fbfcff;
  overflow:hidden;
}
.prompt-example summary{
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:14px 16px;
  list-style:none;
}
.prompt-example summary::-webkit-details-marker{display:none}
.prompt-example summary strong{
  color:var(--edn-navy, #14245a)!important;
}
.prompt-example summary span{
  color:var(--muted);
  font-size:.9rem;
  text-align:right;
}
.prompt-example pre{
  margin:0;
  padding:16px;
  overflow:auto;
  background:#0f172a;
  color:#e5e7eb;
  border-top:1px solid rgba(15,23,42,.12);
  white-space:pre-wrap;
}
.prompt-example code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.9rem;
}
.prompt-library-page .static-card{
  margin:18px 0;
}
.secure-list{
  padding-left:1.2rem;
}
.secure-list li{
  margin:.45rem 0;
}
.secure-list.ordered li{
  padding-left:.2rem;
}
.bad-good-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.bad-good-grid article{
  border-radius:16px;
  padding:16px;
  border:1px solid rgba(15,23,42,.12);
}
.bad-prompt{
  background:#fef2f2;
  color:#7f1d1d;
}
.good-prompt{
  background:#ecfdf3;
  color:#064e3b;
}
.bad-good-grid h3{
  margin-top:0;
}
.skill-directory{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.skill-directory section{
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  padding:14px;
  background:#fff;
}
.skill-directory h3{
  margin:0 0 10px;
  color:var(--edn-navy, #14245a)!important;
}
.skill-directory a,
.skill-card{
  display:block;
  padding:8px 0;
  color:#1d4ed8!important;
  text-decoration:none;
  font-weight:750;
}
.skill-directory a:hover,
.skill-card:hover{
  text-decoration:underline!important;
}
.skill-card span{
  display:block;
  color:var(--muted);
  font-weight:600;
  font-size:.9rem;
}
@media(max-width:900px){
  .prompt-mini-grid,
  .bad-good-grid{
    grid-template-columns:1fr;
  }
  .prompt-example summary{
    display:block;
  }
  .prompt-example summary span{
    display:block;
    text-align:left;
    margin-top:4px;
  }
}
@media print{
  .prompt-skills-hub{display:none!important;}
}


/* V1.0 — liens de démonstration SaaS / IA */
.demo-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#1d4ed8!important;
  font-weight:800;
  text-decoration:none;
}
.demo-link::before{content:"↗";font-size:.85em;}
.demo-link:hover{text-decoration:underline!important;}
.link-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.demo-solutions-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
  margin-top:18px;
}
.demo-solution-card{
  border:1px solid var(--line, #d8deea);
  border-radius:18px;
  background:#fff;
  padding:18px;
  box-shadow:0 12px 34px rgba(15,23,42,.07);
}
.demo-solution-card h2{margin:0 0 6px;color:var(--edn-navy, #14245a)!important;}
.demo-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
@media(max-width:700px){
  .demo-action-row .primary,
  .demo-action-row .secondary{width:100%;}
}

/* =========================================================
   V1.0 — centrage hero + synthèse friendly du rapport
   ========================================================= */
.header-brand-panel,
.header-brand-panel .header-logo-strip,
.header-context-panel{
  margin-left:auto!important;
  margin-right:auto!important;
}

.header-context-panel{
  text-align:center!important;
}

.header-context-panel .practitioner-proof{
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:center!important;
  text-align:center!important;
}

.header-context-panel .neutral-proof{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

.header-context-panel .hero-proof-grid{
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}

.header-context-panel .hero-proof-grid span{
  justify-content:center!important;
  text-align:center!important;
}

.hero .feature-card{
  text-align:center!important;
  justify-items:center!important;
  align-items:center!important;
}

.hero .feature-card span{
  margin-left:auto!important;
  margin-right:auto!important;
}

.hero .feature-card strong,
.hero .feature-card small{
  text-align:center!important;
}

.hero .home-panel{
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
}

.hero .home-panel-icon,
.hero .home-panel h2,
.hero .home-panel p{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

.report-synthesis-card{
  border-color:#bfdbfe!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  box-shadow:0 22px 60px rgba(15,23,42,.11)!important;
}

.synthesis-header{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-bottom:18px;
}

.synthesis-header .synthesis-pill{
  background:linear-gradient(180deg,#f7d77c,#d8ad4c)!important;
  border-color:#d8ad4c!important;
  color:#102044!important;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
  flex:0 0 auto;
}

.synthesis-header h2{
  margin:0 0 6px!important;
}

.friendly-synthesis-grid{
  display:grid;
  grid-template-columns:1.15fr .92fr .92fr;
  gap:14px;
  margin:12px 0 14px;
}

.synthesis-score-card,
.synthesis-card,
.synthesis-panel{
  border:1px solid #dbe4f0;
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 14px 34px rgba(17,24,39,.06);
}

.synthesis-score-card{
  display:flex;
  align-items:center;
  gap:18px;
  padding:18px;
  background:linear-gradient(135deg,#fffdf8,#eff6ff);
}

.synthesis-score-orb{
  --score:0;
  width:116px;
  height:116px;
  flex:0 0 auto;
  border-radius:999px;
  display:grid;
  place-items:center;
  position:relative;
  background:conic-gradient(#1d4ed8 calc(var(--score) * 3.6deg), #e5e7eb 0deg);
}

.synthesis-score-orb:before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:999px;
  background:#fff;
  box-shadow:inset 0 0 0 1px #e2e8f0;
}

.synthesis-score-orb strong,
.synthesis-score-orb span{
  position:relative;
  z-index:1;
  line-height:1;
}

.synthesis-score-orb strong{
  font-size:2.2rem;
  color:#102044;
  letter-spacing:-.06em;
}

.synthesis-score-orb span{
  font-weight:900;
  color:#64748b;
  margin-top:-24px;
}

.synthesis-score-card h3,
.synthesis-card h3,
.synthesis-panel h3{
  color:#102044!important;
  margin:0 0 8px!important;
}

.synthesis-score-card p,
.synthesis-card p,
.synthesis-footnote{
  margin:0;
  color:#475569;
}

.synthesis-card.compact{
  padding:18px;
}

.synthesis-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:#eef4ff;
  margin-bottom:12px;
  font-size:1.25rem;
}

.synthesis-two-cols,
.synthesis-bottom-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:14px;
}

.synthesis-panel{
  padding:18px;
}

.synthesis-action-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}

.synthesis-action-list li{
  display:grid;
  grid-template-columns:minmax(120px,.36fr) 1fr;
  gap:10px;
  align-items:start;
  padding:10px 0;
  border-top:1px solid #edf2f7;
}

.synthesis-action-list li:first-child{
  border-top:0;
}

.synthesis-action-list strong{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:5px 9px;
  background:#fff7ed;
  color:#9a3412!important;
  font-size:.82rem;
}

.synthesis-action-list span{
  color:#334155;
}

.synthesis-risk-list{
  display:grid;
  gap:10px;
}

.synthesis-risk-row{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(120px,.8fr) 58px;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-top:1px solid #edf2f7;
}

.synthesis-risk-row:first-child{
  border-top:0;
}

.synthesis-risk-row strong{
  display:block;
  color:#102044!important;
  line-height:1.2;
}

.synthesis-risk-row span{
  display:block;
  color:#64748b;
  font-size:.88rem;
  margin-top:2px;
}

.synthesis-risk-row b{
  color:#102044;
  font-size:.9rem;
}

.synthesis-track{
  height:9px;
  border-radius:999px;
  background:#e5e7eb;
  overflow:hidden;
}

.synthesis-track span{
  display:block;
  height:100%;
  background:linear-gradient(90deg,#d8ad4c,#1d4ed8);
}

.synthesis-deliverables,
.synthesis-solutions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.synthesis-deliverables a,
.solution-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:9px 12px;
  text-decoration:none;
  font-weight:900;
  background:#eef4ff;
  border:1px solid #bfdbfe;
  color:#102044!important;
}

.solution-chip.outline{
  background:#fffdf8;
  border-color:#d8ad4c;
}

.synthesis-deliverables a:hover,
.solution-chip:hover{
  background:#dbeafe;
  transform:translateY(-1px);
}

.synthesis-footnote{
  margin-top:14px;
  padding:12px 14px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}

@media(max-width:980px){
  .friendly-synthesis-grid,
  .synthesis-two-cols,
  .synthesis-bottom-row{
    grid-template-columns:1fr;
  }
  .synthesis-score-card{
    align-items:flex-start;
  }
}

@media(max-width:640px){
  .synthesis-header,
  .synthesis-score-card{
    flex-direction:column;
  }
  .synthesis-action-list li,
  .synthesis-risk-row{
    grid-template-columns:1fr;
  }
}

@media print{
  .report-synthesis-card{
    break-inside:avoid;
  }
}


/* V1.0 — réassurance visuelle, SEO/GEO visible, RDV visio et fiche associés */
.result-preview-section{
  max-width:1220px;
  margin:28px auto 0;
  padding:24px clamp(18px,3vw,30px) 4px;
  color:#e5edff;
}
.result-preview-head{
  max-width:840px;
  margin:0 auto 18px;
  text-align:center;
}
.result-preview-head h2{
  color:#fff!important;
  font-size:clamp(1.7rem,3vw,2.45rem);
  line-height:1.08;
  margin:4px 0 10px;
  letter-spacing:-.035em;
}
.result-preview-head p{color:#dbeafe;margin:0 auto;}
.result-preview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.report-preview-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(219,234,254,.34);
  border-radius:24px;
  padding:16px;
  min-height:245px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.90));
  color:#172554;
  box-shadow:0 24px 70px rgba(2,6,23,.18);
}
.report-preview-card h3{color:#172554!important;margin:14px 0 6px;text-align:center;}
.report-preview-card p{color:#475569;margin:0;text-align:center;font-size:.94rem;}
.preview-browser{display:flex;gap:6px;align-items:center;height:28px;border-radius:14px;background:#e2e8f0;padding:0 10px;margin-bottom:14px;}
.preview-browser span{width:8px;height:8px;border-radius:50%;background:#94a3b8;}
.preview-score{width:98px;height:98px;border-radius:50%;margin:4px auto 6px;display:grid;place-items:center;background:conic-gradient(#0f766e 0 260deg,#dbeafe 260deg 360deg);position:relative;}
.preview-score:before{content:"";position:absolute;inset:9px;border-radius:50%;background:white;}
.preview-score strong,.preview-score small{position:relative;z-index:1;grid-area:1/1;color:#172554;}
.preview-score strong{font-size:2.45rem;line-height:.9;}
.preview-score small{margin-top:46px;font-weight:800;color:#64748b;}
.mini-matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:18px auto 16px;max-width:210px;}
.mini-matrix span{height:28px;border-radius:9px;background:#dbeafe;border:1px solid #bfdbfe;}
.mini-matrix span:nth-child(4n+1){background:#ccfbf1;border-color:#99f6e4;}
.mini-matrix span:nth-child(4n+3){background:#fef3c7;border-color:#fde68a;}
.mini-risk-bars{display:grid;gap:10px;margin:20px 8px 18px;}
.mini-risk-bars i{display:block;height:13px;border-radius:999px;background:linear-gradient(90deg,#0f766e,#1d4ed8);width:var(--w);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);}
.mini-associate-page{background:#fff;border:1px solid #cbd5e1;border-radius:14px;padding:14px;display:grid;gap:9px;margin:16px auto;max-width:210px;box-shadow:0 12px 35px rgba(15,23,42,.10);}
.mini-associate-page b{display:block;height:14px;border-radius:7px;background:#172554;}
.mini-associate-page b:nth-child(2){width:74%;background:#1d4ed8;}
.mini-associate-page b:nth-child(3){width:58%;background:#0f766e;}
.mini-associate-page em{display:block;height:9px;border-radius:999px;background:#e2e8f0;}
.seo-faq-card{border:1px solid #bfdbfe;background:linear-gradient(180deg,#fff,#f8fbff);}
.seo-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.seo-faq-grid article{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.06);}
.seo-faq-grid h3{margin:0 0 8px;color:#172554!important;font-size:1.03rem;}
.seo-faq-grid p{margin:0;color:#475569;}
.synthesis-rdv-panel{background:linear-gradient(135deg,#eff6ff,#ecfdf5)!important;border-color:#bfdbfe!important;}
.synthesis-rdv-panel .primary{margin-top:8px;}
.associate-one-page-preview{display:grid;gap:16px;}
.associate-one-page-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.associate-one-page-kpis article{border:1px solid var(--line);border-radius:18px;padding:14px;background:#f8fafc;}
.associate-one-page-kpis span{display:block;color:#64748b;font-weight:800;font-size:.86rem;}
.associate-one-page-kpis strong{display:block;color:#172554!important;font-size:1.6rem;letter-spacing:-.04em;}
.associate-one-page-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.associate-one-page-columns section{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;}
.associate-one-page-columns h3{margin:0 0 8px;color:#172554!important;}
.associate-one-page-columns ol{padding-left:18px;margin:0;}
.associate-one-page-columns li{margin:0 0 8px;}
.associate-one-page-columns span{color:#64748b;}
@media(max-width:1100px){.result-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.associate-one-page-columns{grid-template-columns:1fr;}}
@media(max-width:720px){.result-preview-section{padding-inline:16px}.result-preview-grid,.seo-faq-grid,.associate-one-page-kpis{grid-template-columns:1fr}.report-preview-card{min-height:auto}.result-preview-head{text-align:left}.result-preview-head h2{text-align:left}}
@media print{.result-preview-section,.seo-faq-card .section-head,.synthesis-rdv-panel .primary{display:none!important}.associate-one-page-kpis,.associate-one-page-columns{grid-template-columns:1fr!important}}


/* === V1.0 SEO, trajectoires, comparateur, PDF & rapport groupé === */
.seo-longform{max-width:1120px}.seo-longform h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}.seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.seo-grid article,.trajectory-mini-grid article,.seo-cta-panel,.solution-filter-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(21,32,51,.06)}.trajectory-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.faq-block details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0}.faq-block summary{font-weight:850;cursor:pointer}.seo-cta-panel{margin:28px 0;background:linear-gradient(180deg,#fff,#eef4ff)}.solution-filter-panel{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.solution-filter-panel label{font-weight:750;display:grid;gap:6px;min-width:220px}.report-nav-groups{display:grid;gap:14px}.report-nav-group{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fbfcff}.report-nav-group h3{margin:0 0 4px;color:#14245a!important}.report-nav-group p{margin:0 0 10px;color:var(--muted)}.report-nav-pills.compact{display:flex;flex-wrap:wrap;gap:8px}.report-group{border:1px solid #cbd5e1;border-radius:22px;background:#f8fafc;margin:18px 0;box-shadow:0 12px 34px rgba(21,32,51,.08);overflow:hidden}.report-group>summary{list-style:none;cursor:pointer;padding:18px 22px;background:linear-gradient(135deg,#14245a,#1d4ed8);color:#fff;display:grid;gap:4px}.report-group>summary::-webkit-details-marker{display:none}.report-group>summary span{font-size:1.1rem;font-weight:900}.report-group>summary small{color:#dbeafe}.report-group-body{display:grid;gap:12px;padding:16px}.report-group .report-accordion{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px}.report-group .report-accordion>summary{font-weight:850;padding:14px 16px;cursor:pointer}.report-group .report-accordion-body{box-shadow:none;border:0;border-radius:0;margin:0}.solution-cards-grid,.trajectory-choice-grid,.bullshit-meter-grid,.microcopy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.solution-cards-grid article,.trajectory-choice-card,.bullshit-meter-grid article,.microcopy-grid article{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px}.trajectory-choice-card.best{border-color:#1d4ed8;box-shadow:0 0 0 3px rgba(29,78,216,.10)}.trajectory-score{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#eef4ff;border-radius:14px;padding:10px;margin-bottom:10px}.trajectory-score strong{font-size:1.45rem;color:#14245a}.trajectory-score span{font-weight:800;color:#1d4ed8}.bullshit-meter-grid article{background:#fffbeb;border-color:#fed7aa}.bullshit-meter-grid h3{color:#7c2d12!important}.microcopy-grid textarea{width:100%;min-height:260px;border:1px solid var(--line);border-radius:14px;padding:12px;font:inherit;background:#f8fafc;color:var(--ink);white-space:pre-wrap}.resource-directory{grid-template-columns:repeat(3,minmax(0,1fr))}.report-accordion summary{color:#14245a}.report-accordion[open]>summary{border-bottom:1px solid var(--line)}
@media(max-width:920px){.seo-grid,.trajectory-mini-grid,.solution-cards-grid,.trajectory-choice-grid,.bullshit-meter-grid,.microcopy-grid,.resource-directory{grid-template-columns:1fr}.solution-filter-panel label{min-width:100%}}
@media print{.report-group{box-shadow:none;border:1px solid #ddd}.report-group>summary{background:#fff;color:#111;border-bottom:1px solid #ddd}.report-group>summary small{color:#555}.seo-cta-panel,.solution-filter-panel{box-shadow:none}}

/* === V1.0 — audit payant, lisibilité preview, PayPal placeholder === */
.result-preview-head p:not(.eyebrow){color:#ffffff!important;text-shadow:0 1px 0 rgba(0,0,0,.12)}
.mode-price-badge{display:inline-flex!important;align-items:center;margin-left:.35rem;padding:.16rem .45rem;border-radius:999px;font-size:.68rem;line-height:1;font-weight:900;letter-spacing:.02em;vertical-align:middle}.mode-price-badge.free{background:#dcfce7;color:#166534}.mode-price-badge.paid{background:#fef3c7;color:#92400e}.audit-price-note{font-size:.9rem;color:#334155;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:8px 0 12px}.mode.audit-locked{border-color:#f59e0b;background:linear-gradient(180deg,#fff,#fffbeb)}.mode.audit-locked:after{content:none!important;display:none!important}.payment-dialog{border:0;background:transparent;padding:0;width:min(720px,calc(100vw - 32px));}.payment-dialog::backdrop{background:rgba(15,23,42,.72);backdrop-filter:blur(3px)}.payment-dialog-card{position:relative;background:#fff;color:var(--ink);border-radius:24px;border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 90px rgba(0,0,0,.35);padding:26px;display:grid;gap:12px}.payment-dialog-card h2{margin:0;color:#14245a!important}.payment-offer-box{display:grid;gap:4px;background:linear-gradient(135deg,#eef4ff,#ecfeff);border:1px solid #bfdbfe;border-radius:18px;padding:16px}.payment-offer-box strong{font-size:2rem;color:#14245a}.payment-offer-box span{color:#334155;font-weight:700}.payment-config-note{font-size:.9rem;color:#475569;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:10px}.payment-dialog button[disabled]{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}
@media(max-width:640px){.mode.audit-locked:after{position:static;grid-column:2;justify-self:start;margin-top:4px}.payment-dialog-card{padding:20px}}
@media print{.payment-dialog,.audit-price-note,.mode-price-badge{display:none!important}}
.audit-locked-panel{border:1px solid #fbbf24;background:linear-gradient(135deg,#fffbeb,#ffffff);border-radius:20px;padding:22px;display:grid;gap:10px;box-shadow:0 12px 34px rgba(146,64,14,.08)}.audit-locked-panel h3{margin:0;color:#92400e!important}.audit-locked-panel p{margin:0;color:#334155}.audit-locked-panel .primary{justify-self:start;margin-top:8px}


/* === V1.0 — paiement Audit PayPal 29 € TTC + liens légaux === */
.paypal-zone{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.paypal-buy-form{display:inline-flex;align-items:center;margin:0}.paypal-buy-form input[type="image"]{display:block;max-width:220px;height:auto;border-radius:10px;box-shadow:0 8px 20px rgba(15,23,42,.12)}.paypal-fallback-link{min-height:42px}.dialog-secondary{background:#f8fafc!important;color:#334155!important;border:1px solid #cbd5e1!important}.mode-price-badge.paid{background:#fef3c7;color:#7c2d12;border:1px solid #f59e0b}.payment-offer-box strong::after{content:' paiement unique';font-size:.85rem;font-weight:800;color:#475569;margin-left:.4rem}@media(max-width:640px){.paypal-zone{display:grid}.paypal-buy-form input[type="image"]{max-width:100%}}


/* === V1.0 — consentement PayPal, CGV lisibles et suppression du badge "paiement requis" === */
.mode.audit-locked:after{content:none!important;display:none!important;}
.payment-dialog{width:min(980px,calc(100vw - 28px));}
.payment-dialog-card{max-height:92vh;overflow:auto;}
.audit-payment-form{display:grid;gap:14px;margin:0;}
.audit-legal-consent{display:flex;align-items:flex-start;gap:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#172554;border-radius:16px;padding:12px 14px;font-size:.94rem;line-height:1.45;font-weight:650;}
.audit-legal-consent input{margin-top:4px;min-width:18px;min-height:18px;accent-color:#1d4ed8;}
.audit-legal-consent a{color:#1d4ed8!important;text-decoration:underline;font-weight:900;}
.audit-legal-frame-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.audit-legal-frame-card{border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:10px;}
.audit-legal-frame-card h3{margin:0 0 8px;color:#14245a!important;font-size:1rem;}
.audit-legal-frame-card iframe{width:100%;height:210px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;}
.audit-payment-form .paypal-zone{margin-top:0;}
.payment-config-note{color:#334155!important;}
@media(max-width:760px){.audit-legal-frame-grid{grid-template-columns:1fr}.audit-legal-frame-card iframe{height:180px}.payment-dialog{width:min(96vw,980px)}}

/* V1.0 — parcours Complet payant et feuille de route AI Act */
.mode-price-badge.paid{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
.disabled-link{opacity:.55;pointer-events:none;filter:grayscale(1)}
.ai-act-roadmap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.ai-act-roadmap-col{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:0 10px 24px rgba(21,32,51,.06)}
.ai-act-roadmap-col h3{margin:0 0 6px;color:#14245a!important}
.ai-act-roadmap-col p{margin:0 0 10px;color:var(--muted);font-weight:700}
.ai-act-roadmap-col ul{padding-left:18px;margin:0;display:grid;gap:8px}
.payment-dialog-card .paypal-zone input[type="image"][style*="display: none"] + .paypal-fallback-link{margin-top:0}
@media(max-width:920px){.ai-act-roadmap-grid{grid-template-columns:1fr}}

/* V1.0 — bouton PayPal Complet 19 € TTC + corrections fenêtre paiement */
.payment-offer-box strong::after{content:none!important;}
.payment-consent-prompt{margin:0;color:#334155;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:10px 12px;font-size:.92rem;font-weight:650;}
.paypal-hosted-box{border:1px solid #bfdbfe;background:#eff6ff;border-radius:16px;padding:14px;min-height:72px;display:grid;align-items:center;}
.paypal-hosted-box.hidden{display:none!important;}
#paypalHostedButtonContainer{max-width:520px;}
.paypal-controls-disabled{opacity:.48;pointer-events:none;filter:grayscale(.35);}
.paypal-controls-disabled::before{content:'Cochez d’abord l’acceptation des CGV et de la politique de confidentialité.';display:block;width:100%;font-size:.86rem;color:#92400e;font-weight:800;margin-bottom:6px;}
#paymentSecurityText{color:#475569!important;}
@media(max-width:640px){#paypalHostedButtonContainer{max-width:100%;}.paypal-hosted-box{padding:12px}}
@media print{.paypal-hosted-box,.payment-consent-prompt{display:none!important}}


/* EDN V1.4 */
.header-logo-strip img{max-width:min(720px,100%);height:auto;}
.edn-sector-note,.edn-paid-note{border:1px solid #bfdbfe;background:#eff6ff;border-radius:16px;padding:14px;}
.footer-premium strong:first-child{letter-spacing:.01em;}
.mode-price-badge.paid{white-space:nowrap;}


/* EDN V1.4 - correctifs UX production */
.app-hero .hero-copy h1,
.hero h1{
  font-size:clamp(2rem,3.8vw,3.55rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.045em !important;
  max-width:900px;
}
.question-pedagogy .pedagogy-body p{margin:.45rem 0;}
.question-pedagogy .pedagogy-body p strong{color:#0f172a;}
.paypal-hosted-box{margin-top:12px;padding:14px;border:1px solid #dbeafe;border-radius:16px;background:#f8fbff;}
.paypal-zone{margin-top:12px;}
.paypal-fallback-link.disabled-link{pointer-events:none;opacity:.55;}
.video-grid .grid-placeholder,.glossary-grid .grid-placeholder{color:#475569;}
.result-preview-head p{color:#eef2ff !important;}
.seo-faq-card h2{color:#0f172a;}
@media(max-width:760px){.app-hero .hero-copy h1,.hero h1{font-size:2.15rem !important;}}

/* EDN V1.4 - corrections production signalées */
.header-logo-strip{
  min-height:150px!important;
  padding:22px 28px!important;
}
.header-logo-strip img{
  width:min(920px,96vw)!important;
  max-width:100%!important;
  max-height:132px!important;
}
.app-hero .hero-copy h1,
.hero h1{
  font-size:clamp(1.9rem,3.45vw,3.25rem)!important;
  line-height:1.04!important;
}
.video-grid .grid-placeholder,.glossary-grid .grid-placeholder{color:#475569;}
.paypal-fallback-link{
  background:#fbbf24!important;
  color:#111827!important;
  border:1px solid #f59e0b!important;
  font-weight:900!important;
}
.paypal-fallback-link[aria-disabled="true"]{
  pointer-events:none;
  opacity:.55;
}
.paypal-buy-form input[type="image"]{
  max-width:220px;
  height:auto;
}
@media(max-width:700px){
  .header-logo-strip{min-height:118px!important;padding:16px!important;}
  .header-logo-strip img{width:min(720px,98vw)!important;max-height:104px!important;}
}


/* EDN V1.5 — correctifs parcours, lisibilité et PayPal */
.mode-hidden{display:none!important;}
.paypal-zone.hidden,.paypal-hosted-box.hidden{display:none!important;}
.payment-consent-prompt{font-weight:750;color:#334155;}
.paypal-hosted-box{margin-top:14px;padding:14px;border:1px solid #dbeafe;border-radius:18px;background:#f8fbff;}
.synthesis-track span{background:#b54708;}
.synthesis-score-orb{background:conic-gradient(var(--score-color,#1d4ed8) calc(var(--score) * 3.6deg), #e5e7eb 0deg)!important;}
.report-nav-card .method-note{margin-bottom:14px;}


/* EDN V1.7 — paiement direct PayPal */
.paypal-buy-direct{font-size:1rem;font-weight:900;width:100%;justify-content:center;margin:8px 0 4px;}
.paypal-zone:not(.paypal-controls-disabled) .paypal-buy-direct{display:inline-flex;}
.paypal-zone.paypal-controls-disabled .paypal-buy-direct{pointer-events:none;opacity:.55;}
.video-count::first-letter{text-transform:uppercase;}
