/* Telas de entrada (login, cadastro, recuperar senha) — visual v2: foto grande + formulário limpo. */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,800&family=DM+Sans:wght@400;500;700&display=swap');

body .auth-page {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  min-height: 100vh;
  padding: 0 !important;
  align-items: stretch;
  justify-content: stretch;
  background: #FBF8F3 !important;
  overflow: visible;
  font-family: 'DM Sans', system-ui, sans-serif;
}
body .auth-page::before {
  content: '';
  position: relative;
  grid-column: 1;
  grid-row: 1;
  height: auto;
  top: auto; left: auto; right: auto;
  min-height: 100vh;
  background:
    linear-gradient(0deg, rgba(18, 48, 47, .82) 0%, rgba(18, 48, 47, .08) 58%),
    url('../img/landing/hero.jpg') center / cover no-repeat;
  z-index: 0;
}
body .auth-page::after {
  content: 'Agenda e atendimento por WhatsApp, com IA, 24 horas por dia.';
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  padding: clamp(28px, 4vw, 56px);
  max-width: 600px;
  color: #fff;
  font: 800 clamp(26px, 2.8vw, 40px) / 1.1 'Bricolage Grotesque', sans-serif;
  letter-spacing: -.02em;
  z-index: 1;
}
body .auth-card {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: center;
  width: calc(100% - 48px);
  max-width: 440px;
  margin: 40px 24px;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body .auth-card h1 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 34px;
  letter-spacing: -.02em;
  color: #12302F;
  text-align: left;
}
body .auth-card p.subtitulo { text-align: left; color: #4C6967; font-size: 16px; margin-bottom: 26px; }
body .auth-card label { color: #12302F; font-weight: 700; }
body .auth-card input[type=text],
body .auth-card input[type=email],
body .auth-card input[type=password],
body .auth-card input[type=tel],
body .auth-card select {
  min-height: 50px;
  border-radius: 14px;
  border: 1.5px solid #DDD6C8;
  background: #fff;
  font-size: 16px;
}
body .auth-card input:focus, body .auth-card select:focus {
  outline: none;
  border-color: #0E7C7B;
  box-shadow: 0 0 0 4px rgba(14, 124, 123, .15);
}
body .auth-card .btn {
  min-height: 52px;
  border-radius: 999px;
  background: #E8553A !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(232, 85, 58, .28) !important;
  font-size: 16px;
}
body .auth-card .btn:hover { background: #D2442A !important; }
body .auth-links { text-align: left; }
body .auth-links a { color: #0B5E5D; }
@media (max-width: 900px) {
  body .auth-page { grid-template-columns: 1fr; grid-template-rows: 220px auto; }
  body .auth-page::before { min-height: 220px; grid-row: 1; }
  body .auth-page::after { display: none; }
  body .auth-card { grid-column: 1; grid-row: 2; margin: 28px 20px 40px; width: calc(100% - 40px); }
  body .auth-card h1 { font-size: 28px; }
}
