/* Блог: зміст /blog/ і статті /blog/{slug}/ (inc/blog.php). Ще підключається на сторінці пошуку (index.php): там картки результатів беруть стилі карток блогу. */

.blog-main{padding-block:34px 100px}

/* «Хлібні крихти» (як у бібліотеці значень) */
.blog-crumbs{margin-bottom:34px;font-size:13px;font-weight:750;line-height:1.5}
/* Рядком тексту: довга назва статті переноситься як звичайне речення */
.blog-crumbs ol{margin:0;padding:0;list-style:none}
.blog-crumbs li{display:inline;overflow-wrap:break-word}
.blog-crumbs li+li::before{content:"›";margin:0 10px;color:var(--dim);font-weight:500}
.blog-crumbs a{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.blog-crumbs a:hover{color:var(--blue)}
.blog-crumbs [aria-current]{color:var(--dim)}

/* Зміст блогу: заголовок і вступ */
.blog-hero{max-width:820px;padding-bottom:44px}
.blog-hero h1{font-size:clamp(40px,5vw,72px);line-height:1.1;letter-spacing:-.075em;margin:16px 0 22px;overflow-wrap:break-word}
.blog-hero>p:not(.eyebrow){font-size:18px;line-height:1.55;max-width:640px}
.blog-empty{padding:24px;background:var(--lilac);border:2px solid var(--ink);font-weight:700}

/* Картки статей: уся картка клікабельна (посилання в заголовку розтягнуте на неї) */
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none}
.blog-card{display:flex;min-width:0}
.blog-card article{position:relative;display:flex;flex-direction:column;gap:12px;width:100%;min-width:0;padding:26px 28px 24px;background:#fffdf8;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.blog-card:hover article{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink);background:var(--lilac)}
.blog-card:focus-within article{outline:2px solid var(--blue);outline-offset:4px}
.blog-card-meta{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:900;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--blue)}
.blog-card-meta::before{content:"";flex-shrink:0;width:10px;height:10px;border:2px solid var(--ink);background:var(--mint)}
.blog-card-title{margin:0;font-size:clamp(20px,1.9vw,25px);line-height:1.2;letter-spacing:-.05em;overflow-wrap:break-word}
.blog-card-title a::after{content:"";position:absolute;inset:0}
.blog-card-title a:focus-visible{outline:none}
.blog-card-excerpt{font-size:15px;line-height:1.6;max-width:62ch}
.blog-card-more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:6px;font-size:14px;font-weight:800;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
.blog-card-more svg{flex-shrink:0}
.blog-card:hover .blog-card-more{color:var(--blue)}

/* Найновіша стаття — на всю ширину */
.blog-card--featured{grid-column:1/-1}
.blog-card--featured article{gap:14px;padding:clamp(24px,4vw,44px);background:var(--lilac);box-shadow:7px 7px 0 var(--ink)}
.blog-card--featured:hover article{background:var(--mint);box-shadow:5px 5px 0 var(--ink)}
.blog-card--featured .blog-card-meta::before{background:var(--coral)}
.blog-card--featured .blog-card-title{font-size:clamp(26px,3.4vw,44px);line-height:1.12;letter-spacing:-.06em;max-width:24ch}
.blog-card--featured .blog-card-excerpt{font-size:17px;max-width:60ch}

