/* =========================================================
   LOGIN
   ====================================================== */

.login-wrapper{
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  display: flex;

  /* desktop: centralizado */
  justify-content: center;
  align-items: center;

  padding: 20px;
}

.login-card{
  width: 100%;
  max-width: 420px;

  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);

  padding: 30px 26px;
  text-align: center;

  animation: fadeIn .4s ease;
}

.login-card h1{
  margin: 0 0 18px;
  font-size: 26px;
  font-weight: 800;
}

.login-card label{
  display: block;
  text-align: left;
  margin-top: 14px;
  font-weight: 700;
  color: var(--muted);
}

/* Inputs */
.login-input{
  width: 100%;
  margin-top: 6px;
  padding: 12px 14px;

  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--panel2);
  color: var(--ink);

  font-size: 15px;
  outline: none;

  min-height: 44px; /* tap target */
}

.login-input::placeholder{ color: var(--muted2); }

.login-input:focus-visible{
  border-color: #ffd35a;
  box-shadow: 0 0 0 3px rgba(255,211,90,.25);
}

/* Esqueci senha */
.login-extra-row{
  margin-top: 6px;
  display: flex;
  justify-content: flex-end;
}

.link-inline{
  border: none;
  background: none;

  /* área clicável real no mobile */
  padding: 10px 8px;

  font-size: 13px;
  font-weight: 600;
  color: var(--muted);

  cursor: pointer;

  transition: color .15s ease, text-decoration-color .15s ease;

  text-decoration: underline;
  text-decoration-color: transparent;
}

.link-inline:hover{
  color: #6e5600;
  text-decoration-color: currentColor;
}

.link-inline:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 2px;
  border-radius: 10px;
}

/* Botão Entrar */
.login-btn{
  width: 100%;
  margin-top: 18px;
  padding: 12px 14px;

  border-radius: 14px;
  border: none;

  font-weight: 900;
  background: linear-gradient(90deg, var(--gold2), var(--gold));
  color: #2b2b2b;

  cursor: pointer;
  box-shadow: 0 10px 28px rgba(255,179,0,.18);

  font-size: 15px;
  transition: transform .15s ease, box-shadow .15s ease;

  min-height: 44px;
}

.login-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(255,179,0,.25);
}

.login-btn:focus-visible{
  outline: 2px solid rgba(255,255,255,.65);
  outline-offset: 2px;
}

.login-btn[disabled]{
  opacity: .7;
  cursor: wait;
  transform: none;
  box-shadow: none;
}

/* Bloco Criar conta */
.register-hint{
  margin-top: 14px;
  text-align: center;
  font-size: 13px;
  color: var(--muted);
}

.register-btn{
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 12px 12px;

  border-radius: 14px;
  border: 1px solid var(--line);

  background: var(--panel2);
  color: var(--ink);

  font-weight: 800;
  font-size: 14px;
  text-decoration: none;

  cursor: pointer;

  transition: background .15s ease, transform .15s ease, box-shadow .15s ease, border-color .15s ease;

  min-height: 44px;
}

.register-btn i{ margin-right: 6px; }

.register-btn:hover{
  background: #fff7e1;
  border-color: #ffd35a;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
}

.register-btn:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

/* Mensagens */
#form-message{
  margin-top: 14px;
  font-size: 14px;
}

.msg-error{
  color: #e14b4b;
  font-weight: 800;
  font-size: 14px;
  padding: 4px 0;
}

/* Chip sugestão */
.suggest-chip{
  margin-top: 10px;
  width: 100%;
  padding: 10px 14px;

  background: #fff7e1;
  border: 1px solid #ffd35a;
  border-radius: 999px;

  color: #6e5600;
  font-weight: 800;

  cursor: pointer;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  transition: background .15s ease, transform .15s ease, box-shadow .15s ease;

  min-height: 44px;
}

.suggest-chip i{ font-size: 12px; }

.suggest-chip:hover{
  background: #ffefce;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

.suggest-chip:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

/* Animação */
@keyframes fadeIn{
  from{ opacity: 0; transform: translateY(10px); }
  to{ opacity: 1; transform: translateY(0); }
}

/* =========================================================
   MOBILE ACESSÍVEL (AQUI É O FIX DA TUA FOTO)
   - em vez de ficar no meio do nada, fica mais “natural” no topo
   ====================================================== */

@media (max-width: 768px){
  .login-wrapper{
    /* para de centralizar verticalmente no mobile */
    align-items: stretch;
    justify-content: flex-start;

    /* espaço pra não colar no header */
    padding-top: 24px;
  }

  .login-card{
    /* centraliza só horizontalmente */
    margin: 0 auto;
  }
}

@media (max-width: 480px){
  .login-wrapper{
    padding: 16px;
    padding-top: 18px;
  }

  .login-card{
    padding: 22px 20px;
    border-radius: 16px;
  }

  .login-card h1{
    font-size: 22px;
    margin-bottom: 14px;
  }

  .login-input{
    font-size: 14px;
    padding: 11px 12px;
  }

  .login-btn{
    font-size: 14px;
    border-radius: 12px;
  }

  .register-btn{
    font-size: 13.5px;
  }

  .link-inline{ font-size: 12.5px; }

  .msg-error{ font-size: 13px; }

  .suggest-chip{
    font-size: 13px;
    padding: 10px 12px;
  }
}
