/* ==========================================================================
   BLOCK / SECTION: POST CARD GRID (LƯỚI BÀI VIẾT TƯƠNG TỰ / TIN TỨC)
   Path: carbon-block/templates/sections/post-card-grid/style.css
   Sử dụng toàn bộ Design Tokens từ global.css
   Chuẩn hóa Breakout theo mẫu block-card-grid-media
   ========================================================================== */

.post-card-grid {
    position: relative;
    width: 100%;
    background-color: var(--color-surface, #F0F4F6);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 60px 0;
    box-sizing: border-box;
    overflow: hidden;
    font-family: var(--font-body, 'Nunito Sans', sans-serif);
}

/* Đảm bảo khối tràn viền toàn màn hình mượt mà nếu có class breakout (chuẩn card-grid-media) */
.post-card-grid.crb-block-fullwidth,
.crb-block-fullwidth.post-card-grid {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    box-sizing: border-box !important;
    clear: both !important;
}

.post-card-grid__container {
    position: relative;
    z-index: 2;
    max-width: var(--container-max-w, 1200px);
    width: 100%;
    margin: 0 auto;
    padding-left: var(--container-pad-x, 15px);
    padding-right: var(--container-pad-x, 15px);
    box-sizing: border-box;
}

/* TIÊU ĐỀ SECTION */
.post-card-grid__title {
    font-family: var(--font-heading, 'Cormorant SC', serif) !important;
    font-size: var(--fs-h2, 32px) !important;
    font-weight: var(--fw-h2, 700) !important;
    line-height: var(--lh-h2, 35px) !important;
    color: var(--text-title, #456967);
    margin: 0 auto 36px auto !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px;
}

/* DANH SÁCH LƯỚI BÀI VIẾT */
.post-card-grid__list {
    display: grid;
    gap: 32px 24px;
    width: 100%;
    box-sizing: border-box;
    grid-template-columns: repeat(4, 1fr);
}

.post-card-grid__list--col-4 {
    grid-template-columns: repeat(4, 1fr);
}

.post-card-grid__list--col-3 {
    grid-template-columns: repeat(3, 1fr);
}

.post-card-grid__list--col-2 {
    grid-template-columns: repeat(2, 1fr);
}

.post-card-grid__item {
    width: 100%;
    display: flex;
}

.post-card-grid__item .card-post {
    width: 100%;
}

/* RESPONSIVE */
@media screen and (max-width: 1024px) {
    .post-card-grid__list,
    .post-card-grid__list--col-4,
    .post-card-grid__list--col-3 {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 20px;
    }

    .post-card-grid__title {
        font-size: 26px !important;
        margin-bottom: 28px !important;
    }
}

@media screen and (max-width: 640px) {
    .post-card-grid {
        padding-top: var(--section-gap, 30px) !important;
        padding-bottom: calc(var(--section-gap, 30px) * 1.5) !important;
    }

    .post-card-grid__list,
    .post-card-grid__list--col-4,
    .post-card-grid__list--col-3,
    .post-card-grid__list--col-2 {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .post-card-grid__title {
        font-size: 22px !important;
        margin-bottom: 24px !important;
    }
}
