/* VintageFAQ · Newspaper Theme (global)
   Ziel: Einheitlicher Zeitungslook auf allen Seiten (Bootstrap-Overrides),
   ohne Funktions-/Markup-Änderungen. */

/* Farb-/Typo-Variablen */
:root {
  --bg: #f2efe9;            /* Hintergrund */
  --fg: #1f1b16;            /* Textfarbe */
  --paper: #fffaf2;         /* Karten/Pane-Hintergrund */
  --ink-muted: #6b6256;     /* sekundärer Text */
  --border: #d9cbb8;        /* zarte Ränder */
  --shadow: 0 6px 30px rgba(0,0,0,0.08);

  --bronze: #b47d33;        /* Akzent (Primär) */
  --bronze-dark: #8d6230;
  --green: #5aa05a;         /* Akzent (Erfolg) */
  --yellow: #e9c46a;        /* Warnung */
  --red: #b84a4a;           /* Gefahr */

  /* Bootstrap-Farben (Override) */
  --bs-body-bg: var(--bg);
  --bs-body-color: var(--fg);
  --bs-border-color: var(--border);

  --bs-primary: var(--bronze);
  --bs-success: var(--green);
  --bs-warning: var(--yellow);
  --bs-danger: var(--red);
}

/* Grundlayout */
html, body {
  background: var(--bg);
  color: var(--fg);
  font-family: "Georgia","Times New Roman",serif;
}

/* Links */
a { color: var(--bronze); }
a:hover { color: var(--bronze-dark); }

/* Navbar im Zeitungsstil */
.navbar {
  background: linear-gradient(180deg, #fff, var(--bg)) !important;
  border-bottom: 2px solid var(--border);
  box-shadow: var(--shadow);
}
.navbar .navbar-brand { color: var(--bronze) !important; font-weight: 700; letter-spacing:.3px; }
.navbar .nav-link { color: var(--fg) !important; opacity:.9; }
.navbar .nav-link:hover { color: var(--bronze) !important; opacity:1; }
.dropdown-menu {
  background: var(--paper);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}
.dropdown-item:hover { background: #fff3e0; }

/* Container / Cards / Listen */
.container { max-width: 1100px; }
.card {
  background: var(--paper);
  border: 4px double var(--bronze-dark);
  border-radius: 12px;
  box-shadow: var(--shadow);
}
.card-header {
  background: rgba(255,255,255,0.7);
  border-bottom: 1px solid var(--border);
  color: var(--fg);
}
.list-group-item {
  background: rgba(255,255,255,0.85);
  border-color: var(--border);
}
.table > :not(caption) > * > * {
  background-color: transparent !important;
  border-color: var(--border);
  color: var(--fg);
}

/* Buttons – Bronze/Grün im Stil */
.btn { border-width: 1px; }
.btn-primary {
  background: var(--bronze);
  border-color: var(--bronze-dark);
}
.btn-primary:hover {
  background: var(--bronze-dark);
  border-color: #6e4824;
}
.btn-outline-primary {
  color: var(--bronze);
  border-color: var(--bronze);
}
.btn-outline-primary:hover {
  background: var(--bronze);
  color: #fff;
}

.btn-success {
  background: var(--green);
  border-color: #3c7f3c;
}
.btn-outline-success { color: var(--green); border-color: var(--green); }
.btn-outline-success:hover { background: var(--green); color:#fff; }

.btn-warning { background: var(--yellow); border-color: #c89f3a; color: #473a20; }
.btn-outline-warning { color: #8a6d2f; border-color: #c89f3a; }
.btn-outline-warning:hover { background: var(--yellow); color: #473a20; }

.btn-danger { background: var(--red); border-color: #8d3434; }
.btn-outline-danger { color: var(--red); border-color: var(--red); }
.btn-outline-danger:hover { background: var(--red); color:#fff; }

/* Badges */
.badge { letter-spacing:.2px; }
.badge-op { background:#b47d33; color:#fff; }
.badge-soft { background:#f3efe6; color:#514635; border:1px solid var(--border); }

/* Formulare */
.form-control, .form-select, .form-check-input {
  background: #fff;
  border: 1px solid var(--border);
  color: var(--fg);
}
.form-control:focus, .form-select:focus {
  border-color: var(--bronze);
  box-shadow: 0 0 0 .2rem rgba(180,125,51,.2);
}
.form-text { color: var(--ink-muted); }

/* Alerts */
.alert {
  border: 1px solid var(--border);
  background: #fffdf7;
  color: var(--fg);
}

/* Pagination */
.pagination .page-link {
  color: var(--fg);
  background: #fff;
  border-color: var(--border);
}
.pagination .page-item.active .page-link {
  background: var(--bronze);
  border-color: var(--bronze-dark);
  color: #fff;
}

/* Modal */
.modal-content {
  background: var(--paper);
  border: 4px double var(--bronze-dark);
  border-radius: 12px;
}
.btn-close { filter: none; }

/* Footer */
footer { color: var(--ink-muted); background: transparent; }

/* Code/Content */
.code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  background:#f2f2f5;
  padding:6px 8px; border-radius:4px; display:inline-block;
}
.post-content { white-space: normal; line-height: 1.55; }

/* Beiträge/OP-Hervorhebung */
.post-card { border: 1px solid var(--border); }
.op-post {
  border: 2px solid #e6c79c;
  background: #fffaf2;
  box-shadow: 0 6px 16px rgba(0,0,0,.05);
  position: relative;
}
.op-post::before {
  content:""; position:absolute; left:0; top:0; bottom:0; width:6px;
  background: linear-gradient(180deg,#b47d33,#e6c79c);
  border-top-left-radius:.375rem; border-bottom-left-radius:.375rem;
}
.reply-post { border-left:4px solid #f1f3f5; }
.post-card:target { outline:2px solid #86b7fe; box-shadow:0 0 0 .2rem rgba(13,110,253,.15); }

.post-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.post-user { display:flex; align-items:center; gap:10px; }
.post-avatar { width:42px; height:42px; border-radius:50%; object-fit:cover; background:#f0f0f3; border:1px solid #e5e5ea; }

/* Editor */
.vfq-editor-wrap { position: relative; }
.vfq-toolbar .btn { font-weight: 600; min-width: 36px; }
.vfq-preview { background: #fff; border: 1px solid var(--border); }
.vfq-editor { min-height: 180px; }

/* Stecknadel-Icon (Anpinnen) */
.pin-icon { color: var(--bronze); vertical-align: middle; font-size: 1rem; line-height: 1; }

/* Listen-Überschriften (Forum-Kategorien-Karten) */
.card .card-header.bg-light { background: rgba(255,255,255,0.7) !important; }

/* Tabellen-Kontrast leicht erhöhen */
.table thead th { color: var(--fg); }

/* Kleinere Feinheiten */
.small, small { color: var(--ink-muted); }

/* Startseiten-spezifische Elemente können zusätzlich auf der index-Seite stehen.
   Dieses CSS passt die restlichen Seiten dem Zeitungsthema an. */
