/* COREVIA LOGIN V1 — website login only */

body:has(section.for-login) {
    background: #fafafa !important;
}

body:has(section.for-login) .web-footer,
body:has(section.for-login) .navbar,
body:has(section.for-login) .page-header,
body:has(section.for-login) .sign-up-message,
body:has(section.for-login) .page-card-head {
    display: none !important;
}

body:has(section.for-login) .page-content-wrapper,
body:has(section.for-login) .page_content {
    background: transparent !important;
}

body:has(section.for-login) section.for-login,
body:has(section.for-login) section.for-forgot,
body:has(section.for-login) section.for-email-login {
    max-width: 540px !important;
    margin: 7vh auto 40px !important;
}

body:has(section.for-login) .login-content.page-card {
    width: 100% !important;
    max-width: 540px !important;
    padding: 44px 36px 32px !important;
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 30px !important;
    box-shadow: 0 22px 55px rgba(0,0,0,.055) !important;
}

.corevia-login-brand {
    text-align: center;
    margin-bottom: 35px;
}

.corevia-login-welcome {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 5px;
    color: #ad0009;
    margin-bottom: 15px;
}

.corevia-login-title {
    font-size: 43px;
    font-weight: 850;
    line-height: 1.15;
    color: #080808;
    letter-spacing: -1.5px;
}

.corevia-login-slogan {
    font-size: 11px;
    font-weight: 750;
    letter-spacing: 3px;
    color: #ad0009;
    margin-top: 8px;
}

.corevia-login-description {
    color: #777;
    font-size: 14px;
    margin-top: 20px;
}

body:has(section.for-login) .page-card-body,
body:has(section.for-login) .page-card-actions {
    padding: 0 !important;
}

body:has(section.for-login) .form-group {
    margin-bottom: 18px !important;
}

body:has(section.for-login) #login_email,
body:has(section.for-login) #login_password,
body:has(section.for-login) #forgot_email {
    height: 58px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 16px !important;
    background: #fafafa !important;
    padding: 0 18px !important;
    color: #111 !important;
    font-size: 15px !important;
    box-shadow: none !important;
}

body:has(section.for-login) .email-field .field-icon,
body:has(section.for-login) .password-field .field-icon {
    display: none !important;
}

body:has(section.for-login) .forgot-password-message {
    text-align: right !important;
    margin: 8px 0 24px !important;
}

body:has(section.for-login) .forgot-password-message a {
    color: #ad0009 !important;
    font-weight: 650 !important;
}

body:has(section.for-login) .btn-login,
body:has(section.for-login) .btn-forgot {
    min-height: 58px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #ad0009 !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 750 !important;
    box-shadow: 0 12px 24px rgba(173,0,9,.12) !important;
}

body:has(section.for-login) .btn-login:hover,
body:has(section.for-login) .btn-forgot:hover {
    background: #8f0007 !important;
}

.corevia-login-footer {
    text-align: center;
    color: #999;
    font-size: 10px;
    letter-spacing: 2px;
    margin-top: 30px;
    font-weight: 700;
}

@media (max-width: 600px) {
    body:has(section.for-login) section.for-login,
    body:has(section.for-login) section.for-forgot {
        margin: 25px 14px !important;
    }

    body:has(section.for-login) .login-content.page-card {
        padding: 35px 22px 28px !important;
        border-radius: 24px !important;
    }

    .corevia-login-title {
        font-size: 36px;
    }
}

/* COREVIA LOGIN V1.1 — scoped visual refinement */

body:has(section.for-login) section.for-login,
body:has(section.for-login) section.for-forgot,
body:has(section.for-login) section.for-email-login {
    max-width: 620px !important;
    margin-top: 7vh !important;
}

body:has(section.for-login) .login-content.page-card {
    max-width: 620px !important;
    padding: 42px 42px 32px !important;
    border-radius: 28px !important;
}

body:has(section.for-login) .corevia-login-brand {
    margin-bottom: 30px !important;
}

.corevia-login-brand-image {
    display: block;
    width: min(100%, 370px);
    height: auto;
    margin: 0 auto;
}

body:has(section.for-login) .corevia-login-welcome,
body:has(section.for-login) .corevia-login-title,
body:has(section.for-login) .corevia-login-slogan,
body:has(section.for-login) .corevia-login-description {
    display: none !important;
}

body:has(section.for-login) #login_email,
body:has(section.for-login) #login_password {
    width: 100% !important;
}

body:has(section.for-login) .login-with-email-link,
body:has(section.for-login) .social-login-buttons:has(.btn-login-with-email-link) {
    display: none !important;
}

body:has(section.for-login) .corevia-login-footer {
    margin-top: 19px !important;
    letter-spacing: 1.8px;
}

@media (max-width: 600px) {
    body:has(section.for-login) section.for-login,
    body:has(section.for-login) section.for-forgot,
    body:has(section.for-login) section.for-email-login {
        max-width: none !important;
        margin: 24px 14px !important;
    }

    body:has(section.for-login) .login-content.page-card {
        padding: 32px 22px 26px !important;
    }

    .corevia-login-brand-image {
        width: min(100%, 310px);
    }
}

/* COREVIA LOGIN V1.2 — final form proportions */

body:has(section.for-login) section.for-login .login-content.page-card {
    max-width: 620px !important;
}

body:has(section.for-login) section.for-login .page-card-body,
body:has(section.for-login) section.for-login .page-card-actions,
body:has(section.for-login) section.for-login .form-login,
body:has(section.for-login) section.for-login .form-group {
    width: 100% !important;
    max-width: none !important;
}

body:has(section.for-login) section.for-login #login_email,
body:has(section.for-login) section.for-login #login_password,
body:has(section.for-login) section.for-login .btn-login {
    display: block;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

body:has(section.for-login) section.for-login .login-with-email-link,
body:has(section.for-login) section.for-login .social-login-buttons,
body:has(section.for-login) section.for-login .social-login,
body:has(section.for-login) section.for-login .login-divider,
body:has(section.for-login) section.for-login .divider,
body:has(section.for-login) section.for-login .or,
body:has(section.for-login) section.for-login .or-text {
    display: none !important;
}

body:has(section.for-login) section.for-login .corevia-login-footer {
    margin-top: 20px !important;
}

@media (max-width: 600px) {
    body:has(section.for-login) section.for-login .login-content.page-card {
        padding: 30px 22px 25px !important;
    }
}

/* COREVIA LOGIN V1.3 — brand-to-form spacing only */

body:has(section.for-login) section.for-login .corevia-login-brand {
    margin-bottom: 56px !important;
}

@media (max-width: 600px) {
    body:has(section.for-login) section.for-login .corevia-login-brand {
        margin-bottom: 42px !important;
    }
}
