/* --- OPTIMIZED SOLID CARD SYSTEM --- */
.glass-card {
    /* Stripped backdrop-filter to eliminate GPU lag */
    background: var(--glass-bg) !important; 
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 25px;
    min-width: 100px;
    box-shadow: var(--shadow);
    
    /* PERFORMANCE FIX: Strictly GPU-bound transitions */
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    
    /* Layer promotion: ensures the card stays on its own compositor layer */
    will-change: transform;
    transform: translate3d(0, 0, 0);
}

/* Depth effect using only transform for 60fps performance */
.glass-card-anim:hover {
    transform: translate3d(0, -5px, 0);
    /* Reduced spread shadow to keep paint times low */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.glass-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    border-bottom: 1px solid var(--glass-border);
    padding-bottom: 10px;
}

.glass-card-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.5px;
}

.glass-card-body {
    font-size: 14px;
    line-height: 1.6;
    color: var(--text);
    /* Better for performance than 'opacity' which can trigger re-paints */
    color: var(--text); 
}

/* Button optimization inside cards */
.glass-card-body .btn {
    margin-top: 20px;
    width: 100%;
    padding: 12px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 600;
    /* Isolate the button layer */
    transform: translate3d(0, 0, 0);
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.glass-card-body .btn:active {
    transform: translate3d(0, 0, 0) scale(0.98);
}