/* Архив записей (новости). Разметку выводит движок (resource-view.v1):
   .resource-view--collection > .resource-view__item >
     .resource-view__image + .resource-view__date + .resource-view__title + p
   и сразу после списка .resource-view__pagination. Тема задаёт только вид этих
   стабильных классов; HTML карточек и ссылки пагинации принадлежат движку. */
@layer theme.components {

/* Пока записей нет: одна строка вместо сетки карточек. */
.resource-collection .resource-view__empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 28px 24px;
  border: 1px dashed var(--color-border-card);
  border-radius: var(--radius-lg);
  color: var(--color-text-muted);
  text-align: center;
}

/* Сетка */
.resource-collection .resource-view--collection {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: 24px;
}

/* Карточка: колонка, обложка сверху, вся карточка кликабельна через ссылку заголовка */
.resource-collection .resource-view__item {
  position: relative;
  display: flex; flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-lg);
  background: var(--color-bg-page);
  box-shadow: var(--shadow-card);
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.resource-collection .resource-view__item > :not(.resource-view__image) { margin-inline: 22px; }
.resource-collection .resource-view__item > :last-child { margin-block-end: 22px; }
.resource-collection .resource-view__item > :first-child:not(.resource-view__image) { margin-block-start: 22px; }

/* Обложка: единая пропорция, исходник любой */
.resource-collection .resource-view__image {
  display: block; inline-size: 100%; aspect-ratio: 16 / 9;
  object-fit: cover; background: var(--color-bg-section-alt);
  transition: transform .3s ease;
}

/* Дата */
.resource-collection .resource-view__date {
  display: block; margin-block-start: 18px;
  color: var(--color-text-muted); font-size: var(--font-size-caption);
  font-weight: 600;
}
.resource-collection .resource-view__item > .resource-view__date:first-child { margin-block-start: 22px; }

/* Заголовок */
.resource-collection .resource-view__title {
  display: block; margin-block-start: 8px;
  color: var(--color-text);
  font-size: var(--font-size-h3); font-weight: 600; line-height: var(--line-height-heading);
  text-decoration: none;
}
.resource-collection a.resource-view__title::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }

/* Краткое описание */
.resource-collection .resource-view__item p {
  margin-block: 10px 0;
  color: var(--color-text-body);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* Hover и фокус */
.resource-collection .resource-view__item:has(a.resource-view__title):hover {
  border-color: var(--color-accent-line); transform: translateY(-2px);
}
.resource-collection .resource-view__item:hover .resource-view__image { transform: scale(1.03); }
.resource-collection .resource-view__item:hover a.resource-view__title { color: var(--color-accent-text); }
.resource-collection a.resource-view__title:focus-visible { outline: none; }
.resource-collection .resource-view__item:has(a.resource-view__title:focus-visible) {
  outline: 2px solid var(--color-accent); outline-offset: 3px;
}

/* Пагинация: движок выводит её сразу после списка внутри секции */
.resource-collection .resource-view__pagination {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  margin-block-start: 36px;
}
.resource-collection .resource-view__pagination-link,
.resource-collection .resource-view__pagination-current {
  display: inline-flex; align-items: center; justify-content: center;
  min-inline-size: 40px; block-size: 40px; padding-inline: 16px;
  border-radius: var(--radius-sm);
  font-size: var(--font-size-nav); font-weight: 600; text-decoration: none;
}
.resource-collection .resource-view__pagination-link {
  border: 1px solid var(--color-border-strong); color: var(--color-text); background: var(--color-bg-page);
}
.resource-collection .resource-view__pagination-link:hover { border-color: var(--color-text); }
.resource-collection .resource-view__pagination-link:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.resource-collection .resource-view__pagination-link--previous::before { content: "←"; margin-inline-end: 8px; }
.resource-collection .resource-view__pagination-link--next::after { content: "→"; margin-inline-start: 8px; }
.resource-collection .resource-view__pagination-current { background: var(--color-nav-current-bg); color: var(--color-nav-current-text); }

/* Мобильные */
@media (max-width: 640px) {
  .resource-collection .resource-view--collection { gap: 16px; }
  .resource-collection .resource-view__item > :not(.resource-view__image) { margin-inline: 18px; }
  .resource-collection .resource-view__item > :last-child { margin-block-end: 18px; }
  .resource-collection .resource-view__pagination { gap: 8px; }
  .resource-collection .resource-view__pagination-link { padding-inline: 12px; }
}

}
