.sh-pointer {
  cursor: pointer;
}

.sh-corTema {
  color: #009400;
}

#menuLateral {
  height: 100%;
  overflow-y: auto;
  width: 100%;
}

/* opcional: evitar que conteúdo interno ultrapasse */
#menuLateral .w3-bar-block {
  box-sizing: border-box;
}

body {
  height: 100vh;
  margin: 0;
  padding-top: 80px;  /* Altura da TitleBar */
  padding-bottom: 60px; /* Altura do Footer */
  box-sizing: border-box;
}

.itemTela {
  display: none;
  min-height: calc(100vh - 140px); /* Altura da tela menos titlebar e footer */
  height: calc(100vh - 140px);
  box-sizing: border-box;
  z-index:3;
  width: 100%;
  overflow-y: auto;
}

.itemTela.mostrarTela {
  display: block;
}

/*STYLES PARA O DICIONÁRIO */
/* Área de resultados ocupa espaço restante e pode rolar */
.search-bar {
  display: flex;
  align-items: center;
  width: 100%;
}

.index-btn, .search-btn {
  width: 50px; /* Define uma largura fixa para os botões */
}

.search-input {
  flex: 1; /* Faz o campo de entrada ocupar o espaço restante */
  margin: 0 10px; /* Adiciona um pequeno espaçamento */
}

/*STYLES PARA A BIBLIOTECA */
/* Carrossel da biblioteca (idêntico ao das mídias) */
.carrossel-categoria {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  gap: 16px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 10px;
  padding-left: 8px;
  padding-right: 8px;
  box-sizing: border-box;
  width: 100%;
}

/* CARD ESPECÍFICO PARA LIVROS */
.card-livro {
  flex: 0 0 auto;
  width: 35vw;
  max-width: 200px;
  min-width: 120px;
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  scroll-snap-align: start;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 280px; /* maior que o de mídia */
}

.card-livro img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}

.card-livro .w3-container {
  padding: 8px;
  flex: 1;
  overflow: hidden;
}

/*STYLES para o leitor de livros*/
#abaEpub {
  flex: 1;
  display: flex;
  flex-direction: column;
}
#epubViewer {
  flex: 1;
  overflow: auto;
}

#pdfViewer canvas {
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  border-radius: 8px;
  max-width: 100%;
  height: auto;
}

/*STYLES PARA A TELA DE MÍDIA*/
.carrossel-categoria {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  gap: 16px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 10px;
  padding-left: 8px;
  padding-right: 8px;
  box-sizing: border-box;
  width: 100%;
}

.card-midia {
  flex: 0 0 auto;
  width: 35vw; /* controla o tamanho relativo à tela */
  max-width: 200px;
  min-width: 120px;
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  scroll-snap-align: start;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.card-midia img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}

.card-midia .w3-container {
  padding: 8px;
  flex: 1;
}

/* Estilo para botões tech*/

/* Botão Verde Tech */
.botao-verde-tech {
  background: linear-gradient(to bottom, #00c000, #007a00);
  border: 3px solid #004d00;
  border-radius: 10px;
  box-shadow: inset 0 0 0 2px #a8f5a8,
              inset 0 0 0 6px #00c000,
              0 4px 10px rgba(0, 0, 0, 0.5);
  color: #eafbea;
  font-family: 'Cinzel', serif;
  font-size: 1.05em;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 10px 20px;
  cursor: pointer;
  transition: all 0.25s ease-in-out;
  width: 100%;
  overflow: hidden; /* Oculta o excesso de texto */
  position: relative;
}

/* Efeito hover (brilho e leve aumento) */
.botao-verde-tech:hover {
  transform: scale(1.04);
  background: linear-gradient(to bottom, #00d000, #009400);
  box-shadow: inset 0 0 0 2px #c9f9c9,
              inset 0 0 0 6px #00d000,
              0 6px 14px rgba(0, 255, 0, 0.3);
}

/* Efeito ao clicar */
.botao-verde-tech:active {
  transform: scale(0.97);
}

/* Contêiner interno do texto */
.botao-verde-tech span {
  display: inline-block;
  white-space: nowrap;
  position: relative;
  transition: transform 10s linear;
}