.calendar-page{padding-block:32px 60px}.calendar-hero{isolation:isolate;margin-bottom:22px;padding:36px;position:relative;overflow:hidden}.calendar-hero>img{object-fit:cover;opacity:.2;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.calendar-hero h1{margin:10px 0;font-size:clamp(30px,4vw,44px)}.calendar-hero p{max-width:620px}.calendar-hero span{color:#8a343e;align-items:center;gap:8px;margin-top:16px;display:flex}.calendar-controls{flex-wrap:wrap;align-items:end;gap:16px;padding:20px;display:flex}.calendar-controls label{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:180px;font-size:13px;font-weight:600;display:flex}.calendar-controls select,.calendar-controls input{background:#fff;border:1px solid #ddcbd0;border-radius:9px;width:100%;height:40px;padding:8px 12px}.calendar-observed{color:#715b63;margin:18px 0;font-size:13px}.calendar-days{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.calendar-events{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.calendar-event{padding:20px}.calendar-event h2{overflow-wrap:anywhere;margin:16px 0 10px;font-size:19px;line-height:1.5}.calendar-event-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.calendar-event-top small{color:#78545c;font-size:11px}.calendar-state{color:#8a5307;background:#fff1df;border-radius:20px;padding:5px 9px;font-size:11px}.calendar-state.active{color:#22643a;background:#e3f5e8}.calendar-state.ended{color:#71676b;background:#f0ecee}.calendar-time{color:#9e263c;align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.calendar-scope{color:#715b63;margin-bottom:10px;display:block}.calendar-bonus{color:#a52138;background:#fff1f2;border-radius:8px;margin-top:12px;padding:5px 10px;font-size:13px;display:inline-block}.calendar-empty{margin-top:20px}.calendar-empty h2{margin-block:12px}.calendar-empty a{color:#a72138;margin-top:16px;display:inline-block}.calendar-page>output{margin:16px 0;display:block}@media (max-width:960px){.calendar-events{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.calendar-hero{padding:24px}.calendar-events{grid-template-columns:1fr}.calendar-controls{padding:16px}.calendar-controls label{flex-basis:100%}.calendar-days button{padding-inline:10px;font-size:12px}.calendar-page{padding-block:20px 40px}}
