/**
 * Shared navigation controls for reviews, gallery and price sliders.
 */

.review_slider_button,
.scroll_gallery_section .scroll_gallery_controls .scroll_gallery_button,
.prices_button {
  --slider-control-transform: translateY(0);
  box-sizing: border-box;
  width: 52px;
  height: 52px;
  min-width: 52px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  box-shadow:
    0 7px 20px rgba(10, 9, 7, 0.12),
    0 2px 5px rgba(10, 9, 7, 0.08);
  cursor: pointer;
  transform: var(--slider-control-transform);
  transition:
    opacity 180ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
  appearance: none;
}

.review_slider_button {
  --slider-control-transform: translateY(-50%);
}

.scroll_gallery_section .scroll_gallery_controls .scroll_gallery_button {
  flex: 0 0 52px;
}

.review_slider_button::before,
.scroll_gallery_section .scroll_gallery_controls .scroll_gallery_button::before,
.prices_button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  width: 13px;
  height: 13px;
  border: 0;
  border-top: 2.5px solid #4a4a4a;
  border-right: 2.5px solid #4a4a4a;
}

.review_slider_button_prev::before,
.scroll_gallery_button_prev::before,
.prices_button_prev::before {
  transform: translate(-35%, -50%) rotate(-135deg);
}

.review_slider_button_next::before,
.scroll_gallery_button_next::before,
.prices_button_next::before {
  transform: translate(-65%, -50%) rotate(45deg);
}

.review_slider_button:not(:disabled):hover,
.scroll_gallery_section .scroll_gallery_controls .scroll_gallery_button:not(:disabled):hover,
.prices_button:not(:disabled):hover {
  background: #f5f5f5;
  box-shadow:
    0 10px 26px rgba(10, 9, 7, 0.16),
    0 3px 7px rgba(10, 9, 7, 0.1);
  transform: var(--slider-control-transform) scale(1.05);
}

.review_slider_button:not(:disabled):active,
.scroll_gallery_section .scroll_gallery_controls .scroll_gallery_button:not(:disabled):active,
.prices_button:not(:disabled):active {
  background: #eeeeee;
  box-shadow:
    0 4px 12px rgba(10, 9, 7, 0.12),
    0 1px 3px rgba(10, 9, 7, 0.08);
  transform: var(--slider-control-transform) scale(0.97);
}

.review_slider_button:focus-visible,
.scroll_gallery_section .scroll_gallery_controls .scroll_gallery_button:focus-visible,
.prices_button:focus-visible {
  outline: 2px solid rgba(10, 9, 7, 0.5);
  outline-offset: 3px;
}

.review_slider_button:disabled,
.scroll_gallery_section .scroll_gallery_controls .scroll_gallery_button:disabled,
.prices_button:disabled {
  opacity: 0.35;
  background: #ffffff;
  box-shadow: 0 3px 10px rgba(10, 9, 7, 0.08);
  cursor: default;
  pointer-events: none;
  transform: var(--slider-control-transform);
}

@media (max-width: 900px) {
  .review_slider_button,
  .scroll_gallery_section .scroll_gallery_controls .scroll_gallery_button,
  .prices_button {
    width: 46px;
    height: 46px;
    min-width: 46px;
  }

  .scroll_gallery_section .scroll_gallery_controls .scroll_gallery_button {
    flex-basis: 46px;
  }
}

.prices_slider .prices_viewport,
.scroll_gallery_slider .scroll_gallery {
  cursor: grab;
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
}

.prices_slider .prices_viewport img,
.scroll_gallery_slider .scroll_gallery img {
  -webkit-user-drag: none;
}

.prices_slider.is_dragging .prices_viewport,
.scroll_gallery_slider.is_dragging .scroll_gallery {
  cursor: grabbing;
}

.prices_slider.is_dragging .prices_content,
.scroll_gallery_slider.is_dragging .scroll_gallery_track {
  transition: none;
}
