:root{
  --linf-fun:#22c55e;
  --linf-creative:#a855f7;
  --linf-stimulante:#3b82f6;
  --linf-intense:#f97316;
}

.linf { font-family: inherit; }
.linf__header { display:flex; flex-direction:column; gap:12px; margin-bottom:14px; }
.linf__title { margin:0; font-size:1.6rem; line-height:1.2; }
.linf__controls { display:flex; flex-direction:column; gap:12px; }

.linf__search input {
  width:100%;
  max-width:520px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.15);
  border-radius:10px;
  font-size:1rem;
  background:#fff;
}

.linf__filters { display:flex; flex-direction:column; gap:8px; }
.linf__filtersTitle { font-weight:600; }
.linf__chips { display:flex; flex-wrap:wrap; gap:8px; }

.linf__chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px;
  border:1px solid rgba(0,0,0,.15);
  border-radius:999px;
  user-select:none;
  background:#fff;
  cursor:pointer;
  border-color: color-mix(in srgb, var(--linf-color) 55%, rgba(0,0,0,.15));
}
.linf__chip input{ margin:0; }
.linf__chip span{ text-decoration:none !important; }

.linf__chip:has(input:checked){
  background: color-mix(in srgb, var(--linf-color) 16%, #fff);
  border-color: color-mix(in srgb, var(--linf-color) 70%, rgba(0,0,0,.12));
}

/* Anti-soulignement Astra / thèmes sur tout ce bloc */
.linf a,
.linf a:hover,
.linf a:focus,
.linf a:active,
.linf a:visited{
  text-decoration:none !important;
  box-shadow:none !important;
}
.linf a *{ text-decoration:none !important; }

.linf__status { padding:10px 12px; border:1px dashed rgba(0,0,0,.25); border-radius:12px; }

.linf__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:12px;
}

.linf__card{
  text-decoration:none !important;
  color:inherit;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  display:block;
  transition: transform .08s ease, box-shadow .08s ease;
}
.linf__card:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(0,0,0,.08); }

.linf__cardInner { padding:12px; }
.linf__cardHeader { display:flex; gap:12px; align-items:flex-start; }
.linf__avatar { width:56px; height:56px; border-radius:12px; border:1px solid rgba(0,0,0,.10); display:flex; align-items:center; justify-content:center; overflow:hidden; background:#fafafa; flex:0 0 auto;}
.linf__avatarImg { width:100%; height:100%; object-fit:cover; }
.linf__avatarFallback { font-weight:700; font-size:1.25rem; }
.linf__main { min-width:0; }
.linf__name { font-weight:700; line-height:1.2; }
.linf__platform { margin-top:4px; font-size:.92rem; opacity:.85; }
.linf__tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.linf__tag { font-size:.78rem; padding:3px 8px; border-radius:999px; border:1px solid rgba(0,0,0,.12); opacity:.9; }
.linf__tag[data-community]{
  border-color: color-mix(in srgb, var(--linf-color) 55%, rgba(0,0,0,.12));
  background: color-mix(in srgb, var(--linf-color) 14%, #fff);
}

@media (min-width: 720px){
  .linf__controls { flex-direction:row; align-items:flex-start; justify-content:space-between; gap:18px; }
  .linf__filters { align-items:flex-start; }
}
