/* Card hover animation — not achievable with Bootstrap alone */
.section-card:hover, .quick-link-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}
.section-card, .quick-link-card {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* Mobile card mode for Tabulator tables */
.mobile-card {
    border-left: 3px solid var(--section-edu);
    border-radius: .5rem;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.mobile-card .card-body {
    padding: .625rem .75rem;
}
.mobile-card .fw-semibold {
    line-height: 1.25;
}
.mobile-card + .mobile-card {
    margin-top: .5rem;
}
.mobile-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.08);
    border-color: var(--bs-border-color);
}

/* Curriculum period group titles (desktop Tabulator + mobile cards) */
.curriculum-period-title { font-size: 1.05rem; font-weight: 600; }
#courses_schedule > h6 { font-size: 1.05rem; font-weight: 600; padding-top: .5rem; border-top: 1px solid var(--bs-border-color); margin-top: 1rem; }
#courses_schedule > h6:first-child { border-top: 0; margin-top: 0; }