/* ==========================================================================
   WWII ONLINE CMS · TacticalWiki Underpages v2
   Applies to frontend UNDERPAGES only. The frozen homepage is not targeted.
   ========================================================================== */

:root{
  --tw2-page:#EDE8DC;
  --tw2-panel:#F7F4ED;
  --tw2-card:#FFFFFF;
  --tw2-control:#DFD8C8;
  --tw2-line:#D8D2C4;
  --tw2-line-soft:#E2DCCE;
  --tw2-blue:#1F4E79;
  --tw2-gold:#BD9232;
  --tw2-text:#111111;
  --tw2-muted:#555555;
  --tw2-head:#2B2B2B;
  --tw2-zebra:#F4F0E6;
  --tw2-green:#27AE60;
  --tw2-red:#9B3A34;
  --tw2-radius:8px;
  --tw2-shadow:0 7px 20px rgba(0,0,0,.06);
  --tw2-pad:24px;
}

body.cms-subpage-body,
body.tacticalwiki-underpage{
  background:var(--tw2-page)!important;
  color:var(--tw2-text)!important;
}

.tacticalwiki-underpage .site-main,
.tacticalwiki-underpage .cms-subpage-shell,
.tacticalwiki-underpage .cms-original-page,
.tacticalwiki-underpage .imported-cms-page{
  width:min(1280px,calc(100% - 32px))!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:28px 0 64px!important;
  background:transparent!important;
  color:var(--tw2-text)!important;
}

/* No blue legacy surface may survive on these underpages. */
.tacticalwiki-underpage .cms-subpage-content,
.tacticalwiki-underpage .cms-subpage-content > *,
.tacticalwiki-underpage .legacy-cms-main-source,
.tacticalwiki-underpage .legacy-cms-runtime-wrap{
  color:var(--tw2-text)!important;
}

.tacticalwiki-underpage :is(
  .cms-subpage-hero,
  .cms-original-hero,
  .content-hero,
  .page-hero,
  .pt-hero,
  .rdp-hero,
  [class*="page-header"],
  [class*="section-header"]
){
  background-color:var(--tw2-panel)!important;
  background-image:none!important;
  color:var(--tw2-text)!important;
  border:1px solid var(--tw2-line)!important;
  border-left:4px solid var(--tw2-blue)!important;
  border-radius:var(--tw2-radius)!important;
  box-shadow:var(--tw2-shadow)!important;
}

.tacticalwiki-underpage .cms-subpage-hero__inner{
  padding:var(--tw2-pad)!important;
}

.tacticalwiki-underpage .cms-subpage-breadcrumb{
  margin:14px 0!important;
  padding:10px 14px!important;
  background:var(--tw2-control)!important;
  border:1px solid var(--tw2-line)!important;
  border-radius:7px!important;
  color:var(--tw2-muted)!important;
}

.tacticalwiki-underpage .cms-subpage-content{
  margin:0!important;
  padding:var(--tw2-pad)!important;
  background:var(--tw2-panel)!important;
  border:1px solid var(--tw2-line)!important;
  border-radius:var(--tw2-radius)!important;
  box-shadow:var(--tw2-shadow)!important;
}

/* Generic legacy block normalization: modern white cards. */
.tacticalwiki-underpage .cms-subpage-content :is(
  article,
  .card,
  [class*="card"],
  [class*="panel"],
  [class*="box"],
  [class*="tile"],
  [class*="tier"],
  [class*="unit"],
  [class*="fact"],
  [class*="info"],
  [class*="note"],
  [class*="feature"]
){
  background-color:var(--tw2-card)!important;
  background-image:none!important;
  color:var(--tw2-text)!important;
  border-color:var(--tw2-line)!important;
  border-radius:var(--tw2-radius)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.045)!important;
}

.tacticalwiki-underpage .cms-subpage-content :is(
  nav,
  [class*="tabs"],
  [class*="filter"],
  [class*="toolbar"],
  [class*="anchor"],
  [class*="toc"],
  [class*="sidebar"]
){
  background-color:var(--tw2-control)!important;
  background-image:none!important;
  color:var(--tw2-text)!important;
  border-color:var(--tw2-line)!important;
}

/* Undo common legacy dark-blue inline backgrounds without destroying images. */
.tacticalwiki-underpage .cms-subpage-content
  :is(div,section,article,aside,header,footer,nav)[style*="background-color"]{
  background-color:var(--tw2-card)!important;
  color:var(--tw2-text)!important;
}

