/* Responsive Styles - Simplificado e otimizado */

/* Definições Base */
html {
    font-size: 16px;
}

/* ====== MOBILE FIRST (estilo base para dispositivos pequenos) ====== */

h1 {
    font-size: 1.8rem; /* Reduzido para 28.8px */
    line-height: 1.2;
}

.destaque-principal {
    font-size: 1.6rem; /* 25.6px */
}

h2 {
    font-size: 1.5rem; /* 24px */
    line-height: 1.3;
}

h3 {
    font-size: 1.25rem; /* 20px */
}

p {
    font-size: 1rem; /* 16px */
}

.highlight-text {
    font-size: 1.125rem; /* 18px */
}

.btn-primary, 
.btn-submit {
    font-size: 1rem;
    padding: var(--spacing-sm) var(--spacing-md);
}

.author-box {
    flex-direction: column;
    text-align: center;
}

.author-image {
    margin-right: 0;
    margin-bottom: var(--spacing-md);
}

.offer-item {
    flex-direction: column;
    align-items: flex-start;
}

.offer-number {
    margin-bottom: var(--spacing-sm);
    margin-right: 0;
}

.countries-list li {
    margin: var(--spacing-xs) var(--spacing-sm);
}

.testimonials-container {
    flex-direction: column;
    align-items: center;
}

.testimonial-card {
    max-width: 100%;
    margin-bottom: var(--spacing-lg);
}

#countdown-display {
    font-size: 2.5rem;
}

.form-container {
    padding: var(--spacing-md);
}

.container {
    padding-left: var(--spacing-md);
    padding-right: var(--spacing-md);
    width: 100%;
}

section {
    padding: var(--spacing-lg) 0;
}

/* ====== TABLET (577px e acima) ====== */
@media (min-width: 577px) {
    h1 {
        font-size: 2rem; /* 32px */
    }
    
    .destaque-principal {
        font-size: 1.8rem; /* 28.8px */
    }
    
    h2 {
        font-size: 1.625rem; /* 26px */
    }
    
    h3 {
        font-size: 1.375rem; /* 22px */
    }
    
    p {
        font-size: 1.0625rem; /* 17px */
    }
    
    .highlight-text {
        font-size: 1.25rem; /* 20px */
    }
    
    .btn-primary, .btn-submit {
        font-size: 1.125rem; /* 18px */
    }
    
    .author-box {
        flex-direction: row;
        text-align: left;
        align-items: center;
    }
    
    .author-image {
        margin-right: var(--spacing-md);
        margin-bottom: 0;
    }
    
    .offer-item {
        flex-direction: row;
        align-items: center;
    }
    
    .offer-number {
        margin-bottom: 0;
        margin-right: var(--spacing-lg);
    }
    
    .testimonial-card {
        max-width: 80%;
    }
    
    .container {
        padding-left: var(--spacing-lg);
        padding-right: var(--spacing-lg);
    }
}

/* ====== DESKTOP PEQUENO (768px e acima) ====== */
@media (min-width: 768px) {
    h1 {
        font-size: 2.5rem; /* 40px - reduzido do original (48px) */
    }
    
    h2 {
        font-size: 2rem; /* 32px - reduzido de 36px */
    }
    
    .testimonials-container {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .testimonial-card {
        max-width: 45%;
        margin: 0 2% var(--spacing-lg);
    }
    
    .container {
        max-width: 720px;
        margin: 0 auto;
    }
    
    .countdown-box {
        max-width: 400px;
    }
    
    .form-container {
        max-width: 500px;
        margin: 0 auto;
    }
    
    /* Reativação de algumas animações para desktop */
    .faq-item:hover,
    .offer-item:hover,
    .testimonial-card:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15) !important;
    }
    
    .btn-primary:hover,
    .btn-submit:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 15px rgba(0, 0, 0, 0.25) !important;
    }
}

