body {
  font-family: 'Montserrat', sans-serif;
}

.logo {
  font-family: 'Bebas Neue', cursive;
  font-size: 28px;
  letter-spacing: 2px;
}

.navbar {
  background: rgba(0, 0, 0, 0.9);
}

.hero {
  height: 100vh;
  background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)),
              url('/img/hero.jpg') center/cover no-repeat;
}

.section-title {
  font-weight: 700;
}

.card img {
  height: 220px;
  object-fit: cover;
}

.price {
  display: block;
  font-size: 22px;
  font-weight: bold;
  color: #f4b400;
}









.logo-text {
  font-family: 'Bebas Neue', cursive;
  font-size: 32px;
  letter-spacing: 2px;
}






.whatsapp-float {
  position: fixed;
  width: 70px;
  height: 70px;
  bottom: 25px;
  right: 25px;
  background-color: #25d366;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.4);
  z-index: 999;
  transition: transform 0.3s ease;
}

.whatsapp-float img {
  width: 40px;
}

.whatsapp-float:hover {
  animation: bounce 0.6s;
}

/* ANIMACIÓN REBOTE */
@keyframes bounce {
  0%   { transform: translateY(0); }
  30%  { transform: translateY(-10px); }
  50%  { transform: translateY(0); }
  70%  { transform: translateY(-5px); }
  100% { transform: translateY(0); }
}





/* LOGO NAVBAR */
.logo-img {
  height: 50px;      /* tamaño correcto */
  width: auto;
}

.logo-text {
  font-family: 'Bebas Neue', cursive;
  font-size: 26px;
  letter-spacing: 2px;
}







/* LOGO DEL HERO (TAMAÑO CONTROLADO) */
.hero-logo {
  max-width: 320px;   /* tamaño ideal */
  width: 90%;
  height: auto;
  display: block;
  margin: 0 auto 20px;
}



@media (max-width: 768px) {
  .hero-logo {
    max-width: 240px;
  }
}






/* LOGO NAVBAR */
.logo-img {
  height: 50px;
  width: auto;
}

.logo-text {
  font-family: 'Bebas Neue', cursive;
  font-size: 26px;
  letter-spacing: 2px;
}

/* LOGO HERO */
.hero-logo {
  max-width: 320px;
  width: 90%;
  height: auto;
  display: block;
  margin: 0 auto 20px;
}

@media (max-width: 768px) {
  .hero-logo {
    max-width: 240px;
  }
}





/* BOTÓN WHATSAPP FLOTANTE ANIMADO */
.whatsapp-float {
  position: fixed;
  width: 68px;
  height: 68px;
  bottom: 25px;
  right: 25px;
  background: #25d366;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
  animation: pulse 1.6s infinite;
  box-shadow: 0 10px 25px rgba(0,0,0,0.35);
}

.whatsapp-icon {
  width: 34px;
  height: 34px;
}

/* ANIMACIÓN PALPITAR PRO */
@keyframes pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6);
  }
  70% {
    transform: scale(1.1);
    box-shadow: 0 0 0 18px rgba(37, 211, 102, 0);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}




