/* ============================================
   OTIMIZAÇÃO DE ESCALA VISUAL GLOBAL V3
   Redução AGRESSIVA para desktop
   Mantém conforto mobile
   ============================================ */

/* Base Global */
html {
    font-size: 14px;
}

body {
    font-size: 14px;
    line-height: 1.6;
    font-family: 'Poppins', sans-serif;
    font-display: swap;
}

/* Títulos com Escala Responsiva - REDUZIDOS */
h1 {
    font-size: clamp(20px, 2.2vw, 28px) !important;
    line-height: 1.2;
}

h2 {
    font-size: clamp(18px, 2vw, 24px) !important;
    line-height: 1.3;
}

h3 {
    font-size: clamp(16px, 1.6vw, 20px) !important;
    line-height: 1.4;
}

h4 {
    font-size: clamp(14px, 1.4vw, 18px) !important;
}

h5 {
    font-size: clamp(12px, 1.2vw, 16px) !important;
}

h6 {
    font-size: clamp(11px, 1vw, 14px) !important;
}

/* Parágrafos e Textos - REDUZIDOS */
p {
    font-size: clamp(12px, 0.9vw, 14px) !important;
    line-height: 1.6;
}

small, .small-text {
    font-size: clamp(10px, 0.8vw, 12px) !important;
}

/* Botões e Links - REDUZIDOS */
button,
.btn,
.button,
a.btn,
a.button {
    padding: 8px 16px !important;
    font-size: 13px !important;
    border-radius: 6px;
    transition: 0.3s ease;
}

button:hover,
.btn:hover,
.button:hover,
a.btn:hover,
a.button:hover {
    transform: translateY(-2px);
}

/* Containers Principais */
.container,
.main-container,
.wrapper,
.content-wrapper {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    width: 100% !important;
}

/* Seções - REDUZIDAS */
.section,
.page-section,
.content-section {
    padding: clamp(30px, 6vw, 60px) 0 !important;
}

/* Cards e Boxes - REDUZIDOS */
.card,
.box,
.service-card,
.destination-card,
.blog-card,
.testimonial-card {
    padding: clamp(15px, 2.5vw, 30px) !important;
    border-radius: 12px;
}

