/* Bouton clair / sombre — coin haut-droite seulement s’il n’y a pas de bloc utilisateur */
body > .delta-theme-toggle {
  position: fixed;
  top: 0.85rem;
  right: 0.85rem;
  z-index: 9999;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(8px);
}
.delta-theme-toggle {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border-radius: 50%;
  cursor: pointer;
  color: #fbbf24;
  border: 2px solid rgba(251, 191, 36, 0.45);
  background: rgba(14, 22, 40, 0.88);
  flex: 0 0 auto;
}

/* Dans la barre (hub ou bloc utilisateur) : même rangée que Déconnexion, jamais par-dessus */
.delta-theme-toggle--inline,
.delta-who > .delta-theme-toggle {
  position: static;
  top: auto;
  right: auto;
  z-index: 3;
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  box-shadow: none;
  backdrop-filter: none;
}
header.top .top-right > .delta-theme-toggle {
  width: 2.1rem;
  height: 2.1rem;
}
.delta-theme-toggle svg {
  width: 1.15rem;
  height: 1.15rem;
  display: none;
}
html[data-theme="dark"] .delta-theme-toggle .delta-theme-toggle__sun,
html:not([data-theme]) .delta-theme-toggle .delta-theme-toggle__sun {
  display: block !important;
}
html[data-theme="light"] .delta-theme-toggle .delta-theme-toggle__moon {
  display: block !important;
}
html[data-theme="light"] .delta-theme-toggle {
  color: #b45309;
  border-color: rgba(180, 83, 9, 0.4);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
}
html[data-theme="light"] .delta-theme-toggle--inline,
html[data-theme="light"] .delta-who > .delta-theme-toggle {
  box-shadow: none;
}
.delta-theme-toggle:hover {
  filter: brightness(1.08);
}

/* Logos d’apps : variante claire ou sombre selon le thème */
html[data-theme="light"] .brand-logo--dark,
html[data-theme="light"] .logo--dark,
html[data-theme="light"] .brand-word--dark,
html[data-theme="light"] .gate-brand-logo.brand-logo--dark,
html[data-theme="dark"] .brand-logo--light,
html[data-theme="dark"] .logo--light,
html[data-theme="dark"] .brand-word--light,
html[data-theme="dark"] .gate-brand-logo.brand-logo--light,
html:not([data-theme]) .brand-logo--light,
html:not([data-theme]) .logo--light,
html:not([data-theme]) .brand-word--light {
  display: none !important;
}

/* Thème clair générique pour pages simples / placeholders */
html[data-theme="light"] body.delta-themeable,
html[data-theme="light"] body:has(> main:only-child) {
  background: #f4f7fb;
  color: #122033;
}
html[data-theme="light"] body.delta-themeable p,
html[data-theme="light"] body:has(> main:only-child) p {
  color: #4d6178;
}

/* SPA sombres (FlotIA / TempIA / TalentIA / Kommandia) — base claire */
html[data-theme="light"] body {
  color-scheme: light;
}

/* ——— Hub PrestaIA : thème clair réel ——— */
html[data-theme="light"] {
  --bg: #eef2f8;
  --ink: #122033;
  --muted: #5b6b82;
  --line: rgba(30, 60, 110, 0.18);
  --glass: rgba(255, 255, 255, 0.82);
  --hub: #2563eb;
}

html[data-theme="light"] body {
  background: var(--bg);
  color: var(--ink);
}

html[data-theme="light"] .bg-grid {
  background-image:
    linear-gradient(rgba(37, 99, 235, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37, 99, 235, 0.07) 1px, transparent 1px);
}

html[data-theme="light"] .bg-glow-a {
  background: #93c5fd;
  opacity: 0.35;
}

html[data-theme="light"] .bg-glow-b {
  background: #a5f3fc;
  opacity: 0.3;
}

html[data-theme="light"] .top,
html[data-theme="light"] .foot {
  color: var(--muted);
}

