/* 主容器扩展 */
.project-list-wrap {
    --content-height: 280px; /* 统一高度变量 */
    --img-ratio: 16/9;      /* 图片比例 */
}

/* 横向扩展方案 */
.container-fluid.custom-width {
    max-width: 96%;
    padding-right: 2%;
    padding-left: 2%;
}

/* 卡片布局优化 */
.project-list-row {
    margin-bottom: 1.5rem !important; /* 替代mt-30 */
    min-height: var(--content-height);
}

/* 图片容器 */
.project-list-img {
    height: var(--content-height);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.project-list-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.25,0.1,0.25,1);
}

/* 内容区域 */
.project-list-content {
    height: 100%;
    padding: 1.2rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.section-title h2 {
    font-size: 1.25rem !important;
    line-height: 1.3;
    margin-bottom: 0.5rem !important;
}
.blog-description {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #555;
}

/* 交互效果 */
.project-list-wrap a:hover .link_icon {
    transform: translateX(3px);
}
.project-list-img:hover img {
    transform: scale(1.03);
}

/* 移动端适配 */
@media (max-width: 991.98px) {
    .project-list-row {
        min-height: auto;
    }
    .project-list-img {
        height: 200px;
        margin-bottom: 1rem;
    }
}