/* Limit compositing and keep vertical scrolling native on phones. */
@media (hover: none), (pointer: coarse), (max-width: 920px), (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; overscroll-behavior-y: none; }
  body { overscroll-behavior-y: none; }
  .gyro-permission { display: none !important; }
  .academia-reveal, .local-block-card { opacity: 1 !important; transform: none !important; }
  .product-slide { filter: none !important; transition: opacity 180ms ease; }
  .product-visual, .product-visual img, .product-ring,
  .auto-3d, [data-tilt-card], .galeria-item { animation: none !important; will-change: auto !important; transform-style: flat !important; }
  .auto-3d::before, .auto-3d::after { display: none !important; }
  .product-visual img { filter: none !important; }
  .local-block-card, .contact-panel, .academia-media, .academia-badge,
  .header, .tubelight-navbar { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  .inicio-video { background: #121212; }
}

/* Vertical gestures stay native; menu snapping is horizontal only. */
@media (pointer: coarse), (max-width: 920px) {
  html, body { scroll-snap-type: none !important; scroll-behavior: auto !important; }
  main, section { scroll-snap-align: none !important; scroll-snap-stop: normal !important; }
}
/* Do not let an unscrollable body consume gestures before they reach the page. */
@media (pointer: coarse), (max-width: 920px) {
  html { overflow-y: auto; }
  body { overflow-x: clip; overflow-y: visible; overscroll-behavior-y: auto; }
  body.gallery-modal-open { overflow: hidden; }
}
