/* ND Service Cards - blocul de carduri de servicii.
   Stil izolat: totul e prefixat cu .nd-service-cards, nu atinge nimic altceva.

   Blocul e asezat direct in zona de continut, care e deja pe toata latimea,
   deci nu are nevoie de niciun artificiu de iesire din container. */

.nd-service-cards {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 10px 28px 44px;
    box-sizing: border-box;
}

.nd-service-cards *,
.nd-service-cards *::before,
.nd-service-cards *::after {
    box-sizing: border-box;
}

.nd-service-cards__heading {
    margin: 0 0 26px;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 400;
    text-align: center;
}

/* Specificitate dubla, ca sa treaca peste stilurile generale ale temei. */
.nd-service-cards .nd-service-cards__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 34px 30px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    float: none;
}

.nd-service-cards .nd-service-cards__item {
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 0;
    float: none;
    display: block;
}

.nd-service-cards .nd-service-cards__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.nd-service-cards .nd-service-cards__media {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background-color: #efeae1;
}

/* Rezerva pentru navigatoarele fara aspect-ratio. */
@supports not (aspect-ratio: 3 / 4) {
    .nd-service-cards .nd-service-cards__media {
        height: 0;
        padding-bottom: 133.33%;
    }
}

.nd-service-cards .nd-service-cards__media img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    border: 0;
    margin: 0;
    padding: 0;
}

.nd-service-cards .nd-service-cards__title {
    margin: 18px 0 8px;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 600;
}

.nd-service-cards .nd-service-cards__text {
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
    opacity: 0.82;
}

.nd-service-cards .nd-service-cards__link:hover .nd-service-cards__title {
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (min-width: 640px) {
    .nd-service-cards .nd-service-cards__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .nd-service-cards .nd-service-cards__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .nd-service-cards {
        padding: 10px 16px 30px;
    }

    .nd-service-cards .nd-service-cards__grid {
        gap: 26px;
    }

    .nd-service-cards .nd-service-cards__title {
        font-size: 20px;
    }
}
