/* Раздел /konfigurator/: листинг моделей и верх страницы модели. Всё под .kfg-*. */
.kfg-list, .kfg-detail {
  --kfg-accent: #5879e0;
  --kfg-ink: #1d1d1f;
  --kfg-muted: #6b7280;
  --kfg-line: #e5e7eb;
  --kfg-panel: #f6f7f9;
  font-family: Montserrat, sans-serif;
  color: var(--kfg-ink);
}
.kfg-list *, .kfg-detail * { box-sizing: border-box; }

/* ---------- листинг ---------- */
.kfg-list__lead { font-size: 15px; line-height: 1.55; color: var(--kfg-muted); margin: 0 0 20px; max-width: 760px; }

.kfg-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; background: var(--kfg-panel); border-radius: 16px; padding: 16px; margin-bottom: 14px; }
.kfg-filters input[type=search], .kfg-filters select {
  height: 42px; border: 1px solid var(--kfg-line); border-radius: 10px; background: #fff; padding: 0 12px;
  font: 14px Montserrat, sans-serif; color: var(--kfg-ink); min-width: 0;
}
.kfg-filters input[type=search] { flex: 1 1 260px; }
.kfg-filters select { flex: 0 1 190px; cursor: pointer; }
.kfg-filters input:focus, .kfg-filters select:focus { outline: 2px solid #eef2fd; border-color: var(--kfg-accent); }
.kfg-filters__check { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; white-space: nowrap; }
.kfg-filters__check input { width: 16px; height: 16px; accent-color: var(--kfg-ink); }
.kfg-filters__reset { background: none; border: 0; color: var(--kfg-muted); font: 13px Montserrat, sans-serif; text-decoration: underline; cursor: pointer; margin-left: auto; }

.kfg-list__count { font-size: 13px; color: var(--kfg-muted); margin: 0 0 12px; }

.kfg-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.kfg-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--kfg-line); border-radius: 16px; overflow: hidden; transition: box-shadow .15s, border-color .15s; }
.kfg-card[hidden] { display: none; }
.kfg-card:hover { border-color: #cfd4dc; box-shadow: 0 8px 24px rgba(20, 30, 60, .08); }
.kfg-card__img { display: flex; align-items: center; justify-content: center; height: 170px; background: #fff; padding: 12px; border-bottom: 1px solid #f0f1f3; }
.kfg-card__img img { max-width: 100%; max-height: 146px; width: auto; height: auto; object-fit: contain; }
.kfg-card__body { padding: 14px 16px 10px; flex: 1; }
.kfg-card__brand { font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--kfg-muted); margin-bottom: 4px; }
.kfg-card__title { display: block; font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--kfg-ink); text-decoration: none; }
.kfg-card__title:hover { color: var(--kfg-accent); }
.kfg-card__specs { font-size: 12.5px; color: var(--kfg-muted); margin-top: 6px; line-height: 1.45; }
.kfg-card__btn { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 16px 16px; height: 42px; border-radius: 30px;
  background: var(--kfg-accent); color: #fff; font-weight: 600; font-size: 14px; text-decoration: none; transition: background .15s; }
.kfg-card__btn:hover { background: #4666d0; color: #fff; }

.kfg-empty { margin: 24px 0; padding: 18px; background: var(--kfg-panel); border-radius: 14px; font-size: 14px; }
.kfg-more { display: block; margin: 20px auto 0; background: #fff; border: 1px solid var(--kfg-line); border-radius: 10px; padding: 11px 22px;
  font: 600 14px Montserrat, sans-serif; color: var(--kfg-ink); cursor: pointer; }
.kfg-more:hover { border-color: var(--kfg-ink); }
.kfg-more[hidden] { display: none; }

/* ---------- верх страницы модели ---------- */
.kfg-detail__img { display: flex; align-items: center; justify-content: center; min-height: 280px; }
.kfg-specs { margin: 0 0 18px; }
.kfg-specs__row { display: grid; grid-template-columns: 130px 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px solid #f0f1f3; font-size: 14px; line-height: 1.45; }
.kfg-specs dt { color: var(--kfg-muted); margin: 0; }
.kfg-specs dd { margin: 0; font-weight: 500; }
.kfg-go { display: inline-flex; align-items: center; gap: 8px; border: 0; border-radius: 30px; background: var(--kfg-accent); color: #fff;
  padding: 14px 26px; font: 600 15px Montserrat, sans-serif; cursor: pointer; box-shadow: 0 6px 18px rgba(88, 121, 224, .35); }
.kfg-go:hover { background: #4666d0; }
.kfg-instock { margin-top: 18px; padding: 14px 16px; background: var(--kfg-panel); border-radius: 14px; font-size: 13px; }
.kfg-instock__title { font-weight: 700; margin-bottom: 6px; }
.kfg-instock ul { margin: 0; padding: 0; list-style: none; }
.kfg-instock li { margin: 4px 0; padding: 0; }
.kfg-instock li::before { content: none; }
.kfg-instock a { color: var(--kfg-ink); }

@media (max-width: 991px) {
  .kfg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .kfg-grid { grid-template-columns: 1fr; }
  .kfg-filters select { flex: 1 1 calc(50% - 5px); }
  .kfg-filters__reset { margin-left: 0; }
  .kfg-specs__row { grid-template-columns: 1fr; gap: 2px; }
}
