.mmc-list{
    width:100%;
    font-size:16px;
}
.mmc-row{
    display:grid;
    grid-template-columns:135px minmax(0,1fr) 125px auto;
    gap:16px;
    align-items:center;
    padding:16px 6px;
    border-bottom:1px solid rgba(0,0,0,.12);
}
.mmc-date{
    display:flex;
    flex-direction:column;
    line-height:1.25;
    white-space:nowrap;
}
.mmc-date strong{
    font-size:17px;
    color:#111;
}
.mmc-date span{
    margin-top:2px;
    font-size:13px;
    color:#777;
}
.mmc-date .mmc-to{
    margin:1px 0;
    font-size:12px;
    color:#999;
}
.mmc-main{
    min-width:0;
}
.mmc-title{
    margin-bottom:7px;
    font-size:21px;
    line-height:1.2;
    font-weight:700;
}
.mmc-title a{
    color:#5b5cff;
    text-decoration:none;
}
.mmc-title a:hover{
    text-decoration:underline;
}
.mmc-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:0;
    color:#666;
    line-height:1.35;
}
.mmc-meta span + span::before{
    content:"";
    margin:0 10px;
    color:#aaa;
}
.mmc-period{
    display:none;
}
.mmc-price{
    text-align:right;
    white-space:nowrap;
}
.mmc-price strong{
    display:block;
    font-size:18px;
    font-weight:400;
    color:#111;
}
.mmc-price span{
    display:block;
    margin-top:2px;
    font-size:12px;
    color:#777;
}
.mmc-actions{
    display:flex;
    gap:9px;
    white-space:nowrap;
}
.mmc-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 13px;
    border-radius:5px;
    text-decoration:none;
    font-size:15px;
    transition:all .15s ease;
}
.mmc-btn-details{
    border:1px solid #f28c28;
    background:transparent;
    color:#f28c28;
}
.mmc-btn-details:hover{
    background:#fff4e8;
}
.mmc-btn-book{
    border:1px solid #f28c28;
    background:#f28c28;
    color:#fff;
}
.mmc-btn-book:hover{
    background:#df7916;
    color:#fff;
}
.mmc-empty{
    padding:20px 6px;
    color:#666;
}
@media (max-width: 900px){
    .mmc-row{
        grid-template-columns:105px minmax(0,1fr) auto;
    }
    .mmc-price{
        grid-column:2;
        grid-row:2;
        text-align:left;
    }
    .mmc-actions{
        grid-column:3;
        grid-row:1 / span 2;
        flex-direction:column;
    }
}
@media (max-width: 650px){
    .mmc-row{
        grid-template-columns:92px minmax(0,1fr);
        gap:10px 14px;
        padding:14px 2px;
    }
    .mmc-date{
        grid-column:1;
        grid-row:1;
    }
    .mmc-main{
        grid-column:2;
        grid-row:1;
    }
    .mmc-title{
        font-size:18px;
    }
    .mmc-meta{
        font-size:14px;
    }
    .mmc-period{
        display:block;
        width:100%;
        margin-bottom:3px;
    }
    .mmc-meta span + span::before{
        margin:0 7px;
    }
    .mmc-price{
        grid-column:1 / -1;
        grid-row:2;
        text-align:left;
    }
    .mmc-actions{
        grid-column:1 / -1;
        grid-row:3;
        flex-direction:row;
    }
    .mmc-btn{
        flex:1;
    }
}

.mmc-location{
    text-align:left;
    line-height:1.35;
}

.mmc-filter{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 14px 0;
}
.mmc-filter label{
    font-size:14px;
    color:#666;
}
.mmc-location-filter{
    min-width:260px;
    min-height:40px;
    padding:0 34px 0 11px;
    border:1px solid #ccc;
    border-radius:5px;
    background:#fff;
    color:#444;
    font-size:15px;
}
@media (max-width:650px){
    .mmc-filter{
        align-items:stretch;
        flex-direction:column;
        gap:5px;
    }
    .mmc-location-filter{
        width:100%;
        min-width:0;
    }
}

