.campaign-compact-table__wrapper {
    margin-bottom: 50px;
}

.campaign-compact-table,
.campaign-compact-table td {
    padding: 0;
    border: none;
}

.campaign-compact-table__title h2 {
    padding-bottom: 0;
}

.campaign-compact-table__title h2:after {
    display: none;
}

.campaign-compact-table__offers-wrapper {
    display: flex;
    flex-direction: column;
    counter-reset: offers-list;
    gap: 12px;
}

.campaign-compact-table__offers-wrapper.with-default-offers
    .campaign-compact-table__offer:not(.default-offer) {
    display: none;
}

.campaign-compact-table__offer {
    position: relative;
    display: grid;
    padding: 16px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04), 0 8px 32px rgba(0, 0, 0, 0.1);
    gap: 0 24px;
    grid-template-areas:
        'label label label label label'
        'logo description key-features rating cta-button'
        'terms terms terms terms terms';
    grid-template-columns: 133px 240px 1fr 88px 195px;
}

.campaign-compact-table__offer.brand_table_custom_cl {
    padding: 12px;
    border: 4px solid #ffcb3f;
}

.campaign-compact-table__offer-logo {
    position: relative;
    grid-area: logo;
}

.numbered .campaign-compact-table__offer-logo:before {
    font-size: 12px;
    font-weight: 700;
    line-height: 16px;
    position: absolute;
    top: -8px;
    left: -8px;
    width: 20px;
    height: 20px;
    content: counter(offers-list);
    counter-increment: offers-list;
    text-align: center;
    color: #1c2642;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: #e1f4e7;
}

.campaign-compact-table__offer-logo a {
    text-decoration: none !important;
}

.campaign-compact-table__offer-logo img {
    width: 133px;
    height: 64px;
    object-fit: cover;
}

.campaign-compact-table__offer-brand-name {
    font-family: 'Arial', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    margin-top: 8px;
    margin-bottom: 0;
    text-decoration: none;
    color: #444b54;
}

.campaign-compact-table__offer-rating
    .campaign-compact-table__offer-brand-name {
    display: none;
}

.campaign-compact-table__offer-description {
    grid-area: description;
}

.campaign-compact-table__offer-description p {
    font-family: var(--bm-font-family);
    font-size: 20px;
    font-weight: var(--bm-font-weight);
    line-height: 120%;
    margin-bottom: 0;
    letter-spacing: -0.02em;
    text-transform: capitalize;
    color: #1c2642;
}

.campaign-compact-table__offer-key-features {
    grid-area: key-features;
}

.campaign-compact-table__offer-key-features ul {
    margin: 0;
    list-style-type: none;
}

.campaign-compact-table__offer-key-features li {
    font-size: 14px;
    line-height: 21px;
    padding: 0 0 2px 20px;
    background: url('../images/tick-black.svg') left 5px no-repeat;
}

.campaign-compact-table__offer-key-features
    > .campaign-compact-table__offer-description {
    display: none;
}

.campaign-compact-table__offer-rating {
    display: flex;
    align-items: center;
    flex-flow: column;
    grid-area: rating;
}

.campaign-compact-table__offer-rating-text {
    font-family: var(--bm-font-family);
    font-size: 25px;
    font-weight: var(--bm-font-weight);
    line-height: 31px;
    color: #1c2642;
}

.campaign-compact-table__offer-rating img {
    width: 82px;
    margin: 8px 0 0 0;
}

.campaign-compact-table__offer .read_review_url {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: 8px;
    gap: 6px;
}

.campaign-compact-table__offer .read_review_url a {
    font-family: 'Arial', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 150%;
    text-align: center;
    text-decoration: underline;
}

.campaign-compact-table__offer-cta-button {
    grid-area: cta-button;
}

.campaign-compact-table__offer-cta-button a {
    font-family: var(--bm-font-family);
    font-size: 15px;
    font-weight: var(--bm-font-weight);
    line-height: 44px;
    display: block;
    height: 44px;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff;
    border-radius: 44px;
    background: var(--bm-cta-button-background);
}

.campaign-compact-table__offer-cta-button a:hover {
    text-decoration: none;
    color: #fff;
    background: var(--bm-cta-button-hover-background);
}

.campaign-compact-table__offer-has-coupon-code {
    position: relative;
    margin-top: 10px;
}

.campaign-compact-table .coupon-code__wrapper {
    font-size: 12px;
    line-height: 40px;
    width: 100%;
    height: 40px;
    padding-right: 44px;
    padding-left: 12px;
    text-align: center;
    letter-spacing: 0.16em;
    border: 1px dashed var(--bm-cta-button-background);
    border-radius: 40px;
}

