/* Shared Pro-free editorial lists; existing Vlas typography and brand retained. */
.vlas-article-list {
	--vlas-list-surface: #f7fafc;
	--vlas-list-rule: #d9dfe5;
	color: var(--vlas-color-body);
	font-family: var(--vlas-font-sans);
}
.vlas-list-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 31px; }
.vlas-list-item { min-width: 0; }
.vlas-article-list .vlas-list-link { display: block; color: var(--vlas-color-heading); text-decoration: none; }
.vlas-list-link img { display: block; width: 100%; height: auto; aspect-ratio: 1.75; object-fit: cover; }
.vlas-article-list .vlas-list-title { margin: 18px 0 12px; color: inherit; font-size: 21px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.vlas-list-read { display: inline-block; margin-bottom: 16px; font-size: 16px; font-weight: 500; }
.vlas-list-item time { display: block; padding-top: 12px; border-top: 1px solid var(--vlas-list-rule); font-size: 14px; }
.vlas-list-link:hover .vlas-list-title, .vlas-list-link:hover .vlas-list-read { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.16em; }
.vlas-list-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 48px; }
.vlas-list-pagination :is(a, span.page-numbers) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 12px; }
.vlas-article-list .vlas-list-pagination a { color: var(--vlas-color-heading); text-decoration: none; border: 1px solid var(--vlas-list-rule); }
.vlas-list-pagination .current { color: var(--vlas-list-surface); background: var(--vlas-color-heading); }
.vlas-article-list .vlas-list-pagination a:hover { background: var(--vlas-list-rule); }
.vlas-article-list a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 1024px) { .vlas-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .vlas-list-grid { grid-template-columns: 1fr; gap: 32px; } }
