
:root {
  --slate-50: #fafaf9;
  --slate-100: #f5f5f4;
  --slate-200: #e7e5e4;
  --slate-300: #d6d3d1;
  --slate-400: #a8a29e;
  --slate-500: #78716c;
  --slate-600: #57534e;
  --slate-700: #44403c;
  --slate-800: #292524;
  --slate-900: #1c1917;
  --accent: var(--maroon, #7b1e2d);
  --accent-soft: rgba(123, 30, 45, 0.08);
  --accent-medium: rgba(123, 30, 45, 0.15);
  --accent-hover: #651828;
  --card-bg: #ffffff;
  --card-border: var(--slate-200);
  --page-bg: var(--slate-100);
  --hover-bg: var(--slate-50);
  --shadow-xs: 0 1px 2px rgba(0,0,0,0.04);
  --shadow-s: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-m: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -1px rgba(0,0,0,0.04);
  --shadow-l: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.03);
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 20px;
  --r-pill: 999px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast: 150ms;
  --dur-normal: 250ms;
  --dur-slow: 400ms;
}

/* ---------- Keyframe Animations ---------- */
@keyframes enterUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes enterScale {
  from { opacity: 0; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes enterDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes heartBeat {
  0%   { transform: scale(1); }
  15%  { transform: scale(1.3); }
  30%  { transform: scale(0.95); }
  45%  { transform: scale(1.1); }
  60%  { transform: scale(1); }
}
@keyframes ripple {
  0%   { transform: scale(0); opacity: 0.4; }
  100% { transform: scale(4); opacity: 0; }
}
@keyframes toastSlide {
  from { opacity: 0; transform: translateX(-50%) translateY(12px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
@keyframes dotPulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.5; }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ---------- Global Typography & Background ---------- */
.forum-feed .main-content {
  background: var(--page-bg) !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.forum-feed .content-body {
  background: transparent !important;
}
.forum-feed *:not(.fas):not(.far):not(.fab):not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands) {
  font-family: inherit;
}

/* ---------- Page Header ---------- */
.forum-page-header {
  background: var(--card-bg) !important;
  border-bottom: 1px solid var(--card-border) !important;
  padding: 20px 28px !important;
  animation: enterDown var(--dur-normal) var(--ease-out);
}
.forum-header-text h1 {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--accent) !important;
  letter-spacing: -0.03em;
  -webkit-text-fill-color: var(--accent) !important;
}
.forum-header-text p {
  font-size: 0.875rem !important;
  color: var(--slate-500) !important;
  margin-top: 2px !important;
  letter-spacing: -0.01em;
}

/* ---------- Header Actions ---------- */
.forum-profile-link {
  background: var(--slate-100) !important;
  border: 1px solid var(--card-border);
  transition: all var(--dur-fast) var(--ease-in-out) !important;
  font-size: 0.85rem !important;
  padding: 5px 14px 5px 5px !important;
  border-radius: var(--r-pill) !important;
}
.forum-profile-link:hover {
  background: var(--slate-200) !important;
  border-color: var(--slate-300);
  color: var(--slate-900) !important;
}
.forum-profile-avatar {
  background: var(--accent) !important;
  box-shadow: none !important;
  width: 30px !important;
  height: 30px !important;
  font-size: 0.8rem !important;
}
.forum-messages-btn {
  border: 1px solid var(--card-border) !important;
  background: var(--card-bg) !important;
  border-radius: var(--r-sm) !important;
  transition: all var(--dur-fast) var(--ease-in-out) !important;
}
.forum-messages-btn:hover {
  background: var(--slate-50) !important;
  border-color: var(--slate-300) !important;
}

/* ---------- Search Bar ---------- */
.forum-feed .forum-search { min-width: 0; flex: 1; }
.forum-search-wrap { position: relative; width: 100%; }
.forum-search-icon {
  position: absolute; left: 14px; top: 50%;
  transform: translateY(-50%);
  font-size: 13px; color: var(--slate-600);
  pointer-events: none;
  transition: color var(--dur-fast) ease; z-index: 1;
}
.forum-feed .forum-search input[type="search"] {
  width: 100% !important;
  padding: 10px 16px 10px 40px !important;
  border-radius: var(--r-sm) !important;
  border: 1px solid var(--card-border) !important;
  background: var(--card-bg) !important;
  font-size: 14px !important; font-weight: 400;
  color: var(--slate-900);
  transition: all var(--dur-fast) var(--ease-in-out) !important;
  box-shadow: var(--shadow-xs) !important;
}
.forum-feed .forum-search input[type="search"]:focus {
  background: var(--card-bg) !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-soft), var(--shadow-xs) !important;
  outline: none;
}
.forum-feed .forum-search input[type="search"]:focus ~ .forum-search-icon,
.forum-search-wrap:focus-within .forum-search-icon { color: var(--accent); }
.forum-feed .forum-search input[type="search"]::placeholder {
  color: var(--slate-400) !important; font-weight: 400;
}
.forum-feed .forum-search .btn-secondary { display: none !important; }

/* ---------- Category Chips ---------- */
.category-filter-rail { width: 100%; overflow: hidden; }
.forum-feed .category-chips {
  display: flex; gap: 6px; flex-wrap: nowrap;
  overflow-x: auto; padding: 6px 0 10px !important;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.forum-feed .category-chips::-webkit-scrollbar { display: none; }

.forum-feed .chip {
  display: inline-flex !important; align-items: center; gap: 5px;
  padding: 6px 14px !important; border-radius: var(--r-sm) !important;
  border: 1px solid var(--card-border) !important;
  background: var(--card-bg) !important;
  color: var(--slate-600) !important;
  font-size: 13px !important; font-weight: 500 !important;
  cursor: pointer; white-space: nowrap; flex-shrink: 0;
  transition: all var(--dur-fast) var(--ease-in-out) !important;
  box-shadow: none;
}
.chip-icon { font-size: 11px; opacity: 0.85; transition: opacity var(--dur-fast) ease; }
.forum-feed .chip:hover {
  border-color: var(--slate-300) !important;
  color: var(--slate-800) !important;
  background: var(--slate-50) !important;
}
.forum-feed .chip:hover .chip-icon { opacity: 0.9; }
.forum-feed .chip.active {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important; font-weight: 600 !important;
  box-shadow: var(--shadow-s);
}
.forum-feed .chip.active .chip-icon { opacity: 1; }
.forum-feed .chip.active:hover {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
}

/* ---------- Toolbar ---------- */
.forum-feed .forum-toolbar {
  flex-direction: column !important; align-items: stretch !important;
  gap: 2px !important; margin: 16px 0 !important;
}

/* ---------- Composer Trigger ---------- */
.composer-trigger {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 18px; background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--r-md); cursor: pointer;
  margin-bottom: 16px; box-shadow: var(--shadow-xs);
  transition: all var(--dur-fast) var(--ease-in-out);
  animation: enterUp var(--dur-slow) var(--ease-out);
}
.composer-trigger:hover {
  border-color: var(--slate-300);
  box-shadow: var(--shadow-s);
}
.composer-trigger-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  background: var(--accent); display: flex; align-items: center;
  justify-content: center; color: #fff; font-weight: 600;
  font-size: 0.85rem; flex-shrink: 0; overflow: hidden;
}
.composer-trigger-avatar img { width: 100%; height: 100%; object-fit: cover; }
.composer-trigger-text { flex: 1; color: var(--slate-400); font-size: 14px; }
.composer-trigger-actions { display: flex; gap: 10px; color: var(--slate-600); font-size: 15px; }
.composer-trigger-actions i { transition: color var(--dur-fast) ease; cursor: pointer; padding: 4px; }
.composer-trigger-actions i:hover { color: var(--accent); }

.composer.composer--collapsed { display: none !important; }
.composer.composer--expanded { display: block !important; }

/* ---------- Composer (expanded) ---------- */
.forum-feed .composer {
  background: var(--card-bg) !important;
  border: 1px solid var(--card-border) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-s) !important;
  overflow: hidden;
  animation: enterUp var(--dur-normal) var(--ease-out);
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
.forum-feed .composer:hover { box-shadow: var(--shadow-m) !important; }
.forum-feed .composer-heading {
  background: linear-gradient(135deg, var(--accent) 0%, #5a1520 100%) !important;
  padding: 12px 18px !important; font-size: 0.88rem !important;
  font-weight: 600; display: flex !important; align-items: center;
  justify-content: space-between;
}
.composer-collapse-btn {
  background: rgba(255,255,255,0.12); border: none; color: #fff;
  width: 30px; height: 30px; border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.8rem; transition: background var(--dur-fast) ease;
}
.composer-collapse-btn:hover { background: rgba(255,255,255,0.2); }
.forum-feed .composer-avatar { background: var(--accent) !important; box-shadow: none !important; }
.forum-feed .composer-textarea {
  border: 1px solid var(--card-border) !important;
  border-radius: var(--r-sm) !important;
  background: var(--slate-50) !important; font-size: 14px;
  transition: all var(--dur-fast) var(--ease-in-out) !important;
}
.forum-feed .composer-textarea:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-soft) !important;
  background: var(--card-bg) !important;
}