.mmc-date .mmc-weekday{
    margin-top:1px;
    font-size:13px;
    font-weight:400;
    color:#777;
}

.mmc-location{
    margin-left:0 !important;
    padding-left:0 !important;
}
.mmc-location a{
    color:inherit;
    text-decoration:none;
}
.mmc-location a:hover{
    text-decoration:underline;
}

/* Zeit und Adresse beginnen auf derselben Höhe. */
.mmc-meta{
    display:grid !important;
    grid-template-columns:170px minmax(0,1fr);
    column-gap:0;
    align-items:start;
}
.mmc-time,
.mmc-location{
    margin:0 !important;
    padding:0 !important;
}
.mmc-location a{
    display:inline-flex;
    align-items:flex-start;
    gap:6px;
    color:inherit;
    text-decoration:none;
}
.mmc-location a:hover{
    text-decoration:underline;
}
.mmc-maps-icon{
    display:inline-flex;
    flex:0 0 auto;
    width:15px;
    height:15px;
    margin-top:3px;
}
.mmc-maps-icon svg{
    width:15px;
    height:15px;
    fill:#f28c28;
}
@media (max-width:700px){
    .mmc-meta{
        grid-template-columns:1fr;
        row-gap:2px;
    }
}

/* v2.1.3 */
.mmc-meta{
    display:block !important;
}
.mmc-time,
.mmc-location{
    display:block;
    margin:0 !important;
    padding:0 !important;
}
.mmc-location{
    margin-top:2px !important;
}
.mmc-filter{
    display:flex;
    gap:20px;
    align-items:flex-end;
    flex-wrap:wrap;
}
.mmc-filter-item{
    display:flex;
    align-items:center;
    gap:10px;
}
.mmc-filter-item label{
    white-space:nowrap;
}
@media (max-width:700px){
    .mmc-filter{
        display:block;
    }
    .mmc-filter-item{
        margin-bottom:10px;
    }
}

/* v2.1.4: Filter optisch einheitlich und Layout-Fix */
.mmc-filter-item select{
    min-width:260px;
    min-height:40px;
    padding:0 34px 0 11px;
    border:1px solid #ccc;
    border-radius:5px;
    background:#fff;
    color:#444;
    font-size:15px;
}
.mmc-weekday-filter{
    min-width:190px !important;
}
@media (max-width:650px){
    .mmc-filter-item{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:5px;
    }
    .mmc-filter-item select{
        width:100%;
        min-width:0;
    }
}


.mmc-category-heading{
    margin:0 0 10px 0;
    font-size:22px;
    line-height:1.25;
    font-weight:700;
    color:#5b5cff;
}
.mmc-filter{
    flex-wrap:wrap;
}
.mmc-filter-item{
    display:flex;
    align-items:center;
    gap:7px;
}
.mmc-weekday-filter,
.mmc-status-filter{
    min-width:190px;
    min-height:40px;
    padding:0 34px 0 11px;
    border:1px solid #ccc;
    border-radius:5px;
    background:#fff;
    color:#444;
    font-size:15px;
}
.mmc-status-filter{
    min-width:210px;
}
@media (max-width:650px){
    .mmc-category-heading{
        font-size:20px;
        margin-bottom:8px;
    }
    .mmc-filter-item{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:5px;
    }
    .mmc-weekday-filter,
    .mmc-status-filter{
        width:100%;
        min-width:0;
    }
}


.mmc-category-description {
    margin: 0 0 18px 0;
    line-height: 1.6;
}

.mmc-category-description p:last-child {
    margin-bottom: 0;
}

.mmc-category-description img {
    max-width: 100%;
    height: auto;
}

.mmc-category-filter{
    min-width:210px;
    min-height:40px;
    padding:0 34px 0 11px;
    border:1px solid #ccc;
    border-radius:5px;
    background:#fff;
    color:#444;
    font-size:15px;
}
@media (max-width:650px){
    .mmc-category-filter{
        width:100%;
        min-width:0;
    }
}
