/* ============================================================
   Вебинар «ЭТрН в 1С» — лендинг
   Дизайн-система: Airtable (типографика, spacing, тени, карточки)
   Палитра: корпоративные цвета cproject.ru (синий / белый / тёмно-серый)
   Vanilla CSS, mobile-first, без CDN и внешних шрифтов.
   ============================================================ */

:root {
  /* ---- Палитра cproject.ru (заменяет фирменные цвета Airtable) ---- */
  --primary:        #044e8a;   /* корпоративный синий */
  --primary-active: #033a68;   /* нажатое состояние */
  --primary-soft:   #055fa8;   /* светлее синий */

  --ink:     #133c58;          /* тёмно-сине-серый — заголовки */
  --body:    #333840;          /* основной текст */
  --muted:   #5c6672;          /* приглушённый текст */

  --canvas:        #ffffff;    /* белый холст */
  --surface-soft:  #f4f8fc;    /* мягкая поверхность (с синим подтоном) */
  --surface-strong:#e3ecf5;
  --surface-dark:  #0c3258;    /* тёмный синий — signature-блок (вместо coral/navy) */
  --accent-soft:   #e7f1fb;    /* фон иконок / акценты */

  --hairline:      #dddddd;    /* 1px границы */
  --on-primary:    #ffffff;

  /* ---- Радиусы (Airtable) ---- */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 12px;
  --r-full: 9999px;

  /* ---- Spacing (4px base, Airtable) ---- */
  --s-xs: 8px;
  --s-sm: 12px;
  --s-md: 16px;
  --s-lg: 24px;
  --s-xl: 32px;
  --s-xxl: 48px;
  --s-section: 64px;           /* mobile: компактнее; на десктопе → 96px */

  /* ---- Тени: минимальные (color-block first) ---- */
  --shadow-btn: 0 1px 2px rgba(4, 78, 138, 0.18);
  --shadow-card: 0 1px 3px rgba(19, 60, 88, 0.06);

  /* ---- Шрифты: системные (нет Google Fonts), Inter Display как близкий субститут ---- */
  --font: "Inter Display", system-ui, -apple-system, BlinkMacSystemFont,
          "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
}

/* ---------------- Reset ---------------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.5;
  color: var(--body);
  background: var(--canvas);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg { display: block; }
a { color: inherit; text-decoration: none; }

/* ---------------- Layout ---------------- */
.container {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 20px;
}
.container--narrow { max-width: 760px; }

.section { padding-block: var(--s-section); }
.section--soft { background: var(--surface-soft); }
.section--accent { background: var(--accent-soft); }   /* светло-синяя полоса — цветовой акцент */

/* ---------------- Typography helpers ---------------- */
.eyebrow {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.16px;
  color: var(--primary);
  background: var(--accent-soft);
  padding: 6px 14px;
  border-radius: var(--r-full);
  margin-bottom: var(--s-md);
}

.section__title {
  font-size: 28px;
  font-weight: 500;       /* Airtable: эмфаза размером, не жирностью */
  line-height: 1.2;
  color: var(--ink);
  letter-spacing: -0.2px;
}
.section__sub {
  margin-top: var(--s-sm);
  max-width: 60ch;
  font-size: 16px;
  color: var(--muted);
}

/* ---------------- Buttons ---------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  padding: 15px 24px;
  border-radius: var(--r-lg);
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
  min-height: 48px;
}
.btn--sm { padding: 10px 16px; min-height: 40px; font-size: 15px; }

.btn--primary {
  background: var(--primary);
  color: var(--on-primary);
  box-shadow: var(--shadow-btn);
}
.btn--primary:hover   { background: var(--primary-soft); }
.btn--primary:active  { background: var(--primary-active); }

.btn--secondary {
  background: var(--canvas);
  color: var(--ink);
  border-color: var(--hairline);
}
.btn--secondary:hover  { border-color: var(--border-strong, #9297a0); }
.btn--secondary:active { background: var(--surface-soft); }

/* белая кнопка на тёмной/цветной полосе (Airtable button-secondary-on-dark) */
.btn--secondary-on-dark { background: var(--canvas); color: var(--ink); }
.btn--secondary-on-dark:hover  { background: var(--surface-soft); }

