/* Digitale Spielewiese – V57.2 Forum Unified
   Einheitliche Hierarchie für Forenbereiche, Unterbereiche und Themenlisten. */

:root{
  --dsw-u-line:rgba(255,255,255,.075);
  --dsw-u-line-strong:rgba(255,255,255,.11);
  --dsw-u-row:rgba(9,15,22,.72);
  --dsw-u-row-hover:rgba(14,22,30,.9);
  --dsw-u-muted:#8fa0ad;
  --dsw-u-text:#f4f8fb;
  --dsw-u-head:#738592;
}

/* ===== FORUM-ÜBERSICHT: eine ruhige, durchgehende Bereichsliste ===== */
.dsw-forum-list-head{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 122px 28px;
  gap:14px;
  align-items:center;
  padding:0 16px 8px;
  color:var(--dsw-u-head);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.dsw-forum-list-head span:nth-child(3){text-align:right}
.v53-forum .dsw-forum-grid{
  gap:0!important;
  overflow:hidden;
  border:1px solid var(--dsw-u-line)!important;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(7,12,18,.88),rgba(7,12,18,.74));
  box-shadow:0 18px 50px rgba(0,0,0,.19);
}
.v53-forum .dsw-forum-card{
  min-height:94px!important;
  grid-template-columns:52px minmax(0,1fr) 122px 28px!important;
  gap:14px!important;
  margin:0!important;
  padding:14px 16px!important;
  border:0!important;
  border-bottom:1px solid var(--dsw-u-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.v53-forum .dsw-forum-card:last-child{border-bottom:0!important}
.v53-forum .dsw-forum-card::before{
  top:12px!important;
  bottom:12px!important;
  opacity:0!important;
}
.v53-forum .dsw-forum-card:hover{
  background:var(--dsw-u-row-hover)!important;
  transform:none!important;
  box-shadow:inset 3px 0 0 var(--dsw-theme-accent)!important;
}
.v53-forum .dsw-forum-card:hover::before{opacity:0!important}
.v53-forum .dsw-forum-icon{
  width:46px!important;height:46px!important;border-radius:14px!important;
}
.v53-forum .dsw-forum-name{font-size:1rem!important;line-height:1.25}
.v53-forum .dsw-forum-desc{margin-top:3px!important;font-size:.78rem!important;line-height:1.4!important}
.v53-forum .v53-category-last{margin-top:7px!important;font-size:.69rem!important}
.v53-forum .dsw-forum-counts{
  min-width:0!important;
  width:122px;
  padding:7px 9px;
  border-radius:12px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.05);
  text-align:right!important;
  font-size:.67rem!important;
}
.v53-forum .dsw-forum-counts b{font-size:.8rem!important}

/* Rechte Themenliste optisch an dieselbe Zeilenlogik angleichen. */
.v53-forum .dsw-forum-latest{overflow:hidden}
.v53-forum .dsw-latest-list{display:grid;gap:0}
.v53-forum .dsw-latest-item{
  margin:0!important;
  padding:11px 2px!important;
  border-radius:0!important;
  border-bottom:1px solid var(--dsw-u-line)!important;
}
.v53-forum .dsw-latest-item:last-child{border-bottom:0!important}

/* ===== KATEGORIE: Unterbereiche wie eine professionelle Foren-Tabelle ===== */
.dsw-subgrid-head{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 86px 86px 28px;
  gap:14px;
  align-items:center;
  padding:0 15px 8px;
  color:var(--dsw-u-head);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.dsw-subgrid-head span:nth-child(3),
.dsw-subgrid-head span:nth-child(4){text-align:center}
.dsw-subgrid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  overflow:hidden;
  border:1px solid var(--dsw-u-line)!important;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(7,13,20,.64),rgba(7,13,20,.42));
}
.dsw-subcat{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) 86px 86px 28px!important;
  gap:14px!important;
  align-items:center!important;
  min-height:88px;
  padding:13px 15px!important;
  border:0!important;
  border-bottom:1px solid var(--dsw-u-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.dsw-subcat:last-child{border-bottom:0!important}
.dsw-subcat:hover{
  transform:none!important;
  background:var(--dsw-u-row-hover)!important;
  box-shadow:inset 3px 0 0 var(--accent)!important;
}
.dsw-subcat-icon{
  width:48px!important;height:48px!important;border-radius:14px!important;margin:0!important;
}
.dsw-subcat-copy{min-width:0}
.dsw-subcat-copy strong{font-size:1rem!important;line-height:1.25!important}
.dsw-subcat-copy p{
  margin:4px 0 0!important;
  min-height:0!important;
  color:#9fb0bd!important;
  font-size:.78rem!important;
  line-height:1.4!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dsw-subcat-metric{text-align:center;color:#7f919e;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.dsw-subcat-metric b{display:block;color:#edf4f8;font-size:.93rem;letter-spacing:0;margin-bottom:3px}
.dsw-subcat-arrow{color:#61727e;font-size:22px;transition:.16s ease}
.dsw-subcat:hover .dsw-subcat-arrow{color:var(--accent);transform:translateX(2px)}

/* ===== THEMEN: gleiche Zeilen, gleiche Spalten, klare Metadaten ===== */
.dsw-thread-list-head{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:0 14px 8px;
  color:var(--dsw-u-head);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.dsw-thread-list-head-side{
  display:grid;
  grid-template-columns:82px 82px 126px 76px;
  gap:8px;
  align-items:center;
  text-align:center;
}
.dsw-thread-list-head-side span:nth-child(3){text-align:right}
.dsw-thread-list{
  gap:0!important;
  overflow:hidden;
  border:1px solid var(--dsw-u-line);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(7,13,20,.64),rgba(7,13,20,.42));
}
.dsw-thread{
  min-height:88px;
  padding:13px 14px!important;
  border:0!important;
  border-bottom:1px solid var(--dsw-u-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transition:background .16s ease,box-shadow .16s ease!important;
}
.dsw-thread:last-child{border-bottom:0!important}
.dsw-thread:hover{
  background:var(--dsw-u-row-hover)!important;
  box-shadow:inset 3px 0 0 var(--accent)!important;
}
.v53-thread-wrap .dsw-thread-unread{
  border-left:0!important;
  background:linear-gradient(90deg,rgba(var(--accent-rgb),.055),transparent 42%)!important;
  box-shadow:inset 3px 0 0 var(--accent)!important;
}
.dsw-thread-avatar{border-radius:13px!important}
.dsw-thread-tags{gap:5px!important;margin-bottom:5px!important}
.dsw-thread-tag{padding:4px 7px!important;font-size:.66rem!important}
.dsw-thread-title{font-size:.98rem!important;line-height:1.3!important}
.dsw-thread-meta{margin-top:5px!important;font-size:.75rem!important}
.dsw-thread-side{
  display:grid!important;
  grid-template-columns:82px 82px 126px auto auto;
  gap:8px!important;
  align-items:center!important;
}
.dsw-thread-metric{
  min-width:0!important;
  padding:7px 6px!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.022)!important;
  border-color:rgba(255,255,255,.045)!important;
}
.dsw-thread-metric b{font-size:.9rem!important}
.dsw-thread-metric span{font-size:.59rem!important;margin-top:3px!important}
.dsw-thread-last{min-width:0!important;text-align:right!important;font-size:.71rem!important}
.dsw-thread-last strong{font-size:.78rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dsw-thread-bookmark,.dsw-thread-arrow{width:36px!important;height:36px!important;border-radius:11px!important}

/* Überschriften und Abstände in Bereichsseiten beruhigen. */
.dsw-cat-main{gap:16px!important}
.dsw-cat-section-head{margin-bottom:12px!important}
.dsw-cat-section-head h2{font-size:1.55rem!important}
.dsw-panel.pad,.dsw-thread-wrap{padding:16px!important}

/* Light mode bleibt lesbar, ohne die dunkle Markenoptik im Forum umzubauen. */
html:not(.dark) .dsw-forum-list-head,
html:not(.dark) .dsw-subgrid-head,
html:not(.dark) .dsw-thread-list-head{color:#667784}

@media(max-width:1000px){
  .dsw-forum-list-head{grid-template-columns:48px minmax(0,1fr) 108px 24px}
  .v53-forum .dsw-forum-card{grid-template-columns:48px minmax(0,1fr) 108px 24px!important}
  .v53-forum .dsw-forum-counts{width:108px}
  .dsw-thread-list-head-side{grid-template-columns:70px 70px 110px 40px}
  .dsw-thread-side{grid-template-columns:70px 70px 110px auto auto!important}
}

@media(max-width:860px){
  .dsw-subgrid-head,.dsw-thread-list-head{display:none!important}
  .dsw-subcat{
    grid-template-columns:48px minmax(0,1fr) 28px!important;
    gap:11px!important;
    min-height:78px;
  }
  .dsw-subcat-metric{grid-row:2;display:inline-flex;gap:4px;align-items:center;text-transform:none;letter-spacing:0;text-align:left}
  .dsw-subcat-metric:nth-child(3){grid-column:2}
  .dsw-subcat-metric:nth-child(4){grid-column:2;margin-left:82px;margin-top:-20px}
  .dsw-subcat-metric b{display:inline;margin:0;font-size:.78rem}
  .dsw-subcat-metric span{font-size:.68rem}
  .dsw-subcat-arrow{grid-column:3;grid-row:1 / span 2}
  .dsw-thread-side{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important}
  .dsw-thread-metric{min-width:68px!important}
  .dsw-thread-last{text-align:left!important;min-width:110px!important}
}

@media(max-width:700px){
  .dsw-forum-list-head{display:none!important}
  .v53-forum .dsw-forum-grid{border-radius:16px}
  .v53-forum .dsw-forum-card{
    grid-template-columns:44px minmax(0,1fr) 24px!important;
    gap:11px!important;
    min-height:82px!important;
    padding:12px!important;
  }
  .v53-forum .dsw-forum-icon{width:42px!important;height:42px!important}
  .v53-forum .dsw-forum-counts{
    grid-column:2;
    width:auto;
    display:flex!important;
    gap:10px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    text-align:left!important;
  }
  .v53-forum .dsw-forum-chevron{grid-column:3;grid-row:1 / span 2}
  .v53-forum .v53-category-last{display:none!important}
  .dsw-subgrid{border-radius:15px}
  .dsw-thread-list{border-radius:15px}
}

@media(max-width:520px){
  .dsw-subcat-copy p{display:none}
  .dsw-thread-tags .dsw-thread-tag:not(.dsw-prefix-badge):not(.dsw-unread-badge):not(.dsw-solved-badge){display:none}
  .dsw-thread-meta{font-size:.69rem!important}
}

/* ===== V57.3 POLISH: klare Gruppen statt einer langen ungeordneten Liste ===== */
.dsw-forum-groups{display:grid;gap:18px}
.dsw-forum-group{display:grid;gap:8px}
.dsw-forum-group-head{display:flex;align-items:flex-start;gap:11px;padding:2px 4px 0}
.dsw-forum-group-head>.material-symbols-rounded{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(var(--dsw-theme-accent-rgb,183,255,56),.08);border:1px solid rgba(var(--dsw-theme-accent-rgb,183,255,56),.16);color:var(--dsw-theme-accent);font-size:19px}
.dsw-forum-group-head h3{margin:0;color:#f5f8fb;font-size:1rem;font-weight:900;letter-spacing:-.015em}
.dsw-forum-group-head p{margin:2px 0 0;color:#7f909c;font-size:.72rem;line-height:1.35}
.dsw-forum-online-count.quiet{color:#7d8e9b;border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.025)}
[data-online-active][hidden],[data-online-zero][hidden]{display:none!important}

@media(max-width:700px){
  .dsw-forum-groups{gap:15px}
  .dsw-forum-group-head{padding:0 2px}
  .dsw-forum-group-head p{display:none}
  .dsw-forum-group-head>.material-symbols-rounded{width:30px;height:30px;border-radius:9px;font-size:18px}
}
