/* =====================================================
   WPForms 659 - TETON TOUR GUIDES
   Unique hierarchy: #wpforms-659
   Transparent glass-style form
   ===================================================== */

/* 1. MAIN FORM WRAPPER */
#wpforms-659 {
    width: 100% !important;
    max-width: 535px !important;
    margin: 0 auto !important;
    padding: 25px 24px !important;

    background: rgba(20, 35, 48, 0.30) !important;
    border: 1px solid rgba(255, 255, 255, 0.20) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18) !important;

    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    box-sizing: border-box !important;
}

#wpforms-659 *,
#wpforms-659 *::before,
#wpforms-659 *::after {
    box-sizing: border-box !important;
}

/* 2. FORM RESET */
#wpforms-659 .wpforms-form {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#wpforms-659 .wpforms-field-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 17px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 3. INDIVIDUAL FIELDS */
#wpforms-659 .wpforms-field {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
}

/* 4. FIELD LABELS */
#wpforms-659 .wpforms-field-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

/* Required star */
#wpforms-659 .wpforms-required-label {
    color: #ff6868 !important;
    font-size: 13px !important;
}

/* 5. TEXT AND EMAIL INPUTS */
#wpforms-659 input[type="text"],
#wpforms-659 input[type="email"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 6px 2px !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: #ffffff !important;

    font-size: 14px !important;

    outline: none !important;
    box-shadow: none !important;
}

/* 6. PLACEHOLDERS */
#wpforms-659 input::placeholder,
#wpforms-659 textarea::placeholder {
    color: rgba(255, 255, 255, 0.70) !important;
    opacity: 1 !important;
}

/* 7. INPUT FOCUS */
#wpforms-659 input[type="text"]:focus,
#wpforms-659 input[type="email"]:focus,
#wpforms-659 input[type="tel"]:focus,
#wpforms-659 textarea:focus {
    border-bottom: 1px solid #ffffff !important;
    outline: none !important;
    box-shadow: none !important;
}

/* 8. PHONE FIELD + COUNTRY SELECTOR */
#wpforms-659 .wpforms-field-phone .iti {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
}

#wpforms-659 .wpforms-field-phone .iti__flag-container {
    color: #ffffff !important;
}

#wpforms-659 .wpforms-field-phone .iti__selected-flag {
    height: 38px !important;
    padding: 0 8px 0 2px !important;
    background: transparent !important;
}

#wpforms-659 .wpforms-field-phone .iti__arrow {
    border-top-color: #ffffff !important;
}

#wpforms-659 .wpforms-field-phone input[type="tel"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 6px 2px !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: #ffffff !important;

    font-size: 14px !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Country dropdown */
#wpforms-659 .iti__dropdown-content {
    color: #222222 !important;
    z-index: 99999 !important;
}

#wpforms-659 .iti__country-list {
    background: #ffffff !important;
    color: #222222 !important;
}

/* 9. MESSAGE TEXTAREA */
#wpforms-659 textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 110px !important;
    min-height: 110px !important;
    margin: 0 !important;
    padding: 8px 2px !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: #ffffff !important;

    font-size: 14px !important;
    line-height: 1.5 !important;

    outline: none !important;
    box-shadow: none !important;
    resize: vertical !important;
}

/* 10. CAPTCHA */
#wpforms-659 .wpforms-recaptcha-container {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#wpforms-659 .g-recaptcha {
    max-width: 100% !important;
}

/* 11. SUBMIT BUTTON */
#wpforms-659 .wpforms-submit-container {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 20px 0 0 !important;
    padding: 0 !important;
}

#wpforms-659 button.wpforms-submit {
    display: inline-block !important;
    width: auto !important;
    min-width: 150px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 30px !important;

    border: 1px solid #8dc63f !important;
    border-radius: 0 !important;
    background: #8dc63f !important;
    color: #ffffff !important;


    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 22px !important;
    text-align: center !important;

    cursor: pointer !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}

#wpforms-659 button.wpforms-submit:hover,
#wpforms-659 button.wpforms-submit:focus {
    border-color: #76ad2e !important;
    background: #76ad2e !important;
    color: #ffffff !important;
}

/* 12. VALIDATION ERRORS */
#wpforms-659 label.wpforms-error {
    display: block !important;
    margin: 5px 0 0 !important;
    color: #ffcccc !important;
    font-size: 12px !important;
}

#wpforms-659 input.wpforms-error,
#wpforms-659 textarea.wpforms-error {
    border-bottom-color: #ff6868 !important;
}
#wpforms-659 div#wpforms-659-field_5-container {
    position: relative;
    bottom: 10px;
}
/* 13. MOBILE RESPONSIVE */
@media screen and (max-width: 600px) {
    #wpforms-659 {
        max-width: 100% !important;
        padding: 20px 16px !important;
        border-radius: 6px !important;
    }

    #wpforms-659 .wpforms-field-container {
        gap: 16px !important;
    }

    #wpforms-659 .wpforms-field-label {
        font-size: 13px !important;
    }

    #wpforms-659 textarea {
        height: 95px !important;
        min-height: 95px !important;
    }

    #wpforms-659 button.wpforms-submit {
        width: 100% !important;
    }
}