.fwk-calendar{box-sizing:border-box;max-width:810px;margin:1.5rem auto;padding:0;border:0!important;border-radius:0!important;background:var(--fwk-background,#fff);color:var(--fwk-text,#26313b);box-shadow:none!important;font-family:inherit!important}
.fwk-calendar *{box-sizing:border-box}
/* Override theme heading/control font declarations, but inherit the theme body font. */
.fwk-calendar .fwk-heading,.fwk-calendar .fwk-month-title,.fwk-calendar .fwk-arrow,.fwk-calendar .fwk-weekdays,.fwk-calendar .fwk-day,.fwk-calendar .fwk-loading{font-family:inherit!important}
.fwk-heading{margin:0 0:22px!important;color:var(--fwk-text,#26313b);font-size:clamp(23px,3vw,28px);font-weight:700;line-height:1.2}
.fwk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.fwk-calendar .fwk-month-title{flex:1;min-width:0;overflow-wrap:anywhere;text-align:center;margin:0!important;color:var(--fwk-text,#26313b)!important;font-size:var(--fwk-month-size,24px)!important;line-height:1.25;font-weight:700}
.fwk-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #d9e1e5;border-radius:12px;text-decoration:none!important;color:var(--fwk-text,#26313b)!important;background:transparent;font-size:30px;line-height:1;transition:background .15s,border-color .15s}
.fwk-arrow:hover,.fwk-arrow:focus-visible{background:transparent;border-color:currentColor;outline-offset:3px}
.fwk-weekdays,.fwk-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.fwk-weekdays{margin-bottom:7px}
.fwk-weekdays>span{text-align:center;font-size:13px;font-weight:700;color:var(--fwk-text,#26313b);padding:6px 0}
.fwk-day,.fwk-empty{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;min-height:78px;padding:10px 7px;border-radius:10px}
.fwk-day{border:1px solid transparent}
.fwk-day.is-free{background:var(--fwk-free-background,#eaf5ef);border-color:var(--fwk-free-background,#eaf5ef);color:var(--fwk-free-text,#1e6b46)}
.fwk-day.is-booked{background:var(--fwk-booked-background,#c93238);border-color:var(--fwk-booked-background,#c93238);color:var(--fwk-booked-text,#fff)}
.fwk-day.is-today{outline:2px solid var(--fwk-text,#24384b);outline-offset:-3px}
.fwk-number{display:block;font-size:18px;line-height:1;font-weight:700}
.fwk-status{display:block;align-self:center;font-size:clamp(9px,1.4vw,12px);font-weight:800;letter-spacing:.035em;white-space:nowrap}
.fwk-empty{background:transparent}
.fwk-loading{font-size:13px;margin:8px 0 0;min-height:0;color:var(--fwk-text,#26313b)}
.fwk-loading:empty{display:none}
@media(max-width:550px){.fwk-calendar{padding:0;border-radius:0}.fwk-heading{margin-bottom:16px!important}.fwk-weekdays,.fwk-days{gap:3px}.fwk-day,.fwk-empty{min-height:62px;padding:7px 2px;border-radius:6px;gap:7px}.fwk-number{font-size:15px;margin-left:3px}.fwk-status{font-size:clamp(7px,2vw,10px);letter-spacing:0}.fwk-weekdays>span{font-size:11px}.fwk-arrow{width:36px;height:36px;flex-basis:36px}}
@media(max-width:360px){.fwk-day,.fwk-empty{min-height:53px}.fwk-status{font-size:7px}.fwk-number{font-size:13px}}
