/* ══════════════════════════════════════
   ATLAS MAP — Login / Recupero password
   Header e footer gestiti dal child theme
══════════════════════════════════════ */

.atlasmap-login-wrap{
  --am-navy:#223a5e;
  --am-navy-dark:#1a2f4d;
  --am-cyan:#0891b2;
  --am-green:#47c27a;
  --am-orange:#f59e0b;
  --am-text:#1f2a37;
  --am-muted:#64748b;
  --am-border:#e2e8f0;
  --am-bg:#f8fafc;

  font-family:'Montserrat',system-ui,-apple-system,sans-serif;
  min-height:72vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 20px;
  background:var(--am-bg);
  color:var(--am-text);
  box-sizing:border-box;
}

.atlasmap-login-wrap *{
  box-sizing:border-box;
}

/* ══════════════════════════════════════
   CARD
══════════════════════════════════════ */

.atlasmap-login-card{
  width:min(520px,100%);
  background:#ffffff;
  border:1px solid var(--am-border);
  border-top:4px solid var(--am-navy);
  border-radius:18px;
  padding:36px 38px 34px;
}

/* ══════════════════════════════════════
   BRAND INTERNO CARD
══════════════════════════════════════ */

.atlasmap-login-brand{
  display:flex;
  align-items:center;
  gap:16px;
  padding-bottom:24px;
  margin-bottom:26px;
  border-bottom:1px solid #f1f5f9;
}

.atlasmap-brand-name{
  font-size:19px;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--am-navy);
}

.atlasmap-brand-name b{
  color:var(--am-orange);
}

.atlasmap-brand-sub{
  font-size:11px;
  letter-spacing:.12em;
  font-weight:700;
  color:var(--am-muted);
  margin-top:3px;
  text-transform:uppercase;
}

.atlasmap-brand-by{
  font-size:11px;
  color:var(--am-cyan);
  margin-top:3px;
  font-weight:600;
}

/* Icona layer interna alla card */

.atlasmap-login-mark{
  position:relative;
  width:52px;
  height:44px;
  flex:0 0 52px;
}

.atlasmap-layer{
  position:absolute;
  left:6px;
  width:38px;
  height:18px;
  border-radius:4px;
  transform:skewY(-14deg) rotate(1deg);
}

.atlasmap-layer.l1{
  top:22px;
  background:var(--am-navy);
}

.atlasmap-layer.l2{
  top:13px;
  left:8px;
  background:var(--am-cyan);
}

.atlasmap-layer.l3{
  top:4px;
  left:10px;
  background:var(--am-green);
}

.atlasmap-pin{
  position:absolute;
  width:13px;
  height:13px;
  border-radius:50% 50% 50% 0;
  background:var(--am-orange);
  transform:rotate(-45deg);
  left:19px;
  top:0;
  border:3px solid #fff;
  box-shadow:0 0 0 2px var(--am-navy);
}

/* ══════════════════════════════════════
   TITOLI
══════════════════════════════════════ */

.atlasmap-login-head h1{
  margin:0;
  font-size:26px;
  line-height:1.25;
  color:var(--am-text);
  font-weight:600;
}

.atlasmap-login-head p{
  margin:8px 0 26px;
  color:var(--am-muted);
  font-size:14.5px;
  line-height:1.6;
}

/* ══════════════════════════════════════
   FORM
══════════════════════════════════════ */

.atlasmap-login-form label{
  display:block;
  font-size:12px;
  font-weight:700;
  color:var(--am-muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin:0 0 6px;
}

.atlasmap-login-form input[type=text],
.atlasmap-login-form input[type=password],
.atlasmap-login-form input[type=email]{
  width:100%;
  height:48px;
  background:#f8fafc;
  border:1.5px solid var(--am-border);
  border-radius:8px;
  padding:0 14px;
  margin:0 0 18px;
  font-family:'Montserrat',sans-serif;
  font-size:14.5px;
  color:var(--am-text);
  outline:none;
  transition:border-color .15s,box-shadow .15s;
}

.atlasmap-login-form input:focus{
  border-color:var(--am-navy);
  box-shadow:0 0 0 3px rgba(34,58,94,.10);
  background:#fff;
}

/* Riga ricordami / password dimenticata */

.atlasmap-login-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:-4px 0 24px;
  font-size:13px;
}

.atlasmap-login-row a,
.atlasmap-login-footer a{
  color:var(--am-navy);
  font-weight:700;
  text-decoration:none;
}

.atlasmap-login-row a:hover,
.atlasmap-login-footer a:hover{
  color:var(--am-cyan);
}

.atlasmap-check{
  display:flex!important;
  align-items:center;
  gap:8px!important;
  margin:0!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-weight:600!important;
  color:var(--am-muted)!important;
  font-size:13px;
}

.atlasmap-check input{
  margin:0;
  accent-color:var(--am-navy);
}

/* ══════════════════════════════════════
   BOTTONI
══════════════════════════════════════ */

.atlasmap-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  border-radius:10px;
  padding:13px 20px;
  font-family:'Montserrat',sans-serif;
  font-size:15px;
  font-weight:700;
  text-decoration:none!important;
  border:0;
  cursor:pointer;
  transition:
    background .2s ease,
    transform .2s ease;
}

.atlasmap-btn:hover{
  transform:translateY(-1px);
}

.atlasmap-btn-primary{
  background:var(--am-navy);
  color:#fff!important;
}

