.facility-calendar .fc-month{white-space:nowrap;font-size:clamp(17px,1.8vw,23px)}
.facility-calendar .fc-toolbar{margin-bottom:24px;padding:4px 0 16px;border-bottom:1px solid #eef0f2}
.facility-calendar .fc-toolbar button{width:44px;height:44px;border-color:#e2e5e8;border-radius:50%;background:#f8f9fa;font-size:23px;box-shadow:none}
.facility-calendar .fc-toolbar button:hover:not(:disabled){background:#fff4ef;border-color:#f06236;transform:translateY(-1px)}
.facility-calendar .fc-weekdays{gap:10px;margin-bottom:10px;color:#71767b;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.facility-calendar .fc-grid{gap:10px}
.facility-calendar .fc-day{position:relative;aspect-ratio:auto;min-height:64px;overflow:hidden;border-color:#e9ecef;border-radius:12px;background:#fafafa!important;color:#212529!important;font-size:15px;font-weight:700;box-shadow:0 1px 2px rgba(1,1,1,.03)}
.facility-calendar .fc-day::after{content:"";position:absolute;right:0;bottom:0;left:0;height:5px;background:#d8dde1}
.facility-calendar .fc-day.fc-forecast-many{border-color:#d7eddd;background:#f2fbf5!important}.facility-calendar .fc-day.fc-forecast-many::after{background:#58bd78}
.facility-calendar .fc-day.fc-forecast-limited{border-color:#f2e1aa;background:#fffaf0!important}.facility-calendar .fc-day.fc-forecast-limited::after{background:#e4b932}
.facility-calendar .fc-day.fc-forecast-full{border-color:#e1dfde;background:#f5f4f3!important;color:#777!important}.facility-calendar .fc-day.fc-forecast-full::after{background:#aaa39f}
.facility-calendar .fc-day.is-past{border-color:#eeeeed;background:#f5f4f3!important;color:#bbb!important;box-shadow:none}.facility-calendar .fc-day.is-past::after{background:transparent}
.facility-calendar .fc-day.is-today{border-color:#212733;background:#212733!important;color:#fff!important;box-shadow:0 5px 14px rgba(33,39,51,.22)}.facility-calendar .fc-day.is-today::after{background:#f06236}
.facility-calendar .fc-day:not(:disabled):hover{transform:translateY(-2px);border-color:#f06236;box-shadow:0 7px 18px rgba(1,1,1,.1)}
.facility-calendar .fc-day.is-selected{border-color:#f06236;box-shadow:0 0 0 3px rgba(240,98,54,.2)}
.facility-calendar .fc-day{aspect-ratio:1/1;min-height:0;padding:8px;border-radius:14px;background:#fff!important;box-shadow:0 2px 8px rgba(1,1,1,.045)}
.facility-calendar .fc-day::after{top:5px;right:7px;bottom:auto;left:auto;width:8px;height:8px;border-radius:50%}
.facility-calendar .fc-day.fc-forecast-many{background:#f5fbf7!important}.facility-calendar .fc-day.fc-forecast-many::after{background:#58bd78}
.facility-calendar .fc-day.fc-forecast-limited{background:#fffaf1!important}.facility-calendar .fc-day.fc-forecast-limited::after{background:#e4b932}
.facility-calendar .fc-day.fc-forecast-full{background:#f6f5f5!important}.facility-calendar .fc-day.fc-forecast-full::after{background:#aaa39f}
.facility-calendar .fc-day.is-past{background:#f7f7f7!important}.facility-calendar .fc-day.is-past::after{display:none}
.facility-calendar .fc-day.is-today{background:#212733!important}.facility-calendar .fc-day.is-today::after{display:block;background:#f06236}
.facility-calendar .fc-legend{justify-content:flex-start;gap:8px;margin-top:16px}.facility-calendar .fc-legend span{padding:6px 10px;border:1px solid #eceeef;border-radius:999px;background:#fafafa;color:#62676c}.facility-calendar .fc-legend i{width:9px;height:9px;border-radius:50%}
.facility-calendar .fc-slots>h4{text-align:center;font-size:clamp(16px,1.5vw,20px)}.facility-calendar .fc-slots>p{text-align:center}
.facility-calendar .fc-slot-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.facility-calendar .fc-slot{appearance:none;width:100%;min-height:58px;margin:0;padding:12px 14px;grid-template-columns:1fr;gap:3px;text-align:left;font-family:Manrope,Arial,sans-serif;cursor:default}
.facility-calendar button.fc-slot{cursor:pointer}
.facility-calendar button.fc-slot:hover{border-color:#f06236;box-shadow:0 3px 10px rgba(1,1,1,.08)}
.facility-calendar .fc-slot.is-chosen{border-color:#f06236;box-shadow:0 0 0 3px rgba(240,98,54,.25)}
.facility-calendar .fc-time{font-size:14px;line-height:1.3}
.facility-calendar .fc-label{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.3}
.facility-calendar.fc-mode-slots .fc-slot{min-height:58px;padding:8px;gap:0;text-align:center}.facility-calendar.fc-mode-slots .fc-label{display:block;margin:0;text-align:center;font-size:11px;line-height:1.15}.facility-calendar.fc-mode-slots .fc-time{display:block;text-align:center;font-size:12px;letter-spacing:-.015em}
.facility-calendar .fc-selection{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;margin-top:16px;padding:18px;border:1px solid #f1e7e2;border-radius:12px;background:#fff8f4}
.facility-calendar .fc-selection[hidden]{display:none}
.facility-calendar .fc-selection-label{color:#838888;font-size:12px;line-height:1.3}
.facility-calendar .fc-selection strong{grid-column:1;font-size:16px;line-height:1.3}
.facility-calendar .fc-selection .fc-book{grid-column:2;grid-row:1/3;min-width:180px;margin:0;padding:12px 18px}
.facility-calendar .fc-selection.fc-quick-booking{display:block;margin-top:16px;padding:0;border:0;background:transparent}.facility-calendar .fc-selection.fc-quick-booking .fc-book{display:block;width:100%;min-width:0;margin:0}
@media(max-width:639px){.facility-calendar .fc-month{font-size:18px}.facility-calendar .fc-toolbar{margin-bottom:18px;padding-bottom:12px}.facility-calendar .fc-toolbar button{width:38px;height:38px}.facility-calendar .fc-weekdays,.facility-calendar .fc-grid{gap:5px}.facility-calendar .fc-weekdays{font-size:9px;letter-spacing:.03em}.facility-calendar .fc-day{aspect-ratio:1/1;min-height:0;border-radius:8px;font-size:12px}.facility-calendar .fc-day::after{top:6px;right:6px;width:5px;height:5px}.facility-calendar .fc-legend span{padding:5px 8px}.facility-calendar .fc-slot-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.facility-calendar.fc-mode-slots .fc-slot{padding:8px 4px}.facility-calendar.fc-mode-slots .fc-time{font-size:clamp(10px,3.1vw,14px)}.facility-calendar .fc-selection{grid-template-columns:1fr}.facility-calendar .fc-selection .fc-book{grid-column:1;grid-row:auto;width:100%;min-width:0;margin-top:8px}}
@media(max-width:639px){.facility-calendar .fc-day::after{top:3px;right:4px}}
/* Forecast meaning: green = all slots available, amber = at least one booking, red = full. */
.facility-calendar .fc-day.fc-forecast-many{border-color:#58bd78;background:#58bd78!important;color:#102417!important}.facility-calendar .fc-day.fc-forecast-many::after{background:#fff}
.facility-calendar .fc-day.fc-forecast-limited{border-color:#f0d57d;background:#fff8e6!important;color:#4c3b05!important}.facility-calendar .fc-day.fc-forecast-limited::after{background:#e4b932}
.facility-calendar .fc-day.fc-forecast-full{border-color:#efaaa0;background:#fce9e6!important;color:#8a261d!important}.facility-calendar .fc-day.fc-forecast-full::after{background:#dc4c3e}
.facility-calendar .fc-legend-many{background:#58bd78}.facility-calendar .fc-legend-limited{background:#e4b932}.facility-calendar .fc-legend-full{background:#dc4c3e}
.facility-calendar .fc-day.is-static{cursor:default}.facility-calendar .fc-day.is-static:hover{transform:none;box-shadow:none}
/* Category/blog forecast: a compact availability summary inside a facility card. */
.facility-calendar.fc-mode-forecast{max-width:100%;margin:16px auto;padding:16px}.facility-calendar.fc-mode-forecast .fc-toolbar{grid-template-columns:1fr;margin-bottom:14px;padding-bottom:10px}.facility-calendar.fc-mode-forecast .fc-toolbar button{width:34px;height:34px;font-size:19px}.facility-calendar.fc-mode-forecast .fc-month{font-size:clamp(15px,1.4vw,19px)}.facility-calendar.fc-mode-forecast .fc-weekdays,.facility-calendar.fc-mode-forecast .fc-grid{gap:5px}.facility-calendar.fc-mode-forecast .fc-weekdays{margin-bottom:5px;font-size:9px}.facility-calendar.fc-mode-forecast .fc-day{padding:5px;border-radius:10px;font-size:13px}.facility-calendar.fc-mode-forecast .fc-day::after{top:5px;right:5px;width:7px;height:7px}.facility-calendar.fc-mode-forecast .fc-legend{gap:6px;margin-top:12px;font-size:10px}.facility-calendar.fc-mode-forecast .fc-legend span{gap:5px;padding:4px 6px}.facility-calendar.fc-mode-forecast .fc-legend i{width:8px;height:8px}
.facility-calendar.fc-mode-slots{margin-top:0}
.facility-calendar .fc-closure-alert{margin:0;padding:16px 18px;border:1px solid #efbfc4;border-radius:10px;background:#f8d7da;color:#7b1d28;font-size:14px;line-height:1.5}.facility-calendar .fc-closure-alert strong{font-size:15px;letter-spacing:.02em}
.facility-calendar.fc-mode-forecast.fc-is-temporarily-closed{min-height:0;margin:16px auto 0;padding:18px}.facility-calendar.fc-mode-forecast.fc-is-temporarily-closed .fc-grid{display:block}.facility-calendar.fc-mode-forecast.fc-is-temporarily-closed .fc-closure-alert{text-align:center}
.facility-calendar.fc-is-temporarily-closed .fc-grid{display:block;width:100%}.facility-calendar.fc-is-temporarily-closed .fc-closure-alert{display:block;width:100%;text-align:center}.facility-calendar.fc-is-temporarily-closed{margin:12px auto 0;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}.facility-calendar.fc-mode-slots.fc-is-temporarily-closed{margin-top:0}.facility-calendar.fc-is-temporarily-closed.uk-card{background:transparent!important;box-shadow:none!important}
