/* HEADER */
.encabezado{
  background:var(--negro-elegante);
  padding:1rem 5%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:sticky;
  top:0;
  z-index:1000;
  border-bottom:3px solid var(--verde-palacio);
}
.logo{
  font-family:'Caveat', cursive;
  font-size:2.2rem;
  color:var(--verde-palacio);
  text-decoration:none;
}
.nav-contacto{ color:#fff; font-weight:700; }

/* BOTONES delivery */
.barra-delivery{
  display:flex;
  gap:12px;
  margin-top:18px;
  flex-wrap:wrap;
  justify-content:center;
}
.btn-app{
  padding:12px 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  color:#fff;
  transition:.25s;
  font-size:.9rem;
  text-transform:uppercase;
}
.btn-app:hover{ transform:translateY(-4px); box-shadow:0 10px 20px rgba(0,0,0,0.28); }
.uber{ background:#000; border:1px solid #fff; }
.rappi{ background:#ff441f; }
.pedidosya{ background:#e21247; }

/* EXTRAS */
.extras{ padding: 28px 5% 0; max-width:1200px; margin:auto; }
.extras-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
  align-items:center;
}
.promo{
  background:linear-gradient(135deg, rgba(104,159,56,0.16), rgba(255,152,0,0.10));
  border:1px solid rgba(104,159,56,0.25);
  border-radius:16px;
  padding:18px;
  box-shadow:var(--sombra-suave);
}
.promo h2{ font-size:1.15rem; margin-bottom:6px; }
.promo p{ color:#333; opacity:.88; }

.buscador{
  background:#fff;
  border:1px solid #eaeaea;
  border-radius:16px;
  padding:14px;
  box-shadow:var(--sombra-suave);
}
.buscador label{ display:block; font-weight:800; margin-bottom:8px; }
.buscador input{
  width:100%;
  padding:12px;
  border-radius:12px;
  border:1px solid #ddd;
  outline:none;
  font-size:.95rem;
}
.buscador-ayuda{ font-size:.82rem; color:#666; margin-top:8px; }

@media (max-width:900px){
  .extras-grid{ grid-template-columns:1fr; }
}

/* TABS */
.menu{ padding: 46px 5% 60px; max-width:1200px; margin:auto; }
.tabs{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:28px;
}
.tab-boton{
  padding:12px 22px;
  border:none;
  background:var(--gris-claro);
  color:var(--negro-elegante);
  font-weight:700;
  border-radius:10px;
  cursor:pointer;
  transition:.25s;
}
.tab-boton.activo{ background:var(--verde-palacio); color:#fff; }

.tab-contenido{ display:none; }
.tab-contenido.activo{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(320px,1fr));
  gap:22px;
  animation:subir .35s ease;
}
@keyframes subir{
  from{ opacity:0; transform:translateY(18px); }
  to{ opacity:1; transform:translateY(0); }
}

/* CARDS */
.card{
  background:#fff;
  border-radius:15px;
  box-shadow:var(--sombra-suave);
  border-bottom:4px solid var(--verde-palacio);
  transition:.3s;
  overflow:hidden;
  position:relative;
}
.card:hover{ transform:translateY(-6px); box-shadow:var(--sombra-fuerte); }
.card-media{ height:175px; background:#eee; overflow:hidden; }
.card-media img{ width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.card:hover .card-media img{ transform:scale(1.08); }
.card-cuerpo{ padding:20px 24px; }
.card-cuerpo h3{ margin-bottom:8px; font-size:1.25rem; }
.card-cuerpo p{ color:#666; font-size:.95rem; line-height:1.35; }
.badge{
  background:#fff3e0;
  color:#e65100;
  padding:4px 10px;
  border-radius:6px;
  font-size:.8rem;
  font-weight:800;
  display:inline-block;
  margin-top:10px;
}

/* BLOQUES */
.bloque{ margin-top: 10px; }
.titulo-seccion{ text-align:center; margin: 10px 0 24px; }
.titulo-seccion h2{ font-size:2rem; color:var(--verde-palacio); }
.titulo-seccion p{ color:#666; margin-top:8px; }

.galeria{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
  gap:14px;
}
.galeria img{
  height:210px;
  width:100%;
  object-fit:cover;
  border-radius:14px;
  box-shadow:var(--sombra-suave);
  transition:.25s;
}
.galeria img:hover{ transform:translateY(-4px); box-shadow:var(--sombra-fuerte); }

.opiniones{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
  gap:16px;
  margin-top:16px;
}
.tarjeta-opinion{
  background:#fff;
  border:1px solid #eee;
  border-radius:14px;
  padding:18px;
  box-shadow:var(--sombra-suave);
}
.tarjeta-opinion p{ color:#555; }
.tarjeta-opinion strong{ color:var(--verde-palacio); display:block; margin-top:10px; }

.mapa{
  margin-top:16px;
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--sombra-suave);
  border:1px solid #eee;
}
.mapa iframe{ width:100%; height:340px; border:0; }

/* FOOTER */
.pie{
  background:var(--negro-elegante);
  color:#fff;
  padding:60px 5% 20px;
  margin-top:40px;
}
.pie-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
  gap:40px;
  max-width:1200px;
  margin:auto;
  border-bottom:1px solid #333;
  padding-bottom:40px;
}
.pie-col h4{
  color:var(--verde-palacio);
  margin-bottom:18px;
  font-size:1.1rem;
  text-transform:uppercase;
}
.pie-col p{ margin-bottom:10px; color:#bbb; }
.copy{
  text-align:center;
  padding-top:18px;
  font-size:.8rem;
  color:#777;
}

/* WHATSAPP */
.boton-wsp{
  position:fixed;
  bottom:30px;
  right:30px;
  background:#25d366;
  width:60px;
  height:60px;
  border-radius:50%;
  display:flex;
  justify-content:center;
  align-items:center;
  color:#fff;
  text-decoration:none;
  font-size:30px;
  box-shadow:0 10px 20px rgba(0,0,0,0.2);
  z-index:2000;
  animation:pulso 2s infinite;
}
@keyframes pulso{
  0%{ box-shadow:0 0 0 0 rgba(37,211,102,.55); }
  70%{ box-shadow:0 0 0 16px rgba(37,211,102,0); }
  100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
