/* ========================================================================== 
   WWII ONLINE CMS · TacticalWiki Design System · v1.13.15
   Global theme layer for frontend, all subpages and Control Center.
   ========================================================================== */

:root {
  --tw-page: #EDE8DC;
  --tw-content: #F7F4ED;
  --tw-card: #FFFFFF;
  --tw-control: #DFD8C8;
  --tw-blue: #1F4E79;
  --tw-gold: #BD9232;
  --tw-text: #111111;
  --tw-text-soft: #555555;
  --tw-line: #E2DCCE;
  --tw-line-strong: #D8D2C4;
  --tw-table-head: #2B2B2B;
  --tw-zebra: #F4F0E6;
  --tw-success: #27AE60;
  --tw-danger: #A33A35;
  --tw-shadow: 0 7px 20px rgba(0,0,0,.06);
  --tw-radius: 8px;
  --tw-max: 1280px;
}

/* --------------------------------------------------------------------------
   1. GLOBAL PAGE / TYPOGRAPHY
   -------------------------------------------------------------------------- */
html {
  background: var(--tw-page) !important;
}

body,
body.site-layout,
body.admin-body,
.site-main,
.cms-home-local-copy,
.admin-main,
.admin-workspace,
.admin-content-wrap,
.community-hub-body,
.lage-command-body,
.lagezentrum-body {
  background: var(--tw-page) !important;
  color: var(--tw-text) !important;
}

body,
button,
input,
select,
textarea,
table {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

p,
li,
dd,
td,
label,
input,
select,
textarea {
  color: var(--tw-text) !important;
}

small,
.meta,
.muted,
.section-description,
.admin-head > p,
.community-page-head > p,
.lage-lead {
  color: var(--tw-text-soft) !important;
}

/* Category labels / eyebrows */
.eyebrow,
.community-kicker,
.lage-eyebrow,
.section-category-original,
.cms-original-kicker,
.admin-page-kicker,
.admin-section-kicker,
.home-news-head .eyebrow,
.home-serverstatus-head .eyebrow,
.home-wiretap-head .eyebrow,
.home-module-head .eyebrow,
.homepage-teaser-content .eyebrow {
  color: var(--tw-gold) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

/* Tactical vertical heading accent. Exclude the photographic campaign hero. */
.site-main h1,
.site-main h2,
.cms-home-local-copy > .section h2,
.cms-home-local-copy > .home-news-section h2,
.cms-home-local-copy > .home-community-module h2,
.cms-home-local-copy > .homepage-database-teaser-section h2,
.cms-home-local-copy > .home-serverstatus-module h2,
.community-page-head h1,
.community-section-title h2,
.lage-command-header h1,
.lage-panel-header h2,
.lage-map-header h2,
.admin-head h1,
.stats-card .section-head h2,
.admin-card h2,
.admin-panel h2,
.auth-card h2 {
  border-left: 4px solid var(--tw-blue) !important;
  padding-left: 14px !important;
  color: var(--tw-text) !important;
}

.campaign-hero h1,
.front-news h1,
.front-news h2,
.front-news h3,
.frontend-header h1,
.frontend-header h2,
.frontend-header h3 {
  border-left: 0 !important;
  padding-left: 0 !important;
}

/* --------------------------------------------------------------------------
   2. CONTENT WIDTH / SECTIONS / CARDS
   -------------------------------------------------------------------------- */
.cms-home-local-copy > .section,
.cms-home-local-copy > .home-news-section,
.cms-home-local-copy > .home-community-module,
.cms-home-local-copy > .homepage-database-teaser-section,
.cms-home-local-copy > .home-serverstatus-module,
.cms-original-page,
.transferred-page,
.cms-subpage-shell,
.faq-page,
.community-hub-page,
.lage-command-page,
.lagezentrum-page {
  width: min(var(--tw-max), calc(100% - 32px)) !important;
  max-width: var(--tw-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Main content panels: warm light beige */
.cms-home-local-copy > .section,
.cms-home-local-copy > .home-news-section,
.cms-home-local-copy > .home-community-module,
.cms-home-local-copy > .homepage-database-teaser-section,
.cms-home-local-copy > .home-serverstatus-module,
.cms-original-hero,
.transferred-page-hero,
.content-hero,
.cms-subpage-hero,
.cms-original-panel,
.cms-subpage-content > section,
.cms-subpage-content .section,
.cms-subpage-content .cms-section,
.community-section,
.lage-command-header,
.lage-factory-panel,
.lage-map-panel,
.stats-card,
.auth-card,
.admin-card,
.admin-panel,
.metric-card,
.admin-kpi-card,
.failure-detail {
  background: var(--tw-content) !important;
  border: 1px solid var(--tw-line-strong) !important;
  border-radius: var(--tw-radius) !important;
  box-shadow: var(--tw-shadow) !important;
}

/* Cards: pure white */
.card,
.cms-home-local-copy .card,
.cms-home-local-copy .home-news-card,
.cms-home-local-copy .home-serverstatus-card,
.cms-home-local-copy .homepage-managed-section,
.account-original-card,
.account-choice-original,
.handbook-original-note,
.handbook-original-facts article,
.faq-item,
.faq-chat-shell,
.community-award-card,
.community-kpi-card,
.lage-rdp-card,
.admin-content-card {
  background: var(--tw-card) !important;
  border: 1px solid var(--tw-line-strong) !important;
  border-radius: var(--tw-radius) !important;
  box-shadow: var(--tw-shadow) !important;
}

/* Explicit home cards requested by the guide: Combined Arms / player-driven / call to arms */
.cms-home-local-copy .grid.three .card,
.cms-home-local-copy .card.content-body.editable-section-inner {
  background: #FFFFFF !important;
  border: 1px solid #D8D2C4 !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.05) !important;
  padding: 22px 24px !important;
}

.cms-home-local-copy .grid.three .card h3,
.cms-home-local-copy .card.content-body.editable-section-inner h3 {
  color: var(--tw-text) !important;
  margin-top: 0 !important;
}

/* Header alignment for startpage modules: title left, action right */
.home-wiretap-head,
.home-news-head,
.home-serverstatus-head,
.home-module-head,
.section-head,
.community-section-title,
.lage-panel-header,
.lage-map-header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 20px !important;
}

.home-wiretap-head > a,
.home-news-head > a,
.home-serverstatus-head > a,
.home-module-head > a,
.section-head > a,
.home-wiretap-head .section-action,
.home-module-head .section-action {
  margin-left: auto !important;
  flex: 0 0 auto !important;
}

/* --------------------------------------------------------------------------
   3. CONTROLS / FILTERS / PILLS
   -------------------------------------------------------------------------- */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.community-filterbar,
.lage-secondary-filter,
.lage-quickfilters,
.admin-global-search,
.admin-content input,
.admin-content select,
.admin-content textarea {
  background: var(--tw-control) !important;
  border: 1px solid #C9C1B1 !important;
  border-radius: 6px !important;
  color: var(--tw-text) !important;
}

input::placeholder,
textarea::placeholder {
  color: #6C665E !important;
  opacity: 1;
}

button,
.button,
.detail-btn,
.community-detail-button,
.lage-map-header button {
  border-radius: 6px !important;
}

.button,
button.is-primary,
.lage-quickfilters button.is-active,
.community-segmented button.is-active {
  background: var(--tw-blue) !important;
  border-color: var(--tw-blue) !important;
  color: #FFFFFF !important;
}

/* --------------------------------------------------------------------------
   4. GLOBAL TACTICALWIKI DATA TABLES
   -------------------------------------------------------------------------- */
.table-wrap,
.responsive-table,
.community-table-wrap,
.lage-table-scroll,
.home-squad-table-wrap,
.stats-card .table-wrap,
.admin-content .table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.04) !important;
}

/* Never allow a table to exceed its containing content card except by internal scroll. */
table,
.site-main table,
.cms-home-local-copy table,
.admin-content table,
.stats-card table,
.community-player-table,
.lage-factory-table,
.home-squad-table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: #FFFFFF !important;
  color: #1A1A1A !important;
  box-shadow: none !important;
}

