/* ─── FORUM CARDS — Polished SEW forum card design ──────── */

.sew-forums-grid {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0.5rem 0 1rem;
}

/* ─── Card ──────────────────────────────────────────────── */
.sew-forum-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.25rem 1.25rem 1.15rem;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #f0f0f0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
  text-decoration: none !important;
  color: inherit !important;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.25s, transform 0.2s;
  cursor: pointer;
  /* Left accent bar */
  border-left: 4px solid var(--card-accent, var(--sew-primary-500));
}
.sew-forum-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}
.sew-forum-card:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* ─── Icon circle ───────────────────────────────────────── */
.sew-forum-card__icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  /* Solid fallback + color-mix enhancement */
  background: rgba(255,106,112,0.1);
  background: color-mix(in srgb, var(--card-accent, var(--sew-primary-500)) 12%, transparent);
  color: var(--card-accent, var(--sew-primary-500));
}

/* ─── Body (title, desc, meta) ──────────────────────────── */
.sew-forum-card__body {
  flex: 1;
  min-width: 0;
}

.sew-forum-card__title {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--sew-dark-600, #1A1A1A);
  margin: 0 0 0.35rem;
  line-height: 1.3;
  transition: color 0.2s;
}
.sew-forum-card:hover .sew-forum-card__title {
  color: var(--card-accent, var(--sew-primary-500));
}

.sew-forum-card__desc {
  font-size: 0.82rem;
  color: #777;
  line-height: 1.55;
  margin: 0 0 0.65rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ─── Meta row (stats + freshness) ──────────────────────── */
.sew-forum-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.sew-forum-card__stat {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.72rem;
  color: #888;
  background: var(--sew-neutral-100, #fff);
  padding: 0.2rem 0.55rem;
  border-radius: 20px;
  white-space: nowrap;
  font-weight: 500;
}
.sew-forum-card__stat-num {
  font-weight: 700;
  color: var(--sew-dark-600, #1A1A1A);
}

.sew-forum-card__fresh {
  font-size: 0.7rem;
  color: #aaa;
  white-space: nowrap;
}

/* ─── Author ────────────────────────────────────────────── */
.sew-forum-card__author {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.55rem;
  font-size: 0.72rem;
  color: #999;
}
.sew-forum-card__author-avatar {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  object-fit: cover;
}
.sew-forum-card__author-initial {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--card-accent, var(--sew-primary-500));
  color: #fff;
  font-size: 0.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ─── Arrow indicator ───────────────────────────────────── */
.sew-forum-card__arrow {
  flex: 0 0 auto;
  color: #ccc;
  align-self: center;
  transition: color 0.2s, transform 0.2s;
}
.sew-forum-card:hover .sew-forum-card__arrow {
  color: var(--card-accent, var(--sew-primary-500));
  transform: translateX(3px);
}

/* ─── Forum search — enhanced ───────────────────────────── */
.bbp-search-form,
#bbp-search-form {
  margin-bottom: 1rem;
}
.bbp-search-form form,
#bbp-search-form > div {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #e8e8e8;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
  gap: 0;
}
.bbp-search-form input[type="text"],
#bbp-search-form input[type="text"],
.bbp-search-form input[type="search"],
#bbp-search-form input[type="search"] {
  flex: 1;
  min-width: 0;
  padding: 0.8rem 1rem;
  border: none !important;
  font-size: 0.88rem;
  outline: none;
  font-family: inherit;
  background: transparent;
}
.bbp-search-form input[type="text"]::placeholder {
  color: #bbb;
}
.bbp-search-form input[type="submit"],
#bbp-search-form input[type="submit"] {
  background: var(--sew-primary-500);
  color: #fff;
  border: none;
  padding: 0.8rem 1.5rem;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  border-radius: 0;
  transition: opacity 0.2s;
  margin: 0;
}
.bbp-search-form input[type="submit"]:hover {
  opacity: 0.85;
}

/* ─── TOPIC CARDS (single forum page) ───────────────────── */
.sew-topics-grid {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.5rem 0 1rem;
}

