/* === comparison.css: секция “Сравнение” === */

#comparison {
  padding: 80px 20px;
  max-width: 1100px;
  margin: 0 auto;
  background-color: #fafafa;
  text-align: center;
}

#comparison h2 {
  font-size: 2.25rem;           /* ещё крупнее */
  color: #1e293b;
  font-weight: 700;
  margin-bottom: 0.5rem;
  letter-spacing: -0.5px;
}

#comparison p.subtitle {
  font-size: 1rem;
  color: #475569;
  margin-bottom: 40px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.comparison-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 32px;
}

/* === Карточка конкурентов === */
.other-program {
  background: rgba(243, 244, 246, 0.96);
  border: 1px solid #e0e7ff;
  border-radius: 20px;
  padding: 56px 40px;
  box-shadow: 0 6px 32px rgba(39, 59, 98, 0.08);
  transition: transform .2s ease, box-shadow .2s, border-color .2s;
  overflow: hidden;
}

.other-program:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 50px rgba(60, 70, 170, 0.13);
  border-color: #f87171;
}

.other-program h3 {
  font-size: 1.75rem;
  color: #1e293b;
  font-weight: 700;
  margin-bottom: 1rem;
  letter-spacing: -0.5px;
}

.other-program ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.other-program li {
  position: relative;
  padding-left: 44px;
  margin-bottom: 18px;
  font-size: 1.15rem;
  color: #4a4f57;
  line-height: 1.6;
  display: flex;
  align-items: center;
}

.other-program li .bx {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #fb7185;
  background: #ffffff;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 800;
  box-shadow: 0 2px 10px rgba(253, 228, 232, 0.63);
  border: 1.5px solid #fca5a5;
  transition: color .15s, border .15s;
}

/* === Карточка POSMARKET === */
.x2-program {
  background: linear-gradient(120deg, #3b82f6 85%, #06b6d4 120%);
  border: 1px solid #bae6fd;
  border-radius: 20px;
  padding: 56px 40px;
  box-shadow: 0 9px 38px rgba(42,150,246,0.11), 0 2px 12px rgba(6,182,212,0.09);
  transition: transform .2s ease, box-shadow .2s, border-color .2s;
  overflow: hidden;
}

.x2-program:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(16,187,254,0.17);
  border-color: #22d3ee;
}

.x2-program h3 {
  font-size: 1.75rem;
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 1rem;
  letter-spacing: -0.5px;
  text-shadow: 0 1px 0 rgba(30,41,59,0.2);
}

.x2-program ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.x2-program li {
  position: relative;
  padding-left: 44px;
  margin-bottom: 18px;
  font-size: 1.15rem;
  color: #dbf4fe;
  line-height: 1.6;
  font-weight: 500;
  display: flex;
  align-items: center;
}

.x2-program li .bx {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #22c55e;
  background: #ffffff;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 900;
  box-shadow: 0 2px 10px rgba(187,247,208,0.63);
  border: 1.5px solid #22c55e;
  transition: color .15s, border .15s;
}

/* === Адаптация под мобильные === */
@media (max-width: 768px) {
  #comparison {
    padding: 60px 16px;
  }

  .comparison-grid {
    gap: 24px;
  }

  .other-program,
  .x2-program {
    padding: 40px 24px;
  }

  .other-program h3,
  .x2-program h3 {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
  }

  .other-program li,
  .x2-program li {
    font-size: 1.1rem;
    padding-left: 36px;
    margin-bottom: 14px;
  }

  .other-program li .bx,
  .x2-program li .bx {
    width: 20px;
    height: 20px;
    font-size: 1rem;
    border-width: 1px;
  }
}

/* 1. Карточки: текст по центру */
.other-program,
.x2-program {
  text-align: center;
}

/* 2. Список «сжимается» и центрируется в карточке, но пункты — по левому краю */
.other-program ul,
.x2-program ul {
  display: inline-block;     /* ширина по контенту */
  margin: 0 auto;            /* центрирование списка внутри .card */
  padding: 0;
  text-align: left;          /* выравнивание пунктов слева */
  max-width: 320px;          /* подбираешь под свою ширину карточки */
  width: 100%;
}

/* 3. Пункты списка: отступы и интерлиньяж */
.other-program li,
.x2-program li {
  position: relative;
  margin-bottom: 1rem;       /* пространство между пунктами */
  line-height: 1.6;          /* высота строки */
  padding: 0 40px;           /* место для иконки */
  font-size: 1.1rem;
}

/* 4. Крестик справа в конкурентах */
.other-program li::before {
  content: "✖";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  font-size: 1.25rem;
}

/* 5. Галочка слева в POSMARKET */
.x2-program li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #d1fae5;
  font-size: 1.25rem;
}

/* 6. (Опционально) чуть более узкие отступы на мобильных */
@media (max-width: 768px) {
  .other-program ul,
  .x2-program ul {
    max-width: 90%;
  }
  .other-program li,
  .x2-program li {
    padding: 0 30px;
    margin-bottom: 0.75rem;
  }
  .other-program li::after,
  .x2-program li::before {
    font-size: 1rem;
  }
}
