/**
 * FontAwesome optimisé pour Lycée Jean Nicoli
 * Subset personnalisé avec uniquement les icônes utilisées
 * Poids : ~8KB au lieu de 102KB
 */

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

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

.fas,
.fa-solid {
  font-weight: 900;
  font-family: 'Font Awesome 6 Free', sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fab,
.fa-brands {
  font-weight: 400;
  font-family: 'Font Awesome 6 Brands', sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

/* Icônes utilisées sur le site principal */
.fa-shopping-cart::before {
  content: "\f07a";
}

.fa-truck::before {
  content: "\f0d1";
}

.fa-clipboard-list::before {
  content: "\f46d";
}

.fa-shield-alt::before {
  content: "\f3ed";
}

.fa-graduation-cap::before {
  content: "\f19d";
}

.fa-envelope::before {
  content: "\f0e0";
}

/* Icônes Brands (réseaux sociaux) */
.fa-facebook-f::before {
  content: "\f39e";
}

.fa-instagram::before {
  content: "\f16d";
}

.fa-linkedin-in::before {
  content: "\f0e1";
}

/* Icônes communes (header, footer, navigation) */
.fa-home::before {
  content: "\f015";
}

.fa-school::before {
  content: "\f549";
}

.fa-handshake::before {
  content: "\f2b5";
}

.fa-info-circle::before {
  content: "\f05a";
}

.fa-balance-scale::before {
  content: "\f24e";
}

.fa-file-alt::before {
  content: "\f15c";
}

.fa-check-circle::before {
  content: "\f058";
}

.fa-exclamation-circle::before {
  content: "\f06a";
}

.fa-map-marked-alt::before {
  content: "\f5a0";
}

.fa-question-circle::before {
  content: "\f059";
}

.fa-concierge-bell::before {
  content: "\f562";
}

.fa-images::before {
  content: "\f302";
}

.fa-save::before {
  content: "\f0c7";
}

.fa-plus::before {
  content: "\f067";
}

.fa-search::before {
  content: "\f002";
}

.fa-star::before {
  content: "\f005";
}

.fa-chevron-down::before {
  content: "\f078";
}

.fa-chevron-left::before {
  content: "\f053";
}

.fa-chevron-right::before {
  content: "\f054";
}

.fa-chevron-up::before {
  content: "\f077";
}

.fa-edit::before {
  content: "\f044";
}

.fa-trash::before {
  content: "\f1f8";
}

.fa-times::before {
  content: "\f00d";
}

.fa-check::before {
  content: "\f00c";
}

.fa-spinner::before {
  content: "\f110";
}

.fa-th-large::before {
  content: "\f009";
}

.fa-tags::before {
  content: "\f02c";
}

.fa-chart-bar::before {
  content: "\f080";
}

.fa-inbox::before {
  content: "\f01c";
}

.fa-compress-arrows-alt::before {
  content: "\f78d";
}

.fa-expand-arrows-alt::before {
  content: "\f31e";
}

.fa-play::before {
  content: "\f04b";
}

.fa-rotate-left::before {
  content: "\f0e2";
}

/* Icônes pour les formulaires et interactions */
.fa-user::before {
  content: "\f007";
}

.fa-users::before {
  content: "\f0c0";
}

.fa-building::before {
  content: "\f1ad";
}

.fa-phone::before {
  content: "\f095";
}

.fa-briefcase::before {
  content: "\f0b1";
}

.fa-map-marker-alt::before {
  content: "\f3c5";
}

.fa-map-pin::before {
  content: "\f276";
}

.fa-city::before {
  content: "\f64f";
}

.fa-user-tie::before {
  content: "\f508";
}

.fa-user-graduate::before {
  content: "\f501";
}

.fa-calendar-alt::before {
  content: "\f073";
}

.fa-clock::before {
  content: "\f017";
}

.fa-link::before {
  content: "\f0c1";
}

.fa-file-signature::before {
  content: "\f573";
}

.fa-copy::before {
  content: "\f0c5";
}

.fa-arrow-left::before {
  content: "\f060";
}

.fa-paper-plane::before {
  content: "\f1d8";
}

.fa-tachometer-alt::before {
  content: "\f3fd";
}

.fa-chart-line::before {
  content: "\f201";
}

.fa-redo::before {
  content: "\f01e";
}

.fa-cogs::before {
  content: "\f085";
}

.fa-file-invoice::before {
  content: "\f570";
}

.fa-eye::before {
  content: "\f06e";
}

.fa-calendar-check::before {
  content: "\f6d7";
}

.fa-calendar-times::before {
  content: "\f273";
}

.fa-birthday-cake::before {
  content: "\f1fd";
}

.fa-wheelchair::before {
  content: "\f193";
}

.fa-upload::before {
  content: "\f093";
}

.fa-undo-alt::before {
  content: "\f2ea";
}


/* Icônes manquantes (audit public) */
.fa-arrow-right::before {
  content: "\f061";
}

.fa-arrow-right-to-bracket::before {
  content: "\f090";
}

.fa-arrow-up::before {
  content: "\f062";
}

.fa-bed::before {
  content: "\f236";
}

.fa-book::before {
  content: "\f02d";
}

.fa-book-open::before {
  content: "\f518";
}

.fa-bullseye::before {
  content: "\f140";
}

.fa-calendar::before {
  content: "\f133";
}

.fa-certificate::before {
  content: "\f0a3";
}

.fa-chalkboard-teacher::before {
  content: "\f51c";
}

.fa-check-double::before {
  content: "\f560";
}

.fa-circle::before {
  content: "\f111";
}

.fa-circle-info::before {
  content: "\f05a";
}

.fa-clipboard-check::before {
  content: "\f46c";
}

.fa-cog::before {
  content: "\f013";
}

.fa-compress::before {
  content: "\f066";
}

.fa-cookie::before {
  content: "\f563";
}

.fa-cookie-bite::before {
  content: "\f564";
}

.fa-copyright::before {
  content: "\f1f9";
}

.fa-database::before {
  content: "\f1c0";
}

.fa-dolly::before {
  content: "\f472";
}

.fa-download::before {
  content: "\f019";
}

.fa-exclamation-triangle::before {
  content: "\f071";
}

.fa-expand::before {
  content: "\f065";
}

.fa-external-link-alt::before {
  content: "\f35d";
}

.fa-eye-slash::before {
  content: "\f070";
}

.fa-folder-open::before {
  content: "\f07c";
}

.fa-gavel::before {
  content: "\f0e3";
}

.fa-globe::before {
  content: "\f0ac";
}

.fa-globe-europe::before {
  content: "\f7a2";
}

.fa-grip-vertical::before {
  content: "\f58e";
}

.fa-hand-pointer::before {
  content: "\f25a";
}

.fa-hands-helping::before {
  content: "\f4c4";
}

.fa-heartbeat::before {
  content: "\f21e";
}

.fa-landmark::before {
  content: "\f66f";
}

.fa-layer-group::before {
  content: "\f5fd";
}

.fa-life-ring::before {
  content: "\f1cd";
}

.fa-list::before {
  content: "\f03a";
}

.fa-list-check::before {
  content: "\f0ae";
}

.fa-list-ol::before {
  content: "\f0cb";
}

.fa-location-dot::before {
  content: "\f3c5";
}

.fa-lock::before {
  content: "\f023";
}

.fa-newspaper::before {
  content: "\f1ea";
}

.fa-paperclip::before {
  content: "\f0c6";
}

.fa-pause-circle::before {
  content: "\f28b";
}

.fa-server::before {
  content: "\f233";
}

.fa-share-alt::before {
  content: "\f1e0";
}

.fa-sitemap::before {
  content: "\f0e8";
}

.fa-store::before {
  content: "\f54e";
}

.fa-sync-alt::before {
  content: "\f2f1";
}

.fa-tag::before {
  content: "\f02b";
}

.fa-tasks::before {
  content: "\f0ae";
}

.fa-th::before {
  content: "\f00a";
}

.fa-university::before {
  content: "\f19c";
}

.fa-user-check::before {
  content: "\f4fc";
}

.fa-user-shield::before {
  content: "\f505";
}

.fa-utensils::before {
  content: "\f2e7";
}

.fa-whatsapp::before {
  content: "\f232";
}

.fa-church::before {
  content: "\f51d";
}

.fa-flag::before {
  content: "\f024";
}

.fa-medal::before {
  content: "\f5a2";
}

.fa-user-circle::before {
  content: "\f2bd";
}

.fa-users-cog::before,
.fa-users-gear::before {
  content: "\f509";
}

.fa-image::before {
  content: "\f03e";
}

.fa-address-card::before,
.fa-id-card::before {
  content: "\f2c2";
}

.fa-bus::before {
  content: "\f207";
}

.fa-circle-question::before {
  content: "\f059";
}

.fa-file::before {
  content: "\f15b";
}

.fa-file-archive::before,
.fa-file-zipper::before {
  content: "\f1c6";
}

.fa-file-excel::before {
  content: "\f1c3";
}

.fa-file-image::before {
  content: "\f1c5";
}

.fa-file-lines::before,
.fa-file-text::before {
  content: "\f15c";
}

.fa-file-pdf::before {
  content: "\f1c1";
}

.fa-file-powerpoint::before {
  content: "\f1c4";
}

.fa-file-word::before {
  content: "\f1c2";
}

.fa-laptop::before {
  content: "\f109";
}

.fa-parking::before,
.fa-square-parking::before {
  content: "\f540";
}

.fa-phone-volume::before,
.fa-volume-control-phone::before {
  content: "\f2a0";
}

.fa-rocket::before {
  content: "\f135";
}

.fa-route::before {
  content: "\f4d7";
}

.fa-user-clock::before {
  content: "\f4fd";
}

.fa-heart::before {
  content: "\f004";
}

.fa-train::before {
  content: "\f238";
}

.fa-ship::before {
  content: "\f21a";
}

/* Utilitaires */
.fa-spin {
  animation: fa-spin 2s infinite linear;
}

@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* Espacement standard pour les icônes */
.fas {
  margin-right: 0.5em;
}

.fas:last-child {
  margin-right: 0;
}