/* =========================================================
   Digital Business School — thème clair + bouton de bascule
   Thème CLAIR par défaut (même sans JavaScript).
   Le thème sombre (variables :root des pages) s'active avec <html data-theme="dark">.
   ========================================================= */

/* ---------- Police : Roboto (hébergée sur le site, dossier fonts/) ---------- */
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/roboto-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/roboto-500.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/roboto-700.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:normal;font-weight:900;font-display:swap;src:url("fonts/roboto-900.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/roboto-400-italic.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";font-style:italic;font-weight:700;font-display:swap;src:url("fonts/roboto-700-italic.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html:root{--f-display:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--f-sans:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}

/* ---------- Bouton de bascule (les deux thèmes) ---------- */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:40px;height:40px;padding:0;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.theme-toggle:hover{border-color:var(--orange);color:var(--orange)}
.theme-toggle:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.theme-toggle svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .i-moon{display:none}
.theme-toggle.tt-wide{width:auto;height:44px;padding:0 16px}
:root:not([data-theme="dark"]) .theme-toggle .i-sun{display:none}
:root:not([data-theme="dark"]) .theme-toggle .i-moon{display:block}
.navitem>a.cur{color:var(--orange)}

/* ---------- Palette claire ---------- */
:root:not([data-theme="dark"]){
  color-scheme:light;
  --orange:#F0982F; --orange-600:#C86A0A; --orange-050:#FCEBD5; --orange-ink:#A85400;
  --violet:#7B4BB5; --violet-600:#6E42A8; --violet-050:#EFE6F8;
  --bg:#FAF6F0; --surface:#FFFFFF; --surface-2:#F3ECE2; --surface-3:#E9DFD1;
  --ink:#1D150B; --ink-soft:#3E3324; --muted:#6B5D4B; --line:#E2D6C4;
  --shadow:0 1px 2px rgba(60,40,10,.06),0 18px 40px -18px rgba(60,40,10,.20);
  --shadow-lg:0 40px 80px -28px rgba(60,40,10,.26);
  --glow:0 0 0 1px rgba(240,152,47,.22),0 24px 60px -24px rgba(240,152,47,.32);
  --c-mkt:#E07D12; --c-fin:#1E9A6D; --c-mm:#1789BD; --c-dev:#5361D4; --c-jn:#9150BD;
}
:root[data-theme="dark"]{color-scheme:dark}

/* Textes orange : orange plus soutenu sur fond clair (lisibilité) */
:root:not([data-theme="dark"]) .eyebrow,
:root:not([data-theme="dark"]) .slide h1 em,
:root:not([data-theme="dark"]) .ncard .date,
:root:not([data-theme="dark"]) .pblock .tag,
:root:not([data-theme="dark"]) .pcard.alt .tag,
:root:not([data-theme="dark"]) .pcard.hi .tag,
:root:not([data-theme="dark"]) .pcard.alt .picon,
:root:not([data-theme="dark"]) .pcard.alt li .ck,
:root:not([data-theme="dark"]) .acard .atag,
:root:not([data-theme="dark"]) .acard .atag.alt,
:root:not([data-theme="dark"]) .gcard .gnum,
:root:not([data-theme="dark"]) .mod .step,
:root:not([data-theme="dark"]) .step .n,
:root:not([data-theme="dark"]) .foot-cta h4,
:root:not([data-theme="dark"]) .fbottom .sig,
:root:not([data-theme="dark"]) .amb-visual .badge b,
:root:not([data-theme="dark"]) .vm-visual .badge b,
:root:not([data-theme="dark"]) .cinfo .item .ic,
:root:not([data-theme="dark"]) .ac-row .ic,
:root:not([data-theme="dark"]) .wcard .ic,
:root:not([data-theme="dark"]) .vm-card .vic,
:root:not([data-theme="dark"]) .vm-card.mission .vic,
:root:not([data-theme="dark"]) .vm-card.sign .vic,
:root:not([data-theme="dark"]) .checklist.violet li .ck,
:root:not([data-theme="dark"]) .mapbox .pin,
:root:not([data-theme="dark"]) .tb-tag::before,
:root:not([data-theme="dark"]) .navitem>button.cur,
:root:not([data-theme="dark"]) .navitem>a.cur,
:root:not([data-theme="dark"]) .navitem>a:hover,
:root:not([data-theme="dark"]) .navitem>button:hover,
:root:not([data-theme="dark"]) .navitem.open>button,
:root:not([data-theme="dark"]) .dropdown a:hover,
:root:not([data-theme="dark"]) .crumbs a:hover,
:root:not([data-theme="dark"]) .tb-link:hover,
:root:not([data-theme="dark"]) .socials-top a:hover,
:root:not([data-theme="dark"]) .me-link:hover,
:root:not([data-theme="dark"]) .me-socials a:hover,
:root:not([data-theme="dark"]) .fgrid a.flink:hover,
:root:not([data-theme="dark"]) .btn-ghost:hover,
:root:not([data-theme="dark"]) .arrow:hover,
:root:not([data-theme="dark"]) .ac-row:hover,
:root:not([data-theme="dark"]) .theme-toggle:hover,
:root:not([data-theme="dark"]) #raisons .reasons .r .n{color:var(--orange-ink)}

/* Barres d'en-tête */
:root:not([data-theme="dark"]) .topbar,
:root:not([data-theme="dark"]) .mainbar{background:rgba(250,246,240,.94)}
:root:not([data-theme="dark"]) .mainbar{box-shadow:0 1px 0 var(--line)}
:root:not([data-theme="dark"]) .logobox img{filter:drop-shadow(0 10px 18px rgba(60,40,10,.28))}

/* Hero accueil */
:root:not([data-theme="dark"]) .hero-trust{color:var(--orange-ink);background:rgba(240,152,47,.14);border-color:rgba(200,106,10,.45)}
:root:not([data-theme="dark"]) .slide .figure img{filter:drop-shadow(0 26px 34px rgba(60,40,10,.28))}
:root:not([data-theme="dark"]) .pix{opacity:.55}

/* Hero des pages internes : voile clair sur la photo */
:root:not([data-theme="dark"]) .pagehero-bg img{opacity:.22}
:root:not([data-theme="dark"]) .pagehero-bg::after{background:linear-gradient(120deg,var(--bg) 30%,rgba(250,246,240,.80) 60%,rgba(139,92,192,.14)),linear-gradient(to top,var(--bg),transparent 70%)}
:root:not([data-theme="dark"]) .pagehero .ph-chips span.alt{background:#fff;box-shadow:0 0 0 1px var(--line)}

/* Cartes et visuels */
:root:not([data-theme="dark"]) .fcard .ph::after{background:linear-gradient(to top,rgba(20,14,6,.55),transparent 55%)}
:root:not([data-theme="dark"]) .vm-visual .frame img,
:root:not([data-theme="dark"]) .amb-visual .frame img{filter:drop-shadow(0 24px 34px rgba(60,40,10,.25))}

/* Formulaires */
:root:not([data-theme="dark"]) .form-ok{color:#17704F;background:rgba(57,185,139,.12)}
:root:not([data-theme="dark"]) input,
:root:not([data-theme="dark"]) select,
:root:not([data-theme="dark"]) textarea{color-scheme:light}

/* Sélection de texte */
:root:not([data-theme="dark"]) ::selection{background:rgba(240,152,47,.35);color:var(--ink)}

/* ---------- Actualités : photos de couverture ---------- */
html .ncard .thumb{height:200px;overflow:hidden;background:var(--surface-2)}
html .ncard .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
html .ncard:hover .thumb img{transform:scale(1.05)}

/* ---------- Médiathèque : vignettes cliquables + visionneuse ---------- */
.media-grid .media-item{display:block;width:100%;height:100%;cursor:zoom-in}
.media-grid .media-item:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
.lb{position:fixed;inset:0;z-index:1000;background:rgba(10,8,5,.92);display:flex;align-items:center;justify-content:center;padding:24px}
.lb[hidden]{display:none}
.lb-fig{margin:0;max-width:min(1200px,100%);text-align:center}
.lb-fig img{max-width:100%;max-height:calc(100vh - 120px);border-radius:10px;display:block;margin:0 auto;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb-fig figcaption{color:#F7F1E7;margin-top:12px;font-size:1rem;font-weight:500}
.lb-btn{position:absolute;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:2rem;line-height:1;cursor:pointer;transition:background .15s}
.lb-btn:hover{background:#F0982F;color:#1a1206;border-color:#F0982F}
.lb-close{top:18px;right:18px}
.lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.lb-next{right:18px;top:50%;transform:translateY(-50%)}
@media(max-width:620px){.lb{padding:12px}.lb-prev,.lb-next{top:auto;bottom:18px;transform:none}}
/* Accueil : motif décoratif retiré du haut du hero (il chevauchait le texte avec Roboto) */
.hero .pix.a{display:none}
