/* blog-site.css — блог v2 (23.10.2026): блог как часть annakotsur.com, а не вставка с geo.
   Подключается ПОСЛЕДНИМ (после CSS статьи и blog-chrome.css), подключение пишет build.py.
   1) контейнер .wrap сайта (1200px, поля --gutter), ритм отступов как у героя /seo и /cases (.pg .hero, pages.css);
   2) заголовки, кнопки, фильтры, сайдбар на Jost сайта (--font-head / --font-text); текст статьи остаётся на Geist;
   3) карточки хаба: целиком ссылка, подсветка рамки [data-spot] как у .card сайта;
   4) CTA мини-проверки в сайдбаре (.blog-cta) — кнопка сайта btn btn-primary.
   Хаб: .geo-post--hub, статья и глоссарий: .geo-post--post (класс ставит build.py). */

/* ───────── общее ───────── */
.geo-post .wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.global-bg::after{display:none}                                  /* точечная сетка geo: на сайте её нет */
.geo-post svg [font-family*="Inter"]{font-family:var(--font-head)} /* подписи в иллюстрациях были на Inter */
.geo-post :is(.side-card,.breadcrumb,.cat-chip,.post-meta,.related,.share-bar,.about-author,.cta-box,.callout .c-label,.fact-num,.toc-list,.archive-list,table.cmp thead){font-family:var(--font-text)}
.geo-post :is(.btn-primary:not(.btn),.btn-glass){font-family:var(--font-text)}
.geo-post .btn-glass{font-weight:600;letter-spacing:0}

/* ───────── хаб /blog ───────── */
.geo-post--hub{margin-top:0;font-family:var(--font-text)}
.geo-post--hub .blog-hero{padding:clamp(40px,6vw,88px) 0 clamp(32px,4vw,56px);text-align:left}
.geo-post--hub .eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 clamp(14px,1.6vw,20px);font:500 clamp(14px,1.15vw,16px)/1.2 var(--font-text);letter-spacing:0;text-transform:none;color:var(--purple-light)}
.geo-post--hub .eyebrow::before{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,var(--purple-light))}
.geo-post--hub .blog-hero h1{max-width:15em;margin:0 0 clamp(20px,2.4vw,32px);font:600 clamp(36px,4.6vw,66px)/1.04 var(--font-head);letter-spacing:-.04em;color:var(--text);text-wrap:balance}
.geo-post--hub .blog-hero p{max-width:34em;margin:0;font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:var(--text-2)}
.geo-post--hub .cats{justify-content:flex-start;gap:10px;margin:clamp(28px,3.2vw,44px) 0 0}
.geo-post--hub .cat-btn{min-height:44px;padding:10px 20px;border-radius:var(--r-pill);border:1px solid var(--border-h);background:var(--bg-card);color:var(--text-2);font:500 15px/1.2 var(--font-text);box-shadow:none;transition:color .25s,border-color .25s,background .25s}
.geo-post--hub .cat-btn:hover{color:var(--text);border-color:var(--purple-light)}
.geo-post--hub .cat-btn.active{background:var(--btn-bg);color:#fff;border-color:rgba(165,180,252,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 30px -10px rgba(99,102,241,.7)}

/* сетка + сайдбар: hairline между героем и сеткой, как между блоками внутренних страниц (pages-v4) */
.geo-post--hub .blog-layout{grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,3.6vw,56px);padding:clamp(32px,3.6vw,52px) 0 clamp(64px,8vw,120px);border-top:1px solid rgba(255,255,255,.12)}
@media (max-width:960px){.geo-post--hub .blog-layout{grid-template-columns:1fr}}
.geo-post--hub .posts{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}

/* карточки: целиком ссылка, рамка подсвечивается за курсором ([data-spot] из site.css) */
.geo-post--hub :is(.featured,.post-card){position:relative;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-card);box-shadow:none;color:var(--text);
  transition:border-color .3s,transform .5s var(--ease),box-shadow .5s var(--ease)}
.geo-post--hub :is(.featured,.post-card):hover{transform:none;border-color:var(--border);box-shadow:none}
@media (hover:hover){
  .geo-post--hub :is(.featured,.post-card:not(.soon-card)):hover{transform:translateY(-4px);border-color:var(--border-h);box-shadow:var(--shadow)}
  .geo-post--hub :is(.featured,.post-card:not(.soon-card)):hover :is(.f-title,.pc-title){color:var(--purple-light)}
}
.geo-post--hub :is(.featured,.post-card):focus-visible{outline:2px solid var(--purple-light);outline-offset:3px}
.geo-post--hub .featured{overflow:visible;margin-bottom:20px}
.geo-post--hub .featured .f-art{border-radius:var(--r-lg) 0 0 var(--r-lg)}
@media (max-width:620px){.geo-post--hub .featured .f-art{border-radius:var(--r-lg) var(--r-lg) 0 0}}
.geo-post--hub .featured .f-body{padding:clamp(24px,2.6vw,36px)}
.geo-post--hub .featured .f-title{margin-bottom:14px;font:600 clamp(24px,2.2vw,30px)/1.15 var(--font-head);letter-spacing:-.03em;transition:color .25s}
.geo-post--hub .featured .f-ex{font-size:16px;line-height:1.55}
.geo-post--hub .featured .f-meta{font-size:14px}
.geo-post--hub .post-card{padding:26px}
.geo-post--hub .soon-card{background:transparent;border-style:dashed;border-color:var(--border-h)}
.geo-post--hub .pc-cat{margin-bottom:16px;padding:5px 12px;border-radius:var(--r-pill);font:600 12px/1.2 var(--font-text);letter-spacing:.06em}
.geo-post--hub .pc-title{margin-bottom:10px;font:600 20px/1.25 var(--font-head);letter-spacing:-.02em;transition:color .25s}
.geo-post--hub .pc-excerpt{margin-bottom:18px;font-size:15.5px;line-height:1.55}
.geo-post--hub .pc-meta{font-size:13.5px}
.geo-post--hub .pc-arrow,.geo-post--hub .featured .f-meta .pc-arrow{font-weight:600}
.geo-post--hub .soon-badge{font-size:13px;font-weight:600}

