.zpi { padding: 50px 0; }
.zpi__inner { max-width:1400px; margin:0 auto; padding:0 15px; }

/* --- верхняя часть: 2 колонки (текст + таблица) --- */
.zpi_top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: start;
}

.zpi_h2 {
  font-size: 26px;
  font-weight: 700;
  color: #16223d;
  margin-bottom: 22px;
  line-height: 1.25;
}

.zpi_text p { color:#6a7384; line-height:1.6; }
.zpi_text p + p { margin-top: 18px; }

/* галерея из 3 фото */
.zpi_gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 28px;
}
.zpi_gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}

/* --- таблица характеристик --- */
.zpi_table table{ width:100%; border-collapse:collapse; font-size:15px; }
.zpi_table thead th {
  background: linear-gradient(180deg,#234fc4,#1b3f9e);
  color:#fff;
  text-align:left;
  font-weight:500;
  padding:14px 18px;
}
.zpi_table thead th:first-child { border-radius:8px 0 0 0; }
.zpi_table thead th:last-child  { border-radius:0 8px 0 0; }
.zpi_table tbody td {
  padding:13px 18px;
  border-bottom:1px solid #e6ecf5;
  color:#3a445a;
}
.zpi_table tbody tr:nth-child(odd) td { background:#f4f7fc; }
.zpi_table tbody td:first-child  { color:#6a7384; }
.zpi_table tbody td:last-child   { font-weight:500; color:#16223d; }

/* --- нижняя часть: 3 колонки на сером фоне --- */
.zpi_bottom {
  margin-top: 50px;
  background: #eef2f9;
  border-radius: 12px;
  padding: 40px 0;
}
.zpi_cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.zpi_col { padding: 0 36px; }
.zpi_col + .zpi_col { border-left:1px solid #d7deeb; }

.zpi_col_head {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}
.zpi_col_head .zpi_ico {
  flex-shrink:0;
  width:30px; height:30px;
  color:#1D52DE;
}
.zpi_col_head .zpi_ico svg { width:100%; height:100%; display:block; }
.zpi_col_head h3 {
  font-size:19px;
  font-weight:700;
  color:#16223d;
  line-height:1.25;
}

.zpi_col p { color:#6a7384; line-height:1.6; }
.zpi_col p + p { margin-top:16px; }

.zpi_list { margin:14px 0; padding:0; list-style:none; }
.zpi_list li {
  position:relative;
  padding-left:18px;
  color:#6a7384;
  line-height:1.6;
}
.zpi_list li + li { margin-top:8px; }
.zpi_list li::before {
  content:"";
  position:absolute;
  left:0; top:11px;
  width:5px; height:5px;
  border-radius:50%;
  background:#1D52DE;
}

/* --- вывод из текстового редактора внутри колонок (gbi_feat / gbi_mark / gbi_order) --- */
.zpi_col ul { margin:14px 0; padding:0; list-style:none; }
.zpi_col li {
  position:relative;
  padding-left:18px;
  color:#6a7384;
  line-height:1.6;
}
.zpi_col li + li { margin-top:8px; }
.zpi_col li::before {
  content:"";
  position:absolute;
  left:0; top:11px;
  width:5px; height:5px;
  border-radius:50%;
  background:#1D52DE;
}
.zpi_text h2 {
    font-size: 24px;
    font-weight: 500;
    margin: 15px 0 10px;
}
/* =========================================================================
   АДАПТИВ  —  брейкпоинты согласованы с вашим style.css (768 / 580 / 480)
   ========================================================================= */
@media (max-width:992px){
  .zpi_top { gap:36px; }
  .zpi_col { padding:0 24px; }
}

@media (max-width:768px){
  .zpi { padding:30px 0; }

  /* верх в одну колонку: текст, затем таблица */
  .zpi_top { grid-template-columns:1fr; gap:32px; }

  .zpi_h2 { font-size:22px; margin-bottom:16px; }

  /* нижняя секция в одну колонку, разделители — горизонтальные */
  .zpi_bottom { margin-top:32px; padding:10px 0; }
  .zpi_cols { grid-template-columns:1fr; }
  .zpi_col { padding:30px 20px; }
  .zpi_col + .zpi_col { border-left:none; border-top:1px solid #d7deeb; }
  .zpi_col_head h3 { font-size:18px; }
}

@media (max-width:480px){
  .zpi_table table{ font-size:13px; }
  .zpi_table thead th,
  .zpi_table tbody td { padding:11px 12px; }

  .zpi_gallery { gap:8px; }

  .zpi_h2 { font-size:20px; }
}