.pgi-sub-categories-cards {
    width: 100%;
    margin: 0;
    font-family: "Involve", system-ui, sans-serif;
}

.pgi-sub-categories-cards__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 40px 20px;
    width: 100%;
}

.pgi-sub-categories-cards__card {
    display: flex;
    flex: 0 1 calc((100% - 80px) / 5);
    flex-direction: column;
    align-items: center;
    gap: 15px;
    min-width: 240px;
    max-width: 344px;
    color: var(--pgi-laguna);
    text-decoration: none;
}

.pgi-sub-categories-cards__card:hover,
.pgi-sub-categories-cards__card:focus-visible {
    color: var(--pgi-laguna);
    text-decoration: none;
}

.pgi-sub-categories-cards__card:focus-visible {
    outline: 2px solid var(--pgi-turquoise);
    outline-offset: 4px;
}

.pgi-sub-categories-cards__image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 344 / 237;
    padding: 15px;
    overflow: hidden;
    border-radius: 20px;
    background: #f6f6f6;
}

.pgi-sub-categories-cards__image-img {
    width: auto;
    max-width: min(100%, 235px);
    height: auto;
    max-height: 100%;
    object-fit: contain;
}

.pgi-sub-categories-cards__image.has-placeholder::before {
    content: "";
    display: block;
    width: min(68%, 235px);
    aspect-ratio: 235 / 207;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(var(--pgi-black-rgb), 0.08), rgba(var(--pgi-black-rgb), 0.18));
}

.pgi-sub-categories-cards__link-wrap {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    padding-bottom: 5px;
    border-bottom: 1px solid currentColor;
    color: var(--pgi-laguna);
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    transition: color 180ms ease;
}

.pgi-sub-categories-cards__link-text {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pgi-sub-categories-cards__link-wrap svg {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
}

.pgi-sub-categories-cards__card:hover .pgi-sub-categories-cards__link-wrap,
.pgi-sub-categories-cards__card:focus-visible .pgi-sub-categories-cards__link-wrap {
    color: var(--pgi-laguna);
}

@media (max-width: 1180px) {
    .pgi-sub-categories-cards__card {
        flex-basis: calc((100% - 60px) / 4);
    }
}

@media (max-width: 900px) {
    .pgi-sub-categories-cards__card {
        flex-basis: calc((100% - 40px) / 3);
    }
}

@media (max-width: 768px) {
    .pgi-sub-categories-cards__grid {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 20px;
        padding: 0 10px;
    }

    .pgi-sub-categories-cards__card {
        flex: 0 0 calc((100% - 20px) / 2);
        width: calc((100% - 20px) / 2);
        min-width: 0;
        max-width: none;
    }

    .pgi-sub-categories-cards__image {
        aspect-ratio: 362 / 249.66;
        padding: 20px;
    }

    .pgi-sub-categories-cards__link-wrap {
        align-items: flex-start;
        max-width: 100%;
        font-size: 14px;
        line-height: 1.25;
    }

    .pgi-sub-categories-cards__link-text {
        display: -webkit-box;
        overflow: hidden;
        white-space: normal;
        text-overflow: clip;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
}

@media (min-width: 769px) and (max-width: 1499px) {
    .pgi-sub-categories-cards__grid {
        gap: 25.6px 14.4px;
    }

    .pgi-sub-categories-cards__card {
        min-width: 160px;
        max-width: 232px;
    }

    .pgi-sub-categories-cards__link-wrap {
        font-size: 13.24px;
    }
}

/* PGI middle-desktop client font-size normalization */
@media (min-width: 769px) and (max-width: 1499px) {
    .pgi-sub-categories-cards__link-wrap {
        font-size: 13px;
    }
}

