.mt-product-cards-section,
.mt-product-cards-section * {
    box-sizing: border-box;
}

.mt-product-cards-section {
    width: 100%;
    padding: 6.944vw;
    background: #ffffff;
}

.mt-product-cards-grid {
    width: 100%;
    max-width: 86.111vw;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.389vw;
}

.mt-product-card {
    position: relative;
    width: 100%;
    aspect-ratio: 295 / 500;
    border-radius: 0.694vw;
    overflow: hidden;
    background: #9ed8ff;
}

.mt-product-card-image,
.mt-product-card-placeholder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    display: block;
    object-fit: cover;
    object-position: center;
}

.mt-product-card-placeholder {
    color: #ffffff;
    background: linear-gradient(135deg, #a6dcff 0%, #146fb7 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--vape-font-brand);
    font-size: 0.972vw;
    font-weight: 700;
}

.mt-product-card-content {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    padding: 1.389vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.mt-product-card-copy {
    min-width: 0;
}

.mt-product-card-title {
    margin: 0 0 0.278vw;
    color: #ffffff;
    font-family: var(--vape-font-brand);
    font-size: 1.667vw;
    font-weight: 700;
    line-height: 2.222vw;
    letter-spacing: 0;
}

.mt-product-card-subtitle {
    margin: 0;
    color: #ffffff;
    font-family: var(--vape-font-body);
    font-size: 0.972vw;
    font-weight: 500;
    line-height: 1.528vw;
}

.mt-product-card-button {
    width: 12.014vw;
    height: 2.222vw;
    margin: 0 auto;
    border-radius: 6.875vw;
    background: #2ef0d6;
    color: #0d0d0d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--vape-font-brand);
    font-size: 1.111vw;
    font-weight: 500;
    line-height: 1.667vw;
    letter-spacing: 0;
    text-decoration: none;
}

.mt-product-card-button:hover,
.mt-product-card-button:focus {
    color: #0d0d0d;
    text-decoration: none;
    opacity: 0.9;
}

@media (max-width: 1024px) {
    .mt-product-cards-section {
        padding: 6.25vw 3.516vw;
    }

    .mt-product-cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 60.547vw;
        gap: 1.953vw;
    }

    .mt-product-card {
        border-radius: 0.977vw;
    }

    .mt-product-card-placeholder {
        font-size: 1.367vw;
    }

    .mt-product-card-content {
        padding: 1.953vw;
    }

    .mt-product-card-title {
        margin-bottom: 0.391vw;
        font-size: 2.344vw;
        line-height: 3.125vw;
    }

    .mt-product-card-subtitle {
        font-size: 1.367vw;
        line-height: 2.148vw;
    }

    .mt-product-card-button {
        width: 16.895vw;
        height: 3.125vw;
        font-size: 1.563vw;
        line-height: 2.344vw;
    }
}

@media (max-width: 768px) {
    .mt-product-cards-section {
        padding: 5.99vw 2.344vw 6.771vw;
    }

    .mt-product-cards-grid {
        grid-template-columns: 1fr;
        max-width: 41.667vw;
        gap: 2.344vw;
    }

    .mt-product-card {
        border-radius: 1.302vw;
    }

    .mt-product-card-placeholder {
        font-size: 1.823vw;
    }

    .mt-product-card-content {
        padding: 2.604vw;
    }

    .mt-product-card-title {
        margin-bottom: 0.521vw;
        font-size: 2.604vw;
        line-height: 3.646vw;
    }

    .mt-product-card-subtitle {
        font-size: 1.563vw;
        line-height: 2.344vw;
    }

    .mt-product-card-button {
        width: 22.526vw;
        height: 4.167vw;
        font-size: 2.083vw;
        line-height: 3.125vw;
    }
}