/* ===============================================
   Correções de Responsividade - MSB Tecnologia
   =============================================== */

/* Base Reset e Box-Sizing */
* {
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
    min-width: 320px;
}

/* ===============================================
   Correção do Breakpoint do Menu
   Mudando de 1024px para 768px
   =============================================== */

/* Menu Mobile - Apenas para tablets e mobile */
@media (max-width: 768px) {
    /* Container principal */
    .elementor-container,
    .e-con-inner {
        padding-left: 15px !important;
        padding-right: 15px !important;
        max-width: 100% !important;
    }
    
    /* Menu Toggle (Hamburger) */
    .e-n-menu-toggle,
    .elementor-widget-n-menu .e-n-menu-toggle,
    .elementor-widget .e-n-menu-toggle,
    .e-n-menu .e-n-menu-toggle {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        padding: 0 !important;
        margin: 0 !important;
        position: relative !important;
        z-index: 1000000 !important;
        transition: all 0.3s ease !important;
    }
    
    /* Menu Wrapper Mobile */
    .e-n-menu .e-n-menu-wrapper {
        display: none !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: #ffffff !important;
        z-index: 999999 !important;
        border-radius: 0 !important;
        min-width: 100% !important;
        width: 100% !important;
        height: 100vh !important;
        height: 100dvh !important; /* Dynamic viewport height */
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    .e-n-menu .e-n-menu-wrapper.e-n-menu-open {
        display: block !important;
        animation: slideIn 0.3s ease-out !important;
    }
    
    /* Menu Items Mobile */
    .e-n-menu .e-n-menu-heading {
        list-style: none !important;
        margin: 0 !important;
        padding: 80px 20px 40px 20px !important;
    }
    
    .e-n-menu .e-n-menu-item {
        margin-bottom: 15px !important;
        border-bottom: 2px solid #a6cd43 !important;
        padding-bottom: 10px !important;
        transition: all 0.3s ease !important;
        display: block !important;
        width: 100% !important;
        float: none !important;
    }
    
    .e-n-menu .e-n-menu-title-container {
        display: block !important;
        padding: 12px 0 !important;
        text-decoration: none !important;
        color: #162e5b !important;
        font-weight: 500 !important;
        font-size: 16px !important;
        text-align: left !important;
        transition: all 0.3s ease !important;
        position: relative !important;
        width: 100% !important;
        clear: both !important;
        min-height: 44px !important; /* Touch target size */
    }
}

/* Menu Desktop - Para telas maiores que 768px */
@media (min-width: 769px) {
    .e-n-menu .e-n-menu-toggle {
        display: none !important;
    }
    
    .e-n-menu .e-n-menu-wrapper {
        display: block !important;
        position: static !important;
        background: transparent !important;
        box-shadow: none !important;
        z-index: auto !important;
        height: auto !important;
        overflow: visible !important;
    }
    
    .e-n-menu .e-n-menu-heading {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .e-n-menu .e-n-menu-item {
        margin-bottom: 0 !important;
        border-bottom: none !important;
        padding-bottom: 0 !important;
        display: inline-block !important;
        width: auto !important;
    }
}

/* ===============================================
   Correções para Resoluções Muito Pequenas
   320px - 375px
   =============================================== */

/* Forçar exibição do menu de políticas em telas muito pequenas */
@media (max-width: 480px) {
    .elementor-widget-text-editor#menu-politicas-simple,
    .elementor-element-16781da#menu-politicas-simple,
    div#menu-politicas-simple,
    #menu-politicas-simple {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 10 !important;
        padding: 10px 5px !important;
        text-align: center !important;
        background: transparent !important;
        border: none !important;
        margin: 0 !important;
        height: auto !important;
        min-height: auto !important;
    }
    
    #menu-politicas-simple .elementor-widget-container,
    #menu-politicas-simple > div {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        padding: 10px 0 !important;
        text-align: center !important;
    }
    
    #menu-politicas-simple a {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 260px !important;
        margin: 0 !important;
        padding: 10px 15px !important;
        background-color: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        border-radius: 6px !important;
        color: #ffffff !important;
        text-decoration: none !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        text-align: center !important;
        transition: all 0.3s ease !important;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
        position: relative !important;
        z-index: 1 !important;
    }
}