/* Add Photo icon button */
.forum-feed .compose-add {
  width: 40px !important; height: 40px !important; padding: 0 !important;
  border-radius: var(--r-sm) !important;
  border: 1px solid var(--card-border) !important;
  background: var(--slate-50) !important; color: var(--slate-600) !important;
  display: inline-flex !important; align-items: center !important;
  justify-content: center !important;
  transition: all var(--dur-fast) var(--ease-in-out) !important;
}
.forum-feed .compose-add:hover {
  background: var(--slate-100) !important;
  border-color: var(--slate-300) !important;
  color: var(--accent) !important;
}
.forum-feed .compose-add i { font-size: 16px !important; margin: 0 !important; }
.forum-feed .compose-add span { display: none !important; }

/* Post button */
.forum-feed .composer .btn-primary,
.forum-feed .composer .btn.btn-primary {
  background: var(--accent) !important;
  border-radius: var(--r-sm) !important;
  padding: 10px 20px !important; font-weight: 600 !important;
  font-size: 13px !important; box-shadow: none !important;
  border: none !important;
  transition: all var(--dur-fast) var(--ease-in-out) !important;
}
.forum-feed .composer .btn-primary:hover,
.forum-feed .composer .btn.btn-primary:hover {
  background: var(--accent-hover) !important;
  box-shadow: var(--shadow-s) !important;
}
.forum-feed .composer .btn-primary:active,
.forum-feed .composer .btn.btn-primary:active { transform: scale(0.97); }

