/* Livibi Interiors -- page-specific styles for portfolio.html (filterable gallery). */

.filter-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:36px;}
.filter-btn{background:#fff;border:1.5px solid var(--line);color:var(--ink);font-family:inherit;font-size:13px;font-weight:700;padding:10px 20px;border-radius:100px;cursor:pointer;transition:.2s;}
.filter-btn:hover{border-color:var(--accent);}
.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;}

.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.portfolio-item{border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 6px 24px rgba(63,47,38,.06);}
.portfolio-item.is-hidden{display:none;}
.portfolio-img{height:240px;}
.portfolio-img img{width:100%;height:100%;object-fit:cover;}
.portfolio-body{padding:16px 18px;}
.portfolio-body .cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);display:block;margin-bottom:4px;}
.portfolio-body p{font-size:13px;color:var(--ink-soft);}

.gap-note{max-width:760px;margin:36px auto 0;text-align:center;font-size:14px;color:var(--ink-soft);background:#fff;border-radius:16px;padding:20px 26px;}

@media(max-width:980px){
  .portfolio-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .portfolio-grid{grid-template-columns:1fr;}
}
