/* =========================================================
   HOYTEZIU — movimiento visible: carruseles, banner, cinta, entradas laterales, parallax.
   Todo se apaga con "reducir movimiento" (las partes que mueven; el contenido sigue visible).
   ========================================================= */

/* ---------- Carrusel de fotos (fichas) ---------- */
.gal-slider{position:relative;border-radius:16px;overflow:hidden;background:#0f1722;}
.gal-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.gal-track::-webkit-scrollbar{display:none;}
.gal-slide{flex:0 0 100%;scroll-snap-align:center;height:340px;background-size:cover;background-position:center;position:relative;cursor:zoom-in;overflow:hidden;}
.gal-slide::before{content:"";position:absolute;inset:0;background:inherit;background-size:cover;background-position:center;transform:scale(1);transition:transform 6s ease-out;}
.gal-slide.act::before{transform:scale(1.08);}
.gal-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,255,255,.88);color:#172A46;font-size:20px;font-weight:900;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:3;transition:transform .2s,background .2s;}
.gal-btn:hover{background:#fff;transform:translateY(-50%) scale(1.08);}
.gal-prev{left:10px;} .gal-next{right:10px;}
.gal-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:7px;z-index:3;}
.gal-dots i{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.55);transition:width .3s,background .3s;cursor:pointer;display:block;}
.gal-dots i.on{width:24px;background:#fff;}
.gal-count{position:absolute;top:12px;right:12px;background:rgba(12,16,22,.6);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;z-index:3;}
.gal-solo .gal-btn,.gal-solo .gal-dots,.gal-solo .gal-count{display:none;}
@media(max-width:520px){ .gal-slide{height:260px;} .gal-btn{width:36px;height:36px;} }
.gal-mode{display:block !important;}
.gal-mode .video-embed{margin-top:12px;}
.gal-mode .play{height:90px;border-radius:14px;margin-top:12px;}

/* ---------- Banner rotativo de la portada ---------- */
.ban{position:relative;border-radius:20px;overflow:hidden;height:230px;margin-bottom:22px;background:#172A46;box-shadow:0 6px 22px rgba(23,42,70,.18);}
.ban-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateX(7%);transition:opacity .8s ease,transform .8s var(--hz-ease,ease),visibility 0s .8s;display:flex;align-items:flex-end;text-decoration:none;color:#fff;}
.ban-slide.act{opacity:1;visibility:visible;transform:none;transition:opacity .8s ease,transform .8s var(--hz-ease,ease),visibility 0s;z-index:2;}
.ban-slide.sal{opacity:0;visibility:visible;transform:translateX(-7%);z-index:1;}
.ban-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1);}
.ban-slide.act .ban-bg{animation:banZoom 7s ease-out forwards;}
@keyframes banZoom{from{transform:scale(1);}to{transform:scale(1.1);}}
.ban-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,16,22,.85) 8%,rgba(12,16,22,.1) 65%);}
.ban-txt{position:relative;z-index:2;padding:22px 26px;max-width:640px;}
.ban-tag{display:inline-block;background:linear-gradient(90deg,#FF6337,#FFB52E);font-size:11.5px;font-weight:800;padding:4px 12px;border-radius:999px;margin-bottom:8px;letter-spacing:.3px;}
.ban-tit{font-size:26px;font-weight:900;line-height:1.15;text-shadow:0 2px 10px rgba(0,0,0,.4);}
.ban-sub{font-size:14px;opacity:.92;margin-top:4px;}
.ban-dots{position:absolute;right:18px;bottom:16px;display:flex;gap:7px;z-index:4;}
.ban-dots i{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.5);cursor:pointer;display:block;transition:width .3s,background .3s;}
.ban-dots i.on{width:26px;background:#fff;}
.ban-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:none;background:rgba(255,255,255,.85);color:#172A46;font-size:18px;font-weight:900;cursor:pointer;z-index:4;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s;}
.ban:hover .ban-nav{opacity:1;}
.ban-prev{left:10px;} .ban-next{right:10px;}
@media(max-width:700px){ .ban{height:190px;border-radius:16px;} .ban-tit{font-size:20px;} .ban-txt{padding:16px 18px;} .ban-nav{display:none;} }

/* ---------- Cinta de negocios en movimiento ---------- */
.cinta{overflow:hidden;position:relative;margin-bottom:26px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.cinta-track{display:flex;gap:14px;width:max-content;animation:cintaRun var(--cinta-dur,60s) linear infinite;}
.cinta:hover .cinta-track{animation-play-state:paused;}
@keyframes cintaRun{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.cinta-item{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:8px 18px 8px 8px;box-shadow:0 2px 10px rgba(23,42,70,.07);text-decoration:none;color:#172A46;font-weight:700;font-size:13.5px;white-space:nowrap;transition:transform .25s,box-shadow .25s;}
.cinta-item:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(23,42,70,.14);}
.cinta-item .av{width:38px;height:38px;border-radius:50%;background:#eef0f3 center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.cinta-item.dest{border:2px solid #FFB52E;}

/* ---------- Entradas desde los lados (las pone anim.js) ---------- */
html.anim-on .rv.rv-l:not(.rv-in){ transform:translateX(-42px); }
html.anim-on .rv.rv-r:not(.rv-in){ transform:translateX(42px); }

/* ---------- Parallax suave (lo mueve motion.js con --py) ---------- */
.hero{ background-position:center calc(65% + var(--py,0px)); }
.biz-hero{ background-position:center calc(50% + var(--py,0px)); }

/* ---------- Filas que se deslizan (cupones) ---------- */
.cupones-carrusel{ cursor:grab; scrollbar-width:thin; }
.cupones-carrusel.arrastrando{ cursor:grabbing; user-select:none; }
.cupones-carrusel.arrastrando a{ pointer-events:none; }

/* Recomendados en celular: fila deslizable con tarjetas que "encajan" */
@media(max-width:700px){
  .biz-row{ display:flex !important; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding-bottom:8px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .biz-row::-webkit-scrollbar{ display:none; }
  .biz-row > .biz-card{ flex:0 0 78%; scroll-snap-align:start; }
}

@media (prefers-reduced-motion: reduce){
  .gal-slide::before,.ban-slide.act .ban-bg{animation:none;transition:none;}
  .cinta-track{animation:none;}
  .ban-slide{transition:none;transform:none;}
  .gal-track{scroll-behavior:auto;}
}
