/* =========================================================
   MDO Shop Enhancements – Styles
   ========================================================= */


/* ---------------------------------------------------------
   Preisstaffel
   --------------------------------------------------------- */
.mdo-preisstaffel{margin:1.5rem 0 1rem;font-family:inherit;color:inherit;text-align:left}
.mdo-preisstaffel-summary{
    list-style:none;
    cursor:default;
    display:block;
    margin:0 0 24px;
}
.mdo-preisstaffel-summary::-webkit-details-marker{display:none}
.mdo-preisstaffel-summary::marker{content:''}
.mdo-preisstaffel-heading{
    font-family:inherit;
    font-size:20px;
    font-weight:700;
    color:inherit;
    line-height:1.3;
    letter-spacing:-.01em;
    display:inline-block;
}
.mdo-preisstaffel-chevron{display:none}
.mdo-preisstaffel-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.mdo-preisstaffel-card{
    position:relative;
    border:1px solid rgba(0,0,0,.10);
    border-radius:14px;
    padding:18px 8px 14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    transition:border-color .15s ease;
}
.mdo-preisstaffel-card:hover{border-color:rgba(0,0,0,.22)}
.mdo-preisstaffel-badge{
    position:absolute;
    top:-10px;
    right:6px;
    background:#e63946;
    color:#fff;
    padding:2px 10px;
    border-radius:999px;
    font-family:inherit;
    font-size:11px;
    font-weight:600;
    white-space:nowrap;
}
.mdo-preisstaffel-label{
    font-family:inherit;
    font-size:13px;
    font-weight:500;
    color:inherit;
    opacity:.75;
    margin-bottom:10px;
    line-height:1.3;
}
.mdo-preisstaffel-divider{
    height:1px;
    background:rgba(0,0,0,.08);
    width:60%;
    margin:0 auto 14px;
}
.mdo-preisstaffel-prices{
    display:flex;
    flex-direction:column;
    align-items:center;
}
.mdo-preisstaffel-old{
    font-family:inherit;
    font-size:12px;
    opacity:.4;
    text-decoration:line-through;
    line-height:1.4;
    white-space:nowrap;
}
.mdo-preisstaffel-old--placeholder{
    text-decoration:none;
    visibility:hidden;
}
.mdo-preisstaffel-new{
    font-family:inherit;
    font-size:16px;
    font-weight:700;
    color:#000;
    line-height:1.3;
    white-space:nowrap;
    letter-spacing:-.01em;
    margin-top:2px;
}
.mdo-preisstaffel-card.is-base .mdo-preisstaffel-new{color:inherit;font-weight:600}
.mdo-preisstaffel-pertag{
    font-family:inherit;
    font-size:11px;
    font-weight:500;
    opacity:.85;
    margin-left:1px;
}
.mdo-preisstaffel-card.is-base .mdo-preisstaffel-pertag{opacity:.55}
.mdo-preisstaffel-footer{margin:6px 0 0;font-size:12px;opacity:.5;text-align:left}
.mdo-preisstaffel-footer a{color:inherit;text-decoration:underline}

@media (max-width:768px){
    .mdo-preisstaffel-summary{
        cursor:pointer;
        user-select:none;
        display:flex;
        justify-content:space-between;
        align-items:center;
        padding:14px 16px;
        margin:0;
        border:1px solid rgba(0,0,0,.10);
        border-radius:12px;
    }
    .mdo-preisstaffel[open] .mdo-preisstaffel-summary{margin-bottom:14px}
    .mdo-preisstaffel-heading{font-size:16px}
    .mdo-preisstaffel-chevron{
        display:inline-block;
        width:9px;
        height:9px;
        border-right:1.5px solid currentColor;
        border-bottom:1.5px solid currentColor;
        transform:rotate(45deg);
        opacity:.5;
        transition:transform .2s ease;
        margin-top:-4px;
        flex-shrink:0;
    }
    .mdo-preisstaffel[open] .mdo-preisstaffel-chevron{
        transform:rotate(-135deg);
        margin-top:4px;
    }
    .mdo-preisstaffel-grid{grid-template-columns:1fr;gap:10px;margin-top:14px}
    .mdo-preisstaffel-card{
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        padding:14px 18px;
        text-align:left;
        gap:12px;
    }
    .mdo-preisstaffel-badge{top:-9px;right:10px}
    .mdo-preisstaffel-label{margin-bottom:0;font-size:14px;flex:1}
    .mdo-preisstaffel-divider{display:none}
    .mdo-preisstaffel-prices{
        flex-direction:row;
        align-items:baseline;
        gap:8px;
        flex-shrink:0;
    }
    .mdo-preisstaffel-new{margin-top:0;font-size:15px}
    .mdo-preisstaffel-old--placeholder{display:none}
}


