/* ===========================================================================
   ██████ DeeNet — СТИЛИ КОНФИГУРАТОРА СБОРОК ПК ██████
   ===========================================================================
   Этот файл отвечает за интерфейс подбора комплектующих,
   фильтры по бюджету и карточки готовых сборок.
   =========================================================================== */

/* Страница конфигуратора */
.build-page { padding-top: 54px; padding-bottom: 80px; }
.build-page h1 span { color: var(--blue-bright); }

/* Основные блоки: фильтры, карточки, список деталей */
.build-filter, .build-card, .bill, .parts {
  background: var(--surface);
  border: 1px solid rgba(140, 170, 255, .2);
  border-radius: 18px; padding: 24px; margin: 28px 0;
}

/* Секция выбора бюджета */
.build-filter label { display: grid; gap: 12px; font-weight: 700; }
.build-filter output { color: var(--blue-bright); font-size: 1.5rem; }
.build-filter input[type="range"] { width: 100%; accent-color: var(--blue); }

/* Выбор назначения ПК (сетка кнопок) */
.purpose-list { display: flex; gap: 10px; flex-wrap: wrap; }
.purpose-list button {
  border: 1px solid #41547b; background: transparent;
  border-radius: 999px; padding: 9px 14px; transition: all .2s;
}
.purpose-list button.active { border-color: var(--blue-bright); color: #fff; transform: translateY(-2px); }

/* Сетка карточек сборок */
.build-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.build-card { display: flex; flex-direction: column; min-height: 310px; margin: 0; }
.build-card h3 { margin: 8px 0; font-size: 1.35rem; }
.build-card > p { color: var(--muted); }
.badge, .build-purpose { display: inline-flex; width: fit-content; margin: 0; }
.badge { padding: 5px 9px; border-radius: 999px; background: rgba(61, 148, 255, .16); color: var(--blue-bright); font-size: 12px; font-weight: 700; }
.build-purpose { margin-top: 18px; color: var(--blue-bright); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.build-card-price { margin-top: auto; padding-top: 18px; border-top: 1px solid rgba(113, 141, 197, .18); }
.build-card-price small, .build-fee { display: block; color: var(--muted); font-size: 12px; }
.build-card-price strong { display: block; margin-top: 4px; color: var(--text); font-size: 1.7rem; }
.build-fee { margin: 7px 0 16px; line-height: 1.45; }
.build-link, .part-price a { color: var(--blue-bright); font-weight: 700; text-decoration: none; }
.empty-builds { padding: 20px; color: var(--muted); }

/* Элемент комплектующей (строка в списке) */
.part {
  display: grid; grid-template-columns: 64px 1fr auto;
  gap: 16px; align-items: center; padding: 14px;
  border-bottom: 1px solid rgba(113, 141, 197, .15);
}
.part:last-child { border: 0; }

/* Превью комплектующей */
.part img {
  width: 64px; height: 50px; object-fit: contain;
  background: rgba(0, 0, 0, .2); border-radius: 8px;
}

.part small { display: block; color: var(--muted); font-size: 11px; }
.part b { color: var(--text); }
.part .price { color: var(--blue-bright); font-weight: 800; }
.parts-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.parts-heading h2 { margin: 0; }
.parts-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.part-price { text-align: right; }
.part-price b { display: block; margin-bottom: 7px; color: var(--blue-bright); }
.build-status { display: flex; flex-wrap: wrap; gap: 9px; margin: 25px 0 0; }
.build-status span { padding: 7px 10px; border: 1px solid rgba(113, 141, 197, .2); border-radius: 999px; color: var(--muted); font-size: 12px; }

/* Блок итоговой суммы */
.summary { display: grid; grid-template-columns: 1fr auto; gap: 12px; max-width: 440px; margin-top: 20px; }
.summary b { font-size: 1.5rem; color: var(--text); }
.summary .delivery-value { color: var(--muted); font-size: 1rem; }
.summary .summary-total { margin-top: 8px; padding-top: 12px; border-top: 1px solid rgba(113, 141, 197, .24); color: var(--blue-bright); }
.delivery-note { max-width: 520px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.build-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.build-actions-top { margin-top: 24px; }
.build-actions-bottom { margin-top: 28px; }

/* Адаптация списка деталей для узких экранов */
@media (max-width: 560px) {
  .part { grid-template-columns: 48px 1fr; }
  .part .part-price { grid-column: 2; text-align: left; margin-top: 4px; }
  .part img { width: 48px; }
  .parts-heading { display: block; }
  .parts-heading p { margin-top: 7px; }
  .build-actions .button { width: 100%; }
}
