.pkc-portal{display:grid;gap:1rem}.pkc-hero,.pkc-card{background:#fff;border:1px solid var(--pkw-line,#d8dedb);border-radius:14px;padding:1rem}.pkc-beta-card{border:2px solid var(--pkw-accent,#275f43);background:#f4faf6}.pkc-form{display:grid;gap:.8rem}.pkc-form label{display:grid;gap:.35rem;font-weight:600}.pkc-form input,.pkc-form select,.pkc-form textarea{min-height:44px;border:1px solid #cbd3ce;border-radius:9px;padding:.65rem;font:inherit;background:#fff}.pkc-check{grid-template-columns:auto 1fr!important;align-items:start}.pkc-check input{min-height:auto}.pkc-map{height:420px;border-radius:12px;overflow:hidden;background:#eef1ef}.pkc-map--picker{height:340px}.pkc-actions{display:flex;gap:.5rem;margin:.7rem 0}.pkc-muted{color:#66736b}.pkc-success{background:#e7f2ec;padding:.7rem;border-radius:8px}.pkc-error{background:#fff0f0;padding:.7rem;border-radius:8px}.pkc-comment{border-top:1px solid #e1e6e3;padding:.8rem 0}.pkc-comment:first-child{border-top:0}.pkc-comment time{margin-left:.6rem;color:#66736b;font-size:.85rem}.pkc-comment p{margin:.4rem 0}.pkc-comments{margin-top:1rem}.pkc-map-list{margin-top:.6rem}@media(max-width:600px){.pkc-map{height:360px}.pkc-map--picker{height:300px}}

.pkc-map-strip{display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(180px,2fr) auto;align-items:center;gap:.8rem;background:#fff;border:1px solid var(--pkw-line,#d8dedb);border-radius:14px;padding:.65rem;margin:0 0 1rem}.pkc-map-strip-map{height:120px;border-radius:10px;overflow:hidden;background:#e9efeb;cursor:pointer}.pkc-map-strip-copy p{margin:.25rem 0;color:#66736b}.pkc-map-strip--guest{grid-template-columns:minmax(150px,1fr) minmax(200px,2fr) auto;background:#f4faf6}.pkc-map-strip-teaser{height:110px;border-radius:10px;background:linear-gradient(135deg,#dfeae3,#edf3ef);position:relative;overflow:hidden}.pkc-map-strip-teaser span{position:absolute;color:var(--pkw-accent,#275f43);font-size:1.3rem}.pkc-map-strip-teaser span:nth-child(1){left:18%;top:25%}.pkc-map-strip-teaser span:nth-child(2){left:56%;top:18%}.pkc-map-strip-teaser span:nth-child(3){left:39%;top:62%}.pkc-map-strip-teaser span:nth-child(4){left:76%;top:55%}@media(max-width:700px){.pkc-map-strip,.pkc-map-strip--guest{grid-template-columns:1fr}.pkc-map-strip-map,.pkc-map-strip-teaser{height:130px}.pkc-map-strip .pkw-btn{width:100%;text-align:center}}

.pkc-auth{display:grid;gap:1rem}.pkc-auth-tabs{display:flex;gap:.6rem;flex-wrap:wrap}.pkc-password{margin-top:.8rem}.pkc-password summary{cursor:pointer;font-weight:700}.pkc-password[open] summary{margin-bottom:.8rem}.pkc-logout{margin-top:1rem}.pkc-auth input{width:100%;box-sizing:border-box}

.pkc-map--large{height:min(68vh,720px)}
.pkc-map-workspace{position:relative}.pkc-map-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.pkc-map-toolbar h2{margin:0 0 .25rem}
.pkc-location-panel{margin-top:1rem}.pkc-location-panel.is-hidden{display:none}
.pkc-map-modal{position:fixed;inset:0;z-index:999999;background:rgba(13,24,19,.72);display:none;align-items:stretch;justify-content:center;padding:clamp(0px,2vw,18px)}
.pkc-map-modal.is-open{display:flex}.pkc-map-modal-bar{position:absolute;z-index:1001;top:clamp(8px,2vw,20px);left:clamp(8px,2vw,20px);right:clamp(8px,2vw,20px);display:flex;align-items:center;justify-content:space-between;gap:.7rem;background:rgba(255,255,255,.96);border-radius:12px;padding:.55rem .7rem;box-shadow:0 4px 18px rgba(0,0,0,.18)}
.pkc-map-modal-bar>div{display:flex;gap:.5rem;align-items:center}.pkc-map-close{width:44px;height:44px;border:0;border-radius:50%;background:#fff;font-size:2rem;line-height:1;cursor:pointer}.pkc-map-modal-body{width:min(1200px,100%);height:100%;background:#fff;overflow:auto;position:relative;border-radius:14px}.pkc-map--fullscreen{height:100%;min-height:100vh;border-radius:0}.pkc-map-modal .pkc-location-panel{position:absolute;z-index:1000;top:76px;right:12px;width:min(420px,calc(100% - 24px));max-height:calc(100% - 90px);overflow:auto;background:#fff;border-radius:12px;padding:1rem;box-shadow:0 4px 20px rgba(0,0,0,.24)}
body.pkc-modal-open{overflow:hidden}
@media(max-width:700px){.pkc-map-modal{padding:0}.pkc-map-modal-body{border-radius:0}.pkc-map--fullscreen{height:100dvh;min-height:100dvh}.pkc-map-modal-bar{top:8px;left:8px;right:8px}.pkc-map-modal .pkc-location-panel{top:70px;left:8px;right:8px;width:auto;max-height:calc(100dvh - 82px)}.pkc-map-toolbar{flex-direction:column}.pkc-map--large{height:72vh}}

/* TEMPORÄRE DIAGNOSE 0.2.3 – nach Behebung der Adresssuche komplett entfernbar */

/* POI-Karte */
.pkc-map-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.pkc-poi-filters{display:flex;gap:.35rem;overflow-x:auto;overflow-y:hidden;padding:.15rem 0 .5rem;scrollbar-width:thin;align-items:stretch}
.pkc-poi-filters button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;min-width:78px;max-width:104px;height:68px;border:1px solid #cbd3ce;border-radius:12px;background:#fff;padding:.35rem .45rem;font:inherit;cursor:pointer;color:#243029;line-height:1.05}
.pkc-poi-filters button.is-active{background:var(--pkw-accent,#275f43);color:#fff;border-color:var(--pkw-accent,#275f43)}
.pkc-poi-filters .pkc-poi-filter-all{min-width:64px;max-width:64px}
.pkc-poi-filter-icon{display:flex;align-items:center;justify-content:center;width:25px;height:25px;margin:0;color:#56645d;flex:0 0 25px}
.pkc-poi-filters button.is-active .pkc-poi-filter-icon{color:#fff}
.pkc-poi-filter-icon svg{display:block;width:25px;height:25px}
.pkc-poi-filter-label{display:block;max-width:94px;overflow:hidden;text-overflow:ellipsis;font-size:.74rem;font-weight:600;white-space:normal;text-align:center}
.pkc-poi-filters--modal{position:absolute;z-index:1000;top:76px;left:12px;right:12px;background:rgba(255,255,255,.96);border-radius:10px;padding:.35rem;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.pkc-poi-marker-wrap{background:transparent;border:0}
.pkc-poi-marker{display:grid;place-items:center;width:34px;height:34px;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);background:#275f43;color:#fff;border:2px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.35)}
.pkc-poi-marker-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;transform:rotate(45deg);color:#fff}
.pkc-poi-marker-icon svg{display:block;width:20px;height:20px}
.pkc-poi-marker--transmission{background:#3c84b8}.pkc-poi-marker--dryice{background:#55a7d8}.pkc-poi-marker--offroad{background:#d43c3c}.pkc-poi-marker--parts{background:#6b716d}.pkc-poi-marker--other{background:#6c786f}
.pkc-poi-popup{min-width:210px}.pkc-poi-popup-img{width:100%;max-height:140px;object-fit:cover;border-radius:8px;margin-bottom:.45rem}.pkc-poi-type{font-size:.84rem;color:#66736b;margin:.18rem 0}.pkc-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.35rem}.pkc-grid-2{display:grid;grid-template-columns:1fr 2fr;gap:.6rem}
.pkc-poi-popup-gallery{display:flex;gap:5px;overflow:auto;margin-bottom:.45rem}.pkc-poi-popup-gallery .pkc-poi-popup-img{width:110px;min-width:110px;height:82px;margin:0}
@media(max-width:700px){.pkc-map-actions{width:100%}.pkc-map-actions .pkw-btn{flex:1}.pkc-poi-filters--modal{top:68px;left:8px;right:8px}.pkc-category-grid,.pkc-grid-2{grid-template-columns:1fr}.pkc-poi-filters button{min-width:72px;max-width:92px;height:64px;padding:.3rem}.pkc-poi-filters .pkc-poi-filter-all{min-width:58px;max-width:58px}.pkc-poi-filter-icon{width:23px;height:23px;flex-basis:23px}.pkc-poi-filter-icon svg{width:23px;height:23px}.pkc-poi-filter-label{font-size:.68rem;max-width:86px}}

/* 0.7.0 – Kategorien bleiben auch beim Clustering getrennt. */
.pkc-cluster-wrap{background:transparent!important;border:0!important}
.pkc-cluster{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:3px;color:#fff;border:2px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.28);font-size:12px;line-height:1}
.pkc-cluster strong{font-size:13px}
.pkc-cluster-symbol{font-size:13px}
.pkc-cluster--user{background:#1f5d49}
.pkc-cluster--workshop{background:#59645e}
.pkc-cluster--transmission{background:#4e8fc8}
.pkc-cluster--dryice{background:#62a9db}
.pkc-cluster--offroad{background:#d44343}
.pkc-cluster--parts{background:#737373}
.pkc-cluster--other{background:#7b807d}
.pkc-overview-poi-wrap{background:transparent!important;border:0!important}
.pkc-overview-poi{display:flex;width:26px;height:30px;align-items:center;justify-content:center;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);color:#fff;border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.25);font-weight:800}
.pkc-overview-poi>*{transform:rotate(45deg)}
.pkc-overview-poi--workshop{background:#59645e}
.pkc-overview-poi--transmission{background:#4e8fc8}
.pkc-overview-poi--dryice{background:#62a9db}
.pkc-overview-poi--offroad{background:#d44343}
.pkc-overview-poi--parts{background:#737373}
.pkc-overview-poi--other{background:#7b807d}
.pkc-user-dot{stroke:#fff;fill:#1f5d49}


/* 0.7.1 – Nutzerstandorte sind visuell und in der Ebenenreihenfolge immer dominant. */
.leaflet-pkcUserPane { z-index:650 !important; }
.leaflet-pkcPoiPane { z-index:430 !important; }

.pkc-cluster-wrap--user {
  z-index:900 !important;
}
.pkc-cluster-wrap--poi {
  z-index:300 !important;
}

.pkc-cluster--user {
  width:42px !important;
  height:42px !important;
  font-size:12px !important;
}
.pkc-cluster--user strong {
  font-size:13px !important;
}

.pkc-cluster--poi {
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  min-height:22px !important;
  gap:1px !important;
  border-width:1px !important;
  box-shadow:0 1px 4px rgba(0,0,0,.22) !important;
  font-size:8px !important;
}
.pkc-cluster--poi strong {
  font-size:9px !important;
}
.pkc-cluster--poi .pkc-cluster-symbol {
  font-size:8px !important;
}

.pkc-overview-poi {
  width:14px !important;
  height:17px !important;
  border-width:1px !important;
  box-shadow:0 1px 3px rgba(0,0,0,.2) !important;
  font-size:8px !important;
}

/* Auch individuelle POI-Pins in der großen Karte ungefähr halb so groß wie Nutzerpins. */
.pkc-poi-icon-wrap {
  transform:scale(.55);
  transform-origin:50% 100%;
}

/* 0.7.2 – In der großen Karte sind alle Kategorien ohne horizontales Suchen sichtbar. */
.pkc-poi-filters--modal{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:.28rem !important;
  overflow:visible !important;
  align-items:stretch;
}
.pkc-poi-filters--modal button,
.pkc-poi-filters--modal .pkc-poi-filter-all{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}
@media(max-width:700px){
  .pkc-poi-filters--modal{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.22rem !important;
    padding:.3rem !important;
  }
  .pkc-poi-filters--modal button,
  .pkc-poi-filters--modal .pkc-poi-filter-all{
    height:54px !important;
    padding:.2rem .16rem !important;
  }
  .pkc-poi-filters--modal .pkc-poi-filter-icon{
    width:18px !important;
    height:18px !important;
    flex-basis:18px !important;
  }
  .pkc-poi-filters--modal .pkc-poi-filter-icon svg{
    width:18px !important;
    height:18px !important;
  }
  .pkc-poi-filters--modal .pkc-poi-filter-label{
    max-width:100% !important;
    font-size:.58rem !important;
    line-height:1.02 !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}


/* 0.7.4 – eindeutige Farbzuordnung pro Kartenkategorie */
.pkc-cluster--user {
  background:#2f80c9 !important; /* Mitglieder = blau */
}

.pkc-cluster--workshop,
.pkc-overview-poi--workshop {
  background:#2f7d4a !important; /* Werkstatt = grün */
}

.pkc-cluster--transmission,
.pkc-overview-poi--transmission {
  background:#7a5a2b !important; /* Getriebeöl = braun/amber */
}

.pkc-cluster--dryice,
.pkc-overview-poi--dryice {
  background:#55a9d6 !important; /* Trockeneis = hellblau */
}

.pkc-cluster--offroad,
.pkc-overview-poi--offroad {
  background:#d4473f !important; /* Offroad = rot */
}

.pkc-cluster--parts,
.pkc-overview-poi--parts {
  background:#7656a8 !important; /* Teile/Spezial = violett */
}

.pkc-cluster--other,
.pkc-overview-poi--other {
  background:#777d80 !important; /* Sonstiges = grau */
}

.pkc-user-dot {
  stroke:#fff !important;
  fill:#2f80c9 !important;
}

/* 0.7.5 – kompakte POI-Popups */
.pkc-poi-popup{width:min(280px,72vw);margin:0;overflow:hidden;border-radius:10px}
.pkc-poi-popup-image{display:block;width:100%;height:120px!important;max-height:120px!important;object-fit:cover;margin:0 0 8px;border-radius:8px}
.pkc-poi-popup-body{display:flex;flex-direction:column;gap:5px}
.pkc-poi-popup-title{display:block;font-size:15px;line-height:1.25;color:#1f2b26}
.pkc-poi-popup-category{display:inline-flex;align-self:flex-start;padding:2px 7px;border-radius:999px;background:#edf1ef;color:#58635e;font-size:11px;font-weight:700}
.pkc-poi-popup-address,.pkc-poi-popup-contact{font-size:12px;line-height:1.35;color:#4e5853}
.pkc-poi-popup-description{margin:2px 0 0;font-size:12px;line-height:1.35;color:#4e5853}
.pkc-poi-popup-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.pkc-poi-popup-action{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border:1px solid #d7ddd9;border-radius:8px;background:#fff;color:#1f5d49;font-size:11px;font-weight:700;text-decoration:none}
.leaflet-popup-content{margin:10px 12px!important;max-width:280px!important}
.leaflet-popup-content-wrapper{border-radius:12px!important}


/* 0.7.6 – Karten-Popups überall einheitlich */
.pkc-map-popup,.pkc-poi-popup{width:min(270px,72vw);margin:0;overflow:hidden}
.pkc-map-popup-body,.pkc-poi-popup-body{display:flex;flex-direction:column;gap:5px}
.pkc-map-popup-title,.pkc-poi-popup-title{display:block;font-size:15px;line-height:1.25;color:#1f2b26}
.pkc-map-popup-category,.pkc-poi-popup-category{display:inline-flex;align-self:flex-start;padding:2px 7px;border-radius:999px;background:#edf1ef;color:#58635e;font-size:11px;font-weight:700}
.pkc-map-popup-address,.pkc-poi-popup-address,.pkc-poi-popup-contact{font-size:12px;line-height:1.35;color:#4e5853}

/* Altbestand und neue POI-Fotos strikt auf kleine Vorschau begrenzen. */
.pkc-poi-popup img,.pkc-poi-popup-image,.pkc-poi-popup-img,.pkc-poi-popup-gallery img{
  display:block!important;width:100%!important;height:100px!important;max-height:100px!important;
  object-fit:cover!important;margin:0 0 8px!important;border-radius:8px!important
}
.pkc-poi-popup-gallery{display:block!important;overflow:hidden!important;margin:0!important}
.pkc-poi-popup-gallery img:not(:first-child){display:none!important}

.pkc-poi-popup-contact{display:flex;align-items:center;gap:5px}
.pkc-poi-popup-contact svg{width:13px;height:13px;flex:0 0 13px}

.pkc-poi-popup-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.pkc-poi-popup-action{
  display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 8px;
  border:1px solid #d7ddd9;border-radius:8px;background:#fff;color:#1f5d49;
  font-size:11px;font-weight:700;line-height:1;text-decoration:none
}
.pkc-poi-popup-action svg{
  width:14px!important;height:14px!important;max-width:14px!important;max-height:14px!important;
  flex:0 0 14px;display:block
}
.pkc-poi-popup-action span{display:inline-block}

/* Kein Theme/Emoji darf in Leaflet-Popups ein Symbol aufblasen. */
.leaflet-popup-content .emoji,.leaflet-popup-content img.emoji{
  width:1em!important;height:1em!important;max-width:1em!important;max-height:1em!important;
  display:inline-block!important;margin:0!important
}
