/* Bücher slider – faithful Elementor port of the original buecher.html carousel */
.bookslider {
  margin-top: clamp(46px, 7vh, 72px);
  user-select: none;
  min-width: 0;
}

.bookslider-viewport {
  overflow: hidden !important;
  min-width: 0;
  padding: 6px 0 !important;
}

.bookslider-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
  min-width: 0;
  will-change: transform;
  transition: transform .42s cubic-bezier(.4,.02,.2,1);
}

.bookslider-track.no-anim {
  transition: none;
}

/* One Elementor Image widget = one book slide. */
.bookslider .bk {
  flex: 0 0 calc((100% - 4 * 20px) / 5) !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  cursor: pointer;
  transition: transform .3s cubic-bezier(.22,1,.36,1);
}

.bookslider .bk.elementor-widget-image > .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 2 / 3;
  height: auto;
}

.bookslider .bk.elementor-widget-image > .elementor-widget-container > a,
.bookslider .bk.elementor-widget-image > .elementor-widget-container > img {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.bookslider .bk.elementor-widget-image img {
  width: 100% !important;
  height: 371px !important;
  object-fit: cover !important;
  display: block;
  border-radius: 3px;
  box-shadow: 0 6px 22px rgba(28,31,25,.18);
  transition: box-shadow .3s cubic-bezier(.22,1,.36,1);
}

.bookslider .bk:hover {
  transform: translateY(-6px);
}

.bookslider .bk:hover img {
  box-shadow: 0 14px 34px rgba(28,31,25,.26);
}

/* Last, out-of-print book. */
.bookslider .bk-oop {
  cursor: default;
}

.bookslider .bk-oop:hover {
  transform: none;
}

.bookslider .bk-oop .oop-cover > .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 2 / 3;
}

.bookslider .bk-oop .oop-cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block;
  border-radius: 3px;
  box-shadow: 0 6px 22px rgba(28,31,25,.18);
}

.bookslider .bk-oop .oop-label {
  margin-top: 10px;
}

.bookslider .bk-oop .oop-label .elementor-heading-title {
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(39,44,34,.62);
  text-align: center;
}

.bookslider-nav {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 9px !important;
  padding-top: 26px !important;
}

.bookslider .arrow-btn {
  flex: 0 0 44px !important;
  width: 44px !important;
  max-width: 44px !important;
}

.bookslider .arrow-btn .elementor-button {
  position: relative;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(28,31,25,.14) !important;
  background: #fff !important;
  color: #272C22 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: border-color .25s, background .25s, color .25s;
}

.bookslider .arrow-btn .elementor-button-content-wrapper {
  display: none !important;
}

.bookslider .arrow-btn .elementor-button::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 1.6px solid currentColor;
  border-left: 1.6px solid currentColor;
}

.bookslider .arrow-prev .elementor-button::before {
  transform: translateX(2px) rotate(-45deg);
}

.bookslider .arrow-next .elementor-button::before {
  transform: translateX(-2px) rotate(135deg);
}

.bookslider .arrow-btn:not(.is-disabled) .elementor-button:hover {
  border-color: #272C22 !important;
  background: #272C22 !important;
  color: #fff !important;
}

.bookslider .arrow-btn.is-disabled {
  opacity: .3;
  pointer-events: none;
}

.bookslider .arrow-btn.is-disabled .elementor-button:hover {
  border-color: rgba(28,31,25,.14) !important;
  background: #fff !important;
  color: #272C22 !important;
}

.bookslider .arrow-btn .elementor-button:focus-visible {
  outline: 2px solid #E84922;
  outline-offset: 3px;
}

@media (max-width: 1040px) {
  .bookslider .bk {
    flex-basis: calc((100% - 3 * 20px) / 4) !important;
  }
}

@media (max-width: 820px) {
  .bookslider .bk {
    flex-basis: calc((100% - 2 * 20px) / 3) !important;
  }
}

@media (max-width: 560px) {
  .bookslider .bk {
    flex-basis: calc((100% - 20px) / 2) !important;
  }

  .bookslider .bk-oop .oop-label .elementor-heading-title {
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bookslider-track {
    transition: none;
  }

  .bookslider .bk {
    transition: none;
  }
}

