.map-canvas { position:relative; width:100%; background:#e6ece8; border-radius:12px; overflow:hidden; }
.map-canvas > img { display:block; width:100%; height:auto; }
.map-pin { position:absolute; transform:translate(-50%,-50%); width:36px; height:36px; min-height:36px; border:2px solid white; border-radius:50%; background:#17594c; color:#fff; display:grid; place-items:center; cursor:pointer; font:700 14px system-ui; box-shadow:0 2px 6px #0005; padding:0; }
.map-pin[aria-current="true"] { background:#884c12; outline:3px solid #e0ae57; }
.map-pin:focus-visible { outline:3px solid #a95912; outline-offset:2px; }
.map-row { padding:14px 0; border-bottom:1px solid #ccd9d5; }
.map-row input { width:100%; }
.tour-map-section { padding:20px; background:#fff; color:#182d2a; border:1px solid #ccd9d5; border-radius:16px; scroll-margin-top:100px; }
.tour-map-section h2 { margin:0 0 10px; font-size:22px; }
.tour-map-section p { color:#445d57; line-height:1.6; }
.tour-map-list { padding:0; list-style:none; display:grid; gap:0; margin-bottom:0; }
.tour-map-list button { width:100%; text-align:left; background:transparent; border:0; border-bottom:1px solid #dce5e1; color:#17594c; min-height:48px; padding:12px 4px; font:inherit; cursor:pointer; }
.tour-map-list button[aria-current="true"] { font-weight:750; color:#884c12; }
.tour-map-section [hidden], .map-canvas[hidden] { display:none; }
.map-error { color:#972f20; }
@media (max-width:480px) { .tour-map-section {padding:16px;} .map-pin {width:32px;height:32px;min-height:32px;} }
/* The inherited admin title must wrap to leave room for the mobile menu. */
.navbar-brand { white-space:normal; max-width:calc(100% - 80px); line-height:1.4; font-size:clamp(16px,2vw,20px); }
@media (max-width:991px) { .navbar .container-fluid {gap:8px;} .map-row .d-flex > label {min-width:0;} }
.map-viewport{overflow:auto;max-height:65vh;border:1px solid #ccd9d5}.map-viewport>.map-canvas{max-width:none}.map-zoom-controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.map-zoom-controls button{min-width:44px;min-height:44px;padding:8px 14px}#tourMapStop{padding:12px 0}#tourMapStop h3{line-height:1.5;font-size:21px}#tourMapStopAction{display:inline-block;text-decoration:none;margin:12px 8px 12px 0}#tourMapOther{margin-top:24px}#tourMapOther h3{font-size:18px;line-height:1.5}.tour-map-section [hidden]{display:none!important}
.map-viewport .map-canvas{margin-inline:auto}
