@charset "UTF-8";
    
:root{--kn-ink:#172437;--kn-secondary:#69778b;--kn-blue:#204e85;--kn-line:#e4e9ef;--kn-bg:#f8fafc;--kn-white:#fff;--kn-max:1280px;--kn-radius:7px}*{box-sizing:border-box}body{margin:0;background:var(--kn-bg);color:var(--kn-ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}a:hover{color:var(--kn-blue)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #72a9e3;outline-offset:3px}img{max-width:100%;height:auto}.kn-container{max-width:var(--kn-max);padding:0 24px;margin-inline:auto}.kn-skip{position:absolute;top:-80px;left:8px;background:white;padding:10px;z-index:100}.kn-skip:focus{top:8px}.kn-header{background:white;border-bottom:1px solid var(--kn-line)}.kn-masthead{min-height:81px;display:flex;align-items:center;gap:16px}.kn-brand{font-weight:850;letter-spacing:-.055em;white-space:nowrap;font-size:26px;line-height:1}.kn-brand span{font-weight:400;letter-spacing:-.045em;color:var(--kn-blue)}.kn-tagline{border-left:1px solid var(--kn-line);padding-left:18px;color:var(--kn-secondary);font-size:12px;max-width:150px;line-height:1.25}.kn-toplinks{margin-left:auto;display:flex;gap:14px;align-items:center;color:var(--kn-secondary);font-size:13px}.kn-toplinks a{font-size:27px;color:var(--kn-blue)}.kn-nav-wrap{border-top:1px solid var(--kn-line)}.kn-menu{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0}.kn-menu li a{display:block;padding:13px 12px;font-weight:600;font-size:13px}.kn-menu li:first-child a{padding-left:0}.kn-menu li a:hover{color:var(--kn-blue)}.kn-menu-toggle{display:none}.kn-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:25px;padding-top:30px;padding-bottom:55px}.kn-main{min-width:0}.kn-section{margin-bottom:34px}.kn-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.kn-section-title h1,.kn-section-title h2{font-size:23px;line-height:1.25;letter-spacing:-.03em;margin:0;padding-left:12px;border-left:4px solid #e9bb3b}.kn-section-title a{font-size:12px;color:var(--kn-blue);white-space:nowrap}.kn-lead-grid{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:repeat(3,minmax(108px,auto));gap:12px}.kn-card{min-width:0;background:#fff;border:1px solid var(--kn-line);border-radius:var(--kn-radius);overflow:hidden}.kn-card-image{display:block;aspect-ratio:1.63;overflow:hidden;background:#e9eef4}.kn-card-image img{height:100%;width:100%;object-fit:cover;display:block}.kn-image-placeholder{display:block;aspect-ratio:1.63;background:linear-gradient(135deg,#e5ecf4,#f5f7fa)}.kn-card-content{padding:13px}.kn-card h3{font-size:16px;line-height:1.35;margin:5px 0 9px}.kn-card p{font-size:13px;color:var(--kn-secondary);margin:0 0 15px}.kn-card time{font-size:11px;color:var(--kn-secondary)}.kn-card-category{font-size:11px;text-transform:uppercase;font-weight:700;color:var(--kn-blue)}.kn-card-hero{grid-row:span 3;position:relative;min-height:390px}.kn-card-hero .kn-card-image,.kn-card-hero .kn-image-placeholder{position:absolute;inset:0;aspect-ratio:auto}.kn-card-hero .kn-card-content{position:absolute;bottom:0;left:0;right:0;color:white;padding:60px 22px 20px;background:linear-gradient(transparent,rgba(10,22,40,.95))}.kn-card-hero .kn-card-category,.kn-card-hero time,.kn-card-hero p{color:#e4edf7}.kn-card-hero h3{font-size:25px}.kn-card-compact{display:flex;min-height:107px}.kn-card-compact .kn-card-image,.kn-card-compact .kn-image-placeholder{flex:0 0 38%;aspect-ratio:auto}.kn-card-compact .kn-card-image img{height:100%}.kn-card-compact .kn-card-content{padding:8px 10px}.kn-card-compact h3{font-size:13px;margin:4px 0}.kn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kn-sidebar{min-width:0}.kn-side-panel{background:white;border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:17px}.kn-side-panel h2{font-size:20px;margin:0 0 16px}.kn-latest{list-style:none;margin:0;padding:0}.kn-latest li{display:grid;grid-template-columns:43px 1fr;gap:9px;font-size:13px;line-height:1.45;padding:11px 0;border-bottom:1px solid var(--kn-line)}.kn-latest li:last-child{border:0}.kn-latest time{color:#8994a4;font-size:12px}.kn-empty{background:white;border:1px solid var(--kn-line);padding:40px;margin-bottom:25px;border-radius:var(--kn-radius)}.kn-empty h1{font-size:30px;margin:0 0 10px}.kn-content{min-height:55vh;padding-top:35px;padding-bottom:65px}.kn-archive-head{margin-bottom:25px}.kn-archive-head h1{font-size:36px;margin:10px 0}.kn-crumb{font-size:13px;color:var(--kn-secondary);margin-bottom:12px}.kn-crumb a{color:var(--kn-blue)}.kn-description{max-width:850px;color:var(--kn-secondary)}.kn-pagination{margin-top:30px}.kn-pagination .nav-links{display:flex;gap:12px}.kn-article-container{max-width:930px;padding-top:38px;padding-bottom:80px}.kn-article{background:#fff;border:1px solid var(--kn-line);padding:clamp(18px,4vw,55px);border-radius:var(--kn-radius)}.kn-article h1{font-size:clamp(29px,4vw,46px);letter-spacing:-.04em;line-height:1.2;margin:0 0 16px}.kn-meta{font-size:13px;color:var(--kn-secondary)}.kn-article-cover{margin:28px 0}.kn-article-cover img{display:block;width:100%;height:auto;border-radius:4px}.kn-article-cover figcaption{font-size:12px;color:var(--kn-secondary);margin-top:7px}.kn-article-body{font-size:18px;line-height:1.78;overflow-wrap:anywhere}.kn-article-body h2,.kn-article-body h3{line-height:1.3;margin-top:1.7em}.kn-article-body a{color:var(--kn-blue);text-decoration:underline}.kn-article-body blockquote{border-left:4px solid var(--kn-blue);margin-left:0;padding-left:20px}.kn-footer{background:#14263e;color:white;padding:28px 0 18px}.kn-footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.kn-footer p,.kn-copyright{font-size:12px;color:#b8c8d8}.kn-footer-links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:16px;font-size:12px}.kn-copyright{margin-top:22px;border-top:1px solid #34465b;padding-top:15px}.kn-search{margin:15px 0}.kn-search div{display:flex;gap:5px}.kn-search input{width:min(100%,420px);padding:12px;border:1px solid var(--kn-line)}.kn-search button{background:var(--kn-blue);color:white;border:0;padding:12px 18px;cursor:pointer}@media(max-width:1070px){.kn-layout{grid-template-columns:minmax(0,1fr) 250px}.kn-menu li a{padding:12px 8px;font-size:12px}.kn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.kn-container{padding-left:16px;padding-right:16px}.kn-layout{display:block}.kn-sidebar{margin-top:20px}.kn-menu-toggle{display:block;background:none;border:0;padding:12px 0;font-size:16px;cursor:pointer}.kn-nav{display:none}.kn-nav.is-open{display:block}.kn-menu{display:block;padding-bottom:12px}.kn-menu li a,.kn-menu li:first-child a{padding:10px 0}.kn-lead-grid{grid-template-columns:1fr;grid-template-rows:auto}.kn-card-hero{min-height:340px;grid-row:auto}.kn-card-compact{min-height:115px}.kn-tagline{display:none}}@media(max-width:500px){.kn-masthead{min-height:65px}.kn-brand{font-size:22px}.kn-toplinks span{display:none}.kn-grid{grid-template-columns:1fr}.kn-card-hero h3{font-size:23px}.kn-article{border:0;padding:0}.kn-article-container{padding-top:25px}.kn-section-title h1,.kn-section-title h2{font-size:20px}.kn-footer-grid{display:block}.kn-footer-grid nav{margin-top:20px}}
/* KABANCHIK NEWS — sidebar category widgets */
.kn-sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.kn-side-category {
  padding: 17px;
}

.kn-side-category-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.kn-side-category-head h2 {
  margin: 0;
  font-size: 19px;
  line-height: 1.3;
}

.kn-side-category-head > a {
  color: var(--kn-blue);
  font-size: 12px;
  white-space: nowrap;
}

.kn-side-category-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.kn-side-category-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid var(--kn-line);
}

