:where([data-booking-template-root="default"]) .booking-shell { display: flex; min-height: 100vh; flex-direction: column; background: var(--surface-page); color: var(--text-body); font-family: var(--font-sans); font-size: var(--type-body-size, 15px); font-weight: var(--type-body-weight, 400); line-height: var(--type-body-line-height, 1.6); }
:where([data-booking-template-root="default"]) .booking-shell :where(h1) { font-size: var(--type-h1-size, clamp(32px, 4vw, 42px)); font-weight: var(--type-h1-weight, 900); line-height: var(--type-h1-line-height, 1.1); }
:where([data-booking-template-root="default"]) .booking-shell :where(h2) { font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); line-height: var(--type-h2-line-height, 1.25); }
:where([data-booking-template-root="default"]) .booking-shell :where(h3) { font-size: var(--type-h3-size, 19px); font-weight: var(--type-h3-weight, 800); line-height: var(--type-h3-line-height, 1.3); }
:where([data-booking-template-root="default"]) .booking-shell :where(h4) { font-size: var(--type-h4-size, 16px); font-weight: var(--type-h4-weight, 800); line-height: var(--type-h4-line-height, 1.35); }
:where([data-booking-template-root="default"]) .booking-shell :where(h5) { font-size: var(--type-h5-size, 14px); font-weight: var(--type-h5-weight, 800); line-height: var(--type-h5-line-height, 1.4); }
:where([data-booking-template-root="default"]) .booking-shell :where(a) { font-size: var(--type-link-size, 14px); font-weight: var(--type-link-weight, 800); }
:where([data-booking-template-root="default"]) .booking-shell :where(button) { font-size: var(--type-button-size, 14px); font-weight: var(--type-button-weight, 800); }
:where([data-booking-template-root="default"]) .booking-header { position: sticky; top: 0; z-index: 20; min-height: var(--booking-header-height); border-bottom: 1px solid var(--border-default); background: transparent; transition: background-color var(--transition-header), border-color var(--transition-header), box-shadow var(--transition-header); }
:where([data-booking-template-root="default"]) .booking-header--scrolled { border-bottom-color: var(--border-default); background: var(--surface-raised); box-shadow: var(--shadow-card); }
:where([data-booking-template-root="default"]) .booking-header-inner { display: flex; min-height: inherit; width: min(100% - (var(--page-pad-mobile) * 2), var(--content-max)); align-items: center; justify-content: space-between; gap: var(--booking-space-md); margin: 0 auto; }
:where([data-booking-template-root="default"]) .booking-brand { position: relative; z-index: 1; display: block; width: min(var(--booking-brand-logo-width, 148px), 42vw); min-width: 0; height: var(--booking-brand-logo-height, 48px); margin: 0; color: var(--text-strong); text-decoration: none; }:where([data-booking-template-root="default"]) .booking-brand[href] { cursor: pointer; }:where([data-booking-template-root="default"]) .booking-brand--logo { overflow: hidden; }:where([data-booking-template-root="default"]) .booking-brand--text { display: inline-flex; width: fit-content; max-width: min(220px, 42vw); align-items: center; font-size: 15px; font-weight: 900; overflow-wrap: anywhere; }:where([data-booking-template-root="default"]) .booking-brand__name { min-width: 0; }:where([data-booking-template-root="default"]) .booking-brand__logo-slot { position: relative; display: block; width: 100%; height: 100%; }:where([data-booking-template-root="default"]) .booking-brand__logo { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: left center; }
:where([data-booking-template-root="default"]) .booking-header-actions { display: flex; align-items: center; gap: var(--booking-space-md); }:where([data-booking-template-root="default"]) .booking-menu { position: relative; }:where([data-booking-template-root="default"]) .booking-menu > summary { display: flex; align-items: center; gap: 5px; border-radius: 8px; background: var(--surface-positive); color: var(--action-primary); cursor: pointer; font-size: 13px; font-weight: 800; list-style: none; padding: 8px 10px 8px 12px; }:where([data-booking-template-root="default"]) .booking-menu summary::-webkit-details-marker, :where([data-booking-template-root="default"]) .booking-menu__branch summary::-webkit-details-marker { display: none; }:where([data-booking-template-root="default"]) .booking-menu > summary svg, :where([data-booking-template-root="default"]) .booking-menu__branch summary svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform var(--transition-fast); }:where([data-booking-template-root="default"]) .booking-menu[open] > summary svg, :where([data-booking-template-root="default"]) .booking-menu__branch[open] > summary svg { transform: rotate(180deg); }:where([data-booking-template-root="default"]) .booking-menu__panel { position: absolute; top: calc(100% + 10px); right: 0; z-index: 30; display: grid; width: min(360px, calc(100vw - 24px)); max-height: min(560px, calc(100dvh - 96px)); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; border: 1px solid color-mix(in srgb, var(--border-default) 88%, var(--border-muted)); border-radius: 14px; background: color-mix(in srgb, var(--surface-raised) 96%, var(--surface-subtle)); box-shadow: 0 20px 42px var(--shadow-menu); padding: 8px; scrollbar-width: thin; }:where([data-booking-template-root="default"]) .booking-menu__panel button { border: 0; border-radius: 8px; background: transparent; color: var(--text-body); font: inherit; font-size: 13px; font-weight: 700; padding: 9px 10px; text-align: left; }:where([data-booking-template-root="default"]) .booking-menu__panel button:hover { background: var(--surface-page); cursor: pointer; }:where([data-booking-template-root="default"]) .booking-menu__skeleton { min-height: 34px; margin: 3px 4px; }:where([data-booking-template-root="default"]) .booking-menu__branch { display: grid; margin: 0; border: 0; }:where([data-booking-template-root="default"]) .booking-menu__branch > summary, :where([data-booking-template-root="default"]) .booking-menu__leaf { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 38px; border-radius: 9px; color: var(--text-strong); cursor: pointer; font-size: 13px; font-weight: 700; list-style: none; padding: 0 8px; }:where([data-booking-template-root="default"]) .booking-menu__branch > summary:hover, :where([data-booking-template-root="default"]) .booking-menu__leaf:hover { background: color-mix(in srgb, var(--surface-page) 80%, var(--border-default)); }:where([data-booking-template-root="default"]) .booking-menu__branch > summary:focus-visible, :where([data-booking-template-root="default"]) .booking-menu__leaf:focus-visible, :where([data-booking-template-root="default"]) .booking-menu__panel button:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }:where([data-booking-template-root="default"]) .booking-menu__branch-label { min-width: 0; }:where([data-booking-template-root="default"]) .booking-menu__branch-label a, :where([data-booking-template-root="default"]) .booking-menu__leaf a { display: block; overflow: hidden; color: inherit; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }:where([data-booking-template-root="default"]) .booking-menu__children { display: grid; gap: 2px; margin: 1px 0 4px 16px; border-left: 1px solid color-mix(in srgb, var(--border-default) 78%, var(--border-muted)); padding-left: 6px; }:where([data-booking-template-root="default"]) .booking-menu__branch[data-menu-level="0"] > summary { background: color-mix(in srgb, var(--surface-page) 70%, var(--surface-positive)); font-weight: 800; }:where([data-booking-template-root="default"]) .booking-menu__branch[data-menu-level="1"] > summary, :where([data-booking-template-root="default"]) .booking-menu__leaf[data-menu-level="1"] { font-size: 12px; }:where([data-booking-template-root="default"]) .booking-menu__branch[data-menu-level="2"] > summary, :where([data-booking-template-root="default"]) .booking-menu__leaf[data-menu-level="2"] { color: var(--text-body); font-size: 12px; font-weight: 600; }:where([data-booking-template-root="default"]) .booking-menu__branch--selected > summary, :where([data-booking-template-root="default"]) .booking-menu__leaf--selected { background: var(--action-primary) !important; color: var(--text-on-brand) !important; }:where([data-booking-template-root="default"]) .booking-header-cart { position: relative; display: grid; width: 28px; height: 28px; place-items: center; border: 0; background: transparent; color: var(--text-muted); padding: 4px; }:where([data-booking-template-root="default"]) .booking-header-cart svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }:where([data-booking-template-root="default"]) .booking-header-cart-badge { position: absolute; top: -5px; right: -7px; display: grid; min-width: 16px; height: 16px; place-items: center; border: 2px solid var(--surface-raised); border-radius: 999px; background: var(--action-primary); color: var(--text-on-brand); font-size: 10px; font-weight: 800; line-height: 1; padding: 0 3px; }:where([data-booking-template-root="default"]) .booking-header-divider { width: 1px; height: 25px; background: var(--border-default); }:where([data-booking-template-root="default"]) .booking-header-user { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--surface-positive); color: var(--action-primary); font-size: 15px; }
:where([data-booking-template-root="default"]) .booking-header-auth { display: flex; align-items: center; gap: 10px; }:where([data-booking-template-root="default"]) .booking-header-auth a, :where([data-booking-template-root="default"]) .booking-header-auth button { border: 0; background: transparent; color: var(--text-body); cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; padding: 0; text-decoration: none; }:where([data-booking-template-root="default"]) .booking-header-auth button:disabled { cursor: wait; opacity: .7; }:where([data-booking-template-root="default"]) .booking-header-user-link { display: grid; gap: 4px; }:where([data-booking-template-root="default"]) .booking-header-user-link > a { display: flex; align-items: center; gap: 8px; color: var(--text-body); font-size: 13px; font-weight: 800; text-decoration: none; }:where([data-booking-template-root="default"]) .booking-header-user-link > a:hover { color: var(--action-primary); }:where([data-booking-template-root="default"]) .booking-header-user-link > a:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; border-radius: var(--radius-control); }:where([data-booking-template-root="default"]) .booking-header-user-link p { margin: 0; color: var(--state-danger); font-size: 11px; }
:where([data-booking-template-root="default"]) .booking-header-auth--loading { min-width: 42px; justify-content: flex-end; }
:where([data-booking-template-root="default"]) .booking-header-auth__skeleton { display: block; width: 34px; height: 14px; border-radius: 999px; }
:where([data-booking-template-root="default"]) .booking-page { flex: 1; padding: 0 0 64px; }:where([data-booking-template-root="default"]) .booking-footer { display: grid; width: min(100% - (var(--page-pad-mobile) * 2), var(--content-max)); gap: 10px; margin: 0 auto; border-top: 1px solid var(--border-default); padding: 18px 0 14px; }:where([data-booking-template-root="default"]) .booking-footer__cms { min-width: 0; overflow-wrap: anywhere; color: var(--brand-anchor-purple); font-size: 14px; text-align: center; }:where([data-booking-template-root="default"]) .booking-footer__cms :where(a) { display: inline-flex; align-items: center; color: inherit; text-underline-offset: 3px; vertical-align: middle; }:where([data-booking-template-root="default"]) .booking-footer__cms :where(a + a) { margin-inline-start: 12px; }:where([data-booking-template-root="default"]) .booking-footer__cms :where(a:hover) { text-decoration: underline; }:where([data-booking-template-root="default"]) .booking-footer__cms :where(a:focus-visible) { outline: 2px solid var(--focus-ring); outline-offset: 3px; border-radius: var(--radius-control); }:where([data-booking-template-root="default"]) .booking-footer__cms :where(p) { margin: 0; }:where([data-booking-template-root="default"]) .booking-footer__skeleton { min-height: 40px; border-radius: var(--radius-control); }:where([data-booking-template-root="default"]) .booking-footer__legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; border-top: 1px solid var(--border-default); padding-top: 10px; color: var(--brand-anchor-purple); font-size: 14px; text-align: center; }:where([data-booking-template-root="default"]) .booking-footer__legal > span:first-child { font-size: var(--type-label-size); }:where([data-booking-template-root="default"]) .booking-footer strong { color: var(--brand-anchor-purple); }
:where([data-booking-template-root="default"]) .booking-footer__powered-by { color: var(--brand-anchor-purple); font-size: var(--type-label-size); }:where([data-booking-template-root="default"]) .booking-footer__powered-by-link { color: inherit; text-underline-offset: 3px; }:where([data-booking-template-root="default"]) .booking-footer__powered-by-link:hover { color: var(--action-primary-hover); text-decoration: underline; }:where([data-booking-template-root="default"]) .booking-footer__powered-by-link:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; border-radius: var(--radius-control); }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-footer__legal { align-items: center; flex-direction: column; gap: 4px; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-footer__cms :where(a + a) { margin-inline-start: 8px; } }
:where([data-booking-template-root="default"]) .booking-home { width: min(calc(100% - (var(--page-pad-mobile) * 2)), var(--content-max)); margin: 0 auto; padding: 32px 0; }
:where([data-booking-template-root="default"]) .booking-home__hero { position: relative; display: grid; min-height: 280px; aspect-ratio: 4 / 3; align-items: end; overflow: hidden; border-radius: var(--booking-card-radius); background: var(--booking-hero-image) center / cover no-repeat, var(--surface-hero); color: var(--text-on-hero); padding: 24px; }
:where([data-booking-template-root="default"]) .booking-home__hero::before { position: absolute; inset: 0; background: var(--booking-hero-overlay); content: ''; }
:where([data-booking-template-root="default"]) .booking-home__hero-content { position: relative; z-index: 1; max-width: 560px; }
:where([data-booking-template-root="default"]) .booking-home__hero p { margin: 0 0 12px; color: var(--action-primary); font-size: 13px; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-home__hero h1 { margin: 0; color: var(--text-on-hero); font-size: var(--type-h1-size, clamp(32px, 4vw, 42px)); font-weight: var(--type-h1-weight, 900); line-height: var(--type-h1-line-height, 1.1); }
:where([data-booking-template-root="default"]) .booking-home__hero-copy { display: block; margin-top: 14px !important; color: var(--text-on-hero-muted) !important; line-height: 1.6; }
:where([data-booking-template-root="default"]) .booking-home__cards { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }
:where([data-booking-template-root="default"]) .booking-home__cards article { min-width: 0; border: 1px solid var(--border-default); border-radius: var(--radius-panel); background: var(--surface-field); padding: 16px; }
:where([data-booking-template-root="default"]) .booking-home__card-index { display: block; margin-bottom: 12px; color: var(--action-primary); font-family: var(--font-mono); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
:where([data-booking-template-root="default"]) .booking-home__cards h2 { margin: 0; color: var(--text-strong); font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); }
:where([data-booking-template-root="default"]) .booking-home__cards p { margin: 10px 0 0; color: var(--text-muted); font-size: 14px; line-height: 1.55; }
:where([data-booking-template-root="default"]) .booking-home__cta { width: fit-content; min-height: 44px; margin-top: 20px; border: 0; border-radius: var(--radius-control); background: var(--action-primary); color: var(--text-on-brand); cursor: pointer; font: inherit; font-size: var(--type-button-size, 14px); font-weight: var(--type-button-weight, 800); padding: 0 18px; transition: background var(--transition-fast), transform var(--transition-fast); }
:where([data-booking-template-root="default"]) .booking-home__cta:hover:not(:disabled) { background: var(--action-primary-hover); }
:where([data-booking-template-root="default"]) .booking-home__cta:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-home__cta:active:not(:disabled) { transform: translateY(1px); }
:where([data-booking-template-root="default"]) .booking-home__cta:disabled { cursor: wait; opacity: .6; }
:where([data-booking-template-root="default"]) .booking-skeleton { overflow: hidden; background: linear-gradient(90deg, var(--surface-skeleton-start) 25%, var(--surface-subtle) 37%, var(--surface-skeleton-start) 63%); background-size: 400% 100%; animation: default-booking-shimmer 1.3s ease infinite; }:where([data-booking-template-root="default"]) .booking-skeleton-hero { min-height: var(--booking-hero-height); }:where([data-booking-template-root="default"]) .booking-skeleton-fact { min-height: 68px; border-radius: 16px; }:where([data-booking-template-root="default"]) .booking-skeleton-panel { min-height: 720px; }:where([data-booking-template-root="default"]) .booking-skeleton-summary { min-height: 356px; }:where([data-booking-template-root="default"]) .booking-loading-skeleton .booking-card { border-color: transparent; box-shadow: none; }@keyframes default-booking-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
:where([data-booking-template-root="default"]) .booking-hero { position: relative; min-height: var(--booking-hero-height); overflow: hidden; background: var(--booking-hero-image) center / cover no-repeat, var(--surface-hero); color: var(--text-on-hero); }
:where([data-booking-template-root="default"]) .booking-hero::before { position: absolute; inset: 0; background: var(--booking-hero-overlay); content: ''; }
:where([data-booking-template-root="default"]) .booking-hero-inner { position: relative; z-index: 1; display: flex; min-height: inherit; width: min(100% - (var(--page-pad-mobile) * 2), var(--content-max)); flex-direction: column; justify-content: center; margin: 0 auto; }
:where([data-booking-template-root="default"]) .booking-eyebrow { width: fit-content; margin: 0 0 12px; border-radius: 999px; background: var(--overlay-on-hero); color: var(--text-on-hero); font-size: 12px; font-weight: 800; padding: 6px 12px; }
:where([data-booking-template-root="default"]) .booking-eyebrow::before { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--action-primary); content: ''; vertical-align: 1px; }
:where([data-booking-template-root="default"]) .booking-hero h1 { max-width: 760px; margin: 0; color: var(--text-on-hero); font-size: clamp(32px, 4vw, 48px); font-weight: 900; letter-spacing: -.055em; line-height: 1.08; }
:where([data-booking-template-root="default"]) .booking-hero h1 em { color: var(--action-primary); font-style: normal; }
:where([data-booking-template-root="default"]) .booking-hero-copy { max-width: 560px; margin: 10px 0 0; color: var(--text-on-hero-muted); font-size: 15px; line-height: 1.55; }
:where([data-booking-template-root="default"]) .booking-content-wrap { width: min(100% - (var(--page-pad-mobile) * 2), var(--content-max)); margin: 0 auto; padding-top: 40px; }
:where([data-booking-template-root="default"]) .booking-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
:where([data-booking-template-root="default"]) .booking-fact { display: flex; min-height: 68px; align-items: center; gap: 12px; border: 1px solid var(--border-default); border-radius: 16px; background: var(--surface-field); box-shadow: 0 2px 4px var(--shadow-card); padding: 12px 16px; }
:where([data-booking-template-root="default"]) .booking-fact::before { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--surface-positive); color: var(--action-primary); font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-fact:nth-child(1)::before { content: '⌘'; }:where([data-booking-template-root="default"]) .booking-fact:nth-child(2)::before { content: '⌖'; }:where([data-booking-template-root="default"]) .booking-fact:nth-child(3)::before { content: '＄'; }
:where([data-booking-template-root="default"]) .booking-fact span, :where([data-booking-template-root="default"]) .booking-fact strong { display: block; }:where([data-booking-template-root="default"]) .booking-fact span { color: var(--text-muted); font-size: 12px; font-weight: 700; }:where([data-booking-template-root="default"]) .booking-fact strong { color: var(--text-strong); font-size: 14px; font-weight: 800; }:where([data-booking-template-root="default"]) .booking-fact-select { display: grid; align-content: center; gap: 3px; }:where([data-booking-template-root="default"]) .booking-fact-select select { min-width: 0; border: 0; background: transparent; color: var(--text-strong); cursor: pointer; font: inherit; font-size: 14px; font-weight: 800; outline: 0; }
:where([data-booking-template-root="default"]) .booking-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--booking-summary-width); gap: 24px; align-items: start; }
:where([data-booking-template-root="default"]) .booking-card { border: 1px solid var(--border-default); border-radius: var(--booking-card-radius); background: var(--surface-field); box-shadow: 0 2px 5px var(--shadow-card); }
:where([data-booking-template-root="default"]) .booking-primary { min-width: 0; }:where([data-booking-template-root="default"]) .booking-availability { overflow: hidden; }
:where([data-booking-template-root="default"]) .booking-picker { display: block; }:where([data-booking-template-root="default"]) .booking-picker > section, :where([data-booking-template-root="default"]) .booking-picker > fieldset { margin: 0; padding: 28px; border: 0; }:where([data-booking-template-root="default"]) .booking-picker > section + section, :where([data-booking-template-root="default"]) .booking-picker > fieldset + section, :where([data-booking-template-root="default"]) .booking-picker > section + fieldset { border-top: 1px solid var(--surface-disabled); }
:where([data-booking-template-root="default"]) .booking-period-picker { display: grid; gap: 0; }:where([data-booking-template-root="default"]) .booking-period-picker > section { margin: 0; padding: var(--booking-card-pad, 24px); border: 0; }:where([data-booking-template-root="default"]) .booking-period-picker > section + section { border-top: var(--booking-border-width, 1px) solid var(--border-default); }:where([data-booking-template-root="default"]) .booking-period-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--booking-space-sm, 12px); }:where([data-booking-template-root="default"]) .booking-period-plan-option { min-height: var(--booking-control-height, 44px); }:where([data-booking-template-root="default"]) .booking-period-plan-skeleton { min-height: var(--booking-control-height, 44px); border-radius: var(--radius-control); }:where([data-booking-template-root="default"]) .booking-period-picker .booking-calendar__arrow:disabled { cursor: not-allowed; opacity: .5; }
:where([data-booking-template-root="default"]) .booking-period-flow { overflow: hidden; }:where([data-booking-template-root="default"]) .booking-period-flow__grid { display: grid; grid-template-columns: minmax(0, 1fr) var(--booking-summary-width); gap: var(--booking-card-gap, 24px); align-items: start; }:where([data-booking-template-root="default"]) .booking-period-flow__grid > aside { position: sticky; top: calc(var(--booking-header-height) + var(--booking-space-md, 16px)); }:where([data-booking-template-root="default"]) .booking-period-flow .booking-summary { position: static; }:where([data-booking-template-root="default"]) .booking-period-flow .booking-skeleton-panel { min-height: var(--booking-period-skeleton-height, 420px); margin: var(--booking-card-pad, 24px); border-radius: var(--booking-card-radius); }
:where([data-booking-template-root="default"]) .booking-section-heading, :where([data-booking-template-root="default"]) .booking-picker-section__title { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--text-strong); font-size: 18px; font-weight: 800; }:where([data-booking-template-root="default"]) .booking-section-heading > span, :where([data-booking-template-root="default"]) .booking-picker-section__title > span { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; background: var(--surface-ink); color: var(--text-inverse); font-size: 12px; }:where([data-booking-template-root="default"]) .booking-picker-section__title h3 { margin: 0; font: inherit; }
:where([data-booking-template-root="default"]) .booking-resource-grid, :where([data-booking-template-root="default"]) .booking-timeslot-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
:where([data-booking-template-root="default"]) .booking-limitation-status { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px; margin: 0 0 16px; border: 1px solid color-mix(in srgb, var(--state-info) 24%, var(--border-default)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--state-info) 6%, var(--surface-field)); color: var(--text-body); font-size: var(--type-body-size, 15px); font-weight: 700; line-height: 1.45; padding: 11px 13px; }
:where([data-booking-template-root="default"]) .booking-limitation-status__icon { display: grid; width: 21px; height: 21px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--state-info) 14%, var(--surface-field)); color: var(--state-info); font-size: 12px; font-weight: 900; line-height: 1; }
:where([data-booking-template-root="default"]) .booking-limitation-status--blocked { border-color: color-mix(in srgb, var(--state-warning) 34%, var(--border-default)); background: color-mix(in srgb, var(--state-warning) 8%, var(--surface-field)); color: var(--text-strong); }
:where([data-booking-template-root="default"]) .booking-limitation-status--blocked .booking-limitation-status__icon { background: color-mix(in srgb, var(--state-warning) 18%, var(--surface-field)); color: var(--state-warning); }
:where([data-booking-template-root="default"]) .booking-limitation-status[aria-busy='true'] .booking-limitation-status__icon { animation: default-booking-limitation-pulse 1.4s ease-in-out infinite; }
@keyframes default-booking-limitation-pulse { 0%, 100% { opacity: .55; transform: scale(.92); } 50% { opacity: 1; transform: scale(1); } }
:where([data-booking-template-root="default"]) .booking-resource-grid { max-height: clamp(220px, 32vh, 420px); overflow-x: hidden; overflow-y: auto; align-content: start; overscroll-behavior: contain; padding-inline-end: 8px; scrollbar-gutter: stable; scrollbar-width: thin; }
:where([data-booking-template-root="default"]) .booking-resource-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; margin-bottom: 12px; }
:where([data-booking-template-root="default"]) .booking-resource-search { display: block; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-resource-search input { width: 100%; min-height: 40px; border: 1px solid var(--border-default); border-radius: var(--radius-control); background: var(--surface-field); color: var(--text-strong); font: inherit; font-size: 13px; padding: 0 12px; }
:where([data-booking-template-root="default"]) .booking-resource-search input:focus-visible { border-color: var(--action-primary); outline: 2px solid var(--focus-ring); outline-offset: 2px; }
:where([data-booking-template-root="default"]) .booking-resource-count { color: var(--text-muted); font-size: 12px; font-weight: 800; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-resource-more { grid-column: 1 / -1; min-height: 38px; border: 1px solid color-mix(in srgb, var(--action-primary) 28%, var(--border-default)); border-radius: var(--radius-control); background: var(--surface-field); color: var(--action-primary); cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; padding: 0 12px; }
:where([data-booking-template-root="default"]) .booking-resource-more:hover { background: var(--surface-accent); }
:where([data-booking-template-root="default"]) .booking-choice-card, :where([data-booking-template-root="default"]) .booking-option { display: flex; min-height: 40px; align-items: center; justify-content: center; border: 1px solid var(--border-muted); border-radius: 10px; background: var(--surface-raised); color: var(--text-body); cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; padding: 8px 10px; transition: border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast); }
:where([data-booking-template-root="default"]) .booking-choice-card input { position: absolute; opacity: 0; pointer-events: none; }:where([data-booking-template-root="default"]) .booking-choice-card:has(input:checked), :where([data-booking-template-root="default"]) .booking-option[aria-pressed='true'] { border: 2px solid var(--action-primary); background: var(--surface-positive); color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-option:disabled { border-color: var(--surface-disabled); background: var(--surface-subtle); color: var(--border-muted); cursor: not-allowed; }:where([data-booking-template-root="default"]) .booking-choice-card:hover, :where([data-booking-template-root="default"]) .booking-option:hover:not(:disabled) { border-color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-calendar { border: 1px solid var(--border-muted); border-radius: 20px; padding: 16px; }:where([data-booking-template-root="default"]) .booking-calendar__nav, :where([data-booking-template-root="default"]) .booking-calendar__toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }:where([data-booking-template-root="default"]) .booking-calendar__nav button, :where([data-booking-template-root="default"]) .booking-calendar__arrow { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--border-muted); border-radius: 50%; background: var(--surface-raised); color: var(--text-placeholder); cursor: pointer; font-size: 20px; }:where([data-booking-template-root="default"]) .booking-calendar__nav strong, :where([data-booking-template-root="default"]) .booking-calendar__toolbar p { margin: 0; color: var(--text-strong); font-size: 14px; font-weight: 800; }:where([data-booking-template-root="default"]) .booking-calendar__grid, :where([data-booking-template-root="default"]) .booking-calendar__weekdays, :where([data-booking-template-root="default"]) .booking-calendar__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; text-align: center; }:where([data-booking-template-root="default"]) .booking-calendar__weekday, :where([data-booking-template-root="default"]) .booking-calendar__weekdays span { color: var(--text-placeholder); font-size: 12px; font-weight: 700; padding: 3px 0; }:where([data-booking-template-root="default"]) .booking-calendar__day { min-height: 46px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: var(--text-body); cursor: pointer; font: inherit; font-size: 14px; font-weight: 800; }:where([data-booking-template-root="default"]) .booking-calendar__day:not(:disabled):hover { border-color: var(--action-primary); }:where([data-booking-template-root="default"]) .booking-calendar__day[aria-pressed='true'], :where([data-booking-template-root="default"]) .booking-calendar__day.is-selected { background: var(--action-primary); color: var(--text-inverse); }:where([data-booking-template-root="default"]) .booking-calendar__day:disabled, :where([data-booking-template-root="default"]) .booking-calendar__day.is-disabled { background: var(--surface-subtle); color: var(--border-muted); cursor: not-allowed; }:where([data-booking-template-root="default"]) .booking-calendar__day--empty, :where([data-booking-template-root="default"]) .booking-calendar__blank { visibility: hidden; }
:where([data-booking-template-root="default"]) .booking-calendar__loading-cell { min-height: 46px; border-radius: 12px; }:where([data-booking-template-root="default"]) .booking-timeslot__loading-cell { min-height: 40px; border-radius: 10px; }
:where([data-booking-template-root="default"]) .booking-summary { position: sticky; top: calc(var(--booking-header-height) + 16px); padding: 22px; }:where([data-booking-template-root="default"]) .booking-summary h2 { margin: 0; color: var(--text-strong); font-size: 20px; font-weight: 900; }:where([data-booking-template-root="default"]) .booking-summary-empty { display: grid; min-height: 128px; place-items: center; margin: 18px 0; border-radius: 16px; background: var(--surface-subtle); color: var(--text-placeholder); font-size: 13px; text-align: center; }:where([data-booking-template-root="default"]) .booking-summary-empty::before { display: block; color: var(--border-muted); content: '▣'; font-size: 34px; }:where([data-booking-template-root="default"]) .booking-summary dl { display: grid; gap: 10px; margin: 18px 0; }:where([data-booking-template-root="default"]) .booking-summary dl div { display: flex; justify-content: space-between; gap: 12px; color: var(--text-muted); font-size: 13px; }:where([data-booking-template-root="default"]) .booking-summary dd { margin: 0; color: var(--text-strong); font-weight: 800; text-align: right; }:where([data-booking-template-root="default"]) .booking-summary-agreement { display: flex; align-items: flex-start; gap: 8px; margin: 10px 0; color: var(--text-muted); font-size: 12px; line-height: 1.5; }:where([data-booking-template-root="default"]) .booking-summary-agreement input { accent-color: var(--action-primary); }:where([data-booking-template-root="default"]) .booking-cart-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; margin-top: 14px; border: 0; border-radius: 14px; background: var(--surface-disabled); color: var(--text-placeholder); font: inherit; font-size: 16px; font-weight: 900; }:where([data-booking-template-root="default"]) .booking-cart-button:enabled { background: var(--action-primary); color: var(--text-inverse); cursor: pointer; }
:where([data-booking-template-root="default"]) .booking-quote-status { display: flex; align-items: center; gap: 10px; margin: 16px 0; color: var(--text-muted); font-size: 13px; font-weight: 700; }:where([data-booking-template-root="default"]) .booking-quote-status .booking-skeleton { width: 76px; height: 18px; }:where([data-booking-template-root="default"]) .booking-quote { display: grid; gap: 12px; margin: 16px 0; padding: 14px 0; border-top: 1px solid var(--border-default); border-bottom: 1px solid var(--border-default); }:where([data-booking-template-root="default"]) .booking-quote-item { display: grid; gap: 7px; }:where([data-booking-template-root="default"]) .booking-quote-item strong { color: var(--text-strong); font-size: 13px; }:where([data-booking-template-root="default"]) .booking-quote-item dl, :where([data-booking-template-root="default"]) .booking-quote-totals { display: grid; gap: 5px; margin: 0; }:where([data-booking-template-root="default"]) .booking-quote-item dl div, :where([data-booking-template-root="default"]) .booking-quote-totals div { display: flex; justify-content: space-between; gap: 12px; color: var(--text-muted); font-size: 12px; }:where([data-booking-template-root="default"]) .booking-quote-item dd, :where([data-booking-template-root="default"]) .booking-quote-totals dd { margin: 0; color: var(--text-strong); font-weight: 800; text-align: right; }:where([data-booking-template-root="default"]) .booking-quote-item__issue { margin: 0; color: var(--state-danger); font-size: 13px; font-weight: 800; line-height: 1.45; text-align: left; }:where([data-booking-template-root="default"]) .booking-quote-totals { padding-top: 10px; border-top: 1px solid var(--border-default); }:where([data-booking-template-root="default"]) .booking-quote-totals div:last-child { color: var(--text-strong); font-size: 14px; font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-addition-fields { display: grid; gap: 16px; margin-bottom: 24px; padding: 22px; }:where([data-booking-template-root="default"]) .booking-addition-field { display: grid; gap: 7px; border: 0; color: var(--text-body); font-size: 13px; }:where([data-booking-template-root="default"]) .booking-addition-field > span, :where([data-booking-template-root="default"]) .booking-addition-field legend { color: var(--text-strong); font-size: 13px; font-weight: 800; }:where([data-booking-template-root="default"]) .booking-addition-field input[type='text'], :where([data-booking-template-root="default"]) .booking-addition-field select { min-height: 42px; width: 100%; border: 1px solid var(--border-default); border-radius: 9px; background: var(--surface-field); color: var(--text-strong); font: inherit; padding: 0 11px; }:where([data-booking-template-root="default"]) .booking-addition-field > label { display: inline-flex; align-items: center; gap: 8px; margin-right: 14px; color: var(--text-body); }:where([data-booking-template-root="default"]) .booking-addition-field input[type='checkbox'], :where([data-booking-template-root="default"]) .booking-addition-field input[type='radio'] { accent-color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-loading { padding: 24px; }:where([data-booking-template-root="default"]) .booking-alert { display: grid; gap: 10px; border-color: color-mix(in srgb, var(--state-danger) 30%, var(--border-default)); background: color-mix(in srgb, var(--state-danger) 4%, var(--surface-raised)); padding: 20px 22px; }:where([data-booking-template-root="default"]) .booking-alert h1, :where([data-booking-template-root="default"]) .booking-alert h2 { margin: 0; color: var(--text-strong); font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); line-height: 1.2; }:where([data-booking-template-root="default"]) .booking-alert p { margin: 0; color: var(--text-body); line-height: 1.55; }:where([data-booking-template-root="default"]) .booking-alert .booking-retry { justify-self: start; }:where([data-booking-template-root="default"]) .booking-booking-error { display: grid; width: min(100% - (var(--page-pad-mobile) * 2), 720px); min-height: clamp(360px, 48vh, 500px); place-content: center; justify-items: center; gap: 18px; margin: clamp(32px, 8vh, 80px) auto; border: 1px solid color-mix(in srgb, var(--state-danger) 30%, var(--border-default)); border-radius: var(--booking-card-radius); background: var(--surface-raised); box-shadow: var(--shadow-control); padding: clamp(32px, 6vw, 64px) 24px; text-align: center; }:where([data-booking-template-root="default"]) .booking-booking-error__icon { display: grid; width: 52px; height: 52px; place-items: center; border: 1px solid color-mix(in srgb, var(--state-danger) 34%, var(--border-default)); border-radius: 50%; background: color-mix(in srgb, var(--state-danger) 8%, var(--surface-field)); color: var(--state-danger); font-size: 24px; font-weight: 900; line-height: 1; }:where([data-booking-template-root="default"]) .booking-booking-error__body { display: grid; justify-items: center; gap: 12px; }:where([data-booking-template-root="default"]) .booking-booking-error__body h1 { max-width: 16ch; margin: 0; color: var(--text-strong); font-size: clamp(28px, 4vw, 40px); font-weight: 900; letter-spacing: -.04em; line-height: 1.08; text-wrap: balance; }:where([data-booking-template-root="default"]) .booking-booking-error__body p { max-width: 44ch; margin: 0; color: var(--text-muted); line-height: 1.6; }:where([data-booking-template-root="default"]) .booking-booking-error__body .booking-retry { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; margin-top: 6px; border: 0; border-radius: var(--radius-control); background: var(--action-primary); color: var(--text-on-brand); cursor: pointer; font: inherit; font-weight: var(--type-button-weight, 800); padding: 0 20px; transition: background var(--transition-fast), transform var(--transition-fast); }:where([data-booking-template-root="default"]) .booking-booking-error__body .booking-retry:hover { background: var(--action-primary-hover); transform: translateY(-1px); }:where([data-booking-template-root="default"]) .booking-booking-error__body .booking-retry:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-cart-page { width: min(100% - (var(--page-pad-mobile) * 2), var(--content-max)); margin: 0 auto; padding: 48px 0 72px; }:where([data-booking-template-root="default"]) .booking-cart-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }:where([data-booking-template-root="default"]) .booking-cart-heading h1, :where([data-booking-template-root="default"]) .booking-cart-empty h1 { margin: 0; color: var(--text-strong); font-size: clamp(28px, 4vw, 42px); font-weight: 900; }:where([data-booking-template-root="default"]) .booking-cart-heading a, :where([data-booking-template-root="default"]) .booking-cart-empty a { color: var(--action-primary); font-weight: 800; text-decoration: none; }:where([data-booking-template-root="default"]) .booking-cart-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); align-items: start; gap: 24px; }:where([data-booking-template-root="default"]) .booking-cart-items { overflow: hidden; }:where([data-booking-template-root="default"]) .booking-cart-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 22px; }:where([data-booking-template-root="default"]) .booking-cart-item + .booking-cart-item { border-top: 1px solid var(--border-default); }:where([data-booking-template-root="default"]) .booking-cart-item h2 { grid-column: 1 / -1; margin: 0; color: var(--text-strong); font-size: 17px; }:where([data-booking-template-root="default"]) .booking-cart-item dl, :where([data-booking-template-root="default"]) .booking-cart-total dl { display: grid; gap: 8px; margin: 0; }:where([data-booking-template-root="default"]) .booking-cart-item dl div, :where([data-booking-template-root="default"]) .booking-cart-total dl div { display: flex; justify-content: space-between; gap: 16px; color: var(--text-muted); font-size: 13px; }:where([data-booking-template-root="default"]) .booking-cart-item dd, :where([data-booking-template-root="default"]) .booking-cart-total dd { margin: 0; color: var(--text-strong); font-weight: 800; text-align: right; }:where([data-booking-template-root="default"]) .booking-cart-item-price { align-self: end; margin: 0; color: var(--text-strong); font-size: 17px; font-weight: 900; }:where([data-booking-template-root="default"]) .booking-cart-total { position: sticky; top: calc(var(--booking-header-height) + 16px); display: grid; gap: 18px; padding: 22px; }:where([data-booking-template-root="default"]) .booking-cart-total .booking-cart-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; text-decoration: none; }:where([data-booking-template-root="default"]) .booking-cart-empty { display: grid; justify-items: center; gap: 16px; max-width: 560px; margin: 48px auto; padding: 56px 24px; text-align: center; }:where([data-booking-template-root="default"]) .booking-cart-empty p { margin: 0; color: var(--text-muted); }:where([data-booking-template-root="default"]) .booking-cart-skeleton { min-height: 420px; border-radius: var(--booking-card-radius); }
:where([data-booking-template-root="default"]) .booking-cart-additions { display: grid; grid-column: 1 / -1; gap: 8px; margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--border-default); }:where([data-booking-template-root="default"]) .booking-cart-additions h3 { margin: 0; color: var(--text-strong); font-size: 13px; font-weight: 800; }:where([data-booking-template-root="default"]) .booking-cart-additions dl { gap: 5px; }:where([data-booking-template-root="default"]) .booking-cart-additions dt, :where([data-booking-template-root="default"]) .booking-cart-additions dd { overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-checkout-page { width: min(100% - (var(--page-pad-mobile) * 2), var(--content-max)); margin: 0 auto; padding: 48px 0 72px; }:where([data-booking-template-root="default"]) .booking-checkout-page > h1 { margin: 0 0 24px; color: var(--text-strong); font-size: clamp(28px, 4vw, 42px); font-weight: 900; }:where([data-booking-template-root="default"]) .booking-checkout-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; gap: 24px; }:where([data-booking-template-root="default"]) .booking-checkout-form, :where([data-booking-template-root="default"]) .booking-checkout-summary, :where([data-booking-template-root="default"]) .booking-checkout-gate { padding: 24px; }:where([data-booking-template-root="default"]) .booking-checkout-form h2, :where([data-booking-template-root="default"]) .booking-checkout-summary h2, :where([data-booking-template-root="default"]) .booking-checkout-gate h1 { margin: 0 0 20px; color: var(--text-strong); font-size: 20px; font-weight: 900; }:where([data-booking-template-root="default"]) .booking-checkout-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }:where([data-booking-template-root="default"]) .booking-checkout-fields label { display: grid; gap: 6px; color: var(--text-strong); font-size: 13px; font-weight: 800; }:where([data-booking-template-root="default"]) .booking-checkout-fields label:nth-child(9), :where([data-booking-template-root="default"]) .booking-checkout-fields label:nth-child(10) { grid-column: 1 / -1; }:where([data-booking-template-root="default"]) .booking-checkout-fields input { min-height: 42px; border: 1px solid var(--border-default); border-radius: 9px; background: var(--surface-field); color: var(--text-strong); font: inherit; font-weight: 500; padding: 0 11px; }:where([data-booking-template-root="default"]) .booking-checkout-check { display: flex; align-items: center; gap: 8px; margin-top: 14px; color: var(--text-body); font-size: 13px; }:where([data-booking-template-root="default"]) .booking-checkout-check input { accent-color: var(--action-primary); }:where([data-booking-template-root="default"]) .booking-checkout-error { color: var(--state-danger); font-size: 13px; }:where([data-booking-template-root="default"]) .booking-checkout-summary { position: sticky; top: calc(var(--booking-header-height) + 16px); }:where([data-booking-template-root="default"]) .booking-checkout-summary p { margin: 0 0 8px; color: var(--text-muted); }:where([data-booking-template-root="default"]) .booking-checkout-summary strong { color: var(--text-strong); font-size: 14px; }:where([data-booking-template-root="default"]) .booking-checkout-gate { max-width: 520px; margin: 48px auto; text-align: center; }:where([data-booking-template-root="default"]) .booking-checkout-gate p { color: var(--text-muted); line-height: 1.6; }:where([data-booking-template-root="default"]) .booking-checkout-skeleton { min-height: 520px; border-radius: var(--booking-card-radius); }
:where([data-booking-template-root="default"]) .booking-result-page { display: grid; width: min(100% - (var(--page-pad-mobile) * 2), var(--content-max)); min-height: min(680px, calc(100vh - var(--booking-header-height) - 120px)); place-items: center; margin: 0 auto; padding: 48px 0 72px; }:where([data-booking-template-root="default"]) .booking-result-card { width: min(100%, 560px); padding: 36px; text-align: center; }:where([data-booking-template-root="default"]) .booking-result-card h1 { margin: 0; color: var(--text-strong); font-size: clamp(28px, 5vw, 42px); font-weight: 900; }:where([data-booking-template-root="default"]) .booking-result-card > p:not(.booking-result-eyebrow) { color: var(--text-muted); line-height: 1.6; }:where([data-booking-template-root="default"]) .booking-result-eyebrow { margin: 0 0 10px; color: var(--action-primary); font-size: 13px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }:where([data-booking-template-root="default"]) .booking-result-card dl { display: grid; gap: 10px; margin: 28px 0; text-align: left; }:where([data-booking-template-root="default"]) .booking-result-card dl div { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--border-default); padding-bottom: 8px; color: var(--text-muted); font-size: 13px; }:where([data-booking-template-root="default"]) .booking-result-card dd { margin: 0; color: var(--text-strong); font-weight: 800; text-align: right; }:where([data-booking-template-root="default"]) .booking-result-card nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }:where([data-booking-template-root="default"]) .booking-result-card nav a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border-radius: var(--radius-control); background: var(--action-primary); color: var(--text-on-brand); font-weight: 800; padding: 0 18px; text-decoration: none; }:where([data-booking-template-root="default"]) .booking-result-card nav a + a { border: 1px solid var(--border-default); background: var(--surface-field); color: var(--text-strong); }:where([data-booking-template-root="default"]) .booking-result-skeleton { width: min(100%, 560px); min-height: 360px; border-radius: var(--booking-card-radius); }
:where([data-booking-template-root="default"]) .booking-result-items { margin: 28px 0; border-top: 1px solid var(--border-default); padding-top: 22px; text-align: left; }
:where([data-booking-template-root="default"]) .booking-result-items h2 { margin: 0 0 8px; color: var(--text-strong); font-size: var(--type-h3-size, 19px); font-weight: var(--type-h3-weight, 800); }
:where([data-booking-template-root="default"]) .booking-result-items ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
:where([data-booking-template-root="default"]) .booking-result-items li { display: grid; gap: 10px; border-bottom: 1px solid var(--border-default); padding: 14px 0; }
:where([data-booking-template-root="default"]) .booking-result-item__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
:where([data-booking-template-root="default"]) .booking-result-item__heading strong { min-width: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: 14px; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-result-item__heading span { flex: 0 0 auto; color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-result-items li dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; }
:where([data-booking-template-root="default"]) .booking-result-items li dl div { display: grid; gap: 3px; border-bottom: 0; padding-bottom: 0; }
:where([data-booking-template-root="default"]) .booking-result-items li dt { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-result-items li dd { overflow-wrap: anywhere; color: var(--text-strong); font-size: 13px; font-weight: 800; text-align: left; }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-result-items li dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }:where([data-booking-template-root="default"]) .booking-result-items li dl div:last-child { grid-column: 1 / -1; } }
:where([data-booking-template-root="default"]) .booking-page-banner { width: 100%; margin: 0; overflow: hidden; padding: 0; }:where([data-booking-template-root="default"]) .booking-page-banner--image { position: relative; min-height: var(--booking-hero-height); background: var(--surface-hero); }:where([data-booking-template-root="default"]) .booking-page-banner--image::before { position: absolute; inset: 0; z-index: 1; background: var(--booking-hero-overlay); content: ''; }:where([data-booking-template-root="default"]) .booking-page-banner__image { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: var(--booking-hero-height); max-width: none; max-height: none; object-fit: cover; }:where([data-booking-template-root="default"]) .booking-page-banner__description { position: relative; z-index: 2; min-height: var(--booking-hero-height); }:where([data-booking-template-root="default"]) .booking-page-banner--image .booking-hero-inner { position: relative; z-index: 2; }:where([data-booking-template-root="default"]) .booking-page-banner--image .booking-hero-inner .booking-eyebrow { width: fit-content; margin: 0 0 12px; border-radius: 999px; background: var(--overlay-on-hero); color: var(--text-on-hero); font-size: 12px; font-weight: 800; padding: 6px 12px; }:where([data-booking-template-root="default"]) .booking-page-banner--image .booking-hero-inner h1 { max-width: 760px; margin: 0; color: var(--text-on-hero); font-size: clamp(32px, 4vw, 48px); font-weight: 900; letter-spacing: -.055em; line-height: 1.08; }:where([data-booking-template-root="default"]) .booking-page-banner--image .booking-hero-inner p:not(.booking-eyebrow) { max-width: 560px; margin: 10px 0 0; color: var(--text-on-hero-muted); font-size: 15px; line-height: 1.55; }:where([data-booking-template-root="default"]) .booking-page-banner > section { position: relative !important; display: flex !important; min-height: var(--booking-hero-height) !important; width: 100% !important; flex-direction: column !important; justify-content: center !important; box-sizing: border-box !important; overflow: hidden !important; border: 0 !important; border-radius: 0 !important; background: var(--booking-hero-image) center / cover no-repeat !important; color: var(--text-on-hero) !important; font-family: var(--font-sans) !important; padding: var(--booking-hero-pad) max(calc((100% - var(--content-max)) / 2), var(--page-pad-mobile)) !important; }:where([data-booking-template-root="default"]) .booking-page-banner > section::before { position: absolute; inset: 0; z-index: 0; background: var(--booking-hero-overlay); content: ''; }:where([data-booking-template-root="default"]) .booking-page-banner > section > * { position: relative !important; z-index: 1 !important; }:where([data-booking-template-root="default"]) .booking-page-banner > section > div[style*='position:absolute'] { display: none !important; }:where([data-booking-template-root="default"]) .booking-page-banner > section > div[style*='display:flex'] { display: none !important; }:where([data-booking-template-root="default"]) .booking-page-banner > section > div:nth-child(3) { width: fit-content !important; margin: 0 0 var(--booking-heading-margin) !important; border: 1px solid var(--border-hero) !important; border-radius: 999px !important; background: var(--overlay-on-hero-soft) !important; color: var(--text-on-hero) !important; font-size: var(--booking-eyebrow-size) !important; font-weight: 800 !important; letter-spacing: normal !important; line-height: 1.2 !important; padding: 6px 12px !important; }:where([data-booking-template-root="default"]) .booking-page-banner > section > div:nth-child(3)::before { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--action-primary); content: ''; }:where([data-booking-template-root="default"]) .booking-page-banner > section > h1 { max-width: 760px !important; margin: 0 !important; color: var(--text-on-hero) !important; font-size: clamp(32px, 4vw, 52px) !important; font-weight: 900 !important; letter-spacing: -.055em !important; line-height: 1.08 !important; }:where([data-booking-template-root="default"]) .booking-page-banner > section > p { max-width: 640px !important; margin: 10px 0 0 !important; color: var(--text-on-hero-muted) !important; font-size: 15px !important; line-height: 1.55 !important; }:where([data-booking-template-root="default"]) .booking-page-banner img, :where([data-booking-template-root="default"]) .booking-page-banner video { display: block; max-width: 100%; max-height: 420px; object-fit: cover; }:where([data-booking-template-root="default"]) .booking-page-description { width: 100%; margin: 0 0 24px; padding: 0; }:where([data-booking-template-root="default"]) .booking-page-description > section { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; width: 100% !important; margin: 0 !important; box-sizing: border-box !important; font-family: var(--font-sans) !important; }:where([data-booking-template-root="default"]) .booking-page-description > section > div { min-height: 84px; box-sizing: border-box !important; border: 1px solid var(--border-default) !important; border-radius: 16px !important; background: var(--surface-field) !important; box-shadow: 0 2px 5px var(--shadow-card); color: var(--text-body) !important; padding: 18px !important; }:where([data-booking-template-root="default"]) .booking-page-description > section > div > div:first-child { margin: 0 0 10px !important; color: var(--text-strong) !important; font-size: 32px !important; font-weight: 900 !important; line-height: 1 !important; }:where([data-booking-template-root="default"]) .booking-page-description > section > div > div:last-child { color: var(--text-muted) !important; font-size: 13px !important; line-height: 1.5 !important; }:where([data-booking-template-root="default"]) .booking-page-description img, :where([data-booking-template-root="default"]) .booking-page-description video { max-width: 100%; height: auto; }:where([data-booking-template-root="default"]) .booking-page-description h2, :where([data-booking-template-root="default"]) .booking-page-description h3, :where([data-booking-template-root="default"]) .booking-page-description h4 { color: var(--text-strong); }:where([data-booking-template-root="default"]) .booking-page-description a { color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-page-description > section > div { display: grid !important; min-height: 84px; grid-template-columns: 32px minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; column-gap: 12px; padding: 14px 18px !important; }
:where([data-booking-template-root="default"]) .booking-page-description > section > div::before { display: grid; width: 30px; height: 30px; grid-row: 1 / -1; place-items: center; border-radius: 50%; background: var(--surface-positive); color: var(--action-primary); content: '⌘'; font-size: 16px; font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-page-description > section > div:nth-child(2)::before { content: '⌖'; }
:where([data-booking-template-root="default"]) .booking-page-description > section > div:nth-child(3)::before { content: '＄'; }
:where([data-booking-template-root="default"]) .booking-page-description > section > div > div:first-child { grid-column: 2; grid-row: 2; margin: 0 !important; font-size: 17px !important; line-height: 1.1 !important; }
:where([data-booking-template-root="default"]) .booking-page-description > section > div > div:last-child { grid-column: 2; grid-row: 1; font-size: 12px !important; line-height: 1.3 !important; }
:where([data-booking-template-root="default"]) .booking-page-description > section > div > div:last-child br { display: none; }
:where([data-booking-template-root="default"]) .booking-summary-customer-info { display: grid; gap: 8px; margin: 12px 0; border: 1px solid color-mix(in srgb, var(--state-danger) 32%, var(--border-default)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--state-danger) 4%, var(--surface-field)); padding: 12px; }:where([data-booking-template-root="default"]) .booking-summary-customer-info p { margin: 0; color: var(--state-danger); font-size: 13px; font-weight: 700; line-height: 1.45; }:where([data-booking-template-root="default"]) .booking-summary-customer-info .booking-retry { justify-self: start; }:where([data-booking-template-root="default"]) .booking-summary-customer-info .booking-skeleton { width: 100%; min-height: 6px; border-radius: 999px; }
:where([data-booking-template-root="default"]) .booking-contact-fields { margin-bottom: 24px; padding: 22px; }:where([data-booking-template-root="default"]) .booking-contact-fields fieldset { display: grid; gap: 14px; margin: 0; border: 0; padding: 0; }:where([data-booking-template-root="default"]) .booking-contact-fields legend { margin-bottom: 2px; color: var(--text-strong); font-size: 18px; font-weight: 900; }:where([data-booking-template-root="default"]) .booking-contact-fields__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }:where([data-booking-template-root="default"]) .booking-contact-fields label { display: grid; gap: 6px; min-width: 0; color: var(--text-strong); font-size: 13px; font-weight: 800; }:where([data-booking-template-root="default"]) .booking-contact-fields input, :where([data-booking-template-root="default"]) .booking-contact-fields select { min-height: 42px; width: 100%; min-width: 0; border: 1px solid var(--border-default); border-radius: 9px; background: var(--surface-field); color: var(--text-strong); font: inherit; padding: 0 11px; }:where([data-booking-template-root="default"]) .booking-contact-fields__phone { grid-column: 1 / -1; }:where([data-booking-template-root="default"]) .booking-contact-fields__phone > div { display: grid; grid-template-columns: minmax(120px, .35fr) minmax(0, 1fr); gap: 10px; }
@media (max-width: 899px) { :where([data-booking-template-root="default"]) .booking-layout, :where([data-booking-template-root="default"]) .booking-period-flow__grid { grid-template-columns: 1fr; }:where([data-booking-template-root="default"]) .booking-summary, :where([data-booking-template-root="default"]) .booking-period-flow__grid > aside { position: static; }:where([data-booking-template-root="default"]) .booking-facts, :where([data-booking-template-root="default"]) .booking-home__cards, :where([data-booking-template-root="default"]) .booking-page-description > section { grid-template-columns: 1fr; }:where([data-booking-template-root="default"]) .booking-hero, :where([data-booking-template-root="default"]) .booking-page-banner > section { min-height: 190px !important; } }
@media (max-width: 899px) { :where([data-booking-template-root="default"]) .booking-page-banner--image { min-height: 190px; }:where([data-booking-template-root="default"]) .booking-page-banner--image .booking-page-banner__image { min-height: 190px; height: 190px; }:where([data-booking-template-root="default"]) .booking-page-banner--image .booking-page-banner__description { min-height: 190px; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-contact-fields { padding: 18px 16px; }:where([data-booking-template-root="default"]) .booking-contact-fields__grid { grid-template-columns: 1fr; }:where([data-booking-template-root="default"]) .booking-contact-fields__phone { grid-column: auto; }:where([data-booking-template-root="default"]) .booking-contact-fields__phone > div { grid-template-columns: minmax(92px, .42fr) minmax(0, 1fr); gap: 8px; }:where([data-booking-template-root="default"]) .booking-contact-fields__phone > div select, :where([data-booking-template-root="default"]) .booking-contact-fields__phone > div input { min-width: 0; } }
:where([data-booking-template-root="default"]) .booking-appointments-page { width: min(100% - (var(--page-pad-mobile) * 2), var(--content-max)); margin: 0 auto; padding: 48px 0 72px; }:where([data-booking-template-root="default"]) .booking-appointments-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }:where([data-booking-template-root="default"]) .booking-appointments-heading h1 { margin: 0; color: var(--text-strong); font-size: clamp(28px, 4vw, 42px); font-weight: 900; }:where([data-booking-template-root="default"]) .booking-appointments-heading p { margin: 8px 0 0; color: var(--text-muted); }:where([data-booking-template-root="default"]) .booking-appointments-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }:where([data-booking-template-root="default"]) .booking-appointments-controls label { display: grid; gap: 5px; color: var(--text-muted); font-size: 12px; font-weight: 800; }:where([data-booking-template-root="default"]) .booking-appointments-controls select, :where([data-booking-template-root="default"]) .booking-appointments-controls button, :where([data-booking-template-root="default"]) .booking-appointments-pagination button { min-height: 40px; border: 1px solid var(--border-default); border-radius: var(--radius-control); background: var(--surface-field); color: var(--text-strong); cursor: pointer; font: inherit; padding: 0 12px; }:where([data-booking-template-root="default"]) .booking-appointments-controls button:hover, :where([data-booking-template-root="default"]) .booking-appointments-pagination button:hover:not(:disabled) { border-color: var(--action-primary); color: var(--action-primary); }:where([data-booking-template-root="default"]) .booking-appointments-list { display: grid; gap: 12px; }:where([data-booking-template-root="default"]) .booking-appointment-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; border: 1px solid var(--border-default); border-radius: var(--booking-card-radius); background: var(--surface-field); box-shadow: 0 2px 5px var(--shadow-card); padding: 20px 22px; }:where([data-booking-template-root="default"]) .booking-appointment-card__heading { display: flex; justify-content: space-between; gap: 14px; }:where([data-booking-template-root="default"]) .booking-appointment-card__eyebrow { margin: 0 0 5px; color: var(--action-primary); font-size: 12px; font-weight: 900; }:where([data-booking-template-root="default"]) .booking-appointment-card h2 { margin: 0; color: var(--text-strong); font-size: 18px; }:where([data-booking-template-root="default"]) .booking-appointment-card__date { color: var(--text-strong); font-size: 14px; font-weight: 900; white-space: nowrap; }:where([data-booking-template-root="default"]) .booking-appointment-card dl, :where([data-booking-template-root="default"]) .booking-appointment-detail-section dl { display: grid; gap: 7px; margin: 14px 0 0; }:where([data-booking-template-root="default"]) .booking-appointment-card dl div, :where([data-booking-template-root="default"]) .booking-appointment-detail-section dl div { display: flex; justify-content: space-between; gap: 16px; color: var(--text-muted); font-size: 13px; }:where([data-booking-template-root="default"]) .booking-appointment-card dd, :where([data-booking-template-root="default"]) .booking-appointment-detail-section dd { margin: 0; color: var(--text-strong); font-weight: 800; text-align: right; }:where([data-booking-template-root="default"]) .booking-appointment-card__link, :where([data-booking-template-root="default"]) .booking-appointments-back { color: var(--action-primary); font-size: 13px; font-weight: 900; text-decoration: none; }:where([data-booking-template-root="default"]) .booking-appointment-card__link:hover, :where([data-booking-template-root="default"]) .booking-appointments-back:hover { text-decoration: underline; }:where([data-booking-template-root="default"]) .booking-appointments-empty, :where([data-booking-template-root="default"]) .booking-appointment-gate { padding: 48px 24px; text-align: center; }:where([data-booking-template-root="default"]) .booking-appointments-empty h2, :where([data-booking-template-root="default"]) .booking-appointment-gate h1 { margin: 0; color: var(--text-strong); font-size: 22px; }:where([data-booking-template-root="default"]) .booking-appointments-empty p, :where([data-booking-template-root="default"]) .booking-appointment-gate p { color: var(--text-muted); line-height: 1.5; }:where([data-booking-template-root="default"]) .booking-appointments-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 24px; color: var(--text-muted); font-size: 13px; font-weight: 800; }:where([data-booking-template-root="default"]) .booking-appointments-pagination button:disabled { cursor: not-allowed; opacity: .45; }:where([data-booking-template-root="default"]) .booking-appointments-skeleton { min-height: 520px; border-radius: var(--booking-card-radius); }:where([data-booking-template-root="default"]) .booking-appointments-detail-skeleton { min-height: 640px; }:where([data-booking-template-root="default"]) .booking-appointments-back { display: inline-flex; margin-bottom: 18px; }:where([data-booking-template-root="default"]) .booking-appointment-detail-grid { display: grid; gap: 16px; }:where([data-booking-template-root="default"]) .booking-appointment-detail-section { padding: 22px; }:where([data-booking-template-root="default"]) .booking-appointment-detail-section h2 { margin: 0 0 14px; color: var(--text-strong); font-size: 18px; }:where([data-booking-template-root="default"]) .booking-appointment-detail-section dl { margin: 0; }:where([data-booking-template-root="default"]) .booking-appointment-detail-section ul { display: grid; gap: 8px; margin: 0; padding-left: 0px; color: var(--text-body); }:where([data-booking-template-root="default"]) .booking-appointment-detail-section li::marker { color: var(--action-primary); }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-appointments-page { padding: 32px 0 52px; }:where([data-booking-template-root="default"]) .booking-appointments-heading { align-items: flex-start; flex-direction: column; }:where([data-booking-template-root="default"]) .booking-appointments-controls { width: 100%; align-items: stretch; }:where([data-booking-template-root="default"]) .booking-appointments-controls label, :where([data-booking-template-root="default"]) .booking-appointments-controls select, :where([data-booking-template-root="default"]) .booking-appointments-controls button { flex: 1 1 160px; }:where([data-booking-template-root="default"]) .booking-appointment-card { grid-template-columns: 1fr; gap: 12px; padding: 18px 16px; }:where([data-booking-template-root="default"]) .booking-appointment-card__heading { align-items: flex-start; flex-direction: column; }:where([data-booking-template-root="default"]) .booking-appointment-card__date { white-space: normal; }:where([data-booking-template-root="default"]) .booking-appointment-card__link { justify-self: start; }:where([data-booking-template-root="default"]) .booking-appointment-card dl div, :where([data-booking-template-root="default"]) .booking-appointment-detail-section dl div { align-items: flex-start; flex-direction: column; gap: 3px; }:where([data-booking-template-root="default"]) .booking-appointment-card dd, :where([data-booking-template-root="default"]) .booking-appointment-detail-section dd { text-align: left; } }
@media (max-width: 899px) { :where([data-booking-template-root="default"]) .booking-cart-grid { grid-template-columns: 1fr; }:where([data-booking-template-root="default"]) .booking-cart-total { position: static; } }
@media (max-width: 899px) { :where([data-booking-template-root="default"]) .booking-checkout-grid { grid-template-columns: 1fr; }:where([data-booking-template-root="default"]) .booking-checkout-summary { position: static; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-checkout-fields { grid-template-columns: 1fr; }:where([data-booking-template-root="default"]) .booking-checkout-fields label:nth-child(9), :where([data-booking-template-root="default"]) .booking-checkout-fields label:nth-child(10) { grid-column: auto; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-header-inner { width: min(100% - 24px, var(--content-max)); }:where([data-booking-template-root="default"]) .booking-brand { font-size: 15px; }:where([data-booking-template-root="default"]) .booking-header-current, :where([data-booking-template-root="default"]) .booking-header-divider, :where([data-booking-template-root="default"]) .booking-header-user { display: none; }:where([data-booking-template-root="default"]) .booking-content-wrap { width: min(100% - 24px, var(--content-max)); padding-top: 20px; }:where([data-booking-template-root="default"]) .booking-hero-inner { width: min(100% - 24px, var(--content-max)); }:where([data-booking-template-root="default"]) .booking-hero h1 { font-size: 32px; }:where([data-booking-template-root="default"]) .booking-picker > section, :where([data-booking-template-root="default"]) .booking-picker > fieldset, :where([data-booking-template-root="default"]) .booking-period-picker > section { padding: 20px 16px; }:where([data-booking-template-root="default"]) .booking-resource-grid, :where([data-booking-template-root="default"]) .booking-timeslot-grid, :where([data-booking-template-root="default"]) .booking-period-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }:where([data-booking-template-root="default"]) .booking-calendar { padding: 10px; }:where([data-booking-template-root="default"]) .booking-calendar__grid { gap: 3px; }:where([data-booking-template-root="default"]) .booking-calendar__day { min-height: 38px; border-radius: 9px; font-size: 12px; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-brand { width: min(var(--booking-brand-logo-width, 148px), 42vw, 116px); height: 40px; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-menu__panel { position: fixed; top: calc(var(--booking-header-height) + 8px); right: 12px; width: calc(100vw - 24px); max-height: calc(100dvh - var(--booking-header-height) - 28px); border-radius: 16px; padding: 10px; } :where([data-booking-template-root="default"]) .booking-menu__branch > summary, :where([data-booking-template-root="default"]) .booking-menu__leaf { min-height: 44px; } :where([data-booking-template-root="default"]) .booking-menu__children { margin-left: 12px; padding-left: 7px; } }
:where([data-booking-template-root="default"]) .booking-not-found { display: grid; min-height: min(680px, calc(100vh - var(--booking-header-height) - 120px)); place-items: center; padding: 48px 24px; }:where([data-booking-template-root="default"]) .booking-not-found__card { width: min(100%, 520px); border: 1px solid var(--border-default); border-radius: var(--radius-panel); background: var(--surface-raised); box-shadow: var(--shadow-control); padding: 48px 36px; text-align: center; }:where([data-booking-template-root="default"]) .booking-not-found__eyebrow { margin: 0 0 12px; color: var(--action-primary); font-size: 14px; font-weight: 800; letter-spacing: .12em; }:where([data-booking-template-root="default"]) .booking-not-found__card h1 { margin: 0; color: var(--text-strong); font-size: clamp(28px, 5vw, 42px); font-weight: 900; }:where([data-booking-template-root="default"]) .booking-not-found__card > p:not(.booking-not-found__eyebrow) { margin: 14px 0 24px; color: var(--text-muted); line-height: 1.6; }:where([data-booking-template-root="default"]) .booking-not-found__card a { display: inline-flex; min-height: 44px; align-items: center; border-radius: var(--radius-control); background: var(--action-primary); color: var(--text-on-brand); font-weight: 800; padding: 0 20px; text-decoration: none; }:where([data-booking-template-root="default"]) .booking-not-found__card a:hover { background: var(--action-primary-hover); }
:where([data-booking-template-root="default"]) .booking-not-found--global { --project-page-bg: var(--surface-subtle); --project-text-strong: var(--text-strong); --project-text-muted: var(--text-muted); --project-accent: var(--project-brand-primary); --project-accent-hover: var(--project-brand-primary-hover); --project-focus: var(--focus-ring); --project-line: var(--border-default); --project-code-size: clamp(112px, 18vw, 248px); --project-title-size: clamp(36px, 5.5vw, 76px); --project-body-size: 17px; min-height: 100dvh; place-items: stretch; grid-template-rows: auto 1fr auto; padding: clamp(24px, 5vw, 64px) clamp(20px, 7vw, 96px) 24px; background: var(--project-page-bg); color: var(--project-text-strong); }
:where([data-booking-template-root="default"]) .booking-not-found__global-brand { display: inline-flex; width: fit-content; align-items: center; gap: 12px; color: var(--project-text-strong); font-size: 15px; font-weight: 900; letter-spacing: .02em; }:where([data-booking-template-root="default"]) .booking-not-found__global-brand img { display: block; width: 48px; height: 48px; }:where([data-booking-template-root="default"]) .booking-not-found__global-brand small { display: block; margin-top: 2px; color: var(--project-text-muted); font-size: 9px; font-weight: 800; letter-spacing: .18em; }
:where([data-booking-template-root="default"]) .booking-not-found__global-content { display: grid; width: min(100%, 1080px); grid-template-columns: minmax(180px, .72fr) minmax(280px, 1fr); gap: clamp(32px, 9vw, 132px); align-items: center; justify-self: center; padding: clamp(56px, 12vh, 144px) 0; }:where([data-booking-template-root="default"]) .booking-not-found__global-code { margin: 0; color: color-mix(in srgb, var(--project-accent) 24%, transparent); font-size: var(--project-code-size); font-weight: 900; letter-spacing: -.09em; line-height: .78; }:where([data-booking-template-root="default"]) .booking-not-found__global-copy { max-width: 560px; }:where([data-booking-template-root="default"]) .booking-not-found__global-copy h1 { max-width: 12ch; margin: 0; color: var(--project-text-strong); font-size: var(--project-title-size); font-weight: 900; letter-spacing: -.055em; line-height: .98; text-wrap: balance; }:where([data-booking-template-root="default"]) .booking-not-found__global-copy > p { max-width: 45ch; margin: 24px 0 0; color: var(--project-text-muted); font-size: var(--project-body-size); line-height: 1.65; }:where([data-booking-template-root="default"]) .booking-not-found__global-copy .booking-not-found__global-hint { margin-top: 28px; border-top: 1px solid var(--project-line); padding-top: 16px; color: var(--project-text-strong); font-size: 14px; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-not-found--global-not-found .booking-not-found__global-code { --project-code-size: clamp(72px, 10vw, 136px); }:where([data-booking-template-root="default"]) .booking-not-found--global-not-found .booking-not-found__global-copy h1 { --project-title-size: clamp(34px, 4vw, 60px); }
:where([data-booking-template-root="default"]) .booking-not-found__global-project { margin-top: clamp(28px, 5vw, 56px); border-left: 4px solid var(--project-accent); padding-left: 18px; }:where([data-booking-template-root="default"]) .booking-not-found__global-project p { max-width: 32ch; margin: 0; color: var(--project-text-strong); font-size: clamp(22px, 3vw, 34px); font-weight: 900; letter-spacing: -.035em; line-height: 1.08; }:where([data-booking-template-root="default"]) .booking-not-found__global-project-link { display: inline-flex; min-height: 44px; align-items: center; margin-top: 18px; border: 0; border-radius: 10px; background: var(--project-accent); color: var(--text-inverse); padding: 0 20px; font-size: 14px; font-weight: 800; text-decoration: none; transition: transform 150ms ease, background 150ms ease; }:where([data-booking-template-root="default"]) .booking-not-found__global-project-link:visited { color: var(--text-inverse); }:where([data-booking-template-root="default"]) .booking-not-found__global-project-link:hover { background: var(--project-accent-hover); transform: translateY(-1px); }:where([data-booking-template-root="default"]) .booking-not-found__global-project-link:focus-visible { outline: 3px solid var(--project-focus); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-not-found__global-action { display: inline-flex; min-height: 44px; align-items: center; margin-top: 24px; border-radius: 10px; background: var(--project-accent); color: var(--text-inverse); padding: 0 20px; font-size: 14px; font-weight: 800; text-decoration: none; transition: transform 150ms ease, background 150ms ease; }:where([data-booking-template-root="default"]) .booking-not-found__global-action:hover { background: var(--project-accent-hover); transform: translateY(-1px); }:where([data-booking-template-root="default"]) .booking-not-found__global-action:focus-visible { outline: 3px solid var(--project-focus); outline-offset: 3px; }
@media (max-width: 767px) { :where([data-booking-template-root="default"]) .booking-not-found--global { padding: 20px 20px 16px; }:where([data-booking-template-root="default"]) .booking-not-found__global-content { grid-template-columns: 1fr; gap: 24px; padding: 72px 0 96px; }:where([data-booking-template-root="default"]) .booking-not-found__global-code { font-size: clamp(96px, 31vw, 160px); }:where([data-booking-template-root="default"]) .booking-not-found__global-copy h1 { max-width: 14ch; font-size: clamp(38px, 12vw, 56px); }:where([data-booking-template-root="default"]) .booking-not-found__global-copy > p { margin-top: 18px; font-size: 16px; }:where([data-booking-template-root="default"]) .booking-not-found__global-project p { font-size: clamp(20px, 6vw, 28px); } }
@media (max-width: 399px) { :where([data-booking-template-root="default"]) .booking-not-found--global { padding: 16px; }:where([data-booking-template-root="default"]) .booking-not-found__global-content { gap: 20px; padding: 48px 0 56px; }:where([data-booking-template-root="default"]) .booking-not-found__global-code { font-size: clamp(72px, 24vw, 112px); }:where([data-booking-template-root="default"]) .booking-not-found__global-copy h1 { font-size: clamp(32px, 10vw, 46px); }:where([data-booking-template-root="default"]) .booking-not-found__global-project { margin-top: 24px; padding-left: 14px; } }
:where([data-booking-template-root="default"]) .booking-login-modal { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; background: var(--overlay-login); padding: 24px; }:where([data-booking-template-root="default"]) .booking-login-modal__dialog { position: relative; width: min(100%, 420px); border: 1px solid var(--border-default); border-radius: var(--radius-panel); background: var(--surface-raised); box-shadow: 0 24px 64px var(--shadow-modal); padding: 32px; }:where([data-booking-template-root="default"]) .booking-login-modal__dialog h2 { margin: 0; color: var(--text-strong); font-size: 22px; font-weight: 900; }:where([data-booking-template-root="default"]) .booking-login-modal__dialog p { margin: 12px 0 24px; color: var(--text-muted); line-height: 1.6; }:where([data-booking-template-root="default"]) .booking-login-modal__close { position: absolute; top: 12px; right: 14px; border: 0; background: transparent; color: var(--text-muted); cursor: pointer; font-size: 26px; line-height: 1; }:where([data-booking-template-root="default"]) .booking-login-modal__actions { display: flex; flex-wrap: wrap; gap: 10px; }:where([data-booking-template-root="default"]) .booking-login-modal__actions button { display: inline-flex; min-height: 44px; flex: 1 1 150px; align-items: center; justify-content: center; border-radius: var(--radius-control); cursor: pointer; font: inherit; font-weight: 800; padding: 0 16px; }:where([data-booking-template-root="default"]) .booking-login-modal__continue { border: 0; background: var(--action-primary); color: var(--text-on-brand); }:where([data-booking-template-root="default"]) .booking-login-modal__cancel { border: 1px solid var(--border-default); background: var(--surface-field); color: var(--text-strong); }:where([data-booking-template-root="default"]) .booking-login-modal__actions button:disabled, :where([data-booking-template-root="default"]) .booking-login-modal__close:disabled { cursor: wait; opacity: .7; }
:where([data-booking-template-root="default"]) .booking-login-modal__cancel, :where([data-booking-template-root="default"]) .booking-login-modal__guest { border: 1px solid var(--border-default); background: var(--surface-field); color: var(--text-strong); }:where([data-booking-template-root="default"]) .booking-login-modal__guest { border-color: color-mix(in srgb, var(--action-primary) 45%, var(--border-default)); color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-backdrop { position: fixed; inset: 0; z-index: 85; display: grid; place-items: center; background: var(--overlay-login); padding: 24px; }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal { width: min(100%, 460px); border: 1px solid color-mix(in srgb, var(--state-danger) 30%, var(--border-default)); border-radius: var(--radius-panel); background: var(--surface-raised); box-shadow: 0 24px 64px var(--shadow-modal); padding: 28px; }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal h2 { margin: 0; color: var(--text-strong); font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal p { margin: 12px 0 24px; color: var(--text-muted); line-height: 1.6; }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__refund { margin: 0 0 24px; border-block: 1px solid var(--border-default); padding: 14px 0; }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__refund h2 { margin: 0 0 8px; color: var(--text-strong); font-size: 16px; font-weight: 800; line-height: 1.45; }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__refund ul { margin: 0; padding-inline-start: 20px; color: var(--text-muted); line-height: 1.55; }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__refund li { padding-inline-start: 4px; }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__actions { display: flex; flex-wrap: wrap; gap: 10px; }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__actions button { display: inline-flex; min-height: 44px; flex: 1 1 160px; align-items: center; justify-content: center; border-radius: var(--radius-control); cursor: pointer; font: inherit; font-weight: var(--type-button-weight, 800); padding: 0 16px; }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__keep { border: 1px solid var(--border-default); background: var(--surface-field); color: var(--text-strong); }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__confirm { border: 0; background: var(--state-danger); color: var(--text-inverse); }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__actions button:disabled { cursor: wait; opacity: .65; }
:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__actions button:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-cart-empty-modal-backdrop { position: fixed; inset: 0; z-index: 85; display: grid; place-items: center; background: var(--overlay-login); padding: 24px; }
:where([data-booking-template-root="default"]) .booking-cart-empty-modal { width: min(100%, 420px); border: 1px solid var(--border-default); border-radius: var(--radius-panel); background: var(--surface-raised); box-shadow: var(--shadow-modal); padding: 28px; }
:where([data-booking-template-root="default"]) .booking-cart-empty-modal h2 { margin: 0; color: var(--text-strong); font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); }
:where([data-booking-template-root="default"]) .booking-cart-empty-modal p { margin: 12px 0 24px; color: var(--text-muted); line-height: 1.6; }
:where([data-booking-template-root="default"]) .booking-cart-empty-modal__action { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border: 0; border-radius: var(--radius-control); background: var(--action-primary); color: var(--text-on-brand); cursor: pointer; font: inherit; font-weight: var(--type-button-weight, 800); padding: 0 18px; }
:where([data-booking-template-root="default"]) .booking-cart-empty-modal__action:hover { background: var(--action-primary-hover); }
:where([data-booking-template-root="default"]) .booking-cart-empty-modal__action:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-cart-empty-modal-backdrop { padding: 16px; }:where([data-booking-template-root="default"]) .booking-cart-empty-modal { padding: 24px 20px; }:where([data-booking-template-root="default"]) .booking-cart-empty-modal__action { width: 100%; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-cancel-confirm-backdrop { padding: 16px; }:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal { padding: 24px 20px; }:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__actions { flex-direction: column-reverse; }:where([data-booking-template-root="default"]) .booking-cancel-confirm-modal__actions button { width: 100%; } }

/* Shared cart and notification polish. */
:where([data-booking-template-root="default"]) .booking-header-cart { cursor: pointer; text-decoration: none; transition: color var(--transition-fast), background var(--transition-fast); }
:where([data-booking-template-root="default"]) .booking-header-cart:hover { border-radius: var(--radius-control); background: var(--surface-page); color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-header-cart:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-cart-heading { align-items: flex-end; margin-bottom: 28px; }
:where([data-booking-template-root="default"]) .booking-cart-heading h1 { letter-spacing: -.035em; }
:where([data-booking-template-root="default"]) .booking-cart-heading a { display: inline-flex; min-height: 40px; align-items: center; border-radius: var(--radius-control); padding: 0 12px; transition: background var(--transition-fast), color var(--transition-fast); }
:where([data-booking-template-root="default"]) .booking-cart-heading a:hover { background: var(--surface-accent); color: var(--action-primary-hover); }
:where([data-booking-template-root="default"]) .booking-cart-items { border-color: color-mix(in srgb, var(--border-default) 86%, var(--surface-page)); box-shadow: var(--shadow-control); }
:where([data-booking-template-root="default"]) .booking-cart-item-list { display: grid; }
:where([data-booking-template-root="default"]) .booking-cart-item { position: relative; grid-template-columns: 28px minmax(0, 1fr) minmax(112px, auto); align-items: start; gap: 8px 16px; padding: 22px 24px; }
:where([data-booking-template-root="default"]) .booking-cart-item::before { display: none; }
:where([data-booking-template-root="default"]) .booking-cart-item__index { display: grid; width: 24px; height: 24px; place-items: center; margin-top: 1px; border: 1px solid var(--border-default); border-radius: 50%; color: var(--text-muted); font-size: 12px; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-cart-item__main { grid-column: 2; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-cart-item h2, :where([data-booking-template-root="default"]) .booking-cart-item dl, :where([data-booking-template-root="default"]) .booking-cart-additions { margin-left: 0; }
:where([data-booking-template-root="default"]) .booking-cart-item h2 { margin-top: 0; margin-bottom: 20px; font-size: 17px; line-height: 1.35; }
:where([data-booking-template-root="default"]) .booking-cart-item dl { grid-template-columns: 1fr; gap: 8px; }
:where([data-booking-template-root="default"]) .booking-cart-item dl div { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 8px; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-cart-item dt, :where([data-booking-template-root="default"]) .booking-cart-total dt { color: var(--text-muted); font-size: 12px; }
:where([data-booking-template-root="default"]) .booking-cart-item dd { overflow-wrap: anywhere; text-align: left; }
:where([data-booking-template-root="default"]) .booking-cart-item-price { grid-column: 3; grid-row: 1 / span 2; align-self: center; margin: 0; text-align: right; }
:where([data-booking-template-root="default"]) .booking-cart-additions { grid-column: 2 / -1; margin-top: 8px; }
:where([data-booking-template-root="default"]) .booking-cart-total { gap: 22px; border-color: color-mix(in srgb, var(--action-primary) 18%, var(--border-default)); box-shadow: var(--shadow-control); padding: 26px; }
:where([data-booking-template-root="default"]) .booking-cart-actions { display: grid; gap: 4px; margin-top: 14px; }
:where([data-booking-template-root="default"]) .booking-cart-actions .booking-cart-button, :where([data-booking-template-root="default"]) .booking-cart-actions .booking-credit-plan-entry { margin-top: 0; }
:where([data-booking-template-root="default"]) .booking-cart-total__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
:where([data-booking-template-root="default"]) .booking-cart-total__heading h2 { margin: 0; color: var(--text-strong); font-size: 19px; font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-cart-total__heading span, :where([data-booking-template-root="default"]) .booking-cart-heading__meta { margin: 4px 0 0; color: var(--text-muted); font-size: 12px; }
:where([data-booking-template-root="default"]) .booking-coupon-controls { display: grid; gap: 10px; padding: 14px 0; border-block: 1px solid var(--border-default); }
:where([data-booking-template-root="default"]) .booking-coupon-controls h3 { margin: 0; color: var(--text-strong); font-size: 13px; }
:where([data-booking-template-root="default"]) .booking-coupon-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
:where([data-booking-template-root="default"]) .booking-coupon-form input { min-width: 0; min-height: 40px; border: 1px solid var(--border-default); border-radius: var(--radius-control); background: var(--surface-field); color: var(--text-strong); font: inherit; padding: 0 11px; }
:where([data-booking-template-root="default"]) .booking-coupon-form button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; border: 0; border-radius: var(--radius-control); background: var(--action-primary); color: var(--text-on-brand); cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; padding: 0 12px; }
:where([data-booking-template-root="default"]) .booking-coupon-form button:disabled { cursor: not-allowed; opacity: .5; }
:where([data-booking-template-root="default"]) .booking-coupon-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
:where([data-booking-template-root="default"]) .booking-coupon-list li { display: inline-flex; align-items: center; gap: 5px; border: 1px solid color-mix(in srgb, var(--action-primary) 35%, var(--border-default)); border-radius: 999px; background: color-mix(in srgb, var(--action-primary) 7%, var(--surface-field)); color: var(--action-primary); padding: 4px 7px 4px 10px; }
:where([data-booking-template-root="default"]) .booking-coupon-list code { font: inherit; font-size: 12px; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-coupon-list button { display: grid; width: 20px; height: 20px; place-items: center; border: 0; border-radius: 50%; background: transparent; color: currentColor; cursor: pointer; padding: 0; }
:where([data-booking-template-root="default"]) .booking-coupon-list button:hover { background: color-mix(in srgb, var(--action-primary) 15%, transparent); }
:where([data-booking-template-root="default"]) .booking-coupon-list button:disabled { cursor: wait; opacity: .7; }
:where([data-booking-template-root="default"]) .booking-coupon-remove--loading { color: transparent !important; }
:where([data-booking-template-root="default"]) .booking-coupon-remove--loading::after { width: 11px; height: 11px; border: 2px solid var(--action-primary); border-right-color: transparent; border-radius: 50%; content: ''; animation: default-booking-coupon-spin .7s linear infinite; }
@keyframes default-booking-coupon-spin { to { transform: rotate(360deg); } }
:where([data-booking-template-root="default"]) .booking-cart-totals { display: grid; gap: 13px; margin: 0; }
:where([data-booking-template-root="default"]) .booking-cart-totals div { display: flex; justify-content: space-between; gap: 16px; color: var(--text-muted); font-size: 13px; }
:where([data-booking-template-root="default"]) .booking-cart-totals dd { margin: 0; color: var(--text-strong); font-weight: 800; text-align: right; }
:where([data-booking-template-root="default"]) .booking-cart-totals__original dd { color: var(--text-muted); }
:where([data-booking-template-root="default"]) .booking-cart-totals__discount dd { color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-cart-totals__total { border-top: 1px solid var(--border-default); padding-top: 14px; }
:where([data-booking-template-root="default"]) .booking-cart-totals__total dt, :where([data-booking-template-root="default"]) .booking-cart-totals__total dd { color: var(--text-strong); font-size: 15px; font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-cart-totals__coupon { align-items: center; border-top: 1px dashed var(--border-default); padding-top: 12px; }
:where([data-booking-template-root="default"]) .booking-cart-totals__coupon dd { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 8px; }
:where([data-booking-template-root="default"]) .booking-cart-totals__coupon code { overflow-wrap: anywhere; color: var(--action-primary); font: inherit; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-cart-credit-preview { display: grid; gap: 10px; border-top: 1px solid var(--border-default); padding-top: 16px; }
:where([data-booking-template-root="default"]) .booking-cart-credit-preview h3 { margin: 0; color: var(--text-strong); font-size: var(--type-h3-size, 19px); font-weight: var(--type-h3-weight, 800); line-height: var(--type-h3-line-height, 1.3); }
:where([data-booking-template-root="default"]) .booking-cart-credit-preview ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
:where([data-booking-template-root="default"]) .booking-cart-credit-preview li { display: grid; gap: 6px; border-bottom: 1px solid color-mix(in srgb, var(--border-default) 78%, transparent); padding: 12px 0; }
:where([data-booking-template-root="default"]) .booking-cart-credit-preview li:last-child { border-bottom: 0; padding-bottom: 0; }
:where([data-booking-template-root="default"]) .booking-cart-credit-preview__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 12px; }
:where([data-booking-template-root="default"]) .booking-cart-credit-preview__row span { min-width: 0; overflow-wrap: anywhere; color: var(--text-muted); font-size: 12px; line-height: 1.4; }
:where([data-booking-template-root="default"]) .booking-cart-credit-preview__row strong { color: var(--text-strong); font-size: 14px; font-weight: 900; text-align: right; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-cart-credit-preview li small { display: flex; gap: 6px; color: var(--text-muted); font-size: 12px; line-height: 1.4; }
:where([data-booking-template-root="default"]) .booking-cart-credit-preview li small span { font-weight: 700; }
:where([data-booking-template-root="default"]) .booking-cart-total .booking-cart-button, :where([data-booking-template-root="default"]) .booking-cart-button[href] { border: 0; background: var(--action-primary); color: var(--text-on-brand); cursor: pointer; }
:where([data-booking-template-root="default"]) .booking-cart-total .booking-cart-button:hover, :where([data-booking-template-root="default"]) .booking-cart-button[href]:hover { background: var(--action-primary-hover); }
:where([data-booking-template-root="default"]) .booking-cart-total .booking-cart-button:focus-visible, :where([data-booking-template-root="default"]) .booking-cart-button[href]:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-checkout-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
:where([data-booking-template-root="default"]) .booking-checkout-heading h1 { margin: 0; color: var(--text-strong); font-size: clamp(28px, 4vw, 42px); font-weight: 900; letter-spacing: -.035em; }
:where([data-booking-template-root="default"]) .booking-checkout-heading a { display: inline-flex; min-height: 40px; align-items: center; border-radius: var(--radius-control); color: var(--action-primary); font-weight: 800; padding: 0 12px; text-decoration: none; transition: background var(--transition-fast), color var(--transition-fast); }
:where([data-booking-template-root="default"]) .booking-checkout-heading a:hover { background: var(--surface-accent); color: var(--action-primary-hover); }
:where([data-booking-template-root="default"]) .booking-checkout-heading p { margin: 4px 0 0; color: var(--text-muted); font-size: 12px; }
:where([data-booking-template-root="default"]) .booking-checkout-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, 360px); }
:where([data-booking-template-root="default"]) .booking-checkout-summary { display: grid; gap: 18px; padding: 24px; }
:where([data-booking-template-root="default"]) .booking-checkout-summary__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: -4px; }
:where([data-booking-template-root="default"]) .booking-checkout-summary__heading h2 { margin: 0; color: var(--text-strong); font-size: 19px; font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-checkout-summary__heading span { margin: 4px 0 0; color: var(--text-muted); font-size: 12px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact { margin: 0 -4px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item { grid-template-columns: 24px minmax(0, 1fr) auto; gap: 6px 10px; padding: 14px 4px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item__index { width: 20px; height: 20px; font-size: 11px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item h2 { overflow: hidden; font-size: 14px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 8px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dl div { display: block; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dl div:nth-child(3) { grid-column: 1 / -1; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dt, :where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dd { display: inline; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dt { margin-right: 4px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dt, :where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dd { font-size: 12px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item-price { grid-column: 3; grid-row: 1 / span 2; font-size: 14px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-additions { grid-column: 2 / -1; }
@media (max-width: 899px) { :where([data-booking-template-root="default"]) .booking-checkout-grid { grid-template-columns: 1fr; } }
:where([data-booking-template-root="default"]) .booking-toast-viewport { position: fixed; right: max(16px, var(--page-pad-mobile)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 100; display: grid; width: min(380px, calc(100vw - 32px)); gap: 10px; pointer-events: none; }
:where([data-booking-template-root="default"]) .booking-toast { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; border: 1px solid var(--border-default); border-left: 4px solid var(--action-primary); border-radius: var(--radius-control); background: var(--surface-raised); box-shadow: var(--shadow-control); color: var(--text-strong); font-size: 13px; line-height: 1.45; padding: 13px 14px; pointer-events: auto; }
:where([data-booking-template-root="default"]) .booking-toast--error { border-left-color: var(--state-danger); }
:where([data-booking-template-root="default"]) .booking-toast--success { border-left-color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-toast button { flex: 0 0 auto; border: 0; background: transparent; color: var(--text-muted); cursor: pointer; font: inherit; font-size: 18px; line-height: 1; padding: 0 2px; }
:where([data-booking-template-root="default"]) .booking-toast button:hover { color: var(--text-strong); }
:where([data-booking-template-root="default"]) .booking-build-update-backdrop { --update-surface: var(--surface-raised); --update-ink: var(--surface-ink); --update-muted: var(--text-muted); --update-line: var(--border-muted); --update-accent: var(--project-brand-primary); position: fixed; inset: 0; z-index: 110; display: grid; place-items: center; background: var(--overlay-scrim); padding: 24px; backdrop-filter: blur(10px); animation: default-booking-build-update-fade 180ms ease-out both; }
:where([data-booking-template-root="default"]) .booking-build-update-modal { position: relative; width: min(100%, 480px); overflow: hidden; border: 1px solid var(--update-line); border-radius: 24px; background: var(--update-surface); box-shadow: var(--shadow-update-modal); color: var(--update-ink); font-family: var(--font-sans); padding: 32px; animation: default-booking-build-update-enter 280ms cubic-bezier(.16, 1, .3, 1) 80ms both; }
:where([data-booking-template-root="default"]) .booking-build-update-modal::before { position: absolute; inset: 0 0 auto; height: 4px; background: var(--update-accent); content: ''; }
:where([data-booking-template-root="default"]) .booking-build-update-modal__brand { display: inline-flex; align-items: center; gap: 10px; color: var(--update-ink); font-size: 15px; font-weight: 900; letter-spacing: -.01em; }
:where([data-booking-template-root="default"]) .booking-build-update-modal__brand img { display: block; width: 28px; height: 28px; }
:where([data-booking-template-root="default"]) .booking-build-update-modal__eyebrow { display: flex; align-items: center; gap: 9px; margin-top: 20px; color: var(--update-accent); font-size: 11px; font-weight: 900; letter-spacing: .14em; line-height: 1.3; text-transform: uppercase; }
:where([data-booking-template-root="default"]) .booking-build-update-modal__mark { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid color-mix(in srgb, var(--update-accent) 30%, var(--update-line)); border-radius: 50%; background: color-mix(in srgb, var(--update-accent) 8%, var(--update-surface)); }
:where([data-booking-template-root="default"]) .booking-build-update-modal__mark svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
:where([data-booking-template-root="default"]) .booking-build-update-modal h2 { max-width: 13ch; margin: 16px 0 12px; color: var(--update-ink); font-size: clamp(28px, 5vw, 42px); font-weight: 900; letter-spacing: -.055em; line-height: 1.02; text-wrap: balance; }
:where([data-booking-template-root="default"]) .booking-build-update-modal p { max-width: 42ch; margin: 0; color: var(--update-muted); font-size: 15px; line-height: 1.65; }
:where([data-booking-template-root="default"]) .booking-build-update-modal__action { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 14px; margin-top: 28px; border: 0; border-radius: 10px; background: var(--update-accent); color: var(--text-inverse); cursor: pointer; font: inherit; font-size: 14px; font-weight: 800; padding: 0 18px; transition: transform 150ms ease, background 150ms ease; }
:where([data-booking-template-root="default"]) .booking-build-update-modal__action:hover { background: var(--project-brand-primary-hover); transform: translateY(-1px); }
:where([data-booking-template-root="default"]) .booking-build-update-modal__action:active { transform: translateY(0) scale(.98); }
:where([data-booking-template-root="default"]) .booking-build-update-modal__action:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-build-update-modal--merchant { --update-surface: var(--surface-raised); --update-ink: var(--text-strong); --update-muted: var(--text-muted); --update-line: var(--border-default); --update-accent: var(--action-primary); font-family: var(--font-sans); }
:where([data-booking-template-root="default"]) .booking-build-update-modal--merchant .booking-build-update-modal__brand { justify-content: center; width: 100%; }
:where([data-booking-template-root="default"]) .booking-build-update-modal--merchant .booking-build-update-modal__brand img { width: 148px; height: auto; object-fit: contain; }
:where([data-booking-template-root="default"]) .booking-build-update-modal--merchant .booking-build-update-modal__action { background: var(--action-primary); color: var(--text-on-brand); }
:where([data-booking-template-root="default"]) .booking-build-update-modal--merchant .booking-build-update-modal__action:hover { background: var(--action-primary-hover); }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-build-update-backdrop { padding: 16px; }:where([data-booking-template-root="default"]) .booking-build-update-modal { border-radius: 20px; padding: 28px 24px; }:where([data-booking-template-root="default"]) .booking-build-update-modal__eyebrow { margin-top: 20px; }:where([data-booking-template-root="default"]) .booking-build-update-modal h2 { font-size: clamp(30px, 10vw, 40px); } }
@keyframes default-booking-build-update-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes default-booking-build-update-enter { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { :where([data-booking-template-root="default"]) .booking-build-update-backdrop, :where([data-booking-template-root="default"]) .booking-build-update-modal { animation: none; } }

/* Project status pages remain self-contained before merchant theme resolution. */
:where([data-booking-template-root="default"]) .booking-not-found--global { --project-code-size: 22vw; }
:where([data-booking-template-root="default"]) .booking-not-found--global-not-found .booking-not-found__global-code { --project-code-size: 22vw; }
:where([data-booking-template-root="default"]) .booking-not-found__global-project { border-top: 0; border-left: 4px solid var(--project-accent); padding-top: 0; padding-left: 18px; }
:where([data-booking-template-root="default"]) .booking-not-found__global-project-link { border: 0; background: var(--project-accent); color: var(--text-inverse); padding: 0 20px; }
:where([data-booking-template-root="default"]) .booking-not-found__global-project-link:visited { color: var(--text-inverse); }
:where([data-booking-template-root="default"]) .booking-not-found__global-project-link:hover { background: var(--project-accent-hover); transform: translateY(-1px); }
:where([data-booking-template-root="default"]) .booking-project-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--border-default); padding-top: 16px; color: var(--text-muted); font-size: 12px; font-weight: 700; }
:where([data-booking-template-root="default"]) .booking-project-footer a { color: inherit; text-underline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-project-footer a:hover { color: var(--text-strong); text-decoration: underline; }
:where([data-booking-template-root="default"]) .booking-project-footer a:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
@media (max-width: 768px) { :where([data-booking-template-root="default"]) .booking-not-found__global-code { font-size: 52vw; } }
@media (max-width: 399px) { :where([data-booking-template-root="default"]) .booking-not-found__global-project { padding-left: 14px; } }
:where([data-booking-template-root="default"]) .booking-project-entry { --project-entry-bg: var(--surface-page); --project-entry-text: var(--text-strong); --project-entry-muted: var(--text-muted); --project-entry-line: var(--border-default); --project-entry-accent: var(--project-brand-primary); --project-entry-accent-hover: var(--project-brand-primary-hover); display: grid; min-height: 100dvh; grid-template-rows: auto 1fr auto; gap: 32px; padding: clamp(24px, 5vw, 64px) clamp(20px, 7vw, 96px) 24px; background: var(--project-entry-bg); color: var(--project-entry-text); }
:where([data-booking-template-root="default"]) .booking-project-entry__brand { display: inline-flex; width: fit-content; align-items: center; gap: 12px; font-size: 15px; font-weight: 900; letter-spacing: .02em; }
:where([data-booking-template-root="default"]) .booking-project-entry__brand img { display: block; width: 48px; height: 48px; }
:where([data-booking-template-root="default"]) .booking-project-entry__brand small { display: block; margin-top: 2px; color: var(--project-entry-muted); font-size: 9px; font-weight: 800; letter-spacing: .18em; }
:where([data-booking-template-root="default"]) .booking-project-entry__content { display: grid; width: min(100%, 800px); gap: 40px; align-items: center; justify-self: center; align-self: center; }
:where([data-booking-template-root="default"]) .booking-project-entry__copy { max-width: 720px; }
:where([data-booking-template-root="default"]) .booking-project-entry__copy h1 { max-width: 20ch; margin: 0; color: var(--project-entry-text); font-size: clamp(40px, 5vw, 64px); font-weight: 900; letter-spacing: -.055em; line-height: .98; text-wrap: balance; }
:where([data-booking-template-root="default"]) .booking-project-entry__copy > p { max-width: 45ch; margin: 24px 0 0; color: var(--project-entry-muted); font-size: 17px; line-height: 1.65; }
:where([data-booking-template-root="default"]) .booking-project-entry__route { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; margin-top: 32px; border-top: 1px solid var(--project-entry-line); border-bottom: 1px solid var(--project-entry-line); padding: 18px 0; }
:where([data-booking-template-root="default"]) .booking-project-entry__route p { max-width: 32ch; margin: 0; color: var(--project-entry-text); font-size: 14px; font-weight: 800; line-height: 1.55; }
:where([data-booking-template-root="default"]) .booking-project-entry__route code { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid color-mix(in srgb, var(--project-entry-accent) 36%, var(--project-entry-line)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--project-entry-accent) 8%, var(--surface-raised)); color: var(--project-entry-accent); font: 800 13px/1 var(--font-mono); padding: 0 12px; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-project-entry__action-row { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; border-top: 2px solid var(--project-entry-accent); padding-top: 20px; }
:where([data-booking-template-root="default"]) .booking-project-entry__action-row p { max-width: 30ch; margin: 0; color: var(--project-entry-text); font-size: clamp(22px, 3vw, 32px); font-weight: 900; letter-spacing: -.035em; line-height: 1.08; }
:where([data-booking-template-root="default"]) .booking-project-entry__action-link { display: inline-flex; min-height: 44px; align-items: center; border-radius: var(--radius-control); background: var(--project-entry-accent); color: var(--text-inverse); padding: 0 20px; font-size: 14px; font-weight: 800; text-decoration: none; transition: transform 150ms ease, background 150ms ease; }
:where([data-booking-template-root="default"]) .booking-project-entry__action-link:visited { color: var(--text-inverse); }
:where([data-booking-template-root="default"]) .booking-project-entry__action-link:hover { background: var(--project-entry-accent-hover); transform: translateY(-1px); }
:where([data-booking-template-root="default"]) .booking-project-entry__action-link:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
@media (max-width: 767px) { :where([data-booking-template-root="default"]) .booking-project-entry { gap: 24px; padding: 20px 20px 16px; } :where([data-booking-template-root="default"]) .booking-project-entry__content { gap: 32px; padding: 32px 0 48px; } :where([data-booking-template-root="default"]) .booking-project-entry__copy h1 { max-width: 20ch; font-size: clamp(38px, 12vw, 56px); } :where([data-booking-template-root="default"]) .booking-project-entry__copy > p { margin-top: 18px; font-size: 16px; } :where([data-booking-template-root="default"]) .booking-project-entry__route { grid-template-columns: 1fr; gap: 12px; margin-top: 24px; } :where([data-booking-template-root="default"]) .booking-project-entry__action-row { grid-template-columns: 1fr; gap: 18px; } :where([data-booking-template-root="default"]) .booking-project-entry__action-row p { font-size: clamp(20px, 6vw, 28px); } :where([data-booking-template-root="default"]) .booking-project-footer { align-items: flex-start; flex-direction: column; } }
@media (max-width: 399px) { :where([data-booking-template-root="default"]) .booking-project-entry { padding: 16px; } :where([data-booking-template-root="default"]) .booking-project-entry__content { gap: 24px; padding: 24px 0 32px; } :where([data-booking-template-root="default"]) .booking-project-entry__copy h1 { font-size: clamp(32px, 10vw, 46px); } }
:where([data-booking-template-root="default"]) .booking-checkout-fields input, :where([data-booking-template-root="default"]) .booking-checkout-fields select { min-height: 42px; border: 1px solid var(--border-default); border-radius: 9px; background: var(--surface-field); color: var(--text-strong); font: inherit; font-weight: 500; padding: 0 11px; }
:where([data-booking-template-root="default"]) .booking-checkout-phone { display: grid; grid-column: auto; gap: 6px; min-width: 0; margin: 0; border: 0; padding: 0; }
:where([data-booking-template-root="default"]) .booking-checkout-phone legend { color: var(--text-strong); font-size: 13px; font-weight: 800; padding: 0; }
:where([data-booking-template-root="default"]) .booking-checkout-phone__fields { display: grid; grid-template-columns: minmax(120px, .36fr) minmax(0, 1fr); gap: 10px; }
:where([data-booking-template-root="default"]) .booking-checkout-phone__fields label { min-width: 0; }
:where([data-booking-template-root="default"]) .booking-checkout-phone__fields select, :where([data-booking-template-root="default"]) .booking-checkout-phone__fields input { width: 100%; }
:where([data-booking-template-root="default"]) .booking-checkout-fields > label:nth-of-type(8), :where([data-booking-template-root="default"]) .booking-checkout-fields > label:nth-of-type(9) { grid-column: 1 / -1; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dl { grid-template-columns: 1fr; gap: 4px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dl div { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 8px; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dt, :where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dd { display: block; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item dt { margin-right: 0; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-cart-item__aside { display: flex; min-width: 112px; grid-column: 3; grid-row: 1 / span 2; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 12px; }
:where([data-booking-template-root="default"]) .booking-cart-item__aside .booking-cart-item-price { grid-column: auto; grid-row: auto; }
:where([data-booking-template-root="default"]) .booking-cart-item-price-group { display: grid; justify-items: end; gap: 2px; }
:where([data-booking-template-root="default"]) .booking-cart-item-price--original { color: var(--text-muted); font-size: 12px; text-decoration: line-through; }
:where([data-booking-template-root="default"]) .booking-cart-item-price--discount { color: var(--action-primary); font-size: 12px; }
:where([data-booking-template-root="default"]) .booking-cart-item-price-group .booking-cart-item-price { grid-column: auto; grid-row: auto; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item { grid-template-columns: 24px minmax(0, 1fr); grid-template-rows: auto auto; align-items: start; gap: 0; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item__index { grid-row: 1 / span 2; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item__main { grid-column: 2; grid-row: 1; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item__main dl { grid-template-columns: 1fr; gap: 6px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item__main dl div { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 8px; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item__main dt { white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item__main dd { min-width: 0; overflow-wrap: anywhere; text-align: right; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item__aside { display: flex; grid-column: 2; grid-row: 2; align-items: end; justify-content: flex-end; gap: 12px; min-width: 0; margin-top: 2px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-price-display { flex-wrap: nowrap; gap: 8px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-price-display__current { font-size: 14px; }
:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-price-display__original { font-size: 14px; }
:where([data-booking-template-root="default"]) .booking-cart-item-remove { display: grid; width: 36px; height: 36px; min-height: 36px; place-items: center; margin: 0; border: 1px solid var(--border-default); border-radius: 50%; background: var(--surface-field); color: var(--text-muted); cursor: pointer; padding: 0; transition: border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast); }
:where([data-booking-template-root="default"]) .booking-cart-item-remove svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
:where([data-booking-template-root="default"]) .booking-cart-item-remove:hover { border-color: color-mix(in srgb, var(--state-danger) 45%, var(--border-default)); background: color-mix(in srgb, var(--state-danger) 8%, var(--surface-field)); color: var(--state-danger); transform: translateY(-1px); }
:where([data-booking-template-root="default"]) .booking-cart-item-remove:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-cart-heading, :where([data-booking-template-root="default"]) .booking-checkout-heading { align-items: flex-start; flex-direction: column; }:where([data-booking-template-root="default"]) .booking-cart-heading a, :where([data-booking-template-root="default"]) .booking-checkout-heading a { padding-inline: 0; }:where([data-booking-template-root="default"]) .booking-cart-item { grid-template-columns: 24px minmax(0, 1fr); padding: 20px 16px; }:where([data-booking-template-root="default"]) .booking-cart-item__main { grid-column: 2; }:where([data-booking-template-root="default"]) .booking-cart-item-price { grid-column: 2; grid-row: auto; margin-top: 6px; text-align: left; }:where([data-booking-template-root="default"]) .booking-cart-additions { grid-column: 2; }:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item { grid-template-columns: 24px minmax(0, 1fr); }:where([data-booking-template-root="default"]) .booking-cart-item-list--compact .booking-cart-item-price { grid-column: 2; grid-row: auto; text-align: left; }:where([data-booking-template-root="default"]) .booking-toast-viewport { right: 12px; bottom: 12px; width: calc(100vw - 24px); } }
:where([data-booking-template-root="default"]) .booking-cart-item__aside .booking-cart-item-price { margin: 0; }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-cart-item__aside { grid-column: 2; grid-row: auto; min-width: 0; align-items: flex-start; gap: 8px; } }
:where([data-booking-template-root="default"]) .booking-cart-clear { min-height: 38px; border: 1px solid var(--border-default); border-radius: var(--radius-control); background: var(--surface-field); color: var(--text-muted); cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; padding: 0 12px; }
:where([data-booking-template-root="default"]) .booking-cart-clear:hover { border-color: color-mix(in srgb, var(--state-danger) 45%, var(--border-default)); color: var(--state-danger); }
:where([data-booking-template-root="default"]) .booking-cart-clear:disabled, :where([data-booking-template-root="default"]) .booking-cart-item-remove:disabled, :where([data-booking-template-root="default"]) .booking-cart-button:disabled { cursor: not-allowed; opacity: .5; transform: none; }
:where([data-booking-template-root="default"]) .booking-cart-issues { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: -8px 0 24px; border-color: color-mix(in srgb, var(--state-danger) 36%, var(--border-default)); background: color-mix(in srgb, var(--state-danger) 4%, var(--surface-raised)); padding: 14px 18px; }
:where([data-booking-template-root="default"]) .booking-cart-issues p, :where([data-booking-template-root="default"]) .booking-cart-item__issue { margin: 0; color: var(--state-danger); font-size: 13px; font-weight: 700; line-height: 1.45; }
:where([data-booking-template-root="default"]) .booking-cart-item--invalid { background: color-mix(in srgb, var(--state-danger) 3%, var(--surface-raised)); }
:where([data-booking-template-root="default"]) .booking-cart-item--invalid::after { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; background: var(--state-danger); content: ''; }
:where([data-booking-template-root="default"]) .booking-cart-item__issue { margin-top: 10px; }
:where([data-booking-template-root="default"]) .booking-payment-methods { display: grid; grid-column: 1 / -1; gap: 10px; min-width: 0; margin: 4px 0 0; border: 0; padding: 0; }
:where([data-booking-template-root="default"]) .booking-payment-methods legend { color: var(--text-strong); font-size: 13px; font-weight: 800; padding: 0; }
:where([data-booking-template-root="default"]) .booking-payment-methods label { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 46px; border: 1px solid var(--border-default); border-radius: var(--radius-control); background: var(--surface-field); cursor: pointer; padding: 12px; }
:where([data-booking-template-root="default"]) .booking-payment-methods label.booking-payment-method--unsupported { border-color: color-mix(in srgb, var(--state-danger) 35%, var(--border-default)); cursor: not-allowed; opacity: .62; }
:where([data-booking-template-root="default"]) .booking-payment-methods input { accent-color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-payment-methods span { color: var(--text-strong); font-size: 14px; font-weight: 700; }
:where([data-booking-template-root="default"]) .booking-payment-methods small { color: var(--text-muted); font-size: 12px; }
:where([data-booking-template-root="default"]) .booking-payment-methods:disabled label { cursor: wait; opacity: .65; }
:where([data-booking-template-root="default"]) .booking-checkout-form { display: grid; gap: 20px; padding: 0; }:where([data-booking-template-root="default"]) .booking-checkout-section { padding: 24px; }:where([data-booking-template-root="default"]) .booking-checkout-section h2 { margin: 0 0 20px; color: var(--text-strong); font-size: 20px; font-weight: 900; }:where([data-booking-template-root="default"]) .booking-saved-address { display: grid; gap: 12px; }:where([data-booking-template-root="default"]) .booking-saved-address__option { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 11px; border: 1px solid var(--action-primary); border-radius: var(--radius-control); background: color-mix(in srgb, var(--action-primary) 6%, var(--surface-field)); cursor: pointer; padding: 14px; }:where([data-booking-template-root="default"]) .booking-saved-address__option input { margin-top: 3px; accent-color: var(--action-primary); }:where([data-booking-template-root="default"]) .booking-saved-address__option span { display: grid; gap: 4px; min-width: 0; }:where([data-booking-template-root="default"]) .booking-saved-address__option strong { color: var(--text-strong); font-size: 14px; }:where([data-booking-template-root="default"]) .booking-saved-address__option small { overflow-wrap: anywhere; color: var(--text-muted); font-size: 13px; line-height: 1.45; }:where([data-booking-template-root="default"]) .booking-saved-address > button { justify-self: start; border: 0; background: transparent; color: var(--action-primary); cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; padding: 0; }:where([data-booking-template-root="default"]) .booking-saved-address > button:hover { color: var(--action-primary-hover); text-decoration: underline; }:where([data-booking-template-root="default"]) .booking-checkout-submit { width: 100%; }:where([data-booking-template-root="default"]) .booking-checkout-agreements { display: grid; gap: 10px; margin: 0; padding: 0; }:where([data-booking-template-root="default"]) .booking-checkout-agreements__title { color: var(--text-strong); font-size: 13px; font-weight: 800; }:where([data-booking-template-root="default"]) .booking-checkout-agreement { display: flex; align-items: flex-start; gap: 8px; color: var(--text-muted); font-size: 12px; line-height: 1.5; }:where([data-booking-template-root="default"]) .booking-checkout-agreement a { color: var(--action-primary); font-size: inherit; text-decoration: underline; text-underline-offset: 3px; }:where([data-booking-template-root="default"]) .booking-checkout-agreement a:hover { color: var(--action-primary-hover); text-decoration: none; }:where([data-booking-template-root="default"]) .booking-checkout-agreement input { flex: 0 0 auto; margin-top: 2px; accent-color: var(--action-primary); }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-cart-issues { align-items: flex-start; flex-direction: column; } }
:where([data-booking-template-root="default"]) .booking-billing-address-page { width: min(100% - (var(--page-pad-mobile) * 2), 860px); margin: 0 auto; padding: 48px 0 72px; }
:where([data-booking-template-root="default"]) .booking-billing-address-heading { margin-bottom: 24px; }
:where([data-booking-template-root="default"]) .booking-billing-address-heading h1 { margin: 0; color: var(--text-strong); font-size: clamp(28px, 4vw, 42px); font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-billing-address-heading p { margin: 8px 0 0; color: var(--text-muted); line-height: 1.6; }
:where([data-booking-template-root="default"]) .booking-billing-address-form { display: grid; gap: 22px; padding: 24px; }
:where([data-booking-template-root="default"]) .booking-billing-address-submit { width: min(100%, 280px); justify-self: end; }
:where([data-booking-template-root="default"]) .booking-billing-address-skeleton { min-height: 470px; border-radius: var(--booking-card-radius); }
:where([data-booking-template-root="default"]) .booking-field-error { color: var(--state-danger); font-size: 12px; font-weight: 700; line-height: 1.35; }
:where([data-booking-template-root="default"]) .booking-inline-warning { display: flex; align-items: center; justify-content: space-between; gap: 12px; grid-column: 1 / -1; border: 1px solid color-mix(in srgb, var(--state-danger) 32%, var(--border-default)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--state-danger) 4%, var(--surface-field)); color: var(--state-danger); font-size: 13px; font-weight: 700; line-height: 1.45; padding: 12px 14px; }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-billing-address-page { padding: 32px 0 52px; }:where([data-booking-template-root="default"]) .booking-billing-address-form { padding: 18px 16px; }:where([data-booking-template-root="default"]) .booking-billing-address-submit { width: 100%; } }

/* Appointment history uses progressive loading so the first page stays fast and readable. */
:where([data-booking-template-root="default"]) .booking-appointments-eyebrow { margin: 0 0 8px !important; color: var(--action-primary) !important; font-size: 12px !important; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
:where([data-booking-template-root="default"]) .booking-account-shell { width: min(100% - (var(--page-pad-mobile) * 2), var(--content-max)); margin: 0 auto; padding: 40px 0 72px; }
:where([data-booking-template-root="default"]) .booking-account-shell__layout { display: grid; grid-template-columns: minmax(210px, 248px) minmax(0, 1fr); gap: 28px; align-items: start; }
:where([data-booking-template-root="default"]) .booking-account-shell__sidebar { position: sticky; top: calc(var(--booking-header-height) + 24px); display: grid; gap: 20px; border: 1px solid var(--border-default); border-radius: var(--booking-card-radius); background: var(--surface-raised); box-shadow: var(--shadow-control); padding: 22px; }
:where([data-booking-template-root="default"]) .booking-account-shell__identity { display: flex; align-items: center; gap: 12px; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-account-shell__identity .booking-header-user { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--action-primary) 14%, var(--surface-field)); color: var(--action-primary); font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-account-shell__identity > div { display: grid; min-width: 0; gap: 4px; }
:where([data-booking-template-root="default"]) .booking-account-shell__identity strong { overflow-wrap: anywhere; color: var(--text-strong); font-size: 15px; }
:where([data-booking-template-root="default"]) .booking-account-shell__eyebrow { color: var(--text-muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
:where([data-booking-template-root="default"]) .booking-account-shell__desktop-nav { display: grid; gap: 4px; }
:where([data-booking-template-root="default"]) .booking-account-shell__link { display: flex; min-height: 46px; align-items: center; gap: 11px; border: 0; border-radius: var(--radius-control); background: transparent; color: var(--text-body); cursor: pointer; font: inherit; font-size: 14px; font-weight: 800; padding: 0 12px; text-align: left; text-decoration: none; transition: background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast); }
:where([data-booking-template-root="default"]) .booking-account-shell__link:hover { background: var(--surface-page); color: var(--text-strong); transform: translateX(2px); }
:where([data-booking-template-root="default"]) .booking-account-shell__link:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
:where([data-booking-template-root="default"]) .booking-account-shell__link--active { background: color-mix(in srgb, var(--action-primary) 12%, var(--surface-field)); color: var(--action-primary); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--action-primary) 18%, transparent); }
:where([data-booking-template-root="default"]) .booking-account-shell__link--active:hover { background: color-mix(in srgb, var(--action-primary) 16%, var(--surface-field)); color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-account-shell__nav-icon { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
:where([data-booking-template-root="default"]) .booking-account-shell__logout { margin-top: 10px; border-top: 1px solid var(--border-default); border-radius: 0; color: var(--state-danger); padding-top: 10px; }
:where([data-booking-template-root="default"]) .booking-account-shell__logout:hover { background: color-mix(in srgb, var(--state-danger) 5%, var(--surface-field)); color: var(--state-danger); }
:where([data-booking-template-root="default"]) .booking-account-shell__logout:disabled { cursor: wait; opacity: .55; }
:where([data-booking-template-root="default"]) .booking-account-shell__notice { margin: 0; color: var(--state-danger); font-size: 12px; line-height: 1.45; }
:where([data-booking-template-root="default"]) .booking-account-shell__mobile-nav { display: none; }
:where([data-booking-template-root="default"]) .booking-account-shell__mobile-nav summary { display: flex; min-height: 46px; align-items: center; justify-content: space-between; border: 1px solid var(--border-default); border-radius: var(--radius-control); background: var(--surface-field); color: var(--text-strong); cursor: pointer; font-size: 14px; font-weight: 800; list-style: none; padding: 0 14px; }
:where([data-booking-template-root="default"]) .booking-account-shell__mobile-nav summary::after { border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ''; height: 7px; transform: rotate(45deg) translateY(-2px); width: 7px; }
:where([data-booking-template-root="default"]) .booking-account-shell__mobile-nav[open] summary::after { transform: rotate(225deg) translate(-1px, -1px); }
:where([data-booking-template-root="default"]) .booking-account-shell__mobile-nav summary::-webkit-details-marker { display: none; }
:where([data-booking-template-root="default"]) .booking-account-shell__mobile-nav nav { display: grid; gap: 4px; margin-top: 8px; }
:where([data-booking-template-root="default"]) .booking-account-shell__content { min-width: 0; border: 1px solid var(--border-default); border-radius: var(--booking-card-radius); background: var(--surface-raised); box-shadow: var(--shadow-control); padding: 22px; }
:where([data-booking-template-root="default"]) .booking-account-page-heading { margin-bottom: 24px; }
:where([data-booking-template-root="default"]) .booking-account-page-heading h1 { margin: 0; color: var(--text-strong); font-size: clamp(28px, 4vw, 42px); font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-account-page-heading p:last-child { margin: 8px 0 0; color: var(--text-muted); line-height: 1.6; }
:where([data-booking-template-root="default"]) .booking-account-placeholder { display: grid; justify-items: center; min-height: 280px; align-content: center; gap: 8px; padding: 36px 24px; text-align: center; }
:where([data-booking-template-root="default"]) .booking-account-placeholder__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--action-primary) 12%, var(--surface-field)); color: var(--action-primary); font-size: 24px; font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-account-placeholder h2 { margin: 8px 0 0; color: var(--text-strong); font-size: 22px; }
:where([data-booking-template-root="default"]) .booking-account-placeholder p { max-width: 42ch; margin: 0; color: var(--text-muted); line-height: 1.55; }
:where([data-booking-template-root="default"]) .booking-transactions-page { min-width: 0; padding: 8px 0; }
:where([data-booking-template-root="default"]) .booking-transactions-skeleton { min-height: 420px; border-radius: var(--booking-card-radius); }
:where([data-booking-template-root="default"]) .booking-transactions-list-skeleton { min-height: 260px; border-radius: var(--booking-card-radius); }
:where([data-booking-template-root="default"]) .booking-transaction-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 20px; padding: 16px; border: 1px solid var(--border-default); border-radius: var(--booking-card-radius); background: var(--surface-raised); }
:where([data-booking-template-root="default"]) .booking-transaction-filters label { display: grid; min-width: 0; gap: 6px; color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-transaction-filters input, :where([data-booking-template-root="default"]) .booking-transaction-filters select { min-width: 0; min-height: 42px; border: 1px solid var(--border-default); border-radius: var(--radius-control); background: var(--surface-field); color: var(--text-body); font: inherit; padding: 0 12px; }
:where([data-booking-template-root="default"]) .booking-transaction-filters input:focus-visible, :where([data-booking-template-root="default"]) .booking-transaction-filters select:focus-visible { border-color: var(--action-primary); outline: 2px solid var(--focus-ring); outline-offset: 1px; }
:where([data-booking-template-root="default"]) .booking-transaction-filters__keyword { grid-column: span 2; }
:where([data-booking-template-root="default"]) .booking-appointment-date-input { position: relative; display: block; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-appointment-date-input input { width: 100%; }
:where([data-booking-template-root="default"]) .booking-appointment-date-input:not(.booking-appointment-date-input--filled) input { color: transparent; }
:where([data-booking-template-root="default"]) .booking-appointment-date-input__placeholder { position: absolute; top: 0; right: 40px; bottom: 0; left: 12px; display: flex; align-items: center; color: var(--text-muted); pointer-events: none; }
:where([data-booking-template-root="default"]) .booking-appointment-date-input--filled .booking-appointment-date-input__placeholder { display: none; }
:where([data-booking-template-root="default"]) .booking-transaction-filters__submit, :where([data-booking-template-root="default"]) .booking-transaction-filters__clear { align-self: end; min-height: 42px; border: 1px solid var(--action-primary); border-radius: var(--radius-control); cursor: pointer; font: inherit; font-weight: var(--type-button-weight, 800); padding: 0 14px; }
:where([data-booking-template-root="default"]) .booking-transaction-filters__submit { background: var(--action-primary); color: var(--text-on-brand); }
:where([data-booking-template-root="default"]) .booking-transaction-filters__submit:hover { background: var(--brand-primary-hover); }
:where([data-booking-template-root="default"]) .booking-transaction-filters__clear { background: var(--surface-field); color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-transaction-filters__clear:hover { background: var(--surface-accent); }
:where([data-booking-template-root="default"]) .booking-transaction-list { gap: 12px; }
:where([data-booking-template-root="default"]) .booking-transaction-card { overflow: hidden; border: 1px solid var(--border-default); border-radius: var(--booking-card-radius); background: var(--surface-raised); box-shadow: var(--shadow-control); }
:where([data-booking-template-root="default"]) .booking-transaction-card details > summary { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; padding: 20px 22px; }
:where([data-booking-template-root="default"]) .booking-transaction-card details > summary::-webkit-details-marker { display: none; }
:where([data-booking-template-root="default"]) .booking-transaction-card details > summary .booking-transaction-card__amount { display: flex; align-items: center; gap: 6px; }
:where([data-booking-template-root="default"]) .booking-transaction-card details > summary .booking-transaction-card__amount::-webkit-details-marker { display: none; }
:where([data-booking-template-root="default"]) .booking-transaction-card details > summary .booking-transaction-card__amount::after { width: 8px; height: 8px; flex: 0 0 auto; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; color: var(--text-muted); content: ''; transform: rotate(45deg) translateY(-3px); transition: transform var(--transition-fast); }
:where([data-booking-template-root="default"]) .booking-transaction-card details[open] > summary::after { transform: rotate(225deg) translate(-1px, -1px); }
:where([data-booking-template-root="default"]) .booking-transaction-card details > summary:hover { background: var(--surface-page); }
:where([data-booking-template-root="default"]) .booking-transaction-card details > summary:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: -2px; }
:where([data-booking-template-root="default"]) .booking-transaction-card__title { display: flex; min-width: 0; align-items: center; gap: 12px; }
:where([data-booking-template-root="default"]) .booking-transaction-card__title strong { min-width: 0; overflow: hidden; color: var(--text-strong); font-size: var(--type-h4-size, 16px); font-weight: var(--type-h4-weight, 800); text-overflow: ellipsis; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-transaction-card__amount { flex: 0 0 auto; color: var(--text-strong); font-size: var(--type-h4-size, 16px); font-weight: var(--type-h4-weight, 800); white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-transaction-status { display: inline-flex; max-width: 100%; align-items: center; border-radius: 999px; background: color-mix(in srgb, var(--action-primary) 11%, var(--surface-field)); color: var(--action-primary); font-size: 12px; font-weight: 900; line-height: 1.25; padding: 4px 9px; }
:where([data-booking-template-root="default"]) .booking-transaction-status--pending { background: color-mix(in srgb, var(--state-warning) 12%, var(--surface-field)); color: var(--state-warning); }
:where([data-booking-template-root="default"]) .booking-transaction-status--danger { background: color-mix(in srgb, var(--state-danger) 10%, var(--surface-field)); color: var(--state-danger); }
:where([data-booking-template-root="default"]) .booking-transaction-card__body { display: grid; gap: 20px; border-top: 1px solid var(--border-default); padding: 20px 22px 22px; }
:where([data-booking-template-root="default"]) .booking-transaction-card__order-summary { display: grid; gap: 12px; border-bottom: 1px solid var(--border-default); padding-bottom: 18px; }
:where([data-booking-template-root="default"]) .booking-transaction-card__order-summary h3 { margin: 0; color: var(--text-strong); font-size: var(--type-h4-size, 16px); font-weight: var(--type-h4-weight, 800); }
:where([data-booking-template-root="default"]) .booking-related-order-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 20px; margin: 0; }
:where([data-booking-template-root="default"]) .booking-related-order-summary > div { display: grid; min-width: 0; gap: 5px; }
:where([data-booking-template-root="default"]) .booking-related-order-summary dt { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); line-height: var(--type-label-line-height, 1.35); }
:where([data-booking-template-root="default"]) .booking-related-order-summary dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: 14px; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-related-order-summary__discount dd { color: var(--state-danger); }
:where([data-booking-template-root="default"]) .booking-related-order-summary__total dd { color: var(--action-primary); font-size: var(--type-h4-size, 16px); }
:where([data-booking-template-root="default"]) .booking-related-order-summary__coupon { grid-column: 1 / -1; }
:where([data-booking-template-root="default"]) .booking-related-order-summary__coupon dd { display: flex; flex-wrap: wrap; gap: 6px; }
:where([data-booking-template-root="default"]) .booking-related-order-summary__coupon code { border-radius: var(--radius-control); background: var(--surface-page); color: var(--text-body); font-family: inherit; font-size: 12px; font-weight: 700; padding: 4px 8px; }
:where([data-booking-template-root="default"]) .booking-appointment-item-pricing { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 0; padding: 16px 0 0; border-top: 1px solid color-mix(in srgb, var(--border-default) 76%, transparent); }
:where([data-booking-template-root="default"]) .booking-appointment-item-pricing > div { display: grid; min-width: 0; gap: 5px; }
:where([data-booking-template-root="default"]) .booking-appointment-item-pricing dt { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); line-height: var(--type-label-line-height, 1.35); }
:where([data-booking-template-root="default"]) .booking-appointment-item-pricing dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: 14px; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-appointment-item-pricing__discount dd { color: var(--state-danger); }
:where([data-booking-template-root="default"]) .booking-appointment-item-pricing__total dd { color: var(--action-primary); font-size: var(--type-h4-size, 16px); }
:where([data-booking-template-root="default"]) .booking-appointment-item-pricing--compact { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; padding-top: 14px; border-top: 1px solid color-mix(in srgb, var(--border-default) 76%, transparent); color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-appointment-item-pricing--compact strong { min-width: 0; overflow-wrap: anywhere; color: var(--action-primary); font-size: var(--type-h4-size, 16px); font-weight: var(--type-h4-weight, 800); text-align: right; }
:where([data-booking-template-root="default"]) .booking-transaction-attempt dl div, :where([data-booking-template-root="default"]) .booking-transaction-appointment dl div { display: grid; min-width: 0; gap: 5px; }
:where([data-booking-template-root="default"]) .booking-transaction-attempt dt, :where([data-booking-template-root="default"]) .booking-transaction-appointment dt { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); line-height: var(--type-label-line-height, 1.35); }
:where([data-booking-template-root="default"]) .booking-transaction-attempt dd, :where([data-booking-template-root="default"]) .booking-transaction-appointment dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: 14px; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-transaction-card__sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
:where([data-booking-template-root="default"]) .booking-transaction-card__sections section { min-width: 0; }
:where([data-booking-template-root="default"]) .booking-transaction-card__sections h3 { margin: 0 0 12px; color: var(--text-strong); font-size: var(--type-h4-size, 16px); font-weight: var(--type-h4-weight, 800); }
:where([data-booking-template-root="default"]) .booking-transaction-attempt-list, :where([data-booking-template-root="default"]) .booking-transaction-appointment-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
:where([data-booking-template-root="default"]) .booking-transaction-attempt, :where([data-booking-template-root="default"]) .booking-transaction-appointment { min-width: 0; border: 1px solid var(--border-default); border-radius: var(--radius-control); background: var(--surface-page); padding: 13px 14px; }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item { display: grid; gap: 12px; min-width: 0; border: 1px solid var(--border-default); border-radius: var(--radius-control); background: var(--surface-page); padding: 14px; }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item__heading { display: grid; min-width: 0; gap: 4px; }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item__heading strong { min-width: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: 16px; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item__heading span { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin: 0; }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item dl div { display: grid; min-width: 0; gap: 5px; }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item dt { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); line-height: var(--type-label-line-height, 1.35); }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: 14px; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item__record { color: var(--action-primary); font-weight: 800; overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item__record:hover { text-decoration: underline; }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item__record:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
:where([data-booking-template-root="default"]) .booking-transaction-credit-item__record--unsafe { color: var(--text-strong); }
:where([data-booking-template-root="default"]) .booking-transaction-appointment--period { border-inline-start: 3px solid var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-transaction-attempt__heading, :where([data-booking-template-root="default"]) .booking-transaction-appointment__heading { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 12px; }
:where([data-booking-template-root="default"]) .booking-transaction-attempt__heading strong, :where([data-booking-template-root="default"]) .booking-transaction-appointment__heading strong { min-width: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: 14px; }
:where([data-booking-template-root="default"]) .booking-transaction-attempt dl, :where([data-booking-template-root="default"]) .booking-transaction-appointment dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin: 12px 0 0; }
:where([data-booking-template-root="default"]) .booking-transaction-card__empty { margin: 0; border: 1px dashed var(--border-default); border-radius: var(--radius-control); color: var(--text-muted); font-size: 13px; padding: 14px; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment__link { display: inline-flex; margin-top: 12px; color: var(--action-primary); font-size: var(--type-link-size, 14px); font-weight: var(--type-link-weight, 800); text-decoration: none; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment__link:hover { text-decoration: underline; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel { position: relative; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__track { display: flex; gap: 0; overflow-x: auto; cursor: grab; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__track--dragging { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none; user-select: none; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__track::-webkit-scrollbar { display: none; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__track > .booking-transaction-appointment { display: flex; min-width: 100%; flex: 0 0 100%; flex-direction: column; scroll-snap-align: start; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__track > .booking-transaction-appointment .booking-transaction-appointment__link { max-width: 100%; margin-top: auto; overflow-wrap: anywhere; padding-top: 12px; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel[data-visible-count='1'] .booking-transaction-appointment__link { max-width: max(0px, calc(100% - 101px)); }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel[data-visible-count='2'] .booking-transaction-appointment__link { max-width: max(0px, calc(100% - 147px)); }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel[data-visible-count='3'] .booking-transaction-appointment__link { max-width: max(0px, calc(100% - 193px)); }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel[data-visible-count='4'] .booking-transaction-appointment__link { max-width: max(0px, calc(100% - 239px)); }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel[data-visible-count='5'] .booking-transaction-appointment__link { max-width: max(0px, calc(100% - 285px)); }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__pager { position: absolute; right: 0; bottom: 0; z-index: 1; display: flex; min-width: 0; align-items: center; justify-content: flex-end; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots { display: flex; min-width: 0; flex: 0 0 auto; align-items: center; gap: 8px; margin-inline-start: auto; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots-window { width: 232px; height: 48px; flex: 0 0 auto; box-sizing: border-box; overflow: hidden; padding: 2px; scroll-behavior: auto; scrollbar-width: none; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots-window[data-visible-count='1'] { width: 48px; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots-window[data-visible-count='2'] { width: 94px; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots-window[data-visible-count='3'] { width: 140px; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots-window[data-visible-count='4'] { width: 186px; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots-window::-webkit-scrollbar { display: none; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots-track { display: flex; width: max-content; align-items: center; gap: 2px; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots button { display: grid; min-width: 44px; min-height: 44px; flex: 0 0 44px; place-items: center; border: 0; border-radius: var(--radius-control); background: transparent; cursor: pointer; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots button span { display: block; width: 6px; height: 6px; border-radius: 999px; background: color-mix(in srgb, var(--text-muted) 30%, var(--surface-field)); transition: width 150ms ease, background-color 150ms ease; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots button[aria-selected='true'] span { width: 18px; height: 6px; background: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__dots button:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 0; }
:where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__count { flex: 0 0 auto; margin-inline-end: 8px; color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { :where([data-booking-template-root="default"]) .booking-transaction-appointment-carousel__track { scroll-behavior: auto; } }
:where([data-booking-template-root="default"]) .booking-account-detail-heading { align-items: flex-start; display: grid; gap: 12px; }
:where([data-booking-template-root="default"]) .booking-account-page__back { display: inline-flex; width: fit-content; min-height: 44px; align-items: center; color: var(--action-primary); font-size: var(--type-link-size, 14px); font-weight: var(--type-link-weight, 800); text-decoration: none; }
:where([data-booking-template-root="default"]) .booking-account-page__back:hover { color: var(--brand-primary-hover); text-decoration: underline; }
:where([data-booking-template-root="default"]) .booking-account-page__back:focus-visible { border-radius: var(--radius-control); outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-transaction-detail-card { display: grid; gap: 0; overflow: hidden; }
:where([data-booking-template-root="default"]) .booking-transaction-detail-card__header { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 16px; border-bottom: 1px solid var(--border-default); padding: 22px; }
:where([data-booking-template-root="default"]) .booking-transaction-detail-card__header h2 { margin: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); }
:where([data-booking-template-root="default"]) .booking-transaction-detail-card__header > strong { color: var(--action-primary); font-size: var(--type-h4-size, 16px); white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-transaction-detail-card > .booking-transaction-card__body { border-top: 0; }
:where([data-booking-template-root="default"]) .booking-account-page { width: 100%; min-width: 0; padding: 8px 0 72px; }
:where([data-booking-template-root="default"]) .booking-account-page__heading { display: flex; flex-direction: column; align-items: start; justify-content: space-between; gap: var(--booking-space-md); margin: 0 0 24px; }
:where([data-booking-template-root="default"]) .booking-account-page__heading h1 { margin: 0; color: var(--text-strong); font-size: var(--type-h1-size, clamp(32px, 4vw, 42px)); font-weight: var(--type-h1-weight, 900); line-height: var(--type-h1-line-height, 1.1); }
:where([data-booking-template-root="default"]) .booking-account-page__heading > div > p:last-child, :where([data-booking-template-root="default"]) .booking-account-page__heading > p:last-child { margin: 8px 0 0; color: var(--text-muted); line-height: 1.6; }
:where([data-booking-template-root="default"]) .booking-account-page__content { min-width: 0; }
:where([data-booking-template-root="default"]) .booking-profile-page { min-width: 0; }
:where([data-booking-template-root="default"]) .booking-profile-heading { align-items: flex-start; margin-bottom: 28px; border-bottom: 1px solid var(--border-default); padding-bottom: 22px; }
:where([data-booking-template-root="default"]) .booking-profile-heading__eyebrow { margin: 0 0 8px; color: var(--action-primary); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); letter-spacing: .08em; text-transform: uppercase; }
:where([data-booking-template-root="default"]) .booking-profile-heading h1 { margin: 0; }
:where([data-booking-template-root="default"]) .booking-profile-heading p:last-child { max-width: 58ch; }
:where([data-booking-template-root="default"]) .booking-profile-heading__edit { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; border: 1px solid var(--action-primary); border-radius: var(--radius-control); background: var(--surface-field); color: var(--action-primary); font-size: var(--type-link-size, 14px); font-weight: var(--type-link-weight, 800); padding: 0 16px; text-decoration: none; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-profile-heading__edit:hover { background: var(--action-primary); color: var(--text-on-brand); }
:where([data-booking-template-root="default"]) .booking-profile-heading__edit:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-profile-skeleton { display: grid; grid-template-columns: 1fr; gap: 16px; }
:where([data-booking-template-root="default"]) .booking-profile-skeleton article { display: grid; gap: 18px; min-height: 230px; border: 1px solid var(--border-default); border-radius: var(--booking-card-radius); background: var(--surface-raised); padding: 22px; }
:where([data-booking-template-root="default"]) .booking-profile-skeleton span { display: block; height: 14px; border-radius: 999px; background: var(--surface-page); overflow: hidden; position: relative; }
:where([data-booking-template-root="default"]) .booking-profile-skeleton span::after { position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, var(--surface-raised) 50%, transparent 80%); content: ''; animation: default-booking-shimmer 1.3s ease infinite; }
:where([data-booking-template-root="default"]) .booking-profile-skeleton__title { width: 42%; height: 20px !important; }
:where([data-booking-template-root="default"]) .booking-profile-skeleton__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; }
:where([data-booking-template-root="default"]) .booking-profile-skeleton__grid span:nth-child(3n + 1) { width: 84%; }
:where([data-booking-template-root="default"]) .booking-profile-skeleton__grid span:nth-child(3n + 2) { width: 62%; }
:where([data-booking-template-root="default"]) .booking-profile-skeleton__grid span:nth-child(3n) { width: 72%; }
:where([data-booking-template-root="default"]) .booking-profile-groups { display: grid; grid-template-columns: 1fr; gap: 16px; }
:where([data-booking-template-root="default"]) .booking-profile-group { min-width: 0; border: 1px solid var(--border-default); border-radius: var(--booking-card-radius); background: var(--surface-raised); padding: 22px; }
:where([data-booking-template-root="default"]) .booking-profile-group__header { margin: 0 0 16px; }
:where([data-booking-template-root="default"]) .booking-profile-group h2 { margin: 0; color: var(--text-strong); font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); line-height: var(--type-h2-line-height, 1.25); }
:where([data-booking-template-root="default"]) .booking-profile-group dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 22px; margin: 0; }
:where([data-booking-template-root="default"]) .booking-profile-group dl div { display: grid; min-width: 0; gap: 6px; border-bottom: 1px solid var(--border-default); padding: 12px 0; }
:where([data-booking-template-root="default"]) .booking-profile-group dl div:nth-last-child(-n + 2) { border-bottom: 0; }
:where([data-booking-template-root="default"]) .booking-profile-group dl .booking-profile-group__tier { grid-column: 1 / -1; border-bottom: 1px solid var(--border-default); background: var(--surface-page); border-radius: var(--radius-control); padding: 14px 16px; }
:where([data-booking-template-root="default"]) .booking-profile-group__tier dd { color: var(--action-primary); font-weight: var(--type-h4-weight, 800); }
:where([data-booking-template-root="default"]) .booking-profile-group dl .booking-profile-group__birthday { border-bottom: 1px solid var(--border-default); }
:where([data-booking-template-root="default"]) .booking-profile-group dt { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); line-height: var(--type-label-line-height, 1.35); }
:where([data-booking-template-root="default"]) .booking-profile-group dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: 15px; font-weight: var(--type-body-weight, 400); line-height: 1.45; }
:where([data-booking-template-root="default"]) .booking-profile-error { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; }
:where([data-booking-template-root="default"]) .booking-profile-error p { margin: 0; color: var(--state-danger); }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-profile-heading { margin-bottom: 20px; padding-bottom: 18px; }:where([data-booking-template-root="default"]) .booking-profile-heading__edit { width: 100%; }:where([data-booking-template-root="default"]) .booking-profile-skeleton, :where([data-booking-template-root="default"]) .booking-profile-groups { gap: 12px; }:where([data-booking-template-root="default"]) .booking-profile-skeleton article, :where([data-booking-template-root="default"]) .booking-profile-group { padding: 18px; }:where([data-booking-template-root="default"]) .booking-profile-skeleton__grid, :where([data-booking-template-root="default"]) .booking-profile-group dl { grid-template-columns: 1fr; }:where([data-booking-template-root="default"]) .booking-profile-group dl .booking-profile-group__tier, :where([data-booking-template-root="default"]) .booking-profile-group dl .booking-profile-group__birthday { grid-column: auto; }:where([data-booking-template-root="default"]) .booking-profile-group dl div:nth-last-child(-n + 2) { border-bottom: 1px solid var(--border-default); }:where([data-booking-template-root="default"]) .booking-profile-group dl div:last-child { border-bottom: 0; }:where([data-booking-template-root="default"]) .booking-profile-error { align-items: flex-start; flex-direction: column; } }
:where([data-booking-template-root="default"]) .booking-account-list { display: grid; gap: 16px; }
:where([data-booking-template-root="default"]) .booking-account-tabs { display: flex; gap: 20px; margin: 0 0 18px; border-bottom: 1px solid var(--border-default); }
:where([data-booking-template-root="default"]) .booking-account-tabs button { min-height: 44px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--text-muted); cursor: pointer; font: inherit; font-weight: var(--type-button-weight, 800); padding: 0 2px; }
:where([data-booking-template-root="default"]) .booking-account-tabs button[aria-selected='true'] { border-bottom-color: var(--action-primary); color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-account-tabs button:hover { color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-account-tabs button:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-account-list-section { min-width: 0; }
:where([data-booking-template-root="default"]) .booking-account-list-section__empty { margin: 0; border-bottom: 1px solid var(--border-default); color: var(--text-muted); padding: 20px 0; }
:where([data-booking-template-root="default"]) .booking-account-table-wrap { width: 100%; overflow-x: auto; }
:where([data-booking-template-root="default"]) .booking-account-table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--border-default); color: var(--text-body); }
:where([data-booking-template-root="default"]) .booking-account-table th, :where([data-booking-template-root="default"]) .booking-account-table td { min-width: 0; border-bottom: 1px solid var(--border-default); padding: 16px 12px; text-align: left; vertical-align: middle; }
:where([data-booking-template-root="default"]) .booking-account-table thead th { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); letter-spacing: .04em; text-transform: uppercase; }
:where([data-booking-template-root="default"]) .booking-account-table tbody tr { position: relative; }
:where([data-booking-template-root="default"]) .booking-account-table__row--linked { cursor: pointer; }
:where([data-booking-template-root="default"]) .booking-account-table tbody tr:hover { background: color-mix(in srgb, var(--surface-raised) 55%, transparent); }
:where([data-booking-template-root="default"]) .booking-account-table tbody th { color: var(--text-strong); font-size: var(--type-body-size, 15px); font-weight: var(--type-h4-weight, 800); }
:where([data-booking-template-root="default"]) .booking-account-table tbody td { color: var(--text-strong); font-size: var(--type-body-size, 15px); font-weight: var(--type-body-weight, 400); }
:where([data-booking-template-root="default"]) .booking-account-table__link { display: inline-flex; min-height: 44px; align-items: center; color: var(--action-primary); font-weight: var(--type-link-weight, 800); text-decoration: none; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-account-table__link:hover { text-decoration: underline; }
:where([data-booking-template-root="default"]) .booking-account-table__link:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-account-table__row-link { position: static; display: block; color: inherit; text-decoration: none; }
:where([data-booking-template-root="default"]) .booking-account-table__row-link::after { position: absolute; inset: 0; z-index: 1; content: ''; }
:where([data-booking-template-root="default"]) .booking-account-table__row-link:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: -2px; }
:where([data-booking-template-root="default"]) .booking-account-table__view-link { position: relative; z-index: 2; width: 44px; margin-inline: auto; justify-content: center; }
:where([data-booking-template-root="default"]) .booking-account-table__view-label { display: inline; }
:where([data-booking-template-root="default"]) .booking-account-table__view-icon { display: none; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
:where([data-booking-template-root="default"]) .booking-account-table__source-label { color: var(--text-muted); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-account-table td small { display: block; margin-top: 4px; color: var(--text-muted); font-size: var(--type-label-size, 12px); }
:where([data-booking-template-root="default"]) .booking-appointment-list-row__number { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-account-table__loading-row td { padding: 0 12px; }
:where([data-booking-template-root="default"]) .booking-account-table__loading { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: center; gap: 16px; min-height: 76px; }
:where([data-booking-template-root="default"]) .booking-account-table__loading span { display: block; height: 12px; border-radius: 999px; }
:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(1) { width: 72%; }
:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(2) { width: 86%; }
:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(3) { width: 58%; }
:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(4) { width: 82%; }
:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(5) { width: 68%; }
:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(6) { width: 74%; }
:where([data-booking-template-root="default"]) .booking-appointments-table .booking-account-table__loading { grid-template-columns: repeat(6, minmax(0, 1fr)); }
:where([data-booking-template-root="default"]) .booking-credit-records-table .booking-account-table__loading { grid-template-columns: repeat(5, minmax(0, 1fr)); }
:where([data-booking-template-root="default"]) .booking-list-load-more-skeleton { display: grid; gap: 10px; min-height: 78px; align-content: center; border-top: 1px solid var(--border-default); border-bottom: 1px solid var(--border-default); padding: 14px 0; }
:where([data-booking-template-root="default"]) .booking-list-load-more-skeleton span { display: block; height: 10px; border-radius: 999px; }
:where([data-booking-template-root="default"]) .booking-list-load-more-skeleton span:nth-child(1) { width: 34%; }
:where([data-booking-template-root="default"]) .booking-list-load-more-skeleton span:nth-child(2) { width: 72%; }
:where([data-booking-template-root="default"]) .booking-list-load-more-skeleton span:nth-child(3) { width: 52%; }
:where([data-booking-template-root="default"]) .booking-transactions-table { table-layout: fixed; }
:where([data-booking-template-root="default"]) .booking-transactions-table thead th:first-child { width: 28%; }
:where([data-booking-template-root="default"]) .booking-transaction-list-row__summary { display: block; min-width: 0; overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-transaction-list-row th small { display: block; margin-top: 4px; color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-transactions-table .booking-account-table__link { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-appointment-list-row__title { display: block; }
:where([data-booking-template-root="default"]) .booking-appointment-list-row__plan { display: block; margin-top: 4px; color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-appointment-list-row--period th { border-inline-start: 3px solid var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-appointments-table { table-layout: fixed; }
:where([data-booking-template-root="default"]) .booking-appointments-table .booking-account-table__link { min-width: 0; max-width: 100%; flex-wrap: wrap; white-space: normal; overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-appointments-table thead th:nth-child(1) { width: 22%; }
:where([data-booking-template-root="default"]) .booking-appointments-table thead th:nth-child(2) { width: 16%; }
:where([data-booking-template-root="default"]) .booking-appointments-table thead th:nth-child(3) { width: 19%; }
:where([data-booking-template-root="default"]) .booking-appointments-table thead th:nth-child(4) { width: 13%; }
:where([data-booking-template-root="default"]) .booking-appointments-table thead th:nth-child(5) { width: 22%; }
:where([data-booking-template-root="default"]) .booking-appointments-table thead th:nth-child(6) { width: 8%; }
@media (min-width: 1024px) { :where([data-booking-template-root="default"]) .booking-account-table th:last-child, :where([data-booking-template-root="default"]) .booking-account-table td:last-child { width: 60px; text-align: center; }:where([data-booking-template-root="default"]) .booking-appointments-table thead th:nth-child(6) { width: 60px; } }
@media (max-width: 1024px) { :where([data-booking-template-root="default"]) .booking-account-table tbody td:last-child { justify-content: left; } }
@media (min-width: 640px) and (max-width: 1023px) { :where([data-booking-template-root="default"]) .booking-appointments-table tr { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(130px, .9fr) minmax(120px, .75fr); }:where([data-booking-template-root="default"]) .booking-appointments-table, :where([data-booking-template-root="default"]) .booking-appointments-table tbody { display: block; }:where([data-booking-template-root="default"]) .booking-appointments-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }:where([data-booking-template-root="default"]) .booking-appointments-table tbody tr { gap: 0 18px; border-bottom: 1px solid var(--border-default); padding: 13px 0; }:where([data-booking-template-root="default"]) .booking-appointments-table tbody th, :where([data-booking-template-root="default"]) .booking-appointments-table tbody td { width: auto; border-bottom: 0; padding: 5px 0; }:where([data-booking-template-root="default"]) .booking-appointments-table tbody th:nth-child(1) { grid-column: 1; grid-row: 1; }:where([data-booking-template-root="default"]) .booking-appointments-table tbody td:nth-child(2) { grid-column: 2; grid-row: 1; }:where([data-booking-template-root="default"]) .booking-appointments-table tbody td:nth-child(3) { grid-column: 3; grid-row: 1; }:where([data-booking-template-root="default"]) .booking-appointments-table tbody td:nth-child(4) { grid-column: 1; grid-row: 2; }:where([data-booking-template-root="default"]) .booking-appointments-table tbody td:nth-child(5) { grid-column: 2; grid-row: 2; }:where([data-booking-template-root="default"]) .booking-appointments-table tbody td:nth-child(6) { grid-column: 3; grid-row: 2; }:where([data-booking-template-root="default"]) .booking-appointment-list-row--period th { border-inline-start: 0; } }
:where([data-booking-template-root="default"]) .booking-credit-record-list-row--used-up { background: color-mix(in srgb, var(--state-warning) 3%, var(--surface-raised)); }
:where([data-booking-template-root="default"]) .booking-credit-records-table { table-layout: fixed; }
:where([data-booking-template-root="default"]) .booking-credit-records-table th, :where([data-booking-template-root="default"]) .booking-credit-records-table td { overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-credit-records-table tbody th small { display: block; margin-top: 4px; color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-body-weight, 400); }
:where([data-booking-template-root="default"]) .booking-credit-record-list-row__balance > span { display: none; }
:where([data-booking-template-root="default"]) .booking-credit-record-list-row__balance > strong { color: var(--text-strong); font-size: var(--type-h3-size, 18px); font-weight: var(--type-h3-weight, 900); }
:where([data-booking-template-root="default"]) .booking-credit-record-pagination { display: grid; justify-items: center; gap: 8px; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-credit-record-pagination p { margin: 0; color: var(--state-danger); text-align: center; overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-account-list-empty { display: grid; min-height: 220px; align-content: center; justify-items: start; gap: 10px; border-top: 1px solid var(--border-default); border-bottom: 1px solid var(--border-default); padding: 28px 0; }
:where([data-booking-template-root="default"]) .booking-account-list-empty h2 { margin: 0; color: var(--text-strong); font-size: var(--type-h3-size, 19px); font-weight: var(--type-h3-weight, 800); }
:where([data-booking-template-root="default"]) .booking-account-list-empty p { max-width: 42ch; margin: 0; color: var(--text-muted); }
:where([data-booking-template-root="default"]) .booking-account-list-state--error { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid color-mix(in srgb, var(--state-danger) 30%, var(--border-default)); border-bottom: 1px solid color-mix(in srgb, var(--state-danger) 30%, var(--border-default)); color: var(--state-danger); padding: 16px 0; }
:where([data-booking-template-root="default"]) .booking-account-list-state--error p { margin: 0; overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-account-list-state--error .booking-retry { flex: 0 0 auto; }
:where([data-booking-template-root="default"]) .booking-account-list__empty { display: grid; min-height: 280px; align-content: center; justify-items: center; gap: 8px; padding: 36px 24px; text-align: center; }
:where([data-booking-template-root="default"]) .booking-account-list__empty h2 { margin: 8px 0 0; color: var(--text-strong); font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); line-height: var(--type-h2-line-height, 1.25); }
:where([data-booking-template-root="default"]) .booking-account-list__empty p { max-width: 42ch; margin: 0; color: var(--text-muted); line-height: 1.55; }
:where([data-booking-template-root="default"]) .booking-account-page.booking-appointments-page { width: 100%; margin: 0; padding: 8px 0 72px; }
:where([data-booking-template-root="default"]) .booking-account-page .booking-appointments-heading { margin-bottom: 24px; }
@media (max-width: 899px) { :where([data-booking-template-root="default"]) .booking-account-shell__layout { grid-template-columns: 1fr; }:where([data-booking-template-root="default"]) .booking-account-shell__sidebar { position: static; }:where([data-booking-template-root="default"]) .booking-account-shell__desktop-nav { display: none; }:where([data-booking-template-root="default"]) .booking-account-shell__mobile-nav { display: block; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-account-shell { padding: 24px 0 44px; }:where([data-booking-template-root="default"]) .booking-account-shell__sidebar { border-radius: 16px; box-shadow: 0 10px 28px var(--shadow-card-hover); padding: 14px; }:where([data-booking-template-root="default"]) .booking-account-shell__layout { gap: 14px; }:where([data-booking-template-root="default"]) .booking-account-page, :where([data-booking-template-root="default"]) .booking-account-page.booking-appointments-page { padding-bottom: 44px; }:where([data-booking-template-root="default"]) .booking-account-page__heading { display: grid; align-items: start; gap: 14px; margin-bottom: 20px; }:where([data-booking-template-root="default"]) .booking-account-page__heading > div:last-child, :where([data-booking-template-root="default"]) .booking-appointments-controls, :where([data-booking-template-root="default"]) .booking-appointments-controls label, :where([data-booking-template-root="default"]) .booking-appointments-controls select { width: 100%; }:where([data-booking-template-root="default"]) .booking-transaction-filters { grid-template-columns: 1fr; padding: 14px; }:where([data-booking-template-root="default"]) .booking-transaction-filters__keyword { grid-column: auto; }:where([data-booking-template-root="default"]) .booking-transaction-filters__submit, :where([data-booking-template-root="default"]) .booking-transaction-filters__clear { width: 100%; }:where([data-booking-template-root="default"]) .booking-transaction-card details > summary { align-items: flex-start; padding: 17px 16px; }:where([data-booking-template-root="default"]) .booking-transaction-card__title { align-items: flex-start; flex-direction: column; gap: 7px; }:where([data-booking-template-root="default"]) .booking-transaction-card__amount { font-size: 15px; }:where([data-booking-template-root="default"]) .booking-transaction-card__body { padding: 16px; }:where([data-booking-template-root="default"]) .booking-transaction-card__sections, :where([data-booking-template-root="default"]) .booking-transaction-credit-item dl { grid-template-columns: 1fr; }:where([data-booking-template-root="default"]) .booking-transaction-attempt dl, :where([data-booking-template-root="default"]) .booking-transaction-appointment dl { grid-template-columns: 1fr; } }
@media (min-width: 640px) and (max-width: 1023px) { :where([data-booking-template-root="default"]) .booking-transactions-table, :where([data-booking-template-root="default"]) .booking-transactions-table tbody { display: block; }:where([data-booking-template-root="default"]) .booking-transactions-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }:where([data-booking-template-root="default"]) .booking-transactions-table tbody tr { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--border-default); }:where([data-booking-template-root="default"]) .booking-transactions-table tbody th, :where([data-booking-template-root="default"]) .booking-transactions-table tbody td { display: grid; min-width: 0; align-content: start; gap: 4px; border-bottom: 0; padding: 12px 10px; }:where([data-booking-template-root="default"]) .booking-transactions-table tbody th::before, :where([data-booking-template-root="default"]) .booking-transactions-table tbody td::before { color: var(--text-muted); content: attr(data-label); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }:where([data-booking-template-root="default"]) .booking-transactions-table tbody tr.booking-transaction-list-loading td { grid-column: 1 / -1; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-account-table, :where([data-booking-template-root="default"]) .booking-account-table tbody, :where([data-booking-template-root="default"]) .booking-account-table tr, :where([data-booking-template-root="default"]) .booking-account-table td, :where([data-booking-template-root="default"]) .booking-account-table th { display: block; }:where([data-booking-template-root="default"]) .booking-account-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }:where([data-booking-template-root="default"]) .booking-account-table tbody tr { padding: 14px 0; }:where([data-booking-template-root="default"]) .booking-account-table tbody th, :where([data-booking-template-root="default"]) .booking-account-table tbody td { display: grid; grid-template-columns: minmax(92px, .45fr) minmax(0, 1fr); gap: 12px; border-bottom: 0; padding: 5px 0; }:where([data-booking-template-root="default"]) .booking-account-table tbody th::before, :where([data-booking-template-root="default"]) .booking-account-table tbody td::before { color: var(--text-muted); content: attr(data-label); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }:where([data-booking-template-root="default"]) .booking-account-table tbody tr { border-bottom: 1px solid var(--border-default); }:where([data-booking-template-root="default"]) .booking-account-table tbody tr > td:last-child { padding-top: 10px; }:where([data-booking-template-root="default"]) .booking-account-table__link { min-height: 44px; }:where([data-booking-template-root="default"]) .booking-account-table__view-link { width: auto; margin-inline: 0; justify-content: flex-start; }:where([data-booking-template-root="default"]) .booking-account-table__view-label { display: inline; }:where([data-booking-template-root="default"]) .booking-account-table__view-icon { display: none; }:where([data-booking-template-root="default"]) .booking-appointment-list-row--period th { border-inline-start: 0; } }
@media (min-width: 640px) { :where([data-booking-template-root="default"]) .booking-account-table__view-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }:where([data-booking-template-root="default"]) .booking-account-table__view-icon { display: block; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-account-table__loading-row td { padding: 0 12px; }:where([data-booking-template-root="default"]) .booking-account-table__loading { grid-template-columns: 1fr; gap: 9px; min-height: 150px; padding: 16px 0; }:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(1) { width: 62%; }:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(2) { width: 86%; }:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(3) { width: 48%; }:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(4) { width: 76%; }:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(5) { width: 58%; }:where([data-booking-template-root="default"]) .booking-account-table__loading span:nth-child(6) { width: 70%; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-appointments-table { table-layout: auto; }:where([data-booking-template-root="default"]) .booking-appointments-table tbody th, :where([data-booking-template-root="default"]) .booking-appointments-table tbody td { overflow-wrap: anywhere; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-appointment-item-pricing { grid-template-columns: 1fr; gap: 11px; }:where([data-booking-template-root="default"]) .booking-appointment-item-pricing--compact strong { font-size: 15px; } }
:where([data-booking-template-root="default"]) .booking-appointments-more { display: grid; justify-items: center; gap: 10px; margin-top: 24px; color: var(--text-muted); font-size: 13px; font-weight: 700; text-align: center; }
:where([data-booking-template-root="default"]) .booking-appointments-more__button { min-height: 46px; border: 1px solid var(--action-primary); border-radius: var(--radius-control); background: var(--surface-field); color: var(--action-primary); cursor: pointer; font: inherit; font-weight: 900; padding: 0 22px; transition: background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast); }
:where([data-booking-template-root="default"]) .booking-appointments-more__button:hover:not(:disabled) { background: var(--action-primary); color: var(--text-on-brand); transform: translateY(-1px); }
:where([data-booking-template-root="default"]) .booking-appointments-more__button:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-appointments-more__button:disabled { cursor: wait; opacity: .65; }

/* Appointment cards keep status, date, metadata, and the next action in one scan path. */
:where([data-booking-template-root="default"]) .booking-appointment-card { position: relative; display: block; border-radius: 18px; padding: 22px 24px; transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast); }
:where([data-booking-template-root="default"]) .booking-appointment-card:hover { border-color: color-mix(in srgb, var(--action-primary) 28%, var(--border-default)); box-shadow: 0 10px 26px var(--shadow-card-hover); transform: translateY(-1px); }
:where([data-booking-template-root="default"]) .booking-appointment-card__body { display: grid; min-width: 0; gap: 18px; }
:where([data-booking-template-root="default"]) .booking-appointment-card__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-appointment-card__heading h2 { min-width: 0; }
:where([data-booking-template-root="default"]) .booking-appointment-card__eyebrow { margin-bottom: 4px; color: var(--text-muted) !important; font-size: 11px !important; letter-spacing: .06em; text-transform: uppercase; }
:where([data-booking-template-root="default"]) .booking-appointment-card__status { display: inline-flex; max-width: 100%; align-items: center; border-radius: 999px; background: color-mix(in srgb, var(--action-primary) 11%, var(--surface-field)); color: var(--action-primary); font-size: 12px; font-weight: 900; line-height: 1.25; padding: 4px 9px; }
:where([data-booking-template-root="default"]) .booking-appointment-card__status--pending { background: color-mix(in srgb, var(--state-warning) 12%, var(--surface-field)); color: var(--state-warning-strong); }
:where([data-booking-template-root="default"]) .booking-appointment-card__status--danger { background: color-mix(in srgb, var(--state-danger) 10%, var(--surface-field)); color: var(--state-danger); }
:where([data-booking-template-root="default"]) .booking-appointment-card h2 { margin: 0; overflow-wrap: anywhere; font-size: var(--type-h3-size, 19px); font-weight: var(--type-h3-weight, 800); line-height: var(--type-h3-line-height, 1.3); }
:where([data-booking-template-root="default"]) .booking-appointment-card--period { border-inline-start: 3px solid var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-appointment-card--period .booking-appointment-card__period-date dd { font-size: 15px; }
:where([data-booking-template-root="default"]) .booking-appointment-card__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; margin: 0; padding-top: 16px; border-top: 1px solid color-mix(in srgb, var(--border-default) 76%, transparent); }
:where([data-booking-template-root="default"]) .booking-appointment-card__meta div { display: grid; min-width: 0; gap: 5px; align-content: start; }
:where([data-booking-template-root="default"]) .booking-appointment-card__meta dt { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); line-height: var(--type-label-line-height, 1.35); letter-spacing: .02em; }
:where([data-booking-template-root="default"]) .booking-appointment-card__meta dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: 14px; font-weight: 800; text-align: left; }
:where([data-booking-template-root="default"]) .booking-appointment-card__references { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 0; padding-top: 14px; border-top: 1px solid color-mix(in srgb, var(--border-default) 76%, transparent); }
:where([data-booking-template-root="default"]) .booking-appointment-card__references div { display: grid; min-width: 0; gap: 4px; }
:where([data-booking-template-root="default"]) .booking-appointment-card__references dt { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); line-height: var(--type-label-line-height, 1.35); }
:where([data-booking-template-root="default"]) .booking-appointment-card__references dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: 13px; font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-appointment-card dl.booking-appointment-card__references div { display: grid; align-items: start; gap: 4px; }
:where([data-booking-template-root="default"]) .booking-appointment-card dl.booking-appointment-card__references dd { text-align: left; }
:where([data-booking-template-root="default"]) .booking-appointment-card dl.booking-appointment-card__meta div { display: grid; align-items: start; gap: 5px; }
:where([data-booking-template-root="default"]) .booking-appointment-card dl.booking-appointment-card__meta dd { text-align: left; }
:where([data-booking-template-root="default"]) .booking-appointment-card__link { display: inline-flex; min-height: 42px; align-items: center; justify-self: start; border: 1px solid color-mix(in srgb, var(--action-primary) 24%, var(--border-default)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--action-primary) 7%, var(--surface-field)); color: var(--action-primary); padding: 0 14px; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-appointment-card__link:hover { background: var(--surface-accent); text-decoration: none; transform: translateY(-1px); }
:where([data-booking-template-root="default"]) .booking-price-display { display: inline-flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; gap: 8px; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-price-display__current { color: var(--text-strong); font-size: var(--type-h5-size, 14px); font-weight: var(--type-h3-weight, 800); white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-price-display__original { color: var(--text-muted); font-size: var(--type-h5-size, 14px); font-weight: var(--type-h3-weight, 800); white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-quote-item .booking-price-display { display: flex; margin: 0; justify-content: flex-end; }
:where([data-booking-template-root="default"]) .booking-quote-item .booking-price-display__current { font-size: 14px; }
:where([data-booking-template-root="default"]) .booking-quote-item .booking-price-display__original { font-size: 14px; }
:where([data-booking-template-root="default"]) .booking-appointments-detail-heading { margin-bottom: 28px; }
:where([data-booking-template-root="default"]) .booking-appointments-detail-heading h1 { margin-top: 10px; max-width: 100%; overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-appointment-detail-section { padding: 26px; }
:where([data-booking-template-root="default"]) .booking-appointment-detail-section dl { gap: 13px; }
:where([data-booking-template-root="default"]) .booking-appointment-detail-section dl div { align-items: baseline; min-width: 0; border-bottom: 1px solid color-mix(in srgb, var(--border-default) 70%, transparent); padding-bottom: 10px; }
:where([data-booking-template-root="default"]) .booking-appointment-detail-section dl div:last-child { border-bottom: 0; padding-bottom: 0; }
:where([data-booking-template-root="default"]) .booking-appointment-detail-section dt { flex: 0 0 120px; }
:where([data-booking-template-root="default"]) .booking-appointment-detail-section dd { min-width: 0; overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-appointment-detail-heading__title { min-width: 0; }
:where([data-booking-template-root="default"]) .booking-appointment-detail-heading__actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-appointment-detail-heading__actions:has(.booking-appointment-cancel) { justify-content: space-between; width: 100%; }
:where([data-booking-template-root="default"]) .booking-appointment-cancel { min-height: 42px; width: auto; padding: 0 20px; margin: 0; }
:where([data-booking-template-root="default"]) .booking-appointment-cancel-message { margin: 0 0 18px; padding: 12px 16px; border-radius: var(--radius-control); font-weight: 700; }
:where([data-booking-template-root="default"]) .booking-appointment-cancel-message--success { background: color-mix(in srgb, var(--state-success) 10%, var(--surface-raised)); color: var(--state-success-strong); }
:where([data-booking-template-root="default"]) .booking-appointment-cancel-message--error { border: 1px solid color-mix(in srgb, var(--state-danger) 32%, var(--border-default)); background: color-mix(in srgb, var(--state-danger) 4%, var(--surface-field)); color: var(--state-danger); }
:where([data-booking-template-root="default"]) .booking-appointment-detail__summary, :where([data-booking-template-root="default"]) .booking-appointment-detail__order { padding: 26px; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__summary--period { border-inline-start: 3px solid var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-appointment-detail__summary--period .booking-appointment-detail__period-plan dd { color: var(--action-primary); font-size: 16px; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__summary dl, :where([data-booking-template-root="default"]) .booking-appointment-detail__order dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; margin: 0; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__summary dl div, :where([data-booking-template-root="default"]) .booking-appointment-detail__order dl div { display: grid; min-width: 0; gap: 6px; align-items: start; border-bottom: 1px solid color-mix(in srgb, var(--border-default) 70%, transparent); padding-bottom: 12px; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__summary dt, :where([data-booking-template-root="default"]) .booking-appointment-detail__order dt { color: var(--text-muted); font-size: 12px; letter-spacing: .02em; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__summary dd, :where([data-booking-template-root="default"]) .booking-appointment-detail__order dd { min-width: 0; margin: 0; color: var(--text-strong); font-size: 14px; font-weight: 800; overflow-wrap: anywhere; text-align: left; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__order h2 { margin: 0 0 18px; color: var(--text-strong); font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); line-height: var(--type-h2-line-height, 1.25); }
:where([data-booking-template-root="default"]) .booking-appointment-detail__order { display: grid; gap: 20px; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__order > dl:first-of-type { grid-template-columns: 1fr; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__order > .booking-related-order-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__order > dl > div, :where([data-booking-template-root="default"]) .booking-appointment-detail__order > .booking-related-order-summary > div { display: grid; min-width: 0; gap: 6px; align-items: start; border-bottom: 1px solid color-mix(in srgb, var(--border-default) 70%, transparent); padding-bottom: 12px; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__order > dl > div:last-child, :where([data-booking-template-root="default"]) .booking-appointment-detail__order > .booking-related-order-summary > div:last-child { border-bottom: 0; padding-bottom: 0; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__order > dl:first-of-type > div:last-child, :where([data-booking-template-root="default"]) .booking-appointment-detail__order > .booking-related-order-summary > div:last-child { border-bottom: 1px solid color-mix(in srgb, var(--border-default) 70%, transparent); padding-bottom: 12px; }
:where([data-booking-template-root="default"]) .booking-appointment-detail__pricing { background: color-mix(in srgb, var(--action-primary) 4%, var(--surface-raised)); }
:where([data-booking-template-root="default"]) .booking-appointment-detail__pricing h2 { margin: 0 0 18px; color: var(--text-strong); font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); line-height: var(--type-h2-line-height, 1.25); }
:where([data-booking-template-root="default"]) .booking-appointment-detail__pricing .booking-appointment-item-pricing { padding-top: 0; border-top: 0; }
:where([data-booking-template-root="default"]) .booking-credit-page { display: grid; gap: 20px; }
:where([data-booking-template-root="default"]) .booking-credit-plan-entry { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; margin-top: 8px; color: var(--action-primary); font-size: var(--type-link-size, 14px); font-weight: var(--type-link-weight, 800); line-height: 1.45; text-align: center; text-decoration: underline; text-underline-offset: 0.2em; transition: color 150ms ease; }
:where([data-booking-template-root="default"]) .booking-credit-plan-entry:hover { color: var(--action-primary-hover); }
:where([data-booking-template-root="default"]) .booking-credit-plan-entry:focus-visible { border-radius: var(--radius-control); outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-credit-page .booking-account-page__heading { margin-bottom: 0; }
:where([data-booking-template-root="default"]) .booking-credit-plans-heading, :where([data-booking-template-root="default"]) .booking-credit-subpage-heading { display: grid; align-items: start; justify-content: stretch; gap: 10px; }
:where([data-booking-template-root="default"]) .booking-credit-page__back { display: inline-flex; width: fit-content; min-height: 44px; align-items: center; color: var(--action-primary); font-size: var(--type-link-size, 14px); font-weight: var(--type-link-weight, 800); text-decoration: none; }
:where([data-booking-template-root="default"]) .booking-credit-page__back:hover { color: var(--brand-primary-hover); text-decoration: underline; }
:where([data-booking-template-root="default"]) .booking-credit-page__back:focus-visible { border-radius: var(--radius-control); outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-credit-page .booking-cart-button { text-decoration: none; }
:where([data-booking-template-root="default"]) .booking-credit-page > .booking-account-page__heading .booking-cart-button { width: auto; min-height: 42px; margin-top: 0; border-radius: var(--radius-control); font-size: var(--type-button-size, 14px); padding: 0 16px; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-credit-page .booking-account-list__empty .booking-cart-button { width: auto; min-height: 42px; margin-top: 10px; font-size: var(--type-button-size, 14px); padding: 0 16px; }
:where([data-booking-template-root="default"]) .booking-credit-page > .booking-transaction-filters > label:first-child { grid-column: span 2; }
:where([data-booking-template-root="default"]) .booking-credit-plan-list, :where([data-booking-template-root="default"]) .booking-credit-record-list { display: grid; gap: 16px; }
:where([data-booking-template-root="default"]) .booking-credit-plan-card, :where([data-booking-template-root="default"]) .booking-credit-record-card, :where([data-booking-template-root="default"]) .booking-credit-cart-card, :where([data-booking-template-root="default"]) .booking-credit-checkout-card, :where([data-booking-template-root="default"]) .booking-credit-summary, :where([data-booking-template-root="default"]) .booking-credit-history, :where([data-booking-template-root="default"]) .booking-credit-ledger { display: grid; gap: 16px; padding: 22px; }
:where([data-booking-template-root="default"]) .booking-credit-plan-card h2, :where([data-booking-template-root="default"]) .booking-credit-record-card h2, :where([data-booking-template-root="default"]) .booking-credit-cart-card h2, :where([data-booking-template-root="default"]) .booking-credit-checkout-card h2, :where([data-booking-template-root="default"]) .booking-credit-summary h2, :where([data-booking-template-root="default"]) .booking-credit-history h2, :where([data-booking-template-root="default"]) .booking-credit-ledger h2 { margin: 0; color: var(--text-strong); font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); }
:where([data-booking-template-root="default"]) .booking-credit-plan-card p, :where([data-booking-template-root="default"]) .booking-credit-record-card p, :where([data-booking-template-root="default"]) .booking-credit-ledger p { margin: 0; color: var(--text-muted); }
:where([data-booking-template-root="default"]) .booking-credit-plan-card__description { min-width: 0; margin: 0; color: var(--text-muted); line-height: var(--type-body-line-height, 1.5); overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-credit-plan-card__description :where(img, video) { max-width: 100%; height: auto; }
:where([data-booking-template-root="default"]) .booking-credit-plan-card__description :where(a) { color: var(--action-primary); text-underline-offset: 0.2em; }
:where([data-booking-template-root="default"]) .booking-credit-plan-card__description :where(a:hover) { color: var(--action-primary-hover); }
:where([data-booking-template-root="default"]) .booking-credit-plan-card__description :where(a:focus-visible) { border-radius: var(--radius-control); outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:where([data-booking-template-root="default"]) .booking-credit-record-card--used-up { border-color: color-mix(in srgb, var(--state-warning) 38%, var(--border-default)); background: color-mix(in srgb, var(--state-warning) 3%, var(--surface-raised)); }
:where([data-booking-template-root="default"]) .booking-credit-record-card__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
:where([data-booking-template-root="default"]) .booking-credit-record-card__heading h2 { min-width: 0; overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-credit-record-card__status { flex: 0 0 auto; border-radius: 999px; background: color-mix(in srgb, var(--state-warning) 14%, var(--surface-field)); color: var(--state-warning); font-size: var(--type-label-size, 12px); font-weight: 800; padding: 5px 9px; }
:where([data-booking-template-root="default"]) .booking-credit-plan-card dl, :where([data-booking-template-root="default"]) .booking-credit-record-card dl, :where([data-booking-template-root="default"]) .booking-credit-cart-card dl, :where([data-booking-template-root="default"]) .booking-credit-summary dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 20px; margin: 0; }
:where([data-booking-template-root="default"]) .booking-credit-plan-card dl div, :where([data-booking-template-root="default"]) .booking-credit-record-card dl div, :where([data-booking-template-root="default"]) .booking-credit-cart-card dl div, :where([data-booking-template-root="default"]) .booking-credit-summary dl div { display: grid; gap: 5px; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-credit-plan-card dt, :where([data-booking-template-root="default"]) .booking-credit-record-card dt, :where([data-booking-template-root="default"]) .booking-credit-cart-card dt, :where([data-booking-template-root="default"]) .booking-credit-summary dt { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-credit-plan-card dd, :where([data-booking-template-root="default"]) .booking-credit-record-card dd, :where([data-booking-template-root="default"]) .booking-credit-cart-card dd, :where([data-booking-template-root="default"]) .booking-credit-summary dd { margin: 0; color: var(--text-strong); font-weight: 800; overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-credit-plan-card .booking-cart-button, :where([data-booking-template-root="default"]) .booking-credit-page > .booking-account-page__heading .booking-cart-button { justify-self: start; }
:where([data-booking-template-root="default"]) .booking-credit-plan-card .booking-cart-button { width: auto; min-height: 44px; margin-top: 0; border-radius: var(--radius-control); font-size: var(--type-button-size, 14px); padding: 0 20px; }
:where([data-booking-template-root="default"]) .booking-credit-cart-card__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
:where([data-booking-template-root="default"]) .booking-credit-cart-card__heading > span { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-credit-cart-card__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
:where([data-booking-template-root="default"]) .booking-credit-cart-card__actions > .booking-cart-button { width: auto; min-width: 144px; min-height: 44px; margin-top: 0; padding: 0 18px; }
:where([data-booking-template-root="default"]) .booking-cart-button--secondary { border: 1px solid var(--border-default); background: var(--surface-field); color: var(--text-strong); }
:where([data-booking-template-root="default"]) .booking-credit-checkout-card fieldset { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; }
:where([data-booking-template-root="default"]) .booking-credit-checkout-card fieldset label { display: flex; align-items: center; gap: 8px; color: var(--text-strong); }
:where([data-booking-template-root="default"]) .booking-credit-checkout-card__summary { display: grid; gap: 8px; }
:where([data-booking-template-root="default"]) .booking-credit-checkout-card__summary dl { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; margin: 0; }
:where([data-booking-template-root="default"]) .booking-credit-checkout-card__summary dl div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--border-default); padding-bottom: 10px; }
:where([data-booking-template-root="default"]) .booking-credit-checkout-card__summary dt { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-credit-checkout-card__summary dd { margin: 0; color: var(--text-strong); font-size: 16px; font-weight: 900; text-align: right; }
:where([data-booking-template-root="default"]) .booking-credit-summary__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
:where([data-booking-template-root="default"]) .booking-credit-summary__heading > span { border-radius: 999px; background: color-mix(in srgb, var(--action-primary) 12%, var(--surface-field)); color: var(--action-primary); font-size: 12px; font-weight: 800; padding: 5px 10px; }
:where([data-booking-template-root="default"]) .booking-credit-summary__link, :where([data-booking-template-root="default"]) .booking-credit-record-card__history { color: var(--action-primary); font-size: 14px; font-weight: 800; text-decoration: none; }
:where([data-booking-template-root="default"]) .booking-credit-summary__link:hover, :where([data-booking-template-root="default"]) .booking-credit-record-card__history:hover { text-decoration: underline; }
:where([data-booking-template-root="default"]) .booking-credit-record-card__history { justify-self: start; border: 0; background: transparent; cursor: pointer; font: inherit; padding: 0; }
:where([data-booking-template-root="default"]) .booking-credit-record-card__source-label { color: var(--text-muted); font-weight: 700; }
:where([data-booking-template-root="default"]) .booking-credit-record-card__history-panel { display: grid; gap: 10px; border-top: 1px solid var(--border-default); padding-top: 16px; }
:where([data-booking-template-root="default"]) .booking-credit-record-card__history-panel h3 { margin: 0; color: var(--text-strong); font-size: 15px; font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-credit-record-card__history-panel > div { display: grid; grid-template-columns: minmax(120px, .6fr) minmax(0, 1.4fr) auto; gap: 12px; border-bottom: 1px solid var(--border-default); padding: 10px 0; }
:where([data-booking-template-root="default"]) .booking-credit-record-card__history-panel > div:last-child { border-bottom: 0; }
:where([data-booking-template-root="default"]) .booking-credit-record-card__history-panel span, :where([data-booking-template-root="default"]) .booking-credit-record-card__history-panel small { color: var(--text-muted); }
:where([data-booking-template-root="default"]) .booking-credit-record-more, :where([data-booking-template-root="default"]) .booking-credit-ledger > .booking-retry { min-height: 40px; border: 1px solid color-mix(in srgb, var(--action-primary) 35%, var(--border-default)); border-radius: var(--radius-control); background: var(--surface-field); color: var(--action-primary); cursor: pointer; font: inherit; font-weight: 800; padding: 0 16px; }
:where([data-booking-template-root="default"]) .booking-credit-record-more { justify-self: center; }
:where([data-booking-template-root="default"]) .booking-credit-record-more:disabled, :where([data-booking-template-root="default"]) .booking-credit-ledger > .booking-retry:disabled { cursor: wait; opacity: .6; }
:where([data-booking-template-root="default"]) .booking-credit-record-detail { display: grid; gap: 16px; padding: 22px; }
:where([data-booking-template-root="default"]) .booking-credit-record-detail--used-up { border-color: color-mix(in srgb, var(--state-warning) 38%, var(--border-default)); background: color-mix(in srgb, var(--state-warning) 3%, var(--surface-raised)); }
:where([data-booking-template-root="default"]) .booking-credit-record-detail__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
:where([data-booking-template-root="default"]) .booking-credit-record-detail__heading h2 { margin: 0; overflow-wrap: anywhere; color: var(--text-strong); font-size: var(--type-h2-size, 22px); font-weight: var(--type-h2-weight, 900); }
:where([data-booking-template-root="default"]) .booking-credit-record-detail > p { margin: 0; color: var(--text-muted); }
:where([data-booking-template-root="default"]) .booking-credit-record-detail dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 20px; margin: 0; }
:where([data-booking-template-root="default"]) .booking-credit-record-detail dl div { display: grid; min-width: 0; gap: 5px; }
:where([data-booking-template-root="default"]) .booking-credit-record-detail dt { color: var(--text-muted); font-size: var(--type-label-size, 12px); font-weight: var(--type-label-weight, 700); }
:where([data-booking-template-root="default"]) .booking-credit-record-detail dd { margin: 0; overflow-wrap: anywhere; color: var(--text-strong); font-weight: 800; }
:where([data-booking-template-root="default"]) .booking-credit-record-detail__balance { color: var(--action-primary) !important; font-size: var(--type-h3-size, 18px); }
:where([data-booking-template-root="default"]) .booking-credit-history > div { display: grid; grid-template-columns: minmax(120px, .6fr) minmax(0, 1.4fr) auto; gap: 12px; border-bottom: 1px solid var(--border-default); padding: 10px 0; }
:where([data-booking-template-root="default"]) .booking-credit-history > div:last-child { border-bottom: 0; }
:where([data-booking-template-root="default"]) .booking-credit-history span, :where([data-booking-template-root="default"]) .booking-credit-history small { color: var(--text-muted); }
:where([data-booking-template-root="default"]) .booking-credit-ledger__list { display: grid; gap: 0; }
:where([data-booking-template-root="default"]) .booking-credit-ledger__list > div { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(150px, .95fr) minmax(72px, auto); gap: 14px; align-items: baseline; border-bottom: 1px solid var(--border-default); padding: 12px 0; }
:where([data-booking-template-root="default"]) .booking-credit-ledger__list > div:last-child { border-bottom: 0; }
:where([data-booking-template-root="default"]) .booking-credit-ledger__entry--reserve { border-inline-start: 3px solid var(--state-warning); background: color-mix(in srgb, var(--state-warning) 8%, var(--surface-raised)); padding-inline-start: 10px; }
:where([data-booking-template-root="default"]) .booking-credit-ledger__list strong, :where([data-booking-template-root="default"]) .booking-credit-ledger__list span, :where([data-booking-template-root="default"]) .booking-credit-ledger__list small, :where([data-booking-template-root="default"]) .booking-credit-ledger__list b { min-width: 0; overflow-wrap: anywhere; }
:where([data-booking-template-root="default"]) .booking-credit-ledger__list strong { color: var(--text-strong); font-size: 14px; }
:where([data-booking-template-root="default"]) .booking-credit-ledger__list span, :where([data-booking-template-root="default"]) .booking-credit-ledger__list small { min-width: 0; overflow-wrap: anywhere; color: var(--text-muted); }
:where([data-booking-template-root="default"]) .booking-credit-ledger__list b { color: var(--text-strong); font-size: 14px; text-align: right; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-credit-skeleton, :where([data-booking-template-root="default"]) .booking-profile-credit-skeleton { min-height: 260px; border-radius: var(--booking-card-radius); }
:where([data-booking-template-root="default"]) .booking-checkout-3ds { display: grid; gap: 4px; min-width: 0; }
:where([data-booking-template-root="default"]) .booking-checkout-3ds__label { color: var(--text-muted); font-size: 11px; font-weight: 700; letter-spacing: .02em; line-height: 1.3; }
:where([data-booking-template-root="default"]) .booking-checkout-3ds__logos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; min-height: 28px; }
:where([data-booking-template-root="default"]) .booking-checkout-3ds__logos img { display: block; width: auto; max-width: 72px; height: 24px; object-fit: contain; }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-credit-plan-card dl, :where([data-booking-template-root="default"]) .booking-credit-record-card dl, :where([data-booking-template-root="default"]) .booking-credit-cart-card dl, :where([data-booking-template-root="default"]) .booking-credit-summary dl { grid-template-columns: 1fr; }:where([data-booking-template-root="default"]) .booking-credit-page > .booking-account-page__heading .booking-cart-button, :where([data-booking-template-root="default"]) .booking-credit-plan-card .booking-cart-button, :where([data-booking-template-root="default"]) .booking-credit-cart-card__actions > .booking-cart-button { width: 100%; }:where([data-booking-template-root="default"]) .booking-credit-page > .booking-transaction-filters > label:first-child { grid-column: auto; }:where([data-booking-template-root="default"]) .booking-credit-cart-card__actions { align-items: stretch; flex-direction: column; }:where([data-booking-template-root="default"]) .booking-credit-cart-card__actions > * { width: 100%; text-align: center; }:where([data-booking-template-root="default"]) .booking-credit-history > div, :where([data-booking-template-root="default"]) .booking-credit-record-card__history-panel > div, :where([data-booking-template-root="default"]) .booking-credit-ledger__list > div { grid-template-columns: 1fr; gap: 4px; }:where([data-booking-template-root="default"]) .booking-credit-ledger__list b { text-align: left; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-transaction-detail-card__header { grid-template-columns: minmax(0, 1fr) auto; align-items: start; padding: 18px; }:where([data-booking-template-root="default"]) .booking-transaction-detail-card__header > strong { grid-column: 1 / -1; }:where([data-booking-template-root="default"]) .booking-credit-record-detail { padding: 18px; }:where([data-booking-template-root="default"]) .booking-credit-record-detail__heading { align-items: flex-start; flex-direction: column; }:where([data-booking-template-root="default"]) .booking-credit-record-detail dl { grid-template-columns: 1fr; gap: 11px; } }
@media (max-width: 639px) {
  :where([data-booking-template-root="default"]) .booking-appointment-card { padding: 20px 18px; }
  :where([data-booking-template-root="default"]) .booking-appointment-card__body { gap: 16px; }
  :where([data-booking-template-root="default"]) .booking-appointment-card__heading { gap: 10px; }
  :where([data-booking-template-root="default"]) .booking-appointment-card__status { flex: 0 0 auto; }
  :where([data-booking-template-root="default"]) .booking-appointment-card__meta { grid-template-columns: 1fr; gap: 11px; padding-top: 14px; }
  :where([data-booking-template-root="default"]) .booking-appointment-card__references { grid-template-columns: 1fr; gap: 10px; }
  :where([data-booking-template-root="default"]) .booking-appointment-card__link { justify-self: stretch; justify-content: center; }
  :where([data-booking-template-root="default"]) .booking-appointment-detail-section { padding: 20px 18px; }
  :where([data-booking-template-root="default"]) .booking-appointment-detail__summary, :where([data-booking-template-root="default"]) .booking-appointment-detail__order, :where([data-booking-template-root="default"]) .booking-appointment-detail__pricing { padding: 20px 18px; }
  :where([data-booking-template-root="default"]) .booking-appointment-detail__summary dl, :where([data-booking-template-root="default"]) .booking-appointment-detail__order dl, :where([data-booking-template-root="default"]) .booking-appointment-detail__order > .booking-related-order-summary { grid-template-columns: 1fr; gap: 12px; }
  :where([data-booking-template-root="default"]) .booking-appointments-detail-heading { margin-bottom: 22px; }
  :where([data-booking-template-root="default"]) .booking-appointment-detail-heading__actions { align-items: stretch; justify-content: stretch; flex-direction: column; }
  :where([data-booking-template-root="default"]) .booking-appointment-detail-heading__actions .booking-appointment-card__status { align-self: flex-start; }
  :where([data-booking-template-root="default"]) .booking-appointment-cancel { width: auto; }
}

/* CMS body HTML owns its visual styling; only state modifiers remain here. */
:where([data-booking-template-root="default"]) .booking-cms-page { width: min(calc(100% - (var(--page-pad-mobile) * 2)), var(--content-max)); margin: 0 auto; padding: 32px 0; }
:where([data-booking-template-root="default"]) .booking-cms-page .booking-home { width: 100%; margin: 0; padding: 0; }
:where([data-booking-template-root="default"]) .booking-cms-page__title { margin: 0 0 28px; color: var(--text-strong); font-size: clamp(28px, 4vw, 42px); font-weight: 900;border-bottom: 1px solid var(--border-default); }
:where([data-booking-template-root="default"]) .booking-cms-block--deferred { content-visibility: auto; contain-intrinsic-size: auto 320px; }
:where([data-booking-template-root="default"]) .booking-cms-page__empty { color: var(--text-muted); }
:where([data-booking-template-root="default"]) .booking-cms-page--loading { min-height: 420px; }
:where([data-booking-template-root="default"]) .booking-cms-page--loading .booking-skeleton { min-height: 240px; border-radius: var(--booking-card-radius); }
:where([data-booking-template-root="default"]) .booking-cms-page__refresh-error { display: flex; width: min(calc(100% - (var(--page-pad-mobile) * 2)), var(--content-max)); align-items: center; justify-content: space-between; gap: 16px; margin: 16px auto 0; }
:where([data-booking-template-root="default"]) .booking-cms-page__refresh-error p { margin: 0; }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-cms-page__refresh-error { align-items: flex-start; flex-direction: column; } }
@media (min-width: 640px) {
  :where([data-booking-template-root="default"]) .booking-cms-page { width: min(calc(100% - (var(--page-pad-tablet) * 2)), var(--content-max)); padding: 40px 0; }
  :where([data-booking-template-root="default"]) .booking-cms-page .booking-home { width: 100%; margin: 0; padding: 0; }
}
@media (min-width: 1024px) {
  :where([data-booking-template-root="default"]) .booking-cms-page { width: min(calc(100% - (var(--page-pad-desktop) * 2)), var(--content-max)); padding: 48px 0; }
  :where([data-booking-template-root="default"]) .booking-cms-page .booking-home { width: 100%; margin: 0; padding: 0; }
}
:where([data-booking-template-root="default"]) .booking-language-switcher { position: relative; display: flex; min-width: 0; align-items: center; }:where([data-booking-template-root="default"]) .booking-language-switcher > details { position: relative; }:where([data-booking-template-root="default"]) .booking-language-switcher__trigger { display: flex; width: fit-content; max-width: min(180px, 32vw); min-height: 34px; align-items: center; gap: 5px; overflow: hidden; border-radius: var(--radius-control); background: transparent; color: var(--text-body); cursor: pointer; font-size: 12px; font-weight: 800; line-height: 1.2; list-style: none; padding: 0 7px 0 9px; white-space: nowrap; }:where([data-booking-template-root="default"]) .booking-language-switcher__trigger::-webkit-details-marker { display: none; }:where([data-booking-template-root="default"]) .booking-language-switcher__trigger > span { overflow: hidden; text-overflow: ellipsis; }:where([data-booking-template-root="default"]) .booking-language-switcher__trigger svg { width: 13px; height: 13px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform var(--transition-fast); }:where([data-booking-template-root="default"]) .booking-language-switcher > details[open] .booking-language-switcher__trigger svg { transform: rotate(180deg); }:where([data-booking-template-root="default"]) .booking-language-switcher__trigger:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }:where([data-booking-template-root="default"]) .booking-language-switcher__panel { position: absolute; top: calc(100% + 8px); right: 0; z-index: 35; display: grid; min-width: max-content; overflow: hidden; border: 1px solid var(--border-default); border-radius: 12px; background: var(--surface-raised); box-shadow: var(--shadow-control); padding: 5px; }:where([data-booking-template-root="default"]) .booking-language-switcher__panel button { min-height: 38px; border: 0; border-radius: 8px; background: transparent; color: var(--text-body); cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; padding: 0 10px; text-align: left; white-space: nowrap; }:where([data-booking-template-root="default"]) .booking-language-switcher__panel button:hover { background: var(--surface-page); color: var(--action-primary); }:where([data-booking-template-root="default"]) .booking-language-switcher__panel button:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: -2px; }
@media (max-width: 639px) {
  :where([data-booking-template-root="default"]) .booking-header-inner { gap: 8px; }
  :where([data-booking-template-root="default"]) .booking-brand { width: min(var(--booking-brand-logo-width, 148px), 28vw); height: 40px; }
  :where([data-booking-template-root="default"]) .booking-header-actions { min-width: 0; flex: 1 1 auto; justify-content: flex-end; gap: 6px; }
  :where([data-booking-template-root="default"]) .booking-header-user-link { min-width: 0; max-width: min(112px, 25vw); }
  :where([data-booking-template-root="default"]) .booking-header-user-link > a > span:not(.booking-header-user) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  :where([data-booking-template-root="default"]) .booking-menu > summary { max-width: 90px; overflow: hidden; }
  :where([data-booking-template-root="default"]) .booking-menu > summary { min-width: 58px; justify-content: center; padding: 8px 7px; white-space: nowrap; }
  :where([data-booking-template-root="default"]) .booking-menu__label { display: inline; font-size: 11px; }
  :where([data-booking-template-root="default"]) .booking-language-switcher__trigger { max-width: min(128px, 30vw); }
}
@media (max-width: 639px) {
  :where([data-booking-template-root="default"]) .booking-related-order-summary { grid-template-columns: 1fr; gap: 11px; }
  :where([data-booking-template-root="default"]) .booking-related-order-summary__coupon { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) { :where([data-booking-template-root="default"]) .booking-account-shell__link, :where([data-booking-template-root="default"]) .booking-appointment-card, :where([data-booking-template-root="default"]) .booking-appointment-card__link { transition: none; } }

/* Homepage dimensions follow the shared 640 / 768 / 1024px layout contract. */
@media (min-width: 640px) {
  :where([data-booking-template-root="default"]) .booking-home { width: min(calc(100% - (var(--page-pad-tablet) * 2)), var(--content-max)); padding: 40px 0; }
  :where([data-booking-template-root="default"]) .booking-home__hero { aspect-ratio: 16 / 7; min-height: 320px; max-height: 360px; padding: 32px; }
  :where([data-booking-template-root="default"]) .booking-home__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
  :where([data-booking-template-root="default"]) .booking-home__cards article { padding: 20px; }
}

@media (min-width: 1024px) {
  :where([data-booking-template-root="default"]) .booking-header-inner, :where([data-booking-template-root="default"]) .booking-footer, :where([data-booking-template-root="default"]) .booking-home { width: min(calc(100% - (var(--page-pad-desktop) * 2)), var(--content-max)); }
  :where([data-booking-template-root="default"]) .booking-home { padding: 48px 0; }
  :where([data-booking-template-root="default"]) .booking-home__hero { aspect-ratio: 20 / 7; min-height: 360px; max-height: 420px; padding: 40px; width: 100%;}
  :where([data-booking-template-root="default"]) .booking-home__cards { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 24px; margin-top: 32px; }
  :where([data-booking-template-root="default"]) .booking-home__cards article { padding: 24px; }
  :where([data-booking-template-root="default"]) .booking-home__cards article:first-child { grid-row: span 2; }
}

@media (max-width: 639px) {
  :where([data-booking-template-root="default"]) .booking-home__cta { width: 100%; }
}

/* Checkout payment states stay readable when a method cannot settle the cart currency. */
:where([data-booking-template-root="default"]) .booking-checkout-page { box-sizing: border-box; width: min(calc(100% - (var(--page-pad-mobile) * 2)), var(--content-max)); }
:where([data-booking-template-root="default"]) .booking-checkout-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, 320px); }
:where([data-booking-template-root="default"]) .booking-checkout-form, :where([data-booking-template-root="default"]) .booking-checkout-summary { min-width: 0; }
:where([data-booking-template-root="default"]) .booking-checkout-summary { overflow: hidden; }
:where([data-booking-template-root="default"]) .booking-payment-methods { gap: 12px; }
:where([data-booking-template-root="default"]) .booking-payment-method { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 12px; min-width: 0; border: 1px solid var(--border-default); border-radius: var(--radius-control); background: var(--surface-field); cursor: pointer; padding: 14px 16px; transition: border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast); }
:where([data-booking-template-root="default"]) .booking-payment-method:hover:not(.booking-payment-method--unsupported) { border-color: var(--action-primary); box-shadow: 0 3px 10px var(--shadow-card-hover); }
:where([data-booking-template-root="default"]) .booking-payment-method__control { display: grid; padding-top: 2px; }
:where([data-booking-template-root="default"]) .booking-payment-method__control input { width: 16px; height: 16px; margin: 0; accent-color: var(--action-primary); }
:where([data-booking-template-root="default"]) .booking-payment-method__body { display: grid; min-width: 0; gap: 8px; }
:where([data-booking-template-root="default"]) .booking-payment-method__header { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 12px; }
:where([data-booking-template-root="default"]) .booking-payment-method__name { min-width: 0; overflow: hidden; color: var(--text-strong); font-size: 14px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
:where([data-booking-template-root="default"]) .booking-payment-method__currency { flex: 0 0 auto; border-radius: 999px; background: var(--surface-page); color: var(--text-muted); font-size: 11px; font-weight: 800; letter-spacing: .04em; padding: 4px 8px; }
:where([data-booking-template-root="default"]) .booking-payment-method__status { display: block; overflow-wrap: anywhere; color: var(--state-danger); font-size: 12px; line-height: 1.45; }
:where([data-booking-template-root="default"]) .booking-payment-method--unsupported { border-color: color-mix(in srgb, var(--state-danger) 34%, var(--border-default)); background: color-mix(in srgb, var(--state-danger) 3%, var(--surface-field)); cursor: not-allowed; }
:where([data-booking-template-root="default"]) .booking-payment-method--unsupported .booking-payment-method__name { color: var(--text-body); }
:where([data-booking-template-root="default"]) .booking-payment-method--unsupported .booking-payment-method__currency { background: color-mix(in srgb, var(--state-danger) 8%, var(--surface-page)); color: var(--state-danger); }
:where([data-booking-template-root="default"]) .booking-payment-methods:disabled .booking-payment-method { cursor: wait; opacity: .65; }
:where([data-booking-template-root="default"]) .booking-payment-methods-empty, :where([data-booking-template-root="default"]) .booking-payment-methods-error { display: flex; align-items: flex-start; gap: 10px; border-radius: var(--radius-control); font-size: 13px; line-height: 1.5; padding: 13px 14px; }
:where([data-booking-template-root="default"]) .booking-payment-methods-empty { background: var(--surface-page); color: var(--text-muted); }
:where([data-booking-template-root="default"]) .booking-payment-methods-error { border: 1px solid color-mix(in srgb, var(--state-danger) 32%, var(--border-default)); background: color-mix(in srgb, var(--state-danger) 5%, var(--surface-field)); color: var(--state-danger); font-weight: 700; }
:where([data-booking-template-root="default"]) .booking-payment-methods-error::before { display: grid; width: 18px; height: 18px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--state-danger) 16%, transparent); content: '!'; font-size: 11px; font-weight: 900; }
:where([data-booking-template-root="default"]) .booking-payment-method .booking-checkout-3ds { justify-items: end; margin: 0; padding: 0; border: 0; }
:where([data-booking-template-root="default"]) .booking-payment-method .booking-checkout-3ds__label { color: var(--text-muted); font-size: 11px; font-weight: 700; }
:where([data-booking-template-root="default"]) .booking-payment-method .booking-checkout-3ds__logos { min-height: 28px; }
:where([data-booking-template-root="default"]) .booking-payment-method .booking-checkout-3ds__logos img { width: auto; max-width: 72px; height: 24px; }
@media (max-width: 1023px) { :where([data-booking-template-root="default"]) .booking-checkout-grid { grid-template-columns: 1fr; }:where([data-booking-template-root="default"]) .booking-checkout-summary { position: static; } }
@media (max-width: 639px) { :where([data-booking-template-root="default"]) .booking-checkout-page { width: calc(100% - 24px); padding: 32px 0 52px; }:where([data-booking-template-root="default"]) .booking-checkout-section, :where([data-booking-template-root="default"]) .booking-checkout-summary { padding: 18px 16px; }:where([data-booking-template-root="default"]) .booking-payment-method { padding: 13px 12px; }:where([data-booking-template-root="default"]) .booking-payment-method__header { display: grid; grid-template-columns: minmax(0, 1fr); align-items: flex-start; }:where([data-booking-template-root="default"]) .booking-payment-method .booking-checkout-3ds { justify-items: start; }:where([data-booking-template-root="default"]) .booking-payment-method .booking-checkout-3ds__label { text-align: left; }:where([data-booking-template-root="default"]) .booking-payment-method__currency { font-size: 10px; } }

/* Keep backend-provided booking facts readable at tablet widths. */
@media (min-width: 640px) and (max-width: 899px) {
  :where([data-booking-template-root="default"]) .booking-page-description > section {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  :where([data-booking-template-root="default"]) .booking-page-description > section > div {
    min-width: 0;
    grid-template-columns: 26px minmax(0, 1fr);
    column-gap: 8px;
    padding: 12px 10px !important;
  }

  :where([data-booking-template-root="default"]) .booking-page-description > section > div::before {
    width: 26px;
    height: 26px;
    font-size: 14px;
  }

  :where([data-booking-template-root="default"]) .booking-page-description > section > div > div {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  :where([data-booking-template-root="default"]) .booking-page-description > section > div > div:first-child {
    font-size: clamp(14px, 2.2vw, 17px) !important;
  }

  :where([data-booking-template-root="default"]) .booking-page-banner > section {
    min-height: clamp(190px, 30vw, var(--booking-hero-height)) !important;
    padding-block: 24px !important;
  }

  :where([data-booking-template-root="default"]) .booking-page-banner > section > h1, :where([data-booking-template-root="default"]) .booking-page-banner > section > p {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 639px) {
  :where([data-booking-template-root="default"]) .booking-page-description > section {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  :where([data-booking-template-root="default"]) .booking-page-description > section > div {
    grid-template-columns: 30px minmax(0, 1fr);
    padding: 14px 16px !important;
  }
}

/* Mobile appointment rows keep labels and values in a stable two-column scan. */
@media (max-width: 639px) {
  :where([data-booking-template-root="default"]) .booking-appointments-table tbody th, :where([data-booking-template-root="default"]) .booking-appointments-table tbody td {
    width: 100%;
  }

  :where([data-booking-template-root="default"]) .booking-appointments-table tbody th::before, :where([data-booking-template-root="default"]) .booking-appointments-table tbody td::before {
    grid-column: 1;
  }

  :where([data-booking-template-root="default"]) .booking-appointments-table tbody th > *, :where([data-booking-template-root="default"]) .booking-appointments-table tbody td > * {
    grid-column: 2;
    min-width: 0;
  }

  :where([data-booking-template-root="default"]) .booking-appointments-table tbody th .booking-appointment-list-row__title {
    overflow-wrap: normal;
    word-break: normal;
  }

  :where([data-booking-template-root="default"]) .booking-appointments-table tbody td:nth-child(4) > span {
    justify-self: start;
  }
}

@media (max-width: 639px) {
  :where([data-booking-template-root="default"]) .booking-appointments-table .booking-account-table__view-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  :where([data-booking-template-root="default"]) .booking-appointments-table .booking-account-table__view-icon {
    display: block;
  }

  :where([data-booking-template-root="default"]) .booking-appointments-table .booking-account-table__view-link {
    width: 44px;
    justify-content: center;
  }
}
