/* Gemeinsame Hülle für Impressum, Datenschutz und Kontakt.
   Farben und Schrift wie auf der Startseite — nur die Teile, die
   Textseiten wirklich brauchen. */

:root {
  --bg: rgb(15, 11, 7);
  --panel: rgb(38, 29, 20);
  --inset: rgb(28, 21, 15);
  --frame: rgb(92, 70, 44);
  --control: rgb(66, 51, 34);
  --text: rgb(238, 226, 201);
  --dim: rgb(197, 178, 143);
  --muted: rgb(160, 141, 111);
  --gold: rgb(248, 196, 84);
  --gold-mid: rgb(214, 158, 58);
  --blue: rgb(126, 200, 222);
  --red: rgb(247, 118, 142);
  --green: rgb(147, 201, 138);
  --mono: "SF Mono", "Cascadia Mono", "Consolas", "DejaVu Sans Mono", monospace;
}
@font-face {
  font-family: "Ubuntu Bold";
  src: url("Ubuntu-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  background: var(--bg) url("wood.png") repeat;
  background-size: 256px 256px;
  color: var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height: 1.65;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--blue); }
a:hover { color: var(--gold); }
h1, h2, .wordmark { font-family: "Ubuntu Bold", system-ui, sans-serif; font-weight: 700; }

/* Kopfleiste: Truhe und Schriftzug führen zurück zur Startseite */
.topbar { border-bottom: 1px solid rgba(92,70,44,.55); background: rgba(9,6,4,.65); }
.topbar a {
  display: flex; align-items: center; gap: .7rem;
  max-width: 46rem; margin: 0 auto; padding: .9rem 1.25rem;
  color: var(--gold); text-decoration: none;
}
.topbar img { width: 30px; }
.topbar .wordmark { letter-spacing: .3em; font-size: .95rem; }

main { max-width: 46rem; margin: 0 auto; padding: clamp(2.5rem, 6vw, 4rem) 1.25rem 4rem; }
h1 { font-size: clamp(1.6rem, 4.5vw, 2.2rem); margin-bottom: .4rem; }
.stand { color: var(--muted); font-size: .85rem; margin-bottom: 2.4rem; }

/* Abschnittskopf wie im Programm: Goldbalken und Kapitälchen */
h2 {
  display: flex; align-items: center; gap: .55rem;
  color: var(--gold); font-size: .8rem; letter-spacing: .22em;
  text-transform: uppercase; margin: 2.6rem 0 .9rem;
}
h2::before { content: ""; width: 4px; height: 1em; background: var(--gold); border-radius: 2px; flex: none; }
h2:first-of-type { margin-top: 0; }

p + p, p + ul, ul + p { margin-top: .9rem; }
ul { padding-left: 1.2rem; }
li + li { margin-top: .4rem; }
.dimtext { color: var(--dim); }
.fineprint { color: var(--muted); font-size: .85rem; }
code, .mono { font-family: var(--mono); font-size: .9em; color: var(--dim); }

.panel {
  background: linear-gradient(rgba(38,29,20,.92), rgba(28,21,15,.92));
  border: 1px solid var(--frame);
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0,0,0,.55), inset 0 1px 0 rgba(238,226,201,.06);
  padding: 1.3rem 1.4rem;
}
.panel + .panel { margin-top: 1rem; }
address { font-style: normal; line-height: 1.8; }

/* Formular */
label { display: block; margin-top: 1.1rem; }
label .name { display: block; color: var(--gold); font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .35rem; }
label .hint { color: var(--muted); font-weight: normal; letter-spacing: 0; text-transform: none; font-size: .8rem; }
input[type="text"], input[type="email"], textarea {
  width: 100%; padding: .7rem .85rem;
  background: var(--inset); color: var(--text);
  border: 1px solid var(--frame); border-radius: 9px;
  font: inherit; font-size: .98rem;
}
input:focus, textarea:focus { outline: 2px solid var(--gold-mid); outline-offset: 1px; }
textarea { min-height: 9rem; resize: vertical; }
.honigtopf { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

button {
  margin-top: 1.4rem; padding: .8rem 1.9rem; border-radius: 10px; cursor: pointer;
  font-family: "Ubuntu Bold", system-ui, sans-serif; font-size: 1.02rem;
  background: linear-gradient(rgb(250, 214, 130), var(--gold) 35%, var(--gold-mid));
  color: rgb(20, 12, 4);
  border: 1px solid rgb(120, 86, 30);
  box-shadow: 0 3px 0 rgb(120, 86, 30), 0 10px 24px rgba(0,0,0,.5);
}
button:hover:not(:disabled) { filter: brightness(1.06); }
button:disabled { opacity: .55; cursor: default; box-shadow: 0 3px 0 rgb(120, 86, 30); }

.meldung { margin-top: 1.2rem; border-radius: 9px; padding: .85rem 1rem; font-size: .95rem; }
.meldung.gut { border: 1px solid rgba(147,201,138,.55); background: rgba(147,201,138,.1); color: var(--green); }
.meldung.schlecht { border: 1px solid rgba(247,118,142,.55); background: rgba(247,118,142,.1); color: var(--red); }
[hidden] { display: none; }

footer {
  border-top: 1px solid rgba(92,70,44,.55); background: rgba(9,6,4,.65);
  padding: 1.8rem 1.25rem 2.4rem; text-align: center;
}
footer .row { display: flex; flex-wrap: wrap; gap: 1.4rem; justify-content: center; color: var(--dim); font-size: .9rem; }
footer a { color: var(--dim); }
