/* =====================================================
   Vidzers Marketer — Legal Pages
   Styles for privacy-policy.html, terms-of-service.html
   ===================================================== */

.vz-page-legal span {
  display: block;
  word-wrap: break-word;
}

body.vz-page-legal #app1 {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body.vz-page-legal #content-wrapper {
  flex: 1 0 auto;
}

/* ── Scroll-to-top button ── */
.vz-page-legal .scroll-to-top {
  position: fixed;
  bottom: 2.25rem;
  right: 2.25rem;
  width: 48px;
  height: 48px;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #1e0d56 0%, #4a1a96 60%, #6d28d9 100%);
  color: rgba(255, 255, 255, 0.92);
  font-size: 1.05rem;
  text-decoration: none;
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px) scale(0.9);
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
              box-shadow 0.25s ease;
  box-shadow:
    0 4px 18px rgba(74, 26, 150, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.1) inset;
  z-index: 900;
}

.vz-page-legal .scroll-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.vz-page-legal .scroll-to-top:hover {
  color: #fff;
  transform: translateY(-4px) scale(1.06);
  box-shadow:
    0 10px 36px rgba(109, 40, 217, 0.6),
    0 0 0 3px rgba(139, 92, 246, 0.25),
    0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}

.vz-page-legal .scroll-to-top .bi {
  transition: transform 0.2s ease;
  line-height: 1;
}

.vz-page-legal .scroll-to-top:hover .bi {
  transform: translateY(-2px);
}

@media print {
  .vz-page-legal #navbar,
  .vz-page-legal #sidebar,
  .vz-page-legal .scroll-to-top { display: none !important; }
  .vz-page-legal #content-wrapper { padding-left: 0 !important; }
}
