
:root {
  --cor-primaria: #F7C948; /* Amarelo da logo */
  --cor-secundaria: #000000; /* Preto */
  --cor-texto: #FFFFFF; /* Branco */
  --cor-fundo: #F9F9F9; /* Cinza bem claro */
}

body {
  background-color: var(--cor-fundo);
  color: var(--cor-secundaria);
  font-family: 'Roboto', sans-serif; /* fonte padrão para textos */
}

/* Títulos principais (categorias, nomes de produtos, alertas) */
h1, h2, h3, h4, h5, h6,
.card-title,
.alert strong,
.categoria-titulo,
.btn-sabor strong,
.item-card strong {
  font-family: 'Bebas Neue', sans-serif; /* destaque com Bebas Neue */
  font-weight: 400; /* Bebas não precisa de muito peso */
  letter-spacing: 1px; /* opcional: dá mais espaço entre letras */
}

/* Texto normal (descrições, observações, preços, ingredientes, etc.) */
.card-text,
.descricao,
.ingredientes,
.observacao,
#chavePixTexto,
.sabor-info small,
.text-success,
span,
p {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
}


.navbar {
  height: 56px; /* altura fixa */
  padding: 0 1rem;
  display: flex;
  align-items: center; 
  justify-content: space-between;
  overflow: visible;
  position: fixed;
  background-color: var(--cor-fundo);

}

.logo-navbar {
  max-height: 100px;   /* deixa maior */
  width: auto;
  position: absolute; /* tira do fluxo */
  top: 50%;           /* centraliza na altura da navbar */
  transform: translateY(-50%); /* corrige alinhamento */
  left: 20px;         /* controla a distância da esquerda */
  z-index: 10;
}


/* Links do menu lateral */
.menu-link {
  display: block;
  padding: 12px 15px;
  color: #fff;
  font-size: 1.1rem;
  text-decoration: none; /* remove sublinhado */
  border-radius: 8px;
  transition: background 0.3s ease;
  margin-bottom: 8px;
    background: var(--cor-fundo);
  color: var(--cor-secundaria);
  text-align: center;
}



.btn-principal {
  background-color: var(--cor-primaria);
  color: var(--cor-secundaria);
  font-weight: bold;
}

.btn-principal:hover {
  background-color: var(--cor-secundaria);
  color: var(--cor-texto);
}


.pedido-fixo {
  position: fixed;
  bottom: 0;
  width: 100%;
  padding: 10px;
  background-color: #fff;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
  z-index: 1050;
}

/* Botão fixo "Ver Pedido" */
.btn-ver-pedido {
  width: 100%;
  background: var(--cor-secundaria);
  color: #fff;
  font-weight: bold;
  font-size: 1rem;    /* maior texto */
  padding: 10px ;      /* deixa ele mais alto */
  border: none;
  border-radius: 30px;     /* cola nas bordas (sem arredondar) */
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-ver-pedido i {
  font-size: 1.5rem; /* ícone maior */
}


#tela-home,
#tela-cardapio {
  padding-bottom: 100px; /* igual ou maior que a altura da .pedido-fixo */
  padding-top: 55px; /* igual ou maior que a altura da .pedido-fixo */
}