@media (max-width: 375px) {
    /* Ajustes de Tipografia */
    h1, .elementor-heading-title {
        font-size: 24px !important;
        line-height: 1.3 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    h2 {
        font-size: 20px !important;
        line-height: 1.3 !important;
    }
    
    h3 {
        font-size: 18px !important;
        line-height: 1.3 !important;
    }
    
    p, .elementor-text-editor {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    
    /* Ajuste de containers */
    .elementor-section,
    .e-con,
    .elementor-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    /* Botões */
    .elementor-button,
    a.elementor-button {
        font-size: 14px !important;
        padding: 12px 20px !important;
        min-height: 44px !important;
        width: 100% !important;
        max-width: 280px !important;
        margin: 0 auto !important;
    }
    
    /* Imagens */
    img {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* Cards e Boxes */
    .elementor-icon-box {
        padding: 15px !important;
    }
    
    .elementor-icon-box-title {
        font-size: 16px !important;
    }
    
    .elementor-icon-box-description {
        font-size: 13px !important;
    }
    
    /* Certificações - Grid Responsivo */
    .elementor-image-carousel,
    .swiper-wrapper {
        padding: 0 10px !important;
    }
    
    /* Footer */
    .elementor-widget-icon-list .elementor-icon-list-item {
        font-size: 13px !important;
        margin-bottom: 10px !important;
    }
}

/* Correções específicas para 320px */
@media (max-width: 320px) {
    /* Forçar exibição do menu de políticas em telas de 320px */
    .elementor-widget-text-editor#menu-politicas-simple,
    .elementor-element-16781da#menu-politicas-simple,
    div#menu-politicas-simple,
    #menu-politicas-simple {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 10 !important;
        padding: 8px 4px !important;
        text-align: center !important;
        background: transparent !important;
        border: none !important;
        margin: 0 !important;
        height: auto !important;
        min-height: auto !important;
    }
    
    #menu-politicas-simple a {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 240px !important;
        margin: 0 !important;
        padding: 8px 12px !important;
        background-color: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        border-radius: 6px !important;
        color: #ffffff !important;
        text-decoration: none !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        text-align: center !important;
        transition: all 0.3s ease !important;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
        position: relative !important;
        z-index: 1 !important;
    }
    
    /* Títulos ainda menores */
    h1, .elementor-heading-title {
        font-size: 22px !important;
    }
    
    h2 {
        font-size: 18px !important;
    }
    
    h3 {
        font-size: 16px !important;
    }
    
    /* Texto base */
    p, .elementor-text-editor {
        font-size: 13px !important;
    }
    
    /* Padding mínimo */
    .elementor-section,
    .e-con,
    .elementor-container {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

/* ===============================================
   Melhorias Gerais de Responsividade
   =============================================== */

/* Prevenir scroll horizontal */
@media (max-width: 768px) {
    .elementor-section,
    .e-con {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
    
    /* Garantir que elementos não ultrapassem a tela */
    .elementor-widget,
    .elementor-element {
        max-width: 100% !important;
    }
    
    /* Imagens responsivas */
    .elementor-image img,
    .elementor-widget-image img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
    }
    
    /* Videos responsivos */
    .elementor-video,
    iframe {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* Tabelas responsivas */
    table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* ===============================================
   WhatsApp Widget - Ajustes
   =============================================== */

@media (max-width: 480px) {
    /* WhatsApp button */
    .whatsapp-widget,
    [class*="whatsapp"] {
        width: 50px !important;
        height: 50px !important;
        bottom: 15px !important;
        right: 15px !important;
    }
}

/* ===============================================
   Animações Suaves
   =============================================== */

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===============================================
   Touch Targets - Acessibilidade Mobile
   =============================================== */

@media (max-width: 768px) {
    /* Garantir tamanho mínimo para elementos clicáveis */
    a,
    button,
    input[type="button"],
    input[type="submit"],
    .elementor-button,
    .e-n-menu-toggle {
        min-height: 44px !important;
        min-width: 44px !important;
    }
    
    /* Links inline */
    p a,
    li a {
        padding: 5px !important;
        min-height: auto !important;
        min-width: auto !important;
    }
}

/* ===============================================
   Tablet Específico (iPad)
   =============================================== */

@media (min-width: 768px) and (max-width: 1024px) {
    /* Container width */
    .elementor-container {
        max-width: 100% !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
    
    /* Grid de 2 colunas no tablet */
    .elementor-column.elementor-col-33,
    .elementor-column.elementor-col-25 {
        width: 50% !important;
    }
    
    /* Certificações em grid */
    .elementor-image-carousel .swiper-slide {
        width: 33.333% !important;
    }
}

/* ===============================================
   Landscape Mobile
   =============================================== */

@media (max-width: 768px) and (orientation: landscape) {
    /* Forçar exibição do menu de políticas em landscape */
    .elementor-widget-text-editor#menu-politicas-simple,
    .elementor-element-16781da#menu-politicas-simple,
    div#menu-politicas-simple,
    #menu-politicas-simple {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 10 !important;
        padding: 10px 5px !important;
        text-align: center !important;
        background: transparent !important;
        border: none !important;
        margin: 0 !important;
        height: auto !important;
        min-height: auto !important;
    }
    
    /* Reduzir altura de elementos em landscape */
    .elementor-section {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }
    
    /* Menu mobile em landscape */
    .e-n-menu .e-n-menu-heading {
        padding-top: 60px !important;
    }
}

/* ===============================================
   Print Styles
   =============================================== */

@media print {
    /* Ocultar elementos desnecessários */
    .e-n-menu-toggle,
    .whatsapp-widget,
    [class*="whatsapp"],
    .elementor-widget-social-icons {
        display: none !important;
    }
    
    /* Garantir que o conteúdo seja legível */
    body {
        font-size: 12pt !important;
    }
    
    h1 {
        font-size: 18pt !important;
    }
    
    h2 {
        font-size: 16pt !important;
    }
    
    h3 {
        font-size: 14pt !important;
    }
}

/* ===============================================
   Correções de Z-index
   =============================================== */

/* Garantir hierarquia correta */
.e-n-menu-toggle {
    z-index: 1000000 !important;
}

.e-n-menu-wrapper.e-n-menu-open {
    z-index: 999999 !important;
}

.whatsapp-widget,
[class*="whatsapp"] {
    z-index: 999998 !important;
}

/* ===============================================
   Correção Links "Saiba Mais" - Certificações
   =============================================== */

/* Mobile - Correção para links "Saiba Mais" não sobreporem imagens */
@media (max-width: 768px) {
    /* Container das certificações - garantir layout vertical */
    .elementor-element-54a9b87,
    .elementor-element-8648606,
    .elementor-element-046a21a,
    .elementor-element-04621d8 {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 40px !important;
        padding: 20px !important;
    }
    
    /* Imagens das certificações - limitar tamanho e adicionar margem inferior */
    .elementor-element-320553d .elementor-widget-container,
    .elementor-element-12fd8b1 .elementor-widget-container,
    .elementor-element-cf53515 .elementor-widget-container,
    .elementor-element-5943b68 .elementor-widget-container {
        margin-bottom: 15px !important;
        display: block !important;
    }
    
    .elementor-element-320553d .elementor-widget-container img,
    .elementor-element-12fd8b1 .elementor-widget-container img,
    .elementor-element-cf53515 .elementor-widget-container img,
    .elementor-element-5943b68 .elementor-widget-container img {
        max-width: 180px !important;
        height: auto !important;
        margin: 0 auto !important;
        display: block !important;
    }
    
    /* Widget de imagem */
    .elementor-element-320553d,
    .elementor-element-12fd8b1,
    .elementor-element-cf53515,
    .elementor-element-5943b68 {
        width: 100% !important;
        margin-bottom: 0 !important;
        position: relative !important;
    }
    
    /* Links "Saiba Mais" - garantir separação clara da imagem */
    .elementor-element-3aa6211,
    .elementor-element-4509112,
    .elementor-element-da51c35,
    .elementor-element-b4345bd {
        margin-top: 25px !important;
        margin-bottom: 35px !important;
        width: 100% !important;
        text-align: center !important;
        display: block !important;
        clear: both !important;
        position: relative !important;
    }
    
    /* Estilização do link para melhor visibilidade */
    .elementor-element-3aa6211 a,
    .elementor-element-4509112 a,
    .elementor-element-da51c35 a,
    .elementor-element-b4345bd a {
        display: inline-block !important;
        padding: 10px 20px !important;
        background-color: #a6cd43 !important;
        color: #ffffff !important;
        text-decoration: none !important;
        border-radius: 5px !important;
        font-weight: 600 !important;
        transition: background-color 0.3s ease !important;
    }
    
    .elementor-element-3aa6211 a:hover,
    .elementor-element-4509112 a:hover,
    .elementor-element-da51c35 a:hover,
    .elementor-element-b4345bd a:hover {
        background-color: #8bc34a !important;
    }
    
    /* Remover margens extras dos parágrafos */
    .elementor-element-3aa6211 p,
    .elementor-element-4509112 p,
    .elementor-element-da51c35 p,
    .elementor-element-b4345bd p {
        margin: 0 !important;
    }
    
    /* Correção adicional - Se o texto estiver sobrepondo a imagem */
    .elementor-widget-image {
        position: relative !important;
        z-index: 1 !important;
    }
    
    .elementor-widget-text-editor {
        position: relative !important;
        z-index: 2 !important;
        background: white !important;
        padding: 10px 0 !important;
    }
    
    /* Garantir que texto "Saiba Mais" dentro de imagens seja movido para baixo */
    .elementor-element-320553d + *,
    .elementor-element-12fd8b1 + *,
    .elementor-element-cf53515 + *,
    .elementor-element-5943b68 + * {
        position: relative !important;
        top: auto !important;
        margin-top: 20px !important;
    }
    
    /* Se houver texto sobrepondo, forçar posicionamento */
    img + a,
    img + p a,
    .elementor-widget-image + .elementor-widget-text-editor {
        display: block !important;
        margin-top: 20px !important;
        position: relative !important;
        z-index: 10 !important;
    }
    
    /* Correção CRÍTICA - Remover absolutamente qualquer sobreposição */
    .elementor-widget-image {
        overflow: visible !important;
        margin-bottom: 30px !important;
    }
    
    /* Forçar separação visual entre imagem e link */
    .elementor-element-54a9b87 > *:nth-child(2),
    .elementor-element-8648606 > *:nth-child(2),
    .elementor-element-046a21a > *:nth-child(2),
    .elementor-element-04621d8 > *:nth-child(2) {
        margin-top: 30px !important;
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }
    
    /* Se o link estiver posicionado absolutamente, resetar */
    .elementor-element-3aa6211 a,
    .elementor-element-4509112 a,
    .elementor-element-da51c35 a,
    .elementor-element-b4345bd a {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
    }
}

/* ===============================================
   Logos dos Parceiros - Layout Responsivo
   =============================================== */

/* Container das logos dos parceiros */
.elementor-element-d2ffbe4 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 30px !important;
    padding: 20px !important;
}

/* Logos individuais - tamanho consistente */
.elementor-element-712ebfe,
.elementor-element-f0f0024,
.elementor-element-zoho-logo,
.elementor-element-digibee-logo,
.elementor-element-positivo-logo {
    flex: 0 0 auto !important;
    max-width: 200px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Imagens das logos */
.elementor-element-712ebfe img,
.elementor-element-f0f0024 img,
.elementor-element-zoho-logo img,
.elementor-element-digibee-logo img,
.elementor-element-positivo-logo img {
    max-width: 100% !important;
    height: auto !important;
    max-height: 80px !important;
    object-fit: contain !important;
    filter: grayscale(0%) !important;
    transition: all 0.3s ease !important;
}

/* Hover effect para as logos */
.elementor-element-712ebfe img:hover,
.elementor-element-f0f0024 img:hover,
.elementor-element-zoho-logo img:hover,
.elementor-element-digibee-logo img:hover,
.elementor-element-positivo-logo img:hover {
    transform: scale(1.05) !important;
    filter: grayscale(0%) brightness(1.1) !important;
}

/* Mobile - Layout em coluna única */
@media (max-width: 768px) {
    .elementor-element-d2ffbe4 {
        flex-direction: column !important;
        gap: 20px !important;
        padding: 15px !important;
    }
    
    .elementor-element-712ebfe,
    .elementor-element-f0f0024,
    .elementor-element-zoho-logo,
    .elementor-element-digibee-logo,
    .elementor-element-positivo-logo {
        max-width: 150px !important;
        width: 100% !important;
    }
    
    .elementor-element-712ebfe img,
    .elementor-element-f0f0024 img,
    .elementor-element-zoho-logo img,
    .elementor-element-digibee-logo img,
    .elementor-element-positivo-logo img {
        max-height: 60px !important;
    }
}

/* Tablet - Layout em 2 colunas */
@media (min-width: 769px) and (max-width: 1024px) {
    .elementor-element-d2ffbe4 {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 25px !important;
        padding: 20px !important;
    }
    
    .elementor-element-712ebfe,
    .elementor-element-f0f0024,
    .elementor-element-zoho-logo,
    .elementor-element-digibee-logo,
    .elementor-element-positivo-logo {
        max-width: 180px !important;
        justify-self: center !important;
    }
}

/* Desktop - Layout em linha com espaçamento */
@media (min-width: 1025px) {
    .elementor-element-d2ffbe4 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: space-around !important;
        align-items: center !important;
        gap: 40px !important;
        padding: 30px 20px !important;
    }
    
    .elementor-element-712ebfe,
    .elementor-element-f0f0024,
    .elementor-element-zoho-logo,
    .elementor-element-digibee-logo,
    .elementor-element-positivo-logo {
        max-width: 200px !important;
        flex: 0 0 auto !important;
    }
    
    .elementor-element-712ebfe img,
    .elementor-element-f0f0024 img,
    .elementor-element-zoho-logo img,
    .elementor-element-digibee-logo img,
    .elementor-element-positivo-logo img {
        max-height: 80px !important;
    }
}

/* Ajustes específicos para logos com proporções diferentes */
.elementor-element-zoho-logo img {
    max-height: 70px !important; /* Zoho tem proporção mais larga */
}

.elementor-element-digibee-logo img {
    max-height: 60px !important; /* Digibee tem proporção mais compacta */
}

.elementor-element-positivo-logo img {
    max-height: 75px !important; /* Positivo tem proporção média */
}

/* ===============================================
   Menu de Políticas - Responsividade
   =============================================== */

/* Garantir que o menu de políticas apareça em todas as telas */
#menu-politicas-simple {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

/* Forçar exibição em mobile com seletores mais específicos */
.elementor-widget-text-editor#menu-politicas-simple,
.elementor-element-16781da#menu-politicas-simple,
div#menu-politicas-simple {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Mobile - Layout em coluna única para os links */
@media (max-width: 768px) {
    /* Forçar exibição com seletores mais específicos */
    .elementor-widget-text-editor#menu-politicas-simple,
    .elementor-element-16781da#menu-politicas-simple,
    div#menu-politicas-simple,
    #menu-politicas-simple {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 10 !important;
        padding: 15px 10px !important;
        text-align: center !important;
        background: transparent !important;
        border: none !important;
        margin: 0 !important;
        height: auto !important;
        min-height: auto !important;
    }
    
    /* Forçar exibição do container interno */
    #menu-politicas-simple .elementor-widget-container,
    #menu-politicas-simple > div {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        padding: 15px 0 !important;
        text-align: center !important;
    }
    
    #menu-politicas-simple div {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 15px !important;
        padding: 15px 0 !important;
    }
    
    #menu-politicas-simple a {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 280px !important;
        margin: 0 !important;
        padding: 12px 20px !important;
        background-color: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        border-radius: 6px !important;
        color: #ffffff !important;
        text-decoration: none !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        text-align: center !important;
        transition: all 0.3s ease !important;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
        position: relative !important;
        z-index: 1 !important;
    }
    
    #menu-politicas-simple a:hover {
        background-color: rgba(255, 255, 255, 0.2) !important;
        border-color: rgba(255, 255, 255, 0.5) !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
    }
    
    #menu-politicas-simple span {
        display: none !important; /* Esconder separadores em mobile */
    }
    
    /* Forçar exibição apenas dos elementos específicos do menu */
    #menu-politicas-simple .elementor-widget-container {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    #menu-politicas-simple span {
        display: none !important; /* Manter separadores ocultos */
    }
}

