/* Elegant Gallery 1.1.0 — scoped styles, no Elementor theme hover bleed */
.pfeg-gallery{--pfeg-cols:3;--pfeg-gap:14px;--pfeg-radius:12px;--pfeg-ratio:4/3;--pfeg-fit:contain;--pfeg-bg:#f1eee8;--pfeg-accent:#52634d;width:100%;min-width:0}
.pfeg-gallery,.pfeg-gallery *{box-sizing:border-box}
.pfeg-gallery .pfeg-track{min-width:0;width:100%}
.pfeg-gallery.pfeg-layout-grid .pfeg-track,.pfeg-gallery.pfeg-layout-bento .pfeg-track{display:grid;grid-template-columns:repeat(var(--pfeg-cols),minmax(0,1fr));gap:var(--pfeg-gap)}
.pfeg-gallery .pfeg-item{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:var(--pfeg-radius);background:var(--pfeg-bg)}
.pfeg-gallery .pfeg-image-button,.pfeg-gallery .pfeg-image-static{appearance:none;-webkit-appearance:none;display:block;position:relative;width:100%;height:100%;min-height:0;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;outline-offset:3px;overflow:hidden;line-height:0;transform:none!important;filter:none!important;opacity:1!important}
.pfeg-gallery .pfeg-image-button{cursor:zoom-in}
.pfeg-gallery .pfeg-image-button:hover,.pfeg-gallery .pfeg-image-button:focus,.pfeg-gallery .pfeg-image-button:active{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;color:inherit!important;filter:none!important;opacity:1!important}
.pfeg-gallery .pfeg-image-button::before,.pfeg-gallery .pfeg-image-button::after{content:none!important;display:none!important}
.pfeg-gallery .pfeg-image{display:block;width:100%;height:100%;max-width:none;object-fit:contain!important;transition:transform .5s ease;filter:none!important;opacity:1!important}
.pfeg-gallery .pfeg-image-button:hover .pfeg-image{transform:scale(1.035)}
.pfeg-gallery.pfeg-layout-grid .pfeg-item,.pfeg-gallery.pfeg-layout-carousel .pfeg-item{aspect-ratio:var(--pfeg-ratio)}
/* Bento: use fixed row units so spanning images cannot distort the entire grid. */
.pfeg-gallery.pfeg-layout-bento .pfeg-track{grid-auto-flow:row dense;grid-auto-rows:clamp(95px,12vw,190px);align-items:stretch}
.pfeg-gallery.pfeg-layout-bento .pfeg-item{aspect-ratio:auto;grid-column:span 1;grid-row:span 1}
.pfeg-gallery.pfeg-layout-bento .pfeg-item:nth-child(7n+1):not(:last-child){grid-column:span 2;grid-row:span 2}
.pfeg-gallery.pfeg-layout-bento .pfeg-item:nth-child(7n+4){grid-column:span 1;grid-row:span 1}
/* Avoid unfilled 2x2 feature on tiny galleries. */
.pfeg-gallery.pfeg-layout-bento .pfeg-track:not(:has(.pfeg-item:nth-child(5))) .pfeg-item{grid-column:span 1;grid-row:span 1}
.pfeg-gallery.pfeg-layout-masonry .pfeg-track{display:block;columns:var(--pfeg-cols);column-gap:var(--pfeg-gap)}
.pfeg-gallery.pfeg-layout-masonry .pfeg-item{display:block;break-inside:avoid;page-break-inside:avoid;margin:0 0 var(--pfeg-gap);height:auto}
.pfeg-gallery.pfeg-layout-masonry .pfeg-image-button,.pfeg-gallery.pfeg-layout-masonry .pfeg-image-static{height:auto}
.pfeg-gallery.pfeg-layout-masonry .pfeg-image{height:auto;object-fit:contain}
.pfeg-gallery .pfeg-caption{position:absolute;bottom:0;left:0;right:0;padding:22px 14px 12px;color:#fff;font-size:13px;line-height:1.4;background:linear-gradient(transparent,rgba(0,0,0,.62));pointer-events:none}
.pfeg-gallery.pfeg-layout-carousel .pfeg-track{display:flex;gap:var(--pfeg-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
.pfeg-gallery.pfeg-layout-carousel .pfeg-track::-webkit-scrollbar{display:none}
.pfeg-gallery.pfeg-layout-carousel .pfeg-item{flex:0 0 calc((100% - (var(--pfeg-cols) - 1)*var(--pfeg-gap))/var(--pfeg-cols));scroll-snap-align:start}
.pfeg-gallery .pfeg-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;min-height:40px}
.pfeg-gallery .pfeg-arrows{display:flex;gap:8px}
.pfeg-gallery .pfeg-arrows button{appearance:none;border:1px solid var(--pfeg-accent)!important;background:transparent!important;color:var(--pfeg-accent)!important;border-radius:100px;width:42px;height:42px;padding:0;cursor:pointer;transition:background .2s,color .2s}
.pfeg-gallery .pfeg-arrows button:hover{background:var(--pfeg-accent)!important;color:#fff!important}
.pfeg-gallery .pfeg-dots{display:flex;gap:7px;flex-wrap:wrap;margin-left:auto}
.pfeg-gallery .pfeg-dot{appearance:none;width:8px;height:8px;min-width:8px;min-height:8px;border:0!important;border-radius:50%;padding:0!important;background:#c4c8c0!important;cursor:pointer;box-shadow:none!important}
.pfeg-gallery .pfeg-dot:hover,.pfeg-gallery .pfeg-dot[aria-current=true]{background:var(--pfeg-accent)!important}
.pfeg-gallery .pfeg-dot[aria-current=true]{transform:scale(1.25)}
.pfeg-gallery .pfeg-image-button:focus-visible,.pfeg-gallery .pfeg-arrows button:focus-visible,.pfeg-gallery .pfeg-dot:focus-visible{outline:3px solid var(--pfeg-accent);outline-offset:3px}
.pfeg-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(9,15,11,.94);display:flex;align-items:center;justify-content:center;padding:56px 60px}
.pfeg-lightbox img{max-width:100%;max-height:calc(100vh - 112px);width:auto;height:auto;object-fit:contain}
.pfeg-lightbox button{position:absolute;border:1px solid #ffffff80!important;background:#17241e!important;color:white!important;border-radius:50%;width:42px;height:42px;font-size:24px;cursor:pointer}
.pfeg-lightbox .pfeg-close{top:14px;right:16px}.pfeg-lightbox .pfeg-lprev{left:10px;top:50%}.pfeg-lightbox .pfeg-lnext{right:10px;top:50%}
.pfeg-lightbox button:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:1024px){.pfeg-gallery.pfeg-layout-bento .pfeg-track{grid-auto-rows:clamp(105px,17vw,180px)}}
@media(max-width:767px){.pfeg-gallery.pfeg-layout-bento .pfeg-track{grid-auto-rows:auto}.pfeg-gallery.pfeg-layout-bento .pfeg-item,.pfeg-gallery.pfeg-layout-bento .pfeg-item:nth-child(7n+1),.pfeg-gallery.pfeg-layout-bento .pfeg-item:nth-child(7n+4){grid-column:span 1;grid-row:span 1;aspect-ratio:var(--pfeg-ratio)}.pfeg-lightbox{padding:60px 15px}.pfeg-lightbox .pfeg-lprev{left:8px}.pfeg-lightbox .pfeg-lnext{right:8px}}
@media(prefers-reduced-motion:reduce){.pfeg-gallery *{scroll-behavior:auto!important;transition:none!important}}
