.catalog-hero { padding-block: clamp(3rem,7vw,6rem); border-bottom: 2px solid var(--gold); }
.catalog-hero h1 { font-size:clamp(3rem,7vw,6rem); max-width:16ch; margin-bottom:1.5rem; }
.catalog-hero .lead { max-width:48rem; color:var(--muted-on-dark); }
.catalog-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:end; padding-bottom:2rem; border-bottom:1px solid var(--line-control); }
.catalog-filters .field { font-size:var(--text-sm); }
.result-count { padding-block:1.5rem; color:var(--muted); }
.product-card__media { display:block; }
.product-card__title a { text-decoration:none; }
.product-card__title a:hover { text-decoration:underline; }
.product-card--sold .product-card__media img { filter:grayscale(1); opacity:0.65; }
.empty-results { padding:3rem 0; max-width:45rem; }
.empty-results h2 { margin-bottom:1.5rem; }
.catalog-grid .product-card { opacity:1!important; transform:none!important; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:0.6rem; padding-block:1.5rem; font-size:var(--text-sm); }
.breadcrumbs span:last-child { color:var(--muted); }
.product-layout { display:grid; gap:2.5rem; padding-block:1rem 4rem; align-items:start; }
.product-information { min-width:0; }
.product-information h1 { font-size:clamp(2.5rem,5vw,4.8rem); }
.product-information .lead { margin-block:1.5rem; font-size:1.05rem; }
.product-information .button { width:100%; }
.product-subtitle { margin-block:0.6rem 1rem; font-size:1.2rem; color:var(--muted); }
.specifications { width:100%; border-collapse:collapse; margin-block:1.5rem; font-size:var(--text-sm); }
.specifications th,.specifications td { padding:0.7rem 0; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.specifications th { width:34%; padding-right:1rem; }
.gallery-stage { background:var(--sand); }
.gallery-slide picture,.gallery-slide img { display:block; width:100%; }
.gallery-slide img { aspect-ratio:4/5; object-fit:contain; }
.gallery-slide a { display:block; cursor:zoom-in; }
.gallery-controls { display:flex; flex-wrap:wrap; gap:0.5rem; align-items:center; margin-top:1rem; }
.gallery-controls span { padding-inline:0.3rem; }
.gallery-controls .button { padding-inline:0.85rem; }
.lightbox { width:96vw; max-width:90rem; height:94dvh; max-height:94dvh; border:0; padding:1rem; color:var(--cream); background:var(--ink); }
.lightbox::backdrop { background:#000d; }
.lightbox-toolbar { display:flex; flex-wrap:wrap; gap:0.6rem; padding-bottom:1rem; }
.lightbox-viewport { height:calc(100% - 6rem); overflow:auto; touch-action:pan-y; }
.lightbox-viewport img { width:100%; height:100%; object-fit:contain; max-width:none; }
.lightbox.is-zoomed .lightbox-viewport img { width:200%; height:200%; object-fit:contain; }
.lightbox.is-zoomed .lightbox-viewport { touch-action:pan-x pan-y; }
body.lightbox-open { overflow:hidden; }
.fit-block { padding:2rem; background:var(--sand); }
.fit-block h2 { font-size:2.3rem; }
.fit-block p { max-width:48rem; margin-block:1rem; }
.product-pagination { display:flex; justify-content:space-between; gap:1rem; padding-top:3rem; flex-wrap:wrap; font-size:var(--text-sm); }
.product-pagination a { min-width:0; max-width:45%; padding-block:0.5rem; }
.product-pagination span { display:block; color:var(--muted); }
.related-heading { margin-bottom:2rem; }
@media(min-width:64rem){.catalog-filters{grid-template-columns:repeat(6,minmax(0,1fr));}.product-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:4rem;}.product-gallery{position:sticky;top:7rem;}}
@media(prefers-reduced-motion:no-preference){[data-effects="on"] .catalog-grid.is-filtering{animation:filter-in 220ms ease-out;}@keyframes filter-in{from{opacity:0.6;transform:translateY(5px)}to{opacity:1;transform:none}}}

/* Alleen de filters inklapbaar; sortering en teller blijven bereikbaar. */
.filter-panel { grid-column:1/-1; order:3; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:end; }
.catalog-sort { order:2; min-width:0; }
.filter-toggle { order:1; min-height:44px; }
.filter-reset { grid-column:1/-1; }
@media(min-width:64rem){
 .filter-panel { display:contents; }
 .catalog-sort { order:5; }
 .filter-reset { grid-column:auto; order:6; }
 .filter-toggle { display:none; }
}
