/* ==========================================================================
   CONFIG CORE & HARMONISATION PRODUITS
   ========================================================================== */

:root {
    /* Teintes personnalisées basées sur l'identité visuelle */
    --bs-primary: #0d6efd;
    --bs-primary-rgb: 13, 110, 253;
    --bs-link-color: var(--bs-primary);
    
    /* Amélioration des arrondis pour un aspect Web3 */
    --bs-border-radius: 12px;
    --bs-border-radius-lg: 20px;
}

/* --- HARMONISATION DES TITRES PRODUITS & ACCESSIBILITÉ --- */
/* Force un espacement et une structure identiques entre la section Ordinateurs et Antivirus */
.section-produits h3 {
    margin-top: 2.5rem !important;
    margin-bottom: 1.5rem !important;
    font-weight: 700;
    letter-spacing: -0.025em;
}

/* Espacement interne global des fiches pour le responsive */
.product-section-wrapper {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

/* ==========================================================================
   ANIMATIONS, LOGO & COMPOSANTS VISUELS
   ========================================================================== */
.logo {
    width: 150px !important;
    height: 150px !important;
}


.logo {
  border-radius: 50%;
  filter: contrast(1.2) brightness(1.1);
  transition: border-color 0.4s ease, box-shadow 0.4s ease;
  animation: neonGlowBlinkInverted 4s ease-in-out infinite;
}

.logo:hover {
  animation-play-state: paused;
  border-color: #00ffcc;
  box-shadow: 0 0 25px #00ffcc, inset 0 0 25px #00ffcc;
}

@keyframes neonGlowBlinkInverted {
  0%, 100% { border-color: #ff00ff; box-shadow: 0 0 15px #ff00ff, inset 0 0 15px #ff00ff; }
  50% { border-color: #00ffcc; box-shadow: 0 0 15px #00ffcc, inset 0 0 15px #00ffcc; }
}

/* CONDUITE DU MARQUEE DÉFILANT */
.custom-marquee-wrapper {
    overflow: hidden;
    white-space: nowrap;
    display: flex;
    width: 100%;
}

.custom-marquee-content {
    display: inline-block;
    padding-left: 100%;
    animation: marquee-speed 60s linear infinite;
}

.custom-marquee-wrapper:hover .custom-marquee-content {
    animation-play-state: paused;
}

@keyframes marquee-speed {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-100%, 0, 0); }
}

/* ==========================================================================
   NAVBAR, SERVICE CARDS & COMPOSANTS MODULAIRES
   ========================================================================== */

.custom-header-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: transform 0.3s ease, background-color 0.3s ease;
}

