#booking{--err:#FF7A7A;--bd:#767676;--fbg:#0c0c0c}
#booking .bk-top{margin-top:28px}
#booking fieldset{border:0;min-width:0}
#booking legend{font-family:Unb;font-weight:900;font-size:15px;letter-spacing:.04em;padding:0;margin-bottom:12px;color:var(--t)}
#booking .bk-days{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
#booking .bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px}
#booking .bk-opt{position:relative}
#booking .bk-opt input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
#booking .bk-opt label{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 16px;border:2px solid var(--bd);border-radius:999px;background:var(--fbg);color:var(--t);font-weight:800;font-size:16px;cursor:pointer}
#booking .bk-opt input:hover+label{border-color:var(--t)}
#booking .bk-opt input:checked+label{border-color:var(--g);background:var(--g);color:#000}
#booking .bk-opt input:checked+label::before{content:"\2713";font-weight:800}
#booking .bk-opt input:focus-visible+label{outline:3px solid var(--c);outline-offset:3px}
#booking .bk-days .bk-opt label{padding:0 22px;font-family:Unb;font-size:14px}
#booking .bk-state{padding:18px 0;color:#cfcfcf;font-size:16px}
#booking .bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:30px}
#booking .bk-f{display:flex;flex-direction:column;min-width:0}
#booking .bk-f.wide{grid-column:1/-1}
#booking .bk-f>label{font-weight:800;font-size:15px;margin-bottom:6px;color:var(--t)}
#booking .bk-f .opt{font-weight:400;color:var(--m)}
#booking input[type=text],#booking input[type=email],#booking input[type=url]{width:100%;min-height:48px;padding:10px 16px;background:var(--fbg);color:var(--t);border:2px solid var(--bd);border-radius:14px;font:inherit;font-size:16px}
#booking input::placeholder{color:var(--m);opacity:1}
#booking input:focus-visible,#booking .bk-chk input:focus-visible{outline:3px solid var(--c);outline-offset:3px}
#booking [aria-invalid=true]{border-color:var(--err)}
#booking .bk-err{color:var(--err);font-size:15px;margin-top:6px;font-weight:800}
#booking .bk-err::before{content:"\26A0\00a0"}
#booking .bk-err:empty{display:none}
#booking .bk-comp{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#booking .bk-chk{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:16px;color:#cfcfcf}
#booking .bk-chk input{flex:none;width:24px;height:24px;margin:2px 0 0;accent-color:var(--g)}
#booking .bk-chk{margin-top:8px}#booking .bk-chk label{display:block;cursor:pointer;min-height:44px;padding:10px 0}
#booking .bk-chk a{color:var(--g)}
#booking .bk-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#booking .bk-sum{margin-top:28px;font-size:16px;color:#cfcfcf;min-height:1.6em}
#booking .bk-sum strong{color:var(--t)}
#booking .bk-sub{margin-top:12px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
#booking .btn{border:0;cursor:pointer}
#booking .btn:disabled{opacity:.65;cursor:progress}
#booking .btn:focus-visible{outline:3px solid var(--c);outline-offset:4px}
#booking .bk-retry{background:transparent;border:2px solid var(--g);color:var(--g);font-family:Unb;font-weight:900;font-size:14px;min-height:48px;padding:0 24px;border-radius:999px;cursor:pointer;margin-top:10px}
#booking .bk-retry:focus-visible{outline:3px solid var(--c);outline-offset:3px}
#booking .bk-alert{margin-top:16px;padding:14px 18px;border:2px solid var(--err);border-radius:14px;color:var(--t);font-size:16px}
#booking .bk-alert:empty{display:none}
#booking .bk-ok h3{font-size:clamp(24px,3vw,32px);margin-bottom:14px}
#booking .bk-ok h3:focus{outline:none}
#booking .bk-ok p{margin-top:12px}
@media (max-width:860px){#booking .bk-grid,#booking .bk-comp{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){#booking *{transition:none!important}}
