/* Reset básico */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Poppins";
    background-color: white;
}

html {
    scroll-behavior: smooth;
}

/* HEADER PROF */

header {
    background-color: #CDBCAA;
}

header img {
    margin-left: 5%;
}

.menu_g {
    display: flex;
    padding: 15px;
    justify-content: space-between;
    align-items: center;
}

.conteudo {
    max-width: 1200px;
    margin: auto;
}



nav#desktop ul#menu {
    display: flex;
    list-style-type: none;
    font-size: 18px;
    justify-content: space-between;
}

nav#desktop ul#menu>li {
    position: relative;
    padding: 20px 0;
}

nav#mobile ul {
    list-style-type: none;
}

a {

    text-decoration: none;
    color: black;
}

a:hover {
    color: #ffffff;
}

nav#desktop .submenu {
    z-index: 99;
}

nav#desktop ul.submenu {
    display: none;
    position: absolute;
}

ul.submenu li {
    display: block;
    /* text-align: center; */
    background-color: #CDBCAA;

    padding: 5px;
    border: 1px solid rgb(255, 255, 255);
}

#desktop li:hover ul.submenu {
    display: block;
    margin-top: 20px;
}

ul#menu>li {
    margin-left: 20px;
}


#bigmac {
    display: none;
    width: 40px;
    height: 28px;
    position: relative;
    z-index: 30;
    cursor: pointer;
}

#bigmac .linha {
    position: absolute;
    height: 4px;
    width: 100%;
    background-color: black;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: 0.5s ease-in-out;
}

#bigmac .linha:nth-child(1) {
    top: 0px;
}

#bigmac .linha:nth-child(2) {
    top: 12px;
}

#bigmac .linha:nth-child(3) {
    top: 12px;
}

#bigmac .linha:nth-child(4) {
    top: 24px;
}

#bigmac.open .linha:nth-child(1) {
    top: 18px;
    width: 0%;
    left: 50%;
}

#bigmac.open .linha:nth-child(2) {
    transform: rotate(45deg);
}

#bigmac.open .linha:nth-child(3) {
    transform: rotate(-45deg);
}

#bigmac.open .linha:nth-child(4) {
    top: 18px;
    width: 0%;
    left: 50%;
}

nav#mobile {
    display: none;
}

main {

    margin-top: 100px;
    text-align: center;
}

/* FIM HEADER PROF */

h1 {

    text-align: center;
    font-size: 48px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
}

h2 {

    text-align: center;
    font-size: 40px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;

}



p {

    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 20px;
}


.menu-navegacao ul {
    list-style: none;
    display: flex;
    gap: 30px;
}

.menu-navegacao a {
    text-decoration: none;
    color: black;
    font-weight: bold;
    font-size: 14px;
}

.secao-inicial {
    display: flex;
    gap: 20px;
    margin-top: 20px;
    background-color: #ffffff;
}

.coluna {
    flex: 1;
}

/* Imagem dos músicos */
.imagem-musicos img {
    width: 100%;
    height: auto;
    display: block;
}



/* Destaque dos artistas */
.destaque-artistas {
    background-color: #cfa85f;
    color: white;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.artista-principal {
    font-size: 48px;

    margin-bottom: 10px;
}

.artistas-secundarios {
    color: white;
    font-size: 40px;
    margin: 0px;
}

.lista-artistas {
    color: white;
    font-size: 25px;
    font-weight: 700;
}

/* CARTAZ */

.secao-cartaz {
    padding: 60px 20px;
    text-align: center;
}



.subtitulo-cartaz {
    font-size: 18px;
    margin-top: 20px;
    margin-bottom: 40px;
}

.linha-cartaz {
    display: flex;
    /* justify-content: center; */
    justify-content: space-between;
    /* gap: 24px; */
    margin-bottom: 40px;
    /* flex-wrap: wrap; */

    width: 95%;
    margin-left: auto;
    margin-right: auto;

}

.linha-cartaz2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(405px, 1fr));
    grid-column-gap: 20px;

}


.cartaz-dia {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    border-top: 1px solid #a88563;
    padding-top: 12px;
    margin-top: 30px;
}

.topo-cartaz {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-size: 14px;
    padding: 0 8px;
}

.botao-comprar {
    border: 1px solid #a88563;
    background-color: transparent;
    color: #a88563;
    font-weight: bold;
    font-size: 16px;
    padding: 4px 12px;
    border-radius: 20px;
    cursor: pointer;
    transition: 0.3s;
}

.botao-comprar:hover {
    background-color: #a88563;
    color: white;
}

.banda-principal {
    background-color: #a88563;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 12px;
    gap: 12px;

}

