/* v32 · форум (forum.py): поверх seo.css — те же шапка, поле, лист и пилюли. Цвет рубрики берётся из body[data-ds]. */
[hidden]{display:none!important}
.fchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.fchips.fscroll{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut);scrollbar-width:none}
.fchips.fscroll::-webkit-scrollbar{display:none}
.fscroll .fchip{flex:none}
.fchip em{font-style:normal;opacity:.7;margin-left:6px}
.fchip.dk{background:var(--soft);color:var(--ink)}
.fsearch{display:flex;gap:8px;margin-top:16px;max-width:560px}
.fsearch input{flex:1;min-width:0;min-height:52px;padding:0 20px;border:0;border-radius:99px;background:#fff;color:#262c33;font:600 16px/1 var(--fb)}
.fsearch input::placeholder{color:#7b8591}
.fsearch .fchip{min-height:52px;border:0}
.fprice .more{color:#fff;font-weight:800;font-size:15px;text-underline-offset:3px;margin-top:4px}

/* ---------- лента веток ---------- */
.ftop{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:22px}
.flink{color:var(--fsi);font-weight:800;font-size:15px;text-underline-offset:3px}
.flist{display:grid;gap:12px}
.ft{position:relative;display:grid;gap:6px;background:var(--soft);border-radius:24px;padding:20px 22px 18px;text-decoration:none;color:var(--ink);overflow:hidden;transition:transform .4s var(--out),box-shadow .4s var(--out)}
.ft::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--cc,var(--fsf))}
.ft .tag{font:800 12px/1 var(--fb);letter-spacing:.06em;text-transform:uppercase;color:var(--cc,var(--fsi))}
.ft h3{font:700 clamp(17px,2.2vw,20px)/1.25 var(--fh);letter-spacing:-.03em;overflow-wrap:anywhere}
.ft p{color:var(--mute);font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fm{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--mute);font-size:14px;font-weight:700;margin-top:4px}
@media(hover:hover){.ft:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(20,30,50,.12)}}
.fbadge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;margin-left:8px;border-radius:99px;background:var(--fsf);color:#fff;font:800 12px/1 var(--fb);vertical-align:middle}
.ft .fbadge{position:absolute;right:16px;top:16px;margin:0}
.fbadge.pin{background:var(--fsd)}
.fpager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px;color:var(--mute);font-weight:700;font-size:15px;flex-wrap:wrap}
.fpager .fchip{text-decoration:none}
.fempty{background:var(--soft);border-radius:24px;padding:28px 24px;display:grid;gap:12px;justify-items:start}
.fempty p{color:var(--mute)}

