:root{
  --forum-orange:#ff8a00;
  --forum-orange-2:#ffb14a;
  --forum-bg:#0b0f14;
  --forum-panel:#0f1620;
  --forum-panel-2:#141d2b;
  --forum-panel-3:#111822;
  --forum-border:rgba(255,255,255,.08);
  --forum-border-orange:rgba(255,138,0,.27);
  --forum-muted:rgba(255,255,255,.62);
  --forum-green:#34d399;
  --forum-shadow:0 16px 42px rgba(0,0,0,.28);
}

body{background:var(--forum-bg)}
.forum-shell{max-width:1180px}
.forum-page{position:relative}
.forum-page:before{content:"";position:absolute;inset:-20px 0 auto;height:260px;pointer-events:none;background:radial-gradient(circle at 15% 0,rgba(255,138,0,.09),transparent 42%);z-index:-1}

/* Homepage-style reusable surfaces */
.forum-card,
body[data-admin-page^="forum_"] .card{
  background:linear-gradient(180deg,rgba(20,29,43,.96),rgba(15,22,32,.98))!important;
  border:1px solid var(--forum-border)!important;
  border-radius:1rem!important;
  box-shadow:var(--forum-shadow);
  overflow:hidden;
}
.forum-card .card-header,
body[data-admin-page^="forum_"] .card-header{
  background:rgba(255,255,255,.018)!important;
  border-bottom:1px solid var(--forum-border)!important;
  padding:.95rem 1.1rem;
  color:#fff;
}
.forum-card:hover{border-color:rgba(255,138,0,.16)!important}

