/* Forum & Community Frontend CSS – Modern, kein Woltlab-Look */
.forum-wrap { max-width:1100px; margin:2rem auto; padding:0 1rem; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; }
.forum-wrap h1 { font-size:1.8rem; font-weight:700; margin:0 0 1rem; }
.forum-wrap h1 i { color:#3b82f6; }

.forum-breadcrumb { font-size:.9rem; color:#64748b; margin-bottom:1rem; }
.forum-breadcrumb a { color:#3b82f6; text-decoration:none; }
.forum-breadcrumb a:hover { text-decoration:underline; }

.forum-flash { padding:.8rem 1.2rem; border-radius:10px; margin-bottom:1rem; font-size:.92rem; }
.forum-flash-ok { background:#dcfce7; color:#166534; border:1px solid #86efac; }
.forum-flash-err { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
.forum-flash-info { background:#dbeafe; color:#1e40af; border:1px solid #93c5fd; }

.forum-cat-header { background:#fff; padding:1.5rem; border-radius:12px; margin-bottom:1.5rem; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.forum-cat-header h1 { margin:0 0 .3rem; }
.forum-cat-header p { color:#64748b; margin:.5rem 0 1rem; }

.forum-category-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.8rem; }
.forum-category-card { background:#fff; padding:1.2rem 1.5rem; border-radius:12px; display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center; box-shadow:0 2px 8px rgba(0,0,0,.04); transition:transform .15s; }
.forum-category-card:hover { transform:translateY(-2px); }
.forum-cat-icon { font-size:2rem; }
.forum-cat-title { font-size:1.2rem; font-weight:600; color:#0f172a; text-decoration:none; }
.forum-cat-title:hover { color:#3b82f6; }
.forum-cat-desc { color:#64748b; font-size:.92rem; margin:.2rem 0 0; }
.forum-subforums { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.6rem; }
.forum-subforum { font-size:.82rem; padding:.2rem .6rem; background:#f1f5f9; border-radius:6px; color:#475569; text-decoration:none; }
.forum-subforum:hover { background:#3b82f6; color:#fff; }
.forum-cat-stats { font-size:.85rem; color:#64748b; text-align:right; }
.forum-cat-stats strong { color:#0f172a; }

.forum-thread-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.4rem; }
.forum-thread-row { background:#fff; padding:1rem 1.2rem; border-radius:10px; display:grid; grid-template-columns:auto 1fr auto auto; gap:1rem; align-items:center; }
.forum-thread-row.is-sticky { background:#fef9c3; }
.forum-thread-icon { font-size:1.3rem; color:#64748b; }
.forum-thread-title { font-weight:600; color:#0f172a; text-decoration:none; }
.forum-thread-title:hover { color:#3b82f6; }
.forum-thread-meta { font-size:.82rem; color:#94a3b8; margin-top:.2rem; }
.forum-thread-stats { font-size:.82rem; color:#64748b; display:flex; flex-direction:column; align-items:flex-end; }
.forum-thread-last { font-size:.82rem; color:#64748b; min-width:120px; text-align:right; }
.forum-thread-last .muted { display:block; color:#94a3b8; font-size:.78rem; }

.forum-thread-h1 { display:flex; align-items:center; gap:.5rem; }
.forum-tags { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.forum-tag { background:#e0e7ff; color:#3730a3; padding:.2rem .6rem; border-radius:6px; font-size:.82rem; }

.forum-post-list { display:flex; flex-direction:column; gap:1rem; margin-bottom:1.5rem; }
.forum-post { background:#fff; border-radius:12px; display:grid; grid-template-columns:200px 1fr; box-shadow:0 2px 8px rgba(0,0,0,.04); overflow:hidden; }
.forum-post-author { background:#f8fafc; padding:1.5rem 1rem; text-align:center; border-right:1px solid #e2e8f0; }
.forum-avatar { width:80px; height:80px; border-radius:50%; object-fit:cover; margin-bottom:.5rem; }
.forum-author-name { font-weight:700; color:#0f172a; }
.forum-author-title { font-size:.82rem; color:#3b82f6; margin-top:.2rem; }
.forum-author-stats { font-size:.78rem; color:#64748b; margin-top:.5rem; }
.forum-author-rep { font-size:.78rem; color:#10b981; margin-top:.2rem; font-weight:600; }
.forum-post-body { padding:1.5rem; }
.forum-post-meta { font-size:.82rem; color:#94a3b8; margin-bottom:1rem; display:flex; gap:1rem; }
.forum-post-meta .muted { color:#cbd5e1; }
.forum-post-content { line-height:1.6; color:#1e293b; }
.forum-post-content h3, .forum-post-content h4 { margin-top:1rem; }
.forum-post-content pre { background:#0f172a; color:#e2e8f0; padding:1rem; border-radius:8px; overflow-x:auto; font-size:.88rem; }
.forum-post-content code { background:#f1f5f9; padding:.1rem .3rem; border-radius:4px; font-size:.9em; }
.forum-post-content blockquote { border-left:3px solid #94a3b8; padding-left:1rem; color:#64748b; margin:1rem 0; }
.forum-post-content img { max-width:100%; height:auto; border-radius:8px; }
.forum-post-content .forum-mention { background:#dbeafe; color:#1e40af; padding:.05rem .3rem; border-radius:4px; font-weight:600; text-decoration:none; }
.forum-post-signature {
    margin-top:1.3rem !important;
    padding:.7rem .9rem !important;
    background:rgba(0,212,255,.04) !important;
    border-left:3px solid #00d4ff !important;
    border-radius:0 6px 6px 0 !important;
    font-size:.86rem !important;
    color:#cbd5e1 !important;
    font-style:italic;
    border-top:none !important;
    line-height:1.5;
}
.forum-post-signature::before {
    content:"\F4CA";  /* Bootstrap-Icon bi-pen */
    font-family:"bootstrap-icons";
    color:#00d4ff;
    margin-right:.4rem;
    font-style:normal;
    opacity:.7;
    font-size:.85em;
}
.forum-post-signature a { color:#00d4ff !important; }
.forum-post-signature p { margin:.3rem 0; }
.forum-post-signature strong { color:#f1f5f9 !important; }
.forum-post-footer { margin-top:1.2rem; }
.forum-reactions { display:flex; gap:.4rem; flex-wrap:wrap; }
.forum-reaction { background:#f1f5f9; border:1px solid #e2e8f0; padding:.3rem .7rem; border-radius:20px; cursor:pointer; font-size:1rem; transition:all .15s; display:inline-flex; align-items:center; gap:.3rem; }
.forum-reaction:hover { background:#dbeafe; border-color:#93c5fd; }
.forum-reaction.has-count { background:#dbeafe; border-color:#3b82f6; }
.forum-reaction span { font-size:.78rem; font-weight:600; color:#3b82f6; }

.forum-reply-form, .forum-new-form { background:#fff; padding:1.5rem; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.forum-reply-form h3, .forum-new-form h1 { margin-top:0; }
.forum-reply-form textarea, .forum-new-form textarea, .forum-new-form input[type=text] { width:100%; padding:.7rem; border:1px solid #e2e8f0; border-radius:8px; font-family:inherit; font-size:.95rem; margin-bottom:.5rem; }
.forum-new-form label { display:block; margin-top:.7rem; font-weight:600; color:#475569; }

.forum-btn { padding:.6rem 1.2rem; border-radius:8px; font-weight:600; border:none; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:.4rem; }
.forum-btn-primary { background:#3b82f6; color:#fff; }
.forum-btn-primary:hover { background:#2563eb; }
.forum-btn-ghost { background:transparent; color:#3b82f6; border:1px solid #3b82f6; }

.forum-pagination { display:flex; gap:.3rem; margin-top:1rem; justify-content:center; }
.forum-pagination a { padding:.4rem .8rem; background:#fff; border:1px solid #e2e8f0; border-radius:6px; color:#475569; text-decoration:none; }
.forum-pagination a.active { background:#3b82f6; color:#fff; border-color:#3b82f6; }

@media (max-width:768px) {
    .forum-post { grid-template-columns:1fr; }
    .forum-post-author { border-right:none; border-bottom:1px solid #e2e8f0; padding:1rem; display:flex; align-items:center; gap:1rem; text-align:left; }
    .forum-avatar { width:48px; height:48px; margin-bottom:0; }
    .forum-thread-row { grid-template-columns:auto 1fr; }
    .forum-thread-stats, .forum-thread-last { grid-column:span 2; text-align:left; }
}

/* Dark Mode Support: greift sowohl bei OS-Dark-Mode als auch bei CMS-Dark-Theme via CSS-Variablen */
@media (prefers-color-scheme: dark) {
    .forum-wrap { color:#e2e8f0; }
    .forum-cat-header, .forum-category-card, .forum-thread-row, .forum-post, .forum-reply-form, .forum-new-form { background:#1e293b; color:#e2e8f0; }
    .forum-post-author { background:#0f172a; border-right-color:#334155; }
    .forum-cat-title, .forum-thread-title, .forum-author-name { color:#f1f5f9; }
    .forum-cat-desc, .forum-thread-meta, .forum-thread-stats, .forum-thread-last, .forum-post-meta { color:#94a3b8; }
    .forum-post-content { color:#e2e8f0; }
    .forum-post-content code { background:#334155; color:#f1f5f9; }
    .forum-subforum { background:#334155; color:#cbd5e1; }
    .forum-reaction { background:#334155; border-color:#475569; }
    .forum-reaction:hover, .forum-reaction.has-count { background:#1e3a8a; border-color:#3b82f6; }
}

/* Bug-Fix 2026-05-19 (Lesson 47): RadioCMS-Dark-Theme greift unabhängig von OS-Preferences.
   Wenn das Core-Theme dunkle Hintergrund-CSS-Variable hat, überschreiben wir alle Schwarz-auf-Schwarz Fälle. */
:root[data-theme="dark"] .forum-wrap,
body.dark-theme .forum-wrap,
html[data-bs-theme="dark"] .forum-wrap,
.dark .forum-wrap { color:#e2e8f0; }

/* RadioCMS hat KEINE Theme-Klasse aber CSS-Variablen. Wir nutzen die als Fallback indem wir
   die Farben direkt an --bg-card / --text-main koppeln. Greift IMMER. */
.forum-wrap { color:#e2e8f0; }
.forum-cat-header,
.forum-category-card,
.forum-thread-row,
.forum-post,
.forum-reply-form,
.forum-new-form,
.forum-flash {
    background:#11162a !important;
    color:#e2e8f0 !important;
    border:1px solid #334155 !important;
}
.forum-thread-row.is-sticky { background:#1e293b !important; border-color:#fbbf24 !important; }
.forum-post-author {
    background:#0f172a !important;
    border-right:1px solid #334155 !important;
    color:#e2e8f0 !important;
    padding:1.5rem 1rem !important;
}
.forum-cat-title,
.forum-thread-title,
.forum-thread-h1 {
    color:#f1f5f9 !important;
}
.forum-author-name {
    color:#f1f5f9 !important;
    font-weight:700 !important;
    font-size:.95rem !important;
    margin-top:.5rem;
}
.forum-author-title { color:#00d4ff !important; font-size:.78rem !important; margin-top:.15rem; }
.forum-author-rep { color:#10b981 !important; }
.forum-cat-stats,
.forum-thread-stats,
.forum-thread-last,
.forum-thread-meta,
.forum-post-meta,
.forum-thread-icon,
.forum-author-stats,
.forum-post-signature {
    color:#94a3b8 !important;
}
.forum-cat-stats strong { color:#00d4ff !important; font-size:1.05em; }
.forum-thread-stats strong { color:#f1f5f9 !important; }
.forum-post-content {
    color:#e2e8f0 !important;
    line-height:1.65;
}
.forum-post-content h2, .forum-post-content h3, .forum-post-content h4 {
    color:#f1f5f9 !important;
    margin-top:1rem;
    margin-bottom:.5rem;
}
.forum-post-content p { margin:.6rem 0; }
.forum-post-content ul, .forum-post-content ol { padding-left:1.5rem; margin:.5rem 0; }
.forum-post-content li { margin:.2rem 0; color:#e2e8f0; }
.forum-post-content code {
    background:#0f172a !important;
    color:#fbbf24 !important;
    padding:.15rem .45rem !important;
    border-radius:4px !important;
    border:1px solid #334155;
    font-family:'Consolas', monospace !important;
    font-size:.88em !important;
}
.forum-post-content pre {
    background:#0f172a !important;
    border:1px solid #334155;
    border-radius:8px;
    padding:1rem !important;
    overflow-x:auto;
    margin:.7rem 0;
}
.forum-post-content pre code {
    background:transparent !important;
    color:#e2e8f0 !important;
    padding:0 !important;
    border:none !important;
}
.forum-post-content blockquote {
    background:rgba(0,212,255,.06) !important;
    border-left:3px solid #00d4ff !important;
    padding:.5rem 1rem !important;
    margin:.7rem 0 !important;
    color:#cbd5e1 !important;
    border-radius:0 6px 6px 0;
}
.forum-post-content blockquote p { margin:.2rem 0; }
.forum-post-content a { color:#00d4ff !important; text-decoration:none; border-bottom:1px dashed #00d4ff; }
.forum-post-content a:hover { color:#67e8f9 !important; border-bottom-style:solid; }
.forum-post-content del { color:#94a3b8 !important; }
.forum-post-content strong { color:#f1f5f9 !important; }
.forum-post-content em { color:#e2e8f0 !important; }
.forum-subforum { background:#1e293b !important; color:#cbd5e1 !important; border:1px solid #334155; padding:.25rem .7rem; border-radius:6px; font-size:.82rem; text-decoration:none; }
.forum-subforum:hover { background:#00d4ff !important; color:#0f172a !important; border-color:#00d4ff; }

/* Reactions: SEHR dezent ohne Count, deutlich nur mit Count.
   Visuell sekundär - der Post-Inhalt + Signatur sind primär. */
.forum-reaction {
    background:transparent !important;
    border:1px solid transparent !important;
    color:#94a3b8 !important;
    padding:.1rem .3rem !important;
    border-radius:10px !important;
    cursor:pointer !important;
    font-size:.75rem !important;
    line-height:1.2 !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:.2rem !important;
    transition:all .15s ease !important;
    opacity:.45;
}
.forum-reaction:hover {
    background:rgba(0,212,255,.1) !important;
    border-color:rgba(0,212,255,.3) !important;
    opacity:1;
    color:#e2e8f0 !important;
}
.forum-reaction.has-count {
    background:rgba(0,212,255,.15) !important;
    border-color:rgba(0,212,255,.4) !important;
    color:#67e8f9 !important;
    opacity:1;
    padding:.15rem .5rem !important;
}
.forum-reaction .count { font-size:.7rem; font-weight:700; }
.forum-reactions {
    display:flex; gap:.15rem; flex-wrap:wrap; margin-top:.5rem; align-items:center;
    border-top:1px solid rgba(255,255,255,.04);
    padding-top:.5rem;
}

.forum-tag {
    background:rgba(99,102,241,.18) !important;
    color:#a5b4fc !important;
    padding:.15rem .55rem;
    border-radius:4px;
    font-size:.78rem;
    margin-right:.3rem;
}
.forum-flash-info { background:rgba(59,130,246,.15) !important; border-left:3px solid #3b82f6 !important; color:#bfdbfe !important; padding:.8rem 1.2rem !important; border-radius:8px !important; }
.forum-flash-ok { background:rgba(16,185,129,.15) !important; border-left:3px solid #10b981 !important; color:#a7f3d0 !important; padding:.8rem 1.2rem !important; border-radius:8px !important; }
.forum-flash-err { background:rgba(239,68,68,.15) !important; border-left:3px solid #ef4444 !important; color:#fecaca !important; padding:.8rem 1.2rem !important; border-radius:8px !important; }
.forum-mention { background:rgba(0,212,255,.2) !important; color:#67e8f9 !important; padding:.05rem .35rem; border-radius:4px; font-weight:600; }
.forum-pagination a {
    background:#1e293b !important;
    border:1px solid #334155 !important;
    color:#cbd5e1 !important;
    padding:.4rem .8rem;
    border-radius:6px;
    text-decoration:none;
}
.forum-pagination a:hover { background:#334155 !important; color:#f1f5f9 !important; }
.forum-pagination a.active { background:#00d4ff !important; color:#0f172a !important; border-color:#00d4ff !important; }

/* Avatar + Author-Box Layout */
.forum-avatar {
    width:64px; height:64px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #334155;
    background:#1e293b;
}
/* Fallback-Avatar wenn keine URL: Initial-Letter im Kreis (Cyan-Gradient) */
.forum-avatar-fallback {
    width:64px; height:64px;
    border-radius:50%;
    background:linear-gradient(135deg, #00d4ff 0%, #0891b2 100%);
    color:#0f172a;
    font-size:1.6rem;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #334155;
    user-select:none;
    margin:0 auto;
}
/* Post-Actions (Edit-Button) Footer */
.forum-post-actions {
    margin-top:.7rem;
    padding-top:.7rem;
    border-top:1px solid #334155;
    display:flex;
    gap:.5rem;
}
.forum-post-actions .forum-btn { font-size:.82rem !important; padding:.4rem .9rem !important; }

/* Edit-Form Container */
.forum-edit-form {
    background:#0f172a;
    border:1px solid #334155;
    border-radius:8px;
    padding:.8rem;
}
.forum-edit-form textarea {
    width:100%; box-sizing:border-box;
    min-height:140px;
    background:#1e293b !important;
    color:#f1f5f9 !important;
    border:1px solid #334155 !important;
    border-radius:6px !important;
    padding:.7rem !important;
    font-family:'Consolas', monospace !important;
    font-size:.92rem !important;
}
.forum-post-body { padding:1.2rem 1.5rem; }
.forum-post { display:grid; grid-template-columns:160px 1fr; overflow:hidden; }
@media (max-width:768px) {
    .forum-post { grid-template-columns:1fr; }
    .forum-post-author { border-right:none !important; border-bottom:1px solid #334155 !important; display:flex; align-items:center; gap:1rem; padding:1rem !important; }
    .forum-avatar { width:48px; height:48px; }
}
.forum-post-author { text-align:center; }

/* Bug-Fix 2026-05-19 (Lesson 48): Form-Inputs im Forum-Frontend.
   HARDCODED dark colors – kein CSS-Variable-Fallback weil var() default oft auf weiss fiel. */
.forum-wrap input[type="text"],
.forum-wrap input[type="email"],
.forum-wrap input[type="url"],
.forum-wrap input[type="password"],
.forum-wrap input[type="search"],
.forum-wrap input[type="number"],
.forum-wrap textarea,
.forum-wrap select,
.forum-new-form input,
.forum-new-form textarea,
.forum-new-form select,
.forum-reply-form input,
.forum-reply-form textarea,
.forum-reply-form select {
    background:#0f172a !important;
    color:#f1f5f9 !important;
    border:1px solid #334155 !important;
    border-radius:8px !important;
    padding:.7rem 1rem !important;
    font-size:.95rem !important;
    width:100% !important;
    box-sizing:border-box !important;
    transition:border-color .15s, box-shadow .15s !important;
    -webkit-appearance:none;
    appearance:none;
}
.forum-wrap input:focus,
.forum-wrap textarea:focus,
.forum-wrap select:focus,
.forum-new-form input:focus,
.forum-new-form textarea:focus,
.forum-reply-form input:focus,
.forum-reply-form textarea:focus {
    border-color:#00d4ff !important;
    box-shadow:0 0 0 3px rgba(0,212,255,.15) !important;
    outline:none !important;
    background:#0f172a !important;
    color:#f1f5f9 !important;
}
.forum-wrap input::placeholder,
.forum-wrap textarea::placeholder,
.forum-new-form input::placeholder,
.forum-new-form textarea::placeholder,
.forum-reply-form input::placeholder,
.forum-reply-form textarea::placeholder {
    color:#64748b !important;
    opacity:1;
}
.forum-wrap form label,
.forum-new-form label,
.forum-reply-form label {
    color:#e2e8f0 !important;
    font-weight:500;
    display:block;
    margin-bottom:.3rem;
    margin-top:.8rem;
}
.forum-new-form textarea,
.forum-reply-form textarea,
.forum-wrap textarea {
    min-height:200px !important;
    resize:vertical !important;
    font-family:inherit !important;
    line-height:1.5;
}
/* Browser-Autofill (Chrome) überschreibt sonst mit gelb/weiss */
.forum-wrap input:-webkit-autofill,
.forum-wrap textarea:-webkit-autofill {
    -webkit-box-shadow:0 0 0 30px #0f172a inset !important;
    -webkit-text-fill-color:#f1f5f9 !important;
    caret-color:#f1f5f9 !important;
}

/* Eigener Markdown-Toolbar-Editor (forum-md-editor) */
.forum-md-editor {
    border:1px solid #334155;
    border-radius:10px;
    overflow:hidden;
    background:#0f172a;
    margin-bottom:1rem;
}
.forum-md-toolbar {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.15rem;
    padding:.5rem .6rem;
    background:#1e293b;
    border-bottom:1px solid #334155;
}
.forum-md-btn {
    background:transparent !important;
    border:1px solid transparent !important;
    color:#cbd5e1 !important;
    padding:.4rem .55rem !important;
    border-radius:6px !important;
    cursor:pointer !important;
    font-size:1rem !important;
    line-height:1 !important;
    transition:all .15s ease !important;
    width:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:32px !important;
    height:32px !important;
}
.forum-md-btn:hover {
    background:rgba(0,212,255,.12) !important;
    border-color:rgba(0,212,255,.4) !important;
    color:#00d4ff !important;
}
.forum-md-btn i { font-size:1rem; }
.forum-md-sep {
    display:inline-block;
    width:1px;
    height:20px;
    background:#334155;
    margin:0 .3rem;
}
textarea.forum-md-textarea {
    border:none !important;
    border-radius:0 !important;
    background:#0f172a !important;
    color:#f1f5f9 !important;
    min-height:200px !important;
    padding:1rem !important;
    font-family:'Consolas', 'Monaco', monospace !important;
    font-size:.92rem !important;
    line-height:1.6 !important;
    width:100% !important;
    box-sizing:border-box !important;
    resize:vertical !important;
}
textarea.forum-md-textarea:focus {
    outline:none !important;
    box-shadow:none !important;
}
.forum-md-preview {
    padding:1rem 1.2rem;
    color:#f1f5f9;
    background:#0f172a;
    min-height:200px;
    line-height:1.6;
}
.forum-md-preview h2, .forum-md-preview h3, .forum-md-preview h4 {
    color:#f1f5f9; margin-top:0;
}
.forum-md-preview blockquote {
    border-left:3px solid #475569;
    padding:.3rem .9rem;
    margin:.5rem 0;
    color:#cbd5e1;
    background:rgba(255,255,255,.02);
}
.forum-md-preview code {
    background:#1e293b; padding:.1rem .35rem; border-radius:4px;
    font-family:'Consolas', monospace; font-size:.88em;
}
.forum-md-preview pre {
    background:#1e293b; padding:1rem; border-radius:8px;
    overflow-x:auto;
}
.forum-md-preview pre code { background:transparent; padding:0; }
.forum-md-preview a { color:#00d4ff; }
.forum-md-preview img { max-width:100%; border-radius:8px; }

/* Forum-Buttons sauber stylen (nicht Browser-Default) */
.forum-wrap button,
.forum-btn,
.forum-btn-primary,
.forum-btn-secondary,
.forum-btn-ghost,
button.forum-btn,
a.forum-btn {
    -webkit-appearance:none !important;
    appearance:none !important;
    border-radius:10px !important;
    padding:.7rem 1.4rem !important;
    font-size:.95rem !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    cursor:pointer !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:.5rem !important;
    transition:all .15s ease !important;
    text-decoration:none !important;
    border:1px solid transparent !important;
    box-sizing:border-box !important;
}
.forum-btn-primary, button.forum-btn-primary, a.forum-btn-primary {
    background:linear-gradient(135deg, #00d4ff 0%, #0891b2 100%) !important;
    color:#0f172a !important;
    border-color:transparent !important;
    box-shadow:0 2px 8px rgba(0,212,255,.25) !important;
}
.forum-btn-primary:hover, button.forum-btn-primary:hover, a.forum-btn-primary:hover {
    transform:translateY(-1px) !important;
    box-shadow:0 4px 14px rgba(0,212,255,.4) !important;
    color:#0f172a !important;
}
.forum-btn-secondary, button.forum-btn-secondary, a.forum-btn-secondary {
    background:#1e293b !important;
    color:#f1f5f9 !important;
    border-color:#334155 !important;
}
.forum-btn-secondary:hover, button.forum-btn-secondary:hover, a.forum-btn-secondary:hover {
    background:#334155 !important;
    border-color:#475569 !important;
    color:#f1f5f9 !important;
}
.forum-btn-ghost, button.forum-btn-ghost, a.forum-btn-ghost {
    background:transparent !important;
    color:#00d4ff !important;
    border-color:#334155 !important;
}
.forum-btn-danger, button.forum-btn-danger, a.forum-btn-danger {
    background:rgba(239,68,68,.15) !important;
    color:#fca5a5 !important;
    border-color:rgba(239,68,68,.4) !important;
}
.forum-btn-danger:hover, button.forum-btn-danger:hover, a.forum-btn-danger:hover {
    background:rgba(239,68,68,.25) !important;
    border-color:#ef4444 !important;
    color:#fecaca !important;
}
.forum-btn-ghost:hover, button.forum-btn-ghost:hover, a.forum-btn-ghost:hover {
    background:rgba(0,212,255,.08) !important;
    border-color:#00d4ff !important;
    color:#00d4ff !important;
}
.forum-btn i { font-size:1rem; }

/* Thread-Header (Titel + Action-Buttons rechts) */
.forum-thread-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    flex-wrap:wrap;
    margin:.5rem 0 1rem;
}
.forum-thread-header .forum-thread-h1 { margin:0; flex:1; }
.forum-thread-header form { margin:0; }

/* Quick-Delete-Icon-Button in Thread-Liste (Admin-Action pro Zeile) */
.forum-icon-btn {
    background:transparent;
    border:1px solid transparent;
    color:#94a3b8;
    width:36px;
    height:36px;
    border-radius:8px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:all .15s ease;
    padding:0;
}
.forum-icon-btn:hover {
    background:rgba(255,255,255,.04);
    color:#e2e8f0;
}
.forum-icon-btn-danger:hover {
    background:rgba(239,68,68,.15) !important;
    border-color:rgba(239,68,68,.4) !important;
    color:#fca5a5 !important;
}
.forum-icon-btn i { font-size:1rem; }
.forum-thread-quick-delete { margin:0; }

/* Thread-Zeile braucht 5 Spalten wenn Quick-Delete-Form da ist */
.forum-thread-row:has(.forum-thread-quick-delete) {
    grid-template-columns:auto 1fr auto auto auto;
}

/* Submit-Button im Editor-Form besser positionieren */
.forum-new-form button[type="submit"],
.forum-reply-form button[type="submit"] {
    margin-top:.5rem;
}

/* Signatur-Empty-Hint: dezent unter den eigenen Posts wenn noch keine Signatur drin */
.forum-post-signature-empty {
    margin-top:1rem;
    padding:.5rem .8rem;
    background:rgba(0,212,255,.05);
    border:1px dashed rgba(0,212,255,.3);
    border-radius:6px;
    color:#94a3b8;
    font-size:.82rem;
    display:flex;
    align-items:center;
    gap:.5rem;
}
.forum-post-signature-empty a {
    color:#00d4ff !important;
    text-decoration:none;
    border-bottom:1px dashed #00d4ff;
    font-weight:600;
}
.forum-post-signature-empty a:hover { color:#67e8f9 !important; }

/* Forum-eigenes Modal (für Link/Bild-Einfügen statt Browser-prompt) */
.forum-modal-overlay {
    position:fixed; inset:0;
    background:rgba(0,0,0,.65);
    backdrop-filter:blur(4px);
    z-index:9999;
    display:flex; align-items:center; justify-content:center;
    animation:fadeIn .15s ease;
}
.forum-modal {
    background:#1e293b;
    border:1px solid #334155;
    border-radius:14px;
    padding:1.5rem;
    width:90%; max-width:480px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
    animation:slideDown .2s ease;
}
.forum-modal-title {
    font-size:1.15rem; font-weight:600;
    color:#f1f5f9;
    margin-bottom:1.2rem;
    display:flex; align-items:center; gap:.5rem;
}
.forum-modal-body label {
    display:block;
    color:#e2e8f0 !important;
    font-size:.85rem;
    font-weight:500;
    margin-bottom:.3rem;
    margin-top:.8rem;
}
.forum-modal-body label:first-child { margin-top:0; }
.forum-modal-body input {
    width:100%; box-sizing:border-box;
    background:#0f172a !important;
    color:#f1f5f9 !important;
    border:1px solid #334155 !important;
    border-radius:8px !important;
    padding:.7rem 1rem !important;
    font-size:.95rem !important;
    transition:border-color .15s !important;
}
.forum-modal-body input:focus {
    outline:none !important;
    border-color:#00d4ff !important;
    box-shadow:0 0 0 3px rgba(0,212,255,.15) !important;
}
.forum-modal-actions {
    display:flex; justify-content:flex-end; gap:.5rem;
    margin-top:1.3rem;
}
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes slideDown { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:none; } }

/* Bilder im Forum-Post: automatisch als Thumbnail, klickbar für Vollbild */
.forum-post-content img,
.forum-post-body img {
    max-width:380px !important;
    max-height:280px !important;
    object-fit:cover !important;
    border-radius:8px !important;
    cursor:zoom-in !important;
    border:1px solid #334155;
    transition:transform .15s ease, box-shadow .15s ease;
    margin:.5rem .3rem;
    vertical-align:middle;
}
.forum-post-content img:hover,
.forum-post-body img:hover {
    transform:scale(1.02);
    box-shadow:0 8px 20px rgba(0,0,0,.4);
    border-color:#00d4ff;
}

/* Lightbox-Overlay für Vollbild-Anzeige */
.forum-lightbox {
    position:fixed; inset:0;
    background:rgba(0,0,0,.92);
    z-index:9998;
    display:flex; align-items:center; justify-content:center;
    cursor:zoom-out;
    animation:fadeIn .2s ease;
    padding:2rem;
    box-sizing:border-box;
}
.forum-lightbox img {
    max-width:95vw; max-height:90vh;
    object-fit:contain;
    border-radius:8px;
    box-shadow:0 20px 60px rgba(0,0,0,.6);
    animation:slideDown .25s ease;
}
.forum-lightbox-close {
    position:absolute;
    top:1.5rem; right:1.5rem;
    background:rgba(0,0,0,.6);
    color:#fff;
    border:1px solid rgba(255,255,255,.2);
    border-radius:50%;
    width:44px; height:44px;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    font-size:1.4rem;
    transition:all .15s;
}
.forum-lightbox-close:hover {
    background:rgba(255,255,255,.15);
    border-color:rgba(255,255,255,.5);
    transform:scale(1.1);
}
.forum-lightbox-caption {
    position:absolute;
    bottom:1.5rem; left:50%;
    transform:translateX(-50%);
    background:rgba(0,0,0,.7);
    color:#e2e8f0;
    padding:.5rem 1rem;
    border-radius:8px;
    font-size:.85rem;
    max-width:80vw;
    text-align:center;
}
