:root {
  --booking-primary: #b64e1f;
  --booking-accent: #275fe0;
  --booking-on-primary: #ffffff;
  --booking-primary-text: #b64e1f;
  --booking-ink: #241914;
  /* One owner color drives the page: every tint, line and the background derive from it. */
  --booking-muted: color-mix(in srgb, var(--booking-primary) 10%, #615a57);
  --booking-line: color-mix(in srgb, var(--booking-primary) 12%, #e6e3e8);
  --booking-surface: #ffffff;
  --booking-tonal: color-mix(in srgb, var(--booking-primary) 7%, #ffffff);
  --booking-soft: color-mix(in srgb, var(--booking-primary) 13%, #ffffff);
  --booking-background: color-mix(in srgb, var(--booking-primary) 4%, #ffffff);
  --booking-field: color-mix(in srgb, var(--booking-primary) 14%, #cdc8cf);
  --booking-error: #a82c24;
  --booking-shadow: 0 1px 2px rgb(36 25 20 / 4%), 0 14px 36px color-mix(in srgb, var(--booking-primary) 9%, transparent);
  /* Icons are masks, so they take the owner's color. */
  --booking-icon-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M8.5 10.5h7'/%3E%3C/svg%3E");
  --booking-icon-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
  --booking-icon-video: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='13' height='12' rx='2'/%3E%3Cpath d='M16 10l5-3v10l-5-3z'/%3E%3C/svg%3E");
  --booking-icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
  --booking-icon-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  --booking-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16' rx='2.5'/%3E%3Cpath d='M3 9.5h18M8 2.5v4M16 2.5v4'/%3E%3C/svg%3E");
  --booking-icon-person: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E");
  --booking-icon-group: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c0-3.6 2.9-6.3 6.5-6.3s6.5 2.7 6.5 6.3'/%3E%3Ccircle cx='17' cy='9' r='2.8'/%3E%3Cpath d='M16.2 14c3 0 5.3 2.3 5.3 5.6'/%3E%3C/svg%3E");
  --booking-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' stroke-width='2.6'/%3E%3C/svg%3E");
  --booking-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6' stroke='%237d7684' stroke-width='2'/%3E%3C/svg%3E");
}
html[data-scheduler-route="public_booking"] canvas, html[data-scheduler-route="public_booking_manage"] canvas { display: none !important; }

.scheduler-booking-page { min-height: 100vh; color: var(--booking-ink); background: var(--booking-background); }
.scheduler-booking-page * { box-sizing: border-box; }
/* A hidden step, field or row stays hidden whatever display its own rule sets. */
.scheduler-booking-page [hidden] { display: none !important; }
.scheduler-booking-page button, .scheduler-booking-page input, .scheduler-booking-page select, .scheduler-booking-page textarea { font: inherit; }
.scheduler-booking-skip { position: fixed; z-index: 20; top: 8px; left: 8px; padding: 10px 14px; border-radius: 10px; background: var(--booking-ink); color: white; transform: translateY(-150%); }
.scheduler-booking-skip:focus { transform: none; }
.scheduler-booking-page::before { content: ""; display: block; height: 4px; background: var(--booking-primary); }
.scheduler-booking-header { width: min(1040px, calc(100% - 40px)); min-height: 84px; margin: auto; display: flex; align-items: center; gap: 20px; }
.scheduler-booking-brand { display: flex; align-items: center; gap: 14px; min-width: 0; }
.scheduler-booking-brand img { width: 48px; height: 48px; padding: 4px; border: 1px solid var(--booking-line); border-radius: 12px; object-fit: contain; background: white; }
.scheduler-booking-brand-text { display: grid; gap: 2px; min-width: 0; }
#scheduler-booking-brand-name { overflow: hidden; font-size: 17px; font-weight: 780; text-overflow: ellipsis; white-space: nowrap; }
#scheduler-booking-brand-subtitle { color: var(--booking-muted); font-size: 13px; font-weight: 500; }
.scheduler-booking-shell { width: min(1040px, calc(100% - 40px)); margin: 0 auto; padding: 32px 0 96px; display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; gap: clamp(24px, 4vw, 48px); }
.scheduler-booking-flow { min-width: 0; }
.scheduler-booking-title { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Labelled steps for the visitor's own path; narrow screens show the current step and a bar. */
.scheduler-booking-progress { position: relative; margin: 6px 0 22px; }
.scheduler-booking-progress span { display: none; width: 0; height: 4px; border-radius: 999px; background: var(--booking-primary); transition: width .25s ease; }
.scheduler-booking-progress-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0; padding: 0; list-style: none; color: var(--booking-muted); font-size: 13px; }
.scheduler-booking-progress-steps li { display: inline-flex; align-items: center; gap: 8px; }
.scheduler-booking-progress-steps li + li::before { content: ""; width: clamp(14px, 4vw, 44px); height: 2px; border-radius: 2px; background: var(--booking-line); }
.scheduler-booking-progress-steps li[data-state="done"] + li::before { background: var(--booking-primary); }
.scheduler-booking-progress-steps i { width: 22px; height: 22px; display: inline-grid; place-items: center; border: 2px solid var(--booking-line); border-radius: 50%; }
.scheduler-booking-progress-steps b { font-weight: 500; }
.scheduler-booking-progress-steps li[data-state="current"] i { border-color: var(--booking-primary); }
.scheduler-booking-progress-steps li[data-state="current"] i::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--booking-primary); }
.scheduler-booking-progress-steps li[data-state="current"] b { color: var(--booking-primary-text); font-weight: 700; }
.scheduler-booking-progress-steps li[data-state="done"] i { border-color: var(--booking-primary); background: var(--booking-primary); }
.scheduler-booking-progress-steps li[data-state="done"] i::after { content: ""; width: 12px; height: 12px; background: var(--booking-on-primary); -webkit-mask: var(--booking-icon-check) center / contain no-repeat; mask: var(--booking-icon-check) center / contain no-repeat; }
.scheduler-booking-progress-steps li[data-state="done"] b { color: var(--booking-ink); }

/* The first screen's invitation to book by chatting with Bindi, in Bindi's own colors. */
.scheduler-booking-ai-offer { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 16px; margin: 0 0 18px; padding: 20px 22px; border: 1px solid #37585b; border-radius: 20px; background: #10282c; color: #f5fbfc; box-shadow: 0 14px 36px #10282c2e; }
.scheduler-booking-ai-offer img { width: 56px; height: 56px; border: 2px solid #70bbcb; border-radius: 50%; object-fit: cover; }
.scheduler-booking-ai-offer-copy > span { color: #86dfcc; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.scheduler-booking-ai-offer h2 { margin: 4px 0; color: #f5fbfc; font-size: 19px; letter-spacing: -.01em; }
.scheduler-booking-ai-offer p { margin: 0; color: #c5dcd8; font-size: 14px; line-height: 1.5; }
.scheduler-booking-ai-start { grid-column: 1 / -1; min-height: 50px; padding: 12px 18px; border: 0; border-radius: 13px; background: #c9f4e8; color: #0f2a2c; cursor: pointer; font-size: 15px; font-weight: 780; line-height: 1.3; }
.scheduler-booking-ai-start:hover { background: #b5efdf; }
.scheduler-booking-page .scheduler-booking-ai-start:focus-visible { outline-color: #91e8d2; }
.scheduler-booking-status { margin: 0 0 12px; color: var(--booking-muted); font-size: 13px; }
.scheduler-booking-status:empty { margin: 0; }
.scheduler-booking-status[data-tone="error"], .scheduler-booking-error { color: var(--booking-error); }
.scheduler-booking-unavailable { padding: clamp(24px, 4vw, 42px); border: 1px solid color-mix(in srgb, var(--booking-error) 30%, var(--booking-line)); border-radius: 24px; background: color-mix(in srgb, var(--booking-error) 5%, var(--booking-surface)); }
.scheduler-booking-unavailable h2 { margin: 0; font-size: clamp(24px, 3vw, 32px); letter-spacing: -.025em; }
.scheduler-booking-unavailable p { max-width: 600px; margin: 12px 0 0; color: var(--booking-muted); font-size: 15px; line-height: 1.6; }
.scheduler-booking-unavailable .scheduler-booking-button { margin-top: 22px; }

.scheduler-booking-step, .scheduler-booking-success { padding: clamp(20px, 3.5vw, 36px); border: 1px solid var(--booking-line); border-radius: 22px; background: var(--booking-surface); box-shadow: var(--booking-shadow); }
.scheduler-booking-step:focus, .scheduler-booking-success:focus { outline: none; }
.scheduler-booking-step:focus-visible, .scheduler-booking-success:focus-visible { outline: 3px solid var(--booking-primary-text); outline-offset: 4px; }
.scheduler-booking-step h2 { margin: 0 0 18px; font-size: clamp(22px, 2.6vw, 28px); letter-spacing: -.02em; }
.scheduler-booking-back { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; margin: -6px 0 10px -10px; padding: 0 10px; border: 0; border-radius: 10px; background: transparent; color: var(--booking-primary-text); cursor: pointer; font-size: 14px; font-weight: 720; }
.scheduler-booking-back:hover { background: color-mix(in srgb, var(--booking-primary) 9%, transparent); }
.scheduler-booking-context { margin: -8px 0 16px; color: var(--booking-muted); font-size: 14px; line-height: 1.45; }
.scheduler-booking-context + .scheduler-booking-context { margin-top: -10px; }
.scheduler-booking-page input:focus-visible, .scheduler-booking-page select:focus-visible, .scheduler-booking-page textarea:focus-visible, .scheduler-booking-page button:focus-visible { outline: 3px solid var(--booking-primary-text); outline-offset: 2px; }

/* Service: one short list, with search and chips only for a long catalog. */
.scheduler-booking-search, .scheduler-booking-fields label, .scheduler-booking-field { display: grid; gap: 7px; color: var(--booking-ink); font-size: 12px; font-weight: 760; }
.scheduler-booking-search { margin-bottom: 14px; }
.scheduler-booking-search input, .scheduler-booking-fields input, .scheduler-booking-fields textarea, .scheduler-booking-field select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--booking-field); border-radius: 13px; background: white; color: var(--booking-ink); }
.scheduler-booking-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.scheduler-booking-chip { min-height: 38px; padding: 0 14px; border: 1px solid var(--booking-line); border-radius: 999px; background: white; color: var(--booking-ink); cursor: pointer; font-size: 12px; font-weight: 700; }
.scheduler-booking-chip[aria-pressed="true"] { border-color: var(--booking-primary); background: color-mix(in srgb, var(--booking-primary) 13%, white); color: color-mix(in srgb, var(--booking-primary-text) 82%, black); }
.scheduler-service-groups { display: grid; gap: 20px; }
.scheduler-service-group h3 { margin: 0 0 8px; color: var(--booking-muted); font-size: 12px; font-weight: 760; letter-spacing: .06em; text-transform: uppercase; }
.scheduler-service-list, .scheduler-choice-list { display: grid; gap: 8px; }
.scheduler-service-card, .scheduler-staff-card { width: 100%; min-height: 64px; padding: 16px 18px; border: 1.5px solid var(--booking-line); border-radius: 16px; background: white; color: inherit; cursor: pointer; text-align: left; transition: border-color .15s ease, box-shadow .15s ease; }
.scheduler-service-card:hover, .scheduler-staff-card:hover { border-color: color-mix(in srgb, var(--booking-primary) 50%, var(--booking-line)); box-shadow: 0 0 0 4px var(--booking-tonal); }
.scheduler-service-card[aria-pressed="true"], .scheduler-staff-card[aria-pressed="true"] { border-color: var(--booking-primary); box-shadow: inset 0 0 0 1px var(--booking-primary); }
/* Icon tile, title, description, then duration and format; a chevron says it moves on. */
.scheduler-service-card { display: grid; grid-template-columns: 44px max-content minmax(0, 1fr); grid-template-areas: "icon title title" "icon desc desc" "icon meta format"; align-items: center; gap: 6px 14px; padding-right: 44px; background: white var(--booking-icon-chevron) right 16px center / 18px no-repeat; }
.scheduler-service-card::before { content: ""; grid-area: icon; align-self: start; width: 44px; height: 44px; border-radius: 12px; background: var(--booking-soft); }
.scheduler-service-card::after { content: ""; grid-area: icon; align-self: start; justify-self: center; width: 22px; height: 22px; margin-top: 11px; background: var(--booking-primary-text); -webkit-mask: var(--booking-icon-chat) center / contain no-repeat; mask: var(--booking-icon-chat) center / contain no-repeat; }
.scheduler-service-card[data-format="in_person"]::after { -webkit-mask-image: var(--booking-icon-pin); mask-image: var(--booking-icon-pin); }
.scheduler-service-card[data-format="google_meet"]::after { -webkit-mask-image: var(--booking-icon-video); mask-image: var(--booking-icon-video); }
.scheduler-service-card[data-format="phone_call"]::after { -webkit-mask-image: var(--booking-icon-phone); mask-image: var(--booking-icon-phone); }
.scheduler-service-card strong { grid-area: title; font-size: 16px; }
.scheduler-service-card p { grid-area: desc; margin: 0; color: var(--booking-muted); font-size: 14px; line-height: 1.5; }
.scheduler-service-card small, .scheduler-service-format { display: inline-flex; align-items: center; gap: 6px; justify-self: start; max-width: 100%; padding: 4px 10px; border-radius: 999px; background: var(--booking-tonal); color: var(--booking-ink); font-size: 12.5px; font-weight: 600; white-space: normal; overflow-wrap: anywhere; }
.scheduler-service-card small { grid-area: meta; }
.scheduler-service-format { grid-area: format; }
.scheduler-service-card small::before, .scheduler-service-format::before { content: ""; width: 14px; height: 14px; flex: none; background: currentColor; -webkit-mask: var(--booking-icon-clock) center / contain no-repeat; mask: var(--booking-icon-clock) center / contain no-repeat; }
.scheduler-service-format::before { -webkit-mask-image: var(--booking-icon-chat); mask-image: var(--booking-icon-chat); }
.scheduler-service-card[data-format="in_person"] .scheduler-service-format::before { -webkit-mask-image: var(--booking-icon-pin); mask-image: var(--booking-icon-pin); }
.scheduler-service-card[data-format="google_meet"] .scheduler-service-format::before { -webkit-mask-image: var(--booking-icon-video); mask-image: var(--booking-icon-video); }
.scheduler-service-card[data-format="phone_call"] .scheduler-service-format::before { -webkit-mask-image: var(--booking-icon-phone); mask-image: var(--booking-icon-phone); }
#scheduler-staff-results { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.scheduler-staff-card { display: flex; align-items: center; gap: 14px; font-size: 15px; font-weight: 650; }
.scheduler-staff-avatar { position: relative; order: -1; width: 48px; height: 48px; flex: none; display: inline-grid; place-items: center; border-radius: 50%; background: var(--booking-soft); color: var(--booking-primary-text); font-size: 15px; font-weight: 750; }
.scheduler-staff-any::after { content: ""; width: 24px; height: 24px; background: var(--booking-primary-text); -webkit-mask: var(--booking-icon-group) center / contain no-repeat; mask: var(--booking-icon-group) center / contain no-repeat; }

/* Date: a month grid. Open days are tinted; days without times are plain and inert. */
.scheduler-calendar { max-width: 420px; }
.scheduler-calendar-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.scheduler-calendar-header h3 { margin: 0; font-size: 16px; }
.scheduler-calendar-nav { width: 40px; height: 40px; border: 1px solid var(--booking-line); border-radius: 50%; background: white; color: var(--booking-ink); cursor: pointer; font-size: 22px; line-height: 1; }
.scheduler-calendar-nav:disabled { cursor: not-allowed; opacity: .35; }
.scheduler-calendar-grid { width: 100%; border-collapse: separate; border-spacing: 2px 4px; table-layout: fixed; }
.scheduler-calendar-grid th { padding: 4px 0; color: var(--booking-muted); font-size: 11px; font-weight: 720; text-transform: uppercase; }
.scheduler-calendar-grid td { padding: 0; text-align: center; }
.scheduler-calendar-day { position: relative; width: 100%; max-width: 48px; aspect-ratio: 1; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--booking-primary) 12%, white); color: color-mix(in srgb, var(--booking-primary-text) 85%, black); cursor: pointer; font-size: 14px; font-weight: 760; }
.scheduler-calendar-day:hover { background: color-mix(in srgb, var(--booking-primary) 22%, white); }
.scheduler-calendar-day[aria-disabled="true"] { background: transparent; color: #a1958e; cursor: default; font-weight: 500; }
.scheduler-calendar-day[aria-current="date"]::after { content: ""; position: absolute; left: 50%; bottom: 5px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; transform: translateX(-50%); }
.scheduler-calendar-grid td[aria-selected="true"] .scheduler-calendar-day { background: var(--booking-primary); color: var(--booking-on-primary); }
.scheduler-calendar-grid[aria-busy="true"] .scheduler-calendar-day { opacity: .5; }
.scheduler-slot-status { min-height: 0; margin: 12px 0; color: var(--booking-muted); font-size: 13px; }
.scheduler-slot-status:empty { margin: 0; }

/* Time: start times grouped into morning, afternoon and evening. */
.scheduler-slot-list { display: grid; gap: 18px; }
.scheduler-slot-group { display: grid; gap: 10px; }
.scheduler-slot-period { margin: 0; color: var(--booking-muted); font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.scheduler-slot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.scheduler-slot { min-height: 50px; padding: 8px 10px; border: 1.5px solid color-mix(in srgb, var(--booking-primary) 30%, var(--booking-line)); border-radius: 12px; background: white; color: var(--booking-primary-text); cursor: pointer; font-size: 15px; font-weight: 700; }
.scheduler-slot:hover { border-color: color-mix(in srgb, var(--booking-primary) 55%, var(--booking-line)); background: var(--booking-tonal); }
.scheduler-slot[aria-pressed="true"] { background: var(--booking-primary); color: var(--booking-on-primary); }

/* Details. */
.scheduler-details-form { display: grid; gap: 16px; }
.scheduler-booking-format { margin: -6px 0 2px; font-size: 15px; font-weight: 700; }
.scheduler-booking-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.scheduler-field-wide { grid-column: 1 / -1; }
.scheduler-booking-fields label b { color: var(--booking-muted); font-size: 10px; font-weight: 650; text-transform: uppercase; }
.scheduler-booking-fields textarea { min-height: 88px; resize: vertical; }
.scheduler-booking-identity-note { margin: 0; color: var(--booking-muted); font-size: 12px; line-height: 1.5; }
.scheduler-booking-error { margin: 0; font-size: 13px; }
.scheduler-booking-button { min-height: 48px; padding: 0 20px; border-radius: 14px; cursor: pointer; font-weight: 780; }
.scheduler-booking-button:disabled { cursor: not-allowed; opacity: .5; }
.scheduler-booking-primary { border: 0; background: var(--booking-primary); color: var(--booking-on-primary); box-shadow: 0 10px 24px color-mix(in srgb, var(--booking-primary) 24%, transparent); }
.scheduler-booking-secondary { border: 1px solid var(--booking-line); background: white; color: var(--booking-ink); }
.scheduler-booking-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 20px; }
.scheduler-details-form .scheduler-booking-actions { margin-top: 4px; }

/* Review. */
.scheduler-review-card { display: grid; }.scheduler-review-card div { padding: 13px 0; display: flex; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--booking-line); }.scheduler-review-card span { color: var(--booking-muted); }.scheduler-review-card strong { text-align: right; overflow-wrap: anywhere; }
.scheduler-booking-confirm-note { color: var(--booking-muted); font-size: 12px; line-height: 1.5; }
.scheduler-booking-success { text-align: center; }
.scheduler-booking-success-badge { width: 64px; height: 64px; margin: 6px auto 24px; display: grid; place-items: center; border-radius: 50%; background: var(--booking-primary); box-shadow: 0 0 0 10px var(--booking-soft); }
.scheduler-booking-success-badge::after { content: ""; width: 30px; height: 30px; background: var(--booking-on-primary); -webkit-mask: var(--booking-icon-check) center / contain no-repeat; mask: var(--booking-icon-check) center / contain no-repeat; }.scheduler-booking-success h2 { margin: 0; font-size: 30px; }.scheduler-booking-success p { color: var(--booking-muted); line-height: 1.5; }.scheduler-booking-success small { display: block; margin-top: 16px; color: var(--booking-muted); overflow-wrap: anywhere; }

/* The compact summary appears once a service is chosen. */
.scheduler-booking-summary { position: sticky; top: 24px; overflow: hidden; border: 1px solid var(--booking-line); border-radius: 20px; background: var(--booking-surface); box-shadow: var(--booking-shadow); }
.scheduler-booking-summary h2 { margin: 0; padding: 16px 20px; border-bottom: 1px solid var(--booking-line); background: var(--booking-tonal); color: var(--booking-primary-text); font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }.scheduler-booking-summary dl { margin: 0; padding: 4px 20px 8px; }.scheduler-booking-summary dl div { display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 12px; padding: 12px 0; border-top: 1px solid var(--booking-line); }.scheduler-booking-summary dl div:first-child { border-top: 0; }.scheduler-booking-summary dl div::before { content: ""; grid-row: span 2; width: 18px; height: 18px; margin-top: 2px; background: var(--booking-primary-text); -webkit-mask: var(--booking-icon-chat) center / contain no-repeat; mask: var(--booking-icon-chat) center / contain no-repeat; }#scheduler-summary-employee-row::before, #scheduler-summary-name-row::before { -webkit-mask-image: var(--booking-icon-person); mask-image: var(--booking-icon-person); }#scheduler-summary-time-row::before { -webkit-mask-image: var(--booking-icon-calendar); mask-image: var(--booking-icon-calendar); }.scheduler-booking-summary dt { color: var(--booking-muted); font-size: 10px; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }.scheduler-booking-summary dd { margin: 4px 0 0; font-size: 14px; font-weight: 650; line-height: 1.4; overflow-wrap: anywhere; }.scheduler-summary-timezone { margin: 0; padding: 0 20px 16px; color: var(--booking-muted); font-size: 11px; line-height: 1.5; }
/* Bindi shares the public site's conversation layout and licensed avatar. */
.scheduler-booking-helper-toggle { position: fixed; z-index: 8; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 8px 17px 8px 9px; border: 1px solid #37585b; border-radius: 999px; background: #10282c; color: #f5fbfc; cursor: pointer; box-shadow: 0 12px 35px #10282c40; text-align: left; }
.scheduler-booking-helper-toggle img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }.scheduler-booking-helper-toggle strong { display: block; font-size: 14px; }.scheduler-booking-helper-toggle small { display: block; font-size: 11px; color: #b9d4d7; }.scheduler-booking-helper-toggle i { width: 7px; height: 7px; margin-left: 5px; border-radius: 50%; background: #72ddc5; }
.scheduler-booking-helper { --bindi-ink: #f3fbfc; --bindi-muted: #bdd3d6; --bindi-line: #35545a; width: min(480px, calc(100% - 32px)); max-height: calc(100vh - 112px); max-height: calc(var(--scheduler-visual-height, 100dvh) - 112px); display: flex; flex-direction: column; position: fixed; z-index: 9; right: 22px; bottom: calc(96px + var(--scheduler-visual-bottom, 0px)); padding: 0; border: 1px solid #436970; border-radius: 24px; background: #0d1f24; color: var(--bindi-ink); box-shadow: 0 24px 80px #06151955; overflow: hidden; }
.scheduler-assistant-header { display: grid; grid-template-columns: 128px minmax(0, 1fr) auto; align-items: center; gap: 12px; flex: none; padding: 14px; border-bottom: 1px solid var(--bindi-line); background: radial-gradient(circle at 16% 50%, #174752, #0d1f24 62%); }
.scheduler-assistant-avatar { width: 128px; height: 128px; overflow: hidden; border: 2px solid #70bbcb; border-radius: 50%; background: #102e37; box-shadow: 0 0 24px #66b7cf20; }.scheduler-assistant-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }.scheduler-assistant-avatar[data-state="listening"] { animation: scheduler-assistant-listening 1.4s ease-in-out infinite; }
@keyframes scheduler-assistant-listening { 50% { box-shadow: 0 0 0 6px #70bbcb30; } }
.scheduler-assistant-identity { min-width: 0; }.scheduler-assistant-identity > span { color: #86dfcc; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.scheduler-assistant-identity h2 { color: var(--bindi-ink); margin: 4px 0; font-size: 23px; }.scheduler-assistant-state { margin: 0; color: var(--bindi-muted); font-size: 12px; }
.scheduler-assistant-header-actions { display: flex; align-items: center; gap: 6px; }.scheduler-assistant-header button { min-height: 40px; border: 1px solid var(--bindi-line); border-radius: 12px; background: #ffffff07; color: var(--bindi-ink); cursor: pointer; }.scheduler-assistant-icon { flex: none; width: 40px; padding: 0; font-size: 21px; }.scheduler-assistant-header .scheduler-assistant-voice { min-width: 0; display: flex; align-items: center; gap: 5px; padding: 0 8px; font-size: 11px; font-weight: 750; }.scheduler-assistant-voice[aria-pressed="true"] { color: #9bdfec; border-color: #508c99; background: #164453; }
.scheduler-assistant-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 14px; }.scheduler-assistant-body p { color: var(--bindi-muted); font-size: 13px; line-height: 1.5; }.scheduler-assistant-disclosure { margin-bottom: 12px; padding: 12px; border: 1px solid var(--bindi-line); border-radius: 14px; background: #173239; }.scheduler-assistant-disclosure p { margin: 7px 0 0; font-size: 12px; }.scheduler-assistant-disclosure strong { font-size: 13px; }
.scheduler-assistant-transcript { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }.scheduler-assistant-message { max-width: 92%; min-width: 0; margin: 0; padding: 11px 13px; border: 1px solid var(--bindi-line); border-radius: 16px; white-space: pre-wrap; overflow-wrap: anywhere; }.scheduler-assistant-message::before { content: 'Bindi'; display: block; margin-bottom: 5px; font-size: 10px; font-weight: 800; color: #91d9e5; text-transform: uppercase; letter-spacing: .08em; }.scheduler-assistant-message[data-role="user"] { justify-self: end; background: #24535a; color: #f3fbfc; }.scheduler-assistant-message[data-role="user"]::before { content: 'You'; color: #bdf0e8; }.scheduler-assistant-message[data-role="assistant"] { justify-self: start; background: #ffffff06; color: var(--bindi-ink); }
.scheduler-assistant-status { margin: 9px 0; font-size: 12px; overflow-wrap: anywhere; }.scheduler-assistant-status[data-tone="error"] { color: #ffb7a8; }.scheduler-assistant-suggestions, .scheduler-helper-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }.scheduler-assistant-suggestion, .scheduler-helper-actions button { min-height: 40px; max-width: 100%; padding: 8px 11px; border: 1px solid var(--bindi-line); border-radius: 22px; background: #142b34; color: #e0f3f6; cursor: pointer; font-size: 11px; font-weight: 700; overflow-wrap: anywhere; }
.scheduler-assistant-proposal { margin-top: 12px; padding: 13px; border: 1px solid #68b9a4; border-radius: 15px; background: #193c3d; }.scheduler-assistant-proposal h3 { margin: 0 0 7px; color: var(--bindi-ink); font-size: 14px; }.scheduler-assistant-proposal p { margin: 0 0 11px; overflow-wrap: anywhere; }.scheduler-assistant-proposal button { width: 100%; }
.scheduler-assistant-form { flex: none; padding: 12px 14px 14px; margin: 0; border-top: 1px solid var(--bindi-line); background: #09191e; }.scheduler-assistant-form > label { display: block; margin-bottom: 8px; color: var(--bindi-muted); font-size: 11px; font-weight: 750; }.scheduler-assistant-composer { border: 1px solid var(--bindi-line); border-radius: 16px; padding: 9px; background: #ffffff04; }.scheduler-assistant-form textarea { display: block; width: 100%; box-sizing: border-box; min-height: 48px; max-height: 96px; padding: 3px; border: 0; border-radius: 7px; background: transparent; color: var(--bindi-ink); font: inherit; font-size: 13px; resize: vertical; }.scheduler-assistant-form textarea::placeholder { color: #a1b9bd; }.scheduler-assistant-send-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }.scheduler-assistant-send-row .scheduler-booking-button { min-height: 40px; padding: 8px 17px; border-radius: 22px; background: #c9f4e8; color: #123c38; }.scheduler-assistant-mic { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 42px; min-height: 42px; padding: 0; border: 1px solid var(--bindi-line); border-radius: 50%; background: #ffffff07; color: var(--bindi-ink); cursor: pointer; }.scheduler-assistant-mic[aria-pressed="true"] { background: #30636d; border-color: #9bdfec; }.scheduler-booking-helper button:disabled { opacity: .5; cursor: default; }.scheduler-booking-helper :focus-visible { outline: 2px solid #91e8d2; outline-offset: 3px; }
@media (max-width: 520px) { .scheduler-assistant-header { grid-template-columns: 100px minmax(0, 1fr); gap: 10px; padding: 12px; }.scheduler-assistant-avatar { width: 100px; height: 100px; grid-row: auto; }.scheduler-assistant-header-actions { grid-column: 1 / -1; justify-content: flex-end; }.scheduler-assistant-identity h2 { font-size: 22px; }.scheduler-assistant-header button { min-height: 36px; }.scheduler-assistant-icon { width: 36px; }.scheduler-booking-helper { max-height: calc(100vh - 100px); max-height: calc(var(--scheduler-visual-height, 100dvh) - 100px); bottom: calc(84px + var(--scheduler-visual-bottom, 0px)); }.scheduler-booking-helper-toggle { min-height: 58px; } }
@media (prefers-reduced-motion: reduce) { .scheduler-assistant-avatar[data-state="listening"] { animation: none; } }


@media (max-width: 900px) {
  .scheduler-booking-shell { grid-template-columns: 1fr; padding-top: 24px; }
  /* On narrow screens the summary is one quiet line above the step. */
  .scheduler-booking-summary { position: static; order: -1; padding: 12px 16px; border-radius: 14px; box-shadow: none; }
  .scheduler-booking-summary h2, .scheduler-booking-summary dt, .scheduler-summary-timezone { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .scheduler-booking-summary dl { display: flex; flex-wrap: wrap; gap: 4px 14px; }
  .scheduler-booking-summary dl { padding: 0; }.scheduler-booking-summary dl div { display: flex; align-items: center; gap: 6px; padding: 0; border: 0; }.scheduler-booking-summary dl div::before { width: 15px; height: 15px; margin: 0; }.scheduler-booking-summary dd { margin: 0; font-size: 13px; }
}

@media (max-width: 620px) {
  .scheduler-booking-header, .scheduler-booking-shell { width: min(100% - 32px, 1040px); }
  .scheduler-booking-header { min-height: 68px; }.scheduler-booking-brand img { width: 40px; height: 40px; }
  .scheduler-booking-step { padding: 18px 16px; border-radius: 18px; }
  .scheduler-slot-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }.scheduler-slot { padding: 8px 6px; font-size: 14px; }
  /* The step tracker becomes "Step 3 of 5 · Time" over a bar. */
  .scheduler-booking-progress { padding-bottom: 12px; background: linear-gradient(var(--booking-line), var(--booking-line)) left bottom / 100% 4px no-repeat; }
  .scheduler-booking-progress span { display: block; position: absolute; left: 0; bottom: 0; }
  .scheduler-booking-progress-steps li:not([data-state="current"]), .scheduler-booking-progress-steps li::before, .scheduler-booking-progress-steps i { display: none; }
  .scheduler-booking-progress-steps b::before { content: attr(data-step) " · "; color: var(--booking-muted); font-weight: 500; }
  .scheduler-booking-ai-offer { grid-template-columns: 48px minmax(0, 1fr); padding: 18px; }.scheduler-booking-ai-offer img { width: 48px; height: 48px; }
  .scheduler-service-card { grid-template-columns: 40px minmax(0, 1fr); grid-template-areas: "icon title" "icon desc" "icon meta" "icon format"; }.scheduler-service-card::before { width: 40px; height: 40px; }.scheduler-service-card::after { margin-top: 9px; }
  .scheduler-calendar { max-width: none; }
  .scheduler-booking-fields { grid-template-columns: 1fr; }.scheduler-field-wide { grid-column: auto; }
  .scheduler-booking-actions .scheduler-booking-primary { width: 100%; }
  .scheduler-booking-helper-toggle { right: 12px; bottom: 12px; }.scheduler-booking-helper { right: 12px; bottom: calc(84px + var(--scheduler-visual-bottom, 0px)); max-height: calc(100vh - 100px); max-height: calc(var(--scheduler-visual-height, 100dvh) - 100px); }
}

@media (prefers-reduced-motion: reduce) { .scheduler-booking-page * { scroll-behavior: auto !important; transition: none !important; } }

/* Optional SMS choice uses the page's Material controls and remains distinct from booking. */
.scheduler-sms-consent { margin-block: 1rem; padding: 1rem; border: 1px solid var(--booking-line); border-radius: 12px; }
.scheduler-sms-consent label { display: flex; align-items: flex-start; gap: .75rem; cursor: pointer; line-height: 1.5; }
.scheduler-sms-consent input { flex: 0 0 24px; width: 24px; height: 24px; margin: .125rem 0; accent-color: var(--booking-primary); }
.scheduler-sms-consent p { margin: .75rem 0 0 2.25rem; }

.scheduler-sms-consent legend { font-weight: 600; padding-inline: .35rem; }
.scheduler-sms-consent label + label { margin-top: .65rem; }

/* Policies and help stay reachable from every booking step, on phones and desktops. */
.scheduler-booking-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  padding: 24px 16px 96px;
  font-size: 0.875rem;
}

.scheduler-booking-footer a {
  color: var(--booking-primary-text, #3b3f8f);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* A booking's private manage link: details, then cancel or reschedule behind an explicit confirmation. */
html[data-scheduler-route="public_booking_manage"] .scheduler-booking-shell { grid-template-columns: minmax(0, 760px); }
html[data-scheduler-route="public_booking_manage"] .scheduler-booking-status { margin-top: 18px; }
.scheduler-booking-manage { padding: clamp(24px, 4vw, 42px); border: 1px solid var(--booking-line); border-radius: 28px; background: color-mix(in srgb, var(--booking-surface) 95%, transparent); box-shadow: var(--booking-shadow); }
.scheduler-booking-manage:focus { outline: none; }
.scheduler-booking-manage:focus-visible { outline: 3px solid var(--booking-primary-text); outline-offset: 4px; }
.scheduler-booking-manage h2 { margin: 0 0 18px; font-size: clamp(22px, 2.6vw, 28px); letter-spacing: -.02em; }
.scheduler-booking-manage strong { overflow-wrap: anywhere; }
.scheduler-booking-manage [hidden], .scheduler-booking-manage-offer[hidden], .scheduler-booking-progress[hidden] { display: none !important; }
.scheduler-manage-question { margin-top: 22px; padding: 18px; border: 1px solid var(--booking-line); border-radius: 16px; background: color-mix(in srgb, var(--booking-primary) 4%, white); }
.scheduler-manage-question p { margin: 0; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.scheduler-manage-question .scheduler-booking-actions { margin-top: 18px; }
.scheduler-booking-manage-offer { margin-top: 22px; display: grid; justify-items: center; gap: 10px; }
.scheduler-booking-manage-offer a { display: inline-flex; align-items: center; text-decoration: none; }
.scheduler-booking-manage-offer p { max-width: 460px; margin: 0; font-size: 13px; }

@media (max-width: 620px) {
  .scheduler-booking-manage { padding: 22px 17px; border-radius: 21px; }
  .scheduler-booking-manage .scheduler-booking-actions { flex-direction: column-reverse; }
  .scheduler-booking-manage .scheduler-booking-button { width: 100%; }
}

/* Keep the transcript and composer usable in landscape and keyboard-sized viewports. */
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-booking-helper { bottom: calc(8px + var(--scheduler-visual-bottom, 0px)); max-height: calc(100vh - 16px); max-height: calc(var(--scheduler-visual-height, 100dvh) - 16px); }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-header { grid-template-columns: 56px minmax(0, 1fr); gap: 4px 8px; padding: 6px 8px; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-avatar { width: 56px; height: 56px; grid-row: span 2; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-header-actions { grid-column: 2; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-header button { min-height: 48px; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-icon { width: 48px; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-identity > span { font-size: 9px; line-height: 1.1; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-identity h2 { margin: 0; font-size: 20px; line-height: 1.1; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-state { font-size: 11px; line-height: 1.2; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-body { flex: 1 1 auto; min-height: 44px; padding: 6px 8px; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-form { padding: 6px 8px; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-form > label { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-composer { padding: 6px; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-form textarea { height: 48px; min-height: 48px; max-height: 48px; resize: none; font-size: 16px; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-send-row { margin-top: 4px; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-mic { width: 48px; min-height: 48px; }
.scheduler-booking-page[data-compact-viewport="true"] .scheduler-assistant-send-row .scheduler-booking-button { min-height: 48px; }

/* The invitation answer stays separate from the contact address. */
.scheduler-email-invitation { padding: 1rem; border: 1px solid var(--booking-line); border-radius: 12px; }
.scheduler-email-invitation label { display: flex; align-items: flex-start; gap: .75rem; cursor: pointer; line-height: 1.5; }
.scheduler-email-invitation input[type="checkbox"] { flex: 0 0 24px; width: 24px; height: 24px; min-height: 24px; padding: 0; margin: .125rem 0; accent-color: var(--booking-primary); }
.scheduler-video-confirmation { margin-top: 1rem; }
.scheduler-video-confirmation a { display: block; margin-block: .75rem; overflow-wrap: anywhere; }

/* Phone text stays readable at focus; touch actions share the Material 48px target. */
@media (max-width: 620px) {
  .scheduler-booking-page input:not([type="checkbox"]), .scheduler-booking-page select,
  .scheduler-booking-page textarea { font-size: 16px; }
  .scheduler-booking-back, .scheduler-booking-chip, .scheduler-assistant-header button,
  .scheduler-assistant-suggestion, .scheduler-helper-actions button,
  .scheduler-assistant-send-row .scheduler-booking-button, .scheduler-assistant-mic { min-height: 48px; }
  .scheduler-calendar-nav, .scheduler-assistant-icon, .scheduler-assistant-mic { width: 48px; }
  .scheduler-calendar-nav { height: 48px; }
  .scheduler-booking-actions { flex-wrap: wrap; }
  .scheduler-booking-shell { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
  .scheduler-booking-helper-toggle { bottom: calc(12px + env(safe-area-inset-bottom)); }
  .scheduler-sms-consent, .scheduler-email-invitation { min-width: 0; padding: 12px; }
  .scheduler-sms-consent label, .scheduler-email-invitation label { min-height: 48px; }
  .scheduler-sms-consent p { margin-left: 0; overflow-wrap: anywhere; }
  .scheduler-review-card div { gap: 12px; }
  .scheduler-review-card strong { min-width: 0; }
  .scheduler-booking-success { padding: 24px 16px; }
  .scheduler-video-confirmation .scheduler-booking-button { width: 100%; }
}

/* Phone landscape and a keyboard-shortened viewport retain focus-safe text. */
@media (max-width: 1100px) and (max-height: 620px) {
  .scheduler-booking-page input:not([type="checkbox"]), .scheduler-booking-page select,
  .scheduler-booking-page textarea { font-size: 16px; }
}

/* A landscape keyboard leaves less height than the stacked compact header and
   composer require. Reflow both rows from the visual viewport, not layout height. */
@media (min-width: 621px) {
  .scheduler-booking-page[data-short-viewport="true"] .scheduler-booking-helper { bottom: calc(2px + var(--scheduler-visual-bottom, 0px)); max-height: calc(var(--scheduler-visual-height, 100dvh) - 4px); }
  .scheduler-booking-page[data-short-viewport="true"] .scheduler-booking-helper :focus-visible { outline-offset: -3px; }
  .scheduler-booking-page[data-short-viewport="true"] .scheduler-assistant-header { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 8px; padding: 0 8px; }
  .scheduler-booking-page[data-short-viewport="true"] .scheduler-assistant-avatar { width: 40px; height: 40px; grid-row: auto; }
  .scheduler-booking-page[data-short-viewport="true"] .scheduler-assistant-header-actions { grid-column: 3; }
  .scheduler-booking-page[data-short-viewport="true"] .scheduler-assistant-body { min-height: 0; padding: 2px 8px; }
  .scheduler-booking-page[data-short-viewport="true"] .scheduler-assistant-form { padding: 0 8px; }
  .scheduler-booking-page[data-short-viewport="true"] .scheduler-assistant-composer { display: flex; align-items: center; gap: 8px; padding: 0 4px; }
  .scheduler-booking-page[data-short-viewport="true"] .scheduler-assistant-form textarea { flex: 1; min-width: 0; font-size: 16px; }
  .scheduler-booking-page[data-short-viewport="true"] .scheduler-assistant-send-row { flex: none; margin: 0; }
  .scheduler-booking-page[data-short-viewport="true"] .scheduler-assistant-send-row .scheduler-booking-button { min-height: 48px; }
}

/* Below two touch-target rows, use landscape width for one shared action row.
   The transcript keeps its own scroll area beneath it; no action is clipped. */
@media (min-width: 621px) {
  .scheduler-booking-page[data-inline-viewport="true"] .scheduler-booking-helper { display: grid; grid-template-columns: 350px minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); width: calc(100% - 16px); height: calc(var(--scheduler-visual-height) - 4px); right: 8px; border-radius: 16px; }
  .scheduler-booking-page[data-inline-viewport="true"] .scheduler-assistant-header { grid-column: 1; grid-row: 1; border-bottom: 0; }
  .scheduler-booking-page[data-inline-viewport="true"] .scheduler-assistant-identity > span,
  .scheduler-booking-page[data-inline-viewport="true"] .scheduler-assistant-state { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .scheduler-booking-page[data-inline-viewport="true"] .scheduler-assistant-form { grid-column: 2; grid-row: 1; min-width: 0; border-top: 0; padding-left: 0; }
  .scheduler-booking-page[data-inline-viewport="true"] .scheduler-assistant-body { grid-column: 1 / -1; grid-row: 2; border-top: 1px solid var(--bindi-line); }
}
