.native-calendar{background:#f2eee709;border:1px solid #f2eee72e;margin-top:34px;position:relative;overflow:hidden}.native-calendar:after{content:"";filter:blur(55px);pointer-events:none;background:#b9818733;border-radius:50%;width:220px;height:220px;position:absolute;top:-140px;right:-140px}.calendar-toolbar{border-bottom:1px solid #f2eee726;justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding:20px 22px;display:flex}.calendar-toolbar>div:first-child{grid-template-columns:auto 1fr;align-items:center;column-gap:9px;display:grid}.calendar-toolbar p,.calendar-toolbar small{margin:0}.calendar-toolbar p{font:17px var(--serif)}.calendar-toolbar small{letter-spacing:.11em;text-transform:uppercase;opacity:.48;grid-column:2;margin-top:4px;font-size:7px}.calendar-live-dot{background:#9a7b68;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #b981871f}.calendar-month-nav{text-align:center;grid-template-columns:32px minmax(130px,1fr) 32px;align-items:center;gap:8px;display:grid}.calendar-month-nav strong{font:19px var(--serif);text-transform:capitalize}.calendar-month-nav button{width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:1px solid #f2eee733;justify-content:center;align-items:center;transition:background .2s,color .2s;display:inline-flex}.calendar-month-nav button:hover:not(:disabled){background:var(--paper);color:var(--ink)}.calendar-month-nav button:disabled{opacity:.2;cursor:not-allowed}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{padding:18px 14px 8px}.calendar-weekdays span{text-align:center;letter-spacing:.12em;text-transform:uppercase;opacity:.38;font-size:7px}.calendar-grid{padding:0 14px 18px}.calendar-grid button,.calendar-empty-day{aspect-ratio:1}.calendar-grid button{color:inherit;font:15px var(--serif);opacity:.24;background:0 0;border:0;border-top:1px solid #f2eee714;position:relative}.calendar-grid button.is-available{opacity:1;cursor:pointer;transition:background .22s,color .22s,transform .22s}.calendar-grid button.is-available:hover,.calendar-grid button.is-active{z-index:1;background:var(--paper);color:var(--ink);transform:scale(1.06)}.calendar-grid button i{background:#9a7b68;border-radius:50%;width:4px;height:4px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.calendar-slots-panel{background:#0000001f;border-top:1px solid #f2eee726;grid-template-columns:minmax(170px,.8fr) 1.2fr;align-items:center;gap:25px;padding:22px;display:grid}.calendar-slots-panel small{letter-spacing:.12em;text-transform:uppercase;opacity:.42;margin-bottom:7px;font-size:7px;display:block}.calendar-slots-panel strong{font:17px/1.25 var(--serif);text-transform:capitalize;display:block}.calendar-slots{grid-template-columns:repeat(3,1fr);display:grid}.calendar-slots button{min-height:48px;color:inherit;font:15px var(--serif);cursor:pointer;background:0 0;border:1px solid #f2eee733;margin-left:-1px;transition:background .22s,color .22s,transform .22s}.calendar-slots button:hover,.calendar-slots button.is-selected{z-index:1;color:var(--paper);background:#9a7b68;transform:translateY(-2px)}.calendar-preview-notice{opacity:.6;border-top:1px solid #f2eee71a;gap:10px;margin:0;padding:12px 22px;font-size:8px;line-height:1.5;display:flex}.calendar-preview-notice span{color:#d6afb3;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.calendar-error{font:15px/1.5 var(--serif);padding:32px 22px}.calendar-delivery{border-block:1px solid #f2eee72e;margin-top:30px;padding:22px 0}.calendar-delivery>p{letter-spacing:.13em;text-transform:uppercase;opacity:.5;margin:0 0 15px;font-size:8px}.calendar-delivery div{grid-template-columns:repeat(3,1fr);display:grid}.calendar-delivery span{font:13px var(--serif);text-align:center;border:1px solid #f2eee729;margin-left:-1px;padding:14px}@media (max-width:650px){.calendar-toolbar{flex-direction:column;align-items:flex-start}.calendar-month-nav{width:100%}.calendar-grid,.calendar-weekdays{padding-inline:6px}.calendar-slots-panel,.calendar-delivery div{grid-template-columns:1fr}.calendar-delivery span{margin:-1px 0 0}}@media (prefers-reduced-motion:reduce){.calendar-grid button.is-available,.calendar-slots button,.calendar-month-nav button{transition:none}.calendar-grid button.is-available:hover,.calendar-grid button.is-active,.calendar-slots button:hover,.calendar-slots button.is-selected{transform:none}}.booking-confirmation-stage{min-height:610px}.booking-system-gate{background:#f2eee70e;border:1px solid #f2eee729;grid-template-columns:auto 1fr;align-items:start;gap:15px;margin-top:32px;padding:19px 20px;display:grid}.booking-system-gate>span{background:#d6afb3;border-radius:50%;width:8px;height:8px;margin-top:5px;box-shadow:0 0 0 6px #d6afb31a}.booking-system-gate strong,.booking-system-gate p{margin:0;display:block}.booking-system-gate strong{font:17px var(--serif)}.booking-system-gate p{opacity:.62;margin-top:5px;font-size:10px;line-height:1.55}.booking-system-gate .text-link{opacity:1;margin-top:12px;display:inline-block}.booking-confirmation-actions{justify-content:space-between;align-items:center;gap:28px;margin-top:34px;display:flex}.booking-confirmation-stage .booking-summary-links{justify-content:flex-end}.booking-confirmation-stage .booking-summary-links a{margin-left:0}.booking-selected-appointment{border-block:1px solid #f2eee72b;grid-template-columns:145px 1fr;align-items:center;gap:18px;margin:34px 0 30px;padding:16px 0;display:grid}.booking-selected-appointment span{letter-spacing:.13em;text-transform:uppercase;opacity:.5;font-size:8px}.booking-selected-appointment strong{font:18px var(--serif);text-transform:capitalize}.booking-channel-tabs{grid-template-columns:repeat(2,1fr);max-width:520px;display:grid}.booking-channel-tabs button{min-height:48px;color:var(--paper);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #f2eee747;margin-left:-1px;font-size:9px;transition:background .22s,color .22s}.booking-channel-tabs button.is-active,.booking-channel-tabs button:hover{z-index:1;background:var(--paper);color:var(--ink)}.booking-contact-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-top:38px;display:grid}.booking-contact-form label>span{letter-spacing:.13em;text-transform:uppercase;opacity:.58;margin-bottom:9px;font-size:8px;display:block}.booking-contact-form input{border:0;width:100%;min-height:54px;color:var(--paper);font:21px var(--serif);background:0 0;border-bottom:1px solid #f2eee77a;outline:0}.booking-contact-form input::placeholder{color:#f2eee759}.booking-contact-form input:focus{border-color:var(--paper);box-shadow:0 1px 0 var(--paper)}.booking-contact-form .button{white-space:nowrap;min-height:54px}.booking-code-form{gap:24px;margin-top:38px;display:grid}.booking-code-form label>span{letter-spacing:.13em;text-transform:uppercase;opacity:.58;margin-bottom:9px;font-size:10px;display:block}.booking-code-form input{width:100%;min-height:64px;color:var(--paper);font:34px var(--serif);font-variant-numeric:tabular-nums;letter-spacing:.32em;background:0 0;border:0;border-bottom:1px solid #f2eee77a;outline:0}.booking-code-form input:focus{border-color:var(--paper);box-shadow:0 1px 0 var(--paper)}:-webkit-any(.booking-contact-form input:-webkit-autofill,.booking-code-form input:-webkit-autofill){-webkit-text-fill-color:var(--paper);caret-color:var(--paper);transition:background-color 9999s ease-out}:is(.booking-contact-form input:autofill,.booking-code-form input:autofill){-webkit-text-fill-color:var(--paper);caret-color:var(--paper);transition:background-color 9999s ease-out}.booking-local-data-note{letter-spacing:.035em;opacity:.52;max-width:610px;margin:18px 0 34px;font-size:9px;line-height:1.55}.booking-code-preview{grid-template-columns:repeat(6,1fr);gap:9px;max-width:520px;margin:42px 0 28px;display:grid}.booking-code-preview span{height:68px;font:28px var(--serif);border:1px solid #f2eee745;place-items:center;display:grid}.booking-provider-status{border-block:1px solid #f2eee72b;grid-template-columns:repeat(3,1fr);margin-top:30px;display:grid}.booking-provider-status>div{padding:18px 16px}.booking-provider-status>div+div{border-left:1px solid #f2eee72b}.booking-provider-status span,.booking-provider-status strong{display:block}.booking-provider-status span{letter-spacing:.13em;text-transform:uppercase;opacity:.46;margin-bottom:8px;font-size:7px}.booking-provider-status strong{font:16px var(--serif)}.booking-ready-mark{width:74px;height:74px;font:21px var(--serif);letter-spacing:-.08em;border:1px solid #f2eee74d;border-radius:50%;place-items:center;margin:32px 0;display:grid}.booking-ready-list{grid-template-columns:repeat(3,1fr);margin-top:38px;display:grid}.booking-ready-list article{border:1px solid #f2eee72e;min-height:160px;margin-left:-1px;padding:19px}.booking-ready-list article>span,.booking-ready-list strong,.booking-ready-list small{display:block}.booking-ready-list article>span{color:#d6afb3;margin-bottom:34px;font-size:8px}.booking-ready-list strong{font:18px var(--serif)}.booking-ready-list small{opacity:.53;margin-top:8px;font-size:9px;line-height:1.5}.booking-final-notice{background:#d6afb31a;border-left:3px solid #d6afb3;flex-direction:column;gap:5px;margin-top:28px;padding:17px 20px;display:flex}.booking-final-notice strong{font:17px var(--serif)}.booking-final-notice span{opacity:.62;font-size:10px;line-height:1.5}@media (max-width:650px){.booking-confirmation-stage{min-height:0}.booking-confirmation-actions{flex-direction:column-reverse;align-items:stretch}.booking-confirmation-actions .button{width:100%}.booking-confirmation-stage .booking-summary-links{align-items:flex-start}.booking-selected-appointment{grid-template-columns:1fr;gap:8px}.booking-contact-form{grid-template-columns:1fr}.booking-contact-form .button{white-space:normal;width:100%}.booking-code-preview{gap:5px}.booking-code-preview span{height:50px}.booking-provider-status,.booking-ready-list{grid-template-columns:1fr}.booking-provider-status>div+div{border-top:1px solid #f2eee72b;border-left:0}.booking-ready-list article{min-height:132px;margin:-1px 0 0}.booking-ready-list article>span{margin-bottom:24px}}@media (prefers-reduced-motion:reduce){.booking-channel-tabs button{transition:none}}
