.public-booking{min-height:100vh;padding:28px 18px 55px;background:var(--bg)}.booking-brand{max-width:700px;margin:0 auto 22px;font-size:var(--fs-lg);letter-spacing:3px;color:var(--text);font-weight:650}.booking-brand span{display:block;font-size:var(--fs-xs);letter-spacing:2px;color:var(--text);margin-top:6px}.public-booking .book{max-width:700px;margin:0 auto;padding:32px;box-shadow:0 8px 30px #304c3410}.public-booking .book h1{font-size:var(--fs-2xl);line-height:var(--lh-tight);letter-spacing:-.025em;font-family:var(--font);font-weight:700;color:var(--text)}.public-booking .book input:not([type=radio]):not([type=checkbox]){width:100%;margin-bottom:14px}.public-booking .book label{font-size:var(--fs-xs)}.public-booking .slots{border:1px solid var(--line);border-radius:var(--r);padding:15px;max-height:390px;overflow-y:auto;margin:24px 0}.public-booking .slots legend{font-size:var(--fs-xs);font-weight:600;padding:0 6px}.public-booking .slot-day{margin:0 0 16px}.public-booking .slot-day strong{font-size:var(--fs-xs)}.public-booking .slot-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.public-booking label.slot{display:flex;align-items:center;gap:6px;cursor:pointer;border:1px solid var(--line);background:var(--bg);padding:8px 11px;border-radius:var(--r-sm);color:var(--text-muted)}.public-booking label.slot:has(input:checked){border-color:var(--line);background:var(--bg)}.public-booking .slot input{margin:0;width:auto;min-height:0}.public-booking .consent{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-xs);line-height:1.6;margin-top:15px}.public-booking .consent input{flex-shrink:0;width:16px;min-height:16px;margin-top:3px}.public-booking .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.public-booking a{overflow-wrap:anywhere}@media(max-width:640px){.public-booking{padding:20px 12px}.public-booking .book{padding:23px 18px}.public-booking .book h1{font-size:var(--fs-2xl);font-family:var(--font);font-weight:700;line-height:var(--lh-tight);letter-spacing:-.025em;color:var(--text)}.public-booking .slots{padding:10px}.public-booking .slot-row{gap:6px}.public-booking label.slot{padding:8px;font-size:var(--fs-xs)}.booking-brand{padding-left:7px}.public-booking button[type=submit]{width:100%}}