/* WHATSAPP BOTÓN PRO */
.whatsapp-float-pro {
  position: fixed;
  width: 70px;
  height: 70px;
  bottom: 25px;
  right: 25px;
  border-radius: 50%;
  background: linear-gradient(135deg, #25d366, #1ebe5d);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
  box-shadow:
    0 0 0 rgba(37, 211, 102, 0.6),
    0 12px 30px rgba(0,0,0,0.4);
  animation: pulseGlow 1.8s infinite;
  transition: transform 0.3s ease;
}

.whatsapp-float-pro:hover {
  transform: scale(1.15) rotate(8deg);
}

.whatsapp-icon-pro {
  width: 34px;
  height: 34px;
  fill: white;
}

/* PULSE + GLOW */
@keyframes pulseGlow {
  0% {
    box-shadow:
      0 0 0 0 rgba(37, 211, 102, 0.7),
      0 12px 30px rgba(0,0,0,0.4);
    transform: scale(1);
  }
  70% {
    box-shadow:
      0 0 0 22px rgba(37, 211, 102, 0),
      0 12px 30px rgba(0,0,0,0.4);
    transform: scale(1.08);
  }
  100% {
    box-shadow:
      0 0 0 0 rgba(37, 211, 102, 0),
      0 12px 30px rgba(0,0,0,0.4);
    transform: scale(1);
  }
}




/* LOGO NAVBAR REDONDO */
.logo-img {
  height: 48px;
  width: 48px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid #f4b400;
  background: #000;
}





/* LOGO HERO CHOLO – GLOW AMARILLO */
.hero-logo-cholo {
  width: 260px;
  height: 260px;
  border-radius: 50%;
  object-fit: cover;
  background: #000;
  border: 4px solid #f4b400;
  box-shadow:
    0 0 0 6px rgba(244, 180, 0, 0.35),
    0 25px 60px rgba(0,0,0,0.7);
  animation: choloPulseYellow 2s infinite;
}

/* ANIMACIÓN CHOLA AMARILLA */
@keyframes choloPulseYellow {
  0% {
    transform: scale(1);
    box-shadow:
      0 0 0 6px rgba(244, 180, 0, 0.35),
      0 25px 60px rgba(0,0,0,0.7);
  }
  50% {
    transform: scale(1.07);
    box-shadow:
      0 0 0 18px rgba(244, 180, 0, 0.25),
      0 30px 80px rgba(0,0,0,0.8);
  }
  100% {
    transform: scale(1);
  }
}

/* CELULAR */
@media (max-width: 768px) {
  .hero-logo-cholo {
    width: 200px;
    height: 200px;
  }
}




.badge-top {
  position: absolute;
  top: 15px;
  left: 15px;
  background: #f4b400;
  color: #000;
  padding: 6px 14px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 12px;
}
.card {
  position: relative;
}





.card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}



.btn-success {
  font-weight: 600;
  letter-spacing: 0.5px;
}




.map-section iframe {
  filter: grayscale(20%) contrast(110%);
}



.map-section {
  line-height: 0;
}


.map-section iframe {
  border-top: 3px solid #f4b400;
}






/* MAPA BONITO Y COMPACTO */
.map-section {
  padding: 40px 0;
  background: #000;
}

.map-box {
  max-width: 900px;
  margin: 0 auto;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(0,0,0,0.6);
  border: 2px solid #f4b400;
}

.map-box iframe {
  width: 100%;
  height: 240px; /* 👈 tamaño compacto */
  border: 0;
}

/* Mobile */
@media (max-width: 768px) {
  .map-box iframe {
    height: 200px;
  }
}




.brand-line {
  display: inline-block;
  color: #f4b400;
  font-weight: 600;
  margin-top: 20px;
  padding-bottom: 8px;
  border-bottom: 2px solid #f4b400;
  text-shadow: 0 0 8px rgba(244,180,0,0.6);
}






/* FONDO CALLEJERO DEL MENÚ */
#menu-section {
  background: #121212; /* negro urbano */
  color: #f1f1f1;
}

/* TÍTULOS */
#menu-section h2,
#menu-section h3,
#menu-section h4 {
  color: #f4b400;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* TARJETAS */
#menu-section .card {
  background: #1e1e1e;
  border: none;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
}

/* TEXTO DE TARJETA */
#menu-section .card p,
#menu-section .card h5 {
  color: #eaeaea;
}

/* PRECIO */
.price {
  color: #f4b400;
  font-size: 22px;
  font-weight: bold;
}

/* TEXTO DESTACADO */
.brand-line {
  color: #f4b400;
  text-align: center;
  font-weight: 600;
  margin-bottom: 30px;
  text-shadow: 0 0 8px rgba(244,180,0,0.6);
}





