.bh-hero{
  /* El degradado y la altura los pone el contenedor de Elementor. */
  position:relative; width:100%;
  display:flex; align-items:center;
}

/* Contenido */
.bh-inner{
  position:relative; z-index:3; width:100%; max-width:1200px; margin:0 auto;
  padding:64px 24px; display:flex; align-items:center; gap:32px;
}
.bh-copy{flex:1 1 46%; min-width:0;}
.bh-hero .bh-h1{
  color:#fff; font-family:"Nunito","Nunito Sans",system-ui,sans-serif; font-weight:800;
  font-size:clamp(34px,4.6vw,60px); line-height:1.05; margin:0 0 18px;
  text-shadow:0 2px 14px rgba(0,0,0,.12);
}
.bh-slide-copy{position:relative;}
.bh-copy-item{opacity:0; transition:opacity .5s ease;}
.bh-copy-item.is-active{opacity:1;}
.bh-hero .bh-h2{
  color:#fff; font-family:"Nunito","Nunito Sans",system-ui,sans-serif; font-weight:700;
  font-size:clamp(20px,2.2vw,28px); margin:0 0 20px;
}
.bh-hero .bh-btn{
  display:inline-block; background:#fff; color:#387D57; text-decoration:none;
  font-family:"Nunito","Nunito Sans",system-ui,sans-serif; font-weight:700; font-size:17px;
  padding:14px 34px; border-radius:999px; box-shadow:0 8px 20px rgba(0,0,0,.14);
  transition:transform .2s ease, box-shadow .2s ease;
}
.bh-btn:hover{transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,0,0,.2);}
.bh-btn:focus-visible{outline:3px solid #fff; outline-offset:3px;}

/* Platos */
.bh-plates{
  position:relative; flex:0 0 40%; width:40%; aspect-ratio:1/1;
  will-change:transform;
}
.bh-plate{
  position:absolute; inset:0; width:100%; height:100%; object-fit:contain;
  opacity:0; transform:scale(.94); transition:opacity .7s ease, transform .7s ease;
  filter:drop-shadow(0 22px 34px rgba(0,0,0,.22));
}
.bh-plate.is-active{opacity:1; transform:scale(1);}

/* Dots */
.bh-dots{
  /* La seccion siguiente monta ~88px sobre el hero: los dots van por encima. */
  position:absolute; left:0; right:0; bottom:104px; z-index:6;
  display:flex; justify-content:center; gap:10px;
}
.bh-dot{
  width:11px; height:11px; padding:0; border:0; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.45); transition:background .3s ease, transform .3s ease;
}
.bh-dot.is-active{background:#fff; transform:scale(1.25);}
.bh-dot:focus-visible{outline:3px solid #fff; outline-offset:3px;}

@media (max-width:1024px){
  .bh-inner{padding:48px 20px;}
}
@media (max-width:767px){
  .bh-hero{min-height:520px;}
  /* El plato primero y el texto debajo. */
  .bh-inner{flex-direction:column; text-align:center; gap:10px; padding:24px 18px 96px;}
  .bh-copy{flex:none; width:100%; order:2;}
  .bh-plates{flex:none; width:58% !important; order:1; margin:0 auto;}
  .bh-hero .bh-h1{font-size:clamp(26px,7.4vw,34px); margin-bottom:8px;}
  .bh-hero .bh-h2{font-size:17px; margin-bottom:14px;}
  .bh-hero .bh-btn{font-size:15px; padding:11px 26px;}
}

@media (prefers-reduced-motion:reduce){
  .bh-plates{transform:none !important;}
  .bh-plate,.bh-copy-item{transition:opacity .2s linear;}
  .bh-plate.is-active{transform:none;}
}
