/* ===== RESPONSIVIDADE COMPLETA ===== */

/* ===== BOTÃO VER TODOS - OCULTO POR PADRÃO (APENAS MOBILE) ===== */
.botao-ver-todos-comparativo {
    display: none;
}

/* Manter compatibilidade com código antigo */
.comparison-show-all-btn {
    display: none;
}

/* ===== CABEÇALHO RESPONSIVO ===== */
@media (max-width: 768px) {
    .cabecalho {
        padding: var(--space-3) 0;
        height: 55px;
    }
    
    .container-cabecalho {
        padding: 0 var(--space-4);
    }
    
    .imagem-logo {
        height: 40px;
        max-width: 100%;
        object-fit: contain;
    }
    
    .distintivo-desconto {
        padding: var(--space-1) var(--space-3);
        font-size: var(--font-size-xs);
    }
    
    .conteudo-principal {
        padding-top: 80px;
        padding-left: var(--space-6);
        padding-right: var(--space-6);
    }
}

@media (max-width: 480px) {
    .cabecalho {
        height: 50px;
    }
    
    .container-cabecalho {
        padding: 0 var(--space-3);
    }
    
    .imagem-logo {
        height: 35px;
        max-width: 100%;
        object-fit: contain;
    }
    
    .distintivo-desconto {
        padding: var(--space-1) var(--space-2);
        font-size: 10px;
    }
    
    .conteudo-principal {
        padding-top: 75px;
        padding-left: var(--space-6);
        padding-right: var(--space-6);
    }
}

/* Manter compatibilidade com código antigo */
@media (max-width: 768px) {
    .cabecalho {
        padding: var(--space-3) 0;
        height: 55px;
    }
    
    .container-cabecalho {
        padding: 0 var(--space-4);
    }
    
    .imagem-logo {
        height: 40px;
        max-width: 100%;
        object-fit: contain;
    }
    
    .distintivo-desconto {
        padding: var(--space-1) var(--space-3);
        font-size: var(--font-size-xs);
    }
    
    .conteudo-principal {
        padding-top: 80px;
        padding-left: var(--space-6);
        padding-right: var(--space-6);
    }
}

@media (max-width: 480px) {
    .cabecalho {
        height: 50px;
    }
    
    .container-cabecalho {
        padding: 0 var(--space-3);
    }
    
    .imagem-logo {
        height: 35px;
        max-width: 100%;
        object-fit: contain;
    }
    
    .distintivo-desconto {
        padding: var(--space-1) var(--space-2);
        font-size: 10px;
    }
    
    .conteudo-principal {
        padding-top: 75px;
        padding-left: var(--space-6);
        padding-right: var(--space-6);
    }
}

/* ===== RODAPÉ RESPONSIVO ===== */
@media (max-width: 768px) {
    .rodape {
        display: none; /* Remove rodapé em mobile para evitar sobreposição */
    }
    
    .conteudo-principal {
        min-height: calc(100vh - 60px); /* Ajusta altura sem rodapé */
    }
}

@media (max-width: 480px) {
    .rodape {
        display: none; /* Remove rodapé em mobile pequeno */
    }
    
    .conteudo-principal {
        min-height: calc(100vh - 50px); /* Ajusta altura sem rodapé */
    }
}

/* Manter compatibilidade com código antigo */
@media (max-width: 768px) {
    .rodape {
        display: none; /* Remove footer em mobile para evitar sobreposição */
    }
    
    .conteudo-principal {
        min-height: calc(100vh - 60px); /* Ajusta altura sem footer */
    }
}

@media (max-width: 480px) {
    .rodape {
        display: none; /* Remove footer em mobile pequeno */
    }
    
    .conteudo-principal {
        min-height: calc(100vh - 50px); /* Ajusta altura sem footer */
    }
}

