/* 列表 */
.ListBox {
    margin-top: 60px;
    width: 100%;
    margin-bottom: 45px;
    display: grid;
    /* 列宽固定 323px，自动换行，剩余空间均分 */
    grid-template-columns: repeat(auto-fill, minmax(323px, 1fr));
    grid-gap: 20px;
}

.ListBox .item {
    width: 100%;
    position: relative;
    border-bottom: 1px solid #D9D9D9;
}

.ListBox .item .img {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 345px;               /* 🔧 固定宽度 */
    height: 273px;              /* 🔧 固定高度 */
    max-width: 100%;            /* 🔧 防止窄屏溢出 */
    overflow: hidden;
    margin: 0 auto;             /* 🔧 居中显示，如果列宽 > 323px 不会贴边 */
}

.ListBox .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;          /* 🔧 保证图片按比例填满，多余裁剪 */
}

.ListBox .item .img i {
    position: absolute;
    z-index: 3;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--color);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 40px;
    opacity: 0;
    transition: 0.5s;
}

.ListBox .item:hover .img i {
    opacity: 1;
}

.ListBox .item .text {
    padding: 40px 0;
    color: #000;
    font-size: 20px;
    text-align: center;
}

/* 平板、手机等窄屏适配 */
@media (max-width: 1200px) {
    .ListBox .item .text {
        padding: 20px 0;
        font-size: 16px;
    }
}

@media (max-width: 900px) {
    .ListBox {
        /* 小屏仍然保证最小 323px，但若空间不足会缩小到 1fr */
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }

    .ListBox .item .img {
        /* 在小屏幕上允许等比缩小，避免强制 323px 溢出 */
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        max-width: 323px;       /* 上限仍为 323px，保证清晰度 */
        margin: 0 auto;
    }
}

@media (max-width: 400px) {
    .ListBox {
        grid-template-columns: 1fr;
    }

    .ListBox .item .img {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        max-width: 323px;
        margin: 0 auto;
    }
}