body { min-height: 100vh; }
.hero { background: linear-gradient(135deg, #0d6efd, #6610f2); color: #fff; }
.course-thumb {
    height: 110px;
    background: linear-gradient(135deg, #0d6efd, #6610f2);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255, 255, 255, .85); font-size: 2.5rem;
}
.pre-line { white-space: pre-line; }
.course-thumb-img { width: 100%; height: 110px; object-fit: cover; display: block; }
.course-thumb-lg { height: 200px; }
.cal-cell { height: 110px; width: 14.28%; vertical-align: top; }
.cal-event { display: block; text-align: left; white-space: normal; margin-bottom: 2px;
             font-weight: normal; text-decoration: none; }