/* v24 - FORGOT/RESET PASSWORD: stessa shell e grammatica visiva della Login moderna. */
@media (min-width:801px){
  html body:is(.page-forgot-password,.page-reset-password){
    min-height:100vh!important;
    background:linear-gradient(180deg,#eef4f9 0%,#e3edf5 100%)!important;
    color:#102846!important;
  }

  html body:is(.page-forgot-password,.page-reset-password) .site-header{
    box-sizing:border-box!important;
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-height:78px!important;
    padding-left:0!important;
    padding-right:max(16px,calc((100vw - 1620px)/2 + 16px))!important;
    overflow:hidden!important;
    border-bottom:1px solid #d5e0e8!important;
    background:rgba(250,252,254,.98)!important;
    box-shadow:0 5px 18px rgba(17,52,82,.07)!important;
    backdrop-filter:blur(10px)!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) .site-header .brand-v2{
    box-sizing:border-box!important;
    position:relative!important;
    align-self:stretch!important;
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:calc(max(16px,calc((100vw - 1620px)/2 + 16px)) + 330px)!important;
    min-width:365px!important;
    height:78px!important;
    margin:0 20px 0 0!important;
    padding-left:max(8px,calc((100vw - 1620px)/2 + 8px))!important;
    padding-right:78px!important;
    background:linear-gradient(90deg,#031a29 0%,#031c2f 54%,#031e35 100%)!important;
    clip-path:polygon(0 0,100% 0,88% 100%,0 100%)!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    text-decoration:none!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) .site-header .brand-v2::after{
    content:""!important;
    position:absolute!important;
    top:0!important;
    right:9%!important;
    width:1px!important;
    height:100%!important;
    background:linear-gradient(180deg,transparent,rgba(255,255,255,.22),transparent)!important;
    transform:skewX(-12deg)!important;
    opacity:.28!important;
    pointer-events:none!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) .site-header .brand-v2 .lofe-logo-img{
    display:block!important;
    width:auto!important;
    height:58px!important;
    max-width:245px!important;
    max-height:58px!important;
    margin-left:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    mix-blend-mode:normal!important;
    filter:none!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) .site-header .nav{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:2px!important;
    margin-left:0!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) .site-header .nav a,
  html body:is(.page-forgot-password,.page-reset-password) .site-header .nav button{
    min-height:36px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 10px!important;
    border:0!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#183b5b!important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:12.5px!important;
    font-weight:650!important;
    line-height:1!important;
    text-decoration:none!important;
    box-shadow:none!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) .site-header .nav a:hover,
  html body:is(.page-forgot-password,.page-reset-password) .site-header .nav button:hover{
    background:#e8f1f7!important;
    color:#0b5ea7!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) .site-header .nav a.active{
    background:#dfeefa!important;
    color:#0b5ea7!important;
    box-shadow:inset 0 0 0 1px #c8ddec!important;
  }

  html body:is(.page-forgot-password,.page-reset-password) #lofe-main{
    min-height:calc(100vh - 78px)!important;
    display:flex!important;
    flex-direction:column!important;
    background:transparent!important;
  }

  /* Card contenuto: stessa famiglia visiva della Login, ma chiara e coerente con il sito. */
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card,
  html body.page-reset-password #lofe-main > .alert.auth-card{
    box-sizing:border-box!important;
    width:min(100%,480px)!important;
    margin:54px auto 28px!important;
    padding:28px!important;
    border:1px solid #cddce7!important;
    border-radius:16px!important;
    background:#fff!important;
    color:#102846!important;
    box-shadow:0 10px 28px rgba(38,79,116,.10)!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card h1{
    margin:0 0 8px!important;
    color:#102f4f!important;
    font-size:24px!important;
    font-weight:850!important;
    line-height:1.15!important;
    text-align:center!important;
    text-shadow:none!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card > .muted{
    margin:0 0 22px!important;
    color:#657b8f!important;
    font-size:13px!important;
    line-height:1.45!important;
    text-align:center!important;
    opacity:1!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card .form-grid{
    gap:14px!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card label{
    color:#29445d!important;
    font-size:12.5px!important;
    font-weight:700!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card input{
    min-height:44px!important;
    margin-top:6px!important;
    border:1px solid #c6d6e1!important;
    border-radius:9px!important;
    background:#f9fbfd!important;
    color:#14283a!important;
    box-shadow:none!important;
    opacity:1!important;
    -webkit-text-fill-color:#14283a!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card input:focus{
    border-color:#6aaedf!important;
    outline:3px solid rgba(73,157,216,.14)!important;
    background:#fff!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card .button{
    min-height:44px!important;
    border:1px solid #0b5ea7!important;
    border-radius:9px!important;
    background:#0b5ea7!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:800!important;
    box-shadow:none!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card .button:hover{
    background:#084f8e!important;
    color:#fff!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card .auth-link{
    margin:18px 0 0!important;
    text-align:center!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card .auth-link a,
  html body.page-reset-password #lofe-main > .alert.auth-card a{
    color:#0b67b2!important;
    font-size:12.5px!important;
    font-weight:700!important;
    text-decoration:none!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card .auth-link a:hover,
  html body.page-reset-password #lofe-main > .alert.auth-card a:hover{text-decoration:underline!important}

  html body.page-reset-password #lofe-main > .alert.auth-card{
    border-left:4px solid #c74d57!important;
    color:#6f2d34!important;
    font-size:13px!important;
    line-height:1.45!important;
  }

  html body:is(.page-forgot-password,.page-reset-password) #lofe-main .site-footer-v2{
    box-sizing:border-box!important;
    width:100vw!important;
    margin:36px 0 0 calc(50% - 50vw)!important;
    margin-top:auto!important;
    padding:18px max(16px,calc((100vw - 1620px)/2 + 16px))!important;
    display:grid!important;
    grid-template-columns:1fr auto auto!important;
    align-items:center!important;
    gap:18px!important;
    border-top:1px solid #cfdbe4!important;
    background:#dfe8ef!important;
    color:#29445d!important;
    box-shadow:none!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main .site-footer-v2 .site-footer__identity{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main .site-footer-v2 .lofe-logo-footer{
    width:auto!important;
    height:36px!important;
    max-height:36px!important;
    object-fit:contain!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main .site-footer-v2 .site-footer__identity small,
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main .site-footer-v2 .site-footer__legal,
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main .site-footer-v2 .site-footer__version{
    color:#536a7f!important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:11px!important;
    font-weight:600!important;
    line-height:1.2!important;
  }
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main .site-footer-v2 .site-footer__legal{text-align:center!important}
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main .site-footer-v2 .site-footer__version{white-space:nowrap!important;text-align:right!important}
}

@media (max-width:800px){
  html body:is(.page-forgot-password,.page-reset-password) #lofe-main > .auth-card,
  html body.page-reset-password #lofe-main > .alert.auth-card{
    margin:18px 0 24px!important;
  }
}
