.tt24-boxes{
    margin:16px 0 20px;
    clear:both;
}

.tt24-boxes .tt24-box-section-title{
    font-size:1.05rem;
    line-height:1.25;
    font-weight:700;
    margin:0 0 6px;
}

.tt24-boxes .tt24-box-section-text{
    margin:0 0 12px;
    opacity:.88;
    font-size:.93rem;
    line-height:1.45;
}

.tt24-boxes .tt24-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:14px;
}

.tt24-boxes .tt24-card{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:8px;
    background:#fff;
    border:1px solid rgba(15,23,42,.08);
    border-radius:14px;
    padding:12px;
    box-shadow:0 4px 14px rgba(2,6,23,.04);
    overflow:hidden;
    box-sizing:border-box;
    min-width:0;
    height:100%;
}

.tt24-boxes .tt24-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    right:0;
    height:3px;
    background:var(--tt24-accent,#0f766e);
}

.tt24-boxes .tt24-card-media{
    border-radius:10px;
    overflow:hidden;
    background:#f8fafc;
    aspect-ratio:4/2;
    max-height:120px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.tt24-boxes .tt24-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.tt24-boxes .tt24-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:8px;
}

.tt24-boxes .tt24-card-title{
    font-size:.96rem;
    font-weight:700;
    line-height:1.28;
    margin:0;
}

.tt24-boxes .tt24-card-price{
    font-size:.92rem;
    font-weight:600;
    line-height:1.35;
    margin-top:2px;
}

.tt24-boxes .tt24-card-price-old{
    text-decoration:line-through;
    opacity:.6;
    margin-right:8px;
}

.tt24-boxes .tt24-card-price-new{
    font-weight:700;
}

.tt24-boxes .tt24-card-discount{
    font-size:.82rem;
    color:#166534;
    font-weight:600;
    line-height:1.35;
    margin-top:2px;
}

.tt24-boxes .tt24-card-text{
    font-size:.9rem;
    line-height:1.45;
    opacity:.95;
}

.tt24-boxes .tt24-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:.72rem;
    font-weight:700;
    border-radius:999px;
    padding:4px 9px;
    white-space:nowrap;
}

