/* ============================================================
   heg-event-archive.css — архив прошедших мероприятий heg.ai
   Страницы: /events/archive/ (хаб) и /events/archive/<slug>/ (событие).

   Контент восстановлен из лендингов hegai.network (Tilda), которые
   сняты с публикации; вёрстка — своя, на токенах дизайн-системы v6.
   Правила DS: Ivory/Ink/Green/Ember, без градиентов, прямоугольники
   для структуры, pills только для тегов.

   Грузится ПОСЛЕ heg-ds.css, поэтому свои селекторы держим в
   пространстве .ea-* и не трогаем общие классы сайта.
   ============================================================ */

/* Общий _astro-бандл задаёт section{margin-bottom:106px}. Между светлыми
   секциями это не видно, а после тёмной даёт ивори-полосу — гасим внутри
   архива и разводим секции собственными паддингами. */
.ea-page section { margin-bottom: 0 !important; }

.ea-page {
  --ea-line: rgba(16, 31, 24, 0.12);
  --ea-line-dark: rgba(250, 247, 234, 0.18);
  background: var(--heg-ivory, #FCFAF1);
}

/* ---------- хлебные крошки ---------- */
.ea-crumbs {
  font-family: var(--heg-mono, monospace);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.ea-crumbs a { color: inherit; opacity: .72; text-decoration: none; }
.ea-crumbs a:hover { opacity: 1; text-decoration: underline; }
.ea-crumbs span[aria-current] { opacity: .5; }
.ea-crumbs i { font-style: normal; opacity: .35; }

/* ============================================================
   HERO события — тёмный green-блок
   ============================================================ */
.ea-hero {
  background: var(--heg-green, #06463D);
  color: var(--heg-ivory, #FCFAF1);
  padding: 56px 0 0;
}
.ea-hero .ea-crumbs { color: var(--heg-ivory, #FCFAF1); }

.ea-hero__kicker {
  font-family: var(--heg-mono, monospace);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--heg-ember, #FF6A3D);
  margin: 0 0 14px;
}
.ea-hero h1 {
  font-family: var(--heg-font, sans-serif);
  font-weight: 700;
  font-size: clamp(30px, 5.2vw, 54px);
  line-height: 1.06;
  letter-spacing: -.02em;
  margin: 0 0 20px;
  max-width: 18ch;
  color: var(--heg-ivory, #FCFAF1);
}
.ea-hero__lead {
  font-size: clamp(16px, 2.1vw, 20px);
  line-height: 1.5;
  margin: 0 0 30px;
  max-width: 60ch;
  color: rgba(250, 247, 234, .82);
}

/* факты события: прямоугольная сетка на хайрлайнах */
.ea-facts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  border-top: 1px solid var(--ea-line-dark);
  border-left: 1px solid var(--ea-line-dark);
}
.ea-facts li {
  border-right: 1px solid var(--ea-line-dark);
  border-bottom: 1px solid var(--ea-line-dark);
  padding: 16px 18px;
}
.ea-facts dt,
.ea-fact__k {
  font-family: var(--heg-mono, monospace);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(250, 247, 234, .55);
  margin: 0 0 6px;
}
.ea-fact__v {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  margin: 0;
}

/* плашка «мероприятие прошло» */
.ea-past {
  margin: 0;
  padding: 22px 0 56px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}
.ea-past__note {
  font-size: 15px;
  line-height: 1.45;
  color: rgba(250, 247, 234, .72);
  margin: 0;
  flex: 1 1 320px;
}
.ea-past__note b { color: var(--heg-ivory, #FCFAF1); font-weight: 600; }
.ea-past__actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* кнопки в тёмном хиро — свои, чтобы не воевать с !important дизайн-системы */
.ea-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border-radius: 12px;
  font-family: var(--heg-font, sans-serif);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background .16s, color .16s, border-color .16s;
  cursor: pointer;
}
.ea-btn--ember { background: var(--heg-ember, #FF6A3D); color: #101F18; }
.ea-btn--ember:hover { background: #ff855e; }
.ea-btn--ghost {
  background: transparent;
  color: var(--heg-ivory, #FCFAF1);
  border-color: var(--ea-line-dark);
}
.ea-btn--ghost:hover { border-color: rgba(250, 247, 234, .5); }
.ea-btn--ink { background: var(--heg-green, #06463D); color: var(--heg-ivory, #FCFAF1); }
.ea-btn--ink:hover { background: var(--heg-green-600, #0A5A4E); }

/* ============================================================
   ТЕЛО СТРАНИЦЫ
   ============================================================ */
.ea-body { padding: 56px 0 8px; }
/* Колонка чтения. Отдельный div ВНУТРИ .container — если повесить .ea-wrap на сам
   .container, его max-width:1360px/margin:auto центрируют колонку, и она перестаёт
   совпадать по левому краю с заголовком в хиро. */
.ea-wrap { max-width: 860px; }

.ea-h2 {
  font-family: var(--heg-font, sans-serif);
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.15;
  margin: 0 0 8px;
  color: var(--heg-ink, #101F18);
}
.ea-sub {
  font-size: 16px;
  line-height: 1.55;
  color: var(--heg-text-2, rgba(16, 31, 24, .62));
  margin: 0 0 26px;
  max-width: 62ch;
}
.ea-block { padding: 0 0 48px; }
.ea-p { font-size: 17px; line-height: 1.6; margin: 0 0 16px; max-width: 62ch; }

/* Карточки-прямоугольники: «о чём», «для кого», «что было».
   Хайрлайны рисуем тенью КАЖДОЙ ячейки, а не фоном сетки: при нечётном числе
   карточек фон сетки просвечивал бы в пустой ячейке серым прямоугольником. */
.ea-cards {
  list-style: none;
  margin: 0;
  padding: 1px;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.ea-cards li {
  background: var(--heg-ivory, #FCFAF1);
  box-shadow: 0 0 0 1px var(--ea-line);
  padding: 22px 20px;
}
.ea-cards h3 {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 8px;
  color: var(--heg-ink, #101F18);
}
.ea-cards p {
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
  color: var(--heg-text-2, rgba(16, 31, 24, .62));
}

/* ---------- программа ---------- */
.ea-prog { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ea-line); }
.ea-prog li {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 0 20px;
  padding: 20px 0;
  border-bottom: 1px solid var(--ea-line);
}
/* программа без восстановимых таймингов — одна колонка */
.ea-prog--plain li { grid-template-columns: 1fr; }
.ea-prog__t {
  font-family: var(--heg-mono, monospace);
  font-size: 13px;
  letter-spacing: .04em;
  color: var(--heg-green, #06463D);
  padding-top: 2px;
}
.ea-prog__h {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 6px;
  color: var(--heg-ink, #101F18);
}
.ea-prog__who { font-size: 15px; line-height: 1.5; margin: 0; color: var(--heg-text-2, rgba(16, 31, 24, .62)); }
.ea-prog__who b { font-weight: 600; color: var(--heg-ink-700, #1B2E25); }

/* ---------- спикеры ---------- */
.ea-speakers {
  list-style: none;
  margin: 0;
  padding: 1px;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.ea-speakers li {
  background: var(--heg-ivory, #FCFAF1);
  box-shadow: 0 0 0 1px var(--ea-line);
  padding: 20px;
}
.ea-speakers b {
  display: block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 6px;
  color: var(--heg-ink, #101F18);
}
.ea-speakers span {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  color: var(--heg-text-2, rgba(16, 31, 24, .62));
}

/* ---------- «что осталось» / ссылки ---------- */
.ea-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ea-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid var(--ea-line);
  border-radius: 12px;
  text-decoration: none;
  color: var(--heg-ink, #101F18);
  font-size: 16px;
  font-weight: 500;
  transition: border-color .16s, background .16s;
}
.ea-links a:hover { border-color: var(--heg-green, #06463D); background: #F4F1E4; }
.ea-links a::after { content: "→"; color: var(--heg-green, #06463D); }

/* ---------- финальный CTA ---------- */
.ea-cta {
  background: var(--heg-ink, #101F18);
  color: var(--heg-ivory, #FCFAF1);
  padding: 56px 0;
  margin-top: 40px;
}
.ea-cta h2 {
  font-size: clamp(24px, 3.4vw, 34px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.01em;
  margin: 0 0 12px;
  max-width: 20ch;
  color: var(--heg-ivory, #FCFAF1);
}
.ea-cta p {
  font-size: 17px;
  line-height: 1.55;
  color: rgba(250, 247, 234, .74);
  margin: 0 0 26px;
  max-width: 56ch;
}
.ea-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ============================================================
   ХАБ АРХИВА
   ============================================================ */
.ea-hub-hero {
  background: var(--heg-green, #06463D);
  color: var(--heg-ivory, #FCFAF1);
  padding: 56px 0;
}
.ea-hub-hero .ea-crumbs { color: var(--heg-ivory, #FCFAF1); }
.ea-hub-hero h1 {
  font-size: clamp(30px, 5.2vw, 52px);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -.02em;
  margin: 0 0 18px;
  max-width: 20ch;
  color: var(--heg-ivory, #FCFAF1);
}
.ea-hub-hero p {
  font-size: clamp(16px, 2.1vw, 19px);
  line-height: 1.5;
  color: rgba(250, 247, 234, .82);
  margin: 0 0 28px;
  max-width: 64ch;
}

.ea-year { padding: 48px 0 0; }
.ea-year__h {
  font-family: var(--heg-mono, monospace);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--heg-green, #06463D);
  margin: 0 0 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--ea-line);
}
.ea-list {
  list-style: none;
  margin: 0;
  padding: 1px;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.ea-item { background: var(--heg-ivory, #FCFAF1); box-shadow: 0 0 0 1px var(--ea-line); }
.ea-item > a {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  padding: 22px 20px;
  text-decoration: none;
  color: inherit;
  transition: background .16s;
}
.ea-item > a:hover { background: #F4F1E4; }
.ea-item__top { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ea-tag {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  background: #E6EFEA;
  color: var(--heg-green, #06463D);
  font-family: var(--heg-mono, monospace);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ea-item__date {
  font-family: var(--heg-mono, monospace);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--heg-text-2, rgba(16, 31, 24, .62));
}
.ea-item__h {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.25;
  margin: 0;
  color: var(--heg-ink, #101F18);
}
.ea-item__d {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  color: var(--heg-text-2, rgba(16, 31, 24, .62));
}
.ea-item__go { margin-top: auto; font-size: 14px; font-weight: 600; color: var(--heg-green, #06463D); }

.ea-note {
  margin: 44px 0 0;
  padding: 20px 22px;
  border: 1px solid var(--ea-line);
  border-radius: 12px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--heg-text-2, rgba(16, 31, 24, .62));
}
.ea-note a { color: var(--heg-green, #06463D); }

/* ============================================================
   МОБАЙЛ
   ============================================================ */
@media (max-width: 640px) {
  .ea-hero { padding-top: 34px; }
  .ea-hero h1 { max-width: none; }
  .ea-past { padding-bottom: 34px; }
  .ea-past__actions { width: 100%; }
  .ea-past__actions .ea-btn { flex: 1 1 160px; }
  .ea-body { padding-top: 38px; }
  .ea-block { padding-bottom: 34px; }
  .ea-facts { grid-template-columns: repeat(2, 1fr); }
  .ea-prog li { grid-template-columns: 1fr; gap: 6px; }
  .ea-prog__t { padding-top: 0; }
  .ea-cta { padding: 40px 0; }
  .ea-cta__actions { width: 100%; }
  .ea-cta__actions .ea-btn { flex: 1 1 160px; }
  .ea-hub-hero { padding: 34px 0; }
  .ea-year { padding-top: 34px; }
}