/* Tablet - Layout em linha com espaçamento reduzido */
@media (min-width: 769px) and (max-width: 1024px) {
    #menu-politicas-simple {
        padding: 20px 15px !important;
    }
    
    #menu-politicas-simple div {
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    
    #menu-politicas-simple a {
        margin: 0 8px !important;
        font-size: 13px !important;
        padding: 8px 12px !important;
    }
    
    #menu-politicas-simple span {
        color: #ffffff !important;
        margin: 0 3px !important;
        font-size: 12px !important;
    }
}

/* Desktop - Layout original */
@media (min-width: 1025px) {
    #menu-politicas-simple {
        padding: 20px 0 !important;
    }
    
    #menu-politicas-simple div {
        display: block !important;
        text-align: center !important;
    }
    
    #menu-politicas-simple a {
        display: inline-block !important;
        margin: 0 15px !important;
        font-size: 14px !important;
        padding: 0 !important;
        background: none !important;
        border: none !important;
        text-decoration: underline !important;
    }
    
    #menu-politicas-simple a:hover {
        background: none !important;
        border: none !important;
        transform: none !important;
        box-shadow: none !important;
        text-decoration: underline !important;
    }
    
    #menu-politicas-simple span {
        color: #ffffff !important;
        margin: 0 5px !important;
    }
}

