/* CEABAD legacy login visual restoration for Moodle 5 / Almondb */
html, body {
    min-height: 100%;
}

body#page-login-index,
body#page-login-index #page-wrapper.login-background {
    background: #ffffff url('/theme/almondb/pix/login-old/fondo.jpg') center center / cover fixed no-repeat !important;
}

body#page-login-index #page-wrapper.login-background {
    min-height: 100vh;
}

body#page-login-index .ceabad-login-wrapper {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(520px, 1.08fr) minmax(520px, .9fr);
    align-items: center;
    gap: 3vw;
    width: min(1840px, calc(100% - 80px));
    min-height: 100vh;
    margin: 0 auto;
    padding: 34px 0;
}

body#page-login-index .ceabad-login-art {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

body#page-login-index .ceabad-login-art img {
    display: block;
    width: 100%;
    max-width: 1089px;
    height: auto;
}

body#page-login-index .ceabad-login-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 760px;
    justify-self: end;
    margin: 0;
    padding: 42px 54px 30px;
    border-radius: 30px;
    background: rgba(245, 245, 245, .94);
    box-shadow: 0 18px 36px rgba(38, 67, 89, .18);
}

body#page-login-index .ceabad-login-brand {
    display: flex;
    justify-content: center;
    margin-bottom: 8px;
}

body#page-login-index .ceabad-login-brand img {
    display: block;
    width: 116px;
    height: auto;
}

body#page-login-index .ceabad-login-welcome {
    color: #008fce;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
}

body#page-login-index .ceabad-login-divider {
    height: 1px;
    margin: 20px 0 30px;
    background: #c7c7c7;
}

body#page-login-index .ceabad-login-content {
    width: 100%;
}

body#page-login-index .ceabad-login-content .login-logo,
body#page-login-index .ceabad-login-content .login-heading,
body#page-login-index .ceabad-login-content .login-divider,
body#page-login-index .ceabad-login-content .login-identityproviders,
body#page-login-index .ceabad-login-content .login-signup,
body#page-login-index .ceabad-login-content .login-guest,
body#page-login-index .ceabad-login-content #login-guest {
    display: none !important;
}

body#page-login-index .ceabad-login-content form#login {
    width: 100%;
    margin: 0;
}

body#page-login-index .ceabad-login-content .form-control {
    min-height: 48px;
    border: 1px solid #c7c7c7;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: none;
    font-size: 17px;
}

body#page-login-index .ceabad-login-content .form-control:focus {
    border-color: #008fce;
    box-shadow: 0 0 0 3px rgba(0, 143, 206, .15);
}

body#page-login-index .ceabad-login-content .btn-primary,
body#page-login-index .ceabad-login-content #loginbtn,
body#page-login-index .ceabad-login-content .login-form-submit .btn {
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 26px;
    background: #078dcc;
    box-shadow: none;
    font-size: 18px;
    font-weight: 400;
    text-transform: uppercase;
}

body#page-login-index .ceabad-login-content .btn-primary:hover,
body#page-login-index .ceabad-login-content #loginbtn:hover,
body#page-login-index .ceabad-login-content .login-form-submit .btn:hover {
    background: #007bb5;
}

body#page-login-index .ceabad-login-content .login-rememberpass {
    font-size: 16px;
}

body#page-login-index .ceabad-login-content .login-forgotpassword,
body#page-login-index .ceabad-login-content .login-form-forgotpassword {
    font-size: 17px;
}

body#page-login-index .ceabad-login-content a {
    color: #008fce;
}

body#page-login-index .ceabad-login-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid #c7c7c7;
}

body#page-login-index .ceabad-login-social span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 32px;
}

body#page-login-index .ceabad-login-social img {
    display: block;
    max-width: 31px;
    max-height: 35px;
    opacity: .42;
}

body#page-login-index .ceabad-login-card .btn-footer-popover,
body#page-login-index .ceabad-login-card .footer-popover {
    display: none !important;
}

@media (max-width: 1100px) {
    body#page-login-index .ceabad-login-wrapper {
        grid-template-columns: 1fr;
        width: min(760px, calc(100% - 36px));
        padding: 24px 0 36px;
    }

    body#page-login-index .ceabad-login-art img {
        max-width: 680px;
    }

    body#page-login-index .ceabad-login-card {
        justify-self: stretch;
        max-width: none;
    }
}

@media (max-width: 600px) {
    body#page-login-index .ceabad-login-wrapper {
        width: calc(100% - 24px);
    }

    body#page-login-index .ceabad-login-card {
        padding: 30px 22px 24px;
        border-radius: 22px;
    }
}

/* CEABAD legacy login final alignment */
body#page-login-index .ceabad-login-content .login-instructions,
body#page-login-index .ceabad-login-content #loginguestbtn {
    display: none !important;
}
body#page-login-index .ceabad-login-card {
    width: 100% !important;
}

/* Keep the legacy card focused on authentication controls. */
body#page-login-index .ceabad-login-content .d-flex {
    display: none !important;
}

/* Legacy social links and remember-user control */
body#page-login-index .ceabad-login-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 35px;
    margin: 0 4px;
    text-decoration: none;
}
body#page-login-index .ceabad-login-social a img {
    display: block;
    max-width: 31px;
    max-height: 35px;
    opacity: .86;
    filter: contrast(1.55);
    transition: opacity .15s ease, transform .15s ease;
}
body#page-login-index .ceabad-login-social a:hover img,
body#page-login-index .ceabad-login-social a:focus img {
    opacity: 1;
    transform: translateY(-1px);
}
body#page-login-index .ceabad-remember-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: -4px 0 22px;
    color: #222;
    font-size: 16px;
}
body#page-login-index .ceabad-remember-row input {
    width: 22px;
    height: 22px;
    margin: 0;
    accent-color: #078dcc;
}
body#page-login-index .ceabad-remember-row label {
    margin: 0;
    cursor: pointer;
}

/* Final contrast correction for social icons */
body#page-login-index .ceabad-login-social a img {
    opacity: 1 !important;
    filter: grayscale(1) brightness(.55) contrast(1.35) !important;
}