/* Schermata di accesso NaPonoS — sostituisce l'aspetto di WordPress (accesso, password dimenticata, nuova password). */
body.nap-login {
  --nl-blue: var(--nap-blue, #1E3A5F);
  --nl-ink: var(--nap-ink, #1F2933);
  --nl-soft: var(--nap-ink-soft, #5B616B);
  --nl-line: #D5DCE4;
  --nl-bg: #F3F6FA;
  margin: 0;
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  background: var(--nl-bg);
  color: var(--nl-ink);
  font-family: var(--nap-font, "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
  font-size: 16px;
}

/* Pannello del marchio */
.nap-login-brand {
  grid-column: 1;
  grid-row: 1 / span 3;
  background: var(--nl-blue);
  color: #fff;
  padding: clamp(32px, 6vw, 72px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.nap-login-brand__home { display: inline-block; margin-bottom: 18px; }
.nap-login-brand__logo { width: clamp(120px, 16vw, 180px); height: auto; border-radius: 50%; background: #fff; padding: 10px; box-sizing: border-box; }
.nap-login-brand__name { font-size: 22px; font-weight: 700; color: #fff; }
.nap-login-brand__kicker { margin: 0; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; opacity: .8; }
.nap-login-brand__title { margin: 0; font-size: clamp(32px, 4vw, 46px); line-height: 1.1; color: #fff; }
.nap-login-brand__text { margin: 0; max-width: 34ch; line-height: 1.5; opacity: .9; }
.nap-login-brand__back { margin-top: 18px; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.nap-login-brand a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; border-radius: 6px; }

/* Colonna del modulo */
body.nap-login #login {
  grid-column: 2;
  align-self: center;
  justify-self: center;
  width: min(420px, 100% - 48px);
  padding: 48px 0;
  margin: 0;
}
body.nap-login #login > h1 { display: none; } /* il logo è nel pannello */
body.nap-login #backtoblog,
body.nap-login #backtonav,
body.nap-login .language-switcher { display: none; }

body.nap-login #loginform,
body.nap-login #lostpasswordform,
body.nap-login #resetpassform {
  margin: 0;
  padding: 28px;
  border: 1px solid var(--nl-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(30, 58, 95, .08);
  overflow: visible;
}
body.nap-login label { font-size: 14px; font-weight: 700; color: var(--nl-ink); }
body.nap-login .input,
body.nap-login input[type="text"],
body.nap-login input[type="password"],
body.nap-login input[type="email"] {
  font-size: 16px;
  min-height: 46px;
  padding: 8px 12px;
  margin: 6px 0 14px;
  border: 1px solid #8A8F98;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}
body.nap-login .input:focus,
body.nap-login input:focus {
  border-color: var(--nl-blue);
  box-shadow: 0 0 0 3px rgba(111, 175, 198, .55);
  outline: none;
}
body.nap-login .wp-pwd { position: relative; }
body.nap-login .wp-pwd .button.wp-hide-pw { top: 8px; color: var(--nl-blue); }
body.nap-login .forgetmenot label { font-weight: 400; }
body.nap-login .button-primary,
body.nap-login .button.button-primary {
  min-height: 46px;
  padding: 0 26px;
  border: 0;
  border-radius: 999px;
  background: var(--nl-blue);
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  text-shadow: none;
  box-shadow: none;
}
body.nap-login .button-primary:hover,
body.nap-login .button-primary:focus { background: #16304F; color: #fff; box-shadow: 0 0 0 3px rgba(111, 175, 198, .55); }
body.nap-login .submit { margin-top: 6px; }
body.nap-login .button.button-secondary { border-radius: 999px; color: var(--nl-blue); border-color: var(--nl-blue); }

/* Messaggi */
body.nap-login .message,
body.nap-login .notice,
body.nap-login #login_error,
body.nap-login .success {
  margin: 0 0 16px;
  padding: 12px 16px;
  border: 1px solid var(--nl-line);
  border-left-width: 4px;
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
  font-size: 15px;
}
body.nap-login #login_error,
body.nap-login .notice-error { border-left-color: #B3261E; }
body.nap-login .message,
body.nap-login .notice-info { border-left-color: var(--nl-blue); }
body.nap-login .success { border-left-color: #2E7D5B; }
body.nap-login .nap-login-intro { margin: 0 0 16px; color: var(--nl-soft); }
body.nap-login .shake { animation: none; }

/* Collegamenti sotto il modulo */
body.nap-login #nav,
body.nap-login .privacy-policy-page-link { margin: 18px 0 0; padding: 0; text-align: center; }
body.nap-login #nav a,
body.nap-login .privacy-policy-page-link a { color: var(--nl-blue); font-size: 15px; text-decoration: underline; text-underline-offset: 3px; }

/* Telefono e tablet stretti: una colonna, marchio compatto in alto */
@media (max-width: 860px) {
  body.nap-login { display: block; }
  .nap-login-brand { padding: 24px; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
  .nap-login-brand__home { margin: 0; }
  .nap-login-brand__logo { width: 64px; padding: 5px; }
  .nap-login-brand__kicker { width: 100%; order: 3; }
  .nap-login-brand__title { font-size: 26px; }
  .nap-login-brand__text, .nap-login-brand__back { display: none; }
  body.nap-login #login { width: min(420px, 100% - 32px); padding: 24px 0 40px; margin: 0 auto; }
  body.nap-login #loginform, body.nap-login #lostpasswordform, body.nap-login #resetpassform { padding: 22px; }
}

/* Correzioni sulle regole di WordPress */
body.nap-login .nap-login-brand__title,
body.nap-login .nap-login-brand { text-align: left; }
body.nap-login #login #backtoblog,
body.nap-login #login #backtonav,
body.nap-login #login p#backtonav { display: none !important; }
body.nap-login #loginform .forgetmenot { float: none; margin: 0 0 16px; }
body.nap-login #loginform .submit,
body.nap-login #lostpasswordform .submit,
body.nap-login #resetpassform .submit { float: none; margin: 0; padding: 0; display: flex; gap: 10px; flex-wrap: wrap; }
body.nap-login #loginform .submit .button-primary,
body.nap-login #lostpasswordform .submit .button-primary,
body.nap-login #resetpassform .submit .button-primary { float: none; width: 100%; }
body.nap-login #resetpassform .submit .button-secondary { float: none; }
body.nap-login .nap-login-brand__home { text-decoration: none; }
body.nap-login .nap-login-brand__name { text-decoration: underline; text-underline-offset: 4px; }