/* Сторінки змісту */
.blog-pager{margin-top:44px}
.blog-pager ul{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.blog-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:46px;min-height:46px;padding:6px 14px;background:#fffdf8;border:2px solid var(--ink);font-size:14px;font-weight:800;line-height:1}
.blog-pager a.page-numbers:hover{background:var(--mint)}
.blog-pager .current{background:var(--ink);color:var(--ivory)}
.blog-pager .dots{background:none;border-color:transparent}

/* Стаття: заголовок */
.blog-article-head{margin-bottom:44px;padding-bottom:30px;border-bottom:2px solid var(--ink)}
.blog-article-head h1{max-width:900px;margin:0;font-size:clamp(34px,4.4vw,60px);line-height:1.1;letter-spacing:-.065em;overflow-wrap:break-word}
.blog-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;font-size:13px;font-weight:800;line-height:1.3}
.blog-meta span{display:inline-block;padding:7px 12px 6px;background:#fffdf8;border:2px solid var(--ink)}
.blog-meta span:first-child{background:var(--mint)}

/* Стаття: текст ліворуч (~68 знаків у рядку), зміст праворуч (на широкому екрані) */
.blog-article-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(200px,280px);grid-template-areas:"body aside";justify-content:space-between;column-gap:clamp(40px,6vw,90px);align-items:start}
.blog-article-layout--single{grid-template-columns:minmax(0,720px);grid-template-areas:"body"}
.blog-aside{grid-area:aside;position:sticky;top:24px;min-width:0}
.blog-toc{max-height:calc(100vh - 56px);overflow-y:auto;overscroll-behavior:contain;padding:22px 22px 24px;background:#fffdf8;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink)} /* довгий зміст гортається сам, не ховається за низом екрана */
.blog-toc-title{margin-bottom:14px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.blog-toc ol{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:toc}
.blog-toc li{display:grid;grid-template-columns:24px minmax(0,1fr);counter-increment:toc;font-size:14px;font-weight:700;line-height:1.4}
.blog-toc li::before{content:counter(toc);padding-top:1px;font-size:12px;font-weight:900;color:var(--blue)}
.blog-toc a{overflow-wrap:break-word}
.blog-toc a:hover{color:var(--blue);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}

/* Типографіка статті */
.blog-entry{grid-area:body;min-width:0;max-width:68ch;font-size:18px;line-height:1.75}
.blog-entry>*+*{margin-top:18px}
.blog-entry>p:first-child{font-size:clamp(19px,1.8vw,21px);line-height:1.6;font-weight:550}
/* Квадратик перед H2 стоїть абсолютно: посилання чи <strong> у заголовку не розбивають його на шматки */
.blog-entry h2{position:relative;padding-left:24px;margin:52px 0 0;font-size:clamp(24px,2.4vw,31px);line-height:1.2;letter-spacing:-.05em;overflow-wrap:break-word;scroll-margin-top:24px}
.blog-entry h2::before{content:"";position:absolute;left:0;top:calc(.6em - 6px);width:12px;height:12px;border:2px solid var(--ink);background:var(--lilac)}
.blog-entry h3{margin:36px 0 0;font-size:clamp(19px,1.8vw,22px);line-height:1.3;letter-spacing:-.04em;overflow-wrap:break-word}
.blog-entry h2+*,.blog-entry h3+*{margin-top:14px}
.blog-entry ul,.blog-entry ol{display:grid;gap:12px;margin-left:0;padding:0;list-style:none}
.blog-entry ul>li{position:relative;padding-left:28px}
.blog-entry ul>li::before{content:"";position:absolute;left:2px;top:.62em;width:9px;height:9px;border:2px solid var(--ink);background:var(--mint)}
.blog-entry ol{counter-reset:item}
.blog-entry ol>li{position:relative;padding-left:32px;counter-increment:item}
.blog-entry ol>li::before{content:counter(item) ".";position:absolute;left:0;font-weight:900;color:var(--blue)}
.blog-entry strong,.blog-entry b{font-weight:800}
.blog-entry a{color:var(--blue);font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;overflow-wrap:break-word}
.blog-entry a:hover{color:var(--ink)}

/* Пропозиція: безкоштовне ліворуч, платне праворуч */
.blog-cta{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);margin-top:72px;border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink)}
.blog-index .blog-cta{margin-top:64px}
.blog-cta-part{display:flex;flex-direction:column;gap:10px;min-width:0;padding:clamp(22px,3.4vw,40px)}
.blog-cta-free{background:var(--lilac)}
.blog-cta-paid{background:var(--coral);border-left:2px solid var(--ink)}
.blog-cta .eyebrow{color:var(--ink)}
.blog-cta h2{margin:0;font-size:clamp(22px,2.4vw,30px);line-height:1.15;letter-spacing:-.055em;overflow-wrap:break-word}
.blog-cta p:not(.eyebrow){font-size:15px;line-height:1.6;max-width:52ch}
.blog-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;margin-top:auto;padding-top:14px}
.blog-cta-actions .button{gap:14px;text-align:left}

/* Інші статті */
.blog-others{margin-top:72px;padding-top:34px;border-top:2px solid var(--ink)}
.blog-others-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 24px;margin-bottom:26px}
.blog-others h2{margin:0;font-size:clamp(24px,2.8vw,34px);line-height:1.2;letter-spacing:-.055em}
.blog-others-head .text-link svg{flex-shrink:0}
.blog-grid--others .blog-card-title{font-size:clamp(19px,1.7vw,22px)}

/* Низьке вікно: зміст не «прилипає», інакше низ не вміститься на екран */
@media(max-height:720px){.blog-aside{position:static}}
@media(max-width:1100px){
  /* Зміст статті збоку — лише на широкому екрані; на вужчому текст на всю колонку */
  .blog-article-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"body"}
  .blog-aside{display:none}
}
@media(max-width:860px){
  .blog-grid{grid-template-columns:minmax(0,1fr)}
  .blog-cta{grid-template-columns:minmax(0,1fr)}
  .blog-cta-paid{border-left:0;border-top:2px solid var(--ink)}
}
@media(max-width:620px){
  .blog-main{padding-block:22px 70px}
  .blog-crumbs{margin-bottom:24px;font-size:12px}
  .blog-crumbs li+li::before{margin:0 7px}
  .blog-hero{padding-bottom:32px}
  .blog-hero h1{font-size:clamp(32px,9.6vw,46px);letter-spacing:-.065em}
  .blog-hero>p:not(.eyebrow){font-size:16px}
  .blog-grid{gap:16px}
  .blog-card article{padding:20px 20px 18px;box-shadow:4px 4px 0 var(--ink)}
  .blog-card--featured article{padding:22px 20px 20px;box-shadow:4px 4px 0 var(--ink)}
  .blog-card--featured .blog-card-title{font-size:clamp(24px,7.4vw,32px)}
  .blog-card--featured .blog-card-excerpt{font-size:16px}
  .blog-card-title{font-size:20px}
  .blog-article-head{margin-bottom:30px;padding-bottom:24px}
  .blog-article-head h1{font-size:clamp(28px,8.4vw,40px);letter-spacing:-.06em}
  .blog-meta{margin-top:18px;font-size:12px}
  .blog-entry{font-size:17px;line-height:1.7}
  .blog-entry>p:first-child{font-size:18px}
  .blog-entry h2{padding-left:20px;margin-top:42px;font-size:23px}
  .blog-entry h2::before{top:calc(.6em - 5px);width:10px;height:10px}
  .blog-entry h3{margin-top:30px;font-size:19px}
  .blog-entry ul>li{padding-left:24px}
  .blog-cta,.blog-index .blog-cta{margin-top:56px;box-shadow:4px 4px 0 var(--ink)}
  .blog-cta-actions{display:grid}
  .blog-cta-actions .button{width:100%;white-space:normal;padding-inline:16px;justify-content:space-between}
  .blog-others{margin-top:56px;padding-top:28px}
  .blog-pager{margin-top:32px}
}
