.mz{--bg1:#F8F6F2;--bg2:#F0EDE7;--bg3:#E4E0D9;--bgE:#FFF;--t1:#0D0D0D;--t2:#3D3D3D;--t3:#6B6B6B;--tm:#8A8A8A;--ac:#2E6B47;--acH:#3A7D56;--acL:#4A9A6A;--acBg:#EDF7F1;--acBr:#B8DDCA;--dk:#0F2D1F;--dkE:#1A3D2B;--dkT:#F8F6F2;--dkTs:#C5C0B5;--svgBg:#F0EDE7;--hlFill:rgba(46,107,71,.06);--vojFill:rgba(228,224,217,.3);--vojStroke:#E4E0D9;--dotStroke:#fff;--hoverFill:rgba(46,107,71,.18);font-family:'Space Grotesk',system-ui,sans-serif;background:var(--bg1);padding:0 16px}
[data-theme="dark"] .mz{--bg1:#121212;--bg2:#1A1A1A;--bg3:#2A2A2A;--bgE:#1E1E1E;--t1:#E8E4DE;--t2:#C5C0B5;--t3:#9A9590;--tm:#6B6B6B;--ac:#4A9A6A;--acH:#5AAF7A;--acL:#6BC48A;--acBg:rgba(74,154,106,.10);--acBr:rgba(74,154,106,.25);--dk:#0F2D1F;--dkE:#1A3D2B;--dkT:#F8F6F2;--dkTs:#C5C0B5;--svgBg:#1A1A1A;--hlFill:rgba(74,154,106,.12);--vojFill:rgba(42,42,42,.5);--vojStroke:#2A2A2A;--dotStroke:#1E1E1E;--hoverFill:rgba(74,154,106,.22)}
.mz *{box-sizing:border-box;margin:0;padding:0}
.mz-header{max-width:1200px;margin:0 auto;padding:40px 0 20px}
.mz-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-body);font-size:0.6875rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--ac);margin-bottom:20px}
.mz-eyebrow-line{display:none}
.mz-title{font-size:clamp(1.375rem,3vw,2.125rem);font-weight:700;color:var(--t1);letter-spacing:-.01em;line-height:1.2}
.mz-title em{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-style:normal;color:var(--ac)}
.mz-subtitle{font-size:0.875rem;color:var(--t3);margin-top:10px;max-width:560px;line-height:1.6}
.mz-content{max-width:1200px;margin:0 auto;display:flex;gap:20px;margin-bottom:48px;align-items:stretch}
.mz-map-wrap{flex:1 1 0%;min-width:0;position:relative}
.mz-map-inner{border-radius:14px;overflow:hidden;border:1px solid var(--bg3);box-shadow:0 8px 32px rgba(13,13,13,.06);background:var(--bg2);position:relative;height:100%;display:flex;flex-direction:column}
.mz-map-inner svg{display:block;width:100%;flex:1 1 auto}
.mz-toggle{position:absolute;top:12px;right:12px;z-index:15;display:flex;align-items:center;gap:6px;padding:7px 16px;border-radius:8px;font-size:0.6875rem;font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(13,13,13,.08);letter-spacing:.3px;font-family:inherit;transition:all .2s ease;white-space:nowrap}
.mz-toggle.regional{background:var(--bgE);color:var(--t2);border:1px solid var(--bg3)}
.mz-toggle.poland{background:var(--ac);color:#fff;border:1px solid var(--ac)}
.mz-tooltip{position:absolute;background:var(--bgE);border-radius:10px;padding:8px 12px;box-shadow:0 6px 20px rgba(13,13,13,.1);border:1px solid var(--bg3);pointer-events:none;z-index:10;min-width:150px;display:none;font-family:inherit}
.mz-tooltip-name{font-size:0.75rem;font-weight:700;color:var(--t1)}
.mz-tooltip-sub{font-size:0.625rem;color:var(--t3);margin-top:2px}
.mz-legend{position:absolute;bottom:12px;left:12px;background:var(--bgE);border-radius:10px;padding:9px 12px;box-shadow:0 3px 12px rgba(13,13,13,.05);border:1px solid var(--bg3);font-size:0.625rem;z-index:5;max-width:170px}
.mz-legend-title{font-size:0.5rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--tm);margin-bottom:5px}
.mz-legend-item{display:flex;align-items:center;gap:6px;margin-bottom:2px;color:var(--t2)}
.mz-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.mz-dot-hq{background:var(--ac);box-shadow:0 0 0 3px rgba(46,107,71,.2)}
.mz-dot-so{background:var(--acL)}
.mz-dot-sr{background:var(--acBr)}
.mz-sidebar{width:clamp(280px,30vw,360px);flex-shrink:0;display:flex;flex-direction:column}
.mz-sidebar .mz-card{animation:mzFi .2s ease-out;display:flex;flex-direction:column;flex:1}
.mz-sidebar .mz-card-body{flex:1}
@keyframes mzFi{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.mz-card-head{padding:14px 16px 12px;border-radius:14px 14px 0 0;position:relative;overflow:hidden}
.mz-card-head::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:14px 14px 0 0;opacity:.5}
.mz-card-head.dark{background:linear-gradient(145deg,var(--dk),var(--dkE))}
.mz-card-head.dark::before{background:linear-gradient(90deg,var(--acL),transparent 60%)}
.mz-card-head.appeal{background:linear-gradient(145deg,#1e1e2e,#2a2a3e)}
.mz-card-body{padding:12px 16px 16px;background:var(--bgE);border-radius:0 0 14px 14px}
.mz-card-city{font-size:1rem;font-weight:700;color:var(--dkT)}
.mz-card-badge{display:inline-flex;align-items:center;gap:4px;font-size:0.5625rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:3px 9px;border-radius:100px;background:rgba(74,154,106,.12);color:var(--acL);border:1px solid rgba(74,154,106,.22);margin-top:4px}
.mz-stats{display:flex;gap:6px;margin-top:10px}
.mz-stat{flex:1;text-align:center;padding:6px 2px;border-radius:7px;background:rgba(46,107,71,.07);border:1px solid rgba(46,107,71,.13)}
.mz-stat-val{display:flex;justify-content:center;align-items:center;gap:3px;color:var(--acL)}
.mz-stat-val strong{font-size:0.75rem;font-weight:700;color:var(--dkT)}
.mz-stat-lbl{font-size:0.4375rem;color:var(--dkTs);margin-top:1px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}
.mz-sect-title{font-size:0.5625rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--tm);margin-bottom:5px}
.mz-court-item{font-size:0.75rem;color:var(--t2);line-height:1.4;display:flex;align-items:flex-start;gap:6px;padding:2px 0}
.mz-court-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-top:5px;background:var(--acBg);border:1.5px solid var(--acBr)}
.mz-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.mz-tag{font-size:0.625rem;font-weight:600;padding:3px 8px;border-radius:100px;background:var(--acBg);color:var(--ac);border:1px solid var(--acBr)}
.mz-trust{display:flex;flex-direction:column;gap:3px;margin-bottom:12px;padding:7px 10px;border-radius:8px;background:var(--bg2);border:1px solid var(--bg3)}
.mz-trust-item{display:flex;align-items:center;gap:5px;font-size:0.6875rem;color:var(--t2)}
.mz-trust-item svg{color:var(--ac);flex-shrink:0}
.mz-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;background:var(--ac);color:#fff;border-radius:10px;font-size:0.8125rem;font-weight:700;text-decoration:none;cursor:pointer;border:none;width:100%;font-family:inherit;transition:all .2s}
.mz-btn-primary:hover{background:var(--acH);transform:translateY(-2px);box-shadow:0 8px 24px rgba(46,107,71,.25)}
.mz-btn-ghost{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;background:transparent;color:var(--t2);border-radius:10px;font-size:0.75rem;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid var(--bg3);margin-top:6px;width:100%;font-family:inherit;transition:all .2s}
.mz-btn-ghost:hover{border-color:var(--ac);color:var(--t1);transform:translateY(-2px)}
.mz-card-link{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--bg3);font-size:0.6875rem;font-weight:600;color:var(--ac);text-decoration:none;cursor:pointer}
.mz-card-link:hover{gap:10px}
.mz-appeal-name{font-size:0.875rem;font-weight:700;color:#F8F6F2;display:flex;align-items:center;gap:8px}
.mz-appeal-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.mz-appeal-vojs{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px}
.mz-appeal-voj{font-size:0.5625rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:3px 8px;border-radius:100px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.12)}
.mz-so-item{font-size:0.75rem;color:var(--t2);line-height:1.4;display:flex;align-items:center;gap:6px;padding:3px 0}
.mz-ours-badge{padding:8px 10px;border-radius:8px;background:var(--acBg);border:1px solid var(--acBr);margin-bottom:12px;font-size:0.6875rem;color:var(--ac);font-weight:600;display:flex;align-items:center;gap:5px}
@media(max-width:960px){
    .mz-content{flex-direction:column;gap:12px}
    .mz-map-wrap{width:100%}
    .mz-sidebar{width:100%;position:static}
}
@media(max-width:600px){
    .mz{padding:0}
    .mz-map-inner{border-radius:0;border-left:none;border-right:none}
    .mz-sidebar{padding:0 16px}
    .mz-header{padding-left:16px;padding-right:16px}
    .mz-content{margin-bottom:32px}
}
@keyframes mzPulse{0%{r:6;opacity:.3}50%{r:14;opacity:0}100%{r:6;opacity:.3}}
.mz-pulse{animation:mzPulse 2.5s infinite}