/* CARDS RESPONSIVE */
.service-card {
    position: relative;
    border-radius: var(--bs-border-radius-lg, 20px) !important;
    background: var(--bs-body-bg);
    overflow: hidden;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* POPUP OUTILS & COMPRESSEUR (INTEGRATION SÉCURISÉE) */
.custom-modal-cyber {
    border-radius: var(--bs-border-radius-lg, 20px) !important;
    background: var(--bs-body-bg);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

/* DESIGN DU CONSOLE DES MESSAGES CHATBOT */
#chatbot-container {
    display: none;
    position: fixed;
    bottom: 90px;
    left: 20px;
    width: 350px;
    max-width: calc(100vw - 40px);
    z-index: 1050;
    border: 1px solid var(--bs-border-color) !important;
    background: var(--bs-body-bg) !important;
    border-radius: var(--bs-border-radius) !important;
}

/* RESPONSIVE BREAKPOINT NAVBAR */
@media (max-width: 991.98px) {
    .custom-navbar .navbar-collapse {
        background: var(--bs-body-bg);
        margin-top: 10px;
        padding: 15px;
        border-radius: var(--bs-border-radius, 12px);
        border: 1px solid var(--bs-border-color);
    }
}

/* ==========================================================================
   MODES D'ACCESSIBILITÉ INCLUSIFS
   ========================================================================== */

/* --- 1. MODE DALTONIEN --- */
[data-bs-theme="daltonien"] {
    --bs-primary: #0056b3;
    --bs-primary-rgb: 0, 86, 179;
    --bs-link-color: var(--bs-primary);
    --bs-success: #ff9900; 
    --bs-success-rgb: 255, 153, 0;
    --bs-danger: #0072b2;  
    --bs-danger-rgb: 0, 114, 178;
    --bs-body-bg: #f8f9fa;
    --bs-body-color: #111111;
    --bs-border-color: #cccccc;
}

[data-bs-theme="daltonien"] .service-card {
    border: 2px dashed var(--bs-primary) !important; 
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* --- ADAPTATION DU CALCULATEUR D'ONDULEUR POUR LES DALTONIENS --- */

/* 1. Remplacement de l'alerte rouge (Imprimante) par un bleu roi à fort contraste */
[data-bs-theme="daltonien"] #onduleurModal .text-danger {
    color: #0072b2 !important; /* Bleu ciel/roi accessible Protan/Deuteran */
    font-weight: 700 !important;
    text-decoration: underline; /* Double encodage : soulignement visuel */
}

/* 2. Remplacement de la zone verte de succès par un orange ambré contrasté */
[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-success,
[data-bs-theme="daltonien"] #onduleurModal #onduleurRecommandationZone {
    background-color: rgba(255, 153, 0, 0.08) !important; /* Fond orange ambré doux */
    border: 2px dashed #ff9900 !important; /* Bordure pointillée texturée distinctive */
}

/* Harmonisation des textes et des icônes à l'intérieur de la zone de réussite */
[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-success h6,
[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-success i,
[data-bs-theme="daltonien"] #onduleurModal #onduleurRecommandationZone h6,
[data-bs-theme="daltonien"] #onduleurModal #onduleurRecommandationZone i {
    color: #ff9900 !important; /* Orange daltonien officiel de votre charte graphique */
}

/* 3. Re-stylisation de l'encadré de capacité minimale (Bleu Bootstrap d'origine) */
[data-bs-theme="daltonien"] #onduleurModal .bg-primary-subtle {
    background-color: rgba(0, 86, 179, 0.08) !important;
    border: 1px solid #0056b3 !important;
}

[data-bs-theme="daltonien"] #onduleurModal #onduleurMinVA {
    color: #0056b3 !important; /* Bleu roi net pour le résultat en VA */
}

[data-bs-theme="daltonien"] #onduleurModal .text-primary-emphasis {
    color: #0056b3 !important;
}

/* 4. Renforcement des états des cases à cocher */
[data-bs-theme="daltonien"] #onduleurModal .form-check-input:checked {
    background-color: #0056b3 !important; /* Utilisation du bleu roi au lieu du bleu standard */
    border-color: #0056b3 !important;
}
/* --- ACCESSIBILITÉ ABSOLUE ONDULEUR : MODE DALTONIEN --- */

/* 1. Alerte de l'imprimante : Passage du rouge invisible au bleu roi texturé */
[data-bs-theme="daltonien"] #onduleurModal .text-danger,
body[data-bs-theme="daltonien"] #onduleurModal .text-danger,
.modal[id="onduleurModal"] .text-danger {
    color: #0072b2 !important; /* Bleu de la palette universelle d'Okabe-Ito */
    font-weight: 700 !important;
    text-decoration: underline cubic-bezier(0.4, 0, 0.2, 1) 2px !important; /* Soulignement renforcé */
}

/* 2. Bloc de recommandation : Remplacement du vert par un orange vibrant texturé */
[data-bs-theme="daltonien"] #onduleurModal #onduleurRecommandationZone,
body[data-bs-theme="daltonien"] #onduleurModal #onduleurRecommandationZone {
    background-color: rgba(255, 153, 0, 0.08) !important; /* Fond orange ambré léger */
    border: 2px dashed #ff9900 !important; /* Bordure hachurée pour identification par la forme */
    color: var(--bs-body-color) !important;
}

