/**
 * KAT Calendrer — standalone front-end calendar module ([kat_calendrer]).
 * Shares the booking popup's navy/gold palette so it reads as one system,
 * but is scoped under .kat-cldr so it never depends on the popup being open.
 */
.kat-cldr { --kat-navy:#001D6C; --kat-gold:#EAB308; --kat-ink:#1a1a1a; --kat-line:#e6e6ea;
	box-sizing:border-box; max-width:720px; margin:0 auto; }
.kat-cldr *, .kat-cldr *::before, .kat-cldr *::after { box-sizing:border-box; }

.kat-cldr__title { margin:0 0 4px; font-size:22px; font-weight:800; color:var(--kat-navy); }
.kat-cldr__subtitle { margin:0 0 18px; font-size:14px; color:#6a6a72; }
.kat-cldr__hint { margin:16px 0 0; font-size:12px; color:#8a8a92; }

.kat-cldr__map { margin-top:22px; padding-top:18px; border-top:1px solid var(--kat-line); }
.kat-cldr__map-title { margin:0 0 10px; font-size:15px; font-weight:700; color:var(--kat-navy); }

.kat-cldr__months { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:20px; }

.kat-cldr__month { border:1px solid var(--kat-line); border-radius:14px; padding:14px; background:#fff; }
.kat-cldr__month-head { text-align:center; font-weight:700; font-size:14px; color:var(--kat-navy); margin-bottom:8px; }

.kat-cldr__dow-row { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; margin-bottom:4px; }
.kat-cldr__dow-row span { text-align:center; font-size:11px; color:#a0a0a8; padding:2px 0; }

.kat-cldr__grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.kat-cldr__day { border:1px solid transparent; background:#f6f6f8; border-radius:8px; padding:0;
	aspect-ratio:1/1; min-height:34px; font-size:13px; color:var(--kat-ink); cursor:pointer;
	font-family:inherit; }
.kat-cldr__day:hover:not(:disabled) { border-color:var(--kat-navy); background:#f0f3fb; }
.kat-cldr__day:focus-visible { outline:2px solid var(--kat-navy); outline-offset:1px; }
.kat-cldr__day--empty { background:transparent; cursor:default; }
.kat-cldr__day--past { opacity:.35; cursor:default; }
.kat-cldr__day--today { box-shadow:inset 0 0 0 2px var(--kat-gold); font-weight:700; }

@media (prefers-reduced-motion:reduce){ .kat-cldr__day { transition:none; } }
