/* Hover Effects - CSP-friendly replacement for inline handlers */

/* Button hover - scale effect */
.hover-scale {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hover-scale:hover {
    transform: scale(1.05);
}
.hover-scale:active {
    transform: scale(0.98);
}

/* Card hover - lift effect */
.hover-lift {
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.hover-lift:hover {
    transform: translateY(-4px);
    border-color: rgba(99, 102, 241, 0.6) !important;
    box-shadow: 0 8px 24px rgba(99, 102, 241, 0.2) !important;
}

/* Link hover - background change */
.hover-bg {
    transition: background 0.3s ease;
}
.hover-bg:hover {
    background: rgba(99, 102, 241, 0.2) !important;
}

/* Vote button hover */
.hover-vote {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hover-vote:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.5) !important;
}

/* Small lift for links */
.hover-lift-sm {
    transition: transform 0.3s ease;
}
.hover-lift-sm:hover {
    transform: translateY(-2px);
}

/* Copy button */
.copy-btn {
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.copy-btn:hover {
    transform: scale(1.1);
    opacity: 0.8;
}
.copy-btn:active {
    transform: scale(0.95);
}

/* Delete form confirmation - handled by JS */
.confirm-delete {
    /* marker class for JS */
}

/* Recruitment card hover */
.recruitment-card {
    transition: all 0.3s ease;
}
.recruitment-card:hover {
    border-color: rgba(99, 102, 241, 0.6) !important;
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(99, 102, 241, 0.2) !important;
}

/* Server card hover */
.server-card-hover {
    transition: all 0.3s ease;
}
.server-card-hover:hover {
    border-color: rgba(99, 102, 241, 0.5) !important;
    box-shadow: 0 8px 32px rgba(99, 102, 241, 0.15) !important;
}
