/* ── Öffentliche Seiten ────────────────────────────────────────────────────
   Gemeinsam von login.php, registrieren.php und reset.php. Vorher standen
   diese Regeln nur in login.php; mit drei Seiten lohnt die gemeinsame Datei. */

:root{
  --bg:#faf8f2;--card:#ffffff;--border:#ece6d6;
  --text:#17160f;--text-muted:#8b8578;
  --gold-500:#c9a227;--gold-600:#a8841e;
  --gold-grad:linear-gradient(135deg,#e7c968,#b8912a);
  --red:#c9483f;--green:#1f8a4c;--radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--bg);font-family:'Inter',system-ui,sans-serif;
  color:var(--text);-webkit-font-smoothing:antialiased;padding:24px 16px;
}
.card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);padding:40px 36px;
  width:100%;max-width:380px;
  box-shadow:0 4px 24px rgba(23,22,15,0.07);
}
.card.breit{max-width:440px;}
.logo{display:flex;align-items:center;gap:12px;margin-bottom:32px;}
.logo-mark{
  width:40px;height:40px;border-radius:10px;background:#111;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold-500);font-family:'Fraunces',serif;font-weight:600;font-size:22px;
}
.logo-text b{display:block;font-size:14px;letter-spacing:.02em;font-weight:700;}
.logo-text span{display:block;font-size:9px;letter-spacing:.16em;color:var(--text-muted);font-weight:600;}
h1{font-family:'Fraunces',serif;font-size:22px;font-weight:600;margin-bottom:6px;}
.sub{font-size:13px;color:var(--text-muted);margin-bottom:28px;}
label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--text);}
input{
  width:100%;padding:10px 13px;border:1px solid var(--border);
  border-radius:9px;font-size:14px;font-family:inherit;
  background:var(--bg);color:var(--text);outline:none;
  transition:border-color .15s;
}
input:focus{border-color:var(--gold-500);}
.field{margin-bottom:18px;}
.feld-paar{display:flex;gap:10px;}
.feld-paar > .field{flex:1;}
.btn{
  width:100%;padding:11px;border:none;border-radius:9px;
  background:var(--gold-grad);color:#171204;
  font-size:14px;font-weight:600;cursor:pointer;
  font-family:inherit;margin-top:8px;
  transition:filter .15s;
}
.btn:hover{filter:brightness(1.05);}
/* Zweiter Weg hinein: Passkey — gleich groß, aber zurückhaltender */
.btn-zweit{background:#fff;color:var(--text,#17160f);border:1px solid var(--border,#ece6d6);
  display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;font-size:13.5px;}
.btn-zweit svg{width:18px;height:18px;fill:none;stroke:var(--gold-600);stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;}
.pk-hinweis{font-size:12px;line-height:1.45;color:var(--text-muted,#8b8578);margin:8px 2px 0;text-align:center;}
.oder{display:flex;align-items:center;gap:10px;margin:14px 0 2px;font-size:12px;color:var(--text-muted,#8b8578);}
.oder::before,.oder::after{content:'';flex:1;height:1px;background:var(--border,#ece6d6);}
.btn:disabled{opacity:.6;cursor:not-allowed;}
.error{
  font-size:13px;color:var(--red);background:#fdf0ef;
  border:1px solid #f4c9c7;border-radius:8px;
  padding:10px 13px;margin-top:16px;display:none;
}
.hinweis{
  font-size:13px;color:var(--text);background:var(--bg);
  border:1px solid var(--border);border-radius:8px;
  padding:11px 13px;margin-top:16px;display:none;line-height:1.5;
}
.hinweis.gut{color:var(--green);background:#eaf6ee;border-color:#c6e6d2;}
.fuss{
  margin-top:22px;padding-top:18px;border-top:1px solid var(--border);
  font-size:12.5px;color:var(--text-muted);text-align:center;line-height:1.7;
}
.fuss a{color:var(--gold-600);font-weight:600;text-decoration:none;}
.fuss a:hover{text-decoration:underline;}
.link-zeile{
  display:flex;justify-content:flex-end;margin-top:-8px;margin-bottom:14px;
}
.link-zeile a{font-size:12.5px;color:var(--gold-600);text-decoration:none;font-weight:600;}
.link-zeile a:hover{text-decoration:underline;}