/* ===========================
   FONDO CALLEJERO GENERAL
=========================== */
.bg-callejero {
  background: radial-gradient(circle at top, #1a1a1a, #0b0b0b);
  color: #ffffff;
  padding-top: 60px;
  padding-bottom: 60px;
}

/* TÍTULOS */
.bg-callejero .section-title,
.bg-callejero h2,
.bg-callejero h3 {
  color: #f4b400;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* TEXTO */
.bg-callejero p {
  color: #dcdcdc;
}

/* TARJETAS */
.bg-callejero .card {
  background: #111;
  color: #fff;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bg-callejero .card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.6);
}

/* PRECIOS */
.bg-callejero .price {
  color: #f4b400;
  font-size: 22px;
  font-weight: bold;
}

/* BADGE SUPERIOR */
.badge-top {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #f4b400;
  color: #000;
  padding: 6px 10px;
  font-size: 12px;
  border-radius: 8px;
  font-weight: bold;
  z-index: 10;
}

/* LINEA DE MARCA */
.brand-line {
  background: #111;
  color: #f4b400;
  padding: 12px 18px;
  border-radius: 30px;
  display: inline-block;
  margin: 30px auto;
  font-weight: 600;
  letter-spacing: 0.5px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.4);
}

/* MAPA PRO */
.map-section {
  background: #0b0b0b;
  padding: 40px 0;
}

.map-box {
  max-width: 900px;
  margin: auto;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.7);
}

.map-box iframe {
  width: 100%;
  height: 260px;
  border: 0;
}

/* WHATSAPP YA EXISTE – SOLO BRILLA MÁS */
.whatsapp-float-pro {
  box-shadow:
    0 0 0 rgba(244,180,0,0.6),
    0 0 35px rgba(244,180,0,0.7),
    0 12px 30px rgba(0,0,0,0.5);
}










/* BOTÓN VOLVER ARRIBA – MÉTODO SEGURO */
.btn-arriba{
  position: fixed;
  bottom: 110px;
  right: 25px;
  width: 65px;
  height: 65px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff7a00, #f4b400);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(0,0,0,.6);
  z-index: 999;
  animation: arribaPulse 1.8s infinite;
  color: black;
}

/* ANIMACIÓN */
@keyframes arribaPulse{
  0%{transform: scale(1);}
  50%{transform: scale(1.15);}
  100%{transform: scale(1);}
}

.btn-arriba:hover{
  transform: translateY(-6px) rotate(-8deg);
}











/*FORMULARIO (ENVIAR MENSAJE) */
.contacto {
  max-width: 600px;
  margin: 50px auto;
  padding: 25px;
  border-radius: 15px;
  background: #ffffff;
  box-shadow: 0 0 20px rgba(0,0,0,.1);
}

.contacto h2 {
  text-align: center;
  margin-bottom: 15px;
}

#formContacto {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#formContacto input,
#formContacto textarea {
  padding: 10px;
  border-radius: 10px;
  border: 1px solid #ccc;
  font-size: 15px;
}

#formContacto button {
  padding: 10px;
  border: none;
  border-radius: 10px;
  background: #e67e22;
  color: white;
  cursor: pointer;
  font-size: 16px;
}

#formContacto button:hover {
  transform: scale(1.03);
}

#respuesta {
  margin-top: 12px;
  text-align: center;
  font-weight: bold;
}









/* ✨ BRILLO EN TITULOS DE COMIDA Y SECCIONES */
.section-title,
h3,
.card-body h5 {
  transition: 0.3s ease;
}

.section-title:hover,
h3:hover,
.card-body h5:hover {
  color: #ffb703;
  text-shadow:
    0 0 6px #ffb703,
    0 0 12px #ffb703,
    0 0 18px #ffa500;
  transform: scale(1.04);
  cursor: pointer;
}








/* CARRUSEL PROMOS */
.carousel-inner img {
  height: 380px;
  object-fit: cover;
  border-radius: 18px;
}

@media (max-width: 768px) {
  .carousel-inner img {
    height: 240px;
  }
}





#tabla-menu table {
  border-radius: 12px;
  overflow: hidden;
}

#tabla-menu th {
  font-weight: 700;
  letter-spacing: 0.5px;
}

#tabla-menu td {
  color: #f1f1f1;
}







#promoCarousel {
  max-width: 900px;   /* ancho del carrusel */
  margin: 0 auto;     /* centrado */
}

#promoCarousel .carousel-item img {
  height: 380px;          /* alto fijo */
  object-fit: cover;     /* recorta sin deformar */
  border-radius: 15px;   /* esquinas suaves */
}



.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-color: red;
  border-radius: 50%;
  padding: 25px;
  background-size: 60% 60%;
}

.carousel-control-prev,
.carousel-control-next {
  width: 8%;
}

.carousel-control-prev-icon:hover,
.carousel-control-next-icon:hover {
  background-color: darkred;
}
