/* Maps page specific styles - keep minimal and complementary to base.css */

.maps-hero { 
  position: relative; 
  padding: var(--space-56) 0 var(--space-40);
  background:
    radial-gradient(120% 120% at 80% 0%, rgba(0,229,255,0.12), transparent 60%),
    linear-gradient(180deg, rgba(255,159,26,0.08), rgba(0,0,0,0) 60%);
}
.maps-hero .badge { margin-bottom: var(--space-12); }
.maps-hero p { color: var(--color-text-muted); }
.hero-ctas { margin-top: var(--space-20); display: flex; gap: var(--space-12); flex-wrap: wrap; }

.section { padding: var(--space-40) 0; }

/* Filters */
.map-filters { margin-top: var(--space-16); margin-bottom: var(--space-20); }
.filters-row { display: flex; flex-wrap: wrap; gap: var(--space-12); align-items: center; }
.filters-types { display: flex; flex-wrap: wrap; gap: var(--space-8); }
.filter-btn.is-active { outline: 2px solid var(--color-primary); box-shadow: var(--shadow-glow-primary); }
.map-search { flex: 1 1 280px; min-width: 240px; }

/* Grid of map cards */
.map-grid { 
  display: grid; 
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
  gap: var(--space-16);
}
.map-card { display: flex; flex-direction: column; gap: var(--space-16); }
.map-thumb img { width: 100%; height: 180px; object-fit: cover; }
.map-card-body { display: grid; gap: var(--space-12); }
.map-card-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-12); }
.map-meta { display: flex; flex-wrap: wrap; gap: var(--space-12); color: var(--color-text-muted); font-size: var(--text-sm); }

/* Strategies */
.strategy-accordion { display: grid; gap: var(--space-16); }
.strategy summary { cursor: pointer; list-style: none; }
.strategy summary h3 { display: inline; }
.strategy[open] { border-color: rgba(0,229,255,0.25); }
.strategy ul { margin-top: var(--space-12); padding-left: 1.1rem; }
.strategy li { margin-bottom: var(--space-8); }

/* Gallery */
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-16); }
.gallery-item img { width: 100%; height: 220px; object-fit: cover; }
.gallery-item figcaption { padding: 10px; font-size: var(--text-sm); color: var(--color-text-muted); }

/* Updates */
.updates-list { display: grid; gap: var(--space-16); grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.update-item h3 { margin-bottom: var(--space-8); }

/* Hotspots */
.hotspot-grid { display: grid; gap: var(--space-16); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.hotspot ul { margin-top: var(--space-8); padding-left: 1.1rem; }

/* Compare */
.compare-panel { display: grid; gap: var(--space-16); }
.compare-form { display: grid; gap: var(--space-12); }
.compare-selects { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-12); }
#compare-results { display: grid; gap: var(--space-12); color: var(--color-text-muted); }
#compare-results .row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--space-12); align-items: start; }
#compare-results .row strong { color: var(--color-text); }

/* Lore */
.lore-grid { display: grid; gap: var(--space-16); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

/* Videos */
.video-grid { display: grid; gap: var(--space-16); grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.video-frame { aspect-ratio: 16/9; }
.video-frame iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Analysis */
.analysis-grid { display: grid; gap: var(--space-16); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

/* Feedback */
.feedback-form { display: grid; gap: var(--space-16); }
.form-grid { display: grid; gap: var(--space-12); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-full { grid-column: 1 / -1; }
.consent { display: flex; align-items: center; gap: var(--space-8); font-size: var(--text-sm); color: var(--color-text-muted); }
.feedback-actions { display: flex; align-items: center; gap: var(--space-12); }
.status { font-size: var(--text-sm); }

/* Downloads */
.downloads-list { display: grid; gap: var(--space-16); }
.download-item { display: flex; align-items: center; justify-content: space-between; gap: var(--space-16); flex-wrap: wrap; }
.download-item h3 { margin-bottom: var(--space-8); }

/* Helpers */
.is-hidden { display: none !important; }

@media (max-width: 640px) {
  .map-thumb img { height: 160px; }
  .gallery-item img { height: 180px; }
}