.data {
    font-size: 30px;
    font-style: normal;

    line-height: normal;
}

.banda-principal img {
    width: 40%;
    height: auto;
    object-fit: cover;
}

.banda-secundaria {
    background-color: #CDBCAA;
    display: flex;
    justify-content: flex-end;

    align-items: center;
    padding: 12px;
    gap: 12px;
}

.banda-secundaria img {
    width: 35%;
    height: auto;
    object-fit: cover;
}

.nome-banda {
    font-weight: 700;
    font-size: 24px;
    text-align: left;
    color: #000;
    align-self: end;
    max-width: 123px;
}

.nome-banda.pequena {
    font-size: 20px;
    text-align: right;
}

/* COMO CHEGAR*/

.como-chegar {
    background-color: #f2e6db;
    padding: 60px 20px;
}


.conteudo-como-chegar {
    display: flex;
    justify-content: center;
    gap: 60px;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-top: 20px;
}

.mapa img {
    max-width: 100%;
    height: auto;
    display: block;
}

.info-transportes {
    display: flex;
    flex-direction: column;
    gap: 35px;
    max-width: 340px;
    flex: 1;
}

.transporte {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    border-bottom: 1px solid #B7A28C;
    padding-bottom: 20px;
}

.transporte:last-child {
    border-bottom: none;
}

.transporte img {
    width: 36px;
    height: auto;
    margin-top: 4px;
}

.texto-transporte h3 {
    font-size: 30px;
    font-weight: bold;
    margin: 0 0 6px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.texto-transporte p {
    font-size: 18px;
    line-height: 1.4em;
    margin: 0;
}

.comboio {
    color: #B89196;
}

.autocarro {
    color: #B6883B;
}

.carro {
    color: #B6B47B;
}

.mobilidade {
    color: #9BB3B5;
}

/* === SECÇÃO SOBRE O COOL JAZZ === */
.secao-sobre {
    text-align: center;
    width: 100%;
}

/* Faixa com o título */
.faixa-titulo {
    background-color: #c19858;
    padding: 60px 0;
    margin-top: 30px;

}



/* Texto com fundo azeitona */
.faixa-sobre {
    margin-top: 20px;
    background-color: #cdd2a4;
    padding: 30px 0;
}

.descricao-sobre {

    max-width: 645px;

    margin: 0 auto;

}

.secao-imagens {
    display: grid;
    grid-template-columns: 0.8fr 1fr 1fr 0.8fr;
    align-items: center;
    gap: 40px;
    margin-top: 30px;
    max-width: 100%;
}

.imagem {
    width: 100%;
    max-width: 360px;
    /* Aumenta o tamanho máximo das imagens */
    height: auto;
    display: block;
}

.bloco-cor {
    height: 260px;
}

.vinho {
    background-color: #a55b5e;
    width: 100%;
}

.azul {
    background-color: #8a92a9;
    width: 100%;
}

.rodape {
    background-color: #e7d8c9;
    padding: 40px 5%;
    font-family: "Helvetica Neue", sans-serif;
    font-size: 1.1rem;
    margin-top: 50px;
}

.conteudo-rodape {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
}

.redes-sociais a img {
    height: 32px;
    margin-right: 18px;
    transition: transform 0.2s;
}

.redes-sociais a img:hover {
    transform: scale(1.1);
}

.newsletter {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.input-newsletter {
    padding: 10px 16px;
    border: 1px solid #ccc;
    background-color: #f5f5f5;
    color: #333;
    font-size: 1rem;
    width: 15em;
    height: 40px;
}

.botao-newsletter {
    padding: 10px 16px;
    background-color: #ccc;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    height: 38px;
    transition: background-color 0.2s;
    color: black;
    border-radius: 0px;
}


.botao-newsletter:hover {
    background-color: #a28c7e;
    color: white;
}

.info-legais {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    text-align: right;
    font-size: 12px;
    font-weight: 300;
}

.info-legais ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.info-legais li {
    margin-bottom: 4px;
}

.info-legais a {
    text-decoration: none;

    transition: color 0.2s;
}

.info-legais a:hover {
    color: #ffffff;
}

.idiomas a {
    margin-left: 10px;
    border: 1px solid #000000;
    border-radius: 50%;
    padding: 6px 10px;
    text-decoration: none;

    font-size: 0.95rem;
    transition: background-color 0.2s;
}

.idiomas a:hover {
    background-color: #ffffff;
    color: #a28c7e;

}

/* ################
###    MOBILE   ###
###################*/
@media (max-width: 600px) {

    /* prof */

    header {
        position: fixed;
        top: 0;
        z-index: 998;
        width: 100%;

        padding: 20px 0;
    }


    nav#mobile {
        display: block;
        position: fixed;
        z-index: 9999;
        width: 100%;
        top: 72px;

        right: -100vw;
        transition: 0.3s linear;
        background-color: #CDBCAA;
    }

    nav#mobile.menu_abre {
        right: 0;
    }

    nav#mobile li:hover {
        cursor: pointer;
    }

    nav#mobile ul.submenu {
        display: none;

        /* background-color: black; */
        width: 100%;
    }

    #bigmac {
        display: block;
    }

    i {
        transform: rotate(0deg);
        transition: transform 0.5s linear;
    }

    i.indicador_abre {
        transform: rotate(180deg);
        transition: transform 0.5s linear;
    }

    nav#desktop {
        display: none;
    }

    nav#mobile ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
    }

    #submenu_mobile {
        font-style: italic;
        font-size: small;
    }

    nav#mobile li {
        width: 100%;
        padding: 20px 0;
        text-align: center;
    }

    /* Reduzir tamanhos de texto */
    h1 {
        font-size: 32px;
    }

    h2 {
        font-size: 28px;
    }

    p {
        font-size: 16px;
    }

    /* Ajustar a secção inicial */
    .secao-inicial {
        flex-direction: column;
        padding: 0 20px;
        margin-top: 125px;
    }

    /* Cartaz ajustado */
    .linha-cartaz.grande .cartaz-dia,
    .linha-cartaz.pequena .cartaz-dia {
        width: 100%;
    }

    .topo-cartaz {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 10px 0;
    }

    .topo-cartaz h3 {
        margin: 0;
    }

    .topo-cartaz .botao-comprar {
        margin: 0;
    }


    .banda-principal img,
    .banda-secundaria img {
        width: 50%;

    }



    /* Como chegar */
    .conteudo-como-chegar {
        flex-direction: column;
        gap: 30px;
    }

    .info-transportes {
        max-width: 100%;
    }

    /* Secção de imagens */
    .secao-imagens {
        grid-template-columns: 1fr;

    }

    .imagem {
        max-width: 100%;
    }

    .bloco-cor {
        height: 200px;
    }

    /* Rodapé */
    .rodape {
        margin-top: 50px;
    }

    .conteudo-rodape {
        flex-direction: column;
        align-items: flex-start;
    }

    .info-legais {
        align-items: flex-start;
        text-align: left;
    }

    .newsletter {
        width: 100%;
    }

    .input-newsletter {
        width: 100%;
    }


}

