/* Quiet book discovery; book content stays on its dedicated pages. */
.books-section { scroll-margin-top: 120px; }
body.home-redesign-active .books-teaser-section { padding-top: 8px; padding-bottom: 8px; }
.books-teaser { display: flex; align-items: center; justify-content: space-between; gap: 20px 36px; padding: 22px 0; border-top: 1px solid #d8d8cf; border-bottom: 1px solid #d8d8cf; }
.books-teaser h2 { margin: 0 0 5px; color: #263c2d; font: 700 23px/1.3 "Playfair Display", Georgia, serif; }
.books-teaser p { margin: 0; color: #5b6473; font-size: 14px; line-height: 1.6; }
.books-teaser-link { flex-shrink: 0; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: #3d5244; font-size: 14px; font-weight: 700; text-underline-offset: 4px; }
.books-teaser a:focus-visible, .books-page a:focus-visible { outline: 3px solid #263c2d; outline-offset: 4px; }
.books-page { margin: 0; background: #f3efe8; color: #1f2937; font: 16px/1.7 Inter, sans-serif; }
.books-page * { box-sizing: border-box; }
.books-page img { display: block; max-width: 100%; height: auto; }
.books-header { background: #fff; border-bottom: 1px solid #dfd9cf; }
.books-nav { max-width: 1120px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px 28px; padding: 18px 28px; }
.books-brand { display: flex; align-items: center; gap: 10px; color: #c53b2d; text-decoration: none; font-size: 23px; font-weight: 800; white-space: nowrap; }
.books-nav-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.books-nav-links a { color: #3d5244; font-size: 14px; text-decoration: none; padding: 7px 0; }
.books-nav-links a:hover, .books-text-link:hover { text-decoration: underline; }
.books-main { max-width: 1120px; margin: auto; padding: 42px 28px 56px; }
.books-intro { max-width: 690px; margin-bottom: 30px; }
.books-kicker { margin: 0 0 8px; color: #3d5244; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.books-page h1 { margin: 8px 0 16px; font: 700 clamp(32px, 4vw, 48px)/1.16 "Playfair Display", Georgia, serif; letter-spacing: -.02em; overflow-wrap: anywhere; }
.books-intro > p:last-child { margin: 0; color: #5b6473; font-size: 16px; }
.books-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 24px; align-items: stretch; }
.book-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #dfd9cf; border-radius: 14px; overflow: hidden; background: #fff; }
.book-card-cover { display: grid; place-items: center; background: #e7e9df; padding: 26px; min-height: 250px; }
.book-card-cover img { width: 150px; box-shadow: 5px 8px 16px #263b2926; border-radius: 2px; }
.book-card-copy { flex: 1; display: flex; flex-direction: column; padding: 24px; }
.book-card h2 { margin: 0 0 12px; font: 700 25px/1.22 "Playfair Display", Georgia, serif; overflow-wrap: anywhere; }
.book-card h2 a { color: #263c2d; text-decoration: none; }
.book-card-copy > p:not(.books-kicker) { margin: 0 0 22px; color: #5b6473; font-size: 14px; }
.book-card-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; }
.books-text-link { display: inline-flex; align-items: center; min-height: 44px; color: #3d5244; font-size: 13px; font-weight: 700; text-underline-offset: 3px; }
.books-buy { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 16px; border-radius: 7px; background: #b93427; color: #fff; font: 700 13px/1.6 Inter, sans-serif; text-decoration: none; }
.books-buy:hover { background: #92291f; }
.books-status { color: #655a50; font-size: 12px; margin: 10px 0 0; }
.books-breadcrumb { display: flex; flex-wrap: wrap; gap: 5px 10px; margin-bottom: 28px; color: #655a50; font-size: 12px; }
.books-breadcrumb a { color: #3d5244; text-underline-offset: 3px; }
.book-detail-hero { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 36px; }
.book-detail-cover { display: grid; place-items: center; border-radius: 14px; padding: 30px; background: #e7e9df; }
.book-detail-cover img { width: 230px; box-shadow: 6px 10px 22px #263b2926; }
.book-detail-lead { color: #5b6473; font-size: 17px; line-height: 1.8; }
.book-detail-meta { color: #655a50; font-size: 12px; margin: 18px 0; }
.book-detail-text { max-width: 760px; margin: 46px auto 0; }
.book-detail-text section { margin: 0 0 32px; }
.book-detail-text h2 { margin: 0 0 14px; color: #263c2d; font: 700 28px/1.25 "Playfair Display", Georgia, serif; }
.book-detail-text h3 { font-size: 16px; margin: 24px 0 8px; }
.book-detail-text p { color: #4c5665; margin: 0 0 14px; }
.book-detail-text li { margin-bottom: 9px; }
.book-detail-text ul { padding-left: 24px; }
.book-detail-cta { padding: 26px; border: 1px solid #d8d8cf; border-radius: 12px; background: #faf8f3; }
.book-related { display: flex; flex-direction: column; gap: 13px; padding-top: 24px; border-top: 1px solid #d8d8cf; }
.book-related a { color: #3d5244; font-size: 14px; text-underline-offset: 3px; }
.books-footer { max-width: 1120px; margin: auto; padding: 24px 28px; border-top: 1px solid #dfd9cf; color: #655a50; font-size: 12px; }
.books-footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.books-footer a { color: #3d5244; text-underline-offset: 3px; }
.books-skip-link { position: absolute; top: -100px; left: 16px; z-index: 10; background: white; color: #263c2d; padding: 12px; }
.books-skip-link:focus { top: 12px; }
.book-preview-heading { scroll-margin-top: 24px; }
.book-preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 22px 0 12px; }
.book-preview-card { min-width: 0; margin: 0; }
.book-preview-link { display: block; height: 100%; padding: 12px; border: 1px solid #d8d8cf; border-radius: 10px; background: #fff; color: #263c2d; text-decoration: none; }
.book-preview-link:hover { border-color: #536a57; box-shadow: 0 3px 12px #263b2910; }
.book-preview-link img { width: 100%; height: 178px; object-fit: contain; background: #f5f1e9; }
.book-preview-link strong { display: block; margin: 12px 0 5px; font-size: 14px; line-height: 1.4; }
.book-preview-link small { display: block; color: #655a50; font-size: 12px; line-height: 1.6; }
.book-preview-link span { display: inline-block; margin-top: 10px; min-height: 24px; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.book-preview-source { font-size: 12px; }
.book-preview-source a { color: #3d5244; text-underline-offset: 3px; }
.book-preview-open { overflow: hidden; }
.book-preview-dialog { width: calc(100% - 32px); max-width: 1420px; max-height: calc(100dvh - 32px); padding: 0; border: 1px solid #d8d8cf; border-radius: 12px; background: #f3efe8; color: #263c2d; }
.book-preview-dialog::backdrop { background: #18251de0; }
.book-preview-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; background: #fff; border-bottom: 1px solid #d8d8cf; }
.book-preview-toolbar h2 { margin: 0; font: 700 22px/1.3 "Playfair Display", Georgia, serif; }
.book-preview-toolbar p { margin: 4px 0 0; font-size: 12px; color: #655a50; }
.book-preview-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.book-preview-dialog button { min-width: 44px; min-height: 44px; padding: 9px 13px; border: 1px solid #b8c1b5; border-radius: 6px; background: #fff; color: #263c2d; font: 700 13px/1.4 Inter, sans-serif; cursor: pointer; }
.book-preview-dialog button:hover { background: #e7e9df; }
.book-preview-dialog button:focus-visible, .book-preview-viewer:focus-visible { outline: 3px solid #263c2d; outline-offset: -3px; }
.book-preview-viewer { max-height: calc(100dvh - 220px); overflow: auto; padding: 20px; overscroll-behavior: contain; }
.book-preview-pages { display: grid; grid-template-columns: repeat(var(--page-count, 1), minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 1400px; margin: auto; align-items: start; }
.book-preview-pages img { width: 100%; box-shadow: 0 2px 12px #263b2926; }
.book-preview-pages:has(img:only-child):not(.is-zoomed) { max-width: 680px; }
.book-preview-pages.is-zoomed { width: calc(var(--page-count, 1) * 1000px); max-width: none; }
.book-preview-help { margin: 0; padding: 0 20px 14px; color: #655a50; font-size: 12px; }
@media (max-width: 680px) {
 .books-teaser { align-items: flex-start; flex-direction: column; gap: 8px; padding: 18px 0; }
 .books-nav { flex-wrap: wrap; padding: 16px 20px; }
 .books-nav-links { gap: 8px 18px; }
 .books-main { padding: 28px 20px 40px; }
 .book-detail-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; }
 .book-detail-cover img { width: 190px; }
 .book-detail-text { margin-top: 32px; }
 .book-detail-text h2 { font-size: 25px; }
 .book-detail-cta { padding: 22px; }
 .book-preview-grid { grid-template-columns: minmax(0, 1fr); }
 .book-preview-link img { height: 220px; }
 .book-preview-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
 .book-preview-toolbar { padding: 12px; }
 .book-preview-toolbar h2 { font-size: 18px; }
 .book-preview-controls { width: 100%; }
 .book-preview-viewer { padding: 12px; max-height: calc(100dvh - 245px); }
 .book-preview-pages { grid-template-columns: minmax(0, 1fr); }
 .book-preview-pages.is-zoomed { width: 850px; }
}
