.booking-page{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,5vw,80px);padding-top:72px;padding-bottom:96px}.booking-intro{padding-top:24px}.booking-intro h1{font-size:clamp(44px,4.7vw,68px);margin-bottom:25px}.booking-intro>p:not(.eyebrow){max-width:39ch;font-size:17px}.booking-promise{display:flex;gap:15px;margin-top:28px}.booking-promise>svg{margin-top:4px;color:var(--accent)}.booking-promise strong{font-size:14px;font-weight:550}.booking-promise p{font-size:13px;margin-top:3px}.booking-intro>.text-link{margin-top:34px;font-size:13px}.booking-panel{min-width:0;padding:clamp(24px,3vw,40px);background:var(--soft);border:1px solid #474a4b;border-radius:10px;box-shadow:0 24px 70px #0003}.booking-demo{padding:12px 14px;margin-bottom:24px;border:1px solid #ad793b;border-radius:5px;color:#ffd1a3;background:#463323;font-size:12px;line-height:1.55}.booking-demo strong{display:block}.booking-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 0 26px;margin:0 0 28px;list-style:none;border-bottom:1px solid var(--line)}.booking-progress li{min-width:0}.booking-progress button{display:flex;width:100%;min-height:44px;padding:4px 0;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.booking-progress button>span{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border:1px solid #55595a;border-radius:50%;font-size:10px}.booking-progress button[aria-current]{color:var(--ink)}.booking-progress button[aria-current]>span{background:var(--orange);color:#22140b;border-color:var(--orange);font-weight:650}.booking-panel fieldset{padding:0;border:0;margin:0;min-width:0}.booking-panel legend{padding:0;margin-bottom:12px;font-size:23px;font-weight:500;line-height:1.3;color:var(--ink)}.booking-helper{font-size:13px;line-height:1.6;margin-bottom:22px}.booking-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 16px;margin-bottom:22px}.booking-fields label{display:grid;align-content:start;min-width:0;gap:7px;font-size:12px;font-weight:500}.booking-fields label>span:not(.booking-consent span){font-size:11px;font-weight:400;color:var(--muted)}.booking-fields input,.booking-fields select,.booking-fields textarea{box-sizing:border-box;min-width:0;width:100%;padding:12px;background:var(--paper);border:1px solid #56595b;border-radius:5px;color:var(--ink);font-size:16px;min-height:48px}.booking-fields textarea{resize:vertical}.booking-fields input{height:52px}.booking-fields select{appearance:none;height:52px;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23b8b9b8' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.booking-panel legend{scroll-margin-top:140px}.booking-fields input:focus,.booking-fields select:focus,.booking-fields textarea:focus{border-color:var(--accent);outline:2px solid #c4b4f433;outline-offset:2px}.booking-full{grid-column:1 / -1}.booking-brand{display:grid;gap:7px;min-width:0}.booking-brand>label{display:block}.booking-fields>*,.booking-brand-control{min-width:0;max-width:100%}.booking-brand-hint{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}.booking-address-options strong,.booking-address-options span{display:block}.booking-address-options strong{font-weight:500}.booking-address-options span{margin-top:3px;font-size:12px;color:var(--muted)}.booking-address-attribution{justify-self:end;font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.booking-address-map{min-width:0;width:100%;height:200px;overflow:hidden;border:1px solid var(--line);border-radius:5px}.booking-fields label>.booking-field-error{color:#ff8b8b;line-height:1.5}.booking-fields input[aria-invalid=true]{border-color:#ef6262}.booking-fields .booking-consent{display:flex;align-items:start;gap:12px;font-size:12px;font-weight:400;line-height:1.65;color:var(--text)}.booking-consent input{appearance:none;flex-shrink:0;width:24px;min-height:24px;height:24px;padding:0;margin:0;border:2px solid #c4b4f4;border-radius:4px;background:var(--paper);cursor:pointer}.booking-consent input:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23211638' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat}.booking-consent span{padding-top:1px}@media(forced-colors:active){.booking-consent input{appearance:auto}}.booking-consent a{text-decoration:underline;text-underline-offset:3px}.booking-panel [data-challenge]{margin:0 0 16px}.booking-panel .btn{width:100%;min-height:50px;border-radius:5px}.booking-panel button:disabled{opacity:.45;cursor:not-allowed;transform:none}.booking-slot-list{margin-bottom:26px}.booking-slot-list>h3{font-size:14px;margin:24px 0 12px}.booking-slot-list>h3:first-child{margin-top:0}.booking-slot-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-slot{position:relative;display:flex;align-items:center;gap:10px;min-height:55px;padding:12px 14px;border:1px solid #56595b;background:var(--paper);border-radius:5px;font-size:13px;cursor:pointer}.booking-slot input{margin:0;width:16px;height:16px;accent-color:var(--orange);flex-shrink:0}.booking-slot:hover{border-color:var(--accent)}.booking-slot:has(input:checked){border-color:var(--orange);background:#f67c1112;box-shadow:inset 0 0 0 1px var(--orange)}.booking-actions{display:flex;align-items:center;gap:24px;margin-top:26px}.booking-actions .btn{flex:1}.booking-back{border:0;background:transparent;color:var(--accent);padding:10px 0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.booking-selected{min-width:0;max-width:100%;overflow-wrap:anywhere;font-size:13px;padding:12px 14px;color:#efdccc;background:#332a23;border-left:2px solid var(--orange);margin-bottom:22px}.booking-confirmation-note{margin:20px 0 6px}.booking-status{margin-top:20px;font-size:13px;line-height:1.6;color:#ff8b8b;overflow-wrap:anywhere}.booking-status:empty{display:none}.booking-success,.booking-unavailable{display:grid;gap:20px}.booking-success-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#c4b4f41a;color:var(--accent);border:1px solid #c4b4f455}.booking-success .eyebrow{margin:4px 0 -8px}.booking-success h2,.booking-unavailable h2{font-size:38px}.booking-success p,.booking-unavailable p{font-size:14px;margin:0}.booking-receipt{display:grid;gap:8px;padding:18px;border:1px solid var(--line);border-radius:5px}.booking-receipt strong{font-size:14px;font-weight:500}.booking-receipt span{color:var(--muted);font-size:12px}.booking-success .text-link{font-size:13px}@media(max-width:1100px){.booking-page{gap:30px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.booking-progress{gap:7px}}@media(max-width:900px){.booking-page{grid-template-columns:1fr;max-width:720px;padding-top:36px}.booking-intro{padding-top:0}.booking-intro h1 br{display:none}.booking-intro h1{font-size:46px}.booking-intro>p:not(.eyebrow){max-width:54ch}.booking-promise{display:none}.booking-intro>.text-link{margin-top:20px}}@media(max-width:480px){.booking-page{padding-bottom:48px;gap:28px}.booking-intro h1{font-size:39px}.booking-intro>p:not(.eyebrow){font-size:15px}.booking-panel{padding:22px 18px}.booking-progress{gap:10px}.booking-progress button{flex-direction:column;align-items:start;gap:8px;font-size:10px}.booking-fields{grid-template-columns:1fr}.booking-slot-grid{gap:8px}.booking-slot{padding:11px 8px;gap:7px;font-size:11px}.booking-panel legend{font-size:21px}.booking-success h2{font-size:33px}}.booking-date{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:10px;margin-bottom:24px}.booking-date>span{font-size:12px;font-weight:500}.booking-date-trigger{display:flex;align-items:center;gap:14px;width:100%;min-width:0;min-height:58px;box-sizing:border-box;padding:15px 16px;border:1px solid #65616c;border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;font-size:15px;text-align:left;cursor:pointer}.booking-date-trigger>svg{flex-shrink:0;color:var(--accent)}.booking-date-trigger>span{flex:1;min-width:0}.booking-date-trigger>svg:last-child{transition:transform .15s ease}.booking-date-trigger[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.booking-date-trigger:hover,.booking-date-trigger[aria-expanded=true]{border-color:var(--accent);background:#c4b4f410}.booking-date-trigger:focus-visible,.booking-calendar button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.booking-calendar{min-width:0;width:100%;box-sizing:border-box;padding:16px;border:1px solid #72677f;border-radius:12px;background:var(--paper);box-shadow:0 12px 32px #0003}.booking-calendar-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;align-items:center;gap:4px;margin-bottom:14px}.booking-calendar-heading strong{text-align:center;font-size:16px;font-weight:550}.booking-calendar button{display:grid;place-items:center;min-width:0;min-height:44px;padding:0;border:1px solid transparent;border-radius:7px;color:var(--ink);background:transparent;font:inherit;font-size:15px;cursor:pointer}.booking-calendar-heading button{width:44px}.booking-calendar-weekdays,.booking-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.booking-calendar-weekdays{text-align:center;margin-bottom:8px;font-size:12px;color:var(--muted)}.booking-calendar-days button{min-height:48px}.booking-calendar button:hover:not(:disabled){background:#c4b4f422;border-color:#c4b4f466}.booking-calendar-days button[aria-pressed=true]{background:var(--accent);color:#211638;border-color:var(--accent);font-weight:650}.booking-calendar-days button:disabled{opacity:.3}.booking-calendar-hint{margin:12px 0 0;font-size:12px;color:var(--muted);text-align:center}.booking-date:has(input[aria-invalid=true]) .booking-date-trigger{border-color:#ef6262}@media(max-width:480px){.booking-calendar{padding:12px 8px}.booking-calendar-heading{grid-template-columns:40px minmax(0,1fr) 40px 40px;gap:0}.booking-calendar-heading button{width:40px}.booking-calendar-heading strong{font-size:14px}.booking-calendar-weekdays,.booking-calendar-days{gap:3px}.booking-calendar-days button{min-height:44px}.booking-date-trigger{padding:14px 12px;font-size:14px;gap:10px}.booking-selected{text-align:center}}.booking-slot:has(input:disabled){opacity:.4;cursor:not-allowed}.booking-fields label>.booking-label{font-size:12px;font-weight:500;color:var(--ink)}.booking-label small{font-size:11px;font-weight:400;color:var(--muted)}.booking-field-error{font-size:11px;font-weight:400;color:#ff8b8b;line-height:1.5}.booking-fields input,.booking-fields select{scroll-margin-top:120px}.booking-fields select[aria-invalid=true],.booking-fields textarea[aria-invalid=true]{border-color:#ef6262}.booking-progress button:hover{color:var(--accent)}.booking-progress button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.booking-date input[aria-invalid=true],.booking-slot:has(input[aria-invalid=true]){border-color:#ef6262}.booking-calendar-days button[aria-current=date]{position:relative;border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange)}.booking-calendar-days button[aria-current=date]:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--orange)}.booking-slot:last-child:nth-child(odd){grid-column:1 / -1}.booking-late-visit{display:block;margin-top:4px;color:var(--accent);font-size:11px;font-weight:400}.booking-fields input[aria-invalid=true],.booking-fields select[aria-invalid=true],.booking-fields textarea[aria-invalid=true]{background-color:#ef62620d;box-shadow:0 0 0 1px #ef6262}.booking-fields input[aria-invalid=true]:focus,.booking-fields select[aria-invalid=true]:focus,.booking-fields textarea[aria-invalid=true]:focus{outline-color:#ef62624d}.booking-panel .booking-fields label>.booking-field-error{color:#ff8b8b}
