/* Ajout automatique des animations aux boutons */
button:not(.icon-btn):not(.modal-close):not(.btn-logout),
.btn,
[class*="btn-"],
[data-add],
[data-action] {
  position: relative;
  overflow: hidden;
}

/* Hover glow sur tous les boutons principaux */
button:not(.icon-btn):not(.modal-close):hover,
.btn:hover,
[class*="btn-"]:not(.icon-btn):hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.25);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Cards produits */
.product-card {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

/* Cart items */
.cart-item {
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Modal backdrop */
.modal-backdrop {
  animation: fadeIn 0.3s ease-out;
}

.modal-backdrop .modal {
  animation: fadeInScale 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Toast */
.toast {
  animation: slideInUp 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Filtres */
.cat-item {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.cat-item:hover {
  transform: translateX(4px);
}

/* Badge animations */
.badge {
  animation: fadeIn 0.4s ease-out;
}

/* Loading skeleton pour les images */
img[loading="lazy"] {
  transition: opacity 0.3s ease;
}

/* Hero section fade in */
.hero {
  animation: fadeIn 0.6s ease-out;
}

/* Filters panel slide in */
.filters-panel {
  animation: slideInLeft 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Products grid stagger */
.products-grid {
  animation: fadeIn 0.4s ease-out;
}