/* ---------- Post Cards ---------- */
.forum-feed .post-item {
  background: var(--card-bg) !important;
  border: 1px solid var(--card-border) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-xs) !important;
  overflow: hidden; backdrop-filter: none;
  opacity: 0; transform: translateY(12px);
  transition: none !important;
}
.forum-feed .post-item.animated-in {
  opacity: 1; transform: translateY(0);
  transition: opacity var(--dur-slow) var(--ease-out),
              transform var(--dur-slow) var(--ease-out),
              box-shadow var(--dur-fast) ease,
              border-color var(--dur-fast) ease !important;
}
.forum-feed .post-item:hover {
  box-shadow: var(--shadow-m) !important;
  border-color: var(--slate-300) !important;
  transform: none !important;
}
.forum-feed .post-item.animated-in:hover { transform: translateY(0) !important; }

.forum-feed .post-top {
  background: var(--card-bg) !important;
  border-bottom: 1px solid var(--slate-100) !important;
  padding: 14px 18px !important;
}
.forum-feed .post-author-avatar {
  background: var(--accent) !important; box-shadow: none !important;
  width: 40px !important; height: 40px !important; font-size: 0.88rem !important;
}
.forum-feed .post-item:hover .post-author-avatar { box-shadow: none !important; transform: none !important; }
.forum-feed .post-top .post-author-row div:first-of-type {
  font-weight: 600 !important; color: var(--slate-900) !important; font-size: 0.9rem !important;
}
.forum-feed .post-top .post-author-row > div:last-child {
  font-size: 0.82rem !important; color: var(--slate-400) !important;
}
.forum-feed .post-image { background: var(--slate-100) !important; }
.forum-feed .post-image img { transition: none; }
.forum-feed .post-item:hover .post-image img { transform: none; }

