.booking-page{display:flex;min-height:100svh;flex-direction:column;background:var(--ink)}.demo-main{flex:1;padding:56px 24px 64px}.demo-shell{width:100%;max-width:560px;margin-inline:auto}.demo-shell--time{max-width:720px}.demo-main--legacy{display:flex;align-items:center}.booking-page .demo-title{margin:0;color:var(--paper);font-family:var(--type-heading);font-size:56px;font-weight:500;line-height:1.06;letter-spacing:-.04em}.demo-title-accent{display:inline-block;white-space:nowrap;color:var(--signal)}.booking-page .demo-subtitle{margin:16px 0 0;color:var(--secondary);font-family:var(--type-body);font-size:14px;line-height:1.6}.demo-panel{position:relative;margin-top:32px;padding:32px;border:1px solid var(--rule);border-radius:16px;background:var(--surface);box-shadow:0 24px 80px -40px rgba(0,0,0,.35)}.demo-panel[data-loading=true]{min-height:240px}.demo-form{display:grid;gap:24px}.demo-field{display:block}.booking-page .demo-label{font-size:13px;font-weight:500;line-height:1.5;letter-spacing:0}.booking-page .demo-input,.booking-page .demo-label{display:block;color:var(--paper);font-family:var(--type-body)}.booking-page .demo-input{width:100%;min-height:48px;margin-top:8px;padding:12px 14px;border:1px solid var(--rule);border-radius:8px;outline:none;background:var(--ink);font-size:16px;line-height:22px;transition:border-color .18s ease,box-shadow .18s ease}.demo-input::-moz-placeholder{color:var(--secondary);opacity:.8;font-size:14px}.demo-input::placeholder{color:var(--secondary);opacity:.8;font-size:14px}.booking-page .demo-input:focus{border-color:var(--signal);box-shadow:0 0 0 3px rgba(203,246,60,.12)}.demo-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.booking-page .demo-option{--focus-text-color:var(--paper);min-height:40px;padding:9px 12px;border:1px solid var(--rule);border-radius:7px;background:var(--ink);color:var(--secondary);font-family:var(--type-body);font-size:13px;line-height:20px;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.booking-page .demo-option:hover{border-color:var(--secondary);color:var(--paper)}.booking-page .demo-option[aria-checked=true]{--focus-text-color:#111;border-color:#b3db2c;background:var(--signal);color:#111}.booking-page .demo-primary,.booking-page .demo-secondary,.booking-page .demo-slot-confirm{display:inline-flex;width:100%;min-height:48px;align-items:center;justify-content:center;padding:12px 16px;border:1px solid var(--rule);border-radius:6px;background:transparent;color:var(--paper);font-family:var(--type-body);font-size:14px;font-weight:500;line-height:22px;letter-spacing:0;text-transform:none;text-decoration:none;box-shadow:none;transform:none;transition:border-color .18s ease,background-color .18s ease}.booking-page .demo-primary,.booking-page .demo-slot-confirm{--focus-text-color:#111;border-color:#b3db2c;background:var(--signal);color:#111}.booking-page .demo-primary:hover:not(:disabled),.booking-page .demo-slot-confirm:hover:not(:disabled){background:#d7fb5f;color:#111;box-shadow:none;transform:none}.booking-page .demo-secondary:hover{border-color:var(--secondary);background:color-mix(in srgb,var(--paper) 4%,transparent);color:var(--paper)}.booking-page .demo-primary:disabled,.booking-page .demo-slot-confirm:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.booking-page .demo-fineprint{color:var(--secondary);font-family:var(--type-body);font-size:12px;line-height:1.7}.booking-page .demo-link{color:var(--paper);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px}.booking-page .demo-link:hover{text-decoration-color:var(--paper)}.booking-page .demo-text-link{flex-shrink:0;color:var(--secondary);font-family:var(--type-body);font-size:12px;line-height:24px}.booking-page .demo-text-link:hover{color:var(--paper)}.demo-details-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--rule)}.booking-page .demo-details-name{min-width:0;overflow:hidden;color:var(--paper);font-size:14px;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.demo-details-name span{color:var(--secondary)}.demo-booked-time{padding:20px;border:1px solid var(--rule);border-radius:10px;background:var(--ink)}.booking-page .demo-booked-date{margin-top:8px;color:var(--paper);font-size:17px;line-height:1.5}.booking-page .demo-local-time{margin-top:4px;color:var(--secondary);font-size:13px;line-height:1.6}.booking-page .demo-copy{color:var(--secondary);font-family:var(--type-body);font-size:14px;line-height:1.8}.demo-copy span{color:var(--paper)}.booking-page .demo-success-title{color:var(--paper);font-family:var(--type-heading);font-size:32px;font-weight:500;line-height:1.15;letter-spacing:-.025em}.booking-page .demo-error,.booking-page .demo-slot-notice{margin-top:0;padding:12px 14px;border:1px solid hsla(15,65%,68%,.3);border-radius:8px;background:hsla(15,65%,68%,.06);color:#ecb7a5;font-family:var(--type-body);font-size:13px;line-height:1.5;letter-spacing:0;text-transform:none}.booking-page .demo-slot-zone{color:var(--secondary);font-family:var(--type-body);font-size:13px;line-height:1.6;letter-spacing:0;text-transform:none}.booking-page .demo-slot-days{gap:8px;margin-top:16px;padding-block:4px 12px}.booking-page .demo-slot-day{--focus-text-color:var(--paper);width:64px;height:76px;gap:4px;border:1px solid var(--rule);border-radius:10px;background:var(--ink);color:var(--secondary)}.booking-page .demo-slot-day>span{color:inherit}.booking-page .demo-slot-day>span:nth-child(2){font-family:var(--type-heading);font-size:24px;font-weight:500}.booking-page .demo-slot-day[aria-selected=true]{--focus-text-color:#111;border-color:#b3db2c;background:var(--signal);color:#111}.booking-page .demo-slot-times{gap:10px;margin-top:12px}.booking-page .demo-slot-time{--focus-text-color:var(--paper);height:44px;border:1px solid var(--rule);border-radius:7px;background:var(--ink);color:var(--paper);font-family:var(--type-body);font-size:13px;box-shadow:none}.booking-page .demo-slot-day:hover,.booking-page .demo-slot-time:hover{border-color:var(--secondary)}.booking-page .demo-slot-time[aria-selected=true]{--focus-text-color:#111;border-color:#b3db2c;background:var(--signal);color:#111}.booking-page .demo-slot-summary{margin-top:24px;padding-block:20px;border-color:var(--rule)}.booking-page .demo-slot-summary p{color:var(--secondary);font-family:var(--type-body);font-size:13px;line-height:1.7}.booking-page .demo-slot-summary>div>p:first-child{color:var(--paper);font-size:15px}.booking-page .demo-slot-empty{padding:28px 24px;border:1px solid var(--rule);border-radius:10px;background:var(--ink)}.booking-page .demo-slot-empty p{color:var(--secondary);font-size:14px;line-height:1.7}.booking-page :is(button,a):focus-visible{outline:2px solid var(--signal);outline-offset:4px}.booking-page>footer{border-color:var(--rule);background:var(--ink)}.booking-page>footer p{color:var(--secondary);font-family:var(--type-body)}.booking-page>footer :is(a,button){color:var(--secondary);font-family:var(--type-body);font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}.booking-page>footer :is(a,button):hover{color:var(--paper)}html.light .booking-page .demo-title-accent{padding-inline:4px;background:var(--signal);color:#24271f}html.light .booking-page .demo-panel{box-shadow:0 24px 80px -40px rgba(36,39,31,.18)}html.light .booking-page .demo-error,html.light .booking-page .demo-slot-notice{color:#983f24}html.light .booking-page .demo-input:focus{border-color:#8fa931}@media (max-width:600px){.demo-main{padding:36px 20px 48px}.booking-page .demo-title{font-size:40px}.demo-panel{padding:24px;border-radius:12px}.demo-form{gap:22px}.demo-options{gap:7px}.booking-page .demo-option{padding-inline:10px}.booking-page .demo-slot-times{gap:8px}}@media (max-width:360px){.demo-panel{padding:20px}.booking-page .demo-slot-times{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.booking-page *,.booking-page :after,.booking-page :before{transition:none!important}}