/* ════════════════════════════════════════════════
   Hương Việt — PDF Menu Flipbook (frontend 2.0)
   Màu sắc lấy từ Settings qua biến --hvpf-*.
════════════════════════════════════════════════ */
.flipbook-band {
  --hvpf-accent: #E8C547;
  --hvpf-bg: #0d0d0d;
  --hvpf-band-bg: #1a1a1a;

  background: var(--hvpf-band-bg);
  padding: 6rem 2.5rem;
  text-align: center;
  box-sizing: border-box;
}
.flipbook-band * { box-sizing: border-box; }

.flipbook-eyebrow {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--hvpf-accent);
  margin-bottom: .6rem;
}
.flipbook-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(2.5rem, 5vw, 4rem);
  letter-spacing: .06em;
  color: #fff;
  margin-bottom: 2.5rem;
}

.hv-flipbook {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  background: var(--hvpf-bg);
  border: 1px solid rgba(255,255,255,.06);
  padding: 1.5rem;
}

.hv-flipbook-stage {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  perspective: 2200px; /* chiều sâu cho hiệu ứng lật */
}

.hv-flipbook-pages {
  position: relative;
  display: flex;
  width: 100%;
  justify-content: center;
  box-shadow: 0 30px 60px rgba(0,0,0,.6);
  background: #fff;
  overflow: hidden;
  transform-style: preserve-3d;
  transition: transform .28s ease;
}

/* Hiệu ứng lật: nghiêng nhẹ khối trang khi chuyển. */
.hv-flipbook-pages.flip-next { transform: rotateY(-8deg) scale(.985); opacity: .55; }
.hv-flipbook-pages.flip-prev { transform: rotateY(8deg) scale(.985); opacity: .55; }

/* Canvas tự co vừa khung — KHÔNG bao giờ tràn layout. */
.hv-flipbook-page {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 80vh;
  flex: 0 1 auto;
  user-select: none;
  -webkit-user-drag: none;
}

.hv-flipbook-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.2);
  background: rgba(0,0,0,.5);
  color: #fff;
  font-size: 1.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .2s;
  z-index: 5;
  flex-shrink: 0;
}
.hv-flipbook-nav:hover {
  background: var(--hvpf-accent);
  border-color: var(--hvpf-accent);
  color: #111;
}
.hv-flipbook-nav.prev { left: 0; margin-right: .75rem; }
.hv-flipbook-nav.next { right: 0; margin-left: .75rem; }

@media (min-width: 769px) {
  .hv-flipbook-nav.prev { left: -23px; }
  .hv-flipbook-nav.next { right: -23px; }
}

.hv-flipbook-nav:disabled { opacity: .25; cursor: default; }
.hv-flipbook-nav:disabled:hover {
  background: rgba(0,0,0,.5);
  border-color: rgba(255,255,255,.2);
  color: #fff;
}

.hv-flipbook-toolbar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
}
.hv-flipbook-page-indicator {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  color: rgba(255,255,255,.7);
  min-width: 90px;
  text-align: center;
}
.hv-flipbook-btn {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: .55rem 1.3rem;
  border: 1.5px solid rgba(255,255,255,.2);
  background: transparent;
  color: rgba(255,255,255,.75);
  cursor: pointer;
  transition: all .2s;
  text-decoration: none;
  display: inline-block;
}
.hv-flipbook-btn:hover,
.hv-flipbook-btn:focus-visible {
  background: var(--hvpf-accent);
  border-color: var(--hvpf-accent);
  color: #111;
}

/* Fullscreen button — distinct filled pill with icon */
.hv-flipbook-btn--fs {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--hvpf-accent);
  border-color: var(--hvpf-accent);
  color: #111;
  border-radius: 50px;
  padding: .58rem 1.5rem;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
}
.hv-flipbook-btn--fs .hv-fs-icon {
  flex-shrink: 0;
  transition: transform .25s ease;
}
.hv-flipbook-btn--fs:hover,
.hv-flipbook-btn--fs:focus-visible {
  background: #fff;
  border-color: #fff;
  color: #111;
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(0,0,0,.35);
}
.hv-flipbook-btn--fs:hover .hv-fs-icon {
  transform: scale(1.15);
}

.hv-flipbook-loading {
  color: rgba(255,255,255,.5);
  font-family: 'Barlow Condensed', sans-serif;
  letter-spacing: .1em;
  font-size: .85rem;
  text-transform: uppercase;
  padding: 4rem 0;
  text-align: center;
}

/* Toàn màn hình */
.hv-flipbook:fullscreen {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--hvpf-bg);
  padding: 2vh 2vw;
}
.hv-flipbook:fullscreen .hv-flipbook-page { max-height: 88vh; }

@media (max-width: 720px) {
  .flipbook-band { padding: 3rem 1rem; }
  .hv-flipbook { padding: .75rem; }
  .hv-canvas-right { display: none !important; }
  .hv-flipbook-nav { width: 36px; height: 36px; font-size: 1.05rem; }
  .hv-flipbook-page { max-height: 70vh; }
}

/* Tôn trọng thiết lập giảm chuyển động */
@media (prefers-reduced-motion: reduce) {
  .hv-flipbook-pages { transition: none; }
  .hv-flipbook-pages.flip-next,
  .hv-flipbook-pages.flip-prev { transform: none; opacity: 1; }
}
