/**
 * Real-Time Email Validation Styles
 * Frontend validation feedback styling
 * 
 * @package SpamShieldPro
 * @since 3.0.0
 */

/* Email Field States */
.ssp-email-field {
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.ssp-email-field.ssp-validating {
    border-color: #dba617 !important;
    box-shadow: 0 0 0 2px rgba(219, 166, 23, 0.15) !important;
}

.ssp-email-field.ssp-valid {
    border-color: #00a32a !important;
    box-shadow: 0 0 0 2px rgba(0, 163, 42, 0.15) !important;
}

.ssp-email-field.ssp-invalid {
    border-color: #d63638 !important;
    box-shadow: 0 0 0 2px rgba(214, 54, 56, 0.15) !important;
}

.ssp-email-field.ssp-error {
    border-color: #dba617 !important;
    box-shadow: 0 0 0 2px rgba(219, 166, 23, 0.15) !important;
}

/* Feedback Container */
.ssp-email-feedback {
    display: none;
    margin-top: 6px;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.4;
    transition: all 0.3s ease;
}

.ssp-email-feedback.visible {
    display: flex;
    align-items: center;
    gap: 8px;
    animation: sspFadeSlideIn 0.3s ease;
}

/* Feedback States */
.ssp-email-feedback.validating {
    background-color: #fff8e5;
    border: 1px solid #f0d273;
    color: #8c6d1f;
}

.ssp-email-feedback.valid {
    background-color: #edf9f0;
    border: 1px solid #b8e1c4;
    color: #0f5132;
}

.ssp-email-feedback.invalid {
    background-color: #fceced;
    border: 1px solid #f0c2c3;
    color: #842029;
}

.ssp-email-feedback.error {
    background-color: #fff8e5;
    border: 1px solid #f0d273;
    color: #8c6d1f;
}

/* Icons */
.ssp-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    font-size: 11px;
    font-weight: bold;
    flex-shrink: 0;
}

.ssp-icon-valid {
    background-color: #00a32a;
    color: white;
}

.ssp-icon-invalid {
    background-color: #d63638;
    color: white;
}

.ssp-icon-error {
    background-color: #dba617;
    color: white;
}

/* Spinner */
.ssp-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    border-top-color: #8c6d1f;
    animation: sspSpin 0.6s linear infinite;
    flex-shrink: 0;
}

/* Animations */
@keyframes sspFadeSlideIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes sspSpin {
    to {
        transform: rotate(360deg);
    }
}

/* Pulse animation for valid state */
.ssp-email-field.ssp-valid-pulse {
    animation: sspValidPulse 0.6s ease;
}

@keyframes sspValidPulse {
    0%, 100% {
        box-shadow: 0 0 0 2px rgba(0, 163, 42, 0.15);
    }
    50% {
        box-shadow: 0 0 0 4px rgba(0, 163, 42, 0.3);
    }
}

/* Message text */
.ssp-feedback-message {
    flex: 1;
}
