.page-head { padding-block: var(--space-lg) var(--space-md); }
.filter-bar { display:flex; flex-wrap:wrap; gap:0.6rem; margin-block: 1rem 2rem; }
.filter-btn { border:1px solid var(--color-border-strong); border-radius: var(--radius-pill); padding: 0.5rem 1rem; background: transparent; }
.filter-btn.active { background: var(--color-accent); color:#fff; border-color: var(--color-accent); }
.product-grid { display:grid; gap: 2rem; }
.product-card .image-wrap { overflow:hidden; }
.product-card img { width:100%; height:300px; object-fit:cover; transition: transform var(--duration-base) var(--ease-out); }
.product-card:hover img { transform: scale(1.05); }
.product-info { padding:1.5rem; }
.product-info h3 { font-family:"Cormorant Garamond", serif; font-size: 22px; }
.meta-badges { display:flex; gap:0.5rem; margin: 0.8rem 0 1rem; flex-wrap:wrap; }
.meta-badges span { background: var(--color-surface-alt); padding: 0.28rem 0.6rem; border-radius: var(--radius-pill); font-size: var(--text-xs); }
.product-card.hide { opacity:0; pointer-events:none; transform: scale(0.98); display:none; }
.modal-backdrop { position:fixed; inset:0; background: rgba(0,0,0,0.68); display:none; z-index: 1200; padding: 1rem; }
.modal-backdrop.open { display:grid; place-items:center; }
.modal { background:#fff; width:min(900px,100%); border-radius: var(--radius-xl); overflow:hidden; display:grid; gap: 0; }
.modal-content { display:grid; }
.modal-media img { width:100%; height:100%; object-fit:cover; min-height: 300px; }
.modal-info { padding:1.5rem; }
.modal-close { position:absolute; right: 2rem; top: 2rem; background:#fff; border-radius:50%; width:2.2rem; height:2.2rem; border:0; }
@media (min-width: 768px) { .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 1024px) { .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .modal-content { grid-template-columns: 1fr 1fr; } }
