/* Reset e configurações globais */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #fff;
    font-size: 16px; /* Base font size for mobile */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px; /* Smaller padding for mobile */
}

/* Cores principais */
:root {
    --laranja: #FF6600;
    --azul: #004AAD;
    --branco: #ffffff;
    --cinza-claro: #f8f9fa;
    --cinza-escuro: #333333;
}

/* Hero Section */
.hero-section {
    background: linear-gradient(135deg, rgba(255, 102, 0, 0.5) 0%, rgba(0, 74, 173, 0.5) 100%), url("assets/images/oftamax_background.png") no-repeat center center/cover;
    color: white;
    padding: 80px 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.hero-section .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.hero-content h1 {
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.2;
}

.hero-content p {
    font-size: 1.3rem;
    margin-bottom: 40px;
    opacity: 0.95;
}

.cta-button {
    display: inline-block;
    background-color: var(--laranja);
    color: white;
    padding: 18px 40px;
    font-size: 1.2rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 102, 0, 0.3);
}

.cta-button:hover {
    background-color: #e55a00;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 102, 0, 0.4);
}

.hero-image {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    flex-grow: 1;
}

.hero-image img {
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    max-height: 400px; /* Limita a altura para não ficar muito grande */
}

/* Seção Problema */
.problema-section {
    padding: 80px 0;
    background-color: var(--cinza-claro);
}

.problema-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.problema-text h2 {
    font-size: 2.5rem;
    color: var(--azul);
    margin-bottom: 30px;
    font-weight: 600;
}

.problema-text p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--cinza-escuro);
}

.problema-image img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* Seção Solução */
.solucao-section {
    padding: 80px 0;
    background-color: white;
}

.solucao-section h2 {
    font-size: 2.8rem;
    color: var(--azul);
    text-align: center;
    margin-bottom: 20px;
    font-weight: 600;
}

.solucao-intro {
    font-size: 1.2rem;
    text-align: center;
    margin-bottom: 50px;
    color: var(--cinza-escuro);
}

.componentes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin-bottom: 60px;
}

.componente {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background-color: var(--cinza-claro);
    border-radius: 10px;
    transition: transform 0.3s ease;
}

.componente:hover {
    transform: translateY(-5px);
}

.componente i {
    font-size: 1.5rem;
    color: var(--laranja);
}

.componente span {
    font-weight: 500;
    color: var(--cinza-escuro);
}

.beneficios-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-top: 60px;
}

.beneficio {
    text-align: center;
    padding: 30px 20px;
    background-color: var(--cinza-claro);
    border-radius: 15px;
    transition: transform 0.3s ease;
}

.beneficio:hover {
    transform: translateY(-5px);
}

.beneficio i {
    font-size: 3rem;
    color: var(--azul);
    margin-bottom: 20px;
}

.beneficio h3 {
    font-size: 1.3rem;
    color: var(--azul);
    margin-bottom: 15px;
    font-weight: 600;
}

.beneficio p {
    color: var(--cinza-escuro);
    line-height: 1.6;
}

/* Seção Provas Sociais */
.provas-section {
    padding: 80px 0;
    background-color: var(--cinza-claro);
}

.provas-section h2 {
    font-size: 2.8rem;
    color: var(--azul);
    text-align: center;
    margin-bottom: 60px;
    font-weight: 600;
}

.depoimentos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 40px;
    margin-bottom: 60px;
}

.depoimento {
    background-color: white;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.depoimento-foto img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
}

.depoimento-content p {
    font-style: italic;
    margin-bottom: 15px;
    line-height: 1.6;
    color: var(--cinza-escuro);
}

.depoimento-content h4 {
    font-weight: 600;
    color: var(--azul);
    margin-bottom: 10px;
}

.estrelas {
    color: var(--laranja);
    font-size: 1.2rem;
}

.selo-anvisa {
    text-align: center;
    margin-top: 40px;
}

.selo-anvisa img {
    width: 150px;
    height: auto;
    margin-bottom: 15px;
}

.selo-anvisa p {
    font-weight: 600;
    color: var(--azul);
}

/* Seção Planos */
.planos-section {
    padding: 80px 0;
    background-color: white;
}

