/* RB-BANKING-BO-CATEGORYVIEW-ENHANCED-V1.0.0
   All Offers appearance plus the approved credit-card text/highlight refinements.
   Bank logo treatment and original account-type metadata retained.
   Every rule requires the new category wrapper. Original BO CSS, JS, popover
   markup, saved column counts and grid/carousel behavior remain in use. */
.rb-bbo.rb-bbo-categoryview-enhanced { --bbo-gap: 18px; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-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-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card:hover,
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card:focus-within { border-color: #93bca9; box-shadow: 0 10px 26px #20433713; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-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-bbo.rb-bbo-categoryview-enhanced .rb-bbo-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-bbo.rb-bbo-categoryview-enhanced .rb-bbo-cve__ribbon-heading { display: flex; min-width: 0; gap: 7px; align-items: center; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__ribbon-label {
    font-size: 12px; font-weight: 550; white-space: normal;
    overflow: visible; overflow-wrap: anywhere; text-overflow: clip;
}
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__rebate-icon { width: 14px; height: 14px; flex: 0 0 14px; filter: none; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__ribbon-amounts { gap: 6px; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__ribbon-amounts strong { font-size: var(--bbo-ribbon-font, 18px); line-height: 1.1; font-weight: 700; letter-spacing: normal; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__ribbon-amounts s { font-size: 11px; font-weight: 450; color: #c0e3d4; text-decoration-thickness: auto; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__ribbon--headline { font-size: 13px; white-space: normal; overflow-wrap: anywhere; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__body { padding: 18px 16px 0; flex: 1; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__identity { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 18px; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__identity-copy { display: block; min-width: 0; flex: 1; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__image { width: 67px; height: 53px; padding: 6px; background: #f6f9f7; border: 1px solid #e6ede8; border-radius: 8px; align-items: center; justify-content: center; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__image img { display: block; object-fit: contain; max-width: 100%; max-height: 100%; width: 100%; height: auto; object-position: center; filter: none; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__image img[hidden] { display: none; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__logo-fallback { max-width: 100%; max-height: 100%; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-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-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card h3 { font-size: 15px; line-height: 1.4; font-weight: 650; letter-spacing: -.022em; margin: 0; overflow-wrap: anywhere; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card h3 a { color: #15527a !important; text-decoration: none; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card h3 a:hover { text-decoration: underline; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__placement { display: inline-block; float: none; max-width: 100%; margin: 5px 0 0; 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-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__promo { padding: 0; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-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-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__promo-icon { width: 14px; height: 14px; margin-right: 5px; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__welcome-expiry { font-size: 10px; color: #8a4c13; font-weight: 600; background: transparent; padding: 0; border-radius: 0; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__promo-details { margin: 0; padding-top: 8px; border-top: 1px solid #edf1ef; font-size: 12px; line-height: 1.65; color: #536c78; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__promo-details > summary { min-height: 30px; padding: 4px 0; font-size: 11px; line-height: 1.65; color: #446576; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__promo-message { margin: 10px 0; font-size: 12px; line-height: 1.65; font-weight: 400; color: #536c78; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__promo-details > .rb-bbo-card__promo-message { margin: 10px 0; }
/* Approved borderless light-yellow bonus/rebate comparison row. */
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__bonus-rebate { margin: 12px 0 0; padding: 9px 10px; gap: 8px; border: 0; border-radius: 8px; background: #fff8dc; color: #184d6b; text-align: left; align-items: center; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__bonus-rebate dt { font-size: 10px; line-height: 1.45; font-weight: 500; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__bonus-rebate dd { font-size: 14px; line-height: 1.45; font-weight: 650; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__bonus-rebate-plus { font-size: 13px; line-height: 1.5; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__bottom { margin-top: auto; padding: 14px 16px 15px; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__rebate-box { display: grid; gap: 0; padding: 9px 11px; background: #f0f8f2; border-radius: 8px; margin: 0 0 11px; color: #075c45; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__rebate-box > .rb-bbo-card__claim-value { display: flex; align-items: baseline; justify-content: space-between; gap: 0 8px; line-height: 1.5; color: #075c45; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__claim-label { font-size: 12px; font-weight: 600; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__claim-amounts { line-height: 1.2; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__claim-value strong { font-size: 25px; letter-spacing: -.035em; font-weight: 740; line-height: 1.2; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__rebate-box > .rb-bbo-card__expiry { margin-top: 3px; font-size: 10px; line-height: 1.5; color: #765014; font-weight: 650; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__expiry > span { background: transparent; padding: 0; border-radius: 0; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 12px; align-items: start; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-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-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__button:hover { background: #034731; color: #fff !important; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__button > span[aria-hidden] { font-size: 17px; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__button--rebate,
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__button--apply:not(.rb-bbo-card__button--secondary) { grid-column: 1 / -1; grid-row: 1; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-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-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__button--secondary > span[aria-hidden] { font-size: inherit; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__button--secondary:hover { background: transparent; color: #486477 !important; text-decoration: underline !important; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-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-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__learn:hover { text-decoration: underline; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__brand { flex: 0 0 67px; width: 67px; max-width: 100%; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__account-type { display: block; margin: 3px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: #64817a; font-size: 10px; line-height: 1.5; font-weight: 500; letter-spacing: normal; }
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__button--rebate > span:first-child { font-size: 14px; }
@media (max-width: 575px) {
    .rb-bbo.rb-bbo-categoryview-enhanced { --bbo-gap: 16px; }
    .rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__body { padding: 20px 18px 0; }
    .rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__bottom { padding-inline: 18px; }
    .rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card h3 { font-size: 16px; }
    .rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__button--secondary,
    .rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__learn { min-height: 40px; padding-top: 12px; font-size: 11px; }
    .rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__ribbon { padding-inline: 18px; }
    .rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__ribbon-label { font-size: 13px; }
    .rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__rebate-box > .rb-bbo-card__expiry { font-size: 11px; }
}
/* Keep saved 4–6-column layouts usable without changing their card counts. */
@media (min-width: 1200px) {
    .rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--cols-4 .rb-bbo-card__identity { gap: 9px; }
    .rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--cols-5 .rb-bbo-card__identity,
    .rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--cols-6 .rb-bbo-card__identity { flex-wrap: wrap; }
    .rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--cols-5 .rb-bbo-card__identity-copy,
    .rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--cols-6 .rb-bbo-card__identity-copy { flex-basis: 100%; }
    .rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--cols-5 .rb-bbo-card__body,
    .rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--cols-6 .rb-bbo-card__body { padding: 18px 10px 0; }
    .rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--cols-5 .rb-bbo-card__bottom,
    .rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--cols-6 .rb-bbo-card__bottom { padding: 14px 10px 15px; }
    .rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--cols-5 .rb-bbo-card__ribbon,
    .rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--cols-6 .rb-bbo-card__ribbon { padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) { .rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card { transition: none; } }
@media print { .rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card { box-shadow: none; } }



/* Product name and Featured badge start on the same row */
.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__identity-copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) fit-content(45%);
    align-items: start;
    gap: 4px 8px;
}

.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__identity-copy > h3 {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    margin: 0;
}

.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__placement {
    grid-column: 2;
    grid-row: 1;
    order: 0;
    align-self: start;
    justify-self: end;
    position: static;
    float: none;
    margin: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

.rb-bbo.rb-bbo-categoryview-enhanced .rb-bbo-card__identity-meta {
    grid-column: 1 / -1;
    grid-row: 2;
}


/* Contain off-screen content within the banking carousel. */
.rb-bbo.rb-bbo-categoryview-enhanced.rb-bbo--carousel .rb-bbo__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;
}