/* NCodeSite v2 additions — server-rendered contact form states.
   New styles only; v1 files (main.css, all.min.css) stay untouched. */

/* Success confirmation shown in place of the form after a successful send.
   Values match the inline styles v1 main.js applied to .success-message. */
.success-message {
    border: 1px solid #28a745;
    background-color: #dff0d8;
    padding: 20px;
    margin-top: 20px;
    color: #155724;
    font-family: Arial, sans-serif;
    border-radius: 5px;
}

/* Honeypot field — moved off-screen (not display:none, so bots still fill it). */
.extra-field {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
}

/* GDPR consent line above the submit button. */
.form-consent {
    color: #aaa;
    font-size: 0.8rem;
    margin: 10px 0 15px;
}

.form-consent a {
    color: #ccc;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.form-consent a:hover {
    color: #007bff;
}

/* Server-side validation errors — subtle red that reads on the dark theme. */
.field-validation-error {
    display: block;
    color: #e57373;
    font-size: 0.8rem;
    margin-top: 5px;
}

.validation-summary-errors {
    color: #e57373;
    font-size: 0.9rem;
    margin-bottom: 15px;
}

.validation-summary-errors ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Progressive-enhancement "Sending…" state set by main.js on submit.
   site.css loads after main.css, so this also wins over .btn-primary:hover. */
.btn-primary:disabled {
    background-color: #4a6f94;
    cursor: wait;
    opacity: 0.8;
}
