.calendar-section{padding:65px 5% 75px;max-width:1600px;margin:auto}
.calendar-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:40px}
.calendar-heading h1{font-family:Montserrat,Arial,sans-serif;font-size:52px;line-height:1.15;letter-spacing:0;max-width:none}
.calendar-heading p:not(.eyebrow){color:var(--muted);margin:16px 0 0}
.calendar-heading .eyebrow{margin-bottom:16px}
.schedule-page p.location-notice{color:#b42332;background:#fff1f2;border-left:3px solid #b42332;border-radius:3px;padding:14px 16px;margin:0 0 24px;font-size:14px;line-height:1.7}
.location-notice>strong{display:block;margin-bottom:4px}.location-notice>strong.notice-inline{display:inline;margin:0}
.calendar-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.calendar-toolbar h2{font-family:Montserrat,Arial,sans-serif;font-size:20px;letter-spacing:0;line-height:1.4;text-transform:none;flex:1}
.week-controls,.view-controls{display:flex;gap:4px}
.calendar-toolbar button,.calendar-meta button{background:#fff;color:#292929;border:1px solid #d8d3df;border-radius:4px;padding:10px 14px;min-height:44px;cursor:pointer;font-size:13px;font-weight:600}
.calendar-toolbar button:hover,.calendar-meta button:hover{border-color:#823ce5;background:#f7f3fc}
.calendar-toolbar button[aria-pressed="true"]{background:#823ce5;color:#fff;border-color:#823ce5}
.calendar-filter{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600}
.calendar-filter select{font:inherit;font-size:13px;background:#fff;border:1px solid #d8d3df;border-radius:4px;color:#292929;padding:12px 30px 12px 12px;max-width:240px;min-height:44px}
.calendar-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:#626067;font-size:12px;padding-bottom:16px}
.calendar-meta button{margin-left:auto;min-height:36px;padding:6px 12px}
#calendar-status{font-size:14px;color:#626067;margin:0 0 20px}
#calendar-status:empty{display:none}
.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #e0dbe5;border-radius:5px;overflow:hidden;background:#fbfafc;min-height:310px}
.calendar-day{min-width:0;border-right:1px solid #e0dbe5}
.calendar-day:last-child{border:0}
.calendar-day h3{padding:16px 12px;margin:0;border-bottom:1px solid #e0dbe5;background:white;font-size:12px;font-weight:600;color:#626067}
.calendar-day h3 span{display:block;font-size:26px;font-weight:800;color:#292929;margin-top:5px;line-height:1.2}
.calendar-day.today h3{background:#f3eafa;color:#7435b7}
.calendar-day.today h3 span{color:#7435b7}
.calendar-sessions{padding:12px 9px;display:grid;gap:10px}
.calendar-event{border:1px solid #e0dbe5;border-left:3px solid #823ce5;border-radius:4px;padding:11px 9px;background:#fff;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.calendar-event strong{display:block;font-size:13px;line-height:1.4;margin-bottom:7px}
.calendar-event.tekky{border-left-color:#c33184}
.calendar-event.pro{border-left-color:#292929}
.calendar-event time{display:block;color:#626067;font-size:11px;white-space:normal}
.day-empty{font-size:11px;color:#81798a;margin:3px 0;text-align:center}
.calendar-list-day{border-top:1px solid #e0dbe5;padding:22px 0;display:grid;grid-template-columns:190px 1fr;gap:24px}
.calendar-list-day h3{font-size:16px;line-height:1.5;margin:0}
.calendar-list-events{display:grid;gap:10px}
.calendar-list .calendar-event{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px}
.calendar-list .calendar-event strong{margin:0;font-size:16px}
.calendar-list .calendar-event time{font-size:14px}
.calendar-booking{margin-top:32px;border-top:1px solid #e0dbe5;padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.calendar-booking p{margin:0;color:#626067;font-size:14px;line-height:1.8;max-width:650px}
.calendar-booking strong{color:#292929;font-size:16px}
.calendar-booking .button{flex-shrink:0;background:#823ce5}
.location-details{align-self:center;border-top:3px solid #823ce5;padding:25px 0;max-width:470px}
.location-details h3{font-size:26px;line-height:1.3;margin:12px 0 20px}
.schedule-page [hidden]{display:none!important}
@media(max-width:1100px){.calendar-filter label{display:none}.calendar-toolbar{gap:12px}.calendar-toolbar h2{font-size:17px}.calendar-event strong{font-size:12px}.calendar-sessions{padding:10px 6px}.calendar-event{padding:10px 6px}}
@media(max-width:900px){.calendar-heading h1{font-size:40px}.calendar-toolbar h2{flex-basis:calc(100% - 190px)}.calendar-filter{flex:1}.calendar-filter label{display:block}.calendar-filter select{max-width:100%}.calendar-week{grid-template-columns:1fr;min-height:0}.calendar-day{border-right:0;border-bottom:1px solid #e0dbe5}.calendar-day h3{display:flex;gap:12px;align-items:center;padding:12px 16px}.calendar-day h3 span{display:inline;font-size:20px;margin:0}.calendar-sessions{padding:12px 16px}.calendar-event strong{font-size:14px}.calendar-event time{font-size:13px}.calendar-booking{align-items:start;flex-direction:column}}
@media(max-width:760px){.calendar-section{padding:35px 6% 48px}.calendar-heading{align-items:start;flex-direction:column;margin-bottom:28px;gap:15px}.calendar-heading h1{font-size:34px;line-height:1.2}.calendar-heading .eyebrow{font-size:10px}.calendar-heading .text-link{font-size:13px}.calendar-toolbar{gap:14px 10px}.calendar-toolbar h2{font-size:16px}.calendar-toolbar button{padding:10px 12px}.calendar-filter{flex-basis:100%;justify-content:space-between}.calendar-filter label{font-size:13px}.calendar-filter select{max-width:65%}.view-controls{margin-left:auto}.calendar-meta{font-size:11px;gap:9px}.calendar-meta button{font-size:12px}.calendar-list-day{grid-template-columns:1fr;gap:12px;padding:20px 0}.calendar-list .calendar-event{padding:14px 13px;gap:12px;align-items:start;flex-direction:column}.calendar-list .calendar-event strong{font-size:16px}.calendar-list .calendar-event time{font-size:13px}.calendar-booking .button{width:100%}.location-details h3{font-size:23px}}
