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


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

/* BASE FONTAWESOME - CLASSES OBLIGATOIRES */

.fa,
.fas,
.far,
.fal,
.fad,
.fab {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.fab {
  font-family: 'Font Awesome 6 Brands';
  font-weight: 400;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.fas {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* RESPONSIVE - MOBILE */
@media (max-width: 768px) {
  /* Hero icons plus petites sur mobile */
  .floating-card .fas {
    font-size: 1.1rem;
  }
  
  /* Section headers plus petites */
  .section-header .fas,
  .section-header .fab {
    font-size: 1.5rem;
  }
  
  /* CTA icons plus petites */
  .cta-section .fas,
  .cta-section .fab {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  /* Encore plus petit pour très petits écrans */
  .floating-card .fas {
    font-size: 1rem;
  }
  
  .section-header .fas,
  .section-header .fab {
    font-size: 1.25rem;
  }
  
  .cta-section .fas,
  .cta-section .fab {
    font-size: 1.5rem;
  }
}

/* Icônes avec backdrop-filter */
.backdrop-blur-sm .fas,
.backdrop-blur-sm .fab {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

/* Hover sur les cartes modernes */
.modern-card:hover .fas {
  transform: scale(1.05);
  transition: transform 0.3s ease;
}
@keyframes iconPulse {
  0%, 100% { 
    transform: scale(1);
    opacity: 1;
  }
  50% { 
    transform: scale(1.05);
    opacity: 0.9;
  }
}

/* Icônes manquantes pour le formulaire de contact */
.fa-folder:before{ content:"\f07b"}
.fa-times:before { content: "\f00d"; }
.fa-comment-alt:before { content: "\f27a"; }
.fa-tag:before { content: "\f02b"; }
.fa-video:before { content: "\f03d"; }
.fa-paper-plane:before { content: "\f1d8"; }
.fa-arrow-left:before { content: "\f060"; }
.fa-clipboard-check:before { content: "\f46c"; }
.fa-edit:before { content: "\f044"; }
.fa-plus:before { content: "\f067"; }
.fa-list-ul:before { content: "\f0ca"; }
.fa-spinner:before { content: "\f110"; }
.fa-map-marked-alt:before { content: "\f5a0"; }
.fa-gift:before { content: "\f06b"; }
.fa-bolt:before { content: "\f0e7"; }
.fa-video:before { content: "\f03d"; }
.fa-tools:before { content: "\f7d9"; }
.fa-bullseye:before { content: "\f140"; }
.fa-sync-alt:before { content: "\f2f1"; }
.fa-users:before { content: "\f0c0"; }
.fa-user:before { content: "\f007"; }
.fa-exchange-alt:before { content: "\f362"; }
.fa-briefcase:before { content: "\f0b1"; }
/* Icônes solides (fas) - 48 icônes */
.fa-arrow-down:before { content: "\f063"; }
.fa-handshake:before { content: "\f2b5"; }
.fa-rocket:before { content: "\f135"; }
.fa-calendar-alt:before { content: "\f073"; }
.fa-info-circle:before { content: "\f05a"; }
.fa-calculator:before { content: "\f1ec"; }
.fa-star:before { content: "\f005"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-car:before { content: "\f1b9"; }
.fa-file-contract:before { content: "\f56c"; }
.fa-phone:before { content: "\f095"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-map-marker-alt:before { content: "\f3c5"; }
.fa-comments:before { content: "\f086"; }
.fa-shield-alt:before { content: "\f3ed"; }
.fa-user-check:before { content: "\f4fc"; }
.fa-check:before { content: "\f00c"; }
.fa-cogs:before { content: "\f085"; }
.fa-leaf:before { content: "\f06c"; }
.fa-crown:before { content: "\f521"; }
.fa-layer-group:before { content: "\f5fd"; }
.fa-building:before { content: "\f1ad"; }
.fa-chevron-down:before { content: "\f078"; }
.fa-chart-line:before { content: "\f201"; }
.fa-chart-pie:before { content: "\f200"; }
.fa-euro-sign:before { content: "\f153"; }
.fa-exclamation-triangle:before { content: "\f071"; }
.fa-chart-line-down:before { content: "\f64c"; }
.fa-clock:before { content: "\f017"; }
.fa-money-bill-wave:before { content: "\f53a"; }
.fa-user-tie:before { content: "\f508"; }
.fa-search-dollar:before { content: "\f688"; }
.fa-check-circle:before { content: "\f058"; }
.fa-book:before { content: "\f02d"; }
.fa-calendar-check:before { content: "\f274"; }
.fa-university:before { content: "\f19c"; }
.fa-newspaper:before { content: "\f1ea"; }
.fa-headset:before { content: "\f590"; }
.fa-lightbulb:before { content: "\f0eb"; }
.fa-award:before { content: "\f559"; }
.fa-boxes:before { content: "\????"; }
.fa-dizzy:before { content: "\????"; }
.fa-eye:before { content: "\????"; }
.fa-fire:before { content: "\????"; }
.fa-play:before { content: "\f04b"; }
.fa-robot:before { content: "\????"; }
.fa-store:before { content: "\????"; }
.fa-tachometer-alt:before { content: "\????"; }

/* Icônes de marques (fab) - 2 icônes */
.fa-facebook-f:before { content: "\f39e"; }
.fa-linkedin-in:before { content: "\f0e1"; }

.fa-boxes:before { content: "\f468"; }
.fa-dizzy:before { content: "\f567"; }
.fa-eye:before { content: "\f06e"; }
.fa-fire:before { content: "\f06d"; }
.fa-play:before { content: "\f04b"; }
.fa-robot:before { content: "\f544"; }
.fa-store:before { content: "\f54e"; }
.fa-tachometer-alt:before { content: "\f3f4"; }

.fa-linkedin-in:before { content: "\f0e1"; }
/* NOUVELLES ICÔNES MARQUES COMPLÉTÉES */
.fa-amazon:before { content: "\f270"; }
.fa-shopify:before { content: "\e057"; }

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

.fa-truck::before {  content: "\f0d1";}
.fa-balance-scale::before {  content: "\f24e";}
.fa-credit-card::before {  content: "\f09d";}
.fa-bullhorn::before {  content: "\f0a1";}
.fa-globe-americas::before {  content: "\f57d";}
.fa-truck-fast::before {  content: "\f48b";}
.fa-percentage::before {  content: "\f295";}
.fa-chart-line::before {  content: "\f201";}
.fa-building::before {  content: "\f1ad";}
.fa-handshake::before {  content: "\f2b5";}
.fa-coins::before {  content: "\f51e";}
.fa-rocket::before {  content: "\f135";}
.fa-exclamation-triangle::before {  content: "\f071";}
.fa-exclamation-circle::before {  content: "\f06a";}
.fa-building-user::before {  content: "\f4fe";}
.fa-user-tie::before {  content: "\f508";}
.fa-receipt::before {  content: "\f543";}
.fa-shield-virus::before {  content: "\f96c";}
.fa-gavel::before {  content: "\f0e3";}
.fa-calculator::before {  content: "\f1ec";}
.fa-calendar-check::before {  content: "\f274";}
.fa-amazon { color: #2c5e97; }
.fa-shopify { color: #476180; }
.fa-fire { color: #a6b9cf; }
/* ICÔNES PRINCIPALES */
.fa-calendar::before {  content: "\f133";}
.fa-play::before {  content: "\f04b";}

.fa-shield-alt::before {  content: "\f3ed";}
.fa-clock::before {  content: "\f017";}
.fa-check::before {  content: "\f00c";}
.fa-rocket::before {  content: "\f135";}
.fa-graduation-cap::before {  content: "\f19d";}
.fa-search::before {  content: "\f002";}
.fa-cogs::before {  content: "\f085";}
.fa-file-alt::before {  content: "\f15c";}
.fa-trophy::before {  content: "\f091";}
.fa-copyright::before {  content: "\f1f9";}
.fa-exclamation-triangle::before {  content: "\f071";}
.fa-coins::before {  content: "\f51e";}
.fa-calendar-check::before {  content: "\f274";}
.fa-phone::before {  content: "\f095";}
.fa-youtube::before {  content: "\f167";}

.fa-seedling::before {  content: "\f4d8";}
.fa-flask::before {  content: "\f0c3";}
.fa-rocket::before {  content: "\f135";}
.fa-check-circle::before {  content: "\f058";}
.fa-search::before {  content: "\f002";}
.fa-calculator::before {  content: "\f1ec";}
.fa-file-alt::before {  content: "\f15c";}
.fa-shield-alt::before {  content: "\f3ed";}
.fa-crown::before {  content: "\f521";}
.fa-envelope::before {  content: "\f0e0";}


/* ===== TAILLES D'ICÔNES PERSONNALISÉES ===== */

.fa-xs {
  font-size: 0.75em;
}

.fa-sm {
  font-size: 0.875em;
}

.fa-lg {
  font-size: 1.25em;
  line-height: 0.05em;
  vertical-align: -0.075em;
}

.fa-xl {
  font-size: 1.5em;
  line-height: 0.04167em;
  vertical-align: -0.125em;
}

.fa-2xl {
  font-size: 2em;
  line-height: 0.03125em;
  vertical-align: -0.1875em;
}

/* ===== ANIMATIONS ICÔNES ===== */

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

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

.fa-pulse {
  animation: fa-spin 1s infinite steps(8);
}


/* ===== ROTATIONS ICÔNES ===== */

.fa-rotate-90 {
  transform: rotate(90deg);
}

.fa-rotate-180 {
  transform: rotate(180deg);
}

.fa-rotate-270 {
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  transform: scaleX(-1);
}

.fa-flip-vertical {
  transform: scaleY(-1);
}

/* CENTRAGE PARFAIT DES ICÔNES */
.flex.items-center.justify-center .fas {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* CORRECTION ALIGNEMENT VERTICAL */
.inline-flex .fas {
  vertical-align: middle;
  margin-top: -2px;
}


/* Animation pour les cartes flottantes du hero */
.floating-card {
  animation: float 6s ease-in-out infinite;
}

.floating-card .fas {
  animation: iconPulse 4s ease-in-out infinite;
}
/* Hero section */
.hero .fas {
  font-size: 1.3rem;
}

.hero-visual .fas {
  font-size: 1.3rem;
  flex-shrink: 0;
}
/* ===== STYLES PERSONNALISÉS POUR VOS ICÔNES ===== */

/* Conteneurs d'icônes carrés avec fond coloré */
.icon-container {
  width: 3rem;
  height: 3rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  transition: all 0.3s ease;
}

.icon-container:hover {
  transform: scale(1.1);
}

/* Icônes avec cercle de fond */
.icon-circle {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}


/* ===== ICÔNES AVEC EFFET HOVER ===== */

.icon-hover-effect {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.icon-hover-effect:hover {
  transform: scale(1.15) rotate(5deg);
}

/* ===== ICÔNES AVEC OMBRE ===== */

.icon-shadow {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.icon-shadow-lg {
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));
}

/* ===== RESPONSIVE - TAILLES MOBILES ===== */

@media (max-width: 640px) {
  .icon-container {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1rem;
  }
  
  .icon-circle {
    width: 3rem;
    height: 3rem;
    font-size: 1.25rem;
  }
}

/* Animations */
.animate-bounce {
  animation: bounce 1s infinite;
}

.icon-bounce {
  animation: iconBounce 2s ease-in-out infinite;
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

@keyframes iconBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* Transitions */
.group-hover\:scale-110 {
  transition: transform 0.3s ease;
}

.group:hover .group-hover\:scale-110 {
  transform: scale(1.1);
}

.transition-transform {
  transition: transform 0.3s ease;
}

.duration-300 {
  transition-duration: 300ms;
}
/* ICÔNES PRINCIPALES */


