/* 特色款・翻書：封面是一本精裝書（布紋、燙金字、書脊），內頁是米色紙張，電腦上兩頁左右對開、中間有書脊陰影，每頁下面有頁碼。 */
.s-book { --bg: #e4dac8; --bg2: #d8ccb6; --fg: #2d2722; --muted: #786d61; --line: #e2d7c4; --accent: #8c2f39; --on-accent: #fff; --card: #fbf6ec;
  --radius: 4px; --radius-btn: 4px; --font-head: var(--serif); --font-body: var(--serif); --h1: clamp(2.2rem, 6.5vw, 4rem); --h2: clamp(1.3rem, 3vw, 1.8rem); }
.s-book .top { background: #22303b; border-bottom: 0; }
.s-book .top .brand b, .s-book .top .nav a { color: #e9dcc0; }
.hero-book { padding: clamp(24px, 5vw, 60px) 16px; background: linear-gradient(180deg, #2f3b46, #3d4a55 70%, var(--bg)); }
.book-cover { position: relative; margin: 0 auto; width: min(760px, 100%); min-height: clamp(420px, 70vw, 620px); display: grid; place-items: center; text-align: center;
  background: linear-gradient(rgba(60, 20, 25, .55), rgba(40, 12, 16, .82)), var(--hero, none) center / cover, #6e2430;
  border-radius: 4px 14px 14px 4px; box-shadow: inset 18px 0 24px -10px rgba(0, 0, 0, .55), inset 3px 0 0 rgba(255, 255, 255, .15), 0 24px 50px rgba(0, 0, 0, .45); color: #f2e3c2; }
.book-cover::before { content: ""; position: absolute; inset: 22px 22px 22px 40px; border: 1px solid rgba(230, 200, 140, .6); outline: 1px solid rgba(230, 200, 140, .3); outline-offset: 6px; }
.book-title { position: relative; padding: 40px clamp(28px, 7vw, 80px); }
.book-cover h1 { color: #f0d79a; letter-spacing: .14em; text-shadow: 0 1px 0 rgba(0, 0, 0, .4); }
.book-cover .hero-en { color: #e2c483; letter-spacing: .45em; }
.book-cover .hero-lede { color: rgba(242, 227, 194, .88); margin-inline: auto; }
.book-cover .hero-act { justify-content: center; }
.book-cover .btn { background: #e2c483; color: #3a1218; border-color: #e2c483; }
.book-cover .btn-2 { background: transparent; color: #e2c483; }
/* 內頁 */
.book-pages { counter-reset: page; width: min(1180px, 100% - 24px); margin: 0 auto clamp(40px, 6vw, 80px); display: grid; gap: 0; }
.book-pages .sec { counter-increment: page; position: relative; background: var(--card); padding: clamp(36px, 5vw, 64px) clamp(24px, 4vw, 52px) 64px;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, .04), transparent 6%, transparent 94%, rgba(0, 0, 0, .04)); box-shadow: 0 1px 0 var(--line); }
.book-pages .sec::after { content: "— " counter(page) " —"; position: absolute; bottom: 22px; left: 0; right: 0; text-align: center; color: var(--muted); font-size: .85rem; letter-spacing: .2em; }
.book-pages .sec .wrap { width: 100%; }
@media (min-width: 1000px) {
  .book-pages { grid-template-columns: 1fr 1fr; box-shadow: 0 30px 60px rgba(0, 0, 0, .4); border-radius: 6px; overflow: hidden; }
  .book-pages .sec:nth-child(odd) { background-image: linear-gradient(90deg, transparent 88%, rgba(0, 0, 0, .14)); }
  .book-pages .sec:nth-child(even) { background-image: linear-gradient(90deg, rgba(0, 0, 0, .16), transparent 12%); }
  .book-pages .sec:last-child:nth-child(odd) { grid-column: span 2; }
}
@media (max-width: 999px) { .book-pages .sec { border-radius: 4px; margin-bottom: 14px; box-shadow: 0 10px 24px rgba(0, 0, 0, .3); } }
.s-book .sec-h { text-align: center; color: var(--accent); }
.s-book .sec-h span::before, .s-book .sec-h span::after { content: "❧"; font-size: .7em; margin: 0 .6em; color: #b9925a; }
.s-book .menu i { border-color: #c9b896; }
.s-book .price { color: var(--accent); }
.s-book .pics { grid-template-columns: repeat(2, 1fr); gap: 10px; }
.s-book .pic { border-radius: 2px; background: none; }
.s-book .pic figcaption { font-style: italic; }
.s-book .card, .s-book .person { background: #fffaf0; }
.s-book .about { font-size: 1.05rem; line-height: 2; text-indent: 2em; }
.s-book .day i { border-color: #d8c7a6; }
.s-book .notice { background: #8c2f39; }
.s-book .foot { background: #22303b; color: #b9b2a3; border: 0; }
.s-book .foot-name { color: #f0d79a; }
