/* Reduced Motion - Accesibilidad para usuarios con trastornos vestibulares */
/* WCAG 2.1 Criterio 2.3.3 Animaciones en interacciones */

@media (prefers-reduced-motion: reduce) {
  /* Desactivar todas las animaciones y transiciones */
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* Desactivar animaciones específicas de Bootstrap */
  .fade {
    transition: none !important;
  }
  
  .collapse {
    transition: none !important;
  }
  
  .modal.fade .modal-dialog {
    transition: none !important;
  }
  
  .carousel-item {
    transition: none !important;
  }

  /* Desactivar animaciones de hover */
  .btn:hover {
    transform: none !important;
    transition: none !important;
  }
  
  .card:hover {
    transform: none !important;
    transition: none !important;
  }

  /* Desactivar animaciones de scroll */
  html {
    scroll-behavior: auto !important;
  }

  /* Desactivar animaciones de entrada */
  [data-aos] {
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
  }

  /* Desactivar animaciones de loading */
  .spinner-border,
  .spinner-grow {
    animation: none !important;
  }

  /* Desactivar animaciones de pulso */
  .pulse {
    animation: none !important;
  }

  /* Desactivar animaciones de fade */
  .fade-in,
  .fade-out {
    opacity: 1 !important;
    transition: none !important;
  }

  /* Desactivar animaciones de slide */
  .slide-in,
  .slide-out {
    transform: none !important;
    transition: none !important;
  }

  /* Desactivar animaciones de zoom */
  .zoom-in,
  .zoom-out {
    transform: none !important;
    transition: none !important;
  }

  /* Desactivar animaciones de bounce */
  .bounce {
    animation: none !important;
  }

  /* Desactivar animaciones de shake */
  .shake {
    animation: none !important;
  }

  /* Desactivar animaciones de wobble */
  .wobble {
    animation: none !important;
  }

  /* Desactivar animaciones de flip */
  .flip {
    animation: none !important;
  }

  /* Desactivar animaciones de rotate */
  .rotate {
    animation: none !important;
  }

  /* Desactivar animaciones de scale */
  .scale {
    animation: none !important;
  }

  /* Desactivar animaciones de skew */
  .skew {
    animation: none !important;
  }

  /* Desactivar animaciones de translate */
  .translate {
    animation: none !important;
  }

  /* Desactivar animaciones de opacity */
  .opacity {
    animation: none !important;
  }

  /* Desactivar animaciones de visibility */
  .visibility {
    animation: none !important;
  }

  /* Desactivar animaciones de display */
  .display {
    animation: none !important;
  }

  /* Desactivar animaciones de position */
  .position {
    animation: none !important;
  }

  /* Desactivar animaciones de z-index */
  .z-index {
    animation: none !important;
  }

  /* Desactivar animaciones de overflow */
  .overflow {
    animation: none !important;
  }

  /* Desactivar animaciones de clip */
  .clip {
    animation: none !important;
  }

  /* Desactivar animaciones de clip-path */
  .clip-path {
    animation: none !important;
  }

  /* Desactivar animaciones de mask */
  .mask {
    animation: none !important;
  }

  /* Desactivar animaciones de filter */
  .filter {
    animation: none !important;
  }

  /* Desactivar animaciones de backdrop-filter */
  .backdrop-filter {
    animation: none !important;
  }

  /* Desactivar animaciones de transform */
  .transform {
    animation: none !important;
  }

  /* Desactivar animaciones de perspective */
  .perspective {
    animation: none !important;
  }

  /* Desactivar animaciones de transform-style */
  .transform-style {
    animation: none !important;
  }

  /* Desactivar animaciones de transform-origin */
  .transform-origin {
    animation: none !important;
  }

  /* Desactivar animaciones de transform-box */
  .transform-box {
    animation: none !important;
  }

  /* Desactivar animaciones de will-change */
  .will-change {
    animation: none !important;
  }

  /* Desactivar animaciones de contain */
  .contain {
    animation: none !important;
  }

  /* Desactivar animaciones de isolation */
  .isolation {
    animation: none !important;
  }

  /* Desactivar animaciones de mix-blend-mode */
  .mix-blend-mode {
    animation: none !important;
  }

  /* Desactivar animaciones de background-blend-mode */
  .background-blend-mode {
    animation: none !important;
  }

  /* Desactivar animaciones de object-fit */
  .object-fit {
    animation: none !important;
  }

  /* Desactivar animaciones de object-position */
  .object-position {
    animation: none !important;
  }

  /* Desactivar animaciones de resize */
  .resize {
    animation: none !important;
  }

  /* Desactivar animaciones de cursor */
  .cursor {
    animation: none !important;
  }

  /* Desactivar animaciones de user-select */
  .user-select {
    animation: none !important;
  }

  /* Desactivar animaciones de pointer-events */
  .pointer-events {
    animation: none !important;
  }

  /* Desactivar animaciones de touch-action */
  .touch-action {
    animation: none !important;
  }

  /* Desactivar animaciones de scroll-snap */
  .scroll-snap {
    animation: none !important;
  }

  /* Desactivar animaciones de scroll-snap-type */
  .scroll-snap-type {
    animation: none !important;
  }

  /* Desactivar animaciones de scroll-snap-align */
  .scroll-snap-align {
    animation: none !important;
  }

  /* Desactivar animaciones de scroll-snap-stop */
  .scroll-snap-stop {
    animation: none !important;
  }

  /* Desactivar animaciones de scroll-margin */
  .scroll-margin {
    animation: none !important;
  }

  /* Desactivar animaciones de scroll-padding */
  .scroll-padding {
    animation: none !important;
  }

  /* Desactivar animaciones de scroll-behavior */
  .scroll-behavior {
    animation: none !important;
  }

  /* Desactivar animaciones de overscroll-behavior */
  .overscroll-behavior {
    animation: none !important;
  }

  /* Desactivar animaciones de overscroll-behavior-x */
  .overscroll-behavior-x {
    animation: none !important;
  }

  /* Desactivar animaciones de overscroll-behavior-y */
  .overscroll-behavior-y {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-width */
  .scrollbar-width {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-color */
  .scrollbar-color {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-gutter */
  .scrollbar-gutter {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-track */
  .scrollbar-track {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-thumb */
  .scrollbar-thumb {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-corner */
  .scrollbar-corner {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-arrow */
  .scrollbar-arrow {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-button */
  .scrollbar-button {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-resizer */
  .scrollbar-resizer {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-gripper */
  .scrollbar-gripper {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-track-piece */
  .scrollbar-track-piece {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-thumb-piece */
  .scrollbar-thumb-piece {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-corner-piece */
  .scrollbar-corner-piece {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-arrow-piece */
  .scrollbar-arrow-piece {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-button-piece */
  .scrollbar-button-piece {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-resizer-piece */
  .scrollbar-resizer-piece {
    animation: none !important;
  }

  /* Desactivar animaciones de scrollbar-gripper-piece */
  .scrollbar-gripper-piece {
    animation: none !important;
  }
}
