.calendar-page .events-hero{padding-bottom:65px}.calendar-page .events-hero h1{font-size:clamp(48px,5.2vw,72px)}.calendar-page .events-breadcrumb{margin-bottom:25px}.calendar-page .events-hero .wrap>p:last-child{font-size:13px}
.calendar-page .polished-filter[data-filter-name=month]{flex-basis:180px}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:35px 0 21px}
.calendar-toolbar .eyebrow{font-size:8px;letter-spacing:.13em}
.calendar-toolbar h2{font-size:35px;letter-spacing:-.045em;margin:13px 0 9px;line-height:1.1;scroll-margin-top:110px}
.calendar-toolbar h2:focus{outline:none}.calendar-summary{font-size:11px;color:var(--muted)}
.calendar-month-nav{display:flex;gap:7px;align-items:center}.calendar-step,.calendar-today{display:flex;align-items:center;justify-content:center;min-height:42px;background:#fff;border:1px solid var(--line);border-radius:7px;font-size:11px;font-weight:500;color:var(--text-secondary)}
.calendar-step{width:43px}.calendar-step svg{width:18px;height:18px}.calendar-step:first-child svg{transform:rotate(180deg)}.calendar-today{padding:11px 18px}.calendar-month-nav a:hover{border-color:var(--brand);color:var(--brand-strong)}.calendar-month-nav a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.calendar-step.disabled{color:var(--on-dark-muted);background:transparent}
.calendar-key{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-bottom:18px;font-size:9px;color:var(--muted)}.calendar-key>span{display:flex;align-items:center;gap:6px}.calendar-key i{display:block;width:6px;height:6px;border-radius:50%;background:var(--brand)}.calendar-key i.live{background:#4e8b62}.calendar-key i.past{background:var(--text-subtle)}.calendar-key p{margin-left:auto;color:var(--muted)}
.month-calendar{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 5px 25px rgb(var(--navy-rgb) / 0.012)}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays{background:var(--surface-soft);border-bottom:1px solid var(--line)}.calendar-weekdays>span{font-size:10px;letter-spacing:.04em;font-weight:600;color:var(--muted);padding:15px 13px;text-align:left}
.calendar-day{min-width:0;min-height:165px;padding:12px 9px 14px;border-right:1px solid var(--surface-soft);border-bottom:1px solid var(--surface-soft);background:#fff}
.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}
.calendar-day.outside-month{background:var(--canvas);color:var(--on-dark-muted)}
.calendar-day.is-today{background:var(--white);box-shadow:inset 0 3px var(--brand)}
.calendar-day-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:10px;min-height:25px}
.calendar-day-heading>span{font-size:8px;color:var(--text-subtle)}.day-number{font-size:11px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px}
.is-today .day-number{background:var(--brand);color:#fff;border-radius:50%}
.calendar-day-events{display:flex;flex-direction:column;gap:5px}
.calendar-event{display:block;min-width:0;padding:9px 9px 9px 10px;background:var(--brand-soft);border:1px solid var(--brand-border);border-left:2px solid var(--brand);border-radius:5px;color:var(--brand-strong);transition:background .15s,border-color .15s}
.calendar-event.live{background:#edf5eb;border-color:#d8e6d3;border-left-color:#5d9565;color:#34573b}
.calendar-event.past{background:var(--canvas);border-color:var(--surface-soft);border-left-color:var(--on-dark-muted);color:var(--muted)}
.calendar-event:hover{border-color:var(--brand);background:var(--brand-border)}.calendar-event:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}
.calendar-event-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:10px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.calendar-event-promoter{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.5;margin-top:4px;opacity:.8}
.calendar-event-duration{display:block;font-size:8px;line-height:1.5;margin-top:5px;opacity:.8}
.calendar-more summary{font-size:9px;color:var(--brand-strong);cursor:pointer;padding:7px 3px;list-style:none;line-height:1.5}.calendar-more summary:hover{text-decoration:underline}.calendar-more[open] summary{margin-bottom:3px}.calendar-more .calendar-event{margin-bottom:5px}
.calendar-empty{padding:28px;background:#fff;border:1px solid var(--line);border-radius:9px;margin-bottom:20px}.calendar-empty h3{font-size:20px;letter-spacing:-.025em}.calendar-empty p{font-size:12px;color:var(--muted);margin:12px 0}.calendar-empty a{display:inline-flex;gap:12px;align-items:center;font-size:11px;color:var(--brand-strong)}.calendar-empty a svg{width:16px;height:16px}
.calendar-agenda{display:none}
@media(max-width:1000px){.calendar-day{padding:9px 5px}.calendar-event{padding:8px 6px}.calendar-day-heading>span{font-size:7px}.calendar-event-name{font-size:9px}.calendar-event-promoter,.calendar-event-duration{font-size:7px}}
@media(max-width:760px){.calendar-page .events-hero h1{font-size:clamp(46px,10.8vw,67px)}.calendar-page .events-hero .wrap>p:last-child{max-width:310px;line-height:1.8}.calendar-page .filter-controls .polished-filter[data-filter-name=promoter]{flex-basis:100%}.calendar-page .polished-filter[data-filter-name=month]{flex:1 1 120px}.calendar-toolbar{flex-wrap:wrap;align-items:flex-start;gap:19px;margin-top:28px}.calendar-toolbar h2{font-size:31px}.calendar-month-nav{width:100%}.calendar-today{flex:1}.calendar-key{gap:14px;font-size:8px;line-height:1.6}.calendar-key p{width:100%;margin-left:0}.month-calendar{display:none}.calendar-agenda{display:flex;flex-direction:column;gap:17px}.agenda-day{display:grid;grid-template-columns:39px minmax(0,1fr);gap:13px}.agenda-day>h3{display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:13px}.agenda-day time{display:flex;flex-direction:column;align-items:center;gap:5px}.agenda-day time>span{text-transform:uppercase;font-size:9px;letter-spacing:.05em;color:var(--muted)}.agenda-day time>strong{font-size:26px;line-height:1;font-weight:500;letter-spacing:-.05em}.agenda-day.is-today time>strong{color:var(--brand)}.agenda-today{font-size:7px;color:var(--brand-strong)}.agenda-day>div{display:flex;flex-direction:column;gap:8px}.agenda-event{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.agenda-event .calendar-event{padding:14px;border:0;border-left:3px solid var(--brand);border-radius:0;background:var(--brand-soft)}.agenda-event .calendar-event.past{background:var(--canvas);border-left-color:var(--on-dark-muted)}.agenda-event .calendar-event.live{background:#f0f7ec;border-left-color:#5d9565}.agenda-event .calendar-event-name{font-size:13px;-webkit-line-clamp:unset;display:block;line-height:1.55}.agenda-event .calendar-event-promoter{font-size:9px;white-space:normal;line-height:1.6;margin-top:7px}.agenda-event .calendar-event-duration{font-size:9px}.agenda-event>p{font-size:9px;color:var(--muted);padding:9px 14px;line-height:1.7;border-top:1px solid var(--surface-soft)}.calendar-empty{padding:23px 19px}.calendar-empty h3{font-size:19px}}
@media(max-width:380px){.calendar-page .filter-controls .polished-filter[data-filter-name=month]{flex-basis:100%}.agenda-day{grid-template-columns:32px minmax(0,1fr);gap:10px}.agenda-event .calendar-event{padding:12px}.agenda-event .calendar-event-name{font-size:12px}.calendar-toolbar h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.calendar-event{transition:none}}
.calendar-event-promoter,.calendar-event-duration{color:var(--muted);opacity:1}
