/* #2368 Главные страницы разделов (Форматы, Инструменты, Безопасность, Статьи, Новости, О проекте) в вёрстке главной Cool Dawn.
   Дополняет /assets/lf5/home.css + res.css. Блоки собираются из текущих текстов страниц (projects/lf-redesign/port/build_hubs.py). */
.hb-page .hero .sub+.lf-search{margin-top:32px}
.hb-intro{padding-top:72px!important}
.hb-intro+.rs-toc{padding-top:40px}
.hb .head .hb-sic{margin:0 auto 18px}
.hb-band .band{padding-bottom:72px}
.hb-band .head p,.hb-band .rs-note{background-clip:padding-box}
/* текстовая колонка */
.hb-prose{max-width:760px;margin:0 auto;font-size:17px;line-height:1.7;color:var(--slate)}
.hb-prose>*+*{margin-top:16px}
.hb-prose b{color:var(--ink);font-weight:600}
.hb-prose a:not(.btn){text-decoration:underline;text-decoration-color:var(--blue-t);text-underline-offset:3px;text-decoration-thickness:2px}
.hb-prose a:not(.btn):hover{text-decoration-color:var(--blue)}
.hb-h3{font-size:22px;line-height:1.3;letter-spacing:-.02em;color:var(--ink);margin-top:36px!important}
.hb-list{display:grid;gap:10px}
.hb-list li{position:relative;padding-left:22px}
.hb-list li::before{content:"";position:absolute;left:4px;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--blue)}
.hb-ctas{margin-top:24px!important}
.hb-ctas .btn{white-space:normal;text-align:center;height:auto;min-height:48px;padding-top:12px;padding-bottom:12px;line-height:1.35}
.hb-prose+.dirs,.hb-prose+.rs-tbl,.hb-prose+.hb-pts,.hb-prose+.hb-check,.hb-prose+.rs-steps,.dirs+.hb-prose,.rs-tbl+.hb-prose,.rs-note+.hb-prose,.hb-pts+.hb-prose,.rs-steps+.hb-prose,.hb-check+.hb-prose,.hb-pull+.rs-note{margin-top:32px}
.dirs+.rs-note,.rs-tbl+.rs-note,.hb-prose+.rs-note{margin-top:28px}
/* цитата-правило */
.hb-pull{display:flex;gap:14px;align-items:flex-start;max-width:860px;margin:32px auto 0!important;padding:22px 24px;border-radius:24px;background:var(--card);
  box-shadow:var(--sh-feat);border:1px solid rgba(226,232,240,.7);font:600 20px/1.45 var(--f);letter-spacing:-.015em;color:var(--ink)}
