/* Botón subir: centro inferior, aparece al hacer scroll */
#scroll__top {
  display: none !important;
}

.mobibc-scroll-top {
  position: fixed;
  left: 50%;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 10040;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.88);
  color: #fff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.28);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(12px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease, background 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}

.mobibc-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.mobibc-scroll-top:hover,
.mobibc-scroll-top:focus-visible {
  background: #0f172a;
  outline: none;
}

.mobibc-scroll-top:focus-visible {
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.45), 0 8px 24px rgba(15, 23, 42, 0.28);
}

.mobibc-scroll-top svg {
  width: 22px;
  height: 22px;
  display: block;
}

/* Encima del dock inferior de tarjeta / printshop (móvil) */
html:not(.mobibc-cinema) body.mobibc-mobile-glass .mobibc-scroll-top,
html:not(.mobibc-cinema) body.mobibc-tarjeta-publica .mobibc-scroll-top,
html:not(.mobibc-cinema) body.mobibc-mod-pagina .mobibc-scroll-top,
html:not(.mobibc-cinema) body.mobibc-mp-shell .mobibc-scroll-top {
  bottom: calc(80px + env(safe-area-inset-bottom, 0px));
}

/* Desktop cinema: centro del área útil (resta el rail) */
html.mobibc-cinema .mobibc-scroll-top {
  left: calc((100% - var(--mobibc-rail-w, 0px)) / 2);
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
}

@media (prefers-reduced-motion: reduce) {
  .mobibc-scroll-top {
    transition: none;
  }
}
