/*
Theme Name: Data Shot
Theme URI: https://data-shot.com/
Author: Data Shot
Description: Блочная тема (FSE) для Data Shot — аналитика для ecommerce. Собственная дизайн-система: Plus Jakarta Sans + JetBrains Mono, жёлтый акцент #FFD456, голубая дымка, пунктирная сетка.
Version: 1.0.0
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: datashot
Tags: full-site-editing, block-patterns, one-column, custom-colors, custom-logo, wide-blocks
*/

/* ==========================================================================
   1. База
   ========================================================================== */

:root {
  --ds-radius-card: 16px;
  --ds-radius-pill: 999px;
  --ds-shadow-card: 0 18px 40px rgba(20, 32, 64, .10);
  --ds-shadow-soft: 0 10px 30px rgba(20, 32, 64, .08);
  --ds-shadow-cta:  0 14px 30px rgba(240, 201, 74, .55);
  --ds-dash: #C9D5EA;
  --ds-gutter: 24px;
}

/* Исходный макет считал размеры по border-box; без этого width:100% + padding
   у кнопок вылезает за контейнер. */
*, *::before, *::after { box-sizing: border-box; }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

.ds-mono {
  font-family: var(--wp--preset--font-family--mono);
  letter-spacing: .09em;
  text-transform: uppercase;
  font-weight: 500;
}

.ds-balance { text-wrap: balance; }
.ds-pretty  { text-wrap: pretty; }

/* Карточка — базовый примитив всего сайта */
.ds-card {
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--ds-radius-card);
  box-shadow: var(--ds-shadow-card);
}

/* ==========================================================================
   2. Шапка — плавающая «таблетка»
   ========================================================================== */

.ds-nav {
  position: relative;
  z-index: 20;
  display: flex;
  justify-content: center;
  padding: 34px var(--ds-gutter) 0;
}

.ds-nav__inner {
  display: flex;
  align-items: center;
  gap: 30px;
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--ds-radius-pill);
  padding: 9px 10px 9px 20px;
  box-shadow: var(--ds-shadow-soft);
  max-width: 100%;
}

.ds-nav__inner > p { margin: 0; display: flex; }
.ds-logo { display: flex; align-items: center; gap: 9px; }
.ds-logo__mark {
  width: 26px; height: 26px;
  border-radius: 8px;
  background: var(--wp--preset--color--accent);
  display: flex; align-items: center; justify-content: center;
  flex: none;
}
.ds-logo__mark::after {
  content: "";
  width: 9px; height: 9px;
  background: var(--wp--preset--color--accent-ink);
  transform: rotate(45deg);
  border-radius: 2px;
}
.ds-logo__text {
  font-size: 17px; font-weight: 700;
  letter-spacing: -.2px;
  color: var(--wp--preset--color--ink-soft);
  white-space: nowrap;
}
.ds-logo img { display: block; height: 26px; width: auto; }

.ds-nav__menu ul {
  display: flex; align-items: center;
  gap: 26px;
  margin: 0; padding: 0;
  list-style: none;
  font-size: 14.5px; font-weight: 500;
}
.ds-nav__menu a { color: var(--wp--preset--color--muted); }
.ds-nav__menu a:hover { color: var(--wp--preset--color--blue); }

.ds-nav__actions { display: flex; align-items: center; gap: 8px; }

.ds-btn {
  display: inline-block;
  border-radius: var(--ds-radius-pill);
  font-weight: 700;
  line-height: 1.2;
  transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
  white-space: nowrap;
}
.ds-btn:hover { transform: translateY(-1px); }

.ds-btn--accent {
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--accent-ink);
  padding: 10px 20px;
  font-size: 14.5px;
  box-shadow: 0 6px 16px rgba(240, 201, 74, .5);
}
.ds-btn--accent:hover { background: var(--wp--preset--color--accent-hover); color: var(--wp--preset--color--accent-ink); }

