/* normal.kz — стили, которые не выражаются через theme.json
   Порядок разделов: основа → шапка → лента → архив → запись → наследие → мобильное */

:root{
  --n-accent:#7439A8;
  --n-ink:#111;
  --n-ink-soft:#333;
  --n-muted:#5C5C5C;
  --n-faint:#767676;
  --n-rule-strong:#C9C9C9;
  --n-rule:#E5E5E5;
  --n-sunken:#F4F4F4;
  --n-page:#fff;
  --n-mono:var(--wp--preset--font-family--mono);
  --n-gutter:184px;
  --n-gap:40px;
}

/* ---------- основа ---------- */

body{ text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }

.n-mono{ font-family:var(--n-mono); font-variant-numeric:tabular-nums; }

.n-eyebrow{
  font-family:var(--n-mono);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--n-faint);
}

/* видимый фокус с клавиатуры — никогда не убирать */
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible{
  outline:2px solid var(--n-accent);
  outline-offset:3px;
}

.n-skip{
  position:absolute; left:-9999px; top:0; z-index:99;
  background:var(--n-ink); color:#fff; padding:12px 18px;
  font-size:14px;
}
.n-skip:focus{ left:8px; top:8px; }

.screen-reader-text{
  position:absolute !important; width:1px; height:1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
}


/* ---------- запасные шрифты ---------- */
/* Если свой шрифт почему-то не загрузился, подмена должна покрывать
   казахскую кириллицу, а не только русскую: иначе буквы ә, қ, ң, ө
   поедут из другой гарнитуры и строка «запрыгает». */

