@import '_content/SharedResources.ComponentLibrary/SharedResources.ComponentLibrary.6g914xdh7a.bundle.scp.css';

/* /Components/AboutVenueSection.razor.rz.scp.css */
.venue-hours-mobile[b-n5ds6k3ogc] {
    display: none;
}

@media (max-width: 575.98px) {
    .venue-contact-card .venue-contact-link[b-n5ds6k3ogc] {
        display: inline-flex;
        align-items: center;
        min-width: 0;
        min-height: 44px;
        overflow-wrap: anywhere;
    }

    .venue-contact-card i[b-n5ds6k3ogc] {
        flex-shrink: 0;
    }

    .venue-contact-card .btn[b-n5ds6k3ogc] {
        min-height: 44px;
    }

    .venue-opening-status[b-n5ds6k3ogc] {
        max-width: 100%;
        white-space: normal;
        text-align: left;
        line-height: 1.4;
    }

    .venue-hours-table[b-n5ds6k3ogc] {
        font-size: .8125rem;
    }

    .venue-hours-table td:first-child[b-n5ds6k3ogc] {
        width: 42%;
    }

    .venue-hours-day[b-n5ds6k3ogc] {
        white-space: nowrap;
    }

    .venue-today-badge[b-n5ds6k3ogc] {
        display: block;
        width: fit-content;
        margin-top: .25rem;
        margin-left: 0 !important;
    }

    .venue-hours-desktop[b-n5ds6k3ogc] {
        display: none;
    }

    .venue-hours-mobile[b-n5ds6k3ogc] {
        display: inline;
        white-space: nowrap;
    }
}
/* /Components/Bookings/BookingSummarySidebar.razor.rz.scp.css */
.booking-summary-label[b-8rr0h3oocr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}

    .booking-summary-label i[b-8rr0h3oocr] {
        color: var(--bs-primary);
        font-size: 0.75rem;
    }

.booking-summary-avatar[b-8rr0h3oocr] {
    width: 48px;
    height: 48px;
}

.booking-summary-service[b-8rr0h3oocr] {
    padding: 0.625rem 0.75rem;
    border-radius: 0.5rem;
    background-color: var(--bs-tertiary-bg);
}

.booking-summary-total[b-8rr0h3oocr] {
    padding: 0.625rem 0.75rem;
    border-radius: 0.5rem;
    background-color: rgba(var(--bs-primary-rgb), 0.08);
}
/* /Components/Bookings/ClientPetsPanel.razor.rz.scp.css */
.portal-pet-row[b-3p1nx7oe6h] {
    flex-direction: row;
    align-items: center;
    min-width: 0;
}

.portal-pet-body[b-3p1nx7oe6h] {
    flex: 1 1 auto;
    min-width: 0;
}

.portal-pet-select[b-3p1nx7oe6h] {
    align-self: stretch;
    cursor: pointer;
    border-radius: inherit;
}