/* Filtros de categorias */
.grid-filtros {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (min-width: 768px) {
  .grid-filtros {
    grid-template-columns: repeat(4, 1fr);
  }
}

.filtro-btn {
  background-color: var(--cor-primaria);
  color: var(--cor-secundaria);
  font-weight: bold;
  border-radius: 8px;
  transition: all 0.3s ease;
  width: 100%;
}
.filtro-btn:hover {
  background-color: var(--cor-secundaria);
  color: var(--cor-texto);
}
.filtro-btn i {
  font-size: 1rem;
}

/* Cards de categorias */
.card-categoria {
  position: relative;
  height: 200px;
  background-size: cover;
  background-position: center;
  border-radius: 12px;
  cursor: pointer;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-categoria .overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
  transition: background 0.3s ease;
}
.card-categoria:hover .overlay {
  background: rgba(0,0,0,0.6);
}
.card-categoria .card-content {
  position: relative;
  z-index: 2;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.card-categoria h3 {
  font-size: 1.5rem;
  margin-bottom: 10px;
  font-weight: bold;
}
.btn-circle {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}
.btn-circle:hover {
  transform: scale(1.1);
}

.btn-voltar {
  background: var(--cor-secundaria);
  color: var(--cor-fundo);
  font-weight: bold;
  border: none;
  border-radius: 30px;
  padding: 6px 14px;           /* 🔹 mesma altura da badge */
  display: flex;
  align-items: center;
  gap: 6px;
  line-height: 1;              /* 🔹 remove altura extra */
  margin: 0;                   /* 🔹 tira margens que empurram */
  height: 36px;                /* 🔹 fixa altura igual */
}



/* Itens do cardápio */
.caixa-sabor {
  position: relative;
}
.caixa-sabor .sabor-selecionado {
  display: none;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Controle de quantidade */
.qtd-input::-webkit-inner-spin-button,
.qtd-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.qtd-input, 
.item-card input[type="text"], 
.btn-sabor input[type="text"] {
  border-radius: 20px;
  padding: 4px 6px;
  text-align: center;
  width: 50px;
  font-weight: bold;
  color: var(--cor-secundaria);
  background: #fff;  /* mantém fundo branco */
}


/* Botão remover redondo */
.btn-remover {
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

/* estilo geral - pizza e outros botões */
.sabor-card {
  border: 2px dashed var(--cor-primaria);
  border-radius: 12px;
  padding: 16px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
}

.sabor-card i {
  font-size: 30px;
  color: var(--cor-primaria);
}

.sabor-texto {
  font-size: 14px;
  color: #333;
  margin: 0;
  line-height: 1.2;
}


.img-sabor {
  width: 55px;
  height: 55px;
  border-radius: 50px; /* ou 50% se quiser circular */
  object-fit: cover;
}



/* ajuste só para o card de acréscimos */
#acrescimos-card {
  padding: 14px !important;  /* menos padding */
  gap: 1px !important;       /* ícone + texto mais próximo */
}

#acrescimos-card i {
  font-size: 30px;           /* ícone um pouco menor */
}


/* 🔹 Modal de Pizza */
#modalSabor .modal-content {
  border-radius: 20px;
  border: 2px solid var(--cor-primaria);
  overflow: hidden;
}

#modalSabor .modal-header {
  background: var(--cor-primaria);
  color: var(--cor-secundaria);
  font-weight: bold;
  border-bottom: none;
}

#modalSabor .modal-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--cor-secundaria);
}

#modalSabor .modal-body {
  background: #f9f9f9;
  padding: 20px;
}

/* Abas */
#modalSabor .nav-tabs .nav-link {
  border: none;
  font-weight: 600;
  color: var(--cor-texto);
  border-radius: 30px;
  padding: 8px 18px;
  margin-right: 6px;
  background: #fffbea; /* amarelo bem suave */
}

#modalSabor .nav-tabs .nav-link.active {
  background: var(--cor-primaria);
  color: var(--cor-secundaria);
}

/* Botão confirmar */
#modalSabor .modal-footer {
  background: #f8f9fa;
  border-top: none;
}


.btn-sabor {
  border: none !important;   /* remove totalmente a borda */
  outline: none !important;  /* tira o contorno ao clicar */
  box-shadow: none !important; /* remove sombra padrão */
  border-radius: 12px;
  background: var(--cor-primaria);
  color: var(--cor-secundaria);
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-weight: 500;
  transition: background 0.2s ease;
}

.form-select {
  border-radius: 30px;  /* deixa arredondado */
  padding: 8px 12px;
  font-weight: 500;
}

.form-select:focus {
  border-color: var(--cor-fundo);
  box-shadow: 0 0 0 0.2rem rgba(247, 201, 72, 0.4); /* brilho amarelo */
}



/* Estilo padrão para TODOS os itens do cardápio */
.item-card, .btn-sabor {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 12px;   /* arredondado */
  padding: 12px;
  background: var(--cor-primaria);
  color: var(--cor-secundaria);
  font-weight: 500;
  transition: all 0.2s ease;

}

