@layer nordic-base, nordic-authored, nordic-custom;@layer nordic-base{.booking-widget{color:var(--ink);--booking-ease:cubic-bezier(.32,.72,0,1);--booking-topbar-height:76px}.booking-widget *,.booking-dialog *{box-sizing:border-box}.booking-inline{max-width:760px;margin-inline:auto;line-height:1.5}.booking-widget[data-booking-expanded] > .booking-inline{visibility:hidden}.booking-heading{margin-bottom:30px}.booking-eyebrow{display:block;margin-bottom:12px;color:var(--booking-muted, var(--primary));font-size:16px}.booking-heading h2{margin:0;font:400 clamp(30px, 3.5vw, 44px)/1.15 var(--font-heading);letter-spacing:var(--heading-tracking);outline:none;overflow-wrap:anywhere}.booking-heading p{max-width:54ch;margin:18px 0 0;color:var(--booking-muted, var(--primary));line-height:1.65}.booking-choices{display:grid;grid-template-columns:1fr;gap:10px}.booking-choices--list{grid-template-columns:1fr;gap:10px}.booking-choice{display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%;padding:22px;border:1px solid var(--line);border-radius:var(--button-radius);color:var(--ink);background:#fff;text-align:left;font:inherit;cursor:pointer;transition:transform 120ms var(--booking-ease), border-color 160ms ease, background-color 160ms ease}.booking-choice > span{display:grid;gap:10px;min-width:0}.booking-choice strong{font-size:20px;font-weight:600;line-height:1.3}.booking-choice span span{font-size:16px;color:var(--booking-muted, var(--primary));line-height:1.6;overflow-wrap:anywhere}.booking-choice > svg{flex:none;color:var(--primary)}.booking-choice--customer{display:grid;grid-template-columns:44px minmax(0, 1fr) 22px;gap:18px;min-height:106px}.booking-choice .booking-choice__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--button-radius);background:var(--cream);color:var(--primary)}.booking-choice .booking-choice__copy{gap:6px}.booking-treatment-list{border-top:1px solid var(--line)}.booking-catalogue-loading{display:grid;gap:12px}.booking-catalogue-loading > [aria-hidden]{height:64px;border-radius:var(--button-radius);background:var(--booking-fill);animation:booking-catalogue-pulse 1.2s ease-in-out infinite alternate}@keyframes booking-catalogue-pulse{from{opacity:.55}to{opacity:1}}@media (prefers-reduced-motion: reduce){.booking-catalogue-loading > [aria-hidden]{animation:none}}.booking-treatment-row{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:20px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);background:transparent;text-align:left;font:inherit;cursor:pointer;transition:transform 120ms var(--booking-ease), background-color 160ms ease}.booking-treatment-row__copy{display:grid;gap:6px;min-width:0}.booking-treatment-row__copy strong{font-size:20px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.booking-treatment-row__copy > span{color:var(--booking-muted, var(--primary));font-weight:400;line-height:1.5;overflow-wrap:anywhere}.booking-treatment-row__price{display:grid;gap:4px;flex:none;text-align:right}.booking-treatment-row__price > span{color:var(--booking-muted, var(--primary));font-size:16px;line-height:1.2}.booking-treatment-row__price strong{font-size:18px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.booking-widget .booking-choice .booking-offer-title{display:inline-flex;align-items:center;gap:8px;max-width:100%;color:inherit;font:inherit}.booking-widget .booking-choice .booking-offer-title > span{min-width:0;color:inherit;font:inherit}.booking-offer-title > svg{flex:none}.booking-choices--list .booking-choice{align-items:center;padding:20px 22px}.booking-choices--list .booking-choice strong{font-size:18px}.booking-widget button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.booking-widget button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.booking-widget button:active:not(:disabled){transform:scale(.98)}.booking-widget button:disabled{opacity:.42;cursor:default}.booking-widget button svg{flex:none}.booking-widget .booking-primary,.booking-widget .booking-secondary{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;width:100%;padding:14px 22px;border:1px solid var(--primary);border-radius:var(--button-radius);font:400 16px/1.45 var(--font-body);text-align:center;cursor:pointer;transition:transform 120ms var(--booking-ease), background-color 160ms ease}.booking-widget .booking-primary{color:var(--paper);background:var(--primary)}.booking-widget .booking-secondary{color:var(--ink);background:transparent;border-color:var(--line)}.booking-text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 0;border:0;background:transparent;color:var(--booking-muted, var(--primary));font:inherit;font-size:16px;cursor:pointer}.booking-actions{display:grid;gap:12px;margin-top:38px}.booking-benefits{margin-top:34px}.booking-benefit{display:flex;align-items:center;gap:14px;min-height:78px;padding:16px 0;border-bottom:1px solid var(--line);line-height:1.5}.booking-benefit > span:nth-child(2){flex:1;min-width:0}.booking-benefit__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--button-radius);color:var(--primary);background:var(--booking-fill, var(--sand));flex:none}.booking-benefit .info-popover__trigger{width:44px;height:44px}.booking-benefit .information-card__description{margin:0}.booking-summary{margin-bottom:34px;border-top:1px solid var(--line)}.booking-summary__row{display:flex;align-items:center;gap:18px;min-height:56px;border-bottom:1px solid var(--line);padding-block:8px}.booking-summary__row > span{flex:0 0 88px;color:var(--booking-muted, var(--primary))}.booking-summary__row strong{flex:1;min-width:0;font-weight:500;overflow-wrap:anywhere}.booking-summary__row button{flex:none}.booking-summary__detail{display:block;margin-top:4px;font:400 14px/1.5 var(--font-body);color:var(--booking-muted, var(--primary))}.booking-message{margin:20px 0;padding:20px;border-radius:var(--button-radius);background:var(--booking-fill, var(--sand));line-height:1.6}.booking-message p{margin:0}.booking-message button{margin-top:16px}.booking-search{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--button-radius);background:#fff;padding:0 16px;margin-bottom:22px;color:var(--primary)}.booking-search input{width:100%;min-width:0;min-height:52px;padding:12px 0;border:0;outline:0;font:400 16px/1.5 var(--font-body);background:var(--input-surface);color:var(--ink)}.booking-search:focus-within{border-color:var(--input-focus)}.booking-search input::placeholder{color:var(--primary);opacity:1}.booking-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.booking-inline__footer{padding-top:20px;border-top:1px solid var(--line)}.booking-inline__footer .booking-actions{margin-top:0;gap:10px}.booking-dialog:not([open]){display:none !important}.booking-dialog{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;overflow:hidden;color:var(--ink);background:transparent;font:400 16px/1.5 var(--font-body);isolation:isolate}.booking-dialog__surface{position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--booking-background, var(--paper));transform-origin:0 0}.booking-dialog::backdrop{background:transparent}.booking-viewport{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.booking-dialog__top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;flex:none;gap:20px;min-height:var(--booking-topbar-height, 76px);padding:max(12px, env(safe-area-inset-top, 0px)) max(24px, env(safe-area-inset-right, 0px)) 12px max(24px, env(safe-area-inset-left, 0px));border-bottom:1px solid var(--line)}.booking-dialog__top > span{font-weight:500}.booking-widget .booking-icon-button{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:0;color:var(--ink);border:1px solid transparent;border-radius:var(--button-radius);background:transparent;cursor:pointer;transition:background-color 160ms ease, transform 120ms var(--booking-ease)}.booking-widget .booking-close{border:0}.booking-dialog__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:24px}.booking-dialog__footer{flex:none;padding:16px 24px max(16px, env(safe-area-inset-bottom, 0px));border-top:1px solid var(--line);background:var(--booking-background, var(--paper))}.booking-dialog__footer .booking-actions{width:min(620px, 100%);margin:0 auto;gap:10px}.booking-dialog__content{width:min(620px, calc(100% - 48px));margin:0 auto;padding:40px 0 max(36px, env(safe-area-inset-bottom, 0px))}.booking-dialog .booking-heading h2{font-size:clamp(28px, 3vw, 36px)}.booking-dialog .booking-eyebrow{display:none}.booking-dialog[data-booking-motion] .booking-dialog__surface{animation:booking-surface-morph var(--booking-motion-duration) var(--booking-ease) both}.booking-dialog[data-booking-motion]{animation:booking-viewport-mask var(--booking-motion-duration) var(--booking-ease) both}.booking-dialog[data-booking-motion] .booking-dialog__content,.booking-dialog[data-booking-motion] .booking-dialog__footer{animation:booking-content-fade var(--booking-motion-content-duration) var(--booking-ease) var(--booking-motion-content-delay) both}.booking-dialog[data-booking-phase='opening'] .booking-dialog__top{animation:booking-top-enter 160ms var(--booking-ease) both}.booking-dialog[data-booking-phase='closing'] .booking-dialog__top{animation:booking-top-exit 100ms var(--booking-ease) both}.booking-dialog[data-booking-phase='closing'] :is(.booking-dialog__content, .booking-dialog__footer){pointer-events:none}@keyframes booking-surface-morph{from{transform:var(--booking-motion-surface-from)}to{transform:var(--booking-motion-surface-to)}}@keyframes booking-viewport-mask{from{clip-path:var(--booking-motion-clip-from)}to{clip-path:var(--booking-motion-clip-to)}}@keyframes booking-content-fade{from{opacity:var(--booking-motion-content-opacity-from);transform:var(--booking-motion-content-transform-from)}to{opacity:var(--booking-motion-content-opacity-to);transform:var(--booking-motion-content-transform-to)}}@keyframes booking-top-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes booking-top-exit{from{opacity:1}to{opacity:0}}.booking-calendar__toolbar{display:flex;align-items:center;gap:4px;margin-bottom:18px}.booking-calendar__toolbar h3{flex:1;margin:0;font:400 20px/1.3 var(--font-heading)}.booking-calendar__toolbar h3::first-letter{text-transform:uppercase}.booking-day-strip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:4px;margin:-4px}.booking-day-strip::-webkit-scrollbar{display:none}.booking-day{flex:1 0 68px;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:112px;padding:12px 4px;border:1px solid transparent;border-radius:var(--button-radius);color:var(--booking-muted, var(--primary));background:transparent;font:inherit;cursor:pointer;scroll-snap-align:start;font-variant-numeric:tabular-nums;transition:transform 120ms var(--booking-ease), background-color 160ms ease}.booking-day strong{font:400 24px/1.2 var(--font-heading);color:var(--ink)}.booking-day span{font-size:16px}.booking-widget .booking-day[aria-pressed='true']{color:var(--paper);background:var(--primary)}.booking-day[aria-pressed='true'] strong{color:inherit}.booking-week-controls{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.booking-week-controls button{font-size:16px}.booking-month{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:5px;padding:4px;margin:-4px}.booking-month__weekday{text-align:center;color:var(--booking-muted, var(--primary));padding-block:12px;font-size:16px}.booking-widget .booking-day--month{min-height:50px;padding:10px 4px;justify-content:center;gap:6px}.booking-day__dot{height:4px;width:4px;border-radius:50%;background:transparent}.booking-day[data-has-times='true'] .booking-day__dot{background:currentColor}.booking-times{margin-top:30px}.booking-practitioner-group h4{margin:0 0 12px;font:500 16px/1.5 var(--font-body);color:var(--booking-muted, var(--primary))}.booking-practitioner-group + .booking-practitioner-group{margin-top:24px}.booking-times__heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}.booking-times__heading h3{margin:0;font:400 24px/1.3 var(--font-heading)}.booking-times__heading h3::first-letter{text-transform:uppercase}.booking-times__heading > span{flex:none;color:var(--booking-muted, var(--primary))}.booking-time-group{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:8px;margin:0 0 20px;min-width:0}.booking-time-group button{min-height:48px;padding:10px;border:1px solid var(--line);border-radius:var(--button-radius);color:var(--ink);background:transparent;font:500 16px/1.5 var(--font-body);font-variant-numeric:tabular-nums;cursor:pointer;transition:transform 120ms var(--booking-ease), background-color 160ms ease}.booking-time-group button[aria-pressed='true']{color:var(--paper);background:var(--primary);border-color:var(--primary)}.booking-widget .booking-continue{flex-direction:column;gap:2px;min-height:64px}.booking-continue span:last-child{opacity:.86}.booking-note{margin:0;text-align:center;color:var(--booking-muted, var(--primary));line-height:1.5;font-size:16px}.booking-review{margin:28px 0}.booking-review > div{display:grid;grid-template-columns:100px 1fr;gap:18px;padding-block:16px;border-bottom:1px solid var(--line)}.booking-review dt{color:var(--booking-muted, var(--primary))}.booking-review dd{margin:0;overflow-wrap:anywhere}.booking-review dd > span{display:block;color:var(--booking-muted, var(--primary));margin-top:6px}.booking-receipt{display:grid;gap:16px;overflow-wrap:anywhere}.booking-receipt h3{margin:0;font:400 26px/1.25 var(--font-heading)}.booking-receipt p{margin:0}.booking-receipt .booking-note{text-align:left}.booking-receipt .booking-primary{margin-top:12px}.booking-dialog :is(h2, h3, [role='alert']){scroll-margin-block-start:24px}@media (hover:hover) and (pointer:fine){.booking-choice:hover{background:#fff;border-color:var(--primary)}.booking-treatment-row:hover{background:var(--booking-fill, rgb(255 255 255 / 45%))}.booking-widget .booking-primary:hover{background:var(--ink)}.booking-widget .booking-secondary:hover, .booking-widget .booking-icon-button:hover, .booking-day:hover:not(:disabled):not([aria-pressed='true']), .booking-time-group button:hover:not(:disabled):not([aria-pressed='true']){background:var(--booking-fill, var(--sand))}.booking-text-button:hover{color:var(--ink)}}@media (max-width:600px){.booking-choices{gap:10px}.booking-choice{padding:18px}.booking-choice--customer{grid-template-columns:38px minmax(0, 1fr) 20px;gap:12px}.booking-choice .booking-choice__icon{width:38px;height:38px}.booking-choice strong,.booking-treatment-row__copy strong{font-size:18px}.booking-treatment-row{gap:16px}.booking-treatment-row__price strong{font-size:16px}.booking-heading h2{font-size:32px}.booking-dialog__top{min-height:var(--booking-topbar-height, 76px);padding-inline:max(16px, env(safe-area-inset-left, 0px))}.booking-dialog__content{width:calc(100% - 32px);padding-top:28px}.booking-dialog__footer{padding-inline:16px}.booking-summary__row{gap:12px}.booking-summary__row > span{flex-basis:78px}.booking-summary__row button{gap:3px}.booking-benefit{gap:10px}.booking-benefit__icon{width:38px;height:38px}.booking-actions{margin-top:28px}.booking-times__heading{align-items:flex-start}.booking-times__heading h3{font-size:22px}.booking-review > div{grid-template-columns:70px 1fr;gap:12px}}@media (max-width:360px){.booking-summary__row{gap:8px}.booking-summary__row > span{flex-basis:64px}.booking-widget .booking-icon-button{width:44px}.booking-calendar__toolbar h3{font-size:18px}}@media (prefers-reduced-motion:reduce){.booking-widget button,.booking-dialog__content{transition:none}.booking-widget button:active:not(:disabled){transform:none}}@media (forced-colors:active){.booking-choice, .booking-primary, .booking-secondary, .booking-time-group button, .booking-day[aria-pressed='true']{border:1px solid ButtonText}.booking-widget button[aria-pressed='true']{outline:2px solid Highlight}}.booking-widget a.booking-choice,.booking-widget a.booking-secondary{text-decoration:none}.booking-widget a:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.booking-portal[hidden], .booking-widget[data-booking-frame='portal'][data-booking-expanded] > .booking-inline{display:none !important}.booking-portal{--account-booking-footer-height:0px;min-width:0;font:400 16px/24px var(--font-body);padding-bottom:calc(var(--account-booking-footer-height) + 16px)}.booking-portal__content{min-width:0;width:100%}.booking-portal__back{margin:0 0 12px;justify-content:flex-start}.booking-portal .booking-eyebrow{display:none}.booking-portal .booking-heading{margin-bottom:24px}.booking-portal .booking-heading :is(h1,h2){margin:0;font:400 28px/34px var(--font-heading);letter-spacing:var(--heading-tracking);overflow-wrap:anywhere;outline:none}.booking-portal .booking-heading p{margin-top:12px}.booking-portal .booking-summary{margin-bottom:24px}.booking-portal .booking-summary__row > span{min-width:0;overflow-wrap:anywhere}.booking-portal .booking-calendar__toolbar h3{min-width:0;overflow-wrap:anywhere}.booking-portal .booking-primary{min-height:52px}.booking-portal .booking-continue{min-height:64px}.booking-portal :is(h1, h2, h3, input, textarea, select, [role='alert']){scroll-margin-block-start:calc(var(--account-header-height, var(--header)) + 20px);scroll-margin-block-end:calc(var(--account-booking-footer-height) + var(--account-nav-height, 0px) + 16px)}.booking-portal__footer{position:fixed;z-index:35;inset-inline:0;bottom:var(--account-nav-height, 0px);border-top:1px solid var(--line);padding:12px var(--account-gutter, 20px);background:var(--paper)}.booking-portal__footer .booking-actions{width:min(620px, 100%);margin:0 auto;gap:8px}@supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))){.booking-portal__footer{background:color-mix(in srgb, var(--paper) 90%, transparent);backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25)}}@media (min-width: 768px){.booking-portal__footer{padding:16px var(--account-gutter, 24px)}}@media (max-width: 359px){.booking-portal__footer{padding-inline:var(--account-gutter, 16px)}}}@layer nordic-base, nordic-authored, nordic-custom;@layer nordic-base{.booking-widget .booking-offer,.booking-widget .booking-appointment{width:100%;min-width:0;padding:20px;border:1px solid var(--line);border-radius:var(--button-radius);background:#fff;color:var(--ink);text-align:left;font:400 16px/1.5 var(--font-body);overflow-wrap:anywhere}.booking-widget .booking-offer{display:grid;grid-template-columns:minmax(0, 1fr);align-items:start;gap:16px;cursor:pointer;transition:border-color 160ms ease, transform 120ms var(--booking-ease)}.booking-offer__copy{display:grid;gap:0;min-width:0}.booking-widget .booking-offer__title,.booking-widget .booking-appointment__title{margin:0;font:600 18px/25px var(--font-body);color:var(--ink);overflow-wrap:anywhere}.booking-widget .booking-appointment__title{font-family:var(--font-body)}.booking-widget .booking-offer__title{font-weight:500;hyphens:auto}.booking-widget .booking-dialog[data-booking-keyboard] :is(button,a[href],summary,input[type=checkbox]):focus{outline:2px solid var(--primary);outline-offset:3px}.booking-offer__description{margin-top:6px;font:400 16px/24px var(--font-body);white-space:pre-line;color:var(--ink)}.booking-offer__duration,.booking-appointment__duration{display:flex;align-items:center;gap:8px;color:var(--ink)}.booking-offer__duration{margin-top:12px;font:400 16px/24px var(--font-body)}.booking-offer svg,.booking-appointment svg{flex:none}.booking-offer > svg{align-self:center;margin:0;color:var(--primary)}.booking-widget .booking-offer--inactive{grid-template-columns:minmax(0, 1fr);cursor:default}.customer-booking__offer{margin:0}.customer-booking__offers .customer-booking__offer + .customer-booking__offer{margin-top:12px}.customer-booking__secondary > .customer-booking__secondary-title{margin:0 0 16px;font:400 21px/1.35 var(--font-heading)}.customer-booking__offer .customer-booking__history{margin-top:12px;font-size:16px}.customer-booking__offer-status{margin-top:12px;display:grid;gap:8px}.customer-booking__offer-status .booking-note{text-align:left}.customer-booking__offer-status .booking-secondary{width:auto;justify-self:start;margin:0}.booking-widget .booking-appointment{margin:0 0 24px}.booking-appointment__duration{margin-top:8px}.booking-appointment__rows{display:grid;gap:16px;margin-top:20px}.booking-appointment__rows:empty{display:none}.booking-appointment__row{display:grid;grid-template-columns:20px minmax(0, 1fr) auto;align-items:center;column-gap:12px}.booking-appointment__row > svg{color:var(--ink)}.booking-appointment__value{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.booking-widget .booking-appointment__edit{align-self:center;min-height:44px;padding:0;margin-block:-9px;white-space:nowrap}.booking-appointment--compact .booking-appointment__rows{gap:12px;margin-top:16px}.booking-receipt > .booking-appointment{margin:0}@media (hover: hover) and (pointer: fine){.booking-widget button.booking-offer:hover{border-color:var(--primary)}}@media (max-width: 359px){.booking-widget .booking-offer,.booking-widget .booking-appointment{padding:16px}.booking-appointment__row{column-gap:8px}}@media (prefers-reduced-motion: reduce){.booking-widget .booking-offer{transition:none}}@media (forced-colors: active){.booking-widget .booking-dialog[data-booking-keyboard] :is(button,a[href],summary,input[type=checkbox]):focus{outline-color:Highlight}.booking-widget .booking-offer,.booking-widget .booking-appointment{background:Canvas;color:CanvasText;border-color:CanvasText}}.booking-terms{margin-block:1.25rem}.booking-terms h4{font-size:0.875rem;font-weight:600;margin-block:0 0.5rem}.booking-terms__text{white-space:pre-wrap;overflow-wrap:anywhere}.booking-confirmation-actions{display:grid;gap:12px;width:100%;min-width:0}.booking-confirmation-actions .booking-actions{margin-top:0}.booking-terms-acceptance__control{display:flex;align-items:flex-start;min-width:0;text-align:left}.booking-terms-acceptance__box{display:grid;flex:none;place-items:center;width:44px;height:44px;margin:-10px -2px -10px -12px}.booking-terms-acceptance__box input{width:20px;height:20px;margin:0;accent-color:var(--primary);cursor:inherit}.booking-terms-acceptance__box input:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.booking-terms-acceptance__control > .booking-note{flex:1;min-width:0;margin:0;text-align:left}.booking-terms-acceptance__control > .booking-note label{display:inline-block;padding-block:10px;margin-block:-10px}.booking-terms-acceptance label{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.booking-terms-acceptance__control:has(input:disabled) label{cursor:default}.booking-widget .booking-terms-link{position:relative;display:inline;padding:0;border:0;background:none;color:var(--booking-muted, var(--primary));font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.booking-widget .booking-terms-link::after{content:'';position:absolute;inset:-10px 0}.booking-widget .booking-terms-link:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:2px}.account-waitlist-offers .booking-terms-acceptance{margin-top:8px}.account-waitlist-offer .booking-terms-acceptance + .account-appointment-actions{margin-top:0}.offer-access .booking-terms-acceptance + .account-appointment-actions{margin-top:-8px}.booking-terms-dialog{box-sizing:border-box;width:min(600px, calc(100% - 32px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid var(--line);border-radius:var(--button-radius);background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--font-body);box-shadow:0 20px 80px rgb(0 0 0 / 20%)}.booking-terms-dialog[open]{display:flex;flex-direction:column}.booking-terms-dialog::backdrop{background:rgb(0 0 0 / 40%)}.booking-terms-dialog__header{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.booking-terms-dialog__header h4{margin:0;font:500 22px/1.3 var(--font-heading)}.booking-terms-dialog__header h4:focus{outline:none}.booking-terms-dialog__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px}.booking-terms-dialog__body:focus-visible{outline:2px solid var(--primary);outline-offset:-4px}.booking-terms-dialog__body p{margin:0;text-align:left}@media (max-width: 480px){.booking-terms-dialog{max-height:calc(100dvh - 32px)}.booking-terms-dialog__header,.booking-terms-dialog__body{padding:16px}}}@layer nordic-base, nordic-authored, nordic-custom;@layer nordic-base{.booking-waitlist{display:grid;gap:4px;margin-block-start:24px;min-width:0}.booking-waitlist__option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:var(--button-radius);background:#fff;min-width:0}.booking-waitlist__copy{min-width:0}.booking-waitlist__copy label{display:grid;gap:4px;cursor:pointer;font:400 14px/1.45 var(--font-body)}.booking-waitlist__copy strong{font-size:16px;font-weight:600}.booking-waitlist__copy span{color:var(--ink)}.booking-waitlist > nsb-info-popover{min-width:0;max-width:100%}.booking-waitlist .booking-cpr-help{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;width:auto;max-width:100%;height:auto;padding:8px 0;border-radius:0;font:400 16px/1.5 var(--font-body);text-align:left}.booking-preference-switch{position:relative;display:inline-flex;align-items:center;width:50px;min-width:50px;height:44px;cursor:pointer;flex:none}.booking-waitlist .booking-preference-switch input[type=checkbox]{position:absolute;inset:0;opacity:0;width:100%;height:100%;min-height:44px;margin:0;cursor:pointer}.booking-preference-switch__track{width:50px;height:23px;border-radius:4em;background:var(--sand);pointer-events:none}.booking-preference-switch__track>span{display:block;width:19px;height:19px;border-radius:50%;margin:2px;background:var(--paper);transform:translateX(0);transition:transform 160ms ease}.booking-preference-switch input:checked+.booking-preference-switch__track{background:var(--primary)}.booking-preference-switch input:checked+.booking-preference-switch__track>span{transform:translateX(27px)}.booking-preference-switch input:focus-visible+.booking-preference-switch__track{outline:2px solid var(--ink);outline-offset:4px}.booking-preference-switch:has(input:disabled){opacity:.55;cursor:default}.account-profile-waitlist{margin-block:24px}.waitlist-editor{display:grid;gap:20px;padding:20px 0;min-width:0}.waitlist-editor fieldset{border:0;padding:0;margin:0;min-width:0}.waitlist-editor legend{font:600 16px/1.5 var(--font-body);padding:0;margin-block-end:10px}.waitlist-editor label{display:grid;gap:6px;font:400 14px/1.5 var(--font-body);min-width:0}.waitlist-editor input:not([type=radio]),.waitlist-editor select,.waitlist-enroll input:not([type=radio]){min-height:46px;width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:var(--button-radius);background:white;color:var(--ink);font:400 16px/1.4 var(--font-body)}.waitlist-editor :is(input,select,button):focus-visible,.waitlist-enroll input:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.waitlist-choice-row{display:grid;gap:10px}.waitlist-choice-row label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.waitlist-choice-row input{width:20px;height:20px;accent-color:var(--primary);flex:none}.waitlist-windows{display:grid;gap:12px;margin-block:12px}.waitlist-editor .waitlist-window{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--button-radius);background:#fcfaf7}.waitlist-remove{grid-column:1/-1;justify-self:start}.waitlist-date-range,.waitlist-advanced fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.waitlist-advanced summary{cursor:pointer;min-height:44px;display:list-item;align-content:center}.waitlist-advanced fieldset{margin-block-start:12px}.waitlist-summary{margin:0;padding:12px 16px;background:#f3eee8;border-radius:var(--button-radius);font:400 14px/1.6 var(--font-body)}.waitlist-enroll{margin-block:24px;min-width:0}.waitlist-enroll>summary{cursor:pointer;min-height:44px;color:var(--booking-muted, var(--primary));font:500 16px/1.5 var(--font-body);align-content:center}.waitlist-enroll form,.waitlist-contact{display:grid;gap:14px}.waitlist-contact label{display:grid;gap:6px}.waitlist-requests{display:grid;gap:20px;margin-block:24px}.waitlist-request{padding:22px;background:white;border:1px solid var(--line);border-radius:var(--button-radius);display:grid;gap:12px}.waitlist-request h2,.waitlist-request h3,.waitlist-request p{margin:0}.waitlist-request-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.waitlist-request-status{font:400 14px/1.5 var(--font-body);white-space:nowrap}.waitlist-request-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}@media(max-width:420px){.waitlist-date-range,.waitlist-advanced fieldset{grid-template-columns:minmax(0,1fr)}.waitlist-request{padding:16px}}@media(prefers-reduced-motion:reduce){.booking-preference-switch__track>span{transition:none}}@media(forced-colors:active){.booking-preference-switch__track{outline:1px solid ButtonText}.booking-preference-switch__track>span{background:ButtonText}}.waitlist-session{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-block:12px 20px;font:400 14px/1.5 var(--font-body)}.waitlist-requirements{margin-block:1rem}.waitlist-requirements label{display:block;line-height:1.5;margin-bottom:.5rem}.waitlist-requirements textarea{display:block;box-sizing:border-box;width:100%;min-height:6rem;resize:vertical;border:1px solid var(--booking-border,#d8d2cc);border-radius:10px;background:#fff;padding:.8rem 1rem;font:inherit;color:inherit}.waitlist-enroll-trigger{text-align:left;line-height:1.5}.waitlist-popup{width:100%;max-width:620px;margin-inline:auto}.waitlist-popup .booking-field{margin-bottom:1rem}.waitlist-popup .booking-primary{width:100%}.waitlist-summary{white-space:pre-wrap;overflow-wrap:anywhere}.booking-waitlist__option > .waitlist-requirements{grid-column:1/-1;min-width:0;margin:0}.booking-waitlist__option .waitlist-requirements label{font:600 14px/1.5 var(--font-body)}.waitlist-selection{margin-block:0 24px}.waitlist-popup--inline{margin:0;max-width:none}.booking-widget.waitlist-popup--inline > h3{margin:0 0 20px;font:400 22px/1.3 var(--font-heading)}.waitlist-success{display:grid;gap:20px}.waitlist-success p{margin:0}.waitlist-success__intro{display:flex;gap:12px;align-items:center}.waitlist-success__intro > svg{flex:none}.waitlist-success .waitlist-selection{margin:0}.waitlist-success .booking-primary{text-align:center}.waitlist-enroll--inline{margin:0}.waitlist-enroll-back{margin:0 0 16px}.waitlist-success__wishes{display:grid;gap:4px}.waitlist-success__wishes p{white-space:pre-wrap;overflow-wrap:anywhere}.waitlist-popup .booking-field > label,.waitlist-requirements > label{font-weight:600}.waitlist-enroll .waitlist-enroll-trigger,.waitlist-enroll .waitlist-enroll-trigger:hover{display:block;text-align:left;text-decoration:none}.waitlist-enroll-trigger__action{text-decoration:underline;text-underline-offset:3px}.waitlist-resend{font:400 14px/1.5 var(--font-body)}.waitlist-resend .waitlist-resend__link{display:inline;width:auto;min-height:0;padding:0;font:inherit;text-decoration:underline;text-underline-offset:3px}.waitlist-verification__edit{justify-self:center;text-align:center}.waitlist-request-actions--stack{display:flex;flex-direction:column;align-items:stretch}.waitlist-request-actions--stack > .account-button{width:100%;text-align:center}.waitlist-request-actions--stack > .waitlist-request-secondary{align-self:center;text-align:center;text-decoration:underline;text-underline-offset:3px}}