/* ===============================================
   Forçar Exibição do Menu de Políticas - Todas as Resoluções
   =============================================== */

/* Regra específica para forçar exibição do menu de políticas em mobile */
@media (max-width: 1024px) {
    .elementor-widget-text-editor#menu-politicas-simple,
    .elementor-element-16781da#menu-politicas-simple,
    div#menu-politicas-simple,
    #menu-politicas-simple {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 10 !important;
        background: transparent !important;
        border: none !important;
        margin: 0 !important;
        height: auto !important;
        min-height: auto !important;
        flex: none !important;
    }
    
    #menu-politicas-simple .elementor-widget-container {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        text-align: center !important;
    }
    
    #menu-politicas-simple a {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        color: #ffffff !important;
        text-decoration: none !important;
        text-align: center !important;
        position: relative !important;
        z-index: 1 !important;
    }
    
    /* Forçar exibição dos links em mobile */
    #menu-politicas-simple div {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 15px !important;
        padding: 15px 0 !important;
    }
}

/* ===============================================
   Correções de Layout para Páginas Específicas
   =============================================== */

/* Garantir que outros elementos do Elementor não sejam afetados */
@media (max-width: 768px) {
    /* Corrigir elementos que podem ter sido afetados - EXCETO menu de políticas */
    .elementor-widget:not(#menu-politicas-simple):not(.elementor-widget-text-editor#menu-politicas-simple) {
        display: block !important;
        width: 100% !important;
        overflow: visible !important;
    }
    
    .elementor-widget-container:not(#menu-politicas-simple .elementor-widget-container) {
        width: 100% !important;
        display: block !important;
    }
    
    /* Garantir que imagens responsivas funcionem corretamente */
    .elementor-widget-image:not(#menu-politicas-simple .elementor-widget-image) img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        display: block !important;
    }
    
    /* Garantir que text editors funcionem corretamente - EXCETO menu de políticas */
    .elementor-widget-text-editor:not(#menu-politicas-simple):not(.elementor-widget-text-editor#menu-politicas-simple) {
        width: 100% !important;
        display: block !important;
    }
    
    /* Garantir que icon boxes funcionem corretamente */
    .elementor-widget-icon-box:not(#menu-politicas-simple .elementor-widget-icon-box) {
        width: 100% !important;
        display: block !important;
    }
    
    /* Garantir que heading widgets funcionem corretamente */
    .elementor-widget-heading:not(#menu-politicas-simple .elementor-widget-heading) {
        width: 100% !important;
        display: block !important;
    }
    
    /* Garantir que containers funcionem corretamente */
    .elementor-container,
    .e-con,
    .e-con-inner {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
    }
    
    /* Garantir que columns funcionem corretamente */
    .elementor-column {
        width: 100% !important;
        display: block !important;
        margin-bottom: 20px !important;
    }
    
    /* Garantir que sections funcionem corretamente */
    .elementor-section {
        width: 100% !important;
        display: block !important;
    }
    
    /* Corrigir elementos flex que podem ter quebrado - EXCETO menu de políticas */
    .elementor-widget:not(#menu-politicas-simple):not(.elementor-widget-text-editor#menu-politicas-simple) {
        flex: none !important;
        width: 100% !important;
    }
}

