:root {
    --branco: #fff;
    --preto: #000;
    --cinza1: #6d6d6d;
    --laranja-fotop: #FF5900;
    --cinza-escuro: #1A1A1A;
    --cor-fundo-claro: #f2f1f1;

    --fonte: "Montserrat", sans-serif;
}

* {
    font-family: var(--fonte);
}

body {
    font: 400 16px / 1.5em var(--fonte);
}

ol {
    list-style: number;
    padding-left: 40px;
}

ol li {
    margin-bottom: 15px;
}

p {
    margin-bottom: 15px;
}

/* TOPO */
header.topo_carnatal {
    background: var(--branco);
    border-top: none;
    height: 60px;
    padding-top: 20px;

    & .topo {
        display: flex;
        justify-content: space-between;
    }

    & .topo .main-menu,
    & .topo .options-menu {
        & ul li {
            display: inline-block;
            padding: 0 12px;
        }

        & a {
            font-family: var(--fonte);
            color: var(--cinza-escuro);
            text-transform: uppercase;
            font-style: italic;
        }

    }

    & .topo .main-menu {
        & a {
            font-weight: bold;
        }

        & a:hover {
            color: var(--laranja-fotop);
            text-decoration: none;
        }

        & a:hover:after {
            content: "";
            width: 100%;
            height: 4px;
            background-color: var(--laranja-fotop);
            display: block;
            border-top-left-radius: 4px;
            border-top-right-radius: 4px;
            margin-top: 12px;
        }
    }

    & .topo .options-menu {
        & button {
            font-family: var(--fonte);
            color: var(--cinza-escuro);
            text-transform: uppercase;
            font-style: italic;
            font-weight: bold;
        }

    }
}

.alterar-idioma:hover .submenu-icones {
    visibility: visible !important;
    opacity: 1 !important;
}

.alterar-idioma {
    position: relative;
}

.alterar-idioma .submenu-icones {
    top: 30px;
    right: -25px;
}

.alterar-idioma .submenu-icones li {
    min-width: auto;
    width: 75px;
    text-align: center;
}

.alterar-idioma .submenu-icones li.d_none {
    display: none !important;
}

.alterar-idioma .submenu-icones li a {
    padding: 0 !important;
}

.options-menu #secondary-menu>li:nth-child(1),
.options-menu #secondary-menu>li:nth-child(2) {
    margin-top: 4px;
}

