/* ============================================================
   OLD LOFT — CSS блога (Content Engine): статья (single) + хаб (/idei/).
   Выносим из инлайна (HTML-минификатор W3TC ломал инлайн-CSS).
   Переменные --bg/--acc/--text/--mw и т.д. — из :root дочерней темы (style.css).
   ============================================================ */
.olf-blog{
  --bg3:#1D2022;--line2:rgba(232,234,236,.07);--tint2:rgba(176,122,79,.06);
  --radius:2px;--col:760px;--amw:1120px;
  --ff-head:'Oswald','Arial Narrow',system-ui,sans-serif;
  --ff-body:'Manrope',-apple-system,'Segoe UI',Roboto,system-ui,sans-serif;
  --ff-mono:'JetBrains Mono','SFMono-Regular',Consolas,monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
  max-width:var(--amw);margin:0 auto;padding:0 clamp(20px,5vw,64px) 20px;
  text-align:left;font-family:var(--ff-body);
}
.olf-blog *{text-align:left}
/* СБРОС ССЫЛОК (родительский blankslate не подключён → иначе дефолт-синие+underline) */
.olf-blog a{color:inherit;text-decoration:none}
.olf-blog .over{font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--acc2);font-weight:500;display:inline-flex;align-items:center;gap:.7em}
.olf-blog .over::before{content:"";width:26px;height:1px;background:var(--acc);opacity:.7}
.olf-blog .over.no-line::before{display:none}
.olf-blog h1,.olf-blog h2,.olf-blog h3{font-family:var(--ff-head);font-weight:700;line-height:1.06;margin:0;letter-spacing:.005em;color:var(--text)}

/* ============ HERO статьи (split) ============ */
.olf-hero{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(28px,4vw,64px);align-items:stretch;padding:clamp(20px,4vw,44px) 0 clamp(34px,5vw,60px)}
.olf-hero__media{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:clamp(400px,56vh,640px);background:linear-gradient(160deg,#202427,#15171a)}
.olf-hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:saturate(1.02) contrast(1.02);transition:transform 1.2s var(--ease)}
.olf-hero:hover .olf-hero__media img{transform:scale(1.03)}
.olf-hero__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(23,25,27,.05) 0%,transparent 26%,transparent 55%,rgba(23,25,27,.72) 100%),linear-gradient(90deg,rgba(23,25,27,.35),transparent 30%)}
.olf-hero__media .badge{position:absolute;left:18px;top:18px;z-index:2;font-family:var(--ff-mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text);background:rgba(23,25,27,.55);border:1px solid var(--line);padding:7px 12px;border-radius:var(--radius);backdrop-filter:blur(6px)}
.olf-hero__media .cutline{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.1em;color:var(--sub);display:flex;justify-content:space-between;gap:12px}
.olf-hero__media .cutline b{color:var(--acc2);font-weight:500}
.olf-hero__body{display:flex;flex-direction:column;justify-content:center;max-width:620px}
.olf-hero__body .over{margin-bottom:22px}
.olf-hero h1{font-size:clamp(2rem,4.4vw,3.7rem);margin:0 0 24px}
.olf-hero__excerpt{color:var(--sub);font-size:1.05rem;margin:0 0 6px;max-width:52ch}
.olf-hero .meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding-top:22px;margin-top:20px;border-top:1px solid var(--line)}
.olf-hero .meta .dot{width:4px;height:4px;background:var(--acc);border-radius:50%}
.olf-hero .meta .who{color:var(--text)}

