/* ============================================================================
   Login — rediseño 2026 (cárgase DESPOIS de sdweb.css, gaña por orde/especificidade).
   Mantense a composición (split-screen: foto á esquerda + panel á dereita) e os
   mesmos elementos na mesma orde; só se moderniza maquetación e estética de marca.
   ============================================================================ */

/* ----- Fondo: foto (inline, aleatoria) + veladura de marca para profundidade ----- */
body#login-page::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    /* Veladura moi lixeira: dálle cohesión de marca pero deixa lucir as fotos do carrusel. */
    background: linear-gradient(110deg,
        rgba(16, 24, 40, .22) 0%,
        rgba(44, 56, 98, .07) 55%,
        rgba(44, 56, 98, 0) 100%);
}

/* ----- Composición: panel á dereita a altura completa ----- */
body#login-page #page-wrapper {
    position: relative;
    z-index: 1;
    align-items: stretch;
    justify-content: flex-end;
    padding: 0 !important;
}

body#login-page #page-wrapper #panel_right_login {
    width: clamp(360px, 38%, 540px);
    min-height: 100vh;
    height: auto;
    align-self: stretch;
    background: #fff;
    padding: clamp(28px, 4vw, 56px);
    box-shadow: -10px 0 48px rgba(16, 24, 40, .30);
    border: 0;
}

/* O formulario, centrado e cunha anchura cómoda dentro do panel */
body#login-page #page-wrapper #panel_right_login form {
    width: 100%;
    max-width: 380px;
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: var(--primario, #2c3862);
    font-family: var(--font-family, inherit);
}

/* ----- Logo (mantense a imaxe actual; só tamaño/marxe) ----- */
body#login-page #page-wrapper #panel_right_login form .form-group:first-of-type {
    justify-content: center;
    width: 100%;
    margin-bottom: 6px;
}
body#login-page #page-wrapper #panel_right_login form .form-group:first-of-type .logo-login {
    max-width: 100%;
    max-height: 60px;
    margin-bottom: 0;
}

/* ----- Cabeceira: benvida + "Inicie sesión" ----- */
body#login-page #page-wrapper #panel_right_login form > h2 {
    margin: 2px 0 0;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.3px;
    color: var(--primario, #2c3862);
}
body#login-page #page-wrapper #panel_right_login form > br { display: none; }
body#login-page #page-wrapper #panel_right_login form > p {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 400;
    color: var(--primario-medio, #485ca1);
    text-decoration: none;
}
body#login-page #page-wrapper #panel_right_login form > p strong {
    font-weight: 600;
    color: var(--primario, #2c3862);
}
/* Pequeno acento de marca baixo o subtítulo */
body#login-page #page-wrapper #panel_right_login form > p::after {
    content: "";
    display: block;
    width: 36px;
    height: 3px;
    margin-top: 8px;
    border-radius: 100vmax;
    background: var(--secundario, #deb64a);
}

/* ----- Grupos de campos ----- */
body#login-page #page-wrapper #panel_right_login form .form-group {
    width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Inputs de texto modernos */
body#login-page #page-wrapper #panel_right_login form .form-group > .form-control,
body#login-page #page-wrapper #panel_right_login form .form-group > .password-container {
    width: 100%;
    flex: 1 1 auto;
}
body#login-page #page-wrapper #panel_right_login form input.form-control {
    height: 50px;
    padding: 12px 16px;
    border: 1.5px solid var(--primario-lighter, #ccd2e8);
    border-radius: var(--form-radius, 12px);
    background: var(--primario-extra-light, #f1f4fb);
    color: var(--primario, #2c3862);
    font-size: 15px;
    font-family: inherit;
    box-shadow: none;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
body#login-page #page-wrapper #panel_right_login form input.form-control::placeholder {
    color: var(--primario-light, #808fc5);
}
body#login-page #page-wrapper #panel_right_login form input.form-control:focus {
    border-color: var(--primario-accent, #5377f5);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(var(--primario-rgb, 44, 56, 98), .12);
    outline: none;
}

/* Contrasinal + ollo (mantense a funcionalidade do toggle) */
body#login-page #page-wrapper #panel_right_login form .password-container {
    position: relative;
    width: 100%;
}
body#login-page #page-wrapper #panel_right_login form .password-container input.form-control {
    padding-right: 46px;
}
body#login-page #page-wrapper #panel_right_login form .password-container .glyphicon.toggle-password {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    color: var(--primario-light, #808fc5);
    cursor: pointer;
    transition: color .15s ease;
}
body#login-page #page-wrapper #panel_right_login form .password-container .glyphicon.toggle-password:hover {
    color: var(--primario, #2c3862);
}

/* Recordarme */
body#login-page #page-wrapper #panel_right_login form #remember_me {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: var(--primario-accent, #5377f5);
    cursor: pointer;
}
body#login-page #page-wrapper #panel_right_login form #remember_me + label {
    margin: 0;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--primario-medio, #485ca1);
    cursor: pointer;
}

/* ----- Botón Acceder: mantense o estilo ORIXINAL (pill animada de marca de sdweb.css,
   navy + círculo ámbar + frecha dobre con transición). Non se sobreescribe aquí:
   a regra .form-group.submit de sdweb.css é máis específica e prevalece. ----- */

/* ----- Mensaxe de erro: en liña sobre o formulario (non superposta) ----- */
body#login-page #page-wrapper #panel_right_login form .alert {
    position: static;
    inset: auto;
    margin: 0;
    width: 100%;
    height: auto;
    padding: 11px 14px;
    background: rgba(221, 20, 27, .08);
    color: var(--danger, #dd141b);
    border: 1px solid rgba(221, 20, 27, .28);
    border-radius: var(--form-radius, 12px);
    box-shadow: none;
    font-size: 13.5px;
    text-align: left;
}

/* ----- Responsive: en pantallas pequenas, tarxeta centrada ----- */
@media (max-width: 991px) {
    body#login-page #page-wrapper {
        align-items: center;
        justify-content: center;
        padding: clamp(16px, 5vw, 32px) !important;
    }
    body#login-page #page-wrapper #panel_right_login {
        width: min(440px, 100%);
        min-height: 0;
        align-self: center;
        border-radius: 22px;
        padding: clamp(26px, 6vw, 40px);
        box-shadow: 0 24px 60px rgba(16, 24, 40, .40);
    }
    body#login-page #page-wrapper #panel_right_login form {
        flex-direction: column;
        flex-wrap: nowrap;
        max-width: 100%;
    }
    body#login-page #page-wrapper #panel_right_login form .form-group {
        flex: 1 1 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }
}
