/* BetterSRO - dunkel, Gold/Bronze. Schriften: Cinzel / Cinzel Decorative (selbst gehostet, siehe vendor/fonts/fonts.css) */
:root {
  --bs-bg: #0d0b08;
  --bs-panel: #17130d;
  --bs-panel-2: #1f1910;
  --bs-line: #3a2f1c;
  --bs-gold: #c9a24a;
  --bs-gold-hi: #e8cb82;
  --bs-text: #e8dcc0;
  --bs-muted: #a39373;
  --bs-red: #e07a6a;
}
html { scroll-behavior: smooth; }
body { background: var(--bs-bg); color: var(--bs-text); font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.6; min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1 0 auto; }
a { color: var(--bs-gold-hi); text-decoration: none; }
a:hover { color: #fff; text-decoration: underline; }
h1, h2, h3, h4, .navbar-brand, .bs-kicker { font-family: "Cinzel", Georgia, "Times New Roman", serif; letter-spacing: .02em; }

/* Navigation */
.bs-nav { background: linear-gradient(#14100a, #0d0b08); border-bottom: 1px solid var(--bs-line); position: sticky; top: 0; z-index: 20; }
.bs-nav .nav-link, .bs-nav .btn-link { color: var(--bs-text); font-family: "Cinzel", Georgia, serif; font-size: .95rem; text-decoration: none; }
.bs-nav .nav-link:hover, .bs-nav .nav-link.active { color: var(--bs-gold-hi); }
.bs-nav .navbar-toggler { border-color: var(--bs-line); }
.bs-nav .navbar-toggler-icon { filter: invert(1) sepia(1) saturate(2) hue-rotate(5deg); }
.bs-nav .dropdown-menu { background: var(--bs-panel); border: 1px solid var(--bs-line); }
.bs-nav .dropdown-item { color: var(--bs-text); }
.bs-nav .dropdown-item:hover { background: var(--bs-panel-2); color: var(--bs-gold-hi); }
.bs-brand { font-family: "Cinzel Decorative", "Cinzel", Georgia, serif !important; font-weight: 700; font-size: 1.6rem; color: var(--bs-text) !important; text-decoration: none !important; }
.bs-brand span { color: var(--bs-gold); }

/* Buttons */
.bs-btn { background: linear-gradient(#d8b258, #a98532); color: #1a1408 !important; border: 1px solid #e8cb82; font-family: "Cinzel", Georgia, serif; font-weight: 700; text-decoration: none !important; }
.bs-btn:hover { background: linear-gradient(#ecc968, #b99440); color: #000 !important; }
.bs-btn-outline { background: transparent; color: var(--bs-gold-hi) !important; border: 1px solid var(--bs-gold); font-family: "Cinzel", Georgia, serif; text-decoration: none !important; }
.bs-btn-outline:hover { background: rgba(201, 162, 74, .14); color: #fff !important; }

/* Kopfbereiche */
.bs-hero { padding: 6rem 0 5rem; background: radial-gradient(ellipse at 50% 0%, rgba(201, 162, 74, .22), transparent 60%), linear-gradient(#120e08, var(--bs-bg)); border-bottom: 1px solid var(--bs-line); }
.bs-kicker { color: var(--bs-gold); text-transform: uppercase; letter-spacing: .3em; font-size: .85rem; margin-bottom: .5rem; }
.bs-title { font-family: "Cinzel Decorative", "Cinzel", Georgia, serif; font-weight: 700; font-size: clamp(2.6rem, 8vw, 5rem); color: var(--bs-text); text-shadow: 0 2px 24px rgba(201, 162, 74, .35); }
.bs-title span { color: var(--bs-gold); }
.bs-lead { color: var(--bs-muted); font-size: 1.15rem; max-width: 40rem; margin: 0 auto; }
.bs-pagehead { padding: 2.6rem 0 2rem; background: linear-gradient(#14100a, var(--bs-bg)); border-bottom: 1px solid var(--bs-line); }
.bs-pagehead h1 { color: var(--bs-gold-hi); font-size: clamp(1.8rem, 5vw, 2.6rem); margin: 0; }
.bs-pagehead p { color: var(--bs-muted); margin: .4rem 0 0; max-width: 46rem; }
.bs-content { padding-top: 2.5rem; padding-bottom: 3.5rem; }
.bs-h2 { color: var(--bs-gold-hi); font-size: 1.5rem; margin-bottom: 1rem; padding-bottom: .4rem; border-bottom: 1px solid var(--bs-line); }

/* Karten */
.bs-card { background: var(--bs-panel); border: 1px solid var(--bs-line); border-radius: 6px; padding: 1.4rem 1.5rem; }
.bs-card h3 { font-size: 1.15rem; color: var(--bs-gold-hi); }
.bs-card h3 a { color: inherit; }
.bs-meta { color: var(--bs-muted); font-size: .85rem; }
.bs-alert { background: rgba(201, 162, 74, .12); border: 1px solid var(--bs-gold); color: var(--bs-text); }
.bs-prose img { max-width: 100%; height: auto; }
.bs-prose h1, .bs-prose h2, .bs-prose h3 { color: var(--bs-gold-hi); }

/* Reiter */
.bs-tabs { gap: .25rem; border-bottom: 1px solid var(--bs-line); flex-wrap: wrap; }
.bs-tabs .nav-link { color: var(--bs-muted); border: 1px solid transparent; border-radius: 4px 4px 0 0; font-family: "Cinzel", Georgia, serif; }
.bs-tabs .nav-link:hover { color: var(--bs-gold-hi); }
.bs-tabs .nav-link.active { color: var(--bs-gold-hi); background: var(--bs-panel); border-color: var(--bs-line); border-bottom-color: var(--bs-panel); }

/* Tabellen */
.bs-table { --bs-table-bg: var(--bs-panel); --bs-table-color: var(--bs-text); --bs-table-striped-bg: var(--bs-panel-2); --bs-table-border-color: var(--bs-line); border-color: var(--bs-line); }
.bs-table thead th { color: var(--bs-gold); font-family: "Cinzel", Georgia, serif; font-weight: 700; border-bottom: 1px solid var(--bs-gold); background: var(--bs-panel-2); }
.bs-table tbody tr:hover > * { background: var(--bs-panel-2); }
.bs-table td, .bs-table th { padding: .6rem .9rem; }

/* Formulare */
.form-control, .form-select { background: #100d08; border-color: var(--bs-line); color: var(--bs-text); }
.form-control:focus { background: #100d08; color: var(--bs-text); border-color: var(--bs-gold); box-shadow: 0 0 0 .2rem rgba(201, 162, 74, .25); }
.form-text, .text-secondary { color: var(--bs-muted) !important; }
.text-danger { color: var(--bs-red) !important; }
.form-check-input:checked { background-color: var(--bs-gold); border-color: var(--bs-gold); }

/* Fuss */
.bs-footer { border-top: 1px solid var(--bs-line); background: #0a0806; color: var(--bs-muted); padding: 1.6rem 0 1.2rem; font-size: .9rem; }
.bs-footlinks a { margin-left: 1.2rem; }
.bs-disclaimer { margin-top: .8rem; font-size: .78rem; color: #7d6f55; }
@media (max-width: 575.98px) { .bs-footlinks a { margin: 0 1rem 0 0; } .bs-hero { padding: 4rem 0 3rem; } }
