/* AIStrikeMap — Responsive: mobile + small-phone breakpoints
 * Split from main.css. See css/README.md for module map.
 */

@media (max-width: 768px) {
  .map-legend {
    bottom: 35px;
    left: 0.5rem;
    font-size: 0.7rem;
  }
  .map-legend__body {
    padding: 0.5rem 0.6rem;
  }
}
/* Mobile */
@media (max-width: 768px) {
  .nav-toggle {
    display: block;
  }

  .site-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--bg-surface);
    flex-direction: column;
    padding: 0.5rem 1rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .site-nav.open {
    display: flex;
  }

  .incident-counter {
    top: 0.5rem;
    right: 0.5rem;
    font-size: 0.65rem;
  }

  .filter-panel {
    width: 220px;
    top: 0.5rem;
    left: 0.5rem;
    max-height: calc(100vh - 7rem);
  }

  .detail-panel {
    width: 100%;
    height: 55%;
    top: auto;
    bottom: 0;
    transform: translateY(100%);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.4);
    border-radius: var(--radius) var(--radius) 0 0;
  }

  .detail-panel.open {
    transform: translateY(0);
  }

  .site-footer {
    flex-direction: column;
    gap: 0.25rem;
    text-align: center;
    padding: 0.5rem;
  }

  .page-content table {
    font-size: 0.8rem;
  }

  .page-content th,
  .page-content td {
    padding: 0.4rem 0.5rem;
  }
}
/* Small phones */
@media (max-width: 480px) {
  .site-header {
    padding: 0.4rem 0.6rem;
  }

  .site-header__logo {
    font-size: 0.95rem;
  }

  .filter-panel {
    width: calc(100vw - 1rem);
    left: 0.5rem;
    right: 0.5rem;
    max-height: 50vh;
    font-size: 0.85rem;
  }

  .detail-panel {
    height: 65%;
  }

  .detail-panel__header {
    padding: 0.75rem;
  }

  .detail-panel__body {
    padding: 0.75rem;
  }

  .detail-panel__title {
    font-size: 0.95rem;
  }

  .page-content {
    padding: 0 0.75rem;
  }

  .page-content h1 {
    font-size: 1.3rem;
  }
}