/* ---------------- Header / Nav ---------------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,0.92);
  backdrop-filter: saturate(180%) blur(8px);
  border-bottom: 1px solid var(--hairline);
}
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-md);
  min-height: 64px;
  padding-block: 10px;
  position: relative;          /* якорь для выпадающей панели */
}
.brand { display: inline-flex; align-items: center; }
.brand__logo { height: 34px; width: auto; display: block; }

/* ---- Гамбургер (mobile) ---- */
.nav-toggle { display: none; }                 /* скрытый checkbox-переключатель */
.nav-burger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: -6px;                                  /* увеличиваем зону тапа */
  cursor: pointer;
  color: var(--ink);
  flex: none;
}
/* три линии гамбургера через ::before/::after */
.nav-burger__lines,
.nav-burger__lines::before,
.nav-burger__lines::after {
  content: "";
  display: block;
  width: 22px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: transform .2s ease, opacity .2s ease;
}
.nav-burger__lines { position: relative; }
.nav-burger__lines::before { position: absolute; top: -7px; }
.nav-burger__lines::after  { position: absolute; top: 7px; }
/* анимация в крестик при открытии */
.nav-toggle:checked ~ .nav-burger .nav-burger__lines { background: transparent; }
.nav-toggle:checked ~ .nav-burger .nav-burger__lines::before { top: 0; transform: rotate(45deg); }
.nav-toggle:checked ~ .nav-burger .nav-burger__lines::after  { top: 0; transform: rotate(-45deg); }

/* ---- Выпадающая панель (mobile) ---- */
.nav__panel {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  flex-direction: column;
  gap: var(--s-md);
  padding: var(--s-md) 20px var(--s-lg);
  background: var(--canvas);
  border-bottom: 1px solid var(--hairline);
  box-shadow: 0 10px 24px rgba(19, 60, 88, 0.10);
}
.nav-toggle:checked ~ .nav__panel { display: flex; }

.nav__menu { display: flex; flex-direction: column; }
.nav__menu a {
  font-size: 16px;
  color: var(--body);
  padding: 12px 10px;
  border-radius: var(--r-sm);
  border-bottom: 1px solid var(--hairline);
  transition: color .15s ease, background-color .15s ease;
}
.nav__menu a:hover { color: var(--primary); background: var(--surface-soft); }

.nav__right { display: flex; flex-direction: column; align-items: stretch; gap: var(--s-md); }
.nav__right .btn { width: 100%; }

.webinar-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--ink);
  background: var(--accent-soft);
  border: 1px solid #cfe2f6;
  padding: 8px 14px;
  border-radius: var(--r-full);
}
.webinar-chip svg { color: var(--primary); flex: none; }
.webinar-chip strong { color: var(--primary); }
.webinar-chip__sep { margin-inline: 6px; color: #9bb8d4; }

/* ---------------- Hero ---------------- */
.hero { padding-block: var(--s-section); background: var(--canvas); }
.hero__inner { max-width: 820px; }   /* выровнен по левому краю контейнера, как остальные блоки */
.hero__title {
  font-size: 34px;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.4px;
  color: var(--ink);
  margin-bottom: var(--s-md);
}
.hero__lead {
  font-size: 18px;
  line-height: 1.55;
  color: var(--body);
  max-width: 64ch;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-sm);
  margin-top: var(--s-xl);
}

/* ---- Строка фактов о вебинаре ---- */
.facts {
  list-style: none;
  padding: 0;
  margin-top: var(--s-lg);
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-sm) var(--s-lg);
}
.facts__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: var(--body);
}
.facts__item svg { color: var(--primary); flex: none; }

