/* ===== SIMETRIA LATERAL E CENTRALIZAÇÃO GLOBAL ===== */
/* Garante margens esquerda/direita idênticas e centralização X-Y perfeita */

/* ===== RESET GLOBAL - Mobile ===== */
@media (max-width: 767px) {
    /* Reset de todos os conflitos */
    * {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    html, body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Body wrapper */
    .bg-mesh {
        /* width: 100vw !important;*/
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: clip !important;
    }
    
    /* Todas as seções - centralização X-Y */
    .bg-mesh > section {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 100px 0px 0px 0px !important;
        padding: 0 var(--safe-margin-lr) !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* Containers internos - resetar Tailwind */
    .bg-mesh > section > div,
    .bg-mesh section > div:first-child,
    .max-w-7xl,
    .max-w-4xl,
    .max-w-3xl,
    .max-w-2xl {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 1rem var(--safe-margin-lr) !important;
        display: inherit !important;
        flex-direction: inherit !important;
        align-items: inherit !important;
        justify-content: inherit !important;
    }
    
    /* max-w-7xl específico com mx-auto px-6 */
    .max-w-7xl.mx-auto.px-6 {
        padding: 1rem var(--safe-margin-lr) !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Garantir simetria em todos os containers */
    [class*="container"],
    [class*="wrapper"],
    [class*="grid"] {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    /* Hero Section */
    .bg-mesh > section:first-of-type {
        width: 100vw !important;
        min-height: auto !important;
        padding: 1.5rem var(--safe-margin-lr) !important;
    }
    
    .gsap-hero {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 1rem !important;
    }
    
    .hero-title-premium {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }
    
    .gsap-hero p {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }
    
    /* Botões - Stack vertical */
    .gsap-hero .flex {
        width: 100% !important;
        flex-direction: column !important;
        gap: 1rem !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .gsap-hero a,
    .gsap-hero .flex > a {
        width: 100% !important;
        margin: 0 !important;
        padding: 0.75rem 1.5rem !important;
    }
    
    /* About Section */
    .bg-mesh > section:nth-of-type(2) {
        width: 100vw !important;
        padding: 2rem var(--safe-margin-lr) !important;
    }
    
    .bg-mesh > section:nth-of-type(2) > div {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .bg-mesh > section:nth-of-type(2) .section-title-premium,
    .bg-mesh > section:nth-of-type(2) h2 {
        width: 100% !important;
        margin: 0 0 1rem 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }
    
    .bg-mesh > section:nth-of-type(2) p {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }
    
    /* Social Action Section - TOP 5 ou Frentes */
    .bg-mesh > section:nth-of-type(3) {
        width: 100vw !important;
        padding: 2rem var(--safe-margin-lr) !important;
    }
    
    /* Grid dentro de seções */
    .grid {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        /*grid-template-columns: 1fr !important;*/
        gap: 1rem !important;
    }
    
    .grid > * {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }
    
    /* Cards */
    .podcast-top-card,
    .glass-card,
    .card {
        width: 100% !important;
        margin: 0 !important;
        padding: 1.5rem 1rem !important;
    }
    
    /* Títulos em seções */
    .section-title-premium,
    h1, h2, h3, h4, h5, h6 {
        width: 100% !important;
        margin: 0 0 2rem 0 !important;
        text-align: center !important;
    }
    
    /* Decorações (underline, etc) */
    .w-24,
    [class*="decoration"],
    [class*="divider"] {
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important;
    }
    
    /* Rankings/TOP 5 específico */
    .ranking-carousel-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    
    .podcasts-grid-top {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .ranking-nav-buttons-row {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 var(--safe-margin-lr) !important;
        justify-content: center !important;
    }
    
    /* ===== DONATION PAGE (DOE) - Mobile Optimization ===== */
    /* Grid de cards de doação */
    .grid.grid-cols-1.lg\:grid-cols-2 {
        display:grid !important;
        gap: 1.5rem !important;
        margin-bottom: 1.5rem !important;
        width: 100% !important;
       /* grid-template-columns: 1fr !important;*/
    }
    
    /* Cards de PIX e Transferência */
    .glass-card.p-8.md\:p-12 {
        padding: 1.5rem 1rem !important;
        margin-bottom: 1rem !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Títulos dos cards (h2 text-3xl) */
    .glass-card h2.text-3xl {
        font-size: 1.5rem !important;
        font-weight: 700 !important;
        margin-bottom: 1rem !important;
        margin-top: 0 !important;
        line-height: 1.3 !important;
    }
    
    /* Ícones do h2 */
    .glass-card h2 i {
        font-size: 1.25rem !important;
    }
    
    /* Subtítulos dos cards (text-lg) */
    .glass-card .text-lg {
        font-size: 0.95rem !important;
        margin-bottom: 1rem !important;
        line-height: 1.5 !important;
    }
    
    /* QR Code container */
    .bg-white.p-6.rounded-3xl {
        padding: 0.75rem !important;
        margin-bottom: 1rem !important;
        max-width: 180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    .bg-white.p-6.rounded-3xl img {
        width: 100% !important;
        height: auto !important;
    }
    
    /* Chave PIX container */
    .bg-slate-50\/50.p-4.rounded-2xl,
    .bg-slate-50\/50.p-8.rounded-3xl {
        padding: 1rem !important;
        gap: 0.75rem !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Chave PIX label (text-xs) */
    .bg-slate-50\/50.p-4.rounded-2xl .text-xs,
    .bg-slate-50\/50.p-8.rounded-3xl .text-xs {
        font-size: 0.7rem !important;
        margin-bottom: 0.25rem !important;
        letter-spacing: 0.05em !important;
    }
    
    /* PIX key span */
    .bg-slate-50\/50.p-4.rounded-2xl span,
    .bg-slate-50\/50.p-8.rounded-3xl span {
        font-size: 0.85rem !important;
        padding: 0.5rem !important;
        word-break: break-all !important;
        line-height: 1.4 !important;
    }
    
    /* Copy button */
    .btn-glass.text-sm {
        font-size: 0.8rem !important;
        padding: 0.5rem 0.75rem !important;
        width: fit-content !important;
        gap: 0.375rem !important;
    }
    
    /* Grid dentro de Transferência Bancária (grid-cols-2) */
    .glass-card .grid.grid-cols-2 {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    
    /* Flex dentro de cards bancários */
    .glass-card .flex.flex-col {
        width: 100% !important;
    }
    
    /* Dados bancários */
    .glass-card [class*="text-\[10px\]"],
    .glass-card .text-slate-400 {
        font-size: 0.75rem !important;
        margin-bottom: 0.25rem !important;
    }
    
    .glass-card .text-slate-800.font-medium {
        font-size: 0.95rem !important;
        margin-bottom: 0.75rem !important;
    }
    
    /* Seção de destino/transparência */
    .section-title-premium {
        font-size: 1.5rem !important;
        margin-bottom: 1.5rem !important;
        line-height: 1.3 !important;
        margin-top: 2rem !important;
    }
    
    /* Descrição de destino */
    .bg-mesh > section p {
        font-size: 0.95rem !important;
        margin-bottom: 1rem !important;
        line-height: 1.6 !important;
        max-width: 100% !important;
    }
    
    /* Cards de destino (3 colunas → 1) */
    .grid.grid-cols-1.md\:grid-cols-3 {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    
    /* Seção motivacional */
    .bg-mesh > section.py-24.relative {
        padding: 1.5rem var(--safe-margin-lr) !important;
    }
    
    /* FAQ Modal - responsivo */
    #faqModalPanel {
        width: 100% !important;
        max-width: 100vw !important;
        max-height: 100vh !important;
        border-radius: 1rem 1rem 0 0 !important;
    }
    
    #faqGrid {
        grid-template-columns: 1fr !important;
    }
}

/* ===== TABLET ===== */
@media (min-width: 768px) and (max-width: 1199px) {
    html, body {
        width: 100% !important;
        overflow-x: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .bg-mesh {
        width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: clip !important;
    }
    
    /* Todas as seções */
    .bg-mesh > section {
        width: 100vw !important;
        margin: 0 !important;
        padding: 0 1.5rem !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .max-w-7xl,
    .max-w-4xl,
    .max-w-3xl,
    .max-w-2xl {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Hero */
    .gsap-hero {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .hero-title-premium {
        width: 100% !important;
        margin: 0 0 1.5rem 0 !important;
        text-align: center !important;
    }
    
    .gsap-hero p {
        width: 100% !important;
        margin: 0 0 1.5rem 0 !important;
        text-align: center !important;
    }
    
    .gsap-hero .flex {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        justify-content: center !important;
    }
    
    /* Grid */
    .grid {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem !important;
    }
    
    .grid > * {
        margin: 0 !important;
        width: 100% !important;
    }
    
    /* Rankings */
    .ranking-carousel-container {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .podcasts-grid-top {
        width: 100% !important;
        grid-template-columns: repeat(2, 1fr) !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 1.5rem !important;
    }
    
    .ranking-nav-buttons-row {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 1.5rem !important;
    }
}

/* ===== DESKTOP ===== */
@media (min-width: 1200px) {
    .bg-mesh > section {
        width: 100% !important;
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
    
    .max-w-7xl {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    .grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
