/* Doxa Book Cover v8 · minimal editorial cover, four levels only */

:root {
  --cover-paper: #F4EFE4;
  --cover-paper-edge: #D0C4B1;
  --cover-rule: #C8BDAE;
  --cover-ink: #1E2A78;
}

/* Shared academy renderer */
.volume-grid {
  grid-template-columns: repeat(auto-fill, minmax(245px, 1fr)) !important;
  gap: 48px 30px !important;
}
.volume-card {
  height: auto !important;
  min-height: 0 !important;
  display: flex;
  flex-direction: column;
  transform-origin: center bottom;
}
.volume-card:hover { transform: translateY(-6px); }
.volume-ribbon {
  --cover-accent: var(--library-accent, #0F3674);
  --cover-green: var(--library-green, #15A06A);
  --cover-ink: #1E2A78;
  position: relative;
  aspect-ratio: 2 / 3;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--cover-ink) !important;
  background: var(--cover-accent) !important;
  border-radius: 2px 9px 9px 2px !important;
  box-shadow: inset 10px 0 0 rgba(0,0,0,.22), inset 13px 0 0 rgba(255,255,255,.07), 6px 7px 0 rgba(30,42,120,.14), 0 16px 30px rgba(20,22,31,.15) !important;
}
.volume-ribbon::before,
.volume-ribbon::after { display: none !important; }
.volume-cover-paper {
  position: absolute !important;
  z-index: 0 !important;
  inset: 6% 4% 6% 11% !important;
  display: block !important;
  pointer-events: none;
  background: var(--cover-paper) !important;
  border: 2px solid var(--cover-paper-edge) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.38) !important;
}
.volume-cover-paper::after {
  content: "";
  position: absolute;
  inset: 6%;
  border: 1px solid var(--cover-ink);
}
.volume-cover-logo {
  position: absolute !important;
  z-index: 3 !important;
  top: 10.8% !important;
  right: 11.5% !important;
  width: 8% !important;
  height: auto !important;
}
.volume-cover-academy,
.volume-cover-title,
.volume-cover-motif,
.volume-cover-form,
.volume-cover-footer,
.volume-cover-status {
  position: absolute !important;
  z-index: 3 !important;
  color: var(--cover-ink) !important;
}
.volume-cover-academy {
  top: 16.5%;
  left: 13%;
  right: 20%;
  padding-top: 4.5%;
  border-top: 2px solid var(--cover-green);
  font-family: var(--font-mono);
  font-size: clamp(.48rem, .72vw, .68rem);
  line-height: 1.2;
  letter-spacing: .1em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.volume-cover-motif {
  left: 13%;
  right: 10%;
  top: 27%;
  height: 23%;
}
.volume-cover-motif svg { width: 100%; height: 100%; display: block; overflow: visible; }
.volume-cover-title {
  left: 13%;
  right: 11%;
  top: 58.5%;
  height: 16.5% !important;
  min-height: 16.5% !important;
  max-height: 16.5% !important;
  margin: 0 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  font-family: var(--font-serif);
  font-size: clamp(1rem, 1.8vw, 1.55rem) !important;
  line-height: 1.28 !important;
  font-weight: 700;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow-wrap: anywhere;
}
.volume-cover-form {
  left: 13%;
  bottom: 8.8%;
  font-family: var(--font-mono);
  font-size: clamp(.42rem, .62vw, .58rem);
  letter-spacing: .06em;
  white-space: nowrap;
}
.volume-cover-footer {
  left: 13%;
  right: 11%;
  bottom: 5.5%;
  padding-top: 2.8%;
  border-top: 1px solid var(--cover-rule);
  font-family: var(--font-mono);
  font-size: clamp(.4rem, .58vw, .56rem);
  letter-spacing: .06em;
  white-space: nowrap;
}
.volume-cover-status {
  right: 11%;
  bottom: 4.2%;
  padding: .9% 1.6%;
  border: 1.5px solid var(--cover-green);
  background: transparent;
  font-family: var(--font-mono);
  font-size: clamp(.36rem, .53vw, .52rem);
  letter-spacing: .04em;
}
.volume-card.is-draft .volume-cover-status { border-color: #8B8F9C; color: #5A5E70 !important; }
.volume-card.is-draft .volume-ribbon { opacity: .93; }
.volume-body {
  height: 94px !important;
  min-height: 94px !important;
  padding: 12px 3px 0 !important;
}
.volume-body p {
  height: 3em;
  min-height: 3em;
  max-height: 3em;
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  font-size: .77rem;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.volume-meta { margin-top: 6px; }
.volume-foot { left: 3px !important; right: 3px !important; bottom: 1px !important; }

/* Math / AI renderer */
.shelf-books {
  grid-template-columns: repeat(auto-fill, minmax(245px, 1fr)) !important;
  gap: 48px 30px !important;
}
.book {
  height: auto !important;
  min-height: 0 !important;
}
.book:hover { transform: translateY(-6px) !important; }
.book-front .book-cover {
  --cover-accent: var(--library-accent, #0F3674);
  --cover-green: var(--library-green, #15A06A);
  --cover-ink: #1E2A78;
  position: relative;
  aspect-ratio: 2 / 3;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--cover-ink) !important;
  background: var(--cover-accent) !important;
  border-radius: 2px 9px 9px 2px !important;
  box-shadow: inset 10px 0 0 rgba(0,0,0,.22), inset 13px 0 0 rgba(255,255,255,.07), 6px 7px 0 rgba(30,42,120,.14), 0 16px 30px rgba(20,22,31,.15) !important;
}
.book-front .book-cover::before,
.book-front .book-cover::after { display: none !important; }
.book-cover-paper {
  position: absolute !important;
  z-index: 0 !important;
  inset: 6% 4% 6% 11% !important;
  display: block !important;
  pointer-events: none;
  background: var(--cover-paper) !important;
  border: 2px solid var(--cover-paper-edge) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.38) !important;
}
.book-cover-paper::after { content: ""; position: absolute; inset: 6%; border: 1px solid var(--cover-ink); }
.book-cover-logo { position: absolute !important; z-index: 3 !important; top: 10.8% !important; right: 11.5% !important; width: 8% !important; height: auto !important; }
.book-cover-academy,
.book-cover-title,
.book-cover-motif,
.book-cover-form,
.book-cover-footer,
.book-front .seal { position: absolute !important; z-index: 3 !important; color: var(--cover-ink) !important; }
.book-cover-academy { top: 16.5%; left: 13%; right: 20%; padding-top: 4.5%; border-top: 2px solid var(--cover-green); font-family: var(--font-mono); font-size: clamp(.48rem, .72vw, .68rem); line-height: 1.2; letter-spacing: .1em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.book-cover-motif { left: 13%; right: 10%; top: 27%; height: 23%; }
.book-cover-motif svg { width: 100%; height: 100%; display: block; overflow: visible; }
.book-front .book-cover-title { left: 13%; right: 11%; top: 58.5%; height: 16.5% !important; min-height: 16.5% !important; max-height: 16.5% !important; margin: 0 !important; display: -webkit-box !important; overflow: hidden !important; font-family: var(--font-serif); font-size: clamp(1rem, 1.8vw, 1.55rem) !important; line-height: 1.28 !important; font-weight: 700; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow-wrap: anywhere; }
.book-cover-form { left: 13%; bottom: 8.8%; font-family: var(--font-mono); font-size: clamp(.42rem, .62vw, .58rem); letter-spacing: .06em; white-space: nowrap; }
.book-cover-footer { left: 13%; right: 11%; bottom: 5.5%; padding-top: 2.8%; border-top: 1px solid var(--cover-rule); font-family: var(--font-mono); font-size: clamp(.4rem, .58vw, .56rem); letter-spacing: .06em; white-space: nowrap; }
.book-front .seal { right: 11%; bottom: 4.2%; padding: .9% 1.6%; border: 1.5px solid var(--cover-green); background: transparent; font-family: var(--font-mono); font-size: clamp(.36rem, .53vw, .52rem); letter-spacing: .04em; }
.book-cover.is-draft { opacity: .93; }
.book-cover.is-draft .seal { border-color: #8B8F9C !important; color: #5A5E70 !important; }
.book-front .book-desc { height: 94px !important; min-height: 94px !important; padding: 12px 3px 0 !important; }
.book-summary { height: 3em; min-height: 3em; max-height: 3em; font-size: .77rem; line-height: 1.5; }
.book-desc .book-cover-foot { margin-top: 6px; }

@media (max-width: 720px) {
  .volume-grid, .shelf-books { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 34px 16px !important; }
  .volume-body, .book-front .book-desc { height: 82px !important; min-height: 82px !important; }
  .volume-body p, .book-summary { font-size: .69rem; }
}
@media (max-width: 460px) {
  .volume-grid, .shelf-books { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 26px 10px !important; }
  .volume-body, .book-front .book-desc { height: 72px !important; min-height: 72px !important; }
  .volume-body p, .book-summary { font-size: .62rem; }
}
@media (prefers-reduced-motion: reduce) {
  .volume-card, .book, .book-cover { transition: none !important; }
  .volume-card:hover, .book:hover, .book:hover .book-cover { transform: none !important; }
}
