/* ============================================================
   AI-БЛОГ ivanchepurnov.ru — собственная тема /ai-blog/
   Токены из /assets/css/app.css: --void, --ivory, --dim, --line, --plasma.
   Спокойная типографика, тонкие линии, без тяжёлых карточек и эмодзи.
   ============================================================ */

.blog-page{background:var(--void);color:var(--ivory);}

.blog-page main{display:block;}

.blog-page .wrap{width:min(1100px,92vw);margin-inline:auto;}

.blog-page .arrow{display:inline-block;transition:transform .25s var(--ease,cubic-bezier(.16,1,.3,1));}
.blog-page a:hover .arrow{transform:translateX(4px);}

/* ---------- хаб: обложка ---------- */
.ab-hero{padding:clamp(96px,14vh,160px) 0 clamp(28px,5vh,56px);border-bottom:1px solid var(--line);}
.ab-hero__kicker{margin:0 0 14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);}
.ab-hero__title{margin:0 0 18px;font-size:clamp(30px,5vw,60px);line-height:1.04;font-weight:600;max-width:22ch;}
.ab-hero__lead{margin:0 0 14px;max-width:64ch;font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--ivory);}
.ab-hero__funnel{margin:0;max-width:64ch;font-size:15px;line-height:1.6;color:var(--dim);}
.ab-hero__link{color:var(--ivory);text-decoration:none;border-bottom:1px solid var(--plasma);}
.ab-hero__link:hover{color:var(--plasma);}

/* ---------- рубрики-якоря ---------- */
.ab-chips{display:flex;flex-wrap:wrap;gap:10px 18px;padding:22px 0;border-bottom:1px solid var(--line);}
.wrap.ab-chips{padding-left:0;padding-right:0;}
.ab-chip{font-size:13px;letter-spacing:.04em;color:var(--dim);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;}
.ab-chip:hover,.ab-chip.is-active{color:var(--ivory);border-bottom-color:var(--plasma);}

/* ---------- списки карточек (не сетка) ---------- */
.ab-cat{padding:clamp(28px,4vh,44px) 0 0;}
.ab-cat__title{position:relative;margin:0 0 6px;font-size:clamp(22px,2.4vw,32px);font-weight:600;}
.ab-cat__count{margin-left:12px;font-size:12px;color:var(--dim);vertical-align:middle;}
.ab-cards{display:flex;flex-direction:column;}
.ab-card{border-bottom:1px solid var(--line);}
.ab-card__link{display:block;padding:20px 0;text-decoration:none;color:inherit;}
.ab-card__link:hover .ab-card__title{color:var(--plasma);}
.ab-card__meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);}
.ab-card__cat{color:var(--plasma);}
.ab-card__title{margin:0 0 8px;font-size:clamp(19px,1.9vw,26px);line-height:1.2;font-weight:600;transition:color .2s;}
.ab-card__desc{margin:0;max-width:70ch;font-size:16px;line-height:1.6;color:var(--dim);}
.ab-card__thumb{display:block;width:100%;max-width:420px;aspect-ratio:16/9;object-fit:cover;margin:0 0 16px;border:1px solid var(--line);background:rgba(241,238,230,.04);}
.ab-badge{display:inline-block;padding:2px 7px;border:1px solid var(--plasma);color:var(--plasma);font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
.ab-empty{padding:40px 0;color:var(--dim);}
.ab-hub__cta{padding:40px 0 80px;}

/* ---------- статья ---------- */
.ab-article{display:block;}
.ab-arthero{padding:clamp(92px,13vh,150px) 0 clamp(20px,4vh,40px);border-bottom:1px solid var(--line);}
.ab-crumbs ol{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0 0 22px;padding:0;list-style:none;font-size:13px;color:var(--dim);}
.ab-crumbs li::after{content:"/";margin-left:10px;color:var(--line);}
.ab-crumbs li:last-child::after{content:"";}
.ab-crumbs a{color:var(--dim);text-decoration:none;}
.ab-crumbs a:hover{color:var(--ivory);}
.ab-crumbs [aria-current]{color:var(--ivory);}
.ab-arthero__meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 14px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);}
.ab-arthero__cat{color:var(--plasma);}
.ab-arthero__title{margin:0 0 18px;font-size:clamp(30px,4.6vw,54px);line-height:1.06;font-weight:600;max-width:24ch;}
.ab-arthero__lead{margin:0;max-width:66ch;font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--dim);}