.sew-topic-card {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #f0f0f0;
  box-shadow: 0 1px 6px rgba(0,0,0,0.03);
  text-decoration: none !important;
  color: inherit !important;
  transition: box-shadow 0.25s, transform 0.15s;
  cursor: pointer;
}
.sew-topic-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.07);
  transform: translateY(-1px);
}

.sew-topic-card__avatar-wrap {
  flex: 0 0 38px;
}
.sew-topic-card__avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
}
.sew-topic-card__initial {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--sew-primary-500);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sew-topic-card__body {
  flex: 1;
  min-width: 0;
}

.sew-topic-card__title {
  font-family: 'Playfair Display', serif;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--sew-dark-600, #1A1A1A);
  margin: 0 0 0.25rem;
  line-height: 1.3;
  transition: color 0.2s;
}
.sew-topic-card:hover .sew-topic-card__title {
  color: var(--sew-primary-500);
}

.sew-topic-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.65rem;
  font-size: 0.7rem;
  color: #999;
}
.sew-topic-card__author {
  font-weight: 500;
  color: #777;
}
.sew-topic-card__stat {
  background: var(--sew-neutral-100, #fff);
  padding: 0.12rem 0.45rem;
  border-radius: 12px;
  font-weight: 600;
  color: #666;
}
.sew-topic-card__fresh {
  color: #bbb;
}

.sew-topic-card__arrow {
  flex: 0 0 auto;
  color: #ccc;
  transition: color 0.2s, transform 0.2s;
}
.sew-topic-card:hover .sew-topic-card__arrow {
  color: var(--sew-primary-500);
  transform: translateX(2px);
}

/* ─── "You must be logged in" notice ────────────────────── */
#bbpress-forums > p,
#bbpress-forums > .bbp-template-notice {
  background: var(--sew-neutral-100, #fff);
  border-radius: 12px;
  padding: 0.85rem 1.1rem;
  font-size: 0.82rem;
  color: #666;
  border: 1px solid #eee;
}
#bbpress-forums > .bbp-template-notice a {
  color: var(--sew-primary-500);
  font-weight: 600;
  text-decoration: none;
}

/* ─── ALL BBPRESS PAGE TITLES ───────────────────────────── */
body.bbpress h1 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--sew-dark-600, #1A1A1A) !important;
  margin: 0.5rem 0 0.25rem !important;
  line-height: 1.25 !important;
}
body.bbpress .bbp-forum-content,
body.bbpress .bbp-forum-content-wrap {
  font-size: 0.82rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}

/* ─── SINGLE TOPIC — post card styling ──────────────────── */
.bbp-lead-topic,
ul.bbp-lead-topic {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 1rem !important;
}
.bbp-lead-topic > li.bbp-header,
.bbp-lead-topic > li.bbp-footer {
  display: none !important;
}
.bbp-lead-topic .bbp-body {
  list-style: none;
}
/* Wrap the topic header + post body into one visual card */
.bbp-lead-topic .bbp-body {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #f0f0f0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  overflow: hidden;
  margin-bottom: 0.75rem;
}
/* Topic header (date/meta) — top section of the card */
.bbp-lead-topic .bbp-topic-header {
  padding: 0.75rem 1.15rem;
  border-bottom: 1px solid #f5f5f5;
  background: transparent;
  border-radius: 0;
  border: none;
  box-shadow: none;
  margin: 0;
}
/* Post body — bottom section of the card */
.bbp-lead-topic [id^="post-"] {
  padding: 1.15rem;
  background: transparent;
  border-radius: 0;
  border: none;
  box-shadow: none;
  margin: 0;
}
/* Author area inside topic/reply */
.bbp-topic-author,
.bbp-reply-author {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.75rem;
}
.bbp-author-avatar img {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  object-fit: cover;
}
.bbp-author-name {
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--sew-dark-600, #1A1A1A);
}
.bbp-author-role {
  font-size: 0.7rem;
  color: #999;
  text-transform: capitalize;
}
/* Topic/reply content */
.bbp-topic-content,
.bbp-reply-content {
  font-size: 0.88rem;
  line-height: 1.65;
  color: #444;
}
/* Topic meta header (date, permalink, admin links) */
.bbp-topic-header,
.bbp-reply-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.72rem;
  color: #999;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #f5f5f5;
}
.bbp-topic-header a,
.bbp-reply-header a {
  color: var(--sew-primary-500);
  text-decoration: none;
}
.bbp-topic-post-date,
.bbp-reply-post-date {
  font-size: 0.72rem;
  color: #aaa;
}
.bbp-admin-links {
  font-size: 0.68rem;
  color: #ccc;
}
.bbp-admin-links a {
  color: #bbb !important;
}
/* Topic tags */
.bbp-topic-tags {
  font-size: 0.78rem;
  color: #888;
  margin-bottom: 0.5rem;
}
.bbp-topic-tags a {
  color: var(--sew-primary-500);
  text-decoration: none;
  font-weight: 600;
}
/* No reply notice */
.bbp-no-reply,
.bbp-template-notice {
  background: #fafafa;
  border-radius: 12px;
  padding: 0.85rem 1rem;
  font-size: 0.82rem;
  color: #888;
  border: 1px solid #f0f0f0;
  margin-top: 0.5rem;
}