.planos-section h2 {
    font-size: 2.8rem;
    color: var(--azul);
    text-align: center;
    margin-bottom: 60px;
    font-weight: 600;
}

.planos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
    align-items: start;
}

.plano {
    background-color: white;
    border: 2px solid var(--azul);
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    position: relative;
    transition: transform 0.3s ease;
}

.plano:hover {
    transform: translateY(-10px);
}

.plano-destaque {
    border-color: var(--laranja);
    transform: scale(1.05);
    box-shadow: 0 10px 30px rgba(255, 102, 0, 0.2);
}

.badge-mais-vendido {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--laranja);
    color: white;
    padding: 8px 25px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.9rem;
}

.plano-header h3 {
    font-size: 1.8rem;
    color: var(--azul);
    margin-bottom: 20px;
    font-weight: 600;
}

.plano-preco {
    margin-bottom: 30px;
}

.preco-parcelado {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    color: var(--laranja);
    margin-bottom: 5px;
}

.preco-vista {
    font-size: 1rem;
    color: var(--cinza-escuro);
}

.plano-content ul {
    list-style: none;
    text-align: left;
    margin-bottom: 30px;
}

.plano-content li {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
    position: relative;
    padding-left: 25px;
}

.plano-content li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--laranja);
    font-weight: bold;
}

.plano-button {
    display: block;
    background-color: var(--laranja);
    color: white;
    padding: 15px 30px;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    transition: all 0.3s ease;
    margin-top: 20px;
}

.plano-button:hover {
    background-color: #e55a00;
    transform: translateY(-2px);
}

/* Seção Garantia */
.garantia-section {
    padding: 80px 0;
    background-color: var(--cinza-claro);
}

.garantia-content {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 40px;
    align-items: center;
}

.garantia-selo img {
    width: 150px;
    height: auto;
}

.garantia-text h2 {
    font-size: 2.5rem;
    color: var(--azul);
    margin-bottom: 20px;
    font-weight: 600;
}

.garantia-text p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--cinza-escuro);
    margin-bottom: 15px;
}

/* Seção FAQ */
.faq-section {
    padding: 80px 0;
    background-color: white;
}

.faq-section h2 {
    font-size: 2.8rem;
    color: var(--azul);
    text-align: center;
    margin-bottom: 60px;
    font-weight: 600;
}

.faq-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
}

.faq-item {
    background-color: var(--cinza-claro);
    padding: 30px;
    border-left: 5px solid var(--laranja);
}

.faq-item h3 {
    font-size: 1.3rem;
    color: var(--azul);
    margin-bottom: 15px;
}


/*
=====================================================
    CÓDIGOS DE CORREÇÃO E ADICIONAIS
=====================================================
*/

/* --- 1. AJUSTES DE RESPONSIVIDADE (MOBILE) --- */

@media (max-width: 768px) {
    /* Ajuste geral de títulos para mobile */
    h2 {
        font-size: 2rem;
    }

    /* Hero Section */
    .hero-section {
        padding: 40px 0;
        text-align: center;
    }

    .hero-section .container {
        grid-template-columns: 1fr;
        flex-direction: column;
        gap: 30px;
    }

    .hero-content h1 {
        font-size: 2.5rem;
        margin-bottom: 15px;
    }

    .hero-content p {
        font-size: 1rem;
        margin-bottom: 30px;
    }

    .cta-button {
        padding: 15px 30px;
        font-size: 1rem;
    }

    .hero-image {
        order: -1; /* Move a imagem para cima em telas menores */
        margin-bottom: 30px;
    }

    /* Seção Problema - CORREÇÃO DE LAYOUT */
    .problema-content {
        grid-template-columns: 1fr; /* Muda para uma coluna única */
        text-align: center;
    }

    .problema-text {
        text-align: left; /* Mantém parágrafo alinhado à esquerda */
    }

    .problema-image {
        margin-top: 30px; /* Adiciona espaço acima da imagem */
    }

    .problema-image img {
        max-width: 320px; /* Define um tamanho máximo para a imagem */
        margin: 0 auto; /* Centraliza a imagem */
    }

    /* Outras seções */
    .garantia-content {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .depoimentos-grid {
        grid-template-columns: 1fr;
    }

    .depoimento {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}


/* --- 2. CÓDIGO ADICIONADO PARA O RODAPÉ --- */

/* Seção CTA Final (Call to Action) */
#cta-final-section {
    padding: 80px 20px;
    background-color: var(--branco); /* Fundo branco */
    text-align: center;
}

#cta-final-section h2 {
    font-size: 2.5rem;
    color: var(--azul);
    margin-bottom: 20px;
}