.campaign-compact-table .coupon-code__wrapper:hover {
    border: 1px dashed #1c2642 !important;
}

.campaign-compact-table .coupon-code_copied {
    display: none;
    text-transform: uppercase;
}

.campaign-compact-table .coupon-code__copy-btn {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    cursor: pointer;
    border-radius: 0 16px 16px 0;
    background: #f0f3f7;
}

.campaign-compact-table .coupon-code__copy-text {
    font-size: 12px;
    position: absolute;
    z-index: 99;
    top: 50px;
    right: -16px;
    display: block;
    visibility: hidden;
    width: auto;
    height: auto;
    margin: 0 0;
    padding: 12px 16px;
    text-align: center;
    color: white;
    border-radius: 4px;
    background: #060606;
}

.campaign-compact-table .coupon-code__copy-text:after {
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -8px;
    content: '';
    border-width: 8px;
    border-style: solid;
    border-color: transparent transparent #060606 transparent;
    border-top-width: 0;
}

.campaign-compact-table__offer-no-coupon-code {
    font-size: 10px;
    line-height: 24px;
    width: fit-content;
    min-width: 145px;
    margin: 10px auto 0;
    padding: 0 8px;
    text-align: center;
    text-transform: uppercase;
    color: #1c2642;
    border: 1px solid #d5def7;
    border-radius: 4px;
    background: #f5f4ff;
}

.campaign-compact-table__offer-terms {
    position: relative;
    margin: 16px 0 0;
    color: #a69996;
    grid-area: terms;
}

.campaign-compact-table__offer-terms .cell_bottom {
    font-size: 10px;
    line-height: 12px;
    overflow: hidden;
    max-height: 12px;
}

.campaign-compact-table__show-more-btn {
    font-family: var(--bm-font-family);
    font-size: 16px;
    font-weight: var(--bm-font-weight);
    line-height: 22px;
    width: fit-content;
    min-width: 220px;
    margin: 24px auto 0 auto;
    padding: 9px 24px;
    cursor: pointer;
    text-align: center;
    text-transform: capitalize;
    color: #1c2642;
    border: 1px solid #1c2642;
    border-radius: 42px;
}

.campaign-compact-table__show-more-btn.loading {
    border-color: #f0f3f7;
    background: #f0f3f7;
}

.campaign-compact-table__show-more-btn .plus {
    font-size: 18px;
    margin-left: 8px;
}

.campaign-compact-asia-table__offer .campaign-compact-table__offer-logo img {
    width: 100%;
    height: auto;
}

@media screen and (min-width: 992px) {
    .campaign-compact-table__terms-tooltip {
        font-size: 12px;
        line-height: 1.5;
        position: absolute;
        z-index: 1000;
        top: 24px;
        left: calc(50% - 210px);
        display: none;
        width: 420px;
        padding: 16px;
        text-align: center;
        color: #e3e2e2;
        border-radius: 5px;
        background: #000;
    }

    .campaign-compact-table__terms-tooltip:before {
        position: absolute;
        bottom: 100%;
        left: 50%;
        margin-left: -8px;
        content: '';
        border-width: 8px;
        border-style: solid;
        border-color: transparent transparent #060606 transparent;
    }

    .bm-tiny .campaign-compact-table__terms-tooltip {
        top: 34px;
    }

    .campaign-compact-table
        .coupon-code__copy-btn:hover
        ~ .coupon-code__copy-text {
        visibility: visible;
    }

    .campaign-compact-asia-table__offer {
        grid-template-areas:
            'label label label label label'
            'logo logo key-features rating cta-button'
            'terms terms terms terms terms';
    }

    .campaign-compact-asia-table__offer
        .campaign-compact-table__offer-description {
        display: block;
        margin-bottom: 4px;
    }
}

/* Sorting & filtering styles. */

.campaign-shortcode-table_filter-section-wrapper {
    margin-bottom: 24px;
}

.campaign-shortcode-table_filter-section {
    display: flex;
}

.campaign-shortcode-table_filter-section .custom-select-background {
    background: #014c6b
        url('../images/c015e47a4c77d24ed08c4d4ebe9de88227572213.svg') right 10px
        center no-repeat;
}

.campaign-shortcode-table_filter-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0 !important;
    gap: 6px;
}

.sortable .campaign-shortcode-table_filter-list {
    margin: 0 0 0 12px !important;
    padding-left: 12px;
    border-left: 1px solid #e8e8e8;
}

.campaign-shortcode-table_filter-list-item {
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;
    display: block;
    height: 35px;
    margin: 0;
    padding: 7px 12px;
    list-style-type: none;
    cursor: pointer;
    color: #1c2642;
    border: 1px solid #e8e8e8;
    border-radius: 35px;
}

