.recommended-books { min-width: 0; padding: 12px 0 44px; }
.recommended-books--member { padding: 36px 0 44px; border-top: 1px solid rgba(49, 70, 54, .1); }
.recommended-books__header { margin-bottom: 24px; }
.recommended-books__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.recommended-books__heading h2 { min-width: 0; }
.recommended-books__eyebrow { margin: 0 0 8px; color: #52715d; font-size: var(--font-size-meta); font-weight: 800; }
.recommended-books__header h2 { margin: 0; color: #243126; font-size: var(--font-size-title-lg); font-weight: 900; line-height: 1.4; }
.recommended-books__description { margin: 10px 0 0; color: #687269; font-size: var(--font-size-body-sm); line-height: 1.7; }
.recommended-books__list { display: flex; margin: 0; padding: 8px 0 14px; list-style: none; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; user-select: none; }
.recommended-books__list::-webkit-scrollbar { display: none; }
.recommended-books__list.is-dragging { scroll-snap-type: none; cursor: grabbing; }
.recommended-books__page { flex: 0 0 100%; min-width: 0; padding: 0 3px; box-sizing: border-box; scroll-snap-align: start; scroll-snap-stop: always; }
.recommended-books__page-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.recommended-books__item { min-width: 0; }
.recommended-books__controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 14px; }
.recommended-books__controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #d6ddd2; border-radius: 50%; background: #fbfaf6; color: #3e5d47; font-size: 27px; cursor: pointer; transition: background 180ms ease; }
.recommended-books__controls button:hover:not(:disabled) { background: #e9eee5; }
.recommended-books__controls button:disabled { opacity: .35; cursor: default; }
.recommended-books__controls button:focus-visible, .recommended-books__list:focus-visible { outline: 2px solid #52715d; outline-offset: 3px; }
.recommended-books__position { min-width: 44px; color: #687269; font-size: var(--font-size-caption); text-align: center; font-variant-numeric: tabular-nums; }
.recommended-books__book { display: flex; flex-direction: column; align-items: stretch; width: 100%; min-width: 0; padding: 0; border: 0; background: none; color: #243126; font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.recommended-books__cover { position: relative; display: block; aspect-ratio: 5 / 7; margin-bottom: 15px; overflow: hidden; border-radius: 2px 5px 5px 2px; background: #e5e9df; box-shadow: 2px 5px 9px rgba(39, 53, 40, .1); transition: transform 200ms ease, box-shadow 200ms ease; }
.recommended-books__cover-placeholder { display: flex; align-items: center; justify-content: center; height: 100%; padding: 16px; color: #526b51; font-size: var(--font-size-body-sm); line-height: 1.6; overflow-wrap: anywhere; }
.recommended-books__cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.recommended-books__title { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: #243126; font-size: var(--font-size-body); font-weight: 800; line-height: 1.5; overflow-wrap: anywhere; }
.recommended-books__author { margin-top: 5px; overflow: hidden; color: #777d72; font-size: var(--font-size-caption); text-overflow: ellipsis; white-space: nowrap; }
.recommended-books__badge { position: absolute; top: 8px; left: 6px; z-index: 1; padding: 5px 8px; border: 1px solid #ffffff38; border-radius: 5px; background: #254e39; color: #fffdf4; box-shadow: 0 2px 7px #173b302b; font-size: 10px; font-weight: 800; line-height: 1.4; white-space: nowrap; }
.recommended-books__book:hover .recommended-books__cover, .recommended-books__book:focus-visible .recommended-books__cover { transform: translateY(-4px); box-shadow: 3px 9px 14px rgba(39, 53, 40, .16); }
.recommended-books__book:hover, .recommended-books__book:focus-visible { color: #243126; }
.recommended-books__book:focus-visible { outline: 2px solid #52715d; outline-offset: 3px; border-radius: 3px; }
@media (max-width: 540px) {
    .recommended-books__header h2 { font-size: var(--font-size-page-title); }
}
@media (prefers-reduced-motion: reduce) {
    .recommended-books__cover { transition: none; }
}