.portal-pet-select:has(input:focus-visible)[b-3p1nx7oe6h] {
    outline: 3px solid var(--portal-focus, var(--bs-primary, #448c74));
    outline-offset: 3px;
}

.portal-pet-select:has(input:disabled)[b-3p1nx7oe6h] {
    cursor: default;
}

.portal-pet-avatar[b-3p1nx7oe6h] {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
}

.portal-pet-details[b-3p1nx7oe6h] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.portal-pet-edit[b-3p1nx7oe6h] {
    flex-shrink: 0;
    min-height: 2.75rem;
}

@media (max-width: 575.98px) {
    .portal-pet-body[b-3p1nx7oe6h] {
        gap: .75rem !important;
        padding: .75rem;
    }

    .portal-pet-avatar[b-3p1nx7oe6h] {
        width: 40px;
        height: 40px;
    }

    .portal-pet-name[b-3p1nx7oe6h] {
        font-size: 1rem !important;
        line-height: 1.35;
    }

    .portal-pet-description[b-3p1nx7oe6h] {
        font-size: .8125rem !important;
        line-height: 1.4;
    }
}
/* /Components/Bookings/OnlineBookingLastVisitCard.razor.rz.scp.css */
.booking-last-visit[b-j0zt7ka6y7] {
    overflow-wrap: anywhere;
    border-radius: 1rem;
    border-top: 3px solid var(--bs-primary);
}

.booking-last-visit-icon[b-j0zt7ka6y7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
    font-size: 0.875rem;
    flex-shrink: 0;
}

.booking-last-visit-meta[b-j0zt7ka6y7] {
    display: flex;
    flex-direction: column;
}

.booking-last-visit-service[b-j0zt7ka6y7] {
    padding: 0.625rem 0.875rem;
    border: 1px solid var(--bs-border-color);
    border-left: 3px solid var(--bs-primary);
    border-radius: 0.5rem;
    background-color: var(--bs-body-bg);
}

    .booking-last-visit-service.is-unavailable[b-j0zt7ka6y7] {
        border-left-color: var(--bs-border-color);
        background-color: var(--bs-tertiary-bg);
    }

@media (max-width: 575.98px) {
    .booking-last-visit-action[b-j0zt7ka6y7] {
        width: 100%;
    }
}
/* /Components/Bookings/SavedBookingSummary.razor.rz.scp.css */
.booking-summary-mobile[b-fyvp2q8dn1] {
    display: none;
}

.booking-summary-title[b-fyvp2q8dn1] {
    display: flex;
    align-items: center;
    gap: .5rem;
}

    .booking-summary-title i[b-fyvp2q8dn1] {
        color: var(--bs-primary);
        font-size: .9em;
    }

.booking-summary-avatar[b-fyvp2q8dn1] {
    width: 56px;
    height: 56px;
}

.booking-summary-service[b-fyvp2q8dn1] {
    padding: .625rem .75rem;
    border-radius: .5rem;
    background-color: var(--bs-tertiary-bg);
}

@media (max-width: 575.98px) {
    .booking-summary-tile[b-fyvp2q8dn1] {
        padding: .5rem .625rem;
        border-radius: .5rem;
        background-color: var(--bs-tertiary-bg);
    }

    .booking-summary-avatar[b-fyvp2q8dn1] {
        width: 48px;
        height: 48px;
    }

    .booking-summary-title[b-fyvp2q8dn1],
    .booking-summary-overview-field[b-fyvp2q8dn1] {
        display: none;
    }

    .booking-summary-mobile[b-fyvp2q8dn1] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .625rem;
        margin-bottom: .875rem;
        padding-bottom: .75rem;
        border-bottom: 1px solid var(--portal-border, #dee2e6);
        overflow-wrap: anywhere;
    }

    .booking-summary-when[b-fyvp2q8dn1] {
        grid-column: 1 / -1;
    }

    .booking-summary-when strong[b-fyvp2q8dn1] {
        font-size: 1.0625rem;
    }

    .booking-summary-details[b-fyvp2q8dn1] {
        display: grid;
        grid-template-columns: minmax(0, 6.5rem) minmax(0, 1fr);
        gap: .375rem .5rem;
        margin-inline: 0;
    }

    .booking-summary-details > :is(dt, dd)[b-fyvp2q8dn1] {
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 0;
        overflow-wrap: anywhere;
    }

    .booking-summary-full-width[b-fyvp2q8dn1] {
        grid-column: 1 / -1;
    }

    dt.booking-summary-full-width[b-fyvp2q8dn1] {
        margin-top: .375rem;
    }
}
/* /Components/Bookings/ServiceCard.razor.rz.scp.css */
@media (max-width: 575.98px) {
    .service-selection-card .service-card-body[b-zxvsu8sp1v] {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 72px;
        align-items: start;
        gap: .5rem;
    }

    .service-selection-card .service-main[b-zxvsu8sp1v] {
        min-width: 0;
        gap: .5rem !important;
    }

    .service-selection-card .service-image[b-zxvsu8sp1v] {
        width: 44px !important;
        height: 44px !important;
    }

    .service-selection-card .service-content[b-zxvsu8sp1v] {
        min-width: 0;
    }

    .service-selection-card h3[b-zxvsu8sp1v] {
        font-size: .9375rem;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .service-selection-card .service-selected-badge[b-zxvsu8sp1v],
    .service-selection-card .service-description-desktop[b-zxvsu8sp1v],
    .service-selection-card .service-action-pet[b-zxvsu8sp1v],
    .service-selection-card .service-toggle > i[b-zxvsu8sp1v] {
        display: none;
    }

    .service-selection-card .service-metadata[b-zxvsu8sp1v] {
        flex-wrap: wrap;
        justify-content: flex-start !important;
        gap: .125rem .625rem;
        font-size: .8125rem;
        overflow-wrap: anywhere;
    }

    .service-selection-card .service-metadata .fs-sm[b-zxvsu8sp1v],
    .service-selection-card .service-pet-label[b-zxvsu8sp1v] {
        font-size: .8125rem;
    }

    .service-selection-card .service-action[b-zxvsu8sp1v] {
        margin-top: 0 !important;
    }

    .service-selection-card .service-toggle[b-zxvsu8sp1v] {
        width: 72px;
        min-height: 44px;
        padding: .375rem .25rem !important;
        font-size: .8125rem;
        line-height: 1.25;
    }

    .service-selection-card .service-description-mobile[b-zxvsu8sp1v] {
        grid-column: 1 / -1;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .service-selection-card .service-description-mobile > summary[b-zxvsu8sp1v] {
        display: flex;
        align-items: center;
        min-height: 44px;
        font-size: .8125rem;
        font-weight: 500;
        cursor: pointer;
    }

    .service-selection-card .service-description-mobile > summary[b-zxvsu8sp1v]::after {
        content: "+";
        margin-left: .375rem;
    }

    .service-selection-card .service-description-mobile[open] > summary[b-zxvsu8sp1v]::after {
        content: "−";
    }
}
/* /Components/HomeHero.razor.rz.scp.css */
@media (max-width: 575.98px) {
    .portal-home-intro h1[b-wv09o15clq] {
        font-size: 1.5rem;
        line-height: 1.3;
    }

    .portal-home-actions[b-wv09o15clq] {
        width: 100%;
    }

    .portal-home-intro a[b-wv09o15clq] {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-oggl9rx2ji] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-oggl9rx2ji] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-gcqvwpyslb],
.components-reconnect-repeated-attempt-visible[b-gcqvwpyslb],
.components-reconnect-failed-visible[b-gcqvwpyslb],
.components-pause-visible[b-gcqvwpyslb],
.components-resume-failed-visible[b-gcqvwpyslb],
.components-rejoining-animation[b-gcqvwpyslb] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-gcqvwpyslb],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-gcqvwpyslb],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-gcqvwpyslb],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-gcqvwpyslb],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-gcqvwpyslb],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-gcqvwpyslb],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-gcqvwpyslb] {
    display: block;
}

