/* ===== theme.css — Standard visuel unique du site (aligné page d'accueil) ===== */
:root{--nuit:#0d1728;--fonce:#1e3a5f;--accent:#2b6cb0;--ciel:#60a5fa;--ambre:#f59e0b;--or:#fbbf24;
--fond:#f6f8fb;--carte:#ffffff;--txt:#1f2937;--mut:#64748b;--bord:#e8edf3;--ray:14px}
*,*::before,*::after{box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,-apple-system,Tahoma,sans-serif!important;
background:var(--fond)!important;color:var(--txt)!important;line-height:1.7!important;padding-top:60px!important;margin:0!important}
#global-nav-barB{width:100%!important;max-width:none!important;left:0!important;right:0!important;margin:0!important}

/* ---- HERO unifié ---- */
body header.hero-v2,body>header:not(.hero-home){position:relative;overflow:hidden;color:#fff!important;text-align:center;
min-height:52vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4.5rem 1.4rem 5rem!important;
background:radial-gradient(1100px 600px at 18% -10%,#1e3a5f 0%,transparent 62%),radial-gradient(900px 500px at 108% 18%,#173056 0%,transparent 58%),linear-gradient(152deg,var(--nuit) 0%,#101c30 100%)!important}
body header.hero-v2>*,body>header:not(.hero-home)>*{position:relative;z-index:2}
body header.hero-v2 h1,body>header:not(.hero-home) h1{font-size:clamp(2rem,5vw,3.4rem)!important;font-weight:800!important;
letter-spacing:-.02em;color:#fff!important;margin:0 0 .7rem!important;border:none!important;text-shadow:0 2px 18px rgba(0,0,0,.35)}
body header.hero-v2 p,body>header:not(.hero-home) p{color:#c3d3e8!important;font-size:clamp(1rem,2.2vw,1.25rem)!important;max-width:760px;margin:0 auto!important}
body header .subtitle{color:#c3d3e8!important}
.hero-badges{margin-top:1.2rem;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.hero-badges span,.hero-badges .badge,header .exam-badge{display:inline-block;background:rgba(255,255,255,.12)!important;
border:1px solid rgba(255,255,255,.22)!important;color:#e8f0fa!important;padding:.35rem .95rem!important;border-radius:999px!important;font-size:.86rem!important;backdrop-filter:blur(4px)}
.hero-illu{position:absolute;inset:0;z-index:1;background-position:center right;background-size:cover;background-repeat:no-repeat;
opacity:.34;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 48%);mask-image:linear-gradient(90deg,transparent 0%,#000 48%);pointer-events:none}

/* ---- Conteneurs ---- */
body .container,body .container-v2,body main{max-width:1080px!important;margin:2.2rem auto!important;padding:0 1.4rem!important;background:transparent!important}

/* ---- Cartes de contenu (toutes les variantes de sections) ---- */
body .container>section,body .container-v2>section,body main>section,body>section.section,body section.rubrique,
body .step-card,body .fonction-card{background:var(--carte)!important;border:1px solid var(--bord)!important;
border-radius:var(--ray)!important;box-shadow:0 6px 24px rgba(30,58,95,.07)!important;padding:1.9rem 2.1rem!important;
margin:0 0 1.7rem!important;transition:transform .25s ease,box-shadow .25s ease}
body .container>section:hover,body .container-v2>section:hover,body main>section:hover,body section.rubrique:hover,
body .step-card:hover,body .fonction-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(30,58,95,.12)!important}
body section.fiche-revision:hover{transform:none}
body .card,body .kpi-card,body .training-card,body .smart-item,body .pillar-card{background:var(--carte)!important;
border:1px solid var(--bord)!important;border-radius:12px!important;box-shadow:0 4px 16px rgba(30,58,95,.06)!important;transition:transform .22s,box-shadow .22s}
body .card:hover,body .kpi-card:hover,body .training-card:hover,body .smart-item:hover,body .pillar-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(30,58,95,.13)!important}

/* ---- Titres ---- */
body .container h2,body .container-v2 h2,body main h2,body section>h2{color:var(--fonce)!important;
font-weight:800!important;letter-spacing:-.01em;margin:0 0 1rem!important;padding-bottom:.45rem!important;
border-bottom:3px solid var(--ambre)!important;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
body .container h2 i,body .container-v2 h2 i,body main h2 i{color:var(--accent)!important}
body h3{color:var(--accent)!important;font-weight:700!important;margin:1.15rem 0 .5rem!important}
body h4{color:var(--fonce)!important;font-weight:700!important}
body a{color:var(--accent)}
body .section-number,body .step-number-box,body .fonction-num,body .card-icon{background:linear-gradient(135deg,var(--fonce),var(--accent))!important;color:#fff!important}
body .card-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:12px}

/* ---- Tableaux ---- */
body table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.94rem;border-radius:10px;overflow:hidden}
body thead th,body table th{background:var(--fonce)!important;color:#fff!important;padding:.6rem .7rem!important;text-align:left;border:none!important}
body table td{padding:.55rem .7rem!important;border-bottom:1px solid var(--bord)!important;vertical-align:top}
body table tr:nth-child(even) td{background:#f8fafc}
body table tbody tr{transition:background .2s}
body table tbody tr:hover td{background:#eff6ff!important}

/* ---- Boutons ---- */
body .btn,body .btn-v2,body button.btn-primary,body .ba{border-radius:999px!important;font-weight:700!important;
transition:transform .18s,box-shadow .18s;border:none}
body .btn-v2,body .ba.lire{background:linear-gradient(120deg,var(--fonce),var(--accent))!important;color:#fff!important}
body .btn-v2:hover,body .btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(43,108,176,.32)}

/* ---- Encadrés ---- */
body .alert,body .highlight-box,body .stats-box,body .methode,body .enc{border-radius:10px!important}
body .alert-info,body .enc-methode{background:#eff6ff!important;border-left:4px solid var(--accent)!important;color:var(--txt)!important}
body .alert-danger,body .enc-piege{background:#fef2f2!important;border-left:4px solid #dc2626!important;color:var(--txt)!important}
body .alert-warning,body .enc-examen{background:#fff7ed!important;border-left:4px solid var(--ambre)!important;color:var(--txt)!important}
body .alert-success,body .enc-objectifs{background:#f0fdf4!important;border-left:4px solid #16a34a!important;color:var(--txt)!important}

/* ---- Apparition au scroll ---- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:none}
#lecture-progress{position:fixed;top:60px;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--accent),var(--ambre));z-index:9999;transition:width .1s linear}

/* ---- Pied de page ---- */
body footer{background:var(--nuit)!important;color:#8fa3bd!important;text-align:center;padding:2.2rem 1.4rem!important;margin-top:2.5rem}
body footer p{color:#8fa3bd!important;margin:.2rem 0}

/* ---- Mobile ---- */
@media(max-width:760px){html,body{overflow-x:clip}
 body .container,body .container-v2,body main{padding:0 .9rem!important}
 body .container>section,body .container-v2>section,body main>section,body section.rubrique{padding:1.3rem 1.1rem!important}
 body table{display:block!important;overflow-x:auto!important;max-width:100%!important}
 #burger-sidebarB{max-width:86vw}
 body header.hero-v2,body>header:not(.hero-home){min-height:42vh;padding:3.2rem 1rem 3.4rem!important}
 .hero-illu{opacity:.2;-webkit-mask-image:none;mask-image:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
