/*
 * Requests a service is asked for (sections/service-cases.php): icon cards in
 * a row on the desktop, a stack on a phone. Card skin is the one
 * 58-certification-requirements.css uses - the two are the same component
 * with a different source, and must not look like two.
 */

.service-cases {
    padding: 3vw 0;
    background: var(--color-surface-muted);
}

.service-cases__title {
    margin: 0 0 0.83vw;
}

.service-cases__lead {
    max-width: 44em;
    margin: 0 auto 1.67vw;
    text-align: center;
    color: var(--color-text-muted);
}

.service-cases__grid {
    --bs-gutter-x: 1.25vw;
    --bs-gutter-y: 1.25vw;
}

.service-cases__card {
    display: flex;
    flex-direction: column;
    padding: 1.67vw;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
}

.icon.service-cases__icon {
    align-self: flex-start;
    margin: 0 0 1.04vw;
    padding: 0.73vw;
    border-radius: 50%;
    background: var(--color-border-soft);
    color: var(--color-accent);
    box-sizing: content-box;
}

.service-cases__card-title {
    margin: 0 0 0.63vw;
    font-size: 1.15vw;
    font-weight: 700;
    color: var(--color-primary);
}

.service-cases__card-text {
    margin: 0;
    font-size: 0.94vw;
    color: var(--color-text-muted);
}

@media only screen and (max-width: 767.98px) {
    .service-cases {
        padding: 6vw 0;
    }

    .service-cases__title {
        margin: 0 0 3.2vw;
    }

    .service-cases__lead {
        margin: 0 auto 5.33vw;
        font-size: 4vw;
    }

    .service-cases__grid {
        --bs-gutter-x: 4.27vw;
        --bs-gutter-y: 4.27vw;
    }

    .service-cases__card {
        padding: 5.33vw 4.27vw;
    }

    .icon.service-cases__icon {
        margin: 0 0 3.2vw;
        padding: 2.67vw;
    }

    .service-cases__card-title {
        margin: 0 0 2.13vw;
        font-size: 4.8vw;
    }

    .service-cases__card-text {
        font-size: 4vw;
    }
}