/* Harmonisation des icônes et sous-titres de la recommandation en orange daltonien */
[data-bs-theme="daltonien"] #onduleurModal #onduleurRecommandationZone h6,
[data-bs-theme="daltonien"] #onduleurModal #onduleurRecommandationZone i,
[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-success * {
    color: #ff9900 !important; /* Orange officiel de votre charte inclusive */
}

/* 3. Bloc de capacité minimale (VA) : Remplacement du bleu Bootstrap par le bleu roi accessible */
[data-bs-theme="daltonien"] #onduleurModal .bg-primary-subtle,
body[data-bs-theme="daltonien"] #onduleurModal .bg-primary-subtle {
    background-color: rgba(0, 86, 179, 0.06) !important;
    border: 1px solid #0056b3 !important;
}

[data-bs-theme="daltonien"] #onduleurModal #onduleurMinVA,
[data-bs-theme="daltonien"] #onduleurModal .text-primary-emphasis {
    color: #0056b3 !important; /* Bleu roi contrasté pour faciliter la lecture */
    font-weight: 700 !important;
}

/* 4. Cases à cocher des équipements : Teinte ajustée */
[data-bs-theme="daltonien"] #onduleurModal .form-check-input:checked,
body[data-bs-theme="daltonien"] #onduleurModal .form-check-input:checked {
    background-color: #0056b3 !important;
    border-color: #0056b3 !important;
}

/* --- COMPATIBILITÉ DALTONIENNE POUR LE CALCULATEUR ONDULEUR --- */

/* Alerte imprimante : du rouge invisible au bleu roi accessible et souligné */
[data-bs-theme="daltonien"] #onduleurModal .text-danger,
body[data-bs-theme="daltonien"] #onduleurModal .text-danger {
    color: #0072b2 !important; /* Bleu Okabe-Ito */
    font-weight: 700 !important;
    text-decoration: underline 2px !important;
}

/* Zone de recommandation : du vert au orange ambré à bordure hachurée (Forme + Couleur) */
[data-bs-theme="daltonien"] .alert-cyber-success,
body[data-bs-theme="daltonien"] #onduleurRecommandationZone {
    background-color: rgba(255, 153, 0, 0.08) !important;
    border: 2px dashed #ff9900 !important;
}

/* Forcer le texte informatif et les icônes de succès en orange accessible */
[data-bs-theme="daltonien"] #onduleurRecommandationZone h6,
[data-bs-theme="daltonien"] #onduleurRecommandationZone i,
[data-bs-theme="daltonien"] .alert-cyber-success * {
    color: #ff9900 !important;
}

/* Zone de capacité minimale (VA) : bleu roi contrasté */
[data-bs-theme="daltonien"] #onduleurModal .bg-primary-subtle,
body[data-bs-theme="daltonien"] #onduleurModal .bg-primary-subtle {
    background-color: rgba(0, 86, 179, 0.06) !important;
    border: 1px solid #0056b3 !important;
}

[data-bs-theme="daltonien"] #onduleurModal #onduleurMinVA,
[data-bs-theme="daltonien"] #onduleurModal .text-primary-emphasis {
    color: #0056b3 !important;
    font-weight: 700 !important;
}

/* --- HARMONISATION FINALE DU RESTE DE LA MODALE POUR LES DALTONIENS --- */

/* 1. Bloc de gauche (Liste des appareils) : Renforcement des contrastes et contours */
[data-bs-theme="daltonien"] #onduleurModal .bg-body-tertiary,
body[data-bs-theme="daltonien"] #onduleurModal .bg-body-tertiary {
    background-color: #f1f3f5 !important; /* Gris légèrement plus soutenu pour détacher le fond */
    border: 1px solid #0056b3 !important; /* Bordure en bleu roi accessible */
}

/* Forcer les titres de catégories d'appareils à être très lisibles */
[data-bs-theme="daltonien"] #onduleurModal .text-secondary {
    color: #0056b3 !important; /* Passage du gris terne au bleu roi visible */
    font-weight: 700 !important;
}

