/* Animação para o header */
.menu {
    animation: fadeIn 0.5s ease-out;
}

/* Animação para links do menu */
.menu-items li {
    opacity: 0;
    animation: fadeInSlideRight 0.5s ease-out forwards;
}

.menu-items li:nth-child(1) { animation-delay: 0.1s; }
.menu-items li:nth-child(2) { animation-delay: 0.2s; }
.menu-items li:nth-child(3) { animation-delay: 0.3s; }
.menu-items li:nth-child(4) { animation-delay: 0.4s; }

/* Animação para o texto principal */
.section-text {
    opacity: 0;
    animation: fadeIn 0.8s ease-out forwards;
}

/* Animação para os boxes de imagem */
.img-box {
    opacity: 0;
    transform: translateY(30px);
    animation: slideUp 0.8s ease-out forwards;
}

.img-box:nth-child(1) {
    animation-delay: 0.2s;
}

.img-box:nth-child(2) {
    animation-delay: 0.4s;
}

/* Links e disclaimer com animação simples */
.download-link, .disclaimer, footer {
    opacity: 0;
    animation: fadeIn 0.5s ease-out forwards;
    animation-delay: 0.6s;
}

/* Definição das animações */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeInSlideRight {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Estilos para a busca */
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(8, 8, 8, 0.8);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    opacity: 0;
    visibility: hidden;
    z-index: 999;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.search-overlay.active {
    opacity: 1;
    visibility: visible;
    background: rgba(8, 8, 8, 0.8);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.search-container {
    position: relative;
    width: 100%;
    padding: 0;
    margin-top: 80px;
    background: transparent;
    transform: translateY(-30px);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.search-overlay.active .search-container {
    transform: translateY(0);
    opacity: 1;
}

.search-input-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 70px;
    box-sizing: border-box;
    opacity: 0;
    transform: translateY(-20px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
}

.search-overlay.active .search-input-wrapper {
    opacity: 1;
    transform: translateY(0);
}

.search-input {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.9);
    font-size: 48px;
    width: 100%;
    padding: 40px 0;
    display: block;
    outline: none;
}

.search-input::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

.search-icon {
    cursor: pointer;
    fill: currentColor;
    width: 20px;
    height: 20px;
    color: #fff;
    opacity: 1;
    transition: opacity 0.2s ease;
    transform: scaleX(1);
}

.search-icon:hover {
    opacity: 0.6;
}

/* Quando a busca estiver ativa, o ícone fica espelhado instantaneamente */
.search-active .search-icon {
    opacity: 0.6;
    transform: scaleX(-1);
}

/* Quando a busca estiver ativa, esconda o scroll da página */
body.search-active {
    overflow: hidden;
}

/* Animação do overlay */
@keyframes fadeInOverlay {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Adicione um container wrapper para centralizar o conteúdo */
.search-input-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 70px;
    box-sizing: border-box;
}

/* Adicione estes estilos para os links do menu */
.menu-items {
    display: flex;
    gap: 20px;
}

.menu-items li a {
    color: #fff;
    text-decoration: none;
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* Remove o hover do container */
.menu-items li:hover ~ li a,
.menu-items li:has(~ li:hover) a {
    opacity: 0.4;
}

/* Mantém o item com hover em destaque */
.menu-items li:hover a {
    opacity: 1;
}

/* Media query para mobile */
@media screen and (max-width: 768px) {
    /* Oculta os links do menu em mobile */
    .menu-items {
        display: none;
    }

    /* Ajusta o container do menu para mobile */
    .menu-container {
        justify-content: space-between;
        padding: 15px 20px;
    }

    /* Ajusta o logo e search icon para mobile */
    .menu-logo {
        height: 20px;
    }

    .search-icon {
        width: 18px;
        height: 18px;
    }

    /* Ajustes para o hero text */
    .section-text {
        height: auto;
        padding: 40px 20px;
    }

    h1 {
        font-size: 2.8rem;
        line-height: 1.2;
    }

    .announcement-text {
        font-size: 1.1rem;
        padding: 15px 20px 0;
    }

    .Spotlight-text {
        font-size: 0.9rem;
    }

    /* Ajustes para o footer em mobile */
    footer {
        padding: 20px;
        position: relative;
        bottom: auto;
    }

    .footer-content {
        flex-direction: row; /* Mantém na horizontal como no desktop */
        gap: 0;
        padding: 0;
    }

    .footer-content .left-section,
    .footer-content .right-section {
        text-align: left; /* Alinha à esquerda como no desktop */
        justify-content: flex-start;
        width: auto;
    }

    .footer-content .right-section {
        text-align: right; /* Mantém alinhado à direita */
    }

    /* Ajuste do wrapper do input de busca para mobile */
    .search-input-wrapper {
        padding: 0 20px; /* Reduzido de 70px para 20px */
    }

    .search-input {
        font-size: 32px; /* Fonte menor para mobile */
        padding: 30px 0;
    }

    /* Ajuste do container de busca */
    .search-container {
        margin-top: 60px; /* Reduzido um pouco o espaço do topo */
    }

    /* Ajuste das seções invisíveis para mobile */
    .invisible {
        height: 5rem; /* Reduzido de 10rem para 5rem */
    }

    .invisible2 {
        height: 4rem; /* Reduzido de 8rem para 4rem */
    }
}

/* Ajustes específicos para telas muito pequenas */
@media screen and (max-width: 480px) {
    h1 {
        font-size: 2.4rem;
    }

    .announcement-text {
        font-size: 1rem;
    }

    .search-input {
        font-size: 24px; /* Fonte ainda menor para telas muito pequenas */
    }
} 