/* Définition des variables de couleurs optimisées pour le contraste */
:root {
    /* Bleu Électrique - Clair et Dynamique (couleur primaire) */
    --color-primary: #007bff;
    /* Jaune/Orange Vif - Pour l'alerte et l'accent (CTA/Urgence) */
    --color-accent: #ffc107;
    /* NOUVEAU FOND SOMBRE : Bleu Marine/Anthracite (pour le Hero et Footer) */
    --color-dark-bg: #051c3f;
    /* Couleur du texte principal et des titres sur fond blanc */
    --color-text: #000000;
    /* Gris très clair pour les légers fonds de survol */
    --color-light-bg: #f9f9f9;
}

/* Base : Transitions, police, et NOUVEAU FOND TECHNIQUE */
a,
button,
.column,
.navbar-item,
.icon i {
    transition: all 0.25s ease-in-out;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: var(--color-text);
    /* NOUVEAU : Motif de fond discret pour donner de la texture */
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj48ZGVmcz48cGF0dGVybiBpZD0iZyIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiBwYXR0ZXJuVW5pdHM9InVzZXJTcGFjZU9uVXNlIj48cGF0aCBkPSJNMCAwTDEwIDEwIiBzdHJva2U9IiNhYWFhYWEiIHN0cm9rZS13aWR0aD0iMSIgb3BhY2l0eT0iLjMiLz48L3BhdHRlcm4+PC9kZWZzPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZykiLz48L3N2Zz4=');
    background-repeat: repeat;
    background-color: white;
    /* Couleur de base si le motif est trop transparent */
}


/* 1. Surcharge des couleurs de base Bulma */
.is-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: white !important;
}

.button.is-primary:hover,
.button.is-primary:focus {
    background-color: #0056b3 !important;
    border-color: #0056b3 !important;
}

/* 2. Style spécifique à la NavBar */
.navbar {
    background-color: var(--color-primary);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.navbar-item,
.navbar-link {
    color: white !important;
}

.navbar-item:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: white !important;
}

/* 3. Section HERO : NOUVEAU FOND ABSTRAIT (Circuits) */
.hero.is-dark {
    background-color: var(--color-dark-bg) !important;
    color: white;
    padding: 4rem 1.5rem;
    position: relative;
    /* AJOUT DE MOTIF D'ONDES ÉLECTRIQUES (Circuits) */
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIj4KICAgIDxkZWZzPgogICAgICAgIDxwYXR0ZXJuIGlkPSJwbGFuZS1wYXR0ZXJuIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICAgIDxsaW5lIHgxPSIwIiB5MT0iMCIgeDI9IjIwMCIgeTI9IjIwMCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBvcGFjaXR5PSIwLjMiLz4KICAgICAgICAgICAgPGxpbmUgeDE9IjIwMCIgeTE9IjAiIHgyPSIwIiB5Mj0iMjAwIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIG9wYWNpdHk9IjAuMyIvPgogICAgICAgIDwvcGF0dGVybj4KICAgIDwvZGVmcz4KICAgIDxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjcGxhbmUtcGF0dGVybikiLz4KPC9zdmc+');
    background-size: 200px 200px;
    /* Taille pour un motif discret */
    background-repeat: repeat;
    /* Assombrissement pour le contraste (peut être ajusté) */
    box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.2);
}

/* Le bouton d'appel à l'action sur le HERO (Accent) */
.hero .button.is-primary {
    background-color: var(--color-accent) !important;
    border-color: var(--color-accent) !important;
    color: var(--color-text) !important;
    font-weight: bold;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4);
}

.hero .button.is-primary:hover {
    background-color: #e0a800 !important;
    border-color: #e0a800 !important;
    transform: translateY(-2px);
}


/* 4. SECTION ENGAGEMENTS ET LISIBILITÉ (sur fond blanc) */
.section {
    background-color: white;
}

/* Titres de section en Noir Pur pour un contraste maximal */
.section h2.title,
.section h3.title,
.section .title {
    color: var(--color-text) !important;
}

/* Style et animations des blocs d'engagement */
.section .column {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 2.5rem 1rem;
    cursor: default;
}

/* Les icônes restent les mêmes pour l'instant, mais elles profitent de l'effet de survol */

/* 5. Footer */
.footer {
    background-color: var(--color-dark-bg) !important;
    color: white;
}

.footer a {
    color: var(--color-accent);
}