.bookyt-occupancy-calendar{--bookyt-oc-free:#dcefcf;--bookyt-oc-occupied:#f1d4d5;--bookyt-oc-accent:#176c91;--bookyt-oc-border:#dce4e8;color:#203640;background:#fff;font:inherit;max-width:960px;margin:0 auto;padding:clamp(12px,3vw,28px);border:1px solid var(--bookyt-oc-border);border-radius:16px;box-sizing:border-box}.bookyt-occupancy-calendar *,.bookyt-occupancy-calendar *:before,.bookyt-occupancy-calendar *:after{box-sizing:border-box}.bookyt-occupancy-calendar .bookyt-oc-title{font-size:1.35em;margin:0 0 20px;color:inherit}.bookyt-occupancy-calendar .bookyt-oc-filters,.bookyt-occupancy-calendar .bookyt-oc-selection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bookyt-occupancy-calendar .bookyt-oc-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}.bookyt-occupancy-calendar [hidden]{display:none !important}.bookyt-occupancy-calendar .bookyt-oc-selection{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),16.5rem));justify-content:start;gap:12px 16px}.bookyt-occupancy-calendar .bookyt-oc-field{display:flex;flex-direction:column;gap:6px;margin:0;font-size:.9em;min-width:0}.bookyt-occupancy-calendar .bookyt-oc-field-label{font-weight:600}.bookyt-occupancy-calendar select,.bookyt-occupancy-calendar input{font:inherit;color:inherit;background:#fff;border:1px solid #b5c5ce;border-radius:7px;min-height:44px;padding:9px;min-width:0;width:100%}.bookyt-occupancy-calendar select:disabled{opacity:1;color:#405660;background:#f4f7f8}.bookyt-occupancy-calendar .bookyt-oc-date-control{display:flex;align-items:center;height:40px;min-width:0;border:1px solid #b5c5ce;border-radius:7px;background:#fff}.bookyt-occupancy-calendar .bookyt-oc-date-control:focus-within{outline:3px solid var(--bookyt-oc-accent);outline-offset:2px}.bookyt-occupancy-calendar .bookyt-oc-selection .bookyt-oc-date-control input[type]{flex:1 1 0;width:100%;min-width:0;height:38px;min-height:0;padding:6px 10px;border:0;border-radius:7px;background:0 0;color:inherit;box-shadow:none}.bookyt-occupancy-calendar .bookyt-oc-date-control input.bookyt-oc-date-input:focus-visible{outline:none}.bookyt-occupancy-calendar .bookyt-oc-fixed-time{display:inline-flex;align-items:center;align-self:stretch;flex:none;padding:0 11px;border-left:1px solid var(--bookyt-oc-border);border-radius:0 6px 6px 0;color:#405660;background:#f3f7f9;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.bookyt-occupancy-calendar button[class]{font:inherit;color:#203640;cursor:pointer;border:1px solid var(--bookyt-oc-border);border-radius:7px;line-height:1.2;box-shadow:none;text-transform:none;letter-spacing:normal}.bookyt-occupancy-calendar button[class]:disabled{cursor:default}.bookyt-occupancy-calendar button[class]:hover{color:#203640}.bookyt-occupancy-calendar button:focus-visible,.bookyt-occupancy-calendar input:focus-visible,.bookyt-occupancy-calendar select:focus-visible{outline:3px solid var(--bookyt-oc-accent);outline-offset:3px}.bookyt-occupancy-calendar .bookyt-oc-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0 10px}.bookyt-occupancy-calendar .bookyt-oc-navigation button[class],.bookyt-occupancy-calendar .bookyt-oc-navigation button[class]:hover{background:#f5f8fa;padding:10px 18px;min-width:44px;min-height:44px}.bookyt-occupancy-calendar .bookyt-oc-navigation button:disabled{opacity:.4}.bookyt-occupancy-calendar .bookyt-oc-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,3vw,30px)}.bookyt-occupancy-calendar .bookyt-oc-month-title{text-align:center;font-size:1.05em;font-weight:600;margin:10px 0 16px;color:inherit}.bookyt-occupancy-calendar .bookyt-oc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.bookyt-occupancy-calendar .bookyt-oc-weekday{text-align:center;font-size:.8em;padding:3px 0 9px;overflow:hidden}.bookyt-occupancy-calendar .bookyt-oc-day{padding:0;min-width:0;min-height:38px;aspect-ratio:1.12;font-size:.9em;border:1px solid transparent;border-radius:5px;position:relative;display:flex;align-items:center;justify-content:center}.bookyt-occupancy-calendar .bookyt-oc-day:not(:disabled):hover{border-color:var(--bookyt-oc-accent);box-shadow:inset 0 0 0 1px var(--bookyt-oc-accent)}.bookyt-occupancy-calendar button.bookyt-oc-day:disabled,.bookyt-occupancy-calendar button.bookyt-oc-day:disabled:hover{color:#657680;opacity:.7}.bookyt-occupancy-calendar .bookyt-oc-day[aria-current=date]{font-weight:800;text-decoration:underline;text-underline-offset:4px}.bookyt-occupancy-calendar .bookyt-oc-free,.bookyt-occupancy-calendar button.bookyt-oc-free[class],.bookyt-occupancy-calendar button.bookyt-oc-free:hover{background:var(--bookyt-oc-free)}.bookyt-occupancy-calendar .bookyt-oc-occupied,.bookyt-occupancy-calendar button.bookyt-oc-occupied[class],.bookyt-occupancy-calendar button.bookyt-oc-occupied:hover{background:var(--bookyt-oc-occupied)}.bookyt-occupancy-calendar .bookyt-oc-partial,.bookyt-occupancy-calendar button.bookyt-oc-partial[class],.bookyt-occupancy-calendar button.bookyt-oc-partial:hover{background:linear-gradient(135deg,var(--bookyt-oc-free) 50%,var(--bookyt-oc-occupied) 50%)}.bookyt-occupancy-calendar .bookyt-oc-unknown,.bookyt-occupancy-calendar button.bookyt-oc-unknown[class],.bookyt-occupancy-calendar button.bookyt-oc-unknown:hover{background:repeating-linear-gradient(135deg,#e8ecee,#e8ecee 4px,#f5f7f8 4px,#f5f7f8 8px)}.bookyt-occupancy-calendar .bookyt-oc-selected{box-shadow:inset 0 0 0 2px var(--bookyt-oc-accent)}.bookyt-occupancy-calendar .bookyt-oc-selected-start,.bookyt-occupancy-calendar .bookyt-oc-selected-stop{outline:2px solid var(--bookyt-oc-accent);outline-offset:-2px;font-weight:800}.bookyt-occupancy-calendar .bookyt-oc-legend{list-style:none;display:flex;flex-wrap:wrap;gap:10px 18px;padding:0;margin:20px 0;font-size:.82em}.bookyt-occupancy-calendar .bookyt-oc-legend-item{display:flex;align-items:center;gap:6px;margin:0}.bookyt-occupancy-calendar .bookyt-oc-swatch{width:18px;height:18px;border-radius:4px;border:1px solid #c4cdd1;flex:none}.bookyt-occupancy-calendar .bookyt-oc-instructions{margin:18px 0 14px;font-size:.95em;font-weight:600}.bookyt-occupancy-calendar .bookyt-oc-summary{min-height:1.5em;margin:16px 0;font-size:.92em}.bookyt-occupancy-calendar .bookyt-oc-error{color:#a22c32;font-weight:600}.bookyt-occupancy-calendar .bookyt-oc-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.bookyt-occupancy-calendar .bookyt-oc-actions button{padding:12px 16px;min-height:44px}.bookyt-occupancy-calendar button.bookyt-oc-clear,.bookyt-occupancy-calendar button.bookyt-oc-clear:hover{background:#fff;color:#203640}.bookyt-occupancy-calendar button.bookyt-oc-book,.bookyt-occupancy-calendar button.bookyt-oc-book:hover{background:var(--bookyt-oc-accent);color:#fff;border-color:var(--bookyt-oc-accent);font-weight:600}.bookyt-occupancy-calendar .bookyt-oc-actions button:disabled{opacity:.45}.bookyt-occupancy-calendar .bookyt-oc-hint{font-size:.78em;line-height:1.5;color:#63737c;margin:18px 0 0}@media (max-width:640px){.bookyt-occupancy-calendar .bookyt-oc-months{grid-template-columns:1fr}.bookyt-occupancy-calendar .bookyt-oc-second-month{display:none}.bookyt-occupancy-calendar .bookyt-oc-filters{grid-template-columns:1fr;gap:10px}.bookyt-occupancy-calendar .bookyt-oc-selection{grid-template-columns:1fr}.bookyt-occupancy-calendar .bookyt-oc-date-control{height:44px}.bookyt-occupancy-calendar .bookyt-oc-selection .bookyt-oc-date-control input[type]{height:42px}.bookyt-occupancy-calendar .bookyt-oc-day{min-height:40px;max-height:60px}.bookyt-occupancy-calendar .bookyt-oc-actions{flex-wrap:wrap}.bookyt-occupancy-calendar .bookyt-oc-actions button{flex:1}}