/* Parent-site contact page: a single, calm and accessible form surface. */
.ncit-page-contact .entry-body {
    --contact-ink: var(--ncit-ink, #002387);
    --contact-text: #2c4050;
    --contact-muted: #5a6d7b;
    --contact-accent: var(--ncit-accent, #315d7a);
    --contact-line: rgba(31, 72, 91, .18);
    --contact-soft: #eef5f6;
}

.ncit-page-contact .entry-body > .ncit-contact-form {
    max-width: 900px;
    margin: 0 auto;
    padding: 32px;
    border: 1px solid var(--contact-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(32, 70, 88, .07);
}

.ncit-page-contact .ncit-contact-form .wpforms-form {
    max-width: 100%;
}

.ncit-page-contact .ncit-contact-form .wpforms-field {
    padding: 0 0 24px;
}

.ncit-page-contact .ncit-contact-form .wpforms-field-label {
    margin: 0 0 10px;
    color: var(--contact-text) !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    line-height: 1.5;
}

.ncit-page-contact .ncit-contact-form .wpforms-required-label {
    color: #b53b45 !important;
}

.ncit-page-contact .ncit-contact-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.ncit-page-contact .ncit-contact-form select,
.ncit-page-contact .ncit-contact-form textarea {
    width: 100% !important;
    max-width: none !important;
    border: 1px solid var(--contact-line) !important;
    border-radius: 8px !important;
    background: #f8fafb !important;
    color: var(--contact-text) !important;
    font-size: 1rem !important;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.ncit-page-contact .ncit-contact-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.ncit-page-contact .ncit-contact-form select {
    min-height: 54px !important;
    padding: 12px 14px !important;
}

.ncit-page-contact .ncit-contact-form textarea {
    min-height: 190px !important;
    padding: 14px !important;
    resize: vertical;
}

.ncit-page-contact .ncit-contact-form input:focus,
.ncit-page-contact .ncit-contact-form select:focus,
.ncit-page-contact .ncit-contact-form textarea:focus {
    border-color: var(--contact-accent) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(49, 93, 122, .14) !important;
    outline: 0 !important;
}

.ncit-page-contact .ncit-contact-form .wpforms-error {
    color: #a8323c !important;
}

.ncit-page-contact .ncit-contact-form input.wpforms-error,
.ncit-page-contact .ncit-contact-form textarea.wpforms-error {
    border-color: #b53b45 !important;
}

.ncit-page-contact .ncit-contact-form .wpforms-submit-container {
    padding-top: 6px !important;
}

body.ncit-page-contact .site-body .ncit-contact-form button.wpforms-submit {
    min-width: 260px;
    min-height: 56px;
    padding: 15px 30px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--contact-ink) !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 24px rgba(18, 63, 104, .16);
    transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.ncit-page-contact .site-body .ncit-contact-form button.wpforms-submit:hover {
    background: var(--contact-accent) !important;
    box-shadow: 0 12px 28px rgba(49, 93, 122, .2);
    transform: translateY(-2px);
}

body.ncit-page-contact .site-body .ncit-contact-form button.wpforms-submit:focus-visible {
    outline: 3px solid rgba(49, 93, 122, .3) !important;
    outline-offset: 3px;
}

.ncit-page-contact .ncit-contact-form .wpforms-confirmation-container-full {
    margin: 0;
    padding: 22px 24px;
    border: 1px solid rgba(49, 93, 122, .25);
    border-radius: 10px;
    background: var(--contact-soft);
    color: var(--contact-text);
}

@media (max-width: 767px) {
    .ncit-page-contact .entry-body > .ncit-contact-form {
        padding: 20px;
        border-radius: 12px;
    }

    body.ncit-page-contact .site-body .ncit-contact-form button.wpforms-submit {
        width: 100%;
        min-width: 0;
    }
}
