/* Purpose: Book band — free-copy gift strip, foil callout ribbon and the cover/content split. */

.book__gift {
  margin-bottom: var(--space-56);
  border-radius: var(--radius-sm);
  padding: var(--space-24) var(--space-20);
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  align-items: center;
  text-align: center;
  background: var(--card-gift);
  border: 1px solid var(--color-line-2);
  transition: transform var(--duration-med) var(--ease-smooth), border-color var(--duration-med) ease;
}

.book__gift:hover {
  transform: translateY(-3px);
  border-color: var(--color-line-3);
}

.book__gift-icon {
  font-size: var(--fs-30);
  filter: var(--drop-gift);
}

.book__gift-text {
  margin: 0;
  font-size: var(--fs-16-5);
  color: var(--color-ink-2);
}

.book__gift-text b {
  color: var(--color-gold-200);
  font-weight: var(--weight-bold);
}

.book__callout {
  position: relative;
  z-index: var(--z-top);
  max-width: 660px;
  margin: 0 var(--space-16) calc(var(--space-24) * -1);
  background: var(--foil);
  color: var(--color-dark-ink);
  text-align: center;
  font-family: var(--font-body);
  font-weight: var(--weight-bold);
  font-size: var(--fs-callout);
  letter-spacing: var(--tracking-fine);
  padding: var(--space-17) var(--space-30);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-glow-gold);
}

.book__grid {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--color-line-2);
  box-shadow: var(--shadow-book);
  background: var(--card-glass-soft);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.book__cover {
  width: 100%;
  height: auto;
  max-height: 440px;
  object-fit: cover;
  transition: transform 0.7s var(--ease-smooth);
}

.book__grid:hover .book__cover {
  transform: scale(1.04);
}

.book__content {
  padding: var(--space-40) var(--space-28) var(--space-36);
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.book__byline {
  color: var(--color-gold-300);
  font-family: var(--font-mono);
  font-weight: var(--weight-medium);
  text-transform: uppercase;
  letter-spacing: var(--tracking-tag);
  font-size: var(--fs-12);
  margin: var(--space-16) 0 0;
}

.book__list {
  list-style: none;
  margin: var(--space-30) 0 0;
  padding: 0;
}

.book__item {
  position: relative;
  padding: var(--space-15) 0 var(--space-15) var(--space-40);
  font-size: var(--fs-16-5);
  color: var(--color-ink-3);
  border-top: 1px solid var(--color-line);
}

.book__item::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: var(--space-17);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--foil-soft);
  color: var(--color-dark-ink);
  display: grid;
  place-items: center;
  font-weight: var(--weight-black);
  font-size: var(--fs-11);
}

@media (min-width: 561px) {
  .book__gift {
    flex-direction: row;
    text-align: left;
    padding: var(--space-26) var(--space-32);
  }
}

@media (min-width: 821px) {
  .book__callout {
    margin: 0 auto calc(var(--space-24) * -1);
  }

  .book__grid {
    grid-template-columns: 250px minmax(0, 1fr);
  }

  .book__cover {
    height: 100%;
    max-height: none;
  }

  .book__content {
    padding: var(--space-48) var(--space-40);
  }
}

@media (min-width: 1081px) {
  .book__grid {
    grid-template-columns: minmax(280px, 430px) minmax(0, 1fr);
  }

  .book__content {
    padding: var(--space-68) var(--space-64) var(--space-60);
  }
}
