@font-face{font-family:Season Sans TRIAL;src:url(/fonts/SeasonSans-TRIAL-Light.ttf) format("truetype");font-weight:300;font-display:swap}@font-face{font-family:Season Sans TRIAL;src:url(/fonts/SeasonSans-TRIAL-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Season Sans TRIAL;src:url(/fonts/SeasonSans-TRIAL-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Season Sans TRIAL;src:url(/fonts/SeasonSans-TRIAL-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Season Sans TRIAL;src:url(/fonts/SeasonSans-TRIAL-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Season Sans TRIAL;src:url(/fonts/SeasonSans-TRIAL-Bold.ttf) format("truetype");font-weight:800;font-display:swap}:root{--cream: #fffef9;--cream-input: #fffdf7;--aubergine: #310a1e;--magenta: #de55c1;--amber: #fbb622;--pink: #fe94e8;--plum: #7a2b4a;--border: #edd5e4;--border-strong: #310a1e;--ink-1: #310a1e;--ink-2: rgba(49, 10, 30, .64);--ink-3: rgba(49, 10, 30, .46);--ink-4: rgba(49, 10, 30, .3);--wash: rgba(49, 10, 30, .08);--wash-soft: rgba(49, 10, 30, .04)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--cream);color:var(--ink-1);font-family:Season Sans TRIAL,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit}.booking-shell{display:grid;grid-template-columns:minmax(0,54%) minmax(360px,46%);min-height:100vh;width:100%;background:var(--cream);overflow:hidden}.booking-main{display:flex;align-items:center;justify-content:center;min-height:100vh;min-width:0;padding:72px 48px}.booking-main-inner{width:min(100%,540px)}.booking-progress{height:4px;width:100%;overflow:hidden;border-radius:999px;background:#310a1e1a;margin-bottom:30px}.booking-progress span{display:block;height:100%;width:100%;border-radius:inherit;background:var(--aubergine);transform-origin:left center;transition:transform .25s cubic-bezier(.22,1,.36,1)}.booking-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.booking-brand svg{height:34px;width:34px}.booking-brand span{color:var(--aubergine);font-family:Erica One,cursive;font-size:34px;line-height:1}.booking-title{margin:0 0 10px;color:var(--ink-1);font-size:26px;font-weight:700;line-height:1.16}.booking-description{margin:0 0 26px;color:var(--ink-3);font-size:15px;font-weight:500;line-height:1.42}.booking-back{display:inline-flex;align-items:center;gap:8px;min-height:34px;border:0;background:transparent;color:var(--ink-3);cursor:pointer;font-size:14px;font-weight:600;margin-bottom:14px;padding:0;transition:color .16s ease,transform .16s ease}.booking-back:hover{color:var(--ink-1);transform:translate(-2px)}.booking-type-list{display:flex;flex-direction:column;gap:10px}.booking-type{display:flex;align-items:center;gap:14px;width:100%;border:1px solid var(--border);border-radius:18px;background:var(--cream-input);color:var(--ink-1);cursor:pointer;padding:16px 18px;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.booking-type:hover{border-color:var(--aubergine);background:#fe94e814}.booking-type:active{transform:scale(.99)}.booking-type[data-selected=true]{border-color:var(--aubergine);background:#de55c11f}.booking-type-body{flex:1;min-width:0}.booking-type-body strong{display:block;font-size:16px;font-weight:700;line-height:1.3}.booking-type-body small{display:block;margin-top:4px;color:var(--ink-3);font-size:13px;font-weight:500;line-height:1.4}.booking-type-meta{display:inline-flex;flex:0 0 auto;align-items:center;border-radius:999px;background:#fbb6223d;color:var(--aubergine);font-size:12px;font-weight:800;padding:6px 12px;white-space:nowrap}.booking-date-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:22px;scrollbar-width:thin;scrollbar-color:rgba(49,10,30,.22) transparent}.booking-date-strip::-webkit-scrollbar{height:6px}.booking-date-strip::-webkit-scrollbar-thumb{border-radius:999px;background:#310a1e38}.booking-date{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:2px;min-width:62px;border:1px solid var(--border);border-radius:16px;background:var(--cream-input);color:var(--ink-2);cursor:pointer;padding:10px 8px;transition:border-color .16s ease,background .16s ease,color .16s ease}.booking-date:hover{border-color:var(--aubergine);color:var(--ink-1)}.booking-date[data-selected=true]{border-color:var(--aubergine);background:var(--amber);color:var(--aubergine)}.booking-date-weekday{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.booking-date-day{font-family:Erica One,cursive;font-size:22px;line-height:1.1}.booking-date-month{font-size:11px;font-weight:600;opacity:.72}.booking-slot-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.booking-slot{min-height:44px;border:1px solid var(--border);border-radius:999px;background:var(--cream-input);color:var(--ink-1);cursor:pointer;font-size:14px;font-weight:700;transition:border-color .16s ease,background .16s ease,transform .16s ease}.booking-slot:hover{border-color:var(--aubergine);background:#fe94e824}.booking-slot:active{transform:scale(.97)}.booking-slot[data-selected=true]{border-color:var(--aubergine);background:var(--magenta);color:var(--aubergine)}.booking-timezone-note{margin-top:18px;color:var(--ink-4);font-size:12px;font-weight:600}.booking-field-stack{display:flex;flex-direction:column;gap:14px}.booking-field label{display:block;margin-bottom:8px;color:var(--plum);font-size:14px;font-weight:700}.booking-field input,.booking-field textarea{width:100%;min-height:48px;border:1px solid var(--border-strong);border-radius:12px;background:var(--cream-input);color:var(--ink-1);font:inherit;font-size:15px;font-weight:500;outline:none;padding:12px 14px;resize:vertical;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.booking-field textarea{min-height:96px;line-height:1.45}.booking-field input::placeholder,.booking-field textarea::placeholder{color:#7a2b4a7a}.booking-field input:focus,.booking-field textarea:focus{border-color:var(--aubergine);background:var(--cream);box-shadow:0 0 0 3px #310a1e1f}.booking-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border:0;border-radius:999px;background:var(--aubergine);color:var(--cream);cursor:pointer;font-size:15px;font-weight:700;margin-top:24px;padding:0 18px;transition:opacity .16s ease,transform .16s ease}.booking-primary:hover:not(:disabled){transform:translateY(-1px)}.booking-primary:active:not(:disabled){transform:scale(.985)}.booking-primary:disabled{cursor:not-allowed;opacity:.45}.booking-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:0;border-radius:999px;background:var(--wash);color:var(--ink-2);cursor:pointer;font-size:14px;font-weight:700;margin-top:14px;padding:0 18px;transition:background .16s ease,color .16s ease;width:100%}.booking-secondary:hover{background:#fe94e833;color:var(--ink-1)}.booking-danger{background:#c628281a;color:#b03535}.booking-danger:hover{background:#c6282829;color:#8f2a2a}.booking-notice,.booking-error{margin-top:16px;border-radius:14px;padding:11px 13px;font-size:13px;font-weight:600;line-height:1.42}.booking-notice{border:1px solid rgba(251,182,34,.5);background:#fbb62224;color:var(--ink-1)}.booking-error{border:1px solid rgba(198,40,40,.32);background:#c6282817;color:#a32b2b}.booking-empty{border:1px dashed rgba(49,10,30,.22);border-radius:18px;color:var(--ink-3);font-size:14px;font-weight:600;line-height:1.5;padding:26px 22px;text-align:center}.booking-aside{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;border-left:1px solid var(--border);background:var(--cream);padding:56px 0 56px 56px}.booking-card{width:min(560px,calc(100vw - 60px));overflow:hidden;border:1px solid var(--border);border-right:0;border-radius:20px 0 0 20px;background:var(--cream-input);padding:34px 34px 34px 38px;animation:bookingCardIn .3s cubic-bezier(.16,1,.3,1) both}@keyframes bookingCardIn{0%{opacity:0;transform:translate3d(18px,0,0) scale(.985)}to{opacity:1;transform:none}}.booking-practitioner{display:flex;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--border)}.booking-avatar{display:grid;height:56px;width:56px;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:999px;background:#fbb62247;color:var(--aubergine);font-size:18px;font-weight:800}.booking-avatar img{height:100%;width:100%;object-fit:cover}.booking-practitioner-copy{min-width:0}.booking-practitioner-copy strong{display:block;color:var(--ink-1);font-size:17px;font-weight:700;line-height:1.25}.booking-practitioner-copy small{display:block;margin-top:3px;color:var(--ink-3);font-size:13px;font-weight:600}.booking-summary-rows{display:flex;flex-direction:column;gap:2px;padding-top:8px}.booking-summary-row{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:14px;padding:13px 0;border-bottom:1px solid var(--border)}.booking-summary-row:last-child{border-bottom:0}.booking-summary-row dt{color:var(--ink-4);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.booking-summary-row dd{margin:0;color:var(--ink-1);font-size:15px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.booking-summary-row dd.is-pending{color:var(--ink-4);font-weight:500}.booking-summary-headline{margin:26px 0 0;color:var(--aubergine);font-family:Erica One,cursive;font-size:34px;line-height:1.05}.booking-summary-note{margin:12px 0 0;color:var(--ink-3);font-size:14px;font-weight:500;line-height:1.5}.booking-meet-link{color:var(--plum);font-weight:700;text-decoration:underline;text-underline-offset:2px}.booking-meet-link:hover{color:var(--aubergine)}.booking-status-pill{display:inline-flex;align-items:center;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.03em;margin-bottom:16px;padding:7px 14px;text-transform:uppercase}.booking-status-pill[data-status=confirmed]{background:var(--amber);color:var(--aubergine)}.booking-status-pill[data-status=cancelled]{background:#c628281f;color:#a32b2b}.booking-centered{display:grid;min-height:100vh;place-items:center;padding:40px 24px;text-align:center}.booking-centered-inner{width:min(100%,420px)}.booking-spinner{height:30px;width:30px;margin:0 auto 18px;border:3px solid rgba(49,10,30,.14);border-top-color:var(--magenta);border-radius:999px;animation:bookingSpin .72s linear infinite}@keyframes bookingSpin{to{transform:rotate(360deg)}}.booking-skeleton{display:block;height:44px;border-radius:999px;background:var(--wash);animation:bookingPulse 1.4s ease-in-out infinite}@keyframes bookingPulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:900px){.booking-shell{grid-template-columns:1fr;overflow-y:auto}.booking-main{min-height:auto;order:1;padding:28px 22px 24px}.booking-aside{min-height:auto;order:2;border-left:0;border-top:1px solid var(--border);padding:24px 22px 40px}.booking-card{width:100%;border:1px solid var(--border);border-radius:20px;padding:24px}.booking-summary-headline{font-size:28px}}@media(prefers-reduced-motion:reduce){.booking-card,.booking-spinner,.booking-skeleton{animation:none}.booking-primary:hover:not(:disabled),.booking-back:hover{transform:none}}
