.booking-waitlist-modal{width:min(100%,520px)}.booking-waitlist-modal__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.booking-waitlist-modal__text{color:#334155;margin:0 0 8px}.booking-waitlist-modal__slot{color:#111620;margin:0 0 16px;font-size:.875rem;font-weight:500}.booking-waitlist-modal__fields{flex-direction:column;gap:12px;display:flex}.booking-waitlist-modal__actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}
.booking-page__layout{margin-top:16px;margin-bottom:16px}@media (min-width:768px){.booking-page__layout{margin-top:24px;margin-bottom:24px}}.booking-page{width:100%;max-width:1200px;margin:0 auto;padding-left:12px;padding-right:12px}.booking-page__header{margin-bottom:20px;padding-top:0;padding-bottom:0}.booking-page__payment-banner{margin-bottom:20px}.booking-page__payment-notice{margin-top:16px}.booking-page__select-time-hint{color:#64748b;margin-top:12px;font-size:.875rem}.booking-page__login-nudge{color:#334155;background:#f8fafc;border-radius:12px;margin:0 0 16px;padding:12px 16px;font-size:.875rem}.booking-page__login-nudge-link{color:#053793;text-underline-offset:2px;font-weight:600;text-decoration:underline}.booking-page__eyebrow{color:#334155;margin:0 0 8px;font-size:.875rem}.booking-page__progress{grid-template-columns:repeat(var(--booking-progress-steps,4),minmax(0,1fr));gap:4px;margin-bottom:24px;display:grid}@media (min-width:768px){.booking-page__progress{gap:8px;margin-bottom:48px}}.booking-page__progress-item{color:#64748b;border:1px solid #d4d5d8;border-radius:9999px;justify-content:center;align-items:center;gap:4px;min-width:0;padding:8px;font-size:.75rem;display:flex}@media (min-width:768px){.booking-page__progress-item{justify-content:flex-start;gap:8px;padding:12px;font-size:.875rem}}.booking-page__progress-item.is-complete,.booking-page__progress-item.is-active{color:#111620;background:#e5efff}.booking-page__progress-item.is-current{color:#111620;background:0 0;border-color:#002cdd;border-radius:24px;padding-top:8px;padding-bottom:8px}@media (max-width:767px){.booking-page__progress-item.is-current{border-radius:9999px;padding:8px}}.booking-page__progress-item.is-current .booking-page__progress-index{color:#fff;background:#002cdd;width:28px;height:28px}@media (min-width:768px){.booking-page__progress-item.is-current .booking-page__progress-index{width:32px;height:32px}}.booking-page__progress-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:8px;padding:0;display:flex}@media (min-width:768px){.booking-page__progress-button{justify-content:flex-start}}.booking-page__progress-button:disabled{cursor:default}.booking-page__progress-button:not(:disabled):hover{opacity:.9}.booking-page__progress-button:not(:disabled):focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #002cdd}.booking-page__progress-index{background:#fff;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;font-weight:600;display:inline-flex}@media (min-width:768px){.booking-page__progress-index{width:24px;height:24px;font-size:inherit}}.booking-page__progress-label{display:none}@media (min-width:768px){.booking-page__progress-label{display:inline}}.booking-page__content{flex-direction:column;gap:16px;width:100%;padding-top:16px;padding-bottom:16px;display:flex}@media (min-width:768px){.booking-page__content{flex-direction:row;align-items:flex-start;gap:24px;padding-top:24px;padding-bottom:24px}}.booking-page__main,.booking-page__summary{background:#fff;border-radius:12px;padding:16px}@media (min-width:768px){.booking-page__main,.booking-page__summary{padding:20px}}.booking-page__main{padding-top:0;padding-bottom:0;flex:1;min-width:0;padding-left:0;padding-right:0}.booking-page__summary{background:#f7f8f8;border-radius:16px;width:100%;max-width:none;height:-moz-fit-content;height:fit-content}@media (min-width:768px){.booking-page__summary{max-width:330px;position:-webkit-sticky;position:sticky;top:32px}}.booking-page__step-title{margin:0;font-size:1.125rem}@media (min-width:768px){.booking-page__step-title{font-size:1.25rem}}.booking-page__step-text{color:#334155;margin:8px 0 0;font-size:.875rem}.booking-page__step-section{margin-top:16px;padding-top:16px}@media (min-width:768px){.booking-page__step-section{margin-top:24px;padding-top:24px}}.booking-page__step-subtitle{margin:0;font-size:1.125rem;font-weight:600}.booking-page__team-list{margin-top:16px}.booking-page__summary-list{background:#fff;border-radius:8px;flex-direction:column;gap:12px;margin:0;padding:12px;list-style:none;display:flex}.booking-page__field{margin-top:16px}@media (min-width:768px){.booking-page__field{margin-top:24px}}.booking-page__field-grid{gap:16px;display:grid}@media (min-width:768px){.booking-page__field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-page__actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:16px;display:flex}@media (min-width:640px){.booking-page__actions{flex-flow:wrap;justify-content:space-between;align-items:center;margin-top:24px}}.booking-page__actions>.button{justify-content:center;width:100%}@media (min-width:640px){.booking-page__actions>.button{width:auto}}.booking-page__actions-right{flex-direction:column;gap:8px;width:100%;display:flex}@media (min-width:640px){.booking-page__actions-right{flex-direction:row;width:auto}}.booking-page__actions-right .button{justify-content:center;width:100%}@media (min-width:640px){.booking-page__actions-right .button{width:auto}}.booking-page__summary-title{margin:0 0 16px;font-size:1.125rem}.booking-page__summary-list li,.booking-page__summary-row{justify-content:space-between;align-items:flex-start;gap:16px;font-size:.875rem;display:flex}.booking-page__summary-row{background:#fff;border-radius:8px;margin:12px 0 0;padding:12px}.booking-page__empty{color:#64748b;flex-direction:column;justify-content:flex-start;align-items:center;margin:12px 0 0;font-size:.875rem;display:flex}.booking-page__dead-end{background:rgba(237,153,17,.06);border:1px solid rgba(237,153,17,.25);border-left:4px solid #ed9911;border-radius:8px;margin-top:16px;padding:16px}.booking-page__dead-end-title{color:#111620;margin:0;font-size:.875rem;font-weight:600}.booking-page__dead-end-text{color:#334155;margin:8px 0 0;font-size:.875rem;line-height:1.5}.booking-page__dead-end-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.booking-page__next-date-link{color:#002cdd;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.booking-page__next-date-link:hover{color:#053793}.booking-page__next-date-link:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #002cdd}.booking-page__no-slots{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.booking-page__waitlist-btn{margin-top:4px}.booking-page__waitlist-message{color:#00511e;margin:0;font-size:.875rem}.booking-page__policy-notice{color:#334155;background:#f8fafc;border:1px solid #d4d5d8;border-radius:8px;margin:0 0 16px;padding:12px 16px 12px 24px;font-size:.875rem;list-style:outside}.booking-page__policy-notice li+li{margin-top:4px}.booking-page__draft-restored{color:#002880;background:#dbeafe;border-radius:8px;margin:0 0 16px;padding:12px 16px;font-size:.875rem}.booking-page__waitlist-multi-note{color:#64748b;margin:0;font-size:.875rem}.booking-service-list{flex-direction:column;gap:16px;margin-top:16px;display:flex}@media (min-width:768px){.booking-service-list{gap:20px}}.booking-service-list__category-title{color:#334155;text-transform:uppercase;letter-spacing:.02em;margin:0 0 12px;font-size:.875rem;font-weight:600}.booking-service-list__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.booking-page__timezone-note{color:#64748b;margin:8px 0 0;font-size:.75rem}.booking-page__slot-grid{margin-top:12px}.booking-page__slot-grid .pill-toggle__item{white-space:normal;text-align:center;flex:calc(50% - 4px);min-width:calc(50% - 4px);height:40px}@media (min-width:640px){.booking-page__slot-grid .pill-toggle__item{white-space:nowrap;flex:0 auto;min-width:96px;height:48px}}