/* Header */
table thead,
.site-main table thead,
.cms-home-local-copy table thead,
.admin-content table thead,
.stats-card table thead {
  background: var(--tw-table-head) !important;
}

table th,
.site-main table th,
.cms-home-local-copy table th,
.admin-content table th,
.stats-card table th,
.community-player-table th,
.lage-factory-table th,
.home-squad-table th {
  background: var(--tw-table-head) !important;
  color: #FFFFFF !important;
  font-size: 9pt !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
  text-align: left !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #1E1E1E !important;
}

/* Rows / cells */
table td,
.site-main table td,
.cms-home-local-copy table td,
.admin-content table td,
.stats-card table td,
.community-player-table td,
.lage-factory-table td,
.home-squad-table td {
  background: transparent !important;
  color: #1A1A1A !important;
  font-size: 9pt !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  vertical-align: middle !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--tw-line) !important;
}

table tbody tr:nth-child(odd),
.site-main table tbody tr:nth-child(odd),
.cms-home-local-copy table tbody tr:nth-child(odd),
.admin-content table tbody tr:nth-child(odd),
.stats-card table tbody tr:nth-child(odd),
.community-player-table tbody tr:nth-child(odd),
.lage-factory-table tbody tr:nth-child(odd),
.home-squad-table tbody tr:nth-child(odd) {
  background: #FFFFFF !important;
}

table tbody tr:nth-child(even),
.site-main table tbody tr:nth-child(even),
.cms-home-local-copy table tbody tr:nth-child(even),
.admin-content table tbody tr:nth-child(even),
.stats-card table tbody tr:nth-child(even),
.community-player-table tbody tr:nth-child(even),
.lage-factory-table tbody tr:nth-child(even),
.home-squad-table tbody tr:nth-child(even) {
  background: var(--tw-zebra) !important;
}

table tbody tr:hover,
.site-main table tbody tr:hover,
.cms-home-local-copy table tbody tr:hover,
.admin-content table tbody tr:hover,
.stats-card table tbody tr:hover,
.community-player-table tbody tr:hover,
.lage-factory-table tbody tr:hover,
.home-squad-table tbody tr:hover {
  background: #E9E3D6 !important;
}

/* No vertical table rules anywhere in TacticalWiki. */
table th + th,
table td + td,
.site-main table th + th,
.site-main table td + td,
.admin-content table th + th,
.admin-content table td + td {
  border-left: 0 !important;
}

/* Data emphasis */
table td strong,
.community-kd,
.rank {
  color: var(--tw-text) !important;
  font-weight: 800 !important;
}

