/* Mobile-only performance — smoother scrolling, fewer GPU-heavy effects (desktop unchanged) */
@media (max-width: 768px) {
  html {
    scroll-behavior: auto;
  }

  body {
    background-attachment: scroll !important;
  }

  /* Stop infinite / decorative animations */
  .mesh-bg,
  body::before,
  body::after,
  .orb,
  .orb-1,
  .orb-2,
  .orb-3,
  .sparkle,
  .search-glow,
  .shimmer,
  .floater,
  .doodle,
  .marquee-track,
  .animate-marquee,
  .gradient-text,
  .gradient-text-animated,
  .glass-shimmer,
  .doodle-path,
  .dash-hero-cube,
  .auth-character,
  .auth-character *,
  [class*="animate-float"],
  [class*="animate-wiggle"],
  [class*="animate-bounce"],
  [class*="animate-pulse"],
  [class*="animate-emoji"],
  [class*="animate-plane"],
  [class*="animate-orb"],
  [class*="animate-spin"],
  [class*="animate-marquee"],
  [class*="animate-sparkle"],
  [class*="animate-pop"],
  [class*="animate-draw"],
  [class*="animate-fly"],
  [class*="animate-sway"],
  [class*="animate-slide-down"] {
    animation: none !important;
  }

  /* Hide heavy decorative layers */
  .orb,
  .orb-1,
  .orb-2,
  .orb-3,
  .sparkle-field,
  body::before,
  body::after,
  .search-glow,
  .mesh-bg > .blur-3xl,
  .mesh-bg > [class*="animate-orb"],
  .mesh-bg > [class*="animate-spin"] {
    display: none !important;
  }

  /* Static background instead of animated mesh */
  .mesh-bg {
    background-size: 100% 100% !important;
    background-position: 0% 50% !important;
  }

  /* Replace expensive backdrop-filter with solid surfaces */
  .glass,
  .glass-strong,
  .glass-subtle,
  .glass-brand,
  .glass-accent,
  .glass-dark,
  .dash-sidebar,
  .modal-backdrop,
  .auth-celebration,
  .btn-glass {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .glass {
    background: rgba(255, 255, 255, 0.92) !important;
  }

  .glass-strong {
    background: rgba(255, 255, 255, 0.96) !important;
  }

  .glass-subtle {
    background: rgba(255, 255, 255, 0.88) !important;
  }

  .glass-brand {
    background: rgba(255, 243, 239, 0.95) !important;
  }

  .glass-accent {
    background: rgba(243, 232, 255, 0.95) !important;
  }

  .glass-dark {
    background: rgba(15, 23, 42, 0.92) !important;
  }

  /* Shorter transitions site-wide on touch devices */
  *,
  *::before,
  *::after {
    transition-duration: 0.12s !important;
  }

  /* Scroll reveal — show content immediately */
  .reveal,
  .reveal-left,
  .reveal-right,
  .reveal-scale,
  .reveal.visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .stagger-children > * {
    opacity: 1 !important;
    animation: none !important;
  }

  /* Disable hover motion (not useful on touch) */
  .card-hover,
  .card-hover:hover,
  .card-hover:hover .card-img,
  .card-img,
  .btn-glass,
  .btn-glass:hover,
  .btn-outline:hover,
  .nav-link:hover,
  .logo:hover,
  .listing-card:hover,
  .action-card:hover,
  .stay-tile:hover,
  .dash-stat:hover,
  .dash-nav a:hover,
  .dash-nav button:hover,
  .city-btn:hover,
  .socials a:hover,
  .form-field input:focus,
  .form-field textarea:focus,
  .form-field select:focus,
  .search-form input:focus,
  .search-form select:focus {
    transform: none !important;
  }

  .btn-glass::after,
  .dash-nav a::after,
  .dash-nav button::after {
    display: none !important;
  }

  /* Dashboard entry animations */
  .dash-panel,
  .dash-stat,
  .listing-card,
  .action-card,
  .stay-tile,
  .city-memory-card,
  .memory-photo-card,
  .toast {
    animation: none !important;
  }

  /* Modals — instant open on mobile */
  .modal-backdrop.open .modal,
  .modal {
    transform: none !important;
  }

  .auth-celebration-card {
    animation: none !important;
  }

  /* Marquee — static wrap instead of infinite scroll */
  .animate-marquee,
  .marquee-track {
    flex-wrap: wrap;
    width: 100% !important;
    justify-content: center;
    gap: 0.75rem;
  }

  /* React scroll-reveal helpers */
  .transition-all {
    transition-duration: 0.15s !important;
  }
}