#cta-final-section p {
    font-size: 1.1rem;
    color: var(--cinza-escuro);
    margin-bottom: 40px;
}

.cta-button-final {
    display: inline-block;
    background-color: var(--laranja);
    color: var(--branco);
    padding: 18px 40px;
    font-size: 1.2rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 102, 0, 0.3);
}

.cta-button-final:hover {
    background-color: #e55a00;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 102, 0, 0.4);
}

/* Rodapé (Footer) */
footer {
    background-color: var(--cinza-claro); /* Fundo cinza claro para destacar */
    color: var(--cinza-escuro);
    text-align: center;
    padding: 30px 20px;
    border-top: 1px solid #e0e0e0; /* Linha sutil de separação */
}

footer p {
    margin: 0;
    font-size: 0.9rem;
}


.destaque-oftamax {
  color: var(--azul);
}



/*
=====================================================
    Controle de Exibição da Imagem (Desktop vs Mobile)
=====================================================
*/

/* 1. CONFIGURAÇÃO PADRÃO (DESKTOP) */
/* Por padrão, a imagem de desktop é visível e a de mobile, escondida. */

.hero-image-desktop {
    display: flex; /* Garante que a imagem do desktop apareça */
    align-items: center;
    justify-content: center;
}

.hero-image-mobile {
    display: none; /* ESCONDE a imagem do mobile no desktop */
}


/* 2. CONFIGURAÇÃO PARA MOBILE (Telas com até 768px) */
/* Aqui, invertemos a lógica. */

@media (max-width: 768px) {
    .hero-image-desktop {
        display: none; /* ESCONDE a imagem do desktop no mobile */
    }

    .hero-image-mobile {
        display: block; /* MOSTRA a imagem do mobile */
        width: 100%;
        max-width: 320px; /* Tamanho da imagem no mobile */
        margin: 30px auto; /* Espaçamento vertical e centralização */
    }

    .hero-image-mobile img {
        width: 100%;
        height: auto;
    }

    /* Ajuste para garantir que o container da hero section se adapte */
    .hero-section .container {
        grid-template-columns: 1fr; /* Garante que no mobile só tenha uma coluna */
    }
}


/* ... todo o seu código CSS existente ... */
/* ... outras regras de estilo ... */


/* =====================================================
    COLE O NOVO CÓDIGO AQUI NO FINAL
=====================================================
*/

/*
=====================================================
    ESTILO ORGANIZADO PARA IMAGENS DOS PLANOS
=====================================================
*/

/* 1. REGRA GERAL PARA O CONTAINER DA IMAGEM */
/* Aplica-se a TODOS os planos */
.plano-imagem {
    text-align: center; /* Centraliza a imagem horizontalmente */
    padding: 25px 0;    /* Cria um espaçamento vertical de 25px em cima e embaixo */
}

/* 2. REGRA GERAL PARA A IMAGEM EM SI */
/* Define um tamanho PADRÃO para a imagem (para o Plano Inicial) */
.plano-imagem img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    max-width: 80px; /* << TAMANHO DO PLANO INICIAL (frasco pequeno) */
}


/* 3. REGRA ESPECÍFICA para o PLANO INTERMEDIÁRIO */
/* Esta regra SOBRESCREVE a regra geral apenas para o plano intermediário */
.plano-intermediario .plano-imagem img {
    max-width: 320px; /* << TAMANHO DO PLANO INTERMEDIÁRIO (imagem maior) */
}


/* 4. REGRA ESPECÍFICA para o PLANO COMPLETO (que tem a classe 'plano-destaque') */
/* Esta regra SOBRESCREVE a regra geral apenas para o plano em destaque */
.plano-destaque .plano-imagem img {
    max-width: 380px; /* << TAMANHO DO PLANO COMPLETO (imagem ainda maior) */
}
