.tf-availability[hidden]{display:none!important}.tf-availability{background:var(--paper);color:var(--ink);padding-top:55px;padding-bottom:55px}.tf-availability h2{margin-bottom:18px}.tf-availability>p{max-width:700px}.tf-calendar{max-width:540px;border:1px solid var(--line);padding:22px;background:#fff}.tf-cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.tf-cal-head h3{font:24px Georgia,serif;margin:0;text-transform:capitalize}.tf-cal-head button{border:1px solid var(--line);background:var(--paper);color:var(--forest);width:44px;height:44px;font-size:22px;cursor:pointer}.tf-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.tf-cal-weekday{text-align:center;font-size:12px;padding-bottom:8px}.tf-cal-day{border:1px solid #cbd4c8;color:var(--forest);background:#edf2e9;min-height:42px;font:inherit;cursor:pointer}.tf-cal-day:disabled{background:#ecece6;color:#777b73;border-color:#ecece6;cursor:default;text-decoration:line-through}.tf-cal-day[aria-pressed=true]{background:var(--forest);color:#fff;border-color:var(--forest)}.tf-cal-day.tf-selected{background:#d4dfce}.tf-calendar button:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.tf-cal-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;margin:18px 0}.tf-cal-dot{display:inline-block;width:12px;height:12px;background:#edf2e9;border:1px solid #cbd4c8;margin-right:6px}.tf-cal-dot.busy{background:#ecece6;border-color:#ecece6}.tf-cal-status{font-size:14px;margin-bottom:12px;min-height:1.7em}.tf-availability .button{background:var(--forest);color:white}.tf-availability .button:disabled{opacity:.5;cursor:default}.tf-cal-note{font-size:14px;margin-top:20px;max-width:680px}@media(max-width:480px){.tf-calendar{padding:14px}.tf-cal-day{min-height:40px;font-size:14px}.tf-cal-head h3{font-size:21px}}
/* Explicit light-panel palette: site variables belong to the surrounding dark theme. */
.tf-calendar{background:#fbfaf6;color:#263329;border-color:#73816f;color-scheme:light}
.tf-cal-head h3,.tf-cal-weekday,.tf-cal-status,.tf-cal-legend,.tf-calendar label,.tf-calendar p{color:#263329}
.tf-cal-head button{background:#e8ede4;color:#23382d;border-color:#73816f}
.tf-cal-day{background:#edf2e9;color:#23382d;border-color:#83947d}
.tf-cal-day:disabled{background:#e5e6e0;color:#555b51;border-color:#bfc4b8}
.tf-cal-day.tf-selected{background:#d4dfce;color:#23382d}
.tf-cal-day[aria-pressed=true]{background:#23382d;color:#fff;border-color:#23382d}
.tf-calendar .button{background:#23382d;color:#fff}.tf-calendar button:focus-visible{outline-color:#23382d}
.tf-booking{border:1px solid #788672;padding:20px;margin:24px 0;max-width:680px;color:#f2efe7;background:#16251b}
.tf-booking h3{font-size:24px;color:#f2efe7}.tf-booking label,.tf-booking p{color:#f2efe7}.tf-booking select,.tf-booking input{background:#fbfaf6;color:#263329;color-scheme:light}
.tf-quote{font-size:16px;line-height:1.6;white-space:pre-line}.tf-booking small{display:block;font-size:13px;color:#d8dfd2}.tf-booking details{padding:14px 0}.tf-booking summary{font-size:15px}.tf-booking .tf-code-row{display:flex;gap:8px}.tf-booking .tf-code-row input{flex:1;min-width:0}.tf-booking .tf-code-row button{align-self:start;min-height:48px;background:#d2dbc5;color:#18251c;border:1px solid #d2dbc5;padding:10px}

.tf-cal-status:empty{display:none}