.container-mbl {
    & .topo {
        padding-bottom: 20px;
    }

    & nav {
        width: 100%;
        padding: 0;
    }

    & .options {
        width: calc(50%);
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    & .options button {
        color: var(--laranja-fotop);
        margin-left: 10px;
    }

    & .options a i {
        color: var(--cinza-escuro);
        font-size: 18px;
    }

    & .options a {
        padding: 0 12px;
    }

    & .nav-item a,
    & .nav-item a button {
        color: var(--cinza-escuro);
        font-family: var(--fonte);
        margin-bottom: 6px;
    }

    & .spdr-menu-lang {
        margin-top: 10px;
    }
}

@media(max-width:992px) {
    header.topo_carnatal {
        height: auto;
    }
}

/* Elementos */
.bordered-button {
    background: transparent;
    text-transform: uppercase;
    color: var(--branco);
    border: 2px solid var(--branco);
    border-radius: 16px;
    padding: 12px;
    font-weight: bold;
    display: inline-block;
    text-align: center;
    cursor: pointer;
}

.bordered-button:not(.no-hover):hover {
    color: var(--laranja-fotop) !important;
    border-color: var(--laranja-fotop);
    text-decoration: none;
}

.bordered-button.no-hover:hover {
    color: var(--cinza-escuro) !important;
    border-color: var(--cinza-escuro);
    text-decoration: none;
}

.fade-button {
    background: transparent;
    color: var(--cinza1);
    font-weight: bold;
}

.fade-button.dark-gray {
    color: var(--cinza-escuro);
}

.fade-button.small {
    font-size: 85%;
}


/* Pagina Inicial */
.section_home_fotop_riocarnaval {
    display: flex;
    /*height: 768px;*/
    height: auto;
    background: url("/publico/images/riocarnaval/fundo.jpg") center center var(--branco) no-repeat;

    & .banner-container {
        position: relative;
        overflow: hidden;

        & .side {
            height: 100%;
            width: 40%;
            position: relative;

            & .passista {
                position: absolute;
                bottom: 0;
                right: 0;
            }
        }

        & .perimeter {
            border: 10px solid rgba(255, 255, 255, 0.3);
            border-radius: 60px;
            display: block;
            position: absolute;
            left: 0;
            top: 0;
            width: calc(100% - 30px);
            height: calc(100% - 30px);
            margin-top: 15px;
            margin-left: 15px;
        }

        & .content {
            height: 100%;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-around;
            padding: 50px;
            max-width: 1200px;
            margin: 0 auto;
        }

        & .content .main {
            text-align: center;
        }

        & .content .main h1 {
            max-width: 535px;
            margin-top: 15px;
        }

        & .content .main h2 {
            margin-top: 15px;
        }

        & .bordered-button:hover {
            border-color: var(--branco);
            color: var(--branco) !important;
        }
    }


    & h1 {
        margin-top: 0;
        margin-bottom: 0;
    }

    & h2 {
        font-size: 24px;
        color: var(--branco);
        text-transform: uppercase;
        font-weight: bold;
        font-style: italic;
        line-height: 30px;
    }
}
/*// Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) {}

/*// Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {}

/*// Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {
    .section_home_fotop_riocarnaval {
        & .banner-container {
            & .perimeter {
                width: calc(100% - 44px);
                height: calc(100% - 44px);
                margin-top: 22px;
                margin-left: 22px;
            }

            & .content {
                padding: 0;
            }

            & .content .main {
                padding: 50px;
            }
        }
    }
}

/*// X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {
    .section_home_fotop_riocarnaval {
        & .banner-container {
            & .content .main {
                padding: 100px 100px 100px 0;
            }

            & .side .passista {
                max-width: 470px;
            }
        }
    }
}

/*// XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) {}


.section_home_eventos {
    & h2 {
        font-size: 32px;
        font-weight: bold;
        font-style: italic;
        text-transform: uppercase;
        border-bottom: 4px solid var(--laranja-fotop);
        display: inline-block;
        padding-bottom: 8px;
    }
}

.conteudo-evento {
    margin-bottom: 10px;

    & a {
        display: block;
        background: var(--laranja-fotop);
        border-radius: 16px;
        padding-bottom: 10px;
    }

    & .imagem-evento {
        width: 100%;
    }

    & .titulo-evento {
        margin-top: 16px;
        font-size: 16px;
        font-family: "Montserrat", sans-serif;
        font-weight: bold;
        padding: 0 12px;
    }

    & .info {
        color: var(--branco);
        font-size: 14px;
        padding: 4px 12px;
        display: flex;
        align-items: center;
    }

    & .info i {
        margin-right: 10px;
    }

    & .procure-sua-foto {
        display: none;
    }

    & .evento-em-breve {
        display: none;
    }
}

@media(max-width:767px) {
    .imagem-evento {
        height: 100%;
    }
}

.nome-evento-interna {
    color: var(--laranja-fotop);
}

section.saiba-mais {

    & h1,
    & h2 {
        text-transform: uppercase;
        font-weight: bold;
        font-style: italic;
        border-bottom: 4px solid var(--laranja-fotop);
        display: inline-block;
        padding-bottom: 8px;
        color: var(--cinza-escuro);
    }

    & h1 {
        font-size: 32px;
    }

    & h2 {
        font-size: 24px;
    }
}

/* Prezinho */
.pacote-antecipado-disponivel {
    background: url('/publico/images/carnatal/fundo-pre.png') repeat-x top left;
    border-radius: 16px;
    display: flex;
    position: relative;

    & img {
        position: absolute;
        width: 310px;
        display: block;
        max-width: none;
        bottom: 0;
    }

    & .text-content {
        padding: 25px 50px 25px 0;
    }

    & h3 {
        font-size: 24px;
        text-transform: uppercase;
        font-weight: bold;
        line-height: 30px;
        margin-bottom: 10px;
        text-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    }

    @media(max-width:992px) {
        & img {
            display: none;
        }

        & .text-content {
            margin-left: 0;
            padding: 25px 25px;
        }

        & h3 {
            font-size: 18px;
        }
    }
}

.pacote-antecipado-disponivel.banner-slim {
    margin-top: 10px;

    & h3 {
        font-size: 18px;
        max-width: 70%;
        margin: 0;
    }

    & .text-content {
        margin-left: 0;
        padding: 10px;
        display: flex;
        align-items: center;
    }
}

.modal-header h3 {
    font-size: 24px;
    font-weight: bold;
}

#modalFotoBusca {
    & .modal-content {
        background: transparent;
        border: none;
    }

    & .inner-modal-content {
        background: var(--preto);
    }

    & .modal-header {
        border-color: var(--cinza1);
    }

    & .modal-header h3 {
        font-size: 24px;
        font-weight: bold;
    }

    & .modal-header button span {
        color: var(--branco);
    }

    & .modal-header button {
        background: transparent;
    }

    & .modal-body {
        padding: 1rem 0;
    }

    & .modal-body img#thumbFoto {
        max-height: 60vh;
    }
}

.titulo-minha-galeria h1 {
    font-size: 32px;
    font-weight: bold;
    font-style: italic;
    text-transform: uppercase;
    border-bottom: 4px solid var(--laranja-fotop);
    display: inline-block;
    padding-bottom: 8px;
}

.pagination-anterior-proxima .div-pagination a,
.pagination-anterior-proxima .div-pagination select.todas-paginas {
    background: var(--preto);
    color: var(--cinza1);
    border-color: var(--laranja-fotop);
}

.pagination-anterior-proxima .div-pagination .ativo,
.pagination-anterior-proxima .div-pagination a:hover {
    background-color: var(--preto);
    color: var(--laranja-fotop);
    border-color: var(--laranja-fotop);
}


