
.fi-catalog-plugin{
  --fi-ink:#2b3438;
  --fi-ink-soft:#5a676c;
  --fi-paper:#fbf9f6;
  --fi-orange:#dd4600;
  --fi-radius:14px;
  width:100%;
  color:var(--fi-ink);
  font-family:inherit;
}
.fi-catalog-plugin *{box-sizing:border-box}
.fi-filters{display:block;margin:0 0 14px}
.fi-filters__bar{display:flex;gap:12px;align-items:center;width:100%}
.fi-filters__toggle{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:0;border-radius:999px;background:#eef2f4;color:var(--fi-ink);font:inherit;font-size:16px;font-weight:600;cursor:pointer;flex:none}
.fi-filters__toggle[aria-expanded="true"]{background:var(--fi-ink);color:#fff}
.fi-filters__n{background:var(--fi-orange);color:#fff;border-radius:999px;font-size:12px;min-width:20px;padding:1px 6px;text-align:center}
.fi-search{flex:1 1 auto;display:flex;align-items:center;gap:10px;padding:0 18px;border:1px solid #d5dbde;border-radius:999px;background:#fff;color:var(--fi-ink-soft);min-width:0}
.fi-search:focus-within{border-color:var(--fi-orange)}
.fi-search input{flex:1;width:100%!important;max-width:none!important;border:0!important;padding:12px 0!important;margin:0!important;font:inherit;font-size:16px;background:transparent!important;color:var(--fi-ink)!important;outline:none!important;box-shadow:none!important}
.fi-filters__panel{display:flex;flex-wrap:wrap;gap:10px;align-items:center;width:100%;margin-top:14px;padding:16px;border-radius:var(--fi-radius);background:var(--fi-paper)}
.fi-filters__panel[hidden]{display:none!important}
.fi-filters__panel select{padding:10px 14px;border:1px solid #d5dbde;border-radius:999px;font:inherit;font-size:15px;color:var(--fi-ink);background:#fff}
.fi-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:#eef2f4;color:var(--fi-ink);font-size:14px;font-weight:600;cursor:pointer}
.fi-chip:has(input:checked){background:var(--fi-ink);color:#fff}
.fi-chip input{accent-color:var(--fi-orange)}
.fi-linkbtn{background:none!important;border:0!important;padding:0!important;color:var(--fi-orange)!important;font:inherit;font-weight:700!important;cursor:pointer;text-decoration:underline}
.fi-count{font-size:14px!important;color:var(--fi-ink-soft)!important;margin:4px 0 16px!important;padding:0!important}
.fi-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:8px}
.fi-tile{position:relative;display:block;border-radius:16px;overflow:hidden;background:none;box-shadow:0 1px 2px rgba(0,0,0,.06),0 6px 20px rgba(0,0,0,.08);transition:transform .25s ease,box-shadow .25s ease;text-decoration:none!important}
.fi-tile[hidden]{display:none!important}
.fi-tile__img{position:relative;display:block;overflow:hidden}
.fi-tile img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .5s ease}
.fi-tile:hover{transform:translateY(-4px);box-shadow:0 14px 38px rgba(0,0,0,.16)}
.fi-tile:hover img{transform:scale(1.03)}
.fi-tile__new{position:absolute;top:14px;left:14px;padding:6px 12px;border-radius:999px;background:var(--fi-ink);color:#fff;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.fi-tile__lock{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;width:auto;height:auto;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.96);color:#111;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.fi-tile__lock svg{width:14px;height:14px;stroke:#111;flex:none}
/* Claude preview: MEMBERS badge turns orange on hover */
.fi-tile:hover .fi-tile__lock,.fi-tile:focus-visible .fi-tile__lock{background:var(--fi-orange);color:#fff}
.fi-tile:hover .fi-tile__lock svg,.fi-tile:focus-visible .fi-tile__lock svg{stroke:currentColor}
.fi-tile__name{position:absolute;left:0;right:0;bottom:0;padding:48px 130px 16px 16px;color:#fff;font-weight:800;font-size:17px;line-height:1.2;background:linear-gradient(transparent,rgba(0,0,0,.6));opacity:0;transition:opacity .2s}
.fi-tile:hover .fi-tile__name,.fi-tile:focus-visible .fi-tile__name{opacity:1}
.fi-empty{text-align:center;padding:40px 0!important}
@media (hover:none){.fi-tile__name{opacity:1}}
@media (max-width:980px){.fi-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media (max-width:600px){
  .fi-filters__bar{gap:8px}
  .fi-filters__toggle{padding:10px 13px;font-size:14px}
  .fi-search{padding:0 12px}
  .fi-search input{font-size:14px}
  .fi-filters__panel{padding:12px}
  .fi-filters__panel select{width:100%}
  .fi-chip{font-size:13px}
  .fi-tiles{grid-template-columns:1fr;gap:16px}
  .fi-tile__name{font-size:15px;padding:34px 110px 12px 12px}
  .fi-tile__lock{right:10px;bottom:10px;padding:6px 10px;font-size:11px}
}

/* v0.3.1 – catalogue background */
.fi-catalog-plugin{background:#F3F0E9;padding:24px;border-radius:18px;}
@media (max-width:600px){.fi-catalog-plugin{padding:14px;border-radius:14px;}}
