/* Parallax Drag Slider - Unique Classes with 'pdrag-' prefix */

/* Force full width on Elementor widget container */
.elementor-widget-parallax-drag-slider {
  width: 100% !important;
  max-width: 100% !important;
  --container-widget-width: 100% !important;
  --container-widget-flex-grow: 1 !important;
}

.pdrag-cont {
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  height: 100vh;
  overflow: hidden;
  cursor: all-scroll;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  display: block;
}

.pdrag-slider {
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  height: 100%;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  transition: none;
  cursor: all-scroll;
  display: block;
}

.pdrag-slider.animation {
  transition: transform 750ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
}

.pdrag-slider.animation .pdrag-slide__darkbg,
.pdrag-slider.animation .pdrag-slide__letter,
.pdrag-slider.animation .pdrag-slide__text {
  transition: transform 750ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
}

/* Slides */
.pdrag-slide {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  will-change: transform;
}

.pdrag-slide--1 {
  left: 0%;
}

.pdrag-slide--2 {
  left: 100%;
}

.pdrag-slide--3 {
  left: 200%;
}

.pdrag-slide--4 {
  left: 300%;
}

.pdrag-slide--5 {
  left: 400%;
}

.pdrag-slide--6 {
  left: 500%;
}

.pdrag-slide--7 {
  left: 600%;
}

.pdrag-slide--8 {
  left: 700%;
}

.pdrag-slide--9 {
  left: 800%;
}

.pdrag-slide--10 {
  left: 900%;
}

/* Dark Background with Image */
.pdrag-slide__darkbg {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  will-change: transform;
  z-index: 10;
}

/* Individual slide background positions for parallax effect */
.pdrag-slide--1__darkbg {
  left: 0%;
}

.pdrag-slide--2__darkbg {
  left: -50%;
}

.pdrag-slide--3__darkbg {
  left: -100%;
}

.pdrag-slide--4__darkbg {
  left: -150%;
}

.pdrag-slide--5__darkbg {
  left: -200%;
}

.pdrag-slide--6__darkbg {
  left: -250%;
}

.pdrag-slide--7__darkbg {
  left: -300%;
}

.pdrag-slide--8__darkbg {
  left: -350%;
}

.pdrag-slide--9__darkbg {
  left: -400%;
}

.pdrag-slide--10__darkbg {
  left: -450%;
}

.pdrag-slide__darkbg::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(11, 15, 39, 0.83);
  opacity: var(--overlay-opacity, 0.83);
}

/* Text Wrapper */
.pdrag-slide__text-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  pointer-events: none;
  z-index: 15;
}

/* Transparent Letter (Main Feature) */
.pdrag-slide__letter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 50vw;
  font-weight: 900;
  line-height: 1;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  text-transform: uppercase;
  font-family: Arial, Helvetica, sans-serif;
  will-change: transform;
  z-index: 2;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

/* City Text Parts */
.pdrag-slide__text {
  position: relative;
  display: inline-block;
  font-size: 8vw;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  line-height: 1.2;
  margin-left: 1vw;
  will-change: transform;
  z-index: 3;
  font-family: Arial, Helvetica, sans-serif;
  letter-spacing: 0.5vw;
}

.pdrag-slide__text:first-of-type {
  margin-left: 0;
}

/* Small city names adjustment */
.pdrag-slide__text.small-text {
  font-size: 12vw;
}

/* Navigation Dots */
.pdrag-nav {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 100;
}

.pdrag-nav__slide {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 4px solid #ffffff;
  background-color: transparent;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-right: 16px;
}

.pdrag-nav__slide:last-child {
  margin-right: 0;
}

.pdrag-nav__slide:hover {
  opacity: 0.7;
}

.pdrag-nav__slide.pdrag-nav-active {
  background-color: #ffffff;
}

/* Side Navigation Areas */
.pdrag-side-nav {
  position: absolute;
  top: 0;
  width: 10%;
  height: 100%;
  cursor: pointer;
  z-index: 50;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.pdrag-side-nav:hover {
  opacity: 1;
}

.pdrag-side-nav--left {
  left: 0;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.3), transparent);
}

.pdrag-side-nav--right {
  right: 0;
  background: linear-gradient(to left, rgba(0, 0, 0, 0.3), transparent);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .pdrag-slide__letter {
    font-size: 40vw;
  }
  
  .pdrag-slide__text {
    font-size: 10vw;
    letter-spacing: 0.3vw;
  }
  
  .pdrag-nav__slide {
    width: 20px;
    height: 20px;
    border-width: 3px;
    margin-right: 10px;
  }
  
  .pdrag-side-nav {
    width: 15%;
  }
}

@media (max-width: 480px) {
  .pdrag-slide__letter {
    font-size: 35vw;
  }
  
  .pdrag-slide__text {
    font-size: 12vw;
    margin-left: 0.5vw;
    letter-spacing: 0.2vw;
  }
  
  .pdrag-nav {
    bottom: 20px;
  }
  
  .pdrag-nav__slide {
    width: 16px;
    height: 16px;
    border-width: 2px;
    margin-right: 8px;
  }
}

/* Animation Performance */
.pdrag-slide,
.pdrag-slide__darkbg,
.pdrag-slide__letter,
.pdrag-slide__text {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-perspective: 1000;
  perspective: 1000;
}

/* Prevent text selection during drag */
.pdrag-cont * {
  -webkit-tap-highlight-color: transparent;
}
