/* ZEFFIRO 4.55 — instant categories, fast catalog cards, no white photo mat */
html body main[data-page="home"] #categories.quick-sections {display:block!important;visibility:visible!important;opacity:1!important;content-visibility:visible!important;}
html body main[data-page="home"] #categories.quick-sections .quick-sections-track {
  display:flex!important;gap:13px!important;flex-wrap:nowrap!important;overflow-x:auto!important;
  overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;
  animation:none!important;transform:none!important;transition:none!important;will-change:auto!important;
  scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;
}
html body main[data-page="home"] #categories .quick-sections-track::-webkit-scrollbar{display:none!important}
html body main[data-page="home"] #categories .quick-section-link{scroll-snap-align:start!important;}
html body main[data-page="home"] #categories .zeffiro-rail-controls{z-index:4!important;pointer-events:auto!important}
/* Media cards should be photo-only: no inset/padding, no synthetic white panel.
   A white backdrop baked into a supplier's JPG cannot be erased with CSS. */
html body main[data-page="catalog"] #productGrid .product-card .product-image,
html body main[data-page="home"] .home-product-grid .product-card .product-image{
  padding:0!important;margin:0!important;background:transparent!important;background-image:none!important;
  border:0!important;box-shadow:none!important;overflow:hidden!important;
}
html body main[data-page="catalog"] #productGrid .product-card .product-image>img.product-photo-main,
html body main[data-page="home"] .home-product-grid .product-card .product-image>img.product-photo-main{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  padding:0!important;margin:0!important;border:0!important;background:transparent!important;
  object-fit:contain!important;object-position:center!important;transform:none!important;
}
html body .product-image.has-gallery::after{display:none!important}
html body main[data-page="home"] section.zf-showcase .zf-showcase-copy h2{
  line-height:1.2!important;overflow:visible!important;max-height:none!important;
  padding-block:4px!important;text-wrap:balance!important;
}
html body main[data-page="home"] section.zf-showcase .zf-showcase-copy p,
html body main[data-page="home"] section.zf-showcase .zf-showcase-kicker{overflow:visible!important;max-height:none!important;line-height:1.45!important}
.zf455-skeleton{border:1px solid rgba(80,190,167,.15);background:rgba(80,180,160,.065);border-radius:18px;padding:12px;min-height:330px;}
.zf455-skeleton div{height:175px;background:linear-gradient(110deg,rgba(82,205,184,.09),rgba(82,205,184,.2),rgba(82,205,184,.09));background-size:200% 100%;border-radius:12px;animation:zf455-pulse 1.5s ease-in-out infinite}
.zf455-skeleton span{display:block;width:85%;height:18px;border-radius:6px;background:rgba(82,205,184,.1);margin-top:18px}
.zf455-skeleton span:last-child{width:50%;margin-top:12px}
@keyframes zf455-pulse{to{background-position-x:-200%}}
@media (prefers-reduced-motion:reduce){.zf455-skeleton div{animation:none}}

.zf455-catalog-error{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:rgba(82,205,184,.07);border:1px solid rgba(82,205,184,.3);border-radius:17px;padding:28px;min-height:175px}
.zf455-catalog-error strong{font-size:20px}
.zf455-catalog-error p{max-width:650px;line-height:1.55}
.zf455-catalog-error button{cursor:pointer;padding:12px 22px;background:#52cdb8;border:0;color:#052e29;border-radius:12px;font-weight:800}
