/* Forum UI improvements */
:root{
  --forum-gap: 1.25rem;
  --forum-card-bg: rgba(255,255,255,0.035);
  --forum-border: rgba(255,255,255,0.08);
  --forum-border-strong: rgba(255,255,255,0.12);
  --forum-muted: #99a3ad;
  --forum-accent: #4da3ff;
}

.forum-breadcrumb{
  font-size:.9rem; color:var(--forum-muted); margin:.25rem 0 1rem 0;
}
.forum-breadcrumb a{ color:inherit; text-decoration:none; }
.forum-breadcrumb .sep{ opacity:.6; padding:0 .4rem; }

.forum-layout{
  display:grid; grid-template-columns: 280px 1fr; gap: var(--forum-gap);
}
@media (max-width: 900px){ .forum-layout{ grid-template-columns: 1fr; } }

.forum-sidebar{
  background:var(--forum-card-bg); border:1px solid var(--forum-border); border-radius:8px; padding:1rem;
}
.forum-sidebar ul{ list-style:none; margin:0; padding:0; }
.forum-sidebar li{ position:relative; display:flex; align-items:center; justify-content:space-between; padding:.35rem .45rem; border-radius:6px; gap:.4rem; }
.forum-sidebar li.active{ background:rgba(77,163,255,.10); box-shadow:0 0 0 1px rgba(77,163,255,.25) inset; }
.forum-sidebar li.trail:not(.active){ background:rgba(77,163,255,.05); }
.forum-sidebar a{ text-decoration:none; }
.forum-sidebar .actions button{ font-size:.9rem; }
/* Sidebar: delete-X kompakt rechts */
.forum-sidebar .actions{ margin-left:auto; opacity:0; transition:opacity .15s ease; }
.forum-sidebar li:hover .actions{ opacity:1; }
.forum-sidebar .actions .icon-btn{ padding:0; font-size:.85rem; }

/* Nested category tree */
.forum-sidebar ul.cat-tree > li{ margin:.1rem 0; }
.forum-sidebar ul.cat-tree ul{ list-style:none; padding-left:.8rem; margin:.15rem 0 0 0; border-left:1px dashed var(--forum-border); }
.forum-sidebar ul.cat-tree ul li{ padding-left:.5rem; }

/* Toggler (Kästchen) + Caret-Indikator */
.forum-sidebar .tree-toggle{
  width:1.1rem; height:1.1rem; border:1px solid var(--forum-border); border-radius:3px; background:transparent; color:inherit; display:inline-flex; align-items:center; justify-content:center; margin-right:.3rem; cursor:pointer; opacity:.8;
}
.forum-sidebar .tree-spacer{ display:inline-block; width:1.1rem; height:1.1rem; margin-right:.3rem; }
.forum-sidebar li.has-children.open > .tree-toggle::before{ content:'▾'; font-size:.8rem; line-height:1; }
.forum-sidebar li.has-children.collapsed > .tree-toggle::before{ content:'▸'; font-size:.8rem; line-height:1; }
.forum-sidebar li.has-children ul{ display:block; }
.forum-sidebar li.has-children.collapsed > ul{ display:none; }

/* Linkfläche visuell als Badge */
.forum-sidebar li > a{
  flex:1 1 auto;
  padding:.25rem .35rem;
  border-radius:4px;
}
.forum-sidebar li:hover > a{ background:rgba(255,255,255,.05); }
.forum-sidebar li.active > a{ background:rgba(77,163,255,.10); }

.forum-main{ display:block; }

