.event-calendar{padding-top:38px;padding-bottom:60px}.ec-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.ec-hero h1{font-size:clamp(32px,4vw,49px);letter-spacing:-1.7px;line-height:1.1;margin:12px 0 16px}.ec-hero p:not(.overline){color:var(--muted);font-size:15px;line-height:1.65}.ec-hero>.button{flex-shrink:0}.ec-filters{display:grid;grid-template-columns:1fr 1.45fr 1fr 1fr auto auto;gap:12px;align-items:end;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:14px;margin:24px 0}.ec-filters label{display:grid;gap:8px;min-width:0;font-size:12px;color:var(--muted)}.ec-filters input,.ec-filters select{width:100%;min-width:0;min-height:43px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:9px 10px;font:inherit;font-size:13px}.ec-filters>a{align-self:center;margin-top:18px;font-size:12px;color:var(--blue)}.ec-filters button{min-height:43px}.ec-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:30px}.ec-month,.ec-agenda{min-width:0}.ec-month{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}.ec-month-heading{padding:25px 25px 8px}.ec-month-heading h2{font-size:30px;letter-spacing:-.7px;margin:8px 0}.ec-month-heading p:not(.overline),.ec-agenda>header>p:not(.overline){font-size:12px;color:var(--muted);line-height:1.5}.ec-month-nav{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:10px 22px 18px}.ec-month-nav a{font-size:12px;min-height:40px;display:inline-flex;align-items:center;gap:8px}.ec-boundary{font-size:12px;color:var(--muted)}.ec-grid{width:100%;table-layout:fixed;border-collapse:collapse}.ec-grid th{padding:12px 2px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);font-size:11px;color:var(--muted);font-weight:600;text-align:center}.ec-grid abbr{text-decoration:none}.ec-grid td{padding:3px;border:1px solid var(--line);height:85px;vertical-align:top;text-align:center}.ec-grid td:first-child{border-left:0}.ec-grid td:last-child{border-right:0}.ec-date{height:100%;min-height:76px;padding:10px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border-radius:9px;color:var(--ink);text-decoration:none;border:2px solid transparent}.ec-date:hover{background:var(--bg)}.ec-date:focus-visible{outline:3px solid var(--blue);outline-offset:-1px}.ec-number{font-size:18px;font-weight:700;line-height:1.1}.ec-count{font-size:11px;line-height:1.3;color:var(--blue);overflow-wrap:anywhere}.ec-no-events{font-size:11px;color:var(--muted)}.ec-date.is-selected{background:var(--ink);color:var(--card)}.ec-date.is-selected .ec-count,.ec-date.is-selected .ec-no-events{color:inherit}.ec-date.is-today{border-color:#dd5c4e}.ec-key{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:2px 22px;font-size:11px;color:var(--muted)}.ec-key span{display:inline-flex;align-items:center;gap:6px}.ec-key i{display:inline-block;border:2px solid #dd5c4e;border-radius:4px;width:13px;height:13px}.ec-calendar-note{margin:18px 22px 22px;border-top:1px solid var(--line);padding-top:18px}.ec-calendar-note strong{font-size:14px}.ec-calendar-note p{font-size:12px;color:var(--muted);line-height:1.65}.ec-calendar-note a{font-size:12px;color:var(--blue)}.ec-agenda{scroll-margin-top:180px;outline:none}.ec-agenda>header{padding:7px 0 15px}.ec-agenda h2{font-size:26px;line-height:1.25;letter-spacing:-.7px;margin:9px 0}.ec-event{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:22px;margin-bottom:14px;overflow-wrap:anywhere}.ec-event.is-cancelled{border-left:4px solid #bd6666}.ec-event-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:600}.ec-status{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-size:10px;color:var(--ink)}.ec-event h3{font-size:21px;letter-spacing:-.3px;line-height:1.35;margin:13px 0 9px}.ec-event h3 a{color:var(--ink);text-decoration:none}.ec-event h3 a:hover{text-decoration:underline}.ec-event p{font-size:13px;line-height:1.65;color:var(--muted);margin:9px 0}.ec-event p.ec-event-meta{font-size:11px}.ec-event p.ec-venue{font-weight:600;color:var(--ink)}.ec-event p.field-help{font-size:11px}.ec-event-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;border-top:1px solid var(--line);padding-top:15px;margin-top:16px;font-size:12px}.ec-event-links a{color:var(--blue)}.ec-event-links span{color:var(--muted);font-size:11px}.ec-empty{padding:40px 25px;border:1px dashed var(--line);border-radius:14px;text-align:center;background:var(--card)}.ec-empty>span{font-size:32px;color:var(--muted)}.ec-empty h3{font-size:23px;letter-spacing:-.5px;line-height:1.3}.ec-empty p{font-size:13px;line-height:1.7;color:var(--muted);max-width:380px;margin:0 auto 22px}.ec-empty .secondary-button{font-size:12px}.ec-agenda-note{font-size:11px;color:var(--muted);line-height:1.65;padding:5px 0}.ec-pagination{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:15px 0;font-size:12px}.ec-pagination a{font-size:12px}
@media(max-width:1100px){.ec-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.ec-filters>a{margin-top:0;text-align:center}.ec-layout{gap:20px}.ec-count-word{display:none}.ec-grid td{height:77px}.ec-date{min-height:68px}.ec-month-heading{padding:20px 18px 8px}.ec-month-nav{padding:10px 15px 16px}.ec-month-nav a{padding:9px 11px}}
@media(max-width:760px){.ec-layout{grid-template-columns:1fr;gap:28px}.ec-hero{display:block}.ec-hero>.button{margin-top:8px}.ec-filters{grid-template-columns:1fr 1fr;padding:16px}.ec-filters input,.ec-filters select{font-size:16px}.ec-filters button{font-size:13px}.ec-grid td{height:70px}.ec-date{min-height:60px}.ec-number{font-size:16px}.ec-count-word{display:inline}.event-calendar .topic-nav{gap:5px}.event-calendar .topic-nav a{font-size:12px;padding:9px 11px}.ec-agenda{scroll-margin-top:175px}.ec-agenda h2{font-size:25px}}
@media(max-width:400px){.ec-count-word{display:none}.ec-grid td{padding:1px;height:67px}.ec-date{padding:8px 1px;min-height:62px;gap:7px;border-radius:7px}.ec-grid th{font-size:10px}.ec-number{font-size:15px}.ec-month-nav{padding:10px 12px 15px}.ec-month-nav a{font-size:11px;padding:8px 9px}.ec-month-heading h2{font-size:27px}.ec-key{padding:2px 14px}.ec-calendar-note{margin:18px 14px}.ec-event{padding:18px}.ec-hero h1{letter-spacing:-1px}.ec-filters{gap:10px;padding:13px}.ec-empty{padding:30px 17px}}
