/* ============================================================
   Acceso reducido (mod/minilogin)
   Pensado para ir sobre una foto: fondo claro, compacto y con el botón a lo
   ancho. El contenedor que lo incrusta decide dónde se coloca; aquí solo se
   define cómo es la tarjeta.
   ============================================================ */
.minilogin{
    width:100%;
    padding:26px 24px;
    border-radius:var(--radius-lg);
    background: rgb(255 255 255 / 77%);
    box-shadow:var(--shadow-lg);
    backdrop-filter:blur(6px);
    text-align:left;
    color:var(--color-text);
}

.minilogin__cab{ display:flex; align-items:center; gap:13px; margin-bottom:18px; }
.minilogin__icono{
    flex:0 0 auto; width:42px; height:42px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:var(--color-principal-10); color:var(--color-principal);
}
.minilogin__icono svg{ width:22px; height:22px; }
.minilogin__titulos{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.minilogin__titulos strong{ font-size:16px; color:var(--color-text); }
.minilogin__titulos span{ font-size:13px; color:var(--color-text-light); line-height:1.4; }

.minilogin form{ display:flex; flex-direction:column; gap:13px; }
.minilogin__campo{ display:flex; flex-direction:column; gap:4px; }
.minilogin__label{
    font-size:11px; font-weight:700; letter-spacing:.4px; text-transform:uppercase;
    color:var(--color-text-light);
}
.minilogin input[type=text],
.minilogin input[type=password]{
    width:100%; box-sizing:border-box;
    padding:13px 14px; font-size:15px; font-family:var(--font-main);
    color:var(--color-text); background:var(--color-white);
    border:1px solid var(--color-border-strong); border-radius:6px;
    transition:border-color .2s ease, box-shadow .2s ease;
}
.minilogin input[type=text]:focus,
.minilogin input[type=password]:focus{
    outline:none; border-color:var(--color-principal);
    box-shadow:0 0 0 3px var(--color-principal-10);
}
.minilogin input.es-error{ border-color:var(--color-principal); }

.minilogin__boton{
    margin-top:4px; padding:14px 18px; width:100%;
    border:0; border-radius:50px; cursor:pointer;
    background:var(--color-principal); color:#fff;
    font-family:var(--font-main); font-size:14px; font-weight:700;
    letter-spacing:.6px; text-transform:uppercase;
    transition:background .2s ease;
}
.minilogin__boton:hover{ background:var(--color-principal-hover); }

.minilogin__olvido{
    align-self:flex-start; font-size:12.5px; color:var(--color-text-light);
    text-decoration:none;
}
.minilogin__olvido:hover{ color:var(--color-principal); text-decoration:underline; }

.minilogin__pie{
    margin:18px 0 0; padding-top:15px; border-top:1px solid var(--color-border);
    font-size:13px; line-height:1.5; color:var(--color-text-light);
}
.minilogin__pie a{ color:var(--color-principal); font-weight:700; text-decoration:none; }
.minilogin__pie a:hover{ text-decoration:underline; }
