@import "const.css";
@import "global.css";

/* Écrans d'authentification (login, register) : carte centrée. */

header.empty {
  display: flex; justify-content: center; align-items: center;
  padding: 20px; border-bottom: 1px solid var(--c-border);
  background: var(--c-surface);
}
header.empty #header-logo img { height: 28px; }

main {
  min-height: calc(100vh - 70px);
  display: grid; place-items: center; padding: 20px;
}

.login.main-content {
  width: 100%; max-width: 380px;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  box-shadow: var(--c-shadow);
  padding: 28px;
}
.login h1 { font-size: 1.3rem; margin-bottom: 20px; text-align: center; }

.bow-form-row {
  display: flex; flex-direction: column; gap: 6px; margin-bottom: var(--gap);
}
.bow-form-row label { font-weight: 600; font-size: .9rem; }
.bow-form-row input {
  width: 100%; padding: 10px 12px;
  border: 1px solid var(--c-border); border-radius: var(--radius-sm);
  font: inherit; background: var(--c-surface); color: var(--c-text);
}
.bow-form-row input:focus {
  outline: none; border-color: var(--c-primary);
  box-shadow: 0 0 0 3px var(--c-primary-soft);
}
.bow-form-row .button { width: 100%; justify-content: center; }

.form-links {
  display: flex; justify-content: space-between; gap: 10px;
  margin-top: 16px; font-size: .9rem;
}
.error-message { color: var(--c-accent); font-size: .9rem; margin-top: 8px; }

/* Message d'information sous un formulaire (inscription, confirmation). */
.form-intro { color: var(--c-text-soft); font-size: .9rem; margin-top: 12px; }

/* Honeypot anti-robot : leurre retiré du flux et invisible, sans
   utiliser display:none (certains robots l'ignorent). aria-hidden
   dans le HTML l'exclut aussi des lecteurs d'écran. */
.hp-field {
  position: absolute; left: -9999px; top: -9999px;
  width: 1px; height: 1px; overflow: hidden;
}

footer {
  text-align: center; color: var(--c-text-soft);
  font-size: .85rem; padding: 20px;
}
footer a { margin: 0 6px; }
