/* Bilocale.it — Introduzione dedicata per Preferiti, Pubblica e Messaggi.
   Solo desktop. La pagina login di tablet e smartphone resta invariata. */
.guest-desktop-stage, .guest-login-close { display:none; }
@media (min-width:1025px) {
  /* La testata autentica di Bilocale.it, al posto dei pulsanti Accedi/Registrati. */
  body.login-page-body:has(.login-page--guest) > .site-header {
    display:block!important;
    height:72px!important;
    background:#fff!important;
    border-bottom:1px solid #e5ecf3;
  }
  body.login-page-body:has(.login-page--guest) > .site-header .header-inner {
    height:100%!important;
  }
  /* Il login aperto dalla landing oscura anche il logo e le azioni in testata. */
  body.login-page-body.guest-login-overlay-open > .site-header { z-index:1!important; }

  body.login-page-body:has(.login-page--guest) { background:#fff; }
  body.login-page-body.guest-login-overlay-open { overflow:hidden; }
  body.login-page-body .login-page.login-page--guest {
    min-height:0; padding:0!important; margin:0!important;
    width:100%; max-width:none; background:#fff;
  }
  .login-page--guest .guest-desktop-stage { display:block; width:100%; }
  .login-page--guest .guest-desktop-header {
    height:72px; display:flex; align-items:center; justify-content:space-between;
    gap:30px; padding:0 34px; background:#fff; border-bottom:1px solid #e5ecf3;
  }
  .login-page--guest .guest-desktop-brand { display:flex; align-items:center; text-decoration:none; }
  .login-page--guest .guest-desktop-brand img { width:168px; max-height:49px; object-fit:contain; }
  .login-page--guest .guest-desktop-header-actions { display:flex; gap:12px; align-items:center; }
  .login-page--guest .guest-desktop-header-actions>span { margin-right:13px; color:#7a8b9b; font-size:13px; }
  .login-page--guest .guest-desktop-header-login,
  .login-page--guest .guest-desktop-header-register {
    display:inline-flex; align-items:center; justify-content:center; min-height:40px;
    padding:0 19px; border:1px solid #cbdbe9; border-radius:10px;
    background:white; color:#1c5479; font:inherit; font-size:13px; font-weight:800;
    cursor:pointer; text-decoration:none;
  }
  .login-page--guest .guest-desktop-header-register { background:#0879bb; border-color:#0879bb; color:#fff; }
  .login-page--guest .guest-desktop-layout { display:grid; grid-template-columns:82px minmax(0,1fr); }
  .login-page--guest .guest-desktop-nav {
    display:flex; flex-direction:column; gap:5px; align-items:stretch;
    position:sticky; top:0; align-self:start; box-sizing:border-box;
    height:calc(100vh - 72px); min-height:390px; padding:17px 7px;
    background:#fff; border-right:1px solid #e1e9f0;
    z-index:2;
  }
  .login-page--guest .guest-desktop-nav-item {
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
    width:100%; min-height:69px; padding:8px 4px; box-sizing:border-box;
    border:0; border-radius:10px; appearance:none; background:transparent;
    color:#435e75; text-decoration:none; text-align:center; cursor:pointer;
    font:inherit; font-size:10.5px; font-weight:800; line-height:1.2;
  }
  .login-page--guest .guest-desktop-nav-item svg {
    width:25px; height:25px; display:block; stroke:currentColor;
    fill:none; stroke-width:1.8; stroke-linejoin:round; stroke-linecap:round;
  }
  .login-page--guest .guest-desktop-nav-item:hover,
  .login-page--guest .guest-desktop-nav-item.is-active { color:#087ec0; background:#eaf5fd; }
  .login-page--guest .guest-desktop-nav-item:focus-visible,
  .login-page--guest .guest-action-primary:focus-visible,
  .login-page--guest .guest-action-secondary:focus-visible { outline:3px solid #0879bb; outline-offset:3px; }
  .login-page--guest .guest-desktop-hero {
    display:grid; grid-template-columns:minmax(330px,44%) minmax(420px,56%);
    min-height:min(690px,calc(100vh - 72px)); box-sizing:border-box;
    background:#f5f8fc; align-items:center; gap:0;
    padding:60px clamp(34px,5vw,100px) 72px clamp(56px,7.4vw,145px);
    overflow:hidden;
  }
  .login-page--guest .guest-desktop-copy { position:relative; z-index:1; max-width:560px; }
  .login-page--guest .guest-desktop-eyebrow {
    display:inline-flex; align-items:center; gap:9px; margin-bottom:20px;
    color:#1178b5; font-size:13px; font-weight:850; letter-spacing:.025em;
  }
  .login-page--guest .guest-desktop-eyebrow i { width:8px; height:8px; border-radius:50%; background:#ec762b; }
  .login-page--guest .guest-desktop-copy h1 {
    max-width:570px; margin:0 0 22px; color:#18283a;
    font-size:clamp(33px,3.2vw,54px); font-weight:900;
    letter-spacing:-.04em; line-height:1.12;
  }
  .login-page--guest .guest-desktop-copy>p {
    max-width:490px; margin:0; color:#475c6f; font-size:clamp(16px,1.2vw,18px);
    font-weight:450; line-height:1.65;
  }
  .login-page--guest .guest-desktop-actions { display:flex; gap:15px; flex-wrap:wrap; align-items:center; margin-top:30px; }
  .login-page--guest .guest-action-primary {
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    min-height:51px; padding:0 23px; border-radius:10px;
    background:#ed7625; color:#fff; border:1px solid #ed7625;
    font-weight:850; font-size:15px; text-decoration:none; box-shadow:0 4px 12px rgba(236,110,32,.18);
  }
  .login-page--guest .guest-action-primary:hover { background:#d85f14; }
  .login-page--guest .guest-action-primary svg { width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:2; }
  .login-page--guest .guest-action-secondary {
    border:0; background:transparent; color:#0b6ba5; font:inherit;
    padding:10px 0; font-size:14px; font-weight:850; text-decoration:underline; text-underline-offset:4px;
    cursor:pointer;
  }
  .login-page--guest .guest-desktop-promise { display:flex; align-items:flex-start; gap:10px; margin-top:30px; max-width:470px; color:#73859a; font-size:13px; line-height:1.5; }
  .login-page--guest .guest-desktop-promise svg { width:17px; height:17px; flex:0 0 17px; margin-top:1px; stroke:#36a28d; stroke-width:2; fill:none; }
  .login-page--guest .guest-desktop-art { display:flex; justify-content:center; align-items:center; min-width:0; max-width:100%; }
  .login-page--guest .guest-illustration { display:block; width:100%; max-width:650px; height:auto; overflow:visible; }
  /* Il vero modulo rimane accessibile premendo Accedi, senza mandare l'utente in un'altra pagina. */
  body.login-page-body .login-page--guest .login-shell {
    display:none; position:fixed; inset:0; z-index:5000; margin:0!important;
    width:100vw!important; max-width:none!important; height:100vh;
    padding:28px; box-sizing:border-box; overflow-y:auto;
    align-items:center; justify-content:center; background:rgba(17,38,57,.56);
  }
  body.login-page-body .login-page--guest.is-login-open .login-shell { display:flex; }
  body.login-page-body .login-page--guest .login-card {
    position:relative; width:min(480px,100%); max-height:calc(100vh - 56px);
    box-sizing:border-box; overflow-y:auto;
    padding:39px 39px 32px; border-radius:19px;
    background:#fff; box-shadow:0 25px 80px rgba(9,38,57,.25);
  }
  body.login-page-body .login-page--guest .login-card h1 { font-size:28px; padding-right:25px; }
  body.login-page-body .login-page--guest .login-card>p { margin-bottom:22px; }
  .login-page--guest .guest-login-close {
    display:grid; place-items:center; position:absolute; z-index:1;
    width:35px; height:35px; right:18px; top:17px; border:0; border-radius:50%;
    background:#f0f5fa; color:#39526a; cursor:pointer; font-size:27px; line-height:1;
  }
  .login-page--guest .guest-login-close:hover { background:#e1edf7; }
}
@media (min-width:1025px) and (max-width:1330px) {
  .login-page--guest .guest-desktop-hero { grid-template-columns: minmax(300px,48%) minmax(330px,52%); padding-left:58px; padding-right:34px; }
  .login-page--guest .guest-desktop-copy h1 { font-size:38px; }
  .login-page--guest .guest-desktop-actions { gap:10px; }
  .login-page--guest .guest-action-primary { padding:0 18px; }
}
@media (max-width:1024px) {
  /* Tutto l'accesso di tablet e mobile rimane identico alla versione esistente. */
  .login-page--guest .guest-desktop-stage,
  .login-page--guest .guest-login-close { display:none!important; }
}

/* Solo desktop: nessuna testata duplicata su tablet o smartphone. */
@media (max-width:1024px) {
  body.login-page-body > .site-header { display:none!important; }
}
