/* ================================
   KB Category page (kb_category)
   Визуально как статья, но список
   ================================ */

/* Фон и базовый текст как у статьи */
body.tax-kb_category{
  background:#171717;
  color: rgba(223,223,223,.78);
}

/* На всякий случай тёмный фон внутри обёрток темы */
.tax-kb_category #main,
.tax-kb_category #primary,
.tax-kb_category .site-main{
  background:#171717;
}

/* ---------- Layout: как .kb-article ---------- */

:root{
  /* если уже заданы выше — эти значения их не ломают */
  --kb-side-pad: 16px;
  --kb-top-gap: 24px;
  --kb-orange: #FF5300;
  --kb-max: 780px;
}

@media (min-width:1024px){
  :root{
    --kb-side-pad: 24px;
    --kb-top-gap: 48px;
  }
}
@media (max-width:1280px){ :root{ --kb-max: 740px; } }
@media (min-width:1536px) and (max-width:1599px){ :root{ --kb-max: 820px; } }
@media (min-width:1600px){ :root{ --kb-max: 880px; } }
@media (min-width:1920px){ :root{ --kb-max: 920px; } }
@media (max-width:768px){
  .tax-kb_category .kb-item-title{
    white-space: normal;       /* разрешаем перенос */
    overflow: hidden;
    text-overflow: clip;       /* можно убрать, если не нужно обрезание */
  }

  .tax-kb_category .kb-category-title{
    white-space: normal;       /* на всякий случай, чтобы заголовок тоже не убегал */
    overflow-wrap: break-word; /* переносим очень длинные слова/URL */
  }
}

/* Главный контейнер страницы категории */
.tax-kb_category .kb-category-page{
  padding: 0; /* убираем дефолт GeneratePress */
}

.tax-kb_category .kb-category-inner{
  max-width: var(--kb-max);
  margin: 0 auto;
  padding: var(--kb-top-gap) var(--kb-side-pad) 64px;
  box-sizing: border-box;
}

/* ---------- Back link (как в макете) ---------- */

.kb-back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:"Neue Montreal", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size:15px;
  line-height:1.4;
  color: var(--kb-orange);
  text-decoration:none;
  margin-bottom:24px;
}

.kb-back-arrow{
  font-size:18px;
  transform: translateY(-1px);
}

.kb-back-link:hover .kb-back-text{
  text-decoration:underline;
}

/* ---------- Заголовок и описание ---------- */

.kb-category-header{
  margin-bottom:32px;
}

.kb-category-title{
  margin:0 0 10px;
  font-family:"Neue Montreal", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight:600;
  font-size: clamp(30px, 3vw, 38px);
  line-height:1.18;
  letter-spacing:0.018em;
  color:#FFFFFF;
}

.kb-category-description{
  max-width:640px;
  margin:0;
  font-size: clamp(17px, 1.1vw, 18px);
  line-height:1.55;
  letter-spacing:0.01em;
  color: rgba(223,223,223,.78);
}

/* ---------- Список статей ---------- */

.kb-category-list{
  margin-top:32px;
  border-top:0px solid rgba(255,255,255,.08);
}

