/* =====================================================
   TETON TOUR GUIDES - GRAVITY FORM
   Form ID: 1
   Glass Box + Label Alignment + Responsive Layout
   ===================================================== */

/* MAIN FORM CONTAINER */
.gravity_Form {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    padding: 24px;
    background: rgba(20, 35, 48, 0.30);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.20);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    box-sizing: border-box;
}

textarea#g-recaptcha-response-1 {
    opacity: 0 !important;
}

.gravity_Form *,
.gravity_Form *::before,
.gravity_Form *::after {
    box-sizing: border-box;
}

/* GRAVITY FORMS WRAPPER */
.gravity_Form #gform_wrapper_1 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #fff !important;
    
}

.gravity_Form #gform_wrapper_1 .gform_heading {
    display: none !important;
}

.gravity_Form #gform_wrapper_1 .gform-body {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* TWO COLUMN GRID */
.gravity_Form #gform_wrapper_1 .gform_fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 24px !important;
    row-gap: 19px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: start !important;
}

/* RESET FIELD SPACING */
.gravity_Form #gform_wrapper_1 .gfield {
    display: flex !important;
    flex-direction: column !important;
    grid-column: span 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* FULL-WIDTH FIELDS */
.gravity_Form #gform_wrapper_1 #field_1_3,
.gravity_Form #gform_wrapper_1 #field_1_9,
.gravity_Form #gform_wrapper_1 #field_1_5,
.gravity_Form #gform_wrapper_1 #field_1_6 {
    grid-column: 1 / -1 !important;
}

/* HALF-WIDTH FIELDS */
.gravity_Form #gform_wrapper_1 #field_1_1,
.gravity_Form #gform_wrapper_1 #field_1_16,
.gravity_Form #gform_wrapper_1 #field_1_4,
.gravity_Form #gform_wrapper_1 #field_1_13 {
    grid-column: span 1 !important;
}

/* HONEYPOT */
.gravity_Form #gform_wrapper_1 #field_1_17 {
    display: none !important;
}

/* LABEL ALIGNMENT */
.gravity_Form #gform_wrapper_1 .gfield_label {
    display: block !important;
    width: 100% !important;
    min-height: 20px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    text-align: left !important;
}



/* REQUIRED TEXT */
.gravity_Form #gform_wrapper_1 .gfield_required,
.gravity_Form #gform_wrapper_1 .gfield_required_text {
    display: inline !important;
    margin-left: 3px !important;
    color: #ff6868 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    font-style: italic !important;
}

/* INPUT CONTAINERS */
.gravity_Form #gform_wrapper_1 .ginput_container {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* TEXT, EMAIL, PHONE */
.gravity_Form #gform_wrapper_1 input[type="text"],
.gravity_Form #gform_wrapper_1 input[type="email"],
.gravity_Form #gform_wrapper_1 input[type="tel"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 5px 2px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.95) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;

    font-size: 13px !important;
    line-height: 22px !important;
    outline: none !important;
    box-shadow: none !important;
}

/* PLACEHOLDERS */
.gravity_Form #gform_wrapper_1 input::placeholder,
.gravity_Form #gform_wrapper_1 textarea::placeholder {
    color: rgba(255,255,255,.75) !important;
    opacity: 1 !important;
}

/* DATE INPUT + ICON */
.gravity_Form #gform_wrapper_1 .ginput_container_date {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.gravity_Form #gform_wrapper_1 input.datepicker {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.gravity_Form #gform_wrapper_1 .gform-datepicker-toggle {
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* INPUT FOCUS */
.gravity_Form #gform_wrapper_1 input:focus,
.gravity_Form #gform_wrapper_1 textarea:focus {
    border-bottom-color: #fff !important;
    outline: none !important;
    box-shadow: none !important;
}

/* EXPERIENCE DROPDOWN */
.gravity_Form #gform_wrapper_1 select,
.gravity_Form #gform_wrapper_1 select.gfield_select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(255,255,255,.8) !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: #222 !important;

    font-size: 13px !important;
    box-shadow: none !important;
}

/* MESSAGE TEXTAREA */
.gravity_Form #gform_wrapper_1 #input_1_5 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100px !important;
    min-height: 100px !important;
    margin: 0 !important;
    padding: 8px 2px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.95) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    
    font-size: 13px !important;
    line-height: 1.5 !important;
    resize: vertical !important;
    box-shadow: none !important;
}

/* CAPTCHA */
.gravity_Form #gform_wrapper_1 #field_1_6 {
    margin-top: 0 !important;
}

.gravity_Form #gform_wrapper_1 .ginput_recaptcha {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* SUBMIT BUTTON */
.gravity_Form #gform_wrapper_1 .gform_footer {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 20px 0 0 !important;
    padding: 0 !important;
}

.gravity_Form #gform_wrapper_1 .gform_button {
    display: inline-block !important;
    width: auto !important;
    min-width: 145px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 25px !important;
    border: 1px solid #fff !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: #222 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: all .2s ease !important;
}

.gravity_Form #gform_wrapper_1 .gform_button:hover {
    background: transparent !important;
    color: #fff !important;
}

/* VALIDATION MESSAGES */
.gravity_Form #gform_wrapper_1 .gfield_validation_message,
.gravity_Form #gform_wrapper_1 .validation_message {
    margin-top: 5px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #ffe0e0 !important;
    font-size: 12px !important;
}

.gravity_Form #gform_wrapper_1 .gform_validation_errors {
    margin-bottom: 12px !important;
}

/* TABLET + MOBILE */
@media screen and (max-width: 600px) {
    .gravity_Form {
        max-width: 100% !important;
        padding: 18px 15px !important;
        border-radius: 6px !important;
    }

    .gravity_Form #gform_wrapper_1 .gform_fields {
        grid-template-columns: minmax(0,1fr) !important;
        column-gap: 0 !important;
        row-gap: 17px !important;
    }

    .gravity_Form #gform_wrapper_1 .gfield,
    .gravity_Form #gform_wrapper_1 #field_1_1,
    .gravity_Form #gform_wrapper_1 #field_1_16,
    .gravity_Form #gform_wrapper_1 #field_1_3,
    .gravity_Form #gform_wrapper_1 #field_1_4,
    .gravity_Form #gform_wrapper_1 #field_1_13,
    .gravity_Form #gform_wrapper_1 #field_1_9,
    .gravity_Form #gform_wrapper_1 #field_1_5,
    .gravity_Form #gform_wrapper_1 #field_1_6 {
        grid-column: 1 / -1 !important;
    }

    .gravity_Form #gform_wrapper_1 .gfield_label {
        text-align: left !important;
    }

    .gravity_Form #gform_wrapper_1 .gform_button {
        width: 100% !important;
    }
}