.elementor-215 .elementor-element.elementor-element-85dd4e6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-215 .elementor-element.elementor-element-ead5ed9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-215 .elementor-element.elementor-element-b614598{--display:flex;}.elementor-215 .elementor-element.elementor-element-1d367eb{--display:flex;}.elementor-215 .elementor-element.elementor-element-433c17e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-215 .elementor-element.elementor-element-5e64c73{--display:flex;}.elementor-215 .elementor-element.elementor-element-b65cd09{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-215 .elementor-element.elementor-element-b65cd09.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-215 .elementor-element.elementor-element-91902ab{width:var( --container-widget-width, 93.536% );max-width:93.536%;--container-widget-width:93.536%;--container-widget-flex-grow:0;}.elementor-215 .elementor-element.elementor-element-91902ab.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-215 .elementor-element.elementor-element-b3c2915{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-215 .elementor-element.elementor-element-cd7eae3.elementor-element{--align-self:flex-end;}@media(min-width:768px){.elementor-215 .elementor-element.elementor-element-b65cd09{--width:70%;}}/* Start custom CSS for shortcode, class: .elementor-element-91902ab *//* ============================================================
   Custom Formidable Forms Style - Matching Cheesesteak Theme
   ============================================================ */

/* --- General Form Container --- */
.frm_forms {
    font-family: 'Roboto', sans-serif; /* Default form text */
    color: #222; /* Darker text like the body */
    background-color: #ffffff; /* White background like the contact section */
    padding: 30px; /* Add spacing inside the form */
    border: 1px solid #eee; /* Subtle border */
    border-radius: 5px; /* Optional: slightly rounded corners */
    max-width: 700px; /* Match the width of your contact info container */
    margin: 40px auto; /* Center the form on the page with spacing */
    box-shadow: 0 2px 5px rgba(0,0,0,0.05); /* Subtle shadow */
}

/* --- Form Title (if you have one) --- */
.frm_forms .frm_form_title {
    font-family: 'Jost', sans-serif;
    font-size: 28px;
    font-weight: 500;
    color: #222;
    text-align: center;
    margin-bottom: 10px;
}

/* --- Form Description (if you have one) --- */
.frm_forms .frm_description {
    text-align: center;
    margin-bottom: 25px;
    color: #555;
    font-size: 15px;
}


/* --- Field Containers --- */
.frm_forms .frm_form_field {
    margin-bottom: 20px; /* Space between fields */
}

/* --- Field Labels --- */
.frm_forms .frm_primary_label {
    display: block; /* Ensure label is on its own line */
    font-family: 'Jost', sans-serif; /* Use Jost for labels */
    font-weight: 500;
    margin-bottom: 8px; /* Space below label */
    color: #222; /* Dark label text */
    font-size: 16px;
}

/* --- Required Indicator (*) --- */
.frm_forms .frm_required {
    color: #cc0000; /* Standard red for required */
    font-weight: bold;
    margin-left: 4px;
    text-decoration: none; /* Remove potential underline */
}

/* --- Input Fields (Text, Email, Tel, Textarea, Select) --- */
.frm_forms input[type=text],
.frm_forms input[type=email],
.frm_forms input[type=tel],
.frm_forms input[type=url],
.frm_forms input[type=password],
.frm_forms input[type=number],
.frm_forms textarea,
.frm_forms select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    font-family: 'Roboto', sans-serif; /* Input text font */
    color: #333; /* Input text color */
    background-color: #fdfdfd;
    box-sizing: border-box; /* Important for width: 100% */
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* --- Textarea Specifics --- */
.frm_forms textarea {
    min-height: 120px; /* Give textarea a decent default height */
    resize: vertical; /* Allow vertical resizing */
}

/* --- Focus Styles (Gold Accent) --- */
.frm_forms input[type=text]:focus,
.frm_forms input[type=email]:focus,
.frm_forms input[type=tel]:focus,
.frm_forms input[type=url]:focus,
.frm_forms input[type=password]:focus,
.frm_forms input[type=number]:focus,
.frm_forms textarea:focus,
.frm_forms select:focus {
    border-color: #FFD700; /* Gold border on focus */
    outline: none; /* Remove default browser outline */
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.3); /* Subtle gold glow */
}

/* --- Checkbox & Radio Buttons --- */
.frm_forms .frm_checkbox label,
.frm_forms .frm_radio label {
    display: inline-block;
    margin-left: 8px; /* Space text from box/radio */
    font-weight: normal; /* Normal weight for choice text */
    font-family: 'Roboto', sans-serif;
    cursor: pointer;
    color: #333;
}

.frm_forms .frm_checkbox input[type=checkbox],
.frm_forms .frm_radio input[type=radio] {
    margin-right: 5px;
    vertical-align: middle; /* Align nicely */
    cursor: pointer;
}

/* --- Submit Button --- */
.frm_forms .frm_submit input[type=submit] {
    background-color: #FFD700; /* Gold background */
    color: #222; /* Dark text */
    border: none;
    padding: 12px 30px; /* Padding */
    font-family: 'Jost', sans-serif; /* Button font */
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase; /* Make it stand out */
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.1s ease;
    display: inline-block; /* Needed for centering if text-align center on parent */
}

.frm_forms .frm_submit input[type=submit]:hover {
    background-color: #cca300; /* Darker gold on hover */
    color: #000; /* Slightly darker text on hover */
}

.frm_forms .frm_submit input[type=submit]:active {
    transform: scale(0.98); /* Slight press effect */
}

/* Optional: Center the submit button */
.frm_forms .frm_submit {
    text-align: center; /* Centers the button container's content */
    margin-top: 15px;
}

/* --- Success Message --- */
.frm_forms .frm_message {
    background-color: #dff0d8; /* Light green */
    border: 1px solid #d6e9c6;
    color: #3c763d; /* Darker green text */
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
    text-align: center;
}

/* --- Error Message / Validation Styling --- */
.frm_forms .frm_error_style { /* Overall error message box */
    background-color: #f2dede; /* Light red */
    border: 1px solid #ebccd1;
    color: #a94442; /* Darker red text */
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
}

.frm_forms .frm_error { /* Inline field error message */
    color: #a94442;
    font-size: 0.9em;
    display: block; /* Ensure it appears below the field */
    margin-top: 5px;
}

.frm_forms .frm_form_field.frm_blank_field input[type=text],
.frm_forms .frm_form_field.frm_blank_field input[type=email],
.frm_forms .frm_form_field.frm_blank_field input[type=tel],
.frm_forms .frm_form_field.frm_blank_field input[type=url],
.frm_forms .frm_form_field.frm_blank_field input[type=password],
.frm_forms .frm_form_field.frm_blank_field input[type=number],
.frm_forms .frm_form_field.frm_blank_field textarea,
.frm_forms .frm_form_field.frm_blank_field select { /* Fields with errors */
    border-color: #a94442 !important; /* Red border */
    background-color: #fceeee; /* Very light red background */
}


/* --- Responsive Adjustments --- */
@media (max-width: 767px) {
    .frm_forms {
        padding: 20px; /* Less padding on small screens */
    }

    .frm_forms .frm_form_title {
        font-size: 24px;
    }

    .frm_forms .frm_submit input[type=submit] {
        padding: 10px 20px;
        font-size: 15px;
    }
}/* End custom CSS */