/* Jobs auf der Karte (inc/design/karte.php): Kasten „Arbeitsort“ auf der Jobseite, Liste | Karte in der Jobsuche. */

/* ---------- Jobseite: Arbeitsort ---------- */
.grz-job-seite:has(.grz-km-ort){position:static}
.grz-km-bild{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:9/5;background:#eef0f2}
.grz-km-bild img{width:100%;height:100%;object-fit:cover;display:block}
.grz-km-pin{position:absolute;left:50%;top:50%;margin:-44px 0 0 -17px}
body a.grz-km-gross{position:absolute;right:8px;top:8px;display:inline-flex;align-items:center;min-height:36px;padding:0 12px;background:#fff;border-radius:50px;box-shadow:0 2px 8px rgba(16,38,58,.18);color:var(--grz-nacht);font:500 13px/1 var(--grz-f-text);text-decoration:none}
.grz-km-quelle{position:absolute;right:0;bottom:0;padding:2px 8px;background:rgba(255,255,255,.85);font-size:11px;color:var(--grz-grau)}
.grz-job-box .grz-km-adresse{display:flex;flex-direction:column;gap:2px;margin:0;font-size:14px;color:#3c4043}
.grz-km-adresse strong{font:500 15px/1.35 var(--grz-f-titel);color:var(--grz-nacht)}
.grz-km-adresse small{font-size:13px;color:var(--grz-grau)}
.grz-km-knoepfe{display:flex;gap:8px;flex-wrap:wrap}
body .grz-job .grz-km-knoepfe .grz-btn{flex:1 1 auto;min-height:44px;font-size:15px;padding:0 14px;justify-content:center}
body .grz-job .grz-km-h3{font:700 17px/1.2 var(--grz-f-head);color:var(--grz-nacht);margin:6px 0 0}
.grz-km-nah{list-style:none;margin:0;padding:0}
body .grz-job-box .grz-km-nah a{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--grz-linie);color:var(--grz-tinte);text-decoration:none}
body .grz-km-nah a:hover b{color:var(--grz-blau)}
.grz-km-nah span{display:flex;flex-direction:column;gap:2px;min-width:0}
.grz-km-nah b{font:500 14px/1.3 var(--grz-f-titel)}
.grz-km-nah small,.grz-km-nah em{font-size:13px;color:var(--grz-grau);font-style:normal}
.grz-km-nah em{white-space:nowrap}

/* ---------- Jobsuche: Umschalter ---------- */
.grz-km-umschalter{display:inline-flex;gap:2px;padding:3px;margin:0 0 16px;background:#fff;border:1px solid var(--grz-linie);border-radius:10px}
.grz-km-umschalter button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 18px;border:0;border-radius:8px;background:transparent;color:var(--grz-grau);font:500 15px/1 var(--grz-f-text);cursor:pointer}
.grz-km-umschalter button[aria-pressed="true"]{background:var(--grz-flaeche);color:var(--grz-nacht);box-shadow:0 1px 4px rgba(16,38,58,.15)}
.grz-km-umschalter button:focus-visible{outline:2px solid var(--grz-blau);outline-offset:2px}

/* ---------- Jobsuche: Karte ---------- */
.grz-km-karte{display:none;position:relative;border-radius:18px;overflow:hidden;background:#eef0f2;border:1px solid var(--grz-linie)}
body.grz-km-an .grz-km-karte{display:block}
.grz-km-map{position:absolute;inset:0;font-family:var(--grz-f-text)}
.grz-km-karte .leaflet-container{background:#f7f8fa}
.grz-km-karte .leaflet-tile-pane{opacity:.62} /* Landeskarte aufhellen, damit die Punkte vorne stehen */
.grz-km-lade{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:15px;color:var(--grz-grau)}
.grz-km-info{position:absolute;right:12px;top:12px;z-index:500;padding:8px 14px;background:#fff;border-radius:50px;box-shadow:0 2px 10px rgba(16,38,58,.18);font:500 14px/1.2 var(--grz-f-text);color:var(--grz-nacht)}
.grz-km-zahl{display:grid;place-items:center;width:100%;height:100%;box-sizing:border-box;border-radius:50%;border:3px solid #fff;background:#0369a1;color:#fff;font:700 13px/1 var(--grz-f-text);box-shadow:0 2px 8px rgba(16,38,58,.3)}
.grz-km-punkt{display:block;width:100%;height:100%;border-radius:50%;border:3px solid #fff;background:var(--grz-rot);box-sizing:border-box;box-shadow:0 2px 6px rgba(16,38,58,.35)}
.grz-km-hell .grz-km-zahl,.grz-km-hell .grz-km-punkt{background:var(--grz-rot);transform:scale(1.25)}
.grz-km-karte .leaflet-div-icon{background:none;border:0}
.grz-km-karte .leaflet-popup-content{margin:14px 16px;min-width:240px}
.grz-km-karte .leaflet-popup-content-wrapper{border-radius:14px}
.grz-km-jobs h3{margin:0 0 6px;font:700 16px/1.2 var(--grz-f-head);color:var(--grz-nacht)}
.grz-km-jobs ul{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}
.grz-km-jobs li a{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-top:1px solid var(--grz-linie);color:var(--grz-tinte)!important;text-decoration:none!important}
.grz-km-jobs li a:hover b{color:var(--grz-blau)}
.grz-km-jobs b{font:500 14px/1.3 var(--grz-f-titel)}
.grz-km-jobs small{font-size:13px;color:var(--grz-grau)}
.grz-km-jobs .grz-km-mehr{display:block;margin-top:8px;font-size:14px;font-weight:500}
.grz-km-blatt{position:absolute;left:10px;right:10px;bottom:24px;z-index:600;background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(16,38,58,.25);padding:14px 16px}
.grz-km-blatt[hidden]{display:none}
.grz-km-zu{position:absolute;right:6px;top:6px;width:44px;height:44px;border:0;background:none;color:var(--grz-grau);font-size:24px;line-height:1;cursor:pointer}

@media (min-width:1025px){
  /* Liste links, Karte rechts statt der Seitenleiste (die läuft schon sticky mit) */
  body.grz-km-an .elementor-437460.elementor-location-archive{grid-template-columns:24px minmax(0,1fr) minmax(0,1.15fr) 24px}
  body.grz-km-an .elementor-437460 > .elementor-element-6ac8b8e > .e-con-inner > :not(.grz-km-karte){display:none}
  body.grz-km-an .elementor-437460 > .elementor-element-6ac8b8e{top:96px}
  .grz-km-karte{height:calc(100vh - 120px);width:100%}
}
@media (max-width:1024px){
  .grz-km-umschalter{display:flex;margin:0 0 12px}
  .grz-km-umschalter button{flex:1 1 0}
  .grz-km-karte{height:calc(100svh - 150px);min-height:420px;margin:0 0 16px}
  body.grz-km-an .jobs-listing-wrapper,
  body.grz-km-an .elementor-437460 > .elementor-element-6ac8b8e,
  body.grz-km-an .elementor-437460 > .elementor-element-dd5d492{display:none}
}