/* ===============================================
   Regras de Segurança para Menu de Políticas
   =============================================== */

/* Garantir que o menu de políticas seja sempre visível */
.elementor-widget-text-editor#menu-politicas-simple,
.elementor-element-16781da#menu-politicas-simple,
div#menu-politicas-simple,
#menu-politicas-simple {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 10 !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    height: auto !important;
    min-height: auto !important;
    flex: none !important;
}

#menu-politicas-simple .elementor-widget-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    text-align: center !important;
}

#menu-politicas-simple a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    text-align: center !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Mobile específico para menu de políticas */
@media (max-width: 768px) {
    #menu-politicas-simple div {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 15px !important;
        padding: 15px 0 !important;
    }
    
    #menu-politicas-simple a {
        display: block !important;
        width: 100% !important;
        max-width: 280px !important;
        margin: 0 auto !important;
        padding: 12px 20px !important;
        background-color: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        border-radius: 6px !important;
        color: #ffffff !important;
        text-decoration: none !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        text-align: center !important;
        transition: all 0.3s ease !important;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
        position: relative !important;
        z-index: 1 !important;
    }
    
    #menu-politicas-simple a:hover {
        background-color: rgba(255, 255, 255, 0.2) !important;
        border-color: rgba(255, 255, 255, 0.5) !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
    }
    
    #menu-politicas-simple span {
        display: none !important;
    }
}

/* ===============================================
   Performance - Otimizações
   =============================================== */

/* Desabilitar animações em dispositivos com preferência */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* GPU Acceleration para elementos críticos */
.e-n-menu-wrapper,
.e-n-menu-toggle {
    transform: translateZ(0);
    will-change: transform;
}

/* ===============================================
   Correções de Contraste - Acessibilidade
   =============================================== */

/* Títulos principais em toda a seção verde - branco para contraste */
.elementor-211 .elementor-element.elementor-element-8a5ed9b .elementor-heading-title,
.elementor-211 .elementor-element.elementor-element-ee3dc41 .elementor-heading-title,
.elementor-211 .elementor-element.elementor-element-f5bd5ea .elementor-heading-title,
.elementor-211 .elementor-element.elementor-element-6e53709 .elementor-heading-title,
.elementor-211 .elementor-element.elementor-element-592d41e .elementor-heading-title,
.elementor-211 .elementor-element.elementor-element-733d8f9 .elementor-heading-title {
    color: #ffffff !important; /* Texto branco para contraste com fundo verde */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5) !important; /* Sombra para legibilidade */
    font-weight: 700 !important; /* Peso da fonte para destaque */
}

/* Títulos específicos do "MSB Services for Public Sector Modernization" - REMOVIDO para dar precedência ao fundo verde definido abaixo */

/* Dividers em fundo verde - cores claras para contraste */
.elementor-211 .elementor-element.elementor-element-8a5ed9b .elementor-divider-separator,
.elementor-211 .elementor-element.elementor-element-ee3dc41 .elementor-divider-separator,
.elementor-211 .elementor-element.elementor-element-f5bd5ea .elementor-divider-separator,
.elementor-211 .elementor-element.elementor-element-6e53709 .elementor-divider-separator,
.elementor-211 .elementor-element.elementor-element-592d41e .elementor-divider-separator,
.elementor-211 .elementor-element.elementor-element-733d8f9 .elementor-divider-separator {
    border-color: #ffffff !important; /* Branco para contraste com fundo verde */
    opacity: 0.8 !important; /* Opacidade suave */
}

/* Texto em containers com fundo verde */
.elementor-211 .elementor-element.elementor-element-8a5ed9b,
.elementor-211 .elementor-element.elementor-element-ee3dc41 {
    color: #ffffff !important;
}

/* Títulos secundários em fundo verde */
.elementor-211 .elementor-element.elementor-element-8a5ed9b h5,
.elementor-211 .elementor-element.elementor-element-ee3dc41 h5,
.elementor-211 .elementor-element.elementor-element-8a5ed9b .elementor-widget-heading .elementor-heading-title,
.elementor-211 .elementor-element.elementor-element-ee3dc41 .elementor-widget-heading .elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6) !important;
}

