.elementor-kit-5{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================
   RESET E CONFIGURAÇÕES GERAIS
   ============================================ */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden; /* Previne scroll horizontal */
    font-family: sans-serif; /* Defina sua fonte principal aqui */
}

/* ============================================
   CONTAINER PRINCIPAL DO SITE
   ============================================ */

.container-1440 {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0;
}

/* ============================================
   ELEMENTOS QUE PODEM CAUSAR OVERFLOW
   ============================================ */

img, video, iframe, canvas, svg {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ============================================
   ELEMENTOS DE FORMULÁRIO
   ============================================ */

input, textarea, button, select {
    max-width: 100%;
}

/* ============================================
   UTILITÁRIOS PARA SEÇÕES ESPECIAIS
   ============================================ */

/* Para elementos que devem ir até as bordas da tela */
.full-width {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

/* Container interno para conteúdo dentro de elementos full-width */
.full-width-inner {
    max-width: 1440px;
    margin: 0 auto;
}

/* ============================================
   MEDIA QUERIES PARA RESPONSIVIDADE
   ============================================ */

/* Para telas maiores que 1440px */
@media (min-width: 1440px) {
    body {
        background-color: #f5f5f5; /* Apenas para visualização */
    }
    
    .container-1440 {
        box-shadow: 0 0 20px rgba(0,0,0,0.1); /* Sombra opcional para destacar */
    }
}

/* Para telas menores que 1440px */
@media (max-width: 1440px) {
    .container-1440 {
        padding: 0 20px; /* Adiciona padding lateral em telas menores */
    }
}

/* Para dispositivos móveis */
@media (max-width: 768px) {
    .container-1440 {
        padding: 0 15px;
    }
}

/* Para dispositivos muito pequenos */
@media (max-width: 480px) {
    .container-1440 {
        padding: 0 10px;
    }
}

/* ============================================
   ESTILOS PARA ELEMENTOS COMUNS (OPCIONAL)
   ============================================ */

/* Header fixo exemplo */
.site-header {
    width: 100%;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.site-header .container-1440 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
}

/* Footer exemplo */
.site-footer {
    width: 100%;
    background: #333;
    color: #fff;
    padding: 40px 0;
}

/* Seção de conteúdo principal */
.main-content {
    min-height: 70vh;
    padding: 40px 0;
}

/* Grid básico para colunas */
.grid-2-colunas {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.grid-3-colunas {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* ============================================
   CLASSES DE ESPAÇAMENTO CONSISTENTES
   ============================================ */

.padding-section {
    padding: 60px 0;
}

.margin-top {
    margin-top: 30px;
}

.margin-bottom {
    margin-bottom: 30px;
}

/* ============================================
   RESET RADICAL - EVITA TODA DISTORÇÃO
   ============================================ */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%; /* Previne zoom em textos no iOS */
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

html {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

body {
    width: 100%;
    min-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    position: relative;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    font-size: 16px; /* Tamanho de fonte fixo base */
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   CONTAINER ABSOLUTAMENTE FIXO
   ============================================ */

.container-fixo-1440 {
    width: 100%;
    max-width: 1440px;
    min-width: 1440px; /* CRÍTICO: Força largura mínima */
    margin: 0 auto;
    padding: 0;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-color: #ffffff; /* Define fundo para áreas vazias */
}

/* ============================================
   PREVENÇÃO DE ZOOM E DISTORÇÃO
   ============================================ */

/* Desabilita zoom em elementos interativos em dispositivos touch */
input, textarea, button, select {
    touch-action: manipulation;
    font-size: 16px; /* Tamanho mínimo para evitar zoom automático no iOS */
}

/* Previne resize de textarea */
textarea {
    resize: vertical; /* ou 'none' se quiser desabilitar completamente */
    max-height: 300px;
}

/* ============================================
   ELEMENTOS IMUTÁVEIS - SEM REDIMENSIONAMENTO
   ============================================ */

.elemento-fixo {
    width: 100%;
    height: auto;
    display: block;
}

/* Para imagens que NÃO devem redimensionar */
.img-fixa {
    width: 100%;
    height: auto;
    max-width: none; /* Remove limite máximo */
    object-fit: contain; /* Mantém proporção sem cortar */
}

/* Para vídeos e iframes */
.video-fixo, .iframe-fixo {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9; /* Mantém proporção */
}

/* ============================================
   SISTEMA DE GRID FIXO
   ============================================ */

.grid-fixo {
    display: grid;
    grid-template-columns: repeat(12, 1fr); /* 12 colunas fixas */
    gap: 20px;
    width: 100%;
}

.col-fixa {
    grid-column: span 1;
}

/* Colunas específicas - sempre a mesma largura */
.col-6-fixa {
    width: 720px; /* Metade de 1440px */
    flex-shrink: 0; /* Não encolhe */
}

.col-4-fixa {
    width: 480px; /* Um terço de 1440px */
    flex-shrink: 0;
}

.col-3-fixa {
    width: 360px; /* Um quarto de 1440px */
    flex-shrink: 0;
}

/* ============================================
   FONTES RESISTENTES AO ZOOM
   ============================================ */

.titulo-fixo {
    font-size: 2.5rem; /* Usar rem para escalabilidade controlada */
    font-weight: 700;
    line-height: 1.2;
}

.subtitulo-fixo {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.3;
}

.texto-fixo {
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: 0.02em;
}

/* Unidades fixas para elementos críticos */
.medida-fixa {
    width: 1440px; /* Valor absoluto */
    height: 500px; /* Valor absoluto */
    padding: 40px; /* Valor absoluto */
    margin: 0 auto;
}

/* ============================================
   BOTÕES E ELEMENTOS INTERATIVOS FIXOS
   ============================================ */

.btn-fixo {
    display: inline-block;
    padding: 12px 32px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 120px; /* Largura mínima fixa */
    text-align: center;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.btn-fixo:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* ============================================
   CONTROLE DE VIEWPORT E ZOOM
   ============================================ */

/* Meta tag equivalente em CSS */
.viewport-control {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
}

/* ============================================
   TRATAMENTO PARA TELAS MUITO GRANDES (>1920px)
   ============================================ */

@media (min-width: 1921px) {
    body {
        background-color: #f0f0f0; /* Cor de fundo para laterais */
        background-image: linear-gradient(90deg, 
            #f0f0f0 0%, 
            #f0f0f0 calc(50% - 720px), 
            #ffffff calc(50% - 720px), 
            #ffffff calc(50% + 720px), 
            #f0f0f0 calc(50% + 720px)
        );
        background-repeat: no-repeat;
        background-attachment: fixed;
    }
    
    .container-fixo-1440 {
        box-shadow: 0 0 40px rgba(0,0,0,0.1);
        border-left: 1px solid #e0e0e0;
        border-right: 1px solid #e0e0e0;
    }
}

/* ============================================
   TRATAMENTO PARA ZOOM DO NAVEGADOR
   ============================================ */

/* Quando o usuário faz zoom, mantemos a aparência */
@media (max-resolution: 150dpi) {
    /* Mantém tamanhos para zoom normal */
    .container-fixo-1440 {
        zoom: 1;
        -moz-transform: scale(1);
        -moz-transform-origin: 0 0;
    }
}

/* Previne mudanças em altas resoluções (4K, 5K) */
@media (min-resolution: 192dpi) and (min-width: 2560px) {
    .container-fixo-1440 {
        transform: translateX(-50%) scale(1);
        transform-origin: center top;
    }
}

/* ============================================
   UTILITÁRIOS PARA CONTROLE PRECISO
   ============================================ */

/* Força dimensionamento exato */
.dimensao-exata {
    width: 1440px !important;
    max-width: 1440px !important;
    min-width: 1440px !important;
}

/* Centralização absoluta */
.centralizar-absoluto {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 1440px;
}

/* Container para conteúdo fluido dentro do fixo */
.conteudo-fluido {
    width: 100%;
    padding: 0 40px;
}

/* ============================================
   EXEMPLOS PRÁTICOS DE USO
   ============================================ */

/* Header fixo exemplo */
.header-fixo {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: white;
    z-index: 1000;
    box-shadow: 0 2px 20px rgba(0,0,0,0.1);
}

.header-fixo .container-fixo-1440 {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Hero section exemplo */
.hero-fixo {
    width: 1440px;
    height: 600px;
    margin: 80px auto 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

/* Cards com dimensões fixas */
.card-fixo {
    width: 340px;
    height: 400px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    padding: 30px;
    margin: 20px;
    flex-shrink: 0;
}

/* ============================================
   FALLBACK PARA JAVASCRIPT (OPCIONAL)
   ============================================ */

/* Classe que será controlada por JS se necessário */
.js-zoom-control {
    transform-origin: top center;
}

/* ============================================
   IMPORTAÇÃO DE FONTES ESTÁVEIS
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

.fonte-estavel {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-display: swap; /* Evita FOIT (Flash of Invisible Text) */
}/* End custom CSS */