/* ---------- встроенный призыв: смета / главная ---------- */
.fcta{background:var(--fsf);color:#fff;border-radius:var(--r);padding:clamp(22px,3.5vw,36px);display:grid;gap:16px;margin:6px 0}
.fcta h2{margin:0;color:#fff;font-size:clamp(20px,2.4vw,28px)}
.fcta p{max-width:52ch;opacity:.92}
.fcta .btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fcta-in{margin:18px 0}

/* ---------- сообщения ---------- */
.fposts{max-width:none}
.fp{background:var(--soft);border-radius:24px;padding:20px 22px 12px;margin-top:14px;scroll-margin-top:90px}
.fp.first{background:#fff;box-shadow:inset 0 0 0 2px var(--line)}
.fp header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.fav{flex:none;width:44px;height:44px;border-radius:50%;background:var(--fsf);color:#fff;display:grid;place-items:center;font:700 18px/1 var(--fh)}
.fp header b{font-weight:800}
.fp header time{display:block;color:var(--mute);font-size:14px}
.fbody{font-size:17px;line-height:1.65;overflow-wrap:anywhere}
.fbody p+p{margin-top:.8em}
.fimgs{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.fimg{display:block;border-radius:16px;overflow:hidden;background:#fff;line-height:0}
.fimg img{display:block;max-width:100%;width:auto;height:auto;max-height:340px;object-fit:cover}
.fp footer{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
.fact{min-height:44px;padding:0 4px;color:var(--mute);font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.fact:hover{color:var(--ink)}
.fnote{background:#fff4ee;border-radius:16px;padding:12px 16px;font-size:15px;margin:0 0 12px;color:#5a3b22}
.fp .fnote{margin-top:0}

/* ---------- форма ---------- */
.fform{margin-top:30px;background:var(--soft);border-radius:var(--r);padding:clamp(18px,3vw,30px)}
.fform h2{font-size:clamp(20px,2.4vw,26px);margin-bottom:14px}
.fcompose{display:none;gap:14px}
.jsok .fcompose{display:grid}
.fcompose input[name=title],.fcompose textarea{width:100%;border:2px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);font:600 17px/1.5 var(--fb);padding:14px 18px;min-height:52px;resize:vertical}
.fcompose textarea{min-height:130px}
.fcompose input:focus-visible,.fcompose textarea:focus-visible{outline:3px solid var(--fsi);outline-offset:2px}
.fcats{display:flex;flex-wrap:wrap;gap:8px}
.fopt{position:relative}
.fopt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}
.fopt span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:99px;background:#fff;box-shadow:inset 0 0 0 2px var(--line);font:800 15px/1 var(--fb);transition:background-color .25s,color .25s}
.fopt input:checked+span{background:var(--fsf);color:#fff;box-shadow:none}
.fopt input:focus-visible+span{outline:3px solid var(--fsi);outline-offset:2px}
.frow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.fform .pill.out{color:var(--fsd);box-shadow:inset 0 0 0 2px var(--fsd);min-height:52px;cursor:pointer}
.fhint{color:var(--mute);font-size:14px;max-width:44ch}
.fcheck{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45}
.fcheck input{flex:none;width:24px;height:24px;margin-top:1px;accent-color:var(--fsf)}
.fcheck a{color:var(--fsi)}
.fcompose .pill.dark{justify-self:start;border:0;cursor:pointer}
.fcompose .pill[disabled]{opacity:.55;cursor:wait}
.fmsg{min-height:1.4em;font-weight:700;font-size:15px;overflow-wrap:anywhere}
.fmsg.err{color:#b3261e}.fmsg.ok{color:#176a3c}
.fmsg a{color:var(--fsi)}
.fgate{display:grid;gap:14px;justify-items:start}
.fgate p{max-width:56ch}
.fprev{position:relative;width:96px;height:96px;border-radius:14px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 2px var(--line)}
.fprev img{width:100%;height:100%;object-fit:cover;display:block}
.fprev i{position:absolute;left:0;right:0;bottom:0;background:rgba(20,28,40,.78);color:#fff;font:700 11px/1.25 var(--fb);padding:3px 5px;font-style:normal}
.fprev.bad i{background:#b3261e}
.fprev button{position:absolute;top:2px;right:2px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.92);font:800 15px/1 var(--fb)}
.fprev button:focus-visible{outline-color:var(--fsd)}
.rel{margin-top:clamp(36px,5vw,56px)}

/* ---------- очередь администратора ---------- */
.fq{background:var(--soft);border-radius:24px;padding:18px 20px;margin-top:14px;display:grid;gap:10px}
.fq h3{font:700 17px/1.3 var(--fh);letter-spacing:-.02em;overflow-wrap:anywhere}
.fq .meta{color:var(--mute);font-size:14px;font-weight:700}
.fq .txt{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;background:#fff;border-radius:16px;padding:12px 14px}
.fq .btns{display:flex;flex-wrap:wrap;gap:8px}
.fq button.fb{min-height:44px;padding:0 18px;border-radius:99px;background:var(--fsd);color:#fff;font:800 14px/1 var(--fb)}
.fq button.fb.no{background:#fff;color:#b3261e;box-shadow:inset 0 0 0 2px #b3261e}
.fq button.fb.gh{background:#fff;color:var(--fsd);box-shadow:inset 0 0 0 2px var(--fsd)}
.fq .fimgs img{max-height:180px;width:auto}
.fstat{color:var(--mute);font-size:14px;margin-top:6px}
.ftoast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:120;max-width:min(92vw,460px);background:#1f2933;color:#fff;border-radius:18px;padding:14px 18px;font-weight:700;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.25)}

@media(max-width:860px){
  .fsearch{max-width:none}
  .fp{padding:16px 16px 8px;border-radius:20px}
  .fform{padding:18px 16px;border-radius:24px}
  .fcompose .pill.dark{width:100%;justify-content:space-between}
  .fgate .pill{width:100%}
  .fcta .btns .pill{width:100%}
  .fimg img{max-height:260px}
}
@media(min-width:1100px){
  .art .aside .flink{display:block;margin-top:4px}
  .flist{grid-template-columns:1fr 1fr}
  .flist .fcta,.flist .fempty{grid-column:1/-1}
}

/* ссылки внутри листа .blk красит seo.css в цвет рубрики — для карточек веток и кнопок страниц возвращаем свой цвет */
.sheet .blk a.ft:not(.card):not(.pill){color:var(--ink)}
.sheet .blk a.fchip.dk:not(.card):not(.pill){color:var(--ink)}
