/*
 * auth.css — Devise の認証フォーム（ログイン / 新規登録 / パスワード変更）専用スタイル。
 * theme.css のカスタムプロパティを参照する。
 */

.auth-container {
  max-width: 420px;
  margin: 60px auto;
  padding: 36px 32px;
  background-color: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}

.auth-container h2 {
  margin: 0 0 24px;
  font-size: 1.4em;
  text-align: center;
  letter-spacing: -0.02em;
  background: linear-gradient(90deg, var(--color-accent), var(--color-accent-dark));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.auth-form .field {
  margin-bottom: 16px;
}

.auth-form label {
  display: block;
  font-size: 0.85em;
  color: var(--color-text-muted);
  margin-bottom: 4px;
  font-weight: 500;
}

.auth-form em {
  font-size: 0.78em;
  color: var(--color-text-dim);
  font-style: normal;
  display: block;
  margin: 2px 0 6px;
}

.auth-form input[type="email"],
.auth-form input[type="password"],
.auth-form input[type="text"] {
  width: 100%;
  padding: 10px 14px;
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-text-primary);
  font-size: 0.95em;
  font-family: inherit;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.auth-form input:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px var(--color-accent-glow);
}

.auth-form input[type="checkbox"] {
  margin-right: 6px;
  accent-color: var(--color-accent);
}

.auth-form .actions {
  margin-top: 22px;
}

.auth-form input[type="submit"] {
  width: 100%;
  padding: 11px;
  background-color: var(--color-accent);
  color: var(--color-bg-base);
  border: none;
  border-radius: var(--radius-md);
  font-size: 0.95em;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: background-color var(--transition-fast), box-shadow var(--transition-fast);
}

.auth-form input[type="submit"]:hover {
  background-color: var(--color-accent-dark);
  box-shadow: 0 0 0 3px var(--color-accent-glow);
}

/* Devise shared links（ログイン下のリンク群、OmniAuth ボタン含む） */
.auth-links {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--color-border);
  text-align: center;
}

.auth-links p {
  margin: 8px 0;
  font-size: 0.88em;
}

.auth-links a {
  color: var(--color-accent);
}

.auth-links a:hover {
  color: var(--color-accent-dark);
}

.auth-links form {
  display: inline-block;
  width: 100%;
}

.auth-links input[type="submit"] {
  width: 100%;
  padding: 10px;
  background-color: transparent;
  color: var(--color-text-primary);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  cursor: pointer;
  font-size: 0.9em;
  font-family: inherit;
  transition: border-color var(--transition-fast), color var(--transition-fast);
}

.auth-links input[type="submit"]:hover {
  border-color: var(--color-accent);
  color: var(--color-accent);
}

/* エラーメッセージ */
.auth-error-explanation {
  background-color: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  margin-bottom: 18px;
}

.auth-error-explanation h2 {
  font-size: 0.95em;
  color: var(--color-danger);
  margin: 0 0 8px;
  background: none;
  -webkit-text-fill-color: var(--color-danger);
  text-align: left;
}

.auth-error-explanation ul {
  margin: 0;
  padding-left: 20px;
  color: var(--color-text-primary);
  font-size: 0.85em;
}

.auth-error-explanation li {
  margin: 4px 0;
}