#components-reconnect-modal[b-gcqvwpyslb] {
    box-sizing: border-box;
    width: min(26rem, calc(100% - 2rem));
    max-height: calc(100dvh - 2rem);
    margin: auto;
    padding: 1.5rem;
    overflow-y: auto;
    color: var(--portal-text, #576071);
    background: var(--portal-surface, #ffffff);
    border: var(--portal-border-width, 1px) solid var(--portal-border, #d7dde5);
    border-radius: var(--portal-card-radius, 1rem);
    box-shadow: var(--portal-shadow, 0 .75rem 2rem rgba(25, 35, 50, .18));
    font-family: var(--portal-font, Inter, Arial, sans-serif);
    font-size: var(--portal-font-size, 1rem);
    line-height: 1.5;
}

#components-reconnect-modal[open][b-gcqvwpyslb] {
    animation: components-reconnect-enter-b-gcqvwpyslb .18s ease-out;
}

#components-reconnect-modal[b-gcqvwpyslb]::backdrop {
    background: rgba(20, 27, 38, .48);
}

.components-reconnect-container[b-gcqvwpyslb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    text-align: center;
}

#components-reconnect-title[b-gcqvwpyslb] {
    margin: 0;
    color: var(--portal-heading, #434a57);
    font-size: 1.25rem;
    font-weight: 700;
}

#components-reconnect-status p[b-gcqvwpyslb] {
    margin: 0;
    overflow-wrap: anywhere;
}

#components-reconnect-status strong[b-gcqvwpyslb] {
    display: block;
    margin-bottom: .375rem;
    color: var(--portal-heading, #434a57);
    font-weight: 600;
}

.components-reconnect-actions[b-gcqvwpyslb] {
    display: none;
    flex-wrap: wrap;
    justify-content: center;
    gap: .625rem;
    width: 100%;
}

#components-reconnect-modal.components-reconnect-failed .components-reconnect-actions[b-gcqvwpyslb],
#components-reconnect-modal.components-reconnect-paused .components-reconnect-actions[b-gcqvwpyslb],
#components-reconnect-modal.components-reconnect-resume-failed .components-reconnect-actions[b-gcqvwpyslb] {
    display: flex;
}

#components-reconnect-modal button[b-gcqvwpyslb] {
    box-sizing: border-box;
    min-width: 7rem;
    max-width: 100%;
    min-height: 2.75rem;
    padding: .625rem 1rem;
    border: 1px solid transparent;
    border-radius: var(--portal-button-radius, 2rem);
    font: inherit;
    font-weight: 600;
    line-height: 1.25;
    white-space: normal;
    cursor: pointer;
}