/* ===== COLOR PICKER RESPONSIVO ===== */
@media (max-width: 768px) {
    .color-picker-tool {
        right: 10px;
    }
    
    .painel-seletor-cor {
        width: 280px;
        right: 50px;
    }
    
    .predefinicoes-cores {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .predefinicao-cor {
        width: 35px;
        height: 35px;
    }
    
    /* Manter compatibilidade com código antigo */
    .color-presets {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .color-preset {
        width: 35px;
        height: 35px;
    }
}

@media (max-width: 480px) {
    .color-picker-tool {
        right: 5px;
    }
    
    .painel-seletor-cor {
        width: 260px;
        right: 45px;
    }
    
    .color-presets {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .color-preset {
        width: 30px;
        height: 30px;
    }
    
    .botao-seletor-cor {
        width: 45px;
        height: 45px;
        font-size: 18px;
    }
}

/* ===== HERO RESPONSIVO ===== */
@media (max-width: 1200px) {
    .hero-badge {
        width: 45em;
        height: 3em;
        max-width: 90%;
    }
    
    .titulo-hero {
        font-size: var(--font-size-2xl);
    }
}

@media (max-width: 768px) {
    .hero-badge {
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 2.5em;
        padding: var(--space-2) var(--space-4);
        box-sizing: border-box;
    }
    
    .titulo-hero {
        font-size: var(--font-size-2xl);
        padding: 0 var(--space-6);
        word-wrap: break-word;
        overflow-wrap: break-word;
        word-break: break-word;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .titulo-hero span {
        display: block;
        width: 100%;
        max-width: 100%;
        word-wrap: break-word;
        overflow-wrap: break-word;
        word-break: break-word;
        hyphens: auto;
        white-space: normal;
        overflow: visible;
        line-height: 1.3;
    }
    
    .hero-description,
    .subtitulo-hero {
        font-size: var(--font-size-xs);
        padding: 0 var(--space-6);
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 480px) {
    .hero-badge {
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 2em;
        padding: var(--space-2) var(--space-3);
        box-sizing: border-box;
    }
    
    .titulo-hero {
        font-size: var(--font-size-xl);
        padding: 0 var(--space-6);
        line-height: 1.3;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .titulo-hero span {
        font-size: inherit;
    }
    
    .hero-description,
    .subtitulo-hero {
        font-size: 10px;
        padding: 0 var(--space-6);
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 375px) {
    .titulo-hero {
        font-size: var(--font-size-base);
        padding: 0 var(--space-6);
    }
    
    .hero-description,
    .subtitulo-hero {
        font-size: 9px;
        padding: 0 var(--space-6);
    }
}

/* ===== LAYOUT PRINCIPAL RESPONSIVO ===== */
@media (max-width: 1200px) {
    .conteudo-principal {
        padding: var(--space-4);
        gap: var(--space-4);
        padding-top: 70px;
    }
    
    .grade-planos-compactos {
        grid-template-columns: repeat(4, minmax(260px, 1fr));
        gap: var(--space-4);
        justify-content: center;
        max-width: 1200px;
    }
    
    .subtitulo-hero {
        font-size: var(--font-size-sm);
    }
    
    .formulario-fixo {
        width: 340px;
        bottom: var(--space-4);
        right: var(--space-4);
        z-index: 998;
    }
}

/* ===== TABELA DE COMPARAÇÃO RESPONSIVA ===== */
@media (max-width: 768px) {
    .secao-comparativo {
        padding: var(--space-2) 0;
        margin-top: var(--space-3);
    }
    
    .cabecalho-comparativo {
        margin-bottom: var(--space-2);
        padding: 0 var(--space-6);
    }
    
    .titulo-comparativo {
        font-size: var(--font-size-base);
    }
    
    .subtitulo-comparativo {
        font-size: 10px;
    }
    
    .tabela-comparativo {
        padding: var(--space-3);
        overflow-x: visible;
        overflow-y: visible;
    }
    
    .linha-comparativo {
        display: block;
        min-width: auto;
        padding: var(--space-3);
        border: 1px solid var(--border);
        border-radius: var(--radius-md);
        margin-bottom: var(--space-3);
        background: rgba(255, 255, 255, 0.02);
    }
    
    .linha-cabecalho-comparativo {
        display: none; /* Esconder header em mobile */
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:first-child,
    .comparison-row:not(.comparison-header-row) .comparison-cell:first-child {
        font-weight: 700;
        font-size: var(--font-size-sm);
        color: var(--text-primary);
        padding: var(--space-2);
        margin-bottom: var(--space-2);
        border-bottom: 2px solid var(--primary);
        display: block;
        width: 100%;
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:not(:first-child),
    .comparison-row:not(.comparison-header-row) .comparison-cell:not(:first-child) {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: var(--font-size-xs);
        padding: var(--space-2);
        white-space: normal;
        text-overflow: unset;
        overflow: visible;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:last-child,
    .comparison-row:not(.comparison-header-row) .comparison-cell:last-child {
        border-bottom: none;
    }
    
    .recurso-comparativo {
        text-align: left;
        font-weight: 600;
        color: var(--text-primary);
        flex: 1;
        font-size: var(--font-size-xs);
    }
    
    .plano-comparativo {
        font-weight: 700;
        color: var(--text-primary);
        margin-left: var(--space-2);
        min-width: 80px;
        text-align: right;
    }
    
    .celula-comparativo i,
    .comparison-cell i {
        font-size: var(--font-size-sm);
    }
    
    .celula-comparativo i.fa-check,
    .comparison-cell i.fa-check {
        color: var(--primary);
    }
    
    .celula-comparativo i.fa-times,
    .comparison-cell i.fa-times {
        color: var(--text-muted);
    }
    
    /* Adicionar labels dos planos usando ::before */
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:nth-child(2)::before,
    .comparison-row:not(.comparison-header-row) .comparison-cell:nth-child(2)::before {
        content: "GRATUITO: ";
        font-weight: 700;
        color: var(--text-secondary);
        margin-right: var(--space-1);
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:nth-child(3)::before,
    .comparison-row:not(.comparison-header-row) .comparison-cell:nth-child(3)::before {
        content: "START: ";
        font-weight: 700;
        color: var(--text-secondary);
        margin-right: var(--space-1);
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:nth-child(4)::before,
    .comparison-row:not(.comparison-header-row) .comparison-cell:nth-child(4)::before {
        content: "PRO: ";
        font-weight: 700;
        color: var(--primary);
        margin-right: var(--space-1);
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:nth-child(5)::before,
    .comparison-row:not(.comparison-header-row) .comparison-cell:nth-child(5)::before {
        content: "ULTRA: ";
        font-weight: 700;
        color: #ffd700;
        margin-right: var(--space-1);
    }
    
    /* Esconder rows após a 3ª no mobile (exceto header) */
    /* Header é nth-child(1), então as 3 primeiras rows de dados são nth-child(2), (3), (4) */
    .linha-comparativo:not(.linha-cabecalho-comparativo):nth-child(n+5),
    .comparison-row:not(.comparison-header-row):nth-child(n+5) {
        display: none;
    }
    
    .tabela-comparativo.expandida .linha-comparativo:not(.linha-cabecalho-comparativo):nth-child(n+5),
    .comparison-table.expanded .comparison-row:not(.comparison-header-row):nth-child(n+5) {
        display: block;
    }
    
    /* Botão Ver Todos - apenas mobile */
    .botao-ver-todos-comparativo {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-2);
        max-width: 300px;
        margin: var(--space-4) auto 0;
        padding: var(--space-3) var(--space-4);
        background: rgb(0 168 107 / 0%);
        border: none;
        border-radius: var(--radius-md);
        color: var(--primary-light);
        font-size: var(--font-size-sm);
        font-weight: 600;
        cursor: pointer;
        transition: all var(--transition-base);
        text-decoration: none;
        outline: none;
    }
    
    /* Garantir que o texto mantenha a mesma formatação sempre */
    .comparison-show-all-btn .btn-text {
        color: var(--primary-light);
        font-size: var(--font-size-sm);
        font-weight: 600;
        transition: none; /* Sem transição no texto para manter formatação constante */
    }
    
    .botao-ver-todos-comparativo.expandida .btn-text,
    .comparison-show-all-btn.expanded .btn-text {
        color: var(--primary-light);
        font-size: var(--font-size-sm);
        font-weight: 600;
    }
    
    .comparison-show-all-btn:hover {
        transform: translateY(-2px);
    }
    
    .comparison-show-all-btn:hover .btn-text {
        color: var(--primary-light);
    }
    
    .comparison-show-all-btn i {
        color: var(--primary-light);
        transition: transform var(--transition-base);
        font-size: var(--font-size-sm);
    }
    
    .botao-ver-todos-comparativo.expandida,
    .comparison-show-all-btn.expanded {
        background: rgb(0 168 107 / 0%);
        border: none;
        color: var(--primary-light);
    }
    
    .botao-ver-todos-comparativo.expandida i,
    .comparison-show-all-btn.expanded i {
        transform: rotate(180deg);
        color: var(--primary-light);
    }
}

@media (max-width: 480px) {
    .secao-comparativo {
        padding: var(--space-2) 0;
    }
    
    .cabecalho-comparativo {
        padding: 0 var(--space-6);
    }
    
    .titulo-comparativo {
        font-size: var(--font-size-sm);
    }
    
    .subtitulo-comparativo {
        font-size: 9px;
    }
    
    .tabela-comparativo {
        padding: var(--space-3);
        /* margin: 0 var(--space-6); */
        overflow-x: visible;
        overflow-y: visible;
    }
    
    .linha-comparativo {
        display: block;
        min-width: auto;
        padding: var(--space-3);
        border: 1px solid var(--border);
        border-radius: var(--radius-md);
        margin-bottom: var(--space-3);
        background: rgba(255, 255, 255, 0.02);
    }
    
    .linha-cabecalho-comparativo {
        display: none; /* Esconder header em mobile */
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:first-child,
    .comparison-row:not(.comparison-header-row) .comparison-cell:first-child {
        font-weight: 700;
        font-size: var(--font-size-sm);
        color: var(--text-primary);
        padding: var(--space-2);
        margin-bottom: var(--space-2);
        border-bottom: 2px solid var(--primary);
        display: block;
        width: 100%;
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:not(:first-child),
    .comparison-row:not(.comparison-header-row) .comparison-cell:not(:first-child) {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: var(--font-size-xs);
        padding: var(--space-2);
        white-space: normal;
        text-overflow: unset;
        overflow: visible;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:last-child,
    .comparison-row:not(.comparison-header-row) .comparison-cell:last-child {
        border-bottom: none;
    }
    
    .recurso-comparativo {
        text-align: left;
        font-weight: 600;
        color: var(--text-primary);
        flex: 1;
        font-size: var(--font-size-xs);
    }
    
    .plano-comparativo {
        font-weight: 700;
        color: var(--text-primary);
        margin-left: var(--space-2);
        min-width: 80px;
        text-align: right;
    }
    
    .celula-comparativo i,
    .comparison-cell i {
        font-size: var(--font-size-sm);
    }
    
    .celula-comparativo i.fa-check,
    .comparison-cell i.fa-check {
        color: var(--primary);
    }
    
    .celula-comparativo i.fa-times,
    .comparison-cell i.fa-times {
        color: var(--text-muted);
    }
    
    /* Adicionar labels dos planos usando ::before */
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:nth-child(2)::before,
    .comparison-row:not(.comparison-header-row) .comparison-cell:nth-child(2)::before {
        content: "GRATUITO: ";
        font-weight: 700;
        color: var(--text-secondary);
        margin-right: var(--space-1);
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:nth-child(3)::before,
    .comparison-row:not(.comparison-header-row) .comparison-cell:nth-child(3)::before {
        content: "START: ";
        font-weight: 700;
        color: var(--text-secondary);
        margin-right: var(--space-1);
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:nth-child(4)::before,
    .comparison-row:not(.comparison-header-row) .comparison-cell:nth-child(4)::before {
        content: "PRO: ";
        font-weight: 700;
        color: var(--primary);
        margin-right: var(--space-1);
    }
    
    .linha-comparativo:not(.linha-cabecalho-comparativo) .celula-comparativo:nth-child(5)::before,
    .comparison-row:not(.comparison-header-row) .comparison-cell:nth-child(5)::before {
        content: "ULTRA: ";
        font-weight: 700;
        color: #ffd700;
        margin-right: var(--space-1);
    }
    
    /* Esconder rows após a 3ª no mobile (exceto header) */
    .linha-comparativo:not(.linha-cabecalho-comparativo):nth-child(n+5),
    .comparison-row:not(.comparison-header-row):nth-child(n+5) {
        display: none;
    }
    
    .tabela-comparativo.expandida .linha-comparativo:not(.linha-cabecalho-comparativo):nth-child(n+5),
    .comparison-table.expanded .comparison-row:not(.comparison-header-row):nth-child(n+5) {
        display: block;
    }
    
    /* Garantir formatação consistente do botão em 480px também */
    .botao-ver-todos-comparativo {
        background: rgb(0 168 107 / 0%);
        border: none;
        color: var(--primary-light);
        font-size: var(--font-size-sm);
        font-weight: 600;
    }
    
    .comparison-show-all-btn .btn-text {
        color: var(--primary-light);
        font-size: var(--font-size-sm);
        font-weight: 600;
    }
    
    .botao-ver-todos-comparativo.expandida,
    .comparison-show-all-btn.expanded {
        background: rgb(0 168 107 / 0%);
        border: none;
        color: var(--primary-light);
    }
    
    .botao-ver-todos-comparativo.expandida .btn-text,
    .comparison-show-all-btn.expanded .btn-text {
        color: var(--primary-light);
        font-size: var(--font-size-sm);
        font-weight: 600;
    }
    
    .comparison-show-all-btn i {
        color: var(--primary-light);
        font-size: var(--font-size-sm);
    }
    
    .botao-ver-todos-comparativo.expandida i,
    .comparison-show-all-btn.expanded i {
        color: var(--primary-light);
    }
}

/* ===== PLANOS RESPONSIVOS - MOBILE ULTRA COMPACTO COM LAYOUT 2 COLUNAS ===== */
@media (max-width: 768px) {
    .planos-compactos {
        padding: 0 var(--space-6);
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .grade-planos-compactos {
        grid-template-columns: 1fr;
        gap: var(--space-3);
        width: 100%;
        max-width: 100%;
        padding: 8px 0 0 0;
        box-sizing: border-box;
        margin: 0;
        overflow: visible;
    }
    
    /* Reordenar cards para mobile: ULTRA primeiro, PRO segundo, START terceiro */
    .card-plano-compacto.plano-premium {
        order: 1; /* ULTRA primeiro */
    }
    
    .card-plano-compacto.popular {
        order: 2; /* PRO segundo */
    }
    
    .card-plano-compacto:not(.popular):not(.plano-premium) {
        order: 3; /* START terceiro */
    }
    
    .card-plano-compacto {
        min-height: auto;
        padding: var(--space-2);
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow: hidden;
        margin-top: 12px;
        margin-left: 0;
        margin-right: 0;
        display: flex;
        flex-direction: column;
        gap: var(--space-1);
        position: relative;
    }
    
    .distintivo-plano-compacto {
        top: -10px;
        font-size: 7px;
        padding: 2px 6px;
        line-height: 1.2;
    }
    
    /* Layout reorganizado: nome e descrição à esquerda, preço à direita, sem discount */
    .card-plano-compacto {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto auto auto auto;
        gap: var(--space-2);
        align-items: start;
        overflow: hidden;
        position: relative;
    }
    
    /* BLOCO 1: Header (ícone + nome) + Price lado a lado - Linha 1 */
    /* Header ocupa linhas 1 e 2 para posicionar description na linha 2 do card */
    .cabecalho-plano-compacto {
        grid-column: 1;
        grid-row: 1 / 3;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        gap: var(--space-1);
        align-items: start;
        min-width: 0;
    }
    
    .icone-plano-compacto {
        grid-column: 1;
        grid-row: 1 / 3;
        width: 40px;
        height: 40px;
        font-size: var(--font-size-base);
        margin: 0;
        align-self: center;
        flex: 0 0 auto;
    }
    
    .nome-plano-compacto {
        grid-column: 2;
        grid-row: 1;
        font-size: var(--font-size-base);
        width: 100%;
        max-width: 100%;
        margin-bottom: 0;
        line-height: 1.2;
        font-weight: 800;
        text-align: left;
    }
    
    /* Description na linha 2 do header (que corresponde à linha 2 do card) */
    .cabecalho-plano-compacto .descricao-plano-compacto,
    .plan-header-compact .plan-description-compact {
        grid-column: 2;
        grid-row: 2;
        font-size: 9px;
        width: 100%;
        max-width: 100%;
        margin: 0;
        line-height: 1.3;
        color: var(--text-secondary);
        text-align: left;
        align-self: start;
    }
    
    /* Price na segunda coluna, linha 1 (alinhado com nome) */
    .preco-plano-compacto {
        grid-column: 2;
        grid-row: 1;
        width: auto;
        min-width: 75px;
        max-width: 100px;
        box-sizing: border-box;
        text-align: right;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-end;
        padding-left: var(--space-1);
        align-self: start;
    }
    
    .preco-plano-compacto .valor {
        font-size: var(--font-size-lg);
        line-height: 1;
        font-weight: 900;
    }
    
    .preco-plano-compacto .moeda {
        font-size: var(--font-size-xs);
        color: var(--primary);
        font-weight: 600;
    }
    
    .preco-plano-compacto .periodo {
        font-size: 9px;
        color: var(--text-secondary);
    }
    
    .plan-price-free {
        align-items: flex-end;
    }
    
    .plan-price-free .price-free {
        font-size: var(--font-size-lg);
        line-height: 1;
        font-weight: 900;
    }
    
    .plan-price-free .period-free {
        font-size: 9px;
    }
    
    /* Ocultar discount (valores riscados e 50% OFF) */
    .desconto-plano-compacto {
        display: none !important;
    }
    
    /* BLOCO 2: Info (economia) - Linha 3 (abaixo da description) */
    .informacao-plano-compacto {
        grid-column: 1 / -1;
        grid-row: 3;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        box-sizing: border-box;
        padding: var(--space-1);
        margin: 0;
        background: rgba(0, 168, 107, 0.08);
        border-radius: var(--radius-md);
        border: 1px solid rgba(0, 168, 107, 0.15);
    }
    
    .texto-informacao-plano {
        white-space: normal;
        overflow: visible;
        line-height: 1.4;
        font-size: 9px;
        margin: 0;
        text-align: center;
        font-weight: 600;
    }
    
    /* Ajustar grid: discount oculto, então info vai para linha 3 */
    /* Estrutura: Linha 1 (header+price), Linha 2 (description), Linha 3 (info), Linha 4 (features), Linha 5 (button) */
    
    /* BLOCO 4: Features em 2 colunas - Linha 4 */
    .caracteristicas-plano-compacto {
        grid-column: 1 / -1;
        grid-row: 4;
        margin: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4px var(--space-2);
        padding: var(--space-2) 0;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }
    
    .caracteristicas-plano-compacto li {
        font-size: 9px;
        padding: 3px 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        line-height: 1.4;
        display: flex;
        align-items: flex-start;
        gap: var(--space-1);
    }
    
    .caracteristicas-plano-compacto li span {
        word-wrap: break-word;
        overflow-wrap: break-word;
        flex: 1;
    }
    
    .caracteristicas-plano-compacto i {
        font-size: 9px;
        width: 14px;
        margin-top: 2px;
        flex-shrink: 0;
        color: var(--primary);
    }
    
    /* BLOCO 5: Button (destaque) - Linha 5 */
    .botao-plano-compacto {
        grid-column: 1 / -1;
        grid-row: 5;
        padding: var(--space-3);
        font-size: var(--font-size-sm);
        min-height: 42px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin-top: auto;
        font-weight: 700;
    }
}

/* ===== FORMULÁRIO RESPONSIVO ===== */
@media (max-width: 768px) {
    .formulario-fixo {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: none;
        border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
        transform: translateY(100%);
        padding: var(--space-5);
        max-height: 90vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .formulario-fixo.mostrar,
    .form-sticky.show {
        transform: translateY(0);
    }
    
    .container-formulario {
        max-width: 100%;
    }
    
    .cabecalho-formulario {
        margin-bottom: var(--space-4);
    }
    
    .titulo-formulario {
        font-size: var(--font-size-lg);
    }
    
    .subtitulo-formulario {
        font-size: var(--font-size-xs);
    }
    
    .grupo-formulario {
        margin-bottom: var(--space-3);
    }
    
    .grupo-formulario input {
        padding: var(--space-3);
        font-size: var(--font-size-base);
        min-height: 44px;
    }
    
    .grupo-checkbox {
        margin: var(--space-3) 0;
    }
    
    .rotulo-checkbox {
        font-size: var(--font-size-xs);
    }
    
    .botao-enviar {
        padding: var(--space-3) var(--space-4);
        font-size: var(--font-size-base);
        min-height: 48px;
    }
    
    .form-close-btn {
        top: var(--space-2);
        right: var(--space-2);
    }
}

@media (max-width: 480px) {
    .formulario-fixo {
        padding: var(--space-4);
        max-height: 95vh;
    }
    
    .titulo-formulario {
        font-size: var(--font-size-base);
    }
    
    .subtitulo-formulario {
        font-size: 10px;
    }
    
    .grupo-formulario input {
        padding: var(--space-3);
        font-size: var(--font-size-sm);
    }
    
    .rotulo-checkbox {
        font-size: 10px;
    }
    
    .botao-enviar {
        padding: var(--space-3);
        font-size: var(--font-size-sm);
    }
}

/* ===== MOBILE MUITO PEQUENO (320px) ===== */
@media (max-width: 320px) {
    .conteudo-principal {
        padding: 70px 0 var(--space-8) 0;
        gap: var(--space-2);
        margin-left: 0;
        margin-right: 0;
    }
    
    .hero-compacto {
        padding: 0.8em 0.3em 0.5em;
    }
    
    .distintivo-hero {
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 1.8em;
        padding: var(--space-1) var(--space-2);
    }
    
    .titulo-hero {
        font-size: var(--font-size-base);
        padding: 0 var(--space-6);
    }
    
    .descricao-hero,
    .subtitulo-hero {
        font-size: 9px;
        padding: 0 var(--space-6);
    }
    
    /* Manter compatibilidade com código antigo */
    .hero-compact {
        padding: 0.8em 0.3em 0.5em;
    }
    
    .hero-badge {
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 1.8em;
        padding: var(--space-1) var(--space-2);
    }
    
    .hero-title {
        font-size: var(--font-size-base);
        padding: 0 var(--space-6);
    }
    
    .hero-description,
    .hero-subtitle {
        font-size: 9px;
        padding: 0 var(--space-6);
    }
    
    /* Reordenar cards para mobile: ULTRA primeiro, PRO segundo, START terceiro */
    .card-plano-compacto.plano-premium {
        order: 1; /* ULTRA primeiro */
    }
    
    .card-plano-compacto.popular {
        order: 2; /* PRO segundo */
    }
    
    .card-plano-compacto:not(.popular):not(.plano-premium) {
        order: 3; /* START terceiro */
    }
    
    .planos-compactos {
        padding: 0 var(--space-6);
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .grade-planos-compactos {
        gap: var(--space-2);
        padding: 8px 0 0 0;
        margin: 0;
        width: 100%;
        max-width: 100%;
    }
    
    .card-plano-compacto {
        padding: var(--space-2) var(--space-1);
        min-height: auto;
        overflow: visible;
        margin-top: 12px;
        margin-left: 0;
        margin-right: 0;
    }
    
    .distintivo-plano-compacto {
        top: -10px;
        font-size: 6px;
        padding: 1px 4px;
        line-height: 1.2;
    }
    
    /* Layout reorganizado para 480px - mesma estrutura grid */
    .card-plano-compacto {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto auto auto auto;
        gap: var(--space-2);
    }
    
    .cabecalho-plano-compacto {
        grid-column: 1;
        grid-row: 1 / 3;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        gap: var(--space-1);
        align-items: start;
    }
    
    .icone-plano-compacto {
        grid-column: 1;
        grid-row: 1 / 3;
        width: 36px;
        height: 36px;
        font-size: var(--font-size-sm);
        align-self: center;
    }
    
    .nome-plano-compacto {
        grid-column: 2;
        grid-row: 1;
        font-size: var(--font-size-sm);
        margin-bottom: 0;
        text-align: left;
    }
    
    .plan-header-compact .plan-description-compact {
        grid-column: 2;
        grid-row: 2;
        font-size: 8px;
        text-align: left;
        align-self: start;
    }
    
    .preco-plano-compacto {
        grid-column: 2;
        grid-row: 1;
        min-width: 70px;
        max-width: 90px;
    }
    
    .preco-plano-compacto .valor {
        font-size: var(--font-size-base);
    }
    
    .preco-plano-compacto .moeda {
        font-size: 9px;
    }
    
    .preco-plano-compacto .periodo {
        font-size: 8px;
    }
    
    .plan-price-free .price-free {
        font-size: var(--font-size-base);
    }
    
    .plan-price-free .period-free {
        font-size: 8px;
    }
    
    /* Ocultar discount no breakpoint 480px também */
    .desconto-plano-compacto {
        display: none !important;
    }
    
    .informacao-plano-compacto {
        grid-column: 1 / -1;
        grid-row: 3;
        padding: var(--space-1);
    }
    
    .texto-informacao-plano {
        font-size: 8px;
    }
    
    .caracteristicas-plano-compacto {
        grid-column: 1 / -1;
        grid-row: 4;
        gap: 3px var(--space-1);
        padding: var(--space-1) 0;
    }
    
    .caracteristicas-plano-compacto li {
        font-size: 8px;
        padding: 2px 0;
    }
    
    .caracteristicas-plano-compacto i {
        font-size: 8px;
        width: 12px;
    }
    
    .botao-plano-compacto {
        grid-column: 1 / -1;
        grid-row: 5;
        padding: var(--space-2);
        font-size: var(--font-size-xs);
        min-height: 40px;
    }
    
    .preco-plano-compacto .valor {
        font-size: var(--font-size-sm);
    }
    
    .preco-plano-compacto .moeda {
        font-size: 8px;
    }
    
    .preco-plano-compacto .periodo {
        font-size: 7px;
    }
    
    .plan-price-free .price-free {
        font-size: var(--font-size-sm);
    }
    
    .plan-price-free .period-free {
        font-size: 7px;
    }
    
    .desconto-plano-compacto {
        display: inline-flex;
        gap: 3px;
        margin-bottom: 0;
        margin-right: var(--space-1);
        align-items: center;
    }
    
    .desconto-plano-compacto .preco-original,
    .plan-discount-compact .original-price {
        font-size: 7px;
    }
    
    .desconto-plano-compacto .distintivo-desconto {
        padding: 1px 4px;
        font-size: 6px;
    }
    
    .informacao-plano-compacto {
        display: inline-flex;
        padding: 2px var(--space-1);
        margin: 0 0 0 var(--space-1);
        align-items: center;
    }
    
    .texto-informacao-plano {
        font-size: 6px;
        line-height: 1.3;
    }
    
    .card-plano-compacto > .desconto-plano-compacto + .informacao-plano-compacto {
        margin-left: var(--space-1);
    }
    
    .caracteristicas-plano-compacto {
        margin: 4px 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2px var(--space-1);
    }
    
    .caracteristicas-plano-compacto li {
        font-size: 7px;
        padding: 1px 0;
        line-height: 1.3;
    }
    
    .caracteristicas-plano-compacto i {
        font-size: 6px;
        width: 10px;
        margin-top: 1px;
    }
    
    .botao-plano-compacto {
        padding: var(--space-1) var(--space-2);
        font-size: 8px;
        min-height: 36px;
        margin-top: var(--space-1);
    }
    
    .nome-plano-compacto {
        font-size: var(--font-size-xs);
    }
    
    .preco-plano-compacto .valor {
        font-size: var(--font-size-base);
    }
    
    .preco-plano-compacto .moeda {
        font-size: 10px;
    }
    
    .caracteristicas-plano-compacto li {
        font-size: 8px;
        padding: 2px 0;
    }
    
    .caracteristicas-plano-compacto i {
        font-size: 8px;
        width: 10px;
    }
    
    .botao-plano-compacto {
        padding: var(--space-2);
        font-size: 9px;
        min-height: 40px;
    }
    
    .item-confianca {
        padding: var(--space-2);
    }
    
    .icone-confianca {
        width: 40px;
        height: 40px;
        font-size: var(--font-size-base);
    }
    
    .titulo-confianca {
        font-size: var(--font-size-xs);
    }
    
    .texto-confianca {
        font-size: 9px;
    }
    
    .titulo-comparativo {
        font-size: var(--font-size-xs);
    }
    
    .celula-comparativo {
        font-size: 7px;
    }
    
    .item-faq {
        padding: var(--space-2);
    }
    
    .pergunta-faq h3,
    .faq-question h3 {
        font-size: var(--font-size-xs);
    }
    
    .titulo-cta {
        font-size: var(--font-size-lg);
    }
    
    .numero-estatistica-cta {
        font-size: var(--font-size-xl);
    }
}

/* ===== MOBILE PEQUENO (480px) ===== */
@media (max-width: 480px) {
    .conteudo-principal {
        padding: 75px 0 var(--space-8) 0;
        gap: var(--space-3);
        width: 100%;
        max-width: 100vw;
        box-sizing: border-box;
        margin-left: 0;
        margin-right: 0;
    }
    
    .planos-compactos {
        padding: 0 var(--space-6);
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .grade-planos-compactos {
        gap: var(--space-2);
        padding: 8px 0 0 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin: 0;
        overflow: visible;
    }
    
    .card-plano-compacto {
        padding: var(--space-2) var(--space-2);
        min-height: auto;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow: visible;
        margin-top: 12px;
        margin-left: 0;
        margin-right: 0;
    }
    
    .distintivo-plano-compacto {
        top: -10px;
        font-size: 7px;
        padding: 2px 5px;
        line-height: 1.2;
    }
    
    .cabecalho-plano-compacto {
        margin-bottom: var(--space-1);
    }
    
    .icone-plano-compacto {
        width: 40px;
        height: 40px;
        font-size: var(--font-size-sm);
        margin: 0 auto 3px;
    }
    
    .nome-plano-compacto {
        font-size: var(--font-size-xs);
        margin-bottom: 1px;
        line-height: 1.2;
    }
    
    .descricao-plano-compacto {
        font-size: 8px;
        margin-top: 0;
        min-height: auto;
        line-height: 1.3;
    }
    
    .preco-plano-compacto {
        margin-bottom: 4px;
    }
    
    .preco-plano-compacto .valor {
        font-size: var(--font-size-base);
    }
    
    .preco-plano-compacto .moeda {
        font-size: 9px;
    }
    
    .preco-plano-compacto .periodo {
        font-size: 8px;
    }
    
    .plan-price-free .price-free {
        font-size: var(--font-size-base);
    }
    
    .plan-price-free .period-free {
        font-size: 8px;
    }
    
    .desconto-plano-compacto {
        gap: 4px;
        margin-bottom: 4px;
    }
    
    .desconto-plano-compacto .preco-original,
    .plan-discount-compact .original-price {
        font-size: 8px;
    }
    
    .desconto-plano-compacto .distintivo-desconto {
        padding: 1px 5px;
        font-size: 7px;
    }
    
    .informacao-plano-compacto {
        padding: 2px var(--space-1);
        margin: 2px 0 4px;
    }
    
    .texto-informacao-plano {
        font-size: 7px;
        line-height: 1.3;
    }
    
    .caracteristicas-plano-compacto {
        margin: var(--space-1) 0;
    }
    
    .caracteristicas-plano-compacto li {
        font-size: 8px;
        padding: 1px 0;
        line-height: 1.3;
    }
    
    .caracteristicas-plano-compacto i {
        font-size: 7px;
        width: 11px;
        margin-top: 1px;
    }
    
    .botao-plano-compacto {
        padding: var(--space-2);
        font-size: 9px;
        min-height: 38px;
        margin-top: var(--space-1);
    }
    
    .cabecalho-plano-compacto {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .icone-plano-compacto {
        width: 50px;
        height: 50px;
        font-size: var(--font-size-lg);
    }
    
    .nome-plano-compacto {
        font-size: var(--font-size-sm);
        width: 100%;
        max-width: 100%;
    }
    
    .descricao-plano-compacto {
        font-size: 9px;
    }
    
    .preco-plano-compacto {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .preco-plano-compacto .valor {
        font-size: var(--font-size-lg);
    }
    
    .preco-plano-compacto .moeda {
        font-size: var(--font-size-xs);
    }
    
    .preco-plano-compacto .periodo {
        font-size: 9px;
    }
    
    .informacao-plano-compacto {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: var(--space-1);
        overflow: visible;
    }
    
    .texto-informacao-plano {
        font-size: 8px;
        line-height: 1.5;
        white-space: normal;
        overflow: visible;
        word-wrap: break-word;
        overflow-wrap: break-word;
        word-break: break-word;
        hyphens: auto;
    }
    
    .caracteristicas-plano-compacto {
        margin: var(--space-2) 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .caracteristicas-plano-compacto li {
        font-size: 9px;
        padding: 3px 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .caracteristicas-plano-compacto li span {
        word-wrap: break-word;
        overflow-wrap: break-word;
        word-break: break-word;
    }
    
    .caracteristicas-plano-compacto i {
        font-size: 8px;
        width: 11px;
    }
    
    .botao-plano-compacto {
        padding: var(--space-2) var(--space-3);
        font-size: 10px;
        min-height: 44px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .secao-confianca {
        padding: var(--space-3) 0;
    }
    
    .item-confianca {
        padding: var(--space-3);
    }
    
    .icone-confianca {
        width: 50px;
        height: 50px;
        font-size: var(--font-size-xl);
    }
    
    .titulo-confianca {
        font-size: var(--font-size-sm);
    }
    
    .texto-confianca {
        font-size: var(--font-size-xs);
    }
    
    .secao-faq {
        padding: var(--space-3) 0;
    }
    
    .item-faq {
        padding: var(--space-3);
    }
    
    .pergunta-faq h3,
    .faq-question h3 {
        font-size: var(--font-size-sm);
    }
    
    .resposta-faq p,
    .resposta-faq p,
    .faq-answer p {
        font-size: var(--font-size-xs);
    }
    
    .secao-cta {
        padding: var(--space-4) 0;
    }
    
    .conteudo-cta {
        padding: var(--space-4);
    }
    
    .titulo-cta {
        font-size: var(--font-size-xl);
    }
    
    .texto-cta {
        font-size: var(--font-size-sm);
    }
    
    .numero-estatistica-cta {
        font-size: var(--font-size-2xl);
    }
    
    .rotulo-estatistica-cta {
        font-size: var(--font-size-xs);
    }
}

/* ===== TABLET LANDSCAPE (900px) ===== */
@media (max-width: 900px) and (min-width: 769px) {
    .conteudo-principal {
        padding: var(--space-4);
        gap: var(--space-4);
    }
    
    /* Garantir que botão Ver Todos esteja oculto em desktop */
    .botao-ver-todos-comparativo {
        display: none !important;
    }
    
    .grade-planos-compactos {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
        justify-content: center;
        max-width: 800px;
    }
    
    .card-plano-compacto {
        min-height: 400px;
    }
    
    .formulario-fixo {
        width: 340px;
        bottom: var(--space-4);
        right: var(--space-4);
    }
}

/* ===== TABLET LANDSCAPE (1024px) ===== */
@media (max-width: 1024px) and (min-width: 901px) {
    .conteudo-principal {
        padding: var(--space-4);
        gap: var(--space-4);
    }
    
    /* Garantir que botão Ver Todos esteja oculto em desktop */
    .botao-ver-todos-comparativo {
        display: none !important;
    }
    
    .grade-planos-compactos {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-5);
        justify-content: center;
        max-width: 900px;
    }
    
    .card-plano-compacto {
        min-height: 420px;
    }
    
    .formulario-fixo {
        width: 320px;
        bottom: var(--space-4);
        right: var(--space-4);
    }
}

/* ===== TABLET PEQUENO (600px) ===== */
@media (max-width: 600px) and (min-width: 481px) {
    .conteudo-principal {
        padding: var(--space-3) 0;
        gap: var(--space-3);
        padding-top: 75px;
    }
    
    .planos-compactos {
        padding: 0 var(--space-3);
    }
    
    .grade-planos-compactos {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }
    
    .card-plano-compacto {
        min-height: 360px;
        padding: var(--space-4);
    }
    
    .formulario-fixo {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: none;
        border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
        transform: translateY(100%);
        padding: var(--space-5);
    }
    
    .formulario-fixo.mostrar,
    .form-sticky.show {
        transform: translateY(0);
    }
}

/* ===== TABLET PORTRAIT (768px) ===== */
@media (max-width: 768px) {
    .conteudo-principal {
        padding: 80px 0 var(--space-10) 0;
        gap: var(--space-3);
        margin-left: 0;
        margin-right: 0;
    }
    
    .planos-compactos {
        padding: 0 var(--space-6);
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .grade-planos-compactos {
        grid-template-columns: 1fr;
        gap: var(--space-4);
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0;
        box-sizing: border-box;
    }
    
    /* Reordenar cards para mobile: ULTRA primeiro, PRO segundo, START terceiro */
    .card-plano-compacto.plano-premium {
        order: 1; /* ULTRA primeiro */
    }
    
    .card-plano-compacto.popular {
        order: 2; /* PRO segundo */
    }
    
    .card-plano-compacto:not(.popular):not(.plano-premium) {
        order: 3; /* START terceiro */
    }
    
    .card-plano-compacto {
        overflow: visible;
        margin-top: 15px;
        margin-left: 0;
        margin-right: 0;
    }
    
    .distintivo-plano-compacto {
        top: -12px;
        font-size: 8px;
    }
    
    .card-plano-compacto {
        min-height: auto;
        padding: var(--space-4);
        width: 100%;
    }
    
    .free-plan-section {
        padding: var(--space-3) var(--space-6);
    }
    
    .secao-confianca {
        padding: var(--space-3) var(--space-6);
    }
    
    .secao-comparativo {
        padding: var(--space-2) var(--space-6);
    }
    
    .secao-faq {
        padding: var(--space-3) var(--space-6);
    }
    
    .secao-cta {
        padding: var(--space-4) var(--space-6);
    }
}

/* ===== DESKTOP GRANDE (1400px+) ===== */
@media (min-width: 1400px) {
    .conteudo-principal {
        max-width: 1400px;
        padding: var(--space-8);
    }
    
    /* Garantir que botão Ver Todos esteja oculto em desktop */
    .botao-ver-todos-comparativo {
        display: none !important;
    }
    
    .grade-planos-compactos {
        gap: var(--space-6);
        max-width: 900px;
    }
    
    .card-plano-compacto {
        min-height: 450px;
        padding: var(--space-6);
    }
    
    .formulario-fixo {
        width: 420px;
        bottom: var(--space-8);
        right: var(--space-8);
    }
}

/* ===== DESKTOP MUITO GRANDE (1600px+) ===== */
@media (min-width: 1600px) {
    .conteudo-principal {
        max-width: 100%;
        padding: var(--space-10);
    }
    
    /* Garantir que botão Ver Todos esteja oculto em desktop */
    .botao-ver-todos-comparativo {
        display: none !important;
    }
    
    .grade-planos-compactos {
        gap: var(--space-8);
        max-width: 1000px;
    }
    
    .card-plano-compacto {
        min-height: 320px;
        padding: var(--space-8);
    }
    
    .formulario-fixo {
        width: 460px;
        bottom: var(--space-10);
        right: var(--space-10);
    }
}

/* ===== OTIMIZAÇÕES DE TOUCH ===== */
@media (hover: none) and (pointer: coarse) {
    .card-plano-compacto:hover {
        transform: none;
    }
    
    .card-plano-compacto:active {
        transform: translateY(-2px);
    }
    
    .botao-plano-compacto {
        min-height: 48px;
        touch-action: manipulation;
    }
    
    .flame-icon {
        width: 30px;
        height: 30px;
    }
}

/* ===== MODAL TERMO RESPONSIVA ===== */
@media (max-width: 768px) {
    .success-message.termo,
    #div-termo.success-message.termo {
        max-width: 95% !important;
        width: 95% !important;
        max-height: 90vh !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        padding: var(--space-4) !important;
        box-sizing: border-box;
    }
    
    .mensagem-sucesso.termo .conteudo-sucesso,
    #div-termo.mensagem-sucesso.termo .conteudo-sucesso,
    .success-message.termo .success-content,
    #div-termo.success-message.termo .success-content {
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .mensagem-sucesso.termo #texto-termo,
    #div-termo.mensagem-sucesso.termo #texto-termo,
    .success-message.termo #texto-termo,
    #div-termo.success-message.termo #texto-termo {
        max-height: calc(90vh - 140px) !important;
        font-size: var(--font-size-sm) !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    .mensagem-sucesso.termo h3,
    #div-termo.mensagem-sucesso.termo h3,
    .success-message.termo h3,
    #div-termo.success-message.termo h3 {
        font-size: var(--font-size-lg) !important;
        margin-bottom: var(--space-3) !important;
        padding-right: var(--space-8) !important;
        word-wrap: break-word;
    }
}

@media (max-width: 480px) {
    .success-message.termo,
    #div-termo.success-message.termo {
        max-width: 98% !important;
        width: 98% !important;
        max-height: 92vh !important;
        padding: var(--space-3) !important;
        box-sizing: border-box;
    }
    
    .mensagem-sucesso.termo .conteudo-sucesso,
    #div-termo.mensagem-sucesso.termo .conteudo-sucesso,
    .success-message.termo .success-content,
    #div-termo.success-message.termo .success-content {
        padding: var(--space-2) !important;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .mensagem-sucesso.termo #texto-termo,
    #div-termo.mensagem-sucesso.termo #texto-termo,
    .success-message.termo #texto-termo,
    #div-termo.success-message.termo #texto-termo {
        max-height: calc(92vh - 120px) !important;
        font-size: var(--font-size-xs) !important;
        line-height: 1.5 !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    .mensagem-sucesso.termo h3,
    #div-termo.mensagem-sucesso.termo h3,
    .success-message.termo h3,
    #div-termo.success-message.termo h3 {
        font-size: var(--font-size-base) !important;
        margin-bottom: var(--space-2) !important;
        padding-right: var(--space-8) !important;
        word-wrap: break-word;
    }
    
    .termo-close-btn {
        width: 28px !important;
        height: 28px !important;
        top: var(--space-2) !important;
        right: var(--space-2) !important;
    }
}

/* ===== PREVENÇÃO DE OVERFLOW HORIZONTAL ===== */
html, body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
    position: relative;
}

@media (max-width: 768px) {
    * {
        max-width: 100%;
    }
    
    .grade-planos-compactos,
    .plans-grid-compact,
    .grade-confianca,
    .trust-grid,
    .container-faq,
    .container-faq,
    .faq-container,
    .estatisticas-cta,
    .cta-stats,
    .tabela-comparativo {
        width: 100%;
        max-width: 100%;
    }
    
    /* Forçar quebra de palavras longas */
    p, span, h1, h2, h3, h4, h5, h6, li, td, th {
        word-wrap: break-word;
        overflow-wrap: break-word;
        word-break: break-word;
        hyphens: auto;
    }
}

@media (max-width: 480px) {
    /* Ainda mais agressivo em mobile pequeno */
    p, span, h1, h2, h3, h4, h5, h6, li, td, th, div {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        hyphens: auto;
    }
    
    /* Garantir que containers não excedam largura */
    section, div, article, main, header, footer {
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }
}