/* Calendar downloads use the same restrained LOKAGO typography and colours. */
.calendar-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;max-width:100%;padding:6px 0;font-size:.875rem;font-weight:650;line-height:1.5;color:var(--ink);text-decoration:underline;text-decoration-color:#9baead;text-underline-offset:4px}
.calendar-link:hover{text-decoration-color:currentColor}
.calendar-link svg{width:18px;height:18px;flex-shrink:0}
.calendar-format{font-weight:400;color:var(--muted);font-size:.875rem;white-space:nowrap}
.calendar-save{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.calendar-save .eyebrow{font-size:.8125rem;margin-bottom:7px}
.calendar-note{font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:9px;max-width:45ch}
.program-intro .calendar-save{grid-column:1/-1}
.program-day{--calendar-date-width:62px;--calendar-gap:22px}
.program-day-link{gap:var(--calendar-gap);padding-bottom:8px}
.program-day-link .day-date{width:var(--calendar-date-width)}
.program-day-calendar{padding:0 0 18px calc(var(--calendar-date-width) + var(--calendar-gap))}
.detail-intro-actions{display:flex;align-items:center;gap:8px 26px;flex-wrap:wrap;margin-top:22px}
.detail-intro-actions .detail-jump{margin-top:0}
.detail-intro>.calendar-note{max-width:none}
.detail-section .calendar-save{margin-top:20px;padding-top:0;border-top:0}
@media(max-width:1100px){.program-day{--calendar-date-width:52px}}
@media(max-width:900px){.program-day{--calendar-date-width:64px}}
@media(max-width:640px){.program-day{--calendar-date-width:44px;--calendar-gap:12px}.program-day-calendar{padding-bottom:16px}.calendar-save{margin-top:22px}.detail-intro-actions{margin-top:18px;gap:6px 20px}}
