/* 
 * CSS para otimizar conteúdo exibido em iframes
 * Reduz fontes e espaçamentos para melhor visualização em modals
 */

/* Container principal */
body {
    font-size: 14px !important;
}

.container {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

/* Títulos */
h1 {
    font-size: 1.75rem !important; /* 28px -> era 2.5rem/40px */
    margin-bottom: 0.75rem !important;
    line-height: 1.2 !important;
}

h2 {
    font-size: 1.25rem !important; /* 20px -> era 1.5rem/24px */
    margin-bottom: 0.5rem !important;
    line-height: 1.3 !important;
}

h3 {
    font-size: 1.125rem !important; /* 18px -> era 1.25rem/20px */
    margin-bottom: 0.5rem !important;
}

h4 {
    font-size: 1rem !important; /* 16px */
    margin-bottom: 0.5rem !important;
}

/* Parágrafos e texto */
p {
    font-size: 0.875rem !important; /* 14px */
    line-height: 1.5 !important;
    margin-bottom: 0.75rem !important;
}

/* Listas */
ul, ol {
    font-size: 0.875rem !important; /* 14px */
    margin-bottom: 0.75rem !important;
}

li {
    font-size: 0.875rem !important; /* 14px */
    line-height: 1.5 !important;
    margin-bottom: 0.5rem !important;
}

/* Cards e seções */
.bg-white, .bg-gradient-to-br, .bg-gradient-to-r {
    padding: 1rem !important; /* Reduzido de 2rem/32px */
    margin-bottom: 1rem !important;
}

/* Ícones */
.fas, .far, .fab {
    font-size: 1rem !important; /* Ícones menores */
}

/* Ícones grandes específicos */
.text-3xl {
    font-size: 1.5rem !important; /* 24px -> era 1.875rem/30px */
}

.text-4xl {
    font-size: 1.75rem !important; /* 28px -> era 2.25rem/36px */
}

.text-5xl {
    font-size: 2rem !important; /* 32px -> era 3rem/48px */
}

/* Tamanhos de texto específicos */
.text-xl {
    font-size: 1rem !important; /* 16px -> era 1.25rem/20px */
}

.text-lg {
    font-size: 0.9375rem !important; /* 15px -> era 1.125rem/18px */
}

.text-sm {
    font-size: 0.8125rem !important; /* 13px -> era 0.875rem/14px */
}

.text-xs {
    font-size: 0.75rem !important; /* 12px */
}

/* Botões */
button, .btn, a.inline-block {
    font-size: 0.875rem !important; /* 14px */
    padding: 0.5rem 1rem !important; /* Reduzido */
}

/* Badges e tags */
.rounded-full {
    font-size: 0.75rem !important; /* 12px */
    padding: 0.25rem 0.75rem !important;
}

/* Espaçamentos */
.mb-8 {
    margin-bottom: 1.5rem !important; /* Reduzido de 2rem */
}

.mb-12 {
    margin-bottom: 2rem !important; /* Reduzido de 3rem */
}

.py-8 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.px-8 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.p-8 {
    padding: 1.5rem !important; /* Reduzido de 2rem */
}

.p-6 {
    padding: 1rem !important; /* Reduzido de 1.5rem */
}

/* Grid e gap */
.gap-8 {
    gap: 1.5rem !important; /* Reduzido de 2rem */
}

.gap-6 {
    gap: 1rem !important; /* Reduzido de 1.5rem */
}

/* Responsivo Mobile */
@media (max-width: 768px) {
    body {
        font-size: 13px !important;
    }
    
    h1 {
        font-size: 1.5rem !important; /* 24px */
    }
    
    h2 {
        font-size: 1.125rem !important; /* 18px */
    }
    
    h3 {
        font-size: 1rem !important; /* 16px */
    }
    
    p, li, ul, ol {
        font-size: 0.8125rem !important; /* 13px */
    }
    
    .container {
        padding: 0.5rem !important;
    }
    
    .bg-white, .bg-gradient-to-br, .bg-gradient-to-r {
        padding: 0.75rem !important;
        margin-bottom: 0.75rem !important;
    }
    
    button, .btn, a.inline-block {
        font-size: 0.8125rem !important; /* 13px */
        padding: 0.5rem 0.75rem !important;
    }
    
    /* Grid para coluna única no mobile */
    .grid {
        grid-template-columns: 1fr !important;
    }
    
    .md\\:grid-cols-2,
    .md\\:grid-cols-3 {
        grid-template-columns: 1fr !important;
    }
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    body {
        font-size: 13.5px !important;
    }
    
    h1 {
        font-size: 1.625rem !important; /* 26px */
    }
    
    h2 {
        font-size: 1.1875rem !important; /* 19px */
    }
}

/* Desktop Grande */
@media (min-width: 1025px) {
    /* Mantém os tamanhos reduzidos definidos acima */
}

/* Ajustes específicos para elementos comuns */
.shadow-xl {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1) !important;
}

.rounded-2xl {
    border-radius: 1rem !important; /* Mantém arredondamento */
}

/* Header de páginas */
.text-center {
    margin-bottom: 1rem !important;
}

/* Formulários */
input, textarea, select {
    font-size: 0.875rem !important; /* 14px */
    padding: 0.5rem !important;
}

label {
    font-size: 0.875rem !important; /* 14px */
    margin-bottom: 0.25rem !important;
}

/* Tabelas */
table {
    font-size: 0.875rem !important; /* 14px */
}

th, td {
    padding: 0.5rem !important;
    font-size: 0.875rem !important;
}

/* Alertas e notificações */
.alert, .notification {
    font-size: 0.875rem !important;
    padding: 0.75rem !important;
}

/* Fix para Tailwind breakpoints */
@media (max-width: 640px) {
    .sm\\:text-xl {
        font-size: 1rem !important;
    }
}

@media (max-width: 768px) {
    .md\\:text-4xl {
        font-size: 1.5rem !important;
    }
    
    .md\\:text-5xl {
        font-size: 1.75rem !important;
    }
    
    .md\\:text-xl {
        font-size: 1rem !important;
    }
}

/* Otimizações de espaço vertical */
.space-y-6 > * + * {
    margin-top: 1rem !important; /* Reduzido de 1.5rem */
}

.space-y-8 > * + * {
    margin-top: 1.5rem !important; /* Reduzido de 2rem */
}

.space-y-4 > * + * {
    margin-top: 0.75rem !important; /* Reduzido de 1rem */
}

.space-y-3 > * + * {
    margin-top: 0.5rem !important; /* Reduzido de 0.75rem */
}

/* Badges e etiquetas */
.inline-block.bg-gradient-to-r {
    font-size: 0.75rem !important;
    padding: 0.375rem 0.75rem !important;
}

/* Cartões de destaque */
.border-2 {
    border-width: 1px !important; /* Reduzir borda para economizar espaço */
}

/* Max-width dos containers */
.max-w-6xl {
    max-width: 100% !important; /* Usar toda largura disponível */
}

.max-w-7xl {
    max-width: 100% !important;
}

/* Ajuste fino para melhor uso do espaço */
.leading-relaxed {
    line-height: 1.5 !important; /* Reduzir de 1.625 */
}

/* Scroll suave */
html {
    scroll-behavior: smooth;
}

/* Otimização de imagens */
img {
    max-width: 100%;
    height: auto;
}
