/* --- General Form Wrapper and Background --- */
.gform_wrapper {
    max-width: 800px; /* Limit overall form width */
    margin: 30px auto; /* Center the form and add some top/bottom margin */
    padding: 30px;
    background-color: #ffffff; /* White background */
    border: 1px solid #e0e0e0; /* Light grey border */
    border-radius: 8px; /* Rounded corners */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); /* Subtle shadow */
    font-family: 'Arial', sans-serif; /* Consistent font */
}

/* --- Form Header (Title and Description) --- */
.gform_wrapper .gform_heading {
    text-align: center;
    margin-bottom: 25px;
}

.gform_wrapper .gform_title {
    font-size: 2.2em; /* Larger, more prominent title */
    color: #333;
    margin-bottom: 10px;
}

.gform_wrapper .gform_description {
    font-size: 1.1em;
    color: #666;
    line-height: 1.5;
}

/* --- Field Containers --- */
.gform_wrapper .gfield {
    margin-bottom: 20px; /* Spacing between fields */
    padding: 0; /* Remove default padding if any */
}

/* --- Labels --- */
.gform_wrapper .gfield_label {
    font-size: 1em;
    font-weight: 600; /* Slightly bolder labels */
    color: #444;
    margin-bottom: 8px; /* Space between label and input */
    display: block; /* Ensures label is on its own line */
}

/* --- Input Fields (Text, Email, Number, Textarea) --- */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"],
.gform_wrapper textarea,
.gform_wrapper select {
    width: 100%; /* Full width inputs */
    padding: 12px 15px;
    border: 1px solid #ccc; /* Light grey border */
    border-radius: 5px; /* Slightly rounded input corners */
    font-size: 1em;
    line-height: 1.5;
    color: #333;
    box-sizing: border-box; /* Include padding/border in width calculation */
    transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

/* Input focus state */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="password"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
    border-color: #0073aa; /* WordPress blue on focus */
    box-shadow: 0 0 5px rgba(0, 115, 170, 0.3); /* Subtle shadow on focus */
    outline: none; /* Remove default outline */
}

/* --- Placeholders --- */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
    color: #999; /* Lighter placeholder text */
    font-style: italic; /* Italicize placeholders */
}

/* --- Field Descriptions/Instructions --- */
.gform_wrapper .gfield_description,
.gform_wrapper .instruction {
    font-size: 0.9em;
    color: #777;
    margin-top: 5px; /* Space between input and description */
    line-height: 1.4;
}

/* --- Checkboxes and Radio Buttons --- */
.gform_wrapper .gfield_checkbox li input[type="checkbox"],
.gform_wrapper .gfield_radio li input[type="radio"] {
    margin-right: 8px; /* Space between checkbox/radio and label */
    position: relative; /* For custom styling */
    top: 2px; /* Adjust vertical alignment */
}

.gform_wrapper .gfield_checkbox li label,
.gform_wrapper .gfield_radio li label {
    font-weight: normal; /* Don't make the option labels bold */
    color: #555;
    display: inline-block; /* Keep label next to checkbox/radio */
}

/* Custom Checkbox/Radio Styling (Advanced - uncomment and adjust as needed) */
/*
.gform_wrapper .gfield_checkbox li input[type="checkbox"],
.gform_wrapper .gfield_radio li input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    border-radius: 3px;
    vertical-align: middle;
    cursor: pointer;
    margin-right: 10px;
}
.gform_wrapper .gfield_checkbox li input[type="checkbox"]:checked {
    background-color: #0073aa;
    border-color: #0073aa;
}
.gform_wrapper .gfield_checkbox li input[type="checkbox"]:checked::before {
    content: '\2713'; // Checkmark character
    display: block;
    color: #fff;
    font-size: 14px;
    line-height: 18px;
    text-align: center;
}
.gform_wrapper .gfield_radio li input[type="radio"] {
    border-radius: 50%;
}
.gform_wrapper .gfield_radio li input[type="radio"]:checked {
    background-color: #0073aa;
    border-color: #0073aa;
}
.gform_wrapper .gfield_radio li input[type="radio"]:checked::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #fff;
    margin: 4px;
}
*/

/* --- Submit Button --- */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer input[type="button"] { /* Also targets "Next" / "Previous" buttons */
    background-color: #0073aa; /* Primary button color */
    color: #fff; /* White text */
    padding: 15px 30px;
    border: none;
    border-radius: 5px;
    font-size: 1.1em;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out, transform 0.2s ease-in-out;
    width: auto; /* Allow button to size naturally */
    display: inline-block; /* For proper spacing if multiple buttons */
    margin-right: 10px; /* Space between buttons if multiple */
}

.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer input[type="button"]:hover {
    background-color: #005a80; /* Darker on hover */
    transform: translateY(-2px); /* Slight lift effect */
}

/* --- Required Field Indicator --- */
.gform_wrapper .gfield_required {
    color: #dc3232; /* Red asterisk */
    font-weight: bold;
}

/* --- Error Messages --- */
.gform_wrapper .gform_validation_errors {
    background-color: #ffebe8; /* Light red background */
    border: 1px solid #c91900; /* Red border */
    color: #c91900; /* Red text */
    padding: 15px 20px;
    margin-bottom: 25px;
    border-radius: 5px;
    font-size: 1em;
}

.gform_wrapper .gfield_error {
    background-color: #ffebe8; /* Highlight erroneous fields */
    border: 1px solid #c91900;
    padding: 8px;
    border-radius: 5px;
}

.gform_wrapper .validation_message {
    color: #c91900;
    font-size: 0.9em;
    margin-top: 5px;
}

/* --- Confirmation Message --- */
.gform_confirmation_wrapper {
    background-color: #e6ffe6; /* Light green for success */
    border: 1px solid #4CAF50; /* Green border */
    color: #333;
    padding: 30px;
    margin-top: 30px;
    border-radius: 8px;
    text-align: center;
    font-size: 1.2em;
}

/* --- Multi-page forms (progress bar) --- */
.gform_wrapper .gf_progressbar_wrapper {
    margin-bottom: 25px;
}
.gform_wrapper .gf_progressbar {
    background-color: #eee;
    border-radius: 5px;
    height: 10px;
    overflow: hidden;
}
.gform_wrapper .gf_progressbar_percentage {
    background-color: #0073aa; /* Progress bar color */
    height: 100%;
    transition: width 0.5s ease-in-out;
}
.gform_wrapper .gf_progressbar_title {
    font-size: 1em;
    color: #555;
    margin-bottom: 10px;
}

/* --- Specific Form ID (Example: Targeting form with ID 1) --- */
/*
#gform_wrapper_1 {
    border: 2px solid #ffcc00; // Yellow border just for form 1
}
*/

/* --- Specific Field ID (Example: Targeting field 1 in form 1) --- */
/*
#field_1_1 input[type="text"] {
    background-color: #f0f8ff; // Alice blue background for the first field
}
*/

/* --- Gravity Forms Ready Classes Examples (add these in the form editor) --- */
/*
If you use the 'gf_left_half' and 'gf_right_half' classes on two consecutive fields:
.gform_wrapper .gfield.gf_left_half {
    width: 49%;
    float: left;
    margin-right: 2%;
    box-sizing: border-box;
}
.gform_wrapper .gfield.gf_right_half {
    width: 49%;
    float: right;
    box-sizing: border-box;
}
.gform_wrapper .gform_fields:after {
    content: "";
    display: table;
    clear: both;
}
*/
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/