.campaign-shortcode-table_filter-list-item.loading {
    color: #fff;
    background-color: rgb(1 76 107 / 70%);
}

.campaign-shortcode-table_filter-list-item.desktop-hidden {
    display: none;
}

.campaign-shortcode-table_filter-more-btn {
    padding-right: 40px;
    border-color: #1c2642;
    background: url('../images/9cf1412d9d6689654a3edd7e9248726533cfd49e.svg')
        right 16px center no-repeat;
}

.campaign-shortcode-table_filter-more-btn:hover {
    background-color: #f0f3f7;
}

.campaign-shortcode-table_filter-list-item.active_brand_filter {
    color: #fff;
    background-color: #014c6b;
}

.campaign-shortcode-table_sort-desktop-select {
    position: relative;
    flex-grow: 0;
    flex-shrink: 0;
}

.campaign-shortcode_desktop-select-window {
    font-size: 14px;
    font-weight: 700;
    line-height: 35px;
    min-width: 118px;
    height: 35px;
    padding-right: 25px;
    padding-left: 12px;
    cursor: pointer;
    color: #fff;
    border-radius: 35px;
}

.campaign-shortcode_desktop-select-dropdown {
    position: absolute;
    z-index: 3;
    top: 41px;
    overflow: hidden;
    width: 100%;
    border: 1px solid #afafaf;
    border-radius: 4px;
    background-color: #fff;
}

.campaign-compact-table__wrapper .desktop-select-item {
    font-size: 14px;
    line-height: 21px;
    min-height: 45px;
    padding: 12px;
    cursor: pointer;
    color: #1c2642;
}

.campaign-compact-table__wrapper .desktop-select-item:hover {
    background-color: #f4f4f4;
}

.campaign-shortcode-table_sort-mobile-select,
.campaign-shortcode_tags_select {
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
    display: none;
    flex-grow: 0;
    flex-shrink: 0;
    min-width: 99px;
    height: 30px;
    padding-right: 25px;
    padding-left: 12px;
    cursor: pointer;
    color: #fff;
    border: none;
    border-radius: 35px;
    outline: none;
    appearance: none;
}

.campaign-shortcode_tags_select {
    font-size: 14px;
    line-height: 35px;
    display: initial;
    height: 35px;
    background: #014c6b
        url('../images/c015e47a4c77d24ed08c4d4ebe9de88227572213.svg') right 10px
        center no-repeat;
}

.campaign-shortcode-table_sort-desktop-select
    ~ .campaign-shortcode_tags_select {
    margin-left: 20px;
}

@media screen and (min-width: 992px) {
    .campaign-compact-table__show-more-btn:hover {
        background: #f0f3f7;
    }

    .bm-tiny .campaign-compact-table__offer {
        gap: 0 16px;
        grid-template-areas:
            'label label label label'
            'logo description rating cta-button'
            'terms terms terms terms';
        grid-template-columns: 116px 1fr 88px 195px;
    }

    .bm-tiny .campaign-compact-table__offer-logo img {
        height: auto;
    }

    .bm-tiny .campaign-compact-table__offer-description {
        display: none;
    }

    .bm-tiny .campaign-compact-table__offer-key-features {
        grid-area: description;
    }

    .bm-tiny
        .campaign-compact-table__offer-key-features
        > .campaign-compact-table__offer-description {
        display: block;
        margin-bottom: 4px;
    }

    .bm-tiny .campaign-compact-table__offer-rating {
        flex-flow: column;
        margin-left: 0;
    }

    .bm-tiny .campaign-compact-table__offer-rating .star_rating_img {
        margin: 8px 0 0 0;
    }

    .bm-tiny .campaign-compact-table__offer-terms .cell_bottom {
        max-height: 24px;
    }

    .bm-tiny .campaign-compact-asia-table__offer {
        grid-template-areas:
            'label label label'
            'logo description cta-button'
            'terms terms terms';
        grid-template-columns: 240px 1fr 195px;
    }

    .bm-tiny
        .campaign-compact-asia-table__offer
        .campaign-compact-table__offer-rating {
        display: none;
    }
}

.campaign__show-only-on-mobile {
    display: none;
}

.campaign-compact-table__offer.w-highlighted-label {
    padding-top: 32px !important;
}

.campaign-compact-table__offer.bm-w-summer-cups {
    padding-top: 70px !important;
    border: 3px solid #143cda !important;
}

