/*
 * MHN Provider Embed
 *
 * These selectors are intentionally scoped beneath .mhn-providers
 * to prevent the host WordPress theme from interfering with the
 * provider card layout.
 */

.mhn-providers {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    align-items: start !important;
}

/*
 * Provider card
 */
.mhn-providers .mhn-provider {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    position: static !important;
    float: none !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/*
 * Image
 */
.mhn-providers .mhn-provider__image {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 0 15px !important;
    padding: 0 !important;

    position: static !important;
    float: none !important;
}

.mhn-providers .mhn-provider__image a {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}

.mhn-providers .mhn-provider__image img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    position: static !important;
    float: none !important;

    object-fit: cover;
}

/*
 * Content
 */
.mhn-providers .mhn-provider__content {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    position: static !important;
    float: none !important;
}

/*
 * Name
 */
.mhn-providers .mhn-provider__name {
    display: block !important;

    margin: 0 0 8px !important;
    padding: 0 !important;

    font-size: 20px !important;
    line-height: 1.3 !important;
}

.mhn-providers .mhn-provider__name a {
    display: inline !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #34b44a;
    text-decoration: none !important;
}

.mhn-providers .mhn-provider__name a:hover,
.mhn-providers .mhn-provider__name a:focus {
    text-decoration: underline !important;
}

/*
 * Academic / provider title
 */
.mhn-providers .mhn-provider__title {
    display: block !important;

    margin: 0 0 8px !important;
    padding: 0 !important;

    font-size: 15px !important;
    line-height: 1.5 !important;
}

/*
 * Department
 */
.mhn-providers .mhn-provider__departments {
    display: block !important;

    margin: 0 0 12px !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 1.5 !important;
}

/*
 * Profile link
 */
.mhn-providers .mhn-provider__link {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 1.5 !important;
}

.mhn-providers .mhn-provider__link a {
    display: inline !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #34b44a;
    font-weight: 600;
    text-decoration: none !important;
}

.mhn-providers .mhn-provider__link a:hover,
.mhn-providers .mhn-provider__link a:focus {
    text-decoration: underline !important;
}


/*
 * Messages
 */
.mhn-providers-error {
    padding: 15px;
    border: 1px solid #c00;
}

.mhn-providers-empty {
    padding: 15px 0;
}


/*
 * Tablet
 */
@media (max-width: 900px) {

    .mhn-providers {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

}


/*
 * Mobile
 */
@media (max-width: 600px) {

    .mhn-providers {
        grid-template-columns: 1fr !important;
    }

}