body, .n-content{
  font-family:"Golos Text", "Segoe UI", "Noto Sans", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- шапка ---------- */

.n-head{
  background:var(--n-accent);
  color:#fff;
}
.n-head a{ color:#fff; }

.n-head__inner{
  max-width:860px; margin:0 auto;
  padding:34px 24px 38px;
}

.n-nav{
  display:flex; flex-wrap:wrap; gap:26px;
  font-family:var(--n-mono); font-size:12px;
  letter-spacing:.09em; text-transform:uppercase;
  padding-bottom:34px;
}
.n-nav a{ padding-bottom:3px; border-bottom:1px solid transparent; }
.n-nav a:hover{ text-decoration:none; border-bottom-color:currentColor; }
.n-nav [aria-current]{ border-bottom-color:currentColor; }

.n-brand{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--n-gap);
  align-items:end;
}
.n-brand__mark{
  font-size:clamp(44px,8vw,78px);
  font-weight:700; letter-spacing:-.03em; line-height:.84;
  margin:0;
}
.n-brand__since{
  font-family:var(--n-mono); font-size:13px;
  letter-spacing:.06em; margin-top:14px; opacity:.9;
}
.n-brand__name{ font-weight:600; font-size:16px; margin-bottom:6px; }
.n-brand__about{ font-size:15px; line-height:1.6; margin:0; max-width:46ch; }
.n-brand__links{
  display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:18px;
  font-family:var(--n-mono); font-size:12px; letter-spacing:.06em;
}
.n-brand__links a{ border-bottom:1px solid rgba(255,255,255,.45); }
.n-brand__links a:hover{ text-decoration:none; border-bottom-color:#fff; }
.n-brand__links span{ opacity:.5; }

/* выпадающие рубрики */
.n-dropdown{ position:relative; }
.n-dropdown > summary{ list-style:none; cursor:pointer; }
.n-dropdown > summary::-webkit-details-marker{ display:none; }
.n-dropdown__panel{
  position:absolute; left:0; top:calc(100% + 12px); z-index:20;
  min-width:300px; padding:20px 22px;
  background:var(--n-page); color:var(--n-ink);
  border:1px solid var(--n-rule-strong);
  font-family:var(--wp--preset--font-family--sans); text-transform:none; letter-spacing:0;
}
.n-dropdown__panel h3{
  font-family:var(--n-mono); font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--n-faint);
  margin:0 0 10px; font-weight:500;
}
.n-dropdown__panel h3 + ul{ margin-bottom:20px; }
.n-dropdown__panel ul{ list-style:none; margin:0; padding:0; }
.n-dropdown__panel li a{
  display:flex; justify-content:space-between; gap:20px;
  padding:5px 0; font-size:14px; color:var(--n-ink);
}
.n-dropdown__panel li a:hover{ text-decoration:none; color:var(--n-accent); }
.n-dropdown__panel .n-count{
  font-family:var(--n-mono); font-size:12px; color:var(--n-faint);
}

/* поиск */
.n-search{ display:flex; gap:0; border:1px solid var(--n-rule-strong); }
.n-search input[type="search"]{
  flex:1; border:0; padding:12px 14px; font:inherit; font-size:15px;
  background:var(--n-page); color:var(--n-ink); min-width:0;
}
.n-search button{
  border:0; border-left:1px solid var(--n-rule-strong);
  background:var(--n-sunken); color:var(--n-ink);
  padding:12px 18px; cursor:pointer;
  font-family:var(--n-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
}
.n-search button:hover{ background:var(--n-ink); color:#fff; }

/* ---------- лента ---------- */

.n-shell{ max-width:860px; margin:0 auto; padding:0 24px; }

.n-toprow{
  display:flex; justify-content:flex-end;
  padding:16px 0; border-bottom:1px solid var(--n-rule);
}
.n-toprow a{
  font-family:var(--n-mono); font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--n-muted);
  border-bottom:1px solid var(--n-rule-strong); padding-bottom:2px;
}
.n-toprow a:hover{ text-decoration:none; color:var(--n-ink); border-bottom-color:var(--n-ink); }

/* первая запись — с боковой колонкой */
.n-feed__featured{
  display:grid; grid-template-columns:var(--n-gutter) 1fr; gap:var(--n-gap);
  align-items:start; padding:26px 0 30px;
  border-bottom:2px solid var(--n-ink);
}
.n-feed__featured .n-entry__title{ font-size:clamp(22px,3vw,28px); }

/* отметка закреплённой записи */
.n-entry__pinned{
  font-family:var(--n-mono); font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--n-ink);
  padding-bottom:8px; margin-bottom:10px;
  border-bottom:1px solid var(--n-ink); display:inline-block;
}

/* остальные записи */
.n-entry{ padding:24px 0; border-top:1px solid var(--n-rule); }
.n-entry:first-child{ border-top:0; }

.n-entry__meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:12px;
  margin-bottom:10px;
}
.n-entry__date{
  font-family:var(--n-mono); font-size:14px; font-weight:500;
  color:var(--n-ink); white-space:nowrap;
}
.n-entry__title{
  display:block; font-size:19px; font-weight:600;
  line-height:1.28; letter-spacing:-.015em; margin:0;
}
.n-entry__title a{
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat; background-position:0 100%; background-size:0 1px;
  transition:background-size .2s ease;
}
.n-entry:hover .n-entry__title a,
.n-entry__title a:focus-visible{ text-decoration:none; background-size:100% 1px; }
.n-entry__teaser{
  margin:8px 0 0; font-size:15px; line-height:1.55;
  color:var(--n-ink-soft); max-width:62ch;
}
.n-entry__foot{
  margin-top:11px; font-family:var(--n-mono); font-size:11px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--n-faint);
}