.kn-side-category-item:first-child {
  padding-top: 0;
}

.kn-side-category-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.kn-side-category-thumb {
  display: block;
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border-radius: 5px;
  overflow: hidden;
  background: #e9eef4;
}

.kn-side-category-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.kn-side-category-no-image {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg, #e5ecf4, #f5f7fa
  );
}

.kn-side-category-copy {
  min-width: 0;
  flex: 1;
}

.kn-side-category-link {
  display: block;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.kn-side-category-copy time {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  color: var(--kn-secondary);
}

.kn-side-category-list--text .kn-side-category-item {
  gap: 10px;
}

.kn-side-category-time {
  width: 40px;
  flex: 0 0 40px;
  font-size: 12px;
  color: #8994a4;
  line-height: 1.5;
}

@media (max-width: 780px) {
  .kn-sidebar {
    margin-top: 24px;
  }
}

/* ==================================
   KABANCHIK NEWS — SIDEBAR FIX
   ================================== */

/* Отступ между блоками */
.kn-sidebar > .kn-side-panel + .kn-side-panel {
    margin-top: 20px;
}

/* Заголовок блока и ссылка "Усі" */
.kn-sidebar .kn-side-category-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
}

.kn-sidebar .kn-side-category-head h2 {
    margin: 0;
    font-size: 18px;
    line-height: 1.3;
}

