/* =====================================================================
   STALKERX — FORUM  (scope: body.zx.zx-forum)  · needs zx-theme.css (+ zx-article.css on show/create)
   ===================================================================== */

/* ---------------- HERO ---------------- */
.zx-forum .zx-forum-hero { position: relative; min-height: 44vh; display: flex; align-items: flex-end; overflow: hidden; padding-top: 30px; }
.zx-forum .zx-forum-hero-bg {
    position: absolute; inset: 0; z-index: 0;
    background: url('/img/redesign/forum_hero.jpg') center 50%/cover no-repeat;
    transform: scale(1.05); filter: saturate(.92) contrast(1.05);
}
.zx-forum .zx-forum-hero-bg::after {
    content: ""; position: absolute; inset: 0;
    background:
      radial-gradient(120% 90% at 50% 0%, transparent 30%, rgba(8,11,10,.5) 100%),
      linear-gradient(180deg, rgba(8,11,10,.7) 0%, rgba(8,11,10,.2) 40%, rgba(8,11,10,.82) 85%, var(--zx-bg) 100%);
}
.zx-forum .zx-forum-hero-scan { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: repeating-linear-gradient(to bottom, rgba(0,0,0,0) 0 2px, rgba(0,0,0,.1) 3px, rgba(0,0,0,0) 4px); opacity: .35; mix-blend-mode: multiply; }
.zx-forum .zx-forum-hero-inner { position: relative; z-index: 3; max-width: 1640px; width: 100%; margin: 0 auto; padding: 0 20px 46px; }
.zx-forum .zx-forum-hero-eyebrow { font-family: var(--font-mono); font-size: 13px; letter-spacing: 5px; text-transform: uppercase; color: var(--zx-amber); margin-bottom: 18px; display: flex; align-items: center; gap: 12px; }
.zx-forum .zx-forum-hero-eyebrow::before { content: ""; width: 40px; height: 1px; background: var(--zx-amber); }
.zx-forum .zx-forum-hero-title { font-family: var(--font-display); font-weight: 900; font-size: clamp(40px, 7vw, 96px); line-height: .9; letter-spacing: -2px; text-transform: uppercase; color: #f2f0e8; margin: 0; text-shadow: 0 0 50px rgba(0,0,0,.6); }
.zx-forum .zx-forum-hero-sub { max-width: 540px; margin: 20px 0 0; font-size: 15px; line-height: 1.6; color: rgba(217,222,212,.8); }

/* ---------------- TOOLBAR ---------------- */
.zx-forum .zx-forum-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.zx-forum .zx-forum-count { font-family: var(--font-mono); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--zx-dim); }
.zx-forum .zx-forum-count b { color: var(--zx-amber); }
.zx-forum .forum-ask-btn {
    font-family: var(--font-mono); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 600;
    background: var(--zx-amber); color: #10130f; text-decoration: none; padding: 12px 22px; transition: all .2s; display: inline-flex; align-items: center; gap: 10px;
    border-radius: 0 !important; border: none;
}
.zx-forum .forum-ask-btn:hover { background: transparent; color: var(--zx-amber); box-shadow: inset 0 0 0 1.5px var(--zx-amber); }

/* ---------------- THREAD LIST ---------------- */
.zx-forum .forum-list { display: flex; flex-direction: column; gap: 12px; }
.zx-forum .forum-list-item {
    display: flex; align-items: center; gap: 20px; padding: 20px 24px; text-decoration: none;
    border: 1px solid var(--zx-line-2); border-radius: 0 !important; background: var(--zx-bg-2); transition: border-color .2s, background .2s; position: relative; min-width: 0;
}
.zx-forum .forum-list-item::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--zx-amber); transition: width .2s; }
.zx-forum .forum-list-item:hover { border-color: var(--zx-amber-dim); }
.zx-forum .forum-list-item:hover::before { width: 3px; }
.zx-forum .forum-list-item-main { flex: 1; min-width: 0; }
.zx-forum .forum-list-item-title {
    font-family: var(--font-display); font-weight: 600; font-size: 17px; line-height: 1.25; letter-spacing: -.2px;
    text-transform: uppercase; color: #f2f0e8; margin-bottom: 8px; transition: color .2s;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    white-space: normal !important; overflow-wrap: anywhere;
}
.zx-forum .forum-list-item:hover .forum-list-item-title { color: var(--zx-amber); }
.zx-forum .forum-list-item-meta { display: flex; align-items: center; gap: 16px; font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .5px; color: var(--zx-dim); flex-wrap: wrap; }
.zx-forum .forum-list-item-author { display: inline-flex; align-items: center; gap: 6px; color: var(--zx-text); }
.zx-forum .forum-list-item-author .faction-icon { width: 15px; height: 15px; }
.zx-forum .forum-list-item-date { display: inline-flex; align-items: center; gap: 6px; }
.zx-forum .forum-list-item-date i { color: var(--zx-amber-dim); }
.zx-forum .forum-list-item-comments {
    flex-shrink: 0; display: flex; flex-direction: row; align-items: center; gap: 9px;
    padding-left: 20px; border-left: 1px solid var(--zx-line); font-family: var(--font-mono);
}
.zx-forum .forum-list-item-comments i { color: var(--zx-amber); font-size: 15px; }
.zx-forum .forum-list-item-comments span { font-size: 16px; color: var(--zx-text); }
.zx-forum .forum-empty { text-align: center; padding: 60px 0; font-family: var(--font-mono); color: var(--zx-faint); }

