.calendar-shell{width:min(1180px,calc(100% - 40px));margin:auto;padding:58px 0 80px}.back-link{color:var(--navy);font-weight:700;text-decoration:none}.calendar-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:32px}.calendar-heading h1{font:700 clamp(40px,7vw,64px)/1.05 "Libre Baskerville",serif;color:var(--navy);margin:0}.calendar-heading p:last-child{color:var(--muted);font-size:18px;max-width:680px}.subscribe-menu{position:relative}.subscribe-options{position:absolute;right:0;top:calc(100% + 8px);z-index:4;width:220px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px;box-shadow:0 16px 45px #173c4d24}.subscribe-options a{display:block;padding:10px;border-radius:8px;color:var(--navy);font-weight:700;text-decoration:none}.subscribe-options a:hover{background:var(--mist)}.calendar-controls{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:18px}.month-controls{display:flex;align-items:center;gap:14px}.month-controls h2{font:700 25px "Libre Baskerville",serif;color:var(--navy);margin:0;min-width:220px;text-align:center}.month-controls button,.view-buttons button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:8px;padding:8px 11px;font-weight:700;cursor:pointer}.view-buttons{display:flex;gap:5px}.view-buttons .active{background:var(--navy);color:#fff}.calendar-controls label{font-size:13px;font-weight:700;color:var(--muted)}.calendar-controls select{min-width:190px}.calendar-status{color:var(--muted);margin:10px 0}.month-view{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.weekday{background:var(--navy);color:#fff;padding:10px;text-align:center;font-size:13px;font-weight:700}.day{min-height:132px;padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.day:nth-child(7n){border-right:0}.day.outside{background:#f6f6f2;color:#9aa4a4}.day-number{font-weight:700;color:var(--navy);font-size:14px}.outside .day-number{color:#9aa4a4}.calendar-event{display:block;width:100%;border:0;border-left:3px solid var(--sun);border-radius:5px;background:var(--mist);color:var(--navy);text-align:left;margin-top:6px;padding:5px 6px;font-size:12px;line-height:1.25;cursor:pointer}.calendar-event:hover{background:#dbe9e6}.calendar-list{display:grid;gap:10px}.list-event{display:grid;grid-template-columns:85px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 16px}.list-date{text-align:center;color:var(--navy)}.list-date small,.list-date strong{display:block}.list-date strong{font:700 25px "Libre Baskerville",serif}.list-event h3{margin:0;color:var(--navy)}.list-event p{margin:3px 0;color:var(--muted)}.event-tools{display:flex;gap:7px;flex-wrap:wrap}.event-tools a,.event-tools button{border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:7px;padding:7px 9px;font-weight:700;text-decoration:none;cursor:pointer;font-size:13px}#eventDialogBody h2{font:700 27px/1.25 "Libre Baskerville",serif;color:var(--navy);margin:8px 0}#eventDialogBody p{color:var(--muted)}#eventDialogBody .event-tools{margin-top:20px}
.calendar-pin{position:sticky;top:74px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff8e9;border:1px solid #e8c889;border-radius:14px;padding:13px 16px;margin:-15px 0 22px;box-shadow:0 8px 22px #173c4d10}.calendar-pin strong,.calendar-pin span{display:block}.calendar-pin strong{color:var(--navy)}.calendar-pin span{color:var(--muted);font-size:14px}
@media(max-width:850px){.calendar-heading{align-items:flex-start;flex-direction:column}.calendar-controls{grid-template-columns:1fr 1fr}.month-controls{grid-column:1/-1}.month-view{display:none}.view-buttons [data-view="month"]{display:none}.view-buttons [data-view="list"]{background:var(--navy);color:#fff}.calendar-list{display:grid!important}}
@media(max-width:560px){.calendar-shell{width:min(100% - 24px,1180px);padding-top:38px}.calendar-controls{grid-template-columns:1fr}.month-controls{grid-column:auto}.month-controls h2{min-width:0;flex:1;font-size:20px}.calendar-controls label,.calendar-controls select{width:100%}.view-buttons{display:none}.list-event{grid-template-columns:62px 1fr}.event-tools{grid-column:2}.back-link{font-size:14px}.identity small{display:none}.calendar-pin{position:static;align-items:flex-start;flex-direction:column}.calendar-pin .button{width:100%}}