.kn-sidebar .kn-side-category-head > a {
    font-size: 12px;
    white-space: nowrap;
}

/* Убираем стандартные маркеры списка */
.kn-sidebar ul.kn-side-category-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.kn-sidebar .kn-side-category-list > li {
    list-style: none;
    margin: 0;
}

.kn-sidebar .kn-side-category-item::marker {
    content: "";
}

/* Картинка слева, текст справа */
.kn-sidebar .kn-side-category-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 0;
    border-bottom: 1px solid var(--kn-line, #e4e9ef);
}

.kn-sidebar .kn-side-category-item:first-child {
    padding-top: 0;
}

.kn-sidebar .kn-side-category-item:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

/* Миниатюра 50×50 */
.kn-sidebar .kn-side-category-thumb {
    display: block;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    overflow: hidden;
    border-radius: 4px;
}

.kn-sidebar .kn-side-category-thumb img {
    display: block;
    width: 50px;
    height: 50px;
    max-width: none;
    object-fit: cover;
}

/* Если изображения нет */
.kn-sidebar .kn-side-category-no-image {
    display: block;
    width: 50px;
    height: 50px;
    background: #e9eef4;
}

/* Блок заголовка и даты */
.kn-sidebar .kn-side-category-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    gap: 4px;
}

/* Заголовок новости */
.kn-sidebar a.kn-side-category-link {
    display: block;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    overflow-wrap: break-word;
}

/* Дата под заголовком */
.kn-sidebar .kn-side-category-copy time {
    display: block;
    margin: 0;
    font-size: 9px;
    line-height: 1.4;
    color: #8994a4;
}

/* Время для текстовых списков */
.kn-sidebar .kn-side-category-time {
    flex: 0 0 40px;
    width: 40px;
    font-size: 11px;
    color: #8994a4;
    line-height: 1.4;
}

/* =========================================
   KABANCHIK NEWS — PROMO BANNER
   ========================================= */

/* Сайдбар: вертикальные блоки с отступами */
.kn-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

/* Не суммируем отступы со старыми правилами */
.kn-sidebar > .kn-side-panel + .kn-side-panel {
    margin-top: 0;
}

/* Контейнер баннера */
.kn-sidebar .kn-promo {
    display: flex;
    flex: 1 0 auto;
    min-height: 300px;
    padding: 0;
    overflow: hidden;
    background: #edf3f9;
    border: 1px solid #dbe5ef;
    border-radius: 9px;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

/* Полностью кликабельная область */
.kn-sidebar .kn-promo-link {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1;
    width: 100%;
    min-width: 0;
    padding: 23px 20px 18px;
    color: #142842;
    text-decoration: none;
    cursor: pointer;
}

/* Рекламная маркировка */
.kn-promo-label {
    display: block;
    margin-bottom: 16px;
    color: #71849a;
    font-size: 9px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .6px;
}

/* Заголовок */
.kn-promo-title {
    display: block;
    margin-bottom: 12px;
    color: #142842;
    font-size: 23px;
    font-weight: 750;
    line-height: 1;
    text-align: center;
}

/* Описание */
.kn-promo-description {
    display: block;
    color: #5c7087;
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
}

/* Изображение */
.kn-promo-image {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 0 auto;
    min-height: 140px;
    padding: 18px 0;
}

.kn-promo-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 164px;
    object-fit: contain;
}

