/* Ingrandimento foto prodotti e catalogo — 13 ottobre 2026 */
.zoomable-product-photo{cursor:default;transition:transform .25s ease,filter .25s ease}
.catalog-visual.product-photo-card:hover .zoomable-product-photo{transform:scale(1.025)}
.door-catalog-product .zoomable-product-photo:hover{transform:scale(1.025)}
.door-catalog-portoni-card .zoomable-product-photo:hover{transform:scale(1.025)}
.gallery-work-item .zoomable-product-photo:hover{transform:scale(1.025)}
.zoomable-product-photo:focus-visible{outline:3px solid #bb9647;outline-offset:-3px}
body.product-lightbox-open{overflow:hidden}
.product-lightbox[hidden]{display:none!important}
.product-lightbox{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:clamp(12px,2.8vw,40px);background:rgba(9,10,12,.94);box-sizing:border-box}
.product-lightbox__dialog{position:relative;width:100%;max-width:1280px;max-height:96vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;box-sizing:border-box}
.product-lightbox__image{max-width:100%;width:auto;height:auto;max-height:calc(100vh - 156px);object-fit:contain;box-shadow:0 18px 60px rgba(0,0,0,.42);border-radius:3px}
.product-lightbox__caption{color:#fff;font:italic 19px/1.35 Georgia,'Times New Roman',serif;text-align:center;max-width:100%;margin:0;padding:0 12px;overflow-wrap:anywhere}
/* Pulsante di chiusura sempre visibile, facile da utilizzare anche su touchscreen. */
.product-lightbox__close{
  position:fixed;
  top:max(18px,env(safe-area-inset-top));
  right:max(18px,env(safe-area-inset-right));
  z-index:3;
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  padding:0;
  border:2px solid rgba(255,255,255,.96);
  border-radius:50%;
  background:#fff;
  color:#20201d;
  font:normal 38px/1 Arial,Helvetica,sans-serif;
  box-shadow:0 5px 26px rgba(0,0,0,.42);
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.product-lightbox__close:hover{
  background:#b99a56;
  color:#111;
  transform:scale(1.06);
  box-shadow:0 8px 30px rgba(0,0,0,.5);
}
.product-lightbox__close:focus-visible{
  outline:3px solid #d9bb78;
  outline-offset:4px;
}
.product-lightbox__close:active{transform:scale(.96)}
@media(max-width:600px){
  .product-lightbox__close{
    width:50px;
    height:50px;
    font-size:35px;
    top:max(12px,env(safe-area-inset-top));
    right:max(12px,env(safe-area-inset-right));
  }
}
@media(prefers-reduced-motion:reduce){.product-lightbox__close{transition:none}}
@media(max-width:600px){.product-lightbox{padding:10px}.product-lightbox__dialog{gap:10px}.product-lightbox__image{max-height:calc(100vh - 145px)}.product-lightbox__caption{font-size:16px}}
@media(prefers-reduced-motion:reduce){.zoomable-product-photo{transition:none}}
