/* ============================================
   Gravity Form Job Application - Figma Design
   ============================================ */

/* Form Wrapper */
.gform_wrapper.gravity-theme {
    background-color: var(--white, #ffffff);
    border-radius: var(--radius-md, 8px);
    box-shadow: var(--shadow-job-card, 0px 2px 30px 0px rgba(0, 0, 0, 0.08));
    padding: var(--spacing-xl, 32px);
    margin-bottom: var(--spacing-lg, 24px);
}

label.gfield_label,legend.gfield_label {
    font-family: var(--font-heading);
    font-size: 24px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 32px; /* 133.333% */
    text-transform: uppercase;
}

/* Form Labels */
.gform_wrapper .gfield_label,
.gform_wrapper  {
    /*font-family: var(--font-body, arial, helvetica, sans-serif);*/
    /*font-size: var(--font-size-body, 17px);*/
    /*font-weight: 700;*/
    line-height: var(--line-height-body, 24px);
    color: var(--grey-body-text, #444444);
    text-transform: uppercase;
    margin-bottom: var(--spacing-sm, 8px);
    display: block;
}

/* Required Indicator */
.gform_wrapper .gfield_required {
    color: var(--blue, #4982b9);
    margin-left: var(--spacing-xs, 4px);
}

.gform_wrapper .gfield_required_text {
    color: var(--blue, #4982b9);
    font-weight: 400;
    text-transform: none;
}

/* Sub-labels (First, Last) */
.gform_wrapper .gform-field-label--type-sub {
    font-family: var(--font-body, arial, helvetica, sans-serif);
    font-size: var(--font-size-job-info, 16px);
    font-weight: 400;
    line-height: var(--line-height-job-info, 24px);
    color: #aaaaaa;
    text-transform: none;
    margin-bottom: var(--spacing-xs, 4px);
}

/* Text Input Fields */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"] {
    background-color: var(--white, #ffffff);
    border: none;
    border-bottom: 1px solid #dddddd;
    border-radius: 0;
    padding: var(--spacing-sm, 8px) 0;
    font-family: var(--font-body, arial, helvetica, sans-serif);
    font-size: var(--font-size-body, 17px);
    font-weight: 400;
    line-height: var(--line-height-body, 24px);
    color: var(--grey-body-text, #444444);
    width: 100%;
    outline: none;
    transition: border-color 0.2s ease;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus {
    border-bottom-color: var(--blue, #4982b9);
}

.gform_wrapper input[type="text"]::placeholder,
.gform_wrapper input[type="email"]::placeholder,
.gform_wrapper input[type="tel"]::placeholder {
    color: #aaaaaa;
    font-size: var(--font-size-job-info, 16px);
}

/* Select Dropdown */
/* .gform_wrapper select {
    background-color: var(--white, #ffffff);
    border: none;
    border-bottom: 1px solid #dddddd;
    border-radius: 0;
    padding: var(--spacing-sm, 8px) 0;
    font-family: var(--font-body, arial, helvetica, sans-serif);
    font-size: var(--font-size-body, 17px);
    font-weight: 400;
    line-height: var(--line-height-body, 24px);
    color: var(--grey-body-text, #444444);
    width: 100%;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='16' viewBox='0 0 11 16' fill='none'%3E%3Cpath d='M0 1.74745C2.15114 3.73387 3.79045 5.45146 4.91794 6.9002C6.0306 8.34895 6.86138 9.71555 7.41029 11H8.41168C9.12378 9.52139 10.0362 8.08757 11.1488 6.69857C12.2466 5.30957 13.8637 3.65173 16 1.72505V0C13.0181 1.40394 10.726 2.87508 9.12378 4.41344L8 5.5C8 5.5 7.5 5 6.87622 4.41344C6.25243 3.82688 4.36903 2.48676 3.67177 2.0387C2.9745 1.59063 1.75058 0.926001 0 0.0448063L0 1.74745Z' fill='%2343424A'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 11px 16px;
    padding-right: var(--spacing-xl, 32px);
    cursor: pointer;
    transition: border-color 0.2s ease;
} */

.gform_wrapper select:focus {
    border-bottom-color: var(--blue, #4982b9);
}

.gform_wrapper select::-ms-expand {
    display: none;
}

/* File Upload Fields */
/* .gform_wrapper input[type="file"] {
    display: none;
}

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

/* Custom File Upload Button */
/* .gform_wrapper .ginput_container_fileupload::before {
    content: "Upload File";
    display: inline-block;
    background-color: var(--white, #ffffff);
    border: 1px solid #dddddd;
    border-radius: var(--radius-sm, 4px);
    padding: var(--spacing-sm, 8px) var(--spacing-md, 16px);
    font-family: var(--font-body, arial, helvetica, sans-serif);
    font-size: var(--font-size-body, 17px);
    font-weight: 700;
    line-height: var(--line-height-body, 24px);
    color: var(--grey-body-text, #444444);
    cursor: pointer;
    margin-right: var(--spacing-md, 16px);
}

.gform_wrapper .ginput_container_fileupload input[type="file"] + label,
.gform_wrapper .ginput_container_fileupload label {
    display: inline-block;
    background-color: var(--white, #ffffff);
    border: 1px solid #dddddd;
    border-radius: var(--radius-sm, 4px);
    padding: var(--spacing-sm, 8px) var(--spacing-md, 16px);
    font-family: var(--font-body, arial, helvetica, sans-serif);
    font-size: var(--font-size-body, 17px);
    font-weight: 700;
    line-height: var(--line-height-body, 24px);
    color: var(--grey-body-text, #444444);
    cursor: pointer;
    margin-right: var(--spacing-md, 16px);
}
 */
/* File Upload Rules Text */
/* .gform_wrapper .gform_fileupload_rules {
    font-family: var(--font-body, arial, helvetica, sans-serif);
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    color: #aaaaaa;
    margin-top: var(--spacing-xs, 4px);
    display: block; */
}

/* Radio/Checkbox Fields */
.gform_wrapper .gfield_radio {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm, 8px);
}

.gform_wrapper .gchoice {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm, 8px);
}

.gform_wrapper input[type="radio"],
.gform_wrapper input[type="checkbox"] {
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 1px solid #bbbbbb;
    border-radius: 50%;
    background-color: var(--white, #ffffff);
    cursor: pointer;
    margin-top: 2px;
    flex-shrink: 0;
}

.gform_wrapper input[type="checkbox"] {
    border-radius: var(--radius-sm, 4px);
}

.gform_wrapper .gform-field-label--type-inline {
    font-family: var(--font-body, arial, helvetica, sans-serif);
    font-size: var(--font-size-body, 17px);
    font-weight: 400;
    line-height: var(--line-height-body, 24px);
    color: var(--grey-body-text, #444444);
    text-transform: none;
    cursor: pointer;
}

/* Submit Button */
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"] {
    background-color: var(--aqua, #27e0d0);
    color: var(--grey-button-text, #43424A);
    font-family: var(--font-body, arial, helvetica, sans-serif);
    font-size: var(--font-size-body, 17px);
    font-weight: 700;
    line-height: var(--line-height-body, 24px);
    padding: 12px var(--spacing-xl, 32px);
    border: none;
    border-radius: var(--radius-sm, 4px);
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-top: var(--spacing-lg, 24px);
}

.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover {
    background-color: #22c9bb;
    color: var(--white, #ffffff);
}

.gform_wrapper .gform_button:focus,
.gform_wrapper input[type="submit"]:focus {
    outline: 2px solid var(--aqua, #27e0d0);
    outline-offset: 2px;
}

.gform_wrapper .gform_button:active,
.gform_wrapper input[type="submit"]:active {
    background-color: #1fb3a6;
}

/* Field Spacing */
.gform_wrapper .gfield {
    margin-bottom: var(--spacing-lg, 24px);
}

.gform_wrapper .gfield:last-child {
    margin-bottom: 0;
}

/* Name Field Complex Layout */
.gform_wrapper .ginput_complex {
    display: flex;
    gap: var(--spacing-md, 16px);
}

.gform_wrapper .name_first,
.gform_wrapper .name_last {
    flex: 1;
}

/* Half Width Fields */
.gform_wrapper .gfield--width-half {
    display: inline-block;
    width: calc(50% - var(--spacing-md, 16px));
    margin-right: var(--spacing-md, 16px);
    vertical-align: top;
}

.gform_wrapper .gfield--width-half:nth-child(even) {
    margin-right: 0;
}

/* Full Width Fields */
.gform_wrapper .gfield--width-full {
    width: 100%;
}

/* Input Container */
.gform_wrapper .ginput_container {
    margin-top: var(--spacing-xs, 4px);
}

/* Separator before submit button */
.gform_wrapper .gform_footer {
    border-top: 1px solid #dddddd;
    padding-top: var(--spacing-lg, 24px);
    margin-top: var(--spacing-lg, 24px);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .gform_wrapper.gravity-theme {
        padding: var(--spacing-md, 16px);
    }
    
    .gform_wrapper .gfield--width-half {
        width: 100%;
        margin-right: 0;
        margin-bottom: var(--spacing-md, 16px);
    }
    
    .gform_wrapper .ginput_complex {
        flex-direction: column;
        gap: var(--spacing-md, 16px);
    }
    
    .gform_wrapper .gform_button,
    .gform_wrapper input[type="submit"] {
        width: 100%;
    }
}