/* 2. Alerte de marge de sécurité (Milieu droit) : Transformation du bleu info en bleu roi daltonien */
[data-bs-theme="daltonien"] #onduleurModal .alert-info,
body[data-bs-theme="daltonien"] #onduleurModal .alert-info,
[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-info {
    background-color: rgba(0, 86, 179, 0.06) !important; /* Fond bleu roi très doux */
    border: 1px solid #0056b3 !important; /* Liseré bleu roi net */
    color: #111111 !important; /* Texte presque noir pour un contraste maximal */
}

/* Icône et textes importants dans l'alerte de sécurité */
[data-bs-theme="daltonien"] #onduleurModal .alert-info i,
[data-bs-theme="daltonien"] #onduleurModal .alert-info strong,
[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-info i {
    color: #0056b3 !important; /* Utilisation exclusive du bleu roi accessible */
}

/* 3. Bloc Puissance cumulée (Watts) : Alignement sur le style daltonien */
[data-bs-theme="daltonien"] #onduleurModal #onduleurTotalWatts {
    color: #111111 !important; /* Noir total pour une lecture immédiate */
}

/* 4. Texte d'aide quand aucun appareil n'est coché */
[data-bs-theme="daltonien"] #onduleurModal #onduleurEmptyZone {
    color: #0056b3 !important; /* Utilisation du bleu roi au lieu du gris invisible */
    font-weight: 600;
}
[data-bs-theme="daltonien"] #onduleurModal #onduleurEmptyZone i {
    color: #ff9900 !important; /* Icône de la prise en orange daltonien */
}

/* --- SÉCURISATION STRICTE DES HACHURES POUR LE MODE DALTONIEN --- */

[data-bs-theme="daltonien"] .alert-cyber-success,
[data-bs-theme="daltonien"] #onduleurModal #onduleurRecommandationZone,
body[data-bs-theme="daltonien"] #onduleurRecommandationZone {
    /* Forcer le type de bordure en hachuré et écraser les styles Bootstrap */
    border-style: dashed !important;
    border-width: 2px !important;
    border-color: #ff9900 !important;
}

/* --- TEXTURES ET HACHURES INDÉPENDANTES POUR LES AUTRES BLOCS (DALTONIEN) --- */

/* 1. Bloc Puissance cumulée (Watts) */
[data-bs-theme="daltonien"] #onduleurModal .bg-body-tertiary,
body[data-bs-theme="daltonien"] #onduleurModal .bg-body-tertiary {
    border-style: dotted !important; /* Texture en petits points pour les Watts */
    border-width: 2px !important;
    border-color: #0056b3 !important; /* Bleu roi accessible */
}

/* 2. Bloc Capacité minimale requise (VA) */
[data-bs-theme="daltonien"] #onduleurModal .bg-primary-subtle,
body[data-bs-theme="daltonien"] #onduleurModal .bg-primary-subtle {
    border-style: dashed !important; /* Texture en traits hachurés pour les VA */
    border-width: 2px !important;
    border-color: #0056b3 !important; /* Bleu roi accessible */
}

/* 3. Alerte d'information (Marge de sécurité +30%) */
[data-bs-theme="daltonien"] #onduleurModal .alert-info,
[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-info,
body[data-bs-theme="daltonien"] #onduleurModal .alert-info {
    border-style: double !important; /* Texture en double ligne continue pour l'info sécurité */
    border-width: 4px !important; /* Augmenté pour que la double ligne soit bien nette */
    border-color: #0056b3 !important; /* Bleu roi accessible */
}

