/* -----------------------------------------------------
   CORE SLIDE APPEARANCE
----------------------------------------------------- */
.testimonial-slide {
    padding: 4rem 2rem;
    color: white;
    opacity: 0.4;
    transition: opacity .5s ease, transform .5s ease;
    width: 100%;
}

/* Active slide */
.testimonial-slider-wrapper .splide__slide.is-active {
    opacity: 1;
    transform: scale(1.05);
}

/* -----------------------------------------------------
   VERTICAL CENTERING (THE FIX)
----------------------------------------------------- */

/* Make Splide inherit wrapper height */
.testimonial-slider-wrapper .splide,
.testimonial-slider-wrapper .splide__track,
.testimonial-slider-wrapper .splide__list {
    height: 100%;   /* not 600px — clean inheritance */
}

/* Center slide content vertically & horizontally */
.testimonial-slider-wrapper .splide__slide.testimonial-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

/* Slide content wrapper */
.testimonial-content {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

/* -----------------------------------------------------
   WRAPPER SETUP (single source of height)
----------------------------------------------------- */
.testimonial-slider-wrapper {
    position: relative;
    overflow: hidden;
    height: 600px;   /* only define height here */
}

/* -----------------------------------------------------
   TYPOGRAPHY
----------------------------------------------------- */
.testimonial-slider-wrapper h1 {
    font-size: 7rem;
    font-weight: 300;
    margin-bottom: 0;
    line-height: 1em;
}

.testimonial-slider-wrapper p {
    font-size: 1.5rem;
    font-style: italic;
    white-space: pre-line;
}

/* -----------------------------------------------------
   BACKGROUND GRADIENT OVERLAYS
----------------------------------------------------- */
.background-overlay.bg1,
.background-overlay.bg2 {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1s ease;
    z-index: 0;
    pointer-events: none;
}

.bg1.visible,
.bg2.visible {
    opacity: 1;
}

/* Slider content above backgrounds */
.testimonial-slider {
    position: relative;
    z-index: 2;
    height: 100%;
}

/* -----------------------------------------------------
   SVG ANIMATION ELEMENTS
----------------------------------------------------- */
.animated-lines {
    position: absolute;
    bottom: 0;
    right: 0;
    max-width: 500px;
    height: auto;
    z-index: 0;
    opacity: 0.8;
    pointer-events: none;
}

.animated-lines svg {
    width: 100%;
    height: auto;
    display: block;
}

/* SVG lines */
.animated-lines line,
.animated-lines polyline,
.animated-lines polygon {
    fill: none;
    stroke: white;
    stroke-width: 2;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    visibility: visible;
}

/* -----------------------------------------------------
   RESPONSIVE
----------------------------------------------------- */
@media (max-width: 768px) {
    .testimonial-slider-wrapper h1 {
        font-size: 4rem;
    }

    .testimonial-slider-wrapper p {
        font-size: 1.4rem;
    }

    .animated-lines {
        max-width: 300px;
    }
}

@media (max-width: 480px) {
    .testimonial-slider-wrapper {
        height: 400px;
    }
    
    .testimonial-slider-wrapper h1 {
        font-size: 4rem;
    }

    .testimonial-slider-wrapper p {
        font-size: 1.2rem;
    }

    .animated-lines {
        max-width: 300px;
    }
}