/*
 * Forum theme — matches main site dark palette
 * Loaded after machina.board_theme.min.css to override Bootstrap 4 defaults
 */

:root {
  --green:      #2ecc71;
  --green-dark: #27ae60;
  --dark:       #1a1a2e;
  --darker:     #0f0f1a;
  --card:       #16213e;
  --border:     #0f3460;
  --text:       #e0e0e0;
  --muted:      #8892a4;
  --danger:     #e74c3c;
  --warning:    #f39c12;
}

/* ── Layout ─────────────────────────────────────────── */

#main_container {
  max-width: 960px;
}

/* ── Breadcrumb ──────────────────────────────────────── */

.breadcrumb {
  background: transparent;
  padding: 0.4rem 0;
  margin-bottom: 1rem;
  font-size: 0.85rem;
}

.breadcrumb-item a {
  color: var(--muted);
  text-decoration: none;
  transition: color 0.15s;
}

.breadcrumb-item a:hover { color: var(--green); }

.breadcrumb-item.active { color: var(--text); }

.breadcrumb-item + .breadcrumb-item::before { color: var(--border); }

/* ── Control links (subscriptions, my posts) ─────────── */

.controls-link-wrapper a {
  color: var(--muted);
  font-size: 0.82rem;
  text-decoration: none;
  transition: color 0.15s;
}

.controls-link-wrapper a:hover { color: var(--green); }

/* ── Cards ───────────────────────────────────────────── */

.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 10px;
  color: var(--text);
}

.card-header {
  background: var(--dark);
  border-bottom: 1px solid var(--border);
  color: var(--text);
  font-weight: 600;
  border-radius: 10px 10px 0 0 !important;
  padding: 0.75rem 1.1rem;
}

.card-header a {
  color: var(--text);
  text-decoration: none;
}

.card-header a:hover { color: var(--green); }

.card-body { padding: 0; }

/* ── Forum / Topic list rows (list-group inside cards) ── */

.list-group-item {
  background: var(--card);
  border-color: var(--border);
  color: var(--text);
  transition: background 0.12s;
}

.list-group-item:first-child { border-top: none; }

.list-group-item:hover { background: rgba(15,52,96,0.5); }

.list-group-item a {
  color: var(--text);
  text-decoration: none;
}

.list-group-item a:hover { color: var(--green); }

/* ── Tables (topic list, member posts, etc.) ─────────── */

.table {
  color: var(--text);
  border-color: var(--border);
}

.table thead th {
  background: var(--dark);
  border-bottom: 2px solid var(--border);
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}

.table td {
  border-top: 1px solid rgba(15,52,96,0.45);
  vertical-align: middle;
}

.table tbody tr:hover td { background: rgba(15,52,96,0.3); }

.table a { color: var(--text); text-decoration: none; }
.table a:hover { color: var(--green); }

.table-striped tbody tr:nth-of-type(odd) { background: rgba(22,33,62,0.6); }

/* ── Buttons ─────────────────────────────────────────── */

.btn-primary, .btn-success {
  background: var(--green);
  border-color: var(--green);
  color: #000;
  font-weight: 600;
}

.btn-primary:hover, .btn-primary:focus,
.btn-success:hover, .btn-success:focus {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: #000;
}

.btn-secondary {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text);
}

.btn-secondary:hover, .btn-secondary:focus {
  background: var(--border);
  border-color: var(--border);
  color: var(--text);
}

.btn-danger {
  background: var(--danger);
  border-color: var(--danger);
}

.btn-warning {
  background: var(--warning);
  border-color: var(--warning);
  color: #000;
}

.btn-outline-secondary {
  border-color: var(--border);
  color: var(--muted);
}

.btn-outline-secondary:hover {
  background: var(--border);
  border-color: var(--border);
  color: var(--text);
}

/* ── Forms ───────────────────────────────────────────── */

.form-control {
  background: var(--darker);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: 8px;
}

.form-control:focus {
  background: var(--darker);
  border-color: var(--green);
  color: var(--text);
  box-shadow: 0 0 0 3px rgba(46,204,113,0.15);
}

.form-control::placeholder { color: var(--muted); }

select.form-control option { background: var(--darker); }

