.booking-page{padding-block:48px 64px}.booking-page h1{font-size:clamp(28px,4vw,46px);max-width:900px}.booking-page .lead{margin-top:20px}.booking-demo{margin-top:16px;font-size:13px;padding:12px 16px;border-radius:10px;background:var(--mist)}.booking-card{padding:28px;margin-top:28px;border:1px solid var(--line);border-radius:16px;background:white}.booking-card h2{font:600 23px var(--sans);margin-bottom:12px}.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:20px}.booking-days button,.booking-times button{min-height:64px;background:white;color:var(--navy);border:1px solid var(--line);border-radius:10px;padding:10px;font-size:14px}.booking-days button span{display:block;font-weight:600}.booking-days button[aria-pressed="true"],.booking-times button:hover:not(:disabled){background:var(--blue);color:white;border-color:var(--blue)}.booking-times{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.booking-times button:disabled{background:var(--mist);opacity:1;color:var(--muted)}.booking-times button small{display:block;font-size:11px}.booking-toast{position:fixed;bottom:24px;right:24px;z-index:40;display:flex;align-items:center;gap:16px;max-width:350px;padding:16px 20px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #0002;font-size:14px}.booking-toast button{border:0;background:none;font-size:24px;color:var(--blue)}@media(max-width:760px){.booking-page{padding-top:32px}.booking-card{padding:20px}.booking-days{grid-template-columns:repeat(4,1fr)}.booking-times{grid-template-columns:repeat(3,1fr)}.booking-toast{left:16px;right:16px;bottom:16px;max-width:none}.booking-page h1{font-size:30px}}
/* Real reservations: solid red. Simulated reservations: dashed red hatching. */
.booking-times button.slot-busy-real:disabled{background:var(--blue);border:2px solid var(--blue);color:white;opacity:1}.booking-times button.slot-busy-demo:disabled{background-color:#fff5f5;background-image:repeating-linear-gradient(135deg,transparent 0px,transparent 8px,rgba(198,40,40,.18) 8px,rgba(198,40,40,.18) 10px);border:2px dashed var(--blue);color:var(--blue);opacity:1}.booking-times button.slot-past:disabled{background:var(--mist);color:var(--muted)}
