.map-head{padding:30px clamp(20px,6vw,90px) 16px}
.subdivisions-map-wrap{position:relative;margin:0 clamp(20px,6vw,90px) 80px;border:1px solid #e1dfd7;border-radius:16px;overflow:hidden;background:#0e302d}
#subdivisions-map{height:86vh;min-height:620px;max-height:900px}
.subdiv-pin{position:relative;width:38px;height:38px;cursor:pointer}
.subdiv-pin-shape{width:100%;height:100%;background:#d47754;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 6px 16px #06231f66;transition:transform .15s}
.subdiv-pin:hover .subdiv-pin-shape{transform:rotate(-45deg) scale(1.12)}
.subdiv-pin.is-group .subdiv-pin-shape{background:#123b37}
.subdiv-pin-shape img{display:block;width:16px;height:22px;transform:rotate(45deg)}
.subdiv-pin-count{position:absolute;top:-6px;right:-6px;z-index:2;background:#123b37;color:#fff;border:2px solid #fff;border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:10px;font-weight:800}
.subdiv-pin-label{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);white-space:nowrap;background:#fffdf6f2;color:#123b37;font-size:10px;font-weight:700;padding:6px 10px;border-radius:7px;box-shadow:0 6px 16px #06231f33;opacity:0;pointer-events:none;transition:opacity .15s}
.subdiv-pin:hover .subdiv-pin-label{opacity:1}
.subdivisions-map-panel{position:absolute;z-index:5;right:16px;top:16px;width:280px;max-width:calc(100% - 32px);background:#fffdf9;border-radius:12px;box-shadow:0 20px 50px #06231f44;overflow:hidden}
.subdivisions-map-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#123b37;color:#fff;font-size:11px;font-weight:700}
.subdivisions-map-panel-head button{border:0;background:none;color:#fff;font-size:14px;cursor:pointer;line-height:1}
.subdivisions-map-panel ul{list-style:none;margin:0;padding:6px;max-height:320px;overflow:auto}
.subdivisions-map-panel li+li{border-top:1px solid #efece3}
.subdivisions-map-panel a{display:block;padding:10px 8px;text-decoration:none;color:inherit}
.subdivisions-map-panel a b{display:block;color:#073f46;font-size:13px}
.subdivisions-map-panel a span{display:block;margin-top:3px;font-size:10px;color:#738582}
.subdivisions-map-panel a:hover{background:#f4f2ec}
.subdivisions-map-hint{position:absolute;z-index:4;left:16px;top:16px;padding:9px 13px;border-radius:9px;background:#fffdf6e8;color:#123b37;font-size:10px;font-weight:700;box-shadow:0 6px 16px #06231f33}

.subdivisions-map-rotate{position:absolute;z-index:6;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;background:#0e302dd6;backdrop-filter:blur(8px);border:1px solid #ffffff26;padding:10px 20px 10px 18px;border-radius:40px;box-shadow:0 16px 38px #06231f55;animation:mapRotateIntro .7s cubic-bezier(.2,.8,.3,1)}
.subdivisions-map-rotate-label{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:#f3e6cc;white-space:nowrap}
.subdivisions-map-zoom{display:flex;gap:6px;padding-right:14px;border-right:1px solid #ffffff2e}
.subdivisions-map-rotate-buttons{display:flex;gap:8px;padding-left:14px;border-left:1px solid #ffffff2e}
.subdivisions-map-rotate button{width:38px;height:38px;border:0;border-radius:50%;background:#ffffff17;color:#fffdf6;font-size:16px;font-weight:800;cursor:pointer;display:grid;place-items:center;transition:transform .18s,background .18s,color .18s}
.subdivisions-map-rotate button:hover{background:#c6a36a;color:#123b37;transform:scale(1.14)}
.subdivisions-map-rotate button:active{transform:scale(.96)}
.subdivisions-map-rotate button[data-rotate="tilt"]{font-size:10.5px}
.subdivisions-map-rotate button.is-active{background:#c6a36a;color:#123b37}
@keyframes mapRotateIntro{from{opacity:0;transform:translate(-50%,18px) scale(.92)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(prefers-reduced-motion:reduce){.subdivisions-map-rotate{animation:none}}

.map-dial{position:relative;width:46px;height:46px;border-radius:50%;cursor:grab;touch-action:none;flex:none}
.map-dial:active{cursor:grabbing}
.map-dial-ring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 40%,#ffffff22,#ffffff08 70%);border:2px solid #c6a36a;box-shadow:inset 0 0 0 3px #0e302d,0 0 0 1px #ffffff1a}
.map-dial-needle{position:absolute;left:50%;top:50%;width:3px;height:17px;margin-left:-1.5px;margin-top:-17px;transform-origin:50% 17px;background:linear-gradient(#e2574a,#c6a36a);border-radius:2px}
.map-dial-n{position:absolute;top:-15px;left:50%;transform:translateX(-50%);font-size:8px;font-weight:800;color:#f3e6cc;letter-spacing:.5px}
.map-dial.is-dragging .map-dial-ring{border-color:#e2574a}

@media(max-width:650px){.map-head{padding:22px 16px 10px}.subdivisions-map-wrap{margin:0 12px 50px}#subdivisions-map{height:72vh;min-height:460px}.subdivisions-map-hint{left:9px;right:9px;top:9px;text-align:center}.subdivisions-map-rotate{bottom:14px;gap:8px;padding:8px 12px;max-width:calc(100% - 24px)}.subdivisions-map-rotate-label{display:none}.subdivisions-map-zoom{padding-right:8px}.subdivisions-map-rotate-buttons{padding-left:8px;border-left:1px solid #ffffff2e}.subdivisions-map-rotate button{width:38px;height:38px}.map-dial{width:38px;height:38px}}
