/* Candidate Sprite Component Styles */
.candidate-sprite {
    width: 160px;
    height: 160px;
    flex-shrink: 0;
}

.candidate-sprite svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 4px 12px rgba(1, 0, 128, 0.1));
}

/* Animation for SVG elements */
@media (prefers-reduced-motion: no-preference) {
    .candidate-sprite svg .person {
        animation: gentleBounce 3s ease-in-out infinite;
    }
    
    .candidate-sprite svg .checkmark-1 {
        animation: fadeInOut 4s ease-in-out infinite;
    }
    
    .candidate-sprite svg .checkmark-2 {
        animation: fadeInOut 4s ease-in-out infinite 2s;
    }
}

@keyframes gentleBounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@keyframes fadeInOut {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 1; }
}

/* Size Variations - Optional modifiers */
.candidate-sprite--small {
    width: 100px;
    height: 100px;
}

.candidate-sprite--medium {
    width: 160px;
    height: 160px;
}

.candidate-sprite--large {
    width: 240px;
    height: 240px;
}

/* Responsive sizing */
@media (max-width: 640px) {
    .candidate-sprite {
        width: 140px;
        height: 140px;
    }
}

@media (max-width: 480px) {
    .candidate-sprite {
        width: 120px;
        height: 120px;
    }
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
    .candidate-sprite svg .person,
    .candidate-sprite svg .checkmark-1,
    .candidate-sprite svg .checkmark-2 {
        animation: none;
    }
    
    .candidate-sprite svg circle[animate] {
        animation: none;
    }
}