:root {
    --main-text:    #0d140f;       /* почти чёрный с лёгким зелёным подтоном */
    --second-text:  #2d3a33;       /* тёмно-зелёно-серый */
    --neutral-text: #6b7d74;       /* спокойный серо-зелёный для второстепенного текста */

    --footer-bg:    #13261f;       /* очень тёмный зелёно-лесной */
    --sections-bg:  #d8e6db;       /* светлый мятновато-зелёный фон секций */
    --form-bg:      #e8f0ea;       /* очень светлый зелёный для форм/карточек */
    --body-bg:      #f9fbf9;       /* почти белый с лёгким намёком на зелёный */

    --white:        #ffffff;
    --accent:       #2e9e57;       /* основной акцент — свежий зелёный */
    --accent-bg-info:#1e3a2f;      /* тёмный зелёный для инфо-блоков/модалок */
    --accent-mobile-steps: #4aa36e; /* более яркий зелёный для шагов/мобильной навигации */
    --accent-opposite: #3a8e9c;    /* бирюзово-зелёный как контрастный акцент */
    --accent-target: #1e8c4e;      /* насыщенный зелёный для кнопок "цель/выполнить" */
    --accent-tg:    #229ed9;       /* оставил близко к Telegram-цвету, но можно заменить на #25c85b */

    --header-h:     70px;
    --header-mob-h: 60px;

    /* градиенты в зелёных тонах */
    --range-head: linear-gradient(38.66deg, #2a6b5e 8.8%, #6bbfa9 84.72%);
    --range-line: linear-gradient(90deg, #2e9e57 14%, #63c394 70%);
}
/* ===== НОВЫЕ ГАЛОЧКИ SF ===== */
.sf-agree-main {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  margin-bottom: 4px;
  border-radius: 8px;
  cursor: pointer;
}
.sf-agree-main:hover { background: rgba(0,0,0,0.03); }
.sf-agree-main-text {
  font-size: 13px;
  font-weight: 500;
}

.sf-cb-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-bottom: 10px;
}
.sf-cb-row {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  padding: 3px 6px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.12s;
}
.sf-cb-row:hover { background: rgba(0,0,0,0.03); }
.sf-cb-row a,
.sf-cb-row span {
  font-size: 10.5px;
  line-height: 1.3;
  color: #999;
  text-decoration: none;
}
.sf-cb-row a:hover { text-decoration: underline; color: #666; }
.sf-cb-row.sf-full { grid-column: 1 / -1; }
.sf-cb-row.sf-full span { font-size: 10px; color: #bbb; }
.sf-cb-row.sf-optional a { color: #bbb; }

.sf-cb {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  margin-top: 1px;
  border: 1.5px solid #ccc;
  border-radius: 3px;
  position: relative;
  transition: background 0.15s, border-color 0.15s;
}
.sf-cb.on { background: #2e9e57; border-color: #2e9e57; }
.sf-cb.on::after {
  content: '';
  position: absolute;
  left: 2px;
  top: 0;
  width: 6px;
  height: 3.5px;
  border-left: 1.5px solid #fff;
  border-bottom: 1.5px solid #fff;
  transform: rotate(-45deg);
}
.sf-cb.sf-cb-opt.on { background: #ccc; border-color: #ccc; }

/* ===== АДАПТИВ ГАЛОЧЕК ===== */
@media (max-width: 480px) {
  .sf-agree-main {
    padding: 4px 6px;
    margin-bottom: 4px;
  }
  .sf-agree-main-text {
    font-size: 12px;
  }

  .sf-cb-grid {
    grid-template-columns: 1fr 1fr;
    max-height: 120px;
    overflow-y: auto;
    border: 0.5px solid #e0e0e0;
    border-radius: 8px;
    padding: 4px;
    margin-bottom: 8px;
  }
  .sf-cb-row {
    padding: 3px 4px;
  }
  .sf-cb-row a,
  .sf-cb-row span {
    font-size: 10px;
    line-height: 1.3;
  }
  .sf-cb-row.sf-full {
    grid-column: 1 / -1;
  }

  #sf-submit-btn {
    width: 100%;
    padding: 15px;
    font-size: 16px;
  }
}
.information__cell._social,
.information__cell._mailing {
    visibility: hidden !important;
    pointer-events: none;
}