.toplist-ct__wrapper {
    margin: 40px 0;
}

.toplist-ct__offers {
    display: flex;
    flex-direction: column;
    counter-reset: bm-toplist-ct-counter;
    gap: 12px;
}

.toplist-ct__offer {
    position: relative;
    display: grid;
    align-items: flex-start;
    padding: 20px 24px 20px 40px;
    border: 1px solid #E8E8E8;
    border-radius: 8px;
    background: #FFFFFF;
    grid-template-columns: 125px auto 54px 176px;
    grid-template-rows: 1fr;
    grid-auto-flow: row;
    grid-template-areas:
    "logo main rating cta-btn";
    gap: 16px 24px;
}

.toplist-ct__offer:first-of-type {
    border-width: 1px 4px 4px 1px;
    border-color: #FABC2C;
    background: #FFFBF0;
}

.toplist-ct__offer:before {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 25px;
    position: absolute;
    top: 23px;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 26px;
    padding: 3px 8px;
    content: counter(bm-toplist-ct-counter);
    counter-increment: bm-toplist-ct-counter;
    color: #000000;
    border-radius: 0 8px 8px 0;
    background: #EEEEEE;
    gap: 10px;
}

.toplist-ct__offer.hidden {
    display: none;
}

.toplist-ct__offer-logo-wrapper {
    display: flex;
    overflow: hidden;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    border-radius: 8px;
    grid-area: logo;
}

.toplist-ct__offer .campaign__partner-label-wrapper {
    justify-content: center;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 5px 0;
    border-top: 1px solid #4F4F4F;
    background: unset;
    gap: 8px;
}

.toplist-ct__offer .campaign__partner-label-inner {
    width: fit-content;
    padding: 0;
}

.toplist-ct__offer .campaign__partner-label-logo {
    padding: 0;
    border: 0;
}

.toplist-ct__offer .campaign__partner-label-desc {
    color: #FFFFFF;
}

.toplist-ct__offer .campaign__partner-label-brand span {
    font-weight: 800;
    color: #FF0434;
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    -webkit-text-fill-color: unset;
    text-fill-color: unset;
}

.toplist-ct__offer-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.toplist-ct__offer-main {
    display: flex;
    flex-direction: column;
    gap: 6px;
    grid-area: main;
}

.toplist-ct__offer-brand-name {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 19px;
    color: #718096;
}

.toplist-ct__offer-title,
.toplist-ct__offer-title p {
    font-family: 'Open Sans', sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    display: block;
    margin: 0;
    color: #000000;
}

.toplist-ct__offer-title p {
    display: inline;
}

.toplist-ct__offer-title span {
    color: #D80027;
}

.toplist-ct__offer-payments-wrapper {
    display: flex;
    align-items: center;
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px dashed #E5E7EB;
    gap: 8px;
}

.toplist-ct__offer-payments-label {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 19px;
    color: #718096;
}

.toplist-ct__offer-payments {
    display: flex;
    align-items: center;
    justify-content: center;
}

.toplist-ct__offer-payment {
    position: relative;
    border-radius: 100%;
    outline: 4px solid #fff;
    background: #fff;
}

.toplist-ct__offer-payments-hidden-counter {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    font-style: normal;
    line-height: 25px;
    position: relative;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    padding: 0 6px;
    cursor: pointer;
    color: #000000;
    border-radius: 8px;
    outline: 4px solid #fff;
    background: #EEEEEE;
}

.toplist-ct__offer-payments-hidden-counter span {
    color: #718096;
}

.toplist-ct__offer-payment:not(:first-child) {
    margin-left: -4px;
}

.toplist-ct__offer-payment:hover {
    z-index: 7 !important;
}

.toplist-ct__offer-payment-image {
    width: 24px;
    height: 24px;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    transform: perspective(1px) translateZ(0);
    object-fit: contain;
}

.toplist-ct__offer-payment-image:hover {
    transform: scale(1.1);
}