/* ---------- Post Badges ---------- */
.post-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: var(--r-sm);
  font-size: 0.65rem; font-weight: 600;
  letter-spacing: 0.04em; text-transform: uppercase;
  vertical-align: middle; margin-left: 6px; animation: none;
}
.post-badge i { font-size: 0.6rem; }
.post-badge--new { background: #eff6ff; color: #2563eb; border: 1px solid #bfdbfe; }
.post-badge--hot { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; }
.post-badge--admin { background: var(--accent-soft); color: var(--accent); border: 1px solid var(--accent-medium); }

/* ---------- Action Buttons ---------- */
.forum-feed .post-actions { padding: 6px 0 8px !important; gap: 4px !important; }
.forum-feed .post-actions .btn-link {
  font-size: 13px !important; padding: 6px 10px !important;
  border-radius: var(--r-sm); color: var(--slate-700) !important;
  transition: all var(--dur-fast) var(--ease-in-out) !important;
}
.forum-feed .post-actions .btn-link:hover {
  color: var(--slate-700) !important;
  background: var(--slate-100) !important;
  transform: none !important;
}
.forum-feed .post-actions .btn-link:active { transform: scale(0.95) !important; }
.forum-feed .post-actions .btn-link i { font-size: 18px !important; transition: color var(--dur-fast) ease !important; }

/* Heart like */
.forum-feed .post-actions .btn-link.liked i { color: #ef4444 !important; animation: heartBeat 0.5s ease; }
.forum-feed .post-actions .btn-link.liked { color: #ef4444 !important; }
.forum-feed .post-actions .btn-link.liked:hover { color: #dc2626 !important; background: #fef2f2 !important; }
.forum-feed .post-actions .share-btn:hover i { transform: none; }

/* ---------- Post Content ---------- */
.forum-feed .post-caption { font-size: 14px !important; line-height: 1.6 !important; }
.forum-feed .post-caption div[style*="font-weight:600"] {
  font-weight: 600 !important; font-size: 0.95rem !important; color: var(--slate-900) !important;
}
.forum-feed .post-caption > div:last-child { color: var(--slate-600) !important; }

/* ---------- Inline Reply ---------- */
.forum-feed .post-inline-reply {
  border-top: 1px solid var(--slate-100) !important;
  padding: 10px 18px 14px !important;
}
.forum-feed .post-inline-reply:focus-within { background: var(--slate-50); }
.forum-feed .post-inline-reply-input { font-size: 0.875rem !important; color: var(--slate-900); }
.forum-feed .post-inline-reply-input::placeholder { color: var(--slate-400) !important; }
.forum-feed .post-inline-reply-btn {
  font-weight: 600 !important; color: var(--accent) !important;
  border-radius: var(--r-sm); padding: 4px 10px !important;
  transition: all var(--dur-fast) ease !important;
}
.forum-feed .post-inline-reply-btn:hover { opacity: 1 !important; background: var(--accent-soft); }

/* ---------- View Replies ---------- */
.forum-feed .post-view-replies-btn {
  color: var(--slate-500) !important; font-weight: 600 !important; font-size: 0.82rem !important;
}
.forum-feed .post-view-replies-btn:hover { color: var(--accent) !important; }
.reply-item { animation: enterUp var(--dur-normal) var(--ease-out) !important; }
.reply-item .reply-avatar { background: var(--accent) !important; }

/* ---------- Three-dot Menu ---------- */
.forum-feed .post-menu-btn {
  border-radius: var(--r-sm) !important; width: 34px; height: 34px;
  display: flex !important; align-items: center; justify-content: center;
  transition: all var(--dur-fast) ease !important; color: var(--slate-600) !important;
}
.forum-feed .post-menu-btn:hover {
  background: var(--slate-100) !important;
  color: var(--accent) !important; transform: none;
}

.menu-overlay { animation: fadeIn 0.1s ease; }
.menu-panel {
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-xl) !important;
  border: 1px solid var(--slate-200);
  animation: enterScale 0.15s var(--ease-out);
}
.menu-item {
  transition: background var(--dur-fast) ease !important;
  border-radius: var(--r-sm); margin: 2px 6px;
  padding: 10px 12px !important; font-size: 0.88rem;
  color: var(--slate-700);
}
.menu-item:hover { background: var(--slate-100) !important; transform: none; }
.menu-item.danger { color: #dc2626; }
.menu-item.danger:hover { background: #fef2f2 !important; }

/* ---------- Thread Modal ---------- */
.thread-modal {
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-xl) !important;
  animation: enterUp var(--dur-normal) var(--ease-out);
}
.thread-modal .modal-header { background: linear-gradient(135deg, var(--accent) 0%, #5a1520 100%) !important; }
.reply-box textarea {
  border-radius: var(--r-pill) !important;
  transition: all var(--dur-fast) var(--ease-in-out) !important;
}
.reply-box textarea:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-soft) !important;
}

/* ---------- Toast ---------- */
.forum-toast {
  border-radius: var(--r-sm) !important;
  background: var(--accent) !important;
  box-shadow: var(--shadow-l) !important;
  animation: toastSlide var(--dur-normal) var(--ease-out);
  font-size: 0.85rem !important; font-weight: 500;
}

/* ---------- Follow Button ---------- */
.forum-follow-btn {
  transition: all var(--dur-fast) var(--ease-in-out) !important;
  border-radius: var(--r-sm) !important;
  font-size: 0.78rem !important; padding: 4px 12px !important;
}
.forum-follow-btn.following {
  background: var(--accent) !important;
  border-color: var(--accent) !important; color: #fff !important;
}
.forum-follow-btn.following:hover { background: var(--accent-hover) !important; }

/* ---------- Messages Pill ---------- */
.forum-messages-pill {
  background: var(--accent) !important;
  box-shadow: var(--shadow-l) !important;
  transition: all var(--dur-fast) var(--ease-in-out) !important;
  border-radius: var(--r-md) !important;
  font-size: 0.88rem !important; font-weight: 500 !important;
  padding: 12px 18px !important;
}
.forum-messages-pill:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-xl) !important;
}

/* ---------- Messages Panel ---------- */
.messages-panel {
  border-radius: var(--r-lg) !important;
  background: var(--card-bg) !important;
  box-shadow: var(--shadow-xl) !important;
  border: 1px solid var(--card-border) !important;
}
.messages-panel-header { background: linear-gradient(135deg, var(--accent) 0%, #5a1520 100%) !important; }
.messages-panel-title { font-family: 'Inter', sans-serif !important; font-weight: 600 !important; }

/* ---------- Find People ---------- */
.forum-find-people {
  background: var(--card-bg) !important;
  border: 1px solid var(--card-border) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-xs);
  animation: enterUp var(--dur-slow) var(--ease-out) 0.05s both;
}
.forum-find-people h3 { font-size: 0.9rem !important; font-weight: 600 !important; color: var(--slate-700) !important; }
.forum-find-people:hover { box-shadow: var(--shadow-s); }

/* ---------- Notification Dropdown ---------- */
.forum-notif-dropdown {
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-xl) !important;
  border: 1px solid var(--card-border) !important;
  animation: enterDown 0.15s var(--ease-out);
  background: var(--card-bg) !important;
}
.forum-notif-dropdown-header {
  font-size: 0.88rem !important; font-weight: 600 !important;
  color: var(--slate-900); background: var(--slate-50) !important;
  border-bottom: 1px solid var(--card-border) !important;
}
.forum-notif-item:hover { background: var(--slate-50) !important; }
.forum-notif-item.unread { background: var(--accent-soft) !important; }
.forum-notif-item .notif-avatar { background: var(--accent) !important; }

/* Badge pulse */
.msg-badge, .forum-messages-pill-badge { animation: dotPulse 2s ease-in-out infinite; }

/* ---------- No Results ---------- */
#forumNoResults {
  background: var(--card-bg) !important;
  border: 1px dashed var(--slate-300) !important;
  border-radius: var(--r-md) !important;
  animation: enterUp var(--dur-normal) ease;
}

/* ---------- Sidebar Toggles ---------- */
.forum-sidebar-toggle--edge,
.forum-sidebar-toggle--tab {
  transition: all var(--dur-fast) var(--ease-in-out) !important;
  box-shadow: var(--shadow-s) !important;
  border: 1px solid var(--card-border) !important;
  border-left: none !important;
}
.forum-sidebar-toggle--edge:hover,
.forum-sidebar-toggle--tab:hover {
  background: var(--slate-50) !important;
  box-shadow: var(--shadow-m) !important;
}

/* ---------- Forum Card Reset ---------- */
.forum-feed .forum-card,
.forum-feed .content-body .card.forum-card,
.forum-feed .content-body .card {
  background: transparent !important;
  border: none !important; box-shadow: none !important; padding: 0 !important;
}

/* ---------- Custom Scrollbar ---------- */
.forum-feed .content-body::-webkit-scrollbar,
.thread-replies-list::-webkit-scrollbar { width: 4px; }
.forum-feed .content-body::-webkit-scrollbar-track { background: transparent; }
.forum-feed .content-body::-webkit-scrollbar-thumb { background: var(--slate-300); border-radius: 10px; }
.forum-feed .content-body::-webkit-scrollbar-thumb:hover { background: var(--slate-400); }

/* ---------- Focus Visible ---------- */
.forum-feed *:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }

