#map { min-height: 600px; overflow: hidden; border: 1px solid var(--gom-line); }
#map[hidden] { display: none; }
.locations-list { margin: 2rem 0 0; }
.locations-list summary { align-items: center; border: 1px solid var(--gom-line); border-radius: 4px; cursor: pointer; display: flex; font-weight: 700; justify-content: space-between; min-height: 44px; padding: .5rem .75rem; }
.locations-list summary::after { color: var(--gom-red); content: '⌄'; font-size: 1.5rem; line-height: 1; }
.locations-list[open] summary::after { content: '⌃'; }
.locations-list summary:focus-visible { outline: 3px solid var(--gom-red); outline-offset: 3px; }
.locations-list ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem 1.25rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.locations-list li { padding: .75rem; border: 1px solid var(--gom-line); border-radius: 8px; background: #fff; }
.locations-list strong, .locations-list span { display: block; }
@media (max-width: 768px) { #map { min-height: 320px; } .locations-list ul { grid-template-columns: 1fr; } }