/* ─── REPLY LIST (on topic pages) ───────────────────────── */
.bbp-replies,
ul.bbp-replies {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.bbp-replies > li.bbp-header,
.bbp-replies > li.bbp-footer {
  display: none !important;
}
.bbp-replies .bbp-body {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
/* Each reply is header+post wrapped in .bbp-body context */
.bbp-replies [id^="post-"] {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
  padding: 1rem;
}
/* Reply header inside the post — no double border */
.bbp-replies .bbp-reply-header {
  border: none;
  box-shadow: none;
  background: transparent;
}

/* ─── TOPIC/REPLY FORMS (create/edit topic, reply) ──────── */
.bbp-topic-form,
.bbp-reply-form,
#new-topic,
#new-reply {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #f0f0f0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  padding: 1.25rem;
  margin-top: 1rem;
}
.bbp-topic-form legend,
.bbp-reply-form legend,
.bbp-topic-form label,
.bbp-reply-form label {
  font-family: 'Playfair Display', serif;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--sew-dark-600, #1A1A1A);
  display: block;
  margin-bottom: 0.35rem;
}
.bbp-topic-form textarea,
.bbp-reply-form textarea,
.bbp-topic-form input[type="text"],
.bbp-reply-form input[type="text"],
.bbp-topic-form select,
.bbp-reply-form select {
  width: 100%;
  padding: 0.7rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 0.88rem;
  font-family: inherit;
  outline: none;
  box-sizing: border-box;
  margin-bottom: 0.75rem;
}
.bbp-topic-form textarea:focus,
.bbp-reply-form textarea:focus,
.bbp-topic-form input[type="text"]:focus,
.bbp-reply-form input[type="text"]:focus {
  border-color: var(--sew-primary-500);
  box-shadow: 0 0 0 3px rgba(255,106,112,0.1);
}
.bbp-topic-form input[type="submit"],
.bbp-reply-form input[type="submit"],
.bbp-topic-form button[type="submit"],
.bbp-reply-form button[type="submit"] {
  background: var(--sew-primary-500);
  color: #fff;
  border: none;
  padding: 0.7rem 1.5rem;
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s;
}
.bbp-topic-form input[type="submit"]:hover,
.bbp-reply-form input[type="submit"]:hover {
  opacity: 0.85;
}
/* Fieldset reset */
.bbp-topic-form fieldset,
.bbp-reply-form fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

/* ─── MERGE / EDIT FORMS ────────────────────────────────── */
.bbp-topic-form .bbp-form,
.bbp-reply-form .bbp-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#bbpress-forums .bbp-form .bbp-the-content-wrapper {
  margin-bottom: 0.5rem;
}
/* Move/merge dropdowns */
#bbpress-forums select {
  width: 100%;
  padding: 0.65rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 0.85rem;
  font-family: inherit;
  background: #fff;
  outline: none;
  box-sizing: border-box;
}

