/* ======================================
   Asbestos Near Me - Responsive Styles
   ====================================== */

@media (max-width: 1199px) {
  .hero-panel {
    grid-template-columns: 1fr;
  }

  .map-container,
  #map {
    min-height: 560px;
  }

  .charts-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .nav-meta {
    margin-top: 0.6rem;
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-row .col-lg-4 {
    margin-top: 0.25rem;
  }

  .map-container,
  #map {
    min-height: 500px;
  }

  #legend {
    right: 0.6rem;
    bottom: 0.6rem;
  }
}

@media (max-width: 767px) {
  .container {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
  }

  .page-shell {
    padding-top: 0.9rem;
  }

  .hero-copy,
  .hero-facts,
  .status-banner,
  .info-panel,
  .filter-panel,
  .chart-container {
    border-radius: 14px;
  }

  .hero-copy,
  .hero-facts,
  .status-banner,
  .info-panel,
  .filter-panel,
  .chart-container {
    padding: 0.95rem;
  }

  .hero-copy h1 {
    font-size: 1.45rem;
  }

  .map-container,
  #map {
    min-height: 420px;
  }

  .location-list {
    grid-template-columns: 1fr;
    gap: 0.7rem;
    max-height: none;
    overflow: visible;
  }

  .location-card {
    grid-template-rows: auto auto auto auto;
  }

  .location-card-header,
  .location-card-body,
  .location-card-dates,
  .location-card-footer {
    height: auto;
  }

  .location-card-dates {
    min-height: 0;
  }

  .chart-canvas-wrapper {
    height: 280px;
  }

  .chart-canvas-wrapper.large {
    height: 320px;
  }

  .chart-subtitle {
    display: none;
  }

  #legend {
    left: 0.5rem;
    right: 0.5rem;
    min-width: 0;
  }
}

@media (max-width: 479px) {
  .filter-panel .d-flex.gap-2.align-items-center.flex-wrap {
    width: 100%;
  }

  #sort-options {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