.atlasmap-btn-primary:hover{
  background:var(--am-navy-dark);
}

.atlasmap-btn-secondary{
  margin-top:10px;
  background:#fff;
  color:var(--am-navy)!important;
  border:1.5px solid var(--am-border);
}

.atlasmap-btn-secondary:hover{
  border-color:var(--am-navy);
  background:#f8fafc;
}

/* ══════════════════════════════════════
   FOOTER INTERNO CARD
══════════════════════════════════════ */

.atlasmap-login-footer{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #f1f5f9;
  text-align:center;
  font-size:13px;
  color:var(--am-muted);
}

.atlasmap-login-footer span{
  margin-right:5px;
}

/* ══════════════════════════════════════
   NOTICE
══════════════════════════════════════ */

.atlasmap-login-notice{
  padding:14px 16px;
  border-radius:12px;
  margin-bottom:18px;
  font-size:13.5px;
  line-height:1.6;
  font-weight:600;
  border:1px solid transparent;
}

.atlasmap-login-notice--error{
  background:#fff7ed;
  color:#7a4b1d;
  border-color:#f5d0a6;
}

.atlasmap-login-notice--success{
  background:#edf5f0;
  color:#1f2a37;
  border-color:#b8d8c2;
}

/* ══════════════════════════════════════
   UTENTE GIÀ CONNESSO
══════════════════════════════════════ */

.atlasmap-login-already p{
  font-size:14.5px;
  line-height:1.6;
  color:var(--am-muted);
  margin-bottom:18px;
}

.atlasmap-login-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 14px;
  border-radius:999px;
  background:#edf5f0;
  color:#1f7a49;
  font-size:13px;
  font-weight:700;
  margin-bottom:14px;
}

.atlasmap-login-status::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
}

/* ══════════════════════════════════════
   PAGINA LOGIN
   Header + Footer globali dal child theme
══════════════════════════════════════ */

body.atlasmap-login-page{
  margin:0!important;
  background:#f8fafc!important;
}

/*
 * Nasconde SOLO il titolo WordPress duplicato.
 * NON nasconde l'header globale del child theme.
 */
body.atlasmap-login-page .entry-header,
body.atlasmap-login-page .entry-title,
body.atlasmap-login-page h1.wp-block-post-title{
  display:none!important;
}

/* Rimuove margini inutili attorno al contenuto */

body.atlasmap-login-page .site,
body.atlasmap-login-page .site-content,
body.atlasmap-login-page .content-area,
body.atlasmap-login-page main,
body.atlasmap-login-page .entry-content,
body.atlasmap-login-page .wp-site-blocks{
  margin-top:0!important;
}

body.atlasmap-login-page .entry-content{
  padding-top:0!important;
}

.atlasmap-login-shell{
  width:100%;
  background:#f8fafc;
  font-family:'Montserrat',system-ui,-apple-system,sans-serif;
}

/*
 * Fa occupare al contenuto login tutta la larghezza disponibile,
 * senza interferire con header e footer del child theme.
 */
body.atlasmap-login-page .atlasmap-login-shell{
  position:relative;
  left:50%;
  width:100vw;
  margin-left:-50vw;
  max-width:none!important;
}

/* Card centrata tra header e footer */

.atlasmap-login-shell .atlasmap-login-wrap{
  min-height:70vh;
  padding-top:42px;
  padding-bottom:52px;
}

/* ══════════════════════════════════════
   FIX PULSANTE ACCEDI
══════════════════════════════════════ */

body.atlasmap-login-page
.atlasmap-login-wrap
.atlasmap-login-form
button.atlasmap-btn.atlasmap-btn-primary,

body.atlasmap-login-page
.atlasmap-login-wrap
.atlasmap-login-form
button.atlasmap-btn.atlasmap-btn-primary:active,

body.atlasmap-login-page
.atlasmap-login-wrap
.atlasmap-login-form
button.atlasmap-btn.atlasmap-btn-primary:focus{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  padding:12px 18px!important;
  border:0!important;
  border-radius:9px!important;
  background:#223A5E!important;
  background-color:#223A5E!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  box-shadow:none!important;
  outline:none!important;
  opacity:1!important;
  visibility:visible!important;
  font-family:'Montserrat',system-ui,sans-serif!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  text-transform:none!important;
  cursor:pointer!important;
}

body.atlasmap-login-page
.atlasmap-login-wrap
.atlasmap-login-form
button.atlasmap-btn.atlasmap-btn-primary:hover{
  background:#1A2F4D!important;
  background-color:#1A2F4D!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  border:0!important;
  box-shadow:0 7px 16px rgba(34,58,94,.14)!important;
  transform:translateY(-1px)!important;
}

body.atlasmap-login-page
.atlasmap-login-form
button.atlasmap-btn.atlasmap-btn-primary::before,

body.atlasmap-login-page
.atlasmap-login-form
button.atlasmap-btn.atlasmap-btn-primary::after{
  content:none!important;
  display:none!important;
}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */

@media(max-width:768px){

  .atlasmap-login-shell .atlasmap-login-wrap{
    min-height:auto;
    padding-top:28px;
    padding-bottom:40px;
  }

}

@media(max-width:600px){

  .atlasmap-login-wrap{
    padding:24px 12px;
    align-items:flex-start;
  }

  .atlasmap-login-card{
    padding:28px 22px;
    border-radius:14px;
  }

  .atlasmap-login-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .atlasmap-login-head h1{
    font-size:22px;
  }

}