.ba-books-widget { --ba-books-cover-height: 260px; position: relative; width: 100%; min-width: 0; }
.ba-books-track { display: flex; width: 100%; overflow-x: auto; scroll-snap-type: x mandatory; direction: ltr; }
.ba-books-slide { flex: 0 0 100%; min-width: 0; box-sizing: border-box; padding: 8px; scroll-snap-align: start; overflow-wrap: anywhere; }
.ba-books-carousel .ba-books-slide { padding-left: 48px; padding-right: 48px; }
.ba-books-cover-link { display: block; text-align: center; }
.ba-books-widget .ba-books-cover { display: block; width: 200px; max-width: 100%; height: var(--ba-books-cover-height); object-fit: contain; margin: 0 auto; }
.ba-books-no-cover { display: flex; align-items: center; justify-content: center; height: var(--ba-books-cover-height); box-sizing: border-box; padding: 12px; background: #f3f3f3; }
.ba-books-widget .ba-books-title { margin: 16px 0 10px; font-size: 1.1em; }
.ba-books-controls { display: flex; justify-content: center; margin-top: 12px; }
.ba-books-controls[hidden] { display: none; }
.ba-books-controls button { position: absolute; top: calc(8px + var(--ba-books-cover-height) / 2); transform: translateY(-50%); cursor: pointer; width: 44px; min-height: 44px; padding: 0; }
.ba-books-controls .ba-books-prev { left: 0; }
.ba-books-controls .ba-books-next { right: 0; }
.ba-books-controls button:disabled { opacity: .45; cursor: default; }
.ba-books-track:focus-visible, .ba-books-controls button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