/* BILHETES !!!!!!!!! */

.cor_bilhetes {
    background-color: #9198AB;
}

.secao-planta {
    margin-bottom: 30px;
    justify-content: center;
    display: flex;
}



.filtros-datas {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.filtro {
    border: 2px solid #8c6239;
    background: none;
    color: #8c6239;
    padding: 8px 16px;
    border-radius: 50px;
    cursor: pointer;
    font-weight: bold;
    transition: 0.3s;
}

.filtro:hover,
.filtro.ativo {
    background-color: #8c6239;
    color: white;
}

.cartaz {
    display: flex;
    flex-direction: column;
    gap: 48px;
    margin-top: 50px;
}

.evento {
    display: flex;
    gap: 32px;
    width: 70%;
    margin: auto;
}

.coluna-esquerda {
    flex: 1;
    min-width: 280px;
    background: #c6b096;
    display: flex;
    flex-direction: column;
}

.coluna-direita {
    flex: 2;
    min-width: 280px;
}

.bilhetes {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bilhetes li {
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: space-between;
    flex-wrap: wrap;
}

.bilhetes li span:first-child {
    flex: 1;
}

button {
    border: 1px solid #cdbcaa;
    background: none;
    color: #b7a28c;
    border-radius: 50px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

button:hover {
    background: #8c6239;
    color: white;
}

.saber-mais {
    font-size: 10px;
    padding: 5px 11px;
}




@media (max-width: 600px) {

    .secao-planta img {
        width: 100%;
    }


    .evento {
        flex-direction: column;
        width: 80%;
        gap: 24px;
    }


    .bilhetes {
        gap: 10px;
    }

    .bilhetes li {
        flex-wrap: nowrap;
        /* mantém o conteúdo em linha */
        gap: 12px;
    }

    .bilhetes li span:first-child {
        flex: 1;
        font-size: 14px;
    }

    button {
        font-size: 12px;
        padding: 6px 14px;
    }

    .saber-mais {
        font-size: 9px;
        padding: 4px 9px;
    }

    .filtros-datas {
        gap: 6px;
        padding: 0 10px;
    }

    .filtro {
        font-size: 12px;
        padding: 6px 12px;
    }


}