/* ============================================
   OVERFLOW FIX - Bloqueia scroll vertical desnecessário
   ============================================ */

/* ===== BASE GLOBAL ===== */
* {
    box-sizing: border-box;
}

html {
    overflow-x: hidden !important;
    overflow-y: auto !important; /* Scroll apenas na página principal */
    box-sizing: border-box;
}

body {
    overflow-x: hidden !important;
    overflow-y: auto;
    box-sizing: border-box;
}

/* Previne scroll quando menu mobile está aberto */
body.menu-open {
    overflow: hidden !important;
}

/* ===== PROTEÇÃO CONTRA MÚLTIPLAS SCROLLBARS ===== */
/* Garante que apenas html tenha scrollbar vertical */
html {
    scrollbar-gutter: stable;
}

/* ===== CONTAINERS E SEÇÕES ===== */
/* Remove scroll interno de containers */
.container,
.section,
section {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    box-sizing: border-box !important;
}

/* ===== TODAS AS SEÇÕES DO SITE ===== */
/* Sem scroll vertical interno */
.hero,
.kelvin-service-section,
.risk-section,
.impact-section,
.solution-section,
.solution-transform-new,
.avatar-real-new,
.semaphore-section,
.reports-section,
.workmap-section,
.workmap-section-new,
.cameras-main-section,
.comparative-section,
.scientific-carousel,
.roi-section,
.numbers-section,
.clients-section,
.testimonials-section,
.about-section,
.cta-section,
.cta-section-new,
.footer {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    box-sizing: border-box !important;
}

/* ===== LAYOUTS E WRAPPERS ===== */
/* Containers internos também sem scroll */
.hero-container,
.hero-content,
.hero-image,
.section-header,
.section-content,
.service-hero,
.service-package,
.service-cta,
.devastating-impact-new,
.impact-timeline,
.solution-hero,
.solution-process,
.avatar-showcase,
.semaphore-content-reverse,
.comparative-layout,
.roi-simulator-new,
.cta-layout,
[class*="wrapper"],
[class*="layout"],
[class*="content"],
[class*="showcase"] {
    overflow: visible !important;
}

/* ===== GRIDS E CONTAINERS ===== */
.risk-grid,
.impact-grid,
.features-grid,
.service-grid,
.manufacturers-grid,
.models-grid,
.comparative-grid,
.clients-grid,
.numbers-grid,
.workmap-grid,
.workmap-cards,
.avatar-benefits,
.results-grid,
.simulator-body,
.inputs-section,
.results-section,
.testimonial-track,
.form-grid {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    box-sizing: border-box !important;
}

/* Nav Menu - Desktop sem scroll, mobile com scroll */
.navbar,
.nav-container {
    overflow: visible !important;
}

.nav-menu {
    overflow: visible !important;
}

/* ===== CARDS E COMPONENTES ===== */
/* Expansão natural sem scroll */
.risk-card,
.impact-card,
.feature-card,
.service-card,
.manufacturer-card,
.model-card,
.comparison-card,
.client-logo,
.benefit-card,
.package-badge,
.timeline-card,
.process-step,
.result-item,
.number-card,
.testimonial-card-new,
.form-field,
.input-card {
    overflow: visible !important;
    box-sizing: border-box !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Exceção: Cards com imagens (efeitos hover) */
.workmap-card,
.reports-card,
.image-container {
    overflow: hidden !important;
}

/* ===== TEXTOS ===== */
/* Quebra de linha inteligente - SEM hifenização */
h1, h2, h3, h4, h5, h6, p, span, a, li {
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: none;
}

/* ===== FORMULÁRIOS ===== */
input,
select {
    overflow: visible !important;
}

textarea {
    resize: vertical;
    overflow-y: auto !important;
}

/* ===== CARROSSÉIS ===== */
/* Mantém scroll horizontal, remove vertical */
.science-slider,
.testimonials-slider {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.science-slider::-webkit-scrollbar,
.testimonials-slider::-webkit-scrollbar {
    display: none;
}

.science-track,
.testimonials-track {
    display: flex;
    width: 100%;
    box-sizing: border-box;
}

/* ===== IMAGENS ===== */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ===== COMPONENTES ESPECÍFICOS ===== */
.avatar-showcase {
    overflow-x: hidden !important;
    overflow-y: visible !important;
}

.cameras-content,
.comparative-content,
.numbers-container,
.clients-container,
.testimonials-container {
    overflow-x: hidden !important;
}

.scientific-carousel {
    overflow-x: hidden !important;
}

.science-item {
    box-sizing: border-box;
    overflow: hidden;
}

.roi-container,
.simulator-inputs,
.results-grid {
    overflow-x: hidden !important;
    overflow-y: visible !important;
}

.footer-content,
.footer-links,
.footer-social {
    overflow-x: hidden !important;
}

/* ===== MOBILE RESPONSIVO ===== */
@media (max-width: 768px) {
    /* Exceção: Menu mobile precisa de scroll */
    .nav-menu {
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
    
    /* Garante limites em mobile */
    html,
    body,
    .container,
    .section,
    section {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Grids responsivos */
    [class*="grid"],
    [class*="Grid"],
    [class*="-grid"] {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Containers responsivos */
    [class*="container"],
    [class*="Container"],
    [class*="-container"] {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Cards responsivos */
    [class*="card"],
    [class*="Card"],
    [class*="-card"] {
        overflow: visible !important;
        box-sizing: border-box !important;
        word-wrap: break-word !important;
    }
    
    /* Exceção: Cards com imagens */
    [class*="card"] img {
        overflow: hidden !important;
    }
}

/* Mobile pequeno */
@media (max-width: 480px) {
    body {
        overflow-x: hidden !important;
    }
    
    .section,
    [class*="container"],
    [class*="grid"] {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ===== DEBUG MODE ===== */
/* Descomente para identificar elementos com overflow
* {
    outline: 1px solid red !important;
}
*/


