/* ==========================================
   CSS CHO PHẦN DỰ ÁN TƯƠNG TỰ (RELATED GRID)
   ========================================== */
.section-project-related {
    padding: var(--section-pad-y) 0; /* Thừa hưởng khoảng cách hệ thống tự co dãn từ 30px - 80px */
    background-color: var(--midori-primary);
}

.related-heading {
    color: var(--text-title);
    margin-bottom: 40px !important;
}

/* Cấu hình hiển thị Lưới 4 cột mặc định trên Desktop */
.related-grid-custom {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: var(--card-gap) !important; /* Thừa hưởng khoảng cách card_gap = 20px */
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Đảm bảo hình ảnh bên trong card vừa vặn, đồng nhất tỉ lệ và không bị khoảng trắng */
.related-col-item {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.related-col-item .midori-card-link-wrapper {
    height: 100%;
}

.related-grid-custom .midori-card-img {
    position: relative !important;
    padding-top: 120% !important; /* Tỉ lệ 120% cố định cho tất cả ảnh dự án */
    width: 100% !important;
    overflow: hidden !important;
}

.related-grid-custom .midori-card-img img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: var(--transition-base);
}


/* ==========================================
   CẤU HÌNH SLIDER VUỐT NGANG TRÊN MOBILE
   ========================================== */
@media (max-width: 768px) {
    /* Chuyển đổi Grid thành Flexbox trượt ngang mượt mà */
    .related-grid-custom {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important; /* Ép neo từng slide khi vuốt */
        scroll-behavior: smooth !important;
        -webkit-overflow-scrolling: touch; /* Tạo hiệu ứng gia tốc vuốt mượt trên iOS */
        
        /* Đẩy lề ra sát mép viền màn hình để tạo hiệu ứng tràn viền đẹp mắt */
        margin-left: -15px !important;
        margin-right: -15px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        padding-bottom: 10px !important; /* Chừa lề tránh che bóng đổ (shadow) nếu có */
    }

    /* Ẩn thanh cuộn scrollbar mặc định của trình duyệt để slider gọn gàng */
    .related-grid-custom::-webkit-scrollbar {
        display: none !important;
    }
    .related-grid-custom {
        -ms-overflow-style: none !important;  /* IE/Edge */
        scrollbar-width: none !important;  /* Firefox */
    }

    /* Định dạng mỗi thẻ Card khi làm Slider */
    .related-col-item {
        /* Mỗi card chiếm 80% chiều rộng màn hình, dư 20% lấp ló để báo hiệu còn card phía sau */
        flex: 0 0 80% !important;
        max-width: 80% !important;
        scroll-snap-align: start !important; /* Điểm neo dừng lại ở đầu mỗi card */
    }
}