/* плашка сквозной темы */
.n-topic{
  display:inline-block; font-family:var(--n-mono);
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  border:1px solid var(--n-ink); color:var(--n-ink);
  padding:3px 8px 2px; white-space:nowrap;
}
.n-topic:hover{ text-decoration:none; background:var(--n-ink); color:#fff; }

/* ---------- шапка архива ---------- */

.n-archive-head{ padding:30px 0 22px; border-bottom:2px solid var(--n-ink); }
.n-archive-head__kicker{
  font-family:var(--n-mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--n-faint); margin-bottom:10px;
}
.n-archive-head h1{
  font-size:clamp(28px,4vw,44px); line-height:1.05;
  letter-spacing:-.025em; margin:0;
}
.n-archive-head__count{
  font-family:var(--n-mono); font-size:13px; color:var(--n-muted); margin-top:10px;
}
.n-archive-head__desc{
  margin:14px 0 0; font-size:15px; line-height:1.6;
  color:var(--n-ink-soft); max-width:56ch;
}
.n-yearnav{
  display:flex; gap:20px; margin-top:16px;
  font-family:var(--n-mono); font-size:12px; letter-spacing:.06em;
}
.n-yearnav a{ color:var(--n-muted); border-bottom:1px solid var(--n-rule-strong); padding-bottom:2px; }
.n-yearnav a:hover{ text-decoration:none; color:var(--n-ink); border-bottom-color:var(--n-ink); }

/* ---------- сетка годов ---------- */

.n-years{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--n-rule); border-left:1px solid var(--n-rule);
}
.n-years__cell{
  display:flex; flex-direction:column; justify-content:center; gap:6px;
  min-height:88px; padding:14px 18px;
  border-right:1px solid var(--n-rule); border-bottom:1px solid var(--n-rule);
}
.n-years__cell:hover{ text-decoration:none; background:var(--n-sunken); }
.n-years__cell[aria-current]{ background:var(--n-sunken); box-shadow:inset 2px 0 0 var(--n-accent); }
.n-years__y{
  font-family:var(--n-mono); font-size:12px; color:var(--n-faint);
  letter-spacing:.06em; font-variant-numeric:tabular-nums;
}
.n-years__n{
  font-family:var(--n-mono); font-size:26px; letter-spacing:-.025em;
  font-variant-numeric:tabular-nums; color:var(--n-ink);
}
.n-years__head{
  display:flex; justify-content:space-between; align-items:baseline; gap:20px;
  padding:14px 0; border-bottom:1px solid var(--n-ink); margin-top:40px;
}
.n-years__head span:first-child{
  font-family:var(--n-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
}
.n-years__head span:last-child{
  font-family:var(--n-mono); font-size:12px; color:var(--n-faint);
}

/* ---------- пагинация ---------- */

.n-pager{ display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 0 40px; }
.n-pager a, .n-pager span{
  font-family:var(--n-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
}
.n-pager a{ border-bottom:1px solid var(--n-rule-strong); padding-bottom:3px; color:var(--n-ink); }
.n-pager a:hover{ text-decoration:none; border-bottom-color:var(--n-ink); }
.n-pager .n-pager__pos{ color:var(--n-faint); }

/* ---------- пустые состояния и 404 ---------- */

.n-empty{ padding:48px 0 40px; }
.n-empty h1{ font-size:clamp(24px,3.4vw,36px); margin:0 0 14px; letter-spacing:-.02em; }
.n-empty p{ font-size:16px; color:var(--n-ink-soft); max-width:52ch; margin:0 0 26px; }
.n-outs{ display:flex; flex-direction:column; border-top:1px solid var(--n-ink); }
.n-outs a{
  display:flex; justify-content:space-between; align-items:baseline; gap:20px;
  padding:15px 0; border-bottom:1px solid var(--n-rule); font-size:16px;
}
.n-outs a:hover{ text-decoration:none; color:var(--n-accent); }
.n-outs .n-count{ font-family:var(--n-mono); font-size:12px; color:var(--n-faint); }

/* ---------- отдельная запись ---------- */

.n-crumbs{
  display:flex; flex-wrap:wrap; gap:10px; padding:18px 0;
  font-family:var(--n-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--n-faint); border-bottom:1px solid var(--n-rule);
}
.n-crumbs a{ color:var(--n-muted); }
.n-crumbs a:hover{ color:var(--n-ink); }

.n-posthead{ padding:30px 0 26px; border-bottom:2px solid var(--n-ink); }
.n-posthead__meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-bottom:16px;
}

/* строка возраста записи */
.n-age{
  display:flex; align-items:baseline; gap:12px;
  margin:22px 0 0; padding:12px 16px;
  background:var(--n-sunken); border-left:2px solid var(--n-ink);
  font-size:14px; line-height:1.5; color:var(--n-ink-soft);
}
.n-age::before{
  content:attr(data-label);
  font-family:var(--n-mono); font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--n-faint); white-space:nowrap;
}
.n-age--checked{ border-left-color:var(--n-accent); }

