.catalog{ padding-top:140px; max-width:1400px; margin:0 auto; }

.catalog-hero{
  padding:0 clamp(20px,5vw,64px) 30px;
}

.catalog-hero h1{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(36px,6vw,64px);
  margin-bottom:28px;
}

.filters{ display:flex; gap:10px; flex-wrap:wrap; }

.filter{
  font-family:var(--font-body); font-weight:600; font-size:14px;
  padding:10px 20px; border-radius:999px;
  background:var(--surface); border:1px solid var(--line); color:var(--muted);
  cursor:pointer; transition:all .25s ease;
}
.filter:hover{ color:var(--text); }
.filter.active{ background:var(--accent); color:#0c1406; border-color:transparent; }

.product-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:22px;
  padding:20px clamp(20px,5vw,64px) 100px;
}

.product-card{
  position:relative;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:22px;
  padding:22px;
  display:flex; flex-direction:column;
  transition:transform .35s cubic-bezier(.16,1,.3,1), border-color .3s ease;
}
.product-card:hover{ transform:translateY(-6px); border-color:rgba(255,255,255,.2); }

.product-card__brand{
  font-family:var(--font-display); font-size:11.5px; font-weight:600;
  letter-spacing:.1em; color:var(--muted);
  margin-bottom:10px;
}

.product-card__art{
  aspect-ratio:1/1.05;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle, rgba(255,255,255,.05), transparent 70%);
  border-radius:16px;
  margin-bottom:16px;
}
.product-card__art .bottle{ width:52%; }

.product-card h3{
  font-family:var(--font-display); font-weight:600; font-size:17px;
  margin-bottom:10px;
}

.product-card__meta{
  display:flex; gap:10px; margin-bottom:16px;
}
.product-card__meta span{
  font-size:12.5px; color:var(--muted);
  border:1px solid var(--line); border-radius:999px; padding:4px 10px;
}

.product-card__row{
  margin-top:auto;
  display:flex; align-items:center; justify-content:space-between;
}
.product-card__row strong{ font-family:var(--font-display); font-size:17px; }

.btn-add{
  font-family:var(--font-body); font-weight:700; font-size:13px;
  padding:9px 16px; border-radius:999px;
  background:var(--surface); border:1px solid var(--line); color:var(--text);
  cursor:pointer; transition:all .25s ease;
}
.btn-add:hover{ background:var(--accent); border-color:var(--accent); color:#0c1406; }

.product-card.is-hidden{ display:none; }

@media (max-width:860px){
  .nav__menu{ display:none; }
}
