.list-rate {
    padding: 0;
    margin: 0;
    list-style-type: none;
}
.list-rate_item {
    padding: 22px 25px;
    border-radius: var(--radius-xl);
    background-color: var(--color-bg-alt);
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid var(--color-border-secondary);
    margin-top: 20px;
    /* The whole card is clickable (see .link::after below). */
    position: relative;
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.list-rate_item:hover {
    box-shadow: var(--shadow-card);
}
.list-rate_item::before {
    content: attr(data-rank);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 800;
    line-height: 30px;
    color: var(--color-text-third);
    background-color: var(--color-bg-third);
    border: 1px solid var(--color-border-secondary);
    border-radius: 50%;
    flex-basis: 52px;
    height: 52px;
    flex-shrink: 0;
}
.list-rate_item:first-child {
    margin-top: 0;
}
/* The trophy marks the GLOBAL top-3 (set server-side via --top), not the first
   three DOM rows — otherwise every paginated page re-crowns its own top three. */
.list-rate_item--top::before {
    font-family: 'heroicons-solid' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\ea13";
    background-color: var(--color-bg-fourth);
    color: var(--color-text-secondary);
}
.list-rate_item .name {
    padding: 0 15px;
    margin-right: auto;
    color: var(--color-text);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
    flex-shrink: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.list-rate_item .progress {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: 230px;
    padding-right: 25px;
}
.list-rate_item .progress .progress-bar {
    width: 165px;
    flex-shrink: 0;
}
.list-rate_item .progress .value {
    font-size: 24px;
    font-weight: 600;
    margin-left: 10px;
    min-width: 40px;
    text-align: right;
}
.list-rate_item .rate {
    flex-shrink: 0;
    flex-basis: 170px;
    padding: 0 25px;
}
.list-rate_item .comment {
    padding: 0 25px;
}
.list-rate_item .comment {
    font-size: 24px;
    font-weight: 600;
    display: flex;
    align-items: center;
}
.list-rate_item .comment .icon {
    font-size: 24px;
    color: var(--color-text-third);
    margin-right: 10px;
}
.list-rate_item .link {
    color: var(--color-text-third);
    text-decoration: unset;
    margin-left: 25px;
}
/* Stretch the "go to company" link over the whole card so a click anywhere on
   the row opens the company — one real, keyboard-focusable anchor, no JS. The
   link text itself stays above the overlay so it keeps its own hover colour. */
.list-rate_item .link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}
.list-rate_item .link > span {
    position: relative;
    z-index: 2;
}

@media (max-width: calc(991px + 30px)) {

    .list-rate_item {
        padding: 15px 20px;
    }
    .list-rate_item::before {
        flex-basis: 48px;
        height: 48px;
    }
    .list-rate_item .comment,
    .list-rate_item .star-rating__value {
        font-size: 19px;
    }
    .list-rate_item .comment .icon {
        font-size: 20px;
    }
    .list-rate_item .progress {
        display: none;
    }
}

@media (max-width: 768px) {

    .list-rate_item .rate {
        flex-basis: auto;
        padding: 0 15px;
    }
    .list-rate_item .comment {
        padding: 0 15px;
    }
    .list-rate_item .link {
        font-size: 14px;
        margin-left: 15px;
    }
}

@media (max-width: 650px) {

    .list-rate_item {
        margin-top: 10px;
    }
    .list-rate_item .comment {
        display: none;
    }
}

@media (max-width: 576px) {

    .list-rate_item {
        padding: 10px;
    }
    .list-rate_item::before {
        font-size: 20px;
    }
    .list-rate_item .name {
        font-size: 14px;
        line-height: 1.2;
        padding: 0 10px;
    }
    .list-rate_item .rate {
        padding: 0 8px;
    }
    .list-rate_item  .rate .star-rating {
        flex-direction: row-reverse;
    }
    .list-rate_item .link {
        margin-left: 0;
        padding-left: 10px;
    }
    .list-rate_item .link > span {
        display: none;
    }
    .list-rate_item .link::before {
        display: block;
        font-family: 'heroicons-outline' !important;
        speak: never;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "\e9c4";
        font-size: 20px;
    }
    .list-rate_item .star-rating__star--half::after {
        top: 1px;
    }
}


@media (max-width: 390px) {

    .list-rate_item .star-rating__stars,
    .list-rate_item .star-rating__value,
    .list-rate_item .star-rating__star::before,
    .list-rate_item .star-rating__star--half::after {
        font-size: 18px;
    }
    .list-rate_item .star-rating__star--half::after {
        top: 0;
    }
}

@media (max-width: 365px) {

    .list-rate_item::before {
        flex-basis: 32px;
        height: 32px;
        font-size: 16px;
    }
    .list-rate_item .rate {
        padding: 0;
    }
    .list-rate_item .star-rating {
        gap: 4px;
    }
}
