.ev-contact-wizard,
.ev-contact-wizard * {
    box-sizing: border-box;
}

/*
 * EV Contact — compact site-matched form
 * Deliberately scoped under .ev-contact-wizard so WPBakery/theme CSS
 * cannot blow up the typography or wash out the form controls.
 */
.ev-contact-wizard {
    --ev-text: #FFF7BB;
    --ev-muted: #aaa7a2;
    --ev-border: rgba(255,255,255,0.18);
    --ev-field: rgba(0,0,0,0.20);
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: var(--ev-bg-card, #433123) !important;
    color: var(--ev-text) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: inherit !important;
}

.ev-contact-wizard .ev-contact-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 42px 42px 38px !important;
}

.ev-contact-wizard .ev-contact-kicker,
.ev-contact-wizard .ev-field-label {
    display: block !important;
    color: var(--ev-primary, #9b9893) !important;
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

.ev-contact-wizard .ev-contact-kicker {
    margin: 0 0 15px !important;
}

.ev-contact-wizard .ev-contact-title {
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: #FFF7BB !important;
    font-family: inherit !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
    text-transform: none !important;
}

.ev-contact-wizard .ev-contact-intro {
    max-width: 650px !important;
    margin: 0 0 34px !important;
    padding: 0 !important;
    color: #bbb8b3 !important;
    font-family: inherit !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
}

.ev-contact-wizard .ev-simple-form {
    margin: 0 !important;
    padding: 0 !important;
}

.ev-contact-wizard .ev-service-fieldset {
    min-width: 0 !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    border: 0 !important;
}

.ev-contact-wizard .ev-field-label {
    margin: 0 0 14px !important;
}

.ev-contact-wizard legend.ev-field-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    text-align: center !important;
    background: transparent !important;
}

.ev-contact-wizard .ev-service-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ev-contact-wizard .ev-service-option {
    display: block !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
}

.ev-contact-wizard .ev-service-option input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.ev-contact-wizard .ev-service-option span {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 13px 20px !important;
    border: 1px solid var(--ev-border) !important;
    border-radius: 10px !important;
    background: rgba(0,0,0,0.12) !important;
    color: #FFF7BB !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    box-shadow: none !important;
    transition: border-color 150ms ease, background-color 150ms ease !important;
}

.ev-contact-wizard .ev-service-option:hover span,
.ev-contact-wizard .ev-service-option input:focus-visible + span {
    border-color: rgba(255,255,255,0.3) !important;
    background: rgba(0,0,0,0.18) !important;
}

.ev-contact-wizard .ev-service-option.is-selected span,
.ev-contact-wizard .ev-service-option input:checked + span {
    border-color: #FFF7BB !important;
    box-shadow: inset 0 0 0 1px rgba(255,247,187,0.55) !important;
    background: rgba(0,0,0,0.24) !important;
}

.ev-contact-wizard .ev-contact-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ev-contact-wizard .ev-field,
.ev-contact-wizard .ev-field-half,
.ev-contact-wizard .ev-field-full {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ev-contact-wizard .ev-field-full {
    grid-column: 1 / -1 !important;
}

.ev-contact-wizard input.ev-input,
.ev-contact-wizard textarea.ev-input {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 13px 18px !important;
    border: 1px solid rgba(255,255,255,0.16) !important;
    border-radius: 9px !important;
    outline: 0 !important;
    background: var(--ev-field) !important;
    background-color: var(--ev-field) !important;
    color: #FFF7BB !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}

.ev-contact-wizard input.ev-input::placeholder,
.ev-contact-wizard textarea.ev-input::placeholder {
    color: #aaa7a2 !important;
    opacity: 1 !important;
}

.ev-contact-wizard input.ev-input:focus,
.ev-contact-wizard textarea.ev-input:focus {
    border-color: #77736d !important;
    background: rgba(0,0,0,0.24) !important;
}

.ev-contact-wizard input.ev-input[aria-invalid="true"],
.ev-contact-wizard textarea.ev-input[aria-invalid="true"] {
    border-color: #bb7770 !important;
}

.ev-contact-wizard textarea.ev-textarea {
    min-height: 118px !important;
    height: 118px;
    resize: vertical !important;
}

.ev-contact-wizard .ev-field-error {
    min-height: 0 !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    color: #e0a19a !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

.ev-contact-wizard .ev-field-error:empty {
    display: none !important;
}

.ev-contact-wizard .ev-response-note {
    margin: 9px 0 8px !important;
    padding: 0 !important;
    color: #999690 !important;
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

.ev-contact-wizard button.ev-submit-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 13px 20px !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    border-radius: 10px !important;
    background: var(--ev-btn-bg, #433123) !important;
    background-color: var(--ev-btn-bg, #433123) !important;
    color: var(--ev-btn-text, #FFF7BB) !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: border-color 150ms ease, background-color 150ms ease !important;
}

.ev-contact-wizard button.ev-submit-button:hover,
.ev-contact-wizard button.ev-submit-button:focus-visible {
    border-color: rgba(255,255,255,0.28) !important;
    background: #4b3425 !important;
}

.ev-contact-wizard button.ev-submit-button:disabled {
    cursor: wait !important;
    opacity: .72 !important;
}

.ev-contact-wizard .ev-submit-loading { display: none !important; }
.ev-contact-wizard .ev-submit-button.is-loading .ev-submit-label { display: none !important; }
.ev-contact-wizard .ev-submit-button.is-loading .ev-submit-loading { display: inline !important; }

.ev-contact-wizard .ev-form-status {
    min-height: 0 !important;
    margin: 8px 0 0 !important;
    color: #aaa7a2 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.ev-contact-wizard .ev-form-status.is-error { color: #e0a19a !important; }

.ev-contact-wizard .ev-success {
    padding: 6px 0 2px !important;
    outline: none !important;
}

.ev-contact-wizard .ev-success h3 {
    margin: 0 0 10px !important;
    color: #FFF7BB !important;
    font-family: inherit !important;
    font-size: 28px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
}

.ev-contact-wizard .ev-success p {
    margin: 0 !important;
    color: #bbb8b3 !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}

.ev-contact-wizard .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 767px) {
    .ev-contact-wizard {
        width: 100% !important;
    }

    .ev-contact-wizard .ev-contact-inner {
        padding: 30px 20px 24px !important;
    }

    .ev-contact-wizard .ev-contact-title {
        font-size: 27px !important;
    }

    .ev-contact-wizard .ev-contact-intro {
        margin-bottom: 27px !important;
        font-size: 16px !important;
    }

    .ev-contact-wizard .ev-service-grid,
    .ev-contact-wizard .ev-contact-fields {
        grid-template-columns: 1fr !important;
    }

    .ev-contact-wizard .ev-service-fieldset {
        margin-bottom: 22px !important;
    }

    .ev-contact-wizard .ev-service-option span,
    .ev-contact-wizard input.ev-input,
    .ev-contact-wizard textarea.ev-input,
    .ev-contact-wizard button.ev-submit-button {
        font-size: 15px !important;
    }
}
