/* Static rebuild overrides — Elementor Pro's gallery and W3TC lazyload normally
   need JavaScript; these rules render the same result with CSS only. */
.elementor-widget-gallery .elementor-gallery__container{display:block;column-count:3;column-gap:10px}
.elementor-widget-gallery .e-gallery-item{display:block;break-inside:avoid;margin:0 0 10px;width:100%}
.elementor-widget-gallery .e-gallery-image{display:block;width:100%;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}
@media (max-width:1024px){.elementor-widget-gallery .elementor-gallery__container{column-count:2}}
@media (max-width:767px){.elementor-widget-gallery .elementor-gallery__container{column-count:1}}

/* Lightbox (parity with Elementor's image/gallery lightbox) */
.cs-lightbox{position:fixed;inset:0;z-index:2147483646;display:none;align-items:center;justify-content:center}
.cs-lightbox.is-open{display:flex}
.cs-lb-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.9)}
.cs-lb-figure{position:relative;margin:0;max-width:92vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px;z-index:1}
.cs-lb-img{max-width:92vw;max-height:82vh;object-fit:contain;box-shadow:0 8px 40px rgba(0,0,0,.5)}
.cs-lb-cap{color:#fff;font-size:14px;text-align:center;opacity:.85}
.cs-lightbox button{position:absolute;z-index:2;background:transparent;border:0;color:#fff;cursor:pointer;line-height:1;opacity:.8;transition:opacity .2s}
.cs-lightbox button:hover{opacity:1}
.cs-lb-close{top:18px;right:24px;font-size:40px}
.cs-lb-prev,.cs-lb-next{top:50%;transform:translateY(-50%);font-size:64px;padding:0 18px}
.cs-lb-prev{left:8px}
.cs-lb-next{right:8px}
@media (max-width:767px){.cs-lb-prev,.cs-lb-next{font-size:44px;padding:0 8px}.cs-lb-close{font-size:32px;top:12px;right:14px}}

/* Nested menu dropdown: keep it anchored under the header bar on mobile */
.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-wrapper{background-color:#1a1a1a}
