/* Cores personalizadas */
:root {
  --orange: #EA9262;
  --brown: #5F4430;
}

.bg-orange {
  background-color: var(--orange);
}

.bg-brown {
  background-color: var(--brown);
}

.text-orange {
  color: var(--orange);
}

/* Estilos para o cabeçalho com imagem de fundo */
.header-with-bg {
  background-image: url('../img/cafe-background.png'); /* Imagem de fundo */
  background-size: 50% auto; /* Reduz a largura da imagem para 90% e mantém a proporção */
  background-position: center; /* Centraliza a imagem */
  background-repeat: no-repeat; /* Evita repetição da imagem */
  position: relative;
  min-height: 400px; /* Altura mínima do cabeçalho */
  display: flex;
  align-items: center; /* Centraliza o conteúdo verticalmente */
  justify-content: center; /* Centraliza o conteúdo horizontalmente */
  overflow: hidden; /* Garante que o desfoque não ultrapasse os limites do cabeçalho */
}

/* Efeito de desfoque na imagem de fundo */
.header-with-bg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../img/cafe-background.png'); /* Mesma imagem de fundo */
  background-size: 50% auto; /* Reduz a largura da imagem para 90% e mantém a proporção */
  background-position: center; /* Centraliza a imagem */
  background-repeat: no-repeat; /* Evita repetição da imagem */
  filter: blur(5px); /* Aplica o desfoque */
  z-index: 0; /* Coloca o desfoque atrás do conteúdo */
}

/* Overlay escuro */
.overlay {
  background-color: rgba(0, 0, 0, 0.5); /* Cor escura semi-transparente */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* Cobrir toda a altura do cabeçalho */
  display: flex;
  flex-direction: column; /* Alinha os itens verticalmente */
  z-index: 1; /* Coloca o overlay acima do desfoque */
}

/* Container do logotipo */
.logo-container {
  padding: 20px; /* Espaçamento ao redor do logotipo */
}

/* Estilos para o logo */
.logo {
  height: 120px; /* Tamanho do logotipo */
  width: auto;
}

/* Estilos para o texto centralizado */
.container.text-center {
  flex-grow: 1; /* Ocupa o espaço restante */
  display: flex;
  align-items: center; /* Centraliza o texto verticalmente */
  justify-content: center; /* Centraliza o texto horizontalmente */
}

/* Estilos para o título do cabeçalho */
.header-title {
  font-family: 'Pacifico', cursive; /* Usa a fonte Pacifico */
  font-size: 2.5rem; /* Tamanho da fonte */
  color: white; /* Cor do texto */
  margin-bottom: 20px; /* Espaçamento abaixo do título */
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* Sombra no texto para melhor legibilidade */
}

/* Ajustes para dispositivos móveis */
@media (max-width: 768px) {
  .header-title {
    font-size: 2rem; /* Reduz o tamanho da fonte em telas menores */
    margin-bottom: 15px; /* Reduz o espaçamento */
  }
}

/* Estilos para o texto de apresentação */
.lead {
  font-family: Arial, sans-serif; /* Fonte mais profissional */
  font-size: 1.1rem; /* Tamanho menor para o texto */
  line-height: 1.6; /* Espaçamento entre linhas */
  max-width: 800px; /* Largura máxima do texto */
  margin: 0 auto; /* Centraliza o texto */
  color: white; /* Cor do texto */
  padding: 0 20px; /* Adiciona padding nas laterais para telas pequenas */
  text-align: justify; /* Justifica o texto para melhor distribuição */
}

/* Ajustes para dispositivos móveis */
@media (max-width: 768px) {
  .lead {
    font-size: 1rem; /* Reduz o tamanho da fonte em telas menores */
    padding: 0 15px; /* Aumenta o padding nas laterais */
    text-align: left; /* Alinha o texto à esquerda para melhor legibilidade */
  }
}

/* Estilos para a seção de ícones */
.icon-section {
  background-color: var(--orange); /* Cor de fundo */
  padding: 20px 0; /* Espaçamento interno */
}

.icons {
  display: flex;
  justify-content: center;
  gap: 30px; /* Espaçamento entre os ícones */
}

.icon-link {
  color: white; /* Cor dos ícones */
  transition: transform 0.3s, color 0.3s;
}

