
/* =========================
   FORMIDABLE FORM STYLING
   ========================= */

/* Labels */
.with_frm_style .frm_primary_label,
.with_frm_style .frm_form_field label:not(.frm_screen_reader),
.with_frm_style .frm_html_container,
.with_frm_style label {
    font-family: "Urbanist", Sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5em;
    color: #111827;
    margin-bottom: 8px;
}

/* Input, select, textarea base */
.with_frm_style input[type=text],
.with_frm_style input[type=password],
.with_frm_style input[type=email],
.with_frm_style input[type=number],
.with_frm_style input[type=url],
.with_frm_style input[type=tel],
.with_frm_style input[type=phone],
.with_frm_style input[type=search],
.with_frm_style select,
.with_frm_style textarea,
.frm_form_fields_style,
.with_frm_style .frm_scroll_box .frm_opt_container,
.frm_form_fields_active_style,
.frm_form_fields_error_style,
.with_frm_style .frm-card-element.StripeElement,
.with_frm_style .frm_slimselect.ss-main,
input#field_v503h {
    width: 100%;
    min-height: 56px;
    padding: 14px 16px;
    font-family: "Urbanist", Sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5em;
    color: #111827;
    background: #f9fcf6;
    border: 1px solid #dbe7d0;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: all 0.25s ease;
    box-sizing: border-box;
}

/* Textarea specific */
.with_frm_style textarea {
    min-height: 130px;
    resize: vertical;
    padding-top: 14px;
}

/* Placeholder */
.with_frm_style input::placeholder,
.with_frm_style textarea::placeholder,
input#field_v503h::placeholder {
    color: #9ca3af;
    opacity: 1;
}

/* Hover */
.with_frm_style input[type=text]:hover,
.with_frm_style input[type=password]:hover,
.with_frm_style input[type=email]:hover,
.with_frm_style input[type=number]:hover,
.with_frm_style input[type=url]:hover,
.with_frm_style input[type=tel]:hover,
.with_frm_style input[type=phone]:hover,
.with_frm_style input[type=search]:hover,
.with_frm_style select:hover,
.with_frm_style textarea:hover,
.with_frm_style .frm_slimselect.ss-main:hover,
input#field_v503h:hover {
    border-color: #7FBD41;
    background: #ffffff;
}

/* Focus */
.with_frm_style input[type=text]:focus,
.with_frm_style input[type=password]:focus,
.with_frm_style input[type=email]:focus,
.with_frm_style input[type=number]:focus,
.with_frm_style input[type=url]:focus,
.with_frm_style input[type=tel]:focus,
.with_frm_style input[type=phone]:focus,
.with_frm_style input[type=search]:focus,
.with_frm_style select:focus,
.with_frm_style textarea:focus,
.with_frm_style .frm-card-element.StripeElement:focus,
.with_frm_style .frm_slimselect.ss-main:focus,
input#field_v503h:focus {
    outline: none !important;
    border-color: #7FBD41 !important;
    box-shadow: 0 0 0 4px rgba(127, 189, 65, 0.18) !important;
    background: #ffffff !important;
}

/* Slimselect active state */
.with_frm_style .frm_slimselect.ss-main.ss-open,
.with_frm_style .frm_slimselect.ss-main.ss-focus {
    border-color: #7FBD41 !important;
    box-shadow: 0 0 0 4px rgba(127, 189, 65, 0.18) !important;
    background: #ffffff !important;
    border-radius: 14px !important;
}

/* Error state */
.with_frm_style .frm_form_field.frm_error input,
.with_frm_style .frm_form_field.frm_error select,
.with_frm_style .frm_form_field.frm_error textarea,
.frm_form_fields_error_style {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.10) !important;
    background: #fffafa !important;
}

/* Field spacing */
.with_frm_style .frm_form_field {
    margin-bottom: 18px;
}

/* Submit button */
button.frm_button_submit.frm_final_submit,
.with_frm_style .frm_submit button,
.with_frm_style .frm_submit input[type=submit],
.with_frm_style input[type=submit].frm_button_submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 14px 26px;
    font-family: "Urbanist", Sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2em;
    color: #ffffff;
    background: #7FBD41;
    border: 1px solid #7FBD41;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(127, 189, 65, 0.24);
    cursor: pointer;
    transition: all 0.25s ease;
}

/* Submit hover */
button.frm_button_submit.frm_final_submit:hover,
.with_frm_style .frm_submit button:hover,
.with_frm_style .frm_submit input[type=submit]:hover,
.with_frm_style input[type=submit].frm_button_submit:hover {
    background: #6faa34;
    border-color: #6faa34;
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(127, 189, 65, 0.28);
}

/* Submit focus */
button.frm_button_submit.frm_final_submit:focus,
.with_frm_style .frm_submit button:focus,
.with_frm_style .frm_submit input[type=submit]:focus,
.with_frm_style input[type=submit].frm_button_submit:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(127, 189, 65, 0.18);
}

/* Submit full width on mobile */
@media (max-width: 767px) {
    button.frm_button_submit.frm_final_submit,
    .with_frm_style .frm_submit button,
    .with_frm_style .frm_submit input[type=submit],
    .with_frm_style input[type=submit].frm_button_submit {
        width: 100%;
    }

    .with_frm_style input[type=text],
    .with_frm_style input[type=password],
    .with_frm_style input[type=email],
    .with_frm_style input[type=number],
    .with_frm_style input[type=url],
    .with_frm_style input[type=tel],
    .with_frm_style input[type=phone],
    .with_frm_style input[type=search],
    .with_frm_style select,
    .with_frm_style textarea,
    .frm_form_fields_style,
    .with_frm_style .frm_scroll_box .frm_opt_container,
    .frm_form_fields_active_style,
    .frm_form_fields_error_style,
    .with_frm_style .frm-card-element.StripeElement,
    .with_frm_style .frm_slimselect.ss-main,
    input#field_v503h {
        min-height: 52px;
        font-size: 15px;
    }
}


/* =========================
   FORCE 14px RADIUS
   ========================= */

.with_frm_style input[type=text],
.with_frm_style input[type=password],
.with_frm_style input[type=email],
.with_frm_style input[type=number],
.with_frm_style input[type=url],
.with_frm_style input[type=tel],
.with_frm_style input[type=phone],
.with_frm_style input[type=search],
.with_frm_style select,
.with_frm_style textarea,
.with_frm_style .frm_slimselect.ss-main,
.with_frm_style .frm-card-element.StripeElement,
.frm_form_fields_style,
.frm_form_fields_active_style,
.frm_form_fields_error_style,
input#field_v503h {
    border-radius: 14px !important;
}

/* Button radius */
button.frm_button_submit.frm_final_submit,
.with_frm_style .frm_submit button,
.with_frm_style .frm_submit input[type=submit],
.with_frm_style input[type=submit].frm_button_submit {
    border-radius: 14px !important;
}

/* Optional: dropdown open state fix */
.with_frm_style .frm_slimselect.ss-main.ss-open {
    border-radius: 14px !important;
}