/* Mobile-specific optimizations for APRS.me */

/* Prevent iOS bounce scrolling on the map */
html, body {
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
}

/* Ensure map takes full height on mobile */
@media (max-width: 1023px) {
  #map {
    height: calc(100vh - 56px);
    height: calc(100dvh - 56px); /* Dynamic viewport height for mobile browsers */
    touch-action: pan-x pan-y;
  }

  /* Larger touch targets for mobile controls */
  .leaflet-control-zoom a,
  .leaflet-control-layers-toggle,
  .leaflet-control button {
    width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    font-size: 20px !important;
  }

  .leaflet-popup-content {
    max-width: 90vw;
    max-height: 50vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Mobile-friendly buttons */
  button {
    min-height: 44px;
  }

  /* Improve dropdown menus on mobile */
  select {
    font-size: 16px; /* Prevent zoom on iOS */
    padding: 12px;
    min-height: 44px;
  }

  /* Safe area insets for devices with notches */
  #map {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

/* Landscape mode optimizations */
@media (max-width: 1023px) and (orientation: landscape) {
  #map {
    height: calc(100vh - 40px);
    height: calc(100dvh - 40px);
  }

  .leaflet-control-zoom {
    transform: scale(0.9);
  }
}

/* High DPI screen optimizations */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .leaflet-tile {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}

/* Disable hover effects on touch devices */
@media (hover: none) {
  .leaflet-interactive:hover {
    stroke-opacity: 1;
    fill-opacity: 0.2;
  }
}

/* Improve form inputs on mobile - prevent zoom on iOS */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
  font-size: 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Better focus states for accessibility */
:focus {
  outline: 3px solid #6366f1;
  outline-offset: 2px;
}
