/* /Components/Pages/Booking/PetPicker.razor.rz.scp.css */
.bui-pet-picker[b-kejydst4b1] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0 1.75rem 1.5rem;
}

.bui-pet-chip[b-kejydst4b1] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.95rem 0.5rem 0.5rem;
    border: 1px solid var(--color-hairline);
    border-radius: var(--r-pill);
    background: var(--color-canvas);
    color: var(--color-ink);
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease;
}

.bui-pet-chip:hover:not(.bui-pet-chip--selected)[b-kejydst4b1] {
    background: var(--color-surface-pearl);
    border-color: var(--color-primary);
}

.bui-pet-chip--selected[b-kejydst4b1] {
    background: var(--color-primary);
    color: #fff;
    border-color: transparent;
}

.bui-pet-chip--selected .nim-chip-ava[b-kejydst4b1] {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.bui-pet-meta[b-kejydst4b1] {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    text-align: left;
}

.bui-pet-name[b-kejydst4b1] {
    font-weight: 600;
    font-size: 0.9rem;
}

.bui-pet-detail[b-kejydst4b1] {
    font-size: 0.7rem;
    opacity: 0.7;
}

@media (max-width: 640px) {
    .bui-pet-picker[b-kejydst4b1] {
        padding: 0 1rem 1rem;
    }
}
/* /Components/Pages/Booking/SlotPicker.razor.rz.scp.css */
.bui-date-strip[b-tia1xx32vx] {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
    padding: 0 1.75rem 1.5rem;
}

.bui-date-chips[b-tia1xx32vx] {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.5rem;
}

.bui-page-arrow[b-tia1xx32vx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    min-height: 4.25rem;
    border: 1px solid var(--color-hairline);
    border-radius: var(--radius-md);
    background: var(--color-canvas);
    color: var(--color-primary);
    font-size: 1.25rem;
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease;
}

.bui-page-arrow:hover:not(:disabled)[b-tia1xx32vx] {
    background: var(--color-surface-pearl);
    border-color: var(--color-primary);
}

.bui-page-arrow:disabled[b-tia1xx32vx] {
    opacity: 0.35;
    cursor: not-allowed;
}

.bui-date-chip[b-tia1xx32vx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    padding: 0.6rem 0.25rem;
    border: 1px solid var(--color-hairline);
    border-radius: var(--radius-md);
    background: var(--color-canvas);
    color: var(--color-ink);
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease;
    min-height: 4.25rem;
}

.bui-date-chip:hover:not(:disabled):not(.bui-date-chip--selected)[b-tia1xx32vx] {
    background: var(--color-surface-pearl);
    border-color: var(--color-primary);
}

.bui-date-chip--selected[b-tia1xx32vx] {
    background: var(--color-primary);
    color: #fff;
    border-color: transparent;
}

.bui-date-chip--disabled[b-tia1xx32vx] {
    opacity: 0.35;
    cursor: not-allowed;
}

.bui-date-dow[b-tia1xx32vx] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    opacity: 0.75;
}

.bui-date-dom[b-tia1xx32vx] {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
}

.bui-date-mon[b-tia1xx32vx] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.55;
}

.bui-date-chip--selected .bui-date-mon[b-tia1xx32vx],
.bui-date-chip--selected .bui-date-dow[b-tia1xx32vx] {
    opacity: 0.9;
}

.bui-time-hint[b-tia1xx32vx] {
    color: var(--color-ink-muted-48);
    font-weight: 600;
    margin-left: 0.25rem;
}

.bui-time-grid[b-tia1xx32vx] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
    gap: 0.5rem;
    padding: 0 1.75rem 1.5rem;
}

.bui-time-chip[b-tia1xx32vx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--color-hairline);
    border-radius: var(--radius-md);
    background: var(--color-canvas);
    color: var(--color-ink);
    font-weight: 600;
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease;
}

.bui-time-chip:hover:not(.bui-time-chip--selected)[b-tia1xx32vx] {
    background: var(--color-surface-pearl);
    border-color: var(--color-primary);
}

.bui-time-chip--selected[b-tia1xx32vx] {
    background: var(--color-primary);
    color: #fff;
    border-color: transparent;
}

.bui-time-vetcount[b-tia1xx32vx] {
    font-size: 0.7rem;
    opacity: 0.75;
    font-weight: 600;
}

.bui-vet-picker[b-tia1xx32vx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0 1.75rem 1.5rem;
}

.bui-vet-chip[b-tia1xx32vx] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.85rem 0.5rem 0.5rem;
    border: 1px solid var(--color-hairline);
    border-radius: var(--r-pill);
    background: var(--color-canvas);
    color: var(--color-ink);
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease;
}

