/* possi.css — gemeinsames Basis-Stylesheet für www.possi.de
   Eingebunden über <link rel="stylesheet" href="/assets/possi.css">.
   Seiten-spezifische <style>-Blöcke überschreiben diese Basis (CSS-Kaskade).
   V 1.0.0 · 04/2026 · Dr. Claus Possberg
*/

/* ── Basis ─────────────────────────────────────────────────────── */
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  padding: 0;
  background: #BFBFBF;
  color: #000;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.55;
}

/* Überschriften */
h1 { font-size: 2em;    text-align: center; margin: 0 0 4px; }
h2 { font-size: 1.2em;  text-align: center; font-weight: normal; margin: 0 0 6px; }
h3 { font-size: 1.1em;  margin: 14px 0 6px; }
h4 { font-size: 1em;    margin: 10px 0 4px; }

/* Trenner, Version, Wrapper */
hr { border: none; border-top: 1px solid #888; margin: 10px auto; max-width: 960px; }
.version { text-align: center; font-size: 0.85em; color: #444; margin-bottom: 10px; }
.page-wrap,
.wrap { max-width: 960px; margin: 0 auto; padding: 12px 16px; }

/* Links */
a { color: #000; }
a:hover { text-decoration: underline; }

/* Bilder responsive */
img { max-width: 100%; height: auto; }

/* Fließtext-Bereich */
.body-text { max-width: 960px; margin: 0 auto 10px; line-height: 1.65; }
.body-text ul { list-style: disc inside; margin: 6px 0 8px 0; padding-left: 0; }
.body-text li { margin: 1px 0; }
.body-text table { max-width: 100%; border-collapse: collapse; }
.body-text td { padding: 4px 8px; vertical-align: top; }
.body-text .clearfix::after,
.clearfix::after { content: ""; display: table; clear: both; }

/* ── Figure/Caption (GPS-Seiten u. a.) ─────────────────────────── */
figure.fig { margin: 18px auto; text-align: center; }
figure.fig img { margin: 0 auto 6px; }
figure.fig figcaption {
  font-style: italic;
  color: #333;
  font-size: 0.95em;
  max-width: 640px;
  margin: 4px auto 0;
  line-height: 1.45;
}

/* ── Sprach-Umschalter ─────────────────────────────────────────── */
.lang-switch { text-align: right; margin-bottom: 4px; }
.lang-switch button {
  padding: 4px 12px;
  background: #e0e0e0;
  border: 1px solid #999;
  border-radius: 4px 0 0 4px;
  color: #000;
  font-size: 13px;
  font-weight: bold;
  cursor: pointer;
  line-height: 1.6;
}
.lang-switch button:last-child {
  border-radius: 0 4px 4px 0;
  border-left: none;
}
.lang-switch button.active {
  background: #555;
  color: #fff;
  border-color: #555;
}
.lang-switch button:hover:not(.active) { background: #ccc; }

/* ── Screen-Reader-only (für a11y-Headings) ────────────────────── */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ── iOS/macOS: Tap-Highlight sanft ────────────────────────────── */
a, button { -webkit-tap-highlight-color: rgba(0,0,0,0.1); }
