.elementor-widget-vagilax-gallery .vagilax-gallery { padding-block: 88px; }
.elementor-widget-vagilax-gallery .vagilax-gallery__inner { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.elementor-widget-vagilax-gallery .vagilax-gallery__header { max-width: 800px; margin: 0 auto 48px; text-align: center; }
.elementor-widget-vagilax-gallery .vagilax-gallery__eyebrow { color: var(--vagilax-action); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.elementor-widget-vagilax-gallery .vagilax-gallery__title { margin: 0; color: var(--vagilax-heading); font-size: clamp(30px, 3.5vw, 46px); }
.elementor-widget-vagilax-gallery .vagilax-gallery__description { color: var(--vagilax-body); line-height: 1.75; }
.elementor-widget-vagilax-gallery .vagilax-gallery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.elementor-widget-vagilax-gallery .vagilax-gallery__item { min-width: 0; margin: 0; overflow: hidden; border-radius: 12px; background: #FFF; box-shadow: 0 12px 32px rgba(94, 42, 73, .1); }
.elementor-widget-vagilax-gallery .vagilax-gallery__lightbox { position: relative; display: block; overflow: hidden; background: var(--vagilax-off-white); }
.elementor-widget-vagilax-gallery .vagilax-gallery__image { display: block; width: 100%; aspect-ratio: var(--vagilax-gallery-ratio, 4 / 3); object-fit: var(--vagilax-gallery-fit, cover); object-position: var(--vagilax-gallery-position, center); transition: transform .3s ease; }
.elementor-widget-vagilax-gallery .vagilax-gallery__lightbox:is(:hover, :focus-visible) .vagilax-gallery__image { transform: scale(1.035); }
.elementor-widget-vagilax-gallery .vagilax-gallery__zoom { position: absolute; inset-block-end: 14px; inset-inline-end: 14px; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; color: #FFF; background: rgba(94, 42, 73, .88); opacity: 0; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease; }
.elementor-widget-vagilax-gallery .vagilax-gallery__zoom svg { width: 22px; height: 22px; fill: none; }
.elementor-widget-vagilax-gallery .vagilax-gallery__lightbox:is(:hover, :focus-visible) .vagilax-gallery__zoom { opacity: 1; transform: none; }
.elementor-widget-vagilax-gallery .vagilax-gallery__caption { display: flex; flex-direction: column; gap: 6px; padding: 16px; color: var(--vagilax-body); line-height: 1.45; }
.elementor-widget-vagilax-gallery .vagilax-gallery__category { color: var(--vagilax-action); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 991px) { .elementor-widget-vagilax-gallery .vagilax-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .elementor-widget-vagilax-gallery .vagilax-gallery { padding-block: 64px; } .elementor-widget-vagilax-gallery .vagilax-gallery__inner { width: min(100% - 32px, 1200px); } }
@media (max-width: 479px) { .elementor-widget-vagilax-gallery .vagilax-gallery__grid { grid-template-columns: 1fr; } }

:dir(rtl) .elementor-widget-vagilax-gallery :is(.vagilax-gallery__eyebrow, .vagilax-gallery__category) { text-transform: none; letter-spacing: 0; }

@media (prefers-reduced-motion: reduce) {
    .elementor-widget-vagilax-gallery :is(.vagilax-gallery__image, .vagilax-gallery__zoom) { transition: none; }
    .elementor-widget-vagilax-gallery .vagilax-gallery__lightbox:is(:hover, :focus-visible) .vagilax-gallery__image { transform: none; }
}
