/* ==========================================
   PROFESSIONAL MAGNETIC CARD EFFECTS
   ========================================== */

/* Add perspective to grid */
.ai-projects-grid {
    perspective: 2000px;
}

.ai-project-card {
    background: linear-gradient(135deg,
            rgba(255, 255, 255, 0.08) 0%,
            rgba(255, 255, 255, 0.02) 100%);
    backdrop-filter: blur(40px) saturate(180%) brightness(110%);
    -webkit-backdrop-filter: blur(40px) saturate(180%) brightness(110%);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 28px;
    padding: 2.5rem 2rem;
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset,
        0 1px 0 rgba(255, 255, 255, 0.15) inset;
    position: relative;
    overflow: visible;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
}

body.light-theme .ai-project-card {
    background: linear-gradient(135deg,
            rgba(255, 255, 255, 0.9) 0%,
            rgba(255, 255, 255, 0.7) 100%);
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.08),
        0 0 0 1px rgba(255, 255, 255, 0.8) inset,
        0 1px 0 rgba(255, 255, 255, 1) inset;
}

/* Hover: glow only, no lift (no jumping text) */
.ai-project-card:hover {
    border-color: rgba(255, 255, 255, 0.25);
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.18),
        0 0 0 1px rgba(255, 255, 255, 0.15) inset,
        0 2px 0 rgba(255, 255, 255, 0.2) inset;
}

body.light-theme .ai-project-card:hover {
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(255, 255, 255, 1) inset,
        0 2px 0 rgba(255, 255, 255, 1) inset;
}

/* Subtle shine effect */
.ai-project-card::before {
    content: '';
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
            rgba(255, 255, 255, 0.1) 0%,
            transparent 50%);
    border-radius: 28px;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.ai-project-card:hover::before {
    opacity: 1;
}

/* Icon Gradients - unified to single accent treatment */
.icon-violet,
.icon-emerald,
.icon-blue,
.icon-amber,
.icon-rose,
.icon-indigo,
.icon-teal,
.icon-pink,
.icon-cyan,
.icon-purple,
.icon-slate,
.icon-orange,
.icon-red,
.icon-lime,
.icon-green {
    background:
        linear-gradient(135deg, rgba(var(--accent-rgb), 0.18) 0%, rgba(var(--accent-rgb), 0.06) 100%);
    border: 1px solid rgba(var(--accent-rgb), 0.32);
    box-shadow: 0 4px 16px rgba(var(--accent-rgb), 0.12);
}

.availability-badge.active .pulse::before {
    background: linear-gradient(135deg, var(--accent-secondary) 0%, var(--accent-primary) 100%);
}

.project-icon-wrapper i {
    color: var(--accent-primary) !important;
    filter: none !important;
}

body.light-theme .project-icon-wrapper i {
    color: var(--accent-strong) !important;
}

/* Icon wrapper refinement */
.project-icon-wrapper {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.ai-project-card:hover .project-icon-wrapper {
    box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.2);
}
/* ==========================================
   PREMIUM CARD MICRO-INTERACTIONS
   ========================================== */

/* Animated accent line grows from center on hover */
.ai-project-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: linear-gradient(90deg,
        transparent,
        rgba(var(--accent-rgb), 0.7),
        transparent);
    border-radius: 2px;
    opacity: 0;
    transition:
        width 0.5s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.4s ease;
    pointer-events: none;
}

.ai-project-card:hover::after {
    width: 60%;
    opacity: 1;
}

/* Subtle lift + brighter title on hover */
.ai-project-card {
    transition:
        transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.4s ease,
        box-shadow 0.4s ease;
}

.ai-project-card:hover {
    transform: translateY(-4px);
}

.ai-project-card h3 {
    transition: filter 0.4s ease;
}

.ai-project-card:hover h3 {
    filter: brightness(1.15);
}

/* Icon wrapper subtle pulse on card hover */
.ai-project-card .project-icon-wrapper {
    transition:
        transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.4s ease;
}

.ai-project-card:hover .project-icon-wrapper {
    transform: translateY(-2px) scale(1.04);
    box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.2),
        0 0 0 1px rgba(var(--accent-rgb), 0.18),
        0 0 24px rgba(var(--accent-rgb), 0.25);
}

/* Tags glow subtly on card hover */
.ai-project-card .project-tags span {
    transition: all 0.3s ease;
}

.ai-project-card:hover .project-tags span {
    border-color: rgba(var(--accent-rgb), 0.4);
}