/* тело статьи */
.n-content{ padding:34px 0 0; }
.n-content > *{ margin-block:0 1.15em; }
.n-content h2{ margin-block:1.9em .5em; }
.n-content h3{ margin-block:1.5em .4em; }
.n-content ul, .n-content ol{ padding-left:1.3em; }
.n-content li{ margin-bottom:.4em; }
.n-content a{ text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.n-content a:hover{ text-decoration-thickness:2px; }
.n-content figcaption{
  font-family:var(--n-mono); font-size:12px; line-height:1.5;
  color:var(--n-faint); margin-top:8px;
}
.n-content blockquote{ font-style:normal; }
.n-content hr{ border:0; border-top:1px solid var(--n-rule-strong); margin-block:2.2em; }

/* врезка с документом */
.n-doc{ border:1px solid var(--n-rule-strong); padding:18px; background:var(--n-sunken); }
.n-doc figcaption{ margin-top:12px; }

/* блок автора */
.n-author{
  display:grid; grid-template-columns:96px 1fr; gap:24px; align-items:start;
  margin-top:56px; padding:26px 0; border-top:2px solid var(--n-ink); border-bottom:1px solid var(--n-rule);
}
.n-author img{ width:96px; height:96px; object-fit:cover; filter:grayscale(1); }
.n-author h2{ font-size:17px; margin:0 0 8px; }
.n-author p{ margin:0 0 12px; font-size:15px; line-height:1.55; color:var(--n-ink-soft); }

/* соседние записи */
.n-adjacent{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--n-rule); margin-top:2px; }
.n-adjacent > *{ background:var(--n-page); padding:20px 0; }
.n-adjacent__dir{
  font-family:var(--n-mono); font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--n-faint); margin-bottom:8px;
}
.n-adjacent a{ font-size:16px; font-weight:600; line-height:1.3; }
.n-adjacent time{ display:block; font-family:var(--n-mono); font-size:12px; color:var(--n-faint); margin-top:6px; }
.n-adjacent > * + *{ padding-left:24px; }