#components-reconnect-modal .components-reconnect-primary[b-gcqvwpyslb] {
    color: var(--portal-button-primary-text, #ffffff);
    background: var(--portal-button-primary-bg, #434a57);
    border-color: var(--portal-button-primary-border, #434a57);
}

#components-reconnect-modal .components-reconnect-primary:hover[b-gcqvwpyslb] {
    color: var(--portal-button-primary-hover-text, #ffffff);
    background: var(--portal-button-primary-hover-bg, #303641);
}

#components-reconnect-modal .components-reconnect-secondary[b-gcqvwpyslb] {
    color: var(--portal-outline-text, #434a57);
    background: var(--portal-outline-bg, transparent);
    border-color: var(--portal-outline-border, #d7dde5);
}

#components-reconnect-modal .components-reconnect-secondary:hover[b-gcqvwpyslb] {
    color: var(--portal-outline-hover-text, #434a57);
    background: var(--portal-outline-hover-bg, #f6f9fc);
}

#components-reconnect-modal button:focus-visible[b-gcqvwpyslb] {
    outline: 3px solid var(--portal-focus, #3f7fca);
    outline-offset: 3px;
}

.components-connection-icon[b-gcqvwpyslb] {
    position: relative;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 3.5rem;
    height: 3.5rem;
    color: var(--portal-button-primary-bg, #434a57);
    background: var(--portal-surface-muted, #f6f9fc);
    border-radius: 50%;
}

.components-connection-icon svg[b-gcqvwpyslb] {
    width: 1.75rem;
    height: 1.75rem;
}

.components-rejoining-animation[b-gcqvwpyslb] {
    position: absolute;
    inset: 0;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: components-reconnect-spin-b-gcqvwpyslb 1s linear infinite;
}

@keyframes components-reconnect-spin-b-gcqvwpyslb {
    to {
        transform: rotate(360deg);
    }
}

@keyframes components-reconnect-enter-b-gcqvwpyslb {
    from {
        opacity: 0;
        transform: translateY(.5rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 575.98px) {
    #components-reconnect-modal[b-gcqvwpyslb] {
        width: calc(100% - 1rem);
        max-height: calc(100dvh - 1rem);
        padding: 1.25rem 1rem;
    }

    .components-reconnect-actions > button[b-gcqvwpyslb] {
        flex: 1 1 7rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    #components-reconnect-modal[open][b-gcqvwpyslb],
    .components-rejoining-animation[b-gcqvwpyslb] {
        animation: none;
    }
}
/* /Components/Payments/TransactionPaymentPanel.razor.rz.scp.css */
.transaction-amount[b-zrkwsreqvh] {
    width: 150px;
}

.transaction-lines td:first-child[b-zrkwsreqvh] {
    overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
    .transaction-amount[b-zrkwsreqvh] {
        width: auto;
        white-space: nowrap;
    }

    .transaction-lines tfoot .fs-5[b-zrkwsreqvh] {
        font-size: 1rem !important;
    }
}
/* /Components/ReviewsSection.razor.rz.scp.css */
@media (max-width: 575.98px) {
    .home-review-heading[b-phx0m20gcf] {
        flex-wrap: wrap;
        gap: .375rem .75rem;
    }

    .home-review-heading > .fw-semibold[b-phx0m20gcf] {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .home-review-heading > .d-inline-flex[b-phx0m20gcf] {
        flex-shrink: 0;
    }
}
/* /Components/ServiceListRow.razor.rz.scp.css */
.service-list-content[b-7ytjd0mq4m] {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
    .service-list-body[b-7ytjd0mq4m] {
        padding: .75rem !important;
        gap: .75rem !important;
    }

    .service-list-action .btn[b-7ytjd0mq4m] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 2.75rem;
        min-height: 2.75rem;
        font-size: .875rem;
    }
}
/* /Components/ServicesShowcase.razor.rz.scp.css */
.portal-category-tabs[b-2uiab0av99] {
    min-width: 0;
    max-width: 100%;
    contain: inline-size;
}

@media (max-width: 575.98px) {
    .home-service-row[b-2uiab0av99] {
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: .5rem !important;
    }

    .home-service-image[b-2uiab0av99] {
        width: 44px !important;
        height: 44px !important;
    }

    .home-service-content[b-2uiab0av99] {
        flex-basis: 0;
        overflow-wrap: anywhere;
    }

    .home-service-content h3[b-2uiab0av99] {
        font-size: .9375rem;
        line-height: 1.35;
    }

    .home-service-content .fs-sm[b-2uiab0av99] {
        font-size: .8125rem;
    }

    .home-service-action > .btn[b-2uiab0av99] {
        min-width: 64px;
        min-height: 44px;
        padding: .5rem .625rem !important;
        font-size: .8125rem;
    }
}

@media (max-width: 991.98px) {
    .portal-category-tabs .btn[b-2uiab0av99] {
        flex-shrink: 0;
        max-width: min(16rem, 75vw);
        min-height: 2.75rem;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    #section-services > div > .btn[b-2uiab0av99],
    #section-services .card .btn[b-2uiab0av99] {
        min-height: 2.75rem;
    }
}
/* /Components/TeamSection.razor.rz.scp.css */
@media (max-width: 575.98px) {
    .home-team-avatar[b-858cl1wvw7] {
        width: 56px !important;
        height: 56px !important;
    }

    .portal-team-name[b-858cl1wvw7] {
        font-size: .9375rem;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        overflow-wrap: anywhere;
    }

    .home-team-description[b-858cl1wvw7] {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}
/* /Pages/Bookings/Step2_SelectEmployee.razor.rz.scp.css */
.booking-staff-option[b-g53si8dpab] {
    min-width: 0;
}

.booking-staff-body[b-g53si8dpab] {
    width: 100%;
    min-width: 0;
}

.booking-staff-avatar[b-g53si8dpab] {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
}

.booking-staff-details[b-g53si8dpab] {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
    .booking-staff-body[b-g53si8dpab] {
        gap: .75rem !important;
        padding: .75rem;
    }

    .booking-staff-avatar[b-g53si8dpab] {
        width: 40px;
        height: 40px;
    }

    .booking-staff-name[b-g53si8dpab] {
        font-size: 1rem !important;
        line-height: 1.35;
    }

    .booking-staff-details .small[b-g53si8dpab],
    .booking-staff-details .fs-sm[b-g53si8dpab] {
        font-size: .8125rem !important;
        line-height: 1.4;
    }
}
/* /Pages/Bookings/Step3_SelectDateTime.razor.rz.scp.css */
.portal-date-strip[b-2p58c15fg3] {
    display: flex;
    gap: .9375rem;
    padding: .5rem .5rem .75rem;
    /* The full row of tiles must not widen a flex or grid parent on small screens. */
    contain: inline-size;
    overflow-x: auto;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
}

.portal-date-tile[b-2p58c15fg3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 0 4.5rem;
    gap: .25rem;
    width: 4.5rem;
    min-height: 6.5rem;
    padding: .75rem .5rem;
    border: 1px solid var(--portal-border, #dee2e6);
    border-radius: 1.125rem;
    background-color: var(--portal-selection-bg, #ffffff);
    color: var(--portal-selection-text, #434a57);
    font-family: inherit;
    text-align: center;
    cursor: pointer;
    scroll-snap-align: start;
}

.portal-date-tile:not([aria-checked="true"]):hover[b-2p58c15fg3] {
    background-color: var(--portal-selection-hover-bg, #f6f9fc);
}

.portal-date-tile[aria-checked="true"][b-2p58c15fg3] {
    border-color: var(--portal-selection-border, var(--bs-primary, #448c74));
    background-color: var(--portal-selection-selected-bg, var(--bs-primary, #448c74));
    color: var(--portal-selection-selected-text, #ffffff);
}

.portal-date-weekday[b-2p58c15fg3],
.portal-date-month[b-2p58c15fg3] {
    font-size: .8rem;
    line-height: 1.3;
}

.portal-date-weekday[b-2p58c15fg3] {
    font-weight: 600;
}

.portal-date-day[b-2p58c15fg3] {
    font-size: 1.6875rem;
    font-weight: 700;
    line-height: 1.2;
}

.portal-date-navigation[b-2p58c15fg3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
}

.booking-date-range[b-2p58c15fg3],
.booking-times-mobile[b-2p58c15fg3] {
    display: none;
}

.booking-employee-availability[b-2p58c15fg3] {
    padding-bottom: .5rem;
    border-bottom: 1px solid var(--portal-border, #dee2e6);
}

.booking-availability-avatar[b-2p58c15fg3] {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.booking-availability-name[b-2p58c15fg3] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.booking-next-appointment[b-2p58c15fg3] {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: .25rem;
    min-height: 44px;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    line-height: 1.35;
}

.booking-next-date[b-2p58c15fg3] {
    font-size: .8125rem;
}

.booking-next-time[b-2p58c15fg3] {
    font-size: .9375rem;
    font-weight: 600;
}

@media (max-width: 575.98px) {
    .booking-date-step-title[b-2p58c15fg3],
    .portal-date-month[b-2p58c15fg3],
    .booking-times-desktop[b-2p58c15fg3] {
        display: none;
    }

    .booking-date-selection[b-2p58c15fg3] {
        margin-bottom: .75rem !important;
    }

    .booking-date-heading[b-2p58c15fg3] {
        min-height: 44px;
        gap: .5rem;
        margin-bottom: .5rem !important;
    }

    .booking-date-heading h3[b-2p58c15fg3] {
        font-size: 1.0625rem;
    }

    .booking-date-range[b-2p58c15fg3] {
        display: block;
        margin-top: .125rem;
        font-size: .75rem;
        line-height: 1.35;
    }

    .portal-date-navigation[b-2p58c15fg3] {
        width: 44px;
        height: 44px;
        flex-shrink: 0;
    }

    .portal-date-strip[b-2p58c15fg3] {
        gap: .375rem;
        padding: 0 0 .25rem;
        scrollbar-width: none;
    }

    .portal-date-strip[b-2p58c15fg3]::-webkit-scrollbar {
        display: none;
    }

    .portal-date-tile[b-2p58c15fg3] {
        flex-basis: 2.75rem;
        width: 2.75rem;
        min-height: 66px;
        gap: .3125rem;
        padding: .375rem .125rem;
        border-radius: .6875rem;
    }

    .portal-date-weekday[b-2p58c15fg3] {
        font-size: .75rem;
    }

    .portal-date-day[b-2p58c15fg3] {
        font-size: 1.3125rem;
        line-height: 1;
    }

    .booking-times-mobile[b-2p58c15fg3] {
        display: inline;
    }

    .booking-times-heading[b-2p58c15fg3] {
        font-size: .9375rem;
        margin-bottom: .75rem !important;
    }

    .booking-employee-availability[b-2p58c15fg3] {
        padding-bottom: .75rem;
        margin-bottom: .75rem !important;
    }

    .booking-availability-employee[b-2p58c15fg3] {
        margin-bottom: .5rem !important;
    }

    .booking-availability-avatar[b-2p58c15fg3] {
        width: 32px;
        height: 32px;
    }

    .booking-availability-name[b-2p58c15fg3] {
        font-size: .875rem;
    }

    .booking-next-availability[b-2p58c15fg3] {
        margin-top: .75rem !important;
    }

    .booking-next-availability h3[b-2p58c15fg3] {
        font-size: .9375rem;
    }

    .booking-next-availability p[b-2p58c15fg3] {
        font-size: .75rem;
        margin-bottom: .625rem !important;
    }

    .booking-next-times[b-2p58c15fg3] {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .booking-next-appointment[b-2p58c15fg3] {
        width: 100%;
        min-height: 62px;
        padding: .5rem .625rem;
        border-radius: .5625rem;
    }

    .booking-next-date[b-2p58c15fg3] {
        font-size: .75rem;
    }

    .booking-next-time[b-2p58c15fg3] {
        font-size: .9375rem;
    }
}
/* /Pages/Bookings/Step4_ReviewAndConfirm.razor.rz.scp.css */
.booking-review-details[b-oq1nf53s5c] {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}
/* /Pages/Bookings/Step5_ClientInfo.razor.rz.scp.css */
@media (max-width: 575.98px) {
    .client-details-step .client-details-fields.has-contact-summary[b-a6adtmvib1],
    .client-details-step .client-optional-field:not(.is-expanded)[b-a6adtmvib1],
    .client-details-step .client-action-label-detail[b-a6adtmvib1] {
        display: none;
    }

    .client-details-step .client-details-fields > .mb-3[b-a6adtmvib1],
    .client-details-step .client-details-fields .row > .mb-3[b-a6adtmvib1] {
        margin-bottom: .75rem !important;
    }

    .client-details-step .client-details-fields .row[b-a6adtmvib1] {
        --bs-gutter-y: 0;
    }

    .client-details-step .form-label[b-a6adtmvib1] {
        margin-bottom: .3rem;
        font-size: .875rem;
    }

    .client-details-step[b-a6adtmvib1]  input.form-control {
        min-height: 46px;
        padding: .625rem .75rem;
        line-height: 1.4;
    }

    .client-details-step[b-a6adtmvib1]  textarea.form-control {
        padding: .625rem .75rem;
    }

    .client-details-step .client-optional-toggle[b-a6adtmvib1] {
        margin-bottom: .75rem;
    }

    .client-details-step .client-optional-toggle > .btn[b-a6adtmvib1] {
        padding: .5rem .75rem;
        font-size: .8125rem;
    }

    .client-details-step .client-contact-summary[b-a6adtmvib1] {
        padding: .75rem;
        margin-bottom: .75rem;
        border: var(--portal-border-width, 1px) solid var(--portal-border);
        border-radius: var(--portal-card-radius, .75rem);
        overflow-wrap: anywhere;
    }

    .client-details-step .client-contact-summary-heading[b-a6adtmvib1] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .5rem;
        margin-bottom: .375rem;
    }

    .client-details-step .client-contact-summary-heading > .btn[b-a6adtmvib1] {
        flex-shrink: 0;
        min-width: 64px;
        padding: .375rem .75rem;
    }

    .client-details-step .booking-step-actions > .btn[b-a6adtmvib1] {
        font-size: .8125rem;
    }

    .client-details-step .booking-step-actions > .btn > i[b-a6adtmvib1] {
        display: none;
    }
}
/* /Pages/Client/ClientAccount.razor.rz.scp.css */
.account-profile-summary[b-ojeri4fuxd] {
    display: none;
}

.account-card[b-ojeri4fuxd] {
    border-radius: 1rem;
}

.account-card-title[b-ojeri4fuxd] {
    display: flex;
    align-items: center;
    gap: .5rem;
}

    .account-card-title i[b-ojeri4fuxd] {
        color: var(--bs-primary);
        font-size: .9em;
    }

.account-photo-placeholder[b-ojeri4fuxd] {
    width: 88px;
    height: 88px;
}

@media (max-width: 575.98px) {
    .account-activity[b-ojeri4fuxd] {
        display: flex;
        flex-direction: column;
        gap: .75rem;
    }

    .account-bookings[b-ojeri4fuxd] {
        order: -1;
    }

    .account-pets[b-ojeri4fuxd] {
        margin-bottom: 0 !important;
    }

    .account-details-heading[b-ojeri4fuxd] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        margin-bottom: .75rem;
    }

    .account-details-heading h2[b-ojeri4fuxd] {
        margin-bottom: 0 !important;
    }

    .account-profile-summary[b-ojeri4fuxd] {
        display: block;
        overflow-wrap: anywhere;
    }

    .account-profile-summary.is-editing[b-ojeri4fuxd],
    .account-profile-editor:not(.is-editing)[b-ojeri4fuxd],
    .account-address:not(.is-expanded)[b-ojeri4fuxd] {
        display: none;
    }

    .account-profile-photo[b-ojeri4fuxd] {
        margin-bottom: 1rem !important;
    }

    .account-profile-photo img[b-ojeri4fuxd],
    .account-profile-photo .position-relative > span.rounded-circle[b-ojeri4fuxd] {
        width: 4rem !important;
        height: 4rem !important;
    }

    .account-profile-editor[b-ojeri4fuxd]  .form-control {
        min-height: 2.875rem;
        padding: .625rem .75rem;
    }

    .account-profile-editor .form-label[b-ojeri4fuxd] {
        margin-bottom: .375rem;
    }
}
/* /Pages/Client/ClientConsultForm.razor.rz.scp.css */
/* Remove rounded corners from all cards on this page */
[b-irgpfzsoi4] .card {
    border-radius: 0;
}

@media (max-width: 575.98px) {
    [b-irgpfzsoi4] .feedback-entry {
        display: flex;
        flex-wrap: wrap;
        gap: .25rem;
    }

    [b-irgpfzsoi4] .feedback-entry .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 2.75rem;
        min-height: 2.75rem;
        margin-inline: 0 !important;
    }
}
/* /Pages/Giftcards/DisplayGiftCards.razor.rz.scp.css */
@media (max-width: 575.98px) {
    .gift-catalog-card[b-ip07gkhmgi] {
        display: grid;
        grid-template-columns: 4rem minmax(0, 1fr);
        align-items: start;
        gap: .75rem;
        padding: .75rem;
    }

    .gift-catalog-row[b-ip07gkhmgi] {
        display: contents;
    }

    .gift-catalog-image[b-ip07gkhmgi] {
        width: 4rem;
        height: 4rem !important;
        min-height: 0 !important;
        padding: .25rem;
        overflow: hidden;
        border-radius: .5rem;
    }

    .gift-catalog-image i[b-ip07gkhmgi] {
        font-size: 1.75rem;
    }

    .gift-catalog-details[b-ip07gkhmgi],
    .gift-catalog-body[b-ip07gkhmgi] {
        min-width: 0;
        width: auto;
    }

    .gift-catalog-card .gift-catalog-body.card-body[b-ip07gkhmgi] {
        padding: 0 !important;
    }

    .gift-catalog-body h2[b-ip07gkhmgi] {
        margin-bottom: .375rem !important;
        overflow-wrap: anywhere;
    }

    .gift-catalog-body p[b-ip07gkhmgi] {
        margin-bottom: .5rem;
    }

    .gift-catalog-actions[b-ip07gkhmgi] {
        flex-wrap: wrap;
        gap: .375rem .75rem;
        margin-top: .375rem !important;
    }

    .gift-catalog-actions .btn[b-ip07gkhmgi] {
        min-height: 2.75rem;
        padding-inline: .875rem !important;
    }
}
/* /Pages/Giftcards/SellGiftCard.razor.rz.scp.css */
.gift-card-image[b-lruqjqd6py] {
    height: 260px;
}

.gift-card-purchase dd[b-lruqjqd6py] {
    overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
    .gift-card-summary[b-lruqjqd6py] {
        display: grid;
        grid-template-columns: 4rem minmax(0, 1fr);
        align-items: start;
        gap: .75rem;
        padding: .75rem;
    }

    .gift-card-image[b-lruqjqd6py] {
        width: 4rem;
        height: 4rem;
        padding: .25rem;
        border-radius: .5rem;
        overflow: hidden;
    }

    .gift-card-image i[b-lruqjqd6py] {
        font-size: 1.75rem;
    }

    .gift-card-summary-details[b-lruqjqd6py] {
        min-width: 0;
    }

    .gift-card-summary > .gift-card-summary-details.card-body[b-lruqjqd6py] {
        padding: 0 !important;
    }

    .gift-card-summary-details h2[b-lruqjqd6py] {
        font-size: 1rem;
        overflow-wrap: anywhere;
    }

    .gift-card-summary-details p[b-lruqjqd6py] {
        margin-bottom: .375rem;
    }

    .gift-card-amounts[b-lruqjqd6py] {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .5rem;
        width: 100%;
    }

    .gift-card-amounts > .btn[b-lruqjqd6py] {
        min-width: 0;
        min-height: 2.75rem;
        margin: 0 !important;
        padding: .5rem .25rem;
        border-radius: var(--portal-button-radius, .75rem) !important;
    }

    .gift-card-delivery .form-check[b-lruqjqd6py] {
        display: flex;
        align-items: center;
        gap: .625rem;
        min-height: 2.75rem;
        padding-left: 0;
    }

    .gift-card-delivery .form-check-input[b-lruqjqd6py] {
        flex-shrink: 0;
        margin: 0;
    }

    .gift-card-delivery .form-check-label[b-lruqjqd6py] {
        display: flex;
        align-items: center;
        min-height: 2.75rem;
        flex: 1;
    }

    .gift-card-note:not(.is-expanded)[b-lruqjqd6py] {
        display: none;
    }

    .gift-card-stage[b-lruqjqd6py]  .form-control {
        min-height: 2.875rem;
        padding: .625rem .75rem;
    }

    .gift-card-stage .form-label[b-lruqjqd6py] {
        margin-bottom: .375rem;
    }

    .gift-card-stage fieldset.mb-4[b-lruqjqd6py] {
        margin-bottom: 1rem !important;
    }

    .gift-card-stage dl[b-lruqjqd6py] {
        display: grid;
        grid-template-columns: max-content minmax(0, 1fr);
        column-gap: .75rem;
    }

    .gift-card-stage dt[b-lruqjqd6py],
    .gift-card-stage dd[b-lruqjqd6py] {
        width: auto;
        padding-inline: 0;
    }
}
/* /Pages/Items/Products.razor.rz.scp.css */
#productsSidebar[b-udo5xe2zc9] {
    flex-shrink: 0;
}

@media (max-width: 575.98px) {
    .product-catalog-content[b-udo5xe2zc9] {
        display: grid;
        grid-template-columns: 4rem minmax(0, 1fr);
        align-items: start;
        gap: .75rem;
    }

    .product-catalog-image[b-udo5xe2zc9] {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 4rem;
        height: 4rem;
        padding: .375rem !important;
        margin-bottom: 0 !important;
        overflow: hidden;
    }

    .product-catalog-image img[b-udo5xe2zc9] {
        max-width: 100%;
        max-height: 100% !important;
    }

    .product-catalog-image > div[b-udo5xe2zc9] {
        height: auto !important;
    }

    .product-catalog-image i[b-udo5xe2zc9] {
        font-size: 1.75rem;
    }

    .product-catalog-details[b-udo5xe2zc9] {
        min-width: 0;
    }
}

#productsSidebar .offcanvas-body[b-udo5xe2zc9] {
    flex-grow: 0;
}

#productsSidebar nav button[b-udo5xe2zc9] {
    min-width: 0;
    max-width: 100%;
    gap: .75rem;
    white-space: normal;
}

.products-category-label[b-udo5xe2zc9] {
    flex: 1;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}

.products-category-count[b-udo5xe2zc9] {
    flex-shrink: 0;
    white-space: nowrap;
}

.products-category-filter[b-udo5xe2zc9] {
    min-width: 0;
    max-width: 100%;
}

.products-category-filter button[b-udo5xe2zc9] {
    flex-shrink: 0;
}

.products-item-name[b-udo5xe2zc9] {
    overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
    #productsSidebar nav button[b-udo5xe2zc9] {
        min-height: 2.75rem;
    }

    #productsSidebar .btn-close[b-udo5xe2zc9] {
        width: 2.75rem;
        height: 2.75rem;
        padding: 0;
        flex-shrink: 0;
    }

    .products-category-filter[b-udo5xe2zc9] {
        padding-block: 0 !important;
        padding-right: 0 !important;
    }

    .products-category-filter button[b-udo5xe2zc9] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 2.75rem;
        min-height: 2.75rem;
    }
}
/* /Pages/Items/Services.razor.rz.scp.css */
#servicesSidebar[b-amb0tfsykn] {
    flex-shrink: 0;
}

#servicesSidebar .offcanvas-body[b-amb0tfsykn] {
    flex-grow: 0;
}

#servicesSidebar nav button[b-amb0tfsykn] {
    min-width: 0;
    max-width: 100%;
    gap: .75rem;
    white-space: normal;
}

.services-category-label[b-amb0tfsykn] {
    flex: 1;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}

.services-category-count[b-amb0tfsykn] {
    flex-shrink: 0;
    white-space: nowrap;
}

.services-category-filter[b-amb0tfsykn] {
    min-width: 0;
    max-width: 100%;
}

.services-category-filter button[b-amb0tfsykn] {
    flex-shrink: 0;
}

.services-category-heading[b-amb0tfsykn] {
    overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
    #servicesSidebar nav button[b-amb0tfsykn] {
        min-height: 2.75rem;
    }

    #servicesSidebar .btn-close[b-amb0tfsykn] {
        width: 2.75rem;
        height: 2.75rem;
        padding: 0;
        flex-shrink: 0;
    }

    .services-category-filter[b-amb0tfsykn] {
        padding-block: 0 !important;
        padding-right: 0 !important;
    }

    .services-category-filter button[b-amb0tfsykn] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 2.75rem;
        min-height: 2.75rem;
    }
}
/* /Pages/Survey/BookingSurvey.razor.rz.scp.css */
@media (max-width: 575.98px) {
    .booking-survey[b-zb353ca1de] {
        padding-top: 0 !important;
    }

    .survey-intro[b-zb353ca1de] {
        text-align: left !important;
        margin-bottom: .75rem !important;
    }

    .survey-duplicate-heading[b-zb353ca1de] {
        display: none;
    }

    .survey-appointment[b-zb353ca1de] {
        padding: .75rem !important;
        margin-bottom: 1rem !important;
        text-align: left !important;
    }

    .survey-appointment-row[b-zb353ca1de] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .75rem;
        margin: 0;
    }

    .survey-appointment-row > div[b-zb353ca1de] {
        width: auto;
        margin-top: 0;
        padding: 0;
    }

    .survey-appointment .fs-5[b-zb353ca1de] {
        font-size: .875rem !important;
    }

    .portal-rating-options[b-zb353ca1de] {
        display: flex;
        flex-wrap: wrap;
        gap: .25rem;
    }

    .portal-rating-options .btn[b-zb353ca1de] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 2.75rem;
        min-height: 2.75rem;
        margin-inline: 0 !important;
    }
}
