.reviews-on-mane {
    --rom-bg: #f1f1f1;
    --rom-black: #1f1f1f;
    --rom-white: #ffffff;
    --rom-grey: #82898e;
    --rom-light-grey: #cfd0cf;
    --rom-card-light: #ffffff;
    --rom-card-dark: #1f1f1f;
    --rom-text-light: #cfd0cf;
    --rom-gap: 16px;
    --rom-container: 1280px;
    --rom-line-height: 24px;
    --rom-lines: 3;
    --rom-viewport-bleed: 0px;
    /* mobile: card 290px при контенте 327px */
    --rom-slide-width: calc((100% - var(--rom-viewport-bleed)) * 290 / 327);

    background: var(--rom-bg);
    padding: 48px 24px;
}

.reviews-on-mane__inner {
    width: 100%;
    max-width: var(--rom-container);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.reviews-on-mane__header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.reviews-on-mane__title {
    margin: 0;
    font-family: 'Unbounded', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--rom-black);
    word-break: break-word;
}

.reviews-on-mane__nav {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.reviews-on-mane__nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid var(--rom-light-grey);
    background: transparent;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.reviews-on-mane__nav-btn:hover {
    opacity: 0.7;
}

.reviews-on-mane__nav-btn:disabled {
    opacity: 0.35;
    cursor: default;
}

.reviews-on-mane__viewport {
    overflow: hidden;
    width: calc(100% + var(--rom-viewport-bleed));
    margin-right: calc(-1 * var(--rom-viewport-bleed));
}

.reviews-on-mane__track {
    display: flex;
    gap: var(--rom-gap);
    transition: transform 0.4s ease;
    will-change: transform;
}

.reviews-on-mane__card {
    --rom-card-bg: var(--rom-card-light);
    --rom-card-text: var(--rom-black);
    --rom-fade-color: var(--rom-card-light);

    flex: 0 0 var(--rom-slide-width);
    min-width: 0;
    background: var(--rom-card-bg);
    padding: 40px 24px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    box-sizing: border-box;
}

.reviews-on-mane__card--dark {
    --rom-card-bg: var(--rom-card-dark);
    --rom-card-text: var(--rom-text-light);
    --rom-fade-color: var(--rom-card-dark);
}

.reviews-on-mane__quote-icon {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
}

.reviews-on-mane__quote-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reviews-on-mane__content {
    display: flex;
    flex-direction: column;
    gap: 28px;
    width: 100%;
}

.reviews-on-mane__text-wrap {
    position: relative;
    max-height: calc(var(--rom-line-height) * var(--rom-lines));
    overflow: hidden;
}

.reviews-on-mane__text {
    margin: 0;
    font-family: 'Manrope', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: var(--rom-line-height);
    color: var(--rom-card-text);
    word-break: break-word;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.reviews-on-mane__text-wrap.is-truncated::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 35%;
    height: var(--rom-line-height);
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        var(--rom-fade-color) 75%
    );
}

.reviews-on-mane__author {
    display: flex;
    align-items: center;
    gap: 16px;
}

.reviews-on-mane__avatar {
    width: 48px;
    height: 48px;
    border-radius: 24px;
    overflow: hidden;
    flex-shrink: 0;
}

.reviews-on-mane__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reviews-on-mane__card--dark .reviews-on-mane__avatar {
    position: relative;
}

.reviews-on-mane__card--dark .reviews-on-mane__avatar::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 24px;
    background: var(--rom-white);
    mix-blend-mode: saturation;
    pointer-events: none;
}

.reviews-on-mane__author-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.reviews-on-mane__author-name {
    margin: 0;
    font-family: 'Manrope', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: var(--rom-card-text);
    word-break: break-word;
}

.reviews-on-mane__card--dark .reviews-on-mane__author-name {
    color: var(--rom-white);
}

.reviews-on-mane__author-course {
    margin: 0;
    font-family: 'Manrope', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: var(--rom-grey);
    word-break: break-word;
}

@media (max-width: 767px) {
    .reviews-on-mane {
        --rom-viewport-bleed: 24px;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .reviews-on-mane {
        --rom-viewport-bleed: 40px;
        --rom-slide-width: calc((100% - var(--rom-viewport-bleed)) * 632 / 688);
        padding: 48px 40px;
    }

    .reviews-on-mane__inner {
        gap: 24px;
    }

    .reviews-on-mane__header {
        gap: 16px;
    }

    .reviews-on-mane__title {
        font-size: 22px;
        line-height: 1.2;
        letter-spacing: -0.22px;
        max-width: 664px;
    }

    .reviews-on-mane__card {
        padding: 40px 48px;
        gap: 28px;
    }

    .reviews-on-mane__content {
        gap: 32px;
    }

    .reviews-on-mane__text {
        font-size: 18px;
    }
}

@media (min-width: 1024px) {
    .reviews-on-mane {
        --rom-slide-width: calc((100% - var(--rom-gap)) / 2);
        padding: 96px 80px;
    }

    .reviews-on-mane__inner {
        gap: 40px;
    }

    .reviews-on-mane__header {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
    }

    .reviews-on-mane__title {
        font-size: 34px;
        line-height: 38px;
        letter-spacing: -0.34px;
        max-width: 560px;
    }

    .reviews-on-mane__card {
        padding: 40px 48px;
        gap: 28px;
    }
}

@media (min-width: 1440px) {
    .reviews-on-mane__inner {
        max-width: var(--rom-container);
    }
}