[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-info,
body[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-info {
    border-style: double !important;
    border-width: 4px !important;
    border-color: #0056b3 !important; /* Bleu roi accessible */
    background-color: rgba(0, 86, 179, 0.06) !important;
}
[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-info h6,
[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-info h6 i,
[data-bs-theme="daltonien"] #onduleurModal .alert-cyber-info strong {
    color: #0056b3 !important;
}

/* ==========================================================================
   ADAPTATION INCLUSIVE DE L'ENCART SÉCURITÉ IMPRIMANTES
   ========================================================================== */

/* --- 1. AJUSTEMENT POUR LE MODE DALTONIEN --- */
/* Le rouge s'efface pour laisser place à la double signalétique (Bordure hachurée distinctive + Bleu universel Okabe-Ito) */
[data-bs-theme="daltonien"] .section-danger-printers {
    background-color: rgba(0, 114, 178, 0.06) !important;
    border: 2px dashed #0072b2 !important; /* Bordure hachurée repérable par la forme */
}

[data-bs-theme="daltonien"] .section-danger-printers *,
[data-bs-theme="daltonien"] .section-danger-printers i {
    color: #0072b2 !important; /* Bleu contrasté sécurisé */
}

/* Le vert classique s'efface pour le orange daltonien texturé et officiel de votre charte */
[data-bs-theme="daltonien"] .alert-success {
    background-color: rgba(255, 153, 0, 0.08) !important;
    border: 2px dashed #ff9900 !important;
}

[data-bs-theme="daltonien"] .alert-success *,
[data-bs-theme="daltonien"] .alert-success i,
[data-bs-theme="daltonien"] .alert-success a.btn-success {
    color: #ff9900 !important;
}
[data-bs-theme="daltonien"] .alert-success a.btn-success {
    background-color: transparent !important;
    border: 1px solid #ff9900 !important;
}


/* --- 2. MODE CONTRASTE ÉLEVÉ --- */
[data-bs-theme="high-contrast"] {
    --bs-primary: #ffff00; 
    --bs-primary-rgb: 255, 255, 0;
    --bs-link-color: #00ffff; 
    --bs-body-bg: #000000; 
    --bs-body-color: #ffffff; 
    --bs-border-color: #ffffff;
}

[data-bs-theme="high-contrast"] .service-card,
[data-bs-theme="high-contrast"] #chatbot-container {
    border: 3px solid #ffffff !important;
    background: #000000 !important;
    backdrop-filter: none !important;
}

/* --- CORRECTIF ACCESSIBILITÉ ONDULEUR : MODE CONTRASTE ÉLEVÉ --- */
[data-bs-theme="high-contrast"] #onduleurModal .text-muted,
[data-bs-theme="high-contrast"] #onduleurModal .text-secondary {
    color: #ffff00 !important; /* Force les sous-titres et indications en Jaune pur */
    font-weight: bold !important;
}

[data-bs-theme="high-contrast"] #onduleurModal .form-check-label,
[data-bs-theme="high-contrast"] #onduleurModal .text-body-emphasis,
[data-bs-theme="high-contrast"] #onduleurModal .equipment-watts + span {
    color: #ffffff !important; /* Force les labels d'équipements et les "W" en Blanc pur */
}

[data-bs-theme="high-contrast"] #onduleurModal .form-check-input {
    border: 2px solid #ffffff !important; /* Accentue les contours des cases à cocher */
    background-color: #000000 !important;
}

[data-bs-theme="high-contrast"] #onduleurModal .form-check-input:checked {
    background-color: #ffff00 !important; /* Case cochée en Jaune pur */
    border-color: #ffff00 !important;
}

[data-bs-theme="high-contrast"] #onduleurModal .equipment-watts {
    border: 2px solid #ffffff !important; /* Encadré des champs numériques blanc */
    background-color: #000000 !important;
    color: #ffffff !important;
}

[data-bs-theme="high-contrast"] #onduleurModal .equipment-watts:focus {
    border-color: #ffff00 !important; /* Liseré jaune lors de la saisie au clavier */
}

/* --- CORRECTIF COMPLET ET ABSOLU POUR L'ONDULEUR EN CONTRASTE ÉLEVÉ --- */
[data-bs-theme="high-contrast"] .modal,
[data-bs-theme="high-contrast"] #onduleurModal,
[data-bs-theme="high-contrast"] #onduleurModal * {
    color: #ffffff !important; /* Force TOUT le texte de la modale en blanc par défaut */
}

/* Forcer le fond noir sur le bloc gris d'origine des équipements */
[data-bs-theme="high-contrast"] #onduleurModal .bg-body-tertiary,
[data-bs-theme="high-contrast"] #onduleurModal .modal-body {
    background-color: #000000 !important;
    background: #000000 !important;
}

/* Force les titres de sections (Ordinateurs, Réseau...) et sous-titres en Jaune pur */
[data-bs-theme="high-contrast"] #onduleurModal .text-muted,
[data-bs-theme="high-contrast"] #onduleurModal .text-secondary,
[data-bs-theme="high-contrast"] #onduleurModal .text-danger,
[data-bs-theme="high-contrast"] #onduleurModal h5 {
    color: #ffff00 !important; 
    font-weight: bold !important;
}

