.booking-shell{display:grid;grid-template-columns:310px 1fr;gap:45px;max-width:1280px;margin:60px auto 85px;padding:0 32px}.booking-intro h1{font-size:32px;line-height:1.4}.booking-intro>p{margin:18px 0}.booking-facts{display:flex;flex-direction:column;gap:9px;padding:25px 0;border-block:1px solid var(--line);margin:25px 0;font-size:14px}.booking-facts span{color:var(--muted)}.booking-small{font-size:12px;line-height:1.8}.booking-calendar-layout{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden}.booking-calendar{padding:25px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-heading h2{font-size:19px;letter-spacing:-.5px}.calendar-heading button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:7px;width:34px;height:34px;font-size:24px;line-height:1}.week-labels,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.week-labels span{text-align:center;font-size:12px;color:var(--muted);padding:5px}.calendar-grid button{border:0;border-radius:8px;background:var(--surface);color:var(--ink);aspect-ratio:1;font-size:14px;position:relative}.calendar-grid button:disabled{color:var(--muted);opacity:.42;background:none;cursor:default}.calendar-grid button[aria-pressed=true],#times-grid button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.calendar-grid button i{position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;background:var(--pink);border-radius:50%}.calendar-grid button.is-holiday:not(:disabled){color:var(--pink)}.booking-calendar>.booking-small{margin-top:18px}.booking-times{padding:25px;border-left:1px solid var(--line)}.booking-times h2{font-size:17px;margin:5px 0 21px;letter-spacing:-.3px}#times-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:370px;overflow:auto}#times-grid p{grid-column:1/-1;font-size:14px}#times-grid button{border:1px solid var(--line);border-radius:8px;padding:11px 5px;background:var(--bg);color:var(--ink);font-size:14px}#times-grid button span{font-size:12px;margin-left:2px;color:var(--muted)}#booking-status{font-size:13px;margin-top:16px;color:var(--muted)}#booking-form,#support-hours{margin-top:30px;padding:30px;border:1px solid var(--line);border-radius:15px}#booking-form[hidden],#booking-picker[hidden],#booking-receipt[hidden]{display:none}#booking-form h2,#support-hours h2{font-size:24px;margin-bottom:12px}.booking-selected{color:var(--pink);font-weight:550;margin-bottom:24px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-grid label,.notes-label,.booking-confirmation label{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--ink)}.contact-grid label:first-child{grid-column:1/-1}.booking-shell input:not([type=checkbox]),.booking-shell textarea,.support-admin input:not([type=checkbox]),.support-admin select{border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:12px;width:100%;font:inherit;font-size:15px}.booking-shell textarea{resize:vertical}.booking-shell input:focus-visible,.booking-shell textarea:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.booking-shell fieldset{border:0;padding:0;margin:25px 0}.booking-shell legend{font-size:14px;margin-bottom:12px}.booking-shell legend small,.notes-label small{color:var(--muted);font-size:12px}.topic-options{display:flex;gap:8px;flex-wrap:wrap}.topic-options label{border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13px;cursor:pointer}.topic-options label:has(input:checked){border-color:var(--pink);background:color-mix(in srgb,var(--pink) 5%,var(--bg));color:var(--pink)}.topic-options input{accent-color:var(--pink);margin-right:7px}.privacy-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.8;margin:23px 0}.privacy-consent input{margin-top:5px;accent-color:var(--pink)}.booking-delivery-note{font-size:12px;line-height:1.8;padding:15px;background:var(--surface);border-radius:9px;margin:18px 0}.booking-error{color:#b41b3a;font-size:14px;margin:12px 0}.booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-confirmation{border:1px solid var(--line);border-radius:16px;padding:35px}.booking-confirmation h2{font-size:29px}.confirmed-time{font-size:20px;color:var(--ink);margin:22px 0 8px}.booking-confirmation>p{margin-bottom:20px}.confirmation-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.text-button{border:0;background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:4px;padding:8px;font-size:13px}.support-admin h1{font-size:34px;margin-bottom:20px}.support-admin>h2{font-size:26px;margin-top:35px}.support-admin p{margin:12px 0}.admin-bookings article{border-bottom:1px solid var(--line);padding:20px 0}.admin-bookings article>span{margin-left:16px;color:var(--pink);font-size:13px}.admin-bookings p{font-size:14px}.support-admin #support-hours{margin-bottom:40px}.support-admin #support-hours label{font-size:14px}.support-admin #admin-result{font-size:14px;margin-left:15px}.booking-retry{background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:10px;border-radius:7px}@media(max-width:1100px){.booking-shell{grid-template-columns:250px 1fr;gap:25px;padding:0 24px}.booking-intro h1{font-size:28px}.booking-calendar-layout{grid-template-columns:1fr}.booking-times{border-left:0;border-top:1px solid var(--line)}#times-grid{grid-template-columns:repeat(3,1fr);max-height:none;overflow:visible}}@media(max-width:780px){.booking-shell{grid-template-columns:1fr;margin-top:30px;padding:0 20px;gap:28px}.booking-intro h1{font-size:30px}.booking-facts{gap:6px;margin:18px 0;padding:16px 0}.booking-calendar{padding:20px}.booking-times{padding:20px}#booking-form,#support-hours{padding:22px}.contact-grid{grid-template-columns:1fr}.contact-grid label:first-child{grid-column:auto}.booking-confirmation{padding:25px}.confirmed-time{font-size:17px}.booking-shell .eyebrow{margin-bottom:12px}}
