/* library-shelf · 详情页：翻开的书，书名页 + 借阅卡 */
.ls-detail { max-width: 960px; }
.ls-detail .detail-breadcrumb { padding: 4px 0 16px; color: var(--ls-soft); text-transform: none; letter-spacing: 0; font-size: .92rem; }
.ls-detail .detail-breadcrumb a { flex: none; color: var(--ls-accent); font-weight: 600; text-decoration: none; }

.ls-open-book { border-left: 14px solid var(--ls-spine); background: var(--ls-page); box-shadow: 4px 4px 0 rgba(42, 31, 45, .08); }
.ls-title-page { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 8px 32px; align-items: start; padding: 32px 36px 24px; border-bottom: 1px solid var(--ls-line); }
.ls-title-page h1 { margin: 0; font-family: var(--ls-display); font-weight: 700; font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.12; }
.ls-byline { grid-column: 1; margin: 0; font-style: italic; color: var(--ls-soft); }
.ls-due-card { grid-column: 2; grid-row: 1 / span 2; width: 100%; border-collapse: collapse; background: var(--ls-slip); border: 1px solid #e9d9a6; font-size: .92rem; }
.ls-due-card caption { padding: 6px 10px; background: #f3e6b8; font-family: var(--ls-display); font-weight: 700; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; text-align: left; }
.ls-due-card th, .ls-due-card td { padding: 6px 10px; border-top: 1px solid #e9d9a6; text-align: left; vertical-align: middle; }
.ls-due-card th { width: 40%; font-weight: 600; color: var(--ls-soft); }
.ls-due-card a { color: var(--ls-accent); font-weight: 600; }
.ls-page { padding: 28px 36px 32px; }
.ls-page .detail-summary { padding: 14px 18px; border-left: 4px solid var(--ls-spine); background: #faf5f6; }
.ls-page .detail-prose { max-width: 68ch; font-size: 1.1rem; line-height: 1.75; }
.ls-page .detail-prose h2, .ls-page .detail-prose h3 { font-family: var(--ls-display); font-weight: 700; }
.ls-page .detail-prose a { color: var(--ls-accent); }

.ls-turn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0 36px; }
.ls-turn a { display: grid; gap: 4px; padding: 14px 18px; background: var(--ls-page); border-bottom: 6px solid var(--ls-shelf); font-weight: 600; line-height: 1.35; }
.ls-turn-next { text-align: right; }
.ls-turn a:hover { color: var(--ls-accent); }
.ls-turn small { font-family: var(--ls-display); font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ls-soft); }

@media (max-width: 767px) {
    .ls-open-book { border-left-width: 6px; }
    .ls-title-page { grid-template-columns: minmax(0, 1fr); padding: 18px 14px; }
    .ls-title-page h1 { font-size: 1.6rem; }
    .ls-due-card { grid-column: 1; grid-row: auto; }
    .ls-page { padding: 18px 14px 20px; }
    .ls-turn { grid-template-columns: minmax(0, 1fr); }
    .ls-turn-next { text-align: left; }
}
