/* Hero reorganizado: navegación > carrusel > buscador > establecimientos */
.home-hero-carousel{position:relative;width:min(1180px,92%);margin:.7rem auto 0}
.home-hero-carousel #menuCarousel.home-carousel{width:100%;margin:0}
.home-featured-establishments{width:min(1180px,92%);margin:0 auto 1.7rem}
.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.home-section-kicker{display:block;margin-bottom:.2rem;color:#8b5a2b;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.home-section-heading h2{margin:0;color:#241b15;font-size:clamp(1.45rem,2.7vw,2rem);font-weight:800}
.home-see-all{flex:0 0 auto;color:#8b5a2b;font-weight:700;text-decoration:none}
.home-establishment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.home-establishment-card{overflow:hidden;border:1px solid rgba(75,58,42,.12);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(64,46,30,.09)}
.home-establishment-image-link{position:relative;display:block;height:165px;overflow:hidden;background:#f3eee8}
.home-establishment-image-link img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.home-establishment-card:hover .home-establishment-image-link img{transform:scale(1.025)}
.home-menu-today-badge{position:absolute;left:.7rem;top:.7rem;display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .68rem;border-radius:999px;background:rgba(255,255,255,.94);color:#8b5a2b;font-size:.72rem;font-weight:800;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.home-menu-today-badge span{font-size:.72rem}
.home-establishment-card-body{padding:.9rem 1rem 1rem}
.home-establishment-card-body h3{margin:0 0 .25rem;color:#241b15;font-size:1.02rem;font-weight:800}
.home-establishment-card-body p{min-height:1.4em;margin:0 0 .65rem;color:#75695f;font-size:.86rem}
.home-establishment-link{color:#8b5a2b;font-size:.88rem;font-weight:800;text-decoration:none}
@media(max-width:991px){.home-establishment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.home-hero-carousel{width:94%;margin-top:.4rem}.home-featured-establishments{width:94%}.home-section-heading{align-items:center}.home-section-heading h2{font-size:1.35rem}.home-establishment-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.45rem}.home-establishment-card{flex:0 0 82%;scroll-snap-align:start}.home-establishment-image-link{height:155px}}

/* Distribución de la portada: búsqueda, galería y alta de restaurantes. */
.home-intro{width:min(1180px,92%);margin:.5rem auto 0}
.home-intro .comerMenu{margin:0;font-size:clamp(2.5rem,5vw,4rem)}
.home-intro .lead{max-width:760px;margin:.6rem auto 0!important;font-size:1rem;line-height:1.6;color:#4b3a2a}
main .home-actions-section{margin:1.1rem auto 3rem;padding:0}
#menuCarousel.home-carousel{width:100%;max-width:none;min-height:0;height:340px;aspect-ratio:auto;margin:0;border-radius:24px;box-shadow:0 12px 30px rgba(80,40,0,.14);background:var(--color-fondo)}
#menuCarousel.home-carousel .carousel-inner,#menuCarousel.home-carousel .carousel-item{height:100%}
#menuCarousel.home-carousel .carousel-item img{width:100%;height:100%;object-fit:cover;object-position:center}
#menuCarousel.home-carousel .carousel-item img.home-carousel-poster{object-fit:contain}
#menuCarousel.home-carousel .carousel-control-prev,#menuCarousel.home-carousel .carousel-control-next{width:48px;height:48px;top:50%;bottom:auto;transform:translateY(-50%);border-radius:50%;background:rgba(43,29,18,.65);opacity:1}
#menuCarousel.home-carousel .carousel-control-prev{left:14px}
#menuCarousel.home-carousel .carousel-control-next{right:14px}
#menuCarousel.home-carousel .carousel-indicators{margin-bottom:14px;margin-left:22%;margin-right:22%}
#menuCarousel.home-carousel .carousel-indicators button{width:8px;height:8px;border-radius:50%;border:0;margin:4px;background:#fff;box-shadow:0 0 0 1px rgba(43,29,18,.45)}
.home-carousel-pause{position:absolute;z-index:3;bottom:12px;right:14px;display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px;border:1px solid rgba(255,255,255,.65);border-radius:999px;color:#fff;background:rgba(43,29,18,.85);font-family:var(--fuente-base);font-size:.8rem}
#menuCarousel.home-carousel button:focus-visible{outline:3px solid var(--color-hover);outline-offset:3px}
@media(max-width:767px){.home-intro{margin-top:.25rem}.home-intro .lead{font-size:.95rem}#menuCarousel.home-carousel{height:240px;border-radius:20px}#menuCarousel.home-carousel .carousel-indicators{bottom:42px;margin-bottom:8px;margin-left:15%;margin-right:15%}.home-carousel-pause{bottom:8px;right:10px}}
@media(prefers-reduced-motion:reduce){#menuCarousel.home-carousel .carousel-item{transition:none}}


/* Buscador de platos destacado en portada */
.home-dish-search{
  width:min(1180px,92%);
  margin:1.35rem auto 1.6rem;
}
.home-dish-search-inner{
  position:relative;
  overflow:hidden;
  padding:2.1rem clamp(1.2rem,4vw,3.2rem);
  border:1px solid rgba(139,90,43,.16);
  border-radius:28px;
  text-align:center;
  background:linear-gradient(135deg,#fdf8f3 0%,#f6ede3 58%,#fdf8f3 100%);
  box-shadow:0 14px 34px rgba(90,58,33,.10);
}
.home-dish-search-inner::before,
.home-dish-search-inner::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(170,125,86,.10);
  pointer-events:none;
}
.home-dish-search-inner::before{width:180px;height:180px;left:-85px;top:-80px}
.home-dish-search-inner::after{width:150px;height:150px;right:-65px;bottom:-70px}
.home-dish-search-kicker{
  position:relative;
  z-index:1;
  display:block;
  margin-bottom:.45rem;
  color:#8b5a2b;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.home-dish-search h2{
  position:relative;
  z-index:1;
  max-width:800px;
  margin:0 auto .65rem;
  color:#241b15;
  font-family:var(--fuente-base);
  font-size:clamp(1.55rem,3vw,2.35rem);
  font-weight:800;
  line-height:1.12;
}
.home-dish-search p{
  position:relative;
  z-index:1;
  margin:0 auto 1.25rem;
  max-width:760px;
  color:#55483d;
}
.home-dish-search-form{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.7rem;
  max-width:820px;
  margin:0 auto;
}
.home-dish-search-field{
  display:flex;
  align-items:center;
  gap:.7rem;
  min-height:54px;
  padding:0 1rem;
  border:1px solid rgba(45,65,42,.18);
  border-radius:999px;
  background:#fff;
  box-shadow:0 5px 16px rgba(90,58,33,.08);
}
.home-dish-search-field i{color:#8b5a2b}
.home-dish-search-field input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#2d2823;
  font:inherit;
}
.home-dish-search-field input::placeholder{color:#8a817a}
.home-dish-search-button{
  min-width:180px;
  min-height:54px;
  margin:0;
  border-radius:999px;
  background-image:linear-gradient(to right,#f3e3d3 0%,#c88b5a 50%);
  white-space:nowrap;
}
.home-dish-search-suggestions{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:.45rem;
  margin-top:1rem;
  font-size:.86rem;
  color:#665b52;
}
.home-dish-search-suggestions a{
  padding:.34rem .7rem;
  border-radius:999px;
  color:#8b5a2b;
  background:rgba(170,125,86,.12);
  text-decoration:none;
  transition:background .2s ease,transform .2s ease;
}
.home-dish-search-suggestions a:hover{
  background:rgba(170,125,86,.22);
  transform:translateY(-1px);
}
.home-dish-search-field:focus-within{
  border-color:#8b5a2b;
  box-shadow:0 0 0 3px rgba(139,90,43,.18),0 5px 16px rgba(90,58,33,.08);
}
@media(max-width:767px){
  .home-dish-search{width:94%;margin:1rem auto 1.35rem}
  .home-dish-search-inner{padding:1.55rem 1rem;border-radius:22px}
  .home-dish-search p{font-size:.94rem}
  .home-dish-search-form{grid-template-columns:1fr}
  .home-dish-search-field{border-radius:16px}
  .home-dish-search-button{width:100%;min-width:0}
  .home-dish-search-suggestions{justify-content:flex-start;text-align:left}
  .home-dish-search-suggestions span{width:100%}
}


/* Ajustes DMenu: carrusel limpio y buscador protagonista en tonos beige/marrón */
.home-hero-carousel{margin:1rem auto 0;}
#menuCarousel.home-carousel{height:380px;border-radius:28px;box-shadow:0 16px 36px rgba(80,40,0,.14);background:#f7efe7;}
.home-dish-search{margin:1.35rem auto 1.8rem;}
.home-dish-search-inner{padding:2rem clamp(1.2rem,4vw,3rem);border:1px solid rgba(139,90,43,.14);border-radius:28px;background:linear-gradient(180deg,#fffaf4 0%,#f7ede2 100%);box-shadow:0 14px 30px rgba(91,59,34,.08);}
.home-dish-search-kicker{color:#9d6a3a;}
.home-dish-search h2{max-width:860px;color:#4c2b16;font-size:clamp(1.55rem,3vw,2.3rem);}
.home-dish-search p{color:#6c5645;}
.home-dish-search-field{min-height:56px;border:1px solid rgba(116,82,54,.16);box-shadow:0 8px 18px rgba(83,55,30,.08);}
.home-dish-search-field i{color:#9d6a3a;}
.home-dish-search-button{background-image:linear-gradient(to right,#b9763f 0%,#8b5a2b 100%);color:#fff !important;box-shadow:0 10px 24px rgba(139,90,43,.22);}
.home-dish-search-button:hover{filter:brightness(.98);transform:translateY(-1px);}
.home-dish-search-suggestions span{font-weight:700;color:#7a624e;}
.home-dish-search-suggestions a{color:#7a4a22;background:rgba(177,129,83,.12);}
.home-dish-search-field:focus-within{border-color:#8b5a2b;box-shadow:0 0 0 3px rgba(139,90,43,.12),0 8px 18px rgba(83,55,30,.08);}
.home-section-kicker,.home-see-all,.home-establishment-link,.home-menu-today-badge{color:#8b5a2b;}
.home-menu-today-badge{background:rgba(255,250,245,.96);}
@media(max-width:767px){#menuCarousel.home-carousel{height:250px;border-radius:22px}.home-dish-search-inner{padding:1.4rem 1rem 1.2rem}.home-dish-search h2{font-size:1.55rem;}}