/* ---------- Form Controls ---------- */
.forum-feed .form-control {
  font-family: 'Inter', sans-serif !important;
  border: 1px solid var(--card-border) !important;
  border-radius: var(--r-sm) !important;
}
.forum-feed .form-control:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-soft) !important;
}

/* ---------- Feed Width ---------- */
.forum-feed.sidebar-collapsed .forum-feed-inner { max-width: 680px !important; }

/* ---------- Mobile ---------- */
@media (max-width: 576px) {
  .forum-feed .post-item {
    border-radius: 0 !important; border-left: none !important;
    border-right: none !important; margin-bottom: 8px !important;
  }
  .forum-feed .composer {
    border-radius: 0 !important; border-left: none !important;
    border-right: none !important;
  }
  .composer-trigger {
    border-radius: 0; margin-left: -10px; margin-right: -10px;
    border-left: none; border-right: none;
  }
  .forum-page-header { padding: 14px 16px !important; }
  .forum-header-text h1 { font-size: 1.25rem !important; }
  .post-badge { font-size: 0.6rem; padding: 1px 6px; }
  .forum-feed .post-actions .btn-link { padding: 6px 8px !important; }
}

/* ---------- Print ---------- */
@media print {
  .forum-messages-pill, .forum-sidebar-toggle--edge, .forum-sidebar-toggle--tab,
  .post-actions, .post-inline-reply, .composer, .composer-trigger,
  .forum-toolbar, .forum-find-people { display: none !important; }
  .forum-feed .post-item {
    page-break-inside: avoid; break-inside: avoid;
    border: 1px solid #ddd !important; box-shadow: none !important;
  }
}