.forum-hero{
  position:relative;overflow:hidden;
  background:radial-gradient(circle at 88% 18%,rgba(255,138,0,.20),transparent 32%),linear-gradient(135deg,#141d2b,#0d131c 70%);
  border:1px solid var(--forum-border-orange);border-radius:1.2rem;padding:1.6rem;
  box-shadow:0 18px 48px rgba(0,0,0,.32);
}
.forum-hero:after{content:"";position:absolute;width:250px;height:250px;border:46px solid rgba(255,138,0,.045);border-radius:50%;right:-85px;bottom:-145px}
.forum-kicker,.forum-section-title{display:inline-flex;align-items:center;gap:.4rem;color:var(--forum-orange-2);font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.forum-hero h1{font-weight:850;letter-spacing:-.025em}
.forum-hero p{color:var(--forum-muted);max-width:650px}

.forum-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:.75rem;background:rgba(255,138,0,.10);border:1px solid var(--forum-border-orange);color:var(--forum-orange);font-size:1.15rem;flex:0 0 auto;transition:.2s ease}
.forum-category-card:hover .forum-icon,.forum-topic-row:hover .forum-icon{transform:scale(1.05);box-shadow:0 0 16px rgba(255,138,0,.18)}

/* Category and topic cards: no generic Bootstrap black rows */
.forum-category-card,.forum-topic-row,.forum-discussion-card,
.forum-card .list-group-item{
  display:block;background:transparent!important;color:#fff!important;border:0!important;border-bottom:1px solid var(--forum-border)!important;padding:1rem 1.1rem;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.forum-card .list-group-item:last-child,.forum-category-card:last-child,.forum-topic-row:last-child{border-bottom:0!important}
.forum-category-card:hover,.forum-topic-row:hover,.forum-discussion-card:hover,.forum-card .list-group-item:hover{background:rgba(255,138,0,.055)!important;color:#fff!important}
.forum-category-card:hover{transform:translateY(-1px)}
.forum-row-title{font-weight:750;letter-spacing:-.01em;color:#fff}
.forum-row-copy,.forum-topic-meta{color:var(--forum-muted);font-size:.78rem;line-height:1.5}
.forum-row-stats{min-width:105px;text-align:right;color:var(--forum-muted);font-size:.72rem}
.forum-row-stats strong{display:block;color:#fff;font-size:.88rem}

.forum-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.forum-stat{background:rgba(255,255,255,.025);border:1px solid var(--forum-border);border-radius:.75rem;padding:.75rem;text-align:center}
.forum-stat strong{display:block;color:#fff;font-size:1.05rem;font-weight:850}
.forum-stat span{font-size:.63rem;text-transform:uppercase;letter-spacing:.07em;color:var(--forum-muted)}

/* Topic posts */
.forum-post{background:linear-gradient(180deg,var(--forum-panel-2),var(--forum-panel))!important;border:1px solid var(--forum-border)!important;border-radius:1rem!important;box-shadow:0 12px 30px rgba(0,0,0,.22);overflow:hidden}
.forum-post.best-answer{border-color:rgba(52,211,153,.48)!important;box-shadow:0 0 0 1px rgba(52,211,153,.08),0 14px 36px rgba(0,0,0,.25)}
.forum-post .card-body{padding:1.15rem}
.forum-author{min-width:155px;border-right:1px solid var(--forum-border);padding-right:1rem}
.forum-avatar{width:46px;height:46px;object-fit:cover;border:2px solid rgba(255,138,0,.35);box-shadow:0 0 0 4px rgba(255,138,0,.06)}
.forum-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.72;color:#e8edf3}
.forum-quote{border-left:3px solid var(--forum-orange);background:rgba(255,138,0,.07);border-radius:0 .65rem .65rem 0;padding:.72rem .85rem}
.forum-tools{font-size:.76rem;padding-top:.75rem;border-top:1px solid var(--forum-border)}
.forum-tools a:hover{color:var(--forum-orange-2)!important}
.forum-reactions .btn,.forum-pill,.forum-toolbar .btn{border-radius:999px}
.forum-reactions .btn{background:rgba(255,255,255,.025);border-color:var(--forum-border)}

/* Controls */
.forum-form .form-control,.forum-form .form-select,.forum-shell>.d-flex+form .form-control,
body[data-admin-page^="forum_"] .form-control,body[data-admin-page^="forum_"] .form-select{
  background:#0c121a!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;border-radius:.7rem;
}
.forum-form .form-control:focus,.forum-form .form-select:focus,
body[data-admin-page^="forum_"] .form-control:focus,body[data-admin-page^="forum_"] .form-select:focus{border-color:var(--forum-orange)!important;box-shadow:0 0 0 .2rem rgba(255,138,0,.11)!important}
.forum-form .form-text,.forum-shell .text-secondary,body[data-admin-page^="forum_"] .text-muted{color:var(--forum-muted)!important}
.forum-shell .btn-warning,body[data-admin-page^="forum_"] .btn-warning{background:var(--forum-orange);border-color:var(--forum-orange);color:#111;font-weight:750}
.forum-shell .btn-warning:hover,body[data-admin-page^="forum_"] .btn-warning:hover{background:var(--forum-orange-2);border-color:var(--forum-orange-2)}
.forum-shell .btn-outline-secondary{border-color:rgba(255,255,255,.15);color:#c8d0da}
.forum-shell .btn-outline-secondary:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.24);color:#fff}
.forum-shell .breadcrumb{margin-bottom:1rem}.forum-shell .breadcrumb a{color:var(--forum-orange-2);text-decoration:none}.forum-shell .breadcrumb-item.active{color:var(--forum-muted)}
.forum-empty{padding:3rem 1rem;text-align:center;color:var(--forum-muted)}
.forum-empty i{font-size:2rem;color:rgba(255,138,0,.5);display:block;margin-bottom:.65rem}

/* Admin forum restyle */
body[data-admin-page^="forum_"] .admin-content{--bs-border-color:var(--forum-border)}
body[data-admin-page^="forum_"] h1,body[data-admin-page^="forum_"] h2{letter-spacing:-.02em}
body[data-admin-page^="forum_"] .row.g-3>.col-6 .card,
body[data-admin-page^="forum_"] .row.g-3>.col-xl-3 .card{transition:transform .18s ease,border-color .18s ease}
body[data-admin-page^="forum_"] .row.g-3>.col-6 .card:hover,
body[data-admin-page^="forum_"] .row.g-3>.col-xl-3 .card:hover{transform:translateY(-3px);border-color:var(--forum-border-orange)!important}
body[data-admin-page^="forum_"] .table{--bs-table-bg:transparent;--bs-table-striped-bg:rgba(255,255,255,.018);--bs-table-hover-bg:rgba(255,138,0,.045);--bs-table-border-color:var(--forum-border);margin:0}
body[data-admin-page^="forum_"] .table thead th{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:#8994a2;background:rgba(255,255,255,.018);border-bottom-color:var(--forum-border)}
body[data-admin-page^="forum_"] .table td{vertical-align:middle}
body[data-admin-page^="forum_"] .badge{border-radius:999px;padding:.38em .65em}
body[data-admin-page^="forum_"] .btn{border-radius:.58rem}
body[data-admin-page^="forum_"] .border{border-color:var(--forum-border)!important}

@media(max-width:767.98px){
  .forum-shell{padding-top:1rem!important}.forum-hero{padding:1.2rem}.forum-hero h1{font-size:1.55rem}
  .forum-author{min-width:0;border-right:0;border-bottom:1px solid var(--forum-border);padding:0 0 .8rem;margin-bottom:.8rem}
  .forum-post .d-flex.forum-post-layout,.forum-post>.card-body>.d-flex{display:block!important}
  .forum-category-card,.forum-topic-row,.forum-card .list-group-item{padding:.9rem}
  .forum-row-stats{min-width:0;text-align:left;margin-top:.5rem}.forum-stat-grid{grid-template-columns:repeat(3,1fr)}
  .forum-mobile-stack{width:100%}.forum-mobile-stack .btn{flex:1}.forum-shell h1.h3{font-size:1.45rem}
}
@media(max-width:480px){.forum-stat-grid{grid-template-columns:1fr}.forum-row-stats{display:flex;gap:1rem}.forum-hero .btn{width:100%}}

/* phpBB-style sections, forums and subforums */
.forum-section{border:1px solid var(--forum-border)!important;border-radius:1rem!important;overflow:hidden;background:linear-gradient(180deg,rgba(20,29,43,.96),rgba(15,22,32,.98));box-shadow:var(--forum-shadow)}
.forum-section+.forum-section{margin-top:1rem}.forum-section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;background:linear-gradient(90deg,rgba(255,138,0,.12),rgba(255,255,255,.018));border-bottom:1px solid var(--forum-border-orange)}
.forum-section-header h2{font-size:.95rem;font-weight:850;letter-spacing:.01em;margin:0;color:#fff}.forum-section-description{font-size:.72rem;color:var(--forum-muted);margin-top:.15rem}
.forum-section .forum-category-card.is-unread,.forum-topic-row.is-unread{box-shadow:inset 3px 0 0 var(--forum-orange);background:rgba(255,138,0,.035)!important}.forum-unread-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--forum-orange);box-shadow:0 0 10px rgba(255,138,0,.65);vertical-align:middle}
.forum-subforum-list{display:flex;flex-wrap:wrap;gap:.38rem}.forum-subforum-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .58rem;border-radius:999px;border:1px solid var(--forum-border);background:rgba(255,255,255,.025);color:#cbd4df;text-decoration:none;font-size:.69rem}.forum-subforum-pill:hover,.forum-subforum-pill.is-unread{color:#111;background:var(--forum-orange);border-color:var(--forum-orange)}
.forum-last-post{min-width:210px;max-width:280px;font-size:.72rem;line-height:1.45;color:var(--forum-muted)}.forum-last-post a{color:#fff;text-decoration:none;font-weight:700}.forum-last-post a:hover{color:var(--forum-orange-2)}
.forum-hierarchy-line{display:flex;align-items:center;gap:.5rem}.forum-hierarchy-line .forum-icon{width:42px;height:42px;flex-basis:42px}.forum-tree-indent{border-left:1px solid var(--forum-border);margin-left:1rem;padding-left:1rem}
.forum-activity-stat{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem .95rem;border:1px solid var(--forum-border);border-radius:.75rem;background:rgba(255,255,255,.022)}.forum-activity-stat strong{font-size:1.05rem;color:#fff}.forum-activity-stat span{font-size:.7rem;color:var(--forum-muted);text-transform:uppercase;letter-spacing:.055em}.forum-activity-nav{display:flex;flex-wrap:wrap;gap:.4rem}.forum-activity-nav .btn{border-radius:999px}
.forum-search-result mark{background:rgba(255,138,0,.28);color:#fff;border-radius:.2rem;padding:0 .12rem}.forum-result-excerpt{color:var(--forum-muted);font-size:.8rem;line-height:1.55}.forum-pagination-summary{font-size:.73rem;color:var(--forum-muted)}.forum-solution-label{letter-spacing:.06em}
.forum-structure-node{border:1px solid var(--forum-border);border-radius:.85rem;background:rgba(255,255,255,.018)}.forum-structure-node.is-section{border-color:var(--forum-border-orange);background:rgba(255,138,0,.035)}.forum-structure-children{margin-left:1.2rem;padding-left:1rem;border-left:1px solid var(--forum-border)}
@media(max-width:991.98px){.forum-last-post{min-width:0;max-width:none;width:100%;padding-top:.65rem;margin-top:.65rem;border-top:1px solid var(--forum-border)}}
@media(max-width:575.98px){.forum-section-header{align-items:flex-start;flex-direction:column}.forum-subforum-pill{font-size:.66rem}.forum-activity-nav .btn{flex:1}.forum-structure-children{margin-left:.45rem;padding-left:.55rem}}

/* Live editor preview ----------------------------------------------------- */
.forum-live-preview {
  padding: 1rem;
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(247, 147, 26, .24);
  border-radius: .85rem;
  overflow-wrap: anywhere;
}

.forum-live-preview .forum-content {
  color: rgba(255, 255, 255, .84);
  line-height: 1.65;
}


/* Staff topic controls */
.forum-staff-toolbar {
  background: linear-gradient(145deg, rgba(247,147,26,.10), rgba(13,16,21,.96));
  border: 1px solid rgba(247,147,26,.32);
}
.forum-staff-toolbar .card-body { padding: .8rem; }
.forum-staff-move { flex: 1 1 320px; }
.forum-staff-move .form-select { min-width: 190px; max-width: 330px; }
@media (max-width: 575.98px) {
  .forum-staff-toolbar form,
  .forum-staff-toolbar .btn,
  .forum-staff-move .form-select { width: 100%; max-width: none; }
  .forum-staff-move { flex-basis: 100%; }
}
