/* ---- Cat Sidebar Widget ---- */

.csb-heading {
 font-size: 26px;
 font-weight: 700;
 color: #132139;
 margin-bottom: 33px !important;
}

.csb-wrap {
 display: flex;
 flex-direction: column;
 gap: 20px;
 padding-bottom: 24px;
 padding-top: 24px;
 border-top: 1px solid rgba(44, 81, 148, 0.20);
 border-bottom: 1px solid rgba(44, 81, 148, 0.20);
}

/* ------- Level 1: Root category ------- */

.csb-root {}

.csb-root__head {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 8px;
 cursor: pointer;
}

.csb-root__title {
 font-size: 19px;
 font-weight: 800;
 color: #2C5194;
 text-decoration: none;
 line-height: 1.3;
 flex: 1;
}

.csb-root__title:hover {
 color: #1a3f7a;
}

/* ------- Chevron button ------- */

.csb-toggle {
 background: none;
 border: none;
 padding: 0;
 margin: 0;
 cursor: pointer;
 display: flex;
 align-items: center;
 justify-content: center;
 width: 22px;
 height: 22px;
 min-height: 22px !important;
 background: #F2F2F3;
 border-radius: 50%;
 flex-shrink: 0;
 color: #1a3f7a;
}

/* Простая стрелка для корневых категорий (без заливки) */
.csb-toggle--plain {
 background: none;
 width: 22px;
 height: 22px;
 min-height: 22px;
 color: #1a3f7a;
 border-radius: 900px;
 background: #F2F2F3;
}

.csb-toggle svg {
 width: 12px;
 height: 12px;
}

.is-open>.csb-root__head>.csb-toggle {
 color: #fff;
 background: #2C5194;
}

.csb-sub.is-open .csb-toggle {
 color: #fff;
 background: #2C5194;
}

.csb-toggle .csb-chevron {
 transition: transform 0.25s ease;
 transform: rotate(0deg);
}

.is-open>.csb-root__head .csb-chevron,
.is-open>.csb-sub__head .csb-chevron {
 transform: rotate(180deg);
}

/* ------- Children container (animated) ------- */

.csb-children {
 display: none;
}

.is-open>.csb-children {
 display: block;
 margin-top: 20px;
}

/* ------- Level 2: Subcategory ------- */

.csb-children--l2 {
 display: none;
 flex-direction: column;
 gap: 4px;
}

.is-open>.csb-children--l2 {
 display: flex;
}

.csb-sub {
 border-radius: 10px;
 border: 1px solid rgba(19, 33, 57, 0.08);
 overflow: hidden;
 background: #fff;
}

.csb-sub__head {
 display: flex;
 align-items: center;
 gap: 12px;
 padding: 10px;
}

.csb-sub__icon {
 width: 22px;
 height: 22px;
 object-fit: contain;
 flex-shrink: 0;
 opacity: 0.5;
}

.csb-sub__icon--empty {
 width: 24px;
 height: 24px;
 flex-shrink: 0;
}

.csb-sub__title {
 font-size: 14px;
 font-weight: 700 !important;
 color: #132139;
 text-decoration: none;
 flex: 1;
 line-height: 1.35;
}

.csb-sub__title:hover {
 color: #2C5194;
}

.csb-sub.is-active>.csb-sub__head .csb-sub__title {
 color: #2C5194;
}

/* ------- Level 3: Sub-subcategory ------- */

.csb-children--l3 {
 display: none;
 flex-direction: column;
 gap: 0;
 margin-top: 0;
}

.is-open>.csb-children--l3 {
 display: flex;
 padding: 10px 16px;
 border-top: 1px solid rgba(19, 33, 57, 0.08);
 gap: 10px !important;
 margin-top: 0 !important;
}

.csb-subsub {
 font-size: 14px;
 color: #132139;
 text-decoration: none;
 line-height: 1.35;
 display: block;
}

.csb-subsub:hover {
 color: #1a3f7a;
}

.csb-subsub.is-active {
 color: #2C5194;
 font-weight: 700 !important;
}

@media (max-width: 1024px) {
 .csb-heading {
  font-size: 22px;
  margin-bottom: 30px !important;
 }

 .csb-wrap {
  padding-bottom: 20px !important;
  padding-top: 20px !important;
 }

 .csb-root__title {
  font-size: 16px !important;
 }

 :is(.widget, .wd-widget, div[class^="vc_wp"]) {
  margin-bottom: 20px !important;
 }
}