/* ============================================================
   Thème nuit — Glorys Business
   Activé via <html data-theme="dark">. Le mode jour reste le défaut.
   Objectif : lisibilité (contraste AA) sur toutes les pages.
   ============================================================ */

:root[data-theme="dark"] {
  color-scheme: dark;

  /* jetons partagés (shell) */
  --shell-navy: #0b1626;
  --shell-navy-soft: #12233c;
  --shell-blue: #3a86f0;
  --shell-cyan: #7cdcff;
  --shell-gold: #f3c063;
  --shell-ink: #eef2f8;
  --shell-text: #aab4c6;
  --shell-line: rgba(255, 255, 255, 0.12);

  /* jetons glorys-premium */
  --gb-navy: #0b1626;
  --gb-navy-2: #12233c;
  --gb-ink: #eef2f8;
  --gb-heading: #eef2f8;
  --gb-body: #aab4c6;
  --gb-muted: #93a1b8;
  --gb-faint: #7c8aa2;
  --gb-surface: #0f1826;
  --gb-border: rgba(255, 255, 255, 0.10);
  --gb-blue: #3a86f0;

  /* surfaces communes */
  --t-bg: #0a111e;
  --t-surface: #131d2e;
  --t-surface-2: #0f1826;
  --t-raised: #182236;
  --t-line: rgba(255, 255, 255, 0.11);
  --t-ink: #eef2f8;
  --t-text: #a9b4c6;
  --t-muted: #8592a6;
  --t-tint: rgba(124, 220, 255, 0.12);
}

