/* Styles pour les icônes SVG - OMNICOM */
.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    fill: currentColor;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    /* FORCER LA VISIBILITÉ DES ICÔNES */
    color: #1e3a8a !important;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.1));
    /* GARANTIR LA VISIBILITÉ */
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
}

/* ===== COULEURS SPÉCIFIQUES POUR CHAQUE TYPE D'ICÔNE ===== */

/* Icônes de succès */
.icon-check {
    color: #10b981 !important;
}

/* Icônes d'étoile */
.icon-star {
    color: #f59e0b !important;
}

/* Icônes de contact */
.icon-phone,
.icon-envelope,
.icon-map-marker,
.icon-clock {
    color: #3b82f6 !important;
}

/* Icônes de navigation */
.icon-paper-plane {
    color: #1e3a8a !important;
}

/* ===== RÉSEAUX SOCIAUX - COULEURS OFFICIELLES ===== */
.icon-facebook {
    color: #1877f2 !important;
}

.icon-linkedin {
    color: #0077b5 !important;
}

.icon-twitter {
    color: #1da1f2 !important;
}

.icon-instagram {
    color: #e4405f !important;
}

/* ===== ICÔNES DANS DIFFÉRENTS CONTEXTES ===== */

/* Icônes dans les listes */
li .icon {
    color: #10b981 !important;
    margin-right: 0.5em;
    vertical-align: middle;
}

/* Icônes dans les paragraphes */
p .icon {
    color: #3b82f6 !important;
    margin-right: 0.5em;
    vertical-align: middle;
}

/* Icônes dans les titres */
h1 .icon, h2 .icon, h3 .icon, h4 .icon, h5 .icon, h6 .icon {
    color: #1e3a8a !important;
    margin-right: 0.5em;
    vertical-align: middle;
}

/* Icônes dans les cartes et sections */
.card .icon,
.section .icon,
.feature-icon-hero .icon,
.overlay-badge .icon,
.highlight-item .icon,
.approach-icon .icon {
    color: #1e3a8a !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    margin-bottom: 0.5em;
}

/* ===== FOOTER ET LIENS SOCIAUX - COULEURS BLANCHES ===== */

/* Toutes les icônes dans le footer */
footer .icon,
.footer .icon {
    color: #ffffff !important;
}

/* Icônes des réseaux sociaux dans le footer */
footer .social-link .icon,
.footer .social-link .icon {
    color: #ffffff !important;
    transition: transform 0.3s ease;
}

footer .social-link:hover .icon,
.footer .social-link:hover .icon {
    transform: scale(1.1);
    color: #ffffff !important;
}

