/* ============================================================
   «Ресурсы» (/resursy): первый экран, распаковки, PDF-материалы, баннер.
   Общие компоненты — в theme.css (t-*), здесь только раскладка страницы.
   ============================================================ */

/* ----- Хлебные крошки над заголовком ----- */
body.theme-v2 .page-crumbs { font-size: 14px; font-weight: 500; color: var(--t-muted); }
body.theme-v2 .page-crumbs a { color: var(--t-accent); text-decoration: none; }
body.theme-v2 .page-crumbs a:hover { color: var(--t-ink); }

/* ----- Первый экран ----- */
body.theme-v2 .res-hero-art { --art: var(--c-blue); max-width: 400px; }
body.theme-v2 .res-hero h1 { overflow-wrap: break-word; hyphens: auto; }

/* ----- Распаковки: видео в карточках ----- */
body.theme-v2 .res-head { margin-bottom: 48px; max-width: 720px; }
body.theme-v2 .res-video-grid { --min: 320px; gap: 24px; }
body.theme-v2 .res-video {
  display: flex; flex-direction: column; gap: 4px;
  padding: 10px; border-radius: var(--t-radius); background: var(--t-gray);
  transition: background .2s;
}
body.theme-v2 .res-video:hover { background: var(--t-gray-hover); }
body.theme-v2 .res-video-frame {
  aspect-ratio: 16 / 9; overflow: hidden; border-radius: 16px; background: var(--t-ink);
}
body.theme-v2 .res-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
body.theme-v2 .res-video-body { display: flex; align-items: center; gap: 14px; padding: 14px 12px 12px; }
body.theme-v2 .res-video-play {
  flex: none; position: relative; width: 40px; height: 40px; border-radius: 999px; background: var(--t-accent);
}
body.theme-v2 .res-video-play::after {
  content: ""; position: absolute; left: 16px; top: 13px;
  border-style: solid; border-width: 7px 0 7px 11px; border-color: transparent transparent transparent #fff;
}
body.theme-v2 .res-video-body h3 { margin: 0; min-width: 0; font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; }

/* ----- Фильтры и PDF-документы ----- */
body.theme-v2 .res-filters { margin-bottom: 36px; }
body.theme-v2 .res-docs .t-chip { background: #fff; }
body.theme-v2 .res-docs .t-chip:hover { background: var(--t-gray-hover); }
body.theme-v2 .res-docs .t-chip.active { background: var(--t-accent); color: #fff; }
body.theme-v2 .res-grid { --min: 300px; gap: 24px; }
body.theme-v2 .res-card {
  display: flex; flex-direction: column; overflow: hidden;
  padding: 10px; border-radius: var(--t-radius); background: #fff; color: var(--t-ink);
  transition: box-shadow .2s, transform .2s;
}
body.theme-v2 .res-card[hidden] { display: none; }
body.theme-v2 .res-card:hover { box-shadow: 0 18px 44px rgba(47,47,52,.1); transform: translateY(-3px); }
body.theme-v2 .res-thumb { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 16px; background: var(--t-gray); }
body.theme-v2 .res-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.theme-v2 .res-format {
  position: absolute; left: 12px; top: 12px;
  font-size: 12px; font-weight: 700; letter-spacing: .02em;
  box-shadow: 0 6px 18px rgba(47,47,52,.14);
}
body.theme-v2 .res-body { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: 18px 14px 14px; }
body.theme-v2 .res-cat { font-size: 14px; font-weight: 600; color: var(--t-accent); }
body.theme-v2 .res-body h3 { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.25; letter-spacing: -0.02em; overflow-wrap: break-word; }
body.theme-v2 .res-body p { flex: 1; margin: 0; font-size: 15px; line-height: 1.55; color: var(--t-muted); }
body.theme-v2 .res-meta {
  display: flex; gap: 16px; margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--t-line);
  font-size: 13px; font-weight: 500; color: var(--t-muted);
}
body.theme-v2 .res-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 4px; }
body.theme-v2 .res-btn { flex: 1 1 120px; justify-content: center; padding: 12px 18px; font-size: 15px; }
body.theme-v2 .res-btn.btn-outline { border-width: 1.5px; }

/* ----- Баннер ----- */
body.theme-v2 .res-band-copy { display: flex; flex-direction: column; gap: 16px; }
body.theme-v2 .res-band-action { display: flex; justify-content: flex-end; }

@media (max-width: 900px) {
  body.theme-v2 .res-band-action { justify-content: flex-start; }
}
@media (max-width: 600px) {
  body.theme-v2 .res-head { margin-bottom: 32px; }
  body.theme-v2 .res-hero-art { max-width: 300px; }
  body.theme-v2 .res-band .btn { white-space: normal; }
}