/* ---- Блок срочности (1 сентября 2026) — тёмно-синяя полоса ---- */
.urgency { background: var(--surface-dark); color: var(--on-primary); padding-block: var(--s-xl); }
.urgency__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-md);
}
.urgency__icon { color: #f4d35e; flex: none; }   /* тёплый акцент-иконка «внимание» */
.urgency__kicker {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #8fc0ee;
  margin-bottom: 4px;
}
.urgency__text { font-size: 17px; line-height: 1.5; color: #eef5fc; max-width: 72ch; }
.urgency__text strong { color: #ffe08a; font-weight: 600; }   /* подсветка даты */
.urgency__btn { flex: none; }

/* ---------------- Grids ---------------- */
.grid { display: grid; gap: var(--s-lg); }
.grid--cards { grid-template-columns: 1fr; margin-top: var(--s-xl); }

/* ---------------- Cards (Airtable demo-grid / content card) ---------------- */
.card {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--r-md);
  padding: var(--s-lg);
  box-shadow: var(--shadow-card);
}
.card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--r-md);
  background: var(--accent-soft);
  color: var(--primary);
  margin-bottom: var(--s-md);
}
.card__title {
  font-size: 18px;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 6px;
}
.card__text { font-size: 15px; color: var(--muted); line-height: 1.5; }

/* ---------------- Split (Что вы узнаете) ---------------- */
.split { display: grid; gap: var(--s-xl); }
.checklist { list-style: none; padding: 0; display: grid; gap: var(--s-md); }
.checklist li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 17px;
  color: var(--ink);
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--r-md);
  padding: 16px 18px;
}
.checklist__mark {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: var(--r-full);
  background: var(--primary);
  color: var(--on-primary);
  margin-top: 1px;
}

/* ---------------- Signature card (Почему стоит посмотреть) ---------------- */
.signature-card {
  background: var(--surface-dark);
  color: var(--on-primary);
  border-radius: var(--r-lg);
  padding: var(--s-xl);
}
.signature-card__title {
  font-size: 26px;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: var(--s-lg);
  color: #ffffff;
}
.grid--benefits { grid-template-columns: 1fr; gap: var(--s-lg); }
.benefit {
  padding-top: var(--s-md);
  border-top: 1px solid rgba(255,255,255,0.18);
}
.benefit__num {
  display: block;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #8fc0ee;
  margin-bottom: 8px;
}
.benefit__text { font-size: 18px; line-height: 1.45; color: #eef5fc; }

/* ---------------- Speaker ---------------- */
.speaker {
  display: grid;
  gap: var(--s-lg);
  margin-top: var(--s-xl);
  align-items: start;
}
.speaker__avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--r-full);
  background: var(--canvas);
  border: 1px solid #cfe2f6;
  color: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;          /* обрезаем фото по кругу */
  flex: none;
}
.speaker__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;         /* заполняем круг без искажений */
  display: block;
}
.speaker__name { font-size: 22px; font-weight: 500; color: var(--ink); }
.speaker__role { font-size: 16px; color: var(--primary); margin-top: 2px; margin-bottom: var(--s-sm); }
.speaker__bio { font-size: 16px; color: var(--body); line-height: 1.6; max-width: 62ch; }

/* ---------------- Регистрация + Timepad ---------------- */
.section--register { background: var(--surface-strong); text-align: center; }
.register__title {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--ink);
  letter-spacing: -0.2px;
}
.register__sub {
  margin: var(--s-md) auto 0;
  max-width: 56ch;
  font-size: 17px;
  color: var(--body);
}
.timepad-box {
  margin-top: var(--s-xl);
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  box-shadow: 0 4px 20px rgba(19, 60, 88, 0.08);
  padding: var(--s-lg);
  text-align: left;        /* поля формы — по левому краю, секция центрированная */
  overflow: hidden;        /* скругление не «вылезает» за углы виджета */
}
/* Подсказка-плейсхолдер, пока виджет грузится (в контейнере только <script> —
   видимого контента ещё нет). */
