/**
 * Neovero Elementor Widgets – Fullwidth CSS
 *
 * Faz os widgets Neovero quebrarem para fora do container
 * do Elementor e ocuparem 100% da largura da viewport.
 */

/* ─── Wrapper de Fullwidth ──────────────────────────────────────────────────── */
.nv-fullwidth-widget {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    overflow: hidden;
}

/* A section interna ocupa todo o espaço do wrapper */
.nv-fullwidth-widget > section {
    width: 100%;
}

/* ─── Remove padding/margin do Elementor na coluna que envolve o widget ─────── */
.elementor-widget:has(.nv-fullwidth-widget),
.elementor-widget-neovero_hero_produto,
.elementor-widget-neovero_hero_blog,
.elementor-widget-neovero_hero_contato,
.elementor-widget-neovero_form_contato,
.elementor-widget-neovero_mapa_contato,
.elementor-widget-neovero_hero_sobre,
.elementor-widget-neovero_timeline_sobre,
.elementor-widget-neovero_equipe_sobre,
.elementor-widget-neovero_header_solucoes,
.elementor-widget-neovero_controle_centralizado,
.elementor-widget-neovero_eficiencia_operacional,
.elementor-widget-neovero_cards_produtos {
    margin: 0 !important;
    margin-bottom: 0 !important;
    margin-top: -20px !important;
    padding: 0 !important;
}

/* A margem negativa é só para o primeiro bloco da página (colado sob o header fixo).
   Nos demais, ela puxaria o widget para cima e cobriria a base do bloco anterior
   (ex.: a base da hero ficava coberta por uma faixa branca). */
.elementor > .e-parent:not(:first-child) .elementor-widget:has(.nv-fullwidth-widget),
.elementor > .elementor-top-section:not(:first-child) .elementor-widget:has(.nv-fullwidth-widget),
.elementor-widget:has(.nv-fullwidth-widget) ~ .elementor-widget:has(.nv-fullwidth-widget) {
    margin-top: 0 !important;
}

/* Remove o padding da seção/coluna do Elementor que contém esses widgets */
.elementor-section:has(.elementor-widget-neovero_hero_produto),
.elementor-section:has(.elementor-widget-neovero_hero_blog),
.elementor-section:has(.elementor-widget-neovero_hero_contato),
.elementor-section:has(.elementor-widget-neovero_form_contato),
.elementor-section:has(.elementor-widget-neovero_mapa_contato),
.elementor-section:has(.elementor-widget-neovero_hero_sobre),
.elementor-section:has(.elementor-widget-neovero_timeline_sobre),
.elementor-section:has(.elementor-widget-neovero_equipe_sobre),
.elementor-section:has(.elementor-widget-neovero_header_solucoes),
.elementor-section:has(.elementor-widget-neovero_controle_centralizado),
.elementor-section:has(.elementor-widget-neovero_eficiencia_operacional),
.elementor-section:has(.elementor-widget-neovero_cards_produtos) {
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-section:has(.nv-fullwidth-widget) .elementor-container,
.elementor-section:has(.nv-fullwidth-widget) .elementor-column,
.elementor-section:has(.nv-fullwidth-widget) .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Suporte para Elementor Flexbox Containers (E-con) */
.e-con:has(.nv-fullwidth-widget),
.e-con:has(.nv-fullwidth-widget) > .e-con-inner {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    gap: 0 !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
    --widgets-spacing: 0px !important;
    --gap: 0px !important;
}

/* ─── Correção Sticky Scroll – Neovero Cards de Produtos ─────────────────── */
/* Força overflow: visible nos ancestrais para permitir que position: sticky funcione */
.elementor-widget-neovero_cards_produtos,
.elementor-widget-neovero_cards_produtos .elementor-widget-container,
.elementor-widget-neovero_cards_produtos .nv-fullwidth-widget,
.elementor-section:has(.elementor-widget-neovero_cards_produtos),
.elementor-section:has(.elementor-widget-neovero_cards_produtos) .elementor-container,
.elementor-section:has(.elementor-widget-neovero_cards_produtos) .elementor-column {
    overflow: visible !important;
}

/* ─── Suporte a Sticky Scroll nos Containers e Seções do Elementor ───────── */
.elementor-section:has(.nv-cards-sticky-section),
.elementor-section:has(.nv-cards-sticky-section) .elementor-container,
.elementor-column:has(.nv-cards-sticky-section),
.e-con:has(.nv-cards-sticky-section),
.e-con-inner:has(.nv-cards-sticky-section) {
    overflow: visible !important;
}

/* ─── Styling para Citação / Blockquote (Barra Azul Lateral) ───────────── */
.neovero-wysiwyg-content blockquote,
.nv-fullwidth-widget blockquote {
    border-left: 4px solid #007491 !important;
    padding-left: 1.25rem !important;
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    margin-top: 1rem !important;
    margin-bottom: 1.5rem !important;
    color: #14425A !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    line-height: 1.625 !important;
}

.neovero-wysiwyg-content blockquote p,
.nv-fullwidth-widget blockquote p {
    margin: 0 !important;
    color: #14425A !important;
    font-weight: 700 !important;
}

@media (min-width: 1024px) {
    .elementor-widget-neovero_cards_produtos .nv-sticky-column {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 128px !important; /* equivalente a lg:top-32 (8rem) */
        align-self: start !important;
        z-index: 10 !important;
    }
}

/* ─── Correção Imagem Widget Visibilidade Tempo Real ────────────────────── */
.elementor-widget-neovero_visibilidade_tempo_real .nv-visibilidade-img-container {
    top: 24px !important;
    bottom: 24px !important;
}

.elementor-widget-neovero_visibilidade_tempo_real .nv-visibilidade-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: right center !important;
}
