/* =====================================================================
   16. Sin selección de texto ni resaltado azul en elementos interactivos
   ===================================================================== */
/* Todos los elementos interactivos (botones, enlaces, checkboxes,
   radios, campos con acción, el menú, el carrito) no muestran el
   "flash" azul/gris que el navegador dibuja al tocar en celular, y no
   quedan seleccionables por accidente con toques rápidos. El texto de
   productos, descripciones y párrafos NO se toca, así los clientes
   pueden seguir copiando precios, direcciones y datos normalmente. */
a,
button,
input[type="button"],
input[type="submit"],
input[type="checkbox"],
input[type="radio"],
select,
.wp-block-button__link,
.button,
.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.dx-btn,
.dx-cat b,
.dx-qty-btn,
.dx-cart-drawer__close,
.dx-cart-drawer__remove,
.mobile-toggle-open-container .menu-toggle-open,
.mobile-toggle-open-container .menu-toggle-icon {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

/* =====================================================================
   17. Imágenes protegidas en celular
   ===================================================================== */
/* Evita el menú contextual "Guardar imagen" al mantener presionado en
   iOS/Android, el arrastre de la imagen fuera de la página, y que la
   imagen se seleccione junto con el texto de alrededor. No afecta la
   navegación normal (tocar para ver el producto, hacer zoom, etc.). */
img {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  user-drag: none;
}


/* =====================================================================
   18. Accesibilidad: "reducir movimiento", cobertura global
   ===================================================================== */
/* Antes, cada módulo (shop.css, layout.css, transitions.css) anulaba
   "prefers-reduced-motion" solo para SUS propias animaciones. Quedaban
   fuera el rebote del carrito al agregar un producto (.dx-cart-bump), el
   deslizamiento del panel del carrito (.dx-cart-drawer__panel) y el
   fundido de su overlay, y el zoom/flechas de la galería de producto:
   alguien con esta preferencia activada (mareos o molestia con el
   movimiento en pantalla) seguía viendo esas animaciones igual. Esta
   regla de barrido reduce CUALQUIER animación/transición del sitio a
   prácticamente nada, sin tener que mantener una lista aparte por cada
   módulo nuevo que se agregue más adelante. Los fundidos de página
   (transitions.css) y las reglas puntuales de layout.css/shop.css ya
   hacían lo mismo de forma más específica; esto no las reemplaza, las
   respalda para que nada quede sin cubrir. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
