
:root {
  --bw-bg: #fdebce;
  --bw-panel: #fce1b6;
  --bw-border: #cc9933;
  --bw-link: #990000;
  --bw-accent: #ffcc33;
}
body.theme-broken-wheels { background: var(--bw-bg); color: #222; }


/* Immer aktiv (body_class kann theme-broken-wheels früher vergessen haben): volle Headerhöhe */
#header.bw-header {
  height: auto !important;
  min-height: 0 !important;
}
#header.bw-header .navbar-section {
  height: auto !important;
  align-items: center;
}

#body-wrapper, #start .container { background: var(--bw-panel); border: 1px solid var(--bw-border); border-radius: 4px; padding: 1rem 1.25rem; margin-top: .5rem; }
.bw-header { background: linear-gradient(180deg, #f5e6d3 0%, var(--bw-bg) 100%); padding-bottom: 0; }
.bw-toprow { justify-content: space-between; width: 100%; align-items: flex-start; }
.bw-tools { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; justify-content: flex-end; }
.bw-login .bw-login-status { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.bw-login .bw-login-username { max-width: 10rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bw-lang ul.langswitcher { list-style: none; margin: 0; padding: 0; display: flex; gap: .35rem; align-items: center; }
.bw-lang ul.langswitcher li { display: inline; }
.bw-lang a.bw-lang-flag { text-decoration: none; line-height: 1; padding: 0.15rem 0.1rem; border-radius: 3px; transition: background-color 0.15s ease, opacity 0.15s ease; }
.bw-lang a.bw-lang-flag:hover,
.bw-lang a.bw-lang-flag:focus { background-color: rgba(255, 204, 51, 0.35); text-decoration: none; }
.bw-lang .bw-flag { font-size: 1.35rem; line-height: 1; display: inline-block; font-style: normal; }
.bw-lang .bw-flag-fallback { font-size: 0.85rem; font-weight: 600; }
.bw-mainnav { border-top: 1px solid var(--bw-border); padding-top: .35rem; margin-top: .35rem; }
.bw-mainnav .dropmenu ul { display: flex; flex-wrap: wrap; gap: .25rem .75rem; list-style: none; margin: 0; padding: 0; }
.bw-mainnav .dropmenu li ul { flex-direction: column; }
.bw-mainnav a { color: var(--bw-link); font-weight: 600; }
.bw-mainnav a.active { text-decoration: underline; }

/* Desktop-Hauptnavigation: ab >840px sichtbar (wie früher hide-md in Quark) */
@media (max-width: 840px) {
  body.theme-broken-wheels .bw-desktop-nav {
    display: none !important;
  }
}
/* header-dark + header-transparent: sonst helle Links auf hellem Grund — Menü „unsichtbar“ */
body.theme-broken-wheels #header,
body.theme-broken-wheels.header-dark #header:not(.scrolled) {
  background: linear-gradient(180deg, #f5e6d3 0%, var(--bw-bg) 100%) !important;
  color: #222 !important;
}
body.theme-broken-wheels #header a,
body.theme-broken-wheels.header-dark #header:not(.scrolled) a {
  color: var(--bw-link) !important;
}
body.theme-broken-wheels .bw-lang a,
body.theme-broken-wheels .bw-tools a.btn {
  color: var(--bw-link) !important;
}
/* Menü: klarer Hover / Fokus */
body.theme-broken-wheels .bw-mainnav a {
  padding: 0.2rem 0.35rem;
  border-radius: 3px;
  transition: background-color 0.15s ease, color 0.15s ease, text-decoration 0.15s ease;
}
body.theme-broken-wheels .bw-mainnav a:hover,
body.theme-broken-wheels .bw-mainnav a:focus {
  background-color: rgba(255, 204, 51, 0.45) !important;
  color: #330099 !important;
  text-decoration: none !important;
}
body.theme-broken-wheels .bw-mainnav a.active {
  text-decoration: underline !important;
  font-weight: 700;
}

#header .logo { min-width: 0; }
.bw-brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: inherit;
  max-width: 100%;
}
.bw-brand:hover { text-decoration: none; color: inherit; }
.bw-header-logo {
  flex: 0 0 auto;
  width: auto;
  height: auto;
  max-height: 72px;
  max-width: 80px;
  object-fit: contain;
}
.bw-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  text-align: left;
}
.bw-brand-line1 {
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--bw-link);
}
.bw-brand-line2 {
  font-weight: 600;
  font-size: 0.95rem;
}
.bw-brand-line3 {
  font-size: 0.9rem;
  color: #555;
}
@media (max-width: 480px) {
  .bw-header-logo { max-height: 56px; max-width: 64px; }
  .bw-brand-line1 { font-size: 1rem; }
}
.bw-cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; background: #2a2a2a; color: #fff; padding: .75rem 0; z-index: 3000; font-size: .9rem; }
.bw-cookie-banner a { color: #fc6; }
/* Kein header-fixed: zweizeiliger Kopf liegt im normalen Fluss; sticky nur fürs Einrasten */
body.theme-broken-wheels #header {
  position: sticky;
  top: 0;
  z-index: 100;
  height: auto !important;
  min-height: 0 !important;
  border-bottom: 2px solid var(--bw-border);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}
body.theme-broken-wheels #header .navbar-section {
  height: auto !important;
  align-items: center;
}
body.theme-broken-wheels #body-wrapper {
  padding-top: 0 !important;
}
body.theme-broken-wheels #start {
  clear: both;
  margin-top: 0.75rem;
}
body.theme-broken-wheels .bw-mainnav {
  border-top: 1px solid rgba(204, 153, 51, 0.65);
  padding-top: 0.45rem;
  margin-top: 0.45rem;
  padding-bottom: 0.35rem;
}
/* Überschriften ≈ Header; doppelte font-size: zweite Zeile überschreibt (18px-Minimum) */
body.theme-broken-wheels #page-wrapper #body-wrapper .container h1,
body.theme-broken-wheels #page-wrapper #body-wrapper h1,
body.theme-broken-wheels #body-wrapper .container > h1:first-of-type {
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
  color: var(--bw-link) !important;
}
body.theme-broken-wheels #page-wrapper #body-wrapper .container h2,
body.theme-broken-wheels #page-wrapper #body-wrapper h2 {
  font-size: 1rem !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  margin-top: 1.25rem !important;
  margin-bottom: 0.5rem !important;
}
body.theme-broken-wheels #page-wrapper #body-wrapper .container h3,
body.theme-broken-wheels #page-wrapper #body-wrapper h3 {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  margin-top: 1rem !important;
}

body.theme-broken-wheels #header .logo img.bw-header-logo {
  height: auto !important;
  max-height: 72px;
}

/* Burger-Button: Quark setzt position:fixed nur mit .header-fixed */
@media (max-width: 840px) {
  body.theme-broken-wheels .mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 101;
  }
}

/* Footer: nur Rechtstexte (KompoZer-Logo entfernt) */
body.theme-broken-wheels #footer .bw-footer-legal {
  margin: 0;
  text-align: left;
}
