/* Small Google maps: one store map, and a map on every parking card. */
.store-arrival-photo { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); margin:0 0 32px; border:1px solid #d1e3db; border-radius:24px; overflow:hidden; background:#fff; }
.store-arrival-photo img { display:block; width:100%; height:auto; }
.store-arrival-photo figcaption { display:flex; flex-direction:column; justify-content:center; gap:12px; padding:28px; line-height:1.8; }
.store-arrival-photo strong { font-size:24px; color:#173b36; }
@media (max-width:700px) { .store-arrival-photo { grid-template-columns:minmax(0,1fr); } .store-arrival-photo figcaption { padding:20px; } }
.transit-guide { margin-bottom:48px; }
.transit-guide h2 { margin:0 0 22px; }
.transit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.transit-card { min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:28px; background:#fff; border:1px solid #d1e3db; border-radius:22px; }
.transit-tag { display:inline-block; padding:6px 12px; background:#e7f5ef; color:#245b4e; font-size:14px; font-weight:800; border-radius:20px; }
.transit-card h3 { margin:16px 0 10px; font-size:24px; line-height:1.5; }
.transit-card p, .transit-routes { font-size:16px; line-height:1.9; }
.transit-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:auto; padding-top:18px; }
.transit-source, .transit-routes a { color:#245b4e; text-decoration:underline; text-underline-offset:4px; }
.transit-source { padding:10px 0; }
.transit-routes { list-style:none; width:100%; padding:0; margin:12px 0 0; }
.transit-routes li + li { border-top:1px solid #d1e3db; padding-top:12px; margin-top:12px; }
.transit-routes strong, .transit-routes span { display:block; }
.transit-routes a { display:inline-block; padding:8px 0; margin-right:12px; }
.transit-plan { display:flex; flex-wrap:wrap; align-items:center; gap:20px; padding:22px 0 0; }
.transit-plan p { flex:1 1 360px; margin:0; color:var(--muted); font-size:14px; line-height:1.8; }
.transit-guide a:focus-visible { outline:3px solid #286e5e; outline-offset:4px; }
@media (max-width:700px) {
  .transit-grid { grid-template-columns:1fr; gap:16px; }
  .transit-card { padding:22px; }
  .transit-actions, .transit-actions .button, .transit-plan .button { width:100%; }
  .transit-actions .button, .transit-plan .button { text-align:center; }
}
.branch-map-panel .store-map-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
.store-mini-map { display: block; width: 100%; height: 320px; border: 0; background: #edf4f1; }
.branch-map-panel .store-map-card .map-body { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 20px; padding: 28px; }
.parking-map-actions, .parking-card-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.parking-map-actions a[hidden] { display: none; }
.parking-map-actions .button { text-align: center; }
.parking-number { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: 0 0 30px; background: #286e5e; color: white; border-radius: 50%; font-size: 15px; font-weight: 800; }
.branch-map-panel .parking-card { overflow: hidden; padding: 0; display: flex; flex-direction: column; }
.parking-mini-map { display: block; width: 100%; height: 250px; flex: 0 0 250px; border: 0; background: #edf4f1; }
.parking-card-body { padding: 22px; display: flex; flex-direction: column; flex: 1; }
.parking-card h3 { display: flex; gap: 10px; align-items: flex-start; line-height: 1.7; }
.parking-card .parking-facts { margin-bottom: 18px; }
.parking-distance { align-self: flex-start; margin: 12px 0 0; padding: 7px 12px; border-radius: 10px; background: #e7f5ef; color: #245b4e; font-size: 15px; font-weight: 800; }
.parking-distance-note { margin: 10px 0 0; color: var(--muted); font-size: 14px; }
.parking-card-actions { margin-top: auto; }
.parking-card-actions .parking-nav-link { margin-top: 0; padding: 10px 0; }
.parking-embed-note { margin: -16px 0 30px; color: var(--muted); font-size: 14px; }
@media (max-width: 700px) {
  .branch-map-panel .store-map-card { grid-template-columns: 1fr; }
  .store-mini-map { height: 260px; }
  .branch-map-panel .store-map-card .map-body { padding: 20px; }
  .parking-map-actions { width: 100%; }
  .parking-map-actions .button { width: 100%; }
  .parking-card-body { padding: 18px; }
}
