@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;400;700;900&display=swap');

/* VARIÁVEIS*/
:root {
    --background-light: #FBFCEB;
    --background-dark: #c4b46a;
    --accent-light: #E5E483;
    --text-dark: #000000;
    --text-light: #51532b;
    --divider: #c6bd563d;
}

/* RESET E GLOBAL */
html {
    scroll-behavior: smooth;
    font-size: 100%;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    outline: none;
}

body {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    padding: 0;
    background-color: var(--background-light);
    color: var(--text-dark);
}

/* BASE - LAYOUT */
main {
    max-width: 90%;
    margin: 0 auto;
}

footer {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    height: 60px;
    background-color: var(--background-dark);
}

/* HEADER */
header {
    background-size: cover;
    background-position: center;
    text-align: center;
    overflow: hidden;
    background-color: var(--background-dark);
    height: 100px;
}

.textoHeader {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding: 10px 5px;
    margin-left: 20px;
}

.textoHeader h1 {
    color: var(--text-dark);
    font-family: 'Montserrat', sans-serif;
    font-size: 1.25rem;
    margin-top: 50px;
}


/* NAVBAR */
.navbar {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    background-color: var(--background-light);
    padding: 10px;
    z-index: 999;
    display: flex;
    justify-content: center;
    transition: transform 0.3s ease-in-out; /* Suavidade no desaparecimento */
}

.navbar.hidden {
    transform: translateY(-100%); /* Esconde a barra ao mover para cima */
}

.navbar ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    font-size: 1rem;
}

.navbar li {
    margin-right: 15px;
}

.navbar a {
    color: var(--text-dark);
    text-decoration: none;
    padding: 5px 8px;
    font-weight: 500;
    transition: color 0.3s ease;
}

.navbar a:hover {
    color: #5a5c2fd8;
}

/* IMAGENS + CONTAINERS */
.imagemContainer {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 10px;
    max-width: 90%;
    margin: 10px auto;
    flex-wrap: wrap;
    padding: 15px;
}

.imagemItem {
    width: 100%;
    max-width: 350px;
    height: auto;
    aspect-ratio: 1;
    border-radius: 15px;
    object-fit: cover;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.192);
    transition: transform 0.3s ease;
}

.imagemItem:hover {
    transform: scale(1.05);
}

/* CARROSEL */
.carousel-custom {
    box-shadow: 6px 0 10px -5px rgba(0, 0, 0, 0.192), -6px 0 10px -5px rgba(0, 0, 0, 0.192);
    border-radius: 8px;
    display: flex;
    margin: 0 auto;
    justify-content: center;
    max-width: 100%;
    width: 100%;
}

.carousel-custom .carousel-inner img {
    width: 100%;
    height: auto;
    max-height: 1000px;
}

#carouselExampleFade {
    padding: 0;
}

/* INFO-CONTAINERS */

.info-container {
    width: 90%;
    margin: 0 auto;
    padding: 20px;
    background-color: white;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.192);
}

.info-container h2 {
    margin-top: 20px;
    color: var(--text-light);
    font-size: 1.8rem;
}

.info-container p {
    margin: 10px 0;
    font-size: 1rem;
}

/* MAP */
.map-container {
    margin: 20px 0;
    text-align: center;
}

/* EVENTOS - CONTEÚDO */
#espaco {
    margin-top: 50px;
}

#eventos {
    margin-top: 50px;
}

/* NAVEGAÇÃO CARROSEL */

.carousel-control-prev-icon, .carousel-control-next-icon {
    background-color: var(--accent-light);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-control-prev, .carousel-control-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.carousel-control-prev {
    left: -56px;
}

.carousel-control-next {
    right: 9px;
}

/* RESPONSIVIDADE */
@media (max-width: 768px) {
    .navbar ul {
        flex-direction: column;
        align-items: center;
    }

    .imagemContainer {
        flex-direction: column;
    }

    header {
        height: 80px;
    }

    .textoHeader h1 {
        font-size: 1rem;
    }
}