/* ============ ТЕЛО ЛОНГРИДА (стилизуем Gutenberg the_content) ============ */
/* Раскладка лонгрида: липкий рельс слева + колонка текста (убирает пустоту на широких экранах) */
.olf-body-wrap{display:grid;grid-template-columns:230px minmax(0,var(--col));gap:clamp(28px,4vw,60px);justify-content:center;align-items:start;margin-top:clamp(6px,2vw,18px)}
.olf-rail{position:sticky;top:96px;align-self:start}
/* старые статьи с малым числом H2: рельс скрыт → текст на всю ширину, без пустой колонки */
.olf-body-wrap.no-rail{grid-template-columns:minmax(0,var(--col));max-width:var(--col);margin-left:auto;margin-right:auto}
.olf-rail .rail-lbl{font-family:var(--ff-mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc2);font-weight:500;margin-bottom:.9rem;display:block}
.olf-rail #olf-toc{list-style:none;margin:0;padding:0 0 0 14px;border-left:1px solid var(--line);display:grid;gap:.65em}
.olf-rail #olf-toc a{color:var(--dim);font-size:.82rem;line-height:1.35;transition:color .2s,border-color .2s}
.olf-rail #olf-toc a:hover{color:var(--acc2)}
.olf-rail .rail-cta{display:inline-flex;align-items:center;gap:.6em;margin-top:1.8rem;font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text);border:1px solid var(--line);padding:11px 15px;border-radius:var(--radius);transition:border-color .25s,color .25s}
.olf-rail .rail-cta:hover{border-color:var(--acc);color:var(--acc2)}
.olf-rail .rail-cta .arw{transition:transform .25s var(--ease)}
.olf-rail .rail-cta:hover .arw{transform:translateX(3px)}
.article-body{max-width:none;margin:0;padding:0 0 40px;counter-reset:h2}
.article-body p{color:var(--sub);margin:0 0 1.5em;font-size:clamp(1.02rem,1.2vw,1.16rem);line-height:1.8}
.article-body p strong,.article-body strong,.article-body b{color:var(--text);font-weight:700}
/* буквица убрана по просьбе — первый абзац как обычный текст */
.article-body h2{font-size:clamp(1.5rem,2.7vw,2.1rem);margin:2.4em 0 .7em;position:relative}
.article-body h2::before{counter-increment:h2;content:counter(h2,decimal-leading-zero) " /";display:block;font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.22em;color:var(--acc2);font-weight:500;margin-bottom:.7rem}
.article-body h3{font-size:clamp(1.2rem,1.6vw,1.5rem);margin:1.8em 0 .5em}
/* prose-ссылки в теле статьи — кожаные (после общего сброса) */
.article-body a{color:var(--acc2);text-decoration:underline;text-decoration-color:rgba(176,122,79,.5);text-underline-offset:3px}
.article-body a:hover{color:var(--acc)}
.article-body ul,.article-body ol{margin:0 0 1.8em;padding:0;list-style:none;display:grid;gap:.85em}
.article-body ul li{position:relative;padding-left:2.1em;color:var(--sub)}
.article-body ul li::before{content:"";position:absolute;left:0;top:.7em;width:12px;height:1px;background:var(--acc)}
.article-body ol{counter-reset:li}
.article-body ol li{position:relative;padding-left:2.4em;color:var(--sub);counter-increment:li}
.article-body ol li::before{content:counter(li,decimal-leading-zero);position:absolute;left:0;top:.05em;font-family:var(--ff-mono);font-size:.8em;color:var(--acc2);font-weight:700}
.article-body li b,.article-body li strong{color:var(--text);font-weight:600}
.article-body figure,.article-body .wp-block-image{margin:2.4em 0;border:0;background:none;border-radius:0;overflow:visible}
.article-body figure img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:3px;border:1px solid var(--line)}
.article-body figcaption,.article-body .wp-element-caption{position:static;margin-top:.7em;padding:0;border:0;background:none;font-size:.85rem;line-height:1.45;color:var(--dim);font-style:italic;font-family:var(--ff-body)}
.article-body blockquote{margin:2.6em 0;padding:clamp(22px,3vw,34px);background:linear-gradient(180deg,var(--tint2),transparent);border-left:2px solid var(--acc);border-radius:var(--radius);font-family:var(--ff-head);font-weight:500;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.3;color:var(--text)}
.article-body blockquote p{color:var(--text);font-size:inherit;font-family:inherit;opacity:1}
.article-body blockquote cite{display:block;margin-top:14px;font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2);font-style:normal}
.article-body hr{border:0;height:1px;background:var(--line);margin:2.4em 0}
/* СКРЫВАЕМ мусорный хвост, который плагины лепят в конец the_content */
.article-body .post-views,.article-body .addtoany_share_save_container,.article-body .addtoany_content,.article-body .sharedaddy,.article-body .a2a_kit,.olf-single .post-views,.article-body [class*="pinit"],.article-body .pin-it-button,.article-body a[data-pin-do],.article-body .pinit-hover{display:none!important}