/* сайдбар хаба */
.geo-post--hub .b-sidebar{top:calc(var(--nav-h) + 24px);gap:20px}
.geo-post--hub .cat-side button{padding:10px 12px;border-radius:10px;font:500 15px/1.3 var(--font-text)}

/* ───────── статья и глоссарий ───────── */
.geo-post--post .cover{padding:calc(var(--nav-h) + 1px + clamp(36px,5vw,72px)) var(--gutter) clamp(40px,5vw,72px)}
.geo-post--post .cover-inner{max-width:calc(var(--wrap) - 2 * var(--gutter));gap:clamp(30px,4vw,56px)}
.geo-post--post .breadcrumb{margin-bottom:20px;font-size:14px}
.geo-post--post .cat-chip{margin-bottom:20px;padding:6px 13px;border-radius:var(--r-pill);font:600 12px/1.2 var(--font-text);letter-spacing:.06em}
.geo-post--post h1.post-title{margin-bottom:clamp(20px,2.4vw,30px);font:600 clamp(32px,4vw,54px)/1.06 var(--font-head);letter-spacing:-.035em;text-wrap:balance}
.geo-post--post .post-meta{font-size:14.5px}
.geo-post--post .author-name{font-size:15px}
.geo-post--post .layout{max-width:var(--wrap);grid-template-columns:minmax(0,1fr) 320px;gap:clamp(36px,4.4vw,64px);padding:clamp(40px,5vw,72px) var(--gutter) clamp(64px,8vw,120px)}
@media (max-width:960px){.geo-post--post .layout{grid-template-columns:1fr}}
/* заголовки внутри статьи: Jost сайта; размеры чуть крупнее geo — у Jost меньше высота строчных */
.geo-post--post .prose h2{font:600 clamp(26px,2.7vw,34px)/1.15 var(--font-head);letter-spacing:-.025em}
.geo-post--post .prose h3{font:600 22px/1.25 var(--font-head);letter-spacing:-.015em}
.geo-post--post .pullquote{font:500 clamp(22px,2.2vw,26px)/1.35 var(--font-head);letter-spacing:-.015em}
.geo-post--post .cta-box h2{font:600 clamp(26px,2.6vw,32px)/1.15 var(--font-head);letter-spacing:-.025em}
.geo-post--post .related-title{font:600 21px/1.25 var(--font-head);letter-spacing:-.015em}
.geo-post--post .related a{font-size:16px;font-weight:500;border-radius:var(--r)}
.geo-post--post .related a span{font-size:13.5px}
.geo-post--post .about-author .aa-name{font:600 19px/1.25 var(--font-head);letter-spacing:-.01em}
.geo-post--post .about-author .aa-bio{font-size:15.5px}
.geo-post--post .share-bar .sh-label{font:600 15px var(--font-head)}
.geo-post--post .callout .c-label{font-weight:600;font-size:13px}
.geo-post--post .fact-num{font:600 21px/1 var(--font-head)}
.geo-post--post .sidebar{top:calc(var(--nav-h) + 24px);gap:20px}
.geo-post--post .toc-list a{font-size:14.5px}
.geo-post--post .archive-list a{font-size:15px}

/* ───────── сайдбар: карточки и CTA мини-проверки ───────── */
.geo-post :is(.side-card){border-radius:var(--r-lg);padding:24px;box-shadow:none;border-color:var(--border)}
.geo-post .side-title{font:600 12.5px/1.2 var(--font-text);letter-spacing:.08em;color:var(--text-3)}
.geo-post .side-card p{font-size:15px}
.geo-post .blog-cta{background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--indigo) 18%,transparent),transparent 60%),var(--bg-card);border-color:var(--chip-border);text-align:left}
.geo-post .blog-cta .blog-cta-t{margin:0 0 10px;font:600 21px/1.2 var(--font-head);letter-spacing:-.02em;color:var(--text)}
.geo-post .blog-cta .blog-cta-p{margin:0 0 20px;font-size:15.5px;line-height:1.55;color:var(--text-2)}
/* кнопка сайта (site.css .btn/.btn-primary); правила geo .btn-primary (стеклянная кнопка) здесь перебиваем */
.geo-post .blog-cta .btn{position:relative;z-index:auto;display:flex;width:100%;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 24px;border-radius:14px;
  font:600 15.5px/1.25 var(--font-text);text-decoration:none;cursor:pointer;border:1px solid transparent;text-align:center;
  transition:transform .35s var(--ease),border-color .25s,box-shadow .35s var(--ease)}
.geo-post .blog-cta .btn-primary{background:var(--btn-bg);color:#fff;border-color:rgba(165,180,252,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 30px -10px rgba(99,102,241,.7)}
.geo-post .blog-cta .btn-primary:hover{color:#fff;border-color:rgba(199,210,254,.85);transform:none}
.geo-post .blog-cta .btn:active{transform:scale(.97)}
.geo-post .blog-cta .btn-arrow{display:inline-flex;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.18);align-items:center;justify-content:center;font-size:13px;font-style:normal;transition:transform .35s var(--ease)}
@media (hover:hover){
  .geo-post .blog-cta .btn-primary:hover{transform:translateY(-2px)}
  .geo-post .blog-cta .btn-primary:hover .btn-arrow{transform:translateX(3px)}
}
