/* ==========================================================================
   IMINERA Avatar, K1.1 «Эталон+»: mark.css
   Добавки поверх k1-etalon по правкам из docs/Правки_аватар.pdf.
   Содержание: 1 hero bullets · 2 problem stats · 3 benefits · 4 comparison
   5 pricing · 6 faq · 7 form consent · 8 reduced motion
   Темы секций (--s-bg, --s-fg, --s-soft, --s-line, --s-line-strong) приходят
   из styles.css. Mobile-first: базовые стили для 360 px, расширения через
   min-width.
   ========================================================================== */

/* ---------- 1. Hero bullets ---------- */
.hero__bullets {
  display: grid;
  gap: 12px;
  margin-top: 28px;
  list-style: none;
}
.hero__bullets li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .9375rem;
  line-height: 1.4;
  color: var(--text-soft);
}
.hero__bullet-icon {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  fill: none;
  stroke: var(--accent);
  stroke-width: 1.4;
}
.hero__bullet-icon circle { stroke-opacity: .55; }
.hero__bullet-icon path { stroke-linecap: round; stroke-linejoin: round; }

/* ---------- 2. Problem stats (кремовый) ---------- */
.problem__stats {
  position: relative;
  z-index: 1;
  margin-top: clamp(2.5rem, 6vw, 4rem);
  padding-top: clamp(2rem, 5vw, 3rem);
  border-top: 1px solid var(--s-line);
}
.problem__stats-title {
  font-family: var(--font-head);
  font-weight: 400;
  font-style: italic;
  font-size: 1.5rem;
}
.problem__stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  margin: 24px 0 0;
  list-style: none;
  border-top: 1px solid var(--s-line);
}
.problem__stats-grid li {
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 22px 20px 0 0;
}
.problem__stat-num {
  font-family: var(--font-head);
  font-size: clamp(2.5rem, 4.5vw, 3.5rem);
  font-weight: 300;
  font-variant-numeric: lining-nums;
  line-height: 1;
  color: var(--s-fg);
}
.problem__stat-unit {
  font-size: .5em;
  font-style: italic;
}
.problem__stat-label {
  font-size: .8125rem;
  line-height: 1.4;
  color: var(--s-soft);
}
.problem__stats-note {
  max-width: 36rem;
  margin-top: 24px;
  color: var(--s-soft);
}
@media (min-width: 768px) {
  .problem__stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- 3. Benefits table (тёмный) ---------- */
.benefits-table {
  width: 100%;
  border-collapse: collapse;
}
.benefits-table th,
.benefits-table td {
  padding: 18px 16px 18px 0;
  text-align: left;
  vertical-align: baseline;
  border-bottom: 1px solid var(--s-line);
}
.benefits-table thead th {
  font-size: .6875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--s-soft);
}
.benefits-table tbody th {
  width: 34%;
  font-family: var(--font-head);
  font-size: 1.125rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.3;
  color: var(--s-fg);
}
.benefits-table td { color: var(--s-soft); }
@media (min-width: 768px) {
  .benefits-table th,
  .benefits-table td { padding-block: 22px; }
  .benefits-table tbody th { font-size: 1.25rem; }
}

/* ---------- 4. Comparison table (тёмный) ---------- */
.cmp-table {
  width: 100%;
  min-width: 38rem;
  border-collapse: collapse;
}
.cmp-table th,
.cmp-table td {
  padding: 16px 14px;
  text-align: left;
  vertical-align: baseline;
  border-bottom: 1px solid var(--s-line);
}
.cmp-table th:first-child,
.cmp-table td:first-child { padding-left: 0; }
.cmp-table thead th {
  font-size: .6875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--s-soft);
}
.cmp-table tbody th {
  font-size: .8125rem;
  font-weight: 500;
  color: var(--s-soft);
}
.cmp-table td {
  font-family: var(--font-head);
  font-size: 1.0625rem;
  color: var(--s-soft);
}
.cmp-table__us {
  color: var(--s-fg) !important;
  background: rgba(233, 30, 99, .08);
  border-bottom-color: var(--accent-dark) !important;
}
.cmp-table thead th.cmp-table__us {
  color: var(--s-fg) !important;
  font-weight: 700;
}
.cmp-table__yes { color: var(--s-fg); }
.cmp-table__no { color: var(--s-soft); }

/* ---------- 5. Pricing table (тёмный) ---------- */
.pricing-table {
  width: 100%;
  border-collapse: collapse;
}
.pricing-table th,
.pricing-table td {
  padding: 18px 16px 18px 0;
  text-align: left;
  vertical-align: baseline;
  border-bottom: 1px solid var(--s-line);
}
.pricing-table thead th {
  font-size: .6875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--s-soft);
}
.pricing-table tbody th {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--s-fg);
}
.pricing-table td:first-of-type {
  font-family: var(--font-head);
  font-size: 1.375rem;
  font-variant-numeric: lining-nums;
  color: var(--accent);
  white-space: nowrap;
}
.pricing-table td:last-of-type { color: var(--s-soft); }

.pricing__discounts {
  margin: clamp(1.5rem, 4vw, 2rem) 0 0;
  padding-left: 1.1em;
  color: var(--s-soft);
}
.pricing__discounts li { margin-top: 8px; }
.pricing__discounts li:first-child { margin-top: 0; }

.pricing > .container > .btn { margin-top: clamp(1.75rem, 4vw, 2.5rem); }

/* ---------- 6. FAQ (кремовый) ---------- */
.faq__list { min-width: 0; }
.faq__item {
  padding-block: 20px;
  border-top: 1px solid var(--s-line);
}
.faq__list .faq__item:last-child { border-bottom: 1px solid var(--s-line); }
.faq__item summary {
  display: flex;
  align-items: baseline;
  gap: 16px;
  font-family: var(--font-head);
  font-size: 1.25rem;
  line-height: 1.3;
  color: var(--s-fg);
  cursor: pointer;
  list-style: none;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after {
  content: "+";
  flex: none;
  margin-left: auto;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 500;
  color: var(--s-soft);
}
.faq__item[open] summary::after { content: "–"; }
.faq__item p {
  max-width: 36rem;
  margin-top: 14px;
  color: var(--s-soft);
}
@media (min-width: 768px) {
  .faq__item summary { font-size: 1.375rem; }
}

/* ---------- 7. Form: чекбокс согласия ---------- */
.form-row-consent { margin-top: -4px; }
.consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-size: .8125rem;
  font-weight: 400;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: normal;
  color: var(--s-soft);
}
.consent input[type="checkbox"] {
  flex: none;
  width: 20px;
  height: 20px;
  min-height: 0;
  margin-top: 1px;
  accent-color: var(--accent-dark);
}

/* ---------- 8. Reduced motion / focus ---------- */
.faq__item summary:focus-visible { outline-offset: 4px; }
