/*!
 * ==========================================================
 * Hospital theme
 * Entity: Partner
 * ==========================================================
 * Contains styles for:
 *   - .partner-single  (single partner page)
 *   - .partner-card    (partner card, used in grids/related blocks)
 *   - .partner-archive (partner listing page)
 * ========================================================== */

:root {
    --partner-gap: 1.5rem;
    --partner-radius: 0.75rem;
    --partner-transition: transform .2s ease, box-shadow .2s ease;
}


/* ==========================================================
   1. Partner Single
   ========================================================== */

.partner-single__hero {
    padding-block: 3rem;
}

.partner-single__figure {
    margin: 0;
}

.partner-single__logo {
    max-height: 140px;
    width: auto;
}

.partner-single__title {
    font-weight: 700;
}

.partner-single__since {
    font-size: .95rem;
}

.partner-single__section {
    padding-block: 3rem;
}

.partner-single__heading {
    font-weight: 700;
}

.partner-single__content :is(p, ul, ol, h2, h3, h4) {
    margin-bottom: 1rem;
}

.partner-single__contacts-grid {
    row-gap: var(--partner-gap);
}

.partner-single__gallery-figure {
    margin: 0;
}

.partner-single__gallery-image {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 3;
    border-radius: var(--partner-radius);
}

.partner-single__cta {
    text-align: center;
}

.partner-single__cta-text {
    max-width: 40rem;
    margin-inline: auto;
}


/* ==========================================================
   2. Partner Card
   ========================================================== */

.partner-card {
    display: flex;
    flex-direction: column;
    border-radius: var(--partner-radius);
    transition: var(--partner-transition);
}

.partner-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 .75rem 1.5rem rgba(0, 0, 0, .08);
}

.partner-card__logo {
    max-height: 100px;
    width: auto;
    margin: 1.5rem auto 0;
}

.partner-card__body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.partner-card__title {
    font-size: 1.1rem;
    font-weight: 700;
}

.partner-card__excerpt {
    flex-grow: 1;
}

.partner-card__footer {
    padding-top: 0;
}


/* ==========================================================
   3. Partner Archive
   ========================================================== */

.partner-archive {
    padding-block: 3rem;
}

.partner-archive__title {
    font-weight: 700;
}

.partner-archive__grid {
    row-gap: var(--partner-gap);
}

.partner-archive__pagination {
    display: flex;
    justify-content: center;
}


/* ==========================================================
   4. Responsive
   ========================================================== */

@media (max-width: 991.98px) {

    .partner-single__hero {
        padding-block: 2rem;
    }

    .partner-single__section {
        padding-block: 2rem;
    }

}

@media (max-width: 575.98px) {

    .partner-single__gallery-image {
        aspect-ratio: 16 / 9;
    }

}