.kjs-table {
  width: 100%;
  table-layout: fixed;          /* фиксирует сетку по colgroup */
  border-collapse: collapse;
  background: white;
}

.kjs-table td {
  vertical-align: middle;
  padding: 10px;
}

.kjs-table td.image img {
  display: block;
  max-width: 100%;
  height: auto;
}

.kjs-table td.name {
  text-align: left;             /* чтобы название не центрировалось */
}

.kjs-table td.in_series {
  text-align: center;
}

@media (max-width: 768px) {
  /* лёгкая адаптивность: уменьшаем картинку и паддинги */
  .kjs-table col[style*="120px"] { width: 90px !important; }
  .kjs-table td { padding: 8px; }
}


.kjs-acc-title {
  position: relative;
  cursor: pointer;
  user-select: none;
  margin: 18px 0 10px;
  padding-right: 28px; /* место под иконку */
}
.kjs-acc-title:focus { outline: 2px solid #ddd; }

.kjs-acc-icon {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px; height: 18px;
}
.kjs-acc-title .kjs-acc-icon::before {
  content: '+';
  font-weight: 600; font-size: 20px; line-height: 18px;
}
.kjs-acc-title.is-open .kjs-acc-icon::before {
  content: '−';
}

.kjs-table { width:100%; table-layout:fixed; border-collapse:collapse; }
.kjs-table td { vertical-align: middle; padding:10px; }
.kjs-table td.name { text-align:left; }
.kjs-table td.price,
.kjs-table td.price_special,
.kjs-table td.final_price,
.kjs-table td.final_total { white-space:normal; text-align:center; }
.kjs-table td.image img { display:block; max-width:100%; height:auto; }



/* Базовий перемикач */
.kjs-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  vertical-align: middle;
}

/* Ховаємо нативний чекбокс, але лишаємо доступність */
.kjs-switch > input {
  position: absolute;
  inset: 0;
  width: 1px; height: 1px;
  margin: 0; padding: 0;
  opacity: 0;
  pointer-events: none;
}

/* Трек */
.kjs-switch__track {
  position: relative;
  width: 44px;
  height: 24px;
  background: #e5e7eb;                 /* сірий */
  border-radius: 9999px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
  transition: background-color .18s ease;
}

/* Повзунок */
.kjs-switch__thumb {
  position: absolute;
  top: 2px; left: 2px;
  width: 20px; height: 20px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0,0,0,.25);
  transition: transform .18s ease;
}

/* Стан :checked */
.kjs-switch > input:checked + .kjs-switch__track {
  background: #22c55e;                 /* зелений */
}
.kjs-switch > input:checked + .kjs-switch__track .kjs-switch__thumb {
  transform: translateX(20px);
}

/* Фокус з клавіатури (доступність) */
.kjs-switch > input:focus-visible + .kjs-switch__track {
  outline: 2px solid #3b82f6;          /* синій */
  outline-offset: 2px;
}

/* Disabled */
.kjs-switch > input:disabled + .kjs-switch__track {
  opacity: .55;
  cursor: not-allowed;
}

/* Компактний розмір (якщо знадобиться) */
.kjs-switch.kjs-switch--sm .kjs-switch__track {
  width: 36px; height: 20px;
}
.kjs-switch.kjs-switch--sm .kjs-switch__thumb {
  width: 16px; height: 16px; top: 2px; left: 2px;
}
.kjs-switch.kjs-switch--sm > input:checked + .kjs-switch__track .kjs-switch__thumb {
  transform: translateX(16px);
}

.relation_kj {
    background: var(--product-banner-bg);
    display: flow-root;
    margin-bottom: 15px;
    font-size: 12px;
}

.relation_kj div{
    margin:2px;
}

.relation_kj h4 {
    color: var(--add-to-cart-btn-c);
    background: var(--add-to-cart-btn-bg);
    padding: 5px 10px;
}

.relation_kj div h4{
    color: var(--quick-order-btn-c);
    background: var(--quick-order-btn-bg);
    margin: 7px;
    padding: 5px 5px;
}
.hpm-button-wrapper span[data-toggle="tooltip"]:after {
    display: none;
}

.kjseries .total span, .kjseries .price_special span {
    font-size: 14px !important; 
}
.add-kjseries {
    width: 30px;
    padding: 0;
    display: inline-block;
}