.rmp-text-reviews-slider {
    width: var(--rmp-trs-width, 100%);
    max-width: var(--rmp-trs-max-width, 1100px);
    min-height: var(--rmp-trs-min-height, 380px);
    height: 400px;
    margin: 0 auto;
    padding: var(--rmp-trs-pad-top, 28px) var(--rmp-trs-pad-right, 40px) var(--rmp-trs-pad-bottom, 24px) var(--rmp-trs-pad-left, 40px);
    background: var(--rmp-trs-bg, #f2f2f2);
    border-radius: var(--rmp-trs-radius, 0);
    box-sizing: border-box;
}

.rmp-trs-title {
    margin: 0 0 18px;
    text-align: center;
    color: var(--rmp-trs-text, #171717);
}

.rmp-trs-stage {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 18px;
}

.rmp-trs-viewport {
    max-width: var(--rmp-trs-content-max-width, 930px);
    margin: 0 auto;
    width: 100%;
    text-align: center;
}

.rmp-trs-quote {
    color: var(--rmp-trs-quote, #d8d8d8);
    font-size: var(--rmp-trs-quote-size, 92px);
    line-height: 1;
    margin-bottom: 8px;
    letter-spacing: 6px;
    font-weight: 600;
}

.rmp-text-reviews-slider[data-quote-float="1"] .rmp-trs-quote {
    animation: rmpTrsQuoteFloat 4.2s ease-in-out infinite;
}

.rmp-trs-slide {
    display: none;
    cursor: pointer;
    transition: transform 160ms ease;
    animation: none !important;
    box-shadow: none !important;
}

.rmp-trs-slide.is-active {
    display: block;
}

.rmp-trs-slide.is-active.is-entering {
    animation-duration: var(--rmp-trs-transition-ms, 520ms);
    animation-timing-function: var(--rmp-trs-transition-ease, cubic-bezier(0.22, 1, 0.36, 1));
    animation-fill-mode: both;
}

.rmp-text-reviews-slider[data-transition-effect="fade"] .rmp-trs-slide.is-active.is-entering {
    animation-name: rmpTrsEnterFade;
}

.rmp-text-reviews-slider[data-transition-effect="slide"] .rmp-trs-slide.is-active.is-entering {
    animation-name: rmpTrsEnterSlide;
}

.rmp-text-reviews-slider[data-transition-effect="zoom"] .rmp-trs-slide.is-active.is-entering {
    animation-name: rmpTrsEnterZoom;
}

.rmp-text-reviews-slider[data-transition-effect="flip"] .rmp-trs-slide.is-active.is-entering {
    animation-name: rmpTrsEnterFlip;
    transform-origin: center top;
}

.rmp-trs-text {
    margin: 0 auto 14px;
    color: var(--rmp-trs-text, #171717);
    font-size: var(--rmp-trs-text-size, 44px);
    line-height: var(--rmp-trs-line-height, 1.35);
    font-weight: 500;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity 170ms ease, letter-spacing 170ms ease;
}

.rmp-trs-slide.is-active.is-entering .rmp-trs-text,
.rmp-trs-slide.is-active.is-entering .rmp-trs-stars,
.rmp-trs-slide.is-active.is-entering .rmp-trs-author-line {
    animation: rmpTrsContentUp var(--rmp-trs-transition-ms, 520ms) var(--rmp-trs-transition-ease, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

.rmp-trs-slide.is-active.is-entering .rmp-trs-text {
    animation-delay: calc(var(--rmp-trs-stagger-ms, 90ms) * 1);
}

.rmp-trs-slide.is-active.is-entering .rmp-trs-stars {
    animation-delay: calc(var(--rmp-trs-stagger-ms, 90ms) * 2);
}

.rmp-trs-slide.is-active.is-entering .rmp-trs-author-line {
    animation-delay: calc(var(--rmp-trs-stagger-ms, 90ms) * 3);
}

.rmp-trs-stars {
    margin: 8px 0 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.rmp-trs-star-icon {
    width: var(--rmp-trs-stars-size, 35px);
    height: var(--rmp-trs-stars-size, 35px);
    object-fit: contain;
    display: block;
    transition: transform 170ms ease;
}

.rmp-trs-author {
    color: var(--rmp-trs-author, #171717);
    font-size: var(--rmp-trs-author-size, 28px);
    margin-top: 4px;
    font-weight: 500;
    transition: opacity 170ms ease;
}

.rmp-trs-author-line {
    margin-top: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
}

.rmp-trs-author-line .rmp-trs-author {
    margin-top: 0;
}

.rmp-trs-verified {
    width: 15px;
    height: 15px;
    display: inline-block;
    object-fit: contain;
    transition: opacity 170ms ease, transform 170ms ease;
}

.rmp-trs-verified-fallback {
    width: 15px;
    height: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #1d86d8;
    color: #fff;
    font-size: 11px;
    line-height: 1;
    transition: opacity 170ms ease, transform 170ms ease;
}

.rmp-trs-slide.is-active:hover .rmp-trs-text {
    opacity: var(--rmp-trs-hover-text-opacity, 0.85);
    letter-spacing: var(--rmp-trs-hover-letter-spacing, 0.2px);
}

.rmp-trs-slide.is-active:hover .rmp-trs-star-icon {
    transform: scale(var(--rmp-trs-hover-star-scale, 1.04));
}

.rmp-trs-slide.is-active:hover .rmp-trs-author,
.rmp-trs-slide.is-active:hover .rmp-trs-verified,
.rmp-trs-slide.is-active:hover .rmp-trs-verified-fallback {
    opacity: var(--rmp-trs-hover-author-opacity, 0.86);
}

@media (hover: none) and (pointer: coarse) {
    .rmp-trs-slide.is-active:active .rmp-trs-text {
        opacity: 0.9;
        letter-spacing: 0.15px;
    }

    .rmp-trs-slide.is-active:active .rmp-trs-star-icon {
        transform: scale(1.04);
    }

    .rmp-trs-slide.is-active:active .rmp-trs-author,
    .rmp-trs-slide.is-active:active .rmp-trs-verified,
    .rmp-trs-slide.is-active:active .rmp-trs-verified-fallback {
        opacity: 0.88;
    }

    .rmp-trs-slide.is-active:active {
        transform: translateX(2px);
    }
}

.rmp-trs-dots {
    margin-top: 14px;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.rmp-trs-dot {
    width: var(--rmp-trs-dot-size, 8px);
    height: var(--rmp-trs-dot-size, 8px);
    border-radius: 50%;
    border: 0;
    background: var(--rmp-trs-dot, #1a1a1a);
    opacity: 0.42;
    padding: 0;
    cursor: pointer;
    transition: width 220ms ease, height 220ms ease, opacity 220ms ease, transform 220ms ease, background-color 220ms ease;
}

.rmp-trs-dot.is-hidden {
    display: none;
}

.rmp-trs-dot.is-near {
    width: var(--rmp-trs-dot-near-size, 8px);
    height: var(--rmp-trs-dot-near-size, 8px);
    opacity: 0.65;
}

.rmp-trs-dot.is-far {
    width: var(--rmp-trs-dot-far-size, 6px);
    height: var(--rmp-trs-dot-far-size, 6px);
    opacity: 0.45;
}

.rmp-trs-dot.is-active {
    background: var(--rmp-trs-dot-active, #1d86d8);
    opacity: 1;
    width: var(--rmp-trs-dot-active-size, 12px);
    height: var(--rmp-trs-dot-active-size, 12px);
    transform: scale(1.02);
}

.rmp-trs-arrow {
    border: 0;
    background: transparent;
    color: var(--rmp-trs-arrow, #1a1a1a);
    font-size: var(--rmp-trs-arrow-size, 48px);
    line-height: 1;
    cursor: pointer;
    padding: 0;
    width: 1em;
    height: 1em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rmp-text-reviews-slider[data-arrow-hover="1"] .rmp-trs-arrow {
    transition: transform 180ms ease, opacity 180ms ease;
}

.rmp-text-reviews-slider[data-arrow-hover="1"] .rmp-trs-prev:hover {
    transform: translateX(-3px) scale(1.06);
}

.rmp-text-reviews-slider[data-arrow-hover="1"] .rmp-trs-next:hover {
    transform: translateX(3px) scale(1.06);
}

.rmp-text-reviews-empty {
    padding: 20px;
    text-align: center;
}

@keyframes rmpTrsEnterFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes rmpTrsEnterSlide {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes rmpTrsEnterZoom {
    from {
        opacity: 0;
        transform: scale(0.96);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes rmpTrsEnterFlip {
    from {
        opacity: 0;
        transform: perspective(900px) rotateX(12deg) translateY(8px);
    }
    to {
        opacity: 1;
        transform: perspective(900px) rotateX(0deg) translateY(0);
    }
}

@keyframes rmpTrsContentUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes rmpTrsQuoteFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@media (prefers-reduced-motion: reduce) {
    .rmp-text-reviews-slider .rmp-trs-quote,
    .rmp-text-reviews-slider .rmp-trs-slide,
    .rmp-text-reviews-slider .rmp-trs-text,
    .rmp-text-reviews-slider .rmp-trs-stars,
    .rmp-text-reviews-slider .rmp-trs-author-line,
    .rmp-text-reviews-slider .rmp-trs-star-icon,
    .rmp-text-reviews-slider .rmp-trs-arrow {
        animation: none !important;
        transition: none !important;
    }
}

@media (max-width: 768px) {
    .rmp-text-reviews-slider {
        padding: 20px 16px;
    }

    .rmp-trs-stage {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .rmp-trs-arrow {
        display: none;
    }

    .rmp-trs-text {
        font-size: var(--rmp-trs-text-mobile, 29px);
    }

    .rmp-trs-author {
        font-size: var(--rmp-trs-author-mobile-size, var(--rmp-trs-author-size, 28px));
    }

    .rmp-trs-dot {
        width: var(--rmp-trs-dot-size-mobile, var(--rmp-trs-dot-size, 8px));
        height: var(--rmp-trs-dot-size-mobile, var(--rmp-trs-dot-size, 8px));
    }

    .rmp-trs-dot.is-near {
        width: var(--rmp-trs-dot-near-size-mobile, var(--rmp-trs-dot-near-size, 8px));
        height: var(--rmp-trs-dot-near-size-mobile, var(--rmp-trs-dot-near-size, 8px));
    }

    .rmp-trs-dot.is-far {
        width: var(--rmp-trs-dot-far-size-mobile, var(--rmp-trs-dot-far-size, 6px));
        height: var(--rmp-trs-dot-far-size-mobile, var(--rmp-trs-dot-far-size, 6px));
    }

    .rmp-trs-dot.is-active {
        width: var(--rmp-trs-dot-active-size-mobile, var(--rmp-trs-dot-active-size, 12px));
        height: var(--rmp-trs-dot-active-size-mobile, var(--rmp-trs-dot-active-size, 12px));
    }
}
