/* /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/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/Shared/BookingFlow.razor.rz.scp.css */
.booking-live[b-0b7ym8wd72] { box-shadow: 0 12px 40px #34483d04; }
.booking-steps[b-0b7ym8wd72] { display: flex; justify-content: space-between; gap: 12px; list-style: none; margin: 0 0 36px; 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], .booking-steps .complete > span[b-0b7ym8wd72] { color: var(--paper-light); background: var(--green); border-color: var(--green); }
.booking-back[b-0b7ym8wd72] { display: block; min-height: 44px; background: none; border: 0; padding: 0; margin: -14px 0 18px; font-size: .8125rem; 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: 27px 0; min-width: 0; }
.booking-live legend[b-0b7ym8wd72] { margin-bottom: 12px; font-size: .8125rem; font-weight: 500; }
.booking-dates[b-0b7ym8wd72] { display: flex; overflow-x: auto; gap: 8px; padding: 4px 4px 12px; margin: -4px; scrollbar-width: thin; scrollbar-color: #c0c9b6 transparent; }
.booking-date[b-0b7ym8wd72] { display: flex; flex-direction: column; align-items: center; flex: 0 0 66px; gap: 3px; padding: 12px 9px; background: transparent; color: var(--ink-soft); border: 1px solid var(--line); border-radius: 12px; }
.booking-date > span[b-0b7ym8wd72], .booking-date > small[b-0b7ym8wd72] { font-size: .6875rem; }
.booking-date > strong[b-0b7ym8wd72] { color: var(--ink); font-size: 1.4375rem; font-weight: 500; }
.booking-date.selected[b-0b7ym8wd72], .booking-time.selected[b-0b7ym8wd72] { border-color: var(--green); background: var(--sage); color: var(--ink); box-shadow: inset 0 0 0 1px var(--green); }
.booking-date:hover[b-0b7ym8wd72], .booking-time:hover[b-0b7ym8wd72] { background: var(--sage); }
.booking-times[b-0b7ym8wd72] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.booking-time[b-0b7ym8wd72] { min-height: 47px; padding: 10px 5px; background: transparent; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); font-size: .875rem; }
.booking-slot-details[b-0b7ym8wd72] { display: flex; flex-direction: column; gap: 4px; padding: 0 0 23px; font-size: .8125rem; color: var(--ink-soft); }
.booking-live button:disabled[b-0b7ym8wd72] { opacity: .55; cursor: default; }
.booking-review[b-0b7ym8wd72] { display: flex; align-items: flex-start; gap: 15px; background: #eef0e7; border: 1px solid #e0e5d7; border-radius: 12px; padding: 19px; margin: 25px 0; }
.booking-review[b-0b7ym8wd72]  .brand-mark { width: 30px; height: 35px; margin-top: 3px; }
.booking-review > div[b-0b7ym8wd72] { display: grid; gap: 4px; }
.booking-review strong[b-0b7ym8wd72] { font-size: .875rem; font-weight: 500; }
.booking-review span[b-0b7ym8wd72] { font-size: .75rem; color: var(--ink-soft); }
.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 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-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-received[b-0b7ym8wd72] { text-align: center; padding-block: 12px 0; }
.booking-success-mark[b-0b7ym8wd72] { display: grid; place-items: center; margin: 0 auto 24px; width: 62px; height: 62px; border-radius: 50%; background: var(--sage); color: var(--green); font-size: 1.75rem; }
.booking-received h2[b-0b7ym8wd72] { margin-block: 15px 22px; font-size: 3.125rem; }
.booking-received p[b-0b7ym8wd72] { font-size: .875rem; overflow-wrap: anywhere; }
.booking-received .button[b-0b7ym8wd72] { margin-top: 26px; }
.booking-receipt[b-0b7ym8wd72] { display: grid; justify-items: center; gap: 7px; margin-block: 26px; padding: 23px 15px; background: #f2f3eb; border-radius: 12px; font-size: .875rem; }
.booking-receipt strong[b-0b7ym8wd72] { margin-top: 9px; font-weight: 500; }
.booking-receipt small[b-0b7ym8wd72] { color: var(--ink-soft); font-size: .75rem; }
.request-badge[b-0b7ym8wd72] { display: inline-flex; padding: 4px 11px; border-radius: 20px; background: #e9e3cc; color: #655936; font-size: .6875rem; }
@media (max-width: 420px) {
    .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] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (forced-colors: active) {
    .booking-date.selected[b-0b7ym8wd72], .booking-time.selected[b-0b7ym8wd72] { outline: 2px solid Highlight; }
}
