.elementor-85 .elementor-element.elementor-element-e57bcf7{--display:flex;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-85 .elementor-element.elementor-element-48b3653{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-85 .elementor-element.elementor-element-292bf71{--display:flex;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-85 .elementor-element.elementor-element-0590698 img{width:33%;}.elementor-85 .elementor-element.elementor-element-463d7d5{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-85 .elementor-element.elementor-element-803a950 .elementor-heading-title{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;}.elementor-85 .elementor-element.elementor-element-e097601 .elementor-heading-title{font-size:16px;font-weight:400;letter-spacing:0.03em;}.elementor-widget-login .elementor-field-group > a{color:var( --e-global-color-text );}.elementor-widget-login .elementor-field-group > a:hover{color:var( --e-global-color-accent );}.elementor-widget-login .elementor-form-fields-wrapper label{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-login .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-login .elementor-field-group .elementor-field, .elementor-widget-login .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-login .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-widget-login .elementor-login__logged-in-message{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field-group{margin-bottom:10px;}.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-form-fields-wrapper{margin-bottom:-10px;}body .elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field-group > label{padding-bottom:5px;}.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-form-fields-wrapper label{font-family:"Wonder Unit Sans", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;}.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-width:0px 0px 1px 0px;border-radius:0px 0px 0px 0px;}.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-width:0px 0px 1px 0px;border-radius:0px 0px 0px 0px;}.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-button{color:#FFFFFF;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;background-color:#000000;border-radius:0px 0px 0px 0px;padding:0px 100px 0px 100px;}.elementor-85 .elementor-element.elementor-element-2aa2648{text-align:center;margin:-30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-85 .elementor-element.elementor-element-2aa2648 .elementor-heading-title{font-family:"Wonder Unit Sans", Sans-serif;font-size:10px;font-weight:600;text-transform:uppercase;line-height:18px;letter-spacing:0.03em;}#elementor-popup-modal-85 .dialog-message{width:450px;height:100vh;align-items:flex-start;}#elementor-popup-modal-85{justify-content:flex-start;align-items:center;pointer-events:all;background-color:rgba(0,0,0,.8);}#elementor-popup-modal-85 .dialog-close-button{display:flex;}#elementor-popup-modal-85 .dialog-widget-content{animation-duration:0.8s;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}}/* Start custom CSS for login, class: .elementor-element-867f3b5 *//* 1. Form Wrapper Setup (Flexbox for reordering) */
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-form-fields-wrapper {
    display: flex !important;
    flex-direction: column !important;
    position: relative;
}

/* 2. Reorder Input Fields (Order 1, 2) */
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field-type-text:nth-child(1) { order: 1 !important; } 
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field-type-text:nth-child(2) { order: 2 !important; } 

/* 3. Break links out of their shared container (Clean stacking) */
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-form-fields-wrapper > div:nth-child(5) { 
    display: contents !important; 
} 

/* 4. Spacing for Error Messages */
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field-group {
    margin-bottom: 25px !important; /* Spacing between groups, accommodating error text */
    position: relative;
}

/* 5. INPUT FIELDS (Lines only - with error state) */
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field {
    border: none !important;
    border-bottom: 1px solid #ccc !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 0 10px 0 !important;
    box-shadow: none !important;
    color: #000 !important;
    font-size: 14px !important;
    height: auto !important;
    transition: border-color 0.3s ease;
}
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field:focus {
    border-bottom-color: #000 !important;
}
/* Triggered by JS when validation fails */
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field.error {
    border-bottom-color: #ff0000 !important; /* RED LINE */
}

/* 6. PASSWORD EYE ICON (Visuals handled by CSS, state handled by JS) */
.elementor-85 .elementor-element.elementor-element-867f3b5 input[name="pwd"] {
    padding-right: 35px !important; 
    background-repeat: no-repeat !important;
    background-position: right bottom 10px !important;
    background-size: 20px !important;
    cursor: pointer; /* Makes it feel clickable */
}

/* State 1: Password is hidden (Open Eye) */
.elementor-85 .elementor-element.elementor-element-867f3b5 input[name="pwd"][type="password"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'%3E%3C/path%3E%3Ccircle cx='12' cy='12' r='3'%3E%3C/circle%3E%3C/svg%3E") !important;
}

/* State 2: Password is visible (Closed Eye / Slashed) */
.elementor-85 .elementor-element.elementor-element-867f3b5 input[name="pwd"][type="text"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'%3E%3C/path%3E%3Cline x1='1' y1='1' x2='23' y2='23'%3E%3C/line%3E%3C/svg%3E") !important;
}

/* 7. CUSTOM ERROR MESSAGE STYLING (Inserted by JS) */
.elementor-85 .elementor-element.elementor-element-867f3b5 .custom-error-message {
    color: #ff0000 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-top: 5px !important;
    display: block;
    width: 100%;
    text-align: left;
}

/* 8. Position "Reset Password" (Order 3 - ABOVE button) */
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-lost-password {
    order: 3 !important;
    width: 100% !important;
    text-align: right !important;
    margin-top: 5px !important;
    margin-bottom: 40px !important; /* Creates the main vertical gap above CONTINUE button */
    display: block !important;
    font-size: 0 !important; /* Hide original text cleanly */
}
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-lost-password::after {
    content: "Reset your password";
    color: #999;
    text-decoration: underline;
    font-size: 14px;
    font-weight: 500;
    display: inline-block;
}

/* 9. SUBMIT BUTTON FORMATTING (Order 4) */
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field-type-submit { 
    order: 4 !important; 
    width: 100% !important;
    margin-bottom: 30px !important; /* Space below button */
} 
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-button {
    background-color: #1a1a1a !important;
    color: #fff !important;
    width: 100% !important;
    max-width: 280px !important; 
    margin: 0 auto !important;
    padding: 16px 20px !important;
    border-radius: 0 !important;
    border: none !important;
    display: block !important;
}
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-button-text {
    font-size: 0 !important; 
}
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-button-text::after {
    content: "CONTINUE";
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* 10. Position "Create an account" (Order 5 - BELOW button) */
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-register {
    order: 5 !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
    font-size: 0 !important; /* Hide original text cleanly */
}
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-register::before {
    content: "New to END.? ";
    color: #999;
    font-size: 14px;
    font-weight: 500;
    padding-right: 10px;
    display: inline-block;
}
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-register::after {
    content: "Create an account";
    color: #555;
    text-decoration: underline;
    font-weight: 700;
    font-size: 14px;
    display: inline-block;
}

/* 11. Hide Unwanted Elements & Fix Placeholders */
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-remember-me,
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-login-separator {
    display: none !important;
}

.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field::placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

/* 12. LABELS (Large spacing match image) */
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #222 !important;
    margin-bottom: 50px !important; /* VERY LARGE SPACING - matching reference */
    display: block !important;
}
.elementor-85 .elementor-element.elementor-element-867f3b5 .elementor-field-label::after {
    content: "*";
}/* End custom CSS */