.custom-booking{background:#101112;color:#f5f5f5;min-height:470px;font-size:14px;line-height:1.5;color-scheme:dark}.custom-booking [hidden]{display:none!important}.custom-booking button,.custom-booking select,.custom-booking input{font:inherit}.custom-booking button{cursor:pointer}.custom-booking button:disabled{cursor:default}.custom-booking button:focus-visible,.custom-booking input:focus-visible,.custom-booking select:focus-visible{outline:2px solid #ff6b74;outline-offset:4px}.booking-panel-heading{background:#161719;border-color:#2b2c30}.booking-panel{border-color:#2c2d31;border-radius:12px;box-shadow:0 24px 80px #0004}.booking-panel-heading h3{font-size:15px}.booking-picker{display:grid;grid-template-columns:minmax(300px,1fr) minmax(260px,1fr)}.calendar-side{padding:32px 38px 26px;border-right:1px solid #292a2e}.calendar-month-bar{display:flex;align-items:center;justify-content:space-between;min-height:38px;margin-bottom:25px}.custom-booking h4{font-size:18px;letter-spacing:-.5px;font-weight:550;margin:0}.calendar-month-nav{display:flex;gap:9px}.calendar-month-nav button{width:32px;height:32px;border-radius:50%;border:1px solid #38393e;background:transparent;color:#fff;font-size:24px;display:grid;place-content:center;padding:0 0 3px}.calendar-month-nav button:hover:not(:disabled){border-color:#ef3340;background:#242023}.calendar-month-nav button:disabled{opacity:.25}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-week{font-size:10px;letter-spacing:1px;text-align:center;color:#93959c;margin-bottom:13px}.calendar-days button,.calendar-days>span{aspect-ratio:1;max-height:47px;min-height:36px}.calendar-days button{border:1px solid transparent;background:#191a1d;border-radius:8px;color:#f1f1f2;font-size:13px;position:relative;transition:background .15s,border-color .15s}.calendar-days button:not(:disabled):hover{background:#302026;border-color:#a92a34}.calendar-days button:disabled{color:#51535b;background:transparent}.calendar-days button[aria-pressed=true]{background:#e8313e;color:#fff;border-color:#ff5963;box-shadow:0 4px 16px #e8313e2b}.calendar-days button[data-today=true]:after{content:"";position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;border-radius:100%;background:currentColor}.booking-zone{display:flex;align-items:center;gap:9px;margin-top:25px;color:#a8aab1;padding-top:20px;border-top:1px solid #26272b}.booking-zone svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.4;flex:none}.booking-zone select{min-width:0;width:100%;color:#a8aab1;background:#101112;border:0;font-size:11px;padding:3px 0;cursor:pointer}.times-side{padding:38px 36px 28px}.times-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.times-heading h4{font-size:15px;letter-spacing:-.15px}.times-heading>span{font-size:10px;color:#a7a9b0;white-space:nowrap;padding:4px 8px;border:1px solid #33343a;border-radius:4px}.booking-times{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:310px;overflow:auto;padding:2px 5px 5px 2px;scrollbar-width:thin;scrollbar-color:#41434b #101112}.booking-times button{min-height:46px;background:transparent;border:1px solid #3c3d44;border-radius:7px;color:#e8e8eb;font-size:12px;font-weight:500;letter-spacing:.3px;transition:background .15s,border-color .15s,color .15s}.booking-times button:hover{background:#28181c;color:#ff7c85;border-color:#e8313e}.booking-empty{color:#a9abb3;grid-column:1/-1;font-size:13px;padding-top:7px;max-width:250px;line-height:1.8}.booking-status-area{padding:0 36px 25px}.booking-status-area:has(p:empty){padding-bottom:0}.booking-status-area p{font-size:12px;color:#ffc3c7;margin:0;line-height:1.8}.booking-retry,.booking-back{border:0;border-bottom:1px solid #5d4146;background:transparent;color:#e5e5e8;padding:5px 0;font-size:12px}.booking-retry{margin-top:8px}.booking-form-view{max-width:620px;margin:auto;padding:26px 38px 36px}.booking-form-heading{margin:22px 0 27px}.booking-form-heading h4{font-size:27px;letter-spacing:-1px;margin-bottom:12px}.booking-form-heading p{font-size:14px;color:#eee;line-height:1.7}.booking-form-heading>span{display:block;margin-top:7px;color:#a5a7af;font-size:11px}.booking-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.custom-booking form label{display:block;font-size:11px;font-weight:500;color:#c4c6cc;margin-bottom:19px}.custom-booking input{display:block;width:100%;margin-top:8px;padding:12px 13px;border:1px solid #3a3c43;background:#17181b;border-radius:6px;color:white;min-height:45px}.booking-submit{border:1px solid #f04b57;border-radius:6px;background:#e8313e;color:white;width:100%;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:550;margin-top:7px}.booking-submit:hover:not(:disabled){background:#f23a48}.booking-submit:disabled{opacity:.5}.booking-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-confirmation{text-align:center;padding:64px 25px;min-height:430px;display:flex;flex-direction:column;justify-content:center;align-items:center}.booking-check{display:grid;place-items:center;font-size:26px;width:62px;height:62px;border:1px solid #7e2934;border-radius:50%;background:#29181d;color:#ff6875;margin-bottom:24px}.booking-confirmation h4{font-size:28px;letter-spacing:-1px;margin-bottom:18px}.booking-confirmation p{font-size:13px;color:#b8bac2;line-height:1.8;max-width:370px}.booking-confirmation p+p{margin-top:12px;font-size:12px}.booking-preview-note{background:#332e1b;color:#efe0a0;font-size:11px;letter-spacing:.2px;padding:12px 26px;margin:0}.booking-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.custom-booking[aria-busy=true] .calendar-days{opacity:.5}.custom-booking[aria-busy=true] .booking-times{opacity:.6}#booking-connection[data-connected=false] .small-dot{background:#82858d;box-shadow:none}#booking-connection[data-connected=true] .small-dot{background:#ef3340}
@media(max-width:900px){.calendar-side{padding-inline:26px}.times-side{padding-inline:25px}}
@media(max-width:650px){.booking-picker{grid-template-columns:1fr}.calendar-side{border-right:0;border-bottom:1px solid #292a2e;padding:25px 25px 21px}.calendar-days{gap:8px}.calendar-days button,.calendar-days>span{max-height:48px}.calendar-month-bar{margin-bottom:20px}.booking-zone{margin-top:21px;padding-top:17px}.times-side{padding:25px}.times-heading{margin-bottom:20px}.booking-times{max-height:260px;grid-template-columns:repeat(3,1fr)}.booking-times button{min-height:43px}.booking-form-view{padding:22px 25px 30px}.booking-status-area{padding-inline:25px}.booking-form-heading h4{font-size:25px}.booking-name-fields{gap:12px}.booking-confirmation{min-height:400px}.booking-panel-heading{padding:20px 25px}}
@media(max-width:380px){.calendar-side,.times-side,.booking-form-view{padding-inline:18px}.calendar-days{gap:5px}.booking-times{grid-template-columns:1fr 1fr}.booking-name-fields{grid-template-columns:1fr;gap:0}}
.custom-booking{scroll-margin-top:110px}
