html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
    
  }

  body {
    background-image: url("../../img/backgrounds/bg_main.png");
    background-size: cover; /* Faz a imagem cobrir toda a tela */
    background-repeat: no-repeat;
    background-position: center; 
    background-attachment: fixed; /* Mantém a imagem fixa enquanto a página rola (opcional) */
  }


  main {
    height: 100%;
    overflow-y: auto; /* Permite rolagem do conteúdo principal */
    overflow-x:hidden;
    box-sizing: border-box;
    /* min-height: 100vh; */
  }
  
  a{
    text-decoration: none;
    color: inherit;
  }
  
  .row{
    margin-right: 0;
    margin-left: 0;
  }
  /* Flexbox para distribuir corretamente o espaço */
  .d-flex.flex-column {
    display: flex;
    flex-direction: column;
    height: 100%; /* Altura total da tela */
  }
  
  .row.flex-grow-1 {
    flex-grow: 1; /* Faz a linha ocupar o espaço restante */
  }
  
  .grid-template {
    display: grid;
    grid-template-rows: auto 1fr auto; /* Header, conteúdo central, footer */
    height: 100vh;
  }
  
  .sidebar {
    height: 100%; /* Altura ajustada automaticamente pelo flex-grow */
    overflow-y: auto; /* Permite rolagem interna */
  }

  .bg-nespresso{
    background-color: #333333;
    color: white;
  }

  .bg-nespresso:hover{
    background-color: white;
    color: #333333;
    border: #333333 1px solid;
  }
  
  



/* Estilo padrão para o container */
.container {
  width: 100%;            /* O container ocupa 100% da largura */
  padding: 0;        /* Adiciona espaçamento nas laterais */
  margin: 0 auto;         /* Alinha ao centro */
  box-sizing: border-box; /* Inclui padding e border no tamanho total */
}


@media (min-width: 1400px) { 
  .container-xxl {
    max-width: 1600px; /* Expande ainda mais para telas grandes */
  }
  
}

@media (max-width: 991px) {
  body {
    background-attachment: scroll;
    background-size: cover;
  }
}



/* Para telas menores que 768px (como tablets) */
@media (max-width: 768px) {
  .container {
      padding: 0 10px; /* Menos padding para telas menores */
  }
}

/* Para telas menores que 576px (smartphones em modo retrato) */
@media (max-width: 576px) {
  .container {
      padding: 0 5px;  /* Menos padding em telas muito pequenas */
  }
}

.loaded-iframe {
  width: 100%;
  height: 40.5rem;
}

.blur-box-fixed {
    filter: blur(5px);
    pointer-events: none; /* Impede cliques no conteúdo */
}

.blur-box {
  filter: blur(5px);
  transition: filter 0.2s ease-in-out;
  cursor: pointer;
}

.blur-box:hover {
  filter: blur(0);
}

.text-small-header{
    font-size: 0.72rem;
}

.text-small{
    font-size: 0.68rem;
}

.text-small-body{
    font-size: 0.8rem;
}