/* Premium Animations Module
 * Controlado por: PREMIUM_MODULES.animations.level
 * Levels: high, medium, low, off
 */

/* ==========================================================================
   Base Definitions
   ========================================================================== */
:root {
  --anim-speed-fast: 0.2s;
  --anim-speed-normal: 0.3s;
  --anim-speed-slow: 0.5s;
  --anim-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ==========================================================================
   Level: HIGH (Cards, Hover, Loading, Progress)
   ========================================================================== */
[data-anim-level="high"] .card {
  transition: transform var(--anim-speed-normal) var(--anim-ease), 
              box-shadow var(--anim-speed-normal) var(--anim-ease),
              opacity var(--anim-speed-normal) var(--anim-ease);
}

[data-anim-level="high"] .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.1);
}

[data-anim-level="high"] .btn, 
[data-anim-level="high"] button {
  transition: all var(--anim-speed-fast) var(--anim-ease);
}

[data-anim-level="high"] .btn:active, 
[data-anim-level="high"] button:active {
  transform: scale(0.95);
}

[data-anim-level="high"] .loading-spinner {
  animation: spin 1s linear infinite;
}

[data-anim-level="high"] .progress-bar {
  transition: width 1s ease-out;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ==========================================================================
   Level: MEDIUM (Cards + Buttons)
   ========================================================================== */
[data-anim-level="medium"] .card {
  transition: opacity var(--anim-speed-normal) var(--anim-ease);
}

[data-anim-level="medium"] .btn, 
[data-anim-level="medium"] button {
  transition: opacity var(--anim-speed-fast) var(--anim-ease), 
              background-color var(--anim-speed-fast) var(--anim-ease);
}

[data-anim-level="medium"] .btn:active, 
[data-anim-level="medium"] button:active {
  opacity: 0.8;
}

/* ==========================================================================
   Level: LOW (Basic Feedback)
   ========================================================================== */
[data-anim-level="low"] .btn:active, 
[data-anim-level="low"] button:active {
  opacity: 0.7;
}

/* ==========================================================================
   Level: OFF
   ========================================================================== */
[data-anim-level="off"] * {
  transition: none !important;
  animation: none !important;
}
