/* Bootstrap-first. Apenas layout/efeitos. */
/* FIX: topbar fixa + offset global pra não “esconder” conteúdo */
:root{
  --lr-topbar-h: 64px;          /* fallback */
  --lr-topbar-gap: 1rem;        /* respiro */
}

html, body { height: 100%; }

.lr-body{
  background: var(--bs-body-bg);
  padding-top: calc(var(--lr-topbar-h) + var(--lr-topbar-gap));
}

/* =========================================================
   TOPBAR: fixa de verdade (override do .sticky-top do Bootstrap)
   - funciona tanto com wrapper .lr-topbar quanto direto na .lr-nav
   ========================================================= */
.lr-topbar,
.lr-nav{
  position: fixed !important;   /* mata sticky-top */
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1030;                /* igual navbar/offcanvas stack */
  background: var(--bs-body-bg);
  border-bottom: 1px solid var(--bs-border-color);
  transform: translateZ(0);     /* evita “tremidinha”/reflow em alguns browsers */
  will-change: transform;
}

/* Se a navbar estiver com .sticky-top, garante override total */
.lr-nav.sticky-top{
  position: fixed !important;
  top: 0 !important;
}

/* garante altura consistente na topbar (nav pode variar por conteúdo) */
.lr-topbar .navbar,
.lr-topbar nav,
.lr-topbar .lr-nav,
.lr-nav.navbar,
nav.lr-nav{
  min-height: var(--lr-topbar-h);
}

/* em telas menores, a navbar pode crescer; mantém legível */
@media (max-width: 991.98px){
  :root{ --lr-topbar-h: 72px; }
}

/* Logo */
.lr-logo{ width: 28px; height: 28px; }
.lr-logo-xl{ width: 44px; height: 44px; }

.lr-nav .form-control::placeholder{ color: var(--bs-secondary-color); }

/* Sidebar: sticky abaixo da topbar fixa */
.lr-sidebar{
  position: sticky;
  top: calc(var(--lr-topbar-h) + var(--lr-topbar-gap));
  max-height: calc(100vh - (var(--lr-topbar-h) + (var(--lr-topbar-gap) * 2)));
  overflow: hidden;
}
.lr-sidebar .card-body{ overflow: hidden; }

/* TOC: altura calculada considerando topbar fixa + card paddings */
.lr-toc{
  overflow: auto;
  max-height: calc(100vh - (var(--lr-topbar-h) + 12.5rem));
}
.lr-toc .list-group-item{
  border: 0;
  border-radius: .5rem;
  margin-bottom: .25rem;
}
.lr-toc .list-group-item.active{
  background: var(--bs-primary);
  color: #fff;
}

/* Documento */
.lr-doc{
  line-height: 1.75;
  font-size: 1rem;
}
.lr-doc h1, .lr-doc h2, .lr-doc h3, .lr-doc h4, .lr-doc h5, .lr-doc h6{
  scroll-margin-top: calc(var(--lr-topbar-h) + 18px);
  margin-top: 1.1rem;
}
.lr-doc table{ width: 100%; }
.lr-doc img{ max-width: 100%; height: auto; }
.lr-doc pre{
  background: var(--bs-tertiary-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: .75rem;
  padding: 1rem;
  overflow:auto;
}

/* HERO */
.lr-hero{ position: relative; }
.lr-hero-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 600px at 20% 10%, color-mix(in srgb, var(--bs-primary) 22%, transparent), transparent 60%),
    radial-gradient(1000px 600px at 85% 18%, color-mix(in srgb, var(--bs-warning) 18%, transparent), transparent 62%),
    radial-gradient(900px 600px at 55% 95%, color-mix(in srgb, var(--bs-info) 14%, transparent), transparent 60%);
  pointer-events:none;
  opacity: .95;
}
[data-bs-theme="dark"] .lr-hero-bg{ opacity: .75; }
.lr-mark{
  width: 64px; height:64px;
  border-radius: 18px;
  display:flex; align-items:center; justify-content:center;
  background: color-mix(in srgb, var(--bs-body-bg) 78%, transparent);
  border:1px solid var(--bs-border-color);
  box-shadow: var(--bs-box-shadow-sm);
}

/* FLIP */
.lr-flip-stage{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 1rem;
  min-height: min(78vh, 820px);
}
.lr-flip-book{
  width: min(1120px, 100%);
  height: min(740px, 78vh);
}

/* ---------------- Flipbook (StPageFlip) ---------------- */
.lr-flip-stage{
  /* garante espaço para o book calcular corretamente */
  display:flex;
  align-items:center;
  justify-content:center;
}

.lr-flip-book{
  user-select:none;
  -webkit-user-select:none;
  touch-action: pan-y;
  outline: none;
}

.lr-flip-book .stf__wrapper{
  /* suaviza em GPUs mais “nervosas” */
  transform: translateZ(0);
}

.lr-flip-page-inner{
  scrollbar-width: thin;
}

.lr-flip-page-inner::-webkit-scrollbar{
  width: 10px;
}
.lr-flip-page-inner::-webkit-scrollbar-thumb{
  background: color-mix(in srgb, var(--bs-border-color) 55%, transparent);
  border-radius: 10px;
}
.lr-flip-page-inner::-webkit-scrollbar-track{
  background: transparent;
}


