.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:28px}
.search{flex:1;min-width:240px;display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:12px 18px}
.search input{border:none;background:none;outline:none;font-size:1rem;width:100%;color:var(--ink)}
.select,.chiptog{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:11px 16px;font-weight:500;font-size:.9rem;color:var(--ink)}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.chip{padding:8px 15px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-size:.84rem;font-weight:500;color:var(--ink-soft);transition:.2s}
.chip:hover{border-color:var(--gold)}
.chip.on{background:var(--green);color:#fff;border-color:var(--green)}
.flabel{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;align-self:center;margin-right:2px}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.grid.masonry{grid-template-columns:repeat(4,1fr);grid-auto-rows:10px}
@media(max-width:1080px){.grid,.grid.masonry{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.grid,.grid.masonry{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:460px){.grid,.grid.masonry{grid-template-columns:1fr}}
.card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:box-shadow .35s, transform .2s;transform-style:preserve-3d;will-change:transform;cursor:pointer}
.card:hover{box-shadow:var(--shadow)}
.card .fig{position:relative;aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center}
.card .fig .bg{position:absolute;inset:0}
.card .fig svg.mg{width:62%;transition:transform .5s cubic-bezier(.2,.7,.2,1);transform:translateZ(40px)}
.card:hover .fig svg.mg{transform:translateZ(60px) scale(1.08) rotate(-3deg)}
.card .fig .card-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card:hover .fig .card-photo{transform:scale(1.06)}
.card .gi{position:absolute;top:12px;left:12px;background:rgba(27,27,27,.78);color:#fff;font-size:.64rem;font-weight:700;letter-spacing:.12em;padding:5px 10px;border-radius:999px;backdrop-filter:blur(4px)}
.card .body{padding:18px 18px 20px}
.card h3{font-size:1.32rem}
.card .dist{font-size:.8rem;color:var(--saffron);font-weight:600;margin-top:3px;display:flex;align-items:center;gap:5px}
.card .desc{font-size:.86rem;color:var(--ink-soft);margin-top:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}
.tag{font-size:.68rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--cream-2);color:#7a5a12}
.empty{grid-column:1/-1;text-align:center;padding:50px;color:var(--ink-soft)}
