/* Pagina di login area riservata — coerente con lo stile del sito. */
.loginWrap{
    min-height:calc(100vh - 160px);
    display:flex; align-items:center; justify-content:center;
    padding:2.5rem 1rem;
}
.loginCard{
    width:100%; max-width:380px; box-sizing:border-box;
    background:#fff; border:1px solid var(--line, #e6e2d8); border-radius:16px;
    padding:2.2rem 2rem; box-shadow:0 14px 44px rgba(26,32,40,.10); text-align:center;
}
.loginLogo{ width:66px; height:66px; object-fit:contain; display:block; margin:0 auto .9rem; }
/* Segnaposto finche' l'onoranza non carica il proprio logo. */
span.loginLogo{ display:flex; align-items:center; justify-content:center; color:#8892a0; opacity:.6; }
span.loginLogo svg{ width:66px; height:66px; }
.loginCard h1{
    font-family:var(--serif, Georgia, serif); color:var(--dark, #1a2028);
    font-size:1.5rem; margin:0 0 .2rem;
}
.loginSub{ color:var(--gold-d, #8f7630); font-size:.85rem; margin:0 0 1.6rem; }
.loginError{
    background:#fdeceb; color:#b3261e; border-radius:9px;
    padding:.6rem .8rem; font-size:.9rem; margin:0 0 1.1rem; text-align:center;
}
.loginForm{ text-align:left; display:flex; flex-direction:column; gap:1rem; }
.loginField{ display:flex; flex-direction:column; gap:.35rem; }
.loginField span{ font-size:.85rem; color:var(--muted, #6f6f6f); }
.loginField input{
    padding:.72rem .9rem; border:1px solid var(--line, #e6e2d8); border-radius:10px;
    font-size:1rem; background:#fff; font-family:inherit; box-sizing:border-box;
}
.loginField input:focus{
    outline:none; border-color:var(--gold, #B1943B);
    box-shadow:0 0 0 3px rgba(177,148,59,.15);
}
.loginForm button{
    margin-top:.4rem; padding:.8rem; border:none; border-radius:10px;
    background:var(--dark, #1a2028); color:#fff; font-size:1rem; cursor:pointer;
    font-family:inherit; transition:background .15s;
}
.loginForm button:hover{ background:#0f141a; }
