/* Roof theme — Login, helle Adaption der web_roof-Identität (DACHDENKER) */
:root {
  /* Fonts */
  --font-sans:    'Archivo', system-ui, sans-serif;
  --font-display: 'Archivo', system-ui, sans-serif;

  /* Colors — Roof palette (Papier / Anthrazit / Clay) */
  --charcoal:       #1B1C1E;   /* Anthrazit      */
  --primary:        #1B1C1E;   /* Anthrazit      */
  --primary-h:      #000000;
  --accent:         #C4552F;   /* Clay           */
  --light:          #F4F1EA;   /* warmes Papier  */
  --border:         #E1DACD;   /* warme Haarlinie */
  --weak:           rgba(27,28,30,0.68);
  --disabled:       rgba(27,28,30,0.38);
  --accent-tint:    rgba(196,85,47,0.10);
  --focus-ring:     rgba(27,28,30,0.14);
  --shadow-primary: rgba(0,0,0,0.22) 0px 0px 1px,
                    rgba(0,0,0,0.06) 0px 0px 2px,
                    rgba(27,28,30,0.20) 0px 1px 3px,
                    rgba(0,0,0,0.04) 0px 0px 0px 0.5px inset;
  --shadow-card:    0 2px 4px rgba(27,28,30,0.04),
                    0 8px 24px rgba(27,28,30,0.08),
                    0 0 0 1px rgba(225,218,205,0.6);
  --success-bg:     rgba(47,91,58,0.08);
  --success-color:  #2F5B3A;
  --success-border: rgba(47,91,58,0.20);

  /* Minimal radii — matches web_roof (flache Kanten) */
  --r-xl: 4px;
  --r-lg: 2px;
  --r-md: 2px;
  --r-sm: 2px;
}

/* Page background */
body {
  background: #F4F1EA;
  color: #1B1C1E;
  -webkit-font-smoothing: antialiased;
}

/* Nav — fixed, transparent wie web_roof */
.nav {
  background: rgba(244, 241, 234, 0.85);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid rgba(225, 218, 205, 0.55);
  box-shadow: none;
}
.nav.scrolled {
  background: rgba(244, 241, 234, 0.97);
  border-color: #E1DACD;
}

/* Nav brand — Archivo, kräftig & expandiert */
.nav-brand {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 800;
  font-stretch: 112%;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: #1B1C1E;
}
.nav-brand img {
  width: 22px;
  height: 22px;
}

/* Auth card — sehr flach, minimaler Radius */
.auth-card {
  border-radius: 4px;
  border-color: rgba(225, 218, 205, 0.8);
}

/* Auth heading — Archivo display */
.auth-header h1 {
  font-family: var(--font-display);
  font-weight: 800;
  font-stretch: 108%;
  letter-spacing: -0.015em;
}

/* Eyebrow — IBM Plex Mono, Clay tracking (web_roof-Kicker) */
.eyebrow {
  background: none;
  color: var(--accent);
  padding: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 12px;
}

/* Submit button — Anthrazit, IBM Plex Mono uppercase, Hover Clay */
.btn-blue {
  background: var(--primary);
  border-color: var(--primary);
  font-family: 'IBM Plex Mono', monospace;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 500;
}
.btn-blue:hover {
  background: var(--accent);
  border-color: var(--accent);
}

/* Form inputs — flacher Radius */
.form-input {
  border-radius: 2px;
}

/* Lang switch — Pill-Container */
.lang-switch {
  background: rgba(236, 231, 221, 0.7);
  border: 1px solid #E1DACD;
  border-radius: 4px;
  padding: 2px;
}
.lang-btn {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  padding: 4px 8px;
  border-radius: 2px;
  color: var(--weak);
  line-height: 1;
  transition: color 0.14s, background 0.14s;
}
.lang-btn:hover { color: #1B1C1E; }
.lang-btn.active {
  background: #F4F1EA;
  color: #C4552F;
  box-shadow: 0 1px 2px rgba(27, 28, 30, 0.10);
}
