.book-carousel-enhanced .book-carousel-viewport { position: relative; width: 100%; min-width: 0; }
.book-carousel-enhanced .integral-gallery { grid-auto-columns: 100%; column-gap: 8px; padding-right: 24px; align-content: start; scrollbar-width: none; }
.book-carousel-enhanced .integral-gallery::-webkit-scrollbar { display: none; }
.book-carousel-enhanced .integral-gallery:focus-visible { outline-offset: -3px; }
.book-carousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgb(0 0 0 / 25%); border-radius: 50%; background: rgb(255 255 255 / 92%); color: #111; box-shadow: 0 1px 5px rgb(0 0 0 / 25%); font: 36px/1 Arial, Helvetica, sans-serif; cursor: pointer; }
.book-carousel-arrow span { transform: translateY(-2px); }
.book-carousel-arrow--previous { left: 4px; }
.book-carousel-arrow--next { right: 4px; }
.book-carousel-arrow[hidden] { display: none; }
.book-carousel-arrow:hover { background: #fff; }
.book-carousel-arrow:focus-visible, .book-carousel-dot:focus-visible { outline: 3px solid #075dc1; outline-offset: -3px; }
.book-carousel-pagination { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin-top: 4px; }
.book-carousel-dots { display: flex; flex: 0 1 auto; max-width: 224px; min-width: 0; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.book-carousel-dots::-webkit-scrollbar { display: none; }
.book-carousel-dot { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 40px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #555; cursor: pointer; }
.book-carousel-dot::before { content: ""; width: 8px; height: 8px; border: 1px solid currentColor; border-radius: 50%; }
.book-carousel-dot[aria-current="true"] { color: #171717; }
.book-carousel-dot[aria-current="true"]::before { background: currentColor; }
.book-carousel-count { flex: 0 0 54px; margin: 0; font-size: 12px; line-height: 1.4; text-align: center; color: #555; font-variant-numeric: tabular-nums; }