/* Rendre les contours des éléments visibles (Bordures des sections et séparateurs) */
[data-bs-theme="high-contrast"] #onduleurModal .border,
[data-bs-theme="high-contrast"] #onduleurModal .border-translucent,
[data-bs-theme="high-contrast"] #onduleurModal .border-start-translucent-md {
    border-color: #ffffff !important;
}

/* Visibilité des champs de saisie (Inputs numériques pour les Watts) */
[data-bs-theme="high-contrast"] #onduleurModal .equipment-watts {
    border: 2px solid #ffffff !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    opacity: 1 !important; /* Évite que l'attribut disabled ne rende le texte invisible */
}

[data-bs-theme="high-contrast"] #onduleurModal .equipment-watts:disabled {
    border-color: #888888 !important; /* Gris visible pour l'état désactivé */
    color: #bbbbbb !important;
}

/* Visibilité et comportement des cases à cocher (Checkboxes) */
[data-bs-theme="high-contrast"] #onduleurModal .form-check-input {
    border: 2px solid #ffffff !important;
    background-color: #000000 !important;
}

[data-bs-theme="high-contrast"] #onduleurModal .form-check-input:checked {
    background-color: #ffff00 !important;
    border-color: #ffff00 !important;
}

/* --- ENCADRÉ DES RÉSULTATS (DROITE) EN CONTRASTE ÉLEVÉ --- */

/* Forcer le fond noir absolu sur les blocs de résultats cumulés et capacité minimale */
[data-bs-theme="high-contrast"] #onduleurModal .bg-body-tertiary,
[data-bs-theme="high-contrast"] #onduleurModal .bg-primary-subtle {
    background-color: #000000 !important;
    background: #000000 !important;
    border: 2px solid #ffffff !important; /* Bordure blanche nette autour des blocs */
}

/* Forcer les grands chiffres (0 W, 0 VA) et libellés à être parfaitement lisibles */
[data-bs-theme="high-contrast"] #onduleurModal #onduleurTotalWatts,
[data-bs-theme="high-contrast"] #onduleurModal #onduleurMinVA {
    color: #ffff00 !important; /* Jaune vif pour les valeurs calculées */
    font-weight: 800 !important;
}

[data-bs-theme="high-contrast"] #onduleurModal .text-primary-emphasis {
    color: #ffffff !important; /* Blanc pur pour le titre "Capacité minimale requise" */
}

/* Neutraliser les alertes d'informations et de recommandations (Marge de sécurité & Conseil) */
[data-bs-theme="high-contrast"] #onduleurModal .alert,
[data-bs-theme="high-contrast"] #onduleurModal #onduleurRecommandationZone {
    background-color: #000000 !important;
    background: #000000 !important;
    border: 3px solid #ffffff !important; /* Épaisseur renforcée pour l'alerte de recommandation */
    color: #ffffff !important;
}

/* Mettre en valeur les éléments textuels importants à l'intérieur des recommandations */
[data-bs-theme="high-contrast"] #onduleurModal .alert strong,
[data-bs-theme="high-contrast"] #onduleurModal #onduleurRecommandationZone strong {
    color: #ffff00 !important; /* Les puissances conseillées (ex: 500 VA) passent en jaune */
}

/* Icônes de la zone de droite */
[data-bs-theme="high-contrast"] #onduleurModal .bi-info-circle-fill,
[data-bs-theme="high-contrast"] #onduleurModal .bi-shield-check-fill {
    color: #ffff00 !important; /* Icônes en jaune pour attirer l'attention sans éblouir */
}

[data-bs-theme="high-contrast"] #onduleurModal .alert-cyber-info,
[data-bs-theme="high-contrast"] #onduleurModal .alert-cyber-info * {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}
[data-bs-theme="high-contrast"] #onduleurModal .alert-cyber-info h6,
[data-bs-theme="high-contrast"] #onduleurModal .alert-cyber-info h6 i,
[data-bs-theme="high-contrast"] #onduleurModal .alert-cyber-info strong {
    color: #ffff00 !important; /* Jaune haute visibilité pour les points clés */
}