/* Icônes dans les liens sociaux partout */
.social-link .icon {
    transition: transform 0.3s ease;
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.social-link:hover .icon {
    transform: scale(1.1);
    color: #ffffff !important;
}

/* ===== TAILLES D'ICÔNES ===== */
.icon-sm {
    width: 0.875em;
    height: 0.875em;
}

.icon-lg {
    width: 1.33em;
    height: 1.33em;
}

.icon-xl {
    width: 1.5em;
    height: 1.5em;
}

/* ===== ICÔNES SPÉCIFIQUES ===== */
.icon-paper-plane {
    background: url('../images/icons/paper-plane.svg') no-repeat center;
    background-size: contain;
}

.icon-phone {
    background: url('../images/icons/phone.svg') no-repeat center;
    background-size: contain;
}

.icon-check {
    background: url('../images/icons/check.svg') no-repeat center;
    background-size: contain;
}

.icon-envelope {
    background: url('../images/icons/envelope.svg') no-repeat center;
    background-size: contain;
}

.icon-map-marker {
    background: url('../images/icons/map-marker.svg') no-repeat center;
    background-size: contain;
}

.icon-network {
    background: url('../images/icons/network.svg') no-repeat center;
    background-size: contain;
}

.icon-solar-panel {
    background: url('../images/icons/solar-panel.svg') no-repeat center;
    background-size: contain;
}

.icon-mobile {
    background: url('../images/icons/mobile.svg') no-repeat center;
    background-size: contain;
}

.icon-clock {
    background: url('../images/icons/clock.svg') no-repeat center;
    background-size: contain;
}

.icon-star {
    background: url('../images/icons/star.svg') no-repeat center;
    background-size: contain;
}

.icon-arrow-left {
    background: url('../images/icons/arrow-left.svg') no-repeat center;
    background-size: contain;
}

.icon-arrow-right {
    background: url('../images/icons/arrow-right.svg') no-repeat center;
    background-size: contain;
}

.icon-users {
    background: url('../images/icons/users.svg') no-repeat center;
    background-size: contain;
}

.icon-eye {
    background: url('../images/icons/eye.svg') no-repeat center;
    background-size: contain;
}

.icon-tools {
    background: url('../images/icons/tools.svg') no-repeat center;
    background-size: contain;
}

.icon-shield {
    background: url('../images/icons/shield.svg') no-repeat center;
    background-size: contain;
}

.icon-server {
    background: url('../images/icons/server.svg') no-repeat center;
    background-size: contain;
}

.icon-cloud {
    background: url('../images/icons/cloud.svg') no-repeat center;
    background-size: contain;
}

.icon-database {
    background: url('../images/icons/database.svg') no-repeat center;
    background-size: contain;
}

.icon-desktop {
    background: url('../images/icons/desktop.svg') no-repeat center;
    background-size: contain;
}

.icon-home {
    background: url('../images/icons/home.svg') no-repeat center;
    background-size: contain;
}

.icon-industry {
    background: url('../images/icons/industry.svg') no-repeat center;
    background-size: contain;
}

.icon-battery {
    background: url('../images/icons/battery.svg') no-repeat center;
    background-size: contain;
}

.icon-charging {
    background: url('../images/icons/charging.svg') no-repeat center;
    background-size: contain;
}

.icon-chart-line {
    background: url('../images/icons/chart-line.svg') no-repeat center;
    background-size: contain;
}

.icon-leaf {
    background: url('../images/icons/leaf.svg') no-repeat center;
    background-size: contain;
}

.icon-piggy-bank {
    background: url('../images/icons/piggy-bank.svg') no-repeat center;
    background-size: contain;
}

.icon-award {
    background: url('../images/icons/award.svg') no-repeat center;
    background-size: contain;
}

.icon-headset {
    background: url('../images/icons/headset.svg') no-repeat center;
    background-size: contain;
}

.icon-graduation-cap {
    background: url('../images/icons/graduation-cap.svg') no-repeat center;
    background-size: contain;
}

.icon-microchip {
    background: url('../images/icons/microchip.svg') no-repeat center;
    background-size: contain;
}

.icon-wifi {
    background: url('../images/icons/wifi.svg') no-repeat center;
    background-size: contain;
}

.icon-calendar {
    background: url('../images/icons/calendar.svg') no-repeat center;
    background-size: contain;
}

.icon-rocket {
    background: url('../images/icons/rocket.svg') no-repeat center;
    background-size: contain;
}

.icon-info-circle {
    background: url('../images/icons/info-circle.svg') no-repeat center;
    background-size: contain;
}

.icon-handshake {
    background: url('../images/icons/handshake.svg') no-repeat center;
    background-size: contain;
}

.icon-lightbulb {
    background: url('../images/icons/lightbulb.svg') no-repeat center;
    background-size: contain;
}

.icon-trophy {
    background: url('../images/icons/trophy.svg') no-repeat center;
    background-size: contain;
}

/* Réseaux sociaux */
.icon-facebook {
    background: url('../images/icons/facebook.svg') no-repeat center;
    background-size: contain;
}

.icon-linkedin {
    background: url('../images/icons/linkedin.svg') no-repeat center;
    background-size: contain;
}

.icon-twitter {
    background: url('../images/icons/twitter.svg') no-repeat center;
    background-size: contain;
}

.icon-instagram {
    background: url('../images/icons/instagram.svg') no-repeat center;
    background-size: contain;
}

/* Administration */
.icon-dashboard {
    background: url('../images/icons/dashboard.svg') no-repeat center;
    background-size: contain;
}

.icon-settings {
    background: url('../images/icons/settings.svg') no-repeat center;
    background-size: contain;
}

.icon-file-invoice {
    background: url('../images/icons/file-invoice.svg') no-repeat center;
    background-size: contain;
}

.icon-logout {
    background: url('../images/icons/logout.svg') no-repeat center;
    background-size: contain;
}

.icon-trash {
    background: url('../images/icons/trash.svg') no-repeat center;
    background-size: contain;
}

.icon-reply {
    background: url('../images/icons/reply.svg') no-repeat center;
    background-size: contain;
}

.icon-video {
    background: url('../images/icons/video.svg') no-repeat center;
    background-size: contain;
}

.icon-asterisk {
    background: url('../images/icons/asterisk.svg') no-repeat center;
    background-size: contain;
}

/* ===== CORRECTION MODE SOMBRE ===== */
@media (prefers-color-scheme: dark) {
    .icon {
        /* Forcer la visibilité en mode sombre */
        color: #ffffff !important;
        filter: drop-shadow(0 1px 3px rgba(255,255,255,0.2));
    }
    
    .icon-check {
        color: #10b981 !important;
    }
    
    .icon-star {
        color: #f59e0b !important;
    }
    
    .icon-phone,
    .icon-envelope,
    .icon-map-marker,
    .icon-clock {
        color: #60a5fa !important;
    }
    
    .icon-paper-plane {
        color: #93c5fd !important;
    }
    
    .icon-facebook {
        color: #1877f2 !important;
    }
    
    .icon-linkedin {
        color: #0077b5 !important;
    }
    
    .icon-twitter {
        color: #1da1f2 !important;
    }
    
    .icon-instagram {
        color: #e4405f !important;
    }
}

/* ===== CORRECTION FORCÉE POUR TOUS LES MODES ===== */
.icon {
    /* Garantir la visibilité dans tous les cas */
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
}

/* Icônes dans les listes et textes */
li .icon,
p .icon,
span .icon {
    margin-right: 0.5em;
    vertical-align: middle;
}

/* Icônes dans les liens sociaux */
.social-link .icon {
    transition: transform 0.3s ease;
}

.social-link:hover .icon {
    transform: scale(1.1);
}

/* Icônes dans les cartes et sections */
.card .icon,
.section .icon {
    margin-bottom: 0.5em;
}
