.elementor-1403 .elementor-element.elementor-element-a3a19f0{--display:flex;}#elementor-popup-modal-1403{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-1403 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-1403 .dialog-close-button{display:flex;}#elementor-popup-modal-1403 .dialog-widget-content{box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}/* Start custom CSS for shortcode, class: .elementor-element-0edc582 *//* --- Custom AJAX Login Styles (v8) --- */

/* Container & Spacing */
#custom-login-wrapper {
    max-width: 100%;
    margin: 0 auto;
    padding: 25px 15px;
    font-family: inherit;
}
#custom-login-wrapper * { box-sizing: border-box; }

/* Labels */
#custom-login-wrapper .form-group { margin-bottom: 20px !important; position: relative; }

#custom-login-wrapper label:not(.remember-box) {
    display: block;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
    color: #444; 
    font-size: 14px;
    line-height: 1.2;
}

/* Inputs */
#custom-login-wrapper input[type="text"],
#custom-login-wrapper input[type="password"] {
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fdfdfd !important;
    color: #333 !important;
    font-size: 15px !important;
    height: auto !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
}
#custom-login-wrapper input:focus {
    border-color: #2DA3CE !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(45, 163, 206, 0.1) !important; 
}

/* --- Password Toggle Styling (New) --- */
.password-input-wrapper {
    position: relative;
    width: 100%;
}
/* Add padding to right so text doesn't hit the eye icon */
#custom-login-wrapper input[name="password"] {
    padding-right: 45px !important; 
}
.toggle-password-btn {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s;
    background: none;
    border: none;
    padding: 5px;
}
.toggle-password-btn:hover {
    color: #2DA3CE; /* Brand Color on Hover */
}

/* Footer Row */
#custom-login-wrapper .form-footer-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 25px !important;
    width: 100%;
}

/* Remember Me */
#custom-login-wrapper .remember-box {
    display: flex; align-items: center; font-size: 14px; color: #666; cursor: pointer; margin: 0 !important;
}
#custom-login-wrapper .remember-box input { 
    margin-right: 8px !important; width: auto !important; cursor: pointer;
    accent-color: #2DA3CE; 
}

/* Forgot Password */
#custom-login-wrapper .forgot-link {
    font-size: 14px;
    color: #888;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}
#custom-login-wrapper .forgot-link:hover { color: #2DA3CE; }

/* Login Button */
#custom-login-wrapper .login-btn {
    width: 100% !important;
    padding: 16px !important;
    background-color: #2DA3CE !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    cursor: pointer;
    font-size: 16px !important;
    font-weight: 700 !important;
    display: flex; align-items: center; justify-content: center;
    transition: background-color 0.3s ease;
}
#custom-login-wrapper .login-btn:hover { background-color: #2489ae !important; }
#custom-login-wrapper .login-btn:disabled { opacity: 0.7; cursor: wait; }

/* Spinner */
.spinner {
    display: inline-block; width: 16px; height: 16px; 
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 50%; border-top-color: #fff; 
    animation: spin 0.8s ease-in-out infinite; margin-right: 10px;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Register Section */
#custom-login-wrapper .register-section {
    margin-top: 25px;
    text-align: center;
    font-size: 15px;
    color: #666;
}
#custom-login-wrapper .register-section a {
    color: #2DA3CE; font-weight: 600; text-decoration: none; margin-left: 5px;
}
#custom-login-wrapper .register-section a:hover { color: #2489ae; }

/* Status Messages */
.login-status { display: none; margin-bottom: 20px; font-size: 14px; text-align: center; }
.login-status .error { color: #d63031; background: #fff0f0; padding: 12px; border-radius: 6px; border-left: 4px solid #d63031; }
.login-status .success { color: #27ae60; background: #f0fdf4; padding: 12px; border-radius: 6px; border-left: 4px solid #27ae60; }/* End custom CSS */