
/* PRECISOCRIAR LOGIN EXPERIENCE 3.0 */
:root{--pca-primary:#16755a;--pca-accent:#f2a619}
body.login{
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 15%,rgba(82,183,136,.15),transparent 28%),
    radial-gradient(circle at 85% 85%,rgba(242,166,25,.12),transparent 26%),
    linear-gradient(135deg,#f8fafb,#f0f5f2);
  display:flex;
  align-items:center;
  justify-content:center;
}
body.login:before{
  content:"";
  position:fixed;
  width:520px;height:520px;
  border-radius:50%;
  border:60px solid rgba(22,117,90,.035);
  right:-180px;top:-190px;
}
#login{
  width:430px!important;
  padding:0!important;
  margin:0!important;
  position:relative;
  z-index:1;
}
.login h1{
  margin:0 0 30px!important;
  text-align:center;
}
.login h1 a{
  display:block!important;
  width:330px!important;
  height:125px!important;
  margin:0 auto!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
}
.login h1:after{
  content:"PAINEL ADMINISTRATIVO";
  display:block;
  color:#7b8794;
  font-size:9px;
  letter-spacing:3px;
  font-weight:800;
  margin-top:-7px;
}
.login form{
  margin-top:0!important;
  padding:30px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid #e5eaed!important;
  border-radius:22px!important;
  box-shadow:0 24px 70px rgba(16,24,40,.10)!important;
}
.login form .input,
.login input[type=text],
.login input[type=password]{
  height:46px!important;
  border:1px solid #d9e0e5!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
  padding:0 13px!important;
}
.login form .input:focus{
  border-color:var(--pca-primary)!important;
  box-shadow:0 0 0 4px rgba(22,117,90,.10)!important;
}
.login label{color:#475467!important;font-weight:650!important}
.login .forgetmenot{padding-top:6px}
.login .button-primary{
  min-height:42px!important;
  padding:0 21px!important;
  border-radius:10px!important;
  background:var(--pca-primary)!important;
  border-color:var(--pca-primary)!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-weight:700!important;
}
.login .button-primary:hover{filter:brightness(.95)}
.login #nav,.login #backtoblog{
  text-align:center!important;
  margin:15px 0 0!important;
  padding:0!important;
}
.login #backtoblog{margin-top:8px!important}
.login #nav a,.login #backtoblog a{
  color:#667085!important;
  font-size:13px!important;
}
.login .privacy-policy-page-link{display:none!important}
.login .message,.login .success,.login #login_error{
  border-radius:12px!important;
  border-left:4px solid var(--pca-primary)!important;
  box-shadow:0 10px 30px rgba(16,24,40,.06)!important;
}
@media(max-width:520px){
  #login{width:calc(100% - 32px)!important}
  .login h1 a{width:270px!important;height:105px!important}
}


/* =====================================================
   4.5.7 — CORREÇÃO ESTRUTURAL DA TELA DE LOGIN
   O seletor de idioma do WordPress não pode participar
   do layout flex do body. Isso causava o login deslocado.
   ===================================================== */

html,
body.login{
  width:100%!important;
  min-width:0!important;
  min-height:100%!important;
  margin:0!important;
}

body.login{
  display:block!important;
  min-height:100vh!important;
  height:auto!important;
  overflow-x:hidden!important;
  position:relative!important;
  box-sizing:border-box!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(82,183,136,.13),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(242,166,25,.11),transparent 27%),
    linear-gradient(135deg,#f8fafb 0%,#f1f5f3 100%)!important;
}

/* Mantém o conteúdo principal realmente centralizado,
   independentemente dos elementos extras do WordPress. */
body.login #login{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:430px!important;
  max-width:calc(100% - 32px)!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  z-index:10!important;
}

/* O seletor de idioma deixa de influenciar a posição do login. */
body.login #language-switcher{
  position:fixed!important;
  top:24px!important;
  right:24px!important;
  left:auto!important;
  bottom:auto!important;
  width:auto!important;
  max-width:calc(100vw - 48px)!important;
  margin:0!important;
  padding:16px 18px!important;
  box-sizing:border-box!important;
  z-index:20!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid #e2e9e5!important;
  border-radius:16px!important;
  box-shadow:0 14px 40px rgba(16,24,40,.08)!important;
}

body.login #language-switcher form{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

body.login #language-switcher label{
  display:block!important;
  margin:0 0 7px!important;
  font-weight:700!important;
}

body.login #language-switcher select{
  min-height:42px!important;
  border-radius:9px!important;
  border:1px solid #d8e1dd!important;
  background:#fff!important;
}

body.login #language-switcher .button{
  min-height:42px!important;
  border-radius:9px!important;
  border-color:#28735e!important;
  color:#17644f!important;
  background:#fff!important;
}

/* Corrige a largura dos campos e impede estouro. */
body.login #loginform{
  width:100%!important;
  box-sizing:border-box!important;
}

body.login #loginform p,
body.login #loginform .forgetmenot{
  box-sizing:border-box!important;
}

body.login form .input,
body.login input[type=text],
body.login input[type=password]{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* O botão permanece alinhado à direita sem sair do card. */
body.login #wp-submit{
  float:right!important;
}

/* Ajuste para telas baixas: evita cortar links inferiores. */
@media (max-height:720px) and (min-width:521px){
  body.login #login{
    top:24px!important;
    transform:translateX(-50%)!important;
  }
}

/* =====================================================
   MOBILE
   ===================================================== */

@media(max-width:782px){
  body.login{
    padding:28px 16px 32px!important;
    min-height:100vh!important;
    box-sizing:border-box!important;
  }

  body.login #login{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:430px!important;
    margin:0 auto!important;
  }

  .login h1{
    margin-bottom:22px!important;
  }

  .login h1 a{
    width:230px!important;
    height:92px!important;
  }

  .login form{
    padding:24px!important;
    border-radius:18px!important;
  }

  .login h1:after{
    font-size:8px!important;
    letter-spacing:2.5px!important;
    margin-top:-5px!important;
  }

  body.login #language-switcher{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:430px!important;
    margin:18px auto 0!important;
    padding:14px!important;
  }

  body.login #language-switcher form{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:8px!important;
  }

  body.login #language-switcher label{
    grid-column:1 / -1!important;
  }

  body.login #language-switcher select{
    width:100%!important;
    min-width:0!important;
  }
}

@media(max-width:420px){
  body.login{
    padding:20px 12px 28px!important;
  }

  .login h1 a{
    width:200px!important;
    height:80px!important;
  }

  .login form{
    padding:20px!important;
  }

  .login .button-primary{
    width:100%!important;
    margin-top:14px!important;
  }

  .login #wp-submit{
    float:none!important;
  }

  .login .forgetmenot{
    float:none!important;
  }
}
