/* One category showcase shared by the home and shop. */
.vz-shop-showcase { width:90%; margin:0 auto; padding:60px 0 70px; }
.vz-showcase-intro { text-align:center; margin-bottom:60px; }
.vz-showcase-intro h2 { font:400 42px/1.2 "Abril Fatface",serif; color:#32373c; padding:0; margin:0 0 24px; }
.vz-decor-line { display:block; width:50px; height:1px; background:#bb9975; margin:0 auto 18px; }
.vz-showcase-intro p { font:italic 18px/1.6 Georgia,serif; color:#5a5a5a; max-width:650px; margin:auto; }
.vz-family-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:22px; }
.vz-family-card { display:block; position:relative; flex:0 1 calc((100% - 88px)/5); min-width:0; height:400px; border-radius:6px; overflow:hidden; background:#2a0c0e; }
.vz-family-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(42,12,14,.1),rgba(42,12,14,.85)); pointer-events:none; }
.vz-family-card .vz-family-image { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.vz-family-card:hover .vz-family-image { transform:scale(1.08); }
.vz-family-content { position:absolute; z-index:1; bottom:0; left:0; right:0; padding:30px 26px; color:#f6eee0; }
.vz-family-tag { display:block; font:400 14px/1.5 "Decimal Mono Pro",monospace; letter-spacing:2px; color:#bfa588; margin-bottom:10px; text-transform:uppercase; }
.vz-family-content h3 { font:400 32px/1.25 "Abril Fatface",serif; color:#f6eee0; margin:0 0 14px; padding:0; }
.vz-family-action { display:inline-flex; gap:8px; font:400 14px/1.5 "Decimal Mono Pro",monospace; color:#f6eee0; padding:8px 0; border-bottom:1px solid #bb9975; }
.vz-family-card:focus-visible { outline:3px solid #8c2b3f; outline-offset:4px; }

@media(min-width:1600px) { .vz-family-content h3 { font-size:clamp(26px,1.6vw,32px); } }
@media(max-width:1599px) { .vz-family-card { flex-basis:calc((100% - 44px)/3); } }
@media(max-width:980px) { .vz-family-grid { gap:18px; } .vz-family-card { flex-basis:calc((100% - 18px)/2); height:340px; } .vz-family-content { padding:24px 18px; } }
@media(max-width:600px) { .vz-shop-showcase { padding:40px 0; } .vz-family-card { flex-basis:100%; height:300px; } .vz-showcase-intro h2 { font-size:34px; } }
@media(prefers-reduced-motion:reduce) { .vz-family-card .vz-family-image { transition:none; } }