/* SOLUÇÃO: Aplicar fundo verde a toda a seção "Serviços MSB para modernização do Setor Público" */
.elementor-211 .elementor-element.elementor-element-8a5ed9b,
.elementor-211 .elementor-element.elementor-element-ee3dc41,
.elementor-211 .elementor-element.elementor-element-f5bd5ea,
.elementor-211 .elementor-element.elementor-element-6e53709,
.elementor-211 .elementor-element.elementor-element-592d41e,
.elementor-211 .elementor-element.elementor-element-733d8f9 {
    background-color: var(--e-global-color-af4a947) !important; /* Fundo verde MSB */
    padding: 40px 20px !important; /* Espaçamento interno */
    margin-bottom: 0 !important; /* Remove espaços entre seções */
}

/* Parágrafos em toda a seção verde - texto branco */
.elementor-211 .elementor-element.elementor-element-8a5ed9b .elementor-text-editor p,
.elementor-211 .elementor-element.elementor-element-ee3dc41 .elementor-text-editor p,
.elementor-211 .elementor-element.elementor-element-8a5ed9b .elementor-widget-text-editor p,
.elementor-211 .elementor-element.elementor-element-ee3dc41 .elementor-widget-text-editor p,
.elementor-211 .elementor-element.elementor-element-f5bd5ea .elementor-text-editor p,
.elementor-211 .elementor-element.elementor-element-6e53709 .elementor-text-editor p,
.elementor-211 .elementor-element.elementor-element-592d41e .elementor-text-editor p,
.elementor-211 .elementor-element.elementor-element-733d8f9 .elementor-text-editor p {
    color: #ffffff !important; /* Texto branco para contraste com fundo verde */
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important; /* Sombra sutil para legibilidade */
    font-weight: 500 !important; /* Peso adequado para leitura */
    line-height: 1.8 !important; /* Espaçamento confortável */
}

/* Elementos específicos dos parágrafos da Fábrica de Software */
.elementor-211 .elementor-element.elementor-element-434d5ba p,
.elementor-211 .elementor-element.elementor-element-614f28e p {
    color: #2c3e50 !important; /* Texto escuro para fundo claro */
    text-shadow: none !important; /* Remove sombra */
    font-weight: 500 !important;
}

/* Spans com cores inline - ajustar para fundo claro */
.elementor-211 .elementor-element.elementor-element-8a5ed9b span[style*="color"],
.elementor-211 .elementor-element.elementor-element-ee3dc41 span[style*="color"],
.elementor-211 .elementor-element.elementor-element-434d5ba span[style*="color"],
.elementor-211 .elementor-element.elementor-element-614f28e span[style*="color"] {
    color: #142d5a !important; /* Azul da marca MSB para destaque */
    text-shadow: none !important; /* Remove sombra */
    font-weight: 700 !important; /* Títulos das fases em negrito */
}

/* Texto geral em toda a seção verde */
.elementor-211 .elementor-element.elementor-element-8a5ed9b .elementor-widget-container,
.elementor-211 .elementor-element.elementor-element-ee3dc41 .elementor-widget-container,
.elementor-211 .elementor-element.elementor-element-f5bd5ea .elementor-widget-container,
.elementor-211 .elementor-element.elementor-element-6e53709 .elementor-widget-container,
.elementor-211 .elementor-element.elementor-element-592d41e .elementor-widget-container,
.elementor-211 .elementor-element.elementor-element-733d8f9 .elementor-widget-container {
    color: #ffffff !important; /* Texto branco para contraste */
}

/* Icon boxes na seção verde - títulos e descrições */
.elementor-211 .elementor-element.elementor-element-6e53709 .elementor-icon-box-title,
.elementor-211 .elementor-element.elementor-element-592d41e .elementor-icon-box-title,
.elementor-211 .elementor-element.elementor-element-733d8f9 .elementor-icon-box-title {
    color: #ffffff !important; /* Títulos dos serviços em branco */
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4) !important;
}

