/* THE STREAM FREE V20 - catégories élégantes, adaptatives, sans JS. */
.tsf20-filters{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 30px;align-items:center}
.tsf20-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(181,168,228,.23);border-radius:999px;background:rgba(44,39,69,.45);color:#f0ecff;padding:10px 15px;text-decoration:none;font-size:13px;line-height:1.3;transition:background .2s,border-color .2s,transform .2s}
.tsf20-chip:hover,.tsf20-chip:focus-visible{border-color:#b8a5f6;background:rgba(111,82,173,.32);transform:translateY(-1px)}
.tsf20-chip.is-active{background:rgba(186,166,246,.24);border-color:#bda6fc;color:#fff}
.tsf20-chip small{opacity:.7;font-variant-numeric:tabular-nums}
.tsf20-mini-tags{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;margin:8px 0 12px}
.tsf20-mini-tag{display:inline-block;text-decoration:none;color:#e3d9ff;font-size:11px;line-height:1.35;padding:6px 9px;background:rgba(113,90,153,.22);border:1px solid rgba(188,162,247,.24);border-radius:999px}
.tsf20-mini-tag:hover{border-color:#c2b2ff}
.tsf20-choice-fieldset{border:1px solid rgba(189,166,240,.28);border-radius:16px;padding:17px;margin:15px 0 20px;min-width:0}
.tsf20-choice-fieldset legend{padding:0 8px;color:#ece5ff;font-weight:650}
.tsf20-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:9px;margin-top:14px}
.tsf20-check{display:flex;gap:12px;align-items:center;background:rgba(30,32,50,.8);border:1px solid rgba(179,160,227,.2);border-radius:12px;padding:12px 13px;cursor:pointer;min-height:48px;font-weight:500;font-size:14px}
.tsf20-check:has(input:checked){border-color:#a38ded;background:rgba(105,77,158,.23)}
.tsf20-check input{accent-color:#b7a0f2;flex:0 0 auto;width:18px;height:18px}
.tsf20-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tsf20-inline select,.tsf20-inline input{min-width:160px;flex:1 1 170px}
.tsf20-admin-category{border-top:1px solid rgba(180,180,200,.15);padding:10px 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.tsf20-admin-category .tsf20-inline{flex:1;min-width:210px}
@media(max-width:640px){.tsf20-check-grid{grid-template-columns:1fr}.tsf20-chip{padding:9px 11px}.tsf20-admin-category{flex-direction:column;align-items:stretch}}
