#booking-app{max-width:46rem;margin:0 auto}
.bk-step{margin:1.6rem 0}
.bk-h{font-family:var(--font-serif,Georgia,serif);font-size:1.15rem;margin:0 0 .8rem;color:var(--color-espresso,#2b2622)}
.bk-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--color-white,#fff);border:1px solid color-mix(in srgb,var(--color-espresso,#2b2622) 12%,transparent);border-radius:12px;padding:.7rem .9rem;margin-bottom:.6rem}
.bk-card-top{display:flex;align-items:center;gap:.6rem;cursor:pointer;flex:1}
.bk-card-top input{width:18px;height:18px;accent-color:var(--color-terracotta,#c2683e)}
.bk-name{font-size:.98rem;color:var(--color-espresso,#2b2622)}
.bk-dur{font:inherit;font-size:.9rem;padding:.45rem .5rem;border:1px solid color-mix(in srgb,var(--color-espresso,#2b2622) 30%,#fff);border-radius:8px;background:var(--color-white,#fff);color:var(--color-espresso,#2b2622)}
.bk-total{background:color-mix(in srgb,var(--color-brass,#b89a5e) 16%,var(--color-cream,#f7f3ec));border:1px solid color-mix(in srgb,var(--color-brass,#b89a5e) 40%,transparent);border-radius:10px;padding:.7rem .9rem;font-size:1rem;min-height:1.2em}
#bk-date{font:inherit;padding:.6rem .7rem;border:1px solid color-mix(in srgb,var(--color-espresso,#2b2622) 30%,#fff);border-radius:10px;background:var(--color-white,#fff);color:var(--color-espresso,#2b2622)}
.bk-slots{display:flex;flex-wrap:wrap;gap:.5rem}
.bk-slot{font:inherit;font-size:.92rem;padding:.55rem .8rem;border:1px solid color-mix(in srgb,var(--color-terracotta,#c2683e) 55%,#fff);background:var(--color-white,#fff);color:var(--color-espresso,#2b2622);border-radius:999px;cursor:pointer;transition:background .15s,color .15s}
.bk-slot:hover{background:color-mix(in srgb,var(--color-terracotta,#c2683e) 12%,#fff)}
.bk-slot.sel{background:var(--color-terracotta-dark,#a8552f);color:#fff;border-color:var(--color-terracotta-dark,#a8552f)}
#booking-app input[type=text],#booking-app input[type=tel]{display:block;width:100%;box-sizing:border-box;font:inherit;padding:.7rem .8rem;margin-bottom:.6rem;border:1px solid color-mix(in srgb,var(--color-espresso,#2b2622) 30%,#fff);border-radius:10px;background:var(--color-white,#fff);color:var(--color-espresso,#2b2622)}
.bk-gps{font:inherit;font-size:.9rem;padding:.5rem .8rem;border:1px solid var(--color-espresso,#2b2622);background:var(--color-white,#fff);color:var(--color-espresso,#2b2622);border-radius:999px;cursor:pointer}
.bk-muted{color:var(--color-muted-2,#8a8178);font-size:.9rem}
.bk-note{font-size:.82rem;color:var(--color-muted-2,#8a8178);margin:1rem 0 .6rem;line-height:1.5}
.bk-submit{font:inherit;font-weight:500;font-size:1rem;width:100%;padding:.9rem 1.2rem;border:0;border-radius:999px;background:var(--color-terracotta-dark,#a8552f);color:#fff;cursor:pointer;transition:background .2s}
.bk-submit:hover{background:var(--color-terracotta,#c2683e)}
.bk-submit:disabled{opacity:.6;cursor:default}
.bk-msg{margin:.8rem 0 0;font-size:.95rem;min-height:1.2em}
.bk-msg.ok{color:#40613a}
.bk-msg.err{color:var(--color-error,#b3261e)}
.bk-walink{display:inline-block;margin-left:.4rem;color:var(--color-terracotta-text,#8a4523);font-weight:600}
.bk-gpsmsg,#bk-gpsmsg{margin-left:.5rem}
