﻿/*festival 2026*/
:root {
    --verde-festival: #a0ff56;
}


    html {
        overflow-x: hidden !important;
    }


.btn-verde {
    border-radius: 25px;
    color: #000000 !important;
    background-color: var(--verde-festival);
    transition: 0.2s ease;
    min-width: 230px !important
}

    .btn-verde:hover {
        opacity: 0.8;
    }

.bg-single {
    margin-top: 60px;
    position: relative;
    min-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    /* imagem única como background */
    background-image: url('/assets/img/festival2026/maos_juntas.png?v=1.0.0');
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: scroll;
    background-size: cover;
}

/* overlay para aumentar contraste do texto */
.banner-overlay {
    position: absolute;
    inset: 0;
    mix-blend-mode: normal;
    z-index: 1;
}

/* conteúdo por cima */
.banner-content {
    position: relative;
    z-index: 2;
    padding: 60px 20px;
}

.banner-festival h1 { /* ... estilos do h1 como antes ... */
}

/* leve desfoque/desaturação no background (opcional, não funciona em todos os navegadores) */
.bg-single::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
}

.inscricoes-abertas {
    font-size: 6em;
    color: #fff !important;
}

.inscircoes-abertas-subtitulo {
    font-size: 2em;
    margin-bottom: 50px;
}

.texto-verde-festival {
    color: var(--verde-festival);
    font-weight: 500;
}

.texto-descricao {
    margin-top: 100px;

    @media (max-width:821px) {
        margin-top: 10%;
    }

    @media (max-width:481px) {
        margin-top: -50px;
    }
}

.texto-banner {
    max-width: 840px; /* ajuste até que quebre em 3 linhas */
    margin: 0 auto;
    text-align: center;
    font-size: 2em;
    line-height: 1.4; /* garante legibilidade */
    color: #ffffff;

    @media (max-width:481px) {
        font-size: 1.3em;
    }
}

.sobre-festival {
    position: relative;
    padding: 100px 0;
    margin-top: 200px;

    @media (max-width:768px) {
        margin-top: 0px;
    }
}

    .sobre-festival .sobre-festival-banner {
        position: relative; /* chave para prender as imagens aqui */
        max-width: 1200px;
        margin: 0 auto;
    }

    /* Título */
    .sobre-festival .titulo {
        text-align: center;
        font-size: 4rem;
        font-weight: 300;
        color: #fff !important;
        margin-bottom: 60px;
    }

        .sobre-festival .titulo span {
            color: #f2ff43;
            font-weight: 700;
        }


/* Cards */
.card-festival {
    background: #3c3c50;
    padding: 35px 35px;
    border-radius: 4px;
    font-size: 1.4rem;
    line-height: 1.6;
    color: #fff;
    text-align: center;
    min-height: 300px;
    position: relative;
    z-index: 10;
    font-size: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    @media (min-width: 1000px) and (max-width: 1024px) {
        font-size: 16px;
    }
}

    .card-festival .highlight {
        color: #f2ff43;
        font-weight: 700;
    }

/* DECORAÇÕES LATERAIS ------------------------ */

.decor-esquerda,
.decor-direita {
    position: absolute;
    top: 60%;
    transform: translateY(-50%);
    z-index: 1;
    pointer-events: none; /* evita clique */
}

.decor-esquerda {
    left: -220px;
}
/* ajuste fino */
.decor-direita {
    right: -220px;
}


    .decor-esquerda img,
    .decor-direita img {
        width: 320px; /* ajuste conforme a arte */
        max-width: 40vw; /* responsivo */
        height: auto;
        filter: drop-shadow(0 0 6px rgba(0,0,0,0.4));
    }

/* RESPONSIVO */
@media (max-width: 992px) {
    .decor-esquerda img,
    .decor-direita img {
        width: 220px;
        max-width: 35vw;
    }
}


