/* Scoped selectors leave theme widget wrappers and other widgets alone. */
.tst-articles { color:var(--tst-text); container-type:inline-size; }
.tst-articles .tst-items { list-style:none; margin:0; padding:0; display:grid; gap:var(--tst-gap); }
.tst-articles .tst-item { position:relative; display:flex; align-items:flex-start; gap:12px; margin:0; padding:var(--tst-padding); border:1px solid var(--tst-border); border-radius:var(--tst-radius); background:var(--tst-bg); box-sizing:border-box; min-width:0; }
.tst-articles .tst-rank { flex:0 0 auto; color:var(--tst-accent); font-size:0.875rem; font-weight:700; line-height:1.5; }
.tst-articles .tst-image { display:block; flex:0 0 var(--tst-thumb); width:var(--tst-thumb); max-width:35%; }
.tst-articles .tst-image img { display:block; margin:0; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:var(--tst-radius); }
.tst-ratio--square .tst-image img { aspect-ratio:1; }
.tst-ratio--wide .tst-image img { aspect-ratio:16/9; }
.tst-articles .tst-copy { flex:1; min-width:0; overflow-wrap:anywhere; }
.tst-articles a.tst-title { color:var(--tst-text); font-size:var(--tst-title-size); font-weight:700; line-height:1.4; text-decoration:none; display:block; }
.tst-articles a:hover { text-decoration:underline; text-underline-offset:0.15em; }
.tst-articles a:focus-visible { outline:2px solid var(--tst-accent); outline-offset:3px; }
.tst-articles .tst-meta { font-size:0.75rem; line-height:1.6; margin:6px 0 0; }
.tst-articles .tst-excerpt { font-size:0.875rem; line-height:1.6; margin:8px 0 0; }
.tst-articles .tst-more { display:inline-block; margin-top:8px; color:var(--tst-text); font-size:0.8125rem; font-weight:700; text-decoration:underline; }
.tst-articles--cards .tst-item { display:block; }
.tst-articles--cards .tst-image { width:100%; max-width:none; margin-bottom:12px; }
.tst-articles--cards .tst-rank { display:block; margin-bottom:8px; }
/* Sidebar-width containers retain a single column, independent of screen width. */
@container (min-width:520px) { .tst-articles--cards .tst-items { grid-template-columns:repeat(var(--tst-columns),minmax(0,1fr)); } }
