/*
 * Login / OTP pages — replicates the live processawakening.com/login/ design:
 * full-viewport background photo, centered 720px split card (white form on the
 * left, photo on the right), bottom-border inputs, teal #256a76 button.
 * Source styles: barun-member-management/css/style.css + Elementor post-35 custom CSS.
 */
* { margin: 0; padding: 0; box-sizing: border-box; }

body.auth-page {
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    line-height: 1.8;
    color: #4a4a4a;
    background-image: url('/images/login-bg.jpg');
    background-size: cover;
    background-position: center;
}

.auth-wrapper {
    display: flex;
    height: 100vh;
    align-items: center;
    justify-content: center;
}

.middle-box {
    display: flex;
    min-height: 300px;
    width: 720px;
}

.form-half {
    display: flex;
    align-items: stretch;
    flex: 1;
}

.image-half {
    background: url('/images/login-side.jpg');
    background-size: cover;
    background-position: center;
    flex: 1;
}

.login-card {
    max-width: 360px;
    width: 100%;
    margin: 0 auto;
    background: #fff;
    padding: 35px 35px;
    position: relative;
    /* Fill the half's full height (matches the image half) and center the content */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.login-card h1 {
    color: #000;
    font-size: 23px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 20px;
}

.login-card a { color: #000; }

.login-card .form-message {
    color: red;
    font-size: 15px;
}

.login-card .form-message-info {
    color: #256a76;
    font-size: 15px;
}

.login-card input {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.auth-step {
    animation: authFadeIn 0.25s ease;
}

@keyframes authFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}

.login-card input[type="submit"]:disabled {
    opacity: 0.65;
    cursor: default;
}

.login-card input[type="email"],
.login-card input[type="text"] {
    height: 30px;
    display: block;
    width: 100%;
    margin: 0 auto 16px;
    border-color: #ACACAC;
    border-style: none none solid;
    border-width: medium medium 1px;
    color: #000;
    font-size: 16px;
    font-family: inherit;
    resize: none;
    text-align: left;
    padding: 5px 0;
    border-radius: 0;
    background: transparent;
}

.login-card input[type="email"]::placeholder,
.login-card input[type="text"]::placeholder {
    color: #ccc;
}

.login-card input[type="email"]:focus,
.login-card input[type="text"]:focus {
    outline: none;
    border-bottom-color: #256a76;
}

.login-card .otp-input {
    letter-spacing: 8px;
    text-align: center;
    font-size: 20px;
    height: auto;
}

.login-card input[type="submit"] {
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 15px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    margin-left: 0;
    box-shadow: none;
    background: #256a76;
    border: 1px solid #256a76;
    color: #fff;
    margin-top: 25px;
    cursor: pointer;
    font-family: inherit;
    display: block;
    box-sizing: border-box;
}

.login-card .sub-line {
    margin-top: 15px;
    font-size: 15px;
    line-height: 1.6;
}

.login-card .sub-line .underline { text-decoration: underline; }

.login-card .btn-link {
    background: none;
    border: none;
    padding: 0;
    color: #000;
    font-size: 15px;
    font-family: inherit;
    cursor: pointer;
    text-decoration: underline;
}

.resend-form { display: inline; }

@media (min-width: 1340px) {
    .middle-box {
        transform: scale(1.3);
    }
}

@media (max-width: 768px) {
    .auth-wrapper .middle-box {
        flex-direction: column-reverse;
        height: 100vh;
    }
    .form-half {
        background: #fff;
    }
}

@media (max-width: 480px) {
    .login-card {
        padding: 35px 40px;
        max-width: 480px;
    }
}
