.ms-exp-wrap{position:relative;width:100%;height:720px;border-radius:16px;overflow:hidden}.ms-exp-map{width:100%;height:100%;z-index:1}.ms-exp-map .leaflet-pane,.ms-exp-map .leaflet-control,.ms-exp-map .leaflet-top,.ms-exp-map .leaflet-bottom,.ms-exp-map .leaflet-popup,.ms-exp-map .leaflet-popup-content-wrapper,.ms-exp-map .leaflet-popup-content,.ms-exp-map .leaflet-popup-tip{box-sizing:border-box}.ms-exp-map .leaflet-popup.ms-exp-leaflet-popup .leaflet-popup-content-wrapper{background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}.ms-exp-map .leaflet-popup.ms-exp-leaflet-popup .leaflet-popup-content{margin:0!important;width:320px!important;min-width:320px!important;max-width:320px!important}.ms-exp-map .leaflet-popup.ms-exp-leaflet-popup .leaflet-popup-tip-container{margin-top:-1px}.ms-exp-map .leaflet-popup.ms-exp-leaflet-popup .leaflet-popup-tip{background:#111!important;box-shadow:none!important}.ms-exp-map .leaflet-popup-close-button{color:#fff!important;font-size:18px!important;top:10px!important;right:10px!important;z-index:20}.ms-exp-map .leaflet-popup-close-button:hover{color:#ffff33!important;background:transparent!important}.ms-exp-card,.ms-exp-card *,.ms-exp-card *::before,.ms-exp-card *::after{box-sizing:border-box}.ms-exp-card{width:320px;background:#111;color:#fff;border-radius:18px;overflow:hidden;font-family:inherit;line-height:1.45;box-shadow:0 14px 34px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08)}.ms-exp-card__media{display:block;width:100%;height:170px;object-fit:cover;margin:0;border:0}.ms-exp-card__body{padding:18px}.ms-exp-card__title{margin:0 0 4px 0;font-size:20px;font-weight:700;line-height:1.2;color:#ffff33}.ms-exp-card__region{display:block;margin:0 0 12px 0;font-size:12px;line-height:1.3;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.04em}.ms-exp-card__text{margin:0 0 14px 0;font-size:14px;color:#fff}.ms-exp-card__list{margin:0 0 16px 0;padding:0;list-style:none}.ms-exp-card__list li{position:relative;margin:0 0 8px 0;padding-left:18px;font-size:13px;color:#fff}.ms-exp-card__list li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:#ffff33}.ms-exp-card__button{display:block;width:100%;padding:11px 14px;text-align:center;text-decoration:none!important;font-family:Oswald,Arial,sans-serif;font-size:16px;font-weight:700;line-height:1.2;color:#111!important;background:#ffff33;border:2px solid #ffff33;border-radius:0;transition:all .25s ease}.ms-exp-card__button:hover{background:transparent;color:#ffff33!important;border-color:#ffff33}@media(max-width:768px){.ms-exp-wrap{height:80dvh}.ms-exp-map .leaflet-popup.ms-exp-leaflet-popup .leaflet-popup-content{width:260px!important;min-width:260px!important;max-width:260px!important}.ms-exp-card{width:260px}.ms-exp-card__media{height:140px}.ms-exp-card__body{padding:14px}.ms-exp-card__title{font-size:18px}.ms-exp-card__button{font-size:15px;padding:10px 12px}}


/* 1.8.7-beta: Cosmetic popup cleanup
   Keine Zusatzlabels direkt hinter dem Popup-Titel.
   Die Status-/Partnerinformation bleibt in der Region-Zeile unter dem Titel erhalten. */
.ms-exp-card__title::after,
.ms-exp-card--preparing .ms-exp-card__title::after,
.ms-exp-card--partner .ms-exp-card__title::after,
.ms-exp-card[data-type="preparing"] .ms-exp-card__title::after,
.ms-exp-card[data-type="partner"] .ms-exp-card__title::after {
    content: none !important;
    display: none !important;
}


/* 1.9.0-beta: Clickable services in popup.
   Visual layout remains aligned with 1.8.7; only the service text becomes a link. */
.ms-exp-card__service-link {
    color: #fff !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,51,0.45);
    transition: color .2s ease, border-color .2s ease;
}

.ms-exp-card__service-link:hover,
.ms-exp-card__service-link:focus {
    color: #ffff33 !important;
    border-bottom-color: #ffff33;
}


/* 1.9.3-beta: JEM router back navigation */
.jem-router-nav {
    margin: 0 0 18px 0;
}

.jem-router-nav__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    background: #111;
    color: #ffff33 !important;
    border: 2px solid #ffff33;
    text-decoration: none !important;
    font-weight: 700;
    line-height: 1.2;
    transition: background .2s ease, color .2s ease;
}

