/* ==================== 图库页专属样式 ==================== */
.photo-wall-container {
    max-width: 1600px;
    margin: 0 auto;
    background: var(--surface-raised);
    border: 1px solid var(--line);
    border-radius: 1rem;
    box-shadow: 0 6px 20px var(--shadow-color);
    transition: all 0.4s;
}

/* Masonry 网格 */
#masonry-grid {
    margin: 0 -8px;
}

.grid-item {
    width: 25%;
    padding: 8px;
    box-sizing: border-box;
}

@media (max-width: 992px) {
    .grid-item {
        width: 33.333%;
    }
}

@media (max-width: 576px) {
    .grid-item {
        width: 50%;
    }
}

@media (max-width: 400px) {
    .grid-item {
        width: 100%;
    }
}

/* 图片 hover */
.card-img-top {
    transition: transform 0.35s ease;
    cursor: pointer;
}

.card-img-top:hover {
    transform: scale(1.06);
}

/* 上传卡片 */
.upload-item {
    min-height: 220px;
}

.upload-card {
    border: 2px dashed var(--upload-border);
    background: var(--upload-bg);
    transition: all 0.25s ease;
    color: var(--upload-text);
}

.upload-card.dragover {
    background: var(--upload-hover-bg);
    border-color: var(--upload-hover-border);
}

.upload-dropzone {
    cursor: pointer;
    color: var(--upload-text);
}

.upload-dropzone i,
.upload-dropzone p,
.upload-dropzone small {
    pointer-events: none;
}
