/* ===========================================================
   IPSE · ui.css  ·  Interacciones globales:
   aparición al hacer scroll + botón "volver arriba"
   =========================================================== */

/* ----- Aparición al hacer scroll ----- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s cubic-bezier(.2,.9,.2,1),transform .6s cubic-bezier(.2,.9,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ----- Botón volver arriba ----- */
.bt-top{position:fixed;left:18px;bottom:18px;z-index:99998;width:48px;height:48px;border-radius:999px;border:1px solid rgb(15 23 42 / .12);background:#fff;color:#B40017;font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgb(15 23 42 / .16);opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);transition:opacity .25s ease,visibility .25s ease,transform .25s cubic-bezier(.2,.9,.2,1),background .18s ease,color .18s ease}
.bt-top.show{opacity:1;visibility:visible;transform:none}
.bt-top:hover{background:#B40017;color:#fff;transform:translateY(-2px)}
@media(max-width:480px){.bt-top{left:12px;bottom:12px;width:44px;height:44px;font-size:20px}}

/* ----- Barra de promoción ----- */
.promo-bar{position:relative;z-index:10000;background:linear-gradient(90deg,#6B0010,#B40017,#C00);color:#fff;font:600 13px/1.4 system-ui,Arial;text-align:center;padding:10px 44px 10px 16px}
.promo-bar strong{font-weight:900}
.promo-bar a{color:#fff;font-weight:900;text-decoration:underline;text-underline-offset:2px}
.promo-bar a:hover{opacity:.85}
.promo-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:none;border-radius:999px;background:rgb(255 255 255 / .2);color:#fff;font:900 13px/1 system-ui,Arial;cursor:pointer;display:grid;place-items:center;transition:background .15s ease}
.promo-close:hover{background:rgb(255 255 255 / .35)}
@media(max-width:560px){.promo-bar{font-size:12px;padding:9px 40px 9px 12px}}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .bt-top{transition:opacity .2s ease,visibility .2s ease}
}
