/* ==========================================================================
   PRODUCT CAROUSEL / HIGHLIGHT SECTION - 4 CARD TRÊN & 3 CARD TO DƯỚI
   ========================================================================== */

.product-carousel,
.product-carousel * {
    font-family: var(--font-lexend), sans-serif !important;
    box-sizing: border-box;
}

.product-carousel {
    width: 100%;
    position: relative;
    padding-top: var(--section-pad-top, 40px) !important;
    padding-bottom: 70px !important;
    /* Lề trong dưới rộng rãi */
    background-color: #F6EEEA !important;
}

.product-carousel__container {
    width: 100%;
    max-width: var(--container-max-w, 1200px);
    margin: 0 auto;
    padding-left: var(--container-pad-x, 10px);
    padding-right: var(--container-pad-x, 10px);
}

/* HEADER SECTION (TIÊU ĐỀ SẢN PHẨM NỔI BẬT) */
.product-carousel__header {
    text-align: center;
    margin-bottom: var(--space-text-bottom, 30px);
}

.product-carousel__title {
    font-family: var(--font-lexend), sans-serif !important;
    font-size: var(--fs-h2-m, 32px) !important;
    line-height: var(--lh-h2-m, 1.25) !important;
    font-weight: var(--fw-h2-m, 700) !important;
    color: var(--text-title, #3A2116) !important;
    text-transform: uppercase !important;
    margin: 0 0 var(--space-heading-bottom, 8px) 0 !important;
    letter-spacing: 0.5px;
}

.product-carousel__subtitle {
    font-family: var(--font-lexend), sans-serif !important;
    font-size: var(--fs-body-m, 16px) !important;
    color: var(--text-grey, #7B8A99) !important;
    margin: 0 !important;
}

.product-carousel__desc {
    max-width: 650px;
    margin: 8px auto 0 !important;
    color: var(--text-grey, #7B8A99) !important;
    font-size: var(--fs-body-s, 14px) !important;
    line-height: 1.6 !important;
}

/* --- GRID ROWS: HÀNG TRÊN 4 CỘT - HÀNG DƯỚI 3 CỘT TO --- */
.product-grid__row {
    display: grid;
    gap: var(--card-gap, 20px);
    margin-bottom: var(--card-gap, 20px);
}

.product-grid__row--top {
    grid-template-columns: repeat(4, 1fr);
}

.product-grid__row--bottom {
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 0;
}

.product-grid__col {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
}

/* --- TÙY BIẾN KHUNG NỘI DUNG MÀU TRẮNG CHO CARD (CHỈ ÁP DỤNG RIÊNG CHO SECTION NÀY) --- */
.product-carousel .product-card {
    background-color: #ffffff !important;
    /* Nền card màu trắng */
    border-radius: 0 !important;
    overflow: hidden !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
    transition: var(--transition-base, all 0.3s cubic-bezier(0.25, 1, 0.5, 1)) !important;
}

.product-carousel .product-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08) !important;
    opacity: 1 !important;
}

.product-carousel .product-card .product-card__img {
    margin-bottom: 0 !important;
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
}

.product-carousel .product-card .product-card__img img {
    border-radius: 0 !important;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.product-carousel .product-card:hover .product-card__img img {
    transform: scale(1.05) !important;
}

/* Khung nội dung text: Nền trắng hoàn toàn, có padding đệm xung quanh */
.product-carousel .product-card .product-card__info {
    background-color: #ffffff !important;
    /* Khung màu trắng */
    padding: 16px 14px 18px !important;
    /* Padding đệm */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    flex-grow: 1 !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
}

.product-carousel .product-card .product-card__category {
    font-size: 12.5px !important;
    color: var(--text-grey, #7B8A99) !important;
    margin: 0 0 5px 0 !important;
    font-weight: 400 !important;
}

.product-carousel .product-card .product-card__title {
    font-size: 15.5px !important;
    font-weight: 400 !important; /* Độ đậm mảnh nhẹ thanh thoát theo mẫu */
    line-height: 1.35 !important;
    color: var(--text-dark, #000000) !important;
    margin: 0 0 6px 0 !important;
}

.product-carousel .product-card:hover .product-card__title {
    color: var(--color-accent, #027CC5) !important;
}

.product-carousel .product-card .product-card__price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--text-dark, #000000) !important;
    margin-top: auto !important;
}

/* Hàng dưới chữ to hơn nhẹ nhàng chuẩn thẩm mỹ */
.product-grid__row--bottom .product-card .product-card__title {
    font-size: 16.5px !important;
    font-weight: 400 !important;
}

.product-grid__row--bottom .product-card .product-card__price {
    font-size: 16px !important;
}

/* Responsive Grid */
@media screen and (max-width: 1024px) {
    .product-grid__row--top {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        margin-bottom: 16px;
    }

    .product-grid__row--bottom {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .product-grid__row--bottom .product-grid__col:last-child {
        grid-column: span 2;
        max-width: 50%;
        margin: 0 auto;
        width: 100%;
    }
}

@media screen and (max-width: 576px) {
    .product-carousel {
        padding-top: 25px !important;
        padding-bottom: 35px !important;
    }

    .product-carousel__title {
        font-size: var(--fs-h2-s, 22px) !important;
    }

    .product-grid__row--top,
    .product-grid__row--bottom {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin-bottom: 12px;
    }

    .product-grid__row--bottom .product-grid__col:last-child {
        grid-column: span 2;
        max-width: 100%;
    }

    .product-carousel .product-card .product-card__info {
        padding: 12px 10px 14px !important;
    }

    .product-carousel .product-card .product-card__category {
        font-size: 11px !important;
    }

    .product-carousel .product-card .product-card__title {
        font-size: 13.5px !important;
    }

    .product-carousel .product-card .product-card__price {
        font-size: 13.5px !important;
    }
}