/* Home clock and Android download */
.home-time-brand-footer .home-time-wordmark {
    display: inline-flex;
    align-items: center;
    gap: clamp(.35rem, 1.3vw, .65rem);
}

.home-time-wordmark img {
    display: block;
    inline-size: clamp(2rem, 4.2vw, 2.5rem);
    block-size: auto;
    flex: 0 0 auto;
}

.home-time-brand-footer > span,
.home-desktop-time-panel.is-user-ready .home-time-brand-footer > span {
    font-size: clamp(.91rem, 1.65vw, 1.1rem);
    line-height: 1.65;
}

.home-android-download .home-android-download-link {
    min-height: 50px;
    padding: .45rem .75rem;
    font-size: clamp(.9rem, 1.5vw, 1rem);
    line-height: 1.6;
}

.home-android-download-label {
    display: block;
    text-wrap: balance;
}

.home-android-download-platform {
    white-space: nowrap;
}

.home-android-download-label img {
    display: inline-block;
    width: 1.75rem;
    height: 1.75rem;
    vertical-align: middle;
    margin-inline-start: .25rem;
}

.home-android-download-link small {
    white-space: nowrap;
}

/* Household dashboard */
.household-dashboard .household-header h1 {
    font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.household-dashboard .household-header p,
.household-dashboard .household-empty p {
    color: #385669;
    font-size: clamp(.94rem, 1.45vw, 1.09rem);
    line-height: 1.85;
    opacity: 1;
}

.household-dashboard .household-empty {
    padding-inline: clamp(0rem, 2vw, 1.15rem);
}

.household-dashboard .household-empty h2 {
    font-size: clamp(1.14rem, 2.65vw, 1.75rem);
    text-wrap: balance;
}

.household-dashboard .household-header > .btn {
    min-block-size: 46px;
    white-space: nowrap;
}

.household-dashboard .household-empty .btn {
    min-width: min(10rem, 100%);
    min-height: 60px;
    padding-inline: clamp(.85rem, 2.6vw, 1.65rem);
    font-size: clamp(1.04rem, 1.55vw, 1.13rem);
    white-space: nowrap;
}

.household-dashboard .household-member-limit {
    white-space: nowrap;
}

.household-dashboard :is(.household-member-limit bdi, bdi.household-member-limit) {
    font-family: "MarzinDigits", "Estedad", "Vazirmatn", sans-serif;
    font-weight: 800;
}

@media (max-width: 420px) {
    .household-dashboard .household-header p {
        text-wrap: pretty;
    }
}

/* Reservation request and direct booking */
.appointment-request-create-page .appointment-request-header h1,
.direct-booking-slot-page .direct-booking-header h1 {
    font-size: clamp(1.4rem, 2.35vw, 1.8rem);
}

.appointment-request-create-page .appointment-request-header p,
.direct-booking-slot-page .direct-booking-header p {
    min-width: 0;
    color: #385669;
    font-size: clamp(.88rem, 1.3vw, 1.01rem);
    line-height: 1.7;
    white-space: normal;
}

.appointment-request-create-page .booking-filter-field,
.appointment-request-create-page .request-day-display,
.direct-booking-slot-page .direct-border-field {
    min-width: 0;
}

.appointment-request-create-page .booking-filter-field :is(.form-label, .form-input),
.direct-booking-slot-page .direct-border-field :is(.form-label, .form-input),
.appointment-request-create-page .request-day-display small,
.appointment-request-create-page .message.warning.booking-section,
.direct-booking-slot-page .direct-section-heading p,
.direct-booking-slot-page .direct-empty-state {
    font-size: clamp(.89rem, 1.35vw, 1.02rem);
}

.appointment-request-create-page .request-day-display strong,
.direct-booking-slot-page .direct-section-heading h2 {
    font-size: clamp(1.13rem, 1.65vw, 1.27rem);
}

.appointment-request-create-page .request-day-label {
    font-size: .87rem;
}

.appointment-request-create-page .request-page-cancel-bar .request-page-cancel-button {
    min-height: 40px;
    font-size: clamp(.94rem, 1.4vw, 1rem);
}

.direct-booking-slot-page .direct-booking-page .direct-summary-head {
    grid-template-columns: auto minmax(0, 1fr);
    gap: .3rem .55rem;
    padding: .65rem .75rem;
}

.direct-booking-slot-page .direct-summary-head h2 {
    font-size: clamp(1.03rem, 1.5vw, 1.18rem);
}

.direct-booking-slot-page .direct-summary-head p,
.direct-booking-slot-page .direct-summary-label {
    font-size: clamp(.82rem, 1.22vw, .94rem);
}

.direct-booking-slot-page .direct-summary-item strong,
.direct-booking-slot-page .direct-summary-time {
    font-size: clamp(.94rem, 1.4vw, 1.07rem);
}

.direct-booking-slot-page .direct-summary-change {
    font-size: .76rem;
}

.direct-booking-slot-page :is(.direct-page-cancel-top, .direct-summary-cancel, .direct-cancel-modal-actions .btn) {
    min-height: 44px;
    padding: .46rem .8rem;
    font-size: clamp(.94rem, 1.45vw, 1.02rem);
    font-weight: 800;
}

.direct-booking-slot-page .direct-summary-cancel {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
    max-width: none;
    margin-top: .15rem;
    border-radius: .65rem;
}

@media (min-width: 901px) {
    .direct-booking-slot-page .direct-booking-page.has-selected-border .direct-summary-list {
        grid-template-rows: repeat(4, minmax(min-content, 1fr));
    }
}

@media (max-width: 900px) {
    .direct-booking-slot-page .direct-booking-page .direct-summary-head {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .direct-booking-slot-page .direct-summary-cancel {
        grid-column: 3;
        grid-row: 1;
        margin-top: 0;
    }
}

@media (max-width: 365px) {
    .direct-booking-slot-page .direct-booking-page .direct-summary-head {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .direct-booking-slot-page .direct-summary-cancel {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

/* My appointments */
.my-appointments-page .my-appointments-heading h1 {
    font-size: clamp(1.42rem, 3vw, 2.1rem);
}

.my-appointments-page .my-appointments-heading p {
    display: block;
    color: #385669;
    font-size: clamp(.96rem, 1.5vw, 1.15rem);
    line-height: 1.75;
}

.my-appointments-page .my-appointments-heading > .btn {
    flex: 0 0 auto;
}

.my-appointments-page .my-appointments-filter-field :is(label, .form-input),
.my-appointments-page .my-appointments-card :is(.empty-state, .my-appointments-mobile-empty) {
    font-size: clamp(.91rem, 1.25vw, 1rem);
}

.my-appointments-page .my-appointments-table :is(th, td) {
    font-size: 1.025rem;
}

.my-appointments-page .my-appointments-card :is(.my-appointments-count, .my-appointments-mobile-result-count) {
    font-size: 1.02rem;
}

.my-appointments-page .my-appointments-card :is(.my-appointments-toolbar-actions, .my-appointments-filter-actions, .my-appointments-mobile-more-actions) .btn {
    font-size: 1.02rem;
}

.my-appointments-page .my-appointments-filter-actions {
    flex-wrap: wrap;
}

.my-appointments-page [data-manual-filter-submit][hidden],
.my-appointments-page .is-mobile-open .my-appointments-clear-all {
    display: none;
}

.my-appointments-page .my-appointments-clear-all {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    padding-inline: .75rem;
    border: 1px solid var(--mz-border, #aec7d1);
    border-radius: 9px;
    color: var(--mz-navy-800, #0b2741);
    background: #dce9ee;
    font-size: .87rem;
}

.my-appointments-page .my-appointments-clear-all:is(:hover, :focus-visible) {
    background: var(--mz-gold-400, #f2d27a);
}

@media (max-width: 720px) {
    .my-appointments-page .my-appointments-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .my-appointments-page .my-appointments-mobile-filter-toggle {
        min-height: 44px;
    }
}

@media (max-width: 365px) {
    .my-appointments-page .my-appointments-filters {
        grid-template-columns: minmax(0, 1fr);
    }

    .my-appointments-page .my-appointments-heading {
        align-items: flex-start;
    }
}

/* Account menu information */
.main-nav .user-menu > .user-dropdown > li > span {
    color: #b4c5d1 !important;
    cursor: not-allowed;
}
