/* ============================= */
/* OPTIMISATIONS DE PERFORMANCE */
/* ============================= */

/* Force GPU acceleration pour les éléments animés */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Optimisation du rendu */
body {
  contain: layout style paint;
  transform: translateZ(0);
  will-change: scroll-position;
}

/* Désactiver les animations coûteuses sur mobile */
@media (max-width: 768px) {
  .particles-background,
  .cursor-light {
    display: none !important;
  }
  
  .magnetic {
    transition: none !important;
  }
  
  .parallax-3d {
    transform: none !important;
  }
  
  /* Réduire les effets de blur */
  * {
    filter: none !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }
}

/* Optimisation pour les appareils à faible performance */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  
  .particles-background,
  .cursor-light {
    display: none !important;
  }
}

/* Réduire la complexité des animations sur petits écrans */
@media (max-width: 480px) {
  .glassmorphism-menu::before,
  .glassmorphism-menu::after {
    display: none;
  }
  
  #fullscreen-menu .category {
    font-size: 1.5rem !important;
  }
}

/* Lazy loading des images */
img {
  content-visibility: auto;
  contain-intrinsic-size: 1px 1000px;
}

/* Optimisation des transitions */
[class*="animate"],
[class*="transition"],
[class*="hover"] {
  will-change: transform, opacity;
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Réduction des repaints */
.fixed-element,
.sticky-element {
  contain: layout style paint;
}

/* Optimisation du scroll */
.scroll-container {
  contain: layout style paint;
  transform: translateZ(0);
}

/* Debounce des animations coûteuses */
.expensive-animation {
  will-change: transform;
}

/* Désactiver will-change après animation */
.animation-complete {
  will-change: auto;
}

/* Optimisation des filtres */
.backdrop-filter-element {
  transform: translateZ(0);
  will-change: filter;
}

/* Réduction des animations pour les appareils lents */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Optimisation pour les écrans haute densité */
@media (-webkit-min-device-pixel-ratio: 2),
       (min-resolution: 192dpi) {
  img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}

/* Optimisation du layout */
.container {
  contain: layout;
}

/* Réduction des reflows */
.text-content {
  contain: layout style;
}

/* Optimisation des vidéos */
video {
  contain: layout style paint;
  object-fit: cover;
}

/* Cache des transformations */
.transform-cache {
  transform: translateZ(0);
  will-change: transform;
}

