/* Municipality first, then affected areas and every shelter; no accordion hides destinations. */
.safety-evacuation .evacuation-cities { grid-template-columns: minmax(0, 1fr); gap: .85rem; }
.safety-evacuation .evacuation-city { padding: 0; overflow: visible; border-radius: .7rem; }
.safety-evacuation .evacuation-city__heading { padding: .65rem .75rem; border-bottom: 1px solid var(--line); background: var(--surface); border-radius: .7rem .7rem 0 0; gap: .4rem .65rem; }
.safety-evacuation .evacuation-city__heading h3 { margin: 0; font-size: 1rem; }
.safety-evacuation .evacuation-city__body { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); align-items: start; gap: .85rem; padding: .75rem; }
.safety-evacuation .evacuation-city__body:not(:has(> :not([hidden]))) { display: none; }
.safety-evacuation .evacuation-city__body > :only-child { grid-column: 1 / -1; }
.safety-evacuation .safety-city-details { min-width: 0; border: 0; }
.safety-evacuation .evacuation-section-heading { display: block; margin-bottom: .35rem; }
.safety-evacuation .evacuation-section-heading h4 { margin: 0; font-size: .8rem; line-height: 1.5; }
.safety-evacuation .evacuation-section-heading .safety-publication { display: flex; flex-wrap: wrap; gap: .1rem .65rem; margin: .2rem 0 0; font-size: .65rem; }
.safety-evacuation .evacuation-section-heading .safety-publication > span { white-space: nowrap; }
.safety-evacuation .safety-action { margin: .45rem 0; font-size: .75rem; }
.safety-evacuation .evacuation-shelter-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .65rem; }
.safety-evacuation .evacuation-shelter-list > li,
.safety-evacuation .evacuation-area-list > li { min-width: 0; padding: .5rem 0; border-top: 1px solid var(--line); }
.safety-evacuation .evacuation-shelter__name { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .35rem; }
.safety-evacuation .evacuation-shelter__name strong,
.safety-evacuation .evacuation-area-list strong { font-size: .78rem; line-height: 1.5; overflow-wrap: break-word; }
.safety-evacuation .evacuation-shelter__name strong { flex: 1 1 auto; }
.safety-evacuation .evacuation-row__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .55rem; margin-top: .2rem; }
.safety-evacuation .evacuation-row__meta span,
.safety-evacuation .evacuation-row__meta time { display: inline; margin: 0; font-size: .65rem; line-height: 1.5; font-variant-numeric: tabular-nums; }
.safety-evacuation .evacuation-status { display: inline-block; flex: 0 0 auto; margin: 0; padding: .1rem .3rem; border-radius: .25rem; font-size: .65rem; line-height: 1.4; color: var(--ink-2); background: var(--surface); }
.safety-evacuation .evacuation-status--open { color: var(--blue-d); background: var(--blue-50); }
.safety-evacuation .evacuation-status--scheduled { color: var(--ink); border: 1px solid var(--line); background: var(--paper); }
.safety-evacuation .evacuation-status--closed,
.safety-evacuation .evacuation-status--lifted { color: var(--ink-2); background: var(--surface); }
.safety-evacuation .evacuation-status--active { padding: 0; color: var(--red-d); background: transparent; font-weight: 700; }
.safety-evacuation .evacuation-capacity-note { margin: .4rem 0 .2rem; font-size: .65rem; line-height: 1.6; }
.safety-evacuation .evacuation-report-link { width: fit-content; padding: .3rem 0; font-size: .7rem; }
.safety-evacuation .evacuation-city__links { display: flex; flex-wrap: wrap; gap: .25rem 1rem; padding: .45rem .75rem; border-top: 1px solid var(--line); }
.safety-evacuation .evacuation-city__links a { display: inline-block; padding: .3rem 0; font-size: .72rem; }
.safety-evacuation .evacuation-city a:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.safety-evacuation .evacuation-city a:hover { text-decoration: underline; }
@media (max-width: 1050px) {
  .safety-evacuation .evacuation-city__body { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .safety-evacuation .evacuation-cities { gap: .65rem; }
  .safety-evacuation .evacuation-city__heading { padding: .55rem .6rem; }
  .safety-evacuation .evacuation-city__body { padding: .6rem; gap: .75rem; }
  .safety-evacuation .evacuation-shelter-list { grid-template-columns: minmax(0, 1fr); }
  .safety-evacuation .evacuation-shelter__name strong { font-size: .82rem; }
  .safety-evacuation .evacuation-shelter__name .evacuation-status { margin-left: auto; }
  .safety-evacuation .evacuation-row__meta { gap: .2rem .65rem; }
  .safety-evacuation .evacuation-row__meta span,
  .safety-evacuation .evacuation-row__meta time,
  .safety-evacuation .evacuation-status { font-size: .75rem; }
  .safety-evacuation .evacuation-city__links { padding: .4rem .6rem; }
}