.bui-vet-chip:hover:not(.bui-vet-chip--selected)[b-tia1xx32vx] {
    background: var(--color-surface-pearl);
    border-color: var(--color-primary);
}

.bui-vet-chip--selected[b-tia1xx32vx] {
    background: var(--color-primary);
    color: #fff;
    border-color: transparent;
}

.bui-vet-chip--selected .nim-chip-ava[b-tia1xx32vx] {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.bui-vet-meta[b-tia1xx32vx] {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.bui-vet-name[b-tia1xx32vx] {
    font-weight: 600;
    font-size: 0.9rem;
}

.bui-vet-role[b-tia1xx32vx] {
    font-size: 0.7rem;
    opacity: 0.7;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* Sticky booking summary — an elevated surface, so it carries the single
   product shadow the system reserves for floating chrome. */
.bui-book-bar[b-tia1xx32vx] {
    position: sticky;
    bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1.25rem;
    margin-top: 1.5rem;
    border-radius: var(--r-card);
    background: var(--color-canvas);
    border: 1px solid var(--color-hairline);
    box-shadow: var(--shadow-product);
    z-index: 10;
}

.bui-book-summary[b-tia1xx32vx] {
    color: var(--color-ink);
    font-weight: 600;
    font-size: 0.95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bui-book-btn[b-tia1xx32vx] {
    flex: 0 0 auto;
}

@media (max-width: 640px) {
    .bui-date-strip[b-tia1xx32vx] {
        padding: 0 1rem 1rem;
    }

    .bui-date-chips[b-tia1xx32vx] {
        overflow-x: auto;
        grid-template-columns: repeat(7, minmax(64px, 1fr));
    }

    .bui-time-grid[b-tia1xx32vx] {
        grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
        padding: 0 1rem 1rem;
    }

    .bui-vet-picker[b-tia1xx32vx] {
        padding: 0 1rem 1rem;
    }

    .bui-book-bar[b-tia1xx32vx] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.6rem;
    }
}
/* /Components/Pages/ClinicDetail.razor.rz.scp.css */
/* Wrap CONTACT in a sub-card so the heading has visible containment. The
   parent card shell already provides the hairline + 18px radius; this rule
   adds an inset card around the contact info grid only. */
.pcd-contact-subcard[b-ud1xlqotov] {
    margin: 1.25rem;
    padding: 1.25rem 1.5rem;
    background: var(--color-canvas);
    border: 1px solid var(--color-hairline);
    border-radius: var(--r-card);
}

/* CTA sits in its own padded row directly below CONTACT — not floating
   bottom-right of the card. Anchored, not sticky. */
.pcd-cta-row[b-ud1xlqotov] {
    padding-top: 0;
}
/* /Components/Pages/Clinics.razor.rz.scp.css */
/* Clinic name link inherits the row's typography but stays click-targetable
   for keyboard / screen-reader users. Mouse users click anywhere in the row. */
.pcl-name-link[b-ilgje37jad] {
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
}
.pcl-name-link:hover[b-ilgje37jad],
.pcl-name-link:focus-visible[b-ilgje37jad] {
    color: var(--color-primary);
    text-decoration: underline;
}

/* Trailing chevron — replaces the heavy "View" pill, signals row affordance
   without competing with the in-content link. */
.pcl-chevron-cell[b-ilgje37jad] {
    width: 2rem;
    text-align: right;
    color: var(--color-ink-muted-56);
}
.pcl-chevron[b-ilgje37jad] {
    font-size: 1.1rem;
    line-height: 1;
    display: inline-block;
}
/* /Components/Pages/NotFound.razor.rz.scp.css */
.pnf-section[b-9dp1orc7sx] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.pnf-illus[b-9dp1orc7sx] {
    font-size: 3rem;
    margin-bottom: 0.5rem;
    line-height: 1;
}

.pnf-actions[b-9dp1orc7sx] {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}
/* /Components/Shared/BookingSteps.razor.rz.scp.css */
.bst-nav[b-u261vweih5] {
    margin-bottom: 1.5rem;
}

.bst-list[b-u261vweih5] {
    margin: 0;
    margin-bottom: 0;
}

.bst-label[b-u261vweih5] {
    white-space: nowrap;
}

@media (max-width: 640px) {
    /* Keep all four steps on one row on small screens: labels shrink,
       counters stay as the primary wayfinding signal. */
    .bst-label[b-u261vweih5] {
        font-size: 0.72rem;
    }
}