/* Status pills */
.status-pill,
.factory-status,
.lage-status-badge,
.server-state,
.faction-badge,
.front-chip,
.lage-front-badge {
  border-radius: 12px !important;
  padding: 4px 9px !important;
  font-size: 8.5pt !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

.status-pill.success,
.status-pill.active,
.status-pill.ok,
.factory-status.good,
.lage-status-badge--active,
.server-state.is-online {
  background: var(--tw-success) !important;
  color: #FFFFFF !important;
  border-color: var(--tw-success) !important;
}

/* --------------------------------------------------------------------------
   5. CALLOUTS / NOTES
   -------------------------------------------------------------------------- */
.notice.info,
.notice.warning,
.handbook-original-note,
.callout,
.merksatz,
.cms-original-page blockquote {
  background: #FBF4DF !important;
  border: 1px solid #E2C87E !important;
  border-left: 4px solid var(--tw-gold) !important;
  border-radius: 6px !important;
  color: var(--tw-text) !important;
}

/* --------------------------------------------------------------------------
   6. SUBPAGES – FORCE THE SAME TACTICALWIKI APPEARANCE
   -------------------------------------------------------------------------- */
.cms-original-page,
.transferred-page,
.cms-subpage-body,
.cms-subpage-shell,
.faq-page {
  background: transparent !important;
}

.cms-original-hero,
.transferred-page-hero,
.content-hero,
.cms-subpage-hero {
  background: var(--tw-content) !important;
  color: var(--tw-text) !important;
  border-left: 4px solid var(--tw-blue) !important;
}

.cms-original-hero h1,
.cms-original-hero h2,
.cms-original-hero h3,
.cms-original-hero p,
.transferred-page-hero h1,
.transferred-page-hero p,
.content-hero h1,
.content-hero h2,
.content-hero p {
  color: var(--tw-text) !important;
}

/* Neutralize old imported color themes while preserving content structure. */
.imported-cms-content,
.legacy-cms-main-source,
.legacy-cms-runtime-wrap,
.cms-subpage-content {
  color: var(--tw-text) !important;
  background: transparent !important;
}

.imported-cms-content > section,
.legacy-cms-main-source > section,
.legacy-cms-runtime-wrap > section {
  background: var(--tw-content) !important;
  border: 1px solid var(--tw-line-strong) !important;
  border-radius: var(--tw-radius) !important;
  box-shadow: var(--tw-shadow) !important;
  padding: 22px !important;
  margin-bottom: 20px !important;
}

/* --------------------------------------------------------------------------
   7. BACKEND / CONTROL CENTER
   -------------------------------------------------------------------------- */
.admin-topbar {
  background: var(--tw-content) !important;
  border-bottom: 1px solid var(--tw-line-strong) !important;
}

.admin-content-wrap {
  max-width: 1600px !important;
}

.admin-sidebar {
  background: #202528 !important;
}

.admin-side-link:hover,
.admin-side-link.is-active {
  background: rgba(189,146,50,.14) !important;
  color: #FFFFFF !important;
}

.admin-side-link.is-active {
  border-left: 3px solid var(--tw-gold) !important;
}

.admin-content input,
.admin-content select,
.admin-content textarea,
.admin-global-search {
  background: var(--tw-control) !important;
}

/* --------------------------------------------------------------------------
   8. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .home-wiretap-head,
  .home-news-head,
  .home-serverstatus-head,
  .home-module-head,
  .section-head,
  .community-section-title,
  .lage-panel-header,
  .lage-map-header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .home-wiretap-head > a,
  .home-news-head > a,
  .home-serverstatus-head > a,
  .home-module-head > a,
  .section-head > a {
    margin-left: 0 !important;
  }
}

@media (max-width: 760px) {
  .cms-home-local-copy > .section,
  .cms-home-local-copy > .home-news-section,
  .cms-home-local-copy > .home-community-module,
  .cms-home-local-copy > .homepage-database-teaser-section,
  .cms-home-local-copy > .home-serverstatus-module,
  .cms-original-page,
  .transferred-page,
  .cms-subpage-shell,
  .faq-page,
  .community-hub-page,
  .lage-command-page,
  .lagezentrum-page {
    width: calc(100% - 20px) !important;
  }

  table th,
  table td,
  .site-main table th,
  .site-main table td,
  .cms-home-local-copy table th,
  .cms-home-local-copy table td,
  .admin-content table th,
  .admin-content table td {
    padding: 8px 10px !important;
  }
}


/* ==========================================================================
   v1.13.16 – TacticalWiki hardening
   - legacy subpage blue/dark themes neutralized
   - squad section header standardized
   - footer explicitly excluded from TacticalWiki recoloring
   - Frontnachrichten restored to the approved old-CMS newspaper component
   ========================================================================== */

/* --------------------------------------------------------------------------
   A. FOOTER: DO NOT REDESIGN
   This restores the approved wwiionline-CMS footer appearance and isolates it
   from every global TacticalWiki color/typography rule above.
   -------------------------------------------------------------------------- */
.site-footer{
  margin-top:0 !important;
  flex-shrink:0 !important;
  background:#101419 !important;
  color:#c7d0d8 !important;
  border:0 !important;
  border-top:3px solid var(--gold, #BD9232) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.site-footer__inner{
  max-width:1280px !important;
  margin:0 auto !important;
  padding:26px 24px !important;
  display:grid !important;
  grid-template-columns:1fr 2fr !important;
  gap:32px !important;
  background:transparent !important;
}
.site-footer,
.site-footer p,
.site-footer span,
.site-footer small,
.site-footer li,
.site-footer div{
  color:#c7d0d8 !important;
}
.site-footer__title{
  margin:0 !important;
  color:#fff !important;
  border-left:0 !important;
  padding-left:0 !important;
}
.site-footer__version{
  margin-top:5px !important;
  color:var(--gold, #BD9232) !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
}
.site-footer__description{
  margin-top:10px !important;
}
.site-footer__description,
.site-footer__notice,
.site-footer__copyright{
  font-size:11px !important;
  line-height:1.5 !important;
}
.site-footer__links{
  display:flex !important;
  gap:9px !important;
  flex-wrap:wrap !important;
}
.site-footer__links a{
  color:#fff !important;
  text-decoration:none !important;
}
.site-footer__links a:hover{
  color:var(--gold, #BD9232) !important;
}
.site-footer__separator{
  color:#6f7880 !important;
}

/* --------------------------------------------------------------------------
   B. SQUADS: same heading rhythm as all other homepage sections
   -------------------------------------------------------------------------- */
.home-squad-module{
  padding-top:0 !important;
}
.home-squad-module > .container{
  padding-top:28px !important;
  padding-bottom:28px !important;
}
.home-squad-head,
.home-squad-module .home-module-head{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin:0 0 16px !important;
}
.home-squad-head__title{
  min-width:0 !important;
}
.home-squad-head .eyebrow,
.home-squad-module .home-module-head .eyebrow{
  display:block !important;
  margin:0 0 8px !important;
}
.home-squad-head h2,
.home-squad-module .home-module-head h2{
  margin:0 !important;
  border-left:4px solid var(--tw-blue) !important;
  padding-left:14px !important;
  color:var(--tw-text) !important;
  font-size:clamp(2rem,3.5vw,3.3rem) !important;
  line-height:1 !important;
}
.home-squad-head__action,
.home-squad-module .home-module-head > a{
  margin-left:auto !important;
  flex:0 0 auto !important;
  align-self:flex-end !important;
  color:#8d691e !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.home-squad-head__action:hover{
  color:var(--tw-blue) !important;
}

/* Squad table is explicitly the global TacticalWiki table. */
.home-squad-table-wrap{
  margin-top:0 !important;
  border:1px solid var(--tw-line-strong) !important;
  border-radius:8px !important;
  box-shadow:none !important;
}
.home-squad-table th{
  background:#2B2B2B !important;
  color:#fff !important;
}
.home-squad-table tbody tr:nth-child(odd){background:#fff !important}
.home-squad-table tbody tr:nth-child(even){background:#F4F0E6 !important}
.home-squad-table tbody tr:hover{background:#E9E3D6 !important}
.home-squad-table td{
  color:#1A1A1A !important;
  border-bottom:1px solid #E2DCCE !important;
}
.home-squad-table a{
  color:#76591c !important;
  font-weight:800 !important;
}

/* --------------------------------------------------------------------------
   C. ALL SUBPAGES: neutralize legacy blue/navy themes INSIDE containers.
   Geometry stays intact. The visual theme is always TacticalWiki.
   -------------------------------------------------------------------------- */
.cms-subpage-content,
.cms-subpage-content .legacy-cms-main-source,
.cms-subpage-content .legacy-cms-runtime-wrap,
.imported-cms-content{
  --legacy-page-bg:#EDE8DC;
  --legacy-panel:#F7F4ED;
  --legacy-card:#FFFFFF;
  --legacy-control:#DFD8C8;
  --legacy-line:#D8D2C4;
  --legacy-text:#111111;
  --legacy-muted:#555555;
  background-color:transparent !important;
  color:var(--legacy-text) !important;
}

/* Major legacy shells / panels / sidebars */
.cms-subpage-content .legacy-cms-main-source :is(
  section,
  article,
  aside,
  nav,
  header,
  [class*="sidebar"],
  [class*="side-nav"],
  [class*="panel"],
  [class*="content-box"],
  [class*="detail-box"],
  [class*="overview"],
  [class*="filter-panel"],
  [class*="unit-page"],
  [class*="axis-einheiten"],
  [class*="allied"],
  [class*="branch"],
  [class*="faction-panel"]
){
  background-color:var(--legacy-panel) !important;
  color:var(--legacy-text) !important;
  border-color:var(--legacy-line) !important;
  box-shadow:none !important;
}

/* Actual cards / tiles / equipment blocks are white. */
.cms-subpage-content .legacy-cms-main-source :is(
  [class*="card"],
  [class*="tile"],
  [class*="unit-item"],
  [class*="unit-entry"],
  [class*="weapon-item"],
  [class*="equipment-item"],
  [class*="stat-box"],
  [class*="info-box"]
){
  background-color:var(--legacy-card) !important;
  color:var(--legacy-text) !important;
  border:1px solid var(--legacy-line) !important;
  border-radius:8px !important;
  box-shadow:0 5px 14px rgba(0,0,0,.045) !important;
}

/* Old dark/navy unit headers are converted to TacticalWiki panels. */
.cms-subpage-content .legacy-cms-main-source :is(
  [class*="hero"],
  [class*="banner"],
  [class*="unit-head"],
  [class*="unit-header"],
  [class*="category-head"],
  [class*="branch-head"]
){
  background-color:var(--legacy-panel) !important;
  color:var(--legacy-text) !important;
  border:1px solid var(--legacy-line) !important;
  border-left:4px solid var(--tw-blue) !important;
  box-shadow:none !important;
}

/* Text colors: override inline legacy navy/blue/white text. */
.cms-subpage-content .legacy-cms-main-source :is(
  h1,h2,h3,h4,h5,h6,p,li,dt,dd,div,span,strong,small,label
){
  color:var(--legacy-text) !important;
  text-shadow:none !important;
}
.cms-subpage-content .legacy-cms-main-source :is(
  p,li,dd,small,.meta,[class*="meta"],[class*="subtitle"],[class*="description"]
){
  color:var(--legacy-muted) !important;
}

/* Restore TacticalWiki gold for semantic mini-labels after generic text reset. */
.cms-subpage-content .legacy-cms-main-source :is(
  .eyebrow,
  .category,
  [class*="kicker"],
  [class*="eyebrow"],
  [class*="category-label"],
  [class*="section-label"]
){
  color:var(--tw-gold) !important;
}

/* Links and navigation controls */
.cms-subpage-content .legacy-cms-main-source a{
  color:var(--tw-blue) !important;
}
.cms-subpage-content .legacy-cms-main-source :is(
  button,
  .button,
  .btn,
  [role="button"]
){
  background-color:var(--tw-blue) !important;
  border:1px solid var(--tw-blue) !important;
  border-radius:6px !important;
  color:#fff !important;
  box-shadow:none !important;
}
.cms-subpage-content .legacy-cms-main-source :is(
  [class*="sidebar"],
  [class*="side-nav"],
  [class*="tabs"],
  [class*="filter"]
) a{
  background-color:var(--legacy-control) !important;
  border:1px solid #C9C1B1 !important;
  border-radius:6px !important;
  color:var(--legacy-text) !important;
}
.cms-subpage-content .legacy-cms-main-source :is(
  [class*="sidebar"],
  [class*="side-nav"],
  [class*="tabs"],
  [class*="filter"]
) :is(a.active,a.is-active,a.selected,button.active,button.is-active){
  background-color:var(--tw-blue) !important;
  border-color:var(--tw-blue) !important;
  color:#fff !important;
}

/* Form controls inside imported pages. */
.cms-subpage-content .legacy-cms-main-source :is(input,select,textarea){
  background-color:var(--legacy-control) !important;
  border:1px solid #C9C1B1 !important;
  color:var(--legacy-text) !important;
}

/* Legacy tables are always the global TacticalWiki table, even when nested. */
.cms-subpage-content .legacy-cms-main-source table{
  background:#fff !important;
}
.cms-subpage-content .legacy-cms-main-source table th{
  background:#2B2B2B !important;
  color:#fff !important;
}
.cms-subpage-content .legacy-cms-main-source table tbody tr:nth-child(odd){background:#fff !important}
.cms-subpage-content .legacy-cms-main-source table tbody tr:nth-child(even){background:#F4F0E6 !important}
.cms-subpage-content .legacy-cms-main-source table tbody tr:hover{background:#E9E3D6 !important}
.cms-subpage-content .legacy-cms-main-source table td{
  color:#1A1A1A !important;
  border-bottom:1px solid #E2DCCE !important;
}

/* --------------------------------------------------------------------------
   D. FRONTNACHRICHTEN: exact approved v1.13.0 old-CMS newspaper component.
   This component is intentionally excluded from TacticalWiki card/head styles.
   -------------------------------------------------------------------------- */
.frontnews-newspaper{
  width:min(1280px,calc(100% - 32px)) !important;
  margin:42px auto !important;
  padding:clamp(22px,3vw,42px) !important;
  color:#2e2922 !important;
  background:
    linear-gradient(rgba(240,230,207,.90),rgba(226,210,178,.90)),
    url("img/frontnews/frontnachrichten-paper-bg.svg") center/cover no-repeat !important;
  border:1px solid #a98f67 !important;
  border-radius:0 !important;
  box-shadow:0 18px 38px rgba(42,33,23,.16), inset 0 0 0 1px rgba(255,255,255,.45) !important;
}
.frontnews-newspaper h1,
.frontnews-newspaper h2,
.frontnews-newspaper h3{
  border-left:0 !important;
  padding-left:0 !important;
}
.frontnews-paper-head{
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr) !important;
  gap:clamp(24px,4vw,64px) !important;
  align-items:end !important;
  padding-bottom:24px !important;
  border-bottom:1px solid rgba(65,48,34,.45) !important;
}
.frontnews-red-label{
  display:inline-block !important;
  padding:7px 12px !important;
  background:#8d2f28 !important;
  color:#fff5e4 !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
}
.frontnews-paper-head h1,
.frontnews-paper-head h2{
  margin:10px 0 2px !important;
  color:#25221e !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(2.4rem,5.2vw,5.6rem) !important;
  line-height:.9 !important;
  letter-spacing:-.04em !important;
  text-transform:uppercase !important;
  overflow-wrap:anywhere !important;
}
.frontnews-paper-head h3{
  margin:8px 0 0 !important;
  color:#433b31 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(1rem,1.8vw,1.4rem) !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}
.frontnews-paper-head p{
  margin:0 !important;
  max-width:48ch !important;
  color:#4e463c !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(.95rem,1.2vw,1.08rem) !important;
  line-height:1.62 !important;
}
.frontnews-hero-divider{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  padding:22px 0 !important;
  color:#7f2b25 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}
.frontnews-hero-divider::before,
.frontnews-hero-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(79,56,39,.38);
}
.frontnews-ribbon-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  border-top:1px solid rgba(79,56,39,.28) !important;
  border-bottom:1px solid rgba(79,56,39,.28) !important;
}
.frontnews-ribbon-item{
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) !important;
  gap:15px !important;
  align-items:start !important;
  padding:24px 20px !important;
  min-width:0 !important;
  background:transparent !important;
  border:0 !important;
  border-right:1px solid rgba(79,56,39,.25) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.frontnews-ribbon-item:last-child{border-right:0 !important}
.frontnews-ribbon-item img{
  width:88px !important;
  height:112px !important;
  max-width:88px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.20)) !important;
}
.frontnews-ribbon-item h3{
  margin:0 0 8px !important;
  color:#7f2b25 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1.12rem !important;
  line-height:1.15 !important;
  text-transform:uppercase !important;
}
.frontnews-ribbon-item small{
  display:block !important;
  color:#5a5044 !important;
  font-size:.75rem !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}
.frontnews-ribbon-item strong{
  display:block !important;
  margin:3px 0 9px !important;
  color:#27231e !important;
  font-size:1rem !important;
}
.frontnews-ribbon-item p{
  margin:0 !important;
  color:#51483e !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:.9rem !important;
  line-height:1.5 !important;
}
.frontnews-all-link{
  padding-top:22px !important;
  text-align:center !important;
}
.frontnews-all-link a{
  display:inline-flex !important;
  padding:11px 18px !important;
  background:#7f2b25 !important;
  color:#f7e4b8 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}
.frontnews-newspaper--full{
  margin-top:34px !important;
  margin-bottom:34px !important;
}

@media(max-width:1050px){
  .frontnews-ribbon-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .frontnews-ribbon-item:nth-child(2n){border-right:0 !important}
}
@media(max-width:900px){
  .home-squad-head,
  .home-squad-module .home-module-head{
    align-items:flex-start !important;
  }
}
@media(max-width:720px){
  .frontnews-paper-head{grid-template-columns:1fr !important}
  .frontnews-ribbon-grid{grid-template-columns:1fr !important}
  .frontnews-ribbon-item{
    border-right:0 !important;
    border-bottom:1px solid rgba(79,56,39,.25) !important;
  }
  .frontnews-ribbon-item:last-child{border-bottom:0 !important}
}
@media(max-width:900px){
  .site-footer__inner{
    grid-template-columns:1fr !important;
  }
}


/* ==========================================================================
   v1.13.17 – Frontnachrichten: verbindlicher Papierhintergrund
   Vorgabe des Projekts 24.08.2026
   ========================================================================== */
.frontnews-newspaper{
  --fn-paper:#e7cf9f;
  --fn-paper-light:#f0ddb4;
  --fn-paper-deep:#c7a76f;
  --fn-ink:#17120b;
  --fn-muted:#2a2116;
  --fn-red:#842116;
  --fn-rule:rgba(45,34,20,.42);
  --fn-serif:Georgia,"Times New Roman",Times,serif;

  display:block !important;
  position:relative !important;
  inset:auto !important;
  float:none !important;
  clear:both !important;
  align-self:stretch !important;

  width:100% !important;
  max-width:none !important;
  margin:30px 0 0 !important;
  padding:30px 34px 24px !important;
  transform:none !important;

  color:var(--fn-ink) !important;
  background-color:var(--fn-paper) !important;
  background-image:
    radial-gradient(
      ellipse at 50% 42%,
      rgba(255,248,222,.48) 0 31%,
      rgba(235,211,166,.18) 57%,
      rgba(128,86,38,.14) 100%
    ),
    radial-gradient(circle at 8% 14%,rgba(104,65,24,.13) 0 1px,transparent 1.7px),
    radial-gradient(circle at 82% 23%,rgba(105,67,28,.10) 0 1px,transparent 1.5px),
    radial-gradient(circle at 30% 78%,rgba(93,56,20,.08) 0 1.1px,transparent 1.7px),
    radial-gradient(circle at 64% 64%,rgba(116,76,31,.08) 0 1px,transparent 1.8px),
    repeating-linear-gradient(
      0deg,
      rgba(71,48,22,.026) 0 1px,
      transparent 1px 4px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.025) 0 1px,
      transparent 1px 6px
    ),
    linear-gradient(
      135deg,
      var(--fn-paper-light) 0%,
      #ead3a7 46%,
      #dfc18b 100%
    ) !important;

  background-size:
    auto,
    19px 19px,
    27px 27px,
    31px 31px,
    23px 23px,
    100% 100%,
    100% 100%,
    100% 100% !important;

  border:1px solid rgba(93,60,25,.58) !important;
  border-radius:7px !important;
  box-shadow:
    inset 0 0 30px rgba(74,45,18,.18),
    inset 0 0 90px rgba(71,42,14,.16),
    inset 0 0 0 1px rgba(255,244,211,.18),
    0 8px 20px rgba(0,0,0,.18) !important;

  overflow:hidden !important;
  container-type:inline-size;
  font-family:var(--fn-serif) !important;
}

/* Die Zeitungskomponente soll ihre eigene Typografie behalten. */
.frontnews-newspaper,
.frontnews-newspaper p,
.frontnews-newspaper span,
.frontnews-newspaper small,
.frontnews-newspaper strong,
.frontnews-newspaper h1,
.frontnews-newspaper h2,
.frontnews-newspaper h3,
.frontnews-newspaper a{
  font-family:var(--fn-serif) !important;
}

/* FRONTNACHRICHTEN bleibt auf regulären Desktop-/Tabletbreiten einzeilig.
   Die Schriftgröße orientiert sich an der Containerbreite statt am Viewport. */
.frontnews-paper-head h1,
.frontnews-paper-head h2{
  width:100% !important;
  max-width:100% !important;
  margin:10px 0 2px !important;
  color:var(--fn-ink) !important;
  font-size:clamp(1.9rem,4.6cqw,3.85rem) !important;
  line-height:.9 !important;
  letter-spacing:-.055em !important;
  white-space:nowrap !important;
  overflow:visible !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  text-wrap:nowrap !important;
}

/* Einleitung und Sekundärtext an den neuen Papierfarbwert anbinden. */
.frontnews-paper-head p,
.frontnews-ribbon-item p{
  color:var(--fn-muted) !important;
}
.frontnews-red-label,
.frontnews-all-link a{
  background:var(--fn-red) !important;
}
.frontnews-paper-head,
.frontnews-ribbon-grid,
.frontnews-ribbon-item{
  border-color:var(--fn-rule) !important;
}

/* Responsive: ab dieser Breite wird der Zeitungskopf einspaltig.
   FRONTNACHRICHTEN bleibt dabei weiterhin einzeilig und skaliert herunter. */
@container (max-width:760px){
  .frontnews-paper-head{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .frontnews-paper-head h1,
  .frontnews-paper-head h2{
    font-size:clamp(1.8rem,7.4cqw,3rem) !important;
  }
}

@container (max-width:420px){
  .frontnews-newspaper{
    padding:22px 18px 20px !important;
  }
  .frontnews-paper-head h1,
  .frontnews-paper-head h2{
    font-size:clamp(1.48rem,8cqw,1.85rem) !important;
    letter-spacing:-.06em !important;
  }
  .frontnews-red-label{
    font-size:10px !important;
  }
}


/* ==========================================================================
   v1.13.18 – Hero-Statistik zurück auf die originale wwiionline-CMS-Ansicht
   ========================================================================== */

/* Die zuvor dunkle Overlay-Leiste wird ausdrücklich aufgehoben. */
.cms-home-local-copy .campaign-hero-with-image .stats,
.cms-home-local-copy .hero .stats{
  position:relative !important;
  inset:auto !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:1px !important;

  width:100% !important;
  max-width:none !important;
  margin:28px 0 0 !important;
  padding:0 !important;

  background:#D8D2C4 !important;
  border:1px solid #D8D2C4 !important;
  border-radius:0 !important;
  box-shadow:0 5px 16px rgba(0,0,0,.08) !important;
  overflow:hidden !important;
  backdrop-filter:none !important;
}

.cms-home-local-copy .campaign-hero-with-image .stats>div,
.cms-home-local-copy .hero .stats>div{
  min-width:0 !important;
  padding:18px 14px !important;
  background:#FFFFFF !important;
  border:0 !important;
  text-align:center !important;
}

.cms-home-local-copy .campaign-hero-with-image .stat-value,
.cms-home-local-copy .hero .stat-value{
  display:block !important;
  color:#182531 !important;
  font-family:inherit !important;
  font-size:22px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  text-shadow:none !important;
}

.cms-home-local-copy .campaign-hero-with-image .stat-label,
.cms-home-local-copy .hero .stat-label{
  display:block !important;
  margin-top:4px !important;
  color:#BD9232 !important;
  font-family:inherit !important;
  font-size:11px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-shadow:none !important;
}

/* Responsive entsprechend dem ursprünglichen CMS-Verhalten. */
@media(max-width:760px){
  .cms-home-local-copy .campaign-hero-with-image .stats,
  .cms-home-local-copy .hero .stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:440px){
  .cms-home-local-copy .campaign-hero-with-image .stats,
  .cms-home-local-copy .hero .stats{
    grid-template-columns:1fr !important;
  }
}

/* ==========================================================================
   v1.13.18 – Frontnachrichten: neue Informationsreihenfolge
   1. Ribbon/Auszeichnung
   2. Beschreibung
   3. Verliehen an + Spielernamen
   ========================================================================== */

.frontnews-ribbon-grid{
  align-items:stretch !important;
}

.frontnews-ribbon-item{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  align-items:stretch !important;
  height:100% !important;
}

.frontnews-ribbon-award{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:178px !important;
  text-align:center !important;
}

.frontnews-ribbon-award img{
  display:block !important;
  width:auto !important;
  max-width:108px !important;
  height:112px !important;
  margin:0 auto 13px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.20)) !important;
}

.frontnews-ribbon-award h3{
  width:100% !important;
  margin:0 !important;
  color:var(--fn-red,#842116) !important;
  font-family:var(--fn-serif,Georgia,"Times New Roman",Times,serif) !important;
  font-size:1.04rem !important;
  line-height:1.18 !important;
  font-weight:900 !important;
  text-align:center !important;
  text-transform:uppercase !important;
}

.frontnews-ribbon-description{
  flex:1 1 auto !important;
  margin:17px 0 18px !important;
  padding-top:15px !important;
  border-top:1px solid var(--fn-rule,rgba(45,34,20,.42)) !important;
  color:var(--fn-muted,#2a2116) !important;
  font-family:var(--fn-serif,Georgia,"Times New Roman",Times,serif) !important;
  font-size:.9rem !important;
  line-height:1.55 !important;
  text-align:left !important;
}

.frontnews-recipients{
  margin-top:auto !important;
  padding-top:14px !important;
  border-top:1px solid var(--fn-rule,rgba(45,34,20,.42)) !important;
}

.frontnews-recipients small{
  display:block !important;
  margin:0 0 8px !important;
  color:var(--fn-red,#842116) !important;
  font-family:var(--fn-serif,Georgia,"Times New Roman",Times,serif) !important;
  font-size:.72rem !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}

.frontnews-recipients ul{
  display:grid !important;
  gap:4px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.frontnews-recipients li{
  position:relative !important;
  margin:0 !important;
  padding:0 0 0 14px !important;
  color:var(--fn-ink,#17120b) !important;
  font-family:var(--fn-serif,Georgia,"Times New Roman",Times,serif) !important;
  font-size:.94rem !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}

.frontnews-recipients li::before{
  content:"•" !important;
  position:absolute !important;
  left:0 !important;
  color:var(--fn-red,#842116) !important;
}

/* Alte direkte Bild-/Text-Regeln dürfen die neue Reihenfolge nicht stören. */
.frontnews-ribbon-item>img,
.frontnews-ribbon-item>div:not(.frontnews-ribbon-award):not(.frontnews-recipients){
  max-width:100%;
}

@media(max-width:720px){
  .frontnews-ribbon-award{
    min-height:auto !important;
  }
  .frontnews-ribbon-description{
    text-align:left !important;
  }
}


/* ==========================================================================
   v1.13.19 – Headernavigation / Frontsite-Struktur
   ========================================================================== */

/* Header bleibt tatsächlich am Browserrand. */
.frontend-header{
  position:sticky !important;
  position:-webkit-sticky !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:10000 !important;
  isolation:isolate !important;
}

/* Standardmäßig KEIN Goldbalken bei Hover oder nur geöffnetem Dropdown. */
.frontend-main-nav > a,
.frontend-dropdown > .frontend-dropdown-toggle,
.frontend-nav-button{
  border-bottom-color:transparent !important;
}
.frontend-main-nav > a:hover,
.frontend-dropdown > .frontend-dropdown-toggle:hover,
.frontend-dropdown.open > .frontend-dropdown-toggle,
.frontend-dropdown > .frontend-dropdown-toggle:focus-visible{
  border-bottom-color:transparent !important;
}

/* Ausschließlich der zur aktuellen URL gehörende Hauptpunkt bekommt Gold. */
.frontend-main-nav > a.is-active,
.frontend-dropdown.is-active > .frontend-dropdown-toggle{
  border-bottom-color:var(--tw-gold,#BD9232) !important;
}

/* Fortlaufender Kriegsschauplatz steht garantiert über "Eine lebendige Front". */
.cms-home-local-copy .campaign-section-head{
  display:block !important;
  max-width:100% !important;
}
.cms-home-local-copy .campaign-section-head .section-head-copy{
  display:block !important;
}
.cms-home-local-copy .campaign-section-head .eyebrow{
  display:block !important;
  margin:0 0 8px !important;
}
.cms-home-local-copy .campaign-section-head h2{
  margin-top:0 !important;
}

/* Frontnachrichten exakt auf derselben Außenbreite wie alle Hauptsections. */
.cms-home-local-copy > .frontnews-newspaper,
.cms-home-local-copy > .home-frontnews-module{
  width:min(1280px,calc(100% - 32px)) !important;
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}


/* ========================================================================== 
   v1.13.21 – Grundlagen / Legacy-Handbuch-Komponenten
   Quelle: originale /sites/grundlagen.php des früheren CMS.
   Ziel: Original-Anordnung und militärische Formatierung innerhalb des
   TacticalWiki-Layouts bewahren, ohne Startseite, Navigation oder Footer
   global umzufärben.
   ========================================================================== */

/* Der eigentliche Grundlagen-Inhalt bleibt dunkel und militärisch. */
#grundlagen-inhalt.community-section {
  background: #080d12 !important;
  border: 1px solid #806823 !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.20) !important;
}

.grundlagen-master-content,
.cms-subpage-content .legacy-cms-main-source {
  --gh-bg: #080d12;
  --gh-panel: #111922;
  --gh-panel-2: #17222d;
  --gh-panel-3: #1c2732;
  --gh-line: #806823;
  --gh-line-soft: rgba(189,146,50,.45);
  --gh-gold: #e5ad18;
  --gh-text: #edf2f5;
  --gh-muted: #b9c3cb;
  --gh-blue: #263848;
  --gh-warning: #171d21;
  color: var(--gh-text) !important;
  line-height: 1.58 !important;
}

.grundlagen-master-content *,
.cms-subpage-content .legacy-cms-main-source * {
  box-sizing: border-box;
}

.grundlagen-master-content > .container,
.cms-subpage-content .legacy-cms-main-source > .container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.grundlagen-master-content section,
.cms-subpage-content .legacy-cms-main-source section {
  margin: 0 0 44px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.grundlagen-master-content p,
.grundlagen-master-content li,
.grundlagen-master-content td,
.grundlagen-master-content small,
.grundlagen-master-content label,
.cms-subpage-content .legacy-cms-main-source p,
.cms-subpage-content .legacy-cms-main-source li,
.cms-subpage-content .legacy-cms-main-source td,
.cms-subpage-content .legacy-cms-main-source small,
.cms-subpage-content .legacy-cms-main-source label {
  color: var(--gh-text) !important;
}

.grundlagen-master-content a,
.cms-subpage-content .legacy-cms-main-source a {
  color: var(--gh-gold) !important;
  text-decoration: none !important;
}
.grundlagen-master-content a:hover,
.cms-subpage-content .legacy-cms-main-source a:hover {
  text-decoration: underline !important;
}
.grundlagen-master-content .orange,
.cms-subpage-content .legacy-cms-main-source .orange {
  color: var(--gh-gold) !important;
  font-weight: 700 !important;
}

/* Einleitung / Inhaltskarten */
.grundlagen-master-content .card,
.grundlagen-master-content .card.content-body,
.cms-subpage-content .legacy-cms-main-source .card,
.cms-subpage-content .legacy-cms-main-source .card.content-body {
  background: linear-gradient(180deg, #111922 0%, #0d141b 100%) !important;
  border: 1px solid var(--gh-line) !important;
  border-left: 1px solid var(--gh-line) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  padding: 22px 24px !important;
  margin: 12px 0 18px !important;
}

.grundlagen-master-content .card h3,
.grundlagen-master-content .content-body h3,
.cms-subpage-content .legacy-cms-main-source .card h3,
.cms-subpage-content .legacy-cms-main-source .content-body h3 {
  color: var(--gh-gold) !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  margin: 0 0 10px !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

/* Eyebrow + nummerierte Kapitelüberschriften wie in der Originalseite. */
.grundlagen-master-content .eyebrow,
.cms-subpage-content .legacy-cms-main-source .eyebrow {
  display: block !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  color: var(--gh-gold) !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: .20em !important;
  text-transform: uppercase !important;
}

.grundlagen-master-content .section-head,
.cms-subpage-content .legacy-cms-main-source .section-head {
  display: block !important;
  max-width: none !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

.grundlagen-master-content .section-head .content-body,
.cms-subpage-content .legacy-cms-main-source .section-head .content-body {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.grundlagen-master-content .section-head h2,
.cms-subpage-content .legacy-cms-main-source .section-head h2 {
  display: block !important;
  color: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gh-line) !important;
  padding: 0 0 12px !important;
  margin: 0 !important;
  font-family: Oswald, "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(27px, 3.1vw, 42px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
}

/* Übersichtskarten: 3/2/1 Spalten automatisch – Reihenfolge bleibt aus dem HTML. */
.grundlagen-master-content .overview-grid,
.cms-subpage-content .legacy-cms-main-source .overview-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 20px !important;
  margin: 18px 0 38px !important;
  align-items: stretch !important;
}

.grundlagen-master-content .overview-card,
.cms-subpage-content .legacy-cms-main-source .overview-card {
  min-width: 0 !important;
  min-height: 132px !important;
  background: linear-gradient(180deg, #17222d 0%, #121b24 100%) !important;
  border: 1px solid var(--gh-line) !important;
  border-radius: 7px !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.16) !important;
  padding: 20px !important;
  color: var(--gh-text) !important;
}

.grundlagen-master-content .overview-card .overview-title,
.grundlagen-master-content .overview-title,
.cms-subpage-content .legacy-cms-main-source .overview-card .overview-title,
.cms-subpage-content .legacy-cms-main-source .overview-title {
  display: block !important;
  color: var(--gh-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  margin: 0 0 8px !important;
}

.grundlagen-master-content .overview-card strong,
.cms-subpage-content .legacy-cms-main-source .overview-card strong {
  display: block !important;
  color: #fff !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  margin-bottom: 4px !important;
}

.grundlagen-master-content .overview-card small,
.cms-subpage-content .legacy-cms-main-source .overview-card small {
  color: var(--gh-text) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* Warn-/Empfehlungsboxen aus dem Original. */
.grundlagen-master-content .warning,
.cms-subpage-content .legacy-cms-main-source .warning {
  display: block !important;
  margin: 12px 0 0 !important;
  padding: 12px 14px !important;
  background: var(--gh-warning) !important;
  border: 0 !important;
  border-left: 3px solid var(--gh-gold) !important;
  border-radius: 0 !important;
  color: var(--gh-text) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
}

/* Allgemeine dunkle Inhaltsfläche, wie sie in den Tabellen-/Hilfeblöcken sichtbar ist. */
.grundlagen-master-content .cms-panel,
.cms-subpage-content .legacy-cms-main-source .cms-panel {
  background: var(--gh-panel-2) !important;
  border: 1px solid #465769 !important;
  border-radius: 5px !important;
  padding: 18px !important;
  margin: 0 0 14px !important;
  box-shadow: none !important;
}

/* Militärtabellen */
.grundlagen-master-content .military-table-wrap,
.cms-subpage-content .legacy-cms-main-source .military-table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
  margin: 18px 0 34px !important;
  padding: 20px !important;
  background: #111922 !important;
  border: 1px solid var(--gh-line) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
}

.grundlagen-master-content .military-table,
.cms-subpage-content .legacy-cms-main-source .military-table {
  width: 100% !important;
  min-width: 680px !important;
  border-collapse: collapse !important;
  background: #17222d !important;
  color: var(--gh-text) !important;
  border: 1px solid #5e532a !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}

.grundlagen-master-content .military-table thead,
.cms-subpage-content .legacy-cms-main-source .military-table thead {
  background: #1b2730 !important;
  border-bottom: 2px solid var(--gh-line) !important;
}

.grundlagen-master-content .military-table th,
.cms-subpage-content .legacy-cms-main-source .military-table th {
  padding: 12px 14px !important;
  background: rgba(92,80,35,.27) !important;
  color: var(--gh-gold) !important;
  border: 1px solid #6b5d2d !important;
  text-align: left !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

.grundlagen-master-content .military-table td,
.cms-subpage-content .legacy-cms-main-source .military-table td {
  padding: 12px 14px !important;
  background: #1a252f !important;
  color: var(--gh-text) !important;
  border: 1px solid #4e472b !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  vertical-align: top !important;
}
.grundlagen-master-content .military-table tbody tr:nth-child(even) td,
.cms-subpage-content .legacy-cms-main-source .military-table tbody tr:nth-child(even) td {
  background: #202a2f !important;
}
.grundlagen-master-content .military-table tbody tr:hover td,
.cms-subpage-content .legacy-cms-main-source .military-table tbody tr:hover td {
  background: #293641 !important;
}
.grundlagen-master-content .military-table td:first-child,
.cms-subpage-content .legacy-cms-main-source .military-table td:first-child {
  color: #fff !important;
  font-weight: 700 !important;
}

/* Bilder: niemals aus ihrem Inhaltsblock herauslösen. */
.grundlagen-master-content img.responsive-img,
.grundlagen-master-content img.pt-lightbox-image,
.grundlagen-master-content .overview-card img,
.grundlagen-master-content .military-table img,
.cms-subpage-content .legacy-cms-main-source img.responsive-img,
.cms-subpage-content .legacy-cms-main-source img.pt-lightbox-image,
.cms-subpage-content .legacy-cms-main-source .overview-card img,
.cms-subpage-content .legacy-cms-main-source .military-table img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 10px auto 0 !important;
  border: 1px solid rgba(189,146,50,.55) !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  object-fit: contain !important;
  cursor: zoom-in;
}
.grundlagen-master-content .overview-card img,
.cms-subpage-content .legacy-cms-main-source .overview-card img {
  width: 100% !important;
}

/* Screenshot-Rahmen */
.grundlagen-master-content .screenshot-frame,
.cms-subpage-content .legacy-cms-main-source .screenshot-frame {
  background: #0b1117 !important;
  border: 1px solid var(--gh-line) !important;
  border-radius: 6px !important;
  padding: 9px !important;
  margin: 18px 0 !important;
}
.grundlagen-master-content .screenshot-placeholder,
.cms-subpage-content .legacy-cms-main-source .screenshot-placeholder {
  width: 100% !important;
  background: #121b23 !important;
  border: 1px dashed #5d6c77 !important;
  padding: 8px !important;
  color: var(--gh-gold) !important;
  text-align: center !important;
}
.grundlagen-master-content .screenshot-caption,
.cms-subpage-content .legacy-cms-main-source .screenshot-caption {
  color: var(--gh-muted) !important;
  font-size: 11px !important;
  text-align: center !important;
  margin: 8px 0 0 !important;
  padding-bottom: 3px !important;
}

/* Persönliche/taktische Hinweisboxen. */
.grundlagen-master-content .military-info-box,
.cms-subpage-content .legacy-cms-main-source .military-info-box {
  --mib-bg: #121619;
  --mib-border: #2b3135;
  --mib-gold: #b99a4e;
  --mib-text: #c2c8cc;
  width: 100% !important;
  margin: 22px 0 34px !important;
  overflow: hidden !important;
  background: var(--mib-bg) !important;
  border: 2px solid var(--mib-border) !important;
  border-radius: 5px !important;
  box-shadow: inset 0 0 20px rgba(0,0,0,.55) !important;
}
.grundlagen-master-content .mib-header,
.cms-subpage-content .legacy-cms-main-source .mib-header {
  min-height: 48px !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  background: #1a1e21 !important;
  border-bottom: 2px solid var(--mib-border) !important;
}
.grundlagen-master-content .mib-header-title,
.cms-subpage-content .legacy-cms-main-source .mib-header-title {
  display: flex !important;
  align-items: center !important;
  padding: 0 16px !important;
}
.grundlagen-master-content .mib-header-title h2,
.cms-subpage-content .legacy-cms-main-source .mib-header-title h2 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--mib-gold) !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}
.grundlagen-master-content .mib-header-stripes,
.cms-subpage-content .legacy-cms-main-source .mib-header-stripes {
  width: 140px !important;
  flex: 0 0 140px !important;
  background: repeating-linear-gradient(125deg, transparent 0 10px, rgba(185,154,78,.45) 10px 18px, transparent 18px 28px) !important;
}
.grundlagen-master-content .mib-body,
.cms-subpage-content .legacy-cms-main-source .mib-body {
  display: flex !important;
  align-items: flex-start !important;
  gap: 20px !important;
  padding: 24px !important;
}
.grundlagen-master-content .mib-icon-info,
.cms-subpage-content .legacy-cms-main-source .mib-icon-info {
  font-family: Arial, sans-serif !important;
  font-size: 0 !important;
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  display: grid !important;
  place-items: center !important;
  border: 2px solid var(--mib-gold) !important;
  border-radius: 50% !important;
  color: var(--mib-gold) !important;
  opacity: .85 !important;
}
.grundlagen-master-content .mib-icon-info::before,
.cms-subpage-content .legacy-cms-main-source .mib-icon-info::before {
  content: "i";
  font-size: 26px;
  line-height: 1;
  font-weight: 800;
}
.grundlagen-master-content .mib-text-content,
.cms-subpage-content .legacy-cms-main-source .mib-text-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.grundlagen-master-content .mib-text-content h3,
.cms-subpage-content .legacy-cms-main-source .mib-text-content h3 {
  color: var(--mib-gold) !important;
  font-size: 16px !important;
  margin: 0 !important;
}
.grundlagen-master-content .mib-text-content p,
.cms-subpage-content .legacy-cms-main-source .mib-text-content p {
  color: var(--mib-text) !important;
  margin: 0 !important;
}

/* Formeln / hervorgehobene Rechenboxen aus späteren Kapiteln. */
.grundlagen-master-content .formula-box,
.cms-subpage-content .legacy-cms-main-source .formula-box {
  display: inline-block !important;
  margin: 12px 0 5px !important;
  padding: 12px 18px !important;
  background: #161e24 !important;
  border: 1px solid var(--gh-line) !important;
  color: var(--gh-gold) !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
}
.grundlagen-master-content .formula-desc,
.cms-subpage-content .legacy-cms-main-source .formula-desc {
  color: var(--gh-muted) !important;
  font-size: 12px !important;
}

.grundlagen-master-content code,
.cms-subpage-content .legacy-cms-main-source code {
  display: inline-block;
  padding: 1px 5px !important;
  background: #0b1116 !important;
  border: 1px solid #3f4a51 !important;
  border-radius: 3px !important;
  color: #f0c960 !important;
}

.grundlagen-master-content ol,
.cms-subpage-content .legacy-cms-main-source ol {
  padding-left: 22px !important;
  margin: 12px 0 !important;
}
.grundlagen-master-content ul,
.cms-subpage-content .legacy-cms-main-source ul {
  padding-left: 22px !important;
  margin: 12px 0 !important;
}

/* Lightbox-Darstellung, falls das bestehende globale JS pt-lightbox-image nutzt. */
.pt-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 32px;
  background: rgba(0,0,0,.91);
}
.pt-lightbox.is-open,
.pt-lightbox.open,
.pt-lightbox.active { display: flex; }
.pt-lightbox > img,
#ptLightboxImage {
  max-width: min(94vw, 1500px);
  max-height: 86vh;
  width: auto;
  height: auto;
  object-fit: contain;
}
.pt-lightbox-close {
  position: absolute;
  top: 18px;
  right: 24px;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 38px !important;
  cursor: pointer;
}

@media (max-width: 900px) {
  .grundlagen-master-content .overview-grid,
  .cms-subpage-content .legacy-cms-main-source .overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .grundlagen-master-content .section-head,
  .cms-subpage-content .legacy-cms-main-source .section-head {
    display: block !important;
  }
}

@media (max-width: 640px) {
  #grundlagen-inhalt.community-section { padding: 16px !important; }
  .grundlagen-master-content .overview-grid,
  .cms-subpage-content .legacy-cms-main-source .overview-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .grundlagen-master-content .card,
  .grundlagen-master-content .card.content-body,
  .grundlagen-master-content .military-table-wrap,
  .cms-subpage-content .legacy-cms-main-source .card,
  .cms-subpage-content .legacy-cms-main-source .card.content-body,
  .cms-subpage-content .legacy-cms-main-source .military-table-wrap {
    padding: 14px !important;
  }
  .grundlagen-master-content .military-table,
  .cms-subpage-content .legacy-cms-main-source .military-table {
    min-width: 600px !important;
  }
  .grundlagen-master-content .mib-body,
  .cms-subpage-content .legacy-cms-main-source .mib-body {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 18px !important;
  }
  .grundlagen-master-content .mib-header-stripes,
  .cms-subpage-content .legacy-cms-main-source .mib-header-stripes {
    display: none !important;
  }
}