.icon-link:hover {
  transform: scale(1.2); /* Efeito de zoom ao passar o mouse */
  color: #f8f9fa; /* Cor mais clara ao passar o mouse */
}

/* Ajustes para dispositivos móveis */
@media (max-width: 768px) {
  .lead {
    font-size: 1rem; /* Reduz o tamanho da fonte em telas menores */
    padding: 0 15px; /* Aumenta o padding nas laterais */
    text-align: left; /* Alinha o texto à esquerda para melhor legibilidade */
  }

  .header-with-bg {
    padding-bottom: 80px; /* Aumenta o espaçamento inferior em dispositivos móveis */
  }

  .icon-section {
    margin-top: 0; /* Remove qualquer margem negativa */
  }
}

/* Estilos para a seção de introdução */
.intro {
  background-color: var(--orange);
  color: white;
  padding: 40px 20px;
  text-align: center;
}

.intro .lead {
  font-size: 1.2rem;
  max-width: 600px;
  margin: 0 auto 30px;
}

.buttons {
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

/* Estilos para o carrossel */
.carousel-section {
  background-color: #f8f9fa;
  padding: 40px 0;
}

.carousel-item img {
  border-radius: 10px;
  height: 400px; /* Altura fixa para todas as imagens */
  width: 100%; /* Largura de 100% para se ajustar ao contêiner */
  object-fit: contain; /* Mantém a proporção da imagem sem cortar */
  background-color: #fff; /* Cor de fundo caso a imagem não cubra totalmente */
}

.carousel-caption {
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 5px;
  padding: 10px;
}

.carousel-item .row {
  margin: 0;
}

.carousel-item .col-md-12 {
  padding: 0 5px;
}

/* Estilos para a seção de endereço e mapa */
.address-section {
  background-color: #fff;
  padding: 40px 0;
}

.address-section h2 {
  color: var(--brown);
  font-size: 2.5rem;
  margin-bottom: 20px;
}

.address-section p {
  font-size: 1.2rem;
  color: var(--brown);
  margin-bottom: 20px;
}

.embed-responsive {
  border-radius: 10px;
  overflow: hidden;
}

/* Estilos para o texto de apresentação ao lado do carrossel */
.presentation-text {
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.9); /* Fundo branco semi-transparente */
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.presentation-text .lead {
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--brown); /* Cor do texto */
  text-align: justify; /* Justifica o texto */
}

/* Ajustes para dispositivos móveis */
@media (max-width: 768px) {
  .carousel-section .row {
    flex-direction: column; /* Coloca o texto acima do carrossel em dispositivos móveis */
  }

  .presentation-text .lead {
    font-size: 1rem;
    text-align: left; /* Alinha o texto à esquerda em dispositivos móveis */
  }

  .carousel-section .col-md-6 {
    width: 100%; /* Garante que as colunas ocupem toda a largura */
  }

  .carousel-item img {
    height: 250px; /* Reduz a altura das imagens em dispositivos móveis */
  }
}

/* Estilos para a seção do cardápio */
.menu-section {
  background-color: #f8f9fa; /* Cor de fundo */
}

.menu-section h2 {
  color: var(--brown); /* Cor do título */
  font-size: 2.5rem;
  margin-bottom: 30px;
}

/* Estilos para o card do cardápio */
.card {
  border: none;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 20px;
}

/* Estilos para as categorias */
.categoria {
  margin-bottom: 30px;
}

.categoria-titulo {
  font-size: 1.8rem;
  color: var(--brown);
  margin-bottom: 15px;
  border-bottom: 2px solid var(--orange); /* Linha abaixo do título */
  padding-bottom: 5px;
}

/* Estilos para os itens do cardápio */
.item-cardapio {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #eee; /* Linha entre os itens */
}

.item-nome {
  font-size: 1.1rem;
  color: var(--brown);
}

.item-preco {
  font-size: 1.1rem;
  color: var(--orange);
  font-weight: bold;
}

/* Ajustes para dispositivos móveis */
@media (max-width: 768px) {
  .categoria-titulo {
    font-size: 1.5rem;
  }

  .item-nome,
  .item-preco {
    font-size: 1rem;
  }
}