
/* Shared */
.foldergallery{--fg-thumb-w:320px;--fg-gap-h:8px;--fg-gap-v:8px}
.fg-error,.fg-empty{padding:.5rem .75rem;background:#fee;border:1px solid #fbb;border-radius:6px;color:#900}

/* Grid mode */
.foldergallery.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--fg-thumb-w),1fr));gap:var(--fg-gap-v) var(--fg-gap-h);align-items:start}
.foldergallery.grid .fg-item{position:relative;display:block;overflow:hidden;border-radius:8px}
.foldergallery.grid .fg-item img{width:100%;height:var(--fg-thumb-h,200px);object-fit:cover;display:block;transition:transform .25s ease}
.foldergallery.grid .fg-item:hover img{transform:scale(1.03)}

/* Masonry mode */
.foldergallery.masonry{column-gap:var(--fg-gap-h)}
.foldergallery.masonry .fg-item{display:inline-block;margin:0 0 var(--fg-gap-v);width:var(--fg-thumb-w);break-inside:avoid;border-radius:8px;overflow:hidden;vertical-align:top}
.foldergallery.masonry .fg-item img{width:100%;height:auto;display:block;transition:transform .25s ease}
.foldergallery.masonry .fg-item:hover img{transform:scale(1.02)}

/* Lightbox (kept from v1.2.0) */
.fg-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center}
.fg-lightbox[aria-hidden="false"]{display:flex}
.fg-lightbox__figure{max-width:96vw;max-height:92vh;margin:0;position:relative}
.fg-lightbox__img{max-width:96vw;max-height:92vh;display:block;border-radius:8px}
.fg-lightbox__caption{color:#fff;text-align:center;margin-top:.5rem;font-size:.95rem;opacity:.85}
.fg-lightbox__close,.fg-lightbox__prev,.fg-lightbox__next{
  position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:0;
  width:44px;height:44px;border-radius:999px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:20px;line-height:1;user-select:none
}
.fg-lightbox__close{top:16px;right:16px;transform:none}
.fg-lightbox__prev{left:16px}
.fg-lightbox__next{right:16px}
.fg-lightbox__close:hover,.fg-lightbox__prev:hover,.fg-lightbox__next:hover{background:rgba(255,255,255,.2)}
.fg-lightbox__counter{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:#fff;opacity:.8;font-size:.9rem}
@media (max-width: 640px){
  .fg-lightbox__prev{left:6px}.fg-lightbox__next{right:6px}.fg-lightbox__close{right:6px}
}

/* v1.2.2: Always-visible < > nav buttons */
.fg-lightbox__prev,.fg-lightbox__next{
  opacity:0.9;
  box-shadow:0 6px 20px rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.25);
  font-weight:700;
}
.fg-lightbox__prev:hover,.fg-lightbox__next:hover{opacity:1}
.fg-lightbox__prev:active,.fg-lightbox__next:active{transform:translateY(-50%) scale(.98)}
/* Slightly larger targets on touch */
@media (hover:none){
  .fg-lightbox__prev,.fg-lightbox__next{width:54px;height:54px;font-size:26px}
}

/* v1.2.3: fixed-position, simple white nav/close buttons */
.fg-lightbox__prev,.fg-lightbox__next,.fg-lightbox__close{
  position:fixed !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  color:#fff !important;
  width:auto !important; height:auto !important;
  padding:8px 12px; font-size:28px; font-weight:800;
  opacity:.9
}
.fg-lightbox__prev{top:50%;left:24px;transform:translateY(-50%) !important}
.fg-lightbox__next{top:50%;right:24px;transform:translateY(-50%) !important}
.fg-lightbox__close{top:24px;right:24px;transform:none !important;font-size:26px}
.fg-lightbox__prev:hover,.fg-lightbox__next:hover,.fg-lightbox__close:hover{opacity:1}
@media (max-width: 640px){
  .fg-lightbox__prev{left:10px}.fg-lightbox__next{right:10px}.fg-lightbox__close{right:10px}
}

/* Perceived smoother image reveal to reduce jank */
.foldergallery.masonry .fg-item img{opacity:0;transition:opacity .25s ease}
.foldergallery.masonry .fg-item img.is-ready{opacity:1}

/* Minor: ensure masonry items don't shift due to focus/outline */
.foldergallery .fg-item:focus{outline:2px solid rgba(255,255,255,.3);outline-offset:2px}
