/* Форум (bbPress) и форма обратной связи. 2026-09-30.
 *
 * Подключается только на страницах форума и там, где стоит шорткод
 * [chimera_feedback] (chimera-forum.php). Штатный bbpress.min.css снят:
 * он рисует светлые полосатые таблицы. Всё ниже — на токенах tokens.css и
 * компонентах system.css (.ch-field, .ch-btn, .ch-badge, .ch-form-row),
 * своего здесь только раскладка списков и сообщений. */

/* ── каркас ─────────────────────────────────────────────────────────── */
.ch-forum-hero{ max-width:var(--max); }
.ch-forum-hero h1{ max-width:24ch; }
.ch-forum-hero .ch-lead{ max-width:var(--measure); }
.ch-forum-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px;
  margin:18px 0 0; font:400 var(--t-small)/1.5 var(--sans); color:var(--quiet); }
.ch-forum-sep{ color:var(--quiet-2); }
.ch-forum-body{ padding-top:44px; }
.chf{ max-width:980px; }
.chf a:not(.ch-btn){ color:var(--paper); text-decoration:none; }
.chf a:not(.ch-btn):hover{ color:var(--gold-soft); }

.ch-forum-notice{ margin:0 0 28px; padding:14px 18px; border:1px solid var(--gold-line);
  border-radius:var(--radius); background:var(--ink-2); color:var(--paper-2);
  font:400 var(--t-small)/1.6 var(--sans); }

/* ── главная форума: подсказка сверху ──────────────────────────────── */
.chf-aside{ display:grid; grid-template-columns:1fr 1fr minmax(240px,1fr); gap:18px 32px;
  align-items:start; margin:0 0 48px; }
.chf-aside p{ margin:0; font:400 var(--t-small)/1.6 var(--sans); color:var(--paper-2); }
.chf-aside b{ color:var(--paper); font-weight:560; }
.chf .chf-aside a{ color:var(--accent); border-bottom:1px solid transparent; }
.chf .chf-aside a:hover{ border-bottom-color:currentColor; color:var(--accent); }

/* поиск */
.bbp-search-form form > div{ display:flex; gap:8px; }
.bbp-search-form label{ position:absolute; left:-9999px; }
#bbp_search{ flex:1; min-width:0; background:var(--ink-3); color:var(--paper);
  border:1px solid var(--control-line); border-radius:var(--radius); padding:10px 13px;
  font:400 var(--t-small)/1.3 var(--sans); }
#bbp_search:focus{ border-color:var(--emerald); outline:none; box-shadow:0 0 0 3px #53dbc524; }
#bbp_search_submit{ height:40px; padding:0 16px; background:transparent; color:var(--paper);
  border:1px solid var(--gold-line); border-radius:var(--radius); cursor:pointer;
  font:500 var(--t-micro)/1 var(--sans); letter-spacing:var(--ls-button); text-transform:uppercase; }
#bbp_search_submit:hover{ border-color:var(--accent); color:var(--gold-soft); }

/* ── группы разделов и строки ───────────────────────────────────────── */
.chf-group{ margin:0 0 46px; }
.chf-group__head{ margin:0 0 14px; }
.chf-group__head h2{ margin:0; font-size:var(--t-h4); line-height:1.2; }
.chf-group__head p{ margin:6px 0 0; color:var(--quiet); font:400 var(--t-small)/1.55 var(--sans);
  max-width:var(--measure); }

.chf-rows{ display:grid; gap:12px; }
.chf-row{ display:grid; grid-template-columns:minmax(0,1fr) 92px 220px; gap:24px;
  align-items:baseline; padding:22px; border:1px solid var(--glass-edge); border-radius:14px;
  background:var(--glass); box-shadow:var(--glass-shadow); }
