/* ============================================================
   OPTERIA : mode jour / nuit (06/10/2026, demande Axel : « une option sur le site pour le passer en mode jour et nuit »).
   Chargée en dernier sur toutes les pages. Le mode est l'attribut data-theme de <html> (« jour » ou « nuit »), posé avant l'affichage
   par le petit script en ligne du <head> ; l'interrupteur et la bascule sont dans theme.js.
   Le mode nuit reprend la page « Sécurité des données » (da-securite.css) : gris superposés (#141414 page, #1f1f1f cartes,
   #2a2a2a cadres), titres blancs, seconde phrase grise, peintures OpterIA et maquettes blanches posées dessus (comme gleap.ai en sombre).
   Le mode jour ne change rien au design d'origine. En fin de fichier : la version claire de /securite (seule page sombre par défaut).
   Animations : transform, opacity et clip-path seulement.
   ============================================================ */

/* ---------- L'interrupteur, dans le menu en pilule (sombre dans les deux modes), à côté du bouton Démo ---------- */
.theme-bascule { position: relative; flex: none; display: inline-flex; align-items: center; width: 80px; height: 44px; margin: 0 0 0 8px; padding: 0; border: 0; border-radius: 999px; background: #262626; color: #fff; cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.09), inset 0 2px 6px rgba(0,0,0,.45); -webkit-tap-highlight-color: transparent; }
.theme-bascule__rond { position: absolute; left: 5px; top: 5px; width: 34px; height: 34px; border-radius: 50%; background: #4a4a4a;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14); transition: transform .5s cubic-bezier(.5,1.45,.45,1); }
.theme-bascule svg { position: absolute; top: 50%; width: 19px; height: 19px; margin-top: -9.5px; overflow: visible; transition: transform .6s cubic-bezier(.4,1.3,.5,1), opacity .35s ease; }
.theme-bascule__soleil { left: 12.5px; fill: #fff; stroke: #fff; stroke-width: 1.9; stroke-linecap: round; }
.theme-bascule__soleil circle { stroke: none; }
.theme-bascule__lune { right: 12.5px; fill: #fff; }
/* jour : le rond est sous le soleil ; la lune attend, grisée et un peu tournée */
.theme-bascule__lune { opacity: .42; transform: rotate(24deg) scale(.84); }
/* nuit : le rond glisse sous la lune, le soleil tourne et s'efface à moitié */
html[data-theme="nuit"] .theme-bascule__rond { transform: translateX(36px); }
html[data-theme="nuit"] .theme-bascule__soleil { opacity: .42; transform: rotate(90deg) scale(.78); }
html[data-theme="nuit"] .theme-bascule__lune { opacity: 1; transform: none; }
@media (hover: hover) {
  .theme-bascule:hover .theme-bascule__lune { opacity: .75; }
  html[data-theme="nuit"] .theme-bascule:hover .theme-bascule__lune { opacity: 1; }
  html[data-theme="nuit"] .theme-bascule:hover .theme-bascule__soleil { opacity: .75; }
  .theme-bascule:hover .theme-bascule__rond { background: #555; }
}
.theme-bascule:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.theme-bascule:active .theme-bascule__rond { transform: scale(.92); }
html[data-theme="nuit"] .theme-bascule:active .theme-bascule__rond { transform: translateX(36px) scale(.92); }
.theme-bascule + .pil__cta { margin-left: 6px; }

/* première visite : « Nouveau : mode nuit », une bulle blanche sous l'interrupteur, quelques secondes, une seule fois (theme.js) */
.theme-bulle { position: absolute; left: 50%; top: calc(100% + 16px); z-index: 2; padding: 8px 13px; border-radius: 999px; background: #fff; color: #191919; font-size: 13.5px; font-weight: 500; line-height: 1.2; white-space: nowrap; pointer-events: none;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06); opacity: 0; transform: translate(-50%, -6px) scale(.94); transition: opacity .35s ease, transform .5s cubic-bezier(.3,1.4,.5,1); }
.theme-bulle::before { content: ""; position: absolute; left: 50%; top: -5px; width: 11px; height: 11px; margin-left: -5.5px; border-radius: 2px; background: #fff; transform: rotate(45deg); }
.theme-bulle.is-vue { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 760px) {
  .theme-bascule { width: 68px; height: 38px; margin: 0; }
  .theme-bascule__rond { left: 4px; top: 4px; width: 30px; height: 30px; }
  html[data-theme="nuit"] .theme-bascule__rond { transform: translateX(30px); }
  html[data-theme="nuit"] .theme-bascule:active .theme-bascule__rond { transform: translateX(30px) scale(.92); }
  .theme-bascule svg { width: 17px; height: 17px; margin-top: -8.5px; }
  .theme-bascule__soleil { left: 10.5px; } .theme-bascule__lune { right: 10.5px; }
  .theme-bascule + .pil__cta { margin-left: 2px; }
  .theme-bulle { top: calc(100% + 14px); font-size: 13px; padding: 7px 12px; }
}
@media (max-width: 370px) {
  .pil__logo svg { height: 17px; }
  .theme-bascule { width: 62px; } html[data-theme="nuit"] .theme-bascule__rond { transform: translateX(24px); }
}
/* ancien menu (variante sombre de l'accueil) : l'interrupteur se place avant le lien Contact */
.nav__in > .theme-bascule { margin: 0 10px 0 auto; }

/* ---------- La bascule : un cercle qui s'étend depuis l'interrupteur (theme.js) ; sans animation si l'utilisateur les réduit ---------- */
html.theme-vt::view-transition-old(root), html.theme-vt::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
@media (prefers-reduced-motion: reduce) {
  .theme-bascule__rond, .theme-bascule svg, .theme-bulle { transition: none !important; }
}

/* ============================================================
   MODE NUIT
   ============================================================ */
html[data-theme="nuit"] { color-scheme: dark; background: #141414; }
html[data-theme="nuit"] body, html[data-theme="nuit"] :is(.page-cerveau, .taches, .apprend) {
  --paper: #141414; --paper-2: #1f1f1f; --card: #1f1f1f; --carte: #1f1f1f; --cadre: #2a2a2a;
  --ink: #fff; --ink-2: rgba(255,255,255,.7); --ink-3: rgba(255,255,255,.52); --texte: rgba(255,255,255,.88); --muet: rgba(255,255,255,.7);
  --line: rgba(255,255,255,.1); --line-2: rgba(255,255,255,.16); --g-100: #1f1f1f; --g-150: #333; --g-200: #3d3d3d;
  --gris-carte: #1f1f1f; --gris-cadre: #2a2a2a; --sombre: #1f1f1f;
}
html[data-theme="nuit"] body { background: var(--paper); color: var(--texte); }
html[data-theme="nuit"] ::selection { background: rgba(251,77,23,.45); color: #fff; }
html[data-theme="nuit"] :is(a, button):focus-visible { outline-color: #fff; }
html[data-theme="nuit"] :is(.g, h1 .g, .h .g, .d .g) { color: var(--ink-3); }
html[data-theme="nuit"] :is(.p, .hero .p, .page-hero .p, .small) { color: var(--muet); }

/* les maquettes blanches (fiches, fenêtres, captures d'interface) restent blanches, avec leurs couleurs du jour */
html[data-theme="nuit"] :is(.tc-fiche, .securite__fiche, .win, .chat-demo, .cv-portail, .cv-fiche, .cv-coffre__plaque, .in-tuile, .in-jalon__groupe, .in-hub__logo, .in-wa, .ag-coeur, .ag-bobby, .ag-noeud, .ag-ligne__nous, .rc-tdb, .rc-valeurs, .rc-profil, .rc-groupe, .rc-membre, .rc-dossier, .rc-etiq--3, .sd-doc, .sd-noeud, .sd-plaque, .ct-fiche__maquette, .cx-scene, .cx-acces, .cx-bulle, .cx-onglet, .cx-fil__msg--bobby) {
  --paper: #fff; --paper-2: #edede8; --card: #fff; --ink: #292929; --ink-2: #6f6f6c; --ink-3: #8e8e8a; --texte: #353535; --muet: rgba(53,53,53,.7);
  --line: rgba(0,0,0,.12); --line-2: rgba(0,0,0,.16); --g-100: #edede8; --g-150: #dbdbd2; --g-200: #d0d0c8; color-scheme: light;
}

/* ---------- Menu en pilule : verre gris un ton plus clair que la page, comme sur /securite ---------- */
html[data-theme="nuit"] .pil { background: rgba(40,40,40,.72); border-color: rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
html[data-theme="nuit"] .pil__menu a { color: #a3a3a0; }
html[data-theme="nuit"] .pil__menu a:hover, html[data-theme="nuit"] .pil__menu a[aria-current] { color: #fff; }
html[data-theme="nuit"] .theme-bascule { background: #1c1c1c; }
@media (max-width: 760px) { html[data-theme="nuit"] .pil__menu { background: rgba(30,30,30,.97); } }

/* ---------- Boutons : blanc sur sombre, secondaire gris ---------- */
html[data-theme="nuit"] .btn.btn:not(.nav__cta), html[data-theme="nuit"] .cta .btn.btn:not(.nav__cta) { background: #fff; color: #141414; }
html[data-theme="nuit"] .btn.btn:not(.nav__cta):hover, html[data-theme="nuit"] .cta .btn.btn:not(.nav__cta):hover { background: #e9e9e6; color: #141414; }
html[data-theme="nuit"] .btn.btn--ghost:not(.nav__cta), html[data-theme="nuit"] .cta .btn.btn--ghost:not(.nav__cta) { background: #333; color: #fff; }
html[data-theme="nuit"] .btn.btn--ghost:not(.nav__cta):hover, html[data-theme="nuit"] .cta .btn.btn--ghost:not(.nav__cta):hover { background: #424242; color: #fff; }
html[data-theme="nuit"] :is(.b-lire) { background: #fff; color: #141414; }
html[data-theme="nuit"] :is(.b-lire):hover { background: #e9e9e6; }

/* ---------- Accueil ---------- */
html[data-theme="nuit"] .sec.demo-gleap { color: #fff; }
html[data-theme="nuit"] .demo-gleap__tete .h { color: #fff; }
html[data-theme="nuit"] .demo-gleap__tete .h .g { color: rgba(255,255,255,.5); }
html[data-theme="nuit"] .demo-gleap__tete .h .g .mot-ciel { background-image: linear-gradient(100deg, rgba(255,255,255,.5) 40%, #fff 50%, rgba(255,255,255,.5) 60%); }
html[data-theme="nuit"] .demo-gleap__tete .p, html[data-theme="nuit"] .demo-gleap__note { color: var(--muet); }
html[data-theme="nuit"] .demo-gleap__toile { box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }

html[data-theme="nuit"] .sec.equipe-bobby { background: var(--paper); }
html[data-theme="nuit"] .carte-bobby { background: #1f1f1f; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
html[data-theme="nuit"] .carte-bobby:hover { box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
html[data-theme="nuit"] .carte-bobby--cm .carte-bobby__ico { background: #fff; color: #141414; }
html[data-theme="nuit"] .carte-bobby__role { color: rgba(255,255,255,.78); }
html[data-theme="nuit"] .carte-bobby__txt { color: var(--muet); }
html[data-theme="nuit"] .carte-bobby__pied { color: rgba(255,255,255,.7); border-top-color: rgba(255,255,255,.1); }
html[data-theme="nuit"] .carte-bobby--admin { background: linear-gradient(180deg, rgba(145,224,255,.1), rgba(145,224,255,.02) 60%), #1f1f1f; }
html[data-theme="nuit"] .carte-bobby--compta { background: linear-gradient(180deg, rgba(241,204,255,.1), rgba(241,204,255,.02) 60%), #1f1f1f; }
html[data-theme="nuit"] .carte-bobby--web { background: linear-gradient(180deg, rgba(255,216,176,.1), rgba(255,216,176,.02) 60%), #1f1f1f; }

html[data-theme="nuit"] .integr__titre .g { color: rgba(255,255,255,.45); }
html[data-theme="nuit"] .integr__scene::after { background: linear-gradient(0deg, var(--paper), rgba(20,20,20,0)); }
html[data-theme="nuit"] .clavier { border-color: #5a5a5a; box-shadow: none; }

html[data-theme="nuit"] .tc-carte { box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
html[data-theme="nuit"] .tc-metier { color: #b9a9c6; }
html[data-theme="nuit"] .tc-barre { background: #343434; }
html[data-theme="nuit"] .tc-temps__ligne--main b { color: rgba(255,255,255,.55); }
html[data-theme="nuit"] .tc-temps__ligne--main .tc-barre > i { background: #77776f; }
html[data-theme="nuit"] .tc-temps__gain { border-top-color: rgba(255,255,255,.1); }

html[data-theme="nuit"] .boucle__intro .mot { color: rgba(255,255,255,.22); }
html[data-theme="nuit"] .boucle__intro .boucle__suite .mot::after { color: rgba(255,255,255,.55); }
html[data-theme="nuit"] .boucle__rail { --piste: #3a3a40; --contour: #353535; --gris: #9a93a6; }
html[data-theme="nuit"] .boucle__id { background: #1f1f1f; }
html[data-theme="nuit"] .boucle__fin { background: #1c2a1c; border-color: #2f4a2e; color: #8cc48a; }
html[data-theme="nuit"] .boucle__label { background: var(--paper); }
html[data-theme="nuit"] .boucle__label small { color: rgba(255,255,255,.4); }
html[data-theme="nuit"] .boucle__equipe img { border-color: #1f1f1f; }
html[data-theme="nuit"] .boucle__legendes p { color: var(--muet); }

html[data-theme="nuit"] :is(.securite__toile, .apprend__toile, .parler .wrap, .tc-cadre) { box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
html[data-theme="nuit"] .faq-bloc__tete p, html[data-theme="nuit"] .faq__item .faq__a, html[data-theme="nuit"] .faq__item:not(.is-open) .faq__a, html[data-theme="nuit"] html.js .faq__item:not(.is-open) .faq__a { color: var(--muet); }
html.js[data-theme="nuit"] .faq__item:not(.is-open) .faq__a { color: var(--muet); }
html[data-theme="nuit"] .faq__a a { color: #fff; text-decoration-color: rgba(255,255,255,.4); }
html[data-theme="nuit"] .cta { position: relative; overflow: hidden; isolation: isolate; }
html[data-theme="nuit"] .cta::before { content: ""; position: absolute; left: 50%; top: 40%; z-index: -1; width: 900px; height: 420px; margin-left: -450px; border-radius: 50%; background: radial-gradient(closest-side, rgba(251,77,23,.16), rgba(124,92,255,.08) 55%, rgba(0,0,0,0)); pointer-events: none; }
html[data-theme="nuit"] .equipage__tuile--cm, html[data-theme="nuit"] .cta__tete { box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); }
html[data-theme="nuit"] .equipage__tuile--cm { background: #2a2a2a; }

/* ---------- Chat Bobby (bloc de l'accueil et fenêtre) : version sombre du widget ---------- */
html[data-theme="nuit"] .assistant, html[data-theme="nuit"] .assistant.bobby-plein { background: #1f1f1f; color: #fff; box-shadow: 0 0 0 1px rgba(255,255,255,.08); }
html[data-theme="nuit"] .assistant__tete, html[data-theme="nuit"] .bp-tete { background: linear-gradient(180deg, #0f0f10 calc(100% - 64px), #191919 calc(100% - 40px), #1f1f1f 100%); }
html[data-theme="nuit"] .assistant.a-commence .assistant__tete, html[data-theme="nuit"] .bobby-plein.a-commence .bp-tete { background: #0f0f10; }
html[data-theme="nuit"] .assistant .assistant__form { background: #2a2a2a; border-color: rgba(255,255,255,.1); box-shadow: none; }
html[data-theme="nuit"] .assistant .assistant__form:focus-within { border-color: rgba(255,255,255,.3); }
html[data-theme="nuit"] .assistant .assistant__form.is-requis { border-color: #fff; box-shadow: 0 0 0 1px #fff; }
html[data-theme="nuit"] .assistant .assistant__champ { color: #fff; background: transparent; }
html[data-theme="nuit"] .assistant .assistant__champ::placeholder { color: rgba(255,255,255,.5); }
html[data-theme="nuit"] .assistant .assistant__envoi { background: #fff; color: #141414; }
html[data-theme="nuit"] .assistant .assistant__envoi:hover { background: #e9e9e6; }
html[data-theme="nuit"] .assistant .assistant__puces button { background: #2a2a2a; border-color: rgba(255,255,255,.12); color: rgba(255,255,255,.9); }
html[data-theme="nuit"] .assistant .assistant__puces button:hover { background: #333; border-color: rgba(255,255,255,.24); }
html[data-theme="nuit"] .assistant .assistant__fil .msg--me { background: #fff; color: #141414; }
html[data-theme="nuit"] .assistant .assistant__fil .msg--ai, html[data-theme="nuit"] .assistant .assistant__fil .typing { background: #2c2c2c; color: rgba(255,255,255,.92); }
html[data-theme="nuit"] .assistant .assistant__fil .msg--ai .who { background: #333; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
html[data-theme="nuit"] .assistant .assistant__fil .msg--ai a { color: #fff; text-decoration-color: rgba(255,255,255,.45); }
html[data-theme="nuit"] .assistant .assistant__fil .typing i { background: rgba(255,255,255,.5); }
html[data-theme="nuit"] .assistant .assistant__fil .msg--erreur { background: #3a2220; }
html[data-theme="nuit"] .assistant .assistant__fil .msg--etape .assistant__note, html[data-theme="nuit"] .assistant .assistant__rdv { color: rgba(255,255,255,.6); }
html[data-theme="nuit"] .assistant .assistant__fil .msg--etape .ok { color: #6fd58e; }
html[data-theme="nuit"] .assistant .assistant__fil .msg--requis { background: #2a2a2a; border-color: rgba(255,255,255,.16); }
html[data-theme="nuit"] .assistant .assistant__fil .msg--requis strong { color: #fff; }
html[data-theme="nuit"] .assistant .assistant__fil .msg--requis .requis { background: #fff; color: #141414; }
html[data-theme="nuit"] .assistant .assistant__suite { background: #fff; border-color: #fff; color: #141414; }
html[data-theme="nuit"] .assistant .assistant__suite:hover { background: #e9e9e6; }
html[data-theme="nuit"] .assistant .assistant__rdv .assistant__suite { background: #2a2a2a; color: #fff; border-color: rgba(255,255,255,.2); }
html[data-theme="nuit"] .assistant.bobby-plein.a-commence .assistant__fil { scrollbar-color: rgba(255,255,255,.2) transparent; }
/* le lanceur rond noir garde son liseré blanc, comme sur /securite */
html[data-theme="nuit"] .bobby-flottant__btn { box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); }

/* ---------- Pied de page : carte sombre ; logo en blanc ; le label Qualiopi officiel reste sur sa petite carte blanche ---------- */
html[data-theme="nuit"] .footer__in { background: #1c1c1c; border-color: rgba(255,255,255,.1); }
html[data-theme="nuit"] .footer__logo img { filter: brightness(0) invert(1); }
html[data-theme="nuit"] .footer .small { color: var(--muet); }
html[data-theme="nuit"] .footer__in--plan .footer__col { color: rgba(255,255,255,.72); }
html[data-theme="nuit"] .footer__col a:hover { color: #fff; }
html[data-theme="nuit"] .footer__in--plan .footer__col .meta, html[data-theme="nuit"] .footer__col .meta { color: #fff; }
html[data-theme="nuit"] .footer__bar { color: rgba(255,255,255,.55); }
html[data-theme="nuit"] .footer__qualiopi { background: #fff; box-shadow: none; }
html[data-theme="nuit"] .footer__reseau { color: rgba(255,255,255,.8); }
html[data-theme="nuit"] .footer__reseau:hover { color: #fff; }

/* ---------- Pages intérieures : cartes, formulaires, blog, textes ---------- */
html[data-theme="nuit"] .team__linkedin { background: #2a2a2a; color: #fff; }
html[data-theme="nuit"] .field label { color: rgba(255,255,255,.9); }
html[data-theme="nuit"] :is(.field input, .field textarea, .field select) { background: #2a2a2a; border-color: rgba(255,255,255,.12); color: #fff; }
html[data-theme="nuit"] :is(.field input, .field textarea)::placeholder { color: rgba(255,255,255,.45); }
html[data-theme="nuit"] :is(.field input, .field textarea, .field select):focus { border-color: rgba(255,255,255,.6); box-shadow: 0 0 0 3px rgba(255,255,255,.08); }
html[data-theme="nuit"] .checks li::before { background-color: #fff; }
html[data-theme="nuit"] .b-titre .b-titre__accent { color: rgba(255,255,255,.5); }
html[data-theme="nuit"] :is(.b-une h2 a:hover, .b-carte:hover h3, .b-retour:hover) { color: rgba(255,255,255,.7); }
html[data-theme="nuit"] .b-carte { background: #1f1f1f; }
html[data-theme="nuit"] .b-carte:hover { box-shadow: 0 0 0 1px rgba(255,255,255,.12); }
html[data-theme="nuit"] .b-prose a { color: #fff; text-decoration-color: rgba(255,255,255,.4); }
html[data-theme="nuit"] .b-prose blockquote { border-left-color: #fff; }
html[data-theme="nuit"] :is(.b-une__img, .b-carte__img, .b-prose img, .b-article__img) { filter: brightness(.94); }
html[data-theme="nuit"] .cv-preuve i { background: rgba(255,255,255,.18); }
html[data-theme="nuit"] .coords__ico { background: #2c2c2c; color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 0 0 1px rgba(255,255,255,.06); }
html[data-theme="nuit"] .cv-coffre__liste i { background: #fff; }
html[data-theme="nuit"] .cv-coffre__liste i::before { background: #141414; }

/* ---------- Intégration ---------- */
html[data-theme="nuit"] .in-menu::before { background: #333; }
html[data-theme="nuit"] .in-menu a b { background: #2a2a2a; }
html[data-theme="nuit"] .in-menu__jalon span { background: rgba(251,77,23,.18); }
html[data-theme="nuit"] .in-menu__jalon::before { background: var(--paper); }
html[data-theme="nuit"] :is(.in-menu__fil, .in-fil) { color: #66d08a; }
html[data-theme="nuit"] .in-fil--avant { color: var(--muet); }
html[data-theme="nuit"] .in-fil--avant a { text-decoration-color: rgba(255,255,255,.4); }
html[data-theme="nuit"] .in-jalon { background: linear-gradient(100deg, rgba(251,77,23,.16) 0%, rgba(140,196,138,.08) 55%, rgba(37,163,90,.12) 100%), #1f1f1f; box-shadow: inset 0 0 0 1px rgba(255,255,255,.07); }

/* ---------- Contact et Recrutement : le formulaire passe en carte sombre, champs gris, libellés blancs ---------- */
html[data-theme="nuit"] .ct-fiche { background: #1f1f1f; color: #fff; box-shadow: 0 0 0 1px rgba(255,255,255,.1); }
html[data-theme="nuit"] .ct-fiche__tete { border-bottom-color: rgba(255,255,255,.1); }
html[data-theme="nuit"] .ct-fiche__tete small { color: rgba(255,255,255,.62); }
html[data-theme="nuit"] .ct-fiche .field label { color: rgba(255,255,255,.88); }
html[data-theme="nuit"] .ct-fiche :is(.field input, .field textarea) { background: #2a2a2a; border-color: transparent; color: #fff; }
html[data-theme="nuit"] .ct-fiche :is(.field input, .field textarea):hover { background: #303030; }
html[data-theme="nuit"] .ct-fiche :is(.field input, .field textarea):focus { background: #2a2a2a; border-color: rgba(255,255,255,.55); box-shadow: 0 0 0 3px rgba(255,255,255,.08); }
html[data-theme="nuit"] .ct-fiche :is(.field input, .field textarea):user-invalid { background: #3a2422; border-color: rgba(255,120,100,.6); }
html[data-theme="nuit"] .ct-fiche :is(.field input, .field textarea)::placeholder { color: rgba(255,255,255,.42); }
html[data-theme="nuit"] .ct-fiche .form-card .btn[disabled] { opacity: .4; }
html[data-theme="nuit"] .ct-fiche :is(.form-msg, .field small, .field .facultatif) { color: rgba(255,255,255,.6); }
html[data-theme="nuit"] .rc-choix__btn { background: #2a2a2a; border-color: rgba(255,255,255,.08); color: #fff; }
html[data-theme="nuit"] .rc-choix__btn:hover { background: #303030; }
html[data-theme="nuit"] .rc-choix__btn:focus-visible { outline-color: #fff; }
html[data-theme="nuit"] .rc-choix__rond { box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.35); }
html[data-theme="nuit"] .rc-choix__btn[aria-checked="true"] { background: rgba(251,77,23,.12); border-color: var(--orange); }
html[data-theme="nuit"] .rc-mention { color: rgba(255,255,255,.55); }
html[data-theme="nuit"] .rc-rdv { background: #2a2a2a; }
html[data-theme="nuit"] a.rc-rdv:hover { background: #303030; }
html[data-theme="nuit"] a.ct-voie:hover, html[data-theme="nuit"] .rc-porte:hover { background: #262626; }
html[data-theme="nuit"] .ct-voie__ico { background: #2c2c2c; color: #fff; }
html[data-theme="nuit"] .ct-voie__fleche { color: #fff; }
html[data-theme="nuit"] .ct-asso__pour { border-top-color: rgba(255,255,255,.1); }
html[data-theme="nuit"] .ct-asso__pour i { background: #fff; color: #141414; }
html[data-theme="nuit"] .ag-ligne__outil { color: rgba(255,255,255,.55); }
html[data-theme="nuit"] .ag-ligne__outil i { background: #444; }
html[data-theme="nuit"] :is(.ct-asso__in, .ag-asso__in) { background: #2a2a2a; color: #fff; box-shadow: none; }
html[data-theme="nuit"] :is(.ct-asso__in, .ag-asso__in):hover { background: #333; }
html[data-theme="nuit"] .ct-assos__pied a, html[data-theme="nuit"] .ag-lien-texte { text-decoration-color: rgba(255,255,255,.4); }

/* ---------- L'agence et Recrutement : l'étape en cours se détache en gris plus clair ---------- */
html[data-theme="nuit"] :is(.ag-etape, .rc-etape).is-courant > div { background: #2a2a2a; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
html[data-theme="nuit"] .ag-ligne { border-top-color: rgba(255,255,255,.08); }
html[data-theme="nuit"] .ag-etapes__piste { stroke: #3a3a3a; }
html[data-theme="nuit"] .ag-qualiopi { border-top-color: rgba(255,255,255,.1); }
html[data-theme="nuit"] .rc-commu__liste { border-top-color: rgba(255,255,255,.1); }

/* ============================================================
   /securite EN MODE JOUR : la page reste sombre par défaut ; si le visiteur choisit le jour, elle prend la DA claire du site
   (fond blanc, cartes grises #edede8, cadres #dbdbd2, titres foncés, mêmes peintures et mêmes maquettes blanches).
   ============================================================ */
html[data-theme="jour"] body.page-sombre {
  --paper: #fff; --paper-2: #edede8; --card: #fff; --carte: #edede8; --cadre: #dbdbd2;
  --ink: #292929; --ink-2: #6f6f6c; --ink-3: rgba(41,41,41,.5); --texte: #353535; --muet: rgba(53,53,53,.72);
  --line: rgba(0,0,0,.12); --line-2: rgba(0,0,0,.16); --g-100: #edede8; --g-150: #dbdbd2; --g-200: #d0d0c8; --vert: #3aa655;
  background: #fff; color: var(--texte); color-scheme: light;
}
html[data-theme="jour"] body.page-sombre :is(h1, h2, h3) { color: var(--ink); }
html[data-theme="jour"] body.page-sombre ::selection { background: rgba(251,77,23,.25); color: inherit; }
html[data-theme="jour"] body.page-sombre :is(a, button):focus-visible { outline-color: #191919; }
html[data-theme="jour"] body.page-sombre .pil { background: rgba(14,14,14,.92); border-color: rgba(255,255,255,.14); box-shadow: none; }
html[data-theme="jour"] body.page-sombre .pil__menu a { color: #8b8b88; }
html[data-theme="jour"] body.page-sombre .pil__menu a:hover, html[data-theme="jour"] body.page-sombre .pil__menu a[aria-current] { color: #fff; }
@media (max-width: 760px) { html[data-theme="jour"] body.page-sombre .pil__menu { background: rgba(14,14,14,.96); } }
html[data-theme="jour"] body.page-sombre .btn.btn:not(.nav__cta) { background: #191919; color: #fff; }
html[data-theme="jour"] body.page-sombre .btn.btn:not(.nav__cta):hover { background: #3a3a3a; color: #fff; }
html[data-theme="jour"] body.page-sombre .btn.btn--ghost:not(.nav__cta) { background: var(--g-150); color: var(--ink); }
html[data-theme="jour"] body.page-sombre .btn.btn--ghost:not(.nav__cta):hover { background: var(--g-200); color: var(--ink); }
/* premier écran : les lueurs deviennent un voile pastel */
html[data-theme="jour"] .page-sombre .sd-lueur--a, html[data-theme="jour"] .page-sombre .sd-lueur--b { opacity: .13; }
html[data-theme="jour"] .page-sombre .sd-lueur--c { opacity: .1; }
html[data-theme="jour"] .page-sombre .sd-pastille { border-color: rgba(0,0,0,.1); background: rgba(0,0,0,.03); color: #353535; }
html[data-theme="jour"] .page-sombre .sd-coffre { box-shadow: 0 0 0 1px rgba(0,0,0,.06); }
/* cartes grises, icônes blanches */
html[data-theme="jour"] .page-sombre .sd-ico { background: #fff; color: #191919; box-shadow: none; }
html[data-theme="jour"] .page-sombre .sd-doc__tete .sd-ico { background: #f2f2f0; box-shadow: none; }
html[data-theme="jour"] .page-sombre :is(.sd-pilier, .sd-carte, .sd-option) { box-shadow: none; }
html[data-theme="jour"] .page-sombre :is(.sd-pilier, .sd-carte):hover { box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
html[data-theme="jour"] .page-sombre .sd-pilier:hover .sd-ico { background: #191919; color: #fff; }
html[data-theme="jour"] .page-sombre .sd-pilier__num { color: rgba(41,41,41,.5); }
html[data-theme="jour"] .page-sombre .sd-pilier__lueur { background: radial-gradient(circle, rgba(251,77,23,.14), rgba(199,125,255,.08) 40%, rgba(255,255,255,0) 70%); }
/* hébergement : le schéma */
html[data-theme="jour"] .page-sombre .sd-noeud { background: #191919; color: #fff; box-shadow: 0 0 0 6px rgba(0,0,0,.04); }
html[data-theme="jour"] .page-sombre .sd-noeud__txt { color: var(--muet); }
html[data-theme="jour"] .page-sombre .sd-fil { stroke: rgba(0,0,0,.14); }
html[data-theme="jour"] .page-sombre .sd-etiquette { background: rgba(0,0,0,.06); color: #4a4a46; }
html[data-theme="jour"] .page-sombre .sd-option__etat { border-top-color: rgba(0,0,0,.08); color: var(--muet); }
html[data-theme="jour"] .page-sombre .sd-option__etat i { background: rgba(0,0,0,.2); }
html[data-theme="jour"] .page-sombre .sd-schema:is(.e1, .e2, .e3) :is(.sd-option--1, .sd-option--2, .sd-option--3) { box-shadow: none; }
html[data-theme="jour"] .page-sombre .sd-schema.e1 .sd-option--1, html[data-theme="jour"] .page-sombre .sd-schema.e2 .sd-option--2, html[data-theme="jour"] .page-sombre .sd-schema.e3 .sd-option--3 { box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
html[data-theme="jour"] .page-sombre .sd-schema.e1 .sd-option--1 .sd-ico, html[data-theme="jour"] .page-sombre .sd-schema.e2 .sd-option--2 .sd-ico, html[data-theme="jour"] .page-sombre .sd-schema.e3 .sd-option--3 .sd-ico { background: #191919; color: #fff; }
html[data-theme="jour"] .page-sombre .sd-schema.e1 .sd-option--1 .sd-option__etat, html[data-theme="jour"] .page-sombre .sd-schema.e2 .sd-option--2 .sd-option__etat, html[data-theme="jour"] .page-sombre .sd-schema.e3 .sd-option--3 .sd-option__etat { color: var(--ink); }
/* en local, coches, phrase « actif » */
html[data-theme="jour"] .page-sombre .sd-coches i { background: #191919; }
html[data-theme="jour"] .page-sombre .sd-coches i::after { border-color: #fff; }
html[data-theme="jour"] .page-sombre .sd-actif { color: var(--ink); }
/* questions, appel final, pied de page : ceux du site */
html[data-theme="jour"] body.page-sombre .faq-bloc__tete p, html.js[data-theme="jour"] body.page-sombre .faq__item .faq__a { color: rgba(53,53,53,.72); }
html[data-theme="jour"] body.page-sombre .faq__a a { color: var(--ink); text-decoration-color: rgba(0,0,0,.3); }
html[data-theme="jour"] body.page-sombre .faq__q:focus-visible { outline-color: var(--ink); }
html[data-theme="jour"] body.page-sombre .cta::before { opacity: .55; }
html[data-theme="jour"] body.page-sombre .equipage__tuile--cm { background: #0a0a0a; box-shadow: none; }
html[data-theme="jour"] body.page-sombre .footer__in { background: #fff; border-color: var(--line); }
html[data-theme="jour"] body.page-sombre .footer__logo img { filter: brightness(0); }
html[data-theme="jour"] body.page-sombre .footer .small { color: rgba(53,53,53,.72); }
html[data-theme="jour"] body.page-sombre .footer__in--plan .footer__col { color: rgba(53,53,53,.8); }
html[data-theme="jour"] body.page-sombre .footer__col a:hover { color: #000; }
html[data-theme="jour"] body.page-sombre .footer__col .meta { color: var(--ink); }
html[data-theme="jour"] body.page-sombre .footer__reseau { color: #353535; }
html[data-theme="jour"] body.page-sombre .footer__reseau:hover { color: #0A66C2; }
html[data-theme="jour"] body.page-sombre .footer__bar { color: #747474; }
html[data-theme="jour"] body.page-sombre .footer__qualiopi { box-shadow: 0 0 0 1px rgba(0,0,0,.06); }

/* ---------- Outils connectés (/connexions) : catalogue en cartes grises, filtres et recherche sombres ---------- */
html[data-theme="nuit"] .cx-filtre { background: transparent; }
html[data-theme="nuit"] .cx-filtre:hover { background: #262626; color: #fff; }
html[data-theme="nuit"] .cx-filtre[aria-pressed="true"] { background: #fff; color: #141414; }
html[data-theme="nuit"] .cx-filtre__n, html[data-theme="nuit"] .cx-groupe__n { background: #2c2c2c; color: rgba(255,255,255,.75); }
html[data-theme="nuit"] .cx-filtre[aria-pressed="true"] .cx-filtre__n { background: rgba(0,0,0,.12); color: #141414; }
html[data-theme="nuit"] .cx-filtre--vedette .cx-filtre__n { background: rgba(251,77,23,.18); color: #ff8a5c; }
html[data-theme="nuit"] .cx-recherche { background: rgba(31,31,31,.94); border-color: rgba(255,255,255,.12); }
html[data-theme="nuit"] .cx-recherche:focus-within { border-color: rgba(255,255,255,.55); box-shadow: 0 0 0 3px rgba(255,255,255,.08); }
html[data-theme="nuit"] :is(.cx-groupe, .cx-etapes li) { border-top-color: rgba(255,255,255,.1); }
html[data-theme="nuit"] .cx-etapes li:last-child { border-bottom-color: rgba(255,255,255,.1); }
html[data-theme="nuit"] .cx-groupe--vedette { background: linear-gradient(120deg, rgba(251,77,23,.14) 0%, rgba(255,255,255,.03) 60%, rgba(145,224,255,.06) 100%), #1a1a1a; box-shadow: inset 0 0 0 1px rgba(255,255,255,.07); }
html[data-theme="nuit"] .cx-groupe--vedette .cx-groupe__n { background: rgba(251,77,23,.18); color: #ff8a5c; }
html[data-theme="nuit"] .cx-carte { background: #1f1f1f; border-color: rgba(255,255,255,.07); }
html[data-theme="nuit"] .cx-carte:hover { border-color: rgba(255,255,255,.18); box-shadow: none; }
html[data-theme="nuit"] .cx-carte__cat { background: #2c2c2c; color: rgba(255,255,255,.7); }
html[data-theme="nuit"] :is(.cx-logo, .cx-mini) { box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), 0 0 0 1px rgba(255,255,255,.06); }
html[data-theme="nuit"] .cx-biblio:not(.is-filtre) .cx-groupe:not(.is-ouvert) .cx-plus { background: #262626; border-color: rgba(255,255,255,.12); color: #fff; }
html[data-theme="nuit"] .cx-etapes span { background: #fff; color: #141414; }
html[data-theme="nuit"] .cx-lien { text-decoration-color: rgba(255,255,255,.4); }
html[data-theme="nuit"] .cx-autre__tuile--bobby, html[data-theme="nuit"] .cx-bobby { box-shadow: 0 0 0 1px rgba(255,255,255,.18); }
html[data-theme="nuit"] .cx-autre__tuile--q { background: #2c2c2c; color: rgba(255,255,255,.6); }

/* Chat Bobby sans dégradé en mode nuit (07/10/2026, demande Axel) */
html[data-theme="nuit"] .assistant__tete, html[data-theme="nuit"] .bp-tete { background: #0f0f10; }
