:root {
    /* Sobrescreve a variável do Bootstrap para priorizar a sua fonte Roboto auto-hospedada. */
    --bs-font-sans-serif: "Roboto", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
}

/* Opcional, mas recomendado para garantir */
body {
    font-family: var(--bs-font-sans-serif);
}

h1, h2, h3, h4, h5, h6 {
     font-family: "Roboto", sans-serif;
}

h1.fw-700.mb-3.titulo {
    font-family: "Roboto", sans-serif; /* Sem !important */
}

section.copyright,
.essb_links.essb_width_flex ul{
    overflow-x: hidden;
}

.p__single-content p iframe[src*="youtube.com"],
.p__single-content p iframe[src*="youtu.be"] {
    /* Define a proporção do vídeo (16:9) */
    aspect-ratio: 16 / 9;
    /* Garante que o iframe ocupe toda a largura disponível */
    width: 100%;
    /* A altura será calculada automaticamente pelo aspect-ratio */
    height: auto;
    /* Estilos adicionais para uma aparência melhor */
    border-radius: 8px;
    border: 0; /* Remove a borda padrão do iframe */
    display: block; /* Garante que o iframe se comporte como um bloco */
    margin: 20px auto; /* Centraliza e adiciona margem */
}

/*@ correção para maior contraste do texto */
.topbar {
    background: #ab5015 !important;
}

/*@ correção para maior contraste do texto */
.head .header .buttons .campo-de-busca input{
    background: #ab5015 !important;
}

/*@ definindo posição no rodapé do banner de publicidade */
#clever-75179-1551330-top-scroll,
#clever-75179-1551331-top-scroll{
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 9999 !important;
} 

/*@ pré-estabelecendo um tamanho do ícone clube */
.nav-menu .container ul.menu li.clube a{
    min-height: 67px;
}

/*@ pré-estabelecendo um tamanho do ícone do nav */
.nav-menu .container ul.menu li a{
    min-height: 24px;
}

.nav-menu .container ul.menu li a i{
    height: 24px;
}

/*@ pré-estabelecendo um tamanho do nav */
.nav-menu .container ul.menu,
nav.nav-menu.bg-white{
    height: 70px !important;
}

/*@ pré-estabelecendo um tamanho do slot de publicidade quando o banner é do curta mais */
.d-flex.justify-content-center.align-items-center.ads-header.bg-light-ads:has(> a:first-child) {
    min-height: 100px;
}

/*@ pré-estabelecendo um tamanho do slot de publicidade quando o banner é do adsense */
.d-flex.justify-content-center.align-items-center.ads-header.bg-light-ads:has(> ins:first-child) {
    min-height: 450px !important;
}

.d-block.d-md-none > ins:first-child + .d-flex.justify-content-center.align-items-center.ads-header.bg-light-ads {
    min-height: 450px;
}


.w-100.d-block.header--premio{
    min-height: 550px !important;
}

.premio_body_2024{
    min-height: 490px !important;
}

.premio_body_2024 .col-xxl-3.col-xl-3.col-lg-4.col-md-6.col-sm-6.col-12.text-md-end.text-center.my-md-3.py-4.pe-md-4.pe-0{
    min-height: 258px !important;
}

.premio_body_2024 .col-12.text-center.mb-3{
    min-height: 42px !important;
}

.galeria-estabelecimento{
    min-height: 146px !important;
}

/*@ cta-google-noticias */
.cta-google-noticias{
    display: block;
    border-radius: 10px;
    background: rgb(255, 255, 255);
    border: 2px solid rgba(var(--bs-primary-rgb), 0.5);
}

.cta-google-noticias h3{
    color: #ff6800;
}

.cta-google-noticias .link-google-noticias{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    background: #ff6800;
    border-radius: 80px;
    color: white;
    text-decoration: none;
}

/*@ share-block */
ul.share-block{
    color: #ff6800;
}

/*@ wrap-form-news */
.wrap-form-news{
    color: #ff6800;
    position: relative;
}

.wrap-form-news h3{
    display: flex;
    align-items: center;
    column-gap: .6em;
}

.wrap-form-news h3::before{
    content: '✉';
    color: #ff6800;
    font-size: 1.7rem;
    margin: 0;
    padding: 0;
    line-height: 1;
}

.wrap-form-news h4{
    font-size: .75rem !important;
    color: #888;
}

.wrap-form-news p{
    margin: 0 !important;
    position: relative;
}

.wrap-form-news .texto-pequeno,
.wrap-form-news .texto-pequeno *{
    font-size: .6rem !important;
}

