.calendar-section { padding: 0 0 64px; background: white; }
.calendar-tabs { position: sticky; top: 86px; z-index: 2; display: flex; gap: 28px; border-bottom: 1px solid var(--line); background: white; }
.calendar-tabs button { display: flex; align-items: center; gap: 10px; border: 0; border-bottom: 3px solid transparent; padding: 22px 0 18px; background: transparent; color: var(--muted); font: 600 16px var(--heading); cursor: pointer; }
.calendar-tabs button[aria-selected="true"] { border-bottom-color: var(--brand-green); color: var(--pine); }
.calendar-tabs svg { width: 20px; height: 20px; flex-shrink: 0; }
.calendar-tabs button:hover { color: var(--pine); }
.calendar-tabs button:focus-visible, #calendar-panel:focus-visible { outline: 3px solid var(--brand-green); outline-offset: 5px; }
.calendar-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 30px 0 24px; }
.calendar-toolbar h2 { font-size: 27px; margin: 0 0 8px; }
.calendar-toolbar p { color: var(--muted); margin: 0; }
.calendar-toolbar > a { flex-shrink: 0; font-size: 13px; }
.calendar-status { color: var(--muted); font-size: 14px; padding: 12px 0; }
#calendar-panel { min-width: 0; scroll-margin-top: 160px; }
#church-calendar-frame { display: block; border: 0; width: 100%; scroll-margin-top: 110px; }
.calendar-connections h2 { font-size: 40px; margin-bottom: 30px; }
.calendar-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.calendar-links > a { display: flex; align-items: center; gap: 15px; padding: 20px 0; border-top: 1px solid #153f2c33; color: var(--pine); }
.calendar-link-icon { display: grid; place-items: center; flex-shrink: 0; }
.calendar-link-icon svg { width: 26px; height: 26px; }
.calendar-links strong { display: block; font: 600 20px var(--heading); }
.calendar-links small { display: block; margin-top: 7px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.calendar-links > a > svg { width: 18px; height: 18px; margin-left: auto; flex-shrink: 0; }
@media(max-width:650px) {
 .calendar-tabs { top: 74px; gap: 20px; }
 .calendar-tabs button { font-size: 13px; padding: 20px 0 16px; gap: 7px; min-height: 60px; }
 .calendar-tabs svg { width: 18px; height: 18px; }
 .calendar-toolbar { display: block; padding: 24px 0 20px; }
 .calendar-toolbar h2 { font-size: 25px; }
 .calendar-toolbar p { font-size: 15px; line-height: 1.6; }
 .calendar-toolbar > a { display: inline-flex; margin-top: 16px; }
 .calendar-section { padding-bottom: 40px; }
 .calendar-connections h2 { font-size: 32px; }
 .calendar-links { grid-template-columns: 1fr; gap: 0; }
}
@media(min-width:651px) and (max-width:900px) { .calendar-tabs { top: 78px; } }