.hb-pull svg{flex:none;width:22px;height:22px;margin-top:3px;color:var(--blue);fill:var(--yel);stroke:#b88a00}
/* пункты-карточки (ul с жирным началом) */
.hb-pts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;max-width:1000px;margin:0 auto}
.hb-pt{display:flex;gap:14px;align-items:flex-start;background:var(--card);border-radius:20px;padding:20px;box-shadow:var(--sh-feat);border:1px solid rgba(226,232,240,.7)}
.hb-pt .ic{flex:none}
.hb-pt p{font-size:15px;line-height:1.6;color:var(--slate);padding-top:6px}
.hb-pt b{display:block;color:var(--ink);font-size:16px;font-weight:600;margin-bottom:2px}
/* чек-лист */
.hb-check{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:1000px;margin:0 auto}
.hb-ck{display:flex;gap:14px;align-items:center;background:var(--card);border-radius:16px;padding:16px 18px;box-shadow:var(--sh-feat);border:1px solid rgba(226,232,240,.7);font-size:16px;line-height:1.5;color:var(--ink)}
.hb-box{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--wash);color:var(--blue);transition:background-color .3s ease,color .3s ease}
.hb-box svg{width:16px;height:16px;opacity:.35;transition:opacity .3s ease}
.hb-ck:hover .hb-box{background:var(--blue);color:#fff}
.hb-ck:hover .hb-box svg{opacity:1}
.mo .hb-check.lit .hb-box{background:var(--blue);color:#fff}
.mo .hb-check.lit .hb-box svg{opacity:1}
/* шаги */
.hb-steps p{font-size:15px;line-height:1.6;color:var(--slate);margin-top:16px}
.hb-steps p b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}
.hb-n4{grid-template-columns:repeat(4,1fr)}
.hb-n3{grid-template-columns:repeat(3,1fr)}
/* сетки карточек */
.hb-grid{max-width:1180px;margin:0 auto}
.hb-g2{grid-template-columns:repeat(2,1fr);max-width:1000px}
.hb-g3{grid-template-columns:repeat(3,1fr)}
.hb-g4{grid-template-columns:repeat(4,1fr)}
.hb-grid .dir h3{font-size:19px;margin:18px 0 8px}
.hb-grid .dir p{flex:1}
.hb-fc .hb-x{align-self:flex-start;font:500 26px/1 var(--mono);letter-spacing:-.045em;color:var(--blue);padding:10px 12px;border-radius:12px;background:var(--wash);
  transition:background-color .25s ease,color .25s ease}
.hb-fc:hover .hb-x{background:var(--blue);color:#fff}
.hb-lc .htag,.hb-tool .htag{white-space:nowrap}
.hb-card .hb-num{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--wash);color:var(--blue);font:600 18px/1 var(--mono)}
.hb-card h3{margin-top:18px}
.hb-tool .ic svg{width:22px;height:22px}
.htag.hb-new{background:#fff4c2;color:#6b4e00}
/* заметки */
.hb-note{max-width:1000px}
.hb-note .hb-ct{display:block;color:var(--ink);font-size:16px;margin-bottom:4px}
.hb-ctext>*+*{margin-top:8px}
.hb-ctext .hb-list{margin-top:10px}
.hb-warn{background:#fffdf3;box-shadow:0 0 0 1px rgba(255,212,59,.6)}
.hb-warn .ic{background:#fff4c2;color:#8a6100}
/* таблицы */
.hb-tbl .hb-k{font-weight:600;color:var(--ink)}
.hb-tbl td .rs-tag{white-space:normal}
/* финальный блок */
.hb-final .trust-head+.rs-ctas{margin-top:24px}
.hb-final .rs-sum-l+.trust-ed{margin-top:32px}
/* витрина инструментов */
.hb-tools .marq{margin-bottom:32px}
.hb-feat{display:flex;align-items:center;gap:20px;max-width:1180px;margin:0 auto 16px;padding:22px 24px;border-radius:24px;background:var(--card);box-shadow:var(--sh-feat);
  border:1px solid rgba(226,232,240,.7);color:var(--slate)!important;transition:box-shadow .25s ease,border-color .25s ease}
.hb-feat:hover{box-shadow:var(--sh-feat-up);border-color:var(--blue-t)}
.hb-feat .ic{flex:none;background:var(--blue);color:#fff}
.hb-feat-tx{flex:1;display:flex;flex-direction:column;gap:4px;font-size:15px;line-height:1.55}
.hb-feat-tx b{font-size:19px;color:var(--ink);letter-spacing:-.015em}
.hb-feat .btn{flex:none}
/* ленты статей и новостей: разметка .posts/.post как у автопубликации, оформление — карточки главной */
.hb-feed .marq{margin-bottom:28px}
.hb-feed .filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 32px;padding:0;border:0;background:none}
.hb-feed .fpill{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:9999px;border:0;background:var(--card);
  font:600 14px/1 var(--f);color:var(--slate);cursor:pointer;box-shadow:var(--sh-card),0 0 0 1px rgba(226,232,240,.8);
  transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.hb-feed .fpill:hover{color:var(--blue);box-shadow:0 0 0 1px var(--blue-t)}
.hb-feed .fpill.active{background:var(--blue);color:#fff;box-shadow:0 8px 24px -10px rgba(20,90,255,.7)}
.hb-feed .fpill:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.hb-feed .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0}
.hb-feed .post{position:relative;display:flex;flex-direction:column;background:var(--card);border-radius:20px;overflow:hidden;box-shadow:var(--sh-feat);
  border:1px solid rgba(226,232,240,.7);transition:box-shadow .25s ease,transform .25s ease}
.hb-feed .post:hover{box-shadow:var(--sh-feat-up)}
.hb-feed .post .thumb{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:var(--wash);border-radius:12px;margin:8px 8px 0}
.hb-feed .post .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hb-feed .post:hover .thumb img{transform:scale(1.03)}
.hb-feed .post .badge{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:9999px;
  background:rgba(255,255,255,.92);color:var(--blue);font:600 12px/1 var(--f);box-shadow:var(--sh-card);backdrop-filter:blur(6px)}
.hb-feed .post .body{flex:1;display:flex;flex-direction:column;gap:10px;padding:18px 20px 22px}
.hb-feed .post h3{font-size:19px;line-height:1.35;letter-spacing:-.015em;margin:0}
.hb-feed .post h3 a{color:var(--ink)}
.hb-feed .post h3 a::after{content:"";position:absolute;inset:0;border-radius:20px}
.hb-feed .post:hover h3 a{color:var(--blue)}
.hb-feed .post .body p{font-size:15px;line-height:1.55;color:var(--slate);margin:0}
.hb-feed .post .meta{margin-top:auto;font-size:13px;color:var(--ash)}
.hb-feed .uz-feed{grid-column:1/-1}
.hb-feed .uz-feed:empty{display:none}
.hb-feed .more-wrap{text-align:center;margin-top:32px}
.hb-feed .more-btn{min-height:48px}
@media (max-width:1140px){
.hb-g4,.hb-n4{grid-template-columns:repeat(2,1fr)}
.hb-g3{grid-template-columns:repeat(2,1fr)}
.hb-feed .posts{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
.hb-check{grid-template-columns:1fr}
.hb-n3{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
.hb-intro{padding-top:48px!important}
.hb-prose{font-size:16px}
.hb-g2,.hb-g3,.hb-g4,.hb-n3,.hb-n4{grid-template-columns:1fr}
.hb-fc .hb-x{font-size:22px}
.hb-pull{font-size:17px;padding:18px}
.hb-feat{flex-direction:column;align-items:flex-start;padding:20px}
.hb-feat .btn{width:100%}
.hb-feed .posts{grid-template-columns:1fr;gap:16px}
.hb-feed .filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 24px;padding:2px 16px 8px;scrollbar-width:none}
.hb-feed .filters::-webkit-scrollbar{display:none}
.hb-feed .fpill{flex:none}
}

/* #2372: хабы без доски-иллюстрации (/stati/, /novosti/) */
.hero.hero-novis{padding-bottom:72px}
@media (max-width:760px){.hero.hero-novis{padding-bottom:48px}}