/* ---------- тело статьи: 16–18px, ~70ch ---------- */
.ab-body{max-width:70ch;padding:clamp(28px,4vh,48px) 0;font-size:17px;line-height:1.72;}
.ab-body > *{max-width:70ch;}
.ab-body p{margin:0 0 1.15em;font-size:clamp(16px,1.15vw,18px);}
.ab-body h2{margin:2em 0 .6em;font-size:clamp(23px,2.4vw,32px);line-height:1.15;font-weight:600;}
.ab-body h3{margin:1.6em 0 .5em;font-size:clamp(19px,1.8vw,24px);line-height:1.2;font-weight:600;}
.ab-body ul,.ab-body ol{margin:0 0 1.2em;padding-left:1.3em;}
.ab-body li{margin:0 0 .5em;}
.ab-body a{color:var(--ivory);text-decoration:none;border-bottom:1px solid var(--plasma);}
.ab-body a:hover{color:var(--plasma);}
.ab-body blockquote{margin:1.4em 0;padding:0 0 0 20px;border-left:2px solid var(--plasma);color:var(--dim);}
.ab-body blockquote p{margin:0;}
.ab-body code{font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:.9em;background:rgba(241,238,230,.06);padding:.1em .35em;}
.ab-body pre{margin:1.4em 0;padding:16px;overflow-x:auto;background:rgba(241,238,230,.05);border:1px solid var(--line);}
.ab-body pre code{background:none;padding:0;font-size:14px;}

/* ---------- изображения (v2): тонкая рамка, без тяжёлых карточек ---------- */
.ab-cover{margin:clamp(20px,3vh,30px) 0 0;max-width:70ch;}
.ab-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);background:rgba(241,238,230,.04);}
.ab-figure{margin:1.6em 0;padding:10px;border:1px solid var(--line);background:rgba(241,238,230,.03);}
.ab-figure img{display:block;width:100%;height:auto;border:1px solid var(--line);}
.ab-figure figcaption{margin:10px 2px 0;font-size:14px;line-height:1.5;color:var(--dim);}

/* ---------- источники / связанные / CTA ---------- */
.ab-section-title{margin:0 0 18px;font-size:clamp(20px,2vw,28px);font-weight:600;}
.ab-sources{padding:8px 0 32px;border-top:1px solid var(--line);}
.ab-sources__list{max-width:70ch;margin:0;padding-left:1.3em;font-size:15px;line-height:1.6;}
.ab-sources__list li{margin:0 0 .5em;}
.ab-sources__list a{color:var(--dim);text-decoration:none;border-bottom:1px solid var(--line);}
.ab-sources__list a:hover{color:var(--ivory);}
.ab-related{padding:32px 0;border-top:1px solid var(--line);}
.ab-related__list{max-width:70ch;margin:0;padding:0;list-style:none;}
.ab-related__list li{border-bottom:1px solid var(--line);}
.ab-related__list a{display:block;padding:14px 0;color:var(--ivory);text-decoration:none;font-size:17px;}
.ab-related__list a:hover{color:var(--plasma);}
.ab-cta{margin:8px 0 40px;padding:clamp(24px,3vh,36px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ab-cta__lead{margin:0 0 16px;max-width:66ch;font-size:clamp(17px,1.5vw,21px);line-height:1.55;}
.ab-cta__link{display:inline-block;padding:12px 20px;border:1px solid var(--plasma);color:var(--ivory);text-decoration:none;font-size:15px;letter-spacing:.02em;}
.ab-cta__link:hover{background:var(--plasma);color:var(--void);}
.ab-back{display:inline-block;margin:8px 0 72px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);text-decoration:none;}
.ab-back:hover{color:var(--ivory);}

/* ---------- адаптив ---------- */
@media (max-width:979px){
  /* 7 пунктов меню: на blog-страницах убираем тесноту в нижней навигации */
  .blog-page .mnav{gap:2px;}
  .blog-page .mnav a{font-size:clamp(8px,2.2vw,10px);letter-spacing:0;padding:.8em .05em;}
}
@media (max-width:640px){
  .blog-page .wrap{width:92vw;}
  .ab-hero__title{max-width:none;}
  .ab-arthero__title{max-width:none;}
  .ab-card__meta{gap:5px 12px;}
}
