/* Caption and hover-effect module */
.infronix-gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;margin:0;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));font-size:14px;line-height:1.35;pointer-events:none;z-index:3}
.infronix-gallery-caption-hidden .infronix-gallery-caption{display:none}
.infronix-gallery-caption-hover .infronix-gallery-caption{opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}
.infronix-gallery-caption-hover .infronix-gallery-item:hover .infronix-gallery-caption,.infronix-gallery-caption-hover .infronix-gallery-item:focus-within .infronix-gallery-caption{opacity:1;transform:translateY(0)}
.infronix-gallery-caption-always .infronix-gallery-caption{opacity:1}
.infronix-gallery-hover-zoom .infronix-gallery-image{transition:transform .3s ease}.infronix-gallery-hover-zoom .infronix-gallery-item:hover .infronix-gallery-image{transform:scale(1.045)}
.infronix-gallery-hover-fade .infronix-gallery-image{transition:opacity .25s ease}.infronix-gallery-hover-fade .infronix-gallery-item:hover .infronix-gallery-image{opacity:.78}
.infronix-gallery-hover-grayscale .infronix-gallery-image{transition:filter .25s ease}.infronix-gallery-hover-grayscale .infronix-gallery-item:hover .infronix-gallery-image{filter:grayscale(1)}
.infronix-gallery-hover-slide .infronix-gallery-image{transition:transform .28s ease}.infronix-gallery-hover-slide .infronix-gallery-item:hover .infronix-gallery-image{transform:translateY(-4px)}
.infronix-gallery-hover-blur .infronix-gallery-image{transition:filter .25s ease,transform .25s ease}.infronix-gallery-hover-blur .infronix-gallery-item:hover .infronix-gallery-image{filter:blur(1.5px);transform:scale(1.02)}
.infronix-gallery-hover-overlay .infronix-gallery-item::after{content:"";position:absolute;inset:0;background:rgba(15,23,42,0);transition:background .25s ease;pointer-events:none;z-index:2}.infronix-gallery-hover-overlay .infronix-gallery-item:hover::after{background:rgba(15,23,42,.28)}

/* V1 complete caption/hover modes. */
.infronix-gallery-caption-click .infronix-gallery-caption{opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.infronix-gallery-caption-click .infronix-gallery-item.infronix-gallery-caption-open .infronix-gallery-caption{opacity:1;visibility:visible;transform:translateY(0)}
.infronix-gallery-hover-caption.infronix-gallery-caption-hidden .infronix-gallery-caption{display:block;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.infronix-gallery-hover-caption.infronix-gallery-caption-hidden .infronix-gallery-item:hover .infronix-gallery-caption,
.infronix-gallery-hover-caption.infronix-gallery-caption-hidden .infronix-gallery-item:focus-within .infronix-gallery-caption{opacity:1;visibility:visible;transform:translateY(0)}
.infronix-gallery-hover-icon .infronix-gallery-item::before{content:"+";position:absolute;left:50%;top:50%;z-index:4;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(15,23,42,.78);color:#fff;font:600 26px/1 sans-serif;opacity:0;transform:translate(-50%,-50%) scale(.86);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.infronix-gallery-hover-icon .infronix-gallery-item:hover::before,.infronix-gallery-hover-icon .infronix-gallery-item:focus-within::before{opacity:1;transform:translate(-50%,-50%) scale(1)}