.timepad-box::before {
  content: "Форма регистрации загружается…";
  display: block;
  text-align: center;
  padding: var(--s-xl) 0;
  color: var(--muted);
  font-size: 15px;
}
/* Когда виджет отрисовал форму — прячем плейсхолдер. */
.timepad-box.is-loaded::before { display: none; }

/* Timepad-виджет приносит свои стили; ограничим ширину и уберём
   возможный горизонтальный скролл на мобильных. */
.timepad-box .twf,
.timepad-box iframe {
  max-width: 100% !important;
  width: 100% !important;
}

/* ---------------- Footer ---------------- */
.site-footer {
  border-top: 1px solid var(--hairline);
  background: var(--canvas);
  padding-top: var(--s-xl);
}
.footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-xl);
}
.footer__logo { height: 40px; width: auto; display: block; }
.footer__org-label {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: var(--s-sm);
}
.footer__desc {
  margin-top: var(--s-sm);
  font-size: 14px;
  color: var(--muted);
  line-height: 1.55;
  max-width: 52ch;
}
.footer__head {
  font-size: 16px;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: var(--s-md);
}
.footer__contacts { list-style: none; padding: 0; display: grid; gap: 12px; }
.footer__contacts li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--body);
}
.footer__contacts svg { color: var(--primary); flex: none; margin-top: 1px; }
.footer__contacts a:hover { color: var(--primary); }

.footer__bottom {
  margin-top: var(--s-xl);
  padding-block: var(--s-md);
  border-top: 1px solid var(--hairline);
}
.footer__note { font-size: 14px; color: var(--muted); }

/* ============================================================
   RESPONSIVE — tablet & desktop
   ============================================================ */
@media (min-width: 768px) {
  :root { --s-section: 80px; }

  .section__title { font-size: 32px; }
  .hero__title { font-size: 44px; }

  .grid--cards { grid-template-columns: repeat(2, 1fr); }

  .split { grid-template-columns: 1fr 1.1fr; gap: var(--s-xxl); align-items: start; }
  .grid--benefits { grid-template-columns: repeat(3, 1fr); }
  .benefit { padding-top: var(--s-lg); }

  .signature-card { padding: var(--s-xxl); }
  .signature-card__title { font-size: 30px; }

  .speaker { grid-template-columns: 120px 1fr; gap: var(--s-xl); align-items: center; }

  .urgency__inner { flex-direction: row; align-items: center; gap: var(--s-lg); }
  .urgency__btn { margin-left: auto; }

  .footer__grid { grid-template-columns: 1.4fr 1fr; gap: var(--s-xxl); }
  .footer__bottom { display: flex; align-items: center; justify-content: space-between; }
}

@media (min-width: 1024px) {
  :root { --s-section: 96px; }   /* универсальный вертикальный ритм Airtable */

  /* На десктопе гамбургер не нужен — возвращаем горизонтальную раскладку */
  .nav-burger { display: none; }
  .nav__panel {
    display: contents;          /* menu и right становятся прямыми flex-детьми .nav */
    position: static;
    box-shadow: none;
    border-bottom: none;
    background: transparent;
    padding: 0;
  }
  .nav__menu { display: flex; flex-direction: row; gap: 4px; }
  .nav__menu a { border-bottom: none; padding: 8px 12px; font-size: 14px; }
  .nav__right { flex-direction: row; align-items: center; gap: var(--s-md); }
  .nav__right .btn { width: auto; }

  .hero__title { font-size: 58px; }
  .section__title { font-size: 42px; }

  .grid--cards { grid-template-columns: repeat(3, 1fr); }
  /* 5 карточек: третий ряд из двух — пусть тянутся, выглядит структурно */
  .card:nth-child(4) { grid-column: span 1; }
  .card:nth-child(5) { grid-column: span 2; }
}

/* Уважение к пользовательским настройкам */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
