/* Mapa historickych pribehu — izolovane styly */
:root{--map-forest:#17382f;--map-sage:#55765d;--map-bronze:#b88951;--map-parchment:#f4f0e5;--map-text:#243d33}
.history-map-page{background:#f7f5ef;color:var(--map-text)}
.history-map-page .map-hero{background:linear-gradient(113deg,rgba(15,46,38,.95),rgba(21,57,43,.91)),url('assets/paseky-historicka-mapa.jpg') center 54%/cover;position:relative;color:#fff;padding:74px 0 82px;overflow:hidden}
.map-hero:before{content:"";position:absolute;right:-90px;top:-70px;width:370px;height:370px;border-radius:50%;border:1px solid rgba(241,223,171,.14);box-shadow:0 0 0 55px rgba(241,223,171,.018),0 0 0 112px rgba(241,223,171,.014);pointer-events:none}
.map-hero .container{position:relative;z-index:1}.map-hero .eyebrow{color:#d2b88c!important}.map-hero h1{font-size:clamp(2.8rem,6.5vw,5.7rem);max-width:880px;line-height:1.04;margin:.45em 0 .32em;letter-spacing:-.035em;color:#fff}.map-hero h1 em{color:#dbbf90;font-weight:400}.map-hero p{font-size:clamp(1rem,1.55vw,1.18rem);max-width:730px;line-height:1.75;color:#e5eadf}.map-hero .map-meta{display:flex;flex-wrap:wrap;gap:15px 25px;margin-top:32px;font-size:.84rem;color:#e4d1ad;letter-spacing:.02em}.map-hero .map-meta span:before{content:'◇';margin-right:8px}
.map-intro{padding:58px 0 20px}.map-intro-grid{display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px}.map-intro h2{font-size:clamp(1.8rem,3.5vw,2.7rem);line-height:1.13;margin:12px 0 16px}.map-intro p{max-width:800px;line-height:1.74}.map-source-note{max-width:320px;border-left:2px solid #c4aa7b;padding:3px 0 4px 20px;font-size:.87rem;color:#69776d;line-height:1.65}
.map-explorer{padding:22px 0 80px}.map-controls-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:19px}.map-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.map-filter{border:1px solid #cbd5cc;background:#fff;color:#345147;padding:10px 17px;border-radius:100px;font-size:.9rem;font-family:inherit;font-weight:600;line-height:1.2;cursor:pointer;transition:all .17s}.map-filter:hover{border-color:#6f9781}.map-filter[aria-pressed=true]{background:#173b30;color:#fff;border-color:#173b30}.map-counter{font-size:.86rem;color:#657369}.map-shell{display:grid;grid-template-columns:minmax(0,1.53fr) minmax(300px,.94fr);gap:20px;align-items:start}.map-stage{position:relative;min-width:0;border:1px solid #d5d9cd;border-radius:18px;overflow:hidden;background:#e6e5d4;box-shadow:0 18px 46px rgba(22,44,35,.09)}
#history-map{display:block;width:100%;height:610px;touch-action:none;cursor:grab;outline:none;background:radial-gradient(circle at 65% 18%,#f1f1de,#e0e3d0 62%,#d8e0d0);user-select:none}#history-map.is-dragging{cursor:grabbing}#history-map:focus-visible{outline:3px solid #a48255;outline-offset:-4px}
.map-land{fill:#e9ead7;stroke:#557663;stroke-width:2.6;vector-effect:non-scaling-stroke;filter:drop-shadow(0 7px 9px rgba(33,71,52,.08))}.map-boundary{fill:none;stroke:#f7f6ec;stroke-width:6.5;opacity:.66;vector-effect:non-scaling-stroke}.map-topography{fill:none;stroke:#abbca6;stroke-width:1.6;opacity:.28;stroke-linecap:round;vector-effect:non-scaling-stroke}.map-caption-region{font:700 29px Georgia,serif;letter-spacing:.2em;fill:#a6b7a1;opacity:.7;pointer-events:none}.map-landmark-dot circle{fill:#234839;stroke:#f3ecda;stroke-width:2.6;vector-effect:non-scaling-stroke;transition:fill .18s}.map-landmark-dot.vrani circle{fill:#b17d4b}.map-landmark-dot{cursor:pointer;outline:none}.map-landmark-dot:hover circle,.map-landmark-dot.is-selected circle{fill:#bb6e42;stroke:#fff;stroke-width:3.7;filter:drop-shadow(0 3px 5px #183f3a88)}.map-landmark-dot text{fill:#fff;font:bold 11px system-ui,sans-serif;paint-order:stroke;pointer-events:none;text-anchor:middle;dominant-baseline:central}.map-landmark-dot:focus-visible circle{stroke:#263525;stroke-width:5}.map-landmark-dot[hidden]{display:none}
.map-zoom{position:absolute;right:17px;top:16px;display:flex;flex-direction:column;gap:4px;z-index:3}.map-zoom button{display:grid;place-items:center;width:40px;height:40px;background:rgba(255,255,255,.95);border:1px solid #cbd7cb;border-radius:9px;font-size:1.35rem;color:#234738;cursor:pointer}.map-zoom button:hover{background:#ebede3}.map-caption{position:absolute;left:16px;bottom:14px;padding:8px 11px;background:rgba(255,255,255,.91);border-radius:6px;font-size:11px;color:#506359;z-index:2}.map-caption a{color:#335f4a}.map-pop{position:absolute;left:18px;top:18px;z-index:3;background:#fffdf7;border-radius:13px;box-shadow:0 12px 35px #24392733;padding:15px 40px 15px 16px;width:min(325px,calc(100% - 95px));border:1px solid #d7d9cd}.map-pop[hidden]{display:none}.map-pop h3{font-family:Georgia,serif;margin:0 0 5px;font-size:1.25rem;color:#183c30}.map-pop p{font-size:.85rem;margin:0;line-height:1.5;color:#617469}.map-pop button{border:none;background:transparent;position:absolute;top:8px;right:8px;font-size:1.2rem;color:#516357;cursor:pointer}.map-pop a{font-size:.84rem;font-weight:700;color:#2f5f43;display:inline-block;margin-top:7px}
.map-sidebar{background:#fffcf6;border:1px solid #e0e1d5;border-radius:18px;padding:16px 12px 16px 16px;min-height:610px;max-height:610px;overflow:auto;scrollbar-color:#bacbb7 transparent;box-shadow:0 18px 46px rgba(22,44,35,.04)}.map-sidebar-heading{display:flex;justify-content:space-between;align-items:center;padding:4px 9px 12px 4px}.map-sidebar-heading strong{font-family:Georgia,serif;font-size:1.25rem;color:#2c453b}.map-site{padding:18px 15px 18px;border:1px solid #e4e5d7;border-radius:12px;background:#fff;margin:0 5px 10px 0;transition:box-shadow .2s,border-color .2s}.map-site.is-selected{border-color:#b49b6a;box-shadow:0 0 0 2px #e5d7b5}.map-site[hidden]{display:none!important}.map-site-top{display:flex;gap:12px;align-items:flex-start}.map-site-index{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e5ece6;color:#29513e;font-size:.8rem;font-weight:700}.map-site[data-work=vrani] .map-site-index{background:#f4e7d7;color:#905d32}.map-site h3{font-family:Georgia,serif;margin:1px 0 3px;font-size:1.32rem;line-height:1.2;color:#244639}.map-site .site-region{color:#88785b;font-size:.76rem;letter-spacing:.03em;font-weight:700}.map-site .site-summary{font-size:.9rem;color:#54685c;line-height:1.6;margin:12px 0}.map-site .site-expander{font-size:.82rem;color:#536e60}.map-site details summary{cursor:pointer;font-size:.85rem;color:#2b6045;font-weight:700;list-style:revert}.map-site details p{font-size:.86rem;line-height:1.67;color:#3f584b;margin:12px 0}.map-site .research-note{background:#f5f1e8;border-left:2px solid #c5a578;padding:10px 12px}.map-source-links{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.map-source-links a{font-size:.78rem;color:#325a49;text-decoration:underline;text-underline-offset:2px}.map-site .map-see{margin-top:10px;padding:9px 13px;border-radius:8px;border:1px solid #bfcfc1;background:#f8faf6;color:#2b5943;font-size:.83rem;cursor:pointer;font-weight:700}.map-site .map-see:hover{background:#e9efe8}
.map-history-bottom{padding:72px 0 85px;background:#efeee4}.map-history-bottom h2{font-size:clamp(1.8rem,3.5vw,2.6rem);margin:12px 0 15px}.map-history-bottom p{line-height:1.77;max-width:930px}.map-history-bottom .map-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:25px}.map-history-bottom .map-columns h3{font-family:Georgia,serif;font-size:1.45rem}.map-history-bottom .map-columns a{color:#2d644b;text-decoration:underline}.map-history-bottom .map-caution{border-top:1px solid #cfd3c5;margin-top:28px;padding-top:20px;color:#607468;font-size:.88rem}
.map-mini-teaser{display:grid;grid-template-columns:1.1fr auto;gap:22px;align-items:center;background:#f4efe2;border:1px solid #e4d6bc;border-radius:15px;padding:30px 35px}.map-mini-teaser h2{margin:8px 0;font-size:1.85rem}.map-mini-teaser p{margin:0;color:#526458;line-height:1.7}.map-mini-teaser .btn{white-space:nowrap}.map-teaser-section{padding:24px 0 65px;background:#f7f5ef}
@media(max-width:950px){.map-shell{grid-template-columns:1fr}.map-sidebar{max-height:none;min-height:auto;overflow:visible;padding:13px}.map-intro-grid{grid-template-columns:1fr}.map-source-note{max-width:720px}.map-history-bottom .map-columns{gap:26px}}
@media(max-width:620px){.history-map-page .map-hero{padding:52px 0 58px}.map-hero h1{font-size:2.8rem}.map-intro{padding-top:39px}.map-explorer{padding-bottom:52px}.map-filter{font-size:.8rem;padding:10px 13px}.map-shell{gap:13px}#history-map{height:420px}.map-sidebar{border-radius:12px}.map-zoom{right:10px;top:12px}.map-pop{top:10px;left:10px;padding:11px 34px 11px 12px}.map-caption{left:8px;bottom:8px;max-width:calc(100% - 20px)}.map-history-bottom{padding:50px 0}.map-history-bottom .map-columns{grid-template-columns:1fr;gap:10px}.map-mini-teaser{grid-template-columns:1fr;padding:25px}.map-mini-teaser .btn{justify-self:start}}
@media(prefers-reduced-motion:reduce){.map-site,.map-filter,.map-landmark-dot circle{transition:none}}

/* Nearby heritage sites are grouped when map markers would otherwise overlap. */
.map-cluster{cursor:pointer;outline:none}.map-cluster circle{fill:#274c42;stroke:#fff8e7;stroke-width:3.5;filter:drop-shadow(0 4px 8px #193b3844)}.map-cluster text{fill:#fff;font:700 13px sans-serif;text-anchor:middle;dominant-baseline:central;pointer-events:none}.map-cluster:focus-visible circle,.map-cluster:hover circle{stroke:#d2a570;stroke-width:5}.map-cluster-list{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin-top:10px}.map-cluster-list button{background:#edf3ed;text-align:left;padding:8px 10px;border:1px solid #cedecf;border-radius:7px;color:#1f4835;cursor:pointer;font-size:.85rem}.map-cluster-list button:hover{background:#dfece0}