.wrap-form-news .btn-assinar {
    border: 1px solid #ff6800;
    color: #fff;
    background-color: #ff6800;
}

.wrap-form-news .btn-assinar:focus,
.wrap-form-news .btn-assinar:active {
    border: 1px solid #ff6800;
    color: #fff;
    background-color: #ff6800;
}

.wrap-form-news .wpcf7-spinner{
    position: absolute;
    bottom: 7px;
    right: 0;
}

.wrap-form-news .wpcf7-form-control.wpcf7-acceptance{
    display: flex !important;
    align-items: center !important;
}

.wrap-form-news .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item{
    margin: 0 !important;
    padding: 0 !important;
}

.wrap-form-news .wpcf7-form-control.wpcf7-acceptance label{
    display: flex !important;
    align-items: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wrap-form-news .wpcf7-form-control.wpcf7-acceptance label input{
    margin: 0 .5rem 0 0 !important;
    padding: 0 !important;
}


/*@ busca topo site */
/* Garante que o container do formulário possa posicionar elementos filhos */
#search-box {
  position: relative;
}

/* Estilos para o botão de busca */
#btn-search {
  /* --- CORREÇÃO: Posição e Tamanho da Área de Toque --- */
  position: absolute;
  top: 50%;
  right: 0px; /* Ajuste a distância da direita conforme necessário */
  transform: translateY(-50%);
  
  /* Define um tamanho mínimo para ser fácil de tocar */
  min-width: 48px;
  min-height: 48px;
  
  /* Centraliza o ícone dentro do botão */
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0; /* Remove o padding padrão se houver */
  border: none; /* Remove a borda se houver */
}

/* --- CORREÇÃO: Contraste de Cores --- */
/* Certifique-se de que a cor do ícone tenha contraste suficiente com o fundo */
#btn-search .la-search {
  font-size: 24px; /* fs-24 */
  color: #FFFFFF;   /* text-white */
  /* AVISO: A cor do ícone é branca (#FFFFFF). Você deve garantir que a cor de fundo
     do campo de busca sobre o qual este ícone aparece seja escura o suficiente
     para ter uma taxa de contraste de pelo menos 3:1.
  */
}

/* --- CORREÇÃO: Input com fundo branco no onfocus --- */
#search_input:focus {
  background-color: #fff !important;
}

.head .header .buttons .campo-de-busca input{
    padding: 0px 50px 0 20px !important;
}

#search_input:focus + #btn-search .la-search {
    color: #999; /* Cor cinza para a lupa quando o input está focado */
}

/* Remove o 'x' de limpar que aparece em inputs do tipo 'search' */
#search_input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  display: none;
}

@media (min-width: 768px) {

    /*@ pré-estabelecendo um tamanho do ícone clube */
    .nav-menu .container ul.menu li.clube a{
        min-height: 75px;
    }

    /*@ pré-estabelecendo um tamanho do nav */
    .nav-menu .container ul.menu,
    nav.nav-menu.bg-white{
        height: 75px !important;
    }

    /*@ pré-estabelecendo um tamanho do slot de publicidade quando o banner é do curta mais */
    .d-flex.justify-content-center.align-items-center.ads-header.bg-light-ads:has(> a:first-child) {
        min-height: 100px;
    }

    /*@ pré-estabelecendo um tamanho do slot de publicidade quando o banner é do adsense */
    .d-flex.justify-content-center.align-items-center.ads-header.bg-light-ads:has(> ins:first-child) {
        min-height: 100px;
    }

    .w-100.d-block.header--premio{
        min-height: 421px !important;
    }

    .premio_body_2024{
        min-height: 361px !important;
    }

    .premio_body_2024 .col-12.text-center.mb-3{
        min-height: 55px !important;
    }

    .galeria-estabelecimento{
        min-height: 421px !important;
    }

    /*@ corrigindo carregamento owl-item no desktop*/
    .owl-destaques.owl-carousel{
        visibility: hidden !important;
    }

    .owl-destaques.owl-carousel.owl-loaded{
        visibility: visible !important;
    }
    
    #headerSearch .campo-de-busca input{
        width: 170px;
    }

}

@media (min-width: 1400px) {

    /*@ corrigindo carregamento owl-item no desktop*/
    .destaques .owl-destaques.owl-carousel .owl-item{
        max-width: 421.333px !important;
        overflow: hidden !important;
        float: left !important;
        display: block !important;

    }

    .destaques .owl-destaques.owl-carousel .owl-stage-outer .owl-stage{
        max-width: auto !important;
    }
    
}