/* SPDX-License-Identifier: AGPL-3.0-or-later */
.book-main {position:relative;z-index:1}
.book-hero {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  align-items:center;
  gap:56px;
  padding-top:72px;
  padding-bottom:72px;
}
.book-title {
  margin:12px 0 22px;
  font:500 clamp(48px,5.2vw,76px)/1.12 'Cormorant Garamond',Georgia,serif;
  color:var(--ink);
}
.book-title em {display:block;color:var(--gold-soft);font-weight:500}
.book-lead {max-width:530px;margin-bottom:26px;font-size:18px;line-height:1.8;color:var(--ink-mute)}
.book-actions {display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.book-actions .btn-primary {white-space:normal}
.book-visual {margin:0;border:1px solid var(--glass-border);border-radius:22px;background:var(--glass);box-shadow:0 22px 70px #05071a66,0 0 60px #d4af371a;overflow:hidden}
.book-visual img {display:block;width:100%;height:auto}
.book-visual figcaption {padding:18px 24px;color:var(--gold-soft);font:italic 23px/1.35 'Cormorant Garamond',Georgia,serif;text-align:center}
.book-details {padding-top:36px;padding-bottom:72px;border-top:1px solid var(--glass-border)}
.book-intro {max-width:760px;margin:0 auto 36px;text-align:center}
.book-main h2 {font:500 clamp(34px,3.4vw,46px)/1.2 'Cormorant Garamond',Georgia,serif;color:var(--ink);margin-bottom:18px}
.book-intro p,.book-feature p {color:var(--ink-mute);line-height:1.8}
.book-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.book-feature {padding:30px;border:1px solid var(--glass-border);border-radius:18px;background:var(--glass)}
.book-feature .book-mark {display:block;color:var(--gold-soft);font-size:26px;margin-bottom:12px}
.book-feature h3 {font:600 25px/1.25 'Cormorant Garamond',Georgia,serif;margin-bottom:12px;color:var(--ink)}
:root[data-theme="sol"] .book-visual {box-shadow:0 16px 45px #79512024}
:root[data-theme="sol"] .book-feature {background:#fffaf2a6}
@media(max-width:950px) {
  .book-hero {gap:32px}
  .book-grid {gap:16px}
  .book-feature {padding:24px}
}
@media(max-width:760px) {
  .book-hero {grid-template-columns:1fr;padding-top:42px;padding-bottom:48px;gap:36px}
  .book-title {font-size:clamp(44px,10vw,64px)}
  .book-lead {font-size:16px}
  .book-grid {grid-template-columns:1fr}
  .book-details {padding-bottom:28px}
}
