/**
 * NoParam Email Validation - WordPress Registration Integration Styles
 */

/* Validation feedback messages */
.noparam-validation-feedback {
    margin: 5px 0;
    font-size: 13px;
    line-height: 1.4;
    clear: both;
}

.noparam-validation-feedback .valid {
    color: #2ecc71;
    display: flex;
    align-items: center;
}

.noparam-validation-feedback .valid:before {
    content: "✓";
    margin-right: 5px;
}

.noparam-validation-feedback .invalid {
    color: #e74c3c;
    display: flex;
    align-items: center;
}

.noparam-validation-feedback .invalid:before {
    content: "✗";
    margin-right: 5px;
}

.noparam-validation-feedback .validating {
    color: #7f8c8d;
    font-style: italic;
}

.noparam-validation-feedback .error {
    color: #e67e22;
}

/* Enhanced validation messages with background */
.noparam-validation-message {
    font-size: 14px;
    margin: 5px 0 10px;
    padding: 8px 12px;
    border-radius: 4px;
    transition: all 0.2s ease;
    max-width: 100%;
    word-wrap: break-word;
    box-sizing: border-box;
    display: none;
    line-height: 1.5;
    max-height: 200px;
    overflow-y: auto;
}

.noparam-validation-message:not(:empty) {
    display: block;
}

.noparam-validating {
    background-color: #e8f4fd;
    color: #0275d8;
    border-left: 3px solid #0275d8;
}

.noparam-valid {
    background-color: #d4edda;
    color: #155724;
    border-left: 3px solid #28a745;
}

.noparam-invalid {
    background-color: #f8d7da;
    color: #721c24;
    border-left: 3px solid #dc3545;
}

/* WordPress specific integration styles */
#registerform .noparam-validation-feedback,
.register-form .noparam-validation-feedback,
.woocommerce-form-register .noparam-validation-feedback {
    margin-bottom: 12px;
}

#registerform .noparam-validation-message,
.register-form .noparam-validation-message,
.woocommerce-form-register .noparam-validation-message {
    margin-bottom: 15px;
}

/* Handle WordPress admin area if needed */
.wp-admin .noparam-validation-feedback {
    margin: 8px 0;
}

/* Animation for error shake */
@keyframes noparam-shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
    20%, 40%, 60%, 80% { transform: translateX(5px); }
}

.noparam-error-shake {
    animation: noparam-shake 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

/* For very long errors, create a gradient fade effect */
.noparam-validation-message.noparam-overflowing:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 20px;
    pointer-events: none;
}

.noparam-validation-message.noparam-invalid.noparam-overflowing:after {
    background: linear-gradient(to bottom, transparent, rgba(248, 215, 218, 0.9));
}

.noparam-validation-message.noparam-valid.noparam-overflowing:after {
    background: linear-gradient(to bottom, transparent, rgba(212, 237, 218, 0.9));
}

/* Responsive styles */
@media (max-width: 768px) {
    .noparam-validation-message {
        font-size: 13px;
        padding: 6px 10px;
    }
    
    #registerform .noparam-validation-feedback,
    .register-form .noparam-validation-feedback {
        margin-bottom: 10px;
    }
}