/* Modernes, eigenstaendiges Forum-Layout. Die bestehende style.css bleibt
   waehrend der Migration als Kompatibilitaetsschicht aktiv. */

:root {
 --forum-primary: var(--forum-theme-title-bg, #164f8f);
 --forum-primary-deep: color-mix(in srgb, var(--forum-primary) 78%, #000 22%);
 --forum-accent: var(--forum-theme-category-bg, #e0a51b);
 --forum-page-bg: var(--forum-theme-main-bg, color-mix(in srgb, var(--forum-primary) 8%, #f5f7fa 92%));
 --forum-surface: var(--forum-theme-row-a, #ffffff);
 --forum-surface-soft: color-mix(in srgb, var(--forum-theme-row-b, #f7f9fc) 76%, #fff 24%);
 --forum-surface-muted: color-mix(in srgb, var(--forum-surface-soft) 68%, var(--forum-surface) 32%);
 --forum-text: #162033;
 --forum-muted: #5f6d7e;
 --forum-border: color-mix(in srgb, var(--forum-theme-border, #dce3ed) 48%, #dce3ed 52%);
 --forum-danger: var(--forum-theme-border, #cf0000);
 --forum-title-text: var(--forum-theme-title-color, #fff);
 --forum-category-text: var(--forum-theme-category-color, #111);
 --forum-panel-head-bg: color-mix(in srgb, var(--forum-primary) 10%, var(--forum-surface) 90%);
 --forum-panel-head-border: color-mix(in srgb, var(--forum-primary) 26%, var(--forum-border) 74%);
 --forum-radius-sm: var(--forum-theme-radius-sm, 4px);
 --forum-radius-md: var(--forum-theme-radius-md, 8px);
 --forum-border-width: var(--forum-theme-border-width, 1px);
 --forum-outer-space: var(--forum-theme-outer-space, 12px);
 --forum-section-gap: var(--forum-theme-section-gap, 16px);
 --forum-box-gap: var(--forum-theme-box-gap, 14px);
 --forum-box-padding: var(--forum-theme-box-padding, 12px);
 --forum-compact-padding: var(--forum-theme-compact-padding, 8px);
 --forum-sidebar-width: var(--forum-theme-sidebar-width, 300px);
 --forum-shadow-sm: var(--forum-theme-shadow-sm, 0 1px 2px rgba(16, 58, 104, 0.08));
 --forum-shadow-md: var(--forum-theme-shadow-md, 0 8px 24px rgba(16, 58, 104, 0.13));
 --forum-content-width: var(--forum-modern-content-width, min(1180px, calc(100vw - 24px)));
}

body#bg {
 background: var(--forum-page-bg);
 color: var(--forum-text);
 font-family: Tahoma, Helvetica, Arial, sans-serif;
}

.forum-site-header *,
.forum-context-table,
.forum-modern-shell,
.forum-modern-shell * {
 box-sizing: border-box;
}

.forum-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;
}

.forum-site-header {
 border-bottom: 1px solid rgba(255,255,255,0.18);
 background:
 linear-gradient(180deg, rgba(220,0,0,0.95) 0, rgba(136,0,0,0.98) 42px, var(--forum-primary-deep) 43px, var(--forum-primary) 100%);
 color: var(--forum-title-text);
 box-shadow: var(--forum-shadow-md);
}

.forum-site-header__inner {
 display: grid;
 grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
 grid-template-areas:
  "user brand main"
  ". brand switcher";
 align-items: center;
 gap: 8px 22px;
 min-height: 128px;
 width: var(--forum-content-width);
 margin: 0 auto;
 padding: 8px 0 12px;
}

.forum-site-header__nav {
 display: flex;
 flex-wrap: wrap;
 gap: 6px;
 min-height: 28px;
 align-items: center;
}

.forum-site-header__nav--user {
 grid-area: user;
 justify-content: flex-end;
 align-self: start;
}

.forum-site-header__nav--main {
 grid-area: main;
 justify-content: flex-start;
 align-self: start;
}

.forum-site-header__brand {
 grid-area: brand;
 display: grid;
 grid-template-columns: auto auto;
 align-items: center;
 gap: 10px;
 justify-self: center;
 color: #fff !important;
 text-decoration: none;
}

.forum-site-header__title img {
 width: 250px;
 max-width: 38vw;
 height: auto;
}

.forum-site-header__title {
 display: inline-flex;
 width: 250px;
 max-width: 38vw;
 min-height: 65px;
 background: var(--forum-title-image, none) center / contain no-repeat;
}

.forum-site-header__title:empty::before {
 content: "";
 display: block;
 width: 100%;
}

.forum-site-header__logo img {
 width: 112px;
 max-width: 18vw;
 height: auto;
}

.forum-site-header__switcher {
 grid-area: switcher;
 justify-self: start;
 align-self: center;
 min-height: 28px;
}

.forum-context-table {
 width: var(--forum-content-width) !important;
 max-width: calc(100vw - (2 * var(--forum-outer-space)));
 margin: 0 auto var(--forum-outer-space);
 border-spacing: 0;
 background: transparent;
}

.forum-context-table .index-welcome,
.forum-context-table .board-headerline {
 width: 100%;
 margin: 0;
}

.forum-site-header__switcher select {
 min-height: 24px;
 border: 1px solid rgba(255,255,255,0.45);
 border-radius: var(--forum-radius-sm);
 background: #fff;
 color: #111;
}

.fa-text-button,
a.fa-text-button:link,
a.fa-text-button:visited,
a.fa-text-button:active {
 display: inline-flex;
 align-items: center;
 gap: 4px;
 min-height: 24px;
 padding: 3px 7px;
 border: 1px solid rgba(207, 0, 0, 0.55);
 border-radius: var(--forum-radius-sm);
 background: #fff;
 color: #111 !important;
 font-size: 11px;
 font-weight: bold;
 line-height: 1.1;
 text-decoration: none;
 box-shadow: var(--forum-shadow-sm);
}

a.fa-text-button:hover,
.fa-text-button:hover {
 background: #f4f7fb;
 color: #000 !important;
 text-decoration: none;
}

.forum-modern-shell {
 width: var(--forum-content-width);
 margin: 0 auto 24px;
 font-size: 12px;
 line-height: 1.35;
}

.forum-page-hero {
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 gap: 18px;
 margin-bottom: var(--forum-box-gap);
 padding: calc(var(--forum-box-padding) + 4px) calc(var(--forum-box-padding) + 6px);
 border: var(--forum-border-width) solid var(--forum-panel-head-border);
 border-radius: var(--forum-radius-md);
 background: var(--forum-surface);
 box-shadow: var(--forum-shadow-sm);
}

.forum-page-hero__eyebrow {
 margin: 0 0 3px;
 color: var(--forum-primary);
 font-size: 11px;
 font-weight: bold;
 text-transform: uppercase;
}

.forum-page-hero h1 {
 margin: 0;
 font-size: 22px;
 line-height: 1.15;
}

.forum-page-hero p {
 margin: 4px 0 0;
 color: var(--forum-muted);
 font-size: 12px;
}

.forum-page-hero__actions {
 display: flex;
 flex-wrap: wrap;
 justify-content: flex-end;
 gap: 7px;
}

.forum-button,
a.forum-button:link,
a.forum-button:visited,
a.forum-button:active {
 display: inline-flex;
 align-items: center;
 gap: 5px;
 min-height: 28px;
 padding: 5px 9px;
 border: 1px solid var(--forum-border);
 border-radius: var(--forum-radius-sm);
 background: #fff;
 color: var(--forum-text) !important;
 font-size: 11px;
 font-weight: bold;
 text-decoration: none;
}

.forum-button:hover {
 border-color: var(--forum-primary);
 color: var(--forum-primary) !important;
 text-decoration: none;
}

.forum-status-box {
 display: flex;
 justify-content: space-between;
 align-items: center;
 gap: 12px;
 width: var(--forum-content-width);
 margin: 0 auto var(--forum-outer-space);
 padding: 6px calc(var(--forum-compact-padding) + 1px);
 border: var(--forum-border-width) solid var(--forum-panel-head-border);
 border-radius: 0 0 var(--forum-radius-sm) var(--forum-radius-sm);
 background: var(--forum-surface);
 color: var(--forum-text);
 box-shadow: var(--forum-shadow-sm);
 font-size: 11px;
 line-height: 1.25;
}

.index-welcome,
.board-headerline {
 border: 1px solid var(--forum-panel-head-border);
 border-radius: var(--forum-radius-sm);
 background: var(--forum-surface);
 color: var(--forum-text);
 box-shadow: var(--forum-shadow-sm);
}

.index-welcome {
 padding: 6px 8px;
}

.board-headerline {
 padding: 5px 8px;
}

.board-headerline--right,
.thread-context.board-headerline--right {
 border-top: 0;
 border-radius: 0 0 var(--forum-radius-sm) var(--forum-radius-sm);
 background: var(--forum-primary);
 color: var(--forum-title-text);
}

.board-headerline--right a,
.thread-context.board-headerline--right a {
 color: var(--forum-title-text) !important;
}

.forum-layout-grid {
 display: grid;
 grid-template-columns: minmax(720px, 1fr) minmax(260px, var(--forum-sidebar-width));
 gap: calc(var(--forum-section-gap) - 4px);
 align-items: start;
}

.forum-modern-shell .forum-panel {
 border: var(--forum-border-width) solid var(--forum-panel-head-border);
 border-radius: var(--forum-radius-md);
 background: var(--forum-surface);
 box-shadow: var(--forum-shadow-sm);
 overflow: hidden;
}

.forum-modern-shell .forum-panel__head {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 12px;
 min-height: 34px;
 padding: var(--forum-compact-padding) var(--forum-box-padding);
 border-bottom: var(--forum-border-width) solid var(--forum-panel-head-border);
 background: linear-gradient(180deg, color-mix(in srgb, var(--forum-panel-head-bg) 72%, #fff 28%), var(--forum-panel-head-bg));
}

.forum-modern-shell .forum-panel__head h2 {
 margin: 0;
 color: var(--forum-text);
 font-size: 14px;
 line-height: 1.2;
}

.forum-modern-shell .forum-panel--boards .index-board-list {
 width: 100%;
 max-width: none;
 margin: 0;
 border: 0;
 box-shadow: none;
}

.forum-modern-shell .forum-panel--boards .index-board-header {
 border-top: 0;
}

.forum-modern-shell .forum-panel--boards .index-board-row {
 gap: 0;
 grid-template-columns: 38px minmax(260px, 1fr) 54px 54px minmax(180px, 23%) minmax(110px, 15%);
 background: transparent;
 border-top: 1px solid var(--forum-border);
}

.forum-modern-shell .forum-panel--boards .index-board-row:first-child {
 border-top: 0;
}

.forum-modern-shell .forum-panel--boards .index-board-cell {
 border-left: 1px solid var(--forum-border);
 background: var(--forum-surface);
 padding: 8px;
}

.forum-modern-shell .forum-panel--boards .index-board-cell:first-child {
 border-left: 0;
}

.forum-modern-shell .forum-panel--boards .index-board-cell--alternate {
 background: var(--forum-surface-soft);
}

.forum-modern-shell .forum-panel--boards .index-board-header .index-board-cell,
.forum-modern-shell .forum-panel--boards .index-info-title {
 background: var(--forum-primary);
 color: var(--forum-title-text);
}

.forum-modern-shell .forum-panel--boards .index-category,
.forum-modern-shell .forum-panel--boards .index-board-category {
 border-top: 1px solid var(--forum-border);
 background: var(--forum-accent);
 color: var(--forum-category-text);
 padding: 6px 8px;
 font-size: 13px;
 line-height: 1.2;
}

.forum-modern-shell .forum-panel--boards .index-board-title {
 color: var(--forum-text);
 font-size: 12px;
}

.forum-modern-shell .forum-panel--boards .index-board-description,
.forum-modern-shell .forum-panel--boards .index-board-subboards,
.forum-modern-shell .forum-panel--boards .index-lastpost__text {
 color: var(--forum-muted);
 font-size: 11px;
}

.forum-modern-shell .forum-panel--boards img {
 max-width: 28px;
 height: auto;
}

.forum-sidebar .index-info-list {
 border: 0;
 background: transparent;
 max-width: none;
 width: 100%;
}

.forum-sidebar {
 display: block;
}

.forum-sidebar .index-info-list > * {
 margin: 0;
}

.forum-sidebar .index-info-section {
 overflow: hidden;
 border: 0;
 border-top: var(--forum-border-width) solid var(--forum-panel-head-border);
 border-radius: 0;
 background: var(--forum-surface);
 box-shadow: none;
}

.forum-sidebar .index-info-section:first-child {
 border-top: 0;
}

.forum-sidebar .index-info-title {
 min-height: 34px;
 padding: var(--forum-compact-padding) var(--forum-box-padding);
 border: 0;
 border-bottom: var(--forum-border-width) solid var(--forum-panel-head-border);
 background: var(--forum-primary);
 color: var(--forum-title-text);
 font-size: 12px;
 line-height: 1.2;
}

.forum-sidebar .index-info-content {
 padding: var(--forum-box-padding);
 background: var(--forum-surface);
 color: var(--forum-text);
 font-size: 11px;
 line-height: 1.35;
}

.forum-sidebar .index-info-content--alternate {
 background: var(--forum-surface-muted);
}

.forum-sidebar .index-stats {
 grid-template-columns: 1fr;
 gap: var(--forum-compact-padding);
 align-items: start;
}

.forum-modern-shell--team {
 margin-top: var(--forum-box-gap);
}

.forum-modern-shell--team .team-list {
 width: 100%;
 max-width: none;
 margin: 0;
 display: grid;
 gap: var(--forum-box-gap);
}

.forum-modern-shell--team .team-section {
 margin: 0;
 overflow: hidden;
 border: var(--forum-border-width) solid var(--forum-panel-head-border);
 border-radius: var(--forum-radius-md);
 background: var(--forum-surface);
 box-shadow: var(--forum-shadow-sm);
}

.forum-modern-shell--team .team-title {
 min-height: 34px;
 padding: var(--forum-compact-padding) var(--forum-box-padding);
 background: var(--forum-primary);
 color: var(--forum-title-text);
 font-size: 13px;
 line-height: 1.2;
}

.forum-modern-shell--team .team-row {
 border-top: var(--forum-border-width) solid var(--forum-border);
 background: var(--forum-surface);
}

.forum-modern-shell--team .team-row--header {
 border-top: 0;
 background: var(--forum-panel-head-bg);
 color: var(--forum-text);
}

.forum-modern-shell--team .team-row > div {
 padding: var(--forum-compact-padding);
 border-color: var(--forum-border);
 background: transparent;
}

.forum-modern-shell--team .team-pages {
 width: 100%;
 max-width: none;
 margin: var(--forum-box-gap) 0 0;
 padding: var(--forum-compact-padding);
 border: var(--forum-border-width) solid var(--forum-panel-head-border);
 border-radius: var(--forum-radius-md);
 background: var(--forum-surface);
 box-shadow: var(--forum-shadow-sm);
 text-align: center;
}

.forum-modern-shell--members,
.forum-modern-shell--search {
 margin-top: var(--forum-box-gap);
}

.forum-modern-shell--members .members-list {
 width: 100%;
 max-width: none;
 margin: 0;
 overflow-x: auto;
 border: var(--forum-border-width) solid var(--forum-panel-head-border);
 border-radius: var(--forum-radius-md);
 background: var(--forum-surface);
 box-shadow: var(--forum-shadow-sm);
}

.forum-modern-shell--members .members-row {
 border-color: var(--forum-border);
 background: var(--forum-surface);
}

.forum-modern-shell--members .members-row--header > div {
 min-height: 34px;
 padding: var(--forum-compact-padding);
 background: var(--forum-primary);
 color: var(--forum-title-text);
}

.forum-modern-shell--members .members-cell {
 padding: var(--forum-compact-padding);
 border-color: var(--forum-border);
 background: transparent;
}

.forum-modern-shell--members .members-pages {
 width: 100%;
 max-width: none;
 margin: var(--forum-box-gap) 0 0;
 padding: var(--forum-compact-padding);
 border: var(--forum-border-width) solid var(--forum-panel-head-border);
 border-radius: var(--forum-radius-md);
 background: var(--forum-surface);
 box-shadow: var(--forum-shadow-sm);
 text-align: center;
}

.forum-modern-shell--search .search-form {
 width: 100%;
 margin: 0;
 display: grid;
 gap: var(--forum-box-gap);
}

.forum-modern-shell--search .search-panel {
 width: 100%;
 max-width: none;
 margin: 0;
 overflow: hidden;
 border: var(--forum-border-width) solid var(--forum-panel-head-border);
 border-radius: var(--forum-radius-md);
 background: var(--forum-surface);
 box-shadow: var(--forum-shadow-sm);
}

.forum-modern-shell--search .search-title {
 min-height: 34px;
 padding: var(--forum-compact-padding) var(--forum-box-padding);
 background: var(--forum-primary);
 color: var(--forum-title-text);
 font-size: 13px;
 line-height: 1.2;
}

.forum-modern-shell--search .search-columns,
.forum-modern-shell--search .search-options,
.forum-modern-shell--search .search-option-stack {
 gap: var(--forum-border-width);
 background: var(--forum-border);
}

.forum-modern-shell--search .search-field__title {
 padding: var(--forum-compact-padding);
 background: var(--forum-panel-head-bg);
 color: var(--forum-text);
}

.forum-modern-shell--search .search-field__body {
 padding: var(--forum-box-padding);
 background: var(--forum-surface);
 color: var(--forum-text);
}

.forum-modern-shell--search .search-actions {
 width: 100%;
 max-width: none;
 margin: 0;
 padding: var(--forum-compact-padding);
 border: var(--forum-border-width) solid var(--forum-panel-head-border);
 border-radius: var(--forum-radius-md);
 background: var(--forum-surface);
 box-shadow: var(--forum-shadow-sm);
}

.forum-sidebar .index-legend {
 justify-content: flex-start;
 gap: 7px 10px;
 line-height: 1.25;
}

.forum-modern-shell--board {
 display: block;
 margin-top: 14px;
}

.forum-modern-shell--board > .board-toolbar:first-child,
.forum-modern-shell--board > .board-thread-list:first-child {
 margin-top: 0;
}

.forum-modern-shell--board .board-toolbar,
.forum-modern-shell--board .board-controls,
.forum-modern-shell--board .board-legend {
 width: 100%;
 max-width: none;
 margin-left: 0;
 margin-right: 0;
}

.forum-modern-shell--board .board-toolbar,
.forum-modern-shell--board .board-controls {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 10px;
 padding: 8px 0;
 color: var(--forum-text);
}

.forum-modern-shell--board .board-toolbar .text-small,
.forum-modern-shell--board .board-controls .text-small,
.forum-modern-shell--board .board-controls__search,
.forum-modern-shell--board .board-controls__search label {
 color: var(--forum-title-text);
}

.forum-modern-shell--board .board-thread-list {
 overflow: hidden;
 border: 1px solid var(--forum-panel-head-border);
 border-radius: var(--forum-radius-md);
 background: var(--forum-surface);
 box-shadow: var(--forum-shadow-sm);
}

.forum-modern-shell--board .board-thread-row {
 border-top: 1px solid var(--forum-border);
 background: var(--forum-surface);
}

.forum-modern-shell--board .board-thread-row:first-child {
 border-top: 0;
}

.forum-modern-shell--board .board-thread-cell {
 border-color: var(--forum-border);
 background: var(--forum-surface);
}

.forum-modern-shell--board .board-thread-cell--alternate {
 background: var(--forum-surface-muted);
}

.forum-modern-shell--board .board-thread-header .board-thread-cell {
 min-height: 31px;
 background: var(--forum-primary);
 color: var(--forum-title-text);
 font-size: 12px;
 line-height: 1.2;
}

.forum-modern-shell--board .board-legend {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 8px 14px;
 margin-top: 12px;
 color: var(--forum-title-text);
 font-size: 11px;
 line-height: 1.25;
}

.forum-modern-shell--category {
 margin-top: 14px;
}

.forum-modern-shell--category .index-board-list {
 width: 100%;
 max-width: none;
 margin: 0;
 overflow: hidden;
 border: 1px solid var(--forum-panel-head-border);
 border-radius: var(--forum-radius-md);
 background: var(--forum-surface);
 box-shadow: var(--forum-shadow-sm);
}

.forum-modern-shell--category .index-board-header .index-board-cell {
 min-height: 31px;
 background: var(--forum-primary);
 color: var(--forum-title-text);
 font-size: 12px;
 line-height: 1.2;
}

.forum-modern-shell--category .index-board-row {
 border-top: 1px solid var(--forum-border);
 background: transparent;
}

.forum-modern-shell--category .index-board-row:first-child {
 border-top: 0;
}

.forum-modern-shell--category .index-board-cell {
 border-left: 1px solid var(--forum-border);
 background: var(--forum-surface);
 padding-top: 7px;
 padding-bottom: 7px;
}

.forum-modern-shell--category .index-board-cell:first-child {
 border-left: 0;
}

.forum-modern-shell--category .index-board-cell--alternate {
 background: var(--forum-surface-muted);
}

.forum-modern-shell--category .index-category,
.forum-modern-shell--category .index-board-category {
 border-top: 1px solid var(--forum-border);
 background: var(--forum-accent);
 color: var(--forum-category-text);
 padding: 6px 8px;
 font-size: 13px;
 line-height: 1.2;
}

.forum-modern-shell--category .board-controls,
.forum-modern-shell--category .board-legend {
 width: 100%;
 max-width: none;
 margin-left: 0;
 margin-right: 0;
}

.forum-modern-shell--category .board-controls {
 padding: 8px 0;
 color: var(--forum-title-text);
}

.forum-modern-shell--category .board-legend {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 8px 14px;
 margin-top: 12px;
 color: var(--forum-title-text);
 font-size: 11px;
 line-height: 1.25;
}

.forum-sidebar .index-legend img {
 width: 20px;
 height: auto;
}

.site-footer--modern {
 width: fit-content;
 max-width: var(--forum-content-width);
 margin: 24px auto;
 padding: 7px 12px;
 border: 1px solid var(--forum-danger);
 border-radius: var(--forum-radius-sm);
 background: #fff;
 color: var(--forum-text);
 font-size: 11px;
 font-weight: bold;
 text-align: center;
}

@media (max-width: 980px) {
 .forum-site-header__inner {
  grid-template-columns: 1fr;
  grid-template-areas:
   "brand"
   "user"
   "main"
   "switcher";
  justify-items: center;
  min-height: 0;
 }
 .forum-site-header__nav,
 .forum-site-header__switcher {
  justify-content: center;
  justify-self: center;
 }
 .forum-layout-grid {
  grid-template-columns: 1fr;
 }
 .forum-page-hero {
  align-items: flex-start;
  flex-direction: column;
 }
 .forum-page-hero__actions {
  justify-content: flex-start;
 }
}

@media (max-width: 700px) {
 .forum-site-header__brand {
  grid-template-columns: 1fr;
  justify-items: center;
 }
 .forum-site-header__title img {
  max-width: min(250px, 80vw);
 }
 .forum-site-header__logo img {
  max-width: 92px;
 }
}