/* Одна строка-статья */
.kb-category-item{
  margin:0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.kb-category-link{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:18px 0;
  text-decoration:none;
  color: inherit;
}

/* hover по всей строке */
.kb-category-item:hover .kb-category-link{
  background-color: rgba(255,255,255,.02);
}

/* Иконка слева - картинка + fallback без оранжевого круга под ней */
.kb-item-icon{
  flex: 0 0 32px;
  height: 32px;
  margin-top: 4px;
  border-radius: 8px;
  position: relative;
  overflow: hidden; /* обрезаем края иконки по радиусу */
}

/* отключаем старый псевдо-элемент, если где-то остался */
.kb-item-icon::before{
  content: none !important;
}

/* fallback, если нет загруженной иконки */
.kb-item-icon--default{
  background-color: #FF5300;
}

/* когда есть картинка - фона нет */
.kb-item-icon--has-img{
  background: none;
}

.kb-item-icon-img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Текстовая часть */
.kb-item-body{
  flex:1 1 auto;
  min-width:0;
}

.kb-item-title{
  margin:0 0 4px;
  font-family:"Neue Montreal", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight:500;
  font-size:16px;
  line-height:1.4;
  color:#FFFFFF;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}



.kb-item-excerpt{
  margin:0;
  font-size:14px;
  line-height:1.5;
  color: rgba(223,223,223,.75);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Стрелка справа */
.kb-item-arrow{
  flex:0 0 20px;
  height:20px;
  margin-left:16px;
  background:url("http://pc-dna.com/wp-content/uploads/2025/11/arrow-right.svg")
            no-repeat center / contain;
  transition:transform .2s ease;
}

.kb-category-item:hover .kb-item-arrow{
  transform:translateX(3px);
}

/* ---------- Пустое состояние ---------- */

.kb-empty{
  margin-top:24px;
  font-size:14px;
  color: rgba(223,223,223,.75);
}

.kb-back-link-secondary{
  display:inline-flex;
  margin-top:8px;
  font-size:14px;
  color: var(--kb-orange);
  text-decoration:none;
}

.kb-back-link-secondary:hover{
  text-decoration:underline;
}

/* ---------- Мобильные правки ---------- */

@media (max-width:768px){
  .tax-kb_category .kb-category-inner{
    padding: var(--kb-top-gap) 16px 40px;
  }
  .kb-category-title{
    font-size:24px;
  }
  .kb-category-link{
    padding:14px 0;
  }
  .kb-item-title{
    font-size:15px;
  }
}
* ===== Knowledge base: category page (kb_category) ===== */

.kb-category-page {
  padding: 40px 0 80px;
}

.kb-category-inner {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 40px;
}

@media (max-width: 768px) {
  .kb-category-inner {
    padding: 0 20px 40px;
  }
}

/* Header */

.kb-category-header {
  margin-bottom: 32px;
}

.kb-category-title {
  font-size: 32px;
  line-height: 1.2;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 12px;
}

.kb-category-description {
  max-width: 640px;
  font-size: 16px;
  line-height: 1.5;
  color: #a0a0a0;
  margin: 0;
}

@media (max-width: 768px) {
  .kb-category-title {
    font-size: 24px;
  }
}

/* List */

.kb-category-list {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* Article row */

.kb-category-item {
  margin: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.kb-category-link {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 0;
  text-decoration: none;
  color: inherit;
}

.kb-category-item:hover .kb-category-link {
  background-color: rgba(255, 255, 255, 0.02);
}


.kb-item-body {
  flex: 1 1 auto;
  min-width: 0;
}

.kb-item-title {
  font-size: 18px;
  line-height: 1.3;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kb-item-excerpt {
  font-size: 14px;
  line-height: 1.5;
  color: #a0a0a0;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Arrow on the right */

.kb-item-arrow {
  flex: 0 0 24px;
  height: 24px;
  margin-left: 16px;
  background: url("https://pc-dna.com/wp-content/uploads/2025/11/arrow-right.svg")
              no-repeat center / contain;
  transition: transform 0.2s ease;
}

.kb-category-item:hover .kb-item-arrow {
  transform: translateX(3px);
}

@media (max-width: 768px) {
  .kb-category-link {
    padding: 14px 0;
  }
  .kb-item-title {
    font-size: 16px;
  }
}

/* FIX: синхронизация вертикального паддинга с дизайном статьи */
body.tax-kb_category .kb-category-page {
  padding-top: var(--kb-top-gap) !important;
}

/* растягиваем на full-width breadcrumbs-зону (как у статьи) */
@media (min-width:1025px){
  body.tax-kb_category .kb-category-page{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: 40px;
    padding-right: 32px;
  }
}

/* Apply article breadcrumb styling on taxonomy pages */
.tax-kb_category #breadcrumbs {
  margin: 0;
  padding: 0;
  font-family: "Neue Montreal", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

/* Links */
.tax-kb_category #breadcrumbs a {
  color: var(--kb-orange, #FF5300) !important;
  text-decoration: none;
}
.tax-kb_category #breadcrumbs a:hover {
  text-decoration: underline;
}

/* Separators */
.tax-kb_category #breadcrumbs .separator,
.tax-kb_category #breadcrumbs .kb-sep {
  color: var(--kb-orange, #FF5300);
  padding: 0 4px;
  margin: 0 2px;
}

/* Last crumb styling */
.tax-kb_category #breadcrumbs .breadcrumb_last {
  color: var(--kb-orange, #FF5300);
}

.tax-kb_category .kb-category-inner{
  min-height: calc(100vh); /* можно 60/100 подогнать по вкусу */
}