/* Header / actions like phpBB */
.forum-headerbar{
  display:flex; align-items:center; justify-content:space-between;
  border:1px solid var(--forum-border); border-radius:8px; padding:.7rem 1rem;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  margin-bottom:.75rem;
}
.forum-actions{ display:flex; gap:.5rem; flex-wrap:wrap; }
.forum-actions .btn{ padding:.45rem .75rem; border:1px solid var(--forum-border); border-radius:999px; background:transparent; color:inherit; cursor:pointer; }
.forum-actions .btn.primary{ border-color:var(--forum-accent); color:#fff; background:rgba(77,163,255,.15); }

.forum-table{ width:100%; border-collapse:separate; border-spacing:0; }
.forum-table thead th{
  text-align:left; padding:.8rem .8rem; font-weight:700; color:var(--forum-muted); border-bottom:2px solid var(--forum-border-strong);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.forum-table tbody tr{ border-bottom:1px solid var(--forum-border); transition:background .15s ease; }
.forum-table tbody tr:nth-child(even){ background:rgba(255,255,255,.02); }
.forum-table tbody tr:hover{ background:rgba(255,255,255,.04); }
.forum-table tbody td{ padding:.85rem .7rem; vertical-align:middle; }
.forum-col-icon{ width:48px; text-align:center; opacity:.9; }
.topic-icon{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; border:1px solid var(--forum-border); background:rgba(255,255,255,.03); }
.topic-icon.locked{ border-color:#b44; background:rgba(255,0,0,.06); }
.forum-title a{ font-weight:600; text-decoration:none; }
.forum-title small{ color:var(--forum-muted); display:block; margin-top:.35rem; }

.forum-badge{ font-size:.85rem; background:rgba(255,255,255,.06); border:1px solid var(--forum-border); border-radius:999px; padding:.15rem .5rem; }
.forum-badge.locked{ color:#ffb3b3; border-color:#b44; }
.forum-badge.staff{ color:#b3e5ff; border-color:#2a6ea8; }
.forum-badge.pinned{ color:#ffd280; border-color:#a8782a; background:rgba(255,180,0,.12); }
.forum-meta{ color:var(--forum-muted); font-size:.9rem; }

.forum-panel{ background:transparent; border:0; border-radius:8px; padding:1rem; }
.forum-panel > summary{ list-style:none; }
.forum-panel > summary::-webkit-details-marker{ display:none; }
.forum-panel[open]{ box-shadow:none; }
.forum-panel summary{ display:flex; align-items:center; gap:.4rem; }
.forum-panel summary::before{ content:'\25b8'; transform:rotate(0deg); transition:transform .15s ease; opacity:.8; }
.forum-panel[open] summary::before{ transform:rotate(90deg); }

/* Category inline bar */
.forum-catbar select{ background:transparent; color:inherit; border:1px solid var(--forum-border); border-radius:6px; padding:.35rem .5rem; }
.forum-catbar label{ margin-right:.25rem; }

/* Inputs inside forum forms */
.forum-main input[type="text"], .forum-main input[type="search"], .forum-main textarea, .forum-main select{
  background:transparent; border:1px solid var(--forum-border); color:inherit; padding:.4rem .55rem; border-radius:6px;
  width:100%; display:block;
}
.forum-main .form-row{ display:flex; flex-direction:column; gap:.35rem; margin:.6rem 0; }

/* Thread view */
.post-card{ background:var(--forum-card-bg); border:1px solid var(--forum-border); border-radius:8px; padding:1.1rem; position:relative; }
.post-meta{ color:var(--forum-muted); font-size:.9rem; }
.post-content pre{ overflow:auto; }
.post-content blockquote{ border-left:3px solid var(--forum-accent); padding:.4rem .6rem; margin:.5rem 0; background:rgba(77,163,255,.06); border-radius:4px; }
/* Kompakte Icon-Buttons (ohne Rahmen/Hintergrund) */
.icon-btn{ border:none; background:none; box-shadow:none; appearance:none; -webkit-appearance:none; -moz-appearance:none; color:inherit; cursor:pointer; padding:0; line-height:1; border-radius:0; font-size:.85rem; display:inline-flex; align-items:center; justify-content:center; }
.icon-btn.danger{ color:#d66; }
/* X oben rechts am Post-Kasten */
.post-card .post-delete{ position:absolute; top:.4rem; right:.4rem; margin:0; }
.post-card .post-delete .icon-btn{ padding:0; font-size:.85rem; }

/* Inline-Moderationsformulare in der Sidebar */
.forum-sidebar .actions{ display:flex; align-items:center; gap:.25rem; margin-left:.3rem; }
.forum-sidebar .inline-form{ display:inline-flex; align-items:center; gap:.25rem; }
.forum-sidebar .inline-form.hidden{ display:none; }
.forum-sidebar .inline-form input[type="text"]{ width:auto; max-width:140px; padding:.15rem .3rem; font-size:.85rem; }
.forum-sidebar .rename-form .icon-btn,
.forum-sidebar .addchild-form .icon-btn{ font-size:.85rem; padding:0 .1rem; }

/* Responsive tweaks */
@media (max-width: 700px){
  .forum-table thead{ display:none; }
  .forum-table tbody td{ display:block; padding:.7rem .6rem; }
  .forum-col-icon{ display:none; }
}

/* Pager */
.forum-pager{ display:flex; align-items:center; justify-content:space-between; margin:.8rem 0; }
.pager-actions{ display:flex; gap:.5rem; }

/* BBCode Toolbar */
.bbcode-toolbar{ display:flex; gap:.35rem; flex-wrap:wrap; margin:.4rem 0; }
.bbcode-toolbar .btn{ padding:.2rem .5rem; border-radius:6px; border:1px solid var(--forum-border); background:transparent; color:inherit; }

/* ========== COMPACT MODE ========== */
.forum-compact .forum-breadcrumb{ font-size:.8rem; margin:.1rem 0 .6rem 0; }
.forum-compact .forum-layout{ grid-template-columns: 240px 1fr; gap:.6rem; }
.forum-compact .forum-sidebar{ padding:.5rem; border-radius:4px; }
.forum-compact .forum-sidebar li{ padding:.3rem .35rem; }
.forum-compact .forum-headerbar{ padding:.4rem .6rem; margin-bottom:.5rem; border-radius:4px; }
.forum-compact .forum-actions .btn{ padding:.3rem .55rem; font-size:.9rem; }
/* verkleinere alle Buttons innerhalb des kompakten Forums */
.forum-compact .btn{ padding:.24rem .48rem; font-size:.9rem; line-height:1.2; border-radius:12px; border:1px solid var(--forum-border); background:transparent; color:inherit; text-decoration:none; display:inline-flex; align-items:center; gap:.3rem; }
.forum-compact .btn.primary{ border-color:var(--forum-accent); background:rgba(77,163,255,.12); }
.forum-compact .forum-panel{ padding:.6rem; border-radius:4px; background:transparent; border:0; box-shadow:none; }
.forum-compact .forum-table thead th{ padding:.5rem .5rem; font-size:.93rem; }
.forum-compact .forum-table tbody td{ padding:.5rem .5rem; }
.forum-compact .topic-icon{ width:20px; height:20px; }
.forum-compact .forum-title a{ font-weight:600; }
.forum-compact .forum-title small{ margin-top:.2rem; font-size:.85rem; }
.forum-compact .forum-meta{ font-size:.83rem; }
.forum-compact .forum-badge{ font-size:.8rem; padding:.1rem .45rem; }
.forum-compact .forum-catbar select{ padding:.25rem .4rem; }
.forum-compact .forum-main input[type="text"],
.forum-compact .forum-main textarea,
.forum-compact .forum-main select{ padding:.3rem .45rem; font-size:.95rem; width:100%; display:block; }
.forum-compact .forum-main .form-row{ margin:.45rem 0; }
.forum-compact .forum-pager{ margin:.5rem 0; }

/* Kompaktere Icon-Spalte im Compact-Mode */
.forum-compact .forum-col-icon{ width:36px; }

/* Thread-Headerbar: Titel links, Moderation rechts */
.thread-headerbar{ align-items: center; }
.thread-headerbar .thread-title{ display:flex; flex-direction:column; gap:.2rem; }
.thread-headerbar .thread-title h1{ font-size:1.3rem; margin:0; }
.thread-headerbar .thread-title small{ color:var(--forum-muted); }

@media (max-width:560px){
  .forum-compact .btn .label{ display:none; }
}

/* ====== Foren-Index (phpBB-ähnlich) ====== */
.forum-table.forum-index tbody tr[class*="level-"] td.forum-forum{ display:flex; flex-direction:column; gap:.2rem; }
.forum-table.forum-index tbody tr.level-1 td.forum-forum{ padding-left:1rem; }
.forum-table.forum-index tbody tr.level-2 td.forum-forum{ padding-left:2rem; }
.forum-table.forum-index tbody tr.level-3 td.forum-forum{ padding-left:3rem; }
.forum-table.forum-index .forum-link{ font-weight:600; text-decoration:none; color:#ffd75e; }
.forum-table.forum-index .subforums{ color:var(--forum-muted); font-size:.9rem; display:flex; gap:.3rem; flex-wrap:wrap; }
.forum-table.forum-index .subforums .sep{ opacity:.6; margin:0 .2rem; }
.forum-table.forum-index td.forum-count{ white-space:nowrap; }
.forum-table.forum-index td.forum-last{ white-space:nowrap; }
.forum-table.forum-index td.forum-mod{ text-align:right; white-space:nowrap; width:1%; }
.forum-table.forum-index .mod-actions{ display:inline-flex; gap:.25rem; align-items:center; justify-content:flex-end; flex-wrap:nowrap; }
/* Iconspalte am Forenindex */
.forum-table.forum-index .forum-col-icon{ width:40px; text-align:center; opacity:.9; }
.forum-table.forum-index .topic-icon{ width:22px; height:22px; font-size:.9rem; }

/* Hauptkategorie-Headerzeilen */
.forum-table.forum-index tr.cat-header td{ padding:.6rem .6rem; background:rgba(255,255,255,.03); border-top:2px solid var(--forum-border-strong); border-bottom:1px solid var(--forum-border); }
.forum-table.forum-index .cat-header-bar{ display:flex; align-items:center; justify-content:space-between; }
.forum-table.forum-index .cat-header .cat-name{ font-weight:700; color:#ffd75e; }
.forum-table.forum-index .cat-header .header-actions{ display:inline-flex; gap:.3rem; align-items:center; }
.forum-table.forum-index .cat-header .inline-form{ display:inline-flex; gap:.25rem; align-items:center; }
.forum-table.forum-index .cat-header .inline-form.hidden{ display:none; }
/* Inline-Moderation in der Index-Tabelle */
.forum-table.forum-index .inline-form{ display:inline-flex; align-items:center; gap:.25rem; }
.forum-table.forum-index .inline-form.hidden{ display:none; }
.forum-table.forum-index .inline-form input[type="text"]{ width:auto; max-width:160px; padding:.15rem .3rem; font-size:.85rem; }
.forum-table.forum-index .icon-btn{ padding:0; font-size:.85rem; }