.chf-row:hover,.chf-topic:hover{ border-color:var(--accent); }
.chf-row__title{ font:560 var(--t-body)/1.35 var(--sans); }
.chf-row--lone .chf-row__title{ font:600 var(--t-h4)/1.2 var(--serif); }
.chf-row__desc{ margin:5px 0 0; color:var(--quiet); font:400 var(--t-small)/1.55 var(--sans); }
.chf-row__count{ color:var(--quiet); font:400 var(--t-caption)/1.4 var(--sans); text-align:right; white-space:nowrap; }
.chf-row__count .num{ font:450 var(--t-small)/1 var(--mono); color:var(--paper); }
.chf-row__fresh{ display:grid; gap:3px; min-width:0; font:400 var(--t-caption)/1.45 var(--sans); color:var(--quiet); }
.chf-row__fresh a{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chf-row__fresh--none{ color:var(--quiet-2); }
.chf-row--closed .chf-row__title::after{ content:"только чтение"; margin-left:10px;
  font:500 var(--t-micro)/1 var(--mono); letter-spacing:var(--ls-label); text-transform:uppercase;
  color:var(--quiet); vertical-align:2px; }

/* ── список тем ─────────────────────────────────────────────────────── */
.chf-topics{ margin:0 0 30px; }
.chf-topics__head,.chf-topic{ display:grid; grid-template-columns:minmax(0,1fr) 84px 180px; gap:24px; }
.chf-topics__head{ padding:0 22px 12px; border-bottom:1px solid var(--rule);
  font:500 var(--t-label)/1.5 var(--mono); letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase; color:var(--quiet); }
.chf-topics__head .num,.chf-topic__count{ text-align:right; }
.chf-topic{ padding:20px 22px; margin-top:12px; border:1px solid var(--glass-edge); border-radius:14px;
  background:var(--glass); box-shadow:var(--glass-shadow); align-items:baseline; }
.chf-topic__title{ font:560 var(--t-body)/1.4 var(--sans); margin-right:8px; }
.chf-topic .ch-badge{ vertical-align:3px; margin-right:6px; }
.chf-topic__meta{ margin:5px 0 0; color:var(--quiet); font:400 var(--t-caption)/1.5 var(--sans); }
.chf-topic__count{ font:450 var(--t-small)/1.4 var(--mono); color:var(--paper-2); }
.chf-topic__fresh{ display:grid; gap:2px; font:400 var(--t-caption)/1.45 var(--sans); color:var(--quiet); }
.chf-topic.sticky,.chf-topic.super-sticky{ border-left:3px solid var(--accent); }
.chf-topic.status-pending .chf-topic__title{ color:var(--paper-3); }
.chf-empty,.chf-closed{ color:var(--quiet); font:400 var(--t-small)/1.6 var(--sans); margin:0 0 30px; }
.chf-closed a{ color:var(--accent) !important; }

/* действия модератора в строке темы (bbPress: Закрыть, Прилепить…) */
.bbp-row-actions,.chf-post__admin{ display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:8px;
  font:500 var(--t-micro)/1.6 var(--mono); letter-spacing:var(--ls-label); text-transform:uppercase; }
.chf .bbp-row-actions a,.chf .chf-post__admin a{ color:var(--quiet); }
.chf .bbp-row-actions a:hover,.chf .chf-post__admin a:hover{ color:var(--gold-soft); }
.chf-post__admin:empty{ display:none; }

/* ── сообщения ──────────────────────────────────────────────────────── */
.chf-tools{ display:flex; justify-content:flex-end; margin:-18px 0 18px;
  font:500 var(--t-micro)/1 var(--mono); letter-spacing:var(--ls-label); text-transform:uppercase; }
.chf-tools:empty{ display:none; }
.chf .chf-tools a{ color:var(--quiet); }
.chf-posts{ display:grid; gap:18px; margin:0 0 34px; }
.chf-post{ padding:24px; border:1px solid var(--glass-edge); border-radius:14px;
  background:var(--glass); box-shadow:var(--glass-shadow); }
.chf-post.status-pending{ border-style:dashed; border-color:var(--gold-hair); }
.chf-post__head{ display:flex; align-items:center; gap:14px; margin:0 0 20px; padding-bottom:18px; border-bottom:1px solid var(--rule); }
.chf-post__who{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; flex:1; min-width:0; }
.chf-post__name{ font:560 var(--t-small)/1.3 var(--sans); }
.chf-post__role{ font:500 var(--t-micro)/1 var(--mono); letter-spacing:var(--ls-label);
  text-transform:uppercase; color:var(--gold-label); }
.chf .chf-post__date{ color:var(--quiet); font:400 var(--t-caption)/1.3 var(--mono); white-space:nowrap; }
.chf-post__body{ color:var(--paper-1); font:var(--w-body,420) var(--t-body)/1.7 var(--sans); overflow-wrap:anywhere; }
.chf-post__body > :first-child{ margin-top:0; }
.chf-post__body > :last-child{ margin-bottom:0; }
.chf-post__body p{ margin:0 0 1em; max-width:68ch; }
.chf .chf-post__body a{ color:var(--accent); border-bottom:1px solid rgba(201,162,39,.35); }
.chf .chf-post__body a:hover{ color:var(--gold-soft); border-bottom-color:currentColor; }
.chf-post__body blockquote{ margin:0 0 1em; padding:2px 0 2px 16px; border-left:2px solid var(--gold-edge, var(--gold-line)); color:var(--paper-3); }
.chf-post__body code{ font:400 .9em/1.5 var(--mono); background:var(--ink-3); padding:1px 5px; border-radius:var(--radius); }
.chf-post__body pre{ background:var(--ink-3); border:1px solid var(--rule); padding:12px 14px; overflow-x:auto;
  font:400 var(--t-caption)/1.6 var(--mono); }
.chf-post__body ul,.chf-post__body ol{ padding-left:1.3em; margin:0 0 1em; }
.chf-post__body li{ margin:0 0 .35em; }
.bbp-reply-revision-log,.bbp-topic-revision-log{ list-style:none; padding:0; margin:14px 0 0;
  color:var(--quiet); font:400 var(--t-caption)/1.5 var(--sans); }
.bbp-reply-revision-log img,.bbp-topic-revision-log img{ display:none; }

/* буква вместо аватара */
.ch-ava{ display:inline-grid; place-items:center; flex:none; width:var(--ava,40px); height:var(--ava,40px);
  border-radius:50%; border:1px solid var(--gold-line); color:var(--paper);
  font:600 calc(var(--ava,40px) * .45)/1 var(--serif); background:var(--ink-3); }
.ch-ava--1{ background:#10201b; }
.ch-ava--2{ background:#1a1a12; }
.ch-ava--3{ background:#151a21; }

/* ── формы ──────────────────────────────────────────────────────────── */
.chf-form{ margin:12px 0 0; padding:30px 0 0; border-top:1px solid var(--rule); }
.chf-form .ch-form{ display:grid; gap:20px; max-width:720px; }
.chf-form__title{ margin:0; font-size:var(--t-h4); }
.bbp-the-content,#bbp_topic_content,#bbp_reply_content{ width:100%; min-height:180px; resize:vertical;
  background:var(--ink-3); color:var(--paper); border:1px solid var(--rule); border-radius:var(--radius);
  padding:13px 15px; font:400 var(--t-body)/1.55 var(--sans); }
.bbp-the-content:hover{ border-color:var(--gold-hair); }
.bbp-the-content:focus{ border-color:var(--emerald); outline:none; box-shadow:0 0 0 3px rgba(201,162,39,.14); }
.chf-form select,#bbp_stick_topic_select,#bbp_topic_status_select,#bbp_reply_status_select,#bbp_forum_id{
  width:100%; background:var(--ink-3); color:var(--paper); border:1px solid var(--rule);
  border-radius:var(--radius); padding:11px 13px; font:400 var(--t-small)/1.4 var(--sans); }
.chf-form__mod{ display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:16px; border:1px dashed var(--rule); }
.chf-check,.ch-form label.chf-check{ display:flex; align-items:center; gap:10px; color:var(--paper-2);
  font:400 var(--t-small)/1.4 var(--sans); letter-spacing:0; text-transform:none; cursor:pointer; }
.chf-check input{ width:18px; height:18px; accent-color:var(--accent); }
.chf-form__send{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.chf-form .bbp-template-notice,.chf .bbp-template-notice{ margin:0; padding:12px 16px; border-left:2px solid var(--danger-text, #e08078);
  background:var(--ink-2); color:var(--paper-2); font:400 var(--t-small)/1.55 var(--sans); }
.chf .bbp-template-notice ul{ margin:0; padding:0; list-style:none; }
.chf .bbp-template-notice.info,.chf .bbp-template-notice.updated{ border-left-color:var(--accent); }

.ch-forum-guest{ margin:12px 0 0; padding:24px 0 0; border-top:1px solid var(--rule); }
.ch-forum-guest p{ margin:0; color:var(--paper-2); font:400 var(--t-body)/1.6 var(--sans); max-width:var(--measure); }
.chf .ch-forum-guest a{ color:var(--accent); border-bottom:1px solid rgba(201,162,39,.35); }

/* ── пагинация ──────────────────────────────────────────────────────── */
/* «Просмотр 1 темы — с 1 по 1 (1 всего)» ничего не сообщает: темы видны. */
.bbp-pagination-count{ display:none; }
.bbp-pagination:not(:has(.bbp-pagination-links a)){ display:none; }
.bbp-pagination{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 20px;
  margin:0 0 30px; font:400 var(--t-caption)/1.5 var(--mono); color:var(--quiet); }
.bbp-pagination-links{ margin-left:auto; }
.bbp-pagination-links{ display:flex; gap:6px; }
.bbp-pagination-links a,.bbp-pagination-links span.current{ display:inline-grid; place-items:center;
  min-width:32px; height:32px; padding:0 8px; border:1px solid var(--rule); border-radius:var(--radius); }
.bbp-pagination-links span.current{ border-color:var(--gold-line); color:var(--paper); }

/* ── профиль участника ──────────────────────────────────────────────── */
#bbp-user-wrapper{ display:grid; grid-template-columns:220px minmax(0,1fr); gap:40px; }
#bbp-single-user-details #bbp-user-avatar{ margin:0 0 14px; }
#bbp-single-user-details #bbp-user-avatar .ch-ava{ --ava:72px !important; }
#bbp-user-navigation ul{ list-style:none; margin:0; padding:0; display:grid; gap:6px;
  font:500 var(--t-label)/1.5 var(--mono); letter-spacing:var(--ls-eyebrow); text-transform:uppercase; }
#bbp-user-navigation li.current a{ color:var(--gold-soft) !important; }
#bbp-user-body h2.entry-title{ font-size:var(--t-h4); margin:0 0 16px; }
#bbp-user-body .bbp-user-section p{ color:var(--paper-2); font:400 var(--t-small)/1.6 var(--sans); margin:0 0 6px; }
#bbp-user-body .bbp-user-section p.bbp-user-forum-role,#bbp-user-body .bbp-user-section p.bbp-user-topic-count,
#bbp-user-body .bbp-user-section p.bbp-user-reply-count{ color:var(--quiet); }

/* ── форма обратной связи ───────────────────────────────────────────── */
.chfb{ display:grid; gap:22px; max-width:640px; }
.chfb-kinds{ border:0; margin:0; padding:0; min-width:0; }
.chfb-kinds legend{ padding:0; margin:0 0 8px; font:500 var(--t-label)/1.4 var(--mono);
  letter-spacing:var(--ls-eyebrow); text-transform:uppercase; color:var(--gold-label); }
.chfb-kinds__row{ display:flex; flex-wrap:wrap; gap:8px; }
.chfb-kind{ position:relative; cursor:pointer; }
.chfb-kind input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.chfb-kind span{ display:inline-flex; align-items:center; height:40px; padding:0 16px;
  border:1px solid var(--rule); border-radius:var(--radius); background:var(--ink-3);
  color:var(--paper-2); font:400 var(--t-small)/1 var(--sans); transition:border-color .15s,color .15s; }
.chfb-kind:hover span{ border-color:var(--gold-hair); }
.chfb-kind input:checked + span{ border-color:var(--accent); color:var(--paper); box-shadow:inset 0 0 0 1px var(--accent); }
.chfb-kind input:focus-visible + span{ outline:2px solid var(--accent); outline-offset:2px; }
.chfb select.ch-field{ appearance:none; padding-right:40px; cursor:pointer;
  background-image:linear-gradient(45deg, transparent 50%, var(--quiet) 50%), linear-gradient(135deg, var(--quiet) 50%, transparent 50%);
  background-position:calc(100% - 20px) 55%, calc(100% - 15px) 55%; background-size:5px 5px; background-repeat:no-repeat; }
.chfb textarea.ch-field{ resize:vertical; min-height:170px; }
.chfb-send{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; }
.chfb-send .ch-form-hint{ max-width:40ch; }
.chfb .ch-form-hint a,.chfb--sent a:not(.ch-btn){ color:var(--accent); }
.chfb .ch-form-error{ margin:0; padding:12px 16px; border-left:2px solid var(--danger-text); background:var(--ink-2); }
.chfb .ch-form-error::before{ content:none; }
.chfb .ch-trap{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.chfb--sent{ padding:24px 26px; border:1px solid var(--gold-line); border-radius:var(--radius); background:var(--ink-2); }
.chfb--sent p{ margin:0 0 12px; color:var(--paper-2); }
.chfb--sent p:last-child{ margin:0; }

/* ── узкий экран ────────────────────────────────────────────────────── */
@media (max-width:940px){
  .chf-aside{ grid-template-columns:1fr; gap:12px; }
  .chf-row{ grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; }
  .chf-row__fresh{ grid-column:1 / -1; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
  .chf-topics__head{ display:none; }
  .chf-topic{ grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; }
  .chf-topic__fresh{ grid-column:1 / -1; display:flex; gap:10px; }
  #bbp-user-wrapper{ grid-template-columns:1fr; gap:24px; }
}
@media (max-width:560px){
  .ch-forum-body{ padding-top:30px; }
  .chf-post{ padding:18px 16px 14px; }
  .chf-post__head{ flex-wrap:wrap; gap:10px 12px; }
  .chf-post__date{ width:100%; order:3; }
  .chf-form__mod{ grid-template-columns:1fr; }
  .chfb-kind span{ height:38px; padding:0 13px; }
}