/* --- 2. AJUSTEMENT POUR LE MODE CONTRASTE ÉLEVÉ --- */
/* Forçage des contours stricts sans couleur de fond éblouissante (Rendu Jaune/Blanc sur Noir) */
[data-bs-theme="high-contrast"] .section-danger-printers {
    background: #000000 !important;
    border: 3px solid #ffffff !important;
}

[data-bs-theme="high-contrast"] .section-danger-printers h6,
[data-bs-theme="high-contrast"] .section-danger-printers h6 i,
[data-bs-theme="high-contrast"] .section-danger-printers strong {
    color: #ffff00 !important; /* Jaune haute visibilité sur les points critiques */
}

[data-bs-theme="high-contrast"] .section-danger-printers span {
    color: #ffffff !important; /* Texte explicatif en Blanc pur */
}

/* Transformation en boîte noire à contours blancs stricts avec détails jaunes */
[data-bs-theme="high-contrast"] .alert-success {
    background: #000000 !important;
    border: 3px solid #ffffff !important;
}
[data-bs-theme="high-contrast"] .alert-success h6,
[data-bs-theme="high-contrast"] .alert-success strong,
[data-bs-theme="high-contrast"] .alert-success i {
    color: #ffff00 !important;
}
[data-bs-theme="high-contrast"] .alert-success span {
    color: #ffffff !important;
}
[data-bs-theme="high-contrast"] .alert-success a.btn-success {
    background-color: #ffff00 !important;
    color: #000000 !important;
    border: none !important;
}

/* --- CORRECTIF COMPLET HERO HAUTE VISIBILITÉ --- */
[data-bs-theme="high-contrast"] .hero-gradient {
    background: #000000 !important; /* Supprime le dégradé pour un noir pur */
    border-bottom: 2px solid #ffffff !important; /* Ligne de séparation blanche nette */
}

/* Force le titre en Jaune Haute Visibilité (au lieu du bleu text-primary qui devient invisible sur fond noir) */
[data-bs-theme="high-contrast"] .hero-gradient h3.text-primary {
    color: #ffff00 !important;
}

/* Force le paragraphe en Blanc Pur */
[data-bs-theme="high-contrast"] .hero-gradient p.long-text-partner {
    color: #ffffff !important;
    font-weight: bold !important; /* Améliore la lisibilité des lettres */
}



/* --- 3. MODE DYSLEXIE --- */
[data-bs-theme="dyslexia"] {
    --bs-body-bg: #fcf8f2;
    --bs-body-color: #1a1a1a;
    --bs-primary: #0066cc;
}

[data-bs-theme="dyslexia"] body,
[data-bs-theme="dyslexia"] p,
[data-bs-theme="dyslexia"] select,
[data-bs-theme="dyslexia"] input,
[data-bs-theme="dyslexia"] button,
[data-bs-theme="dyslexia"] .nav-link {
    font-family: 'OpenDyslexic', sans-serif !important;
    word-spacing: 0.15em !important;
    letter-spacing: 0.05em !important;
}

/* --- 4. MODE ÉPURÉ / TDAH --- */
[data-bs-theme="read-only"] {
    --bs-body-bg: #f4f4f6;
    --bs-body-color: #2b2b2b;
}

[data-bs-theme="read-only"] .top-bar * :not(#bd-theme):not(#bd-theme *) {
    visibility: hidden !important;
}

[data-bs-theme="read-only"] #bd-theme {
    position: fixed !important;
    top: 15px !important;
    right: 20px !important;
    z-index: 10005 !important;
}

#tdah-reading-ruler {
    position: fixed; /* Reste collé à l'écran pendant le défilement */
    left: 0;
    top: var(--ruler-y, 0px);
    width: 100vw; /* Prend toute la largeur de la fenêtre */
    height: 80px;
    pointer-events: none; /* TRÈS IMPORTANT : permet de cliquer "à travers" la règle sur vos menus, liens et boutons */
    z-index: 999999 !important; /* Passe au-dessus de la navbar fixed-top de Bootstrap et du footer */
    
    /* Exemple de style pour créer la zone de lecture épurée (à adapter selon votre CSS) */
    box-shadow: 0 0 0 100vh rgba(0, 0, 0, 0.4); /* Assombrit tout le reste de l'écran en haut et en bas */
}