.elementor-211 .elementor-element.elementor-element-6e53709 .elementor-icon-box-description,
.elementor-211 .elementor-element.elementor-element-592d41e .elementor-icon-box-description,
.elementor-211 .elementor-element.elementor-element-733d8f9 .elementor-icon-box-description {
    color: #ffffff !important; /* Descrições dos serviços em branco */
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Texto dentro de elementos strong/bold em fundo verde */
.elementor-211 .elementor-element.elementor-element-8a5ed9b strong,
.elementor-211 .elementor-element.elementor-element-ee3dc41 strong,
.elementor-211 .elementor-element.elementor-element-f5bd5ea strong,
.elementor-211 .elementor-element.elementor-element-6e53709 strong,
.elementor-211 .elementor-element.elementor-element-592d41e strong,
.elementor-211 .elementor-element.elementor-element-733d8f9 strong,
.elementor-211 .elementor-element.elementor-element-434d5ba strong,
.elementor-211 .elementor-element.elementor-element-614f28e strong {
    color: #ffffff !important; /* Branco para contraste com fundo verde */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6) !important; /* Sombra forte para destaque */
    font-weight: 800 !important; /* Máximo destaque */
}

/* Mobile - Manter contraste ótimo em dispositivos móveis com fundo verde */
@media (max-width: 768px) {
    /* Seção verde com padding reduzido em mobile */
    .elementor-211 .elementor-element.elementor-element-8a5ed9b,
    .elementor-211 .elementor-element.elementor-element-ee3dc41,
    .elementor-211 .elementor-element.elementor-element-f5bd5ea,
    .elementor-211 .elementor-element.elementor-element-6e53709,
    .elementor-211 .elementor-element.elementor-element-592d41e,
    .elementor-211 .elementor-element.elementor-element-733d8f9 {
        padding: 30px 15px !important; /* Padding menor para mobile */
    }
    
    /* Títulos em mobile - fundo verde */
    .elementor-211 .elementor-element.elementor-element-8a5ed9b .elementor-heading-title,
    .elementor-211 .elementor-element.elementor-element-ee3dc41 .elementor-heading-title,
    .elementor-211 .elementor-element.elementor-element-f5bd5ea .elementor-heading-title,
    .elementor-211 .elementor-element.elementor-element-6e53709 .elementor-heading-title,
    .elementor-211 .elementor-element.elementor-element-592d41e .elementor-heading-title,
    .elementor-211 .elementor-element.elementor-element-733d8f9 .elementor-heading-title,
    .elementor-211 .elementor-element.elementor-element-a580df8 .elementor-heading-title,
    .elementor-211 .elementor-element.elementor-element-a89ffc6 .elementor-heading-title {
        color: #ffffff !important; /* Branco para contraste com verde */
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7) !important; /* Sombra forte */
        font-size: 1.5em !important; /* Garantir tamanho legível no mobile */
    }
    
    /* Parágrafos em mobile - fundo verde */
    .elementor-211 .elementor-element.elementor-element-8a5ed9b p,
    .elementor-211 .elementor-element.elementor-element-ee3dc41 p,
    .elementor-211 .elementor-element.elementor-element-f5bd5ea p,
    .elementor-211 .elementor-element.elementor-element-6e53709 p,
    .elementor-211 .elementor-element.elementor-element-592d41e p,
    .elementor-211 .elementor-element.elementor-element-733d8f9 p,
    .elementor-211 .elementor-element.elementor-element-434d5ba p,
    .elementor-211 .elementor-element.elementor-element-614f28e p {
        color: #ffffff !important; /* Texto branco para contraste */
        text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5) !important; /* Sombra para legibilidade */
        font-weight: 600 !important;
        line-height: 1.9 !important;
        font-size: 1.05em !important; /* Ligeiramente maior no mobile */
    }
}

/* ===============================================
   Correções para Textos Específicos em Branco
   =============================================== */

/* Elementos específicos que estavam em branco - ajustar para azul/verde */

/* Título "Foco no governo Digital" */
.elementor-211 .elementor-element.elementor-element-d9a1c91 .elementor-heading-title {
    color: #142d5a !important; /* Azul MSB */
    text-shadow: none !important;
    font-weight: 700 !important;
}

/* Título "Porque transformar a tecnologia em progresso social" */
.elementor-211 .elementor-element.elementor-element-e1d797e .elementor-heading-title {
    color: #142d5a !important; /* Azul MSB */
    text-shadow: none !important;
    font-weight: 600 !important;
}

/* SOLUÇÃO ESPECIAL: Títulos "Serviços MSB para modernização do Setor Público" - fundo verde para contraste com imagem */
.elementor-211 .elementor-element.elementor-element-a580df8 .elementor-heading-title,
.elementor-211 .elementor-element.elementor-element-a89ffc6 .elementor-heading-title {
    background-color: var(--e-global-color-af4a947) !important; /* Fundo verde */
    color: #ffffff !important; /* Texto branco para contraste */
    padding: 15px 20px !important; /* Espaçamento interno */
    border-radius: 8px !important; /* Bordas arredondadas */
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5) !important; /* Sombra para legibilidade */
    font-weight: 800 !important;
    display: inline-block !important; /* Para que o fundo não ocupe toda a largura */
    margin-bottom: 20px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important; /* Sombra para destaque */
}

/* Outros elementos de heading que podem estar em branco */
.elementor-211 .elementor-element.elementor-element-22dc5bd .elementor-heading-title,
.elementor-211 .elementor-element.elementor-element-608be93 .elementor-heading-title,
.elementor-211 .elementor-element.elementor-element-2cc4d70 .elementor-heading-title {
    color: #142d5a !important; /* Azul MSB */
    text-shadow: none !important;
    font-weight: 700 !important;
}

/* ===============================================
   SOLUÇÃO FINAL: Fundo verde para toda a seção "Serviços MSB para modernização do Setor Público"
   =============================================== */

/* Aplicar fundo verde a todos os containers da seção "Serviços MSB para modernização do Setor Público" */
.elementor-211 .elementor-element.elementor-element-8a5ed9b,
.elementor-211 .elementor-element.elementor-element-ee3dc41,
.elementor-211 .elementor-element.elementor-element-f5bd5ea,
.elementor-211 .elementor-element.elementor-element-6e53709,
.elementor-211 .elementor-element.elementor-element-592d41e,
.elementor-211 .elementor-element.elementor-element-733d8f9 {
    background-color: var(--e-global-color-af4a947) !important; /* Fundo verde MSB */
    padding: 40px 20px !important; /* Espaçamento interno */
    margin-bottom: 0 !important; /* Remove espaços entre seções */
}

/* Todos os textos da seção ficam brancos com sombra para contraste */
.elementor-211 .elementor-element.elementor-element-8a5ed9b *,
.elementor-211 .elementor-element.elementor-element-ee3dc41 *,
.elementor-211 .elementor-element.elementor-element-f5bd5ea *,
.elementor-211 .elementor-element.elementor-element-6e53709 *,
.elementor-211 .elementor-element.elementor-element-592d41e *,
.elementor-211 .elementor-element.elementor-element-733d8f9 * {
    color: #ffffff !important;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7) !important;
}

