/* Страницы форматов «Проведения» /meropriyatiya/<формат>/ (2026-11-08).
   Цвета и радиусы — только токены дизайн-системы doka-air. */

/* Фото под заголовком в двухколоночных секциях */
.ev-photo { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin-top: 32px; border-radius: var(--ds-radius-media); }

/* Галерея с мероприятий */
.ev-gallery { padding-block: 0 72px; }
.ev-gallery-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 16px; }
.ev-gallery-grid figure { margin: 0; position: relative; overflow: hidden; border-radius: var(--ds-radius-media); }
.ev-gallery-grid img { display: block; width: 100%; height: 340px; object-fit: cover; }
.ev-gallery-grid figcaption { position: absolute; left: 12px; bottom: 12px; padding: 6px 12px; border-radius: var(--ds-radius-chip); background: var(--ds-color-night); color: var(--ds-color-on-night-deep); font-size: 14px; line-height: 1.3; }

/* Цена и состав пакета */
.ev-price { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 24px; align-items: stretch; margin-top: 32px; }
.ev-price-card { display: flex; flex-direction: column; gap: 16px; padding: 32px; border-radius: var(--ds-radius-card); background: var(--ds-color-night); color: var(--ds-color-on-night); }
.ev-price-card .eyebrow { color: var(--ds-color-link-on-night); margin: 0; }
.ev-price-value { margin: 0; font-size: clamp(40px, 4.4vw, 56px); line-height: 1; letter-spacing: -.03em; font-weight: 700; color: var(--ds-color-on-night-deep); }
.ev-price-card p { margin: 0; }
.ev-price-card .button { margin-top: auto; align-self: flex-start; }
.ev-price-list { padding: 32px; border-radius: var(--ds-radius-card); background: var(--ds-color-surface-soft); }
.ev-price-list .seo-checklist-title { margin-top: 0; }
.ev-price-list .seo-checklist { margin-bottom: 0; }
.ev-price-list .seo-note { margin-bottom: 0; }

/* Ведущие DokaLab: фото + текст + три факта */
.ev-hosts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.ev-hosts > img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ds-radius-media); }
.ev-hosts h2 { margin-top: 0; }
.ev-hosts-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0; padding: 0; list-style: none; }
.ev-hosts-facts li { padding: 16px; border-radius: var(--ds-radius-control); background: var(--ds-color-surface); border: 1px solid var(--ds-color-border); }
.ev-hosts-facts strong { display: block; font-size: 22px; line-height: 1.2; letter-spacing: -.02em; }
.ev-hosts-facts span { display: block; margin-top: 4px; font-size: 14px; line-height: 1.4; color: var(--ds-color-text-secondary); }

/* Другие форматы: карточки с фото */
.ev-formats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.ev-format { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--ds-radius-card); background: var(--ds-color-surface); border: 1px solid var(--ds-color-border); color: inherit; text-decoration: none; transition: transform var(--ds-motion-fast) var(--ds-motion-ease); }
.ev-format:hover { transform: translateY(-3px); }
.ev-format img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ev-format div { display: flex; flex-direction: column; gap: 8px; padding: 20px; flex: 1; }
.ev-format .eyebrow { margin: 0; }
.ev-format h3 { margin: 0; font-size: 20px; line-height: 1.25; }
.ev-format .text-link { margin-top: auto; padding-top: 8px; }

@media (max-width: 1000px) {
  .ev-formats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ev-price, .ev-hosts { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 700px) {
  .ev-gallery { padding-bottom: 48px; }
  .ev-gallery-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ev-gallery-grid figure:first-child { grid-column: 1 / -1; }
  .ev-gallery-grid img { height: 200px; }
  .ev-gallery-grid figure:first-child img { height: 240px; }
  .ev-price-card, .ev-price-list { padding: 24px; }
  .ev-hosts-facts { grid-template-columns: 1fr; }
  .ev-formats { grid-template-columns: 1fr; }
  .ev-photo { margin-top: 20px; }
}
