/* Layered paper, forest-green ink, and restrained gold detailing. */
body .main-wrap {
  background:
    radial-gradient(ellipse 42% 620px at 0% 10%, rgba(184, 139, 58, 0.13), transparent 100%),
    radial-gradient(ellipse 35% 760px at 100% 38%, rgba(61, 105, 85, 0.09), transparent 100%),
    radial-gradient(ellipse 55% 580px at 15% 90%, rgba(184, 139, 58, 0.09), transparent 100%),
    repeating-linear-gradient(0deg, rgba(98, 78, 39, 0.018) 0, rgba(98, 78, 39, 0.018) 1px, transparent 1px, transparent 4px),
    linear-gradient(110deg, #f5efdf, #fffdf8 28%, #fffdf8 72%, #f3eee2) !important;
}

body .main-wrap .wsite-body-section {
  background-color: transparent !important;
}

body .banner-wrap {
  background: #163d33 !important;
}

body .banner-wrap .wsite-header-section {
  background:
    radial-gradient(ellipse at 12% 16%, rgba(225, 198, 135, 0.16), transparent 48%),
    radial-gradient(ellipse at 88% 82%, rgba(84, 138, 112, 0.22), transparent 50%),
    repeating-linear-gradient(125deg, transparent 0, transparent 95px, rgba(234, 217, 173, 0.035) 96px, transparent 97px),
    linear-gradient(120deg, #234d40, #102e28 64%, #183d34) !important;
  border-bottom: 1px solid rgba(225, 198, 135, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 244, 212, 0.1);
}

body .footer-wrap {
  background:
    radial-gradient(ellipse at 90% 100%, rgba(184, 139, 58, 0.13), transparent 65%),
    linear-gradient(125deg, #173c32, #0d2722);
}

/* Quiet, literary details for the book displays. */
.bookstore-card {
  background: linear-gradient(145deg, #fffefb, #f7f3e9);
  border-color: rgba(184, 139, 58, 0.24);
  border-radius: 16px;
  box-shadow: 0 12px 36px rgba(23, 53, 47, 0.07);
  transition: box-shadow 240ms ease, border-color 240ms ease;
}

.bookstore-card__cover,
.footer-book__cover {
  filter: drop-shadow(0 14px 14px rgba(23, 53, 47, 0.2));
}

.bookstore-card__cover,
.book-showcase__cover {
  transform-origin: center bottom;
  transition: transform 300ms ease, filter 300ms ease;
}

.bookstore-card__actions .wsite-button,
.book-showcase__button,
.footer-book__button {
  transition: transform 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
}

.bookstore-card__actions .wsite-button:focus-visible,
.book-showcase__button:focus-visible,
.footer-book__button:focus-visible,
.bookstore-card__cover-link:focus-visible,
.book-showcase__cover-link:focus-visible {
  outline: 3px solid #b88b3a;
  outline-offset: 5px;
}

.bookstore-card__availability,
.banner-wrap .book-showcase__availability {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid rgba(184, 139, 58, 0.4);
  border-radius: 8px;
  font-size: 14px !important;
  letter-spacing: 0.02em;
}

.bookstore-card__availability {
  background: #eee5d1;
  color: #614719 !important;
}

.banner-wrap .book-showcase__availability {
  background: rgba(234, 217, 173, 0.08);
  color: #f0dfb8 !important;
}

.book-letter-layer {
  position: fixed;
  inset: 0;
  z-index: 20;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}

.book-letter {
  position: absolute;
  color: #efdbac;
  font: 22px Georgia, serif;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  animation: book-letter-drift 1100ms ease-out forwards;
}

@keyframes book-letter-drift {
  from { opacity: 0.65; transform: translate(-50%, -50%) rotate(0deg); }
  to { opacity: 0; transform: translate(calc(-50% + var(--drift)), -64px) rotate(var(--turn)); }
}

@keyframes book-section-enter {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: no-preference) {
  .book-section-enter {
    animation: book-section-enter 650ms ease-out both;
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .bookstore-card:hover {
    border-color: rgba(184, 139, 58, 0.5);
    box-shadow: 0 20px 48px rgba(23, 53, 47, 0.12);
  }

  .bookstore-card__cover-link:hover .bookstore-card__cover,
  .book-showcase__cover-link:hover .book-showcase__cover {
    transform: perspective(900px) translateY(-6px) rotateY(-5deg) rotateZ(-1deg);
    filter: drop-shadow(8px 24px 20px rgba(0, 0, 0, 0.28));
  }

  .bookstore-card__actions .wsite-button:hover,
  .book-showcase__button:hover,
  .footer-book__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(23, 53, 47, 0.18);
  }
}

@media (prefers-reduced-motion: reduce) {
  .book-letter-layer { display: none; }

  .bookstore-card,
  .bookstore-card__cover,
  .book-showcase__cover,
  .bookstore-card__actions .wsite-button,
  .book-showcase__button,
  .footer-book__button {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}