.tacticalwiki-underpage .site-main :is(h1,h2,h3,h4,h5,h6){
  color:var(--tw2-text)!important;
  text-shadow:none!important;
}
.tacticalwiki-underpage .site-main :is(h1,h2){
  border-left:4px solid var(--tw2-blue)!important;
  padding-left:14px!important;
}
.tacticalwiki-underpage .frontend-header :is(h1,h2),
.tacticalwiki-underpage .frontnews-newspaper :is(h1,h2){
  border-left:0!important;
  padding-left:0!important;
}

.tacticalwiki-underpage .site-main :is(
  .eyebrow,
  .cms-subpage-kicker,
  .cms-original-kicker,
  [class*="kicker"],
  [class*="category-label"]
){
  color:var(--tw2-gold)!important;
}

.tacticalwiki-underpage .site-main :is(p,li,dd,dt,span,strong,small,label){
  text-shadow:none!important;
}
.tacticalwiki-underpage .site-main p,
.tacticalwiki-underpage .site-main li{
  color:var(--tw2-text)!important;
}

.tacticalwiki-underpage .site-main a:not(.button):not(.detail-btn){
  color:var(--tw2-blue)!important;
}

/* Tables – exact TacticalWiki data-table system. */
.tacticalwiki-underpage .table-wrap{
  overflow-x:auto!important;
  border:1px solid var(--tw2-line)!important;
  border-radius:8px!important;
  background:#fff!important;
}
.tacticalwiki-underpage table{
  width:100%!important;
  border-collapse:collapse!important;
  background:#fff!important;
  color:#1A1A1A!important;
}
.tacticalwiki-underpage table th{
  padding:9px 12px!important;
  background:var(--tw2-head)!important;
  color:#fff!important;
  border:0!important;
  font-size:9pt!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  text-align:left!important;
}
.tacticalwiki-underpage table td{
  padding:10px 12px!important;
  border:0!important;
  border-bottom:1px solid var(--tw2-line-soft)!important;
  color:#1A1A1A!important;
  font-size:10.5pt!important;
  line-height:1.5!important;
  vertical-align:middle!important;
}
.tacticalwiki-underpage table tbody tr:nth-child(odd){background:#fff!important}
.tacticalwiki-underpage table tbody tr:nth-child(even){background:var(--tw2-zebra)!important}

/* Forms */
.tacticalwiki-underpage :is(input,select,textarea){
  background:#fff!important;
  color:var(--tw2-text)!important;
  border:1px solid #C9C0AF!important;
  border-radius:7px!important;
}
.tacticalwiki-underpage :is(input,select,textarea):focus{
  outline:2px solid rgba(31,78,121,.18)!important;
  border-color:var(--tw2-blue)!important;
}

/* Account page modernization */
.page-slug-account-spielzugang .account-original-cards,
.page-slug-account-spielzugang .account-original-entry-grid,
.page-slug-account-spielzugang .account-entry-original-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.page-slug-account-spielzugang .account-original-card,
.page-slug-account-spielzugang .account-choice-original,
.page-slug-account-spielzugang .account-veteran-note{
  padding:var(--tw2-pad)!important;
  background:#fff!important;
  border:1px solid var(--tw2-line)!important;
  border-radius:8px!important;
}
.page-slug-account-spielzugang .account-original-infostrip{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:18px!important;
  padding:0!important;
  background:transparent!important;
}
.page-slug-account-spielzugang .account-original-infostrip article{
  padding:18px!important;
}

/* Tier pages: clean grid/cards, no old dark-blue surfaces. */
.page-slug-axis_tierstufen .cms-subpage-content,
.page-slug-allierte_tierstufen .cms-subpage-content{
  background:var(--tw2-panel)!important;
}
.page-slug-axis_tierstufen .cms-subpage-content :is([class*="tier"],[class*="unit"],article),
.page-slug-allierte_tierstufen .cms-subpage-content :is([class*="tier"],[class*="unit"],article){
  background:#fff!important;
  color:var(--tw2-text)!important;
  border:1px solid var(--tw2-line)!important;
}

/* Hall of Fame – modern statistics surface. */
.page-slug-hall-of-fame .cms-subpage-content{
  display:grid;
  gap:18px;
}
.page-slug-hall-of-fame .cms-subpage-content :is(.card,[class*="player"],[class*="award"],[class*="hall"],article){
  padding:20px!important;
}

/* Explicitly remove mouse-over/lift animations from ALL requested pages. */
:is(
  .page-slug-hall-of-fame,
  .page-slug-account-spielzugang,
  .page-slug-axis_tierstufen,
  .page-slug-allierte_tierstufen,
  .page-slug-staedteuebersicht
) *{
  transition:none!important;
  animation-duration:0s!important;
}
:is(
  .page-slug-hall-of-fame,
  .page-slug-account-spielzugang,
  .page-slug-axis_tierstufen,
  .page-slug-allierte_tierstufen,
  .page-slug-staedteuebersicht
) *:hover{
  transform:none!important;
  translate:none!important;
  scale:1!important;
  filter:none!important;
}

/* Town overview */
.town-overview-page{
  width:min(1280px,calc(100% - 32px))!important;
  margin:0 auto!important;
  padding:28px 0 64px!important;
}
.town-overview-hero{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:24px!important;
  padding:var(--tw2-pad)!important;
  background:var(--tw2-panel)!important;
  border:1px solid var(--tw2-line)!important;
  border-left:4px solid var(--tw2-blue)!important;
  border-radius:8px!important;
  box-shadow:var(--tw2-shadow)!important;
}
.town-overview-hero h1{margin:0!important}
.town-overview-hero p{margin:8px 0 0!important;color:var(--tw2-muted)!important}
.town-data-time{
  display:grid;
  gap:3px;
  min-width:210px;
  text-align:right;
}
.town-data-time span,
.town-data-time small{color:var(--tw2-muted)!important;font-size:10px}
.town-filterbar{
  display:grid;
  grid-template-columns:minmax(240px,1fr) repeat(2,minmax(150px,220px));
  gap:10px;
  margin:16px 0;
  padding:14px;
  background:var(--tw2-control);
  border:1px solid var(--tw2-line);
  border-radius:8px;
}
.town-filterbar input,
.town-filterbar select{width:100%;padding:10px 11px}
.town-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.town-summary article{
  padding:17px;
  background:#fff;
  border:1px solid var(--tw2-line);
  border-radius:8px;
}
.town-summary span{
  display:block;color:var(--tw2-muted)!important;font-size:10px;font-weight:900;letter-spacing:.06em;
}
.town-summary strong{display:block;margin-top:4px;font-size:26px;color:var(--tw2-text)!important}
.town-owner{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 8px;
  border-radius:999px;
  background:var(--tw2-control);
  color:var(--tw2-text)!important;
  font-weight:700;
  white-space:nowrap;
}
.town-owner.is-axis{background:#EFE0DC;color:#8E3934!important}
.town-owner.is-allied{background:#DEE7EE;color:#1F4E79!important}
.town-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  padding:5px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
.town-status.is-ao{background:#9B3A34;color:#fff}
.town-status.is-do{background:#1F4E79;color:#fff}
.town-status.is-contested{background:#BD9232;color:#111}
.town-status.is-none{background:#E9E4D9;color:#555}
.town-duration{white-space:nowrap;color:#555}
.town-status-note{
  margin-top:12px;
  padding:12px 14px;
  background:#fff;
  border-left:4px solid var(--tw2-gold);
  color:var(--tw2-muted);
  font-size:12px;
  line-height:1.55;
}

/* CKEditor public/editor content should preserve normal editing layout. */
.ck-content{
  min-height:460px;
  color:#111!important;
}
.ck-content table{width:100%}

@media(max-width:900px){
  .page-slug-account-spielzugang .account-original-cards,
  .page-slug-account-spielzugang .account-entry-original-grid{
    grid-template-columns:1fr!important;
  }
  .page-slug-account-spielzugang .account-original-infostrip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .town-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .town-filterbar{grid-template-columns:1fr 1fr}
  .town-filterbar input{grid-column:1/-1}
}
@media(max-width:620px){
  :root{--tw2-pad:18px}
  .tacticalwiki-underpage .site-main,
  .town-overview-page{
    width:calc(100% - 20px)!important;
  }
  .page-slug-account-spielzugang .account-original-infostrip,
  .town-summary,
  .town-filterbar{
    grid-template-columns:1fr!important;
  }
  .town-overview-hero{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .town-data-time{text-align:left}
}


/* ==========================================================================
   FOOTER / HEADER ISOLATION
   TacticalWiki underpage rules must never restyle the frozen global shell.
   ========================================================================== */
.tacticalwiki-underpage > .site-footer,
.tacticalwiki-underpage > .active-users-footer,
.tacticalwiki-underpage > .frontend-header{
  /* presentation intentionally owned by their dedicated global stylesheets */
}
