/* mod_tribune_articles – nutzt die Variablen des Tribune-Templates, funktioniert aber auch eigenständig */
.tsa{--_ink:var(--ts-ink,#121212);--_muted:var(--ts-muted,#5c5c5c);--_rule:var(--ts-rule,#d6d6d6);--_acc:var(--ts-accent,#0274b6);--_head:var(--ts-font-heading,Georgia,serif);--_ui:var(--ts-font-ui,system-ui,sans-serif);color:var(--_ink)}
.tsa a{color:inherit;text-decoration:none}
.tsa .tsa-title a:hover,.tsa a.tsa-title:hover{color:var(--_acc)}
.tsa-title{font-family:var(--_head);font-weight:700;line-height:1.12;margin:.15rem 0 .4rem;letter-spacing:-.005em;text-wrap:balance}
.tsa-item--lead .tsa-title{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem)}
.tsa-title--lg{font-size:clamp(1.4rem,1.1rem + 1vw,1.85rem)}
.tsa-title--md{font-size:1.2rem}
.tsa-title--sm{font-size:1.02rem;font-weight:600}
.tsa-intro{font-family:var(--ts-font-body,Georgia,serif);font-size:1rem;line-height:1.5;color:#333;margin:0 0 .5rem}
.tsa-top{display:flex;gap:.5rem;align-items:center;margin-bottom:.15rem}
.tsa-kicker{font-family:var(--_ui);font-size:.78rem;font-weight:600;color:var(--_muted)!important}
.tsa-badge{font-family:var(--_ui);font-size:.68rem;font-weight:700;color:#fff;background:var(--ts-premium,#8a6d1d);padding:.1rem .35rem;border-radius:2px}
.tsa-byline{font-family:var(--_ui);font-size:.78rem;color:var(--_muted);margin:0;display:flex;gap:.6rem;flex-wrap:wrap}
.tsa-author{font-weight:600;color:var(--_ink)}
.tsa-media{display:block;overflow:hidden;background:#eee;margin-bottom:.6rem}
.tsa-media img{width:100%;height:100%;object-fit:cover;display:block}
.tsa-list{list-style:none;margin:1rem 0 0;padding:0}
.tsa-list>.tsa-item{border-top:1px solid var(--_rule);padding:.75rem 0}
.tsa-more{font-family:var(--_ui);font-size:.85rem;font-weight:600;margin:.8rem 0 0}
.tsa-more a{color:var(--_acc)}
/* Raster */
.tsa--grid,.tsa--opinion{display:grid;gap:1.5rem;grid-template-columns:repeat(var(--tsa-cols,3),minmax(0,1fr))}
.tsa--grid>.tsa-item+.tsa-item,.tsa--opinion>.tsa-item+.tsa-item{position:relative}
.tsa--grid>.tsa-item+.tsa-item::before,.tsa--opinion>.tsa-item+.tsa-item::before{content:"";position:absolute;left:-.75rem;top:0;bottom:0;border-left:1px solid var(--_rule)}
@media (max-width:900px){.tsa--grid,.tsa--opinion{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.tsa--grid,.tsa--opinion{grid-template-columns:1fr}.tsa--grid>.tsa-item+.tsa-item::before,.tsa--opinion>.tsa-item+.tsa-item::before{display:none}}
/* Liste */
.tsa--list>.tsa-row{display:grid;grid-template-columns:1fr 160px;gap:1rem;border-top:1px solid var(--_rule);padding:1rem 0}
.tsa--list>.tsa-row:first-child{border-top:0;padding-top:0}
.tsa--list .tsa-media{margin:0}
@media (max-width:560px){.tsa--list>.tsa-row{grid-template-columns:1fr 96px}}
/* Meistgelesen */
.tsa--numbered{list-style:none;counter-reset:tsa;margin:0;padding:0}
.tsa--numbered>.tsa-item{counter-increment:tsa;display:grid;grid-template-columns:2.2rem 1fr;align-items:start;border-top:1px solid var(--_rule);padding:.7rem 0}
.tsa--numbered>.tsa-item:first-child{border-top:0}
.tsa--numbered>.tsa-item::before{content:counter(tsa);font-family:var(--_head);font-size:1.6rem;font-weight:700;line-height:1;color:var(--_acc)}
.tsa--numbered .tsa-title{margin:0}
.tsa--numbered .tsa-badge{grid-column:2;justify-self:start;margin-top:.3rem}
/* Meinung */
.tsa--opinion .tsa-title{font-style:italic;font-weight:600}
.tsa-opinion-author{font-family:var(--_ui);font-size:.82rem;font-weight:700;margin:0 0 .25rem}
/* Schlagzeilen */
.tsa--headlines{list-style:none;margin:0;padding:0}
.tsa--headlines>.tsa-item{border-top:1px solid var(--_rule);padding:.6rem 0}
.tsa--headlines>.tsa-item:first-child{border-top:0;padding-top:0}
.tsa--headlines .tsa-title{display:block;margin:0 0 .2rem}
.tsa--headlines .tsa-badge{float:right;margin-left:.5rem}
/* Rubrik-Spalten */
.tsa--columns{display:grid;grid-template-columns:5fr 4fr 3fr;gap:1.5rem}
.tsa--columns>*+*{border-left:1px solid var(--_rule);padding-left:1.5rem}
.tsa--columns .tsa-col-b .tsa-item+.tsa-item{border-top:1px solid var(--_rule);padding-top:1rem;margin-top:1rem}
.tsa--columns .tsa-col-c{margin:0}
.tsa--columns .tsa-col-c>.tsa-item:first-child{border-top:0;padding-top:0}
@media (max-width:900px){.tsa--columns{grid-template-columns:1fr 1fr}.tsa--columns .tsa-col-c{grid-column:1/-1;border-left:0;padding-left:0}}
@media (max-width:560px){.tsa--columns{grid-template-columns:1fr}.tsa--columns>*+*{border-left:0;padding-left:0;border-top:1px solid var(--_rule);padding-top:1rem}}
