/* River & Ridge Outdoors: Upper Au Sable interactive map */
.rr-map-app{--map-forest:#12392f;--map-forest-deep:#0b2721;--map-gold:#c69743;--map-cream:#f6f1e8;--map-line:rgba(18,57,47,.18);display:grid;gap:18px}
.rr-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--map-line);border-radius:16px;background:#fff}.rr-map-toolbar-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rr-map-toolbar strong{color:var(--map-forest);font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.rr-map-toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;border:1px solid var(--map-line);border-radius:10px;background:#fff;color:var(--map-forest);font-weight:800;font-size:.82rem;cursor:pointer}.rr-map-toggle input{position:static;flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--map-forest);cursor:pointer;pointer-events:auto}.rr-map-toolbar-help{color:#6a7771;font-size:.72rem;font-weight:700}.rr-map-reset{min-height:42px;padding:9px 14px;border:1px solid var(--map-forest);border-radius:10px;background:transparent;color:var(--map-forest);font-weight:800;cursor:pointer}.rr-map-reset:hover,.rr-map-reset:focus-visible{background:var(--map-forest);color:#fff}
.rr-map-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.rr-map-stage{position:relative;min-width:0;border:1px solid rgba(18,57,47,.22);border-radius:16px;overflow:hidden;background:var(--map-forest-deep)}.rr-map-canvas{width:100%;height:610px;background:#e9e5dc}.rr-map-loading{position:absolute;inset:0;z-index:500;display:grid;place-items:center;padding:30px;background:linear-gradient(145deg,#102f28,#071b17);color:#fff;text-align:center}.rr-map-loading[hidden]{display:none}.rr-map-loading strong{display:block;margin-bottom:8px;font-family:Georgia,serif;font-size:1.35rem}.rr-map-loading span{color:#d9e2de}.rr-map-status{position:absolute;left:14px;bottom:14px;z-index:650;max-width:min(420px,calc(100% - 28px));padding:9px 12px;border-radius:8px;background:rgba(11,39,33,.93);color:#fff;font-size:.78rem;box-shadow:0 8px 22px rgba(0,0,0,.2)}
.rr-map-panel{position:static;display:grid;gap:18px;min-height:0;max-height:none;overflow:visible;padding:24px;border:1px solid var(--map-line);border-radius:16px;background:#fff;box-shadow:0 18px 44px rgba(18,57,47,.08)}.rr-map-panel-head{display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:center}.rr-map-section-badge{display:grid;place-items:center;min-width:58px;height:38px;padding:0 10px;border:2px solid var(--map-forest);border-radius:7px;background:#fff;color:var(--map-forest);font-size:.75rem;font-weight:900;letter-spacing:.04em;text-align:center}.rr-map-panel-head h2{margin:0;font-size:1.55rem}.rr-map-panel-head p{grid-column:1/-1;margin:0;color:#596761}.rr-map-chip-row{display:flex;flex-wrap:wrap;gap:8px}.rr-map-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:8px;background:#edf2ef;color:var(--map-forest);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.rr-map-chip.core{background:#f6ead2;color:#6f4c15}.rr-map-chip.developing{background:#e8eef4;color:#274b66}.rr-map-chip.research{background:#eee9f1;color:#5a4567}.rr-map-facts{display:grid;gap:0;margin:0;border-top:1px solid var(--map-line)}.rr-map-facts div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--map-line)}.rr-map-facts dt{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#7a6750}.rr-map-facts dd{margin:0;color:#273b34}.rr-map-panel>section{display:grid;gap:8px;max-width:90ch}.rr-map-panel>section+section{padding-top:15px;border-top:1px solid var(--map-line)}.rr-map-panel h3{margin:0 0 8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#7a5a25}.rr-map-panel p,.rr-map-panel li{font-size:.9rem;line-height:1.6}.rr-map-panel ul{margin:0;padding-left:20px}.rr-map-panel ul:not(.rr-map-access-list){display:grid;gap:7px}.rr-map-panel-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}.rr-map-panel-actions a{flex:1 1 140px;text-align:center}
.rr-map-section-select{display:none}.rr-map-section-rail{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.rr-map-section-button{display:grid;gap:4px;min-height:82px;padding:12px;border:1px solid var(--map-line);border-radius:10px;background:#fff;color:var(--map-forest);text-align:left;cursor:pointer}.rr-map-section-button span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#8a672b}.rr-map-section-button strong{font-size:.79rem;line-height:1.25}.rr-map-section-button small{color:#66736d;font-size:.68rem}.rr-map-section-button:hover,.rr-map-section-button:focus-visible{border-color:var(--map-gold);box-shadow:0 8px 20px rgba(18,57,47,.08)}.rr-map-section-button[aria-pressed="true"]{border-color:var(--map-gold);background:#f8f1e4;box-shadow:inset 0 0 0 1px var(--map-gold)}
.rr-map-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--map-line);border-radius:10px;background:#fff;color:#4f6059;font-size:.78rem}.rr-map-legend strong{color:var(--map-forest)}.rr-map-legend-item{display:inline-flex;align-items:center;gap:7px}.rr-map-source-note{margin:0;color:#617068;font-size:.78rem;line-height:1.5}.rr-map-fallback{padding:24px;border:1px solid var(--map-line);border-radius:12px;background:#fff}.rr-map-fallback[hidden]{display:none}.rr-map-fallback a{font-weight:800}
.rr-map-access-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.rr-map-access-list li{display:grid;gap:5px;padding:12px;border:1px solid var(--map-line);border-radius:9px;background:#faf8f3}.rr-map-access-list strong{color:var(--map-forest);font-size:.88rem}.rr-map-access-list span{color:#53635c;font-size:.82rem}.rr-map-access-list a,.rr-map-source-links a,.rr-map-popup a{color:#76521b;font-weight:850;text-decoration-thickness:1px;text-underline-offset:2px}.rr-map-source-links{display:flex;flex-wrap:wrap;gap:8px}.rr-map-source-links a{display:inline-flex;align-items:center;min-height:34px;padding:6px 9px;border:1px solid rgba(122,90,37,.28);border-radius:7px;background:#fff;font-size:.76rem}.rr-map-rule-caution{padding:11px 12px;border-left:4px solid var(--map-gold);border-radius:0 7px 7px 0;background:#f8f1e4;color:#4c574f;font-size:.82rem!important}.rr-map-water-character{padding:14px;border:1px solid rgba(198,151,67,.35);border-left:4px solid var(--map-gold);border-radius:0 10px 10px 0;background:#fffaf0}.rr-map-reach-scale{margin:0 0 8px!important;color:#746345;font-size:.75rem!important;font-weight:800}.rr-map-water-character dl{display:grid;margin:0}.rr-map-water-character dl div{display:grid;grid-template-columns:126px 1fr;gap:12px;padding:9px 0;border-top:1px solid rgba(18,57,47,.11)}.rr-map-water-character dt{color:#6f5527;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.rr-map-water-character dd{margin:0;color:#34473f;font-size:.82rem;line-height:1.5}
.rr-map-app .leaflet-control-zoom a{color:var(--map-forest)}.rr-map-app .leaflet-control-attribution{font-size:10px}.rr-map-marker-anchor{position:relative;display:block;width:72px;height:64px;pointer-events:none}.rr-map-anchor-line{position:absolute;inset:0;width:72px;height:64px;overflow:visible;pointer-events:none}.rr-map-anchor-line path{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;paint-order:stroke}.rr-map-anchor-line path{stroke:var(--map-gold);stroke-width:2}.rr-map-section-pin{display:grid;place-items:center;min-width:48px;height:30px;padding:0 8px;border:2px solid #fff;border-radius:999px;background:var(--map-forest);color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.28);font-size:.68rem;font-style:normal;font-weight:900;letter-spacing:.04em;white-space:nowrap;cursor:pointer}.rr-map-section-pin.rr-map-key-section{min-width:34px;height:24px;padding:0 5px;font-size:.55rem;box-shadow:none}.rr-map-access-art,.rr-map-stay-art,.rr-map-condition-art{position:absolute;z-index:2;display:grid;place-items:center;pointer-events:auto}.rr-map-side-left .rr-map-access-art,.rr-map-side-left .rr-map-stay-art,.rr-map-side-left .rr-map-condition-art{left:0;top:4px}.rr-map-side-right .rr-map-access-art,.rr-map-side-right .rr-map-stay-art,.rr-map-side-right .rr-map-condition-art{right:0;top:4px}.rr-map-side-center .rr-map-access-art,.rr-map-side-center .rr-map-stay-art,.rr-map-side-center .rr-map-condition-art{left:50%;top:4px;transform:translateX(-50%)}.rr-map-access-art{width:44px;height:66px;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 5px 6px rgba(0,0,0,.34))}.rr-map-access-art img{display:block;width:44px;height:66px;object-fit:contain}.rr-map-stay-art{width:38px;height:42px;padding:5px 5px 9px;background:#f0dfb5;color:#563d17;border:2px solid #fff;clip-path:polygon(0 0,100% 0,100% 76%,50% 100%,0 76%);filter:drop-shadow(0 5px 5px rgba(0,0,0,.3))}.rr-map-stay-art svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.rr-map-stay-rv .rr-map-stay-art{background:#e5edf2;color:#244f68}.rr-map-stay-lodge .rr-map-stay-art{background:#dfeae4;color:#12392f}.rr-map-condition-art{width:40px;height:31px;padding:4px;background:#fff;color:#236577;border:2px solid #236577;clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);filter:drop-shadow(0 4px 5px rgba(0,0,0,.25))}.rr-map-condition-art svg{width:31px;height:22px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round}.rr-map-popup{display:grid;gap:6px;min-width:210px}.rr-map-popup>strong{color:var(--map-forest);font-size:.95rem}.rr-map-popup>span{color:#7a5a25;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.rr-map-popup p{margin:1px 0 3px;color:#40514a;line-height:1.45}.rr-map-app .leaflet-popup-content{margin:15px 17px}.rr-map-app .leaflet-popup-content-wrapper{border-radius:10px}.rr-map-app .leaflet-tooltip.rr-map-tooltip{padding:7px 9px;border:0;border-radius:7px;background:#0d2d26;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.24);font-weight:800;font-size:12px}.rr-map-app .leaflet-tooltip-left.rr-map-tooltip:before{border-left-color:#0d2d26}.rr-map-app .leaflet-tooltip-right.rr-map-tooltip:before{border-right-color:#0d2d26}
.rr-map-key-trout,.rr-map-key-stay,.rr-map-key-condition{display:grid;place-items:center;flex:none;width:34px;height:42px;font-style:normal}.rr-map-key-trout img{width:28px;height:42px;object-fit:contain;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 2px 2px rgba(0,0,0,.25))}.rr-map-key-stay{height:32px;padding:3px 4px 6px;background:#f0dfb5;color:#563d17;border:1px solid #fff;clip-path:polygon(0 0,100% 0,100% 76%,50% 100%,0 76%)}.rr-map-key-stay.rv{background:#e5edf2;color:#244f68}.rr-map-key-stay.lodge{background:#dfeae4;color:#12392f}.rr-map-key-stay svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.rr-map-key-condition{color:#236577}.rr-map-key-condition svg{width:30px;height:22px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round}
@media(max-width:1100px){.rr-map-section-rail{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:860px){.rr-map-layout{grid-template-columns:1fr}.rr-map-panel{position:static;min-height:0;max-height:none;overflow:visible;scrollbar-gutter:auto}.rr-map-canvas{height:500px}}@media(max-width:680px){.rr-map-toolbar{align-items:flex-start;flex-direction:column}.rr-map-toolbar-group{width:100%}.rr-map-reset{width:100%}.rr-map-section-rail{display:none}.rr-map-section-select{display:block;padding:14px;border:1px solid var(--map-line);border-radius:10px;background:#fff}.rr-map-section-select label{display:block;margin-bottom:7px;color:var(--map-forest);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.rr-map-section-select select{width:100%;min-height:48px;padding:10px 12px;border:1px solid rgba(18,57,47,.28);border-radius:8px;background:#fff;color:var(--map-forest);font-size:1rem}.rr-map-canvas{height:430px}.rr-map-panel{padding:18px}.rr-map-facts div,.rr-map-water-character dl div{grid-template-columns:1fr;gap:5px}.rr-map-source-links{display:grid}.rr-map-source-links a{width:100%}.rr-map-legend{display:grid;grid-template-columns:1fr 1fr}.rr-map-legend>strong{grid-column:1/-1}}@media(max-width:420px){.rr-map-toggle{flex:1 1 calc(50% - 6px);justify-content:center}.rr-map-canvas{height:390px}.rr-map-panel-head{grid-template-columns:auto 1fr}.rr-map-panel-head h2{font-size:1.3rem}.rr-map-legend{grid-template-columns:1fr}}@media print{.rr-map-toolbar,.rr-map-section-select,.rr-map-section-rail,.rr-map-status,.leaflet-control-container{display:none!important}.rr-map-layout{display:block}.rr-map-canvas{height:480px}.rr-map-panel{position:static;margin-top:18px;box-shadow:none}}


/* Map interaction refinement: gestures stay in the map and boundaries remain visible. */
.rr-map-canvas.leaflet-container{touch-action:none!important;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}
.rr-map-canvas.leaflet-container.rr-map-cooperative-touch{touch-action:pan-y!important;overscroll-behavior-x:contain;overscroll-behavior-y:auto}
.rr-map-app .leaflet-tooltip{pointer-events:none!important}
.rr-map-boundary-pin{position:relative;display:grid;place-items:start center;width:44px;height:40px;padding-top:18px;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))}
.rr-map-boundary-pin:before{content:"";position:absolute;left:50%;top:0;width:2px;height:15px;background:#fff;box-shadow:0 0 0 1px var(--map-forest);transform:translateX(-50%)}
.rr-map-boundary-pin i{position:absolute;left:50%;top:10px;width:11px;height:11px;border:2px solid #fff;background:var(--map-gold);box-shadow:0 0 0 1px var(--map-forest);transform:translateX(-50%) rotate(45deg)}
.rr-map-boundary-pin b{display:grid;place-items:center;min-width:28px;height:18px;padding:0 5px;border:1px solid rgba(18,57,47,.35);border-radius:999px;background:#fff;color:var(--map-forest);font-size:.58rem;font-weight:950;letter-spacing:.02em;white-space:nowrap}
.rr-map-boundary-key{position:relative;display:inline-block;flex:none;width:22px;height:26px;font-style:normal}
.rr-map-boundary-key:before{content:"";position:absolute;left:50%;top:1px;width:2px;height:22px;background:var(--map-forest);transform:translateX(-50%)}
.rr-map-boundary-key:after{content:"";position:absolute;left:50%;top:8px;width:10px;height:10px;border:2px solid #fff;background:var(--map-gold);box-shadow:0 0 0 1px var(--map-forest);transform:translateX(-50%) rotate(45deg)}
@media(max-width:680px){.rr-map-boundary-pin{transform:scale(.92);transform-origin:50% 0}}



