/* Weiss Immobilien – Kartenmodul (ersetzt AreaButler) · Design laut BRIEFING.md */
.wi-karte{position:relative;width:100%;height:480px;margin:0 0 15px;overflow:hidden;background:#DCD7CF;font-family:Montserrat,sans-serif;color:#222222;z-index:11}
.wi-karte [hidden]{display:none!important}
.wi-karte *,.wi-karte *::before,.wi-karte *::after{box-sizing:border-box}
.wi-karte__map{position:absolute;inset:0;width:100%;height:100%;background:#DCD7CF}
.wi-karte__map:focus-visible{outline:2px solid #F1EEE9;outline-offset:-2px}
.wi-karte .leaflet-tile-pane .leaflet-layer{transition:opacity .35s ease}
.wi-karte .leaflet-container{font-family:Montserrat,sans-serif;background:#DCD7CF}
.wi-karte .leaflet-control-container{display:none}
.wi-karte.is-map .wi-karte__map,.wi-karte.is-map .leaflet-container{background:#F1EEE9}

/* Umschalter oben rechts */
.wi-karte__switch{position:absolute;top:24px;right:24px;z-index:700;display:flex;gap:4px;padding:4px;background:#222222;box-shadow:0 6px 20px rgba(0,0,0,.22)}
/* Knöpfe: Elementor/Hello setzen globale button-Stile (17px, Rahmen, Padding) – daher hohe Spezifität + !important */
.wi-karte button.wi-karte__btn{display:flex!important;align-items:center;justify-content:center;gap:8px;width:auto;min-width:0;height:40px!important;min-height:0!important;margin:0!important;padding:0 16px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#F1EEE9!important;font-family:Montserrat,sans-serif!important;font-size:11px!important;font-weight:600!important;letter-spacing:.1em!important;line-height:1!important;text-transform:uppercase!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer;transition:background .2s ease,color .2s ease;-webkit-appearance:none;appearance:none}
.wi-karte button.wi-karte__btn:hover{background:rgba(241,238,233,.12)!important;color:#F1EEE9!important}
.wi-karte button.wi-karte__btn[aria-pressed="true"],.wi-karte button.wi-karte__btn[aria-pressed="true"]:hover{background:#F1EEE9!important;color:#222222!important}
.wi-karte button.wi-karte__btn:focus{outline:none}
.wi-karte button.wi-karte__btn:focus-visible{outline:2px solid #F1EEE9!important;outline-offset:2px}
.wi-karte button.wi-karte__btn svg{flex:none;width:16px!important;height:16px!important;margin:0;fill:none}

/* Zoomleiste unten rechts */
.wi-karte__zoom{position:absolute;right:24px;bottom:36px;z-index:700;display:flex;flex-direction:column;background:#222222;box-shadow:0 6px 20px rgba(0,0,0,.22)}
.wi-karte .wi-karte__zoom button.wi-karte__btn{width:44px!important;height:44px!important;padding:0!important;border-bottom:1px solid #444444!important}
.wi-karte .wi-karte__zoom button.wi-karte__btn:last-child{border-bottom:0!important}

/* Lage-Label unten links */
.wi-karte__label{position:absolute;left:24px;bottom:24px;z-index:700;display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:#222222;color:#F1EEE9;box-shadow:0 6px 20px rgba(0,0,0,.22);pointer-events:none}
.wi-karte .wi-karte__label-1{font-family:'Ultra System Sans Elementor','Ultra System Sans',Montserrat,sans-serif;font-size:12px;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}
.wi-karte .wi-karte__label-2{font-size:11px;line-height:1.2;color:#CFC9BF}

/* Attribution */
.wi-karte__attr{position:absolute;right:0;bottom:0;z-index:700;padding:3px 8px;background:rgba(241,238,233,.85);font-size:9px;line-height:1.3;color:#4A4744}
.wi-karte .wi-karte__attr a{color:#4A4744!important;text-decoration:none!important;font-size:9px}
.wi-karte__attr a:hover{text-decoration:underline}

/* Hinweis Strg + Scrollen / zwei Finger */
.wi-karte__hint{position:absolute;inset:0;z-index:650;display:flex;align-items:center;justify-content:center;background:rgba(34,34,34,.45);color:#F1EEE9;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:0 24px;opacity:0;pointer-events:none;transition:opacity .25s ease}
.wi-karte__hint.is-visible{opacity:1}

/* Marker */
.wi-karte__pin{position:relative;width:46px;height:58px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}
.wi-karte__pin svg{position:absolute;left:0;top:0;width:46px;height:58px}
.wi-karte__pulse{position:absolute;left:23px;top:57px;width:72px;height:72px;margin:-36px 0 0 -36px;border:2px solid rgba(241,238,233,.95);border-radius:50%;animation:wiPulse 2.4s ease-out infinite;pointer-events:none}
.wi-karte.is-map .wi-karte__pulse{border-color:rgba(34,34,34,.7)}
.wi-karte__shadow{position:absolute;left:23px;top:57px;width:18px;height:6px;margin:-3px 0 0 -9px;border-radius:50%;background:rgba(0,0,0,.35);filter:blur(2px)}
@keyframes wiPulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.wi-karte__approx{display:inline-block;padding:10px 14px;background:#222222;color:#F1EEE9;font-family:'Ultra System Sans Elementor','Ultra System Sans',Montserrat,sans-serif;font-size:11px;letter-spacing:.08em;line-height:1;white-space:nowrap;text-transform:uppercase;box-shadow:0 6px 18px rgba(0,0,0,.28);transform:translate(-50%,-50%)}
.wi-karte .leaflet-marker-icon.wi-karte__icon{background:none;border:0}
@media (prefers-reduced-motion:reduce){.wi-karte__pulse{animation:none;opacity:.6;transform:scale(1)}.wi-karte .leaflet-tile-pane .leaflet-layer{transition:none}}

/* Mobil */
@media (max-width:767px){
  .wi-karte__switch{top:0;right:16px;left:16px;margin-top:16px}
  .wi-karte .wi-karte__switch button.wi-karte__btn{flex:1 1 0;height:44px!important}
  .wi-karte__zoom{right:16px;bottom:28px}
  .wi-karte .wi-karte__zoom button.wi-karte__btn--zoom{display:none!important}
  .wi-karte__label{left:16px;bottom:28px}
  .wi-karte__pin{width:40px;height:50px}
  .wi-karte__pin svg{width:40px;height:50px}
  .wi-karte__pulse,.wi-karte__shadow{left:20px;top:49px}
}
