/* =========================================================
   INDEX — Book Appointment form (match contact inputs)
========================================================= */

.appointment-form.vh-appt-form-card {
    background: #fff !important;
    border-radius: 28px !important;
    padding: 36px 32px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

.appointment-form.vh-appt-form-card .section-title {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 28px !important;
}

.appointment-form.vh-appt-form-card .section-title h2 {
    color: var(--heading-color, #123A5C) !important;
}

.appointment-form.vh-appt-form-card .section-title h2 span {
    color: var(--label-color, #43992a) !important;
}

.dark-section .appointment-form.vh-appt-form-card .section-title h2 {
    color: var(--heading-color, #123A5C) !important;
}

.dark-section .appointment-form.vh-appt-form-card .vh-field label,
.appointment-form.vh-appt-form-card .vh-field label {
    color: var(--heading-color, #123A5C) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
}

.appointment-form.vh-appt-form-card .vh-contact-form .form-control {
    color: var(--heading-color, #123A5C) !important;
    background: #F1F3F6 !important;
    border: none !important;
    border-radius: 16px !important;
    min-height: 56px;
    padding: 16px 20px !important;
    font-size: 15px !important;
    box-shadow: none !important;
}

.appointment-form.vh-appt-form-card .vh-contact-form .form-control::placeholder {
    color: #8A94A3 !important;
    opacity: 1 !important;
}

.appointment-form.vh-appt-form-card .vh-contact-form textarea.form-control {
    min-height: 150px !important;
}

.appointment-form.vh-appt-form-card .vh-contact-form .form-control:focus {
    background: #e8edf3 !important;
    box-shadow: 0 0 0 2px rgba(254, 109, 2, 0.25) !important;
}

.appointment-form.vh-appt-form-card .vh-contact-submit {
    width: 100% !important;
    margin-top: 8px;
}

.appointment-form.vh-appt-form-card .help-block.with-errors {
    color: #c62828;
    font-size: 12px;
    margin-top: 6px;
}

.appointment-form.vh-appt-form-card .form-group.has-error .form-control {
    background: #fff5f5 !important;
    box-shadow: 0 0 0 2px rgba(198, 40, 40, 0.28) !important;
}

.appointment-form.vh-appt-form-card #msgSubmit.text-success {
    color: #43992a !important;
    font-size: 14px !important;
    margin-top: 12px;
}

.appointment-form.vh-appt-form-card #msgSubmit.text-danger {
    color: #c62828 !important;
    font-size: 14px !important;
    margin-top: 12px;
}

@media (max-width: 991px) {
    .appointment-form.vh-appt-form-card {
        padding: 28px 20px !important;
        margin-top: 24px;
    }
}

@media (max-width: 767px) {
    .appointment-form.vh-appt-form-card {
        padding: 22px 16px !important;
        border-radius: 22px !important;
    }

    .appointment-form.vh-appt-form-card .vh-contact-form-row {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    .appointment-form.vh-appt-form-card .vh-contact-form-row .vh-field {
        margin-bottom: 16px !important;
    }
}
