.article-card {
    transition: transform 0.2s, box-shadow 0.2s;
}

.article-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.placeholder-img {
    height: 220px;
}

.card-img-top {
    height: 220px;
    object-fit: cover;
}

.carousel-photo {
    max-height: 500px;
    object-fit: contain;
    background: #f8f9fa;
    cursor: pointer;
}

.thumb-preview {
    opacity: 0.7;
    transition: opacity 0.2s;
    cursor: pointer;
}

.thumb-preview:hover {
    opacity: 1;
}

.article-description {
    white-space: pre-wrap;
}

#photoModal .modal-body {
    cursor: pointer;
}

#photoModal .modal-dialog {
    max-width: 90vw;
}
