/* Booking widget — Next Level Up palette (ink / cream / gold / red). */
#booking{max-width:720px;margin:0 auto;text-align:left}
#booking .bk-err{color:#e08585;font-size:.9rem;margin-top:.6rem}
.bk-reg{border:1px solid #2a2622;background:#1d1a18;padding:1rem 1.1rem;margin-bottom:1.2rem}
.bk-reg .row{display:flex;gap:.6rem}
.bk-reg input{flex:1;background:#131110;border:1px solid #2a2622;color:#f3eee2;padding:.7rem .9rem;font-size:1rem;outline:none}
.bk-reg input:focus{border-color:#c9a253}
.bk-reg button{background:#c9a253;border:none;color:#131110;font-weight:700;padding:.7rem 1.2rem;cursor:pointer;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.1em}
.bk-reg .msg{font-size:.82rem;color:#8d857a;margin-top:.6rem}
.bk-reg.known{border-color:#c9a253}
.bk-reg.known .msg{color:#c9a253}
.bk-step{border:1px solid #2a2622;margin-bottom:.8rem;background:#161310}
.bk-step h4{display:flex;align-items:center;gap:.8rem;padding:1rem 1.1rem;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:1rem;color:#f3eee2;cursor:default}
.bk-step h4 i{font-style:normal;width:26px;height:26px;border:1px solid #c9a253;color:#c9a253;border-radius:50%;display:grid;place-items:center;font-size:.8rem;flex:none}
.bk-step h4 .pick{margin-left:auto;font-family:Inter,sans-serif;text-transform:none;letter-spacing:0;font-size:.85rem;color:#c9a253}
.bk-step .body{display:none;padding:0 1.1rem 1.1rem}
.bk-step.on .body{display:block}
.bk-step.done h4{cursor:pointer;opacity:.75}
.bk-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem}
.bk-opt{text-align:left;background:#131110;border:1px solid #2a2622;color:#f3eee2;padding:.8rem .9rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem}
.bk-opt b{font-family:"Oswald",sans-serif;letter-spacing:.05em;text-transform:uppercase}
.bk-opt small{color:#8d857a;font-size:.78rem}
.bk-opt em{font-style:normal;color:#c9a253;font-weight:700;font-size:.9rem}
.bk-opt.on{border-color:#c9a253;background:#1d1a18}
.bk-cal{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media (max-width:640px){.bk-cal{grid-template-columns:1fr}}
.bk-month .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.1em}
.bk-month .head button{background:none;border:1px solid #2a2622;color:#f3eee2;width:30px;height:30px;cursor:pointer}
.bk-month .head button:disabled{opacity:.3;cursor:default}
.bk-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.bk-grid span{font-size:.65rem;color:#8d857a;text-align:center;padding:.3rem 0;letter-spacing:.1em}
.bk-day{aspect-ratio:1;background:#131110;border:1px solid #2a2622;color:#4a443d;cursor:default;font-size:.85rem}
.bk-day.has{color:#f3eee2;cursor:pointer}
.bk-day.has:hover{border-color:#c9a253}
.bk-day.on{background:#c9a253;color:#131110;font-weight:700;border-color:#c9a253}
.bk-slots .lbl{font-size:.8rem;color:#8d857a;margin-bottom:.6rem;letter-spacing:.06em}
.bk-slots .list{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:.45rem;max-height:300px;overflow-y:auto}
.bk-slot{background:#131110;border:1px solid #2a2622;color:#f3eee2;padding:.55rem 0;cursor:pointer;font-size:.85rem}
.bk-slot:hover{border-color:#c9a253}
.bk-slot.on{background:#c9a253;color:#131110;font-weight:700;border-color:#c9a253}
.bk-form{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.bk-form .full{grid-column:1/-1}
.bk-form label{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#8d857a;margin-bottom:.35rem}
.bk-form input{width:100%;background:#131110;border:1px solid #2a2622;color:#f3eee2;padding:.7rem .8rem;font-size:.95rem;outline:none}
.bk-form input:focus{border-color:#c9a253}
.bk-sum{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid #c9a253;padding:.8rem 1rem;background:#1d1a18}
.bk-sum .line{font-family:"Oswald",sans-serif;font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em;display:block}
.bk-sum .sub{color:#8d857a;font-size:.8rem}
.bk-sum .label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#c9a253;text-align:right}
.bk-form .submit{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.bk-form .note{font-size:.78rem;color:#8d857a}
.bk-form .btn.solid{background:#b3272d;border:2px solid #b3272d;color:#f3eee2;padding:.9rem 1.8rem;cursor:pointer;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.95rem}
.bk-form .btn.solid:hover{background:#c9a253;border-color:#c9a253;color:#131110}
.bk-done{text-align:center;border:1px solid #c9a253;padding:2.5rem 1.5rem;background:#1d1a18}
.bk-done .label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#c9a253}
.bk-done .code{font-family:"Oswald",sans-serif;font-size:2rem;letter-spacing:.1em;margin:.6rem 0}
.bk-done .small{color:#8d857a;font-size:.85rem}
.bk-done .actions{margin-top:1.2rem}
.bk-done .btn{display:inline-block;border:1px solid #c9a253;color:#c9a253;padding:.7rem 1.4rem;text-decoration:none;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}