.form-group label {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* EasyMDE / SimpleMDE editor */
.CodeMirror {
  background: var(--darker) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}

.editor-toolbar {
  background: var(--dark) !important;
  border-color: var(--border) !important;
}

.editor-toolbar a { color: var(--muted) !important; }
.editor-toolbar a:hover, .editor-toolbar a.active { color: var(--green) !important; }
.editor-statusbar { background: var(--dark) !important; color: var(--muted) !important; border-color: var(--border) !important; }

/* ── Pagination ──────────────────────────────────────── */

.pagination .page-item .page-link {
  background: var(--card);
  border-color: var(--border);
  color: var(--muted);
  transition: all 0.12s;
}

.pagination .page-item .page-link:hover {
  background: var(--border);
  color: var(--text);
}

.pagination .page-item.active .page-link {
  background: var(--green);
  border-color: var(--green);
  color: #000;
  font-weight: 600;
}

.pagination .page-item.disabled .page-link {
  background: var(--darker);
  border-color: var(--border);
  color: var(--border);
}

/* ── Alerts / Messages ───────────────────────────────── */

.alert {
  border-radius: 8px;
  border: none;
  font-size: 0.9rem;
}

.alert-success {
  background: rgba(46,204,113,0.12);
  border: 1px solid rgba(46,204,113,0.3);
  color: var(--green);
}

.alert-danger, .alert-error {
  background: rgba(231,76,60,0.12);
  border: 1px solid rgba(231,76,60,0.3);
  color: var(--danger);
}

.alert-warning {
  background: rgba(243,156,18,0.12);
  border: 1px solid rgba(243,156,18,0.3);
  color: var(--warning);
}

.alert-info {
  background: rgba(15,52,96,0.4);
  border: 1px solid var(--border);
  color: var(--muted);
}

/* ── Posts ───────────────────────────────────────────── */

.post {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 10px;
  margin-bottom: 1.25rem;
  overflow: hidden;
}

.post-header {
  background: var(--dark);
  border-bottom: 1px solid var(--border);
  padding: 0.65rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: var(--muted);
}

.post-header a { color: var(--muted); text-decoration: none; }
.post-header a:hover { color: var(--green); }
.post-header .username { color: var(--text); font-weight: 600; }

.post-avatar { border-radius: 50%; border: 2px solid var(--border); }

.post-content {
  padding: 1.1rem;
  color: var(--text);
  line-height: 1.65;
}

.post-content a { color: var(--green); }
.post-content a:hover { color: var(--green-dark); }

.post-content blockquote,
.post-content .quote {
  background: var(--darker);
  border-left: 3px solid var(--green);
  border-radius: 0 6px 6px 0;
  padding: 0.75rem 1rem;
  margin: 0.75rem 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.post-content pre, .post-content code {
  background: var(--darker);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--green);
  font-size: 0.88rem;
}

.post-content pre { padding: 0.75rem 1rem; overflow-x: auto; }
.post-content code { padding: 0.1rem 0.35rem; }

.post-footer {
  background: var(--dark);
  border-top: 1px solid var(--border);
  padding: 0.5rem 1rem;
  font-size: 0.82rem;
  color: var(--muted);
}

.post-footer a { color: var(--muted); text-decoration: none; }
.post-footer a:hover { color: var(--green); }

.post-signature {
  border-top: 1px solid var(--border);
  margin-top: 0.75rem;
  padding-top: 0.6rem;
  color: var(--muted);
  font-size: 0.82rem;
}

/* ── Forum index — stat badges ───────────────────────── */

.badge-secondary {
  background: var(--border);
  color: var(--muted);
  font-weight: 500;
}

.badge-primary {
  background: rgba(46,204,113,0.15);
  color: var(--green);
}

/* ── Well (used in some machina views) ───────────────── */

.well {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 1rem;
  color: var(--text);
}

/* ── Search results ──────────────────────────────────── */

.search-result {
  border-bottom: 1px solid var(--border);
  padding: 0.85rem 0;
  color: var(--text);
}

.search-result a { color: var(--text); text-decoration: none; }
.search-result a:hover { color: var(--green); }
.search-result .meta { color: var(--muted); font-size: 0.82rem; }

/* ── Misc ────────────────────────────────────────────── */

hr { border-color: var(--border); }

.text-muted { color: var(--muted) !important; }

.page-header h3,
.page-header h4,
h1, h2, h3, h4, h5, h6 {
  color: var(--text);
}

a { color: var(--muted); }
a:hover { color: var(--green); }