/* ---------- fond global ---------- */
:root[data-theme="dark"] body,
:root[data-theme="dark"] body.glorys-premium {
  background: var(--t-bg) !important;
  color: var(--t-text);
}
:root[data-theme="dark"] body.glorys-premium::before { display: none; }
:root[data-theme="dark"] body.glorys-premium main:not(:has(#accueil)) { background: var(--t-bg); }
:root[data-theme="dark"] h1,
:root[data-theme="dark"] h2,
:root[data-theme="dark"] h3,
:root[data-theme="dark"] h4 { color: var(--t-ink); }

/* ---------- en-tête ---------- */
/* !important : glorys-premium.css force header{background:...!important} */
:root[data-theme="dark"] .gb-shell-header,
:root[data-theme="dark"] header.gb-shell-header {
  background: rgba(11, 18, 30, 0.92) !important;
  border-bottom-color: var(--t-line) !important;
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.4) !important;
}
:root[data-theme="dark"] .gb-shell-nav a { color: #c4cede; }
:root[data-theme="dark"] .gb-shell-nav a:hover,
:root[data-theme="dark"] .gb-shell-nav a[aria-current='page'] { color: var(--shell-cyan); }
:root[data-theme="dark"] .gb-shell-nav a::after { background: var(--shell-cyan); }
:root[data-theme="dark"] .gb-shell-brand strong { color: var(--t-ink); }
:root[data-theme="dark"] .gb-shell-brand span { color: #8b99ae; }
:root[data-theme="dark"] .gb-shell-menu,
:root[data-theme="dark"] .gb-lang-toggle {
  background: var(--t-raised);
  border-color: var(--t-line);
  color: var(--t-ink);
}
:root[data-theme="dark"] .gb-lang-toggle:hover { background: #1e2a40; border-color: rgba(124,220,255,.4); }
:root[data-theme="dark"] .gb-lang-toggle .gb-lang-code { color: var(--t-ink); }
:root[data-theme="dark"] .gb-lang-toggle > i { color: #8b99ae; }

/* menu de langue */
:root[data-theme="dark"] .gb-lang-menu {
  background: var(--t-surface);
  border-color: var(--t-line);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.5);
}
:root[data-theme="dark"] .gb-lang-option { color: #c4cede; }
:root[data-theme="dark"] .gb-lang-option:hover { background: #1c2740; }
:root[data-theme="dark"] .gb-lang-option.is-active { background: #1c2740; color: var(--shell-cyan); }

/* menu mobile déroulant : le fond sombre ne s'applique qu'au panneau replié */
@media (max-width: 900px) {
  :root[data-theme="dark"] .gb-shell-nav {
    background: var(--t-surface);
    border-color: var(--t-line);
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.55);
  }
  :root[data-theme="dark"] .gb-shell-nav a { color: #d3dbe8; }
  :root[data-theme="dark"] .gb-shell-nav a:hover,
  :root[data-theme="dark"] .gb-shell-nav a[aria-current='page'] { background: #1c2740; color: var(--shell-cyan); }
  :root[data-theme="dark"] .gb-shell-nav a::after { border-color: #5a6b85; }
  :root[data-theme="dark"] .gb-shell-nav a[aria-current='page']::after { border-color: var(--shell-cyan); }
  :root[data-theme="dark"] .gb-shell-nav__label { color: #8b99ae; }
  :root[data-theme="dark"] .gb-shell-nav__foot { border-top-color: var(--t-line); }
  :root[data-theme="dark"] .gb-lang-option--pill {
    background: var(--t-raised);
    border-color: var(--t-line) !important;
    color: #c4cede;
  }
  :root[data-theme="dark"] .gb-lang-option--pill.is-active {
    background: #1c2740;
    border-color: var(--shell-cyan) !important;
    color: var(--shell-cyan);
  }
  :root[data-theme="dark"] .gb-shell-menu,
  :root[data-theme="dark"] .gb-lang-toggle { background: var(--t-raised); border-color: var(--t-line); }
}

/* bouton thème */
.gb-theme-toggle {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border: 1px solid var(--shell-line);
  border-radius: 10px;
  background: #fff;
  color: var(--shell-ink);
  font-size: 1.15rem;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.gb-theme-toggle:hover { border-color: rgba(23, 104, 229, 0.35); background: #f4f7fb; }
:root[data-theme="dark"] .gb-theme-toggle {
  background: var(--t-raised);
  border-color: var(--t-line);
  color: var(--shell-gold);
}
:root[data-theme="dark"] .gb-theme-toggle:hover { background: #1e2a40; border-color: rgba(124,220,255,.4); }
@media (max-width: 900px) {
  .gb-theme-toggle { width: 42px; height: 42px; background: #f4f7fb; }
}
@media (max-width: 400px) {
  .gb-theme-toggle { width: 40px; height: 40px; }
}

/* ---------- page d'accueil (redesign) ---------- */
:root[data-theme="dark"] .gb-page {
  --page-ink: #eef2f8;
  --page-text: #a9b4c6;
  --page-line: rgba(255, 255, 255, 0.1);
  background: var(--t-bg);
}
:root[data-theme="dark"] .gb-page p { color: var(--t-text); }

/* barre de preuves */
:root[data-theme="dark"] .gb-home-proofbar { background: var(--t-surface-2); border-bottom-color: var(--t-line); }
:root[data-theme="dark"] .gb-home-proofbar__item { border-right-color: var(--t-line); }
:root[data-theme="dark"] .gb-home-proofbar__icon { background: var(--t-tint); color: var(--shell-cyan); }
:root[data-theme="dark"] .gb-home-proofbar__item strong { color: var(--t-ink); }
:root[data-theme="dark"] .gb-home-proofbar__item span { color: var(--t-muted); }

/* sections claires -> sombres */
:root[data-theme="dark"] .gb-section--soft,
:root[data-theme="dark"] .gb-home-expertise,
:root[data-theme="dark"] .gb-home-process,
:root[data-theme="dark"] .gb-faq-preview,
:root[data-theme="dark"] .gb-legal-page,
:root[data-theme="dark"] [class*="--soft"] { background: var(--t-surface-2) !important; }

:root[data-theme="dark"] .gb-service-card,
:root[data-theme="dark"] .gb-contact-form,
:root[data-theme="dark"] .gb-legal-card,
:root[data-theme="dark"] .gb-legal-nav,
:root[data-theme="dark"] .gb-faq-item,
:root[data-theme="dark"] .gb-home-split__panel {
  background: var(--t-surface);
  border-color: var(--t-line);
  box-shadow: none;
}
:root[data-theme="dark"] .gb-service-card:hover {
  border-color: rgba(124, 220, 255, 0.3);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.45);
}
:root[data-theme="dark"] .gb-service-card__icon,
:root[data-theme="dark"] .gb-section-head__icon { background: var(--t-tint) !important; color: var(--shell-cyan) !important; }
:root[data-theme="dark"] .gb-service-card h3,
:root[data-theme="dark"] .gb-section-head h2,
:root[data-theme="dark"] .gb-home-split h2 { color: var(--t-ink); }
:root[data-theme="dark"] .gb-service-card__number { color: rgba(255, 255, 255, 0.07); }
:root[data-theme="dark"] .gb-service-card > a { color: var(--shell-cyan); }

/* process / étapes */
:root[data-theme="dark"] .gb-process-step__dot { border-color: var(--t-surface-2); box-shadow: 0 0 0 1px rgba(124,220,255,.28); }
:root[data-theme="dark"] .gb-process-step h3 { color: var(--t-ink); }
:root[data-theme="dark"] .gb-process-step p { color: var(--t-text); }
:root[data-theme="dark"] .gb-process::before { background: linear-gradient(90deg, var(--shell-blue), var(--shell-cyan)); }

/* parcours (journey) */
:root[data-theme="dark"] .gb-journey { background: var(--t-surface-2); }
:root[data-theme="dark"] .gb-journey h2,
:root[data-theme="dark"] .gb-journey__step h3 { color: var(--t-ink) !important; }
:root[data-theme="dark"] .gb-journey__intro p,
:root[data-theme="dark"] .gb-journey__step p { color: var(--t-text) !important; }
:root[data-theme="dark"] .gb-journey__timeline::before { background: rgba(255,255,255,.16); }
:root[data-theme="dark"] .gb-journey__step::before { border-color: var(--t-surface-2); box-shadow: 0 0 0 1px rgba(124,220,255,.3); }
:root[data-theme="dark"] .gb-journey__proof { border-top-color: var(--t-line); }
:root[data-theme="dark"] .gb-journey__proof div { color: var(--t-ink); }
:root[data-theme="dark"] .gb-journey__proof i { background: var(--t-tint); color: var(--shell-cyan); }

/* formulaire de contact */
:root[data-theme="dark"] .gb-field label { color: var(--t-text); }
:root[data-theme="dark"] .gb-field input,
:root[data-theme="dark"] .gb-field select,
:root[data-theme="dark"] .gb-field textarea {
  background: var(--t-surface-2) !important;
  border-color: var(--t-line) !important;
  color: var(--t-ink) !important;
}
:root[data-theme="dark"] .gb-field input::placeholder,
:root[data-theme="dark"] .gb-field textarea::placeholder { color: var(--t-muted); }
:root[data-theme="dark"] .gb-form-bottom small,
:root[data-theme="dark"] .gb-field small { color: var(--t-muted); }

/* mentions légales */
:root[data-theme="dark"] .gb-legal-nav a { color: #9aa7bc; }
:root[data-theme="dark"] .gb-legal-nav a.is-active { background: #1c2740; color: var(--shell-cyan); border-left-color: var(--shell-cyan); }
:root[data-theme="dark"] .gb-legal-card h2 { color: var(--t-ink); }
:root[data-theme="dark"] .gb-legal-callout { background: #14243b; border-left-color: var(--shell-cyan); }
:root[data-theme="dark"] .gb-legal-callout p { color: var(--t-text); }

/* FAQ accueil */
:root[data-theme="dark"] .gb-faq-item { background: var(--t-surface); }
:root[data-theme="dark"] .gb-faq-question { color: var(--t-ink); }
:root[data-theme="dark"] .gb-faq-answer p { color: var(--t-text); }

/* ---------- pages internes (à propos / services / pourquoi / faq / témoignages) ---------- */
:root[data-theme="dark"] .gbi-page {
  --gbi-ink: #eef2f8;
  --gbi-text: #a9b4c6;
  --gbi-soft: #0f1826;
  --gbi-line: rgba(255, 255, 255, 0.1);
  background: var(--t-bg);
}
:root[data-theme="dark"] .gbi-page p { color: var(--gbi-text); }
:root[data-theme="dark"] .gbi-section--soft { background: var(--t-surface-2); }

:root[data-theme="dark"] .gbi-card,
:root[data-theme="dark"] .gbi-comparison,
:root[data-theme="dark"] .gbi-quote,
:root[data-theme="dark"] .gbi-faq-item {
  background: var(--t-surface);
  border-color: var(--t-line);
  box-shadow: none;
}
:root[data-theme="dark"] .gbi-card:hover { border-color: rgba(124, 220, 255, 0.3); box-shadow: 0 24px 50px rgba(0,0,0,.45); }
:root[data-theme="dark"] .gbi-card__icon,
:root[data-theme="dark"] .gbi-list i { background: var(--t-tint); color: var(--shell-cyan); }
:root[data-theme="dark"] .gbi-card h3,
:root[data-theme="dark"] .gbi-list li { color: var(--t-ink); }
:root[data-theme="dark"] .gbi-card li { color: #9aa7bc; }
:root[data-theme="dark"] .gbi-card__number { color: rgba(255, 255, 255, 0.06); }

:root[data-theme="dark"] .gbi-comparison__row { border-bottom-color: var(--t-line); }
:root[data-theme="dark"] .gbi-comparison__row > div:first-child { background: var(--t-surface-2); color: var(--t-ink); }
:root[data-theme="dark"] .gbi-comparison__row > div:last-child { color: #9aa7bc; }

:root[data-theme="dark"] .gbi-quote blockquote { color: #d3dbe8; }
:root[data-theme="dark"] .gbi-quote__sector { color: var(--t-muted); }
:root[data-theme="dark"] .gbi-about-extra { background: var(--t-bg); }

:root[data-theme="dark"] .gbi-faq-search input {
  background: var(--t-surface-2);
  border-color: var(--t-line);
  color: var(--t-ink);
}
:root[data-theme="dark"] .gbi-faq-search input::placeholder { color: var(--t-muted); }
:root[data-theme="dark"] .gbi-faq-filters button {
  background: var(--t-surface-2);
  border-color: var(--t-line);
  color: #9aa7bc;
}
:root[data-theme="dark"] .gbi-faq-filters button.is-active { background: var(--shell-blue); border-color: var(--shell-blue); color: #fff; }
:root[data-theme="dark"] .gbi-faq-item { background: var(--t-surface); }
:root[data-theme="dark"] .gbi-faq-question { color: var(--t-ink); }
:root[data-theme="dark"] .gbi-faq-answer,
:root[data-theme="dark"] .gbi-faq-answer p { color: var(--t-text); }
:root[data-theme="dark"] .gbi-faq-empty { color: var(--t-muted); }

/* ---------- pied de page : déjà sombre, on ne touche presque à rien ---------- */
:root[data-theme="dark"] .gb-shell-footer { background: #0a1220 !important; }

/* ---------- éléments React résiduels éventuels ---------- */
:root[data-theme="dark"] #root section[class*="bg-white"],
:root[data-theme="dark"] #root [class*="bg-gray-50"] { background: var(--t-surface) !important; }
