/*--------------------------------------------------------------
# Mobile Performance Optimizations
# Chargé avant main.css — styles critiques uniquement
# Nettoyé : suppression des règles inutilisées, cassées, redondantes
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# 1. IMAGES — optimisation globale (tous écrans)
--------------------------------------------------------------*/
img {
  max-width: 100%;
  height: auto;
  /* Supprimé : will-change: contents — consomme de la mémoire GPU inutilement */
}

/*--------------------------------------------------------------
# 2. PERFORMANCE — sections hors écran (tous écrans)
# Réduit le travail de rendu initial du navigateur
--------------------------------------------------------------*/
#services-2,
#testimonials,
#contact,
footer {
  content-visibility: auto;
  contain-intrinsic-size: 0 500px;
}

/*--------------------------------------------------------------
# 3. REDUCED MOTION — accessibilité (tous écrans)
# Exclut .nav-link et .tab-pane pour ne pas casser Bootstrap tabs
--------------------------------------------------------------*/
@media (prefers-reduced-motion: reduce) {
  *:not(.tab-pane):not(.nav-link):not(.nav-tabs) {
    animation: none !important;
    transition: none !important;
  }
}

/*--------------------------------------------------------------
# 4. MOBILE — styles spécifiques ≤768px
--------------------------------------------------------------*/
@media (max-width: 768px) {

  /* --- Espacement conteneurs --- */
  .container,
  .container-fluid {
    padding-left: 10px;
    padding-right: 10px;
  }

  /* --- Typographie --- */
  body {
    font-size: 14px;
  }

  h1 {
    font-size: 24px;
  }

  h2 {
    font-size: 20px;
  }

  h3 {
    font-size: 16px;
  }

  /* --- Boutons touch-friendly (min 44px recommandé Apple/Google) --- */
  .btn,
  .btn-get-started {
    min-height: 44px;
    min-width: 44px;
  }

  /* --- Éléments décoratifs masqués sur mobile --- */
  /* testimonials-bg : image de fond lourde non critique */
  /* scroll-top : bouton remonter inutile sur mobile */
  .testimonials-bg,
  .scroll-top {
    display: none !important;
  }

  /* --- Tabs : 2 par ligne sur mobile, 4 sur desktop (col-6 col-md-3) ---
     Fix du débordement texte "Hybrides et électriques" en col-3 fixe */
  .features .nav-link {
    padding: 10px 8px;
  }

  .features .nav-link h4 {
    font-size: 12px;
    text-align: center;
    line-height: 1.3;
  }

  /* --- AOS : désactiver animations au scroll sur mobile ---
     Remplace la règle globale transition: 0.01ms qui cassait Bootstrap tabs */
  [data-aos] {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  /* --- Préchargeur : ciblé par ID (pas .preloader qui n'existe pas) --- */
  #preloader {
    display: none !important;
  }

  /* --- Icônes BS : taille réduite pour mobile --- */
  .bs-item-icon-container svg {
    width: 48px !important;
    height: 48px !important;
  }

}

/*--------------------------------------------------------------
# SUPPRIMÉ — règles retirées et raisons
--------------------------------------------------------------*/

/*
  ✗ * { transition-duration: 0.01ms !important }
      → Cassait Bootstrap tabs (affichage .tab-pane dépend des transitions)

  ✗ * { animation-duration: 0.01ms !important }
      → Cassait AOS : éléments restaient invisibles (opacity:0 jamais résolu)

  ✗ .preloader { display: none }
      → Sélecteur de classe inexistant, l'ID est #preloader

  ✗ .card, .shadow, .box-shadow { box-shadow: none }
      → Aucun élément HTML n'utilise ces classes dans ce projet

  ✗ img { will-change: contents }
      → Crée un contexte de composition GPU sur chaque image = surcharge mémoire

  ✗ @font-face { font-family: 'Roboto'; font-display: swap }
      → Roboto est chargé via Google Fonts CDN (externe), pas en local.
        Cette déclaration est ignorée par le navigateur.
*/