/* Mosvet24 district map. Scoped to avoid inherited Bootstrap/button rules. */
#mv-district-map{--mv-ink:#173d47;--mv-muted:#4e6971;--mv-cyan:#1595b5;--mv-line:#c9e2e8;--mv-pale:#edf8fb;--mv-green:#2d826b;box-sizing:border-box;width:100%;min-width:0;margin:28px 0 38px;color:var(--mv-ink);font:16px/1.5 Arial,Helvetica,sans-serif;text-align:left}
#mv-district-map *,#mv-district-map *::before,#mv-district-map *::after{box-sizing:border-box}
#mv-district-map [hidden]{display:none!important}
#mv-district-map p{width:100%;max-width:none;margin:0 0 16px;font:inherit;text-align:left;white-space:normal}
#mv-district-map a{color:#087b9b;text-decoration:underline;text-underline-offset:3px}
#mv-district-map a:hover{color:#005d77}
#mv-district-map :focus-visible{outline:3px solid #005d77;outline-offset:3px}
#mv-district-map .mv-map-intro{margin-bottom:18px}
#mv-district-map .mv-map-title{margin:0 0 10px;font-size:28px;font-weight:600;line-height:1.25;text-align:left}
#mv-district-map .mv-map-title::after,#mv-district-map h3::after{display:none}
#mv-district-map .mv-map-panel{border:1px solid var(--mv-line);border-radius:12px;background:#fff;box-shadow:0 4px 15px #12596b08;overflow:hidden}
#mv-district-map .mv-map-controls{padding:18px 20px 16px;border-bottom:1px solid var(--mv-line);background:#f8fcfd}
#mv-district-map .mv-map-search-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}
#mv-district-map .mv-map-field{display:block;min-width:0;margin:0;font-size:14px;line-height:1.4;font-weight:600;color:var(--mv-ink)}
#mv-district-map .mv-map-field>span{display:block;margin-bottom:7px}
#mv-district-map .mv-map-field input,#mv-district-map .mv-map-field select{display:block;width:100%;height:46px;min-height:46px;min-width:0;margin:0;padding:10px 12px;border:1px solid #9abfc9;border-radius:7px;background:#fff;box-shadow:none;color:var(--mv-ink);font:400 16px/1.4 Arial,Helvetica,sans-serif;text-transform:none;letter-spacing:normal}
#mv-district-map .mv-map-field input::placeholder{color:#657e85;opacity:1}
#mv-district-map .mv-map-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px}
#mv-district-map .mv-map-switch,#mv-district-map .mv-map-tools{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
#mv-district-map .mv-map-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;width:auto;max-width:100%;min-width:44px;min-height:44px;height:auto;margin:0;padding:9px 12px;border:1px solid #a6c8d1;border-radius:7px;background:#fff;color:#185566;box-shadow:none;font:600 14px/1.35 Arial,Helvetica,sans-serif;text-shadow:none;text-transform:none;letter-spacing:normal;white-space:normal;cursor:pointer;transform:none}
#mv-district-map .mv-map-button:hover{border-color:#1286a4;background:#edf8fb;color:#005c76}
#mv-district-map .mv-map-button[aria-pressed="true"]{border-color:#0782a0;background:#0782a0;color:#fff}
#mv-district-map .mv-map-button:disabled{opacity:.45;cursor:default}
#mv-district-map .mv-map-zoom-button{width:44px;padding:7px;font-size:23px;line-height:1}
#mv-district-map .mv-map-canvas{position:relative;width:100%;height:550px;height:clamp(310px,58svh,620px);background:radial-gradient(ellipse at 48% 38%,#fff 0%,#f3fafb 70%);overflow:hidden;isolation:isolate}
#mv-district-map .mv-map-svg{display:block;width:100%;height:100%;max-width:none;margin:0;overflow:hidden;touch-action:none;cursor:grab}
#mv-district-map .mv-map-svg.is-dragging{cursor:grabbing}
#mv-district-map .mv-map-svg a{cursor:pointer}
#mv-district-map .mv-map-region{fill:#c6e8ef;stroke:#fff;stroke-width:1.15;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .13s ease,opacity .13s ease}
#mv-district-map .mv-map-area[data-kind="city"] .mv-map-region{fill:#b9dfcc;stroke:#f7fffb}
#mv-district-map .mv-map-area[data-kind="okrug"] .mv-map-region{fill:#c7e9ef;stroke:#fff;stroke-width:1.9}
#mv-district-map .mv-map-area:hover .mv-map-region,#mv-district-map .mv-map-area:focus .mv-map-region,#mv-district-map .mv-map-area.is-active .mv-map-region{fill:#1497b5;stroke:#005e78;stroke-width:1.8}
#mv-district-map .mv-map-area[data-kind="city"]:hover .mv-map-region,#mv-district-map .mv-map-area[data-kind="city"]:focus .mv-map-region,#mv-district-map .mv-map-area[data-kind="city"].is-active .mv-map-region{fill:#408f73;stroke:#1b5c49}
#mv-district-map .mv-map-area.is-muted .mv-map-region{fill:#edf2f2;stroke:#dce8eb;opacity:.72}
#mv-district-map .mv-map-area.is-muted:hover .mv-map-region,#mv-district-map .mv-map-area.is-muted:focus .mv-map-region{fill:#b4dce5;opacity:1}
#mv-district-map .mv-map-okrug-outline{fill:none;stroke:#3a9db2;stroke-width:1.1;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;opacity:.7}
#mv-district-map .mv-map-label{fill:#235764;font:600 13px Arial,Helvetica,sans-serif;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;pointer-events:none}
#mv-district-map .mv-map-city-label{fill:#2c6854;font-size:12px}
#mv-district-map .mv-map-north{position:absolute;right:16px;top:14px;display:flex;flex-direction:column;align-items:center;color:#52767e;font-size:11px;line-height:1.3;pointer-events:none}
#mv-district-map .mv-map-north svg{width:17px;height:27px;margin:0 0 2px;fill:#52767e}
#mv-district-map .mv-map-selected{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;padding:14px 20px;border-top:1px solid var(--mv-line);background:#f5fbfd}
#mv-district-map .mv-map-selected-name{display:block;font-size:17px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
#mv-district-map .mv-map-selected-meta{display:block;margin-top:2px;color:var(--mv-muted);font-size:13px}
#mv-district-map .mv-map-selected-link{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:600}
#mv-district-map .mv-map-help{padding:12px 20px 15px;border-top:1px solid #e1eef1;color:var(--mv-muted);font-size:13px;line-height:1.5}
#mv-district-map .mv-map-help p{margin:0 0 6px;font:inherit}
#mv-district-map .mv-map-help p:last-child{margin:0}
#mv-district-map .mv-map-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:8px;font-size:13px}
#mv-district-map .mv-map-legend span{display:inline-flex;align-items:center;gap:7px}
#mv-district-map .mv-map-legend i{display:inline-block;width:12px;height:12px;border:1px solid #8ecbd9;border-radius:3px;background:#c6e8ef}
#mv-district-map .mv-map-legend .mv-map-legend-city{background:#b9dfcc;border-color:#85bba3}
#mv-district-map .mv-map-list-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:27px 0 16px}
#mv-district-map .mv-map-list-head h3{margin:0;font-size:23px;font-weight:600;line-height:1.3;text-align:left}
#mv-district-map .mv-map-count{color:var(--mv-muted);font-size:14px}
#mv-district-map .mv-map-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
#mv-district-map .mv-map-list-group{min-width:0;padding:16px 18px;border:1px solid var(--mv-line);border-radius:9px;background:#fff}
#mv-district-map .mv-map-list-group h4{margin:0 0 10px;font:600 16px/1.4 Arial,Helvetica,sans-serif;color:var(--mv-ink);text-transform:none}
#mv-district-map .mv-map-list-group ul{list-style:none;margin:0;padding:0}
#mv-district-map .mv-map-list-group li{margin:0;padding:0;line-height:1.35}
#mv-district-map .mv-map-list-group a{display:block;min-height:38px;padding:8px 0;font-size:14px;text-decoration:none;overflow-wrap:anywhere}
#mv-district-map .mv-map-list-group a:hover,#mv-district-map .mv-map-list-group a:focus-visible{text-decoration:underline}
#mv-district-map .mv-map-empty{padding:20px;border:1px dashed #9abfc9;border-radius:9px;background:#f8fcfd}
#mv-district-map .mv-map-sources{margin-top:22px;color:var(--mv-muted);font-size:13px;line-height:1.5}
#mv-district-map .mv-map-sources p{font:inherit;margin:0 0 5px}
#mv-district-map .mv-map-noscript{padding:12px 16px;background:#f3fafb;border-left:3px solid #1595b5}
#mv-district-map .mv-map-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){#mv-district-map .mv-map-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#mv-district-map .mv-map-title{font-size:25px}#mv-district-map .mv-map-controls{padding:15px 14px}#mv-district-map .mv-map-search-row{grid-template-columns:1fr;gap:12px}#mv-district-map .mv-map-toolbar{align-items:flex-start;gap:12px}#mv-district-map .mv-map-switch{width:100%}#mv-district-map .mv-map-switch .mv-map-button{flex:1 1 auto}#mv-district-map .mv-map-tools{width:100%;gap:7px}#mv-district-map .mv-map-tools [data-map-action="fit"]{flex:1 1 auto}#mv-district-map .mv-map-canvas{height:400px;height:clamp(310px,52svh,460px)}#mv-district-map .mv-map-selected{align-items:flex-start;flex-direction:column;gap:4px;padding:12px 14px}#mv-district-map .mv-map-selected-link{min-height:36px}#mv-district-map .mv-map-help{padding:12px 14px}#mv-district-map .mv-map-list-grid{grid-template-columns:1fr}#mv-district-map .mv-map-list-group{padding:14px 16px}#mv-district-map .mv-map-list-group a{min-height:42px;padding:10px 0}#mv-district-map .mv-map-zoom-button{width:44px}#mv-district-map .mv-map-label{font-size:15px}#mv-district-map .mv-map-city-label{font-size:13px}}
@media(prefers-reduced-motion:reduce){#mv-district-map .mv-map-region{transition:none}}

#mv-district-map .mv-map-city-hit{fill:transparent;stroke:transparent;stroke-width:24;vector-effect:non-scaling-stroke;pointer-events:all}
#mv-district-map .mv-map-point{stroke:#fff;stroke-width:2.4;vector-effect:non-scaling-stroke;pointer-events:none}
#mv-district-map .mv-map-legend-city{border-radius:50%}

#mv-district-map{scroll-margin-top:90px}
#mv-district-map .mv-map-list-item{scroll-margin-top:110px}
#mv-district-map .mv-map-list-item:target{background:#e8f6fa;outline:2px solid #1595b5;outline-offset:3px;border-radius:3px}
#mv-district-map .mv-map-exclusion path{fill:#edf0ef;stroke:#b5c6c8;stroke-width:1.2;vector-effect:non-scaling-stroke;pointer-events:all;cursor:grab}
#mv-district-map .mv-map-exclusion-label{fill:#667d83;font:500 12px Arial,Helvetica,sans-serif;text-anchor:middle;paint-order:stroke;stroke:#edf0ef;stroke-width:3px;pointer-events:none}
#mv-district-map .mv-map-exclusions-note{margin:10px 0 0;color:#526b73;font-size:13px;line-height:1.5}

/* Native URL fragments remain within the map, including without JavaScript. */
#mv-district-map:not([data-ready="true"]) .mv-map-area:target .mv-map-region{fill:#1497b5;stroke:#005e78;stroke-width:1.8}
#mv-district-map:not([data-ready="true"]) .mv-map-svg:has([data-map-layer="okrugs"] .mv-map-area:target) [data-map-layer="okrugs"]{display:inline!important}
#mv-district-map:not([data-ready="true"]) .mv-map-svg:has([data-map-layer="okrugs"] .mv-map-area:target) [data-map-layer="districts"]{display:none!important}

#mv-district-map .mv-map-hide-labels .mv-map-label,#mv-district-map .mv-map-hide-labels .mv-map-exclusion-label{display:none}

/* SVG focus uses a non-scaling region stroke instead of a scaled bounding box. */
#mv-district-map .mv-map-svg .mv-map-area:focus,#mv-district-map .mv-map-svg .mv-map-area:focus-visible{outline:none}
#mv-district-map .mv-map-svg .mv-map-area:focus .mv-map-region{stroke-width:3;stroke:#00485b}

.mv-geo-page{clear:both;padding:34px 0 45px;color:#303b3d;line-height:1.65;font-size:17px}.mv-geo-page .district-heading{text-align:center;margin:28px 0}.mv-geo-page h1{font-size:32px;line-height:1.25;letter-spacing:normal}.mv-geo-page h2{font-size:25px;line-height:1.3;letter-spacing:normal;margin:0 0 20px}.mv-geo-page h3{font-size:21px;letter-spacing:normal}.mv-geo-page p{width:auto;max-width:none;margin:0 0 18px}.mv-geo-page a{color:#007887;text-decoration:underline}.mv-geo-page .district-section{padding:25px 0;border-bottom:1px solid #dce9e9}.mv-geo-page .district-links,.mv-geo-page .district-service-links{padding-left:22px;columns:3;column-gap:28px}.mv-geo-page li{margin-bottom:8px;break-inside:avoid}.mv-geo-page .district-details{margin-bottom:20px;padding:18px;background:#f1f9f9;border-left:4px solid #44b5b8}.mv-geo-page .district-details dt{font-weight:700}.mv-geo-page .district-details dd{margin:0 0 12px}.mv-geo-page .district-sources{font-size:14px;margin-top:20px}.mv-geo-page .district-crumbs{font-size:14px;margin:0 0 20px}.mv-geo-page .district-crumbs span{padding:0 7px}.mv-geo-page .district-callout{padding:18px 22px;background:#f1f9f9;border-left:4px solid #76b852;margin:20px 0}.mv-geo-page .district-callout p:last-child{margin:0}@media(max-width:767px){.mv-geo-page{padding-top:22px;font-size:16px}.mv-geo-page h1{font-size:27px}.mv-geo-page h2{font-size:23px}.mv-geo-page .district-links,.mv-geo-page .district-service-links{columns:1}.mv-geo-page .district-heading{margin:20px 0}.mv-geo-page .district-details{padding:14px}}
