.elementor-2627 .elementor-element.elementor-element-e8fb6e4 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-widget-theme-post-featured-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2627 .elementor-element.elementor-element-874bf66{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;align-self:flex-start;}.elementor-2627 .elementor-element.elementor-element-874bf66 img{max-width:100%;opacity:0.46;filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );color:var( --e-global-color-primary );}.elementor-2627 .elementor-element.elementor-element-7513d4d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2627 .elementor-element.elementor-element-d0527d3 .elementor-icon-list-icon{width:14px;}.elementor-2627 .elementor-element.elementor-element-d0527d3 .elementor-icon-list-icon i{font-size:14px;}.elementor-2627 .elementor-element.elementor-element-d0527d3 .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );color:var( --e-global-color-primary );}.elementor-2627 .elementor-element.elementor-element-67cad2f{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-2627 .elementor-element.elementor-element-b72322d{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-2627 .elementor-element.elementor-element-b72322d .elementor-divider-separator{width:100%;}.elementor-2627 .elementor-element.elementor-element-b72322d .elementor-divider{padding-block-start:15px;padding-block-end:15px;}@media(min-width:768px){.elementor-2627 .elementor-element.elementor-element-e8fb6e4{width:100%;}.elementor-2627 .elementor-element.elementor-element-e03dde5{width:59.175%;}.elementor-2627 .elementor-element.elementor-element-293204a{width:40.775%;}}@media(max-width:1024px){ .elementor-2627 .elementor-element.elementor-element-67cad2f{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}@media(max-width:767px){ .elementor-2627 .elementor-element.elementor-element-67cad2f{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}/* Start custom CSS for theme-post-featured-image, class: .elementor-element-874bf66 *//* ==========================================================
   FEATURED IMAGE – FULL WIDTH COM ALTURA REDUZIDA E CORTE NA BASE
   ========================================================== */

/* Desktop e tablet (largura >= 768px) */
@media (min-width: 768px) {
    /* Força o container do widget */
    .elementor-widget-theme-post-featured-image,
    .elementor-widget-theme-post-featured-image .elementor-widget-container,
    .elementor-widget-theme-post-featured-image img {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 500px !important;        /* Altura ajustada para 500px */
        object-fit: cover !important;
        object-position: top center !important; /* Corta a base, mantém o topo */
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Ajuste do container para ocupar a tela */
    .elementor-widget-theme-post-featured-image {
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden; /* Garante que o corte aconteça */
    }

    /* Garante que a imagem dentro também respeite */
    .elementor-widget-theme-post-featured-image img {
        width: 100% !important;
        height: 500px !important;        /* Altura ajustada para 500px */
        object-fit: cover !important;
        object-position: top center !important;
        display: block !important;
        margin: 0 auto !important;
    }
}

/* Mobile (largura < 768px) – altura automática, sem corte */
@media (max-width: 767px) {
    .elementor-widget-theme-post-featured-image {
        width: 100% !important;
        max-width: 100% !important;
        left: 0 !important;
        transform: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
    }

    .elementor-widget-theme-post-featured-image img {
        width: 100% !important;
        height: auto !important;
        object-fit: none !important;
        object-position: initial !important;
        display: block !important;
    }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-ff04bbc */@media (max-width: 768px) {
  /* 1. Force all inner sections and columns to be full width */
  .elementor-section-wrap .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-inner-section,
  .elementor-row {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    display: block !important; /* forces stacking */
  }
  
  /* 2. Specifically target the column that holds the Post Content */
  .elementor-column .elementor-widget-wrap {
    padding-left: 5px !important;
    padding-right: 5px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    width: 100% !important;
  }

  /* 3. Target the POST CONTENT widget directly */
  .elementor-widget-theme-post-content,
  .post-content,
  .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* 4. Force the inner text containers to use full width */
  .elementor-widget-theme-post-content .elementor-widget-container,
  .post-content .elementor-widget-container,
  .entry-content {
    padding: 0 5px !important; /* small padding to avoid touching edges */
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 5. Fix word breaks - REMOVE forced breaking */
  .elementor-widget-theme-post-content p,
  .post-content p,
  .entry-content p {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    max-width: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for column, class: .elementor-element-b86c44e *//* ============================================================
   FORÇA BRUTA – TÍTULO E DATA SOBRE A IMAGEM
   ============================================================ */

/* --- 1. CONTAINER DA IMAGEM (qualquer um) --- */
figure:has(img.wp-post-image),
.wp-block-post-featured-image,
.post-thumbnail,
.featured-image,
.entry-image,
.single-post .post-thumbnail {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    margin-bottom: 0 !important;
}

/* --- 2. A IMAGEM --- */
figure:has(img.wp-post-image) img,
.wp-block-post-featured-image img,
.post-thumbnail img,
.featured-image img,
.entry-image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 16px !important;
}

/* --- 3. OVERLAY ESCURO --- */
figure:has(img.wp-post-image)::after,
.wp-block-post-featured-image::after,
.post-thumbnail::after,
.featured-image::after,
.entry-image::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 65% !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 100%) !important;
    pointer-events: none !important;
    border-radius: 0 0 16px 16px !important;
    z-index: 1 !important;
}

/* --- 4. TÍTULO SOBRE A IMAGEM (pega qualquer título) --- */
figure:has(img.wp-post-image) .entry-title,
.wp-block-post-featured-image .entry-title,
.post-thumbnail .entry-title,
.featured-image .entry-title,
.entry-image .entry-title,
.single-post .entry-title,
.single .entry-title,
.entry-header .entry-title,
article .entry-title,
h1.entry-title {
    position: absolute !important;
    bottom: 50px !important;
    left: 30px !important;
    right: 30px !important;
    color: #FFFFFF !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.7) !important;
    z-index: 2 !important;
}

/* --- 5. DATA SOBRE A IMAGEM --- */
figure:has(img.wp-post-image) .entry-date,
.wp-block-post-featured-image .entry-date,
.post-thumbnail .entry-date,
.featured-image .entry-date,
.entry-image .entry-date,
.single-post .entry-date,
.single .entry-date,
.entry-header .entry-date,
article .entry-date,
.entry-meta .posted-on,
.entry-meta .date {
    position: absolute !important;
    bottom: 20px !important;
    left: 30px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6) !important;
    z-index: 2 !important;
}

/* --- 6. REMOVE O TÍTULO E DATA DE FORA DA IMAGEM --- */
.single-post .entry-header .entry-title:not(.wp-block-post-featured-image .entry-title),
.single .entry-header .entry-title:not(.wp-block-post-featured-image .entry-title) {
    display: none !important;
}

.single-post .entry-meta,
.single .entry-meta {
    display: none !important;
}

/* ============================================================
   RESPONSIVIDADE
   ============================================================ */

@media (max-width: 768px) {
    figure:has(img.wp-post-image) .entry-title,
    .wp-block-post-featured-image .entry-title,
    .post-thumbnail .entry-title,
    .featured-image .entry-title,
    .entry-image .entry-title {
        font-size: 24px !important;
        bottom: 40px !important;
        left: 20px !important;
        right: 20px !important;
    }

    figure:has(img.wp-post-image) .entry-date,
    .wp-block-post-featured-image .entry-date,
    .post-thumbnail .entry-date,
    .featured-image .entry-date,
    .entry-image .entry-date {
        bottom: 16px !important;
        left: 20px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 480px) {
    figure:has(img.wp-post-image) .entry-title,
    .wp-block-post-featured-image .entry-title,
    .post-thumbnail .entry-title,
    .featured-image .entry-title,
    .entry-image .entry-title {
        font-size: 18px !important;
        bottom: 34px !important;
        left: 15px !important;
        right: 15px !important;
    }

    figure:has(img.wp-post-image) .entry-date,
    .wp-block-post-featured-image .entry-date,
    .post-thumbnail .entry-date,
    .featured-image .entry-date,
    .entry-image .entry-date {
        bottom: 14px !important;
        left: 15px !important;
        font-size: 11px !important;
    }
}/* End custom CSS */
/* Start custom CSS for wpforms, class: .elementor-element-fb3c331 *//* ============================================================
   ESTILO PARA FORMULÁRIO – FOCCOS TECNOLOGIA
   (CORREÇÃO FINAL: Desktop lado a lado, Celular empilhado)
   ============================================================ */

/* --- 1. CONTAINER DO FORMULÁRIO (Mantendo seu fundo escuro) --- */
.wpforms-container,
.foccos-form-container {
    background: rgba(10, 19, 35, 0.6);
    border: 1px solid rgba(70, 100, 160, 0.25);
    border-radius: 16px;
    padding: 40px 35px 35px;
    max-width: 800px;
    margin: 0 auto;
    transition: border-color 0.3s ease;
}

.wpforms-container:hover,
.foccos-form-container:hover {
    border-color: rgba(61, 90, 241, 0.3);
}

/* --- 2. TÍTULO E DESCRIÇÃO --- */
.wpforms-container .wpforms-title,
.foccos-form-container .foccos-form-title {
    color: #FFFFFF !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    font-family: 'Segoe UI', Arial, sans-serif !important;
    text-align: center !important;
}

.wpforms-container .wpforms-description,
.foccos-form-container .foccos-form-description {
    color: #94A3B8 !important;
    font-size: 15px !important;
    margin-bottom: 25px !important;
    font-family: 'Segoe UI', Arial, sans-serif !important;
    line-height: 1.6 !important;
    text-align: center !important;
}

/* --- 3. ESTRUTURA FLEX (Permite quebra, mas com tamanhos fixos não vai quebrar) --- */
.wpforms-container form,
.foccos-form-container form {
    display: flex !important;
    flex-wrap: wrap !important; /* Volta a permitir quebra (mas não vai quebrar com esses tamanhos) */
    justify-content: center !important; /* Centraliza o conjunto no meio da tela */
    align-items: flex-end !important;
    gap: 10px !important; /* Espaço curtinho entre os itens */
}

/* --- 4. RESET DOS CAMPOS --- */
.wpforms-container .wpforms-field, 
.foccos-form-container .foccos-form-field {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

/* --- 5. TAMANHOS DOS CAMPOS E BOTÃO (Aumentei os tamanhos) --- */
.wpforms-container .wpforms-field-name,
.foccos-form-container .foccos-form-field-name {
    flex: 0 0 270px !important; /* Aumentei de 250px para 270px */
}

.wpforms-container .wpforms-field-email,
.foccos-form-container .foccos-form-field-email {
    flex: 0 0 330px !important; /* Aumentei de 310px para 330px */
}

/* --- 6. BOTÃO (Tamanho fixo e mais largo) --- */
.wpforms-container .wpforms-submit-container,
.foccos-form-container .foccos-form-submit {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

.wpforms-container button[type="submit"],
.wpforms-container .wpforms-submit,
.foccos-form-container button[type="submit"],
.foccos-form-container .foccos-form-submit-button {
    width: auto !important;
    min-width: 160px !important; /* Botão largo e firme */
    padding: 14px 25px !important;
    height: 50px !important;
    white-space: nowrap !important;
    
    background: linear-gradient(135deg, #3D5AF1, #4D6BFF) !important;
    border: none !important;
    border-radius: 10px !important; /* Mudei de 50px (pílula) para 10px (quadrado leve) */
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-family: 'Segoe UI', Arial, sans-serif !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(61, 90, 241, 0.3) !important;
    text-align: center !important;
}

.wpforms-container button[type="submit"]:hover,
.wpforms-container .wpforms-submit:hover,
.foccos-form-container button[type="submit"]:hover,
.foccos-form-container .foccos-form-submit-button:hover {
    transform: scale(1.02) !important;
    box-shadow: 0 6px 25px rgba(61, 90, 241, 0.5) !important;
    background: linear-gradient(135deg, #4D6BFF, #5A7AFF) !important;
}

/* --- 6. ESTILO DOS INPUTS (Mantendo o seu fundo original) --- */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.foccos-form-container input[type="text"],
.foccos-form-container input[type="email"] {
    width: 100% !important;
    padding: 14px 16px !important;
    height: 50px !important;
    background: rgba(0, 0, 0, 0.3) !important; /* VOLTOU AO FUNDO ESCURO ORIGINAL */
    border: 1px solid rgba(70, 100, 160, 0.2) !important;
    border-radius: 10px !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-family: 'Segoe UI', Arial, sans-serif !important;
    box-sizing: border-box !important;
    transition: border-color 0.3s ease !important;
}

.wpforms-container input:focus,
.foccos-form-container input:focus {
    border-color: #4968FF !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(61, 90, 241, 0.15) !important;
}

.wpforms-container input::placeholder,
.foccos-form-container input::placeholder {
    color: #5a6f8a !important;
}

/* --- 7. ESCONDENDO OS LABELS ("Obrigatório" etc) --- */
.wpforms-container label,
.wpforms-container .wpforms-field-label,
.foccos-form-container label,
.foccos-form-container .foccos-form-label {
    display: none !important; 
}

/* --- 8. BOTÃO (Na mesma linha, mantendo azul original) --- */
/* Classe CORRETA para pegar o botão no WPForms */
.wpforms-container .wpforms-field-container,
.foccos-form-container .foccos-field-container {
    display: contents !important; /* IGNORA O BLOCO DO WPForms */
}

.wpforms-container .wpforms-submit-container,
.foccos-form-container .foccos-form-submit {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

.wpforms-container button[type="submit"],
.wpforms-container .wpforms-submit,
.foccos-form-container button[type="submit"],
.foccos-form-container .foccos-form-submit-button {
    width: auto !important;
    min-width: 120px !important;
    padding: 14px 25px !important;
    height: 50px !important;
    white-space: nowrap !important;
    
    /* MANTENDO O AZUL ORIGINAL DO SEU BOTÃO */
    background: linear-gradient(135deg, #3D5AF1, #4D6BFF) !important;
    border: none !important;
    border-radius: 10px !important; /* Mudei de 50px (pílula) para 10px (quadrado leve) */
    
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-family: 'Segoe UI', Arial, sans-serif !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(61, 90, 241, 0.3) !important;
    text-align: center !important;
}

.wpforms-container button[type="submit"]:hover,
.wpforms-container .wpforms-submit:hover,
.foccos-form-container button[type="submit"]:hover,
.foccos-form-container .foccos-form-submit-button:hover {
    transform: scale(1.02) !important;
    box-shadow: 0 6px 25px rgba(61, 90, 241, 0.5) !important;
    background: linear-gradient(135deg, #4D6BFF, #5A7AFF) !important;
}

/* --- 9. CHECKBOX (caso tenha) --- */
.wpforms-container .wpforms-field-checkbox,
.foccos-form-container .foccos-form-checkbox {
    width: 100% !important;
    margin-top: 10px !important;
}

.wpforms-container .wpforms-field-checkbox label,
.foccos-form-container .foccos-form-checkbox label {
    color: #94A3B8 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
}

.wpforms-container .wpforms-field-checkbox input[type="checkbox"],
.foccos-form-container .foccos-form-checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin-top: 2px !important;
    accent-color: #3D5AF1 !important;
    cursor: pointer !important;
    background: rgba(0, 0, 0, 0.3) !important;
    border-radius: 4px !important;
}

/* ============================================================
   RESPONSIVIDADE (CELULAR: TUDO UM ABAIXO DO OUTRO)
   ============================================================ */
@media (max-width: 768px) {
    .wpforms-container,
    .foccos-form-container {
        padding: 28px 20px 25px;
    }

    .wpforms-container .wpforms-title,
    .foccos-form-container .foccos-form-title {
        font-size: 22px !important;
    }

    .wpforms-container .wpforms-description,
    .foccos-form-container .foccos-form-description {
        font-size: 14px !important;
    }

    /* FORÇA TUDO A FICAR EM COLUNA NO CELULAR */
    .wpforms-container form,
    .foccos-form-container form {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
    }

    .wpforms-container .wpforms-field-name,
    .wpforms-container .wpforms-field-email,
    .foccos-form-container .foccos-form-field-name,
    .foccos-form-container .foccos-form-field-email,
    .wpforms-container .wpforms-submit-container, 
    .foccos-form-container .foccos-form-submit {
        flex: none !important;
        width: 100% !important;
    }

    .wpforms-container button[type="submit"],
    .wpforms-container .wpforms-submit,
    .foccos-form-container button[type="submit"],
    .foccos-form-container .foccos-form-submit-button {
        width: 100% !important;
        min-width: auto !important;
        padding: 14px !important;
        font-size: 15px !important;
        border-radius: 10px !important; /* Mantive o quadrado leve no celular também */
    }
}/* End custom CSS */
/* Start custom CSS *//* ==========================================================
   CSS GLOBAL – BLOG FOCCOS (UNIFICADO E LAPIDADO)
   ==========================================================
   Este arquivo define:
   - Fundo da página com gradiente radial + grid de pontos
   - Cores, tipografia, links, botões e títulos
   - Responsividade mobile-first
   - Exceções para sliders (Swiper, Slick, etc.)
   ========================================================== */

/* ---------- RESET E FUNDO GLOBAL ---------- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,
body {
    min-height: 100vh;
    margin: 0;
    padding: 0;
    font-family: 'Inter', 'Segoe UI', Roboto, system-ui, sans-serif;
    background: radial-gradient(circle at 70% 30%, #0F172A 0%, #070A10 80%);
    color: #E2E8F0; /* texto padrão claro */
    overflow-x: hidden;
}

/* ---------- FUNDO COM PONTOS (NETWORK DOTS) ---------- */
body::before {
    content: '';
    position: fixed; /* fixo para cobrir toda a tela */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        linear-gradient(rgba(61, 90, 241, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(61, 90, 241, 0.04) 1px, transparent 1px);
    background-size: 60px 60px;
    pointer-events: none;
    z-index: 0;
}

/* ---------- PONTOS ANIMADOS (DOTS) ---------- */
body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
    background-image:
        radial-gradient(circle at 5% 10%, rgba(61,90,241,0.15) 2px, transparent 2px),
        radial-gradient(circle at 8% 20%, rgba(61,90,241,0.12) 2px, transparent 2px),
        radial-gradient(circle at 3% 40%, rgba(61,90,241,0.18) 2px, transparent 2px),
        radial-gradient(circle at 5% 60%, rgba(61,90,241,0.10) 2px, transparent 2px),
        radial-gradient(circle at 7% 80%, rgba(61,90,241,0.14) 2px, transparent 2px),
        radial-gradient(circle at 3% 90%, rgba(61,90,241,0.16) 2px, transparent 2px),
        radial-gradient(circle at 15% 30%, rgba(61,90,241,0.10) 2px, transparent 2px),
        radial-gradient(circle at 12% 70%, rgba(61,90,241,0.12) 2px, transparent 2px),
        radial-gradient(circle at 8% 50%, rgba(61,90,241,0.14) 2px, transparent 2px),
        radial-gradient(circle at 20% 15%, rgba(61,90,241,0.08) 2px, transparent 2px),
        radial-gradient(circle at 2% 45%, rgba(61,90,241,0.11) 2px, transparent 2px),
        radial-gradient(circle at 2% 75%, rgba(61,90,241,0.13) 2px, transparent 2px);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    animation: pulseDots 4s ease-in-out infinite alternate;
}

@keyframes pulseDots {
    0% { opacity: 0.6; }
    100% { opacity: 1; }
}

/* ---------- GARANTE QUE O CONTEÚDO FIQUE ACIMA DO FUNDO ---------- */
body > * {
    position: relative;
    z-index: 1;
}

/* ---------- CORES DE TÍTULOS (AZUL SUAVE) ---------- */
h1, h2, h3, h4, h5, h6,
.entry-title, .page-title, .post-title, .widget-title,
.elementor-widget-heading .elementor-heading-title {
    color: #6A82FF !important;
    font-weight: 700;
    letter-spacing: -0.02em;
}

/* ---------- CORES DE LINKS (ALTA VISIBILIDADE) ---------- */
a:not(.elementor-button):not(.btn):not(.button) {
    color: #7A8CFF !important;
    text-decoration: none;
    transition: color 0.3s ease;
}

a:not(.elementor-button):not(.btn):not(.button):hover {
    color: #A0B4FF !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Links dentro de conteúdo de posts */
.entry-content a:not(.elementor-button):not(.btn):not(.button),
.post-content a:not(.elementor-button):not(.btn):not(.button),
.page-content a:not(.elementor-button):not(.btn):not(.button) {
    color: #7A8CFF !important;
    font-weight: 500;
}

.entry-content a:hover:not(.elementor-button):not(.btn):not(.button),
.post-content a:hover:not(.elementor-button):not(.btn):not(.button),
.page-content a:hover:not(.elementor-button):not(.btn):not(.button) {
    color: #A0B4FF !important;
}

/* ---------- BOTÕES (PADRÃO) ---------- */
.btn, .button, .elementor-button, .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #3D5AF1, #4D6BFF);
    color: #FFFFFF !important;
    font-weight: 600;
    padding: 0.75rem 2rem;
    border-radius: 50px;
    border: 1px solid rgba(255,255,255,0.15);
    box-shadow: 0 4px 15px rgba(61, 90, 241, 0.3);
    transition: all 0.3s ease;
    text-decoration: none;
    cursor: pointer;
    font-size: 1rem;
    white-space: nowrap;
    max-width: 100%;
    box-sizing: border-box;
    height: auto;
}

.btn:hover, .button:hover, .elementor-button:hover, .wp-block-button__link:hover {
    background: linear-gradient(135deg, #4D6BFF, #5F7BFF);
    transform: scale(1.03);
    box-shadow: 0 6px 25px rgba(61, 90, 241, 0.5);
    color: #FFFFFF !important;
    text-decoration: none;
}

/* ---------- RESPONSIVIDADE GERAL ---------- */
/* 1. Largura máxima para todos os elementos (exceto sliders) */
*:not(.swiper-slide):not(.slick-slide):not(.swiper-wrapper):not(.slick-list):not(.elementor-widget-image-carousel):not(.swiper-container):not(.slick-slider) {
    max-width: 100% !important;
    box-sizing: border-box;
}

/* 2. Quebra de palavras longas (exceto sliders) */
*:not(.swiper-slide):not(.slick-slide):not(.swiper-wrapper):not(.slick-list) {
    word-break: break-word;
    overflow-wrap: break-word;
}

/* 3. Imagens, vídeos, iframes responsivos (exceto sliders) */
img:not(.swiper-slide img):not(.slick-slide img),
video:not(.swiper-slide video):not(.slick-slide video),
iframe:not(.swiper-slide iframe):not(.slick-slide iframe) {
    max-width: 100% !important;
    height: auto !important;
    display: block;
}

/* 4. Tabelas com rolagem horizontal (exceto sliders) */
table:not(.swiper-slide table):not(.slick-slide table) {
    display: block;
    overflow-x: auto;
    max-width: 100%;
    white-space: nowrap;
}

/* 5. Elementos com largura fixa (inline style) – limitados (exceto sliders) */
[style*="width:"]:not(.swiper-slide):not(.slick-slide):not(.elementor-widget-image-carousel) {
    max-width: 100% !important;
}

/* 6. Botões responsivos (já definidos acima com white-space: nowrap, mas forçamos quebra se necessário) */
.btn:not(.swiper-slide .btn):not(.slick-slide .btn),
.button:not(.swiper-slide .button):not(.slick-slide .button),
.elementor-button:not(.swiper-slide .elementor-button):not(.slick-slide .elementor-button),
.wp-block-button__link:not(.swiper-slide .wp-block-button__link):not(.slick-slide .wp-block-button__link) {
    max-width: 100% !important;
    white-space: normal;
    word-break: break-word;
    box-sizing: border-box;
    height: auto;
}

/* ---------- CORREÇÃO PARA O MENU (REMOVE UNDERLINE E BORDA) ---------- */
.menu-item a,
.nav-menu a,
.main-navigation a,
.elementor-nav-menu a,
.et-menu a,
#primary-menu a,
#menu-principal a {
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.menu-item a:hover,
.nav-menu a:hover,
.main-navigation a:hover,
.elementor-nav-menu a:hover,
.et-menu a:hover,
#primary-menu a:hover,
#menu-principal a:hover {
    text-decoration: underline !important;
    text-decoration-style: solid !important;
    text-decoration-color: #7A8CFF !important;
    border-bottom: none !important;
}

/* ---------- MOBILE (≤ 768px) ---------- */
@media (max-width: 768px) {
    /* Empilha colunas (exceto sliders) */
    .elementor-column:not(.swiper-slide .elementor-column):not(.slick-slide .elementor-column),
    .col:not(.swiper-slide .col):not(.slick-slide .col) {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Botões ocupam largura total (exceto sliders) */
    .btn:not(.swiper-slide .btn):not(.slick-slide .btn),
    .button:not(.swiper-slide .button):not(.slick-slide .button),
    .elementor-button:not(.swiper-slide .elementor-button):not(.slick-slide .elementor-button),
    .wp-block-button__link:not(.swiper-slide .wp-block-button__link):not(.slick-slide .wp-block-button__link) {
        width: 100% !important;
        padding: 0.8rem 1rem !important;
        font-size: 1rem !important;
        text-align: center;
        justify-content: center;
    }

    /* Reduz padding lateral do conteúdo principal */
    .entry-content,
    .page-content,
    .site-main {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* ---------- AJUSTES PARA TELAS MUITO PEQUENAS (≤ 480px) ---------- */
@media (max-width: 480px) {
    body {
        font-size: 15px;
    }
    h1 {
        font-size: 1.8rem;
    }
    h2 {
        font-size: 1.5rem;
    }
    h3 {
        font-size: 1.3rem;
    }
    .btn, .button, .elementor-button {
        font-size: 0.9rem !important;
        padding: 0.6rem 1.2rem !important;
    }
}

/* ---------- EXCEÇÕES PARA SLIDERS ---------- */
/* Não alteramos o comportamento dos sliders; apenas reafirmamos que eles são independentes */
.swiper-slide,
.slick-slide,
.swiper-wrapper,
.slick-list,
.elementor-widget-image-carousel,
.swiper-container,
.slick-slider {
    /* Mantém o CSS original do slider, sem interferência */
    max-width: none !important; /* ou o que for necessário */
    overflow: visible !important;
}/* End custom CSS */