/* Визуальная кнопка */
.kn-promo-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 15px;
    border-radius: 5px;
    background: #17345a;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    transition: background .25s ease;
}

/* Адрес сайта */
.kn-promo-domain {
    display: block;
    margin-top: 12px;
    color: #8192a6;
    font-size: 11px;
    text-align: center;
}

/* Наведение */
@media (hover: hover) {
    .kn-sidebar .kn-promo:hover {
        transform: translateY(-3px);
        border-color: #bdcede;
        box-shadow: 0 12px 28px rgba(20,40,66,.14);
    }

    .kn-sidebar .kn-promo:hover
    .kn-promo-button {
        background: #24558b;
    }
}

/* Доступность с клавиатуры */
.kn-sidebar .kn-promo:focus-within {
    outline: 2px solid #24558b;
    outline-offset: 3px;
}

/* Мобильная адаптация */
@media (max-width: 767px) {
    .kn-sidebar .kn-promo {
        flex-grow: 0;
        min-height: 0;
    }

    .kn-sidebar .kn-promo-link {
        padding: 20px;
    }

    .kn-promo-title {
        font-size: 21px;
    }

    .kn-promo-image img {
        max-height: 230px;
    }
}

/* Для пользователей без анимации */
@media (prefers-reduced-motion: reduce) {
    .kn-sidebar .kn-promo,
    .kn-promo-button {
        transition: none;
    }

    .kn-sidebar .kn-promo:hover {
        transform: none;
    }
}
/* KABANCHIK NEWS — compact NBU currency informer */
.kn-masthead .kn-nbu {
    margin-left: auto;
    flex: 0 0 auto;
    padding: 5px 18px;
    border-left: 1px solid var(--kn-line, #e4e9ef);
    color: var(--kn-ink, #172437);
    line-height: 1.3;
}
.kn-nbu-title {
    color: var(--kn-secondary, #69778b);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .035em;
    margin-bottom: 4px;
}
.kn-nbu-title span { font-weight: 400; letter-spacing: 0; }
.kn-nbu-values { display: flex; align-items: center; gap: 15px; font-size: 14px; white-space: nowrap; }
.kn-nbu-values b { font-size: 12px; margin-right: 4px; color: var(--kn-blue, #204e85); }
.kn-nbu-source { display: inline-block; margin-top: 3px; font-size: 10px; color: var(--kn-secondary, #69778b); text-decoration: underline; text-underline-offset: 2px; }
.kn-nbu-source:hover { color: var(--kn-blue, #204e85); }
.kn-masthead .kn-nbu + .kn-toplinks { margin-left: 0; }
@media (max-width: 1080px) {
    .kn-masthead .kn-nbu { padding-inline: 10px; }
    .kn-nbu-values { gap: 9px; font-size: 12px; }
}
@media (max-width: 850px) {
    .kn-masthead .kn-nbu { display: none; }
    .kn-masthead .kn-nbu + .kn-toplinks { margin-left: auto; }
}

/* KABANCHIK NEWS — погодний інформер */

.kn-masthead .kn-weather {
    margin-left: auto;
    flex: 0 1 auto;
    min-width: 0;
    padding: 4px 6px;
    border-left: 1px solid var(--kn-line, #e4e9ef);
    color: var(--kn-ink, #172437);
}

.kn-weather-heading {
    font-size: 10px;
    font-weight: 700;
    color: var(--kn-secondary, #69778b);
    letter-spacing: .03em;
    margin-bottom: 5px;
}

.kn-weather-heading span {
    font-weight: 400;
    letter-spacing: 0;
}

.kn-weather-cities {
    display: flex;
    flex-wrap: wrap;
    column-gap: 12px;
    row-gap: 5px;
}

.kn-weather-city {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    white-space: nowrap;
    font-size: 11px;
}

.kn-weather-city strong {
    font-size: 12px;
    color: var(--kn-ink, #172437);
}

.kn-weather-icon {
    font-size: 13px;
    line-height: 1;
}

.kn-weather-source {
    display: inline-block;
    margin-top: 4px;
    color: var(--kn-secondary, #69778b);
    font-size: 9px;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.kn-weather-source:hover {
    color: var(--kn-blue, #204e85);
}

/* Погода перед курсами НБУ */
.kn-masthead .kn-nbu {
    margin-left: 0;
}

@media (max-width: 1400px) {
    .kn-weather-cities {
        column-gap: 8px;
    }

    .kn-weather-city {
        font-size: 10px;
    }

    .kn-masthead .kn-weather {
        padding-inline: 10px;
    }
}

@media (max-width: 1170px) {
    .kn-masthead .kn-weather {
        display: none;
    }

    .kn-masthead .kn-nbu {
        margin-left: auto;
    }
}

@media (max-width: 850px) {
    .kn-masthead .kn-nbu {
        display: none;
    }
}
  

/* ============================================================
   MOBILE HEADER: NBU rates on the left, menu button on the right
   This section intentionally overrides the older mobile rules.
   ============================================================ */

.kn-mobile-currency {
    display: none;
}

@media (max-width: 780px) {
    .kn-nav-wrap .kn-nav-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 44px;
        align-items: center;
        column-gap: 8px;
        min-height: 58px;
    }

    .kn-nav-wrap .kn-mobile-currency {
        grid-column: 1;
        grid-row: 1;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 3px 8px;
        min-width: 0;
        margin: 0;
        padding: 0;
        font-size: 12px;
        line-height: 1.35;
    }

    .kn-nav-wrap .kn-mobile-currency-label {
        font-size: 11px;
    }

    .kn-nav-wrap .kn-mobile-currency b {
        color: var(--kn-blue);
        font-weight: 700;
    }

    .kn-nav-wrap .kn-menu-toggle {
        grid-column: 2;
        grid-row: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 48px;
        margin: 0;
        padding: 4px 2px;
        border: 0;
        background: transparent;
        cursor: pointer;
    }

    .kn-nav-wrap .kn-menu-toggle img {
        display: block;
        width: 40px;
        height: 40px;
        object-fit: contain;
    }

    .kn-nav-wrap .kn-nav {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
    }
}

@media (max-width: 360px) {
    .kn-nav-wrap .kn-mobile-currency {
        gap: 2px 6px;
        font-size: 11px;
    }
}
/* KABANCHIK NEWS — single post page */
.kn-single-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 25px;
    align-items: start;
    padding-top: 30px;
    padding-bottom: 55px;
}
.kn-single-main { min-width: 0; }
.kn-single-article {
    min-width: 0;
    padding: clamp(18px, 3vw, 36px);
    background: #fff;
    border: 1px solid var(--kn-line);
    border-radius: var(--kn-radius);
}
.kn-single-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 9px;
    margin-bottom: 24px;
    color: var(--kn-secondary);
    font-size: 12px;
    line-height: 1.5;
}
.kn-single-breadcrumbs a { color: var(--kn-blue); }
.kn-single-breadcrumbs [aria-current="page"] {
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.kn-single-category {
    display: inline-block;
    margin-bottom: 9px;
    color: var(--kn-blue);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}
.kn-single-heading h1 {
    margin: 0 0 16px;
    color: var(--kn-ink);
    font-size: clamp(27px, 3vw, 39px);
    line-height: 1.2;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
}
.kn-single-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 9px;
    color: var(--kn-secondary);
    font-size: 12px;
}
.kn-single-meta a { color: var(--kn-blue); }
.kn-single-cover { margin: 24px 0 26px; }
.kn-single-cover img { display: block; width: 100%; height: auto; border-radius: 6px; }
.kn-single-cover figcaption { margin-top: 7px; color: var(--kn-secondary); font-size: 12px; }
.kn-single-body {
    color: var(--kn-ink);
    font-size: 16px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.kn-single-body > :first-child { margin-top: 0; }
.kn-single-body p { margin: 0 0 1.25em; }
.kn-single-body h2,
.kn-single-body h3,
.kn-single-body h4 { line-height: 1.35; margin: 1.6em 0 .6em; }
.kn-single-body img { max-width: 100%; height: auto; }
.kn-single-body figure { max-width: 100%; }
.kn-single-body figcaption { color: var(--kn-secondary); font-size: 12px; }
.kn-single-body a { color: var(--kn-blue); text-decoration: underline; text-underline-offset: 2px; }
.kn-single-body blockquote { margin: 1.5em 0; padding: 8px 0 8px 18px; border-left: 4px solid #e9bb3b; }
.kn-single-body table { max-width: 100%; width: 100%; border-collapse: collapse; }
.kn-single-body th,
.kn-single-body td { border: 1px solid var(--kn-line); padding: 8px; text-align: left; }
.kn-single-body .wp-block-table,
.kn-single-body pre { overflow-x: auto; }
.kn-single-tags { margin-top: 24px; font-size: 13px; color: var(--kn-secondary); }
.kn-single-tags a { color: var(--kn-blue); }
.kn-single-share { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--kn-line); text-align: center; }
.kn-single-share h2 { margin: 0 0 17px; font-size: 17px; line-height: 1.4; }
.kn-single-share-list { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.kn-share-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 13px;
    border: 1px solid var(--kn-line);
    border-radius: 6px;
    background: #f8fafc;
    color: var(--kn-ink);
    font-size: 13px;
    font-weight: 600;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.kn-share-button img { width: 24px; height: 24px; object-fit: contain; }
.kn-share-button:hover { background: #edf3f9; box-shadow: 0 3px 12px rgba(20,40,66,.08); transform: translateY(-2px); }
.kn-single-sidebar { margin-top: 0; }
.kn-single-side-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 13px; }
.kn-single-side-heading h2 { margin: 0; }
.kn-single-side-heading > a { font-size: 12px; white-space: nowrap; color: var(--kn-blue); }
.kn-single-related-list { list-style: none; margin: 0; padding: 0; }
.kn-single-related-list li {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 12px 0;
    border-bottom: 1px solid var(--kn-line);
}
.kn-single-related-list li:first-child { padding-top: 0; }
.kn-single-related-list li:last-child { padding-bottom: 0; border-bottom: 0; }
.kn-single-related-thumb,
.kn-single-related-placeholder { display: block; width: 56px; height: 56px; border-radius: 4px; background: #e9eef4; overflow: hidden; }
.kn-single-related-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kn-single-related-title { display: block; font-size: 13px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.kn-single-related-list time { display: block; margin-top: 4px; color: var(--kn-secondary); font-size: 10px; }
@media (max-width: 1070px) {
    .kn-single-layout { grid-template-columns: minmax(0, 1fr) 250px; }
}
@media (max-width: 780px) {
    .kn-single-layout { display: block; padding-top: 18px; padding-bottom: 36px; }
    .kn-single-sidebar { margin-top: 22px; }
    .kn-single-article { padding: 20px; }
    .kn-single-body { font-size: 16px; }
}
@media (max-width: 500px) {
    .kn-single-article { padding: 18px 15px; }
    .kn-single-heading h1 { font-size: 27px; }
    .kn-single-breadcrumbs [aria-current="page"] { max-width: 210px; }
    .kn-share-button { flex: 1 1 calc(50% - 10px); }
}
@media (prefers-reduced-motion: reduce) {
    .kn-share-button { transition: none; }
    .kn-share-button:hover { transform: none; }
}

/* KABANCHIK NEWS — archive listings */
.kn-archive-layout {
    align-items: start;
}

.kn-archive-panel {
    min-width: 0;
    padding: clamp(18px, 3vw, 36px);
    background: #fff;
    border: 1px solid var(--kn-line, #e4e9ef);
    border-radius: var(--kn-radius, 7px);
}

.kn-archive-heading {
    padding-bottom: 18px;
    border-bottom: 1px solid var(--kn-line, #e4e9ef);
}

.kn-archive-heading h1 {
    margin: 0;
    color: var(--kn-ink, #172437);
    font-size: clamp(27px, 3vw, 36px);
    line-height: 1.2;
    letter-spacing: -.03em;
}

.kn-archive-intro {
    margin-top: 12px;
    color: var(--kn-secondary, #69778b);
    font-size: 14px;
    line-height: 1.65;
}
.kn-archive-intro p { margin: 0 0 10px; }
.kn-archive-intro p:last-child { margin-bottom: 0; }

.kn-archive-list { display: block; }

.kn-archive-item {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    padding: 18px 0;
    border-bottom: 1px solid var(--kn-line, #e4e9ef);
}
.kn-archive-item:last-child { border-bottom: 0; }

.kn-archive-thumb {
    display: block;
    width: 128px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 5px;
    background: #e9eef4;
}
.kn-archive-thumb img,
.kn-archive-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.kn-archive-placeholder {
    background: linear-gradient(135deg, #e5ecf4, #f5f7fa);
}

.kn-archive-item-body { min-width: 0; }
.kn-archive-item-title {
    margin: 0 0 9px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.kn-archive-item-title a:hover { color: var(--kn-blue, #204e85); }
.kn-archive-item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 8px;
    color: var(--kn-secondary, #69778b);
    font-size: 11px;
    line-height: 1.5;
}
.kn-archive-item-meta a { color: var(--kn-blue, #204e85); }
.kn-archive-empty { margin-top: 22px; }

.kn-archive-panel .navigation.pagination { margin-top: 24px; }
.kn-archive-panel .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.kn-archive-panel .page-numbers {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 37px;
    min-height: 37px;
    padding: 7px 11px;
    border: 1px solid var(--kn-line, #e4e9ef);
    border-radius: 5px;
    font-size: 13px;
}
.kn-archive-panel .page-numbers.current {
    background: var(--kn-blue, #204e85);
    color: #fff;
    border-color: var(--kn-blue, #204e85);
}
.kn-archive-panel .page-numbers:hover:not(.current) {
    border-color: var(--kn-blue, #204e85);
}

@media (max-width: 600px) {
    .kn-archive-panel { padding: 18px 15px; }
    .kn-archive-item {
        grid-template-columns: 90px minmax(0, 1fr);
        gap: 12px;
        padding: 15px 0;
    }
    .kn-archive-thumb { width: 90px; }
    .kn-archive-item-title { font-size: 14px; line-height: 1.38; }
    .kn-archive-item-meta { font-size: 10px; gap: 2px 5px; }
}
/* ========================================================
   KABANCHIK NEWS — informational pages (page.php)
   Scoped to .kn-page-* to avoid affecting news templates.
   ======================================================== */

.kn-page-layout {
    max-width: 960px;
    padding-top: 32px;
    padding-bottom: 64px;
}

.kn-info-page {
    min-width: 0;
    padding: clamp(22px, 4vw, 48px);
    background: var(--kn-white, #fff);
    border: 1px solid var(--kn-line, #e4e9ef);
    border-radius: var(--kn-radius, 7px);
}

.kn-page-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    margin: 0 0 25px;
    color: var(--kn-secondary, #69778b);
    font-size: 12px;
    line-height: 1.5;
}

.kn-page-breadcrumbs a {
    color: var(--kn-blue, #204e85);
}

.kn-page-heading {
    margin: 0 0 30px;
    padding-left: 15px;
    border-left: 4px solid #e9bb3b;
}

.kn-page-heading h1 {
    margin: 0;
    color: var(--kn-ink, #172437);
    font-size: clamp(29px, 4vw, 40px);
    line-height: 1.2;
    letter-spacing: -0.035em;
    overflow-wrap: anywhere;
}

.kn-page-body {
    color: var(--kn-ink, #172437);
    font-size: 16px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.kn-page-body > :first-child { margin-top: 0; }
.kn-page-body p { margin: 0 0 1.25em; }

.kn-page-body h2,
.kn-page-body h3,
.kn-page-body h4 {
    margin: 1.65em 0 0.65em;
    line-height: 1.35;
    letter-spacing: -0.015em;
}

.kn-page-body h2 { font-size: clamp(22px, 3vw, 27px); }
.kn-page-body h3 { font-size: 20px; }
.kn-page-body h4 { font-size: 17px; }

.kn-page-body a {
    color: var(--kn-blue, #204e85);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.kn-page-body ul,
.kn-page-body ol { padding-left: 1.5em; margin: 0 0 1.4em; }
.kn-page-body li + li { margin-top: 0.35em; }

.kn-page-body blockquote,
.kn-page-body .wp-block-quote {
    margin: 1.6em 0;
    padding: 12px 20px;
    border-left: 4px solid var(--kn-blue, #204e85);
    background: #f5f8fb;
}

.kn-page-body img { max-width: 100%; height: auto; }
.kn-page-body figure { max-width: 100%; }
.kn-page-body figcaption { color: var(--kn-secondary, #69778b); font-size: 12px; }

.kn-page-body .wp-block-table { overflow-x: auto; }
.kn-page-body table { width: 100%; border-collapse: collapse; }
.kn-page-body th,
.kn-page-body td { padding: 10px 12px; border: 1px solid var(--kn-line, #e4e9ef); text-align: left; }
.kn-page-body th { background: #f5f8fb; }

.kn-page-body .wp-block-button__link {
    padding: 11px 18px;
    border-radius: 5px;
    background: var(--kn-blue, #204e85);
    color: #fff;
    text-decoration: none;
}

.kn-page-body .wp-block-button__link:hover { background: #17345a; color: #fff; }

.kn-page-pagination { margin-top: 26px; font-size: 14px; }

@media (max-width: 780px) {
    .kn-page-layout { padding-top: 20px; padding-bottom: 40px; }
    .kn-info-page { padding: 24px 20px; }
    .kn-page-body { font-size: 16px; line-height: 1.7; }
}

@media (max-width: 500px) {
    .kn-page-layout { padding-top: 12px; }
    .kn-info-page { padding: 20px 16px; }
    .kn-page-heading { margin-bottom: 22px; }
}
/* KABANCHIK NEWS — floating back-to-top button */
.kn-back-to-top {
    position: fixed;
    right: 20px;
    bottom: 50px;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid #31557c;
    border-radius: 50%;
    background: #17345a;
    color: #fff;
    box-shadow: 0 4px 15px rgba(20, 40, 66, .16);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease,
                visibility .2s ease, background-color .2s ease;
}

.kn-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.kn-back-to-top:hover {
    background: #24558b;
    transform: translateY(-3px);
}

.kn-back-to-top:focus-visible {
    outline: 3px solid #72a9e3;
    outline-offset: 3px;
}

@media (max-width: 780px) {
    .kn-back-to-top {
        right: 16px;
        bottom: 24px;
        width: 44px;
        height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kn-back-to-top {
        transition: none;
    }
}
/* KABANCHIK NEWS — author.php
   Reuses kn-archive-* list styles already used by archive.php. */
.kn-author-profile {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 26px;
    align-items: start;
    padding: 8px 0 30px;
    border-bottom: 1px solid var(--kn-line, #e4e9ef);
}
.kn-author-photo {
    width: 160px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 9px;
    background: #e9eef4;
}
.kn-author-photo img,
.kn-author-photo .avatar {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.kn-author-profile-info { min-width: 0; }
.kn-author-eyebrow {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--kn-blue, #204e85);
}
.kn-author-profile h1 {
    margin: 0 0 10px;
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.2;
    letter-spacing: -.025em;
    color: var(--kn-ink, #172437);
}
.kn-author-role {
    margin: 0 0 14px;
    font-size: 15px;
    font-weight: 650;
    color: var(--kn-ink, #172437);
}
.kn-author-specialization,
.kn-author-bio {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.75;
    color: var(--kn-secondary, #69778b);
}
.kn-author-bio p { margin: 0 0 10px; }
.kn-author-bio p:last-child { margin-bottom: 0; }
.kn-author-team-link {
    display: inline-block;
    margin-top: 5px;
    font-size: 13px;
    font-weight: 600;
    color: var(--kn-blue, #204e85);
    text-decoration: none;
}
.kn-author-team-link:hover { text-decoration: underline; }
.kn-author-list-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 20px;
    padding: 24px 0 8px;
}
.kn-author-list-header h2 {
    margin: 0;
    font-size: clamp(20px, 2.5vw, 25px);
    line-height: 1.3;
    color: var(--kn-ink, #172437);
}
.kn-author-list-header span {
    font-size: 12px;
    color: var(--kn-secondary, #69778b);
}
/* Show the linked author name as a link in single.php. */
.single-post .kn-single-meta a[href*="/author/"] {
    color: var(--kn-blue, #204e85);
    text-decoration: underline;
    text-underline-offset: 2px;
}
@media (max-width: 600px) {
    .kn-author-profile {
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 14px;
        padding-bottom: 22px;
    }
    .kn-author-photo { width: 96px; border-radius: 6px; }
    .kn-author-profile h1 { font-size: 23px; }
    .kn-author-role { font-size: 13px; }
    .kn-author-specialization,
    .kn-author-bio { font-size: 13px; line-height: 1.65; }
    .kn-author-list-header { padding-top: 20px; }
}
@media (max-width: 380px) {
    .kn-author-profile { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; }
    .kn-author-photo { width: 80px; }
}

/* ============================================================
   KABANCHIK NEWS — Sticky promo in posts and archives
   Includes category, author and other archive templates.
   The sidebar must fill the grid row; the promo itself must
   not grow to the height of the sidebar.
   ============================================================ */
@media (min-width: 1024px) {
    body.single-post .kn-single-layout,
    body.archive .kn-archive-layout,
    body.archive .kn-single-layout {
        align-items: stretch;
    }

    body.single-post .kn-sidebar,
    body.archive .kn-sidebar {
        align-self: stretch;
    }

    body.single-post .kn-sidebar > .kn-promo,
    body.archive .kn-sidebar > .kn-promo {
        position: sticky;
        top: 20px;
        flex: 0 0 auto;
        height: auto;
        z-index: 2;
    }
}

@media (max-width: 1023px) {
    body.single-post .kn-sidebar > .kn-promo,
    body.archive .kn-sidebar > .kn-promo {
        position: static;
        flex: 0 0 auto;
    }
}
