/* ==========================================================================
   Testimonials Section
   ========================================================================== */

.rw-testimonials-section {
    padding-top: var( --pad-top, 30px );
    padding-bottom: var( --pad-bottom, 30px );
    padding-left: 20px;
    padding-right: 20px;
}

/* Optional section heading above slider */
.rw-testimonials-slide__title {
    margin: 0 0 15px;
}

/* Quote image */
.rw-testimonials-slide__quote-img {
    width: 55px;
    height: auto;
    margin-bottom: 20px;
}

.rw-testimonials-slide {
    display: flex !important;
    gap: 20px;
    align-items: stretch;
    outline: none;
}

/* LEFT — Photo */
.rw-testimonials-slide__media {
    flex: 0 0 calc(50% - 10px);
    position: relative;
    overflow: hidden;
    border-radius: var( --rw-corners );
    aspect-ratio: 5 / 4;
}

.rw-testimonials-slide__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

/* RIGHT — Content */
.rw-testimonials-slide__content {
    flex: 0 0 calc(50% - 10px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 50px;
    background: var( --rw-accent );
    border-radius: var( --rw-corners );
}


/* Heading handled by section — no extra styles needed */

/* Quote body */
.rw-testimonials-slide__quote {
    margin: 0 0 20px;
    padding: 0;
    border: none;
    font-size: 24px;
}

/* Member name */
.rw-testimonials-slide__name {
    margin: 0;
    font-weight: 500;
    font-size: 20px;
}

/* Real dots — hidden but functional inside slide 1 */
.rw-testimonials-slide__dots {
    visibility: hidden;
    height: 0;
    overflow: hidden;
}

/* Fake dots — inside first slide content, sits below member name */
.rw-testimonials-fake-dots {
    margin-top: 40px;
}

.rw-fake-dot-list {
    display: flex;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.rw-fake-dot button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ccc;
    padding: 0;
    border: none;
    cursor: pointer;
    display: block;
    transition: background 0.2s ease;
    text-indent: -9999px;
    overflow: hidden;
}

.rw-fake-dot.is-active button {
    background: var( --rw-primary );
}

.rw-fake-dot button:hover {
    background: var( --rw-secondary );
}

/* ==========================================================================
   Custom Drag Cursor
   ========================================================================== */

.rw-testimonials-slider {
    cursor: none;
}

.rw-testimonials-cursor {
    position: fixed;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var( --rw-primary );
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    opacity: 0;
    transform: translate( -50%, -50% );
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 9999;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rw-testimonials-cursor.is-visible {
    opacity: 1;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media ( max-width: 992px ) {
    .rw-testimonials-section {
        padding-top: calc( var( --pad-top, 20px ) / 2 );
        padding-bottom: calc( var( --pad-bottom, 20px ) / 2 );
    }

    .rw-testimonials-slider {
        cursor: auto;
    }

    .rw-testimonials-cursor {
        display: none;
    }

    .rw-testimonials-slide {
        flex-direction: column;
        gap: 20px;
    }

    .rw-testimonials-slide__media,
    .rw-testimonials-slide__content {
        flex: 0 0 100%;
    }

    .rw-testimonials-slide__media {
        aspect-ratio: 3 / 2;
    }

    .rw-testimonials-slide__content {
        padding: 50px 20px;
    }

    .rw-testimonials-slide__quote {
        font-size: 20px;
    }

    .rw-testimonials-slide__name {
        font-size: 16px;
    }
}

@media ( max-width: 640px ) {
    .rw-testimonials-section {
        padding-left: 20px;
        padding-right: 20px;
    }
}