/* ===== Core (shared) ===== */
.amg-grid{ display:grid; gap:var(--amg-gap,28px); grid-template-columns:repeat(var(--amg-max-cols,3), minmax(0,1fr)); }
@media (max-width:992px){ .amg-grid{ grid-template-columns:repeat(var(--amg-max-cols-md,2), minmax(0,1fr)); } }
@media (max-width:640px){ .amg-grid{ grid-template-columns:repeat(var(--amg-max-cols-sm,1), minmax(0,1fr)); } }

.amg-item{ will-change:transform,opacity; grid-column:span var(--w-span,1); }
.amg-imgwrap{ display:block; overflow:hidden; border-radius:var(--amg-radius,12px); }
.amg-img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ===== Masonry ===== */
.amg-grid[data-amg-mode="masonry"]{ grid-auto-rows:var(--amg-row,12px); }
.amg-grid[data-amg-mode="masonry"] .span-full{ grid-column:1 / -1; }

/* ===== Clean Grid ===== */
/* Natural aspect ON (default) */
.amg-grid[data-amg-mode="grid"][data-amg-grid-natural="1"] .amg-imgwrap{ aspect-ratio:auto !important; }
.amg-grid[data-amg-mode="grid"][data-amg-grid-natural="1"] .amg-img{ height:auto !important; }
/* Fixed aspect mode (optional) */
.amg-grid[data-amg-mode="grid"][data-amg-grid-natural="0"] .amg-imgwrap{ aspect-ratio: var(--amg-item-ratio, var(--amg-grid-ratio,3/4)); }
.amg-grid[data-amg-mode="grid"] .amg-img{ object-position: var(--amg-grid-focus, center); }

/* ===== Justified Grid ===== */
.amg-grid[data-amg-mode="justified"]{ display:block; }
.amg-grid[data-amg-mode="justified"] .amg-row{ display:flex; gap:var(--amg-gap,28px); }
.amg-grid[data-amg-mode="justified"] .amg-row + .amg-row{ margin-top:var(--amg-gap,28px); }
.amg-grid[data-amg-mode="justified"] .amg-item{ grid-column:auto; }
.amg-grid[data-amg-mode="justified"] .amg-imgwrap{ width:100%; height:100%; }

/* Reveal (CSS fallback) */
.amg-item.amg-hide{ opacity:0; transform:translateY(22px); visibility:visible !important; }
.amg-item.amg-in{ opacity:1; transform:translateY(0);
  transition-property:opacity,transform !important;
  transition-duration:var(--amg-reveal-duration,.6s) !important;
  transition-timing-function:var(--amg-reveal-ease,ease-out) !important;
}

/* Lightbox */
.amg-lightbox{ position:fixed; inset:0; background:rgba(0,0,0,.72); display:none; align-items:center; justify-content:center; z-index:9999; }
.amg-lightbox.is-open{ display:flex; }
.amg-lightbox .amg-lightbox-img{ max-width:min(92vw,1600px); max-height:90vh; width:auto; height:auto; }
.amg-lightbox .amg-caption{ color:#fff; margin-top:12px; text-align:center; font-size:14px; opacity:.9; }
.amg-lightbox .amg-close,.amg-lightbox .amg-prev,.amg-lightbox .amg-next{
  position:absolute; top:50%; transform:translateY(-50%); background:transparent; color:#fff; border:0; font-size:30px; line-height:1; cursor:pointer; padding:10px 14px;
}
.amg-lightbox .amg-close{ top:20px; right:16px; transform:none; font-size:34px; }
.amg-lightbox .amg-prev{ left:12px; } .amg-lightbox .amg-next{ right:12px; }

/* Bricks-safe */
.amg-grid .amg-item, .amg-grid .amg-img, .amg-grid .amg-link, .amg-grid .amg-imgwrap{
  animation:none !important; transition-property:opacity,transform !important;
}