/* ===================================
   GRAVITY FORMS OVERRIDES
   =================================== */

.furious-gf {
    max-width: 100%;
}

.gform_wrapper .gform_body {
    margin-bottom: 20px;
}

.gform_wrapper .gfield {
    margin-bottom: 20px;
}

.gform_wrapper .gfield_label {
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
}

.gform_wrapper .gfield_required {
    color: var(--red);
}

.gform_wrapper input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file']),
.gform_wrapper textarea,
.gform_wrapper select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--gray-mid);
    border-radius: var(--radius);
    font-family: inherit;
    transition: var(--transition);
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
    outline: none;
    border-color: var(--red);
}

.gform_wrapper textarea {
    min-height: 120px;
    resize: vertical;
}

.gform_wrapper .gfield_checkbox li,
.gform_wrapper .gfield_radio li {
    margin-bottom: 10px;
}

.gform_wrapper .gfield_checkbox input,
.gform_wrapper .gfield_radio input {
    margin-right: 8px;
}

.gform_wrapper .gform_footer {
    padding-top: 20px;
}

.gform_wrapper .gform_button {
    margin: 0 !important;
    width: auto !important;
}

.gform_wrapper .validation_error {
    background: #f8d7da;
    border-left: 4px solid #dc3545;
    color: #721c24;
    padding: 15px 20px;
    margin-bottom: 20px;
    border-radius: var(--radius);
}

.gform_wrapper .gfield_error {
    background: rgba(220, 53, 69, 0.05);
    padding: 15px;
    border-radius: var(--radius);
}

.gform_wrapper .gfield_error .gfield_label {
    color: #721c24;
}

.gform_wrapper .validation_message {
    color: #721c24;
    font-size: 0.875rem;
    margin-top: 5px;
}

.gf-confirmation {
    background: #d4edda;
    border-left: 4px solid #28a745;
    color: #155724;
    padding: 20px;
    border-radius: var(--radius);
    margin-bottom: 20px;
}

.gf-validation-error {
    background: #f8d7da;
    border-left: 4px solid #dc3545;
    color: #721c24;
    padding: 15px 20px;
    margin-bottom: 20px;
    border-radius: var(--radius);
}

/* File Upload */
.gform_wrapper .ginput_container_fileupload {
    position: relative;
}

.gform_wrapper input[type='file'] {
    padding: 10px;
}

/* Multi-Column Layout */
.gform_wrapper .gfield_list {
    width: 100%;
}

.gform_wrapper .gfield_list th,
.gform_wrapper .gfield_list td {
    padding: 10px;
}

.gform_wrapper .gfield_list input {
    width: 100%;
}

/* Hide Honeypot */
.gform_wrapper .gform_validation_container,
.gform_wrapper .gfield_visibility_hidden {
    display: none !important;
    position: absolute !important;
    left: -9000px;
}