.item-card .sabor-info, .btn-sabor .sabor-info {
  flex: 1;
}
.item-card strong, .btn-sabor strong {
  display: block;
  font-size: 1rem;
}
.item-card small, .btn-sabor small {
  color: #fff;
  font-size: 0.8rem;
}

.btn-add {
  background: var(--cor-secundaria);                      /* fundo interno branco */
  border: none;        /* ícone preto */
  border-radius: 50%;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 1rem;
  cursor: pointer;
}

.btn-add i {
  font-size: 1.2rem;  /* ícone maior */
  color: #fff;   
  
}



/* Garante que a linha dos itens do pedido fique alinhada pelo centro */
#resumoItens .d-flex.align-items-center {
  align-items: center !important;
}

/* Faz o bloco da quantidade não “esticar” demais */
.qty-control {
  display: flex;
  align-items: center;   /* centraliza vertical */
  justify-content: space-between;
  background: #f4f4f4;
  border-radius: 30px;
  padding: 4px 10px;
  min-width: 90px;
  height: 36px;          /* altura fixa para alinhar com o texto */
}


/* Botões de menos e mais */
.btn-qty {
  background: none;
  border: none;
  font-size: 1.2rem;
  font-weight: bold;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor: pointer;
  color: #333;
  transition: background 0.2s;
}

.btn-qty:hover {
  background: #ddd;
}

/* Valor da quantidade */
.qty-value {
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  min-width: 30px;
}


.btn-adicionar {
  background: var(--cor-primaria);     /* usa amarelo do tema */
  color: var(--cor-secundaria);        /* texto preto */
  font-weight: bold;
  font-size: 1.1rem;
  padding: 10px;
  border: none;
  border-radius: 30px;                 /* arredondado estilo pill */
  width: 100%;
  transition: all 0.3s ease;
}




/* Botão de finalizar dentro do modal */
.btn-finalizar {
  width: 100%;                 /* ocupa toda a largura */
  background: var(--cor-primaria);
  color: var(--cor-secundaria);
  font-weight: bold;
  font-size: 1.1rem;
  padding: 14px;
  border: none;
  border-radius: 30px; /* arredonda só embaixo p/ encaixar no modal */
  transition: all 0.3s ease;
}

.btn-finalizar:hover {
  background: var(--cor-secundaria);
  color: var(--cor-texto);
}



/* 🔹 Container das abas */
.abas {
  display: flex;
  width: 100%;
  border-bottom: 2px solid var(--cor-fundo);
  margin-bottom: 1rem;
}

/* 🔹 Cada aba */
.aba {
  flex: 1;                      /* ocupa largura igual */
  display: flex;
  justify-content: center;      /* centraliza ícone + texto */
  align-items: center;
  gap: 8px;
  padding: 12px;
  cursor: pointer;
  font-weight: 600;
  color: var(--cor-secundaria);
  background: var(--cor-fundo);
  border-radius: 10px 10px 0 0;
  transition: background 0.3s ease, color 0.3s ease;
  text-align: center;
}

/* 🔹 Ícones dentro da aba */
.aba i {
  font-size: 18px;
  color: var(--cor-secundaria);
}

/* 🔹 Aba ativa */
.aba.active {
  background: var(--cor-texto);
  color: var(--cor-secundaria);
  border: 1px solid black;
}



.aba.active i {
  color: #000;
}



.ingredientes-grid {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 2 colunas */
  gap: 10px;
  margin-top: 15px;
  text-align: left;
}

.ingrediente-item {
  background: var(--cor-primaria); /* amarelo padrão bootstrap */
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  align-items: center;
  color: #000; /* texto preto */
  font-weight: 500;
}

.ingrediente-item i {
  color: #000; /* ícone preto */
}

.btn-fechar-dark {
  background: #212529; /* dark */
  color: #fff;
  font-weight: 600;
  padding: 8px 20px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
}

.btn-fechar-dark:hover {
  background: #000; /* mais escuro no hover */
}


