/* AGA approved justified gallery. Scoped to avoid existing portfolio CSS. */
#aga-justified-gallery { position:relative; overflow:hidden; min-height:160px; transition:height .65s ease; }
#aga-justified-gallery .aga-panel { position:absolute; top:0; left:0; right:0; opacity:0; pointer-events:none; transition:opacity .8s ease; }
#aga-justified-gallery .aga-panel.is-active { opacity:1; pointer-events:auto; z-index:1; }
#aga-justified-gallery .aga-photo-row { display:flex; gap:12px; margin-bottom:12px; align-items:stretch; }
#aga-justified-gallery .aga-photo { display:block; position:relative; min-width:0; overflow:hidden; padding:0; border:0; background:transparent; cursor:zoom-in; }
#aga-justified-gallery .aga-photo img { display:block; width:100%; height:100%; object-fit:fill; }
#aga-justified-gallery .aga-photo:after { content:'+'; position:absolute; right:12px; bottom:12px; width:30px; height:30px; border-radius:50%; background:rgba(14,30,50,.72); color:#fff; display:grid; place-items:center; font:22px Arial,sans-serif; opacity:0; transition:opacity .2s; }
#aga-justified-gallery .aga-photo:hover:after, #aga-justified-gallery .aga-photo:focus-visible:after { opacity:1; }
#aga-justified-gallery .aga-photo:focus-visible { outline:3px solid #b58a45; outline-offset:-3px; }
@media(max-width:720px) { #aga-justified-gallery .aga-photo-row { gap:5px; margin-bottom:5px; } #aga-justified-gallery .aga-photo:after { opacity:1; right:5px; bottom:5px; width:24px; height:24px; font-size:17px; } }
@media(prefers-reduced-motion:reduce) { #aga-justified-gallery, #aga-justified-gallery .aga-panel { transition:none; } }