html[data-theme="light"] .layout-picker select {
  border-color: rgba(30, 60, 110, 0.22);
  background:
    linear-gradient(45deg, transparent 50%, #5b6b82 50%) calc(100% - 12px) calc(50% - 2px) / 5px 5px no-repeat,
    linear-gradient(135deg, #5b6b82 50%, transparent 50%) calc(100% - 8px) calc(50% - 2px) / 5px 5px no-repeat,
    #ffffff;
  color: var(--ink);
}

html[data-theme="light"] .module-search {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(60, 90, 140, 0.28);
  color: #5b6b82;
}

html[data-theme="light"] .module-search:focus-within {
  border-color: rgba(37, 99, 235, 0.45);
  color: #1a2740;
}

html[data-theme="light"] .module-search-clear {
  background: rgba(37, 99, 235, 0.12);
  color: #1a2740;
}

html[data-theme="light"] .hub-core {
  background:
    radial-gradient(circle at 50% 30%, rgba(96, 165, 250, 0.22), transparent 55%),
    linear-gradient(180deg, #ffffff, #eef4ff);
  border-color: rgba(37, 99, 235, 0.28);
  box-shadow:
    0 0 0 8px rgba(37, 99, 235, 0.06),
    0 14px 36px rgba(15, 23, 42, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

html[data-theme="light"] .hub h1 {
  background: linear-gradient(180deg, #0f172a 20%, #1d4ed8);
  -webkit-background-clip: text;
  background-clip: text;
}

html[data-theme="light"] .hub-lead,
html[data-theme="light"] .brick-tag,
html[data-theme="light"] .brick-desc {
  color: var(--muted);
}

html[data-theme="light"] body[data-layout="vitrine"] .layout-vitrine-title {
  color: var(--ink);
}

html[data-theme="light"] body[data-layout="vitrine"] .layout-vitrine-text {
  color: color-mix(in srgb, var(--ink) 78%, transparent);
}

html[data-theme="light"] body[data-layout="vitrine"] .layout-vitrine-cta {
  color: var(--ink);
  background: color-mix(in srgb, var(--accent, #2563eb) 14%, #fff);
}

html[data-theme="light"] .delta-login {
  color: #0f172a;
  border-color: rgba(37, 99, 235, 0.4);
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.18), rgba(37, 99, 235, 0.28));
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.14);
}

html[data-theme="light"] .delta-login--on {
  border-color: rgba(22, 163, 74, 0.45);
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.18), rgba(22, 163, 74, 0.28));
}

html[data-theme="light"] .brick {
  background: var(--glass);
  border-color: rgba(30, 60, 110, 0.14);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
  color: var(--ink);
}

/*
 * Mode clair : logos via assets/bricks/light/ (JS) — pas de socle noir.
 * Fond transparent, texte/traits remappés en encre sombre.
 */
html[data-theme="light"] .brick > .brick-brand,
html[data-theme="light"] .brick > .brick-logo,
html[data-theme="light"] .brick > .brick-mark,
html[data-theme="light"] .brick > .brick-img-wide,
html[data-theme="light"] .card .mark,
html[data-theme="light"] .card .pad {
  background: transparent !important;
  box-shadow: none;
  padding: 0;
  border-radius: 0;
}

/* Ombres noires des logos (conçues pour le sombre) → trop lourdes en clair */
html[data-theme="light"] .brick-logo,
html[data-theme="light"] .brick-word,
html[data-theme="light"] .brick-mark,
html[data-theme="light"] .brick img:not(.brick-word):not(.brick-brand):not(.brick-mark) {
  filter: drop-shadow(0 2px 4px rgba(15, 23, 42, 0.1));
}

html[data-theme="light"] .brick-brand {
  filter: none;
}

html[data-theme="light"] .brick-glow {
  opacity: 0.14;
}

html[data-theme="light"] .brick-name,
html[data-theme="light"] .brick-copy {
  color: var(--ink);
}

html[data-theme="light"] .layout-col {
  background: rgba(255, 255, 255, 0.55);
  border-color: rgba(30, 60, 110, 0.12);
}

html[data-theme="light"] .layout-col-head,
html[data-theme="light"] .layout-col-title {
  color: var(--ink);
}

html[data-theme="light"] .layout-cols-bar,
html[data-theme="light"] .layout-cols-hint {
  color: var(--muted);
}

html[data-theme="light"] .layout-cols-add {
  background: #2563eb;
  color: #fff;
}

html[data-theme="light"] .layout-cols-reset {
  border-color: rgba(30, 60, 110, 0.25);
  color: var(--ink);
  background: #fff;
}

html[data-theme="light"] .web line {
  stroke: rgba(37, 99, 235, 0.22);
}

html[data-theme="light"] a {
  color: #1d4ed8;
}