.jem-router-nav__back:hover,
.jem-router-nav__back:focus {
    background: #ffff33;
    color: #111 !important;
}

/* 1.9.9-rc: Availability Ticker */
.jem-availability-ticker,
.jem-availability-ticker * {
    box-sizing: border-box;
}

.jem-availability-ticker {
    --jem-yellow: #ffff33;
    --jem-black: #111111;
    --jem-border: rgba(0,0,0,.12);
    width: 100%;
    margin: 18px 0;
    padding: 18px;
    border: 1px solid var(--jem-border);
    border-radius: 16px;
    background: #ffffff;
    color: var(--jem-black);
}

.jem-availability-ticker__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 14px 0;
}

.jem-availability-ticker__title {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
    color: var(--jem-black);
}

.jem-availability-ticker__items {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.jem-availability-ticker__item {
    display: flex;
    min-height: 82px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 12px;
    border: 2px solid var(--jem-black);
    border-radius: 12px;
    background: var(--jem-black);
    color: #ffffff !important;
    text-decoration: none !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.jem-availability-ticker__item:hover,
.jem-availability-ticker__item:focus {
    background: var(--jem-yellow);
    border-color: var(--jem-yellow);
    color: var(--jem-black) !important;
}

.jem-availability-ticker__date {
    display: block;
    font-weight: 800;
    font-size: 14px;
    line-height: 1.15;
}

.jem-availability-ticker__location {
    display: block;
    font-size: 13px;
    line-height: 1.2;
    opacity: .86;
}

.jem-availability-ticker__actions {
    margin-top: 14px;
}

.jem-availability-ticker__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    background: var(--jem-yellow);
    border: 2px solid var(--jem-yellow);
    color: var(--jem-black) !important;
    font-weight: 800;
    text-decoration: none !important;
    line-height: 1.2;
    transition: background .2s ease, color .2s ease;
}

.jem-availability-ticker__button:hover,
.jem-availability-ticker__button:focus {
    background: var(--jem-black);
    color: var(--jem-yellow) !important;
}

.jem-availability-ticker__empty {
    margin: 0;
}

.jem-availability-ticker__inline {
    margin: 0;
    line-height: 1.7;
}

.jem-availability-ticker__inline-item {
    color: var(--jem-black) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(0,0,0,.35);
}

.jem-availability-ticker__inline-item:hover,
.jem-availability-ticker__inline-item:focus {
    color: #000000 !important;
    border-bottom-color: var(--jem-yellow);
}

.jem-availability-ticker__debug {
    margin: 14px 0 0 0;
    padding: 12px;
    background: #111;
    color: #ffff33;
    overflow: auto;
    max-height: 320px;
}

@media (max-width: 980px) {
    .jem-availability-ticker__items {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .jem-availability-ticker {
        padding: 14px;
        border-radius: 14px;
    }

    .jem-availability-ticker__title {
        font-size: 18px;
    }

    .jem-availability-ticker__items {
        grid-template-columns: 1fr;
    }

    .jem-availability-ticker__item {
        min-height: auto;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .jem-availability-ticker__date,
    .jem-availability-ticker__location {
        font-size: 14px;
    }
}


/* 1.9.16-rc: Location popup tabs */
.ms-exp-card__tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:2px 0 14px;border:1px solid rgba(255,255,255,.22);border-radius:8px;overflow:hidden}.ms-exp-card__tab{appearance:none;-webkit-appearance:none;border:0;border-right:1px solid rgba(255,255,255,.22);margin:0;padding:9px 7px;background:#1d1d1d;color:#fff;font:inherit;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer;text-align:center}.ms-exp-card__tab:last-child{border-right:0}.ms-exp-card__tab:hover,.ms-exp-card__tab:focus{color:#ffff33;outline:none}.ms-exp-card__tab.is-active{background:#ffff33;color:#111}.ms-exp-card__panel{display:none}.ms-exp-card__panel.is-active{display:block}.ms-exp-card__empty{margin:0 0 16px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.78)}
@media(max-width:768px){.ms-exp-card__tab{font-size:11px;padding:8px 5px}}

.jem-popup-extra-hidden{display:none!important}.jem-popup-more-toggle{border:0;background:transparent;padding:4px 0;margin:2px 0;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;color:inherit}

/* 1.9.26-rc: Keep the inline desktop height from overflowing the mobile wrapper. */
@media(max-width:768px){.ms-exp-map{height:100%!important}}