/* ============ CTA ============ */
.olf-cta{max-width:var(--col);margin:3.2em auto;padding:clamp(26px,4vw,42px);border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(600px 300px at 100% 0%,var(--tint),transparent 60%),var(--bg3);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.olf-cta .over{margin-bottom:12px}
.olf-cta h3{font-family:var(--ff-head);font-weight:700;font-size:clamp(1.35rem,2.6vw,1.9rem);max-width:18ch;line-height:1.1}
.olf-btn{font-family:var(--ff-mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;display:inline-flex;align-items:center;gap:.8em;background:var(--acc);color:#141414;padding:15px 26px;border-radius:var(--radius);border:1px solid var(--acc);transition:transform .3s var(--ease),background .3s var(--ease);white-space:nowrap}
.olf-btn:hover{background:var(--acc2);transform:translateY(-2px)}
.olf-btn .arw{transition:transform .3s var(--ease)}.olf-btn:hover .arw{transform:translateX(4px)}
.olf-btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.olf-btn.ghost:hover{border-color:var(--acc);color:var(--acc2)}

/* ============ post-nav ============ */
.olf-post-nav{max-width:var(--col);margin:0 auto;padding:24px 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.olf-post-nav a{flex:1;max-width:48%}
.olf-post-nav .dir{font-family:var(--ff-mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:8px;display:block}
.olf-post-nav .ttl{font-family:var(--ff-head);font-weight:500;font-size:1.05rem;color:var(--sub);transition:color .25s;line-height:1.2;display:block}
.olf-post-nav a:hover .ttl{color:var(--acc2)}
.olf-post-nav .next .ttl,.olf-post-nav .next .dir{text-align:right}

/* ============ HUB ============ */
.olf-hub-head{padding:clamp(28px,5vw,70px) 0 clamp(20px,3vw,34px);border-bottom:1px solid var(--line)}
.olf-hub-head .over{margin-bottom:20px}
.olf-hub-head h1{font-size:clamp(2.6rem,8vw,6rem);line-height:.94;margin-bottom:20px}
.olf-hub-head .lead{max-width:56ch;color:var(--sub);font-size:clamp(1.02rem,1.4vw,1.22rem);line-height:1.6}
.olf-filters{display:flex;flex-wrap:wrap;gap:8px;padding:24px 0 4px}
.olf-chip{font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);background:transparent;padding:9px 16px;border-radius:var(--radius)}
.olf-chip.active{background:var(--tint);color:var(--acc2);border-color:rgba(176,122,79,.35)}
.olf-feature{display:grid;grid-template-columns:1.35fr 1fr;gap:0;margin:clamp(26px,4vw,48px) 0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .4s var(--ease)}
.olf-feature:hover{border-color:rgba(176,122,79,.4)}
.olf-feature__media{position:relative;overflow:hidden;min-height:clamp(300px,42vh,500px);background:linear-gradient(160deg,#202427,#15171a)}
.olf-feature__media img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;transition:transform 1.2s var(--ease)}
.olf-feature:hover .olf-feature__media img{transform:scale(1.04)}
.olf-feature__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,25,27,.15),transparent 40%),linear-gradient(180deg,transparent 55%,rgba(23,25,27,.5))}
.olf-feature__badge{position:absolute;left:18px;top:18px;z-index:2;font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#141414;background:var(--acc);padding:7px 13px;border-radius:var(--radius);font-weight:500}
.olf-feature__body{padding:clamp(26px,3.4vw,46px);display:flex;flex-direction:column;justify-content:center;background:var(--bg3)}
.olf-feature__body .over{margin-bottom:16px}
.olf-feature__body h2{font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1.05;margin-bottom:16px}
.olf-feature__body h2 a{transition:color .3s}.olf-feature__body h2 a:hover{color:var(--acc2)}
.olf-feature__body p{color:var(--sub);margin:0 0 20px;max-width:46ch;line-height:1.6}
.olf-feature__meta{font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);display:flex;gap:14px;align-items:center}
.olf-feature__meta .dot{width:4px;height:4px;background:var(--acc);border-radius:50%}
.olf-grid6{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}

/* ============ карточки (related + hub) ============ */
.olf-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.olf-block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:clamp(44px,6vw,80px) 0 28px;flex-wrap:wrap}
.olf-block-head h2{font-size:clamp(1.6rem,3vw,2.3rem)}
.olf-block-head .over{margin-bottom:12px;display:inline-flex}
.olf-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg3);display:flex;flex-direction:column;transition:border-color .4s var(--ease),transform .4s var(--ease)}
.olf-card:hover{border-color:rgba(176,122,79,.4);transform:translateY(-4px)}
.olf-card__media{position:relative;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(160deg,#202427,#15171a)}
.olf-card__media img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;transition:transform 1s var(--ease)}
.olf-card:hover .olf-card__media img{transform:scale(1.06)}
.olf-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(23,25,27,.55));pointer-events:none}
.olf-card__rub{position:absolute;left:14px;top:14px;z-index:2;font-family:var(--ff-mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text);background:rgba(23,25,27,.55);border:1px solid var(--line);padding:5px 10px;border-radius:var(--radius);backdrop-filter:blur(6px)}
.olf-card__body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1;gap:11px}
.olf-card__date{font-family:var(--ff-mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.olf-card h3{font-family:var(--ff-head);font-weight:500;font-size:1.2rem;line-height:1.18;color:var(--text);transition:color .3s}
.olf-card:hover h3{color:var(--acc2)}
.olf-card__more{margin-top:auto;font-family:var(--ff-mono);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);display:inline-flex;align-items:center;gap:.6em;transition:color .3s}
.olf-card:hover .olf-card__more{color:var(--acc2)}
.olf-card__more .arw{transition:transform .3s var(--ease)}
.olf-card:hover .olf-card__more .arw{transform:translateX(4px)}

/* ============ пагинация ============ */
.olf-pager{display:flex;align-items:center;justify-content:center;gap:8px;padding:clamp(36px,5vw,64px) 0 20px;flex-wrap:wrap}
.olf-pager .page-numbers{font-family:var(--ff-mono);font-size:.74rem;letter-spacing:.1em;color:var(--dim);min-width:42px;height:42px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);transition:all .3s var(--ease)}
.olf-pager a.page-numbers:hover{color:var(--acc2);border-color:rgba(176,122,79,.35)}
.olf-pager .page-numbers.current{background:var(--tint);color:var(--acc2);border-color:rgba(176,122,79,.35)}
.olf-pager .page-numbers.dots{border:0}
.olf-empty{color:var(--dim);padding:3rem 0}

/* ============ адаптив ============ */
@media(max-width:1000px){
  .olf-body-wrap{grid-template-columns:minmax(0,var(--col));max-width:var(--col);margin-left:auto;margin-right:auto}
  .olf-rail{display:none}
}
@media(max-width:900px){
  .olf-hero{grid-template-columns:1fr;gap:22px}.olf-hero__media{min-height:52vh;order:-1}
  .olf-feature{grid-template-columns:1fr}.olf-feature__media{min-height:44vh}
  .olf-cards,.olf-grid6{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .olf-cards,.olf-grid6{grid-template-columns:1fr}
  .olf-post-nav{flex-direction:column}.olf-post-nav a{max-width:100%}
  .olf-post-nav .next .ttl,.olf-post-nav .next .dir{text-align:left}
  .olf-cta{flex-direction:column;align-items:flex-start}
}
