.booking-page{--booking-field-height:3rem;--booking-panel-width:27rem;background:var(--background);min-height:100svh;color:var(--foreground);font-family:var(--font-sans);flex-direction:column;flex:1 0 auto;display:flex;overflow-x:clip}.booking-page__main{flex:auto;min-width:0}.booking-page h1,.booking-page h2,.booking-page h3{overflow-wrap:anywhere;min-width:0;font-style:normal}.booking-shell{width:min(100%, var(--checkout-shell-max));padding-inline:var(--checkout-gutter);margin-inline:auto}.booking-header{border-block-end:1px solid var(--border);background:var(--background);color:var(--foreground)}.booking-header__inner{justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;display:flex}.booking-brand{border-radius:calc(var(--radius) / 2);flex:none;align-items:center;gap:.5rem;min-height:2.75rem;display:inline-flex}.booking-header__actions{align-items:center;gap:.5rem;min-width:0;display:flex}.booking-header__actions>a{border-radius:calc(var(--radius) / 2);min-height:2.75rem;color:var(--muted-foreground);white-space:nowrap;transition:color var(--dur-short) var(--ease-out);align-items:center;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.booking-header__actions>a:hover{color:var(--foreground)}.booking-form__intro h2:focus-visible,.booking-brand:focus-visible,.booking-footer a:focus-visible,.booking-confirmation__account-link:focus-visible,.booking-confirmation__link:focus-visible,.booking-invoice-download:focus-visible,.booking-mobile-cta a:focus-visible,.booking-mobile-cta button:focus-visible,.booking-header__actions>a:focus-visible,.booking-back:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.booking-secure-label{min-height:2.75rem;color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:.375rem;font-size:0;font-weight:500;display:inline-flex}.booking-secure-label svg,.booking-form__reassurance svg{width:1rem;height:1rem}.booking-layout{grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-block:2.5rem 6rem;display:grid;position:relative}.booking-story,.booking-checkout{z-index:1;position:relative}.booking-story{gap:4rem;min-width:0;display:grid}.booking-story__lead{gap:1.25rem;min-width:0;display:grid}.booking-hero{gap:1.25rem;min-width:0;padding-block:.5rem 1rem;display:grid;position:relative}.booking-hero__meta{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.booking-provider-back{justify-self:start;text-decoration:none}.booking-provider-logo{object-fit:contain;width:auto;max-width:8rem;height:2.25rem}.booking-offer{gap:.875rem;min-width:0;display:grid}.booking-offer>span{color:var(--muted-foreground);font-size:.875rem}.booking-offer__kicker{color:var(--muted-foreground);letter-spacing:normal;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:400;line-height:1rem}.booking-preview-label{min-height:1.5rem;color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;display:inline-flex}.booking-preview-label svg{width:.875rem;height:.875rem}.booking-hero h1{max-width:22ch;font-family:var(--font-heading);letter-spacing:-.048em;text-wrap:balance;margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:620;line-height:1.06}.booking-hero__lede{max-width:55ch;color:var(--muted-foreground);text-wrap:pretty;margin:0;font-size:clamp(.9375rem,1.4vw,1.0625rem);line-height:1.6}.booking-hero__audience{border:1px solid var(--border);background:var(--card);width:fit-content;max-width:100%;color:var(--foreground);border-radius:999px;align-items:center;gap:.5rem;margin:0;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;display:inline-flex}.booking-hero__audience svg{width:1rem;height:1rem;color:var(--muted-foreground)}.booking-reveal{animation:booking-reveal var(--dur-long) var(--ease-out) both}@keyframes booking-reveal{0%{opacity:0;transform:translateY(.375rem)}to{opacity:1;transform:none}}.booking-course-media{gap:.75rem;margin:.75rem 0 0;display:grid}.booking-course-media__image{object-fit:cover;border:1px solid var(--border);border-radius:.75rem;width:100%;max-height:min(28rem,70vw)}.booking-ledger,.booking-course-copy{gap:1.75rem;display:grid}.booking-section-heading{gap:.5rem;max-width:48rem;display:grid}.booking-section-heading>p{color:var(--muted-foreground);letter-spacing:normal;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:400;line-height:1rem}.booking-section-heading h2{font-family:var(--font-heading);letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:1.5rem;font-weight:600;line-height:1.35}.booking-facts{border-block-start:1px solid var(--border);margin:0}.booking-facts>div{border-block-end:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.5rem .875rem;padding-block:1rem;display:grid}.booking-facts svg{width:1.125rem;height:1.125rem;color:var(--muted-foreground);margin-block-start:.125rem}.booking-facts dt{color:var(--muted-foreground);align-self:center;font-size:.8125rem}.booking-facts dd{font-variant-numeric:tabular-nums;grid-column:2;gap:.25rem;margin:0;display:grid}.booking-facts dd strong{font-size:.9375rem;font-weight:550;line-height:1.4}.booking-facts dd span{color:var(--muted-foreground);font-size:.8125rem;line-height:1.5}.booking-facts>.booking-session-list{grid-template-columns:1.125rem minmax(0,1fr)}.booking-session-list dt{grid-column:2}.booking-session-list ol{grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.75rem 1.25rem;margin:0;padding:0;list-style:none;display:grid}.booking-session-list li{gap:.125rem;display:grid}.booking-venue-contact{border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);flex-wrap:wrap;gap:.375rem 1rem;padding:1rem;font-size:.8125rem;display:flex}.booking-venue-contact strong{width:100%;font-weight:550}.booking-venue-contact a{min-width:0;color:inherit;overflow-wrap:anywhere;text-underline-offset:.2em}.booking-course-copy__columns{grid-template-columns:minmax(0,1fr);gap:2rem;display:grid}.booking-course-copy__columns>p{max-width:55ch;color:var(--muted-foreground);margin:0;font-size:.9375rem;line-height:1.65}.booking-course-copy ul{gap:.875rem;margin:0;padding:0;list-style:none;display:grid}.booking-course-copy li{border-block-end:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.625rem;padding-block-end:.875rem;font-size:.875rem;font-weight:500;display:grid}.booking-course-copy li svg{background:var(--muted);width:1.125rem;height:1.125rem;color:var(--foreground);border-radius:50%;padding:.125rem}.booking-policy{border:1px solid var(--border);background:var(--muted);color:var(--foreground);border-radius:.75rem;grid-template-columns:auto minmax(0,1fr);gap:.875rem;padding:1.25rem;display:grid}.booking-policy>svg{width:1.25rem;height:1.25rem;color:var(--muted-foreground);margin-block-start:.125rem}.booking-policy h2,.booking-policy p{margin:0}.booking-policy h2{letter-spacing:-.01em;font-size:.9375rem;font-weight:600}.booking-policy p{max-width:58ch;color:var(--muted-foreground);margin-block-start:.375rem;font-size:.875rem;line-height:1.6}.booking-provider{border:1px solid var(--border);background:var(--card);border-radius:.75rem;gap:1rem;padding:1.5rem;display:grid}.booking-provider__legal-name,.booking-provider__lede{max-width:58ch;color:var(--muted-foreground);margin:0;font-size:.875rem;line-height:1.6}.booking-provider__legal-name{margin-block-start:-.5rem}.booking-provider__details{gap:.875rem;display:grid}.booking-provider__address{align-items:flex-start;gap:.5rem;font-size:.875rem;font-style:normal;line-height:1.5;display:flex}.booking-provider__address>svg{width:.9375rem;height:.9375rem;color:var(--muted-foreground);flex:none;margin-block-start:.1875rem}.booking-provider__address span span{display:block}.booking-provider__contact{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.booking-provider__contact li{min-width:0;max-width:100%}.booking-provider__contact a{border:1px solid var(--border);background:var(--background);max-width:100%;min-height:2.25rem;color:var(--foreground);overflow-wrap:anywhere;transition:border-color var(--dur-short) var(--ease-out);border-radius:999px;align-items:center;gap:.5rem;padding-inline:.875rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.booking-provider__contact a:hover{border-color:var(--muted-foreground)}.booking-provider__contact a svg{width:.9375rem;height:.9375rem;color:var(--muted-foreground);flex:none}.booking-provider__legal{border-block-start:1px solid var(--border);flex-wrap:wrap;gap:.25rem 1.25rem;padding-block-start:1rem;display:flex}.booking-provider__legal a{min-height:2.25rem;color:var(--muted-foreground);text-underline-offset:.2em;transition:color var(--dur-short) var(--ease-out);align-items:center;gap:.375rem;font-size:.8125rem;display:inline-flex}.booking-provider__legal a:hover{color:var(--foreground)}.booking-provider__legal a svg{flex:none;width:.9375rem;height:.9375rem}.booking-provider__contact a:focus-visible,.booking-provider__legal a:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:calc(var(--radius) / 2)}.booking-checkout{width:min(100%, var(--booking-panel-width));background:var(--card);color:var(--card-foreground);box-shadow:var(--ds-shadow-border-medium);border-radius:.75rem;place-self:start end;display:grid;overflow:clip}.booking-checkout__brand{border-block-end:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.875rem 1.5rem;display:flex}.booking-checkout__platform{min-width:0;color:var(--muted-foreground);text-align:end;font-size:.75rem;font-weight:500}.booking-checkout__price{text-align:end;justify-items:end;gap:.125rem;margin:0;display:grid}.booking-checkout__price span{color:var(--muted-foreground);font-size:.75rem}.booking-checkout__price strong{font-family:var(--font-heading);letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.25rem;font-weight:600;line-height:1.1}.booking-checkout__progress{border-block-end:1px solid var(--border);grid-template-columns:1fr auto;gap:.5rem 1rem;padding:.875rem 1.5rem;font-size:.8125rem;font-weight:500;display:grid}.booking-checkout__progress>span:nth-child(2){color:var(--muted-foreground)}.booking-progress-track{background:var(--muted);border-radius:999px;grid-column:1/-1;height:.25rem;overflow:clip}.booking-progress-track>span{transform-origin:0;border-radius:inherit;background:var(--primary);width:100%;height:100%;transition:transform var(--dur-short) var(--ease-out);display:block}.booking-price-row{border-block-end:1px solid var(--border);justify-content:space-between;align-items:end;gap:1rem;padding:1.25rem 1.5rem;display:flex}.booking-price-row span{color:var(--muted-foreground);font-size:.8125rem}.booking-price-row strong{font-family:var(--font-heading);letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.5rem;font-weight:600;line-height:1}.booking-form{gap:1.25rem;padding:1.5rem;display:grid}.booking-form__intro{gap:.25rem;display:grid}.booking-form__intro h2,.booking-form__intro p{margin:0}.booking-form__intro h2{font-family:var(--font-heading);letter-spacing:-.02em;font-size:1.25rem;font-weight:600;line-height:1.3}.booking-form__intro p{color:var(--muted-foreground);font-size:.875rem;line-height:1.55}.booking-contact-fields{gap:.5rem;display:grid}.booking-field{align-content:start;gap:.375rem;display:grid}.booking-field>span:first-child{font-size:.8125rem;font-weight:500}.booking-input-wrap{display:grid;position:relative}.booking-input-wrap input{width:100%;height:var(--booking-field-height);min-height:var(--booking-field-height);border:1px solid var(--input);border-radius:var(--radius);background:var(--card);color:var(--foreground);font:inherit;transition:border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);outline:none;padding-inline:.875rem;font-size:1rem}.booking-input-wrap input::placeholder{color:var(--muted-foreground)}.booking-input-wrap input:focus-visible{border-color:var(--ds-focus-color);box-shadow:var(--ds-focus-ring)}.booking-input-wrap[data-invalid=true] input{border-color:var(--destructive)}.booking-input-wrap[data-invalid=true] input:focus-visible{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--destructive)}.booking-input-wrap>span{background:var(--destructive);width:1.125rem;height:1.125rem;color:var(--destructive-foreground);border-radius:50%;place-items:center;font-size:.6875rem;font-weight:700;display:grid;position:absolute;inset-block-start:50%;inset-inline-end:.875rem;transform:translateY(-50%)}.booking-billing-fields{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);gap:.5rem;margin:0;padding:1rem;display:grid}.booking-billing-fields legend{letter-spacing:-.01em;padding-inline:.375rem;font-size:.875rem;font-weight:600}.booking-billing-fields>p{color:var(--muted-foreground);margin:0;font-size:.8125rem;line-height:1.55}.booking-billing-fields__row{grid-template-columns:minmax(9rem,.85fr) minmax(0,1.15fr);align-items:start;gap:.75rem;display:grid}.booking-billing-country{min-width:0;color:var(--muted-foreground);justify-content:space-between;align-items:baseline;gap:.75rem;margin:0;font-size:.8125rem;display:flex}.booking-billing-country strong{color:var(--foreground);font-weight:550}.booking-field small,.booking-consent small{min-height:1.45em;color:var(--muted-foreground);font-size:.75rem;line-height:1.45}.booking-field small.is-error,.booking-consent small.is-error,.booking-slot-picker>small.is-error{color:var(--destructive);font-weight:500}.booking-consent{gap:.5rem;display:grid}.booking-consent>label{color:var(--muted-foreground);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.625rem;font-size:.8125rem;line-height:1.55;display:grid}.booking-consent input{width:1.125rem;height:1.125rem;accent-color:var(--primary);outline:none;margin-block-start:.125rem}.booking-consent input:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.booking-consent a{color:var(--foreground);text-underline-offset:.2em;white-space:nowrap;font-weight:500}.booking-submit{width:100%;min-height:var(--booking-field-height);white-space:nowrap}.booking-submit svg{width:1rem;height:1rem}.booking-form__reassurance{color:var(--muted-foreground);align-items:start;gap:.5rem;margin:0;font-size:.75rem;line-height:1.45;display:flex}.booking-form__reassurance svg{flex:none;margin-block-start:.125rem}.booking-form__error{border:1px solid var(--ds-red-400);border-radius:var(--radius);background:var(--ds-red-100);color:var(--ds-red-900);margin:0;padding:.75rem .875rem;font-size:.8125rem;font-weight:500;line-height:1.5}:is(.booking-review dl,dl.booking-review){border-block-start:1px solid var(--border);margin:0}:is(.booking-review dl,dl.booking-review)>div{border-block-end:1px solid var(--border);grid-template-columns:minmax(6rem,.65fr) minmax(0,1.35fr);gap:1rem;padding-block:.625rem;display:grid}:is(.booking-review,.booking-form--review) dt{color:var(--muted-foreground);font-size:.8125rem}:is(.booking-review,.booking-form--review) dd{overflow-wrap:anywhere;gap:.25rem;margin:0;font-size:.875rem;font-weight:500;display:grid}:is(.booking-review,.booking-form--review) dd span{color:var(--muted-foreground);font-size:.8125rem;font-weight:400}.booking-review__total dt,.booking-review__total dd{color:var(--foreground);font-family:var(--font-heading);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600}.booking-back{border-radius:var(--radius);min-height:2.75rem;color:var(--muted-foreground);font:inherit;white-space:nowrap;transition:color var(--dur-short) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:inline-flex}.booking-back:hover{color:var(--foreground)}.booking-back:disabled{cursor:not-allowed;opacity:.5}.booking-spinner{border:2px solid;border-inline-end-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite booking-spin}@keyframes booking-spin{to{transform:rotate(1turn)}}.booking-mobile-cta{z-index:40;padding:.75rem max(1rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));border-block-start:1px solid var(--border);background:color-mix(in oklab, var(--background) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--foreground);justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:fixed;inset-block-end:0;inset-inline:0}.booking-mobile-cta>span{gap:.125rem;line-height:1;display:grid}.booking-mobile-cta strong{font-family:var(--font-heading);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:600}.booking-mobile-cta small{color:var(--muted-foreground);font-size:.75rem}.booking-mobile-cta a,.booking-mobile-cta button{border-radius:var(--radius);background:var(--primary);min-height:2.75rem;color:var(--primary-foreground);white-space:nowrap;cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding-inline:1.25rem;font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.booking-mobile-cta svg{width:1rem;height:1rem}.booking-page:has(.booking-mobile-cta) .booking-footer{padding-block-end:calc(6.5rem + env(safe-area-inset-bottom))}.booking-modal{width:100%;max-width:100%;height:100dvh;max-height:none;background:var(--card);color:var(--card-foreground);border:none;margin:0;padding:0;padding-block-start:env(safe-area-inset-top)}.booking-modal[open]{animation:booking-modal-in .3s var(--ease-out);flex-direction:column;display:flex}.booking-modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:oklab(0% none none/.45)}@keyframes booking-modal-in{0%{opacity:.5;transform:translateY(1.25rem)}}.booking-modal__head{flex:none;justify-content:center;align-items:center;min-height:3rem;display:flex;position:relative}.booking-modal__close{width:2.75rem;height:2.75rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;inset-block-start:50%;inset-inline-end:.375rem;translate:0 -50%}.booking-modal__close svg{width:1.125rem;height:1.125rem}.booking-modal__close:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.booking-modal__body{overscroll-behavior:contain;flex:1;padding-block-end:env(safe-area-inset-bottom);overflow-y:auto}.booking-modal .booking-checkout{width:100%;max-width:30rem;box-shadow:none;border-radius:0;margin-inline:auto}body:has(.booking-modal[open]){overflow:hidden}.booking-footer{padding-block:2rem calc(2rem + env(safe-area-inset-bottom));border-block-start:1px solid var(--border);background:var(--background);color:var(--muted-foreground);flex:none;margin-block-start:auto}.booking-footer .booking-shell{gap:1rem;display:grid}.booking-footer p{max-width:44ch;color:var(--foreground);margin:0;font-size:.875rem;font-weight:500;line-height:1.5}.booking-footer .booking-shell>div{flex-direction:column;align-items:flex-start;gap:.75rem;font-size:.75rem;display:flex}.booking-footer nav{flex-wrap:wrap;gap:1rem;display:flex}.booking-footer a{border-radius:calc(var(--radius) / 2);min-height:2.75rem;color:inherit;white-space:nowrap;transition:color var(--dur-short) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.booking-footer a:hover{color:var(--foreground)}.booking-confirmation-page{grid-template-rows:auto 1fr auto;display:grid}.booking-confirmation{grid-template-columns:minmax(0,44rem);justify-content:center;align-items:start;gap:2rem;padding-block:clamp(2.5rem,8vw,5rem) 6rem;display:grid}.booking-confirmation__copy{gap:1.25rem;min-width:0;display:grid}.booking-confirmation__status{background:var(--muted);width:fit-content;min-height:1.75rem;color:var(--foreground);border-radius:999px;align-items:center;gap:.375rem;padding-inline:.625rem;font-size:.8125rem;font-weight:500;display:inline-flex}.booking-confirmation__status svg{width:.9375rem;height:.9375rem}.booking-confirmation__status[data-tone=success]{background:var(--ds-green-100);color:var(--ds-green-900)}.booking-confirmation__status[data-tone=pending]{background:var(--ds-amber-100);color:var(--ds-amber-900)}.booking-confirmation__status[data-tone=neutral]{background:var(--muted);color:var(--foreground)}.booking-confirmation__status[data-tone=error]{background:var(--ds-red-100);color:var(--ds-red-900)}.booking-confirmation h1{max-width:20ch;font-family:var(--font-heading);letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(1.875rem,4.5vw,2.75rem);font-weight:620;line-height:1.08}.booking-confirmation__copy>p{max-width:55ch;color:var(--muted-foreground);margin:0;font-size:.9375rem;line-height:1.6}.booking-confirmation__copy>p strong{color:var(--foreground);overflow-wrap:anywhere;font-weight:550}.booking-confirmation__copy>.booking-confirmation__path{border-radius:calc(var(--radius) / 2);background:var(--muted);width:fit-content;max-width:100%;color:var(--muted-foreground);font-family:var(--font-mono);overflow-wrap:anywhere;margin:0;padding:.25rem .5rem;font-size:.75rem}.booking-confirmation dl{border-block-start:1px solid var(--border);margin:0}.booking-confirmation dl>div{border-block-end:1px solid var(--border);grid-template-columns:minmax(5rem,.4fr) minmax(0,1.6fr);gap:1rem;padding-block:.625rem;display:grid}.booking-confirmation dt{color:var(--muted-foreground);font-size:.8125rem}.booking-confirmation dd{overflow-wrap:anywhere;margin:0;font-size:.875rem;font-weight:500;display:grid}.booking-confirmation dd span{color:var(--muted-foreground);font-size:.8125rem;font-weight:400}.booking-payment-status__sessions{gap:.625rem;margin:0;padding:0;list-style:none;display:grid}.booking-payment-status__sessions li{gap:.125rem;display:grid}.booking-confirmation__link{border-radius:calc(var(--radius) / 2);width:fit-content;min-height:2.75rem;color:var(--foreground);text-underline-offset:.25em;white-space:nowrap;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;display:inline-flex}button.booking-confirmation__link{appearance:none;cursor:pointer;font:inherit;text-align:start;background:0 0;border:0;padding:0}button.booking-confirmation__link:disabled{cursor:not-allowed;opacity:.6}.booking-confirmation__link svg{width:1rem;height:1rem}.booking-confirmation__actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.booking-confirmation__account-link{border-radius:var(--radius);background:var(--primary);min-height:2.75rem;color:var(--primary-foreground);align-items:center;gap:.5rem;padding-inline:1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.booking-confirmation__account-link svg{width:1rem;height:1rem}.booking-payment-status__actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.booking-payment-status__actions svg{width:1rem;height:1rem}.booking-payment-status__spinner{animation:.8s linear infinite booking-spin}.booking-payment-status__confirmed-actions{gap:1rem;width:100%;display:grid}.booking-invoice-download{border-radius:var(--radius);background:var(--primary);width:fit-content;min-height:2.75rem;color:var(--primary-foreground);align-items:center;gap:.5rem;padding-inline:1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.booking-invoice-download svg{width:1rem;height:1rem}.booking-invoice-state,.booking-confirmation-email-note{color:var(--muted-foreground);align-items:flex-start;gap:.5rem;margin:0;font-size:.8125rem;line-height:1.5;display:flex}.booking-invoice-state svg,.booking-confirmation-email-note svg{flex:none;width:1rem;height:1rem;margin-block-start:.125rem}.booking-slot-picker{border:0;gap:.625rem;margin-block-end:.5rem;padding:0;display:grid}.booking-slot-picker legend{font-size:.875rem;font-weight:600}.booking-slot-picker>p{color:var(--muted-foreground);margin:0;font-size:.8125rem}.booking-slot-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);transition:border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out);align-items:flex-start;gap:.625rem;padding:.75rem .875rem;font-size:.875rem;display:flex}.booking-slot-option:has(input:checked){border-color:var(--ds-gray-alpha-600);background:var(--muted)}.booking-slot-option:focus-within{outline:2px solid var(--ring);outline-offset:2px}.booking-slot-option[data-bookable=false]{opacity:.55}.booking-slot-option input{accent-color:var(--primary);margin-block-start:.1875rem}.booking-slot-option span{gap:.125rem;display:grid}.booking-slot-option strong{font-weight:550}.booking-slot-option small{color:var(--muted-foreground);font-size:.75rem}.booking-package-components{gap:.875rem;margin:0;padding:0;list-style:none;display:grid}.booking-package-components>li{border-block-end:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.625rem;padding-block-end:.875rem;font-size:.875rem;display:grid}.booking-package-components>li svg{background:var(--muted);width:1.125rem;height:1.125rem;color:var(--foreground);border-radius:50%;margin-block-start:.125rem;padding:.125rem}.booking-package-components strong,.booking-package-components span{display:block}.booking-package-components strong{font-weight:550}.booking-package-components span{color:var(--muted-foreground);font-size:.8125rem}.booking-package-components ol{color:var(--muted-foreground);gap:.125rem;margin:.5rem 0 0;padding:0;font-size:.8125rem;list-style:none;display:grid}.booking-remaining{border:1px solid var(--border);background:var(--card);border-radius:999px;align-items:center;gap:.5rem;width:fit-content;margin:0;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;display:inline-flex}.booking-remaining svg{width:1rem;height:1rem;color:var(--muted-foreground)}@media (hover:hover) and (pointer:fine){.booking-input-wrap input:hover:not(:focus-visible){border-color:var(--ds-gray-alpha-500)}.booking-confirmation__account-link:hover,.booking-invoice-download:hover,.booking-mobile-cta a:hover,.booking-mobile-cta button:hover{background:color-mix(in oklab, var(--primary) 88%, var(--background))}.booking-confirmation__link:hover{text-underline-offset:.25em;text-decoration:underline}.booking-slot-option:hover:not(:has(input:checked)){border-color:var(--ds-gray-alpha-500)}}@media (width<=39.999rem){.booking-header__actions>a,.booking-checkout__platform{display:none}.booking-billing-fields__row{grid-template-columns:1fr}.booking-header__actions button{min-width:2.5rem;min-height:2.5rem}.booking-provider-back{min-height:2.5rem}.booking-payment-status__actions button,.booking-confirmation__account-link,.booking-invoice-download{justify-content:center;width:100%}.booking-payment-status__actions button{min-height:2.75rem}}@media (width>=40rem){.booking-secure-label{font-size:.8125rem}.booking-hero__meta{flex-direction:row;align-items:center;gap:1rem}.booking-layout{padding-block-start:3.5rem}.booking-course-copy__columns{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.booking-facts>div{grid-template-columns:auto minmax(7rem,.55fr) minmax(0,1.45fr)}.booking-facts dt{align-self:start;padding-block-start:.125rem}.booking-facts dd{grid-column:auto}.booking-facts>.booking-session-list{grid-template-columns:1.125rem minmax(7rem,.55fr) minmax(0,1.45fr)}.booking-session-list dd{grid-column:3}.booking-footer .booking-shell>div{flex-direction:row;justify-content:space-between;align-items:center}.booking-course-media{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}}@media (width>=48rem){.booking-input-wrap input{font-size:.9375rem}}@media (width>=75rem){.booking-page{--booking-panel-width:30rem}.booking-layout{grid-template-columns:minmax(0, 1fr) minmax(26rem, var(--booking-panel-width));gap:clamp(2.5rem,4vw,5rem);padding-block-start:2.5rem}.booking-checkout{position:sticky;inset-block-start:1.5rem}.booking-form{gap:1rem;padding:1.25rem 1.5rem 1.5rem}.booking-form__intro p:not(.booking-review__notice),.booking-billing-fields>p,.booking-billing-country,.booking-form__reassurance{display:none}.booking-field small:not(.is-error),.booking-consent small:not(.is-error){visibility:hidden}.booking-consent>label{font-size:.75rem;line-height:1.45}.booking-mobile-cta{display:none}.booking-contact-fields{gap:.5rem}.booking-billing-fields{gap:.5rem;padding:.875rem 1rem}}@media (prefers-reduced-motion:reduce){.booking-reveal,.booking-modal[open]{animation:none}.booking-progress-track>span,.booking-input-wrap input,.booking-slot-option,.booking-back{transition-duration:0s}.booking-spinner,.booking-payment-status__spinner{animation-duration:1.6s}}
