.rt-rating-table {
    --rt-star-color: #fbbc04;
    --rt-bar-fill-color: #fbbc04;
    --rt-average-size: 41px;
    --rt-stars-size: 24px;
    --rt-reviews-size: 20px;
    --rt-row-stars-size: 20px;
    --rt-bar-height: 15px;
    --rt-count-size: 19px;
    --rt-recommend-size: 20px;
    --rt-badge-size: 27px;
    max-width: 442px;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
    color: #1c1c1c;
}

.rt-rating-table__header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.rt-rating-table__average {
    font-size: var(--rt-average-size);
    font-weight: 700;
    line-height: 1;
    color: #000;
}

.rt-rating-table__stars {
    color: var(--rt-star-color);
    font-size: var(--rt-stars-size);
    letter-spacing: 1px;
}

.rt-rating-table__reviews {
    font-size: var(--rt-reviews-size);
    color: #383838;
}

.rt-rating-table__rows {
    display: grid;
    gap: 7px;
    margin-bottom: 15px;
}

.rt-rating-table__row {
    display: grid;
    grid-template-columns: 94px 1fr auto;
    gap: 8px;
    align-items: center;
}

.rt-rating-table__row-stars {
    color: var(--rt-star-color);
    font-size: var(--rt-row-stars-size);
    letter-spacing: 1px;
}

.rt-rating-table__bar {
    display: block;
    width: 100%;
    height: var(--rt-bar-height);
    background: #e7e7e7;
}

.rt-rating-table__bar-fill {
    display: block;
    height: 100%;
    background: var(--rt-bar-fill-color);
}

.rt-rating-table__count {
    min-width: 44px;
    color: #5e5e5e;
    font-size: var(--rt-count-size);
}

.rt-rating-table__recommendation {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: var(--rt-recommend-size);
    color: #000;
}

.rt-rating-table__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: auto;
    padding: 0;
    background: transparent;
    color: #000;
    font-size: var(--rt-badge-size);
    font-weight: 700;
    line-height: 1.1;
}

.rt-rating-table__recommend-text {
    line-height: 1.2;
}

.rt-rating-table__cta-wrap {
    margin-top: 14px;
}

.rt-rating-table__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #000;
    color: #fff !important;
    border: 2px solid #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    text-align: center;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, font-weight 0.2s ease;
}

.rt-rating-table__cta:visited {
    color: #fff !important;
}

.rt-rating-table__cta:hover,
.rt-rating-table__cta:focus,
.rt-rating-table__cta:visited:hover,
.rt-rating-table__cta:visited:focus {
    background: #fff;
    color: #000 !important;
    border: 2px solid #000;
    font-weight: 700;
    transform: scale(1.1);
}

@media (max-width: 767px) {
    .rt-rating-table {
        --rt-average-size: 29px;
        --rt-stars-size: 19px;
        --rt-reviews-size: 14px;
        --rt-row-stars-size: 15px;
        --rt-bar-height: 12px;
        --rt-count-size: 14px;
        --rt-recommend-size: 14px;
        --rt-badge-size: 19px;
    }

    .rt-rating-table__row {
        grid-template-columns: 73px 1fr auto;
    }

    .rt-rating-table__cta {
        width: 100%;
        font-size: 15px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .rt-rating-table {
        --rt-average-size: 34px;
        --rt-stars-size: 20px;
        --rt-reviews-size: 17px;
        --rt-row-stars-size: 18px;
        --rt-bar-height: 14px;
        --rt-count-size: 16px;
        --rt-recommend-size: 17px;
        --rt-badge-size: 22px;
    }
}
