/* Builder MDC Standorte */
.mdc-standorte{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.mdc-standorte--cols-1{grid-template-columns:1fr}
.mdc-standorte--cols-2{grid-template-columns:repeat(2,1fr)}
.mdc-standorte--cols-3{grid-template-columns:repeat(3,1fr)}
.mdc-standorte--cols-4{grid-template-columns:repeat(4,1fr)}
.mdc-standorte--list{grid-template-columns:1fr}
/* Mobil: Grid bleibt bei mind. 2 Spalten (keine vollbreiten Bilder);
   Liste und ein bewusst gewähltes 1-Spalten-Grid bleiben einspaltig. */
@media (max-width:768px){
	.mdc-standorte--grid{grid-template-columns:repeat(2,1fr)}
	.mdc-standorte--grid.mdc-standorte--cols-1{grid-template-columns:1fr}
}

.mdc-standort{margin:0;display:flex;flex-direction:column;gap:.4rem}
.mdc-standort__link{display:flex;flex-direction:column;gap:.5rem;text-decoration:none;color:inherit;flex:1 1 auto;min-height:0}
.mdc-standorte--list .mdc-standort__link{flex-direction:row;align-items:center}
.mdc-standort__image{position:relative;display:block;overflow:hidden;border-radius:8px;aspect-ratio:4/3}
.mdc-standort__image img{display:block;width:100%;height:100%;object-fit:cover}
.mdc-standorte--list .mdc-standort__image{flex:0 0 140px;width:140px}
/* Stadtname inline auf dem Bild bzw. als Text ohne Bild */
.mdc-standort__city-overlay{position:absolute;left:0;right:0;bottom:0;padding:.35rem .6rem;background:rgba(0,0,0,.5);color:#fff;font-weight:600;line-height:1.2}
.mdc-standort__city{display:block;font-weight:600;font-size:1.05rem}
.mdc-standort__title{display:block;font-weight:600}
.mdc-standort__address{display:block;font-size:.875em;opacity:.75}
.mdc-standort__link:hover .mdc-standort__title,
.mdc-standort__link:hover .mdc-standort__city{text-decoration:underline}

/* Kontakt (Telefon / E-Mail) auf der Kachel */
.mdc-standort__contact{display:flex;flex-direction:column;gap:.1rem}
.mdc-standort__phone,.mdc-standort__email{font-size:.85em;color:inherit;text-decoration:none;word-break:break-word}
.mdc-standort__phone:hover,.mdc-standort__email:hover{text-decoration:underline}

/* Kartencontainer — Höhe aus --mdc-map-h (Boden), im Side-Layout auf Inhalt gedehnt */
.mdc-standorte-map{width:100%;height:var(--mdc-map-h,400px);min-height:120px;border-radius:8px;overflow:hidden;background:#e8eef0}
.mdc-standorte-map .mdc-standorte-map-cfg{display:none}
.mdc-standorte-map .leaflet-container{height:100%;font:inherit}

/* Farbige SVG-Pins: Farbe aus der optionalen CSS-Variable --mdc-pin, sonst
   currentColor (= Seitenfarbe; keine Farbe vorgegeben). */
.mdc-standorte-pin-svg{color:var(--mdc-pin,currentColor);background:none;border:0}
.mdc-standorte-pin-svg svg{display:block;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}

/* Permanentes Titel-Label + Popup */
.mdc-standorte-map__label{background:#fff;border:0;box-shadow:0 1px 4px rgba(0,0,0,.25);font-weight:600;font-size:.8rem;padding:.15rem .4rem;border-radius:4px}
.mdc-standorte-map__label::before{display:none}
.mdc-standorte-map__popup-title{display:block;font-weight:700;text-decoration:none;color:inherit}
.mdc-standorte-map__popup-title[href]:hover{text-decoration:underline}
.mdc-standorte-map__popup-address{font-size:.85em;opacity:.8;margin-top:.15rem}
.mdc-standorte-map__popup-phone,.mdc-standorte-map__popup-email{display:block;font-size:.85em;margin-top:.15rem;color:inherit;text-decoration:underline}

/* Marker-Highlight bei Mouseover über die Standort-Kachel (Kombi-Layouts):
   optionaler Farbwechsel auf --mdc-pin-hl (sonst keine Farbänderung) + Bounce. */
.mdc-standorte-pin-svg.is-highlight{color:var(--mdc-pin-hl,var(--mdc-pin,currentColor))}
@keyframes mdc-st-bounce{from{transform:translateY(0)}to{transform:translateY(-5px)}}
.mdc-standorte-pin-svg.is-highlight svg{animation:mdc-st-bounce .5s ease infinite alternate}
.mdc-standorte-combo .mdc-standort{transition:background-color .15s ease;border-radius:8px}
.mdc-standorte-combo .mdc-standort.is-active{background:rgba(127,127,127,.14)}
.mdc-standorte-combo .mdc-standort.is-active .mdc-standort__title{text-decoration:underline}
@media (prefers-reduced-motion:reduce){.mdc-standorte-pin-svg.is-highlight svg{animation:none}}

/* Kombinierte Anzeige (Grid/Liste & Karte) */
.mdc-standorte-combo{display:flex;flex-direction:column;gap:1.5rem;align-items:stretch}
.mdc-standorte-combo__content,.mdc-standorte-combo__map{min-width:0}
.mdc-standorte-combo--side{flex-direction:row}
.mdc-standorte-combo--side>.mdc-standorte-combo__content,
.mdc-standorte-combo--side>.mdc-standorte-combo__map{flex:1 1 50%}
.mdc-standorte-combo--side.mdc-standorte-combo--map_first{flex-direction:row-reverse}
.mdc-standorte-combo--stacked.mdc-standorte-combo--map_first{flex-direction:column-reverse}
/* „nebeneinander": Karte füllt die (an den Inhalt gedehnte) Spaltenhöhe,
   Mindesthöhe = eingestellte Kartenhöhe. */
.mdc-standorte-combo--side .mdc-standorte-map{height:100%;min-height:var(--mdc-map-h,400px)}
@media (max-width:768px){
	.mdc-standorte-combo--side{flex-direction:column}
	.mdc-standorte-combo--side.mdc-standorte-combo--map_first{flex-direction:column-reverse}
	.mdc-standorte-combo--side>.mdc-standorte-combo__content,
	.mdc-standorte-combo--side>.mdc-standorte-combo__map{flex-basis:auto}
	.mdc-standorte-combo--side .mdc-standorte-map{height:var(--mdc-map-h,400px);min-height:120px}
}

/* Editor-Preview */
.mdc-standorte-preview-placeholder{padding:1.25rem;text-align:center;border:1px dashed rgba(0,0,0,.2);border-radius:8px}
.mdc-standorte-preview-icon{font-size:1.5rem}
.mdc-standorte-preview-meta{font-size:.85em;opacity:.7;margin-top:.25rem}
.mdc-standorte-preview-src{font-size:.8em;color:#7cb342;margin-top:.25rem}
