/* BTT presentation over the shared KINEA grid. Read-only public occurrences. */
.btt-public-calendar{min-width:0;max-width:100%;color:#000;font:16px/1.5 Roboto,sans-serif;text-align:left;overflow-wrap:anywhere;overflow-anchor:none}
.btt-public-calendar *{box-sizing:border-box;min-width:0}
.btt-public-calendar__toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;margin:0 0 24px}
.btt-public-calendar .btt-public-calendar__range{margin:0;text-align:center;font-size:clamp(22px,2.1vw,32px);line-height:1.25;font-weight:700;font-variant-numeric:tabular-nums}
.btt-public-calendar__week-button{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:44px;padding:10px 16px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#000;text-decoration:none;font-size:14px;line-height:1.25;font-weight:700;text-align:center}
.btt-public-calendar__week-button:nth-child(3){justify-self:end}
.btt-public-calendar__week-button:hover{background:#17e4c4;border-color:#17e4c4}
.btt-public-calendar__week-button.is-disabled{opacity:.45}
.btt-public-calendar__current{grid-column:2;justify-self:center;font-size:13px;font-weight:700;color:#00695c;text-underline-offset:3px}
.btt-public-calendar[aria-busy="true"] .btt-public-calendar__body{opacity:.6}
.btt-public-calendar[aria-busy="true"] .btt-public-calendar__week-button{cursor:wait}
.btt-public-calendar .lrk-cal{--lrk-cal-ink:#000;--lrk-cal-on-navy:#000;--lrk-cal-muted:#595959;--lrk-cal-rule:#ddd;--lrk-cal-rule-soft:#e5e5e5;--lrk-cal-gutter:64px;--lrk-cal-col-min:150px;--lrk-cal-radius:10px;--theme-button-background-initial-color:#17e4c4;padding:0 0 4px;color:#000}
.btt-public-calendar .lrk-cal__scroll{max-width:100%;scrollbar-color:#aaa transparent}
.btt-public-calendar .lrk-cal__scroll::-webkit-scrollbar-thumb{background:#aaa}
.btt-public-calendar :is(.lrk-cal__scroll,a,button):focus-visible{outline:3px solid #00695c;outline-offset:3px}
.btt-public-calendar :is(.lrk-cal__corner,.lrk-cal__dayhead){background:#fff;color:#000}
.btt-public-calendar .lrk-cal__corner,.btt-public-calendar .lrk-cal__hour{background:#f3f3f3;box-shadow:1px 0 0 #ddd}
.btt-public-calendar .lrk-cal__dayhead.is-today .lrk-cal__dayname{color:#000}
.btt-public-calendar .lrk-cal__daydate{color:#595959;opacity:1;font-size:14px}
.btt-public-calendar .lrk-cal__hour time{color:#595959;transform:none}
.btt-public-calendar__all-day{padding:8px 0;font-size:11px;line-height:1.35;text-align:right}
.btt-public-calendar .lrk-cal__event{margin:0;padding:0;border-left-color:var(--btt-event-accent,#008772);background:#fff;color:#000;box-shadow:0 2px 8px #0001;outline-color:#ddd}
.btt-public-calendar .lrk-cal__event:hover{box-shadow:0 4px 12px #0002;transform:none}
.btt-public-calendar .lrk-cal__evlink{width:100%;height:100%;padding:12px 10px;gap:8px;color:#000;text-decoration:none}
.btt-public-calendar .lrk-cal__evlink:hover .lrk-cal__evtitle{text-decoration:none}
.btt-public-calendar .lrk-cal__evtime{color:#595959;font-size:12px;line-height:1.3;font-weight:600;margin:0}
.btt-public-calendar .lrk-cal__evtitle{margin:0;padding:0;background:none;color:#000;font-size:15px;line-height:1.35;font-weight:700}
.btt-public-calendar__event--swim{--btt-event-accent:#008772;--btt-event-bg:#d8faf3;--btt-event-ink:#005c50}
.btt-public-calendar__event--run{--btt-event-accent:#b54421;--btt-event-bg:#ffede5;--btt-event-ink:#8a2e11}
.btt-public-calendar__event--training{--btt-event-accent:#007284;--btt-event-bg:#e1f5f8;--btt-event-ink:#00505d}
.btt-public-calendar__event--club{--btt-event-accent:#684699;--btt-event-bg:#f0eafb;--btt-event-ink:#53367c}
.btt-public-calendar__badges{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.btt-public-calendar__badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:4px;font-size:11px;line-height:1.3;font-weight:700;white-space:nowrap}
.btt-public-calendar__badge--type{background:var(--btt-event-bg,#e1f5f8);color:var(--btt-event-ink,#00505d)}
.btt-public-calendar__badge--group{background:#ededed;color:#333;border:1px solid #d3d3d3}
.btt-public-calendar .lrk-cal__empty{min-height:240px;display:grid;place-content:center;margin:0;background:#f6f7f7;border-color:#ddd;color:#000}
.btt-public-calendar__modal{position:fixed;inset:0;width:min(540px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:40px 32px 32px;border:0;border-radius:16px;background:#fff;color:#000;box-shadow:0 20px 80px #0004;overflow-y:auto;overscroll-behavior:contain}
.btt-public-calendar__modal:not([open]){display:none}
.btt-public-calendar__modal::backdrop{background:#0009;backdrop-filter:blur(3px)}
.btt-public-calendar__close{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:0;border-radius:50%;background:#f1f3f3;color:#000;cursor:pointer}
.btt-public-calendar__close:hover{background:#17e4c4}
.btt-public-calendar .btt-public-calendar__modal-heading{margin:18px 0 24px;font-size:clamp(22px,3vw,30px);line-height:1.2;font-weight:700;color:#000}
.btt-public-calendar__details dl{display:grid;gap:16px;margin:0;font-size:16px;line-height:1.4}
.btt-public-calendar__details dl>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px}
.btt-public-calendar__details dt{color:#595959;font-size:14px}
.btt-public-calendar__details dd{margin:0;color:#000;font-weight:600}
.btt-public-calendar__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:28px;padding-top:24px;border-top:1px solid #ddd}
.btt-public-calendar__button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border:1px solid #17e4c4;border-radius:6px;background:#17e4c4;color:#000;text-decoration:none;font-size:14px;line-height:1.25;font-weight:700}
.btt-public-calendar__button:hover{background:#0ccdb3;border-color:#0ccdb3}
.btt-public-calendar__button--secondary{background:#fff;border-color:#bbb}
.btt-public-calendar__button--secondary:hover{background:#f1f3f3;border-color:#999}
@media(max-width:782px){.btt-public-calendar__toolbar{grid-template-columns:1fr 1fr;gap:12px}.btt-public-calendar .btt-public-calendar__range{grid-column:1/-1;grid-row:1;font-size:24px}.btt-public-calendar__week-button{grid-row:2;padding:10px 12px;font-size:13px}.btt-public-calendar__current{grid-column:1/-1;grid-row:3}.btt-public-calendar .lrk-cal{--lrk-cal-gutter:48px}.btt-public-calendar__all-day{font-size:10px}.btt-public-calendar__modal{padding:42px 22px 24px}}
@media(prefers-reduced-motion:reduce){.btt-public-calendar .lrk-cal__event{transition:none;transform:none}}