/* комментарии */
.n-comments{ margin-top:48px; padding-top:24px; border-top:2px solid var(--n-ink); }
.n-comments__bar{ display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.n-comments__count{ font-family:var(--n-mono); font-size:13px; color:var(--n-muted); }
.n-comments__btn{
  border:1px solid var(--n-ink); background:transparent; color:var(--n-ink);
  padding:12px 20px; cursor:pointer;
  font-family:var(--n-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
}
.n-comments__btn:hover{ background:var(--n-ink); color:#fff; }
.n-comments__slot{ margin-top:26px; }
.n-comments__slot:empty{ margin-top:0; }

/* ---------- полный архив ---------- */

.n-fullarchive__scale{
  position:sticky; top:0; z-index:10;
  background:var(--n-page); border-bottom:1px solid var(--n-ink);
  padding:12px 0;
}
.n-fullarchive__scale ul{
  display:flex; flex-wrap:wrap; gap:2px 14px; list-style:none; margin:0; padding:0;
  font-family:var(--n-mono); font-size:12px; letter-spacing:.04em;
}
.n-fullarchive__scale a{ color:var(--n-muted); padding:3px 0; }
.n-fullarchive__scale a:hover{ text-decoration:none; color:var(--n-ink); }
.n-fullarchive__scale [aria-current]{ color:var(--n-ink); border-bottom:2px solid var(--n-accent); }

.n-year{ padding-top:34px; }
.n-year__head{
  display:flex; align-items:baseline; justify-content:space-between; gap:20px;
  padding-bottom:10px; border-bottom:1px solid var(--n-ink);
}
.n-year__y{ font-family:var(--n-mono); font-size:34px; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.n-year__n{ font-family:var(--n-mono); font-size:12px; color:var(--n-faint); }
.n-year ol{ list-style:none; margin:0; padding:0; }
.n-year li{
  display:grid; grid-template-columns:84px 1fr; gap:20px; align-items:baseline;
  padding:9px 0; border-bottom:1px solid var(--n-rule);
}
.n-year li time{ font-family:var(--n-mono); font-size:12px; color:var(--n-faint); font-variant-numeric:tabular-nums; }
.n-year li a{ font-size:16px; line-height:1.4; }
.n-year li a:hover{ text-decoration:none; color:var(--n-accent); }

/* ---------- наследие старых записей ---------- */
/* правила намеренно узкие: только внутри тела статьи */

.n-content img{ max-width:100% !important; height:auto !important; }
.n-content img[width], .n-content img[height]{ width:auto !important; }
.n-content img[align="left"], .n-content img.alignleft{ float:none; display:block; margin:0 0 1em; }
.n-content img[align="right"], .n-content img.alignright{ float:none; display:block; margin:0 0 1em; }

.n-content table{ border-collapse:collapse; width:100%; }
.n-content table th, .n-content table td{
  border-bottom:1px solid var(--n-rule); padding:9px 12px 9px 0; text-align:left; vertical-align:top;
}
.n-content table th{ font-weight:600; border-bottom-color:var(--n-ink); }
/* обёртка добавляется скриптом: таблица прокручивается, а не рвёт вёрстку */
.n-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:1.15em; }
.n-scroll table{ min-width:520px; margin-bottom:0; }

/* старые вставки видео с жёсткими размерами */
.n-content iframe, .n-content object, .n-content embed{ max-width:100%; }
.n-embed{ position:relative; width:100%; aspect-ratio:16/9; margin-bottom:1.15em; }
.n-embed > iframe, .n-embed > object, .n-embed > embed{
  position:absolute; inset:0; width:100% !important; height:100% !important;
}

/* пустые абзацы вместо отступов */
.n-content p:empty{ display:none; }

/* ---------- подвал ---------- */

.n-foot{
  margin-top:64px; padding:22px 0 44px; border-top:1px solid var(--n-rule);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-family:var(--n-mono); font-size:12px; letter-spacing:.06em; color:var(--n-faint);
}
.n-foot a:hover{ color:var(--n-ink); }

/* ---------- мобильное ---------- */

@media (max-width:900px){
  :root{ --n-gutter:120px; --n-gap:26px; }
}

@media (max-width:640px){
  :root{ --n-gap:0px; }

  .n-head__inner{ padding:20px 20px 30px; }
  .n-shell{ padding:0 20px; }
  .n-nav{ gap:18px; padding-bottom:26px; font-size:11px; }

  .n-brand{ grid-template-columns:1fr; gap:26px; }
  .n-brand__mark{ line-height:.9; }

  .n-feed__featured{ grid-template-columns:1fr; gap:0; padding:20px 0 24px; }
  .n-entry__pinned{ font-size:9px; padding-bottom:6px; margin-bottom:8px; }
  .n-feed__featured .n-entry__title{ font-size:22px; }

  .n-entry{ padding:20px 0; }
  .n-entry__meta{ gap:10px; margin-bottom:8px; }
  .n-entry__date{ font-size:12px; color:var(--n-faint); letter-spacing:.06em; }
  .n-entry__title{ font-size:18px; }
  .n-entry__teaser{ font-size:14px; }

  .n-years{ grid-template-columns:repeat(2,1fr); }
  .n-years__cell{ min-height:72px; padding:12px 14px; }
  .n-years__n{ font-size:22px; }

  .n-author{ grid-template-columns:72px 1fr; gap:16px; }
  .n-author img{ width:72px; height:72px; }

  .n-adjacent{ grid-template-columns:1fr; }
  .n-adjacent > * + *{ padding-left:0; }

  .n-year li{ grid-template-columns:64px 1fr; gap:14px; }
  .n-year li a{ font-size:15px; }
  .n-year__y{ font-size:28px; }

  .n-dropdown__panel{ position:static; min-width:0; margin-top:12px; }

  .n-pager{ flex-direction:column; align-items:flex-start; gap:14px; }
}

@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; animation:none !important; }
}

/* ---------- печать ---------- */

@media print{
  .n-head, .n-nav, .n-comments, .n-adjacent, .n-foot, .n-toprow{ display:none; }
  .n-content a{ text-decoration:underline; }
  .n-content a[href^="http"]::after{ content:" (" attr(href) ")"; font-size:11px; color:#555; }
}
