/* ROD Energetyk 0.25 — independent SVG map, based on the provided image */
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,system-ui,"Segoe UI",Arial,sans-serif;color:#173a2b;background:#f6faf7}
.rod-map-page{width:100%;margin:0 auto;padding:14px 20px 18px;max-width:1480px}
.rod-map-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:15px}
.rod-map-brand{display:flex;align-items:center;gap:12px}
.rod-map-icon{display:grid;place-items:center;border-radius:14px;background:#e2f6e7;color:#11823c;width:48px;height:48px;font-size:25px}
.rod-map-head h1{margin:0;font-size:clamp(20px,2.2vw,29px);line-height:1.2}
.rod-map-head p{margin:4px 0 0;color:#657a6d;font-size:13px}
.rod-map-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rod-map-controls label{font-size:13px;font-weight:700}
.rod-map-controls input{width:95px;height:41px;border:1px solid #bdd5c5;border-radius:8px;padding:6px 9px;font-size:16px;background:#fff}
.rod-map-button{min-height:41px;padding:8px 12px;background:#fff;border:1px solid #b9d4c2;border-radius:9px;color:#194c2c;font-weight:750;cursor:pointer}
.rod-map-button:hover{background:#e8f6ea}.rod-map-button.primary{background:#118239;color:#fff;border-color:#118239}
.rod-map-stage{width:min(100%,1180px);height:auto;min-height:0;aspect-ratio:1672/941;margin:0 auto;border:1px solid #b7d1bc;border-radius:14px;overflow:hidden;background:#d3e8b8;box-shadow:0 10px 30px rgba(27,77,42,.12)}
.rod-map-port{height:100%;width:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.rod-map-svg{display:block;max-width:none;height:auto;margin:0 auto;user-select:none}
.rod-map-polygon{fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer;outline:0}
.rod-map-polygon:hover,.rod-map-polygon:focus{fill:rgba(10,156,59,.25);stroke:#fff;stroke-width:3}
.rod-map-polygon.selected{fill:rgba(2,130,53,.65);stroke:#fff;stroke-width:3.5;filter:drop-shadow(0 2px 3px rgba(0,40,18,.65))}
#rod-map-marker{pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,40,18,.55))}
.rod-map-caption{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:13px 0 0;font-size:14px}
.rod-map-caption strong{color:#087835;font-size:16px}
.rod-map-notice{color:#9d5814;font-size:13px;font-weight:650;margin:10px 0 0;min-height:16px}
.rod-map-warning{color:#7b857b;font-size:12px;margin-top:10px;max-width:1000px;line-height:1.4}
.rod-map-preview .rod-map-page{padding:0;max-width:none;height:100%}
.rod-map-preview .rod-map-head,.rod-map-preview .rod-map-caption,.rod-map-preview .rod-map-warning{display:none}
.rod-map-preview,.rod-map-preview body{height:100%;min-height:0;overflow:hidden}
.rod-map-preview .rod-map-stage{width:100%;max-width:none;height:100vh;min-height:0;aspect-ratio:auto;margin:0;border:0;border-radius:0;box-shadow:none}
.rod-map-preview .rod-map-polygon{pointer-events:none;cursor:default}
.rod-map-preview .rod-map-notice{position:absolute;inset:auto 8px 7px;min-height:0;padding:8px;background:#fffdf2;border-radius:7px;color:#7b590d;font-size:12px}
@media(max-width:680px){.rod-map-page{padding:10px}.rod-map-stage{width:100%;aspect-ratio:1672/941}.rod-map-controls{width:100%}.rod-map-caption strong{font-size:14px}}

/* Obiekty specjalne mają tylko punkt lokalizacyjny; ich granice nie zostały zmapowane. */
.rod-map-special{stroke:rgba(21,110,51,.75);stroke-width:2;stroke-dasharray:5 5;fill:rgba(255,255,255,.07)}
.rod-map-special.selected{fill:rgba(7,121,55,.28);stroke:white;stroke-width:4;stroke-dasharray:none}


/* 0.25.2 – accessible return navigation for the standalone map. */
.rod-map-return{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.rod-map-back,.rod-map-home{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:10px;text-decoration:none;font-size:14px;font-weight:800}
.rod-map-back{background:#137e39;color:#fff;border:1px solid #137e39;box-shadow:0 3px 9px rgba(11,99,47,.15)}
.rod-map-back:hover,.rod-map-back:focus-visible{background:#075f2b;color:#fff}
.rod-map-home{background:#fff;border:1px solid #bad8c5;color:#19653b}
.rod-map-home:hover,.rod-map-home:focus-visible{background:#e6f7e9}
.rod-map-preview .rod-map-return{display:none}
@media(max-width:680px){.rod-map-return{flex-wrap:wrap}.rod-map-back{flex:1}.rod-map-home{font-size:12px}}

/* 0.26 – cały plan mieści się w widoku początkowym; zoom nadal działa. */
.rod-map-page:not([data-mode="preview"]) .rod-map-caption,
.rod-map-page:not([data-mode="preview"]) .rod-map-warning{
  width:min(100%,1180px);
  margin-left:auto;
  margin-right:auto;
}

/* 0.27 – mini-mapa ma wyglądać jak obraz, bez pasków przewijania */
.rod-map-preview .rod-map-port{overflow:hidden!important;scrollbar-width:none!important;-ms-overflow-style:none}
.rod-map-preview .rod-map-port::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.rod-map-preview .rod-map-svg{pointer-events:none}

/* 0.28 – preview jest kadrem SVG, a nie przewijanym obszarem. */
.rod-map-preview .rod-map-port{overflow:hidden!important}
.rod-map-preview .rod-map-svg{width:100%!important;height:100%!important;max-width:100%!important;margin:0!important}

/* ROD 0.28.3 – pusty komunikat preview nie może tworzyć białego paska. */
.rod-map-preview .rod-map-notice:empty{
  display:none!important;
  position:static!important;
  inset:auto!important;
  min-height:0!important;
  width:0!important;
  height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