/* ---------------- PAGINATION ---------------- */
.zx-forum .forum-pagination { margin-top: 40px; display: flex; justify-content: center; }
.zx-forum .forum-pagination svg { width: 16px; height: 16px; }
.zx-forum .forum-pagination ul, .zx-forum .forum-pagination .pagination { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; align-items: center; }
.zx-forum .forum-pagination a, .zx-forum .forum-pagination span {
    font-family: var(--font-mono); font-size: 13px; min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0 12px; border: 1px solid var(--zx-line); color: var(--zx-dim); text-decoration: none; transition: all .2s; background: var(--zx-bg-2);
}
.zx-forum .forum-pagination a:hover { border-color: var(--zx-amber); color: var(--zx-amber); }
.zx-forum .forum-pagination [aria-current] span { background: var(--zx-amber); color: #10130f; border-color: var(--zx-amber); font-weight: 600; }
.zx-forum .forum-pagination [aria-disabled] span { opacity: .35; }

/* ---------------- SHOW: question body ---------------- */
.zx-forum .zx-forum-actions { margin-top: 26px; }
.zx-forum .forum-delete-btn {
    font-family: var(--font-mono); font-size: 12px; letter-spacing: 1px; text-transform: uppercase;
    background: rgba(8,11,10,.5); color: var(--zx-danger); border: 1px solid rgba(255,90,44,.35); padding: 10px 16px; cursor: pointer;
    display: inline-flex; align-items: center; gap: 8px; transition: all .2s;
}
.zx-forum .forum-delete-btn:hover { background: rgba(255,90,44,.12); border-color: var(--zx-danger); }
.zx-forum .zx-forum-question-text {
    max-width: 1000px; margin: 0 auto; padding: 44px 20px 0; font-size: 16.5px; line-height: 1.8;
    color: rgba(217,222,212,.85); white-space: pre-line;
}

/* ---------------- CREATE FORM ---------------- */
.zx-forum .zx-forum-form-wrap { max-width: 820px; margin: 0 auto; padding: 44px 20px 0; }
.zx-forum .zx-forum-form-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
.zx-forum .zx-forum-form-field label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--zx-amber-dim); }
.zx-forum .zx-forum-form-field input, .zx-forum .zx-forum-form-field textarea {
    width: 100%; background: var(--zx-bg-2); border: 1px solid var(--zx-line-2); color: var(--zx-text);
    font-family: var(--font-body); font-size: 15px; padding: 14px 16px; outline: none; transition: border-color .2s;
}
.zx-forum .zx-forum-form-field textarea { min-height: 200px; resize: vertical; }
.zx-forum .zx-forum-form-field input:focus, .zx-forum .zx-forum-form-field textarea:focus { border-color: var(--zx-amber-dim); }
.zx-forum .zx-forum-submit {
    font-family: var(--font-mono); font-size: 13px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600;
    background: var(--zx-amber); color: #10130f; border: none; padding: 14px 30px; cursor: pointer; transition: all .2s;
    display: inline-flex; align-items: center; gap: 10px;
}
.zx-forum .zx-forum-submit:hover { background: transparent; color: var(--zx-amber); box-shadow: inset 0 0 0 1.5px var(--zx-amber); }
.zx-forum .admin-form-errors {
    display: flex; gap: 12px; padding: 16px 18px; border: 1px solid rgba(255,90,44,.35); background: rgba(255,90,44,.08);
    color: var(--zx-danger); font-family: var(--font-mono); font-size: 13px; margin-bottom: 20px;
}
.zx-forum .admin-form-errors ul { margin: 0; padding-left: 18px; }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 860px) {
    .zx-forum .zx-forum-hero { min-height: 38vh; }
    .zx-forum .forum-list-item { padding: 16px 18px; gap: 14px; }
    .zx-forum .forum-list-item-comments { min-width: 52px; padding-left: 14px; }
}
@media (max-width: 560px) {
    .zx-forum .zx-forum-hero-title { letter-spacing: -1px; }
    .zx-forum .zx-forum-toolbar { flex-direction: column; align-items: stretch; }
    .zx-forum .forum-ask-btn { justify-content: center; }
}

/* mobile: keep long hero eyebrow on one line */
@media (max-width: 560px) {
    .zx-forum .zx-forum-hero-eyebrow { font-size: 11px; letter-spacing: 2px; gap: 9px; }
    .zx-forum .zx-forum-hero-eyebrow::before { width: 22px; }
}

/* ---------- Вложения-картинки в темах и комментариях форума ---------- */
.zx-forum-attach { margin: 14px 0 4px; }
.zx-forum-attach img {
    max-width: 100%; max-height: 520px; height: auto; display: block;
    border: 1px solid var(--zx-line-2); background: #000;
}
.zx .chat-message .zx-forum-attach { margin-left: 0; }
.zx-forum-attach-btn {
    display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0;
    font-family: var(--font-mono); font-size: 12px; letter-spacing: 1px; text-transform: uppercase;
    color: var(--zx-amber-dim); border: 1px solid var(--zx-line-2); background: transparent;
    padding: 10px 14px; cursor: pointer; transition: all .2s; align-self: flex-start;
}
.zx-forum-attach-btn:hover { color: var(--zx-amber); border-color: var(--zx-amber-dim); }
.zx-forum-attach-btn span { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
