/* YCGF Timetable - front-end stylesheet. Matches ycgf.org.uk brand (Divi custom colours). */
.ycg-timetable{max-width:1500px;margin:0 auto;color:#61617d;line-height:1.5}
.ycg-timetable__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.ycg-timetable__title{margin:0;font-size:1.7rem;font-weight:700;letter-spacing:-.02em;color:#263a7a}
.ycg-timetable__subtitle{margin:0;font-size:.95rem;color:#61617d}
.ycg-timetable__legend{display:flex;flex-wrap:wrap;align-items:center;column-gap:18px;row-gap:8px;margin:0 0 18px;padding:0;font-size:.85rem;color:#61617d}
.ycg-timetable__legend .ycg-timetable__legend-item{display:inline-flex;align-items:center;gap:7px;line-height:1.2}
.ycg-timetable__legend .ycg-dot{width:11px;height:11px;border-radius:3px;display:inline-block;flex:0 0 auto;vertical-align:middle}
.ycg-timetable__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:start}
.ycg-day{background:#fff;border:1px solid #e3e8f5;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(38,58,122,.08)}
.ycg-day__title{margin:0;padding:11px 10px;background:#263a7a;color:#fff;font-size:.8rem;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.08em}
.ycg-day__list{display:flex;flex-direction:column;gap:6px;padding:8px}
.ycg-day__empty{margin:0;padding:12px 10px;font-size:.8rem;color:#a0aac4;text-align:center}
.ycg-session{padding:8px 10px 9px 13px;border-left:4px solid var(--c);border-radius:8px;background:#f5f7fc}
.ycg-session__time{font-size:.76rem;font-weight:700;color:var(--c);letter-spacing:.02em;margin-bottom:2px}
.ycg-session__name{font-size:.87rem;font-weight:600;color:#263a7a}
@media (max-width:1280px){.ycg-timetable__grid{display:block;overflow:visible;padding-bottom:0}.ycg-day{min-width:0}.ycg-timetable__title{font-size:1.4rem}}
