/* Страница события: «О событии» — текст слева, закреплённая карточка регистрации справа.
   Разметку текста готовит modules/events/lib/prose.ts: лид, карточки «заголовок + список»,
   расписание (пункты с датами), строки «подпись · значение». Телефон — events-mobile.css. */

.ev-page__about { display: grid; grid-template-columns: minmax(0, 760px) 320px; justify-content: space-between; gap: 56px; align-items: start; margin: 0 0 72px; }

/* ---------- текст ---------- */
.ev-prose { font-size: 17px; line-height: 1.7; color: #272727; overflow-wrap: break-word; }
.ev-prose > :first-child { margin-top: 0; }
.ev-prose > :last-child { margin-bottom: 0; }
.ev-prose p { margin: 0 0 16px; }
.ev-prose .ev-prose__lead { margin-bottom: 20px; font-size: 20px; font-weight: 500; line-height: 1.5; }
.ev-prose b, .ev-prose strong { font-weight: 600; }
.ev-prose a { color: #e9423d; }

/* списки — зелёные галочки вместо точек */
.ev-prose ul { margin: 0 0 18px; padding: 0; list-style: none; }
.ev-prose li { position: relative; margin: 0 0 10px; padding-left: 34px; line-height: 1.6; }
.ev-prose li:last-child { margin-bottom: 0; }
.ev-prose li::before {
  content: ""; position: absolute; left: 0; top: .22em; width: 22px; height: 22px; border-radius: 50%;
  background: #e3f3ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' fill='none' stroke='%232f7a4f' stroke-width='2.2'/%3E%3C/svg%3E") center no-repeat;
}

/* «Заголовок:» + список — карточка с цветной шапкой */
.ev-prose-card { margin: 24px 0; padding: 22px 24px; border: 1px solid #dcebe2; border-radius: 20px; background: #fff; box-shadow: 0 6px 24px rgba(39, 39, 39, .05); }
.ev-prose-card > h3 { margin: -22px -24px 18px; padding: 14px 24px; border-radius: 19px 19px 0 0; background: #e3f3ea; font-size: 18px; font-weight: 600; line-height: 1.35; color: #23703f; }
.ev-prose-card ul { margin: 0; }

/* расписание: пункты с датами — строки с разделителями и значком календаря */
.ev-prose-card--schedule li { margin: 0; padding: 12px 0 12px 38px; font-weight: 500; }
.ev-prose-card--schedule li + li { border-top: 1px solid #e6efe9; }
.ev-prose-card--schedule li::before {
  top: 12px; border-radius: 8px; background: #fde8e7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b52d28' stroke-width='2.2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center no-repeat;
}
.ev-prose-card--schedule li:first-child { padding-top: 4px; }
.ev-prose-card--schedule li:first-child::before { top: 4px; }
.ev-prose-card--schedule li:last-child { padding-bottom: 0; }

/* «Подпись: значение» — строки в одной карточке */
.ev-prose-kv { margin: 20px 0; padding: 4px 20px; border-radius: 18px; background: #f3f9f5; }
.ev-prose-kv__row { display: grid; grid-template-columns: 200px minmax(0, 1fr); column-gap: 20px; padding: 12px 0; }
.ev-prose-kv__row + .ev-prose-kv__row { border-top: 1px solid #dcebe2; }
.ev-prose-kv dt { font-size: 15px; font-weight: 600; color: #2f7a4f; }
.ev-prose-kv dd { margin: 0; font-size: 16px; font-weight: 500; line-height: 1.5; }

/* ---------- карточка регистрации справа ---------- */
.ev-page__aside { position: sticky; top: 24px; }
.ev-aside { display: flex; flex-direction: column; gap: 12px; padding: 26px; border-radius: 22px; background: #272727; color: #fff; }
.ev-aside__title { margin: 0; font-size: 22px; font-weight: 600; line-height: 1.25; color: #fff; }
.ev-aside__text { margin: 0 0 8px; font-size: 15px; line-height: 1.5; color: #e8e8e8; }
.ev-aside .ev-buttons { flex-direction: column; }
.ev-aside .ev-btn { width: 100%; }
.ev-aside a.ev-btn--ghost { border-color: #fff; background: none; color: #fff; }
.ev-aside a.ev-btn--ghost:hover { background: #fff; color: #272727; }
a.ev-aside__link { align-self: center; margin-top: 4px; font-size: 15px; font-weight: 600; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
a.ev-aside__link:hover { color: #8fd3aa; }

@media (max-width: 1199px) {
  .ev-page__about { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ev-page__text { max-width: 760px; }
  .ev-page__aside { position: static; }
  .ev-aside { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
  .ev-aside__title, .ev-aside__text { flex: 1 1 100%; margin: 0; }
  .ev-aside .ev-buttons { flex-direction: row; }
  .ev-aside .ev-btn { width: auto; }
  a.ev-aside__link { align-self: auto; margin: 0; }
}