/* ═══════════════════════════════════════════════════════════
   SINGLE TOPIC — Post + Reply cards with hierarchy
   ═══════════════════════════════════════════════════════════ */

/* Lead topic (original post) — emphasized card */
.bbp-lead-topic {
  list-style: none !important;
  padding: 0 8px !important;
  margin: 0 0 1rem !important;
}
.bbp-lead-topic > li.bbp-header,
.bbp-lead-topic > li.bbp-footer {
  display: none !important;
}
.bbp-lead-topic .bbp-body {
  list-style: none;
}
.bbp-lead-topic [id^="post-"] {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-left: 4px solid var(--sew-primary-500, #FF6A70) !important;
  border-radius: 14px !important;
  padding: 1.25rem !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04) !important;
  margin: 0 !important;
}

/* Author inside lead topic */
.bbp-lead-topic .bbp-topic-author {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  margin-bottom: 0.75rem !important;
}
.bbp-lead-topic .bbp-author-avatar img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}
.bbp-lead-topic .bbp-author-name {
  font-weight: 700 !important;
  font-size: 0.92rem !important;
  color: var(--sew-dark-600, #1A1A1A) !important;
}
.bbp-lead-topic .bbp-author-role {
  font-size: 0.65rem !important;
  color: #888 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  background: #f0f0f0 !important;
  padding: 0.1rem 0.4rem !important;
  border-radius: 4px !important;
  display: inline-block !important;
}
.bbp-lead-topic .bbp-topic-content {
  font-size: 0.92rem !important;
  line-height: 1.7 !important;
  color: #333 !important;
}
.bbp-lead-topic .bbp-topic-header {
  font-size: 0.72rem !important;
  color: #aaa !important;
  margin-bottom: 0.5rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

/* Replies — indented, lighter cards */
.bbp-replies,
ul.bbp-replies {
  list-style: none !important;
  padding: 0 8px 0 20px !important;
  margin: 0 !important;
}
.bbp-replies > li.bbp-header,
.bbp-replies > li.bbp-footer {
  display: none !important;
}
.bbp-replies .bbp-body {
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.6rem !important;
  padding: 0 !important;
}
.bbp-replies [id^="post-"] {
  background: #fafafa !important;
  border: 1px solid #eee !important;
  border-left: 3px solid #ddd !important;
  border-radius: 10px !important;
  padding: 1rem !important;
  box-shadow: none !important;
  margin: 0 !important;
}

/* Reply author */
.bbp-replies .bbp-reply-author {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}
.bbp-replies .bbp-author-avatar img {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}
/* Default avatar placeholder */
.bbp-replies .bbp-author-avatar img[src*="mystery-man"],
.bbp-replies .bbp-author-avatar img[src*="buddyboss"],
.bbp-lead-topic .bbp-author-avatar img[src*="mystery-man"],
.bbp-lead-topic .bbp-author-avatar img[src*="buddyboss"] {
  background: linear-gradient(135deg, #FF6A70 0%, #CC3640 100%) !important;
  border: 2px solid #fff !important;
}
.bbp-replies .bbp-author-name {
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  color: var(--sew-dark-600, #1A1A1A) !important;
}
.bbp-replies .bbp-author-role {
  font-size: 0.6rem !important;
  color: #888 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  background: #f0f0f0 !important;
  padding: 0.1rem 0.35rem !important;
  border-radius: 4px !important;
}
/* Admin/mod role colored */
.bbp-replies .bbp-author-role[class*="keymaster"],
.bbp-lead-topic .bbp-author-role[class*="keymaster"] {
  background: rgba(255, 106, 112, 0.1) !important;
  color: #FF6A70 !important;
}

/* Reply content */
.bbp-replies .bbp-reply-content {
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
  color: #444 !important;
}
.bbp-replies .bbp-reply-header {
  font-size: 0.7rem !important;
  color: #bbb !important;
  margin-bottom: 0.4rem !important;
  padding-bottom: 0.4rem !important;
  border-bottom: 1px solid #f0f0f0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.bbp-replies .bbp-reply-header a {
  color: var(--sew-primary-500) !important;
}

/* Reply "modified" meta text */
.bbp-replies .bbp-topic-revision-log,
.bbp-replies [class*="edit-reason"],
.bbp-replies p:last-child:has(a) {
  font-size: 0.72rem !important;
  color: #bbb !important;
  font-style: italic !important;
}

/* Pagination between posts */
.bbp-pagination {
  padding: 0.5rem 8px !important;
  font-size: 0.72rem !important;
  color: #999 !important;
}

/* No-reply notice */
.bbp-no-reply,
#no-reply-0,
[id^="no-reply-"],
.bbp-template-notice {
  background: #f8f8f8 !important;
  border-radius: 10px !important;
  padding: 0.85rem 1rem !important;
  font-size: 0.82rem !important;
  color: #888 !important;
  border: 1px solid #eee !important;
  margin: 0.75rem 8px !important;
  text-align: center !important;
}

/* Login-to-reply notice */
.bbp-template-notice a {
  color: var(--sew-primary-500) !important;
  font-weight: 600 !important;
}

/* Topic title on single topic page */
#bbpress-forums > h1,
#bbpress-forums > h2,
.bbp-forum-content-wrap > h1 {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  padding: 0 8px !important;
  margin: 0 0 0.5rem !important;
}

/* Topic tags */
.bbp-topic-tags {
  font-size: 0.78rem !important;
  color: #888 !important;
  padding: 0 8px !important;
  margin-bottom: 0.75rem !important;
}
.bbp-topic-tags a {
  color: var(--sew-primary-500) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* ─── REPLY / NEW TOPIC FORMS ─────────────────────────── */
.bbp-topic-form,
.bbp-reply-form,
#new-topic,
#new-reply,
.bbp-topic-form-wrapper,
.bbp-reply-form-wrapper {
  background: #fff !important;
  border-radius: 14px !important;
  border: 1px solid #eee !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  padding: 1.25rem !important;
  margin: 1rem 8px !important;
}
.bbp-topic-form legend,
.bbp-reply-form legend {
  font-family: 'Playfair Display', serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--sew-dark-600, #1A1A1A) !important;
  margin-bottom: 0.75rem !important;
  display: block !important;
}
.bbp-topic-form label,
.bbp-reply-form label {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--sew-dark-600, #1A1A1A) !important;
  display: block !important;
  margin-bottom: 0.3rem !important;
}
.bbp-topic-form textarea,
.bbp-reply-form textarea,
.bbp-topic-form input[type="text"],
.bbp-reply-form input[type="text"],
.bbp-topic-form input[type="url"],
.bbp-reply-form input[type="url"],
.bbp-topic-form select,
.bbp-reply-form select {
  width: 100% !important;
  padding: 0.65rem 0.75rem !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  font-size: 0.88rem !important;
  font-family: inherit !important;
  outline: none !important;
  box-sizing: border-box !important;
  margin-bottom: 0.75rem !important;
  background: #fff !important;
  color: var(--sew-dark-600, #1A1A1A) !important;
  -webkit-appearance: none !important;
}
.bbp-topic-form textarea:focus,
.bbp-reply-form textarea:focus,
.bbp-topic-form input[type="text"]:focus,
.bbp-reply-form input[type="text"]:focus {
  border-color: var(--sew-primary-500) !important;
  box-shadow: 0 0 0 3px rgba(255,106,112,0.12) !important;
}
.bbp-topic-form input[type="submit"],
.bbp-reply-form input[type="submit"],
.bbp-topic-form button[type="submit"],
.bbp-reply-form button[type="submit"] {
  background: var(--sew-primary-500) !important;
  color: #fff !important;
  border: none !important;
  padding: 0.7rem 1.75rem !important;
  border-radius: 8px !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: opacity 0.15s !important;
}
.bbp-topic-form input[type="submit"]:hover,
.bbp-reply-form input[type="submit"]:hover {
  opacity: 0.85 !important;
}
.bbp-topic-form fieldset,
.bbp-reply-form fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Ensure all form inputs are visible — kill any hidden inputs */
#bbpress-forums input[type="text"],
#bbpress-forums input[type="url"],
#bbpress-forums input[type="email"],
#bbpress-forums textarea,
#bbpress-forums select {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  min-height: 2.5rem !important;
  background: #fff !important;
  color: #333 !important;
  border: 1.5px solid #e0e0e0 !important;
}
/* Select dropdowns */
#bbpress-forums select {
  width: 100% !important;
  padding: 0.5rem !important;
  border-radius: 8px !important;
}
/* Checkbox/radio visible */
#bbpress-forums input[type="checkbox"],
#bbpress-forums input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
  accent-color: var(--sew-primary-500) !important;
}

/* ─── "You must be logged in" notice ───────────────────── */
.bbp-no-topic,
.bbp-template-notice,
#no-topic-0 {
  padding: 1rem !important;
  margin: 0.5rem 8px !important;
  background: #f8f8f8 !important;
  border-radius: 10px !important;
  font-size: 0.85rem !important;
  color: #666 !important;
  border: 1px solid #eee !important;
}

/* ─── Responsive single topic ──────────────────────────── */
@media (max-width: 768px) {
  .bbp-replies {
    padding-left: 12px !important;
  }
}
@media (min-width: 768px) {
  .bbp-lead-topic [id^="post-"] {
    padding: 1.5rem !important;
  }
  .bbp-replies [id^="post-"] {
    padding: 1.25rem !important;
  }
}

/* Hide original bbPress elements when JS replaces them */
ul.bbp-forums[style*="display: none"],
ul.bbp-forums[style*="display:none"],
ul.bbp-topics.sew-replaced,
.sew-replaced {
  display: none !important;
}

/* ─── Responsive ────────────────────────────────────────── */
@media (max-width: 768px) {
  /* 8px viewport inset handled by responsive-polish.css sitewide */
  .sew-forum-card {
    padding: 1rem 1rem 1rem 0.85rem;
    gap: 0.75rem;
    border-radius: 14px;
  }
  .sew-forum-card__icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .sew-forum-card__icon svg {
    width: 18px;
    height: 18px;
  }
  .sew-forum-card__title {
    font-size: 1rem;
  }
  .sew-forum-card__desc {
    font-size: 0.78rem;
    margin-bottom: 0.5rem;
  }
  .sew-forum-card__meta {
    gap: 0.35rem;
  }
  .sew-forum-card__stat {
    font-size: 0.68rem;
    padding: 0.15rem 0.45rem;
  }
  .sew-forum-card__fresh {
    font-size: 0.66rem;
  }
  .sew-forum-card__arrow {
    display: none; /* save space on mobile */
  }
  .bbp-search-form input[type="submit"],
  #bbp-search-form input[type="submit"] {
    padding: 0.8rem 1rem;
    font-size: 0.78rem;
  }
  /* Topic cards — tighter on mobile */
  .sew-topic-card {
    padding: 0.85rem;
    border-radius: 12px;
  }
  .sew-topics-grid {
    gap: 0.5rem;
  }
}

@media (max-width: 400px) {
  .sew-forum-card {
    padding: 0.85rem 0.85rem 0.85rem 0.7rem;
    border-radius: 12px;
    gap: 0.6rem;
  }
  .sew-forum-card__icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }
  .sew-forum-card__icon svg {
    width: 16px;
    height: 16px;
  }
  .sew-forum-card__title {
    font-size: 0.92rem;
  }
}

/* ─── Desktop: side-by-side for larger cards ────────────── */
@media (min-width: 992px) {
  .sew-forums-grid {
    gap: 1rem;
  }
  .sew-forum-card {
    padding: 1.35rem 1.5rem 1.35rem 1.25rem;
  }
  .sew-forum-card__icon {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 16px;
  }
  .sew-forum-card__title {
    font-size: 1.2rem;
  }
  .sew-forum-card__desc {
    font-size: 0.85rem;
  }
}