/* Grid Responsivo */
.grid,
.services-grid,
.destinations-grid,
.testimonials-grid,
.blog-grid {
    display: grid;
    gap: clamp(12px, 1.5vw, 25px) !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

/* Hero Section - REDUZIDO */
.hero,
.page-header,
.blog-hero {
    padding: clamp(40px, 7vw, 100px) 15px !important;
    min-height: auto;
}

.hero h1,
.page-header h1,
.blog-hero h1 {
    font-size: clamp(22px, 3vw, 40px) !important;
    margin-bottom: clamp(12px, 1.5vw, 25px) !important;
}

.hero p,
.page-header p,
.blog-hero p {
    font-size: clamp(12px, 1vw, 16px) !important;
    max-width: 800px;
    margin: 0 auto clamp(12px, 1.5vw, 25px) !important;
}

/* Navbar e Header - REDUZIDO */
header {
    padding: clamp(6px, 0.8vw, 12px) 0 !important;
}

.nav-links a {
    font-size: clamp(0.8rem, 0.9vw, 1rem) !important;
    margin-left: clamp(12px, 1.5vw, 20px) !important;
}

.hamburger {
    font-size: clamp(1.2rem, 1.5vw, 1.6rem) !important;
}

/* Footer - REDUZIDO */
footer {
    padding: clamp(30px, 5vw, 50px) 0 clamp(15px, 2vw, 25px) !important;
}

.footer-col h4 {
    font-size: clamp(14px, 1.5vw, 18px) !important;
    margin-bottom: clamp(10px, 1.2vw, 15px) !important;
}

.footer-col p,
.footer-links a {
    font-size: clamp(11px, 0.85vw, 13px) !important;
}

/* Imagens Responsivas */
img {
    max-width: 100%;
    height: auto;
}

.image-container,
.img-wrapper {
    max-width: 100%;
    overflow: hidden;
    border-radius: 12px;
}

/* Espaçamentos Responsivos - REDUZIDOS */
.margin-top {
    margin-top: clamp(12px, 1.5vw, 25px) !important;
}

.margin-bottom {
    margin-bottom: clamp(12px, 1.5vw, 25px) !important;
}

.padding-top {
    padding-top: clamp(12px, 1.5vw, 25px) !important;
}

.padding-bottom {
    padding-bottom: clamp(12px, 1.5vw, 25px) !important;
}

/* Estilos Inline - Font-Size REDUZIDOS */
div[style*="font-size: 1.3rem"],
h3[style*="font-size: 1.3rem"],
span[style*="font-size: 1.3rem"] {
    font-size: clamp(14px, 1.5vw, 18px) !important;
}

div[style*="font-size: 1.05rem"],
p[style*="font-size: 1.05rem"],
span[style*="font-size: 1.05rem"] {
    font-size: clamp(12px, 0.95vw, 14px) !important;
}

div[style*="font-size: 1.1rem"],
p[style*="font-size: 1.1rem"],
span[style*="font-size: 1.1rem"] {
    font-size: clamp(12px, 1vw, 14px) !important;
}

div[style*="font-size: 1.2rem"],
p[style*="font-size: 1.2rem"],
span[style*="font-size: 1.2rem"] {
    font-size: clamp(13px, 1.1vw, 15px) !important;
}

div[style*="font-size: 0.95rem"],
p[style*="font-size: 0.95rem"],
span[style*="font-size: 0.95rem"] {
    font-size: clamp(11px, 0.85vw, 13px) !important;
}

div[style*="font-size: 3rem"],
h1[style*="font-size: 3rem"],
span[style*="font-size: 3rem"] {
    font-size: clamp(22px, 3vw, 40px) !important;
}

div[style*="font-size: 2.5rem"],
h2[style*="font-size: 2.5rem"],
span[style*="font-size: 2.5rem"] {
    font-size: clamp(18px, 2.5vw, 32px) !important;
}

div[style*="font-size: 2rem"],
h2[style*="font-size: 2rem"],
span[style*="font-size: 2rem"] {
    font-size: clamp(16px, 2.2vw, 28px) !important;
}

div[style*="font-size: 1.5rem"],
h3[style*="font-size: 1.5rem"],
span[style*="font-size: 1.5rem"] {
    font-size: clamp(14px, 1.8vw, 20px) !important;
}

/* Estilos Inline - Padding REDUZIDOS */
div[style*="padding: 20px"],
div[style*="padding: 20px;"] {
    padding: clamp(12px, 1.5vw, 20px) !important;
}

div[style*="padding: 40px"],
div[style*="padding: 40px;"] {
    padding: clamp(20px, 3vw, 35px) !important;
}

div[style*="padding: 30px"],
div[style*="padding: 30px;"] {
    padding: clamp(15px, 2.5vw, 28px) !important;
}

div[style*="padding: 60px"],
div[style*="padding: 60px;"] {
    padding: clamp(25px, 4vw, 50px) !important;
}

/* Estilos Inline - Gap REDUZIDOS */
div[style*="gap: 30px"],
div[style*="gap: 30px;"] {
    gap: clamp(12px, 1.5vw, 25px) !important;
}

div[style*="gap: 20px"],
div[style*="gap: 20px;"] {
    gap: clamp(10px, 1.2vw, 18px) !important;
}

/* Estilos Inline - Margin REDUZIDOS */
div[style*="margin-top: 40px"],
div[style*="margin-top: 40px;"] {
    margin-top: clamp(20px, 2.5vw, 35px) !important;
}

div[style*="margin-bottom: 40px"],
div[style*="margin-bottom: 40px;"] {
    margin-bottom: clamp(20px, 2.5vw, 35px) !important;
}

div[style*="margin-bottom: 20px"],
div[style*="margin-bottom: 20px;"] {
    margin-bottom: clamp(10px, 1.2vw, 18px) !important;
}

div[style*="margin-top: 20px"],
div[style*="margin-top: 20px;"] {
    margin-top: clamp(10px, 1.2vw, 18px) !important;
}

div[style*="margin-top: 50px"],
div[style*="margin-top: 50px;"] {
    margin-top: clamp(25px, 3vw, 45px) !important;
}

div[style*="margin-bottom: 50px"],
div[style*="margin-bottom: 50px;"] {
    margin-bottom: clamp(25px, 3vw, 45px) !important;
}

/* Estilos Inline - Height para imagens REDUZIDAS */
img[style*="height: 220px"],
img[style*="height: 220px;"] {
    height: clamp(120px, 15vw, 180px) !important;
}

img[style*="height: 200px"],
img[style*="height: 200px;"] {
    height: clamp(110px, 14vw, 170px) !important;
}

/* Breakpoints Mobile */
@media (max-width: 768px) {
    html {
        font-size: 13px;
    }
    
    body {
        font-size: 13px;
    }
    
    h1 {
        font-size: clamp(18px, 4.5vw, 24px) !important;
    }
    
    h2 {
        font-size: clamp(16px, 3.5vw, 22px) !important;
    }
    
    h3 {
        font-size: clamp(14px, 3vw, 18px) !important;
    }
    
    .hero h1,
    .page-header h1,
    .blog-hero h1 {
        font-size: clamp(20px, 5vw, 32px) !important;
    }
    
    .grid,
    .services-grid,
    .destinations-grid,
    .testimonials-grid,
    .blog-grid {
        grid-template-columns: 1fr;
    }
    
    .section,
    .page-section,
    .content-section {
        padding: clamp(20px, 4vw, 40px) 0 !important;
    }
    
    button,
    .btn,
    .button {
        padding: 8px 14px !important;
        font-size: 12px !important;
    }
    
    div[style*="padding: 60px"] {
        padding: clamp(20px, 4vw, 40px) !important;
    }
}

/* Breakpoints Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    .grid,
    .services-grid,
    .destinations-grid,
    .testimonials-grid,
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Breakpoints Desktop */
@media (min-width: 1025px) {
    .grid,
    .services-grid,
    .destinations-grid,
    .testimonials-grid,
    .blog-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}

/* Acessibilidade */
@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }
}

/* Print Styles */
@media print {
    body {
        font-size: 11pt;
        line-height: 1.5;
    }
    
    h1 {
        font-size: 20pt;
    }
    
    h2 {
        font-size: 16pt;
    }
}