/* ====== DESKTOP MÉDIO (992px e acima) ====== */
@media (min-width: 992px) {
    h1 {
        font-size: 2.5rem; /* 40px */
    }
    
    .destaque-principal {
        font-size: 2.2rem; /* 35.2px */
    }
    
    h2 {
        font-size: 1.75rem; /* 28px */
    }
    
    h3 {
        font-size: 1.5rem; /* 24px */
    }
    
    p {
        font-size: 1.125rem; /* 18px */
    }
    
    .highlight-text {
        font-size: 1.375rem; /* 22px */
    }
    
    .btn-primary, .btn-submit {
        font-size: 1.25rem; /* 20px */
        padding: var(--spacing-md) var(--spacing-xxl);
    }
    
    .container {
        max-width: 960px;
    }
    
    .hero {
        padding: var(--spacing-xl) 0;
    }
    
    .testimonial-card {
        max-width: 30%;
        margin: 0 1.5% var(--spacing-lg);
    }
    
    .form-container {
        max-width: 600px;
        padding: var(--spacing-xl);
    }
    
    section {
        padding: var(--spacing-xl) 0;
    }
    
    /* Otimizações para animações em desktop de médio porte */
    .animate__animated {
        animation-duration: 0.7s !important;
    }
}

/* ====== DESKTOP GRANDE (1200px e acima) ====== */
@media (min-width: 1200px) {
    h1 {
        font-size: 2.5rem; /* 40px - reduzido do original */
    }
    
    .destaque-principal {
        font-size: 2.2rem; /* 35.2px */
    }
    
    .container {
        max-width: 1140px;
    }
    
    .testimonials-container {
        max-width: 1100px;
        margin: 0 auto;
    }
    
    .hero {
        padding: var(--spacing-xxl) 0;
    }
    
    section {
        padding: var(--spacing-xxl) 0;
    }
    
    /* Otimizações para animações em desktop de grande porte */
    .animate__animated {
        animation-duration: 0.8s !important;
    }
}

/* ====== FIXES ESPECIAIS PARA DISPOSITIVOS ESPECÍFICOS ====== */

/* Galaxy Fold e outros dispositivos ultra-narrow */
@media (max-width: 320px) {
    h1 {
        font-size: 1.5rem; /* 24px */
    }
    
    h2 {
        font-size: 1.25rem; /* 20px */
    }
    
    h3 {
        font-size: 1.125rem; /* 18px */
    }
    
    p {
        font-size: 1rem; /* 16px */
    }
    
    .highlight-text {
        font-size: 1.125rem; /* 18px */
    }
    
    .btn-primary, 
    .btn-submit {
        font-size: 0.875rem; /* 14px */
        padding: var(--spacing-xs) var(--spacing-sm);
    }
    
    .container {
        padding-left: var(--spacing-sm);
        padding-right: var(--spacing-sm);
    }
}

/* Otimizações para telas de alta densidade */
@media 
(-webkit-min-device-pixel-ratio: 2), 
(min-resolution: 192dpi) {
    .img-placeholder {
        background-size: cover;
    }
}

/* Otimizações para dispositivos touch */
@media (hover: none) {
    .btn-primary:hover, 
    .btn-submit:hover,
    .offer-item:hover,
    .faq-item:hover,
    .testimonial-card:hover {
        transform: none !important;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) !important;
        transition: none !important;
    }
}

/* Otimizações para performance em dispositivos móveis */
@media (max-width: 768px) {
    /* Reduzir complexidade de animações */
    .animate__animated {
        animation-duration: 0.5s !important;
    }
    
    /* Reduzir impacto de sombras */
    .solution-box,
    .testimonial-card,
    .form-container,
    .countdown-box {
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) !important;
    }
}

/* Estilos de impressão */
@media print {
    .header, 
    .footer, 
    .cta-box, 
    .form-section, 
    .final-cta,
    .notification-container {
        display: none;
    }
    
    body, 
    html {
        background: white;
        font-size: 12pt;
        color: black;
    }
    
    .container {
        width: 100%;
        max-width: none;
        padding: 0;
    }
    
    /* Garantir que o conteúdo seja bem impresso */
    h1, h2, h3 {
        page-break-after: avoid;
    }
    
    p, blockquote {
        orphans: 3;
        widows: 3;
    }
}

/* Otimizações para dispositivos de menor performance */
@media (prefers-reduced-motion: reduce) {
    .animate__animated {
        animation: none !important;
        transition: none !important;
    }
    
    .pulse {
        animation: none !important;
    }
    
    .arrow-down {
        animation: none !important;
    }
}