/* RB-BO-CATEGORYVIEW-ENHANCED-V1.0.0
   Card appearance adapted from the supplied rebate-offers.css.
   Every rule requires the new category wrapper. Original BO CSS, JS, popover
   markup, saved column counts and grid/carousel behavior remain in use. */
.rb-bo.rb-bo-categoryview-enhanced { --bo-gap: 18px; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card {
    border: 1px solid #d3e3dc; border-radius: 14px; background: #fff;
    box-shadow: 0 5px 18px #20433708; color: #163347;
    font-family: Inter, system-ui, sans-serif; font-size: 15px; line-height: 1.5;
    transition: box-shadow .18s, border-color .18s;
}
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card:hover,
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card:focus-within { border-color: #93bca9; box-shadow: 0 10px 26px #20433713; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__ribbon {
    min-height: 43px; padding: 10px 14px; background: #07563f; color: #fff;
    justify-content: space-between; font-weight: 550; line-height: 1.5; text-align: left;
}
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__ribbon-content {
    display: flex; width: 100%; max-width: 100%; min-width: 0;
    align-items: center; justify-content: space-between; gap: 7px; white-space: normal;
}
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-cve__ribbon-heading { display: flex; min-width: 0; gap: 7px; align-items: center; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__ribbon-label {
    font-size: 11px; font-weight: 550; white-space: normal;
    overflow: visible; overflow-wrap: anywhere; text-overflow: clip;
}
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__rebate-icon { width: 14px; height: 14px; flex: 0 0 14px; filter: none; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__ribbon-amounts { gap: 6px; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__ribbon-amounts strong { font-size: var(--bo-ribbon-font, 18px); line-height: 1.1; font-weight: 700; letter-spacing: normal; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__ribbon-amounts s { font-size: 11px; font-weight: 450; color: #c0e3d4; text-decoration-thickness: auto; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__ribbon--headline { font-size: 13px; white-space: normal; overflow-wrap: anywhere; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__body { padding: 18px 16px 0; flex: 1; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__identity { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 18px; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__identity-copy { display: block; min-width: 0; flex: 1; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__image { width: 79px; flex: 0 0 79px; height: 56px; padding: 3px; background: transparent; border: 0; border-radius: 8px; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__image img { display: block; object-fit: contain; max-width: 100%; max-height: 100%; width: 100%; height: auto; filter: none; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__image img[hidden] { display: none; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__placeholder { max-width: 100%; max-height: 100%; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__provider { display: block; font-size: 9px; color: #687f89; text-transform: uppercase; letter-spacing: .065em; font-weight: 650; line-height: 1.5; margin: 0 0 4px; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card h3 { font-size: 15px; line-height: 1.4; font-weight: 650; letter-spacing: -.022em; margin: 0; overflow-wrap: anywhere; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card h3 a { color: #15527a !important; text-decoration: none; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card h3 a:hover { text-decoration: underline; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__placement { display: inline-block; max-width: 100%; margin-top: 5px; padding: 2px 6px; border: 1px solid #dce7e6; background: #f6f9f7; color: #64817a; border-radius: 5px; font-size: 10px; line-height: 1.5; font-weight: 600; text-align: left; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-cve__value { margin: -6px 0 12px; min-width: 0; }
.rb-bo.rb-bo-categoryview-enhanced .rb-first-year-value-marker { background: #edf7f0; box-shadow: none; border-radius: 6px; padding: 4px 6px; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__promo { padding: 0; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__promo-title { color: #184d6b; font-size: 13px; line-height: 1.65; font-weight: 570; margin: 0 0 14px; padding: 0; border-radius: 0; background: transparent; overflow-wrap: anywhere; white-space: pre-line; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__promo-icon { width: 14px; height: 14px; margin-right: 5px; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__welcome-expiry { font-size: 10px; color: #8a4c13; font-weight: 600; background: transparent; padding: 0; border-radius: 0; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__promo-details { margin: 0; padding-top: 8px; border-top: 1px solid #edf1ef; font-size: 12px; line-height: 1.65; color: #536c78; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__promo-details > summary { min-height: 30px; padding: 4px 0; font-size: 11px; line-height: 1.65; color: #446576; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__promo-message { margin: 10px 0; font-size: 12px; line-height: 1.65; font-weight: 400; color: #536c78; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__promo-details > .rb-bo-card__promo-message { margin: 10px 0; }
/* Category-only values retained, presented as a quiet compact comparison row. */
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__bonus-rebate { margin: 12px 0 0; padding: 9px 10px; gap: 8px; border: 1px solid #e2ece6; border-radius: 8px; background: #f7faf8; color: #184d6b; text-align: left; align-items: center; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__bonus-rebate dt { font-size: 10px; line-height: 1.45; font-weight: 500; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__bonus-rebate dd { font-size: 14px; line-height: 1.45; font-weight: 650; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__bonus-rebate-plus { font-size: 13px; line-height: 1.5; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__bottom { margin-top: auto; padding: 14px 16px 15px; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__rebate-box { display: grid; gap: 0; padding: 9px 11px; background: #f0f8f2; border-radius: 8px; margin: 0 0 11px; color: #075c45; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__rebate-box > .rb-bo-card__claim-value { display: flex; align-items: baseline; justify-content: space-between; gap: 0 8px; line-height: 1.5; color: #075c45; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__claim-label { font-size: 11px; font-weight: 600; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__claim-amounts { line-height: 1.2; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__claim-value strong { font-size: 25px; letter-spacing: -.035em; font-weight: 740; line-height: 1.2; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__rebate-box > .rb-bo-card__expiry { margin-top: 3px; font-size: 9px; line-height: 1.5; color: #765014; font-weight: 650; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__expiry > span { background: transparent; padding: 0; border-radius: 0; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 12px; align-items: start; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__button { display: flex; justify-content: space-between; align-items: center; gap: 8px; border: 0; border-radius: 8px; background: #075c45; color: #fff !important; padding: 12px 14px; font-size: 13px; line-height: 1.4; font-weight: 650; min-height: 44px; text-align: left; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__button:hover { background: #034731; color: #fff !important; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__button > span[aria-hidden] { font-size: 17px; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__button--rebate,
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__button--apply:not(.rb-bo-card__button--secondary) { grid-column: 1 / -1; grid-row: 1; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__button--secondary { grid-column: 2; grid-row: 2; justify-self: end; justify-content: flex-end; min-height: 26px; padding: 6px 2px 4px; border: 0; border-radius: 0; background: transparent; color: #486477 !important; font-size: 10px; line-height: 1.6; font-weight: 650; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__button--secondary > span[aria-hidden] { font-size: inherit; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__button--secondary:hover { background: transparent; color: #486477 !important; text-decoration: underline !important; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__learn { grid-column: 1; grid-row: 2; justify-content: flex-start; justify-self: start; min-height: 26px; padding: 6px 2px 4px; color: #486477 !important; font-size: 10px; font-weight: 400; line-height: 1.6; text-decoration: none; }
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__learn:hover { text-decoration: underline; }
@media (max-width: 575px) {
    .rb-bo.rb-bo-categoryview-enhanced { --bo-gap: 16px; }
    .rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__body { padding: 20px 18px 0; }
    .rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__bottom { padding-inline: 18px; }
    .rb-bo.rb-bo-categoryview-enhanced .rb-bo-card h3 { font-size: 16px; }
    .rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__button--secondary,
    .rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__learn { min-height: 40px; padding-top: 12px; font-size: 11px; }
    .rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__ribbon { padding-inline: 18px; }
    .rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__ribbon-label { font-size: 12px; }
    .rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__rebate-box > .rb-bo-card__expiry { font-size: 10px; }
}
/* Keep saved 4–6-column layouts usable without changing their card counts. */
@media (min-width: 1200px) {
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-4 .rb-bo-card__identity { gap: 9px; }
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-4 .rb-bo-card__image { width: 64px; flex-basis: 64px; height: 46px; }
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-5 .rb-bo-card__identity,
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-6 .rb-bo-card__identity { flex-wrap: wrap; }
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-5 .rb-bo-card__identity-copy,
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-6 .rb-bo-card__identity-copy { flex-basis: 100%; }
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-5 .rb-bo-card__body,
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-6 .rb-bo-card__body { padding: 18px 10px 0; }
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-5 .rb-bo-card__bottom,
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-6 .rb-bo-card__bottom { padding: 14px 10px 15px; }
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-5 .rb-bo-card__ribbon,
    .rb-bo.rb-bo-categoryview-enhanced.rb-bo--cols-6 .rb-bo-card__ribbon { padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) { .rb-bo.rb-bo-categoryview-enhanced .rb-bo-card { transition: none; } }
@media print { .rb-bo.rb-bo-categoryview-enhanced .rb-bo-card { box-shadow: none; } }

.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__ribbon-label {
    font-size: 13px;
}

@media (max-width: 575px) {
    .rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__ribbon-label {
        font-size: 14px;
    }
}

/* Welcome bonus + RateBuddy rebate: light yellow, no border */
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__bonus-rebate {
    border: 0;
    background: #fff8dc;
}

.rb-bo.rb-bo-categoryview-enhanced
.rb-bo-card__button--rebate > span:first-child {
    font-size: 14px;
}

.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__claim-label {
    font-size: 12px;
}

.rb-bo.rb-bo-categoryview-enhanced
.rb-bo-card__rebate-box > .rb-bo-card__expiry {
    font-size: 10px;
}

@media (max-width: 575px) {
    .rb-bo.rb-bo-categoryview-enhanced
    .rb-bo-card__rebate-box > .rb-bo-card__expiry {
        font-size: 11px;
    }
}



/* Previous rebate beside the current amount */
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__claim-amounts {
    gap: 6px;
}

.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__claim-amounts > s {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    color: #527365;
    white-space: nowrap;
    text-decoration-line: line-through;
    text-decoration-thickness: 1.5px;
}


/* Bank name and placement badge share the top row */
.rb-bo.rb-bo-categoryview-enhanced .rb-bo-card__identity-copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) fit-content(50%);
    gap: 4px 8px;
    align-items: start;
}

.rb-bo.rb-bo-categoryview-enhanced
.rb-bo-card__identity-copy > .rb-bo-card__provider {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
}

.rb-bo.rb-bo-categoryview-enhanced
.rb-bo-card__identity-copy > .rb-bo-card__placement {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    margin: 0;
    max-width: 100%;
}

/* Product name stays below both */
.rb-bo.rb-bo-categoryview-enhanced
.rb-bo-card__identity-copy > h3 {
    grid-column: 1 / -1;
    grid-row: 2;
}

/* Keep off-screen card content inside the carousel's scroll area. */
.rb-bo.rb-bo-categoryview-enhanced.rb-bo--carousel .rb-bo__cards {
    position: relative;
}


/* One aligned control group: label + previous/next arrows. */
:is(.rb-bo.rb-bo-categoryview-enhanced, .rb-bbo.rb-bbo-categoryview-enhanced)
:is(.rb-bo__controls, .rb-bbo__controls) {
    display: inline-flex;
    align-items: center;
    align-self: center;
    gap: 6px;
    flex: 0 0 auto;
    margin: 0 0 0 auto;
    padding: 4px 5px 4px 12px;
    border: 1px solid #ddd0f5;
    border-radius: 999px;
    background: #f6f1ff;
}

:is(.rb-bo.rb-bo-categoryview-enhanced, .rb-bbo.rb-bbo-categoryview-enhanced)
.rb-bo-browse__label {
    display: inline-flex;
    align-items: center;
    height: 36px;
    margin: 0;
    padding: 0 10px 0 0;
    border-right: 1px solid #ddd0f5;
    color: #5b21b6;
    font-size: 12px;
    font-weight: 650;
    line-height: 1;
    white-space: nowrap;
}

:is(.rb-bo.rb-bo-categoryview-enhanced, .rb-bbo.rb-bbo-categoryview-enhanced)
:is(.rb-bo__arrow, .rb-bbo__arrow) {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #6d28d9;
    color: #fff;
    font-family: system-ui, sans-serif;
    font-size: 21px;
    line-height: 1;
}

:is(.rb-bo.rb-bo-categoryview-enhanced, .rb-bbo.rb-bbo-categoryview-enhanced)
:is(.rb-bo__arrow, .rb-bbo__arrow) > span {
    display: block;
    line-height: 1;
    transform: translateY(-1px);
}

:is(.rb-bo.rb-bo-categoryview-enhanced, .rb-bbo.rb-bbo-categoryview-enhanced)
:is(.rb-bo__arrow, .rb-bbo__arrow):hover:not([aria-disabled="true"]) {
    background: #5b21b6;
}

:is(.rb-bo.rb-bo-categoryview-enhanced, .rb-bbo.rb-bbo-categoryview-enhanced)
:is(.rb-bo__arrow, .rb-bbo__arrow)[aria-disabled="true"] {
    opacity: 1;
    background: #e6dcf7;
    color: #8c6cab;
}