.citydent-service-cases {
  --swiper-navigation-size: 48px;
}

.citydent-service-cases__slider {
  position: relative;
}

.citydent-service-cases__slider.swiper:has(.slider-controls) {
  padding-bottom: 0;
  margin-bottom: 0;
}


.citydent-service-cases__media,
.citydent-service-cases__copy {
  max-width: none;
}

.citydent-service-cases__media>.citydent-before-after {
  width: 100%;
}

.citydent-service-cases__copy {
  justify-content: center;
  padding: 0 60px 0 40px;
}

.citydent-service-case__tags>a.tag-item {
  color: inherit;
  transition: background-color 0.2s ease;
}

.citydent-service-case__tags>a.tag-item:is(:hover, :focus-visible) {
  background-color: var(--gray300);
}

.citydent-before-after__stage {
  position: relative;
  height: auto;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #eeeff3;
  touch-action: pan-y;
  user-select: none;
}

.citydent-before-after__image {
  position: absolute;
  display: block;
  max-width: none;
  object-fit: cover;
  pointer-events: none;
}

.citydent-before-after__image--before {
  inset: 0;
  width: 100%;
  height: 100%;
  object-position: center;
}

.citydent-before-after__after {
  position: absolute;
  inset: 0;
  overflow: hidden;
  clip-path: inset(0 0 0 var(--compare-position));
}

.citydent-before-after__image--after {
  inset: 0;
  width: 100%;
  height: 100%;
  object-position: center;
}

.citydent-before-after__handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--compare-position);
  display: flex;
  gap: 11px;
  align-items: center;
  width: 88px;
  transform: translateX(-50%);
  pointer-events: none;
}

.citydent-before-after__handle-icon {
  display: flex;
  flex: 0 0 32px;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
}

.citydent-before-after__handle-icon .xleb-icons {
  display: block;
}

.citydent-before-after__handle-line {
  flex: 0 0 2px;
  align-self: stretch;
  width: 2px;
  background: #fff;
}

.citydent-before-after__range {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  cursor: ew-resize;
}

.citydent-before-after__range:focus-visible+* {
  outline: none;
}

.citydent-before-after:focus-within .citydent-before-after__handle {
  filter: drop-shadow(0 0 2px rgba(0, 89, 183, 0.8));
}

.citydent-service-cases .slider-controls {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: flex-end;
  width: auto;
  height: 48px;
  min-height: 48px;
  margin-top: 0;
  z-index: 3;
}

.citydent-service-cases .navigation-slider.pos-together {
  gap: 12px;
}

.citydent-service-cases .navigation-slider .swiper-button-prev,
.citydent-service-cases .navigation-slider .swiper-button-next {
  background: var(--primaryOpacity100);
  margin-top: 0;
}

.citydent-service-cases .navigation-slider .swiper-button-prev::before,
.citydent-service-cases .navigation-slider .swiper-button-next::before {
  font-size: 25.6px;
}

.citydent-service-cases .slider-controls:has(.swiper-button-lock) {
  display: none;
}

@media only screen and (max-width: 991px) {
  .citydent-service-cases {
    --swiper-navigation-size: 40px;
  }

  .citydent-service-cases__body {
    row-gap: var(--gapX8);
  }

  .citydent-service-cases__media,
  .citydent-service-cases__copy {
    grid-column: span 12 !important;
  }

  .citydent-service-cases__copy {
    padding: 0;
  }

  .citydent-service-cases .slider-controls {
    position: static;
    justify-content: flex-end;
    width: 100%;
    height: 40px;
    min-height: 40px;
    margin-top: var(--gapX8);
  }

  .citydent-service-cases .navigation-slider .swiper-button-prev::before,
  .citydent-service-cases .navigation-slider .swiper-button-next::before {
    font-size: 24px;
  }
}