@media (max-width: 481px) {
    .bg-single {
        padding-top: 90px;
        min-height: 500px;
        background-image: url('/assets/img/festival2026/maos_juntas_mobile.png?v=1.0.0');
    }

    .banner-content {
        margin-top: -100px;
    }

    .inscricoes-abertas {
        font-size: 4em;
        line-height: 1;
    }

    .inscircoes-abertas-subtitulo {
        font-size: 1.3em;
        margin-bottom: 100px;
    }
}

/*tablet*/
@media (min-width: 768px) and (max-width: 1024px) {
    .bg-single {
        margin-top: 60px;
        position: relative;
        min-height: 250px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        overflow: hidden;
        /* imagem única como background */
        background-image: url('/assets/img/festival2026/maos_juntas.png');
        background-repeat: no-repeat;
        background-position: center center;
        background-attachment: scroll;
        background-size: cover;
    }

    .inscricoes-abertas {
        font-size: 4em;
    }

    .inscircoes-abertas-subtitulo {
        font-size: 1.3em
    }
}

/* Mobile ajustado */
@media (max-width:968px) {

    .sobre-festival-banner {
        position: relative;
        padding-left: 20px;
        padding-right: 20px;
    }

    .container, .row {
        position: relative;
    }

    .decor-esquerda,
    .decor-direita {
        position: absolute !important;
        transform: none !important;
        z-index: 0 !important;
        opacity: 0.9;
        pointer-events: none;
    }

        .decor-esquerda img,
        .decor-direita img {
            width: 320px;
            max-width: 60vw;
        }


    .decor-esquerda {
        top: 15%;
        left: -65px; /* empurra mais para a lateral */
    }

    .decor-direita {
        top: 50%;
        right: -65px; /* empurra mais para a lateral */
        text-align: right;
    }

    .card-festival {
        position: relative;
        z-index: 2;
        margin-bottom: 35px;
        padding: 16px 14px; /* menor */
        line-height: 1.45;
        min-height: 220px; /* antes 300px */
        font-size: 1.3em
    }


    .sobre-festival .titulo {
        margin-bottom: 30px;
    }
}

.destaques-festival {
    padding: 80px 0;

    @media (max-width:821px) {
        padding: 0;
        margin-top:-30px;
    }
}

.img-destaque {
    max-width: 260px;
    width: 70%;
    height: auto;
    margin-bottom: 25px;
}

.texto-destaque {
    line-height: 1.6;
    color: #fff;
    max-width: 360px;
    margin: 0 auto;
}

.highlight-amarelo {
    color: #f2ff43;
    font-weight: 700;
}

.highlight-azul {
    color: #29c2ff;
    font-weight: 700;
}

.highlight-rosa {
    color: #ff4ad8;
    font-weight: 700;
}