.toplist-ct__offer-payment-tooltip {
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 150%;
    position: absolute;
    z-index: 10;
    top: 26px;
    left: 50%;
    flex-direction: column;
    width: max-content;
    padding: 12px 16px;
    transform: translateX(-50%);
    color: #060606;
    border-radius: 4px;
    background: #FFFFFF;
    gap: 14px;
    filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.14)) drop-shadow(0px 8px 32px rgba(0, 0, 0, 0.1));
}

.toplist-ct__offer-payment-tooltip:before {
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -8px;
    content: '';
    border-width: 8px;
    border-style: solid;
    border-color: transparent transparent #FFFFFF transparent;
    border-top-width: 0;
}

.toplist-ct__offer-payment:hover .toplist-ct__offer-payment-tooltip {
    display: flex !important;
}

.toplist-ct__offer-payments-hidden-counter:hover .toplist-ct__offer-payments-tooltip {
    display: flex !important;
}

.toplist-ct__offer-payments-tooltip {
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 150%;
    position: absolute;
    z-index: 1;
    top: 26px;
    left: -6px;
    flex-direction: column;
    width: max-content;
    min-width: 144px;
    padding: 12px 16px;
    color: #060606;
    border-radius: 4px;
    background: #FFFFFF;
    filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.14)) drop-shadow(0px 8px 32px rgba(0, 0, 0, 0.1));
}

.toplist-ct__offer-payments-tooltip:before {
    position: absolute;
    bottom: 100%;
    left: 20px;
    margin-left: -8px;
    content: '';
    border-width: 8px;
    border-style: solid;
    border-color: transparent transparent #FFFFFF transparent;
}

.toplist-ct__offer-payment-in-tooltip {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 8px 6px;
    gap: 8px;
}

.toplist-ct__offer-payment-in-tooltip .toplist-ct__offer-payment-image {
    width: auto;
    max-height: 24px;
}

.toplist-ct__offer-payment-in-tooltip-image-wrapper {
    flex-shrink: 0;
    width: 24px;
}

.toplist-ct__offer-payment-in-tooltip-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 10px;
    font-weight: 400;
    line-height: 120%;
    letter-spacing: 0.03em;
    text-transform: capitalize;
    color: #060606;
}

.toplist-ct__offer-rating {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 27.5px;
    padding: 0 6px;
    color: #000000;
    border-radius: 8px;
    background: #EEEEEE;
    grid-area: rating;
    gap: 5px;
}

.toplist-ct__offer-rating:before {
    position: relative;
    width: 14px;
    height: 15px;
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.3898 14.264C11.2776 14.2644 11.167 14.2379 11.0671 14.1868L7.48946 12.3138L3.91182 14.1868C3.79566 14.2479 3.66467 14.2751 3.53378 14.2655C3.40287 14.2559 3.27731 14.2097 3.17135 14.1322C3.06538 14.0547 2.98328 13.9491 2.93437 13.8273C2.88546 13.7055 2.8717 13.5724 2.89465 13.4432L3.59615 9.49379L0.705977 6.68779C0.615809 6.5978 0.551842 6.48496 0.520945 6.36137C0.490048 6.23778 0.493388 6.10812 0.530606 5.98629C0.571265 5.86161 0.646057 5.75083 0.746496 5.66652C0.846926 5.58219 0.968987 5.52772 1.09882 5.50927L5.09736 4.92703L6.85812 1.32834C6.91556 1.20974 7.00525 1.10971 7.11691 1.03972C7.22857 0.969737 7.35769 0.932617 7.48946 0.932617C7.62125 0.932617 7.75036 0.969737 7.86203 1.03972C7.97369 1.10971 8.0634 1.20974 8.1208 1.32834L9.90261 4.92001L13.9011 5.50225C14.031 5.52071 14.153 5.57519 14.2535 5.6595C14.354 5.74382 14.4287 5.8546 14.4694 5.97927C14.5066 6.1011 14.51 6.23077 14.479 6.35435C14.4482 6.47795 14.3842 6.59079 14.294 6.68077L11.4038 9.48674L12.1053 13.4362C12.1304 13.5677 12.1173 13.7037 12.0676 13.8279C12.0178 13.9523 11.9336 14.0597 11.8247 14.1377C11.6977 14.2267 11.5448 14.2711 11.3898 14.264Z' fill='%23F9B822'/%3E%3C/svg%3E%0A");
}