/* Títulos das seções com destaque */
.elementor-211 .elementor-element.elementor-element-8a5ed9b h1,
.elementor-211 .elementor-element.elementor-element-8a5ed9b h2,
.elementor-211 .elementor-element.elementor-element-8a5ed9b h3,
.elementor-211 .elementor-element.elementor-element-ee3dc41 h1,
.elementor-211 .elementor-element.elementor-element-ee3dc41 h2,
.elementor-211 .elementor-element.elementor-element-ee3dc41 h3,
.elementor-211 .elementor-element.elementor-element-f5bd5ea h1,
.elementor-211 .elementor-element.elementor-element-f5bd5ea h2,
.elementor-211 .elementor-element.elementor-element-f5bd5ea h3,
.elementor-211 .elementor-element.elementor-element-6e53709 h1,
.elementor-211 .elementor-element.elementor-element-6e53709 h2,
.elementor-211 .elementor-element.elementor-element-6e53709 h3,
.elementor-211 .elementor-element.elementor-element-592d41e h1,
.elementor-211 .elementor-element.elementor-element-592d41e h2,
.elementor-211 .elementor-element.elementor-element-592d41e h3,
.elementor-211 .elementor-element.elementor-element-733d8f9 h1,
.elementor-211 .elementor-element.elementor-element-733d8f9 h2,
.elementor-211 .elementor-element.elementor-element-733d8f9 h3 {
    color: #ffffff !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8) !important;
    font-weight: 700 !important;
}

/* Parágrafos com melhor legibilidade */
.elementor-211 .elementor-element.elementor-element-8a5ed9b p,
.elementor-211 .elementor-element.elementor-element-ee3dc41 p,
.elementor-211 .elementor-element.elementor-element-f5bd5ea p,
.elementor-211 .elementor-element.elementor-element-6e53709 p,
.elementor-211 .elementor-element.elementor-element-592d41e p,
.elementor-211 .elementor-element.elementor-element-733d8f9 p {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6) !important;
    line-height: 1.6 !important;
}

/* Icon boxes - títulos e descrições */
.elementor-211 .elementor-element.elementor-element-8a5ed9b .elementor-icon-box-title,
.elementor-211 .elementor-element.elementor-element-ee3dc41 .elementor-icon-box-title,
.elementor-211 .elementor-element.elementor-element-f5bd5ea .elementor-icon-box-title,
.elementor-211 .elementor-element.elementor-element-6e53709 .elementor-icon-box-title,
.elementor-211 .elementor-element.elementor-element-592d41e .elementor-icon-box-title,
.elementor-211 .elementor-element.elementor-element-733d8f9 .elementor-icon-box-title {
    color: #ffffff !important;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.7) !important;
}

.elementor-211 .elementor-element.elementor-element-8a5ed9b .elementor-icon-box-description,
.elementor-211 .elementor-element.elementor-element-ee3dc41 .elementor-icon-box-description,
.elementor-211 .elementor-element.elementor-element-f5bd5ea .elementor-icon-box-description,
.elementor-211 .elementor-element.elementor-element-6e53709 .elementor-icon-box-description,
.elementor-211 .elementor-element.elementor-element-592d41e .elementor-icon-box-description,
.elementor-211 .elementor-element.elementor-element-733d8f9 .elementor-icon-box-description {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6) !important;
}

/* Dividers */
.elementor-211 .elementor-element.elementor-element-8a5ed9b .elementor-divider-separator,
.elementor-211 .elementor-element.elementor-element-ee3dc41 .elementor-divider-separator,
.elementor-211 .elementor-element.elementor-element-f5bd5ea .elementor-divider-separator,
.elementor-211 .elementor-element.elementor-element-6e53709 .elementor-divider-separator,
.elementor-211 .elementor-element.elementor-element-592d41e .elementor-divider-separator,
.elementor-211 .elementor-element.elementor-element-733d8f9 .elementor-divider-separator {
    border-top-color: #ffffff !important;
    opacity: 0.7;
}

/* Strong/bold text */
.elementor-211 .elementor-element.elementor-element-8a5ed9b strong,
.elementor-211 .elementor-element.elementor-element-ee3dc41 strong,
.elementor-211 .elementor-element.elementor-element-f5bd5ea strong,
.elementor-211 .elementor-element.elementor-element-6e53709 strong,
.elementor-211 .elementor-element.elementor-element-592d41e strong,
.elementor-211 .elementor-element.elementor-element-733d8f9 strong {
    color: #ffffff !important;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.8) !important;
}

/* Mobile - Ajustes responsivos */
@media (max-width: 768px) {
    .elementor-211 .elementor-element.elementor-element-8a5ed9b,
    .elementor-211 .elementor-element.elementor-element-ee3dc41,
    .elementor-211 .elementor-element.elementor-element-f5bd5ea,
    .elementor-211 .elementor-element.elementor-element-6e53709,
    .elementor-211 .elementor-element.elementor-element-592d41e,
    .elementor-211 .elementor-element.elementor-element-733d8f9 {
        padding: 20px 15px !important;
    }
    
    /* Sombras mais intensas em mobile para melhor legibilidade */
    .elementor-211 .elementor-element.elementor-element-8a5ed9b *,
    .elementor-211 .elementor-element.elementor-element-ee3dc41 *,
    .elementor-211 .elementor-element.elementor-element-f5bd5ea *,
    .elementor-211 .elementor-element.elementor-element-6e53709 *,
    .elementor-211 .elementor-element.elementor-element-592d41e *,
    .elementor-211 .elementor-element.elementor-element-733d8f9 * {
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9) !important;
    }
}

/* Mobile - Títulos específicos */
@media (max-width: 768px) {
    .elementor-211 .elementor-element.elementor-element-d9a1c91 .elementor-heading-title,
    .elementor-211 .elementor-element.elementor-element-e1d797e .elementor-heading-title {
        color: #142d5a !important;
        font-size: 1.2em !important;
    }
    
    /* Títulos com fundo verde em mobile */
    .elementor-211 .elementor-element.elementor-element-a580df8 .elementor-heading-title,
    .elementor-211 .elementor-element.elementor-element-a89ffc6 .elementor-heading-title {
        padding: 12px 15px !important;
        font-size: 1.4em !important;
        text-align: center !important; /* Centralizar em mobile */
    }
}