@import 'LittleElsewhereTherapy.Interface.30xxvb5weu.bundle.scp.css';

/* /Components/Layout/BookingLayout.razor.rz.scp.css */
.booking-layout[b-m9je6xij2n] {
    --page-content-width: 1120px;
    display: flex;
    flex-direction: column;
    min-height: 100svh;
    padding-inline: clamp(32px, 4vw, 64px);
}

.booking-layout-shell[b-m9je6xij2n] {
    width: 100%;
    max-width: var(--page-content-width);
    min-width: 0;
    margin-inline: auto;
}

.booking-layout-header[b-m9je6xij2n] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    min-height: 88px;
    padding-block: 16px;
    border-bottom: 1px solid var(--line);
}

.booking-layout-brand[b-m9je6xij2n] {
    display: inline-flex;
    justify-self: start;
    align-items: center;
    gap: 8px;
    margin-inline-start: -7px;
    color: var(--green);
}

.booking-layout-brand[b-m9je6xij2n]  .brand-mark { width: 39px; height: 45px; }
.booking-layout-wordmark[b-m9je6xij2n] { font-size: 27px; font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.booking-layout-tagline[b-m9je6xij2n] { display: block; margin-top: 9px; margin-left: 2px; font-size: 10px; font-weight: 400; letter-spacing: .24em; }
.booking-layout-tools[b-m9je6xij2n] { display: flex; align-items: center; gap: 20px; min-width: 0; }
.booking-layout-privacy[b-m9je6xij2n] { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 12px; color: var(--ink-soft); white-space: nowrap; }
.booking-layout-privacy i[b-m9je6xij2n] { font-size: 11px; }
.booking-layout-privacy:hover[b-m9je6xij2n], .booking-layout-footer a:hover[b-m9je6xij2n] { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }

.booking-layout-content[b-m9je6xij2n] { flex: 1; }

.booking-layout-footer[b-m9je6xij2n] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding-block: 24px;
    border-top: 1px solid var(--line);
    color: var(--ink-soft);
}

.booking-layout-signoff[b-m9je6xij2n] { font: italic 22px/1.4 var(--serif); color: var(--sage-dark); }
.booking-layout-footer-links[b-m9je6xij2n] { display: flex; align-items: center; gap: 24px; font-size: 12px; }
.booking-layout-footer a[b-m9je6xij2n] { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; }
.booking-layout-footer i[b-m9je6xij2n] { font-size: 10px; }

@media (max-width: 760px) {
    .booking-layout[b-m9je6xij2n] { padding-inline: 22px; }
    .booking-layout-header[b-m9je6xij2n] { min-height: 82px; gap: 10px 16px; }
    .booking-layout-tools[b-m9je6xij2n] { display: contents; }
    .booking-layout-privacy[b-m9je6xij2n] { grid-column: 2; grid-row: 1; justify-self: end; }
    .booking-layout-brand[b-m9je6xij2n] { margin-inline-start: -6px; gap: 6px; }
    .booking-layout-brand[b-m9je6xij2n]  .brand-mark { width: 34px; height: 41px; }
    .booking-layout-wordmark[b-m9je6xij2n] { font-size: 25px; }
    .booking-layout-tagline[b-m9je6xij2n] { margin-top: 8px; font-size: 9px; }
    .booking-layout-footer[b-m9je6xij2n] { align-items: flex-start; flex-direction: column; gap: 5px; padding-block: 20px; }
    .booking-layout-footer-links[b-m9je6xij2n] { justify-content: space-between; width: 100%; }
}

@media (max-width: 460px) {
    .booking-layout[b-m9je6xij2n] { padding-inline: 18px; }
    .booking-layout-header[b-m9je6xij2n] { gap: 12px; }
    .booking-layout-wordmark[b-m9je6xij2n] { font-size: 23px; }
    .booking-layout-tagline[b-m9je6xij2n] { font-size: 8px; }
}

#blazor-error-ui[b-m9je6xij2n] { display: none; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 1000; padding: 1rem 1.5rem; color: #faf9f4; background: #344a3d; text-align: center; }
#blazor-error-ui a[b-m9je6xij2n] { color: inherit; text-decoration: underline; margin-left: .5rem; }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-35yglgrojg] {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 1rem 1.5rem;
    color: #faf9f4;
    background: #344a3d;
    text-align: center;
}

#blazor-error-ui a[b-35yglgrojg] {
    color: inherit;
    text-decoration: underline;
    margin-left: .5rem;
}
/* /Components/Layout/PaymentLayout.razor.rz.scp.css */
#blazor-error-ui[b-1xbencunve] {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 1rem 1.5rem;
    color: #faf9f4;
    background: #344a3d;
    text-align: center;
}

#blazor-error-ui a[b-1xbencunve] {
    color: inherit;
    text-decoration: underline;
    margin-left: .5rem;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-o7sch0ej6c],
.components-reconnect-repeated-attempt-visible[b-o7sch0ej6c],
.components-reconnect-failed-visible[b-o7sch0ej6c],
.components-pause-visible[b-o7sch0ej6c],
.components-resume-failed-visible[b-o7sch0ej6c],
.components-rejoining-animation[b-o7sch0ej6c] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-o7sch0ej6c],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-o7sch0ej6c],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-o7sch0ej6c],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-o7sch0ej6c],
#components-reconnect-modal.components-reconnect-retrying[b-o7sch0ej6c],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-o7sch0ej6c],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-o7sch0ej6c],
#components-reconnect-modal.components-reconnect-failed[b-o7sch0ej6c],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-o7sch0ej6c] {
    display: block;
}


#components-reconnect-modal[b-o7sch0ej6c] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-o7sch0ej6c 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-o7sch0ej6c 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-o7sch0ej6c 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-o7sch0ej6c]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-o7sch0ej6c 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-o7sch0ej6c {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-o7sch0ej6c {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-o7sch0ej6c {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-o7sch0ej6c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-o7sch0ej6c] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-o7sch0ej6c] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-o7sch0ej6c] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-o7sch0ej6c] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-o7sch0ej6c] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-o7sch0ej6c] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-o7sch0ej6c 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-o7sch0ej6c] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-o7sch0ej6c {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Booking.razor.rz.scp.css */
.booking-page[b-6zre70f5ga] {
    display: grid;
    align-items: start;
    width: 100%;
    max-width: none;
    margin: 0;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
    gap: clamp(36px, 5vw, 64px);
    padding-block: 32px 64px;
}

.booking-intro[b-6zre70f5ga] { min-width: 0; padding-top: 8px; }
.booking-intro > .eyebrow[b-6zre70f5ga] { font-size: .6875rem; letter-spacing: .14em; }
.booking-intro h1[b-6zre70f5ga] { font-size: clamp(44px, 4.6vw, 58px); margin-top: 20px; line-height: 1.08; }
.booking-intro-lead[b-6zre70f5ga] { max-width: 42ch; margin-top: 22px; font-size: .9375rem; line-height: 1.8; }