.destaques-festival .col-bloco {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Todas as imagens terão a mesma altura de referência */
.img-destaque {
    height: 180px;
    object-fit: contain;
    margin-bottom: 25px;

    @media (max-width:768px) {
        width: 60%;
        max-width: 220px;
    }
}

/* Wrapper que mantém o texto inteiro sem quebrar */
.texto-destaque {
    min-height: 160px; /* controla o alinhamento vertical */
    display: flex;
    justify-content: center; /* centraliza verticalmente */
    text-align: center; /* centraliza horizontalmente */
}

    .texto-destaque p {
        margin: 0;
        line-height: 1.5;
        font-size: 20px;

        @media (max-width:768px) {
            font-size: 18px;
        }
    }

.mostra-oj {
    text-align: center;
    color: white;
    max-width: 1000px;
    margin: 0 auto;
}

/* ESTRELA DO TOPO */
.estrela-topo img {
    width: 80px;
    margin-bottom: 25px;
}

/* TÍTULO PRINCIPAL */
.titulo-mostra {
    font-size: 4rem;
    font-weight: 300;
    margin-bottom: 10px;
    color: #fff;
}

    .titulo-mostra span {
        color: #a0ff56; /* verde festival */
        font-weight: 600;
    }

.subtitulo-mostra {
    font-size: 20px;
    margin: 0 auto 20px;
    opacity: 0.9;

    @media (max-width: 768px) {
        max-width: 250px;
    }
}

.descricao-mostra {
    font-size: 16px;
    max-width: 700px;
    margin: 0 auto 70px auto;
    max-width: 500px;
    color: #7883a1;

    @media (max-width: 768px) {
        max-width: 300px;
    }
}

/* TÍTULO PREMIAÇÕES */
.titulo-premiacoes {
    font-size: 4rem;
    margin-bottom: 50px;
    font-weight: bold;
}

/* BLOCO DE PREMIAÇÕES */
.bloco-premiacoes {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 90px;
    margin-bottom: 70px;
    margin-left: 15px;
    margin-right: 15px;
}

.item-premio {
    text-align: center;
}

.titulo-premio {
    font-size: 2.5rem;
    margin-bottom: 10px;
    opacity: 0.8;
}

.valor-premio {
    font-size: 2rem;
    color: #a0ff56;
    font-weight: 700;
}

/* IMAGEM CENTRAL */
.imagem-boneca img {
    width: 260px;
    object-fit: contain;
}

/* BOTÕES */
.botoes-mostra {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;

    @media (max-width: 768px) {
        flex-direction: column;
        padding: 0 40px 0 40px;
    }
}

/* RESPONSIVO */
@media (max-width: 768px) {
    .bloco-premiacoes {
        flex-direction: column;
        gap: 40px;
    }

    .valor-premio {
        font-size: 1.8rem;
    }

    .titulo-mostra,
    .titulo-premiacoes,
    .titulo-cronograma {
        font-size: 3.5rem !important
    }
}

/*cronograma*/

.cronograma-2026 {
    margin-top: 100px;
}

.titulo-cronograma {
    font-size: 4rem;
    margin-bottom: 50px;
    font-weight: bold;
    text-align: center;
    color: #fff;
}
/* Base: esconde tudo */
.cal-desktop,
.cal-mobile,
.cal-tablet-1,
.cal-tablet-2 {
    display: none;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}

.cal-mobile {
    max-width: 200px;
}

.cal-desktop {
    max-width: 1000px;
}


/* ----------------------------- */
/* DESKTOP — apenas calendario.png */
@media (min-width: 1200px) {
    .cal-desktop {
        display: block;
    }
}

/* ----------------------------- */
/* MOBILE — apenas calendario-mobile.png */
@media (max-width: 767px) {
    .cal-mobile {
        display: block;
    }
}

/* ----------------------------- */
/* TABLET (768px até 1199px) — exibe AS DUAS imagens */
@media (min-width: 768px) and (max-width: 1199px) {
    .cal-tablet-1,
    .cal-tablet-2 {
        display: block;
    }

    /* Deixar com espaçamento */
    .cal-tablet-1 {
        margin-bottom: 40px;
    }
}

/*quem pode participar*/

/* Título */
.quem-pode-participar {
    margin-top: 100px;
}

.titulo-quem {
    text-align: center;
    font-size: 4rem;
    font-weight: 300;
    color: #ffffff;
    margin-bottom: 40px;
}

/* Container Desktop */
.participar-desktop {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
    margin: 40px auto;
}

/* Imagens Desktop */
.img-desktop {
    display: block;
    width: auto;    
    height: 250px;
}

/* Esconde mobile e tablet por padrão */
.participar-mobile,
.participar-tablet {
    display: none;
}

/* TABLET: 482px–991px */
@media (min-width: 482px) and (max-width: 991px) {

    .participar-desktop {
        display: none;
    }

    .participar-tablet {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 30px;
        margin: 20px auto;
    }

    .img-tablet {
        width: 100%;
        max-width: 700px;
        height: auto;
    }
}

/* MOBILE: até 768px */
@media (max-width: 481px) {

    .img-estrelas {
        margin-top: -64px;
        margin-bottom: -44px;
    }

    .participar-desktop,
    .participar-tablet {
        display: none;
    }

    .participar-mobile {
        display: block;
        text-align: center;
        margin: 20px auto;
    }

    .img-mobile {
        width: 100%;
        max-width: 320px;
        height: auto;
        margin: 0 auto 20px;
    }
}
