/* 4GT Galeria incorporada/legada: preset de proporção com prioridade sobre dimensões manuais. */
.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-gallery {
    --sge-media-width: 100% !important;
    --sge-media-height: auto !important;
    --sge-media-max-height: none !important;
    --sge-marquee-item-height: auto !important;
}

.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-gallery .sge-grid-item .sge-item-media > .sge-media-interactive,
.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-gallery .sge-grid-item .sge-item-media > a,
.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-gallery .sge-grid-item .sge-item-media > button {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: var(--frontcat-sge-aspect-ratio) !important;
    overflow: hidden;
}

.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-gallery .sge-grid-item .sge-item-media img,
.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-gallery .sge-grid-item .sge-item-media video {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
}

.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-layout-featured.sge-featured-pending,
.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-layout-featured.sge-featured-pending .sge-wrapper.sge-items {
    min-height: 0 !important;
}

.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-layout-featured .sge-featured-main .sge-item-media .sge-media-interactive,
.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-layout-featured .sge-featured-thumbs .sge-item-media .sge-media-interactive,
.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-layout-slide .sge-slide-page .sge-item-media .sge-media-interactive,
.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-layout-marquee .sge-grid-item .sge-item-media .sge-media-interactive {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: var(--frontcat-sge-aspect-ratio) !important;
}

.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-layout-featured[data-featured-thumbs-position="left"] .sge-featured-thumbs,
.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-layout-featured[data-featured-thumbs-position="right"] .sge-featured-thumbs {
    height: auto !important;
    max-height: none !important;
}

.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-layout-featured[data-featured-thumbs-position="left"] .sge-featured-thumbs .sge-grid-item,
.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-layout-featured[data-featured-thumbs-position="right"] .sge-featured-thumbs .sge-grid-item {
    flex-basis: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/* 20.20.188 — Grid sempre limitado ao contêiner e com colunas responsivas reais. */
.elementor-widget-sua_galeria .sge-gallery.sge-layout-grid,
.elementor-widget-sua_galeria.sge-layout-grid .sge-gallery {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.elementor-widget-sua_galeria .sge-gallery.sge-layout-grid > .sge-wrapper.sge-items,
.elementor-widget-sua_galeria.sge-layout-grid .sge-gallery > .sge-wrapper.sge-items {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
    grid-template-columns: repeat(var(--sge-effective-colunas, var(--sge-colunas, 1)), minmax(0, 1fr)) !important;
}

.elementor-widget-sua_galeria .sge-gallery.sge-layout-grid > .sge-wrapper.sge-items > .sge-grid-item,
.elementor-widget-sua_galeria.sge-layout-grid .sge-gallery > .sge-wrapper.sge-items > .sge-grid-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled .sge-gallery.sge-layout-grid .sge-grid-item .sge-item-media,
.elementor-widget-sua_galeria.frontcat-sge-aspect-ratio-enabled.sge-layout-grid .sge-gallery .sge-grid-item .sge-item-media {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}


/* FrontCat 20.20.647 — contenção defensiva do modo Slide.
 * O widget também traz estas regras inline para funcionar em previews/AJAX;
 * aqui mantemos uma segunda barreira contra CSS de tema/Elementor. */
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide,
.elementor-widget-sua_galeria.sge-layout-slide .sge-gallery {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    overflow: clip;
    box-sizing: border-box;
    contain: layout paint;
}
/* FrontCat 20.20.694 — evita o frame inicial com itens de Slide ainda não agrupados. */
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide .sge-wrapper > .sge-grid-item {
    display: none !important;
}

.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide .sge-wrapper,
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide .sge-slide-page,
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide .sge-grid-item,
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide .sge-item-media,
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide .sge-media-interactive {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide .sge-wrapper,
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide .sge-slide-page,
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide .sge-grid-item,
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide .sge-item-media,
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide .sge-media-interactive {
    overflow: hidden;
    overflow: clip;
}
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide img,
.elementor-widget-sua_galeria .sge-gallery.sge-layout-slide video {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