.toplist-ct__offer-cta-btn {
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-weight: 600;
    font-style: normal;
    line-height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 176px;
    height: 47px;
    margin-top: 17px;
    padding: 11px 2px 11px 0;
    color: #000000;
    border-radius: 8px;
    background: #FABC2C;
    grid-area: cta-btn;
    gap: 8px;
}

.toplist-ct__offer-cta-btn:after {
    position: relative;
    width: 16px;
    height: 16px;
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.2057 5.04012L10.1667 5.26668H4.16668C3.98258 5.26668 3.83334 5.11744 3.83334 4.93335V4.26668C3.83334 4.08259 3.98258 3.93335 4.16668 3.93335H13.1667V12.9333C13.1667 13.1174 13.0174 13.2667 12.8333 13.2667H12.1667C11.9826 13.2667 11.8333 13.1174 11.8333 12.9333V6.93335L12.0573 5.88387L11.3166 6.77336L4.92402 13.1659C4.79384 13.2961 4.58279 13.2961 4.45262 13.1659L3.93407 12.6474C3.8039 12.5172 3.8039 12.3061 3.93407 12.176L10.3097 5.80034L11.2057 5.04012Z' fill='black'/%3E%3C/svg%3E%0A");
}

.toplist-ct__offer-cta-btn:hover {
    text-decoration: none;
    color: inherit;
}

.toplist-ct__show-more-btn {
    font-family: var(--bm-alt-font-family);
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin: 24px auto 0;
    padding: 13px 16px;
    color: #101214;
    border: 2px solid #101214;
    border-radius: 7px;
    gap: 8px;
}

.toplist-ct__show-more-btn:hover {
    cursor: pointer;
    color: #FFFFFF;
    background: #101214;
}

.toplist-ct__show-more-btn:hover svg path {
    stroke: #FFFFFF;
}

@media screen and (max-width: 991px) {
    .toplist-ct__wrapper {
        margin: 20px 0;
    }

    .toplist-ct__offer {
        position: relative;
        padding: 12px;
        grid-template-columns: 108px auto;
        gap: 0 12px;
        grid-template-areas:
        "logo rating"
        "logo main"
        "logo cta-btn";
    }

    .toplist-ct__offer:before {
        font-size: 10px;
        top: 12px;
        width: 21px;
        height: 24px;
        padding: 2px 7px;
    }

    .toplist-ct__offer-logo-wrapper {
        height: calc(100% + 24px);
        margin: -12px 0 -12px -12px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

    .toplist-ct__offer-rating {
        font-size: 12px;
        line-height: 25px;
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
    }

    .toplist-ct__offer-brand-name {
        font-size: 10px;
        margin-top: 3px;
    }

    .toplist-ct__offer-main {
        gap: 9px;
    }

    .toplist-ct__offer-payments-wrapper {
        justify-content: center;
        margin-top: 3px;
        padding-bottom: 12px;
    }

    .toplist-ct__offer-title,
    .toplist-ct__offer-title p {
        font-size: 18px;
        line-height: 24px;
        text-align: center;
    }

    .toplist-ct__offer-cta-btn {
        width: 167px;
        margin: 8px auto 0;
    }

    .toplist-ct__offer-payments-label {
        font-size: 10px;
    }

    .toplist-ct__offer-payment-image {
        width: 20px;
        height: 20px;
    }

    .toplist-ct__offer-payments-hidden-counter {
        font-size: 12px;
    }

    .toplist-ct__offer .campaign__partner-label-desc {
        font-size: 8px;
    }

    .toplist-ct__offer-payments-tooltip {
        right: -6px;
        left: unset;
    }

    .toplist-ct__offer-payments-tooltip:before {
        right: 11px;
        left: unset;
    }
}