/* ---------------------------------------------------------
   USP-Karten (Versand & Kautionsfrei)
   --------------------------------------------------------- */
.mdo-usp-cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:1.5rem 0;
}
.mdo-usp-card{
    display:flex;
    align-items:center;
    gap:14px;
    border:1px solid rgba(0,0,0,.10);
    border-radius:14px;
    padding:14px 16px;
    text-decoration:none !important;
    color:inherit;
    transition:border-color .15s ease;
}
.mdo-usp-card:hover{border-color:rgba(0,0,0,.22)}
.mdo-usp-card-icon{flex-shrink:0;display:flex;align-items:center}
.mdo-usp-card-icon img{width:36px;height:36px;display:block}
.mdo-usp-card-text{flex:1;min-width:0}
.mdo-usp-card-title{
    font-family:inherit;
    font-size:14px;
    font-weight:600;
    color:#1c75ed;
    margin-bottom:2px;
    line-height:1.3;
}
.mdo-usp-card-body{
    font-family:inherit;
    font-size:12px;
    color:inherit;
    opacity:.7;
    line-height:1.5;
}
.mdo-usp-card-body strong{font-weight:600}

@media (max-width:600px){
    .mdo-usp-cards{gap:6px}
    .mdo-usp-card{padding:12px 10px;gap:10px}
    .mdo-usp-card-icon img{width:30px;height:30px}
    .mdo-usp-card-title{font-size:12px;line-height:1.25}
    .mdo-usp-card-body{font-size:11px;line-height:1.4}
}
@media (max-width:360px){
    .mdo-usp-card{padding:10px 8px;gap:8px}
    .mdo-usp-card-icon img{width:26px;height:26px}
}


/* ---------------------------------------------------------
   Booking-Details Kachel-Grid
   --------------------------------------------------------- */

/* Margin des WCEB-Containers entfernen */
.booking_details{margin:0 !important}

.mdo-booking-title{
    font-family:inherit;
    font-size:20px;
    font-weight:700;
    color:#000;
    margin:0 0 12px;
    line-height:1.3;
    letter-spacing:-.01em;
}
.mdo-booking-cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin:0 0 14px;
}
.mdo-booking-card{
    position:relative;
    border:1px solid rgba(0,0,0,.10);
    border-radius:14px;
    padding:14px 8px 12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    background:#fff;
}
.mdo-booking-card-label{
    font-family:inherit;
    font-size:12px;
    font-weight:500;
    opacity:.7;
    margin-bottom:8px;
    line-height:1.3;
}
.mdo-booking-card-divider{
    height:1px;
    background:rgba(0,0,0,.08);
    width:60%;
    margin:0 auto 10px;
}
.mdo-booking-card-value{
    font-family:inherit;
    font-size:15px;
    font-weight:700;
    color:#000;
    line-height:1.3;
    letter-spacing:-.01em;
}
.mdo-booking-total-label{
    font-family:inherit;
    font-size:20px;
    font-weight:700;
    color:#000;
    margin:8px 0 4px;
    line-height:1.3;
    letter-spacing:-.01em;
}
.mdo-booking-total-label a{color:inherit;text-decoration:underline}

@media (max-width:600px){
    .mdo-booking-title{font-size:17px;margin-bottom:10px}
    .mdo-booking-cards{grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:12px}
    .mdo-booking-card{padding:12px 6px 10px}
    .mdo-booking-card-label{font-size:11px;margin-bottom:6px}
    .mdo-booking-card-value{font-size:13px}
    .mdo-booking-total-label{font-size:17px}
}
