:root {
    /* Текст — чёткий и читаемый на светлом фоне */
    --main-text:    #0a0015;          /* почти чёрный с лёгким фиолетовым подтоном */
    --second-text:  #2c1f45;          /* тёмно-фиолетовый серый */
    --neutral-text: #6a5acd;          /* средний slate blue для второстепенного текста */

    /* Фоны — чистые, лёгкие, с намёком на лаванду */
    --body-bg:      #fdfaff;          /* очень светлый лавандовый белый */
    --sections-bg:  #f0e8ff;          /* мягкий фиолетово-белый для секций */
    --form-bg:      #f8f5ff;          /* почти белый для форм */
    --footer-bg:    #1a0f2e;          /* тёмно-фиолетовый для футера (контраст) */

    --white:        #ffffff;

    /* Акценты — яркие, вдохновлённые цветком */
    --accent:              #ab1ec7;       /* основной яркий фиолетовый (цвет лепестков) */
    --accent-bg-info:      #9370DB;       /* светлый фон для инфо-блоков */
    --accent-mobile-steps: #ff6b81;       /* яркий кораллово-розовый для шагов */
    --accent-opposite:     #00e676;       /* свежий яркий зелёный (листья) */
    --accent-target:       #ff4081;       /* мощный розово-магентовый CTA */
    --accent-tg:           #1e88e5;       /* яркий синий Telegram */

    /* Градиенты — сочные, с отсылкой к цветку */
    --range-head: linear-gradient(38.66deg, #7c4dff 8.8%, #ab47bc 84.72%);
    --range-line: linear-gradient(90deg, #ab1ec7 10%, #2fe041 50%, #05ad16 90%);  /* фиолет → жёлтый центр → яркий жёлтый */

    /* Размеры */
    --header-h:     70px;
    --header-mob-h: 60px;

    /* Дополнительно для объёма и современного вида */
    --shadow-sm: 0 4px 12px rgba(124, 77, 255, 0.12);
    --shadow-md: 0 8px 24px rgba(124, 77, 255, 0.18);
}
/* ===== НОВЫЕ ГАЛОЧКИ 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: #7c4dff; border-color: #7c4dff; }
.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;
}