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

.pgi-grid-cards__sticky {
    width: 100%;
    overflow: visible;
}

.pgi-grid-cards__controls {
    display: none;
}

.pgi-grid-cards__track {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--pgi-grid-cards-gap, 0);
    width: 100%;
}

.pgi-grid-cards__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 0;
}

.pgi-grid-cards__panel {
    min-height: 261px;
    margin: 0;
    overflow: hidden;
}

.pgi-grid-cards__panel--text {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    padding: 24px 30px 32px 30px;
    background: transparent;
    color: var(--pgi-black);
}

.pgi-grid-cards__count {
    color: rgba(45, 95, 103, 0.6);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}

.pgi-grid-cards__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
}

.pgi-grid-cards__title {
    width: 100%;
    margin: 0;
    color: var(--pgi-grid-card-title-color, var(--pgi-black));
    font-size: var(--pgi-grid-card-title-size, 24px);
    font-weight: 600;
    line-height: 1.3;
}

.pgi-grid-cards__subtitle {
    width: 100%;
    max-width: 221px;
    margin: 0;
    color: var(--pgi-grid-card-subtitle-color, #80807D);
    font-size: var(--pgi-grid-card-subtitle-size, 16px);
    font-weight: 500;
    line-height: 1.3;
}

.pgi-grid-cards__panel--image {
    border-radius: var(--pgi-grid-card-radius, 15px);
    background-color: #F6F6F6;
    background-image: var(--pgi-grid-card-bg-image, none);
    background-position: center;
    background-size: var(--pgi-grid-card-bg-size, cover);
    background-repeat: no-repeat;
}

@media (max-width: 1024px) {
    .pgi-grid-cards__track {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pgi-grid-cards__panel--text {
        padding: 24px;
    }
}

@media (max-width: 768px) {
    .pgi-grid-cards {
        width: 100vw;
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
    }

    .pgi-grid-cards__sticky {
        position: relative;
        width: 100vw;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 15px;
        scrollbar-width: none;
    }

    .pgi-grid-cards__sticky::-webkit-scrollbar {
        display: none;
    }

    .pgi-grid-cards__track {
        display: flex;
        align-items: stretch;
        justify-content: flex-start;
        gap: var(--pgi-grid-cards-gap, 0);
        width: max-content;
        min-width: 100%;
        will-change: transform;
    }

    .pgi-grid-cards__card {
        flex: 0 0 354px;
        width: 354px;
        min-width: 354px;
        gap: 0px;
    }

    .pgi-grid-cards__panel {
        min-height: 261px;
        max-width: 354px;
    }

    .pgi-grid-cards__panel--text {
        gap: 58px;
        padding: 23px 30px 3px;
        min-height: 210px;
    }

    .pgi-grid-cards__title {
        font-size: min(var(--pgi-grid-card-title-size, 24px), 24px);
    }

    .pgi-grid-cards__subtitle {
        font-size: min(var(--pgi-grid-card-subtitle-size, 16px), 16px);
    }

    .pgi-grid-cards.is-slider-ready .pgi-grid-cards__sticky {
        overflow: hidden;
        touch-action: pan-y;
    }

    .pgi-grid-cards.is-sticky-ready .pgi-grid-cards__sticky {
        padding: 15px 10px;
    }

    .pgi-grid-cards.is-card-sliding .pgi-grid-cards__track {
        transition: transform 260ms ease;
    }

    .pgi-grid-cards__controls {
        position: absolute;
        top: 50%;
        right: 10px;
        left: 10px;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: space-between;
        pointer-events: none;
        transform: translateY(-50%);
    }

    .pgi-grid-cards__arrow {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 10px;
        border: 0;
        border-radius: 50%;
        background: var(--pgi-white);
        color: var(--pgi-laguna);
        box-shadow: 0 2px 12px rgba(43, 44, 39, 0.16);
        cursor: pointer;
        pointer-events: auto;
    }

    .pgi-grid-cards__arrow:focus-visible {
        outline: 2px solid var(--pgi-turquoise);
        outline-offset: 2px;
    }

    .pgi-grid-cards__arrow:disabled {
        opacity: 0.35;
        cursor: default;
    }

    .pgi-grid-cards.is-preview,
    .pgi-grid-cards.is-preview .pgi-grid-cards__sticky {
        height: auto;
        overflow-x: auto;
    }

    .pgi-grid-cards.is-preview .pgi-grid-cards__controls {
        display: none;
    }

    .pgi-grid-cards.is-preview .pgi-grid-cards__sticky {
        position: relative;
        top: auto;
    }

    .pgi-grid-cards__card--image-below .pgi-grid-cards__panel--image {
        margin-top: 30px;
    }
}

@media (max-width: 390px) {
    .pgi-grid-cards__card {
        flex-basis: calc(100vw - 30px);
        width: calc(100vw - 30px);
        min-width: calc(100vw - 30px);
    }
}
@media (min-width: 769px) and (max-width: 1499px) {
    .pgi-grid-cards {
        gap: 24px;
    }

    .pgi-grid-cards__panel {
        min-height: 176px;
    }

    .pgi-grid-cards__panel--text {
        gap: 24px;
        padding: 17.6px 19.2px 22.4px 19.2px;
    }

    .pgi-grid-cards__title {
        font-size: min(var(--pgi-grid-card-title-size, 19.2px), clamp(16px, 1.32vw, 19.2px));
    }

    .pgi-grid-cards__subtitle {
        font-size: min(var(--pgi-grid-card-subtitle-size, 14.12px), clamp(12.35px, 0.84vw, 14.12px));
    }
}

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

    .pgi-grid-cards__title {
        font-size: min(var(--pgi-grid-card-title-size, 16px), 16px);
    }

    .pgi-grid-cards__subtitle {
        font-size: min(var(--pgi-grid-card-subtitle-size, 14px), 14px);
    }
}

