.gallery-wrap { width:88%; max-width:1600px; margin:auto; }
/* Light showroom banner shares the site-wide black/red heading system. */
.company-gallery-page .inner-banner { position:relative; isolation:isolate; }
.company-gallery-page .inner-banner::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(250,247,241,.82),rgba(250,247,241,.45) 25%,transparent 48%); z-index:-1; }
.gallery-categories { display:flex; justify-content:center; gap:12px; padding:44px 0 38px; }
.gallery-categories a { color:#666; border:1px solid transparent; border-radius:3px; padding:15px 26px; text-align:center; font-size:15px; }
.gallery-categories a:hover,.gallery-categories .is-active { border-color:var(--gd-accent, #bc5635); color:var(--gd-accent, #bc5635); }
.gallery-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:24px; }
.gallery-heading h2 { font:28px/1.2 pn-b,sans-serif; color:#333; margin:0; }.gallery-heading>span { color:#999; font-size:13px; }
.company-photo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 24px; }
.company-gallery-card { display:block; min-width:0; color:#333; }
.company-gallery-image { position:relative; overflow:hidden; background:#f5f5f5; }
.company-gallery-image img { width:100%; height:auto; aspect-ratio:4/3; display:block; object-fit:contain; transition:transform .3s; }
.company-gallery-zoom { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:44px; height:44px; display:grid; place-items:center; color:#fff; background:var(--gd-accent, #bc5635); border-radius:50%; font:28px/1 sans-serif; opacity:0; transition:opacity .2s; }
.company-gallery-card:hover img { transform:scale(1.025); }.company-gallery-card:hover .company-gallery-zoom,.company-gallery-card:focus-visible .company-gallery-zoom { opacity:1; }
.company-gallery-card h3 { color:#555; font:17px/1.4 pn-r,sans-serif; margin:17px 0 0; text-align:center; }.company-gallery-card:hover h3 { color:var(--gd-accent, #bc5635); }
.gallery-pagination { padding:35px 0 65px; }.gallery-pagination .nyfybox { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; }
.gallery-pagination .nyfybox a { display:grid; place-items:center; min-width:42px; height:42px; padding:0 13px; border:1px solid #ddd; color:#777; background:#fff; margin:0; }
.gallery-pagination .nyfybox a.on,.gallery-pagination .nyfybox a:hover { background:var(--gd-accent, #bc5635); border-color:var(--gd-accent, #bc5635); color:#fff; }
.company-gallery-page a:focus-visible { outline:2px solid var(--gd-accent, #bc5635); outline-offset:4px; }
.gallery-empty { text-align:center; padding:80px 0; color:#888; }
@media(max-width:1000px) { .gallery-categories a { padding:14px 17px; font-size:14px; }.company-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px 18px; } }
@media(max-width:700px) { .gallery-wrap { width:90%; }.gallery-categories { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:28px 0; }.gallery-categories a { border-color:#eee; font-size:13px; padding:13px 8px; }.gallery-categories .is-active { border-color:var(--gd-accent, #bc5635); }.gallery-heading h2 { font-size:24px; }.company-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 14px; }.company-gallery-card h3 { font-size:14px; margin-top:12px; }.gallery-pagination { padding-bottom:40px; } }
@media(prefers-reduced-motion:reduce) { .company-gallery-image img,.company-gallery-zoom { transition:none; } }
