/* CUSTOM ENVIRA GALLERY (FANCYBOX VERSION) — Compact & Optimized */

/* Gallery grid, two columns desktop, one column mobile */
.custom-envira-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:12px auto 32px;padding:0;width:100%!important;max-width:100%;box-sizing:border-box}
.custom-envira-gallery a{cursor:pointer}
@media (max-width: 768px) {.custom-envira-gallery{grid-template-columns:1fr}}
figure.custom-envira-item{margin:0}

/* Gallery items — prevent excess vertical spacing! */
.custom-envira-item{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:8px;box-shadow:0 2px 6px #0001;overflow:hidden;text-align:center;transition:transform .25s,box-shadow .25s;margin:0;}
.custom-envira-item:hover{transform:translateY(-4px);box-shadow:0 6px 14px #0002e;}
.custom-envira-item img{display:block;width:100%;height:auto;border-bottom:1px solid #0002;border-radius:8px 8px 0 0;margin:0;transition:transform .35s,box-shadow .35s;}
.custom-envira-item:hover img{transform:scale(1.03);filter:sepia(6%) contrast(1.05);box-shadow:0 6px 14px #0003;}

.custom-envira-caption{flex:1;display:flex;align-items:flex-start;padding:10px 12px 8px 12px;margin:0;font-family:Mate,"Work Sans",serif;font-size:.85em;line-height:1.3;text-align:left;color:#333;background:#f5f1e8f2;border-top:1px solid #0001;border-radius:0 0 8px 8px;box-shadow:inset 0 6px 12px #0001;white-space:normal;word-break:break-word;overflow-wrap:break-word;hyphens:auto;}
.custom-envira-item:hover .custom-envira-caption{box-shadow:0 8px 20px #0002e;transform:translateY(-1px);transition:box-shadow .3s,transform .3s;}

/* FANCYBOX OVERRIDES — images always above header, fix flash/jump */
.fancybox__container{z-index:999999!important;}
.fancybox-bg{background:rgba(20,15,10,0.95)!important;}
.fancybox__slide,.fancybox__content,.fancybox__content img{transition:none!important;transform:none!important;animation:none!important;}
.fancybox__content{margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;box-sizing:border-box!important;background:#fdfdfc!important;border:6px solid #f5f1e8!important;border-radius:10px!important;box-shadow:0 12px 32px #000a!important;visibility:hidden;}
.fancybox__slide.is-selected .fancybox__content{visibility:visible;}
.fancybox__content img{max-width:100%!important;max-height:85vh!important;display:block;margin:0!important;border-radius:8px!important;object-fit:contain!important;box-sizing:border-box!important;}
.fancybox__caption{width:60%;max-width:90%;margin:0 auto!important;padding:12px 18px!important;font-family:Mate,serif;font-size:.8em;line-height:1.3;text-align:left;color:#333;background:#f5f1e8f2;border-top:1px solid #0001;border-radius:0 0 6px 6px;box-shadow:0 4px 12px #0002;white-space:normal;word-break:break-word;overflow-wrap:break-word;hyphens:auto;}
@media(max-width:1024px){.fancybox__caption{width:90%;}}
/* MOBILE LANDSCAPE LIGHTBOX */
.fancybox__content.mobile-landscape-mode{max-width:100vw!important;max-height:100vh!important;border:2px solid #000!important;border-radius:4px!important;box-shadow:none!important;background:#000!important;padding:5px!important;}
.fancybox__content.mobile-landscape-mode img{max-width:100vw!important;max-height:85vh!important;border-radius:4px!important;}
.fancybox__content.mobile-landscape-mode .fancybox__caption{width:100%!important;max-width:100%!important;padding:5px 12px!important;font-size:.85em!important;background:#000b;color:#fff!important;box-shadow:none!important;border-radius:0 0 4px 4px!important;}
@media(max-width:768px) and (orientation:landscape){
.fancybox--mobile-landscape .fancybox__content{max-width:100vw!important;max-height:100vh!important;border:2px solid #000;border-radius:4px;background:#000;box-shadow:none;}
.fancybox--mobile-landscape .fancybox__caption{width:100vw!important;max-width:100vw!important;background:#000b;color:#fff;border-radius:0 0 4px 4px;box-shadow:none;}
}
.fancybox-fadeInScale {animation: fadeInScale 0.25s ease forwards;}
.fancybox-fadeOutScale {animation: fadeOutScale 0.2s ease forwards;}
@keyframes fadeInScale {
  from { opacity: 0; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes fadeOutScale {
  from { opacity: 1; transform: scale(1); }
  to   { opacity: 0; transform: scale(0.95); }
}