/* ============================================================
   Соберём дом — блоки главной страницы строительного сайта
   (типы домов, преимущества, этапы, квиз-плейсхолдер, блог)
   ============================================================ */

/* ---------- Квиз-плейсхолдер (до подключения настоящего квиза) ---------- */
.z-quiz-placeholder {
  text-align: center;
  padding: var(--z-space-40) var(--z-space-24);
  background: var(--z-color-accent);
  border-radius: var(--z-radius-xl);
}

.z-quiz-placeholder .z-section__title {
  margin: 0 0 var(--z-space-12);
}

.z-quiz-placeholder__text {
  max-width: 560px;
  margin: 0 auto var(--z-space-16);
  color: var(--z-color-ink-soft);
  line-height: var(--z-lh-relaxed);
}

.z-quiz-placeholder__soon {
  display: inline-block;
  padding: var(--z-space-8) var(--z-space-16);
  border-radius: var(--z-radius-pill);
  background: var(--z-color-surface);
  color: var(--z-color-accent-ink);
  font-size: var(--z-fs-14);
  font-weight: var(--z-fw-medium);
}

/* ---------- Сетка-обёртка для карточных блоков ---------- */
.z-house-types,
.z-benefits {
  display: grid;
  gap: var(--z-space-16);
  grid-template-columns: 1fr;
}

@media (min-width: 480px) {
  .z-house-types,
  .z-benefits { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .z-house-types,
  .z-benefits { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- Карточка типа дома ---------- */
.z-house-type,
.z-benefit {
  padding: var(--z-space-24);
  background: var(--z-color-surface);
  border: 1px solid var(--z-color-line);
  border-radius: var(--z-radius-lg);
  box-shadow: var(--z-shadow-card);
}

.z-house-type__icon,
.z-benefit__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: var(--z-space-16);
  border-radius: var(--z-radius-md);
  background: var(--z-color-accent);
  color: var(--z-color-accent-ink);
}

.z-house-type__title,
.z-benefit__title {
  margin: 0 0 var(--z-space-8);
  font-size: var(--z-fs-18);
  font-weight: var(--z-fw-semibold);
}

.z-house-type__desc,
.z-benefit__text {
  margin: 0;
  color: var(--z-color-mute);
  font-size: var(--z-fs-14);
  line-height: var(--z-lh-relaxed);
}

/* ---------- Этапы работы ---------- */
.z-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--z-space-16);
  grid-template-columns: 1fr;
  counter-reset: none;
}

@media (min-width: 768px) {
  .z-steps { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .z-steps { grid-template-columns: repeat(3, 1fr); }
}

.z-step {
  display: flex;
  align-items: center;
  gap: var(--z-space-16);
  padding: var(--z-space-16) var(--z-space-20);
  background: var(--z-color-surface);
  border: 1px solid var(--z-color-line);
  border-radius: var(--z-radius-md);
}

.z-step__num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--z-radius-full);
  background: var(--z-color-primary);
  color: var(--z-color-primary-on);
  font-weight: var(--z-fw-bold);
}

.z-step__text {
  font-size: var(--z-fs-15);
  font-weight: var(--z-fw-medium);
}

/* ---------- Блог на главной ---------- */
.z-blog-grid {
  display: grid;
  gap: var(--z-space-20);
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .z-blog-grid { grid-template-columns: repeat(3, 1fr); }
}

.z-blog-card {
  background: var(--z-color-surface);
  border: 1px solid var(--z-color-line);
  border-radius: var(--z-radius-lg);
  overflow: hidden;
  box-shadow: var(--z-shadow-card);
}

.z-blog-card__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.z-blog-card__title {
  margin: var(--z-space-16) var(--z-space-16) var(--z-space-8);
  font-size: var(--z-fs-16);
  font-weight: var(--z-fw-semibold);
}

.z-blog-card__excerpt {
  margin: 0 var(--z-space-16) var(--z-space-16);
  color: var(--z-color-mute);
  font-size: var(--z-fs-14);
  line-height: var(--z-lh-relaxed);
}