/* Container de acréscimos selecionados */
#acrescimos-texto {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

/* Badge amarela arredondada */
.acrescimo-badge {
  background: var(--cor-secundaria); /* amarelo */
  color: #f3eeee;
  font-weight: 600;
  border-radius: 50px;
  padding: 6px 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

.acrescimo-badge {
  background: var(--cor-texto);        /* fundo preto */
  color: var(--cor-secundaria);             /* texto branco */
  font-weight: 600;
  border-radius: 50px;     /* deixa em formato "pílula" */
  padding: 6px 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;                /* espaço entre texto e ícone */
  font-size: 14px;
  border: 1px solid black;
}



.categoria-bebida {
  display: flex;
  align-items: center;
  padding: 14px;
  background: var(--cor-primaria);
  border-radius: 14px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.categoria-bebida:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.categoria-bebida i {
  background: var(--cor-secundaria);
  color: var(--cor-fundo);
  width: 55px;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 24px;
  margin-right: 14px;
}

.categoria-bebida h6 {
  margin: 0;
  font-weight: bold;
  color: var(--cor-secundaria);
  font-size: 1rem;
  align-items: center;
}

/* 🔹 Modal categoria bebidas arredondado */
#modalCategoriaBebida .modal-content {
  border-radius: 16px; /* arredonda em cima e embaixo */
  overflow: hidden;
}

#modalCategoriaBebida .modal-header {
  background: var(--cor-texto);
  border-bottom: 1px solid #eee;
  color: var(--cor-secundaria);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

#modalCategoriaBebida .modal-body {
  background: var(--cor-fundo);
  padding: 20px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
}

/* 🔹 Modal de Porções */
#modalTamanhoPorcao .modal-content {
  border-radius: 20px;
  overflow: hidden;
  border: 2px solid var(--cor-primaria);
}

#modalTamanhoPorcao .modal-header {
  background: var(--cor-primaria);
  color: var(--cor-secundaria);
  font-weight: bold;
  border-bottom: none;
}

#modalTamanhoPorcao .modal-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--cor-secundaria);
}

#modalTamanhoPorcao .modal-body {
  background: #f9f9f9;
  padding: 20px;
}

/* Botões de tamanho */
.btn-tamanho-porcao {
  background: var(--cor-secundaria);
  color: var(--cor-texto);
  font-weight: 600;
  border-radius: 30px;
  padding: 12px;
  transition: all 0.2s ease;
  border: none;
}

.btn-tamanho-porcao:hover {
  background: var(--cor-primaria);
  color: var(--cor-secundaria);
  transform: translateY(-2px);
}


.status-loja {
  display: flex;
  align-items: center;
  height: 36px;                /* 🔹 mesma altura do botão */
}


/* Ícone info */
.info-horarios {
  color: var(--cor-primaria);
  font-size: 1.1rem;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.info-horarios:hover {
  transform: scale(1.1);
}

.btn-status {
  background: var(--cor-primaria); /* amarelo */
  color: var(--cor-secundaria);   /* preto */
  font-weight: bold;
  border: none;
  border-radius: 30px;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  gap: 3px; /* 🔹 diminui o espaço entre texto e ícone */
  height: 36px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-status i {
  font-size: 0.9rem;
  margin-left: -12px; /* 🔹 aproxima ainda mais */
}


.btn-status .badge {
  font-size: 0.8rem;
  padding: 4px 8px;
}

.btn-status{
  color: var(--cor-secundaria);
}


/* 🔹 Modal de Finalizar Pedido */
#modalPedido .modal-content {
  border-radius: 20px;
  border: 2px solid var(--cor-primaria);
  overflow: hidden;
}

#modalPedido .modal-header {
  background: var(--cor-primaria);
  color: var(--cor-secundaria);
  font-weight: bold;
  border-bottom: none;
}

#modalPedido .modal-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--cor-secundaria);
}

#modalPedido .modal-body {
  background: #f9f9f9;
  padding: 20px;
}

/* Caixa do PIX destacada */
#modalPedido .alert {
  background: #fffbea; /* amarelo bem suave */
  border-radius: 12px;
  border: 1px solid var(--cor-primaria);
  font-weight: 600;
}

