.locations-footer { padding: 65px 0 80px; border-top: 1px solid var(--line); background: #f8faff; scroll-margin-top: 18px; }
.locations-heading h2 { font-size: clamp(33px, 3.8vw, 48px); line-height: 1.1; letter-spacing: -.03em; }
.locations-heading p { margin-top: 10px; color: var(--muted); font-size: 17px; }
.locations-layout { margin-top: 30px; display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: 18px; }
.location-list { display: grid; gap: 12px; align-content: start; }
.location-choice { min-height: 146px; padding: 21px 23px; display: flex; flex-direction: column; align-items: flex-start; text-align: left; border: 1px solid var(--station-border); border-radius: 14px; background: #fff; color: var(--ink); font: inherit; cursor: pointer; touch-action: manipulation; transition: background-color .18s ease, border-color .18s ease; }
.location-choice--kolomyazhsky { --station-border: #c8d6eb; --station-border-active: #a9c2e8; --station-tint: #f8faff; --station-color: #42649b; }
.location-choice--tchaikovsky { --station-border: #ecd1d3; --station-border-active: #dbb0b5; --station-tint: #fff9f9; --station-color: #9d5860; }
.location-choice[aria-pressed="true"], .location-choice:hover { border-color: var(--station-border-active); background: var(--station-tint); }
.location-choice:focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }
.location-short { color: var(--station-color); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.location-choice strong { margin-top: 6px; font-size: 19px; line-height: 1.25; }
.location-choice span:last-child { margin-top: 7px; color: var(--muted); font-size: 14px; line-height: 1.4; }
.location-map { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #e9eef7; }
.map-preview { min-height: 288px; padding: 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 11px; text-align: center; }
.map-preview svg { width: 42px; height: 42px; color: var(--blue); }
.locations-footer[data-active-location="tchaikovsky"] .map-preview svg { color: #9d5860; }
.map-preview strong { max-width: 30ch; font-size: 18px; line-height: 1.3; }
.map-preview a { min-height: 44px; margin-top: 6px; padding: 10px 17px; display: inline-flex; align-items: center; border-radius: 8px; background: var(--blue); color: #fff; font-size: 14px; font-weight: 750; }
.map-preview a:hover { background: var(--blue-dark); }
.legal-details { margin-top: 34px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 6px 20px; color: var(--muted); font-size: 13px; line-height: 1.5; }
@media (max-width: 720px) {
  .locations-footer { padding: 44px 0 55px; }
  .locations-layout { grid-template-columns: 1fr; }
  .location-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .location-choice { min-height: 165px; padding: 15px; }
  .location-choice strong { font-size: 16px; }
  .location-choice span:last-child { font-size: 12px; }
  .map-preview { min-height: 260px; }
}
@media (max-width: 380px) {
  .location-list { grid-template-columns: 1fr; }
  .location-choice { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .location-choice { transition: none; }
}
