.sbjs-schedule-wrap {
    width: 100%;
}
.sbjs-table-title {
    margin: 0 0 16px;
}
.sbjs-table-scroll {
    width: 100%;
    overflow-x: auto;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.08);
    -webkit-overflow-scrolling: touch;
}
.sbjs-table {
    width: 100%;
    min-width: 650px;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    overflow: hidden;
}
.sbjs-table thead {
    color: #fff;
    background: linear-gradient(120deg, var(--sbjs-gradient-start, #D4A853), var(--sbjs-gradient-middle, #B4A5D5), var(--sbjs-gradient-end, #8268B7));
}
.sbjs-table th {
    padding: 16px 20px;
    text-align: left;
    font-size: 18px;
    font-weight: 600;
}
.sbjs-table td {
    padding: 14px 20px;
    border-bottom: 1px solid #e9e4f0;
    font-size: 16px;
    color: #333;
    vertical-align: middle;
}
.sbjs-table tbody tr:nth-child(even) { background: #f7f4fa; }
.sbjs-table tbody tr:nth-child(odd) { background: #fff; }
.sbjs-table tbody tr:last-child td { border-bottom: none; }
.sbjs-table .sbjs-date,
.sbjs-table .sbjs-time {
    font-weight: 600;
    white-space: nowrap;
    color: #8268B7;
}
.sbjs-table .sbjs-location { color: #8268B7; }
.sbjs-table .sbjs-admission {
    font-weight: 600;
    white-space: nowrap;
}
.sbjs-table .sbjs-admission a {
    color: #8268B7;
    text-decoration: underline;
    font-weight: 600;
}
.sbjs-table .sbjs-free { font-weight: 600; }
@media (max-width: 767px) {
    .sbjs-table th,
    .sbjs-table td {
        padding: 12px 10px;
        font-size: 14px;
    }
}
