/**
 * Comment form validation styles
 */
 .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;
}

.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;
}

/* 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;
}

/* Make sure error messages look good on mobile */
@media (max-width: 768px) {
    .noparam-validation-message {
        font-size: 13px;
        padding: 6px 10px;
    }
}

/* Long content improvements */
.noparam-validation-message {
    max-height: 200px;
    overflow-y: auto;
}

/* For very long errors, create a gradient fade at the bottom if content is cut off */
.noparam-validation-message.noparam-overflowing:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 20px;
    background: linear-gradient(to bottom, transparent, rgba(248, 215, 218, 0.9));
    pointer-events: none;
}

.noparam-validation-message.noparam-valid.noparam-overflowing:after {
    background: linear-gradient(to bottom, transparent, rgba(212, 237, 218, 0.9));
}