.book-content-info { padding-top: 24px; padding-bottom: 48px; }
.book-content-info__breadcrumb { min-width: 0; margin-bottom: 30px; color: #7a8278; font-size: var(--font-size-caption); }
.book-content-info__breadcrumb ol { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
.book-content-info__breadcrumb li { display: flex; flex-shrink: 0; align-items: center; gap: 10px; min-width: 0; }
.book-content-info__breadcrumb li:last-child { flex: 1; }
.book-content-info__breadcrumb a { color: #52715d; text-decoration: none; }
.book-content-info__breadcrumb [aria-current] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.book-content-info { --book-info-gutter: 20px; }
.book-content-info__hero {
    position: relative;
    display: grid;
    grid-template-columns: 142px minmax(0, 1fr);
    align-items: center;
    column-gap: 28px;
    row-gap: 18px;
    width: calc(100% + var(--book-info-gutter) * 2);
    margin: 0 calc(var(--book-info-gutter) * -1) 32px;
    padding: 18px var(--book-info-gutter) 30px;
    overflow: hidden;
    isolation: isolate;
    border-bottom: 1px solid #e7ece8;
    background: linear-gradient(135deg, rgba(238, 244, 237, .64), rgba(251, 250, 246, .2) 62%);
}
.book-content-info__hero::before, .book-content-info__hero::after { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; content: ''; }
.book-content-info__hero::before { top: -178px; right: -126px; width: 370px; height: 370px; border: 1px solid rgba(49, 95, 66, .1); background: rgba(219, 231, 220, .24); box-shadow: inset 0 0 0 42px rgba(49, 95, 66, .018), inset 0 0 0 84px rgba(49, 95, 66, .014); }
.book-content-info__hero::after { bottom: -204px; left: -108px; width: 320px; height: 320px; border: 1px solid rgba(168, 142, 91, .1); background: rgba(224, 214, 190, .18); }
.book-content-info__hero > * { position: relative; z-index: 1; }
.book-content-info__heading { grid-column: 2; grid-row: 1; min-width: 0; }
.book-content-info__actions { grid-column: 2; grid-row: 2; display: flex; align-items: flex-start; justify-content: flex-end; gap: 7px; min-width: 0; }
.book-content-info__action { display: flex; flex: 0 1 104px; flex-direction: column; align-items: center; justify-content: flex-start; gap: 7px; min-width: 0; min-height: 72px; padding: 2px 4px; border: 0; border-radius: 9px; background: transparent; color: #315f42; font: inherit; font-size: 11px; font-weight: 800; line-height: 1.5; text-align: center; text-decoration: none; cursor: pointer; transition: color 160ms ease, transform 160ms ease; }
.book-content-info__action-icon { display: grid; flex: 0 0 44px; place-items: center; width: 44px; height: 44px; border: 1px solid #c5d5c8; border-radius: 50%; background: rgba(245, 248, 243, .92); color: #315f42; font-size: 20px; transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.book-content-info__action > span:last-child { overflow-wrap: anywhere; word-break: keep-all; }
.book-content-info__action--read .book-content-info__action-icon { border-color: #315f42; background: #315f42; color: #fffdf7; }
.book-content-info__action:hover { color: #244b33; transform: translateY(-2px); }
.book-content-info__action:hover .book-content-info__action-icon { border-color: #7da088; background: #e4eee3; box-shadow: 0 4px 10px rgba(49, 95, 66, .1); }
.book-content-info__action--read:hover .book-content-info__action-icon { border-color: #244b33; background: #244b33; }
.book-content-info__action:focus-visible { outline: 2px solid #52715d; outline-offset: 3px; }
.book-content-info__cover { grid-column: 1; grid-row: 1 / span 2; display: grid; place-items: center; width: 142px; aspect-ratio: 2 / 3; overflow: hidden; border: 1px solid rgba(64, 79, 68, .18); border-radius: 8px; background: #eef3ef; box-shadow: 0 18px 34px rgba(39, 58, 44, .16), 0 3px 8px rgba(39, 58, 44, .1); color: #4f745a; }
.book-content-info__cover img { display: block; width: 100%; height: 100%; object-fit: contain; }
.book-content-info__cover > span { padding: 16px; font-size: var(--font-size-body-sm); line-height: 1.8; text-align: center; overflow-wrap: anywhere; }
.book-content-info__eyebrow { display: inline-flex; align-items: center; min-height: 28px; margin: 0 0 10px; padding: 0 9px; border-radius: 6px; background: #e5f0e8; color: #2f6741; font-size: var(--font-size-meta-sm); font-weight: 800; }
.book-content-info h1 { margin: 0; color: #1d2b22; font-size: var(--font-size-display); font-weight: 850; line-height: 1.35; overflow-wrap: anywhere; word-break: keep-all; }
.book-content-info__subtitle { margin: 10px 0 0; color: #687269; font-size: var(--font-size-body); line-height: 1.6; overflow-wrap: anywhere; }
.book-content-info__author { margin: 16px 0 0; color: #36493b; font-size: var(--font-size-body); line-height: 1.6; }
.book-content-info__publication { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 12px 0 0; color: #7a8278; font-size: var(--font-size-caption); }
.book-content-info__overview { padding: 24px; border-radius: 8px; background: #edf1e8; }
.book-content-info h2 { margin: 0 0 18px; color: #2c3c2e; font-size: var(--font-size-section-title); font-weight: 800; line-height: 1.5; }
.book-content-info__overview h2 { margin-bottom: 12px; font-size: var(--font-size-body); }
.book-content-info__overview p { margin: 0; color: #48584a; font-size: var(--font-size-body); line-height: 1.85; overflow-wrap: anywhere; }
.book-content-info__sections { display: flex; gap: 24px; margin-top: 30px; padding-bottom: 16px; border-bottom: 1px solid #dfe5d9; overflow-x: auto; }
.book-content-info__sections a { display: inline-flex; align-items: center; min-height: 44px; color: #52715d; font-size: var(--font-size-body-sm); font-weight: 700; text-decoration: none; white-space: nowrap; }
.book-content-info__sections a:hover, .book-content-info__breadcrumb a:hover { color: #243126; text-decoration: underline; text-underline-offset: 5px; }
.book-content-info__section { margin-top: 34px; scroll-margin-top: 92px; }
.book-content-info__text { color: #485149; font-size: var(--font-size-body); line-height: 1.9; white-space: pre-line; overflow-wrap: anywhere; }
.book-content-info__contents summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; cursor: pointer; list-style: none; }
.book-content-info__contents summary::-webkit-details-marker { display: none; }
.book-content-info__contents summary h2 { margin-bottom: 0; }
.book-content-info__contents[open] .book-content-info__text { margin-top: 18px; }
.book-content-info__contents[open] summary i { transform: rotate(180deg); }
.book-content-info__facts { margin: 0; }
.book-content-info__facts > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 18px; padding: 14px 0; border-bottom: 1px solid #edf0e8; font-size: var(--font-size-body-sm); line-height: 1.7; }
.book-content-info__facts dt { color: #7a8278; font-weight: 500; }
.book-content-info__facts dd { margin: 0; color: #354638; overflow-wrap: anywhere; }
.book-content-info__error { color: #a13f32; line-height: 1.7; }
.book-content-info a:focus-visible, .book-content-info summary:focus-visible { outline: 2px solid #52715d; outline-offset: 4px; }
@media (max-width: 720px) {
    main.book-content-info { --book-info-gutter: 16px; width: calc(100% - 32px); }
}
@media (max-width: 480px) {
    .book-content-info__hero { grid-template-columns: 108px minmax(0, 1fr); column-gap: 14px; row-gap: 14px; padding-top: 10px; padding-bottom: 28px; }
    .book-content-info__hero::before { top: -118px; right: -112px; width: 270px; height: 270px; }
    .book-content-info__hero::after { bottom: -156px; left: -96px; width: 240px; height: 240px; }
    .book-content-info__cover { width: 108px; border-radius: 6px; }
    .book-content-info h1 { font-size: var(--font-size-title-lg); }
    .book-content-info__subtitle, .book-content-info__author { font-size: var(--font-size-body-sm); }
    .book-content-info__actions { gap: 7px; }
    .book-content-info__action { flex-basis: 92px; }
    .book-content-info__overview { padding: 20px; }
    .book-content-info__facts > div { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; }
}
@media (max-width: 360px) {
    .book-content-info__hero { grid-template-columns: 92px minmax(0, 1fr); column-gap: 12px; }
    .book-content-info__cover { width: 92px; }
    .book-content-info__action { flex-basis: 88px; }
}
@media (prefers-reduced-motion: reduce) {
    .book-content-info__action, .book-content-info__action-icon { transition: none; }
}
.book-content-info__read-dialog { width: min(420px, calc(100% - 40px)); max-height: calc(100dvh - 48px); margin: auto; padding: 24px; border: 0; border-radius: 16px; background: #fbfaf6; color: #243d32; overflow-y: auto; box-shadow: 0 16px 60px #24312626; }
.book-content-info__read-dialog::backdrop { background: #28302466; }
.book-content-info__dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.book-content-info__dialog-heading h2 { margin: 0; font-size: 18px; line-height: 1.5; }
.book-content-info__dialog-close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: #687560; font-size: 26px; cursor: pointer; }
.book-content-info__dialog-close:hover { background: #eef0e7; }
.book-content-info__read-dialog > p { margin: 16px 0 28px; color: #6f7868; font-size: 14px; line-height: 1.8; }
.book-content-info__dialog-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.book-content-info__dialog-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none; }
.book-content-info__dialog-continue { color: #53644a; background: #edf0e6; }
.book-content-info__dialog-login { color: #fff; background: #315139; }
.book-content-info__dialog-continue:hover { color: #315139; background: #e2e8d9; }
.book-content-info__dialog-login:hover { color: #fff; background: #25442d; }
.book-content-info__dialog-close:focus-visible { outline: 2px solid #527452; outline-offset: 3px; }
