.modal-content-custom{background-color:var(--card-body-bg);color:var(--card-body-text);padding:20px;border:1px solid #888;border-radius:5px;text-align:center}.modal-header-custom{border:none;background-color:var(--card-header-bg);color:var(--card-header-text);padding:1rem}.modal-body-custom{padding:1.5rem}.btn-close{filter:invert(100%)}@media (max-width:576px){.card{margin:10px auto}#calendar{height:auto}.modal-dialog{max-width:95%}.modal-content-custom{padding:15px}}body{color:#fff}.site-header,body{background-color:#141414}.site-header{padding:1rem 0}.brand{font-size:1.8rem;font-weight:700;color:#e50914;text-decoration:none}.video-card{position:relative;cursor:pointer;transition:transform .3s}.video-card:hover{transform:scale(1.15)}.video-title-overlay{position:absolute;bottom:0;left:0;width:100%;background:hsla(0,0%,8%,.8);color:#fff;padding:.5rem;font-size:.9rem;text-align:center}.course-title{color:#f5f5f5;font-weight:700;text-shadow:0 0 5px hsla(0,0%,100%,.8)}
/* --- Enhanced Calendar Styling --- */
#calendar{background:#0e0e10;border-radius:12px;padding:12px;box-shadow:0 8px 20px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.06)}
.fc .fc-toolbar-title{color:#fff;font-weight:700;letter-spacing:.2px}
.fc .fc-button{border-radius:8px;border:none;background:#1e1e22;color:#fff}
.fc .fc-button:hover{background:#2a2a31}
.fc .fc-button-primary:not(:disabled).fc-button-active{background:#2a2a31}
.fc .fc-col-header-cell-cushion{color:#d0d0d0}
.fc .fc-daygrid-day-number{color:#aaa}
.fc-daygrid-event,.fc-timegrid-event{border:none}
.fc-event-custom,.fc .fc-daygrid-event .fc-event-main,.fc .fc-timegrid-event .fc-event-main{background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.05)) !important;border:1px solid rgba(255,255,255,.28) !important;color:#fff;border-radius:10px;padding:6px 8px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.fc .fc-event-custom{display:block;white-space:normal;overflow:visible;border-left-width:4px !important}
.fc-event-custom{border-left:3px solid rgba(255,255,255,.12)}
/* Subtle per-type accents aligned with brand variables */
.fc .fc-event-custom.event-type-one_time{border-left:4px solid var(--accent-schedule) !important}
.fc .fc-event-custom.event-type-recurring{border-left:4px solid var(--accent-schedule) !important}
.fc .fc-event-custom.event-type-zoom_class{border-left:4px solid var(--accent-zoom) !important}
.fc .fc-event-custom.event-type-mux_class{border-left:4px solid var(--accent-mux) !important}
/* Per-class accents (overrides type accents), 12-color cycle */
.fc .fc-event-custom.event-class-8{border-left:5px solid #f78fb3 !important; box-shadow:0 0 0 1px #f78fb3 !important; background:linear-gradient(135deg, rgba(247,143,179,.22), rgba(247,143,179,.12)) !important; border-color: rgba(247,143,179,.45) !important}
.fc .fc-event-custom.event-class-9{border-left:5px solid #64e291 !important; box-shadow:0 0 0 1px #64e291 !important; background:linear-gradient(135deg, rgba(100,226,145,.22), rgba(100,226,145,.12)) !important; border-color: rgba(100,226,145,.45) !important}
.fc .fc-event-custom.event-class-10{border-left:5px solid #f7d794 !important; box-shadow:0 0 0 1px #f7d794 !important; background:linear-gradient(135deg, rgba(247,215,148,.22), rgba(247,215,148,.12)) !important; border-color: rgba(247,215,148,.45) !important}
.fc .fc-event-custom.event-class-11{border-left:5px solid #70a1ff !important; box-shadow:0 0 0 1px #70a1ff !important; background:linear-gradient(135deg, rgba(112,161,255,.22), rgba(112,161,255,.12)) !important; border-color: rgba(112,161,255,.45) !important}
/* Per-class accents (overrides type accents), 8-color cycle */
.fc .fc-event-custom.event-class-0{border-left:5px solid #2db3ff !important; box-shadow:0 0 0 1px #2db3ff !important; background:linear-gradient(135deg, rgba(45,179,255,.22), rgba(45,179,255,.12)) !important; border-color: rgba(45,179,255,.45) !important}
.fc .fc-event-custom.event-class-1{border-left:5px solid #ff6f61 !important; box-shadow:0 0 0 1px #ff6f61 !important; background:linear-gradient(135deg, rgba(255,111,97,.22), rgba(255,111,97,.12)) !important; border-color: rgba(255,111,97,.45) !important}
.fc .fc-event-custom.event-class-2{border-left:5px solid #b084ff !important; box-shadow:0 0 0 1px #b084ff !important; background:linear-gradient(135deg, rgba(176,132,255,.22), rgba(176,132,255,.12)) !important; border-color: rgba(176,132,255,.45) !important}
.fc .fc-event-custom.event-class-3{border-left:5px solid #ffd700 !important; box-shadow:0 0 0 1px #ffd700 !important; background:linear-gradient(135deg, rgba(255,215,0,.22), rgba(255,215,0,.12)) !important; border-color: rgba(255,215,0,.45) !important}
.fc .fc-event-custom.event-class-4{border-left:5px solid #4bd3b6 !important; box-shadow:0 0 0 1px #4bd3b6 !important; background:linear-gradient(135deg, rgba(75,211,182,.22), rgba(75,211,182,.12)) !important; border-color: rgba(75,211,182,.45) !important}
.fc .fc-event-custom.event-class-5{border-left:5px solid #ff9a6b !important; box-shadow:0 0 0 1px #ff9a6b !important; background:linear-gradient(135deg, rgba(255,154,107,.22), rgba(255,154,107,.12)) !important; border-color: rgba(255,154,107,.45) !important}
.fc .fc-event-custom.event-class-6{border-left:5px solid #5bc0de !important; box-shadow:0 0 0 1px #5bc0de !important; background:linear-gradient(135deg, rgba(91,192,222,.22), rgba(91,192,222,.12)) !important; border-color: rgba(91,192,222,.45) !important}
.fc .fc-event-custom.event-class-7{border-left:5px solid #a8e063 !important; box-shadow:0 0 0 1px #a8e063 !important; background:linear-gradient(135deg, rgba(168,224,99,.22), rgba(168,224,99,.12)) !important; border-color: rgba(168,224,99,.45) !important}
.fc-event-custom .ec-title{font-weight:700;font-size:.9rem;line-height:1.2}
.fc-event-custom .ec-time{display:inline-block;background:var(--btn-accent-bg);color:var(--btn-accent-text);border-radius:999px;padding:2px 8px;font-size:.75rem;margin-right:6px}
.fc-event-custom .ec-type{display:inline-block;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:1px 6px;margin-left:6px;font-size:.7rem;opacity:.9}
.fc-event--past{opacity:.55;pointer-events:none;filter:grayscale(35%)}
.fc-daygrid-day-frame{padding:4px}
.fc .fc-daygrid-event{margin:3px 0}
.fc .fc-daygrid-more-link{color:#bbb}
@media (max-width:576px){#calendar{padding:8px}.fc .fc-toolbar{flex-wrap:wrap;gap:6px}.fc .fc-toolbar-title{font-size:1.05rem}.fc-event-custom{padding:6px}.fc-event-custom .ec-title{font-size:.85rem}.fc-event-custom .ec-time{font-size:.7rem}}
@media (max-width:420px){
  .fc .fc-toolbar-title{font-size:1rem}
  .fc-event-custom{padding:5px 6px}
  .fc-event-custom .ec-title{font-size:.8rem;line-height:1.15}
  .fc-event-custom .ec-time{font-size:.7rem}
}

/* Modal details layout */
.event-modal-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}
.event-icon{width:36px;height:36px;border-radius:50%;background:#1e1e22;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.event-title{font-weight:700}
.event-time{color:#bbb;font-size:.9rem}
.event-desc{margin:.5rem 0 1rem;color:#ddd}
.event-ctas{display:flex;gap:.5rem;justify-content:center}

/* hover glow */
.fc .fc-event-custom:hover,.fc .fc-event-custom:focus{transform:translateY(-1px)}
.fc .fc-event-custom.event-class-0:hover{box-shadow:0 0 10px #2db3ff !important}
.fc .fc-event-custom.event-class-1:hover{box-shadow:0 0 10px #ff6f61 !important}
.fc .fc-event-custom.event-class-2:hover{box-shadow:0 0 10px #b084ff !important}
.fc .fc-event-custom.event-class-3:hover{box-shadow:0 0 10px #ffd700 !important}
.fc .fc-event-custom.event-class-4:hover{box-shadow:0 0 10px #4bd3b6 !important}
.fc .fc-event-custom.event-class-5:hover{box-shadow:0 0 10px #ff9a6b !important}
.fc .fc-event-custom.event-class-6:hover{box-shadow:0 0 10px #5bc0de !important}
.fc .fc-event-custom.event-class-7:hover{box-shadow:0 0 10px #a8e063 !important}
.fc .fc-event-custom.event-class-8:hover{box-shadow:0 0 10px #f78fb3 !important}
.fc .fc-event-custom.event-class-9:hover{box-shadow:0 0 10px #64e291 !important}
.fc .fc-event-custom.event-class-10:hover{box-shadow:0 0 10px #f7d794 !important}
.fc .fc-event-custom.event-class-11:hover{box-shadow:0 0 10px #70a1ff !important}
