/* ============================================================
   Everest Gallery — square thumbnail grid  (Titans custom)
   ------------------------------------------------------------
   Converts the masonry (isotope) layout into a responsive
   square CSS grid. Uses !important to override isotope's
   inline absolute positioning (isotope sets inline styles
   WITHOUT !important, so these win without touching the JS).
   Plugin is unmaintained, so this file is safe from updates.
   ============================================================ */

.eg-masonary-wrap .eg-masonary-items-wrap {
    position: static !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.eg-masonary-wrap.eg-column-1 .eg-masonary-items-wrap { grid-template-columns: repeat(1, 1fr); }
.eg-masonary-wrap.eg-column-2 .eg-masonary-items-wrap { grid-template-columns: repeat(2, 1fr); }
.eg-masonary-wrap.eg-column-3 .eg-masonary-items-wrap { grid-template-columns: repeat(3, 1fr); }
.eg-masonary-wrap.eg-column-4 .eg-masonary-items-wrap { grid-template-columns: repeat(4, 1fr); }
.eg-masonary-wrap.eg-column-5 .eg-masonary-items-wrap { grid-template-columns: repeat(5, 1fr); }
.eg-masonary-wrap.eg-column-6 .eg-masonary-items-wrap { grid-template-columns: repeat(6, 1fr); }

/* neutralise isotope's per-item inline absolute positioning */
.eg-masonary-wrap .eg-masonary-items-wrap > .eg-each-item {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    float: none !important;
}

/* square cell */
.eg-masonary-wrap .eg-each-item .eg-masonary-padding {
    position: relative !important;
    width: 100% !important;
    padding: 0 !important;
    aspect-ratio: 1 / 1;
    overflow: hidden !important;
}
@supports not (aspect-ratio: 1 / 1) {
    .eg-masonary-wrap .eg-each-item .eg-masonary-padding {
        height: 0 !important;
        padding-bottom: 100% !important;
    }
}
.eg-masonary-wrap .eg-each-item .eg-overlay-wrapper {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
.eg-masonary-wrap .eg-each-item .eg-overlay-wrapper > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
.eg-masonary-wrap .eg-each-item .eg-overlay-wrapper > a > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-width: none !important;
    margin: 0 !important;
}
.eg-masonary-wrap .eg-each-item .eg-overlay-wrapper .eg-mask {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* responsive column counts — independent of server-side UA detection */
@media (max-width: 1024px) {
    .eg-masonary-wrap .eg-masonary-items-wrap { grid-template-columns: repeat(2, 1fr) !important; }
}
