/* ══════════════════════════════════════════════════════════════════════════
   FONT AWESOME 6 FREE - VERSION OPTIMISÉE ENS-NDJ
   Fichier optimisé avec suppression des doublons
   + 3 nouvelles icônes : fa-rocket, fa-tools, fa-users
   ══════════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════════════
   1. CHARGEMENT DES POLICES
   ══════════════════════════════════════════════════════════════════════════ */

@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype");
}

@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype");
}

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype");
}

/* ══════════════════════════════════════════════════════════════════════════
   2. CLASSES DE BASE
   ══════════════════════════════════════════════════════════════════════════ */

.fa, .fas, .far, .fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fa, .fas {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.far {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}

.fab {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}

/* ══════════════════════════════════════════════════════════════════════════
   3. ICÔNES NAVIGATION & INTERFACE
   ══════════════════════════════════════════════════════════════════════════ */

.fa-home:before { content: "\f015"; }
.fa-search:before { content: "\f002"; }
.fa-bell:before { content: "\f0f3"; }
.fa-user:before { content: "\f007"; }
.fa-sign-in-alt:before { content: "\f2f6"; }
.fa-sign-out-alt:before { content: "\f2f5"; }
.fa-times:before, .fa-xmark:before { content: "\f00d"; }
.fa-arrow-left:before { content: "\f060"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-chevron-left:before { content: "\f053"; }
.fa-chevron-right:before { content: "\f054"; }
.fa-chevron-down:before { content: "\f078"; }
.fa-chevron-up:before { content: "\f077"; }
.fa-info-circle:before { content: "\f05a"; }
.fa-exclamation-circle:before { content: "\f06a"; }
.fa-question-circle:before { content: "\f059"; }

/* ══════════════════════════════════════════════════════════════════════════
   4. ICÔNES INSTITUTIONNELLES ENS-NDJ
   ══════════════════════════════════════════════════════════════════════════ */

.fa-university:before { content: "\f19c"; }
.fa-building:before { content: "\f1ad"; }
.fa-graduation-cap:before { content: "\f19d"; }
.fa-user-graduate:before { content: "\f501"; }
.fa-chalkboard-teacher:before { content: "\f51c"; }
.fa-school:before { content: "\f549"; }
.fa-book:before { content: "\f02d"; }
.fa-flask:before { content: "\f0c3"; }
.fa-laptop:before { content: "\f109"; }
.fa-concierge-bell:before { content: "\f562"; }

/* ══════════════════════════════════════════════════════════════════════════
   5. ICÔNES ACTUALITÉS & COMMUNICATION
   ══════════════════════════════════════════════════════════════════════════ */

.fa-newspaper:before { content: "\f1ea"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-comment:before { content: "\f075"; }
.fa-comments:before { content: "\f086"; }
.fa-paper-plane:before { content: "\f1d8"; }
.fa-share-alt:before { content: "\f1e0"; }
.fa-eye:before { content: "\f06e"; }
.fa-thumbs-up:before { content: "\f164"; }
.fa-thumbs-down:before { content: "\f165"; }
.fa-link:before { content: "\f0c1"; }

/* ══════════════════════════════════════════════════════════════════════════
   6. ICÔNES CALENDRIER & TEMPS
   ══════════════════════════════════════════════════════════════════════════ */

.fa-calendar:before { content: "\f133"; }
.fa-calendar-alt:before, .fa-calendar-days:before { content: "\f073"; }
.fa-calendar-check:before { content: "\f274"; }
.fa-clock:before { content: "\f017"; }
.fa-hourglass:before { content: "\f254"; }
.fa-hourglass-start:before { content: "\f251"; }
.fa-hourglass-half:before, .fa-hourglass-empty:before { content: "\f252"; }
.fa-hourglass-end:before { content: "\f253"; }

/* ══════════════════════════════════════════════════════════════════════════
   7. ICÔNES DOCUMENTS
   ══════════════════════════════════════════════════════════════════════════ */

.fa-file:before { content: "\f15b"; }
.fa-file-alt:before { content: "\f15c"; }
.fa-file-pdf:before { content: "\f1c1"; }
.fa-file-word:before { content: "\f1c2"; }
.fa-file-excel:before { content: "\f1c3"; }
.fa-file-powerpoint:before { content: "\f1c4"; }
.fa-file-image:before { content: "\f1c5"; }
.fa-file-archive:before { content: "\f1c6"; }
.fa-file-code:before { content: "\f1c9"; }
.fa-file-video:before { content: "\f1c8"; }
.fa-file-audio:before { content: "\f1c7"; }
.fa-file-download:before { content: "\f56d"; }
.fa-file-upload:before { content: "\f574"; }
.fa-file-signature:before { content: "\f573"; }
.fa-download:before { content: "\f019"; }
.fa-upload:before { content: "\f093"; }
.fa-external-link-alt:before { content: "\f35d"; }
.fa-copy:before { content: "\f0c5"; }

/* ══════════════════════════════════════════════════════════════════════════
   8. ICÔNES UTILITAIRES
   ══════════════════════════════════════════════════════════════════════════ */

.fa-check:before { content: "\f00c"; }
.fa-star:before { content: "\f005"; }
.fa-lock:before { content: "\f023"; }
.fa-filter:before { content: "\f0b0"; }
.fa-redo:before { content: "\f01e"; }
.fa-search-plus:before, .fa-magnifying-glass-plus:before { content: "\f00e"; }
.fa-hashtag:before { content: "\f292"; }
.fa-list:before { content: "\f03a"; }
.fa-th-large:before { content: "\f009"; }

/* ══════════════════════════════════════════════════════════════════════════
   9. ICÔNES DONNÉES & STATISTIQUES
   ══════════════════════════════════════════════════════════════════════════ */

.fa-chart-line:before { content: "\f201"; }
.fa-chart-bar:before { content: "\f080"; }
.fa-folder:before { content: "\f07b"; }
.fa-folder-open:before { content: "\f07c"; }

/* ══════════════════════════════════════════════════════════════════════════
   10. ICÔNES LOCALISATION & CONTACT
   ══════════════════════════════════════════════════════════════════════════ */

.fa-map-marker-alt:before { content: "\f3c5"; }
.fa-compass:before { content: "\f14e"; }
.fa-phone-alt:before { content: "\f879"; }

/* ══════════════════════════════════════════════════════════════════════════
   11. ICÔNES ÉVÉNEMENTS
   ══════════════════════════════════════════════════════════════════════════ */

.fa-glass-cheers:before, .fa-champagne-glasses:before { content: "\f79f"; }
.fa-plane-departure:before { content: "\f5b0"; }

/* ══════════════════════════════════════════════════════════════════════════
   12. ICÔNES OFFICIELLES & JURIDIQUES
   ══════════════════════════════════════════════════════════════════════════ */

.fa-balance-scale:before { content: "\f24e"; }
.fa-stamp:before { content: "\f5bf"; }
.fa-scroll:before { content: "\f70e"; }
.fa-gavel:before { content: "\f0e3"; }
.fa-handshake:before { content: "\f2b5"; }
.fa-clipboard-list:before { content: "\f46d"; }
.fa-envelope-open-text:before { content: "\f658"; }

/* ══════════════════════════════════════════════════════════════════════════
   13. ✨ NOUVELLES ICÔNES - PAGE EN DÉVELOPPEMENT
   ══════════════════════════════════════════════════════════════════════════ */

.fa-rocket:before { content: "\f135"; }
.fa-tools:before { content: "\f7d9"; }
.fa-users:before { content: "\f0c0"; }

/* ══════════════════════════════════════════════════════════════════════════
   14. ICÔNES RÉSEAUX SOCIAUX (BRANDS)
   ══════════════════════════════════════════════════════════════════════════ */

.fa-google:before { content: "\f1a0"; }
.fa-facebook-f:before { content: "\f39e"; }
.fa-apple:before { content: "\f179"; }
.fa-youtube:before { content: "\f167"; }
.fa-twitter:before { content: "\f099"; }
.fa-linkedin-in:before { content: "\f0e1"; }
.fa-instagram:before { content: "\f16d"; }
.fa-tiktok:before { content: "\e07b"; }
.fa-whatsapp:before { content: "\f232"; }
.fa-telegram-plane:before { content: "\f3fe"; }

/* ══════════════════════════════════════════════════════════════════════════
   15. STYLES RÉSEAUX SOCIAUX (COULEURS OFFICIELLES)
   ══════════════════════════════════════════════════════════════════════════ */

/* Google - Gradient multicolore */
.social-btn-compact.google-btn i,
.social-btn-full.google-btn i,
.auth-social-link.google i,
.mobile-auth-social.google i {
    background: linear-gradient(135deg, #4285F4 0%, #34A853 25%, #FBBC05 50%, #EA4335 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@supports not (background-clip: text) {
    .social-btn-compact.google-btn i,
    .social-btn-full.google-btn i,
    .auth-social-link.google i,
    .mobile-auth-social.google i {
        color: #4285F4 !important;
    }
}

/* Facebook */
.social-btn-compact.facebook-btn i,
.social-btn-full.facebook-btn i,
.auth-social-link.facebook i,
.mobile-auth-social.facebook i {
    color: #1877F2 !important;
}

/* Apple */
.social-btn-compact.apple-btn i,
.social-btn-full.apple-btn i,
.auth-social-link.apple i,
.mobile-auth-social.apple i {
    color: #000000 !important;
}

@media (prefers-color-scheme: dark) {
    .social-btn-compact.apple-btn i,
    .social-btn-full.apple-btn i,
    .auth-social-link.apple i,
    .mobile-auth-social.apple i {
        color: #FFFFFF !important;
    }
}

/* WhatsApp */
.social-btn-compact.whatsapp-btn i,
.social-btn-full.whatsapp-btn i {
    color: #25D366 !important;
}

/* LinkedIn */
.social-btn-compact.linkedin-btn i,
.social-btn-full.linkedin-btn i {
    color: #0A66C2 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   16. EFFETS HOVER DES BOUTONS SOCIAUX
   ══════════════════════════════════════════════════════════════════════════ */

.social-btn-compact.google-btn:hover,
.social-btn-full.google-btn:hover {
    border-color: #4285F4;
    background: linear-gradient(135deg, rgba(66, 133, 244, 0.05) 0%, rgba(52, 168, 83, 0.05) 100%);
}

.social-btn-compact.facebook-btn:hover,
.social-btn-full.facebook-btn:hover {
    border-color: #1877F2;
    background: rgba(24, 119, 242, 0.05);
}

.social-btn-compact.apple-btn:hover,
.social-btn-full.apple-btn:hover {
    border-color: #000000;
    background: rgba(0, 0, 0, 0.05);
}

@media (prefers-color-scheme: dark) {
    .social-btn-compact.apple-btn:hover,
    .social-btn-full.apple-btn:hover {
        border-color: #FFFFFF;
        background: rgba(255, 255, 255, 0.05);
    }
}

/* ══════════════════════════════════════════════════════════════════════════
   FIN - VERSION OPTIMISÉE ENS-NDJ
   Total : ~100 icônes | Doublons supprimés : ~30 | Nouvelles : 3
   ══════════════════════════════════════════════════════════════════════════ */