.mg-436{
  --mg-cols:4;--mg-gap:14px;--mg-radius:0px;--mg-accent:#9c7c70;--mg-placeholder:#1a1a1a;
  --mg-hover-bw:0px;--mg-hover-bc:#9c7c70;
  column-count:var(--mg-cols);column-gap:var(--mg-gap);width:100%;
}
.mg-436-empty{padding:30px;text-align:center;border:1px dashed #888;color:#888}
.mg-436 .mg-436-item{
  display:block;position:relative;width:100%;margin:0 0 var(--mg-gap);padding:0;border:0;
  box-sizing:border-box;break-inside:avoid;overflow:hidden;cursor:pointer;outline:0;
  background:var(--mg-placeholder);border-radius:var(--mg-radius);
  -webkit-tap-highlight-color:transparent;
}
.mg-436 .mg-436-item img{
  display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;cursor:pointer;
  opacity:0;transform:scale(1.04);
  transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1);
}
.mg-436 .mg-436-item.is-loaded img{opacity:1;transform:scale(1)}
.mg-436 .mg-436-item::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;
  box-sizing:border-box;border-radius:inherit;
  border:var(--mg-hover-bw) solid var(--mg-hover-bc);
  background:linear-gradient(to top,rgba(0,0,0,.45),transparent 55%);
}
.mg-436.mg-436--no-overlay .mg-436-item::after{background:none}
.mg-436 .mg-436-item:hover::after{opacity:1}
.mg-436:not(.mg-436--no-zoom) .mg-436-item.is-loaded:hover img{transform:scale(1.04)}
/* anello di focus solo per chi naviga da tastiera */
.mg-436 .mg-436-item:focus-visible{outline:2px solid var(--mg-accent);outline-offset:2px}
.mg-436 .mg-436-item:not(.is-loaded)::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.06) 50%,transparent 70%);
  background-size:200% 100%;animation:mg436-shimmer 1.4s infinite linear;
}
@keyframes mg436-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* Lightbox (fuori dal widget, appesa al body) */
.mg-436-lb{
  --mg-accent:#9c7c70;
  position:fixed;inset:0;z-index:999999;display:none;background:rgba(0,0,0,.93);
  opacity:0;transition:opacity .25s;touch-action:pan-y;
}
.mg-436-lb.is-open{display:block}
.mg-436-lb.is-visible{opacity:1}
.mg-436-lb__stage{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:56px 64px}
.mg-436-lb__img{
  max-width:100%;max-height:100%;object-fit:contain;border-radius:3px;
  box-shadow:0 10px 50px rgba(0,0,0,.6);opacity:0;transition:opacity .25s;
  user-select:none;-webkit-user-drag:none;
}
.mg-436-lb__img.is-ready{opacity:1}
.mg-436-lb__spin{
  position:absolute;top:50%;left:50%;width:36px;height:36px;margin:-18px 0 0 -18px;display:none;
  border:2px solid rgba(255,255,255,.2);border-top-color:var(--mg-accent);border-radius:50%;
  animation:mg436-spin .8s linear infinite;
}
.mg-436-lb.is-loading .mg-436-lb__spin{display:block}
@keyframes mg436-spin{to{transform:rotate(360deg)}}
/* z-index sopra lo stage: altrimenti lo stage intercetta i click e chiude il lightbox */
.mg-436-lb .mg-436-lb__btn{
  position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;min-width:0;padding:0;margin:0;border:0 !important;border-radius:50% !important;
  cursor:pointer;box-shadow:none !important;text-shadow:none;
  background:rgba(255,255,255,.08) !important;color:#fff !important;transition:background .2s;
  -webkit-tap-highlight-color:transparent;
}
.mg-436-lb .mg-436-lb__btn:hover,.mg-436-lb .mg-436-lb__btn:focus-visible{background:var(--mg-accent) !important;outline:none;color:#fff !important}
.mg-436-lb__btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mg-436-lb .mg-436-lb__close{top:14px;right:14px}
.mg-436-lb .mg-436-lb__prev{left:14px;top:50%;margin-top:-23px}
.mg-436-lb .mg-436-lb__next{right:14px;top:50%;margin-top:-23px}
.mg-436-lb__bar{
  position:absolute;z-index:2;left:0;right:0;bottom:0;padding:14px 20px;text-align:center;pointer-events:none;
  color:#ddd;font-size:15px;line-height:1.4;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);
}
.mg-436-lb__count{position:absolute;z-index:2;top:24px;left:20px;color:#bbb;font-size:14px;letter-spacing:.08em}
@media (max-width:767px){
  .mg-436-lb__stage{padding:60px 8px 56px}
  .mg-436-lb .mg-436-lb__prev,.mg-436-lb .mg-436-lb__next{top:auto;bottom:10px;margin:0}
  .mg-436-lb .mg-436-lb__prev{left:10px}.mg-436-lb .mg-436-lb__next{right:10px}
  .mg-436-lb__bar{padding-bottom:20px}
}
body.mg-436-lock{overflow:hidden}
@media (prefers-reduced-motion:reduce){
  .mg-436 .mg-436-item img,.mg-436-lb,.mg-436-lb__img{transition:none}
  .mg-436 .mg-436-item:not(.is-loaded)::before{animation:none}
}
