.elementor-widget-image .widget-image-caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}/* Start custom CSS for html, class: .elementor-element-1c1f4e2 *//* ************************************************* */
/* TEIL 1: TABELLEN-STYLING */
/* ************************************************* */

.responsive-table-container { overflow-x: auto; margin: 0; }
.martial-arts-schedule {
    width: 100%; border-collapse: collapse; font-family: 'Open Sans', Arial, sans-serif;
    table-layout: fixed; box-shadow: none;
}
.martial-arts-schedule thead th {
    color: white; padding: 12px 8px; text-align: left; font-weight: 700;
    border: 1px solid #757575; border-bottom: none;
}
.martial-arts-schedule thead .header-logo-cell { background-color: #1a237e; font-size: 1.1em; padding: 15px 10px; }
.martial-arts-schedule thead .header-title-cell { background-color: #3f51b5; font-size: 1.1em; padding: 15px 10px; }
.martial-arts-schedule thead .header-day-title { background-color: #1a237e; text-align: left; font-size: 1.1em; }
.martial-arts-schedule thead tr:nth-child(2) th {
    background-color: #3f51b5; border-top: 1px solid #757575;
    border-bottom: 1px solid #757575; padding: 8px;
}
.martial-arts-schedule tbody td {
    padding: 10px 8px; color: #212121; vertical-align: middle; line-height: 1.4;
    background-color: white; border: 1px solid #757575; border-left: none; border-right: none;
}
.martial-arts-schedule tbody tr:has(td[colspan="5"]) { background-color: #f0f0f0; font-weight: bold; }
.martial-arts-schedule tbody tr:hover { background-color: #e8eaf6 !important; cursor: default; }


/* ************************************************* */
/* TEIL 2: AKKORDEON-STYLING */
/* ************************************************* */

.schedule-accordion {
    max-width: 800px; margin: 20px auto; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); border: 1px solid #ccc;
}
.accordion-item { border-bottom: 1px solid #ccc; }
.accordion-item:last-child { border-bottom: none; }

.accordion-header {
    background-color: #3f51b5; color: white; cursor: pointer; padding: 15px 20px;
    width: 100%; border: none; text-align: left; outline: none; font-size: 1.1em;
    transition: background-color 0.3s; display: flex; justify-content: space-between; align-items: center;
}
.accordion-header:hover { background-color: #1a237e; }
.accordion-header[aria-expanded="true"] { background-color: #1a237e; }

.arrow-icon { transition: transform 0.3s ease; font-size: 1.2em; }

.accordion-content {
    background-color: white; max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; padding: 0;
}


/* ************************************************* */
/* TEIL 3: RESPONSIVITÄT (MOBILE) */
/* ************************************************* */

@media screen and (max-width: 768px) {
    .schedule-accordion { margin: 10px 0; box-shadow: none; border: none; }
    .accordion-item { margin-bottom: 10px; border: 1px solid #ccc; }
    .accordion-item:last-child { border-bottom: 1px solid #ccc; }
    
    /* Mobile Card View für die Tabelle */
    .martial-arts-schedule, .martial-arts-schedule thead, .martial-arts-schedule tbody, .martial-arts-schedule th, .martial-arts-schedule td, .martial-arts-schedule tr { display: block; }

    .martial-arts-schedule thead tr:first-child th { display: block; width: 100%; text-align: center; padding: 10px; }
    .martial-arts-schedule thead .header-logo-cell, .martial-arts-schedule thead .header-title-cell { background-color: #1a237e; border: none; }
    .martial-arts-schedule thead tr:nth-child(2) { position: absolute; top: -9999px; left: -9999px; }
    
    .martial-arts-schedule tr {
        border: 1px solid #cccccc; margin-bottom: 10px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        background-color: white !important; font-weight: normal;
    }
    .martial-arts-schedule tbody td {
        border: none; border-bottom: 1px dashed #e0e0e0; position: relative;
        padding: 8px 10px !important; padding-left: 50% !important; text-align: right;
    }
    .martial-arts-schedule td[colspan] {
        display: block; width: 100%; padding-left: 10px !important; text-align: center;
        font-weight: bold; background-color: #e8eaf6 !important; color: #1a237e; border-bottom: 1px solid #1a237e;
    }
    
    .martial-arts-schedule td::before {
        content: attr(data-th); position: absolute; top: 0; left: 0; width: 45%;
        padding: 8px 10px; white-space: nowrap; text-align: left; font-weight: 600;
        color: #3f51b5; background-color: #f7f7f7; border-right: 1px solid #e0e0e0;
    }
    .martial-arts-schedule td[colspan]::before { display: none; }
}/* End custom CSS */