/* NC PV- & Heizungskataster — Luftbild-Einzeichnung (Formular und Backend) */
.ncpvk-lage [hidden]{display:none!important}
.ncpvk-lage-map{height:clamp(340px,60vh,560px);min-height:340px;border:2px solid var(--navy,#0B2340);margin:.6rem 0;background:#e9edf2}
.ncpvk-lage-laden,.ncpvk-lage-reset{font:inherit;font-weight:800;border:2px solid var(--navy,#0B2340);background:#fff;color:var(--navy,#0B2340);padding:.6rem 1rem;min-height:44px;cursor:pointer;border-radius:0}
.ncpvk-lage-laden{background:var(--navy,#0B2340);color:#fff}
.ncpvk-lage-info{font-weight:700;color:var(--navy,#0B2340);margin:.4rem 0}

.ncpvk-lage-leiste{display:flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 .4rem}
.ncpvk-lage-fertig,.ncpvk-lage-zurueck,.ncpvk-lage-weg{font:inherit;font-weight:800;border:2px solid var(--navy,#0B2340);background:#fff;color:var(--navy,#0B2340);padding:.6rem 1rem;min-height:44px;cursor:pointer;border-radius:0}
.ncpvk-lage-fertig{background:var(--red,#C8102E);border-color:var(--red,#C8102E);color:#fff}
.ncpvk-lage-leiste button:disabled{opacity:.45;cursor:not-allowed}
.ncpvk-lage-fertig:focus-visible,.ncpvk-lage-zurueck:focus-visible{outline:3px solid var(--navy,#0B2340);outline-offset:2px}
.ncpvk-lage .leaflet-control-attribution a{text-decoration:underline;color:#0B2340}

.ncpvk-lage-werkzeug{border:2px solid var(--navy,#0B2340);padding:.6rem .8rem .7rem;margin:.6rem 0 0;background:#fff}
.ncpvk-lage-werkzeug>legend,.ncpvk-lage-legtitel{font-weight:800;color:var(--navy,#0B2340);padding:0 .3rem;margin:0}
.ncpvk-lage-legende{list-style:none;margin:.3rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.3rem .8rem}
.ncpvk-lage-legende li{margin:0}
.ncpvk-lage-legende label,.ncpvk-lage-nurlegende li{display:flex;align-items:center;gap:.55rem;min-height:44px;padding:.2rem .5rem;cursor:pointer;border:2px solid transparent}
.ncpvk-lage-legende input{width:20px;height:20px;margin:0;accent-color:var(--navy,#0B2340);flex:none}
.ncpvk-lage-legende label:has(input:checked){border-color:var(--navy,#0B2340);background:#EEF2F7}
.ncpvk-lage-legende input:focus-visible{outline:3px solid var(--red,#C8102E);outline-offset:2px}
.ncpvk-sym{display:inline-block;flex:none}
.ncpvk-sym-flaeche{width:24px;height:16px;background:color-mix(in srgb,var(--c) 35%,#fff);border:3px solid var(--c)}
.ncpvk-sym-punkt{width:18px;height:18px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px #fff,0 0 0 3px var(--navy,#0B2340)}
.ncpvk-lage-legtext{font-weight:600;line-height:1.25}

.ncpvk-kurz{display:none}
@media (max-width:640px){
.ncpvk-lage-werkzeug{padding:.35rem .4rem .45rem}
.ncpvk-lage-werkzeug>legend,.ncpvk-lage-legtitel{font-size:.9rem}
.ncpvk-lage-legende{display:flex;flex-wrap:wrap;gap:.3rem}
.ncpvk-lage-legende label,.ncpvk-lage-nurlegende li{min-height:40px;padding:.15rem .45rem;gap:.35rem;border:2px solid #C9D1DC;font-size:.88rem}
.ncpvk-lage-legende input{width:16px;height:16px}
.ncpvk-lang{display:none}.ncpvk-kurz{display:inline}
.ncpvk-sym-flaeche{width:18px;height:12px;border-width:2px}
.ncpvk-sym-punkt{width:14px;height:14px}
.ncpvk-lage-map{height:58svh;min-height:300px;margin:.4rem 0}
.ncpvk-lage-leiste{gap:.35rem}
.ncpvk-lage-leiste button{padding:.45rem .7rem;font-size:.88rem}
}

.ncpvk-lage-sorte{border:0;border-top:2px solid #7B2CBF;margin:.5rem 0 0;padding:.4rem 0 0}
.ncpvk-lage-sorte>legend{font-weight:800;color:#5B1F8F;padding:0 .3rem 0 0;font-size:.95rem}
.ncpvk-lage-sorten{display:flex;flex-wrap:wrap;gap:.3rem}
.ncpvk-lage-sorten label{display:flex;align-items:center;gap:.35rem;min-height:40px;padding:.15rem .6rem;border:2px solid #C9D1DC;cursor:pointer;font-weight:600}
.ncpvk-lage-sorten label:has(input:checked){border-color:#7B2CBF;background:#F3ECFA}
.ncpvk-lage-sorten input{width:18px;height:18px;margin:0;accent-color:#7B2CBF}
.ncpvk-lage-sorten input:focus-visible{outline:3px solid var(--red,#C8102E);outline-offset:2px}
.leaflet-tooltip.ncpvk-tt{background:#fff;color:#3E1566;border:2px solid #7B2CBF;border-radius:0;font-weight:700;padding:1px 5px;box-shadow:none}
.leaflet-tooltip.ncpvk-tt::before{display:none}
/* Mobil kompakt: 2 Spalten, Radio nur für Screenreader/Tastatur, Auswahl über Rahmen */
@media (max-width:640px){
.ncpvk-lage .ncpvk-lage-legende{display:grid!important;grid-template-columns:1fr 1fr;gap:.25rem;margin:.25rem 0 0!important;padding:0!important}
.ncpvk-lage .ncpvk-lage-legende li{margin:0!important;padding:0!important;list-style:none}
.ncpvk-lage .ncpvk-lage-legende li::before{display:none}
.ncpvk-lage-legende label,.ncpvk-lage-nurlegende li,.ncpvk-lage-sorten label{position:relative;min-height:38px;padding:.1rem .4rem;font-size:.82rem;line-height:1.15}
.ncpvk-lage-legende input,.ncpvk-lage-sorten input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ncpvk-lage-legende label:has(input:checked),.ncpvk-lage-sorten label:has(input:checked){border-width:3px;padding:calc(.1rem - 1px) calc(.4rem - 1px)}
.ncpvk-lage-legende label:has(input:focus-visible),.ncpvk-lage-sorten label:has(input:focus-visible){outline:3px solid var(--red,#C8102E);outline-offset:1px}
.ncpvk-lage-sorte{margin-top:.3rem;padding-top:.25rem}
.ncpvk-lage-sorte>legend{font-size:.85rem}
.ncpvk-lage-sorten{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem}
.ncpvk-lage-sorten label{justify-content:center;padding:.1rem .2rem}
}

/* Bearbeiten: ziehbare Punkte und Ecken, Auswahl gelb umrandet */
.ncpvk-pin{background:none;border:0}
.ncpvk-pin span{display:block;width:100%;height:100%;box-sizing:border-box;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #0B2340;cursor:grab}
.ncpvk-pin.ncpvk-pin-aktiv span{border-color:#FFD400;box-shadow:0 0 0 2px #0B2340}
.ncpvk-lage-weg:not(:disabled){border-color:var(--red,#C8102E);color:var(--red,#C8102E)}
