.booking-wizard{--wiz-bg:#100e16;--wiz-panel:#191321;--wiz-text:#f1eaf8;--wiz-muted:#b9aac9;--wiz-line:#ffffff20;--wiz-accent:#bea5db;width:min(1180px,94vw);max-width:1180px;max-height:92dvh;padding:0;border:1px solid var(--wiz-line);border-radius:24px;background:var(--wiz-bg);color:var(--wiz-text);box-shadow:0 40px 120px #0008;overflow:auto;overscroll-behavior:contain}
.booking-wizard{margin:auto}.booking-wizard::backdrop{background:#09060ecd;backdrop-filter:blur(14px)}
.wizard-main{position:relative}.wizard-calendar-content.calendar-preparing{position:absolute;top:38px;left:38px;right:38px;visibility:hidden;pointer-events:none;height:0;overflow:hidden}
@media(max-width:850px){.wizard-calendar-content.calendar-preparing{left:20px;right:20px}}
@media(max-width:650px){.wizard-calendar-content.calendar-preparing{left:0;right:0}}
[data-theme=light] .booking-wizard{--wiz-bg:#fcfaff;--wiz-panel:#f1eaf8;--wiz-text:#302239;--wiz-muted:#746180;--wiz-line:#80608c30;--wiz-accent:#775395;box-shadow:inset 0 1px 0 #fff,0 40px 120px #2f154638}
.booking-wizard[open]{animation:wizard-arrive .3s ease both}.wizard-top{display:flex;justify-content:space-between;align-items:center;padding:22px 30px;border-bottom:1px solid var(--wiz-line)}.wizard-brand{color:var(--wiz-text);font-size:25px;font-weight:600;letter-spacing:-1px}.wizard-brand span{color:var(--wiz-accent)}.wizard-close{border:1px solid var(--wiz-line);border-radius:50%;background:transparent;color:var(--wiz-text);width:42px;height:42px;font-size:20px;cursor:pointer}.wizard-layout{display:grid;grid-template-columns:340px minmax(0,1fr)}.wizard-aside{padding:40px 30px;background:radial-gradient(ellipse at 0 0,#a88aca20,transparent 70%),var(--wiz-panel)}.wizard-eyebrow{font-size:11px!important;letter-spacing:2px;color:var(--wiz-accent)!important;font-weight:600}.wizard-aside h2{font-size:clamp(32px,3.5vw,48px);line-height:1.12;letter-spacing:-2px;font-weight:400;margin:20px 0}.wizard-aside>p:not(.wizard-eyebrow){font-size:14px;line-height:1.8;color:var(--wiz-muted)}.wizard-call{display:flex;gap:14px;padding-block:28px;margin-top:24px;border-block:1px solid var(--wiz-line);align-items:center}.wizard-call>span{font-size:28px;color:var(--wiz-accent)}.wizard-call strong{font-size:14px;font-weight:500}.wizard-call p{font-size:13px;margin:6px 0 0;color:var(--wiz-muted)}.wizard-steps{list-style:none;padding:0;margin:30px 0;counter-reset:steps;display:grid;gap:18px}.wizard-steps li{counter-increment:steps;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--wiz-muted)}.wizard-steps li:before{content:counter(steps);display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--wiz-line);border-radius:50%;font-size:12px}.wizard-steps li[aria-current]{color:var(--wiz-text)}.wizard-steps li[aria-current]:before,.wizard-steps li.complete:before{background:var(--wiz-accent);color:var(--wiz-bg);border-color:transparent}.wizard-reassurance{font-size:12px!important}.wizard-main{padding:38px;min-width:0}.wizard-intro h3{font-size:clamp(28px,3vw,38px);line-height:1.2;letter-spacing:-1.3px;font-weight:400;margin:20px 0}.wizard-intro>p{font-size:15px;line-height:1.7;color:var(--wiz-muted)}.wizard-topics{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.wizard-topics button{font:inherit;font-size:14px;background:transparent;border:1px solid var(--wiz-line);border-radius:50px;color:var(--wiz-text);padding:12px 18px;cursor:pointer}.wizard-topics button[aria-pressed=true]{border-color:var(--wiz-accent);background:color-mix(in srgb,var(--wiz-accent) 16%,transparent)}.wizard-next{display:flex;width:100%;justify-content:space-between;align-items:center;background:#a48bbf;color:#140d1d;border:0;border-radius:12px;padding:18px 22px;font:inherit;font-size:16px;cursor:pointer;margin-top:28px}.wizard-privacy{font-size:12px!important;margin-top:18px!important}.wizard-timezone{font-size:13px!important}.wizard-calendar-head{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}.wizard-back{background:none;border:0;color:var(--wiz-accent);font:inherit;font-size:13px;cursor:pointer;padding:4px 0}.wizard-current{font-size:14px;color:var(--wiz-muted)}.booking-wizard .booking-calendar{margin-top:0;height:720px;width:100%;border-radius:12px}.booking-wizard .booking-status{font-size:13px!important}.booking-wizard .booking-external{font-size:12px}.booking-wizard :is(button,a):focus-visible{outline:2px solid var(--wiz-accent);outline-offset:4px}.booking-wizard [hidden]{display:none!important}
.booking-wizard[data-provider=calcom]:has(.wizard-intro[hidden]) .wizard-layout{grid-template-columns:minmax(0,1fr)}
.booking-wizard[data-provider=calcom]:has(.wizard-intro[hidden]) .wizard-aside{display:none}
.booking-wizard[data-provider=calcom] .booking-calendar{height:720px;min-height:600px;overflow:auto;background:var(--wiz-bg)}
.booking-wizard[data-provider=calcom] .booking-calendar iframe{display:block;color-scheme:normal}
@keyframes wizard-arrive{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:850px){.wizard-layout{grid-template-columns:250px minmax(0,1fr)}.wizard-aside{padding:28px 22px}.wizard-main{padding:26px 20px}.wizard-aside h2{font-size:34px}}
@media(max-width:650px){.booking-wizard{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}.wizard-top{padding:14px 20px;position:sticky;top:0;z-index:2;background:var(--wiz-bg)}.wizard-layout{display:block}.wizard-aside{padding:22px 20px 12px}.wizard-aside h2{font-size:30px;margin:12px 0}.wizard-aside h2 br{display:none}.wizard-aside>p:not(.wizard-eyebrow),.wizard-call,.wizard-reassurance{display:none}.wizard-steps{display:flex;justify-content:space-between;gap:8px;margin:18px 0 6px}.wizard-steps li{font-size:11px;gap:6px;white-space:nowrap}.wizard-steps li:before{width:22px;height:22px;font-size:11px;flex-shrink:0}.wizard-main{padding:26px 20px}.wizard-main:has(.wizard-intro[hidden]){padding:18px 0}.wizard-calendar-head{padding:0 20px}.booking-wizard .booking-calendar{border-radius:0;min-width:0;height:780px}.booking-wizard .booking-status,.booking-wizard .booking-external{margin-inline:20px}.wizard-topics{gap:10px}.wizard-topics button{padding:11px 14px}.wizard-intro h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.booking-wizard[open]{animation:none}}