/* Inputs arredondados */
#modalPedido .form-control {
  border-radius: 30px;
  padding: 10px 14px;
  font-weight: 500;
}

/* Rodapé do modal */
#modalPedido .modal-footer {
  background: #f8f9fa;
  border-top: none;
}

/* 🔹 Modal de Lanche */
#modalLanche .modal-content {
  border-radius: 20px;
  border: 2px solid var(--cor-primaria);
  overflow: hidden;
}

#modalLanche .modal-header {
  background: var(--cor-primaria);
  color: var(--cor-secundaria);
  font-weight: bold;
  border-bottom: none;
}

#modalLanche .modal-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--cor-secundaria);
}

#modalLanche .modal-body {
  background: #f9f9f9;
  padding: 20px;
}


/* Imagem no pedido */
.img-wrapper {
  position: relative;
  width: 50px;   /* tamanho fixo */
  height: 50px;  /* tamanho fixo */
  flex-shrink: 0; /* impede encolher */
}

.img-pedido {
  width: 100%;
  height: 100%;
  border-radius: 50px;
  object-fit: contain; /* mantém proporção */
  display: block;
}

/* Ajuste do texto do pedido */
#modalPedido .sabor-info {
  flex: 1;
  min-width: 0;       /* permite quebra */
  word-wrap: break-word;
  white-space: normal; /* força a quebra em várias linhas */
}

#modalPedido .modal-footer {
  position: sticky;
  bottom: 0;
  background: #f8f9fa;
  border-top: 1px solid #ddd;
  padding: 8px;   /* 🔹 menos padding para não criar “respiro” grande */
  margin: 0;      /* 🔹 remove qualquer margem que empurre */
  z-index: 10;
}


#modalPedido .btn-finalizar {
  border-radius: 50px;  /* 🔹 arredondado normal, sem levantar do rodapé */
  margin: 0;            /* 🔹 garante que não cria espaço extra */
  top: 20px;
}

/* Overlay escuro */
.overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 8px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* Pontinhos */
.dots {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  gap: 4px;
  visibility: hidden;
  pointer-events: none;
}

.dots span {
  width: 6px;
  height: 6px;
  background: var(--cor-primaria);
  border-radius: 50%;
  animation: bounceDots 0.6s infinite;
}

.dots span:nth-child(2) { animation-delay: 0.2s; }
.dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes bounceDots {
  0%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-6px); }
}

/* classes de ativação */
.show-dots { visibility: visible !important; }
.show-overlay { opacity: 1 !important; }

.link-ingredientes {
  font-size: 0.85rem;
  color: var(--cor-secundaria); /* usa sua cor amarela */
  text-decoration: none;
  font-weight: 500;
}

.link-ingredientes i {
  margin-right: 4px;
}

.pagamento-pix {
  background: #ffffff; /* verde claro */
  color: #000000;      /* verde escuro */
  font-weight: 600;
}

.pagamento-dinheiro {
  background: #ffffff; /* amarelo claro */
  color: #000000;      /* amarelo escuro */
  font-weight: 600;
}

.pagamento-cartao {
background: #ffffff; /* verde claro */
  color: #000000;      /* verde escuro */
  font-weight: 600;
}
/* CARD OFERTA */
.oferta-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.oferta-esquerda{
  display:flex;
  align-items:center;
  gap:12px;
  flex:1;
  min-width:0;
}

.oferta-img{
  width:60px;
  height:60px;
  border-radius:30px;
  object-fit:cover;
  flex-shrink:0;
}

.oferta-info{
  min-width:0;
  flex:1;
}

.oferta-info strong{
  display:block;
  font-size:1rem;
  line-height:1.1;
}

.oferta-info small{
  display:block;
  color:#fff;
  line-height:1.2;
  margin-top:2px;

  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.oferta-direita{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  flex-shrink:0;
}

.oferta-preco{
  font-weight:700;
  font-size:1rem;
  color:#198754;
  white-space:nowrap;
}

.oculto-ofertas {
  display: none !important;
}