
/* =====================================================
   DEFENSE CONTACT FORM
   Header-matching red button, clean fields and layout
   ===================================================== */


/* 1. MAIN FORM */

.defense-contact-form {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}


/* 2. REMOVE CONTACT FORM 7 AUTOMATIC BREAKS */

.defense-contact-form br {
    display: none !important;
    content: none !important;
}

/* Reset CF7 paragraph spacing */

.defense-contact-form p {
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove unwanted spacing around CF7 response elements */

.defense-contact-form .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* 3. TWO-COLUMN ROWS */

.defense-contact-form .defense-form-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* 4. FIELD CONTAINERS */

.defense-contact-form .defense-form-field {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* CF7 paragraph inside field */

.defense-contact-form .defense-form-field p {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* 5. LABELS */

.defense-contact-form .defense-form-field label {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #252A35 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-align: left !important;
}


/* 6. INPUTS AND SELECT */

.defense-contact-form .defense-form-field input,
.defense-contact-form .defense-form-field select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 50px !important;
    min-height: 50px !important;

    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 16px !important;

    background: #FFFFFF !important;
    border: 1px solid #D5D9E0 !important;
    border-radius: 7px !important;

    color: #252A35 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: normal !important;

    outline: none !important;
    box-shadow: none !important;
    appearance: auto !important;

    transition: border-color 0.25s ease,
                box-shadow 0.25s ease !important;
}


/* 7. PLACEHOLDERS */

.defense-contact-form input::placeholder,
.defense-contact-form textarea::placeholder {
    color: #7B8493 !important;
    opacity: 1 !important;
}


/* 8. DROPDOWN */

.defense-contact-form .defense-form-field select {
    background-color: #FFFFFF !important;
    color: #252A35 !important;
    cursor: pointer !important;
}

.defense-contact-form .defense-form-field select option {
    background: #FFFFFF !important;
    color: #252A35 !important;
}


/* 9. INPUT FOCUS */

.defense-contact-form .defense-form-field input:focus,
.defense-contact-form .defense-form-field select:focus,
.defense-contact-form .defense-form-field textarea:focus {
    background: #FFFFFF !important;
    color: #252A35 !important;
    border-color: #D4A44C !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(212, 164, 76, 0.15) !important;
}


/* 10. MESSAGE TEXTAREA */

.defense-contact-form .defense-message-field {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.defense-contact-form .defense-message-field p {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.defense-contact-form .defense-message-field textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;

    height: 125px !important;
    min-height: 125px !important;

    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 14px 16px !important;

    background: #FFFFFF !important;
    border: 1px solid #D5D9E0 !important;
    border-radius: 7px !important;

    color: #252A35 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;

    outline: none !important;
    box-shadow: none !important;
    resize: vertical !important;
}


/* =====================================================
   11. SUBMIT BUTTON
   Matches the header's Book Consultation button
   ===================================================== */

.defense-contact-form button[type="submit"],
.defense-contact-form input[type="submit"],
.defense-contact-form .wpcf7-submit {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;

    width: 100% !important;
    max-width: 100% !important;

    min-height: 56px !important;
    height: auto !important;

    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 16px 24px !important;

    /* Header-matching red gradient */

    background: linear-gradient(
        135deg,
        #E50914 0%,
        #C8202D 100%
    ) !important;

    border: 1px solid #D92330 !important;
    border-radius: 6px !important;

    color: #FFFFFF !important;

    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;

    text-align: center !important;
    text-transform: none !important;
    letter-spacing: 0 !important;

    outline: none !important;
    box-shadow: 0 4px 15px rgba(229, 9, 20, 0.20) !important;

    cursor: pointer !important;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease !important;
}

/* Button icon */

.defense-contact-form button[type="submit"] i,
.defense-contact-form .wpcf7-submit i {
    display: inline-block !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Button hover */

.defense-contact-form button[type="submit"]:hover,
.defense-contact-form input[type="submit"]:hover,
.defense-contact-form .wpcf7-submit:hover {
    background: linear-gradient(
        135deg,
        #C8202D 0%,
        #A91724 100%
    ) !important;

    border-color: #A91724 !important;
    color: #FFFFFF !important;

    box-shadow: 0 6px 18px rgba(229, 9, 20, 0.30) !important;
    transform: translateY(-1px) !important;
}

/* Button active */

.defense-contact-form button[type="submit"]:active,
.defense-contact-form .wpcf7-submit:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 6px rgba(229, 9, 20, 0.20) !important;
}


/* =====================================================
   12. CONFIDENTIALITY DISCLAIMER
   ===================================================== */

.defense-contact-form .form-disclaimer,
.defense-contact-form .defense-form-disclaimer {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #525866 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: center !important;
}

.defense-contact-form .form-disclaimer i,
.defense-contact-form .defense-form-disclaimer i {
    color: #B98932 !important;
    font-size: 13px !important;
}


/* 13. VALIDATION MESSAGES */

.defense-contact-form .wpcf7-not-valid-tip {
    display: block !important;
    margin-top: 5px !important;

    color: #D93636 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.defense-contact-form .wpcf7-not-valid {
    border-color: #D93636 !important;
}

.defense-contact-form .wpcf7-response-output {
    margin: 15px 0 0 !important;
    padding: 12px 15px !important;
    border-radius: 6px !important;

    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}


/* =====================================================
   14. TABLET AND MOBILE
   ===================================================== */

@media (max-width: 767px) {

    .defense-contact-form {
        gap: 18px !important;
    }

    .defense-contact-form .defense-form-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }

    .defense-contact-form .defense-form-field label {
        font-size: 13px !important;
    }

    .defense-contact-form .defense-form-field input,
    .defense-contact-form .defense-form-field select {
        height: 48px !important;
        min-height: 48px !important;
        font-size: 14px !important;
    }

    .defense-contact-form .defense-message-field textarea {
        height: 120px !important;
        min-height: 120px !important;
    }

    .defense-contact-form button[type="submit"],
    .defense-contact-form input[type="submit"],
    .defense-contact-form .wpcf7-submit {
        min-height: 52px !important;
        padding: 14px 16px !important;
        font-size: 14px !important;
    }

    .defense-contact-form .form-disclaimer,
    .defense-contact-form .defense-form-disclaimer {
        font-size: 12px !important;
    }
}