.tt24-badge-default{background:#ecfeff;color:#115e59}
.tt24-badge-success{background:#dcfce7;color:#166534}
.tt24-badge-info{background:#dbeafe;color:#1d4ed8}
.tt24-badge-warning{background:#ffedd5;color:#c2410c}
.tt24-badge-dark{background:#e5e7eb;color:#111827}
.tt24-badge-outline{background:#fff;color:#0f172a;border:1px solid #cbd5e1}

.tt24-boxes .tt24-icon{
    font-size:1.05em;
    line-height:1;
    margin-right:8px;
}

.tt24-boxes .tt24-dashicon{
    font-family:dashicons;
    display:inline-block;
    line-height:1;
    font-size:18px;
    margin-right:8px;
}

.tt24-boxes .tt24-accordion{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.tt24-boxes .tt24-acc-item{
    border:1px solid rgba(15,23,42,.08);
    border-radius:16px;
    background:#fff;
    overflow:hidden;
}

.tt24-boxes .tt24-acc-summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    font-weight:700;
}

.tt24-boxes .tt24-acc-summary::-webkit-details-marker{
    display:none;
}

.tt24-boxes .tt24-acc-content{
    padding:0 16px 16px;
}

.tt24-boxes .tt24-acc-title{
    font-size:.96rem;
    font-weight:700;
}

.tt24-boxes .tt24-box-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:6px;
    font-weight:600;
    text-decoration:none;
}

/* Zubehörbereich */
.tt24-boxes .tt24-accessories-section{
    width:100%;
    max-width:100%;
}

.tt24-boxes .tt24-accessory-notice{
    margin:0 0 12px;
    padding:10px 12px;
    border:1px solid rgba(15,23,42,.08);
    border-radius:12px;
    background:#f8fafc;
    font-size:.9rem;
    line-height:1.4;
}

.tt24-boxes .tt24-accessory-notice a{
    font-weight:700;
    text-decoration:none;
}

.tt24-boxes .tt24-accessories-section .tt24-grid{
    display:grid;
    gap:12px;
    width:100%;
}

.tt24-boxes .tt24-accessories-layout-grid_2 .tt24-grid{
    grid-template-columns:1fr 1fr;
}

.tt24-boxes .tt24-accessories-layout-horizontal_1 .tt24-grid{
    grid-template-columns:1fr;
}

/* Zubehörkarte: kompakteres Querformat */
.tt24-boxes .tt24-accessory-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    width:100%;
    padding:10px 12px;
    gap:8px;
}

.tt24-boxes .tt24-accessory-product{
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    gap:12px;
    align-items:start;
    min-width:0;
    width:100%;
}

.tt24-boxes .tt24-accessory-thumb{
    width:88px;
    min-width:88px;
    max-width:88px;
    height:88px;
    border-radius:10px;
    overflow:hidden;
    background:#f8fafc;
    display:flex;
    align-items:center;
    justify-content:center;
}

.tt24-boxes .tt24-accessory-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.tt24-boxes .tt24-accessory-meta{
    flex:1 1 auto;
    min-width:0;
    width:100%;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

.tt24-boxes .tt24-accessory-name,
.tt24-boxes .tt24-accessory-name a{
    display:block;
    white-space:normal;
    word-break:break-word;
    overflow-wrap:anywhere;
    writing-mode:horizontal-tb !important;
    line-height:1.24;
    font-size:.94rem;
    font-weight:700;
    text-decoration:none;
    margin:0;
}

.tt24-boxes .tt24-accessory-unit-price,
.tt24-boxes .tt24-accessory-qty{
    font-size:.82rem;
    opacity:.82;
    line-height:1.28;
    margin-top:3px;
}

.tt24-boxes .tt24-accessory-check{
    display:flex;
    align-items:flex-start;
    gap:8px;
    line-height:1.32;
    margin-top:8px;
    font-size:.88rem;
}

.tt24-boxes .tt24-accessory-check input[type=checkbox]{
    transform:scale(1.02);
    margin-top:2px;
    flex:0 0 auto;
}

/* Horizontal-Layout noch kompakter */
.tt24-boxes .tt24-accessories-layout-horizontal_1 .tt24-accessory-card{
    padding:10px 12px;
}

.tt24-boxes .tt24-accessories-layout-horizontal_1 .tt24-accessory-product{
    grid-template-columns:82px minmax(0,1fr);
    align-items:start;
}

.tt24-boxes .tt24-accessories-layout-horizontal_1 .tt24-accessory-thumb{
    width:82px;
    min-width:82px;
    max-width:82px;
    height:82px;
}

/* MC4 kompakter */
.tt24-boxes .tt24-mc4-block{
    margin-top:12px;
    border:1px solid rgba(15,23,42,.08);
    border-radius:14px;
    background:#fff;
    padding:12px;
    box-shadow:0 4px 14px rgba(2,6,23,.035);
    box-sizing:border-box;
}

.tt24-boxes .tt24-mc4-title{
    font-size:.96rem;
    font-weight:700;
    margin:0 0 6px;
}

.tt24-boxes .tt24-mc4-text{
    margin:0 0 10px;
    font-size:.89rem;
    line-height:1.42;
    opacity:.95;
}

.tt24-boxes .tt24-mc4-text p{
    margin:0;
}

.tt24-boxes .tt24-mc4-rows{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:0 0 10px;
}

.tt24-boxes .tt24-mc4-row{
    padding:10px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fafafa;
    box-sizing:border-box;
}

.tt24-boxes .tt24-mc4-row-title{
    font-weight:700;
    margin:0 0 6px;
    font-size:.9rem;
    line-height:1.3;
}

.tt24-boxes .tt24-mc4-field label{
    display:block;
    font-weight:600;
    margin-bottom:5px;
    font-size:.84rem;
    line-height:1.3;
}

.tt24-boxes .tt24-mc4-field input{
    width:100%;
    padding:8px 10px;
    border:1px solid #d0d7de;
    border-radius:10px;
    background:#fff;
    box-sizing:border-box;
    min-height:40px;
}

.tt24-boxes .tt24-mc4-add-next{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 12px;
    border:none;
    border-radius:12px;
    background:#0f766e;
    color:#fff;
    font-weight:700;
    cursor:pointer;
    width:100%;
    min-height:100%;
    font-size:.9rem;
    line-height:1.25;
    text-align:center;
}

.tt24-boxes .tt24-mc4-summary{
    margin-top:4px;
    padding:10px 12px;
    border-radius:12px;
    background:#f0fdf4;
    border:1px solid #dcfce7;
    font-weight:700;
    font-size:.9rem;
    line-height:1.35;
}

.tt24-boxes .tt24-mc4-check{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin-top:10px;
    line-height:1.34;
    font-size:.89rem;
}

.tt24-boxes .tt24-mc4-check input[type=checkbox]{
    transform:scale(1.06);
    margin-top:2px;
}

.tt24-boxes .tt24-mc4-meta-small{
    margin-top:4px;
    font-size:.82rem;
    opacity:.82;
    display:block;
}

/* größere Screens: Zubehör optisch noch flacher */
@media (min-width: 1101px){
    .tt24-boxes .tt24-accessories-layout-grid_2 .tt24-grid{
        grid-template-columns:1fr 1fr;
    }

    .tt24-boxes .tt24-accessory-card{
        min-height:0;
    }
}

/* Tablet */
@media (max-width:1100px){
    .tt24-boxes .tt24-accessories-layout-grid_2 .tt24-grid{
        grid-template-columns:1fr;
    }
}

/* MC4 untereinander auf kleineren Breiten */
@media (max-width:900px){
    .tt24-boxes .tt24-mc4-rows{
        grid-template-columns:1fr;
    }
}

/* Mobile */
@media (max-width:767px){
    .tt24-boxes .tt24-grid{
        grid-template-columns:1fr;
    }

    .tt24-boxes .tt24-accessory-product{
        grid-template-columns:76px minmax(0,1fr);
        gap:10px;
    }

    .tt24-boxes .tt24-accessory-thumb{
        width:76px;
        min-width:76px;
        max-width:76px;
        height:76px;
    }

    .tt24-boxes .tt24-accessory-name,
    .tt24-boxes .tt24-accessory-name a{
        font-size:.92rem;
    }

    .tt24-boxes .tt24-card{
        padding:10px;
    }

    .tt24-boxes .tt24-mc4-block{
        padding:10px;
    }
}