/* Compra */
td button {
    color: var(--laranja-fotop);
}

.compraRapida #email {
    width: 70%;
}

/*.compraRapida label {*/
/*    color: var(--branco);*/
/*}*/

.table-resumo-pagamento td {
    background-color: var(--cor-fundo-claro);
    /*color: var(--branco);*/
}

/*.conclusaoCompra .color_dark {*/
/*    color: var(--branco);*/
/*}*/

.compraRapida .btn-email-continuar,
.compraRapida .btn-realizar-pagamento {
    font-family: var(--fonte);
}

.compraRapida .bordaCarrinhoCompraRapida {
    border-color: var(--cor-fundo-claro);
}

h4.counter_inc_conclusao {
    color: var(--cinza1) !important;
}

#formCesta table td.col-descricao p {
    font-size: 65%;
}

.botao-novo-carrinho:hover {
    color: #fff !important;
    text-decoration: none;
}

/* FAQ */
section.faq {
    & h1 {
        text-transform: uppercase;
        font-weight: bold;
        font-style: italic;
        border-bottom: 4px solid var(--laranja-fotop);
        display: inline-block;
        padding-bottom: 8px;
        color: var(--cinza-escuro);
    }

    & .panel {
        background: var(--cor-fundo-claro);
        border-radius: 16px;
        padding: 24px;
    }

    & .panel-heading {
        padding-bottom: 10px;
        border-bottom: 1px solid var(--cinza1);
    }

    & .panel.collapsed .panel-heading {
        border-bottom: 0;
    }

    & .panel-heading span {
        text-transform: initial;
    }

    & img.img-colete {
        display: block;
        max-width: 100%;
        width: 300px;
        border-radius: 16px;
    }

    & .panel-body p {
        display: block;
        width: 100%;
    }

    & .panel-body a {
        color: var(--laranja-fotop);
        text-decoration: underline;
        font-weight: bold;
    }
}

/* Rodape */
.rodape {
    margin-top: 50px;
    border-top: 1px solid var(--cinza-escuro);
    padding-top: 50px;
}

.rodape li {
    font-size: 16px;
    text-transform: uppercase;
    font-weight: bold;
    margin: 10px 0;
}

.rodape li a,
.rodape li a:hover {
    font-weight: normal;
    font-size: 16px;
    text-transform: none;
}

.rodape-disclaimer {
    margin-top: 50px;
    border-top: 1px solid var(--cinza-escuro);
    padding-top: 50px;
}

.rodape-disclaimer p {
    font-size: 14px;
}

.rodape-mbl {
    margin-top: 20px;
}

.rodape-mbl i {
    font-size: 28px;
    padding: 0 15px;
}

/*@media(max-width:767px){}
@media(min-width:768px){}
@media(min-width:992px){}
@media(min-width:1200px){}*/

.titulo-1, .titulo-2 {
    font-size: 32px !important;
    font-weight: bold;
    font-style: italic;
    text-transform: uppercase;
    border-bottom: 4px solid var(--cor-primaria);
    display: inline-block;
    padding-bottom: 8px;
    color: var(--cor-primaria);
}

.titulo-2 {
    font-size: 24px !important;
}

.section_home_eventos {
    & .header {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}

@media(max-width:1200px){
    .section_home_eventos {
        & .header {
            display: block;

            & h2 {
                margin-bottom: 16px !important;
            }
        }

        /* Estiliza o container */
        & .filtro {
            margin-bottom: 16px;
            display: flex;
            flex-wrap: nowrap;
            overflow-x: scroll;
            gap: 1rem;
            -webkit-overflow-scrolling: touch; /* Suaviza a rolagem em dispositivos móveis */
            scrollbar-width: none;
        }

        & .filtro::-webkit-scrollbar {
            display: none; /* Remove a barra de rolagem em navegadores baseado em WebKit */
        }

        /* Estiliza os botões */
        & .botao-grupo {
            flex: 0 0 auto; /* Garante que os botões fiquem na mesma linha e não encolham */
            white-space: nowrap; /* Impede quebra de texto */
        }
    }
}
/* Elementos */
.bordered-button {
    background: transparent;
    text-transform: uppercase;
    color: var(--branco);
    border: 2px solid var(--branco);
    border-radius: 16px;
    padding: 12px;
    font-weight: bold;
    display: inline-block;
    text-align: center;
    cursor: pointer;

    &:not(.no-hover):hover {
        color: var(--cor-primaria) !important;
        border-color: var(--cor-primaria);
        text-decoration: none;
    }
    &.no-hover:hover {
        color: var(--branco) !important;
        border-color: var(--branco);
        text-decoration: none;
    }

    &.button-primary {
        color: var(--cor-primaria) !important;
        border-color: var(--cor-primaria);

        &.active, &:hover {
            background-color: var(--cor-primaria);
            border-color: var(--cor-primaria);
            color: var(--branco) !important;
        }
    }
}
