/* 🔹 Reset + Base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: #ffffff;
    color: #000;
    line-height: 1.5;
    font-weight: 400;
}

/* 🔹 Navbar */
.navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 2rem;
    max-width: 1200px;
    margin: auto;
}

.logo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.logo img {
    height: 32px;
}

.brand-name {
    font-size: 1.25rem;
    color: #8a74f9;
    font-weight: 600;
}

  .nav-links {
    display: none;
    position: fixed;
    top: 65px;
    left: 0;
    width: 100%;
    background: #fff;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 24px 0;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
    transform: translateY(-120%);
    transition: transform 0.3s ease;
  }

  /* Mostra o menu ao clicar */
  .nav-links.active {
    transform: translateY(0);
  }

  /* Mostra o ícone */
  .hamburger {
    display: flex;
  }

  /* Animação do ícone */
  .hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translateY(8px);
  }
  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
  .hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translateY(-8px);
  }

.nav-links a {
    text-decoration: none;
    color: #000;
    font-size: 1rem;
    transition: color 0.2s ease;
}

.nav-links a:hover {
    color: #8a74f9;
}

.nav-links a.active {
    color: #8a74f9;
    font-weight: 600;
}

/* Ícone hambúrguer (mobile) */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  cursor: pointer;
  width: 26px;
  height: 22px;
  gap: 5px;
}

.hamburger span {
  background: #8a74f9;
  height: 3px;
  width: 100%;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.btn {
    background-color: #8a74f9;
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    transition: background-color 0.3s ease;
}

.btn:hover {
    background-color: #7a64e0;
}

/* Sessao1 */

.terms {
    display: flex;
    justify-content: center;
    padding: 80px 0;
}

.terms__container {
    width: 100%;
    max-width: 840px;
    padding: 0 60px;
    /* margens laterais iguais */
    text-align: left;

}

/* Título */
.terms__title {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 600;
    color: #7a64e0;
    margin-bottom: 50px;
}

/* Blocos */
.terms__block {
    margin-bottom: 40px;
    line-height: 1.65;
    color: #5C6068;
}

.terms__block h2 {
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--heading);
    margin-bottom: 10px;
}

/* Parágrafos */
.terms__block p {
    margin: 0 0 10px;
}

/* Listas com bullet */
.terms__block ul {
    margin: 6px 0 0 20px;
    padding: 0;
    list-style: disc;
}

/* Listas numeradas */
.terms__block ol {
    margin: 6px 0 0 20px;
    /* mesmo recuo da ul */
    padding: 0;
    list-style: decimal;
}

.terms__block li {
    margin-bottom: 6px;
}

.terms__footer {
    color: #5C6068;
}

/* Divisor */
hr {
    border: 0;
    border-top: 1px solid var(--divider);
    margin: 30px 0;
}

/* Responsivo */
@media (max-width: 768px) {
    .terms__container {
        padding: 0 20px;
    }

    .terms__title {
        font-size: 1.7rem;
    }

    .terms__block h2 {
        font-size: 1rem;
    }


}

/* Sessão Rodape */

.new-footer {
    background-color: #f8f8f8;
    padding: 40px 20px;
    font-family: Arial, sans-serif;
    color: #333;
}

.new-footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto 30px auto;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.new-footer-logo img {
    height: 40px;
    /* Adjust as needed */
}

.new-footer-social a img {
    height: 24px;
    /* Size for social icons */
    margin-left: 15px;
}

.new-footer-main {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    flex-wrap: wrap;
}

.new-footer-description {
    flex: 2;
    /* Takes more space */
    margin-right: 40px;
    max-width: 50%;
}

.new-footer-description p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
  font-weight: 100;
}

.new-footer-stores a img {
    height: 40px;
    /* Size for app store badges */
    margin-right: 10px;
}

.new-footer-links {
    flex: 1;
    /* Takes less space */
    display: flex;
    justify-content: space-around;
    max-width: 40%;
}

.new-footer-links h4 {
    font-size: 16px;
    margin-bottom: 15px;
    color: #6a0dad;
    /* Purple color */
}

.new-footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.new-footer-links ul li a {
    text-decoration: none;
    color: #555;
    font-size: 14px;
    line-height: 2;
    display: block;
}

.new-footer-links ul li a:hover {
    color: #6a0dad;
}

footer .container {
  margin: 0 auto;
  padding: 0 20px;
  margin: 10px 0;
  line-height: 1.5;
  text-align: center;
  font-size: 14px;
}

.info-footer-section {
    background-color: #f8f8f8;
    padding: 0px;
    text-align: center;
    color: #777;
    font-size: 14px;
}

.info-footer-content p {
    margin: 10px 0;
}

.info-footer-content a {
    color: #777;
    text-decoration: underline;
}

