.availability-calendar{background:#171a1f;color:#fff;padding:90px 0}.availability-calendar .calendar-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.availability-calendar h2{font-size:34px;margin:8px 0}.availability-calendar .calendar-head p{color:#aeb2b6;max-width:430px;line-height:1.6;font-size:13px}.availability-calendar label{font-size:11px;font-weight:700;color:#ddd}.availability-calendar input{display:block;margin-top:7px;background:#25292e;color:#fff;border:1px solid #3c4147;padding:11px}.calendar-scroll{overflow-x:auto;background:#20242a;border:1px solid #343940}.availability-table{min-width:980px}.cal-row{display:grid;grid-template-columns:190px repeat(14,1fr);border-bottom:1px solid #343940}.cal-row:last-child{border:0}.cal-row>div{min-height:54px;border-right:1px solid #343940;display:flex;align-items:center;justify-content:center;font-size:10px}.cal-row>div:first-child{justify-content:flex-start;padding:0 16px;position:sticky;left:0;background:#20242a;z-index:2;font-weight:700}.cal-header>div{min-height:62px;color:#adb1b6;flex-direction:column}.cal-header>div strong{color:#fff;font-size:13px;margin-bottom:3px}.cal-day.available{color:#58d58a;cursor:pointer}.cal-day.available:after{content:'';width:9px;height:9px;border-radius:50%;background:#36b96c}.cal-day.busy:after{content:'';width:9px;height:9px;border-radius:50%;background:#db4941}.cal-day.closed{background:repeating-linear-gradient(135deg,#262a30 0 5px,#1d2025 5px 10px);cursor:not-allowed}.cal-day.closed:after{content:'×';color:#858a91;font-size:17px;font-weight:700}.cal-day.today{background-color:#2d3238}.calendar-legend{display:flex;gap:20px;margin-top:16px;color:#b7bbc0;font-size:11px;flex-wrap:wrap}.calendar-legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}.calendar-legend .free:before{background:#36b96c}.calendar-legend .taken:before{background:#db4941}.calendar-legend .closed:before{background:#777b82}.calendar-loading{padding:35px;text-align:center;color:#aaa}@media(max-width:700px){.availability-calendar{padding:65px 0}.availability-calendar .calendar-head{display:block}.availability-calendar label{display:inline-block;margin-top:15px}}
.booking-date-error{margin-top:16px;padding:15px 18px;border:2px solid #e5483f;background:#3b1715;color:#ffd8d5;font-weight:800;line-height:1.5}.booking-date-error[hidden]{display:none}.booking-date-picker{width:min(94vw,520px);border:1px solid #6e5a34;background:#11110f;color:#f4f1e9;padding:22px;box-shadow:0 25px 80px #000b}.booking-date-picker::backdrop{background:#000b}.date-picker-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;margin-bottom:17px}.date-picker-head strong{text-align:center;text-transform:capitalize;font:800 18px Manrope}.date-picker-head button,.date-picker-close{border:1px solid #665735;background:#211e17;color:#f0ce87;padding:11px;cursor:pointer;font-weight:800}.date-picker-week,.date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.date-picker-week{margin-bottom:6px;color:#aaa79f;text-align:center;font-size:10px;font-weight:800}.date-picker-days>button{min-height:58px;border:1px solid #38342c;background:#191816;color:#f4f1e9;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.date-picker-days>button:hover,.date-picker-days>button.selected{border-color:#d5ad5c;background:#2b2519}.date-picker-days>button.closed{border-color:#db4941;background:#471b18;color:#fff0ef}.date-picker-days>button.closed:hover{background:#64231f}.date-picker-days>button.closed small{font-size:8px;color:#ffaaa5;text-transform:uppercase;font-weight:800}.date-picker-days>button.blocked{opacity:.25;cursor:not-allowed}.date-picker-legend{display:flex;gap:18px;margin-top:16px;font-size:11px}.date-picker-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.date-picker-legend .open:before{background:#36b96c}.date-picker-legend .closed:before{background:#db4941}.date-picker-help{color:#c8c3b9;font-size:12px;line-height:1.5}.date-picker-close{width:100%;margin-top:5px}html[data-theme="light"] .booking-date-error{background:#fff0ef;color:#8f1f19}html[data-theme="light"] .booking-date-picker{background:#fff;color:#171a1f}html[data-theme="light"] .date-picker-days>button{background:#fafafa;color:#171a1f;border-color:#dedbd4}html[data-theme="light"] .date-picker-days>button.closed{background:#ffe5e3;color:#8f1f19;border-color:#d63830}html[data-theme="light"] .date-picker-help{color:#686b70}@media(max-width:600px){.booking-date-picker{padding:16px}.date-picker-days>button{min-height:52px}.date-picker-head strong{font-size:16px}}
.cal-day.closed{background:repeating-linear-gradient(135deg,#4d1e1b 0 5px,#351716 5px 10px);border-color:#7f2c27}.cal-day.closed:after{color:#ff8b84}.calendar-legend .closed:before{background:#db4941}
