.gfm-gallery{display:grid;grid-template-columns:repeat(var(--gfm-cols,4),1fr);gap:8px;margin:1.5em 0}
@media (max-width:900px){.gfm-gallery{grid-template-columns:repeat(min(var(--gfm-cols,4),3),1fr)}}
@media (max-width:560px){.gfm-gallery{grid-template-columns:repeat(2,1fr)}}

.gfm-item{display:block;position:relative;width:100%;padding:0;margin:0;border:0;border-radius:0;background:#111;overflow:hidden;cursor:zoom-in;aspect-ratio:var(--gfm-ratio,3/2)}
.gfm-thumb{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .35s ease}
.gfm-item:hover .gfm-thumb,.gfm-item:focus-visible .gfm-thumb{transform:scale(1.04)}
.gfm-item:focus-visible{outline:3px solid currentColor;outline-offset:2px}

/* Lightbox a schermo intero */
.gfm-lightbox{position:fixed;inset:0;z-index:999999;background:#000;color:#fff;display:none}
.gfm-lightbox.is-open{display:block}
.gfm-stage{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:0;transition:opacity .25s ease}
.gfm-stage.is-ready{opacity:1}
.gfm-shield{position:absolute;inset:0;z-index:1;touch-action:none;cursor:zoom-in}
.gfm-lightbox.is-zoomed .gfm-shield{cursor:grab}
.gfm-lightbox.is-zoomed .gfm-shield:active{cursor:grabbing}
.gfm-btn{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.gfm-btn:hover,.gfm-btn:focus-visible{background:rgba(255,255,255,.32);outline:none}
.gfm-prev{left:16px;top:50%;margin-top:-24px}
.gfm-next{right:16px;top:50%;margin-top:-24px}
.gfm-close{top:16px;right:16px}
.gfm-fs{top:16px;right:76px;font-size:20px}
.gfm-dl{top:16px;right:136px;font-size:22px;text-decoration:none}
.gfm-zin,.gfm-zout{bottom:20px;font-size:28px}
.gfm-zout{left:calc(50% - 54px)}
.gfm-zin{left:calc(50% + 6px)}
.gfm-count{position:absolute;z-index:2;top:30px;left:20px;font:14px/1 system-ui,sans-serif;opacity:.8}
html.gfm-lock,html.gfm-lock body{overflow:hidden}
@media (max-width:560px){.gfm-prev{left:8px}.gfm-next{right:8px}.gfm-btn{width:42px;height:42px}.gfm-fs{right:66px}.gfm-dl{right:116px}.gfm-zout{left:calc(50% - 48px)}.gfm-zin{left:calc(50% + 6px)}}

/* Protezione per gli utenti guest */
.gfm-protect,.gfm-protect *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
@media print{.gfm-protect{display:none!important}}

.gfm-private{padding:1em;border:1px solid currentColor;text-align:center}