.info-footer-content a:hover {
    color: #555;
}

.info-footer-divider {
    border: none;
    border-top: 1px solid #eee;
    margin: 20px auto;
    width: 80%;
}

.info-footer-copyright p {
    margin: 0px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .new-footer-top {
        flex-direction: column;
        align-items: center;
    }

    .new-footer-social {
        margin-top: 30px;
    }

    .new-footer-main {
        flex-direction: column;
        align-items: center;
    }

    .new-footer-description,
    .new-footer-links {
        max-width: 100%;
        margin-right: 0;
        text-align: center;
    }

    .new-footer-links {
        flex-direction: column;
        margin-top: 30px;
    }

    .new-footer-support,
    .new-footer-legal {
        margin-bottom: 20px;
    }



}



/* Responsividade */

/* ----------------------------------------- */

/* ----------------------------------------- */
@media (max-width: 750px) {

    /* Navbar: Transforma em menu hambúrguer (visual) */
    .navbar {
        padding: 1rem;
    }

    .nav-links {
        display: none;
        /* Esconde os links. Em um projeto real, aqui entraria JS para um menu hambúrguer */
    }

    .cta-button {
        display: none;
        /* Também esconde o botão de CTA no navbar */
    }

    /* Hero Section: Ajusta fontes e espaçamentos - CORRIGIDO */
    .hero {
        margin: 1rem;
        padding: 2rem 1.5rem;
    }

    .text-section h1 {
        font-size: 1.8rem;
        /* Reduz o tamanho da fonte do título */
        word-wrap: break-word;
        /* Garante a quebra de palavras longas */
        hyphens: auto;
        /* (Opcional) Ajuda na quebra de palavras */
    }

    /* Remove as quebras de linha forçadas do H1 em telas pequenas */
    .text-section h1 br {
        display: none;
    }


    /* Comparison Section: Simplifica a tabela */
    .comparison-section {
        padding: 3rem 1rem;
    }

    .comparison-columns-header {
        display: none;
        /* Esconde os títulos "Antes" e "Depois" */
    }

    .comparison-row {
        display: contents;
        flex-direction: column;
        /* Empilha os itens */
        gap: 0.5rem;
    }

    .comparison-row .item {
        border-radius: 999px;
        /* Deixa ambos os itens totalmente arredondados */
        justify-content: center;
        padding: 0.8rem 1rem;
    }

    .comparison-row .before {
        order: 1;
        justify-content: flex-start;
        gap: 0.75rem;
    }

    .comparison-row .before .icon {
        order: -1;
        /* Força o ícone a ser o primeiro item, vindo antes do texto */
    }

    .comparison-row .after {
        order: 2;
        justify-content: flex-start;
        gap: 0.75rem;
    }

    .comparison-table {
        display: flex;
        flex-direction: column;
        /* Garante que a tabela seja uma coluna */
        gap: 0.5rem;
    }

    /* Platform Section: Ajusta o ícone e o layout */
    .platform-icon {
        top: -80px;
        /* Sobe um pouco o fantasminha */
        width: 60px;
    }

    .platform-content {
        flex-direction: column;
    }

    .platform-text {
        text-align: center;
    }

    .platform-text p {
        max-width: 100%;
    }

    .platform-image {
        display: none;
        /* Esconde a imagem dos celulares para focar no texto */
    }

    .platform-button {
        margin: 0 auto;
        display: inline-flex;
    }

    /* Press Section: Cards em coluna única */
    .press-cards {
        flex-direction: column;
        align-items: center;
    }

    .press-card {
        width: 90%;
        max-width: 300px;
    }

    /* Blog Section: Posts em coluna única */
    .blog-posts {
        flex-direction: column;
        align-items: center;
    }

    .blog-post {
        width: 90%;
        max-width: 300px;
    }

    /* Footer: Centraliza tudo */
    .footer-top {
        flex-direction: column;
        gap: 1.5rem;
    }

    /* Platform Section: Ajustes para Mobile */
    .platform-section {
        padding-top: 4rem;
        /* Garante espaço para o fantasminha */
        padding-bottom: 3rem;
    }

    .platform-icon {
        top: -40px;
        /* Sobe um pouco mais o ícone */
        width: 60px;
    }

    .platform-content {
        flex-direction: column;
        /* Empilha o bloco de texto e o de imagem */
        gap: 3rem;
        /* Aumenta o espaço entre o texto e a imagem dos celulares */
    }

    .platform-text {
        text-align: center;
        /* Centraliza todo o texto */
        order: 1;
        /* Garante que o texto venha primeiro */
    }

    .platform-text p {
        max-width: 100%;
        /* Permite que o parágrafo ocupe a largura total */
        margin-left: auto;
        margin-right: auto;
    }

    /* Cards: Empilha verticalmente */
    .platform-cards {
        grid-template-columns: 1fr;
        /* Muda o grid para uma única coluna */
        gap: 1rem;
        /* Espaço entre os cards empilhados */
        margin-bottom: 2rem;
    }

    .card {
        text-align: left;
        /* Mantém o texto dos cards alinhado à esquerda para legibilidade */
    }

    .platform-button {
        margin: 0 auto;
        /* Centraliza o botão */
        display: inline-flex;
    }

    /* Imagem dos celulares */
    .platform-image {
        order: 2;
        /* Garante que a imagem venha depois do texto */
        min-width: 100%;
        /* Ocupa a largura total */
    }

    .platform-image img {
        max-width: 100%;
        /* Garante que a imagem não ultrapasse a tela */
        height: auto;
    }

    /* Dentro de @media (max-width: 992px) */

    /* Assistants Section: Empilha os cards */
    .assistants-cards {
        grid-template-columns: 1fr;
        /* Muda o grid para uma única coluna */
        gap: 5rem;
        /* Aumenta o espaço vertical para os mascotes não sobreporem o texto abaixo */
        max-width: 400px;
        /* Limita a largura máxima dos cards no mobile */
        margin: 0 auto;
        /* Centraliza o container dos cards */
    }

    .assistant-card {
        align-items: center;
        /* Centraliza o conteúdo do card */
        text-align: center;
        /* Centraliza o texto */
    }

    /* Dentro de @media (max-width: 768px) */

    /* Blog Section: Ajusta a largura do parágrafo */
    .blog-header p {
        padding: 0 1rem;
        /* Adiciona espaçamento lateral de 16px em cada lado */
    }


    /* CTA Section: REFAZENDO O LAYOUT PARA ANCORAR A IMAGEM */

    .cta-section {
        position: relative;
        /* Essencial para o posicionamento absoluto da imagem */
        height: auto;
        min-height: 600px;
        /* Altura mínima para garantir espaço para o texto e a imagem */
        padding: 0 1.5rem;
        /* Remove padding vertical, a altura mínima controla o espaço */
        margin: 2rem 1rem;
        display: flex;
        /* Usamos flex para centralizar o texto verticalmente */
        align-items: flex-start;
        /* Alinha o texto no topo */
        overflow: hidden;
        /* Garante que nada vaze */
    }

    .cta-ghost {
        top: 2rem;
        /* Posição ajustada do fantasma */
    }

    .cta-content {
        /* Este container não precisa mais de flex-direction, pois o .cta-section já controla o layout */
        width: 100%;
    }

    .cta-text {
        padding-top: 5rem;
        /* Espaço para o fantasma e o título */
        padding-bottom: 250px;
        /* IMPORTANTE: Espaço na base para a imagem não cobrir o texto */
        text-align: center;
        padding-right: 0;
        padding-top: 8rem;
        /* <<< ADICIONE ESTA LINHA */
    }

    .cta-image {
        /* O container da imagem agora ocupa a seção inteira para posicionar a imagem */
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        /* Impede que a imagem bloqueie cliques no texto */
    }

    .cta-image img {
        /* A MÁGICA ACONTECE AQUI */
        position: absolute;
        bottom: -20px;
        /* Move a imagem um pouco para baixo para um efeito de "vazamento" sutil */
        left: 50%;
        transform: translateX(-50%);
        /* Centraliza a imagem horizontalmente */
        width: 100%;
        max-width: 280px;
        /* Controla o tamanho da imagem */
        height: auto;
        object-fit: contain;
    }

    /* Dentro de @media (max-width: 992px) */

    /* Hero Section: Empilha e REORDENA o texto e a imagem */
    .hero-content {
        flex-direction: column;
        /* Empilha os elementos */
        text-align: center;
        gap: 3rem;
        /* Adiciona um bom espaço entre o texto e a imagem */
    }

    .text-section {
        /* Define a ordem do bloco de texto como 1 (primeiro) */
        order: 1;
        align-items: center;
        text-align: center;
    }

    /* ADICIONE ESTE NOVO BLOCO DE CÓDIGO */
    .image-section {
        /* Define a ordem do bloco da imagem como 2 (segundo) */
        order: 2;
        width: 100%;
        /* Garante que a seção da imagem ocupe a largura */
    }

    .main-image {
        position: relative;
        /* Remove o posicionamento absoluto que não é mais necessário */
        max-width: 80%;
        /* Faz a imagem ser um pouco menor que a largura total para ter respiro */
        margin: 0 auto;
        /* Centraliza a imagem */
    }

    .image-bg {
        display: none;
        /* Esconde o fundo roxo da imagem no mobile para um visual mais limpo */
    }


}