td.campaign-compact-table__highlighted-label {
    font-family: var(--bm-font-family);
    font-size: 10px;
    font-weight: 700;
    line-height: 130%;
    position: absolute;
    top: 0;
    left: 0;
    padding: 4px 6px;
    text-align: center;
    text-transform: uppercase;
    color: var(--text-dark, #2e364e);
    border-radius: 4px 0 4px 0;
    background: #ffcb3f;
}

@media screen and (max-width: 991px) {
    .campaign__show-only-on-mobile {
        display: block;
    }

    .campaign__show-only-on-desktop {
        display: none;
    }

    .campaign-compact-table__offers-wrapper {
        gap: 8px;
    }

    .campaign-compact-table__wrapper
        .campaign-shortcode-table_filter-section-wrapper {
        margin-bottom: 16px;
    }

    .campaign-compact-table__offer {
        gap: 0;
        grid-template-areas:
            'label label'
            'logo rating'
            'description description'
            'cta-button cta-button'
            'key-features key-features'
            'terms terms';
        grid-template-columns: 1fr 1fr;
    }

    .campaign-compact-table__offer.brand_table_custom_cl {
        padding: 12px;
    }

    .campaign-compact-table__offer.bm-w-summer-cups {
        padding-top: 93px !important;
    }

    .campaign-compact-table__offer > :not(:first-child) {
        margin-bottom: 16px;
    }

    .campaign-compact-table__offer-key-features,
    .campaign-compact-table__offer-terms {
        margin-bottom: 0 !important;
    }

    .campaign-compact-table__offer-terms {
        margin-top: 16px !important;
    }

    .campaign-compact-table__offer > *:first-child:not(.toppike-out) {
        margin-bottom: 16px;
    }

    .campaign-compact-table__offer-logo img {
        width: 100px;
        height: 48px;
        margin: 0;
    }

    .campaign-compact-table__offer-brand-name {
        display: none;
    }

    .campaign-compact-table__offer-rating
        .campaign-compact-table__offer-brand-name {
        display: block;
        margin-top: 4px;
        text-align: right;
    }

    .campaign-compact-table__offer-rating {
        align-content: flex-start;
        flex-flow: row;
        flex-wrap: wrap;
        justify-content: flex-end;
        width: 120px;
        margin-left: auto;
    }

    .campaign-compact-table__offer-rating-text {
        font-size: 16px;
        line-height: 22px;
    }

    .campaign-compact-table__offer-rating img {
        width: 82px;
        height: 15px;
        margin: 0 0 0 4px;
    }

    .campaign-compact-table__offer .read_review_url {
        flex-basis: 100%;
        margin-top: 4px;
    }

    .campaign-compact-table__offer-description {
        grid-area: description !important;
    }

    .campaign-compact-table__offer-description p {
        font-size: 18px;
        line-height: 25px;
    }

    .campaign-compact-table__offer-terms .cell_bottom {
        max-height: unset;
        margin: 0;
        padding: 0;
        border: 0;
    }

    .campaign-compact-table__show-more-btn {
        font-size: 14px;
        margin: 24px auto;
    }

    .campaign-shortcode-table_filter-section-wrapper {
        font-size: 15px;
        line-height: 22px;
        margin-bottom: 21px;
    }

    .campaign-shortcode-table_filter-section {
        position: relative;
        left: -15px;
        overflow: scroll;
        width: calc(100% + 30px);
        padding-right: 15px;
        padding-left: 15px;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .campaign-shortcode-table_filter-section::-webkit-scrollbar {
        display: none;
    }

    .campaign-shortcode-table_filter-section {
        position: relative;
        left: -15px;
        overflow: scroll;
        width: calc(100% + 30px);
        padding-right: 15px;
        padding-left: 15px;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .campaign-shortcode-table_filter-section::-webkit-scrollbar {
        display: none;
    }

    .campaign-shortcode-table_filter-list {
        flex-wrap: nowrap;
    }

    .sortable .campaign-shortcode-table_filter-list {
        margin-left: 8px;
        padding-left: 8px;
    }

    .campaign-shortcode-table_filter-list-item {
        font-size: 12px;
        line-height: 18px;
        flex: 0 0 auto;
        height: 30px;
        margin-bottom: 0;
        padding: 6px 8px;
    }

    .campaign-shortcode-table_filter-list-item.desktop-hidden {
        display: initial;
    }

    .campaign-shortcode-table_filter-more-btn {
        display: none;
    }

    .campaign-shortcode-table_sort-mobile-select {
        display: initial;
    }

    .campaign-shortcode_tags_select {
        font-size: 12px;
        line-height: 18px;
        height: 30px;
    }

    .campaign-shortcode-table_sort-desktop-select {
        display: none;
    }

    .campaign-compact-asia-table__offer {
        grid-template-areas:
            'label label'
            'logo logo'
            'description description'
            'cta-button cta-button'
            'key-features key-features'
            'terms terms';
    }

    .campaign-compact-asia-table__offer .campaign-compact-table__offer-rating {
        display: none;
    }
}
