.public-booking{--booking-accent: #0f766e;--booking-ink: #172f35;background:#f5f7f7;color:var(--booking-ink)}.public-booking div.rounded-2xl{border-color:#e2e8e7;background:#fff;box-shadow:0 8px 32px -24px #173a3a40;-webkit-backdrop-filter:none;backdrop-filter:none}.public-booking .booking-header{max-width:1184px;margin:auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.booking-brand{display:flex;align-items:center;gap:14px;min-width:0}.booking-logo{width:42px;height:42px;flex-shrink:0;object-fit:contain;border-radius:14px;background:#fff;border:1px solid #dce5e3}.booking-brand-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;background:#e2efec;color:var(--booking-accent)}.booking-eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:#57756f}.booking-practice-name{font-size:17px;font-weight:650;margin-top:4px;overflow-wrap:anywhere}.booking-meta{margin-top:4px;font-size:12px;color:#52665f}.booking-contact{display:inline-flex;align-items:center;gap:8px;color:#526965;font-size:13px;white-space:nowrap}.booking-contact:hover{color:var(--booking-accent)}.booking-main{max-width:1184px;margin:0 auto;padding:4px 24px 24px}.booking-intro{text-align:center;margin:0 auto 14px}.booking-intro h1{font-size:clamp(24px,2.5vw,30px);line-height:1.2;font-weight:650;letter-spacing:-.04em;margin:6px 0}.booking-intro>p:last-child{color:#52665f;font-size:14px;line-height:1.7}.booking-steps{display:flex;justify-content:center;align-items:center;gap:32px;margin:0 0 16px;list-style:none;padding:0}.booking-steps li{display:flex;align-items:center;gap:8px;color:#52665f;font-size:12px;font-weight:500}.booking-steps li>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid #d6e1de;background:#fff;font-size:11px}.booking-steps .is-current{color:var(--booking-accent);font-weight:650}.booking-steps .is-current>span{background:var(--booking-accent);border-color:var(--booking-accent);color:#fff}.booking-steps .is-complete>span{background:#e2efec;color:var(--booking-accent);border-color:#c8dfd8}.booking-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);background:#fff;border:1px solid #dfe7e4;border-radius:22px;box-shadow:0 16px 48px -28px #23473c40;overflow:hidden}.booking-calendar-rail{min-width:0;padding:20px;display:flex;flex-direction:column;gap:24px;border-right:1px solid #e7eeeb}.booking-agenda-panel{min-width:0;padding:20px;display:flex;flex-direction:column;gap:12px;background:#fafcfb}.public-booking .booking-calendar-rail>div{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.public-booking .font-display{font-family:inherit;font-weight:600;letter-spacing:-.025em}.public-booking .font-mono{font-family:inherit}.public-booking .booking-day{border-radius:50%}.public-booking .booking-day[aria-pressed=true]{background:var(--booking-accent);color:#fff}.public-booking button:focus-visible,.public-booking a:focus-visible{outline:2px solid var(--booking-accent);outline-offset:3px}.public-booking .booking-agenda-card{box-shadow:none;border-radius:14px;padding:20px}.public-booking .booking-agenda-card h2{font-size:18px}.public-booking [data-testid=time-slot]{border:1px solid #dce7e2;border-radius:10px;background:#fff;color:#355e53}.public-booking [data-testid=time-slot]:hover{border-color:var(--booking-accent);background:#f2f8f5}.public-booking [data-testid=time-slot][aria-pressed=true]{border-color:var(--booking-accent);background:#e8f3ee;color:#0f6556}.public-booking [data-testid=time-slot] span{color:inherit}.public-booking .booking-details-form{box-shadow:none;border-radius:14px;padding:16px}.public-booking .booking-details-form>p:first-child{display:none}.public-booking .booking-details-form>h2{font-size:22px;margin-top:0}.public-booking .booking-details-form>h2+p{margin-bottom:12px}.public-booking .booking-details-form form,.public-booking .booking-details-form form>.grid{gap:10px}.public-booking .booking-details-form .booking-primary{height:46px}.public-booking [data-testid=booking-hold-status]{padding:12px 16px;gap:8px}.public-booking [data-testid=booking-hold-status] .font-display{font-size:20px;margin-top:2px}.public-booking [data-testid=booking-hold-status] .tabular-nums{font-size:13px;margin-top:2px}.booking-main .booking-intro>p{display:none}.booking-main .booking-intro{margin-bottom:10px}.public-booking input,.public-booking select,.public-booking textarea{min-height:44px;background:#fff;border-radius:9px;box-shadow:none;font-size:14px}.public-booking input:focus-visible,.public-booking select:focus-visible,.public-booking textarea:focus-visible{outline-color:var(--booking-accent);--tw-ring-color: #0f766e}.public-booking .booking-primary{background:var(--booking-accent);background-image:none;border-radius:10px;min-height:46px;box-shadow:0 4px 10px #0f766e14;font-size:13px}.public-booking .booking-primary:hover{background:#115e59;transform:none;box-shadow:none}.public-booking div[data-testid=booking-hold-status]{background:#ecf6f0;border-color:#d4e8dc;color:#32674e;line-height:1.6}.public-booking footer{justify-content:center;padding-bottom:12px}.public-booking footer a{background:transparent;border-color:transparent;box-shadow:none;padding:8px 12px;font-size:12px;color:#52665f}.public-booking footer a:hover{box-shadow:none;transform:none}.public-booking .booking-request-main{max-width:1000px;padding-top:48px}.public-booking .booking-request-intro{background:transparent;border:0;box-shadow:none}.public-booking .booking-request-intro h2{color:var(--booking-ink);letter-spacing:-.035em;font-weight:650}.public-booking .booking-request-intro p{font-size:15px;line-height:1.8}.public-booking .booking-request-intro .space-y-3>div{border:0;border-left:2px solid #c9ded5;background:transparent;border-radius:0;line-height:1.6}.public-booking .booking-request-form{box-shadow:0 16px 40px -26px #23473c40}@media(max-width:1023px){.booking-workspace{grid-template-columns:260px minmax(0,1fr)}.booking-calendar-rail,.booking-agenda-panel{padding:20px}}@media(max-width:639px){.public-booking .booking-header{padding:12px 16px;flex-wrap:wrap;gap:8px}.booking-contact{margin-left:62px;font-size:12px}.booking-main{padding:4px 12px 16px}.booking-intro{text-align:left;margin-bottom:12px}.booking-intro>p:last-child{font-size:13px}.booking-steps{justify-content:space-between;gap:8px;margin-bottom:12px}.booking-steps li{gap:5px;font-size:10px}.booking-steps li>span{width:22px;height:22px}.booking-workspace{grid-template-columns:minmax(0,1fr);border-radius:16px}.booking-calendar-rail{border-right:0;border-top:1px solid #e7eeeb;padding:24px;order:2}.booking-agenda-panel{padding:12px;order:1}.public-booking .booking-request-main{padding:12px 16px 32px}.public-booking .booking-request-intro>div{padding:24px 8px 0}.public-booking .booking-request-form>div{padding:24px}}@media(prefers-reduced-motion:reduce){.public-booking *,.public-booking *:before,.public-booking *:after{transition:none!important}}.booking-main .booking-intro{margin:0}.booking-main .booking-intro h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.booking-main>section[aria-labelledby=booking-narrow-heading]{margin-bottom:12px}.booking-main>section[aria-labelledby=booking-narrow-heading]>form{flex-wrap:nowrap;gap:8px}.booking-main>section[aria-labelledby=booking-narrow-heading]>form>div{flex:1}.booking-main>section[aria-labelledby=booking-narrow-heading]>form>button{height:44px;border-radius:10px;padding-inline:16px}.public-booking #booking-narrow-input{height:44px}.booking-main>section[aria-labelledby=booking-narrow-heading]>p:not([role]){display:none}@media(max-width:639px){.public-booking .booking-header .booking-eyebrow{display:none}.public-booking [data-testid=booking-hold-status]{padding:10px 12px}.public-booking [data-testid=booking-hold-status] .font-display{font-size:18px}}@media(min-width:360px)and (max-width:639px){.booking-details-form form>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-details-form form>.grid>div{grid-column:auto}.booking-details-form form>.grid>div:has(#booking-reason),.booking-details-form form>.grid>div:has(#booking-notes){grid-column:1 / -1}}
