/* ============================================================
   News Cards — hover effect for listing pages
   ============================================================ */

.news-card {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -10px rgba(99, 102, 241, 0.18);
}
.news-card .news-card-img {
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.news-card:hover .news-card-img {
    transform: scale(1.06);
}

/* Image drag container (admin/member CMS) */
.img-drag-container {
    position: relative;
    cursor: default;
    user-select: none;
}
.img-drag-container.has-image { cursor: grab; }
.img-drag-container.has-image:active { cursor: grabbing; }
.img-drag-container img {
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}
.img-pos-hint {
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    font-size: 10px;
    padding: 2px 10px;
    border-radius: 9999px;
    pointer-events: none;
    font-family: 'JetBrains Mono', monospace;
    backdrop-filter: blur(4px);
}
