/**
 * Sensoft CF7 Form Styles
 * Matches the existing dark-bg (#455560) form design used across the site.
 *
 * Form wrapper classes:
 *   .sensoft-contact-form    — Contact Us form (ID 18333)
 *   .sensoft-newsletter-form — Newsletter Signup form (ID 18334)
 *
 * Checkbox container classes:
 *   .newsletter-subs-list    — Newsletter subscriptions (vertical stack)
 */

/* ============================================
   BASE FORM CONTAINER — force white text
   ============================================ */
#form .wpcf7 {
    width: 100%;
    color: #fff !important;
}

#form .wpcf7-form {
    margin: 0;
    padding: 0;
    color: #fff !important;
}

/* Global: all text inside #form must be white */
#form .wpcf7-form p,
#form .wpcf7-form span,
#form .wpcf7-form label,
#form .wpcf7-form .wpcf7-list-item-label,
#form p,
#form label,
#form span,
#form .wpcf7-list-item-label,
.contactus #form p,
.contactus #form label,
.contactus #form span {
    color: #fff !important;
    font-family: "Conv_Forza-Book", Arial, Helvetica, sans-serif;
}

/* ============================================
   FORM ROWS
   ============================================ */
#form .form-row {
    width: 100%;
    margin: 0;
    padding-bottom: 15px;
}

#form .form-row label {
    display: block;
    border-radius: 0;
    font-size: 14px;
    border: none;
    color: #fff !important;
    margin: 0;
    padding: 0 0 5px 0;
    font-family: "Conv_Forza-Book", Arial, Helvetica, sans-serif;
}

/* ============================================
   TWO-COLUMN LAYOUT
   ============================================ */
#form .two-col {
    width: 100%;
    display: block;
    overflow: hidden;
}

#form .two-col .form-left {
    float: left;
    width: 49%;
    padding-right: 1%;
}

#form .two-col .form-right {
    float: right;
    width: 49%;
    padding-left: 1%;
}

/* ============================================
   INPUT FIELDS
   ============================================ */
#form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

#form .wpcf7-text,
#form .wpcf7-email,
#form .wpcf7-tel,
#form .wpcf7-url,
#form .wpcf7-textarea,
#form .wpcf7-select {
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    margin: 0;
    padding: 0;
    -webkit-padding-start: 0px;
    line-height: 44px;
    height: 44px;
    font-family: 'Conv_Forza-Book', Arial, sans-serif;
    text-indent: 10px;
    border: none;
    border-radius: 0;
    font-size: 14px;
    color: #000 !important;
    box-sizing: border-box;
}

#form .wpcf7-textarea {
    height: 100px;
    line-height: 1.5;
    padding: 10px;
    text-indent: 0;
    overflow: visible;
    resize: vertical;
}

#form .wpcf7-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px;
    padding-right: 30px;
}

/* Ensure inputs keep dark text on white bg */
#form input[type="text"],
#form input[type="email"],
#form input[type="tel"],
#form input[type="url"],
#form textarea,
#form select {
    color: #000 !important;
}

/* Placeholder text */
#form input::placeholder,
#form textarea::placeholder {
    color: #999;
    opacity: 1;
}

/* ============================================
   RADIO BUTTONS — default: inline flow
   ============================================ */
#form .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
    padding: 5px 0;
}

#form .wpcf7-radio .wpcf7-list-item {
    display: inline-flex;
    align-items: center;
    margin: 0;
    flex-wrap: nowrap;
    gap: 8px;
    width: auto;
    white-space: nowrap;
}

#form .wpcf7-radio .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff !important;
    font-size: 14px;
    font-family: 'Conv_Forza-Book', Arial, sans-serif;
    cursor: pointer;
    height: auto;
    padding: 3px 0;
}

#form .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label {
    color: #fff !important;
    font-size: 14px;
}

#form .wpcf7-radio input[type="radio"] {
    width: 16px;
    height: 16px;
    margin: 0;
    line-height: normal;
    accent-color: #ffd300;
    flex-shrink: 0;
}

/* ============================================
   CHECKBOXES — default: inline flow
   Items flow left-to-right, wrapping naturally.
   ============================================ */
#form .wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
    padding: 5px 0;
}

#form .wpcf7-checkbox .wpcf7-list-item {
    display: inline-flex;
    align-items: center;
    margin: 0;
    flex-wrap: nowrap;
    gap: 8px;
    width: auto;
    white-space: nowrap;
}

#form .wpcf7-checkbox .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff !important;
    font-size: 14px;
    font-family: 'Conv_Forza-Book', Arial, sans-serif;
    cursor: pointer;
    height: auto;
    padding: 3px 0;
}

#form .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
    color: #fff !important;
    font-size: 14px;
}

#form .wpcf7-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    line-height: normal;
    accent-color: #ffd300;
    flex-shrink: 0;
}

/* ============================================
   NEWSLETTER CHECKBOXES — vertical stacked list
   Targets .newsletter-subs-list container class
   ============================================ */
#form .newsletter-subs-list .wpcf7-checkbox {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#form .newsletter-subs-list .wpcf7-checkbox .wpcf7-list-item {
    display: flex;
    align-items: flex-start;
}

#form .newsletter-subs-list .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
    line-height: 1.4;
}

/* ============================================
   SUBMIT BUTTON
   ============================================ */
#form .wpcf7-submit,
#form .btn-getintouch {
    margin-top: 20px;
    display: block;
    background: #ffd300;
    font-size: 16px;
    font-family: 'Conv_Forza-Bold', Arial, sans-serif;
    color: #000;
    text-align: center;
    height: 55px;
    line-height: 55px;
    border: none;
    cursor: pointer;
    margin-bottom: 40px;
    width: 100%;
    padding: 0;
    border-radius: 0;
    -webkit-appearance: none;
    transition: background-color 0.2s;
}

#form .wpcf7-submit:hover,
#form .btn-getintouch:hover {
    background: #e6be00;
}

/* ============================================
   VALIDATION MESSAGES
   ============================================ */
#form .wpcf7-not-valid-tip {
    color: #ffd300;
    font-size: 12px;
    font-family: 'Conv_Forza-Book', Arial, sans-serif;
    padding-top: 4px;
    display: block;
}

#form .wpcf7-response-output {
    color: #fff;
    border: 1px solid #ffd300;
    padding: 10px 15px;
    margin: 10px 0;
    font-family: 'Conv_Forza-Book', Arial, sans-serif;
    font-size: 14px;
}

#form .wpcf7-form.sent .wpcf7-response-output {
    border-color: #46b450;
    color: #46b450;
}

#form .wpcf7-form.failed .wpcf7-response-output,
#form .wpcf7-form.aborted .wpcf7-response-output {
    border-color: #dc3232;
    color: #dc3232;
}

#form .wpcf7-not-valid {
    border: 1px solid #ffd300;
}

/* ============================================
   CAPTCHA / TURNSTILE
   ============================================ */
#form .wpcf7-turnstile,
#form .cf-turnstile {
    padding: 10px 0;
}

/* ============================================
   CONDITIONAL GROUPS
   ============================================ */
#form [data-class="wpcf7cf_group"] {
    transition: opacity 0.2s ease;
}

/* ============================================
   SPINNER
   ============================================ */
#form .wpcf7-spinner {
    display: inline-block;
    margin-left: 10px;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media screen and (max-width: 768px) {
    #form .two-col .form-left,
    #form .two-col .form-right {
        float: none;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 15px;
    }

    #form .wpcf7-radio {
        flex-direction: column;
        gap: 8px;
    }
}