.booking-companion[b-6zre70f5ga] { width: 100%; max-width: 420px; margin-top: 32px; }
.booking-art-frame[b-6zre70f5ga] { padding: 4px; border: 1px solid #e8e5db; border-radius: 10px; background: #fffdf6; box-shadow: 0 2px 4px #34483d03, 0 10px 24px #34483d06; }
.booking-art-frame[b-6zre70f5ga]  img { width: 100%; height: auto; border-radius: 5px; }
.booking-therapist[b-6zre70f5ga] { display: flex; align-items: center; gap: 16px; padding-top: 20px; }
.booking-therapist[b-6zre70f5ga]  img { flex: 0 0 72px; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: center 22%; }
.booking-therapist-copy[b-6zre70f5ga] { min-width: 0; }
.booking-therapist-label[b-6zre70f5ga] { display: block; color: var(--ink-soft); font-size: .6875rem; line-height: 1.5; }
.booking-therapist h2[b-6zre70f5ga] { margin-top: 3px; font-size: 1.5625rem; line-height: 1.2; }
.booking-therapist p[b-6zre70f5ga] { margin-top: 8px; color: var(--ink); font-size: .75rem; line-height: 1.75; }
.booking-therapist p span[b-6zre70f5ga] { color: var(--ink-soft); }

.booking-page.is-received[b-6zre70f5ga] { display: block; padding-block: 24px 56px; }
.booking-page.is-details[b-6zre70f5ga] { display: block; }

@media (max-width: 760px) {
    .booking-page[b-6zre70f5ga] { grid-template-columns: 1fr; gap: 32px; padding-block: 24px 48px; }
    .booking-intro[b-6zre70f5ga] { padding-top: 0; }
    .booking-intro h1[b-6zre70f5ga] { font-size: clamp(44px, 10vw, 64px); }
    .booking-intro-lead[b-6zre70f5ga] { margin-top: 18px; }
    .booking-companion[b-6zre70f5ga] { margin-top: 20px; }
    .booking-art-frame[b-6zre70f5ga] { display: none; }
    .booking-therapist[b-6zre70f5ga] { padding-top: 0; }
    .booking-therapist[b-6zre70f5ga]  img { flex-basis: 60px; width: 60px; height: 60px; }
    .booking-therapist h2[b-6zre70f5ga] { font-size: 1.375rem; }
    .booking-therapist p[b-6zre70f5ga] { margin-top: 5px; }
    .booking-page.is-received[b-6zre70f5ga] { padding-block: 18px 36px; }
}
/* /Components/Pages/BookingRequest.razor.rz.scp.css */
.booking-request-state[b-x9cdd3eht0] { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 440px; padding: 48px 20px; text-align: center; }
.request-symbol[b-x9cdd3eht0] { display: grid; place-items: center; width: 66px; height: 66px; margin-bottom: 24px; border: 1px solid #dce3d1; border-radius: 21px; background: #edf1e6; }
.request-symbol[b-x9cdd3eht0]  svg { width: 29px; height: 39px; }
.booking-request-state h1[b-x9cdd3eht0] { font-size: clamp(34px, 4vw, 48px); }
.booking-request-state p[b-x9cdd3eht0] { max-width: 46ch; margin-top: 18px; font-size: 15px; line-height: 1.8; }
.request-state-actions[b-x9cdd3eht0] { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px; margin-top: 28px; }
@media (max-width: 580px) { .booking-request-state[b-x9cdd3eht0] { min-height: 360px; padding-inline: 0; } }

.booking-time-zone[b-x9cdd3eht0] { min-width: 0; padding-right: 20px; border-right: 1px solid var(--line); }
.request-updates[b-x9cdd3eht0] { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 24px; margin-block: 20px; color: var(--ink-soft); font-size: 12px; }
.request-updates button[b-x9cdd3eht0] { background: none; border: 0; padding: 8px 0; color: var(--green); font: inherit; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.request-updates button:disabled[b-x9cdd3eht0] { opacity: .6; cursor: wait; }
.booking-time-zone[b-x9cdd3eht0]  .time-zone-picker { justify-content: flex-end; margin: 0; }
@media (max-width: 760px) {
    .booking-time-zone[b-x9cdd3eht0] { grid-column: 1 / -1; grid-row: 2; padding: 0; border: 0; }
    .booking-time-zone[b-x9cdd3eht0]  .time-zone-picker { justify-content: flex-start; }
}
/* /Components/Pages/Payment.razor.rz.scp.css */
.payment-experience[b-9jmkgx2azk] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: radial-gradient(circle at 12% 14%, #eef0e6 0, transparent 34%),
        linear-gradient(118deg, #f8f7f2 25%, #f6f4ec 100%);
}
.payment-experience .section-shell[b-9jmkgx2azk] { max-width: 1140px; }
.payment-topbar[b-9jmkgx2azk] { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding-top: 30px; }
.payment-brand[b-9jmkgx2azk] { display: inline-flex; align-items: center; gap: 10px; width: fit-content; color: var(--green); }
.payment-brand[b-9jmkgx2azk]  .brand-mark { width: 36px; height: 42px; }
.payment-brand > span[b-9jmkgx2azk] { font-size: 1.6rem; font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.payment-brand small[b-9jmkgx2azk] { display: block; margin-top: 7px; padding-left: 2px; font-size: .57rem; font-weight: 400; letter-spacing: .23em; }
.payment-topbar-context[b-9jmkgx2azk] { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #7c8777; }
.payment-topbar-link[b-9jmkgx2azk] { display: inline-flex; align-items: center; justify-self: end; gap: 12px; min-height: 44px; font-size: .82rem; font-weight: 500; color: var(--green); }
.payment-topbar-link[b-9jmkgx2azk]  .arrow { width: 16px; height: 16px; }
.payment-topbar-link:hover[b-9jmkgx2azk] { text-decoration: underline; text-underline-offset: 4px; }

.payment-page[b-9jmkgx2azk] {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(420px, 1fr);
    grid-template-areas: "story card" "art card";
    align-content: start;
    align-items: start;
    gap: 32px clamp(50px, 7vw, 104px);
    padding-block: clamp(42px, 6vw, 76px) 66px;
}
.payment-page > *[b-9jmkgx2azk] { min-width: 0; }
.payment-story[b-9jmkgx2azk] { grid-area: story; max-width: 520px; }
.payment-story h1[b-9jmkgx2azk] { margin-top: 18px; font-size: clamp(4rem, 6vw, 5.625rem); line-height: .98; }
.payment-story > p[b-9jmkgx2azk] { max-width: 38ch; margin-top: 24px; font-size: 1.0625rem; line-height: 1.75; }
.payment-art[b-9jmkgx2azk] { grid-area: art; width: 100%; max-width: 520px; }
.payment-art img[b-9jmkgx2azk] { width: 100%; height: auto; border: 1px solid #e4ded0; border-radius: 16px; box-shadow: 0 22px 52px #62533d12; }
.payment-art figcaption[b-9jmkgx2azk] { margin-top: 16px; font-family: var(--serif); font-size: 1.36rem; font-style: italic; line-height: 1.25; color: var(--sage-dark); }

.payment-card[b-9jmkgx2azk] { grid-area: card; align-self: start; padding: clamp(27px, 3vw, 40px); border: 1px solid #dfe3d8; border-radius: 24px; background: #fffdf9; box-shadow: 0 26px 70px #34483d0d; }
.payment-card-heading[b-9jmkgx2azk] { padding-bottom: 23px; border-bottom: 1px solid #e5e7dc; }
.payment-card-heading h2[b-9jmkgx2azk] { margin-top: 12px; font-size: clamp(2.625rem, 3.5vw, 3.375rem); }
.payment-card-heading p[b-9jmkgx2azk] { margin-top: 13px; font-size: .9375rem; line-height: 1.7; }
.payment-session[b-9jmkgx2azk] { padding-top: 24px; }
.payment-session h3[b-9jmkgx2azk] { margin-top: 7px; font-size: 2rem; }
.payment-session-date[b-9jmkgx2azk] { display: flex; align-items: center; gap: 18px; margin-top: 19px; padding: 17px 18px; border-radius: 13px; background: #f0f3e9; }
.payment-session-date > strong[b-9jmkgx2azk] { min-width: 58px; padding-right: 17px; border-right: 1px solid #d4ddcb; font-family: var(--serif); font-size: 3.1875rem; font-weight: 400; line-height: .96; color: var(--green); }
.payment-session-date > span[b-9jmkgx2azk] { display: grid; gap: 3px; min-width: 0; }
.payment-session-date b[b-9jmkgx2azk] { font-size: .83rem; font-weight: 500; line-height: 1.4; color: var(--ink); }
.payment-session-date small[b-9jmkgx2azk] { font-size: .75rem; line-height: 1.45; color: var(--ink-soft); overflow-wrap: anywhere; }
.payment-session-date-past[b-9jmkgx2azk] { background: #f8f1e9; }
.payment-session-date-past > strong[b-9jmkgx2azk] { border-color: #ead5bf; color: #825a3f; }
.payment-past-label[b-9jmkgx2azk] { width: fit-content; margin-top: 4px; padding: 3px 9px; border: 1px solid #e5d2bd; border-radius: 100px; color: #825a3f; background: #fff9f1; font-size: .6875rem; font-weight: 500; line-height: 1.3; }
.payment-session dl[b-9jmkgx2azk] { display: grid; gap: 10px; margin: 19px 0 0; }
.payment-session dl > div[b-9jmkgx2azk] { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; font-size: .8125rem; }
.payment-session dt[b-9jmkgx2azk] { color: #71806c; }
.payment-session dd[b-9jmkgx2azk] { margin: 0; color: var(--ink); overflow-wrap: anywhere; }
.payment-session dd small[b-9jmkgx2azk] { display: block; margin-top: 3px; color: var(--ink-soft); font-size: .75rem; line-height: 1.5; white-space: pre-line; }
.payment-map[b-9jmkgx2azk] { display: inline-block; margin-top: 13px; color: var(--green); font-size: .75rem; text-decoration: underline; text-underline-offset: 3px; }
.payment-total[b-9jmkgx2azk] { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; margin: 26px 0 21px; padding-top: 21px; border-top: 1px solid #e5e7dc; font-size: .875rem; }
.payment-total span[b-9jmkgx2azk] { color: var(--ink); }
.payment-total small[b-9jmkgx2azk] { display: block; margin-top: 3px; color: var(--ink-soft); font-size: .75rem; }
.payment-total strong[b-9jmkgx2azk] { flex-shrink: 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; line-height: 1; }
.payment-card-closed .payment-session[b-9jmkgx2azk] { margin-bottom: 28px; }
.payment-card .button-primary[b-9jmkgx2azk] { min-height: 56px; font-size: .9rem; }
.payment-assurance[b-9jmkgx2azk] { margin: 14px 0 0; color: var(--ink-soft); font-size: .75rem; line-height: 1.6; text-align: center; }
.payment-assurance a[b-9jmkgx2azk], .payment-help a[b-9jmkgx2azk] { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.payment-help[b-9jmkgx2azk] { margin-top: 22px; padding-top: 17px; border-top: 1px solid #e5e7dc; font-size: .8125rem; text-align: center; }
.payment-message[b-9jmkgx2azk], .payment-error[b-9jmkgx2azk] { margin: 0 0 20px; padding: 14px 16px; border: 1px solid #d9e0cd; border-radius: 9px; background: #f1f3e9; color: #526746; font-size: .8125rem; line-height: 1.65; }
.payment-error[b-9jmkgx2azk] { border-color: #e7d4c6; background: #faf0e9; color: #885d47; }
.payment-refresh[b-9jmkgx2azk] { display: block; min-height: 44px; margin: 8px auto 0; padding: 8px 12px; border: 0; background: transparent; color: var(--green); font-size: .8125rem; text-decoration: underline; text-underline-offset: 3px; }
.payment-empty[b-9jmkgx2azk] { min-height: 390px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.payment-empty h2[b-9jmkgx2azk] { font-size: 2.625rem; }
.payment-empty p[b-9jmkgx2azk] { margin-top: 17px; font-size: .9375rem; }
.payment-empty .eyebrow[b-9jmkgx2azk] { margin-bottom: 9px; }
.payment-empty .button[b-9jmkgx2azk] { margin-top: 24px; }
.payment-empty .text-link[b-9jmkgx2azk] { margin-top: 18px; }
.payment-symbol[b-9jmkgx2azk] { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 22px; border-radius: 50%; background: #e9ede0; color: #718263; }
.payment-symbol[b-9jmkgx2azk]  .brand-mark { width: 27px; height: 32px; }
.payment-breath[b-9jmkgx2azk] { width: 32px; height: 32px; margin-bottom: 25px; border: 2px solid #c7d2bc; border-top-color: var(--green); border-radius: 50%; animation: payment-breathe-b-9jmkgx2azk 1s linear infinite; }
@keyframes payment-breathe-b-9jmkgx2azk { to { transform: rotate(360deg); } }

.payment-footer[b-9jmkgx2azk] { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: auto; padding-block: 22px 27px; border-top: 1px solid #dde2d5; color: #72806f; font-size: .75rem; }
.payment-footer div[b-9jmkgx2azk] { display: flex; flex-wrap: wrap; gap: 25px; }
.payment-footer a:hover[b-9jmkgx2azk] { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 980px) {
    .payment-topbar[b-9jmkgx2azk] { grid-template-columns: 1fr auto; }
    .payment-topbar-context[b-9jmkgx2azk] { display: none; }
    .payment-experience .payment-page[b-9jmkgx2azk] { grid-template-columns: 1fr; grid-template-areas: "story" "card" "art"; max-width: 690px; gap: 26px; padding-top: 43px; }
    .payment-story h1[b-9jmkgx2azk] { font-size: clamp(4rem, 8vw, 5.25rem); }
    .payment-story > p[b-9jmkgx2azk] { max-width: 46ch; margin-top: 17px; }
    .payment-art[b-9jmkgx2azk] { max-width: none; margin-top: 5px; }
}
@media (max-width: 600px) {
    .payment-topbar[b-9jmkgx2azk] { gap: 14px; padding-top: 18px; }
    .payment-brand[b-9jmkgx2azk] { gap: 6px; }
    .payment-brand[b-9jmkgx2azk]  .brand-mark { width: 29px; height: 35px; }
    .payment-brand > span[b-9jmkgx2azk] { font-size: 1.31rem; }
    .payment-brand small[b-9jmkgx2azk] { margin-top: 5px; font-size: .48rem; letter-spacing: .18em; }
    .payment-topbar-link[b-9jmkgx2azk] { gap: 7px; font-size: .75rem; }
    .payment-experience .payment-page[b-9jmkgx2azk] { gap: 22px; padding-block: 30px 43px; }
    .payment-story h1[b-9jmkgx2azk] { margin-top: 14px; font-size: clamp(3.125rem, 12vw, 4rem); }
    .payment-story > p[b-9jmkgx2azk] { margin-top: 14px; font-size: .9375rem; }
    .payment-card[b-9jmkgx2azk] { padding: 25px 20px; border-radius: 18px; }
    .payment-card-heading[b-9jmkgx2azk] { padding-bottom: 20px; }
    .payment-card-heading h2[b-9jmkgx2azk] { font-size: clamp(2.5rem, 10vw, 3rem); }
    .payment-session[b-9jmkgx2azk] { padding-top: 21px; }
    .payment-session h3[b-9jmkgx2azk] { font-size: 1.875rem; }
    .payment-session-date[b-9jmkgx2azk] { gap: 13px; padding: 15px; }
    .payment-session-date > strong[b-9jmkgx2azk] { min-width: 49px; padding-right: 13px; font-size: 2.75rem; }
    .payment-session-date b[b-9jmkgx2azk] { font-size: .8rem; }
    .payment-session-date small[b-9jmkgx2azk] { font-size: .7rem; }
    .payment-session dl > div[b-9jmkgx2azk] { grid-template-columns: 70px minmax(0, 1fr); }
    .payment-art figcaption[b-9jmkgx2azk] { font-size: 1.2rem; }
    .payment-footer[b-9jmkgx2azk] { align-items: flex-start; flex-wrap: wrap; padding-block: 17px 25px; }
}
@media (prefers-reduced-motion: reduce) { .payment-breath[b-9jmkgx2azk] { animation: none; } }
@media (forced-colors: active) { .payment-card[b-9jmkgx2azk], .payment-session-date[b-9jmkgx2azk], .payment-art img[b-9jmkgx2azk] { border: 1px solid CanvasText; } }
/* /Components/Pages/Prepare.razor.rz.scp.css */
.prepare-hero[b-b2ft784j19] { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr); align-items: center; gap: clamp(44px, 8vw, 120px); padding-block: clamp(70px, 10vw, 150px); }
.prepare-hero h1[b-b2ft784j19] { max-width: 800px; margin-bottom: 28px; }
.prepare-hero p[b-b2ft784j19] { max-width: 600px; }
.prepare-art[b-b2ft784j19] { display: grid; place-items: center; min-height: 360px; padding: 44px; border-radius: 200px 200px 24px 24px; background: var(--sage); }
.prepare-art[b-b2ft784j19]  img { width: min(100%, 390px); height: auto; }
.prepare-guide[b-b2ft784j19] { padding-block: 88px 108px; border-top: 1px solid var(--line); }
.prepare-heading[b-b2ft784j19] { max-width: 650px; margin-bottom: 48px; }
.prepare-heading h2[b-b2ft784j19] { margin-bottom: 12px; }
.prepare-heading p[b-b2ft784j19] { color: var(--ink-soft); }
.prepare-cards[b-b2ft784j19] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.prepare-cards article[b-b2ft784j19] { min-height: 280px; padding: 32px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper-light); }
.prepare-cards article > span[b-b2ft784j19] { color: var(--sage-dark); font-family: var(--serif); font-size: 2rem; }
.prepare-cards h3[b-b2ft784j19] { margin: 32px 0 14px; font-size: 1.5rem; }
.prepare-cards p[b-b2ft784j19] { margin: 0; color: var(--ink-soft); }
.prepare-closing[b-b2ft784j19] { max-width: 840px; margin-bottom: 120px; padding: 54px 64px; border-radius: 24px; background: var(--peach); }
.prepare-closing h2[b-b2ft784j19] { margin-bottom: 14px; }
.prepare-closing p[b-b2ft784j19] { max-width: 620px; margin-bottom: 20px; }
@media (max-width: 850px) { .prepare-hero[b-b2ft784j19] { grid-template-columns: 1fr; } .prepare-art[b-b2ft784j19] { min-height: 270px; } .prepare-cards[b-b2ft784j19] { grid-template-columns: 1fr; } .prepare-cards article[b-b2ft784j19] { min-height: 0; } }
@media (max-width: 620px) { .prepare-hero[b-b2ft784j19], .prepare-guide[b-b2ft784j19] { padding-block: 64px; } .prepare-art[b-b2ft784j19] { padding: 30px; } .prepare-cards article[b-b2ft784j19] { padding: 26px; } .prepare-closing[b-b2ft784j19] { padding: 36px 28px; margin-bottom: 70px; } }
/* /Components/Pages/WaitingList.razor.rz.scp.css */
.waiting-page[b-2z9f014vnf]{max-width:640px;margin:32px auto 100px;color:#344b3d}.waiting-back[b-2z9f014vnf]{display:inline-flex;gap:10px;align-items:center;font-size:.8rem;text-decoration:none;color:#53684e;margin-bottom:28px}.waiting-paper[b-2z9f014vnf]{border:1px solid #dce1d3;border-radius:28px;background:#fffefb;padding:48px;box-shadow:0 18px 55px #344b3d05}.waiting-emblem[b-2z9f014vnf]{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#edf1e4;color:#617851;margin-bottom:28px;font-size:1.25rem}.waiting-eyebrow[b-2z9f014vnf]{font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;color:#748065}.waiting-paper h1[b-2z9f014vnf]{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(2.4rem,5vw,3.5rem);line-height:1.12;font-weight:400;letter-spacing:-.035em;margin:16px 0 22px}.waiting-paper>p[b-2z9f014vnf]{font-size:.94rem;line-height:1.85;color:#64715e}.waiting-preferences[b-2z9f014vnf]{display:grid;gap:9px;margin:28px 0;padding:20px;border-radius:14px;background:#f4f5ee}.waiting-preferences strong[b-2z9f014vnf]{font-size:.88rem;font-weight:550}.waiting-preferences span[b-2z9f014vnf]{font-size:.79rem;line-height:1.6;color:#66735f}.waiting-actions[b-2z9f014vnf]{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}.waiting-primary[b-2z9f014vnf]{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:#405d48;color:white;border:0;border-radius:11px;padding:15px 20px;font:inherit;font-size:.84rem;text-decoration:none;cursor:pointer}.waiting-quiet[b-2z9f014vnf]{font:inherit;font-size:.8rem;background:transparent;border:0;color:#5f7257;cursor:pointer;min-height:44px}.waiting-error[b-2z9f014vnf]{color:#90503a!important}.waiting-page button:focus-visible[b-2z9f014vnf],.waiting-page a:focus-visible[b-2z9f014vnf]{outline:3px solid #8d9e79;outline-offset:4px}.waiting-page button:disabled[b-2z9f014vnf]{opacity:.6;cursor:wait}@media(max-width:600px){.waiting-page[b-2z9f014vnf]{margin:12px auto 56px}.waiting-paper[b-2z9f014vnf]{padding:30px 24px;border-radius:22px}.waiting-primary[b-2z9f014vnf]{width:100%}.waiting-actions[b-2z9f014vnf]{gap:10px;justify-content:center}}
/* /Components/Shared/BookingFlow.razor.rz.scp.css */
.booking-live[b-0b7ym8wd72] { padding: clamp(24px, 3vw, 36px); border-radius: 24px; border-color: #dce1d4; box-shadow: 0 4px 8px #34483d02, 0 20px 60px -24px #34483d15; }
.booking-live .booking-step-heading[b-0b7ym8wd72] { font-size: clamp(32px, 3vw, 39px); letter-spacing: -.025em; line-height: 1.13; }
.booking-session-caption[b-0b7ym8wd72] { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; margin-top: 12px; font-size: .875rem; color: var(--ink-soft); }
.booking-session-caption > span:last-child[b-0b7ym8wd72] { padding: 3px 9px; border-radius: 6px; background: #f0f2e9; color: #607157; font-size: .6875rem; white-space: nowrap; }
.booking-zone-row[b-0b7ym8wd72] { padding-block: 6px 12px; border-bottom: 1px solid #e4e8dd; }
.booking-zone-row[b-0b7ym8wd72]  .time-zone-picker { margin: 2px 0 0; }
.booking-intro-card[b-0b7ym8wd72] { --intro-surface: radial-gradient(circle at 92% 9%, #f6e7d6 0, transparent 42%), linear-gradient(130deg, #f8f3e9, #eef1e8); isolation: isolate; display: flex; flex-direction: column; align-items: stretch; gap: 0; overflow: hidden; min-height: 210px; padding: 24px 25px 20px; border: 1px solid #cbd3c1; border-radius: 16px; background: var(--intro-surface); box-shadow: 0 10px 28px #3f59460b; transition: border-color .2s, box-shadow .2s, transform .2s; }
.booking-intro-card:hover[b-0b7ym8wd72] { border-color: #8b9b81; background: var(--intro-surface); box-shadow: 0 15px 34px #3f594618; transform: translateY(-2px); }
.booking-intro-card.selected[b-0b7ym8wd72] { border-color: #77886a; background: var(--intro-surface); box-shadow: inset 0 0 0 1px #77886a, 0 10px 28px #3f59460b; }
.booking-intro-card.selected:hover[b-0b7ym8wd72] { box-shadow: inset 0 0 0 1px #77886a, 0 15px 34px #3f594618; }
.intro-card-art[b-0b7ym8wd72] { position: absolute; z-index: -1; top: 51px; right: 25px; display: grid; place-items: center; width: 104px; height: 104px; border: 1px solid #d9dfce; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #faf7ed, #e3e9d9); color: #778a72; transform: rotate(-10deg); pointer-events: none; }
.intro-card-art[b-0b7ym8wd72]::after { content: ''; position: absolute; inset: -10px; border: 1px solid #d6decb99; border-radius: 50%; }
.intro-card-art[b-0b7ym8wd72]  .brand-mark { width: 48px; height: 55px; }
.intro-card-top[b-0b7ym8wd72] { position: relative; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.intro-card-top .eyebrow[b-0b7ym8wd72] { color: #536b51; font-size: .6875rem; }
.booking-choice-badge[b-0b7ym8wd72] { display: inline-flex; align-items: center; padding: 5px 11px; border: 1px solid #dfd6bd; border-radius: 30px; background: #f8f1df; color: #665c3b; font-size: .6875rem; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.intro-card-copy[b-0b7ym8wd72] { position: relative; display: block; max-width: 72%; margin: 24px 0 22px; }
.booking-intro-card .intro-card-copy strong[b-0b7ym8wd72] { font-family: var(--serif); font-size: clamp(1.625rem, 3vw, 2rem); font-weight: 400; line-height: 1.08; letter-spacing: -.02em; }
.booking-intro-card .intro-card-copy small[b-0b7ym8wd72] { margin-top: 8px; color: #586857; font-size: .8125rem; line-height: 1.55; }
.intro-card-action[b-0b7ym8wd72] { position: relative; display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 15px; border-top: 1px solid #cbd5c5; color: var(--green); font-size: .8125rem; font-weight: 600; line-height: 1.4; }
.intro-card-action .radio-mark[b-0b7ym8wd72] { background: #fcfbf5; }
.intro-card-arrow[b-0b7ym8wd72] { display: grid; place-items: center; width: 26px; height: 26px; margin-left: auto; border-radius: 50%; background: #dce6d4; font-size: 1rem; font-weight: 400; }
.booking-choice-other[b-0b7ym8wd72] { margin-top: 19px; padding-top: 22px; border-top: 1px solid var(--line); }
.booking-choice-other.booking-choice-only[b-0b7ym8wd72] { margin-top: 0; padding-top: 0; border-top: 0; }
.booking-choice-heading[b-0b7ym8wd72] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; margin-bottom: 12px; }
.booking-choice-heading .eyebrow[b-0b7ym8wd72] { font-size: .6875rem; }
.booking-choice-heading > span:last-child[b-0b7ym8wd72] { color: var(--ink-soft); font-size: .75rem; }
.booking-choice-list[b-0b7ym8wd72] { display: grid; gap: 10px; }
.booking-prices-pending[b-0b7ym8wd72] { margin: 24px 0 18px; padding: 18px 20px; border-radius: 10px; background: var(--sage); font-size: .8125rem; }
.booking-prices-pending strong[b-0b7ym8wd72] { font-weight: 600; }
.booking-prices-pending p[b-0b7ym8wd72] { margin: 5px 0 0; color: var(--ink-soft); }
.booking-steps[b-0b7ym8wd72] { display: flex; justify-content: space-between; gap: 12px; list-style: none; margin: 0 0 28px; padding: 0 0 24px; border-bottom: 1px solid var(--line); }
.booking-steps li[b-0b7ym8wd72] { display: flex; align-items: center; gap: 7px; color: var(--ink-soft); font-size: .75rem; }
.booking-steps li > span[b-0b7ym8wd72] { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; border: 1px solid var(--line); font-size: .65rem; }
.booking-steps .current[b-0b7ym8wd72] { color: var(--green); font-weight: 600; }
.booking-steps .current > span[b-0b7ym8wd72] { color: var(--paper-light); background: var(--green); border-color: var(--green); box-shadow: 0 0 0 4px #e9eee2; }
.booking-steps .complete > span[b-0b7ym8wd72] { color: var(--green); background: #e9eee2; border-color: #e9eee2; }
.booking-back[b-0b7ym8wd72] { display: block; min-height: 44px; background: none; border: 0; padding: 0; margin: -14px 0 9px; font-size: .75rem; color: var(--ink-soft); }
.booking-back:hover[b-0b7ym8wd72] { color: var(--green); }
.booking-zone[b-0b7ym8wd72] { display: inline-block; margin-top: 7px; font-size: .8125rem; }
.booking-length-options[b-0b7ym8wd72] { border: 0; padding: 0; margin: 28px 0 22px; min-width: 0; }
.booking-length-options legend[b-0b7ym8wd72] { margin-bottom: 11px; }
.booking-lengths[b-0b7ym8wd72] { display: grid; grid-template-columns: repeat(auto-fit, minmax(116px, 1fr)); gap: 9px; }
.booking-length[b-0b7ym8wd72] { position: relative; display: grid; gap: 2px; min-height: 72px; padding: 12px 15px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf9; cursor: pointer; }
.booking-length:hover[b-0b7ym8wd72] { background: var(--sage); }
.booking-length.selected[b-0b7ym8wd72] { border-color: var(--green); background: var(--sage); box-shadow: inset 0 0 0 1px var(--green); }
.booking-length input[b-0b7ym8wd72] { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.booking-length:focus-within[b-0b7ym8wd72] { outline: 2px solid var(--green); outline-offset: 3px; }
.booking-length strong[b-0b7ym8wd72] { font-size: .875rem; font-weight: 600; }
.booking-length span[b-0b7ym8wd72], .booking-length-options p[b-0b7ym8wd72] { font-size: .75rem; color: var(--ink-soft); }
.booking-length-options p[b-0b7ym8wd72] { margin-top: 11px; }
.booking-date-options[b-0b7ym8wd72], .booking-time-options[b-0b7ym8wd72] { border: 0; padding: 0; margin: 22px 0; min-width: 0; }
.booking-live legend[b-0b7ym8wd72] { margin-bottom: 12px; font-size: .8125rem; font-weight: 500; }
.booking-date-heading[b-0b7ym8wd72] { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.booking-section-label[b-0b7ym8wd72] { color: #6a7961; font-size: .6875rem; }
.booking-date-heading h3[b-0b7ym8wd72] { margin-top: 3px; font-family: var(--sans); font-size: .9375rem; letter-spacing: -.01em; line-height: 1.5; font-weight: 500; }
.booking-date-navigation[b-0b7ym8wd72] { display: flex; gap: 5px; }
.booking-date-navigation button[b-0b7ym8wd72] { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #e1e6d8; border-radius: 50%; background: transparent; color: #516c49; font-size: .625rem; transition: background .15s; }
.booking-date-navigation button:hover:not(:disabled)[b-0b7ym8wd72] { background: #edf1e6; }
.booking-date-navigation button:disabled[b-0b7ym8wd72] { opacity: .3; }
.booking-dates[b-0b7ym8wd72] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.booking-date[b-0b7ym8wd72] { display: flex; flex-direction: column; align-items: center; min-width: 0; gap: 2px; padding: 10px 4px; background: #fffefa; color: var(--ink-soft); border: 1px solid #e0e4d8; border-radius: 13px; transition: background .15s, border-color .15s; }
.booking-date > span[b-0b7ym8wd72], .booking-date > small[b-0b7ym8wd72] { font-size: .6875rem; }
.booking-date > strong[b-0b7ym8wd72] { color: var(--ink); font-size: 1.5rem; font-weight: 500; line-height: 1.4; font-variant-numeric: tabular-nums; }
.booking-date.selected[b-0b7ym8wd72] { border-color: #6a835b; background: #edf2e4; color: #3f5946; box-shadow: inset 0 0 0 1px #6a835b; }
.booking-date:hover:not(.selected)[b-0b7ym8wd72], .booking-time:hover:not(.selected)[b-0b7ym8wd72] { background: #f2f5eb; border-color: #a7b59a; }
.booking-time-options legend[b-0b7ym8wd72] { width: 100%; display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; }
.booking-time-options legend small[b-0b7ym8wd72] { font-size: .6875rem; font-weight: 400; color: #6a7961; }
.booking-times[b-0b7ym8wd72] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.booking-time[b-0b7ym8wd72] { min-height: 46px; padding: 10px 5px; background: #fffefa; border: 1px solid #dce2d3; border-radius: 10px; color: var(--ink); font-size: .8125rem; transition: background .15s, border-color .15s; font-variant-numeric: tabular-nums; }
.booking-time.selected[b-0b7ym8wd72] { border-color: var(--green); background: var(--green); color: #fffefa; box-shadow: 0 3px 8px #3f594616; }
.booking-time span[b-0b7ym8wd72], .booking-time small[b-0b7ym8wd72] { display: block; }
.booking-time small[b-0b7ym8wd72] { margin-top: 4px; font-size: .6875rem; line-height: 1.4; opacity: .8; }
.booking-error button.booking-error-link[b-0b7ym8wd72] { border: 0; background: transparent; padding: 8px 0; font: inherit; color: inherit; cursor: pointer; }
.booking-selection[b-0b7ym8wd72] { display: flex; align-items: center; gap: 14px; min-height: 77px; margin: 26px 0 20px; padding: 16px 18px; border-radius: 13px; background: #f0f3e9; }
.booking-selection > i[b-0b7ym8wd72] { color: #708a5f; font-size: 19px; }
.booking-selection > div[b-0b7ym8wd72] { display: grid; gap: 4px; }
.booking-selection strong[b-0b7ym8wd72] { font-size: .8125rem; font-weight: 500; line-height: 1.5; }
.booking-selection span[b-0b7ym8wd72] { font-size: .6875rem; line-height: 1.6; color: #65765b; }
.booking-selection.is-empty[b-0b7ym8wd72] { background: #f5f6f0; }
.booking-selection.is-empty > i[b-0b7ym8wd72] { color: #8d9a80; }
.booking-selection.is-empty strong[b-0b7ym8wd72] { color: #6d7b63; font-weight: 400; }
.booking-live .button-full[b-0b7ym8wd72] { min-height: 52px; }
.booking-live .form-reassurance[b-0b7ym8wd72] { margin-top: 14px; line-height: 1.7; }
.booking-live button:focus-visible[b-0b7ym8wd72] { outline: 2px solid #6a835b; outline-offset: 3px; }
.booking-place[b-0b7ym8wd72] { display: grid; grid-template-columns: minmax(0, 115px) 1fr; gap: 16px; margin: -7px 0 22px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #f7f8f1; }
.booking-place.without-photo[b-0b7ym8wd72] { grid-template-columns: 1fr; }
.booking-place img[b-0b7ym8wd72] { width: 100%; height: 100%; min-height: 110px; object-fit: cover; }
.booking-place-details[b-0b7ym8wd72] { display: grid; align-content: center; justify-items: start; gap: 4px; padding: 14px 14px 14px 0; }
.booking-place.without-photo .booking-place-details[b-0b7ym8wd72] { padding-left: 16px; }
.booking-place-gallery[b-0b7ym8wd72] { grid-column: 1 / -1; display: flex; gap: 8px; overflow-x: auto; padding: 0 12px 12px; }
.booking-place-gallery img[b-0b7ym8wd72] { flex: none; width: 94px; height: 72px; min-height: 0; border-radius: 5px; object-fit: cover; }
.booking-place strong[b-0b7ym8wd72] { font-size: .8125rem; }
.booking-place span[b-0b7ym8wd72] { color: var(--ink-soft); font-size: .75rem; white-space: pre-line; }
.booking-place a[b-0b7ym8wd72] { color: var(--green); font-size: .75rem; text-decoration: underline; text-underline-offset: 3px; }
.booking-live button:disabled[b-0b7ym8wd72] { opacity: .55; cursor: default; }
.booking-field[b-0b7ym8wd72] { display: flex; flex-direction: column; margin-top: 22px; gap: 9px; }
.booking-field label[b-0b7ym8wd72] { font-size: .8125rem; font-weight: 500; }
.booking-field[b-0b7ym8wd72]  input { width: 100%; min-height: 52px; border: 1px solid #bfc7b9; border-radius: 9px; padding: 13px 15px; color: var(--ink); background: var(--paper-light); font-size: 1rem; }
.booking-field[b-0b7ym8wd72]  input::placeholder { color: #7b847a; font-size: .875rem; }
.booking-field[b-0b7ym8wd72]  input:focus-visible { outline-offset: 3px; }
.booking-field[b-0b7ym8wd72]  textarea { width: 100%; min-height: 112px; border: 1px solid #bfc7b9; border-radius: 9px; padding: 13px 15px; resize: vertical; color: var(--ink); background: var(--paper-light); font-size: 1rem; line-height: 1.5; }
.booking-field[b-0b7ym8wd72]  textarea::placeholder { color: #7b847a; font-size: .875rem; }
.booking-field[b-0b7ym8wd72]  textarea:focus-visible { outline-offset: 3px; }
.booking-field small[b-0b7ym8wd72] { font-size: .75rem; color: var(--ink-soft); line-height: 1.65; }
.booking-field[b-0b7ym8wd72]  .validation-message { color: #984c3f; font-size: .8125rem; }
.booking-parent-note[b-0b7ym8wd72] { padding: 14px 17px; margin-top: 20px; border-radius: 9px; background: var(--lilac); font-size: .8125rem; }
.booking-privacy[b-0b7ym8wd72] { font-size: .75rem; margin-block: 24px; line-height: 1.8; }
.booking-error[b-0b7ym8wd72] { margin-top: 22px; padding: 15px 18px; background: #f6eae2; border: 1px solid #e5d1c2; border-radius: 10px; color: #7d4939; font-size: .875rem; }
.booking-error p[b-0b7ym8wd72] { margin: 0; }
.booking-error-link[b-0b7ym8wd72] { display: inline-flex; align-items: center; gap: 10px; margin-top: 12px; color: inherit; text-underline-offset: 4px; }
.booking-error-link:focus-visible[b-0b7ym8wd72] { outline: 2px solid currentColor; outline-offset: 5px; border-radius: 3px; }
.booking-empty[b-0b7ym8wd72] { padding: 35px 4px; }
.booking-empty h3[b-0b7ym8wd72] { margin-top: 13px; font-size: 1.875rem; }
.booking-empty p[b-0b7ym8wd72] { margin-top: 15px; font-size: .875rem; }
.booking-empty .text-link[b-0b7ym8wd72] { margin-top: 16px; }
.booking-empty-state[b-0b7ym8wd72] { margin-top: 27px; padding: 26px; border: 1px solid #dce2d4; border-radius: 14px; background: #f3f5ee; }
.booking-empty-state h3[b-0b7ym8wd72] { font-size: 1.875rem; line-height: 1.15; }
.booking-empty-state p[b-0b7ym8wd72] { margin-top: 12px; font-size: .875rem; line-height: 1.7; }
.booking-empty-actions[b-0b7ym8wd72] { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.booking-empty-actions .button[b-0b7ym8wd72] { flex: 1 1 170px; gap: 12px; min-height: 48px; padding-inline: 16px; text-align: center; }
.booking-empty-state .booking-empty-contact[b-0b7ym8wd72] { margin-top: 20px; padding-top: 17px; border-top: 1px solid #dce2d4; font-size: .8125rem; }

/* The last step pairs a quiet session recap with a focused contact form. */
.booking-details-step[b-0b7ym8wd72] { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.booking-details-step .booking-steps[b-0b7ym8wd72] { justify-content: flex-start; gap: 30px; margin-bottom: 30px; padding: 0; border: 0; }
.booking-details-step .booking-steps li + li[b-0b7ym8wd72]::before { content: ''; width: 22px; height: 1px; margin-right: 15px; background: #d5ddcc; }
.booking-details-layout[b-0b7ym8wd72] { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); align-items: start; gap: clamp(32px, 5vw, 64px); }
.booking-details-context[b-0b7ym8wd72], .booking-details-form[b-0b7ym8wd72] { min-width: 0; }
.booking-details-heading[b-0b7ym8wd72] { padding-top: 8px; }
.booking-details-heading .booking-step-heading[b-0b7ym8wd72] { font-size: clamp(42px, 4.5vw, 56px); line-height: 1.07; }
.booking-details-heading > p[b-0b7ym8wd72] { max-width: 44ch; margin-top: 18px; font-size: .9375rem; line-height: 1.8; }
.booking-review[b-0b7ym8wd72] { margin-top: 28px; padding: 22px 24px; border: 1px solid #dbe1d2; border-radius: 18px; background: #f0f3e9; }
.booking-review-top[b-0b7ym8wd72] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; font-size: .75rem; color: var(--ink-soft); }
.booking-review-top > button[b-0b7ym8wd72] { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-block: -10px; padding: 7px 0; border: 0; background: none; color: var(--green); font-size: .75rem; }
.booking-review-top > button:hover:not(:disabled)[b-0b7ym8wd72] { text-decoration: underline; text-underline-offset: 4px; }
.booking-review-top i[b-0b7ym8wd72] { font-size: .625rem; }
.booking-review h2[b-0b7ym8wd72] { margin-top: 15px; font-size: 29px; line-height: 1.15; text-align: left; text-wrap: pretty; }
.booking-review-date[b-0b7ym8wd72] { display: flex; align-items: center; gap: 16px; margin-top: 20px; }
.booking-review-calendar[b-0b7ym8wd72] { display: flex; flex: 0 0 56px; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 68px; border: 1px solid #d7dfcb; border-radius: 11px; background: var(--paper-light); }
.booking-review-calendar small[b-0b7ym8wd72] { color: var(--ink-soft); font-size: .625rem; letter-spacing: .1em; text-transform: uppercase; }
.booking-review-calendar strong[b-0b7ym8wd72] { font: 400 30px/1 var(--serif); }
.booking-review-date > div[b-0b7ym8wd72] { display: grid; gap: 3px; min-width: 0; font-size: .8125rem; }
.booking-review-date > div > strong[b-0b7ym8wd72] { font-weight: 500; }
.booking-review-date > div > small[b-0b7ym8wd72] { color: var(--ink-soft); font-size: .6875rem; }
.booking-review-facts[b-0b7ym8wd72] { display: grid; gap: 10px; margin: 20px 0 0; padding-top: 17px; border-top: 1px solid #d8dfce; font-size: .75rem; }
.booking-review-facts > div[b-0b7ym8wd72] { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.booking-review-facts dt[b-0b7ym8wd72] { display: inline-flex; flex: none; align-items: center; gap: 8px; color: var(--ink-soft); }
.booking-review-facts dt > i[b-0b7ym8wd72] { width: 14px; text-align: center; font-size: .6875rem; }
.booking-review-facts dd[b-0b7ym8wd72] { min-width: 0; margin: 0; text-align: right; overflow-wrap: anywhere; }
.booking-review-facts dd > span[b-0b7ym8wd72] { display: block; margin-top: 3px; color: var(--ink-soft); white-space: pre-line; }
.booking-details-next[b-0b7ym8wd72] { display: flex; align-items: flex-start; gap: 13px; margin-top: 23px; }
.booking-details-next-icon[b-0b7ym8wd72] { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px; background: #eeeee4; color: #738261; font-size: 15px; }
.booking-details-next > div[b-0b7ym8wd72] { min-width: 0; padding-top: 3px; }
.booking-details-next h2[b-0b7ym8wd72] { font: 500 .8125rem/1.5 var(--sans); letter-spacing: 0; }
.booking-details-next p[b-0b7ym8wd72] { margin-top: 6px; font-size: .8125rem; line-height: 1.8; }
.booking-details-form[b-0b7ym8wd72] { padding: 30px; border: 1px solid #dce1d4; border-radius: 22px; background: var(--paper-light); box-shadow: 0 16px 40px -25px #34483d18; }
.booking-contact-heading[b-0b7ym8wd72] { display: flex; align-items: center; gap: 14px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.booking-contact-icon[b-0b7ym8wd72] { display: grid; place-items: center; flex: none; width: 42px; height: 46px; border-radius: 13px; background: #ecefe3; color: #71815e; font-size: 20px; }
.booking-contact-heading h2[b-0b7ym8wd72] { font-size: 29px; line-height: 1.2; }
.booking-contact-heading p[b-0b7ym8wd72] { margin-top: 5px; font-size: .75rem; line-height: 1.6; }
.booking-details-form .booking-field[b-0b7ym8wd72] { gap: 7px; }
.booking-details-form .booking-field[b-0b7ym8wd72]  input,
.booking-details-form .booking-field[b-0b7ym8wd72]  textarea { border-color: #d2d9c8; border-radius: 11px; background: #fffefa; }
.booking-details-form .booking-field[b-0b7ym8wd72]  input:focus-visible,
.booking-details-form .booking-field[b-0b7ym8wd72]  textarea:focus-visible { border-color: #819771; outline: 2px solid #819771; outline-offset: 2px; }
.booking-details-form .booking-field[b-0b7ym8wd72]  .invalid { border-color: #ab6656; }
.booking-optional-note[b-0b7ym8wd72] { margin-top: 25px; padding-block: 5px; border-block: 1px solid var(--line); }
.booking-optional-note > summary[b-0b7ym8wd72] { display: flex; align-items: center; gap: 10px; min-height: 50px; padding-block: 10px; color: var(--green); font-size: .8125rem; cursor: pointer; list-style: none; }
.booking-optional-note > summary[b-0b7ym8wd72]::-webkit-details-marker { display: none; }
.booking-optional-note > summary > i:first-child[b-0b7ym8wd72] { color: #7a896a; font-size: .875rem; }
.booking-optional-note > summary > span[b-0b7ym8wd72] { display: flex; flex: 1; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
.booking-optional-note > summary small[b-0b7ym8wd72] { color: var(--ink-soft); font-size: .6875rem; }
.booking-optional-note > summary > i:last-child[b-0b7ym8wd72] { font-size: .6875rem; }
.booking-optional-note[open] > summary > i:last-child[b-0b7ym8wd72] { transform: rotate(45deg); }
.booking-optional-note .booking-field[b-0b7ym8wd72] { margin-top: 5px; margin-bottom: 16px; }
.booking-optional-note .booking-field[b-0b7ym8wd72]  textarea { min-height: 100px; }
.booking-details-submit .booking-privacy[b-0b7ym8wd72] { margin-block: 20px; font-size: .75rem; line-height: 1.8; }
.booking-privacy a[b-0b7ym8wd72] { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.booking-details-submit .form-reassurance[b-0b7ym8wd72] { display: flex; align-items: baseline; justify-content: center; gap: 7px; margin-top: 12px; font-size: .75rem; }
.booking-details-submit .form-reassurance > i[b-0b7ym8wd72] { font-size: .625rem; color: #768568; }
.booking-details-submit .booking-error[b-0b7ym8wd72] { margin-block: 0 18px; }

@media (max-width: 760px) {
    .booking-details-layout[b-0b7ym8wd72] { grid-template-columns: 1fr; gap: 26px; }
    .booking-details-step .booking-steps[b-0b7ym8wd72] { justify-content: space-between; gap: 12px; margin-bottom: 26px; }
    .booking-details-step .booking-steps li + li[b-0b7ym8wd72]::before { display: none; }
    .booking-details-heading[b-0b7ym8wd72] { padding-top: 0; }
    .booking-details-heading .booking-step-heading[b-0b7ym8wd72] { font-size: 42px; }
    .booking-details-heading .booking-step-heading br[b-0b7ym8wd72] { display: none; }
    .booking-details-heading > p[b-0b7ym8wd72] { max-width: 50ch; margin-top: 12px; font-size: .875rem; }
    .booking-review[b-0b7ym8wd72] { margin-top: 20px; }
    .booking-details-next[b-0b7ym8wd72] { margin-top: 18px; }
    .booking-details-form[b-0b7ym8wd72] { padding: 25px; }
}

@media (max-width: 420px) {
    .booking-live[b-0b7ym8wd72] { padding: 24px 18px; border-radius: 20px; }
    .booking-dates[b-0b7ym8wd72] { gap: 6px; }
    .booking-date > strong[b-0b7ym8wd72] { font-size: 1.375rem; }
    .booking-selection[b-0b7ym8wd72] { padding: 14px; gap: 11px; }
    .booking-intro-card[b-0b7ym8wd72] { min-height: 205px; padding: 20px 19px 17px; }
    .intro-card-art[b-0b7ym8wd72] { top: 74px; right: 8px; width: 78px; height: 78px; opacity: .36; }
    .intro-card-art[b-0b7ym8wd72]  .brand-mark { width: 40px; height: 47px; }
    .intro-card-copy[b-0b7ym8wd72] { max-width: 100%; margin-block: 22px 20px; }
    .intro-card-copy small[b-0b7ym8wd72] { max-width: 85%; }
    .booking-steps[b-0b7ym8wd72] { gap: 6px; }
    .booking-steps li[b-0b7ym8wd72] { flex-direction: column; align-items: flex-start; gap: 7px; font-size: .6875rem; }
    .booking-times[b-0b7ym8wd72] { gap: 7px; }
    .booking-empty-state[b-0b7ym8wd72] { padding: 22px 19px; }
    .booking-details-step[b-0b7ym8wd72] { padding: 0; border-radius: 0; }
    .booking-details-step .booking-steps li[b-0b7ym8wd72] { flex-direction: row; align-items: center; gap: 6px; }
    .booking-details-step .booking-steps li > span[b-0b7ym8wd72] { width: 22px; height: 22px; }
    .booking-review[b-0b7ym8wd72] { padding: 21px 19px; }
    .booking-review-date[b-0b7ym8wd72] { gap: 12px; }
    .booking-details-form[b-0b7ym8wd72] { padding: 23px 19px; border-radius: 18px; }
    .booking-contact-heading[b-0b7ym8wd72] { gap: 12px; }
    .booking-contact-heading h2[b-0b7ym8wd72] { font-size: 27px; }
}
@media (forced-colors: active) {
    .booking-intro-card.selected[b-0b7ym8wd72] { outline: 2px solid Highlight; outline-offset: -2px; }
    .booking-date.selected[b-0b7ym8wd72], .booking-time.selected[b-0b7ym8wd72] { outline: 2px solid Highlight; }
}
@media (prefers-reduced-motion: reduce) {
    .booking-intro-card[b-0b7ym8wd72], .booking-date[b-0b7ym8wd72], .booking-time[b-0b7ym8wd72], .booking-date-navigation button[b-0b7ym8wd72] { transition: none; }
    .booking-intro-card:hover[b-0b7ym8wd72] { transform: none; }
}
/* /Components/Shared/BookingWelcome.razor.rz.scp.css */
.booking-welcome[b-m7ysq6jdgu] { --welcome-muted: var(--ink-soft); width: 100%; margin-inline: auto; padding-top: 24px; }
.booking-welcome h1:focus[b-m7ysq6jdgu], .preparation-form h2:focus[b-m7ysq6jdgu] { outline: none; }
.booking-welcome .button[b-m7ysq6jdgu] { min-height: 48px; padding: 12px 23px; gap: 16px; font-size: 14px; }
.booking-welcome .button[b-m7ysq6jdgu]  .arrow { width: 16px; height: 16px; font-size: 16px; }
.booking-welcome button:disabled[b-m7ysq6jdgu] { opacity: .55; cursor: default; }
.welcome-actions[b-m7ysq6jdgu] { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 24px; }
.welcome-skip[b-m7ysq6jdgu], .preparation-back[b-m7ysq6jdgu] { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 7px 0; border: 0; background: transparent; color: var(--green); font-size: 13px; line-height: 1.5; text-align: left; }
.welcome-skip:hover[b-m7ysq6jdgu], .preparation-back:hover[b-m7ysq6jdgu] { text-decoration: underline; text-underline-offset: 5px; }
.welcome-skip i[b-m7ysq6jdgu], .preparation-back i[b-m7ysq6jdgu] { font-size: 11px; }

/* Both outcomes inherit the same page width as the booking header and footer. */
.booking-outcome[b-m7ysq6jdgu] { width: 100%; padding-bottom: 24px; }
.welcome-arrival[b-m7ysq6jdgu] { --welcome-column-gap: 24px; }
.outcome-hero[b-m7ysq6jdgu] { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 36px; }
.welcome-arrival .outcome-hero[b-m7ysq6jdgu] { gap: var(--welcome-column-gap); }
.outcome-copy[b-m7ysq6jdgu] { min-width: 0; }
.booking-status-notice[b-m7ysq6jdgu], .outcome-status[b-m7ysq6jdgu] { --status-ink: #70582d; --status-surface: #f5efdf; --status-line: #e3d8bd; --status-icon-surface: #ece1c5; color: var(--status-ink); background: var(--status-surface); border: 1px solid var(--status-line); }
.is-confirmed[b-m7ysq6jdgu] { --status-ink: var(--green); --status-surface: #edf3e7; --status-line: #d5dfca; --status-icon-surface: #e0e9d6; }
.is-closed[b-m7ysq6jdgu] { --status-ink: var(--ink-soft); --status-surface: #f0f0e9; --status-line: #ddded3; --status-icon-surface: #e5e6dc; }
.booking-status-notice[b-m7ysq6jdgu] { display: flex; align-items: flex-start; gap: 14px; padding: 20px; margin-top: 24px; border-radius: 16px; text-align: left; }
.booking-status-icon[b-m7ysq6jdgu] { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--status-icon-surface); font-size: 19px; }
.booking-status-notice > div[b-m7ysq6jdgu] { min-width: 0; }
.booking-status-notice h2[b-m7ysq6jdgu] { margin: 0; color: var(--status-ink); font: 500 16px/1.5 var(--sans); text-align: left; }
.booking-status-notice p[b-m7ysq6jdgu] { margin-top: 5px; color: var(--ink-soft); font-size: 14px; line-height: 1.7; text-wrap: pretty; }
.outcome-status[b-m7ysq6jdgu] { display: inline-flex; align-items: center; gap: 9px; padding: 9px 13px; border-radius: 10px; font-size: 13px; font-weight: 500; text-align: left; }
.outcome-status > i[b-m7ysq6jdgu] { flex: none; font-size: 16px; }
.outcome-copy h1[b-m7ysq6jdgu] { margin: 18px 0; font-size: clamp(44px, 4.8vw, 60px); line-height: 1.03; text-align: left; }
.welcome-arrival .outcome-copy h1[b-m7ysq6jdgu] { margin-top: 0; }
.outcome-copy > p[b-m7ysq6jdgu] { max-width: 43ch; font-size: 15px; line-height: 1.8; }
.outcome-art[b-m7ysq6jdgu] { min-width: 0; width: 100%; max-width: 440px; justify-self: end; }
.outcome-art img[b-m7ysq6jdgu] { display: block; width: 100%; height: auto; }
.outcome-art-arrival[b-m7ysq6jdgu] { max-width: 360px; }
.outcome-envelope[b-m7ysq6jdgu] { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border: 1px solid #dce3cf; border-radius: 13px; background: #fafbf5; color: #71845f; font-size: 19px; }

/* The invitation is the next action; the receipt keeps the requested time close. */
.welcome-details[b-m7ysq6jdgu] { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--welcome-column-gap); margin-top: 24px; }
.welcome-invitation[b-m7ysq6jdgu] { min-width: 0; padding: 26px 28px; border: 1px solid #d1dbc5; border-radius: 20px; background: #f0f3e9; }
.invitation-meta[b-m7ysq6jdgu] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; color: var(--green); font-size: 12px; font-weight: 500; }
.invitation-meta > span[b-m7ysq6jdgu] { color: var(--welcome-muted); font-size: 11px; font-weight: 400; }
.welcome-invitation h2[b-m7ysq6jdgu] { margin-top: 14px; font-size: 34px; text-align: left; text-wrap: pretty; }
.welcome-invitation > p[b-m7ysq6jdgu] { margin-top: 10px; max-width: 50ch; font-size: 14px; line-height: 1.75; }
.welcome-invitation .welcome-actions[b-m7ysq6jdgu] { margin-top: 20px; }
.welcome-invitation .button-primary[b-m7ysq6jdgu] { min-height: 50px; padding-inline: 24px; }
.welcome-privacy[b-m7ysq6jdgu] { display: flex; align-items: baseline; gap: 7px; margin-top: 14px; color: var(--welcome-muted); font-size: 11px; line-height: 1.65; }
.welcome-privacy i[b-m7ysq6jdgu] { flex: none; font-size: 10px; }
.welcome-receipt[b-m7ysq6jdgu] { min-width: 0; padding: 26px 28px; border: 1px solid #dedfd3; border-radius: 20px; background: var(--paper-light); }
.welcome-receipt:only-child[b-m7ysq6jdgu] { grid-column: 1 / -1; }
.receipt-top[b-m7ysq6jdgu] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 7px 10px; color: var(--welcome-muted); font-size: 12px; }
.welcome-receipt h2[b-m7ysq6jdgu] { margin: 12px 0 17px; font-size: 30px; text-align: left; text-wrap: pretty; }
.receipt-date[b-m7ysq6jdgu] { display: flex; align-items: center; gap: 14px; }
.receipt-calendar[b-m7ysq6jdgu] { display: flex; flex: 0 0 55px; min-height: 66px; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px solid #dce2d4; border-radius: 10px; background: #eef2e8; }
.receipt-calendar small[b-m7ysq6jdgu] { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.receipt-calendar strong[b-m7ysq6jdgu] { font: 400 31px/1 var(--serif); }
.receipt-date > div[b-m7ysq6jdgu] { display: grid; gap: 2px; min-width: 0; font-size: 13px; }
.receipt-date > div > strong[b-m7ysq6jdgu] { font-weight: 500; }
.receipt-date > div > small[b-m7ysq6jdgu] { margin-top: 3px; color: var(--welcome-muted); font-size: 11px; }
.welcome-receipt dl[b-m7ysq6jdgu] { display: grid; gap: 8px; margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--line); font-size: 12px; }
.welcome-receipt dl > div[b-m7ysq6jdgu] { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.welcome-receipt dt[b-m7ysq6jdgu] { flex: none; color: var(--welcome-muted); }
.welcome-receipt dd[b-m7ysq6jdgu] { margin: 0; text-align: right; overflow-wrap: anywhere; }
.welcome-dashboard[b-m7ysq6jdgu] { margin-top: 24px; }
.welcome-delivery[b-m7ysq6jdgu] { display: flex; flex: 1 1 360px; min-width: 0; gap: 14px; align-items: center; }
.welcome-delivery > div[b-m7ysq6jdgu] { min-width: 0; }
.welcome-delivery p[b-m7ysq6jdgu] { font-size: 13px; overflow-wrap: anywhere; }
.welcome-delivery strong[b-m7ysq6jdgu] { font-weight: 500; color: var(--ink); }
.welcome-delivery p + p[b-m7ysq6jdgu] { margin-top: 2px; font-size: 12px; }

/* Quiet context above the card keeps attention on the current question. */
.preparation-introduction[b-m7ysq6jdgu] { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; margin-bottom: 22px; }
.preparation-welcome-copy[b-m7ysq6jdgu] { min-width: 0; }
.preparation-welcome-copy h1[b-m7ysq6jdgu] { margin: 0; font-size: 28px; line-height: 1.2; text-align: left; }
.preparation-welcome-copy > p[b-m7ysq6jdgu] { margin-top: 6px; max-width: 65ch; font-size: 14px; line-height: 1.6; }
.preparation-utilities[b-m7ysq6jdgu] { display: flex; align-items: center; gap: 22px; }
.preparation-utilities button[b-m7ysq6jdgu] { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 6px 0; border: 0; background: transparent; color: var(--green); font-size: 13px; }
.preparation-utilities .preparation-overview[b-m7ysq6jdgu] { color: var(--welcome-muted); font-size: 12px; }
.preparation-utilities button:hover:not(:disabled)[b-m7ysq6jdgu] { text-decoration: underline; text-underline-offset: 5px; }
.preparation-utilities button > i[b-m7ysq6jdgu] { font-size: 11px; }
.preparation-shell[b-m7ysq6jdgu] { border: 1px solid #dcdfd2; border-radius: 24px; background: var(--paper-light); box-shadow: 0 12px 35px #34483d03; }
.preparation-progress[b-m7ysq6jdgu] { padding: 0 36px; border-bottom: 1px solid #e1e4d8; }
.preparation-progress ol[b-m7ysq6jdgu] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; list-style: none; padding: 0; margin: 0; }
.preparation-progress li[b-m7ysq6jdgu] { position: relative; min-width: 0; }
.preparation-progress button[b-m7ysq6jdgu] { position: relative; display: flex; align-items: center; justify-content: flex-start; gap: 12px; width: 100%; height: 100%; min-height: 58px; margin: 0; padding: 14px 0; border: 0; border-radius: 0; background: transparent; color: var(--welcome-muted); font: 400 14px/1.4 var(--sans); text-align: left; }
.preparation-step-number[b-m7ysq6jdgu] { flex: none; margin: 0; padding: 0; color: #7b886d; font-size: 12px; font-variant-numeric: tabular-nums; line-height: 1; }
.preparation-step-label[b-m7ysq6jdgu] { min-width: 0; }
.preparation-progress .is-current > button[b-m7ysq6jdgu] { color: var(--green); font-weight: 500; }
.preparation-progress .is-current > button[b-m7ysq6jdgu]::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--green); }
.preparation-progress .is-current .preparation-step-number[b-m7ysq6jdgu] { color: var(--green); }
.preparation-progress button:hover:not(:disabled)[b-m7ysq6jdgu] { color: var(--green); }
.preparation-progress button:focus-visible[b-m7ysq6jdgu] { outline-offset: -5px; border-radius: 6px; }
.preparation-form[b-m7ysq6jdgu] { padding: 25px 36px 27px; min-width: 0; }
.preparation-form h2[b-m7ysq6jdgu] { margin: 0 0 10px; font-size: clamp(32px, 3vw, 38px); text-align: left; }
.preparation-form-heading > p[b-m7ysq6jdgu] { max-width: 65ch; font-size: 14px; line-height: 1.75; }
.preparation-fields[b-m7ysq6jdgu] { padding: 0; margin: 24px 0 0; border: 0; min-width: 0; }
.preparation-writing[b-m7ysq6jdgu] { margin-top: 25px; }
.preparation-field[b-m7ysq6jdgu] { display: block; margin-bottom: 9px; font-size: 14px; font-weight: 500; color: var(--ink); }
.preparation-field > span[b-m7ysq6jdgu] { margin-left: 6px; font-size: 12px; font-weight: 400; color: var(--welcome-muted); }
.preparation-fields textarea[b-m7ysq6jdgu], .preparation-fields input:not([type="checkbox"]):not([type="radio"])[b-m7ysq6jdgu] { width: 100%; padding: 12px 14px; border: 1px solid #d9dfcf; border-radius: 11px; background: #fffefa; font: 400 14px/1.6 var(--sans); color: var(--ink); }
.preparation-fields textarea[b-m7ysq6jdgu] { resize: vertical; min-height: 76px; display: block; }
.preparation-fields input[b-m7ysq6jdgu]::placeholder, .preparation-fields textarea[b-m7ysq6jdgu]::placeholder { color: #77826f; }
.preparation-fields input:focus-visible[b-m7ysq6jdgu], .preparation-fields textarea:focus-visible[b-m7ysq6jdgu] { outline-offset: 3px; border-color: #8b9b7e; }
.field-hint[b-m7ysq6jdgu] { margin-top: 9px; font-size: 12px; line-height: 1.65; }
.preparation-kind-note[b-m7ysq6jdgu] { display: flex; align-items: baseline; gap: 9px; margin-top: 17px; font-size: 12px; line-height: 1.65; }
.preparation-kind-note > i[b-m7ysq6jdgu] { font-size: 13px; color: #7b8a61; flex: none; }
.preparation-footer[b-m7ysq6jdgu] { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.preparation-footer-context[b-m7ysq6jdgu] { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 18px; min-width: 0; font-size: 12px; color: var(--welcome-muted); }
.preparation-footer > .button[b-m7ysq6jdgu] { flex: none; min-width: 141px; }
.preparation-privacy[b-m7ysq6jdgu] { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 5px 7px; margin-top: 18px; font-size: 12px; line-height: 1.65; text-align: center; }
.preparation-privacy > i[b-m7ysq6jdgu] { font-size: 10px; }
.preparation-privacy a[b-m7ysq6jdgu] { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }

/* An optional contact opens as a small form, rather than a forced choice. */
.contact-add[b-m7ysq6jdgu] { display: flex; align-items: center; gap: 16px; width: 100%; min-height: 100px; padding: 23px; border: 1px solid #d8dfcc; border-radius: 15px; background: #f7f8f1; color: var(--ink); text-align: left; }
.contact-add:hover:not(:disabled)[b-m7ysq6jdgu] { background: #f0f4e8; border-color: #96a887; }
.contact-add-icon[b-m7ysq6jdgu] { display: grid; place-items: center; flex: none; width: 43px; height: 46px; border-radius: 12px; background: #e8eedf; color: #6b7f58; font-size: 21px; }
.contact-add-copy[b-m7ysq6jdgu] { display: grid; gap: 4px; min-width: 0; }
.contact-add-copy strong[b-m7ysq6jdgu] { font-size: 15px; font-weight: 500; line-height: 1.4; }
.contact-add-copy small[b-m7ysq6jdgu] { color: var(--welcome-muted); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.contact-add-action[b-m7ysq6jdgu] { display: grid; place-items: center; width: 32px; height: 32px; flex: none; margin-left: auto; border: 1px solid #d8dfcd; border-radius: 9px; background: var(--paper-light); color: var(--green); font-size: 13px; }
.contact-optional-note[b-m7ysq6jdgu] { margin-top: 13px; font-size: 13px; line-height: 1.7; }
.contact-details-heading[b-m7ysq6jdgu] { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 13px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.contact-details-heading > span[b-m7ysq6jdgu] { font-size: 13px; font-weight: 500; }
.contact-details-heading > .preparation-back[b-m7ysq6jdgu] { font-size: 12px; }
.contact-fields[b-m7ysq6jdgu] { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.preparation-permission[b-m7ysq6jdgu] { display: flex; align-items: flex-start; gap: 12px; margin-top: 22px; padding: 17px 18px; border: 1px solid #e0e4d6; border-radius: 12px; background: #f3f5ee; color: var(--ink); font-size: 13px; line-height: 1.75; cursor: pointer; }
.preparation-permission input[b-m7ysq6jdgu] { flex: none; width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--green); }
.contact-privacy[b-m7ysq6jdgu] { display: flex; align-items: baseline; gap: 8px; margin-top: 14px; font-size: 12px; line-height: 1.65; }
.contact-privacy > i[b-m7ysq6jdgu] { font-size: 10px; flex: none; }
.preparation-error[b-m7ysq6jdgu] { padding: 17px 19px; margin-top: 22px; border: 1px solid #e1cdbc; border-radius: 12px; font-size: 13px; background: #faf2e9; color: #795138; }
.preparation-error p[b-m7ysq6jdgu] { color: inherit; font-size: inherit; }
.preparation-error small[b-m7ysq6jdgu] { display: block; font-size: 12px; }
.preparation-error .preparation-back[b-m7ysq6jdgu] { display: flex; margin-top: 5px; font-size: 12px; }

/* The next real-world step stays clear beneath the closing message. */
.preparation-finished > .finished-save-note[b-m7ysq6jdgu] { margin-top: 22px; padding: 14px 18px; border-radius: 12px; background: #f5eee3; color: #795d3d; font-size: 13px; line-height: 1.7; }
.finished-next[b-m7ysq6jdgu] { display: grid; grid-template-columns: 42px minmax(0, 1fr) minmax(0, .8fr); align-items: center; gap: 18px; margin-top: 30px; padding: 23px 25px; background: #f0f3e9; border: 1px solid #dce2d2; border-radius: 18px; }
.finished-next-copy h2[b-m7ysq6jdgu] { font: 500 15px/1.5 var(--sans); letter-spacing: 0; text-align: left; text-wrap: pretty; }
.finished-next-copy p[b-m7ysq6jdgu] { margin-top: 5px; font-size: 13px; line-height: 1.7; }
.finished-email[b-m7ysq6jdgu] { display: grid; gap: 5px; min-width: 0; padding-left: 24px; border-left: 1px solid #d9e0cd; }
.finished-email > span[b-m7ysq6jdgu] { font-size: 11px; color: var(--welcome-muted); }
.finished-email > strong[b-m7ysq6jdgu] { font-size: 13px; font-weight: 500; color: var(--green); overflow-wrap: anywhere; }
.finished-footer[b-m7ysq6jdgu] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; margin-top: 24px; }
.finished-footer > .preparation-back[b-m7ysq6jdgu] { font-size: 12px; }

/* A return link is useful without becoming another main action. */
.booking-return[b-m7ysq6jdgu] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.booking-return.is-summary[b-m7ysq6jdgu] { margin-top: 0; padding-block: 20px 24px; }
.booking-return-copy[b-m7ysq6jdgu] { display: flex; align-items: baseline; gap: 10px; flex: 1 1 260px; min-width: 0; color: var(--welcome-muted); }
.booking-return-copy > i[b-m7ysq6jdgu] { flex: none; color: var(--green); font-size: 12px; }
.booking-return-copy > p[b-m7ysq6jdgu] { margin: 0; font-size: 12px; line-height: 1.7; }
.booking-return-actions[b-m7ysq6jdgu] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 20px; }
.booking-copy-link[b-m7ysq6jdgu] { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; padding: 9px 14px; border: 1px solid #d9dfcf; border-radius: 11px; background: var(--paper-light); color: var(--green); font: 400 12px/1.5 var(--sans); }
.booking-copy-link:hover[b-m7ysq6jdgu] { border-color: #99a58d; background: #f3f5ee; }
.booking-link-fallback[b-m7ysq6jdgu] { display: grid; flex-basis: 100%; gap: 8px; font-size: 12px; color: var(--welcome-muted); }
.booking-link-fallback input[b-m7ysq6jdgu] { width: 100%; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--green); background: var(--paper-light); font: inherit; }

@media (max-width: 1050px) {
    .welcome-arrival[b-m7ysq6jdgu] { --welcome-column-gap: 20px; }
    .welcome-invitation .welcome-actions[b-m7ysq6jdgu] { gap: 7px 18px; }
    .welcome-invitation[b-m7ysq6jdgu], .welcome-receipt[b-m7ysq6jdgu] { padding: 23px; }
    .invitation-meta[b-m7ysq6jdgu] { align-items: flex-start; flex-direction: column; gap: 2px; }
}
@media (max-width: 760px) {
    .booking-welcome[b-m7ysq6jdgu] { padding-top: 20px; }
    .welcome-arrival[b-m7ysq6jdgu] { --welcome-column-gap: 18px; }
    .welcome-arrival .outcome-hero[b-m7ysq6jdgu], .welcome-details[b-m7ysq6jdgu] { grid-template-columns: 1fr; }
    .welcome-arrival .outcome-art[b-m7ysq6jdgu] { grid-row: 1; width: 210px; justify-self: center; }
    .welcome-invitation > p[b-m7ysq6jdgu] { max-width: 55ch; }
    .welcome-invitation[b-m7ysq6jdgu], .welcome-receipt[b-m7ysq6jdgu] { padding: 24px; }
    .invitation-meta[b-m7ysq6jdgu] { align-items: center; flex-direction: row; gap: 6px 12px; }
    .receipt-top[b-m7ysq6jdgu] { font-size: 11px; }
    .welcome-receipt h2[b-m7ysq6jdgu] { font-size: 29px; }
    .preparation-introduction[b-m7ysq6jdgu] { grid-template-columns: 1fr; gap: 10px; margin-bottom: 16px; }
    .preparation-utilities[b-m7ysq6jdgu] { flex-direction: row; justify-content: space-between; align-items: center; gap: 16px; }
    .preparation-progress[b-m7ysq6jdgu] { padding-inline: 27px; }
    .preparation-progress ol[b-m7ysq6jdgu] { gap: 18px; }
    .preparation-progress button[b-m7ysq6jdgu] { gap: 9px; min-height: 56px; font-size: 13px; }
    .preparation-form[b-m7ysq6jdgu] { padding: 27px; }
    .preparation-fields textarea[b-m7ysq6jdgu], .preparation-fields input:not([type="checkbox"]):not([type="radio"])[b-m7ysq6jdgu] { font-size: 16px; }
    .outcome-hero[b-m7ysq6jdgu] { gap: 22px; }
    .outcome-copy h1[b-m7ysq6jdgu] { font-size: 44px; }
    .finished-next[b-m7ysq6jdgu] { grid-template-columns: 42px minmax(0, 1fr); gap: 12px 16px; }
    .finished-next > .outcome-envelope[b-m7ysq6jdgu] { align-self: start; }
    .finished-email[b-m7ysq6jdgu] { grid-column: 2; padding: 0; border: 0; gap: 2px; }
    .finished-footer[b-m7ysq6jdgu] { align-items: flex-start; flex-direction: column; gap: 8px; }
    .booking-return.is-summary[b-m7ysq6jdgu] { align-items: flex-start; gap: 14px; }
    .booking-return.is-summary .welcome-delivery[b-m7ysq6jdgu] { flex-basis: 100%; align-items: flex-start; }
    .booking-return.is-summary .booking-return-actions[b-m7ysq6jdgu] { padding-left: 56px; }
}
@media (max-width: 580px) {
    .outcome-hero[b-m7ysq6jdgu] { grid-template-columns: 1fr; gap: 12px; }
    .outcome-art[b-m7ysq6jdgu] { grid-row: 1; width: 210px; justify-self: center; }
    .outcome-copy[b-m7ysq6jdgu] { text-align: center; }
    .outcome-copy h1[b-m7ysq6jdgu] { text-align: center; margin-block: 14px; }
    .outcome-copy > p[b-m7ysq6jdgu] { margin-inline: auto; font-size: 14px; }
    .finished-next[b-m7ysq6jdgu] { margin-top: 24px; padding: 20px; }
    .finished-footer[b-m7ysq6jdgu] { align-items: center; }
    .finished-footer .welcome-actions[b-m7ysq6jdgu] { justify-content: center; width: 100%; }
}
@media (max-width: 460px) {
    .booking-status-notice[b-m7ysq6jdgu] { gap: 12px; padding: 17px; }
    .booking-status-icon[b-m7ysq6jdgu] { width: 34px; height: 34px; border-radius: 10px; font-size: 17px; }
    .welcome-invitation h2[b-m7ysq6jdgu] { font-size: 33px; }
    .welcome-invitation[b-m7ysq6jdgu], .welcome-receipt[b-m7ysq6jdgu] { padding: 22px; }
    .welcome-actions[b-m7ysq6jdgu] { gap: 7px; align-items: stretch; flex-direction: column; }
    .welcome-skip[b-m7ysq6jdgu] { justify-content: center; }
    .welcome-delivery[b-m7ysq6jdgu] { align-items: flex-start; }
    .preparation-welcome-copy h1[b-m7ysq6jdgu] { font-size: 26px; }
    .preparation-utilities button[b-m7ysq6jdgu] { font-size: 12px; }
    .preparation-shell[b-m7ysq6jdgu] { border-radius: 19px; }
    .preparation-progress[b-m7ysq6jdgu] { padding-inline: 19px; }
    .preparation-progress ol[b-m7ysq6jdgu] { gap: 14px; }
    .preparation-progress button[b-m7ysq6jdgu] { align-items: flex-start; flex-direction: column; justify-content: center; gap: 7px; padding: 14px 0; font-size: 12px; }
    .preparation-step-number[b-m7ysq6jdgu] { font-size: 10px; }
    .preparation-form[b-m7ysq6jdgu] { padding: 24px 19px; }
    .preparation-form h2[b-m7ysq6jdgu] { font-size: 33px; }
    .preparation-form-heading > p[b-m7ysq6jdgu] { font-size: 14px; }
    .contact-add[b-m7ysq6jdgu] { gap: 12px; padding: 18px 14px; }
    .contact-add-icon[b-m7ysq6jdgu] { width: 36px; height: 40px; font-size: 18px; }
    .contact-add-copy strong[b-m7ysq6jdgu] { font-size: 14px; }
    .contact-add-copy small[b-m7ysq6jdgu] { font-size: 12px; }
    .contact-fields[b-m7ysq6jdgu] { grid-template-columns: 1fr; gap: 18px; }
    .preparation-permission[b-m7ysq6jdgu] { padding: 14px; }
    .preparation-footer[b-m7ysq6jdgu] { gap: 15px; }
    .preparation-footer > .button[b-m7ysq6jdgu] { min-width: 128px; padding-inline: 20px; }
    .preparation-privacy[b-m7ysq6jdgu] { font-size: 11px; }
}
@media (prefers-reduced-motion: no-preference) {
    .welcome-arrival[b-m7ysq6jdgu], .preparation-finished[b-m7ysq6jdgu], .preparation-form-heading[b-m7ysq6jdgu], .contact-details[b-m7ysq6jdgu] { animation: welcome-arrive-b-m7ysq6jdgu .3s ease-out both; }
    .contact-add[b-m7ysq6jdgu] { transition: background .16s, border-color .16s; }
    @keyframes welcome-arrive-b-m7ysq6jdgu { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
}
@media (forced-colors: active) {
    .preparation-progress .is-current > button[b-m7ysq6jdgu] { outline: 2px solid Highlight; outline-offset: -3px; }
}
/* /Components/Shared/DirectContact.razor.rz.scp.css */
.direct-contact[b-od91rty24n] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0 12px;
    margin-top: 22px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    font-size: .8125rem;
}

.direct-contact p[b-od91rty24n] { margin: 0; font-size: inherit; }
.direct-contact a[b-od91rty24n] { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: var(--green); font-weight: 500; }
.direct-contact a i[b-od91rty24n] { font-size: .875rem; }
.direct-contact a:hover[b-od91rty24n] { text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 760px) {
    .direct-contact[b-od91rty24n] { margin-top: 18px; padding-top: 8px; }
}
/* /Components/Shared/PracticeDetails.razor.rz.scp.css */
.practice-locations[b-0oyibc0uhp] { display: grid; gap: 14px; }
.practice-locations strong[b-0oyibc0uhp] { font-weight: 500; color: var(--ink); }
.practice-address[b-0oyibc0uhp] { display: block; white-space: pre-line; }
.practice-locations a[b-0oyibc0uhp] { display: inline-block; margin-top: 5px; }
.practice-details dd > p[b-0oyibc0uhp], .practice-locations p[b-0oyibc0uhp] { margin-top: 10px; }
.practice-details dd a[b-0oyibc0uhp] { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
