/*
 * Southcare Medical fees & billing page styles.
 *
 * Loaded only on Pages using template-fees-billing.php.
 */
/* ---------------------------------
   Fee schedule
   --------------------------------- */
.apollo-fee-schedule {
    margin: var(--wp--preset--spacing--80) 0 var(--wp--preset--spacing--60);
}

.apollo-fee-schedule__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.apollo-fee-schedule__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-align: center;
}

.apollo-fee-schedule__title {
    margin: 0;
    color: var(--wp--preset--color--contrast);
    font-size: var(--wp--preset--font-size--display-sm);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.apollo-fee-schedule__description {
    max-width: 65rem;
    margin: var(--wp--preset--spacing--30) 0 0;
    color: var(--wp--preset--color--contrast-muted);
    font-size: var(--wp--preset--font-size--body);
    font-weight: 400;
    line-height: 1.5;
}

.apollo-fee-schedule__cards {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    width: 100%;
    margin: var(--wp--preset--spacing--60) 0;
}

.apollo-fee-card {
    display: flex;
    flex: 0 0 calc((100% - 64px) / 3);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 410px;
    padding: var(--wp--preset--spacing--50);
    border: 1px solid var(--wp--preset--color--primary);
    border-radius: var(--apollo-radius-sm);
    background: var(--wp--preset--color--base);
    text-align: center;
}

.apollo-fee-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 156px;
    height: 156px;
    border-radius: 50%;
    background: var(--wp--preset--color--primary-soft);
    color: var(--wp--preset--color--primary);
}

.apollo-fee-card__icon svg {
    width: 80px;
    height: 80px;
    stroke-width: 1.25;
}

.apollo-fee-card__title {
    margin: var(--wp--preset--spacing--30) 0 0;
    color: var(--wp--preset--color--contrast);
    font-size: var(--wp--preset--font-size--title-lg);
    font-weight: 600;
    line-height: 1.25;
}

.apollo-fee-card__amount {
    margin: var(--wp--preset--spacing--20) 0 0;
    color: var(--wp--preset--color--primary);
    font-size: var(--wp--preset--font-size--display-sm);
    font-weight: 700;
    line-height: 1;
}


/* Below 1280px */
@media (max-width: 79.99rem) {
    .apollo-fee-schedule {
        margin: var(--wp--preset--spacing--70) 0 var(--wp--preset--spacing--50);
    }

    .apollo-fee-schedule__cards {
        gap: 24px;
        margin-block: var(--wp--preset--spacing--50);
    }

    .apollo-fee-card {
        flex-basis: calc((100% - 48px) / 3);
        min-height: 380px;
        padding: var(--wp--preset--spacing--40);
    }

    .apollo-fee-card__icon {
        width: 144px;
        height: 144px;
    }

    .apollo-fee-card__icon svg {
        width: 76px;
        height: 76px;
    }
}


/* Below 992px — three cards per row */
@media (max-width: 61.99rem) {
    .apollo-fee-schedule {
        margin: var(--wp--preset--spacing--70) 0 var(--wp--preset--spacing--50);
    }

    .apollo-fee-schedule__description {
        max-width: 48rem;
    }

    .apollo-fee-schedule__cards {
        gap: 24px;
        margin-block: var(--wp--preset--spacing--50);
    }

    .apollo-fee-card {
        flex-basis: calc((100% - 48px) / 3);
        box-sizing: border-box;
        min-width: 0;
        min-height: 320px;
        padding: var(--wp--preset--spacing--40);
    }

    .apollo-fee-card__icon {
        width: 112px;
        height: 112px;
    }

    .apollo-fee-card__icon svg {
        width: 60px;
        height: 60px;
    }

    .apollo-fee-card__title {
        font-size: var(--wp--preset--font-size--service-card-title);
    }

    .apollo-fee-card__amount {
        font-size: var(--wp--preset--font-size--xxl);
    }
}


/* Below 768px — retain three cards per row */
@media (max-width: 47.99rem) {
    .apollo-fee-schedule {
        margin: var(--wp--preset--spacing--70) 0;
    }

    .apollo-fee-schedule__description {
        max-width: 38rem;
    }

    .apollo-fee-schedule__cards {
        gap: 16px;
        margin-block: var(--wp--preset--spacing--40);
    }

    .apollo-fee-card {
        flex-basis: calc((100% - 32px) / 3);
        min-height: 260px;
        padding: var(--wp--preset--spacing--30);
    }

    .apollo-fee-card__icon {
        width: 88px;
        height: 88px;
    }

    .apollo-fee-card__icon svg {
        width: 46px;
        height: 46px;
    }

    .apollo-fee-card__title {
        font-size: var(--wp--preset--font-size--body);
    }

    .apollo-fee-card__amount {
        font-size: var(--wp--preset--font-size--title-lg);
    }
}


/* Below 560px — two cards per row */
@media (max-width: 34.99rem) {
    .apollo-fee-schedule {
        margin: var(--wp--preset--spacing--60) 0;
    }

    .apollo-fee-schedule__description {
        max-width: none;
    }

    .apollo-fee-schedule__cards {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 16px;
        margin-block: var(--wp--preset--spacing--40);
    }

    .apollo-fee-card {
        flex: 0 0 calc((100% - 16px) / 2);
        min-height: 240px;
        padding: var(--wp--preset--spacing--30);
    }

    .apollo-fee-card__icon {
        width: 80px;
        height: 80px;
    }

    .apollo-fee-card__icon svg {
        width: 42px;
        height: 42px;
    }

    .apollo-fee-schedule__actions {
        width: 100%;
    }

    .apollo-fee-schedule__actions .apollo-button {
        width: 100%;
    }
}


/* Below 400px — retain two cards per row */
@media (max-width: 24.99rem) {
    .apollo-fee-schedule {
        margin: var(--wp--preset--spacing--60) 0;
    }

    .apollo-fee-schedule__cards {
        gap: 12px;
    }

    .apollo-fee-card {
        flex-basis: calc((100% - 12px) / 2);
        min-height: 220px;
        padding: var(--wp--preset--spacing--20);
    }

    .apollo-fee-card__icon {
        width: 64px;
        height: 64px;
    }

    .apollo-fee-card__icon svg {
        width: 34px;
        height: 34px;
    }

    .apollo-fee-card__title {
        font-size: var(--wp--preset--font-size--eyebrow);
    }
}



/* ---------------------------------
   Fees & Billing: consultation section spacing
   --------------------------------- */
.page-template-template-fees-billing
.apollo-fee-schedule--consultation {
    margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--60);
}

/* Below 992px: hide the mixed-billing image panel. */
@media (max-width: 61.99rem) {
    .page-template-template-fees-billing
    .apollo-fees-section__visual {
        display: none;
    }

    .page-template-template-fees-billing
    .apollo-fees-section__content {
        flex: 1 1 100%;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
}