/* Anchor targets clear the sticky global nav so headings aren't tucked behind it. */
.drinks,
.bbb {
  scroll-margin-top: calc(var(--nav-height) + 24px);
}

/* ============== Drinks (dark) ============== */
.drinks {
  background-color: var(--color-midnight);
  padding-block: var(--section-py-mobile);
}

@media (min-width: 768px) {
  .drinks {
    padding-block: var(--section-py-desktop);
  }
}

.drinks__layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2xl);
  text-align: center;
}

.drinks__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.drinks__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: 1.05;
  color: var(--color-white);
}

/* ============== Banana Bread Bar (yellow) ============== */
.bbb {
  background-color: var(--color-banana);
  padding-block: var(--section-py-mobile);
  overflow: hidden;
}

@media (min-width: 768px) {
  .bbb {
    padding-block: var(--section-py-desktop);
  }
}

.bbb__layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2xl);
  text-align: center;
}

.bbb__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.bbb__eyebrow {
  font-family: var(--font-ui);
  font-size: var(--font-size-eyebrow);
  font-weight: 500;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--color-mauve-dark);
}

.bbb__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--font-size-h2);
  line-height: 1.05;
  color: var(--color-midnight);
}

/* ============== Flipbook component (shared) ============== */
.flipbook__viewer {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
}

@media (min-width: 768px) {
  .flipbook__viewer {
    gap: var(--space-xl);
  }
}

.flipbook {
  flex: 0 1 auto;
  min-height: 200px;
}

/* StPageFlip injects its own elements; we just style the canvases it adopts. */
.flipbook__page {
  display: block;
  background-color: var(--color-off-white);
  box-shadow: 0 14px 40px rgba(26, 0, 8, 0.2);
}

.flipbook__fallback {
  font-family: var(--font-ui);
  font-size: var(--font-size-md);
  color: var(--color-midnight);
}

.flipbook__fallback a {
  color: var(--color-bordeaux);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.drinks .flipbook__fallback {
  color: var(--off-white-70);
}

.drinks .flipbook__fallback a {
  color: var(--color-baby-pink);
}

/* Buttons stay hidden until the flipbook is built — avoids flashing
   non-functional arrows while pdfjs/page-flip load. */
.flipbook__nav {
  display: none;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: var(--radius-full);
  background-color: var(--color-bordeaux);
  color: var(--color-off-white);
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color var(--transition-base),
              opacity var(--transition-base),
              transform var(--transition-base);
}

.flipbook__viewer.is-ready .flipbook__nav {
  display: inline-flex;
}

@media (min-width: 768px) {
  .flipbook__nav {
    width: 56px;
    height: 56px;
  }
}

.flipbook__nav:hover:not(:disabled) {
  background-color: var(--color-midnight);
  transform: translateY(-2px);
}

.drinks .flipbook__nav {
  background-color: var(--color-brand-red);
}

.drinks .flipbook__nav:hover:not(:disabled) {
  background-color: var(--color-baby-pink);
  color: var(--color-midnight);
}

.flipbook__nav:disabled {
  opacity: 0.25;
  cursor: not-allowed;
  transform: none;
}

.flipbook__nav .material-symbols-outlined {
  font-size: 28px;
}

/* Below the desktop breakpoint the book is single-page; arrows overlay the
   book's left/right corners so the canvas can take the full container
   width (otherwise the buttons would eat into the page). */
@media (max-width: 1023px) {
  .flipbook__viewer.is-ready .flipbook__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    background-color: rgba(139, 26, 45, 0.85);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
  }
  .flipbook__nav--prev {
    left: var(--space-xs);
  }
  .flipbook__nav--next {
    right: var(--space-xs);
  }
  .flipbook__viewer.is-ready .flipbook__nav:hover:not(:disabled) {
    transform: translateY(-50%) scale(1.05);
  }
  .flipbook__nav .material-symbols-outlined {
    font-size: 22px;
  }
}
