/* Card-only premium system. Existing catalog filters, artwork and disclosure contracts are retained. */
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium {
 --premium-ink:#102946; --premium-muted:#516780; --premium-blue:#0961da; --premium-line:#dae5f3; --premium-soft:#f3f7fd;
 position:relative; display:flex; flex-direction:column; gap:16px; width:100%; max-width:none; min-height:0; margin:0;
 padding:20px; border:1px solid var(--premium-line); border-radius:26px;
 background:linear-gradient(145deg,#fff 30%,#f7faff); color:var(--premium-ink); box-shadow:0 8px 28px #1434610a;
 overflow:visible; isolation:isolate;
}
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium::before,
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium::after { display:none; }
html :is(#credit-card-offers,#debit-card-offers) .cc-catalog,
html #rko-offers.rko-catalog,html #rko-offers .rko-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .premium-top { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:32px; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium :is(.cc-compare-choice,.rko-compare-choice) { display:inline-flex; align-items:center; gap:9px; min-height:36px; margin:0; padding:0; color:var(--premium-muted); font:600 14px/1.3 inherit; position:static; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium input[type=checkbox] { appearance:auto; width:22px; height:22px; accent-color:#0961da; margin:0; flex:none; cursor:pointer; }
.premium-type { font-size:12px; font-weight:650; color:var(--premium-muted); }
.premium-head { display:block; margin:0; }
.premium-bank { display:flex; align-items:center; gap:11px; min-height:48px; }
.premium-bank-mark { display:grid; place-items:center; width:44px; height:44px; flex:none; border:1px solid #b9d8ff; border-radius:14px; color:#fff; background:linear-gradient(145deg,#38a1ff,#1358eb 70%); box-shadow:0 6px 14px #0961da24; font-size:20px; font-weight:800; }
.premium-bank p { margin:0; color:var(--premium-ink); font-size:16px; font-weight:750; line-height:1.3; }
.premium-bank-mark--long { font-size:13px; letter-spacing:-.035em; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .premium-title { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:4px; align-items:center; min-height:160px; margin:6px 0 0; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .premium-title h3 { grid-column:1; grid-row:1; position:relative; z-index:1; display:block; width:auto; max-width:none; min-height:0; margin:0; padding:0; overflow:visible; white-space:normal; color:var(--premium-ink); font-size:clamp(24px,1.9vw,29px); line-height:1.13; font-weight:800; letter-spacing:-.035em; overflow-wrap:normal; hyphens:none; -webkit-line-clamp:unset; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .premium-art { grid-column:2; grid-row:1; width:116%; max-width:none; height:174px; object-fit:contain; justify-self:end; position:relative; right:-8px; margin:0; filter:none; transform:none; }
html :is(#credit-card-offers,#debit-card-offers) .premium-promo { position:static; display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; gap:6px 10px; width:auto; height:auto; min-height:128px; margin:0; padding:16px 18px; border:1px solid #bde54f; border-radius:18px; box-shadow:inset 0 1px 0 #faffdb,0 8px 18px #84bd1614; background:linear-gradient(115deg,#efffc1,#d6fa70 58%,#b8ee31); color:#193900; }
html :is(#credit-card-offers,#debit-card-offers) .premium-promo::before,
html :is(#credit-card-offers,#debit-card-offers) .premium-promo::after { display:none; }
.premium-promo-label { display:block; font-size:14px; font-weight:650; line-height:1.3; }
html :is(#credit-card-offers,#debit-card-offers) .premium-promo { font-weight:500; letter-spacing:0; text-align:left; }
html :is(#credit-card-offers,#debit-card-offers) .premium-promo > div { text-align:left; }
html :is(#credit-card-offers,#debit-card-offers) .premium-promo strong { display:block; margin:3px 0 0; color:#173500; font-size:42px; font-weight:850; line-height:1.08; letter-spacing:-.035em; white-space:normal; }
html :is(#credit-card-offers,#debit-card-offers) .premium-promo strong small { display:inline; font-size:19px; font-weight:700; letter-spacing:-.02em; }
html :is(#credit-card-offers,#debit-card-offers) .premium-promo > p,
html :is(#credit-card-offers,#debit-card-offers) .premium-promo .cc-visual-orb__copy p { grid-column:1/-1; margin:4px 0 0; color:#2b4614; font-size:13px; line-height:1.4; font-style:normal; font-weight:550; letter-spacing:0; }
.premium-icon { width:30px; height:30px; flex:none; color:var(--premium-blue); }
.premium-promo > .premium-icon { width:42px; height:42px; color:#436b09; }
html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; width:auto; min-height:0; padding:0; margin:0; border:1px solid var(--premium-line); border-radius:18px; overflow:hidden; background:var(--premium-soft); }
html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric:nth-child(n) { display:grid; grid-template-columns:30px minmax(0,1fr); grid-template-rows:auto auto 1fr; align-content:start; align-items:center; gap:8px; min-width:0; min-height:130px; padding:15px 13px; margin:0; border:0; border-right:1px solid var(--premium-line); border-bottom:1px solid var(--premium-line); border-radius:0; text-align:left; background:transparent; }
html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric:nth-child(2n) { border-right:0; }
html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric:nth-last-child(-n+2) { border-bottom:0; }
html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric::before,
html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric::after { display:none; }
html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric > span { grid-column:2; grid-row:1; color:var(--premium-muted); margin:0; font-size:13px; line-height:1.35; font-weight:600; }
html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric > strong { display:block; grid-column:1/-1; grid-row:2; min-height:0; color:var(--premium-ink); margin:0; font-size:23px; line-height:1.2; font-weight:800; letter-spacing:-.035em; white-space:normal; overflow:visible; overflow-wrap:normal; -webkit-line-clamp:unset; }
html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric--text > strong { font-size:18px; line-height:1.3; }
html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric > small { display:block; align-self:start; grid-column:1/-1; grid-row:3; margin:0; color:var(--premium-muted); font-size:12px; line-height:1.4; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .premium-note { display:flex; gap:12px; align-items:flex-start; min-height:94px; padding:16px; border:1px solid var(--premium-line); border-radius:17px; background:linear-gradient(120deg,var(--premium-soft),transparent); }
.premium-note .premium-icon { padding:6px; box-sizing:content-box; border:1px solid #b9d8fb; border-radius:13px; background:#eaf3ff; width:25px; height:25px; }
.premium-note strong { display:block; color:var(--premium-ink); font-size:15px; font-weight:750; line-height:1.35; }
.premium-note p { margin:5px 0 0; color:var(--premium-muted); font-size:13px; line-height:1.45; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium :is(.cc-offer__actions,.rko-offer__actions) { position:static; display:grid; grid-template-columns:.95fr 1.05fr; gap:10px; margin:auto 0 0; padding:0; width:auto; min-height:52px; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium :is(.cc-offer__actions,.rko-offer__actions) > * { display:flex; align-items:center; justify-content:center; gap:0; width:auto; min-width:0; min-height:52px; padding:10px 7px; margin:0; border:1px solid #acc9f3; border-radius:13px; color:var(--premium-blue); background:#fff; opacity:1; font:750 14px/1.3 'Manrope',sans-serif; text-align:center; text-decoration:none; box-shadow:none; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium :is(.cc-offer__actions,.rko-offer__actions) > a { color:#fff; border-color:#0860ec; background:linear-gradient(145deg,#1684ff,#0754ec); box-shadow:0 7px 16px #0861e520; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium :is(.cc-offer__actions,.rko-offer__actions) > *::after { display:none; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium > details.offer-details { margin:0 !important; }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium > details.offer-details > div { padding:0 16px 14px; }
/* Debit: keep the approved stand, spheres and detailed gift raster. */
html #debit-card-offers .bank-premium .premium-title h3 { grid-area:1/1; margin:0; padding:0; max-width:none; font-size:clamp(24px,1.9vw,29px); line-height:1.13; }
html #debit-card-offers .bank-premium .premium-title { min-height:175px; }
html #debit-card-offers .bank-premium .premium-art { height:186px; }
html #debit-card-offers .premium-promo--debit { grid-template-columns:82px minmax(0,1fr); gap:12px; padding:14px; min-height:134px; }
html #debit-card-offers .premium-promo--debit > img { display:block; position:static; width:94px; max-width:none; height:106px; object-fit:contain; margin:0 0 0 -8px; }
html #debit-card-offers .premium-promo--debit .cc-visual-orb__copy { display:block; position:static; padding:0; margin:0; }
html #debit-card-offers .premium-promo--debit strong { font-size:37px; }
html #debit-card-offers .bank-premium .premium-metrics--debit { grid-template-columns:repeat(3,minmax(0,1fr)); }
html #debit-card-offers .bank-premium .premium-metrics--debit .premium-metric:nth-child(n) { display:flex; flex-direction:column; align-items:flex-start; gap:9px; min-height:166px; padding:14px 10px; border:0; border-right:1px solid var(--premium-line); }
html #debit-card-offers .bank-premium .premium-metrics--debit .premium-metric:last-child { border-right:0; }
html #debit-card-offers .bank-premium .premium-metrics--debit .premium-metric > strong { font-size:19px; }
html #debit-card-offers .bank-premium .premium-metrics--debit .premium-metric--text > strong { font-size:16px; }
/* RKO: a genuine generated business illustration, not a CSS bank-card placeholder. */
html #rko-offers .bank-premium .premium-title { grid-template-columns:1fr; gap:10px; min-height:218px; }
html #rko-offers .bank-premium .premium-title h3 { grid-area:1/1; font-size:27px; min-height:32px; }
html #rko-offers .bank-premium .premium-art { grid-area:2/1; justify-self:center; width:200px; max-width:100%; height:184px; right:0; }
html #rko-offers .bank-premium .premium-price { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:7px 10px; margin:0; padding:18px; width:auto; min-height:124px; background:linear-gradient(130deg,#0759e6,#1282f4); border:1px solid #247bf3; border-radius:18px; color:#fff; }
html #rko-offers .bank-premium .premium-price > span { color:#e3efff; font-size:14px; line-height:1.4; }
html #rko-offers .bank-premium .premium-price > strong { color:#fff; font-size:35px; font-weight:800; line-height:1.15; letter-spacing:-.035em; white-space:normal; }
html #rko-offers .bank-premium .premium-price > strong small { display:block; color:#e3efff; font-size:13px; font-weight:600; text-align:right; }
html #rko-offers .bank-premium .premium-price > :is(p,em) { display:block; grid-column:1/-1; color:#e3efff; margin:0; width:auto; max-width:none; min-height:0; background:none; box-shadow:none; font-size:13px; font-weight:500; line-height:1.4; font-style:normal; border:0; padding:0; }
html #rko-offers .bank-premium .premium-operations { display:grid; grid-template-columns:1fr; margin:0; border:1px solid var(--premium-line); border-radius:18px; overflow:hidden; background:var(--premium-soft); }
html #rko-offers .bank-premium .premium-operations > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:5px 12px; align-items:center; min-height:85px; padding:14px 16px; margin:0; border:0; border-bottom:1px solid var(--premium-line); text-align:left; }
html #rko-offers .bank-premium .premium-operations > div:last-child { border:0; }
html #rko-offers .bank-premium .premium-operations span { color:var(--premium-muted); font-size:14px; line-height:1.4; }
html #rko-offers .bank-premium .premium-operations strong { text-align:right; color:var(--premium-ink); font-size:21px; line-height:1.25; letter-spacing:-.025em; }
html #rko-offers .bank-premium .premium-operations small { grid-column:2; text-align:right; color:var(--premium-muted); font-size:13px; line-height:1.35; }
:root[data-theme="dark"] :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium { --premium-ink:#eef5ff; --premium-muted:#b1c5df; --premium-blue:#78b5ff; --premium-line:#324c6d; --premium-soft:#142b46; background:linear-gradient(145deg,#162a45,#0c1d33); box-shadow:0 8px 26px #0002; }
:root[data-theme="dark"] .premium-note .premium-icon { background:#163453; border-color:#3d6392; }
:root[data-theme="dark"] :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium :is(.cc-offer__actions,.rko-offer__actions) > button { color:#a2ceff; background:#132d49; border-color:#486c98; }
:root[data-theme="dark"] :is(#credit-card-offers,#debit-card-offers) .premium-promo { background:linear-gradient(115deg,#d9fba6,#b9e854 60%,#a4d927); border-color:#abd949; box-shadow:inset 0 1px 0 #dbfaa6; }
@media(max-width:1199px) { html :is(#credit-card-offers,#debit-card-offers) .cc-catalog,html #rko-offers.rko-catalog,html #rko-offers .rko-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:739px) {
 html :is(#credit-card-offers,#debit-card-offers) .cc-catalog,html #rko-offers.rko-catalog,html #rko-offers .rko-catalog { grid-template-columns:minmax(0,1fr); }
 html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium { max-width:480px; justify-self:center; padding:20px; }
 html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .premium-title h3 { font-size:29px; }
}
@media(max-width:390px) {
 html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium { padding:15px; gap:14px; border-radius:23px; }
 html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .premium-title h3 { font-size:25px; }
 html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .premium-title { min-height:150px; }
 html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .premium-art { height:157px; right:-5px; }
 html :is(#credit-card-offers,#debit-card-offers) .premium-promo { padding:14px; }
 html :is(#credit-card-offers,#debit-card-offers) .premium-promo strong { font-size:35px; }
 html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric:nth-child(n) { padding:13px 10px; gap:7px; grid-template-columns:25px minmax(0,1fr); }
 html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric > strong { font-size:21px; }
 html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric--text > strong { font-size:17px; }
 html #debit-card-offers .bank-premium .premium-metrics--debit { grid-template-columns:1fr; }
 html #debit-card-offers .bank-premium .premium-metrics--debit .premium-metric:nth-child(n) { display:grid; grid-template-columns:27px minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto; align-items:center; min-height:83px; border-right:0; border-bottom:1px solid var(--premium-line); }
 html #debit-card-offers .bank-premium .premium-metrics--debit .premium-metric:last-child { border-bottom:0; }
 html #debit-card-offers .bank-premium .premium-metrics--debit .premium-metric > span { grid-column:2; grid-row:1; }
 html #debit-card-offers .bank-premium .premium-metrics--debit .premium-metric > strong { grid-column:3; grid-row:1; text-align:right; font-size:19px; }
 html #debit-card-offers .bank-premium .premium-metrics--debit .premium-metric > small { grid-column:2/-1; grid-row:2; }
 html #rko-offers .bank-premium .premium-price { padding:15px 12px; }
 html #rko-offers .bank-premium .premium-price > strong { font-size:30px; }
}
@media(max-width:340px) {
 html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium { padding:13px; }
 html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .premium-title h3 { font-size:21px; }
 html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric:nth-child(n) { grid-template-columns:1fr; }
 html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric > span { grid-column:1; grid-row:2; }
 html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric > strong { grid-row:3; font-size:19px; }
 html :is(#credit-card-offers,#debit-card-offers) .bank-premium .premium-metric > small { grid-row:4; }
 html #debit-card-offers .premium-promo--debit { grid-template-columns:65px minmax(0,1fr); padding:12px; }
 html #debit-card-offers .premium-promo--debit > img { width:80px; }
 html #debit-card-offers .premium-promo--debit strong { font-size:30px; }
 html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium :is(.cc-offer__actions,.rko-offer__actions) > * { font-size:13px; }
 html #rko-offers .bank-premium .premium-operations > div { padding:12px; }
 html #rko-offers .bank-premium .premium-operations strong { font-size:18px; }
}
@media(max-width:390px) { html #debit-card-offers .bank-premium .premium-title h3 { font-size:25px; } }
@media(max-width:340px) { html #debit-card-offers .bank-premium .premium-title h3 { font-size:21px; } }
html #debit-card-offers .premium-promo--words strong { font-size:25px; }
@media(max-width:739px) {
 html #rko-offers .bank-premium .premium-price { grid-template-columns:1fr; gap:7px; }
 html #rko-offers .bank-premium .premium-price > strong small { display:inline; margin-left:5px; text-align:left; }
}
html #rko-offers .bank-premium .premium-price { background:linear-gradient(130deg,#0759d8,#0964d3); }
html :is(#credit-card-offers,#debit-card-offers,#rko-offers) .bank-premium :is(.cc-offer__actions,.rko-offer__actions) > a { background:linear-gradient(145deg,#0870e4,#0754dc); }
@media (min-width:740px) and (max-width:900px), (max-width:390px) {
 html #credit-card-offers .bank-premium .premium-metric:nth-child(n) { grid-template-columns:1fr; }
 html #credit-card-offers .bank-premium .premium-metric > span { grid-column:1; grid-row:2; }
 html #credit-card-offers .bank-premium .premium-metric > strong { grid-row:3; font-size:19px; }
 html #credit-card-offers .bank-premium .premium-metric--text > strong { font-size:17px; }
 html #credit-card-offers .bank-premium .premium-metric > small { grid-row:4; }
 html #rko-offers .bank-premium .premium-price { grid-template-columns:1fr; gap:7px; }
 html #rko-offers .bank-premium .premium-price > strong small { display:inline; text-align:left; margin-left:5px; }
 html #rko-offers .bank-premium .premium-title h3 { font-size:24px; }
}
