.location-card { transform: none; }
.location-map { height: 360px; background: #d2e9ee; }
.map-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 60px; padding: 7px 12px 7px 18px; background: #edf3ec; }
.map-toolbar-label { font-size: 10px; font-weight: 700; letter-spacing: .04em; }
.map-zoom-controls { display: flex; flex-shrink: 0; border: 1px solid #d1ddd5; border-radius: 8px; overflow: hidden; background: white; }
.map-zoom-controls button { display: grid; place-items: center; width: 44px; height: 44px; border: 0; background: white; color: var(--ink); font: inherit; font-size: 26px; font-weight: 500; line-height: 1; }
.map-zoom-controls button + button { border-left: 1px solid #d1ddd5; }
.map-zoom-controls button:hover:not(:disabled) { background: #dcece7; }
.map-zoom-controls button:focus-visible { outline: 2px solid var(--ink); outline-offset: -4px; }
.map-zoom-controls button:disabled { opacity: .35; cursor: default; }
.map-zoom-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.location-map iframe { display: block; width: 100%; height: calc(100% - 60px); border: 0; }
.location-details .location-directions { display: inline-flex; align-items: center; gap: 16px; margin-top: 20px; font-size: 12px; font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 8px; }
.location-directions:hover { color: #007ba6; }
@media (max-width: 760px) {
  .location-map { height: 320px; }
  .location-details .location-directions { font-size: 11px; }
}