.ds-btn--ghost {
  background: var(--wp--preset--color--surface-2);
  color: var(--wp--preset--color--muted);
  padding: 10px 18px;
  font-size: 14.5px;
  font-weight: 600;
}
.ds-btn--ghost:hover { background: #E8EDF7; color: var(--wp--preset--color--ink-soft); }

.ds-btn--lg { font-size: 16px; padding: 17px 30px; box-shadow: var(--ds-shadow-cta); }
.ds-btn--outline {
  background: #fff;
  border: 1px solid #E1E7F1;
  color: var(--wp--preset--color--ink-soft);
  font-weight: 600;
  padding: 17px 28px;
  font-size: 16px;
  box-shadow: 0 8px 20px rgba(20, 32, 64, .06);
}
.ds-btn--outline:hover { border-color: #C6D0E2; color: var(--wp--preset--color--ink-soft); }

/* ==========================================================================
   3. Герой
   ========================================================================== */

.ds-hero {
  position: relative;
  overflow: hidden;
  background: var(--wp--preset--color--surface);
  padding: 0 0 70px;
}

/* Градиентная подложка — переключается классом .ds-bg--* на секции */
.ds-hero__bg {
  position: absolute; inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, #FBFCFE 0%, #F5F8FC 18%, #EAF0F9 42%, #DEE7F6 74%, #D3DFF4 100%);
}
.ds-bg--deep-dusk  .ds-hero__bg { background: linear-gradient(180deg,#FAFBFE 0%,#EBF1FB 38%,#D2DFF6 74%,#B9CCF0 100%); }
.ds-bg--steel-haze .ds-hero__bg { background: linear-gradient(180deg,#FCFCFD 0%,#EEF1F6 45%,#DDE3EE 80%,#CBD4E3 100%); }
.ds-bg--amber-wash .ds-hero__bg { background: radial-gradient(120% 70% at 50% 118%,rgba(255,212,86,.30) 0%,rgba(255,212,86,0) 58%),linear-gradient(180deg,#FBFCFE 0%,#EFF4FC 40%,#DCE7F7 76%,#CEDCF3 100%); }

/* Пунктирная инженерная сетка */
.ds-hero__grid { position: absolute; inset: 0; pointer-events: none; }
.ds-hero__grid i { position: absolute; display: block; }
.ds-hero__grid .v-l { left: max(26px, calc(50% - 570px)); top: 0; bottom: 0; border-left: 1px dashed var(--ds-dash); }
.ds-hero__grid .v-r { right: max(26px, calc(50% - 570px)); top: 0; bottom: 0; border-left: 1px dashed var(--ds-dash); }
.ds-hero__grid .h-1 { left: 0; right: 0; top: 530px; border-top: 1px dashed #CFDAEC; }
.ds-hero__grid .c-l { left: 6%; top: 530px; width: 190px; height: 170px; border-left: 1px dashed #D3DDEE; border-top: 1px dashed #D3DDEE; border-top-left-radius: 64px; }
.ds-hero__grid .c-r { right: 6%; top: 530px; width: 190px; height: 170px; border-right: 1px dashed #D3DDEE; border-top: 1px dashed #D3DDEE; border-top-right-radius: 64px; }
.ds-hero__grid .d-1 { left: max(26px, calc(50% - 570px)); top: 214px; width: 9px; height: 9px; border-radius: 99px; background: var(--wp--preset--color--accent); transform: translateX(-4px); }
.ds-hero__grid .d-2 { right: max(26px, calc(50% - 570px)); bottom: 120px; width: 9px; height: 9px; border-radius: 99px; background: var(--wp--preset--color--accent); transform: translateX(4px); }

.ds-hero__stage {
  position: relative;
  display: grid;
  grid-template-columns: 262px minmax(0, 1fr) 186px;
  align-items: start;
  gap: clamp(16px, 4vw, 60px);
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 var(--ds-gutter);
}

.ds-hero__aside--left  { margin-top: 330px; }
.ds-hero__aside--right { margin-top: 308px; padding: 12px; }

.ds-hero__center {
  position: relative;
  max-width: 840px;
  margin: 92px auto 0;
  text-align: center;
}

.ds-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--wp--preset--color--accent-soft);
  border: 1px solid var(--wp--preset--color--accent-line);
  border-radius: var(--ds-radius-pill);
  padding: 6px 14px;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent-text);
  font-weight: 500;
}

.ds-hero__center h1 { margin: 22px 0 0; }
.ds-hero__lead {
  margin: 24px auto 0;
  max-width: 600px;
  font-size: clamp(16px, 1.4vw, 18.5px);
  line-height: 1.55;
  color: var(--wp--preset--color--body);
}
.ds-hero__cta {
  display: flex; justify-content: center; flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}
.ds-hero__note {
  margin-top: 18px;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 12.5px;
  color: #7F899C;
}

/* Мини-виджеты в карточках героя */
.ds-widget { padding: 16px 18px; }
.ds-widget__label {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 10.5px; letter-spacing: .09em; text-transform: uppercase;
  color: var(--wp--preset--color--muted-3);
  margin-bottom: 12px;
}
.ds-widget__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ds-widget__row + .ds-widget__row { padding-top: 12px; border-top: 1px solid var(--wp--preset--color--line-2); margin-top: 12px; }
.ds-widget__num { font-size: 21px; font-weight: 700; color: var(--wp--preset--color--muted-3); }
.ds-widget__num--on { color: var(--wp--preset--color--ink-soft); }
.ds-widget__cap { flex: 1; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--muted-2); }
.ds-widget__cap--on { color: var(--wp--preset--color--muted); }
.ds-bar { height: 5px; border-radius: 99px; background: #EDF0F6; margin-top: 5px; }
.ds-bar > i { display: block; height: 5px; border-radius: 99px; background: #D5DBE7; }
.ds-bar--on { background: #FFF3D2; }
.ds-bar--on > i { background: var(--wp--preset--color--accent); }
.ds-toggle { width: 34px; height: 20px; border-radius: 99px; background: #E4E8F0; padding: 2px; flex: none; }
.ds-toggle > i { display: block; width: 16px; height: 16px; border-radius: 99px; background: #fff; }
.ds-toggle--on { background: var(--wp--preset--color--accent); display: flex; justify-content: flex-end; }

.ds-tile {
  height: 118px; border-radius: 11px;
  background-color: #FFFBF0;
  background-image: radial-gradient(#F2E4BC 1px, transparent 1px);
  background-size: 9px 9px;
  display: flex; align-items: center; justify-content: center;
}
.ds-tile__mark {
  width: 42px; height: 42px; border-radius: 14px;
  background: var(--wp--preset--color--accent);
  box-shadow: 0 8px 22px rgba(240, 201, 74, .6);
  display: flex; align-items: center; justify-content: center;
}
.ds-tile__mark::after { content: ""; width: 13px; height: 13px; border-radius: 3px; background: var(--wp--preset--color--accent-ink); transform: rotate(45deg); }

/* Плашки-пруфы */
.ds-proof {
  position: relative;
  max-width: 1180px;
  margin: 60px auto 0;
  padding: 0 var(--ds-gutter);
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 12px;
}
.ds-proof__item {
  display: flex; align-items: center; gap: 9px;
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--ds-radius-pill);
  padding: 10px 18px;
  box-shadow: var(--ds-shadow-soft);
  font-size: 13.5px; font-weight: 600;
  color: var(--wp--preset--color--muted);
}
.ds-proof__item::before {
  content: ""; width: 7px; height: 7px; flex: none;
  border-radius: 99px;
  background: var(--wp--preset--color--accent);
}

/* Бегущая строка логотипов */
.ds-marquee { position: relative; max-width: 1180px; margin: 64px auto 0; padding: 0 var(--ds-gutter); }
.ds-marquee__title {
  text-align: center;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--wp--preset--color--muted-3);
}
.ds-marquee__viewport {
  position: relative; margin-top: 20px; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.ds-marquee__track { display: flex; width: max-content; animation: ds-marquee 34s linear infinite; }
.ds-marquee__group { display: flex; align-items: center; gap: 56px; padding-right: 56px; }
.ds-marquee__group span { font-size: 21px; font-weight: 700; letter-spacing: -.5px; color: #2C3547; white-space: nowrap; }
@keyframes ds-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ds-marquee__track { animation: none; } }

/* ==========================================================================
   4. Секции
   ========================================================================== */

.ds-section { position: relative; padding: 96px var(--ds-gutter) 110px; }
/* Фон страницы — одна непрерывная лента. Цвет на конце каждой секции равен
   цвету в начале следующей, а раскладка стопов зеркальна, чтобы совпадал не
   только тон, но и скорость перехода — стык становится невидимым.
   Порядок на главной: hero(pale→mist) · up(mist→pale) · plain · down(pale→mist) · up(mist→pale) · plain */
.ds-section--up   { background: linear-gradient(180deg,#D3DFF4 0%,#DEE7F6 26%,#EAF0F9 58%,#F5F8FC 82%,#FBFCFE 100%); }
.ds-section--down { background: linear-gradient(180deg,#FBFCFE 0%,#F5F8FC 18%,#EAF0F9 42%,#DEE7F6 74%,#D3DFF4 100%); }
.ds-section--plain { background: var(--wp--preset--color--surface); }
.ds-section__inner { max-width: 1180px; margin: 0 auto; }
.ds-section__head { text-align: center; max-width: 660px; margin: 0 auto; }
.ds-section__head p { margin: 18px auto 0; max-width: 560px; font-size: 17px; color: var(--wp--preset--color--body); }

.ds-grid { display: grid; gap: 20px; margin-top: 56px; }
.ds-grid--2 { grid-template-columns: repeat(2, minmax(280px, 1fr)); }
.ds-grid--3 { grid-template-columns: repeat(3, minmax(260px, 1fr)); }

/* Тариф */
.ds-price { padding: 30px; display: flex; flex-direction: column; }
.ds-price--featured { border-color: var(--wp--preset--color--accent-line); box-shadow: 0 22px 50px rgba(240,201,74,.22); }
.ds-price__tag { font-size: 40px; font-weight: 800; color: var(--wp--preset--color--ink); letter-spacing: -1.4px; margin: 14px 0 0; }
.ds-price__tag small { font-size: 14px; font-weight: 600; color: var(--wp--preset--color--muted-2); letter-spacing: 0; }
.ds-price ul { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; font-size: 14.5px; color: var(--wp--preset--color--muted); }
.ds-price li { display: flex; gap: 10px; align-items: flex-start; }
.ds-price li::before { content: ""; margin-top: 7px; width: 7px; height: 7px; flex: none; border-radius: 99px; background: var(--wp--preset--color--accent); }
.ds-price .ds-btn { margin-top: 26px; text-align: center; }

/* FAQ */
.ds-faq { max-width: 820px; margin: 48px auto 0; display: grid; gap: 12px; }
.ds-faq details { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 14px; padding: 20px 24px; box-shadow: var(--ds-shadow-soft); }
.ds-faq summary { cursor: pointer; list-style: none; font-size: 16.5px; font-weight: 700; color: var(--wp--preset--color--ink-soft); display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.ds-faq summary::-webkit-details-marker { display: none; }
.ds-faq summary::after { content: "+"; font-size: 22px; font-weight: 500; color: var(--wp--preset--color--muted-3); line-height: 1; flex: none; }
.ds-faq details[open] summary::after { content: "\2212"; }
.ds-faq p { margin: 12px 0 0; font-size: 15.5px; color: var(--wp--preset--color--body); }

/* Финальный CTA */
.ds-cta {
  position: relative; overflow: hidden;
  max-width: 1180px; margin: 0 auto;
  border-radius: 32px;
  background: #111726;
  padding: 72px 40px;
  text-align: center;
}
.ds-cta::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(90% 120% at 50% 0%, rgba(255,212,86,.22) 0%, rgba(255,212,86,0) 60%);
}
.ds-cta > * { position: relative; }
.ds-cta h2 { color: #fff; }
.ds-cta p  { color: #AEB7C8; margin: 18px auto 0; max-width: 520px; }
.ds-cta .ds-hero__cta { margin-top: 30px; }

/* ==========================================================================
   5. Подвал
   ========================================================================== */

.ds-footer { background: var(--wp--preset--color--ink); color: #9AA3B5; padding: 72px var(--ds-gutter) 40px; }
.ds-footer__inner { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 40px; }
.ds-footer .ds-logo__text { color: #fff; }
.ds-footer h4 { color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 16px; }
.ds-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 14.5px; }
.ds-footer a { color: #9AA3B5; }
.ds-footer a:hover { color: var(--wp--preset--color--accent); }
.ds-footer__note { font-size: 14.5px; line-height: 1.6; margin-top: 16px; max-width: 320px; }
.ds-footer__bottom {
  max-width: 1180px; margin: 48px auto 0; padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.10);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  font-size: 13.5px; color: #79839A;
}

/* ==========================================================================
   6. Контентные страницы
   ========================================================================== */

.ds-page { padding: 60px var(--ds-gutter) 100px; background: var(--wp--preset--color--surface); }
.ds-prose { max-width: 820px; margin: 0 auto; font-size: 17px; color: var(--wp--preset--color--body); }
.ds-prose h2 { margin-top: 48px; }
.ds-prose h3 { margin-top: 32px; }
.ds-prose p, .ds-prose ul, .ds-prose ol { margin-top: 18px; }
.ds-prose img, .ds-prose figure img { border-radius: var(--ds-radius-card); }
.ds-prose blockquote {
  margin: 28px 0; padding: 18px 24px;
  border-left: 3px solid var(--wp--preset--color--accent);
  background: var(--wp--preset--color--accent-soft);
  border-radius: 0 12px 12px 0;
}

/* ==========================================================================
   7. Адаптив
   ========================================================================== */

@media (max-width: 1180px) {
  .ds-hero__stage { grid-template-columns: 1fr; max-width: 720px; }
  .ds-hero__aside { display: none; }
  .ds-hero__center { margin-top: 64px; }
  .ds-hero__grid .c-l, .ds-hero__grid .c-r { display: none; }
}

@media (max-width: 960px) {
  /* Блок навигации ядра прячет меню только с 600px — поднимаем порог до 960px */
  .ds-nav__menu .wp-block-navigation__responsive-container-open { display: flex; }
  .ds-nav__menu .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .ds-nav__actions .ds-btn--ghost { display: none; }
  .ds-nav__inner { width: 100%; max-width: 560px; justify-content: space-between; gap: 12px; }
  .ds-footer__inner { grid-template-columns: 1fr 1fr; }
  .ds-grid--3 { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  :root { --ds-gutter: 18px; }
  .ds-hero { padding-bottom: 48px; }
  .ds-hero__center { margin-top: 44px; }
  .ds-hero__grid .h-1 { top: 420px; }
  .ds-section { padding: 64px var(--ds-gutter) 72px; }
  .ds-grid, .ds-grid--2, .ds-grid--3 { grid-template-columns: 1fr; margin-top: 36px; }
  .ds-cta { border-radius: 24px; padding: 48px 24px; }
  .ds-footer__inner { grid-template-columns: 1fr; gap: 28px; }
  .ds-hero__cta .ds-btn { width: 100%; text-align: center; }
}

/* ==========================================================================
   8. Стыковка шапки и героя + нейтрализация flow-отступов Гутенберга
   ========================================================================== */

:root { --ds-nav-h: 78px; }

/* Герой заезжает под плавающую шапку — градиент начинается от самого верха */
.ds-hero { margin-top: calc(-1 * var(--ds-nav-h)); padding-top: var(--ds-nav-h); }

/* Ядро добавляет вертикальные margin между детьми группы — нашим сеткам это мешает */
.ds-hero__stage.wp-block-group > *,
.ds-nav__inner.wp-block-group > *,
.ds-grid.wp-block-group > * { margin-block-start: 0; }

.ds-section__inner > .ds-grid { margin-top: 56px; }

.ds-hero__aside-head { display: flex; align-items: center; gap: 7px; margin-bottom: 10px; font-size: 12.5px; font-weight: 600; color: var(--wp--preset--color--muted); }
.ds-ring { width: 15px; height: 15px; border-radius: 99px; border: 2px solid var(--wp--preset--color--accent); flex: none; }
.ds-widget__num small { font-size: 11px; font-weight: 600; }
.ds-widget__cap .ds-bar { display: block; }

/* ==========================================================================
   9. Схема потока данных под героем
   ========================================================================== */

.ds-flow {
  position: relative;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 24px;
  max-width: 1180px; margin: 130px auto 0; padding: 0 var(--ds-gutter);
}
.ds-flow__card { flex: 1 1 240px; min-width: 0; max-width: 290px; padding: 16px; box-shadow: 0 18px 44px rgba(20,32,64,.09); }
.ds-flow__title { font-size: 13px; font-weight: 700; color: var(--wp--preset--color--ink-soft); margin-bottom: 12px; }
.ds-flow__sources { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ds-flow__sources > span { aspect-ratio: 1; border-radius: 10px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 4px; font-size: 10.5px; font-weight: 700; line-height: 1.15; color: #4A5468; }
.ds-flow__sources .hatch { background: repeating-linear-gradient(135deg,#EFF3FA 0 5px,#E4EAF5 5px 10px); }
.ds-flow__sources .hatch--warm { background: repeating-linear-gradient(135deg,#FFF6DC 0 5px,#FBEDC4 5px 10px); }
.ds-flow__sources .tile { background: #FAFBFE; border: 1px solid var(--wp--preset--color--line-2); }
.ds-flow__caption { margin-top: 10px; font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; letter-spacing: .06em; color: var(--wp--preset--color--muted-3); }

.ds-flow__link { flex: 1 1 auto; min-width: min-content; position: relative; height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; }
.ds-flow__wire { position: absolute; left: 0; right: 0; top: 50%; border-top: 1px dashed var(--ds-dash); }
.ds-flow__nodes { position: relative; display: flex; flex-direction: column; gap: 20px; }
.ds-flow__nodes .node { width: 40px; height: 40px; border-radius: 99px; background: #fff; border: 1px solid var(--wp--preset--color--line); display: flex; align-items: center; justify-content: center; box-shadow: var(--ds-shadow-soft); }
.ds-flow__nodes .dot-o { width: 12px; height: 12px; border-radius: 99px; border: 2px solid #BFC8D9; }
.ds-flow__nodes .dot-y { width: 11px; height: 11px; border-radius: 3px; background: var(--wp--preset--color--accent); }
.ds-flow__nodes .dot-s { width: 12px; height: 12px; border-radius: 2px; border: 2px solid #BFC8D9; }
.ds-flow__pill { position: relative; display: flex; align-items: center; gap: 9px; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--ds-radius-pill); padding: 9px 16px; box-shadow: var(--ds-shadow-soft); font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; color: var(--wp--preset--color--muted-2); white-space: nowrap; }
.ds-flow__pill > i { width: 7px; height: 7px; border-radius: 99px; background: var(--wp--preset--color--accent); flex: none; }
.ds-flow__pill--brand { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); font-family: var(--wp--preset--font-family--sans); font-size: 14.5px; font-weight: 700; color: var(--wp--preset--color--accent-ink); }
.ds-flow__pill--brand > i { background: var(--wp--preset--color--accent-ink); border-radius: 2px; transform: rotate(45deg); width: 9px; height: 9px; }

.ds-flow__dash { flex: 1 1 280px; min-width: 0; max-width: 330px; position: relative; }
.ds-flow__dash-tag { position: absolute; top: -24px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--ink-soft); }
.ds-flow__dash-tag > i { width: 8px; height: 8px; border-radius: 99px; background: var(--wp--preset--color--accent); }
.ds-flow__dash-card { padding: 38px 20px 22px; }
.ds-flow__dash-grid { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: 14px 10px; text-align: center; }
.ds-flow__dash-grid em { display: block; margin-top: 7px; font-style: normal; font-size: 11.5px; font-weight: 600; color: var(--wp--preset--color--muted-2); }
.ds-flow__dash-grid em.on { font-weight: 700; color: var(--wp--preset--color--ink-soft); }
.ds-flow__dash-grid .orb { display: block; width: 46px; height: 46px; margin: 0 auto; border-radius: 99px; background: repeating-linear-gradient(135deg,#EFF3FA 0 5px,#E4EAF5 5px 10px); }
.ds-flow__dash-grid .orb--soft { border-radius: 12px; width: 40px; height: 40px; background: var(--wp--preset--color--accent-soft); border: 1px solid var(--wp--preset--color--accent-line); }
.ds-flow__dash-grid .orb--brand { width: 54px; height: 54px; border-radius: 16px; background: var(--wp--preset--color--accent); box-shadow: 0 8px 22px rgba(240,201,74,.6); position: relative; }
.ds-flow__dash-grid .orb--brand::after { content: ""; position: absolute; inset: 0; margin: auto; width: 14px; height: 14px; border-radius: 3px; background: var(--wp--preset--color--accent-ink); transform: rotate(45deg); }
.ds-flow__dash-grid .rails { padding-top: 4px; }
.ds-flow__dash-grid .rail { display: block; height: 5px; border-radius: 99px; background: #EDF0F6; }
.ds-flow__dash-grid .rail--warm { margin-top: 6px; background: #FFE9A8; width: 70%; margin-left: auto; }

/* ==========================================================================
   10. Кейсы, тарифы, блог
   ========================================================================== */

.ds-case { padding: 28px; }
.ds-case__metric { font-size: 44px; font-weight: 800; letter-spacing: -1.8px; color: var(--wp--preset--color--ink); line-height: 1; }
.ds-case__metric small { font-size: 20px; font-weight: 700; color: var(--wp--preset--color--accent-text); letter-spacing: 0; }
.ds-case__label { margin-top: 8px; font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; color: var(--wp--preset--color--muted-3); }
.ds-case p { margin: 16px 0 0; font-size: 15px; color: var(--wp--preset--color--body); }
.ds-case footer { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px; }
.ds-chip { font-size: 12px; font-weight: 600; color: var(--wp--preset--color--muted); background: var(--wp--preset--color--surface-2); border-radius: var(--ds-radius-pill); padding: 6px 12px; }

.ds-price__name { font-size: 15px; font-weight: 700; color: var(--wp--preset--color--ink-soft); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ds-price__badge { font-family: var(--wp--preset--font-family--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent-ink); border-radius: var(--ds-radius-pill); padding: 4px 10px; font-weight: 500; }
.ds-price__note { margin: 12px 0 0; font-size: 14.5px; color: var(--wp--preset--color--muted-2); }
.ds-price ul { flex: 1; }

.ds-postcard { padding: 20px; }
.ds-postcard__img img { border-radius: 12px; }
.ds-postcard__date { font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--muted-3); margin-top: 16px; }
.ds-postcard h3 { margin: 8px 0 0; font-size: 19px; }
.ds-postcard p { margin: 10px 0 0; font-size: 14.5px; color: var(--wp--preset--color--body); }
.ds-pagination { margin-top: 40px; gap: 10px; font-size: 14.5px; font-weight: 600; }
.ds-search .wp-block-search__inside-wrapper { border-radius: var(--ds-radius-pill); border: 1px solid var(--wp--preset--color--line); background: #fff; padding: 4px; margin-top: 20px; }
.ds-search .wp-block-search__input { border: 0; padding: 10px 16px; background: transparent; }
.ds-search .wp-block-search__button { border-radius: var(--ds-radius-pill); background: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent-ink); border: 0; font-weight: 700; padding: 10px 20px; }

@media (max-width: 960px) {
  .ds-flow { margin-top: 80px; }
  .ds-flow__link { display: none; }
}

/* ==========================================================================
   11. Вертикальные ритмы поверх layout-стилей ядра
   --------------------------------------------------------------------------
   Ядро печатает свои is-layout-flow отступы инлайном в <head> ПОСЛЕ нашего
   style.css, поэтому при равной специфичности выигрывает оно. Здесь те же
   правила, но на класс-родитель — специфичность выше, ритм наш.
   ========================================================================== */

/* Секции верхнего уровня стыкуются встык — иначе между ними светится фон body */
.wp-block-post-content > .ds-hero,
.wp-block-post-content > .ds-section,
.wp-site-blocks > .ds-hero,
.wp-site-blocks > .ds-section,
.wp-site-blocks > .ds-page,
.wp-site-blocks > .ds-footer,
.wp-site-blocks > .wp-block-template-part { margin-block-start: 0; }

.ds-hero__center > *          { margin-block-start: 0; }
.ds-hero__center > h1         { margin-top: 22px; }
.ds-hero__center > .ds-hero__lead { margin-top: 24px; }
.ds-hero__center > .ds-hero__cta  { margin-top: 34px; }
.ds-hero__center > .ds-hero__note { margin-top: 18px; }

.ds-hero > .ds-flow    { margin-top: 130px; }
.ds-hero > .ds-proof   { margin-top: 60px; }
.ds-hero > .ds-marquee { margin-top: 64px; }
.ds-hero > .ds-hero__stage { margin-top: 0; }

.ds-section__head > *   { margin-block-start: 0; }
.ds-section__head > h2  { margin-top: 18px; }
.ds-section__head > p   { margin-top: 18px; }
.ds-section__head > :first-child { margin-top: 0; }

.ds-section__inner > .ds-section__head { margin-top: 0; }
.ds-section > .ds-section__inner       { margin-top: 0; }
.ds-section > .ds-cta                  { margin-top: 0; }

.ds-cta > h2 { margin-top: 0; }
.ds-cta > p  { margin-top: 18px; }
.ds-cta > .ds-hero__cta { margin-top: 30px; }

.ds-prose > * { margin-block-start: 18px; }
.ds-prose > :first-child { margin-block-start: 0; }
.ds-prose > h2 { margin-block-start: 48px; }
.ds-prose > h3 { margin-block-start: 32px; }

@media (max-width: 960px) {
  .ds-hero > .ds-flow { margin-top: 80px; }
}

@media (max-width: 720px) {
  .ds-hero__center > h1 { margin-top: 18px; }
  .ds-hero > .ds-flow { margin-top: 56px; }
  .ds-hero > .ds-proof { margin-top: 40px; }
  .ds-hero > .ds-marquee { margin-top: 48px; }
}

/* Узкие экраны: «таблетка» шапки не должна выходить за вьюпорт */
@media (max-width: 560px) {
  .ds-nav__inner { gap: 10px; padding: 8px 8px 8px 14px; min-width: 0; }
  .ds-nav__inner > p { min-width: 0; }
  .ds-logo__text { font-size: 15px; overflow: hidden; text-overflow: ellipsis; }
  .ds-nav__actions .ds-btn--accent { font-size: 13px; padding: 9px 14px; }
  .ds-nav__menu .wp-block-navigation__responsive-container-open { padding: 0; }
}

@media (max-width: 400px) {
  .ds-nav__actions .ds-btn--accent { font-size: 12.5px; padding: 8px 12px; }
  .ds-logo__text { font-size: 14px; }
}

/* ==========================================================================
   12. Карточки возможностей с мини-макетами
   ========================================================================== */

.ds-fcard {
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 20px;
  padding: 26px 24px;
  box-shadow: 0 18px 44px rgba(20, 32, 64, .07);
}
.ds-fcard > h3 { margin: 0; font-size: 20px; letter-spacing: -.4px; font-weight: 700; color: var(--wp--preset--color--ink); line-height: 1.2; }
.ds-fcard > p  { margin: 10px 0 0; font-size: 14px; line-height: 1.55; color: #5B6478; }

/* Крупные карточки первого ряда: макет «вырастает» из нижнего края */
.ds-fcard--tall { padding: 28px 28px 0; overflow: hidden; }
.ds-fcard--tall > h3 { font-size: 23px; letter-spacing: -.5px; }
.ds-fcard--tall > p  { font-size: 14.5px; max-width: 420px; }

.ds-grid--tight { margin-top: 20px; }
.ds-grid--3 { grid-template-columns: repeat(3, minmax(240px, 1fr)); }

/* Панель-подложка под мини-макетом */
.ds-panel {
  margin-top: 24px;
  border: 1px solid var(--wp--preset--color--line-2);
  border-bottom: none;
  border-radius: 16px 16px 0 0;
  background: #FAFBFE;
  display: flex;
  flex-direction: column;
}

/* — Чат с аналитикой — */
.ds-chat { padding: 20px 20px 26px; gap: 12px; }
.ds-chat__q {
  align-self: flex-end; max-width: 82%;
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--accent-ink);
  font-size: 13.5px; font-weight: 600; line-height: 1.45;
  border-radius: 14px 14px 4px 14px;
  padding: 11px 14px;
}
.ds-chat__q--short { max-width: 70%; }
.ds-chat__a {
  align-self: flex-start; max-width: 88%;
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  color: #3B4457;
  font-size: 13.5px; line-height: 1.45;
  border-radius: 14px 14px 14px 4px;
  padding: 11px 14px;
  box-shadow: 0 6px 14px rgba(20, 32, 64, .05);
}
.ds-chat__dots {
  align-self: flex-start;
  display: flex; align-items: center; gap: 7px;
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--ds-radius-pill);
  padding: 8px 12px;
}
.ds-chat__dots i { width: 6px; height: 6px; border-radius: 99px; background: #E2E7F1; }
.ds-chat__dots i.on { background: var(--wp--preset--color--accent); }

/* — Чек-лист валидации — */
.ds-checks { padding: 18px 18px 26px; gap: 9px; }
.ds-check {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 13.5px; font-weight: 600; color: #2C3547;
}
.ds-check--hit { border-color: var(--wp--preset--color--accent-line); box-shadow: 0 8px 18px rgba(240, 201, 74, .18); }

.ds-tag {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px; font-weight: 500;
  color: #6E7A90;
  background: var(--wp--preset--color--surface-2);
  border-radius: var(--ds-radius-pill);
  padding: 4px 10px;
  white-space: nowrap;
}
.ds-tag--warm { color: var(--wp--preset--color--accent-text); background: #FFF3D2; }

/* — Полосы ROAS — */
.ds-roas { margin-top: 22px; display: flex; flex-direction: column; gap: 12px; }
.ds-roas__row { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; font-weight: 600; color: #3B4457; }
.ds-roas__val { font-family: var(--wp--preset--font-family--mono); font-weight: 500; color: #6E7A90; }
.ds-roas__bar { margin-top: 6px; height: 7px; border-radius: 99px; background: #EDF0F6; }
.ds-roas__bar > i { display: block; height: 7px; border-radius: 99px; background: var(--wp--preset--color--accent); }
.ds-roas__bar > i.mid { background: #FFE49A; }
.ds-roas__bar > i.low { background: #D9E0EC; }

/* — Атрибуция — */
.ds-attr { margin-top: 22px; display: flex; flex-direction: column; gap: 10px; }
.ds-attr__row { display: flex; align-items: center; gap: 10px; }
.ds-attr__row > span { flex: 0 0 84px; font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: #6E7A90; }
.ds-attr__row > i { flex: 1; height: 24px; border-radius: 8px; }
.ds-attr__row > i.soft   { background: #FFF3D2; border: 1px solid var(--wp--preset--color--accent-line); }
.ds-attr__row > i.strong { background: var(--wp--preset--color--accent); }
.ds-attr__row > i.flat   { background: #EDF0F6; border: 1px solid #E2E7F1; }
.ds-attr__note { margin: 4px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--wp--preset--color--muted-2); }

/* — Своя инфраструктура — */
.ds-own { margin-top: 22px; display: flex; flex-direction: column; gap: 8px; }
.ds-own__row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: #FAFBFE;
  border: 1px solid var(--wp--preset--color--line-2);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 13px; font-weight: 600; color: #2C3547;
}

/* Ритм внутри карточек — поверх layout-стилей ядра */
.ds-fcard > * { margin-block-start: 0; }
.ds-fcard > p { margin-block-start: 10px; }
.ds-fcard > .ds-panel { margin-block-start: 24px; }
.ds-fcard > .ds-roas,
.ds-fcard > .ds-attr,
.ds-fcard > .ds-own { margin-block-start: 22px; }
.ds-section__inner > .ds-grid--tight { margin-top: 20px; }

@media (max-width: 960px) {
  .ds-grid--3 { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  /* Правило идёт последним в файле — иначе его перебивает блок 960px выше */
  .ds-grid, .ds-grid--2, .ds-grid--3 { grid-template-columns: 1fr; }
  .ds-fcard--tall { padding: 24px 22px 0; }
  .ds-fcard--tall > h3 { font-size: 21px; }
  .ds-attr__row > span { flex-basis: 72px; }
}

/* ==========================================================================
   13. Блок основателя
   ========================================================================== */

.ds-founder {
  display: grid;
  grid-template-columns: 420px minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 5vw, 72px);
}

/* — Фото в фирменной обвязке — */
.ds-founder__media { position: relative; }

.ds-founder__photo {
  position: relative;
  z-index: 2;
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  background: var(--wp--preset--color--surface-2);
  border: 1px solid var(--wp--preset--color--line);
  box-shadow: 0 24px 60px rgba(20, 32, 64, .14);
}
.ds-founder__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

/* Пунктирная рамка со сдвигом — эхо инженерной сетки в герое */
.ds-founder__dash {
  position: absolute;
  z-index: 1;
  left: -18px; top: -18px;
  width: 62%; height: 62%;
  border-left: 1px dashed var(--ds-dash);
  border-top: 1px dashed var(--ds-dash);
  border-top-left-radius: 24px;
}
.ds-founder__dot {
  position: absolute;
  z-index: 3;
  right: -5px; top: 46px;
  width: 11px; height: 11px;
  border-radius: 99px;
  background: var(--wp--preset--color--accent);
  box-shadow: 0 6px 16px rgba(240, 201, 74, .55);
}

/* Плашка поверх нижнего края фото */
.ds-founder__badge {
  position: absolute;
  z-index: 4;
  left: 24px; right: 24px; bottom: -26px;
  display: flex; align-items: center; gap: 11px;
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 14px;
  padding: 13px 16px;
  box-shadow: var(--ds-shadow-card);
}
.ds-founder__badge-dot {
  width: 9px; height: 9px; flex: none;
  border-radius: 99px;
  background: var(--wp--preset--color--accent);
}
.ds-founder__badge-title { font-size: 13.5px; font-weight: 700; color: var(--wp--preset--color--ink-soft); }
.ds-founder__badge-note {
  margin-top: 2px;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px; color: var(--wp--preset--color--muted-2);
}

/* — Текстовая колонка — */
.ds-founder__body > *      { margin-block-start: 0; }
.ds-founder__body > h2     { margin-block-start: 20px; }
.ds-founder__lead          { margin-block-start: 20px; font-size: 17px; color: var(--wp--preset--color--body); }

.ds-founder__quote {
  margin: 26px 0 0;
  padding: 20px 24px;
  background: var(--wp--preset--color--accent-soft);
  border: 1px solid var(--wp--preset--color--accent-line);
  border-radius: 16px;
}
.ds-founder__quote p {
  margin: 0;
  font-size: 16px; line-height: 1.55; font-weight: 600;
  color: #4A3D12;
}

.ds-founder__facts {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding-top: 24px;
  border-top: 1px dashed var(--ds-dash);
}
.ds-founder__fact b {
  display: block;
  font-size: 19px; font-weight: 800; letter-spacing: -.4px;
  color: var(--wp--preset--color--ink);
}
.ds-founder__fact span {
  display: block;
  margin-top: 5px;
  font-size: 13px; line-height: 1.4;
  color: var(--wp--preset--color--muted-2);
}

.ds-founder__sign {
  margin-top: 30px;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 16px;
}
.ds-founder__name { font-size: 17px; font-weight: 700; color: var(--wp--preset--color--ink); }
.ds-founder__role {
  margin-top: 3px;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 12px; color: var(--wp--preset--color--muted-2);
}

@media (max-width: 1180px) {
  .ds-founder { grid-template-columns: 340px minmax(0, 1fr); gap: 40px; }
}

@media (max-width: 860px) {
  .ds-founder { grid-template-columns: 1fr; gap: 56px; }
  .ds-founder__media { max-width: 420px; margin: 0 auto; }
  .ds-founder__facts { grid-template-columns: 1fr; gap: 14px; }
  .ds-founder__fact { display: flex; align-items: baseline; gap: 10px; }
  .ds-founder__fact span { margin-top: 0; }
}

@media (max-width: 720px) {
  .ds-founder__dash { display: none; }
  .ds-founder__sign .ds-btn { width: 100%; text-align: center; }
}

/* ==========================================================================
   14. Пайплайн в герое, шаги внедрения, «что не входит»
   ========================================================================== */

/* Карточка-пайплайн слева в герое */
.ds-steps {
  list-style: none;
  margin: 0; padding: 0;
  display: grid; gap: 9px;
  counter-reset: ds-step;
}
.ds-steps li {
  position: relative;
  padding-left: 22px;
  font-size: 13px; font-weight: 600;
  color: var(--wp--preset--color--muted-2);
}
.ds-steps li::before {
  content: "";
  position: absolute; left: 0; top: 5px;
  width: 8px; height: 8px;
  border-radius: 99px;
  background: #E2E7F1;
}
.ds-steps li::after {
  content: "";
  position: absolute; left: 3.5px; top: 15px;
  width: 1px; height: 9px;
  background: #E6EBF4;
}
.ds-steps li:last-child::after { display: none; }
.ds-steps li.on { color: var(--wp--preset--color--ink-soft); }
.ds-steps li.on::before {
  background: var(--wp--preset--color--accent);
  box-shadow: 0 0 0 3px rgba(255, 212, 86, .28);
}
.ds-widget__foot {
  margin-top: 14px; padding-top: 12px;
  border-top: 1px solid var(--wp--preset--color--line-2);
  font-family: var(--wp--preset--font-family--mono);
  font-size: 10.5px; color: var(--wp--preset--color--muted-3);
}

/* Девять шагов внедрения */
.ds-process {
  list-style: none;
  margin: 56px 0 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.ds-process__step {
  position: relative;
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 18px;
  padding: 24px 22px;
  box-shadow: 0 18px 44px rgba(20, 32, 64, .07);
}
.ds-process__num {
  display: inline-block;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px; font-weight: 500; letter-spacing: .08em;
  color: var(--wp--preset--color--accent-text);
  background: var(--wp--preset--color--accent-soft);
  border: 1px solid var(--wp--preset--color--accent-line);
  border-radius: var(--ds-radius-pill);
  padding: 4px 10px;
}
.ds-process__step h3 {
  margin: 14px 0 0;
  font-size: 17px; font-weight: 700; letter-spacing: -.3px;
  color: var(--wp--preset--color--ink);
}
.ds-process__step p {
  margin: 8px 0 0;
  font-size: 14px; line-height: 1.55;
  color: #5B6478;
}
.ds-process__step em { font-style: normal; color: var(--wp--preset--color--ink-soft); font-weight: 700; }
.ds-process__step--last { border-color: var(--wp--preset--color--accent-line); }

/* Блок «что не входит» */
.ds-notincluded {
  margin-top: 20px;
  background: #fff;
  border: 1px dashed var(--ds-dash);
  border-radius: 20px;
  padding: 28px 30px;
}
.ds-notincluded__head { display: flex; gap: 14px; align-items: flex-start; }
.ds-notincluded__mark {
  flex: none;
  width: 26px; height: 26px; margin-top: 2px;
  border-radius: 8px;
  background: var(--wp--preset--color--surface-2);
  position: relative;
}
.ds-notincluded__mark::before,
.ds-notincluded__mark::after {
  content: "";
  position: absolute; left: 7px; top: 12px;
  width: 12px; height: 2px; border-radius: 2px;
  background: var(--wp--preset--color--muted-3);
}
.ds-notincluded h3 {
  margin: 0;
  font-size: 17px; font-weight: 700; letter-spacing: -.3px;
  color: var(--wp--preset--color--ink);
}
.ds-notincluded__head p {
  margin: 8px 0 0;
  font-size: 14.5px; color: var(--wp--preset--color--muted-2);
  max-width: 720px;
}
.ds-notincluded ul {
  list-style: none;
  margin: 20px 0 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 24px;
  font-size: 14px; color: var(--wp--preset--color--muted);
}
.ds-notincluded li { display: flex; gap: 9px; align-items: center; }
.ds-notincluded li::before {
  content: "";
  width: 9px; height: 1px; flex: none;
  background: var(--wp--preset--color--muted-3);
}

@media (max-width: 960px) {
  .ds-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ds-notincluded ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .ds-process { grid-template-columns: 1fr; margin-top: 36px; }
  .ds-notincluded { padding: 24px 20px; }
  .ds-notincluded ul { grid-template-columns: 1fr; }
}

/* ==========================================================================
   15. Лендинги направлений (Entry Offers)
   ========================================================================== */

/* Компактный герой: без боковых карточек и схемы потока */
.ds-hero--lp { padding-bottom: 92px; }
.ds-hero--lp .ds-hero__center { margin: 78px auto 0; max-width: 820px; }
.ds-hero--lp .ds-hero__grid .h-1 { top: 400px; }
.ds-hero--lp .ds-hero__grid .c-l,
.ds-hero--lp .ds-hero__grid .c-r { top: 400px; }
.ds-hero--lp .ds-proof { margin-top: 46px; }

/* Симптомы — с чем приходят */
.ds-symptoms {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 48px;
}
.ds-symptom {
  display: flex; align-items: flex-start; gap: 13px;
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 14px;
  padding: 18px 20px;
  box-shadow: var(--ds-shadow-soft);
  font-size: 15px; line-height: 1.5;
  color: var(--wp--preset--color--muted);
}
.ds-symptom::before {
  content: "";
  flex: none;
  width: 20px; height: 20px; margin-top: 1px;
  border-radius: 99px;
  background: var(--wp--preset--color--surface-2);
  background-image: linear-gradient(45deg, transparent 45%, var(--wp--preset--color--muted-3) 45% 55%, transparent 55%),
                    linear-gradient(-45deg, transparent 45%, var(--wp--preset--color--muted-3) 45% 55%, transparent 55%);
  background-size: 11px 11px;
  background-position: center;
  background-repeat: no-repeat;
}

/* Что входит в работу */
.ds-deliver {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 48px;
}
.ds-deliver__item {
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 18px;
  padding: 22px 24px;
  box-shadow: 0 18px 44px rgba(20, 32, 64, .07);
}
.ds-deliver__item b {
  display: flex; align-items: center; gap: 10px;
  font-size: 15.5px; font-weight: 700;
  color: var(--wp--preset--color--ink);
}
.ds-deliver__item b::before {
  content: "";
  flex: none;
  width: 18px; height: 18px;
  border-radius: 99px;
  background: var(--wp--preset--color--accent);
  box-shadow: 0 4px 10px rgba(240, 201, 74, .5);
}
.ds-deliver__item span {
  display: block;
  margin-top: 9px; padding-left: 28px;
  font-size: 14px; line-height: 1.55;
  color: #5B6478;
}

/* Плашка с ценой */
.ds-pricebar {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 36px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--wp--preset--color--accent-line);
  border-radius: 22px;
  padding: 30px 34px;
  box-shadow: 0 22px 50px rgba(240, 201, 74, .20);
}
.ds-pricebar__price {
  font-size: 38px; font-weight: 800; letter-spacing: -1.4px;
  color: var(--wp--preset--color--ink);
  line-height: 1.05;
}
.ds-pricebar__price small {
  display: block; margin-top: 8px;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11.5px; font-weight: 500; letter-spacing: .04em;
  color: var(--wp--preset--color--muted-2);
}
.ds-pricebar .ds-btn { margin-top: 18px; }
.ds-pricebar ul {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 24px;
  font-size: 14.5px; color: var(--wp--preset--color--muted);
}
.ds-pricebar li { display: flex; gap: 10px; align-items: flex-start; }
.ds-pricebar li::before {
  content: ""; margin-top: 7px;
  width: 7px; height: 7px; flex: none;
  border-radius: 99px; background: var(--wp--preset--color--accent);
}
.ds-pricebar__note {
  grid-column: 1 / -1;
  margin: 4px 0 0; padding-top: 18px;
  border-top: 1px dashed var(--ds-dash);
  font-size: 13.5px; color: var(--wp--preset--color--muted-2);
}

/* Переход к основному продукту */
.ds-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 40px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 22px;
  padding: 34px 36px;
  box-shadow: var(--ds-shadow-card);
}
.ds-next h3 { margin: 0; font-size: 22px; letter-spacing: -.5px; color: var(--wp--preset--color--ink); }
.ds-next p  { margin: 12px 0 0; font-size: 15.5px; color: var(--wp--preset--color--body); }
.ds-next__side { display: flex; flex-direction: column; gap: 10px; }

@media (max-width: 860px) {
  .ds-symptoms, .ds-deliver { grid-template-columns: 1fr; }
  .ds-pricebar, .ds-next { grid-template-columns: 1fr; gap: 24px; padding: 26px 22px; }
  .ds-pricebar ul { grid-template-columns: 1fr; }
  .ds-next__side .ds-btn { width: 100%; text-align: center; }
}

@media (max-width: 720px) {
  .ds-hero--lp { padding-bottom: 56px; }
  .ds-hero--lp .ds-hero__center { margin-top: 48px; }
  .ds-symptoms, .ds-deliver { margin-top: 32px; }
}

/* ==========================================================================
   16. Выпадающее подменю в шапке
   ========================================================================== */

/* Карточка-выпадашка существует только у горизонтального меню.
   Ниже 960px работает бургер-оверлей ядра — там эти стили только мешают. */
@media (min-width: 961px) {
  .ds-nav__menu .wp-block-navigation__submenu-container {
    background: #fff;
    border: 1px solid var(--wp--preset--color--line);
    border-radius: 16px;
    box-shadow: var(--ds-shadow-card);
    padding: 8px;
    min-width: 272px;
    margin-top: 10px;
    /* шапка задаёт blockGap 26px, и подменю его наследует — сбрасываем,
       иначе пункты расползаются на всю высоту экрана */
    gap: 2px;
    row-gap: 2px;
  }

  /* Ядро задаёт min-width:200px селектором из четырёх классов
     (.wp-block-navigation .has-child:not(.open-on-click):hover > …).
     Берём на класс больше, иначе с white-space:nowrap длинная подпись
     вылезет за пределы карточки. */
  .ds-nav__menu .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container.ds-nav__has-sub {
    min-width: 272px;
  }

  /* Прозрачный мост через отступ в 10px: без него курсор по дороге к списку
     выходит из зоны :hover и подменю успевает закрыться. */
  .ds-nav__menu .wp-block-navigation__submenu-container::before {
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: -12px;
    height: 12px;
    background: transparent;
  }

  .ds-nav__menu .wp-block-navigation__submenu-container li { width: 100%; }
  .ds-nav__menu .wp-block-navigation__submenu-container li a {
    display: block;
    width: 100%;
    border-radius: 10px;
    padding: 9px 12px;
    font-size: 14px; font-weight: 500;
    line-height: 1.35;
    white-space: nowrap;
    color: var(--wp--preset--color--muted);
  }
  .ds-nav__menu .wp-block-navigation__submenu-container li a:hover {
    background: var(--wp--preset--color--surface-2);
    color: var(--wp--preset--color--ink-soft);
  }
  .ds-nav__menu .wp-block-navigation-submenu__toggle svg { opacity: .55; }
}

/* Ссылки в списках тарифов */
.ds-price li a { color: var(--wp--preset--color--muted); border-bottom: 1px solid #E3E9F4; }
.ds-price li a:hover { color: var(--wp--preset--color--blue); border-bottom-color: currentColor; }

/* Симптомы и «что входит» внутри секций не должны ловить flow-отступы ядра */
.ds-section__inner > .ds-symptoms,
.ds-section__inner > .ds-deliver { margin-block-start: 48px; }
.ds-section__inner > .ds-pricebar { margin-block-start: 40px; }
.ds-section__inner > .ds-next { margin-block-start: 0; }
.ds-section__inner > .ds-cta { margin-block-start: 20px; }
