/* Couche d'harmonisation NOXVA : additive, sans changer les structures fonctionnelles du labo. */
:root { --noxva-gold: #F5A623; --noxva-navy: #1E3799; }
:focus-visible { outline: 3px solid var(--noxva-gold); outline-offset: 3px; }
.noxva-progress { position: fixed; z-index: 500; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--noxva-gold), #5C6BC0); transform: scaleX(0); transform-origin: left center; will-change: transform; }
.nav, .chat-entete { transition: background .24s ease, box-shadow .24s ease, border-color .24s ease; }
.nav.noxva-scrolled, .chat-entete.noxva-scrolled { box-shadow: 0 10px 28px rgba(20, 38, 95, .07); }
.noxva-group-link { color: var(--texte-2); font-family: Montserrat, sans-serif; font-size: .73rem; font-weight: 700; letter-spacing: .02em; text-decoration: none; }
.noxva-group-link:hover { color: var(--navy); }
html.noxva-motion-ready .noxva-reveal { opacity: 0; transform: translateY(16px); transition: opacity .58s ease, transform .58s ease; }
html.noxva-motion-ready .noxva-reveal.noxva-visible { opacity: 1; transform: none; }
.nav-logo, .cote-marque, .portail-marque { transition: transform .2s ease; }.nav-logo:hover, .cote-marque:hover, .portail-marque:hover { transform: translateY(-1px); }
.btn-primaire, .cote-nouvelle, .choix-bouton, .portail-boite input { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.portail-boite input:focus { border-color: var(--noxva-gold); box-shadow: 0 0 0 3px rgba(245,166,35,.18); }
@media (prefers-reduced-motion: reduce) { .noxva-progress { display: none; } html.noxva-motion-ready .noxva-reveal { opacity: 1; transform: none; transition: none; }.nav, .chat-entete, .nav-logo, .cote-marque, .portail-marque, .btn-primaire, .cote-nouvelle, .choix-bouton, .portail-boite input { transition: none; } }
