:root {
	--cb-ink: #15323a;
	--cb-ink-soft: #385159;
	--cb-green: #087b67;
	--cb-green-dark: #055f51;
	--cb-blue: #1f6f8b;
	--cb-yellow: #f4c14d;
	--cb-coral: #d85c45;
	--cb-paper: #ffffff;
	--cb-surface: #f4f7f6;
	--cb-surface-strong: #e9f0ee;
	--cb-border: #d7e1de;
	--cb-muted: #63757b;
	--cb-shadow: 0 8px 26px rgba(21, 50, 58, 0.09);
	--cb-width: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.coupon-bank-theme { max-width: 100%; margin: 0; overflow-x: hidden; color: var(--cb-ink); background: var(--cb-paper); font-family: "DM Sans", Arial, sans-serif; font-size: 16px; line-height: 1.6; letter-spacing: 0; }
body.coupon-bank-theme img { max-width: 100%; height: auto; }
body.coupon-bank-theme a { color: var(--cb-green-dark); text-decoration: none; }
body.coupon-bank-theme a:hover { color: var(--cb-coral); }
body.coupon-bank-theme h1, body.coupon-bank-theme h2, body.coupon-bank-theme h3 { margin-block: 0 12px; color: var(--cb-ink); font-family: "Manrope", Arial, sans-serif; line-height: 1.18; letter-spacing: 0; }
body.coupon-bank-theme h1 { font-size: 46px; }
body.coupon-bank-theme h2 { font-size: 30px; }
body.coupon-bank-theme h3 { font-size: 19px; }
body.coupon-bank-theme p { margin-block: 0 16px; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.cbank-container { width: min(calc(100% - 40px), var(--cb-width)); margin-inline: auto; }
.cbank-main { min-height: 60vh; }
.cbank-skip-link { position: fixed; inset-block-start: 10px; inset-inline-start: 10px; z-index: 9999; padding: 10px 16px; background: var(--cb-paper); border: 2px solid var(--cb-green); transform: translateY(-150%); }
.cbank-skip-link:focus { transform: translateY(0); }

.cbank-topbar { color: #fff; background: var(--cb-ink); font-size: 13px; }
.cbank-topbar__inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.cbank-topbar .dashicons { width: 16px; height: 16px; margin-inline-end: 5px; font-size: 16px; vertical-align: text-bottom; color: var(--cb-yellow); }
.cbank-header { position: relative; z-index: 20; background: var(--cb-paper); border-bottom: 1px solid var(--cb-border); box-shadow: 0 3px 14px rgba(21, 50, 58, 0.05); }
.cbank-header__main { min-height: 90px; display: grid; grid-template-columns: 260px minmax(280px, 1fr) auto; gap: 24px; align-items: center; }
.cbank-logo { display: inline-flex; align-items: center; }
.cbank-logo img { display: block; max-width: 100%; width: auto; height: 62px; object-fit: contain; }
.cbank-header-search, .cbank-hero-search, .cbank-directory-search { min-height: 48px; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; padding-inline-start: 14px; overflow: hidden; background: var(--cb-surface); border: 1px solid var(--cb-border); border-radius: 6px; }
.cbank-header-search:focus-within, .cbank-hero-search:focus-within, .cbank-directory-search:focus-within { border-color: var(--cb-green); box-shadow: 0 0 0 3px rgba(8, 123, 103, 0.14); }
.cbank-header-search .dashicons, .cbank-hero-search .dashicons, .cbank-directory-search .dashicons { color: var(--cb-muted); }
.cbank-header-search input, .cbank-hero-search input, .cbank-directory-search input { min-width: 0; height: 46px; padding: 0 8px; color: var(--cb-ink); background: transparent; border: 0; outline: 0; }
.cbank-header-search button, .cbank-hero-search button, .cbank-directory-search button { align-self: stretch; padding-inline: 21px; color: #fff; background: var(--cb-green); border: 0; font-weight: 700; cursor: pointer; }
.cbank-header-search button:hover, .cbank-hero-search button:hover, .cbank-directory-search button:hover { background: var(--cb-green-dark); }
.cbank-region-select select { width: 148px; height: 46px; padding-inline: 12px 30px; color: var(--cb-ink); background: var(--cb-paper); border: 1px solid var(--cb-border); border-radius: 6px; }
.cbank-menu-toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--cb-ink); background: var(--cb-paper); border: 1px solid var(--cb-border); border-radius: 6px; cursor: pointer; }
.cbank-nav { border-top: 1px solid var(--cb-border); }
.cbank-menu { min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 42px; margin: 0; padding: 0; list-style: none; }
.cbank-menu a { display: flex; align-items: center; min-height: 50px; color: var(--cb-ink); font-size: 14px; font-weight: 700; }
.cbank-menu a::after { content: ""; position: absolute; inset-inline: 0; inset-block-end: 7px; height: 2px; background: var(--cb-green); transform: scaleX(0); transition: transform 180ms ease; }
.cbank-menu a { position: relative; }
.cbank-menu a:hover, .cbank-menu .current-menu-item > a, .cbank-menu a.is-current { color: var(--cb-green); }
.cbank-menu a.is-current::after { transform: scaleX(1); }
.cbank-menu a:hover::after { transform: scaleX(1); }

.cbank-hero { position: relative; min-height: 410px; display: flex; align-items: center; overflow: hidden; background-color: var(--cb-ink); background-image: url("../images/hero-shopping.jpg"); background-position: center; background-size: cover; }
.cbank-hero__backdrop { position: absolute; inset: 0; background: rgba(10, 36, 43, 0.74); }
.cbank-hero__content { position: relative; z-index: 1; padding-block: 68px; color: #fff; }
body.coupon-bank-theme .cbank-hero h1 { max-width: 700px; margin-bottom: 12px; color: #fff; font-size: 60px; }
.cbank-hero__content > p { max-width: 650px; margin-bottom: 28px; color: #edf5f3; font-size: 20px; }
.cbank-eyebrow, .cbank-kicker { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 10px; color: var(--cb-green); font-size: 12px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.cbank-eyebrow { color: var(--cb-yellow); }
.cbank-hero-search { width: min(720px, 100%); min-height: 58px; background: #fff; border: 0; }
.cbank-hero-search input { height: 56px; font-size: 16px; }
.cbank-hero-search button { padding-inline: 28px; }
.cbank-hero__trust { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 20px; color: #dfeae7; font-size: 13px; }
.cbank-hero__trust span { display: inline-flex; align-items: center; gap: 5px; }
.cbank-hero__trust .dashicons { color: var(--cb-yellow); font-size: 17px; }

.cbank-home-hero { position: relative; overflow: hidden; background: #eefaf6; border-bottom: 1px solid #dcefe8; }
.cbank-home-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; }
.cbank-home-hero__inner { position: relative; z-index: 1; min-height: 350px; display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 36px; align-items: center; }
.cbank-home-hero__copy { padding-block: 48px; }
.cbank-home-hero__copy h1 { margin-bottom: 12px; color: #075f51; font-size: 45px; line-height: 1.08; }
.cbank-home-hero__copy > p { max-width: 570px; margin-bottom: 22px; color: #456771; font-size: 16px; }
.cbank-home-hero .cbank-eyebrow { margin-bottom: 12px; padding: 5px 10px; color: var(--cb-green-dark); background: #d9f2e8; border-radius: 18px; text-transform: none; }
.cbank-home-hero__trust { display: flex; flex-wrap: wrap; gap: 18px 28px; }
.cbank-home-hero__trust > span { display: inline-flex; align-items: center; gap: 8px; color: var(--cb-ink); }
.cbank-home-hero__trust i { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; color: var(--cb-green); background: #d2f1e3; border-radius: 50%; font-size: 18px; }
.cbank-home-hero__trust strong { display: block; font-size: 12px; }
.cbank-home-hero__trust small { display: block; color: var(--cb-muted); font-size: 10px; font-weight: 500; }
.cbank-home-hero__art { position: relative; height: 285px; }
.cbank-home-hero__bag { position: absolute; display: block; border-radius: 20px 20px 28px 28px; box-shadow: 0 18px 30px rgba(21, 50, 58, .13); animation: cbank-float 4s ease-in-out infinite; }
.cbank-home-hero__bag::before { content: ""; position: absolute; width: 55%; height: 46px; inset: -30px auto auto 23%; border: 8px solid currentColor; border-bottom: 0; border-radius: 45px 45px 0 0; opacity: .9; }
.cbank-home-hero__bag--green { width: 180px; height: 150px; inset: 76px auto auto 78px; color: #087b67; background: #0aa675; transform: rotate(-8deg); }
.cbank-home-hero__bag--green::after { content: "%"; position: absolute; inset: 24px 0 auto; color: #fff; font-family: "Manrope", Arial, sans-serif; font-size: 76px; font-weight: 800; text-align: center; }
.cbank-home-hero__bag--yellow { width: 112px; height: 150px; inset: 92px 42px auto auto; color: #dfaa20; background: #f5bf24; transform: rotate(8deg); animation-delay: .5s; }
.cbank-home-hero__bag--pink { width: 90px; height: 82px; inset: 181px auto auto 205px; color: #d85c45; background: #e86d6d; border-radius: 12px 12px 20px 20px; transform: rotate(3deg); animation-delay: .9s; }
.cbank-home-hero__ticket { position: absolute; z-index: 2; width: 58px; height: 58px; display: flex; align-items: center; justify-content: center; color: #fff; background: #15a878; border-radius: 12px; font-family: "Manrope", Arial, sans-serif; font-size: 30px; font-weight: 800; transform: rotate(-18deg); animation: cbank-float 3.5s ease-in-out infinite; }
.cbank-home-hero__ticket--one { inset: 29px auto auto 38px; }
.cbank-home-hero__spark { position: absolute; z-index: 3; color: #09a36c; font-size: 22px; font-weight: 800; animation: cbank-spark 2.4s ease-in-out infinite; }
.cbank-home-hero__spark--one { inset: 35px 120px auto auto; }
.cbank-home-hero__spark--two { inset: 153px auto auto 12px; animation-delay: .8s; }
.cbank-home-hero__art em { position: absolute; inset: 38px 0 auto auto; color: #087b67; font-family: "Manrope", Arial, sans-serif; font-size: 22px; font-style: italic; font-weight: 800; line-height: 1.08; transform: rotate(-7deg); }
.cbank-home-hero__dots { position: absolute; z-index: 2; inset: auto 0 13px; display: flex; justify-content: center; gap: 7px; }
.cbank-home-hero__dots i, .cbank-home-hero__dots b { width: 8px; height: 8px; display: block; background: #d1e6df; border-radius: 50%; }
.cbank-home-hero__dots b { width: 23px; background: var(--cb-green); border-radius: 8px; }
.cbank-featured-section { padding-block: 26px 52px; }
.cbank-featured-intro { position: relative; min-height: 176px; display: grid; grid-template-columns: minmax(0, 1fr) 285px auto; gap: 20px; align-items: center; overflow: hidden; margin-bottom: 22px; padding: 28px 34px; background: #effaf6; border: 1px solid #dcefe8; border-radius: 16px; }
.cbank-featured-intro::before { content: ""; position: absolute; inset: 0; background: url("../images/hero-shopping.jpg") 82% center / 42% auto no-repeat; opacity: .08; mix-blend-mode: multiply; pointer-events: none; }
.cbank-featured-intro > div:first-child, .cbank-featured-intro > .cbank-text-link { position: relative; z-index: 1; }
.cbank-featured-intro h2 { margin: 10px 0 7px; color: #15323a; font-size: 39px; line-height: 1.08; }
.cbank-featured-intro p { margin: 0; color: #55727b; font-size: 14px; line-height: 1.55; }
.cbank-featured-intro .cbank-kicker { display: inline-flex; align-items: center; gap: 7px; margin: 0; padding: 7px 12px; color: #087b67; background: #c9f4e3; border-radius: 20px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; }
.cbank-featured-intro .cbank-kicker .dashicons { font-size: 16px; }
.cbank-featured-intro > .cbank-text-link { align-self: start; margin-top: 18px; white-space: nowrap; }
.cbank-featured-intro__art { position: relative; z-index: 1; height: 145px; }
.cbank-featured-intro__art::before { content: "%"; position: absolute; top: 25px; left: 68px; width: 100px; height: 78px; display: grid; place-items: center; color: #fff; background: #08a878; border-radius: 14px 14px 22px 22px; box-shadow: 0 14px 20px rgba(8, 123, 103, .18); font-size: 54px; font-weight: 800; transform: rotate(-10deg); animation: cbank-float 4s ease-in-out infinite; }
.cbank-featured-intro__art .dashicons-tag { position: absolute; top: 2px; left: 43px; z-index: 2; color: #0c8f72; font-size: 32px; transform: rotate(-22deg); }
.cbank-featured-intro__art .dashicons-cart { position: absolute; right: 14px; bottom: 13px; width: 75px; height: 75px; display: grid; place-items: center; color: #8d6810; background: #f6c327; border-radius: 15px 15px 22px 22px; font-size: 42px; box-shadow: 0 12px 20px rgba(210, 161, 20, .18); transform: rotate(8deg); animation: cbank-float 4s ease-in-out .6s infinite; }
.cbank-featured-section .cbank-coupon-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.cbank-featured-section .cbank-coupon-card { position: relative; min-height: 300px; display: flex; flex-direction: column; gap: 10px; overflow: hidden; padding: 20px; border: 1px solid #d9edf0; border-radius: 17px; background: #edf9ff; box-shadow: 0 12px 22px rgba(20, 79, 91, .08); transition: transform .25s ease, box-shadow .25s ease; }
.cbank-featured-section .cbank-coupon-card:hover { transform: translateY(-5px); box-shadow: 0 18px 30px rgba(20, 79, 91, .14); }
.cbank-featured-section .cbank-coupon-card:nth-child(3n + 2) { background: #f7f0ff; border-color: #e9ddfa; }
.cbank-featured-section .cbank-coupon-card:nth-child(3n + 3) { background: #effbf7; border-color: #d8f0e7; }
.cbank-featured-section .cbank-coupon-card:nth-child(4n) { background: #fff3ed; border-color: #f7e0d4; }
.cbank-featured-section .cbank-coupon-card::after { content: ""; position: absolute; width: 170px; height: 170px; right: -44px; top: -52px; border-radius: 50%; background: rgba(255,255,255,.36); pointer-events: none; }
.cbank-featured-section .cbank-coupon-brand { position: relative; z-index: 1; width: calc(100% - 112px); min-height: 62px; padding: 0 0 8px; border: 0; }
.cbank-featured-section .cbank-coupon-brand .cbank-brand-mark { width: 56px; height: 56px; border-radius: 12px; }
.cbank-featured-section .cbank-coupon-copy { position: relative; z-index: 1; flex: 1; width: calc(100% - 94px); }
.cbank-featured-section .cbank-coupon-copy h3 { font-size: 18px; line-height: 1.25; }
.cbank-featured-section .cbank-coupon-copy p { font-size: 13px; line-height: 1.45; }
.cbank-featured-section .cbank-coupon-meta { gap: 10px; }
.cbank-featured-section .cbank-coupon-action { position: relative; z-index: 1; grid-template-columns: auto auto; align-items: center; justify-content: space-between; text-align: start; }
.cbank-featured-section .cbank-coupon-action .cbank-button { min-height: 46px; padding: 10px 18px; border-radius: 24px; font-size: 13px; }
.cbank-featured-section .cbank-coupon-action small { order: -1; justify-self: start; padding: 7px 10px; color: #25617b; background: rgba(255,255,255,.62); border: 1px solid rgba(63, 147, 164, .18); border-radius: 18px; font-size: 11px; font-weight: 700; }
.cbank-featured-section .cbank-deal-art { position: absolute; z-index: 1; top: 30px; right: 20px; width: 102px; height: 102px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.58); transform: rotate(-5deg); }
.cbank-featured-section .cbank-deal-art .dashicons { width: 67px; height: 67px; color: #1687a5; font-size: 67px; }
.cbank-featured-section .cbank-coupon-card:nth-child(3n + 2) .cbank-deal-art .dashicons { color: #8757d8; }
.cbank-featured-section .cbank-coupon-card:nth-child(3n + 3) .cbank-deal-art .dashicons { color: #149b7a; }
.cbank-featured-section .cbank-coupon-card:nth-child(4n) .cbank-deal-art .dashicons { color: #e26e44; }
.cbank-featured-heading { margin-bottom: 30px; }
.cbank-featured-heading h2 { font-size: 34px; }
.cbank-featured-section .cbank-coupon-list { grid-template-columns: 1fr; gap: 16px; }
.cbank-featured-section .cbank-coupon-card { display: grid; grid-template-columns: 190px minmax(0, 1fr) 150px; gap: 22px; align-items: center; min-height: 164px; padding: 22px; border: 1px solid var(--cb-border); border-radius: 8px; background: var(--cb-paper); box-shadow: 0 2px 8px rgba(21, 50, 58, .04); }
.cbank-featured-section .cbank-coupon-card:hover { transform: translateY(-2px); box-shadow: var(--cb-shadow); }
.cbank-featured-section .cbank-coupon-card:nth-child(3n + 2), .cbank-featured-section .cbank-coupon-card:nth-child(3n + 3), .cbank-featured-section .cbank-coupon-card:nth-child(4n) { background: var(--cb-paper); border-color: var(--cb-border); }
.cbank-featured-section .cbank-coupon-card::after, .cbank-featured-section .cbank-deal-art { display: none; }
.cbank-featured-section .cbank-coupon-brand { width: auto; min-height: 0; padding: 0; border: 0; }
.cbank-featured-section .cbank-coupon-brand .cbank-brand-mark { width: 66px; height: 66px; border-radius: 8px; }
.cbank-featured-section .cbank-coupon-copy { position: static; width: auto; padding: 0; }
.cbank-featured-section .cbank-coupon-copy h3 { font-size: 19px; }
.cbank-featured-section .cbank-coupon-copy p { font-size: 14px; }
.cbank-featured-section .cbank-coupon-action { position: static; grid-template-columns: 1fr; gap: 7px; text-align: center; }
.cbank-featured-section .cbank-coupon-action .cbank-button { min-height: 46px; padding: 10px 18px; border-radius: 6px; }
.cbank-featured-section .cbank-coupon-action small { order: initial; padding: 0; color: var(--cb-muted); background: transparent; border: 0; border-radius: 0; font-size: 11px; font-weight: 500; }
.cbank-home-trust { position: relative; overflow: hidden; padding-block: 25px; background: #effaf6; border-top: 1px solid #dcefe8; border-bottom: 1px solid #dcefe8; }
.cbank-home-trust::after { content: ""; position: absolute; width: 240px; height: 100px; inset: auto -35px -45px auto; background: #a8e5cf; border-radius: 60% 0 0; opacity: .55; }
.cbank-home-trust__inner { display: grid; grid-template-columns: repeat(3, 1fr) 1.2fr; align-items: center; gap: 22px; }
.cbank-home-trust__inner > span { display: flex; align-items: center; gap: 10px; }
.cbank-home-trust__inner > span + span { border-inline-start: 1px solid #c9e4db; padding-inline-start: 22px; }
.cbank-home-trust__inner i { color: var(--cb-green); font-size: 26px; }
.cbank-home-trust__inner strong { display: block; font-size: 13px; }
.cbank-home-trust__inner small { display: block; color: var(--cb-muted); font-size: 11px; font-weight: 500; }
.cbank-home-trust__inner em { color: var(--cb-green-dark); font-family: "Manrope", Arial, sans-serif; font-size: 14px; font-style: italic; font-weight: 800; text-align: center; transform: rotate(-3deg); }

@keyframes cbank-float {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -8px; }
}
@keyframes cbank-spark {
	0%, 100% { opacity: .45; transform: scale(.85) rotate(-10deg); }
	50% { opacity: 1; transform: scale(1.15) rotate(8deg); }
}

.cbank-section { padding-block: 72px; }
.cbank-section--soft { background: var(--cb-surface); }
.cbank-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.cbank-section-heading h2 { margin-bottom: 0; }
.cbank-text-link { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.cbank-text-link .dashicons { font-size: 17px; }
.cbank-coupon-list { display: grid; gap: 16px; }
.cbank-coupon-card { display: grid; grid-template-columns: 190px minmax(0, 1fr) 150px; gap: 22px; align-items: center; min-height: 164px; padding: 22px; background: var(--cb-paper); border: 1px solid var(--cb-border); border-radius: 8px; box-shadow: 0 2px 8px rgba(21, 50, 58, 0.04); transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; animation: cbank-reveal 420ms ease both; }
.cbank-coupon-card .cbank-deal-art { display: none; }
.cbank-coupon-card.is-compact { grid-template-columns: 190px minmax(0, 1fr) 150px; min-height: 164px; padding: 22px; }
.cbank-search-results .cbank-coupon-card, .cbank-directory-results .cbank-coupon-card, .cbank-content-with-sidebar .cbank-coupon-card { grid-template-columns: 190px minmax(0, 1fr) 150px; min-height: 164px; padding: 22px; }
.cbank-coupon-card:hover { border-color: #a9c6be; box-shadow: var(--cb-shadow); transform: translateY(-2px); }
.cbank-coupon-card.is-expired { opacity: 0.68; }
.cbank-coupon-brand { display: flex; align-items: center; gap: 13px; min-width: 0; }
.cbank-brand-mark { --brand-colour: var(--cb-green); flex: 0 0 auto; width: 66px; height: 66px; display: inline-flex; align-items: center; justify-content: center; color: #fff !important; background: var(--brand-colour); border-radius: 8px; font-family: "Manrope", Arial, sans-serif; font-size: 20px; font-weight: 800; line-height: 1; }
.cbank-brand-mark.has-image { overflow: hidden; background: #fff; border: 1px solid var(--cb-border); }
.cbank-brand-mark img { width: 100%; height: 100%; display: block; object-fit: contain; }
.cbank-brand-mark--large { width: 98px; height: 98px; font-size: 30px; }
.cbank-brand-name { display: block; margin-bottom: 7px; overflow: hidden; color: var(--cb-ink) !important; font-weight: 800; text-overflow: ellipsis; }
.cbank-verified { display: inline-flex; align-items: center; gap: 3px; color: var(--cb-green-dark); font-size: 12px; font-weight: 800; }
.cbank-verified .dashicons { width: 16px; height: 16px; font-size: 16px; }
.cbank-discount { display: inline-block; margin-bottom: 7px; padding: 3px 8px; color: #7b4b00; background: #fff2c8; border: 1px solid #f5d780; border-radius: 4px; font-size: 12px; font-weight: 800; }
.cbank-coupon-copy h3 { margin-bottom: 7px; }
.cbank-coupon-copy h3 a { color: var(--cb-ink); }
.cbank-coupon-copy p { margin-bottom: 10px; color: var(--cb-ink-soft); font-size: 14px; }
.cbank-coupon-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--cb-muted); font-size: 12px; font-weight: 600; }
.cbank-coupon-meta span:first-child { color: var(--cb-blue); }
.cbank-coupon-action { display: grid; justify-items: stretch; gap: 7px; text-align: center; }
.cbank-coupon-action small { color: var(--cb-muted); font-size: 11px; }
.cbank-button { position: relative; isolation: isolate; overflow: hidden; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 18px; color: #fff !important; background: var(--cb-green); border: 1px solid var(--cb-green); border-radius: 6px; font-weight: 800; line-height: 1.2; cursor: pointer; transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, border-color .22s ease; }
.cbank-button::before { content: ""; position: absolute; z-index: -1; inset: 0 auto 0 -75%; width: 52%; background: linear-gradient(105deg, transparent, rgba(255,255,255,.34), transparent); transform: skewX(-18deg); animation: cbank-button-shine 4.8s ease-in-out infinite; pointer-events: none; }
.cbank-button:hover { color: #fff !important; background: var(--cb-green-dark); border-color: var(--cb-green-dark); transform: translateY(-3px); box-shadow: 0 10px 22px rgba(8, 123, 103, .22); }
.cbank-button:active { transform: translateY(-1px) scale(.98); }
.cbank-button .dashicons { position: relative; z-index: 1; }
.cbank-coupon-action small { display: none !important; }
.cbank-button--accent { color: var(--cb-ink) !important; background: var(--cb-yellow); border-color: var(--cb-yellow); }
.cbank-button--accent:hover { color: var(--cb-ink) !important; background: #e4ad2d; border-color: #e4ad2d; }
.cbank-button.is-disabled, .cbank-button[aria-disabled="true"] { pointer-events: none; background: var(--cb-muted); border-color: var(--cb-muted); }
.cbank-button .dashicons { width: 18px; height: 18px; font-size: 18px; }

.cbank-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cbank-category-tile { min-height: 100px; display: grid; grid-template-columns: 48px minmax(0, 1fr) 22px; gap: 14px; align-items: center; padding: 18px; color: var(--cb-ink) !important; background: var(--cb-paper); border: 1px solid var(--cb-border); border-radius: 8px; transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.cbank-category-tile:hover { border-color: var(--cb-green); box-shadow: var(--cb-shadow); transform: translateY(-3px); }
.cbank-category-tile__icon { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: var(--cb-green-dark); background: #dff0eb; border-radius: 6px; }
.cbank-category-tile__icon .dashicons { width: 24px; height: 24px; font-size: 24px; }
.cbank-category-tile strong, .cbank-category-tile small { display: block; }
.cbank-category-tile small { margin-top: 3px; color: var(--cb-muted); }
.cbank-category-tile > .dashicons { color: var(--cb-muted); }
.cbank-section--soft .cbank-category-tile { min-height: 106px; grid-template-columns: 54px minmax(0, 1fr) 22px; gap: 14px; padding: 18px; border-radius: 12px; background: #effbf4; border-color: #d6f0e0; }
.cbank-section--soft .cbank-category-tile__icon { width: 54px; height: 54px; border-radius: 50%; color: #fff; background: var(--cb-green); }
.cbank-section--soft .cbank-category-tile__icon .dashicons { width: 26px; height: 26px; font-size: 26px; }
.cbank-section--soft .cbank-category-tile:nth-child(6n + 2) { background: #fff1f5; border-color: #f6d8e2; }
.cbank-section--soft .cbank-category-tile:nth-child(6n + 2) .cbank-category-tile__icon { background: #ee3f67; }
.cbank-section--soft .cbank-category-tile:nth-child(6n + 3) { background: #f3efff; border-color: #e1d7ff; }
.cbank-section--soft .cbank-category-tile:nth-child(6n + 3) .cbank-category-tile__icon { background: #613ee6; }
.cbank-section--soft .cbank-category-tile:nth-child(6n + 4) { background: #fff8e7; border-color: #f4e5b9; }
.cbank-section--soft .cbank-category-tile:nth-child(6n + 4) .cbank-category-tile__icon { background: #f0a00c; }
.cbank-section--soft .cbank-category-tile:nth-child(6n + 5) { background: #eefaff; border-color: #d2edf4; }
.cbank-section--soft .cbank-category-tile:nth-child(6n + 5) .cbank-category-tile__icon { background: #149bb0; }
.cbank-section--soft .cbank-category-tile:nth-child(6n) { background: #fff1f0; border-color: #f4d9d8; }
.cbank-section--soft .cbank-category-tile:nth-child(6n) .cbank-category-tile__icon { background: #ef4d57; }
.cbank-brand-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.cbank-brand-tile { min-height: 172px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; padding: 18px 12px; color: var(--cb-ink) !important; text-align: center; background: var(--cb-paper); border: 1px solid var(--cb-border); border-radius: 8px; transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; animation: cbank-reveal 460ms ease both; }
.cbank-brand-tile:hover { border-color: var(--cb-green); box-shadow: var(--cb-shadow); transform: translateY(-4px); }
.cbank-brand-tile .cbank-brand-mark { width: 96px; height: 72px; }
.cbank-brand-tile small { color: var(--cb-muted); font-size: 12px; }

.cbank-region-band { padding-block: 68px; color: #fff; background: var(--cb-blue); }
.cbank-region-band__inner { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 70px; align-items: center; }
.cbank-region-band .cbank-kicker { color: var(--cb-yellow); }
body.coupon-bank-theme .cbank-region-band h2 { color: #fff; }
.cbank-region-band p { color: #e6f2f5; }
.cbank-region-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cbank-region-list a { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; color: #fff !important; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.24); border-radius: 6px; }
.cbank-region-list a:hover { background: rgba(255, 255, 255, 0.19); }
.cbank-region-list span { color: var(--cb-yellow); font-weight: 800; }
.cbank-newsletter-section { padding-block: 60px; background: #edf4f1; border-top: 1px solid var(--cb-border); }
.cbank-newsletter-section__inner { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 70px; align-items: center; }
.cbank-newsletter-section h2 { margin-bottom: 8px; }
.cbank-newsletter-section p { color: var(--cb-ink-soft); }
.cbank-inline-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.cbank-inline-form input { min-width: 0; height: 50px; padding-inline: 15px; background: #fff; border: 1px solid var(--cb-border); border-radius: 6px; }
.cbank-newsletter-section small { display: block; margin-top: 8px; color: var(--cb-muted); }

.cbank-page-hero { padding-block: 62px; background: var(--cb-surface); border-bottom: 1px solid var(--cb-border); }
.cbank-page-hero--compact { padding-block: 50px; }
.cbank-page-hero h1 { max-width: 850px; margin-bottom: 10px; }
.cbank-page-hero p, .cbank-page-hero__copy { max-width: 720px; color: var(--cb-ink-soft); }
.cbank-directory-search { width: min(640px, 100%); margin-top: 24px; background: #fff; }
.cbank-directory-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 34px; align-items: start; }
.cbank-filter-panel { position: sticky; top: 20px; padding: 20px; background: var(--cb-surface); border: 1px solid var(--cb-border); border-radius: 8px; }
.cbank-filter-panel h2 { margin-bottom: 10px; font-size: 16px; }
.cbank-filter-panel h2:not(:first-child) { margin-top: 24px; }
.cbank-filter-panel ul { margin: 0; padding: 0; list-style: none; }
.cbank-filter-panel li + li { border-top: 1px solid var(--cb-border); }
.cbank-filter-panel a { display: flex; justify-content: space-between; gap: 12px; padding-block: 9px; color: var(--cb-ink); font-size: 14px; }
.cbank-filter-panel small { color: var(--cb-muted); }
.cbank-filter-panel label { display: block; margin-top: 14px; color: var(--cb-ink-soft); font-size: 13px; font-weight: 700; }
.cbank-filter-panel select { width: 100%; height: 42px; margin-top: 5px; padding-inline: 10px; color: var(--cb-ink); background: #fff; border: 1px solid var(--cb-border); border-radius: 5px; }
.cbank-filter-panel .cbank-button { width: 100%; margin-top: 18px; }
.cbank-filter-reset { display: block; margin-top: 10px; text-align: center; font-size: 13px; font-weight: 700; }
.cbank-results-bar { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 16px; color: var(--cb-muted); font-size: 13px; }
.cbank-results-bar strong { color: var(--cb-ink); }
.nav-links { display: flex; justify-content: center; gap: 7px; margin-top: 28px; }
.nav-links .page-numbers { min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; padding-inline: 8px; color: var(--cb-ink); background: #fff; border: 1px solid var(--cb-border); border-radius: 5px; }
.nav-links .current { color: #fff; background: var(--cb-green); border-color: var(--cb-green); }

.cbank-alpha-nav { display: grid; grid-template-columns: repeat(14, minmax(34px, 1fr)); gap: 5px; margin-bottom: 12px; }
.cbank-alpha-nav button { height: 40px; display: flex; align-items: center; justify-content: center; padding: 0 6px; color: var(--cb-ink); background: var(--cb-surface); border: 1px solid var(--cb-border); border-radius: 4px; font-weight: 700; cursor: pointer; transition: color 160ms ease, background 160ms ease, transform 160ms ease; }
.cbank-alpha-nav button:hover, .cbank-alpha-nav button.is-active { color: #fff; background: var(--cb-green); border-color: var(--cb-green); transform: translateY(-1px); }
.cbank-brand-filter-status { min-height: 22px; margin: 0 0 18px; color: var(--cb-muted); font-size: 13px; font-weight: 700; }
.cbank-brand-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cbank-brand-directory__item { min-height: 112px; display: grid; grid-template-columns: 66px minmax(0, 1fr) 24px; gap: 16px; align-items: center; padding: 18px; color: var(--cb-ink) !important; border: 1px solid var(--cb-border); border-radius: 8px; }
.cbank-brand-directory__item[hidden] { display: none; }
.cbank-brand-directory__item:hover { border-color: var(--cb-green); box-shadow: var(--cb-shadow); }
.cbank-brand-directory__item strong, .cbank-brand-directory__item small { display: block; }
.cbank-brand-directory__item small { margin-top: 4px; color: var(--cb-muted); }
.cbank-brand-filter-empty { padding: 70px 20px; text-align: center; background: var(--cb-surface); border: 1px solid var(--cb-border); border-radius: 8px; }
.cbank-brand-filter-empty[hidden] { display: none; }
.cbank-brand-filter-empty .dashicons { width: 34px; height: 34px; color: var(--cb-green); font-size: 34px; }
.cbank-category-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cbank-category-directory__item { min-height: 106px; display: grid; grid-template-columns: 48px minmax(0, 1fr) 22px; gap: 14px; align-items: center; padding: 18px; color: var(--cb-ink) !important; background: var(--cb-paper); border: 1px solid var(--cb-border); border-radius: 8px; transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.cbank-category-directory__item:hover { border-color: var(--cb-green); box-shadow: var(--cb-shadow); transform: translateY(-3px); }
.cbank-category-directory__item[hidden] { display: none; }
.cbank-category-directory__item strong, .cbank-category-directory__item small { display: block; }
.cbank-category-directory__item small { margin-top: 4px; color: var(--cb-muted); }
.cbank-category-filter-status { min-height: 22px; margin: 0 0 18px; color: var(--cb-muted); font-size: 13px; font-weight: 700; }
.cbank-category-filter-empty { padding: 70px 20px; text-align: center; background: var(--cb-surface); border: 1px solid var(--cb-border); border-radius: 8px; }
.cbank-category-filter-empty[hidden] { display: none; }
.cbank-category-filter-empty .dashicons { width: 34px; height: 34px; color: var(--cb-green); font-size: 34px; }
.cbank-category-hero { position: relative; overflow: hidden; background: #edf8f3; border-bottom: 1px solid #d7ece3; }
.cbank-category-hero::after { content: ""; position: absolute; inset: 0 0 0 54%; background: url("../images/hero-shopping.jpg") center 46% / cover; opacity: .09; mix-blend-mode: multiply; pointer-events: none; }
.cbank-category-hero__inner { position: relative; z-index: 1; min-height: 230px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.cbank-category-hero h1 { margin-bottom: 5px; color: #142e45; font-size: 42px; }
.cbank-category-hero p { max-width: 690px; margin-bottom: 10px; color: #526f7c; }
.cbank-category-hero .cbank-kicker { color: var(--cb-green-dark); }
.cbank-category-hero__promise { display: flex; align-items: center; gap: 10px; color: var(--cb-green-dark); font-family: "Manrope", Arial, sans-serif; font-size: 14px; font-style: italic; font-weight: 800; }
.cbank-category-hero__promise i { width: 5px; height: 5px; display: inline-block; background: var(--cb-green); border-radius: 50%; }
.cbank-category-hero__art { position: relative; width: 270px; height: 180px; flex: 0 0 270px; }
.cbank-category-hero__art .dashicons { position: absolute; display: flex; align-items: center; justify-content: center; color: #fff; border-radius: 18px; box-shadow: 0 12px 26px rgba(8, 123, 103, .18); }
.cbank-category-hero__art .dashicons-tag { width: 116px; height: 116px; inset: 38px auto auto 24px; background: #09a36c; font-size: 58px; transform: rotate(-10deg); }
.cbank-category-hero__art .dashicons-cart { width: 110px; height: 110px; inset: 9px 18px auto auto; color: #15323a; background: #f5bd25; font-size: 52px; transform: rotate(8deg); }
.cbank-category-hero__art .dashicons-tickets-alt { width: 78px; height: 78px; inset: 93px 0 auto auto; background: #0b7a66; font-size: 38px; transform: rotate(10deg); }
.cbank-category-directory-section { padding-top: 30px; }
.cbank-category-search { width: min(620px, 100%); min-height: 48px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 42px; align-items: center; margin: 0 auto 22px; padding-inline: 14px 4px; background: #fff; border: 1px solid var(--cb-border); border-radius: 24px; box-shadow: 0 5px 16px rgba(21, 50, 58, .07); }
.cbank-category-search:focus-within { border-color: var(--cb-green); box-shadow: 0 0 0 3px rgba(8, 123, 103, .12); }
.cbank-category-search .dashicons-search { color: var(--cb-muted); }
.cbank-category-search input { width: 100%; height: 44px; padding-inline: 8px; color: var(--cb-ink); background: transparent; border: 0; outline: 0; }
.cbank-category-search button { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; color: var(--cb-muted); background: transparent; border: 0; border-radius: 50%; cursor: pointer; }
.cbank-category-search button:hover { color: var(--cb-green); background: var(--cb-surface); }
.cbank-category-directory__item { border-radius: 12px; }
.cbank-category-directory__item.tone-1 { background: #effbf4; border-color: #d6f0e0; }
.cbank-category-directory__item.tone-2 { background: #fff1f5; border-color: #f6d8e2; }
.cbank-category-directory__item.tone-3 { background: #f3efff; border-color: #e1d7ff; }
.cbank-category-directory__item.tone-4 { background: #fff8e7; border-color: #f4e5b9; }
.cbank-category-directory__item.tone-5 { background: #eefaff; border-color: #d2edf4; }
.cbank-category-directory__item.tone-6 { background: #fff1f0; border-color: #f4d9d8; }
.cbank-category-directory__item .cbank-category-tile__icon { width: 54px; height: 54px; border-radius: 50%; color: #fff; background: var(--cb-green); }
.cbank-category-directory__item.tone-2 .cbank-category-tile__icon { background: #ee3f67; }
.cbank-category-directory__item.tone-3 .cbank-category-tile__icon { background: #613ee6; }
.cbank-category-directory__item.tone-4 .cbank-category-tile__icon { background: #f0a00c; }
.cbank-category-directory__item.tone-5 .cbank-category-tile__icon { background: #149bb0; }
.cbank-category-directory__item.tone-6 .cbank-category-tile__icon { background: #ef4d57; }
.cbank-category-directory__item > .dashicons { color: var(--cb-green-dark); }

.cbank-brand-hero { padding-block: 56px; background: var(--cb-surface); border-bottom: 1px solid var(--cb-border); }
.cbank-brand-hero__inner { display: grid; grid-template-columns: 98px minmax(0, 1fr); gap: 24px; align-items: center; }
.cbank-brand-hero h1 { margin-bottom: 8px; }
.cbank-brand-hero p { max-width: 690px; color: var(--cb-ink-soft); }
.cbank-brand-hero__meta { display: flex; flex-wrap: wrap; gap: 12px 24px; color: var(--cb-muted); font-size: 13px; font-weight: 600; }
.cbank-brand-hero__meta > * { display: inline-flex; align-items: center; gap: 4px; }
.cbank-content-with-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 36px; align-items: start; }
.cbank-info-panel { padding: 24px; background: var(--cb-surface); border: 1px solid var(--cb-border); border-radius: 8px; }
.cbank-info-panel h2 { font-size: 20px; }
.cbank-info-panel dl { margin: 0; }
.cbank-info-panel dl > div { display: flex; justify-content: space-between; gap: 20px; padding-block: 11px; border-bottom: 1px solid var(--cb-border); }
.cbank-info-panel dt { color: var(--cb-muted); }
.cbank-info-panel dd { margin: 0; font-weight: 700; text-align: end; }
.cbank-related-brands { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--cb-border); }
.cbank-related-brands h3 { margin-bottom: 12px; font-size: 18px; }
.cbank-related-brand { min-height: 64px; display: grid; grid-template-columns: 44px minmax(0, 1fr) 18px; gap: 10px; align-items: center; padding: 9px; color: var(--cb-ink) !important; border: 1px solid var(--cb-border); border-radius: 8px; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.cbank-related-brand + .cbank-related-brand { margin-top: 8px; }
.cbank-related-brand:hover { border-color: var(--cb-green); box-shadow: 0 5px 14px rgba(21, 50, 58, .09); transform: translateY(-2px); }
.cbank-related-brand .cbank-brand-mark { width: 44px; height: 44px; border-radius: 7px; font-size: 14px; }
.cbank-related-brand strong, .cbank-related-brand small { display: block; }
.cbank-related-brand strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.cbank-related-brand small { color: var(--cb-muted); font-size: 11px; }
.cbank-related-brand > .dashicons { color: var(--cb-muted); }
.cbank-related-brands__more { margin-top: 14px; font-size: 13px; }
.cbank-affiliate-note { display: flex; gap: 8px; margin-block: 20px 0 !important; padding: 12px; color: var(--cb-ink-soft); background: #fff7dc; border-inline-start: 3px solid var(--cb-yellow); font-size: 12px; }
.cbank-breadcrumb { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 24px; color: var(--cb-muted); font-size: 13px; }
.cbank-coupon-title { display: grid; grid-template-columns: 98px minmax(0, 1fr); gap: 24px; align-items: center; }
.cbank-coupon-title h1 { margin-block: 8px; font-size: 42px; }
.cbank-coupon-focus { padding: 28px; background: #f5faf8; border: 1px solid #cfe2dc; border-radius: 8px; }
.cbank-coupon-focus h2 { font-size: 23px; }
.cbank-coupon-focus .cbank-button { margin-top: 8px; }
.cbank-entry > .cbank-prose { margin-top: 34px; }

.cbank-page-content { max-width: 880px; }
.cbank-prose { color: var(--cb-ink-soft); }
.cbank-prose h2 { margin-block: 32px 12px; font-size: 24px; }
.cbank-prose h3 { margin-block: 26px 10px; }
.cbank-prose a { text-decoration: underline; text-underline-offset: 2px; }
.cbank-prose ul, .cbank-prose ol { padding-inline-start: 24px; }
.cbank-form { display: grid; gap: 15px; margin-top: 26px; padding: 26px; color: var(--cb-ink); background: var(--cb-surface); border: 1px solid var(--cb-border); border-radius: 8px; }
.cbank-form p { margin: 0; }
.cbank-form label { display: block; margin-bottom: 5px; font-weight: 700; }
.cbank-form input, .cbank-form textarea { width: 100%; padding: 11px 13px; background: #fff; border: 1px solid var(--cb-border); border-radius: 5px; }
.cbank-form textarea { resize: vertical; }
.cbank-form input:focus, .cbank-form textarea:focus, .cbank-inline-form input:focus { outline: 2px solid rgba(8, 123, 103, 0.2); border-color: var(--cb-green); }
.cbank-form small { display: block; margin-top: 5px; color: var(--cb-muted); }
.cbank-form .cbank-button { justify-self: start; }
.cbank-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.cbank-form-notice { margin-block: 18px; padding: 12px 14px; border-radius: 5px; font-weight: 700; }
.cbank-form-notice.is-success { color: #07594b; background: #dcf3eb; border: 1px solid #98d2c3; }
.cbank-form-notice.is-error { color: #8a2d1f; background: #fce7e3; border: 1px solid #eab1a8; }

.cbank-search-results { display: grid; gap: 16px; }
.cbank-search-result { padding: 22px; border: 1px solid var(--cb-border); border-radius: 8px; }
.cbank-search-result h2 { margin-block: 8px; font-size: 22px; }
.cbank-result-type { color: var(--cb-green); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.cbank-empty-state { grid-column: 1 / -1; padding: 48px 24px; text-align: center; background: var(--cb-surface); border: 1px dashed #aec0bb; border-radius: 8px; }
.cbank-empty-state > .dashicons { width: 38px; height: 38px; margin-bottom: 10px; color: var(--cb-green); font-size: 38px; }
.cbank-empty-state--large { max-width: 720px; margin: 40px auto; padding-block: 90px; }

.cbank-footer { padding-top: 58px; color: #ffffff; background: #112b32; }
.cbank-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 44px; padding-bottom: 48px; }
.cbank-footer__brand img { display: block; max-width: 220px; width: auto; max-height: 60px; object-fit: contain; margin-bottom: 17px; }
.cbank-footer__brand p { max-width: 360px; color: #e1edea; font-size: 14px; line-height: 1.6; }
body.coupon-bank-theme .cbank-footer h2,
.cbank-footer h2 { margin-bottom: 16px; color: #2ecc71 !important; font-size: 16px; font-weight: 800; letter-spacing: 0.5px; text-transform: uppercase; }
.cbank-footer ul { margin: 0; padding: 0; list-style: none; }
.cbank-footer li + li { margin-top: 10px; }
.cbank-footer a,
.cbank-footer ul li a { color: #ffffff !important; font-size: 14px; font-weight: 500; text-decoration: none; transition: color 150ms ease; }
.cbank-footer a:hover,
.cbank-footer ul li a:hover { color: #2ecc71 !important; text-decoration: underline; }
.cbank-footer__bottom { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.cbank-footer__bottom p { margin: 0; color: #cad8d5; font-size: 12px; }

.cbank-code-modal { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; padding: 16px; background: rgba(10, 24, 29, 0.74); }
.cbank-code-modal.is-open { display: flex; }
.cbank-code-modal__panel { position: relative; width: min(100%, 480px); max-height: calc(100vh - 40px); overflow-y: auto; background: #fff; border-radius: 12px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); text-align: center; }
.cbank-code-modal__main { position: relative; padding: 20px 24px 18px; }
.cbank-code-modal__close { position: absolute; inset-block-start: 12px; inset-inline-end: 14px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; color: var(--cb-ink); background: var(--cb-surface); border: 1px solid var(--cb-border); border-radius: 50%; cursor: pointer; transition: background .15s ease; }
.cbank-code-modal__close:hover { background: #e2edea; }
.cbank-code-modal__close .dashicons { font-size: 18px; width: 18px; height: 18px; line-height: 18px; }
.cbank-code-modal__brand-mark { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; margin: 0 auto 8px; overflow: hidden; color: #fff; background: var(--brand-colour, var(--cb-green)); border-radius: 8px; font-weight: 800; font-size: 18px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.cbank-code-modal__brand-mark img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.cbank-code-modal__panel h2 { max-width: 420px; margin: 0 auto 4px; overflow-wrap: anywhere; font-size: 19px; line-height: 1.25; font-weight: 800; }
.cbank-code-modal__instruction { margin: 0 0 10px; color: var(--cb-muted); font-size: 13px; }
.cbank-code-modal__instruction a { color: var(--cb-green); font-weight: 700; }
.cbank-code-modal__code { width: min(100%, 340px); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; margin: 0 auto 8px; overflow: hidden; border: 2px dashed var(--cb-green); border-radius: 6px; background: #fbfdfc; }
.cbank-code-modal__code strong { min-width: 0; display: flex; align-items: center; justify-content: center; padding: 8px 12px; overflow-wrap: anywhere; color: var(--cb-ink); font-family: "Manrope", Arial, sans-serif; font-size: 22px; font-weight: 800; letter-spacing: 0.5px; }
.cbank-code-modal__code button { display: inline-flex; align-items: center; gap: 4px; padding-inline: 14px; color: #fff; background: var(--cb-green); border: 0; font-size: 13px; font-weight: 800; text-transform: uppercase; cursor: pointer; transition: background .15s ease; }
.cbank-code-modal__code button:hover { background: #068f64; }
.cbank-code-modal__code button .dashicons { font-size: 16px; width: 16px; height: 16px; line-height: 16px; }
.cbank-code-modal__redeem { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 4px; margin-bottom: 10px; padding: 8px 18px; color: var(--cb-green); background: #edf5f3; border: 1px solid #d7e4e1; border-radius: 6px; box-shadow: 0 1px 3px rgba(17, 43, 50, 0.08); font-size: 13px; font-weight: 700; transition: all .15s ease; }
.cbank-code-modal__redeem:hover { background: var(--cb-green); color: #fff; border-color: var(--cb-green); }
.cbank-code-modal__facts { width: min(100%, 340px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 auto 8px; }
.cbank-code-modal__facts > span { min-width: 0; padding: 6px 10px; background: var(--cb-surface); border: 1px solid var(--cb-border); border-radius: 5px; }
.cbank-code-modal__facts small, .cbank-code-modal__facts strong { display: block; overflow-wrap: anywhere; }
.cbank-code-modal__facts small { color: var(--cb-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.cbank-code-modal__facts strong { color: var(--cb-ink); font-size: 13px; font-weight: 700; }
.cbank-code-modal__feedback { display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--cb-muted); font-size: 12px; }
.cbank-code-modal__feedback button { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; color: #71807d; background: #fff; border: 1px solid var(--cb-border); border-radius: 50%; cursor: pointer; }
.cbank-code-modal__feedback button .dashicons { font-size: 14px; width: 14px; height: 14px; line-height: 14px; }
.cbank-code-modal__feedback button:hover, .cbank-code-modal__feedback button.is-selected { color: #fff; background: var(--cb-green); border-color: var(--cb-green); }
.cbank-code-modal__feedback-message { min-height: 14px; margin: 2px 0 0; color: var(--cb-green); font-size: 11px; font-weight: 700; }
.cbank-code-modal__details { margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--cb-border); text-align: start; }
.cbank-code-modal__details strong { display: inline-block; margin-inline-end: 6px; margin-bottom: 2px; color: var(--cb-ink); font-size: 12px; }
.cbank-code-modal__details p { display: inline; margin: 0; color: var(--cb-muted); font-size: 12px; line-height: 1.4; }
.cbank-code-modal__more { display: none; }
body.cbank-modal-open { overflow: hidden; }
.cbank-page-loader { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 20px; visibility: hidden; opacity: 0; background: rgba(244, 251, 249, .9); backdrop-filter: blur(7px); pointer-events: none; transition: opacity .18s ease, visibility .18s ease; }
.cbank-page-loader.is-active { visibility: visible; opacity: 1; pointer-events: auto; }
.cbank-page-loader__dialog { min-width: min(310px, 100%); display: flex; flex-direction: column; align-items: center; gap: 11px; padding: 28px 30px; background: rgba(255,255,255,.96); border: 1px solid #d7ebe4; border-radius: 16px; box-shadow: 0 20px 55px rgba(21, 50, 58, .16); text-align: center; animation: cbank-loader-in .22s ease both; }
.cbank-page-loader__dialog img { width: 164px; height: auto; }
.cbank-page-loader__dialog strong { color: var(--cb-ink); font-size: 16px; }
.cbank-page-loader__dialog small { color: var(--cb-muted); font-size: 12px; }
.cbank-page-loader__spinner { width: 30px; height: 30px; display: block; border: 3px solid #d5eee5; border-top-color: var(--cb-green); border-right-color: var(--cb-yellow); border-radius: 50%; animation: cbank-loader-spin .8s linear infinite; }
@keyframes cbank-loader-spin { to { transform: rotate(360deg); } }
@keyframes cbank-loader-in { from { opacity: 0; transform: translateY(8px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }

@keyframes cbank-reveal {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}

[dir="rtl"] .cbank-text-link .dashicons, [dir="rtl"] .cbank-category-tile > .dashicons, [dir="rtl"] .cbank-brand-directory__item > .dashicons { transform: scaleX(-1); }

@media (max-width: 1020px) {
	.cbank-header__main { grid-template-columns: 210px minmax(240px, 1fr) auto; gap: 14px; }
	.cbank-region-select { display: none; }
	.cbank-brand-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cbank-coupon-card { grid-template-columns: 160px minmax(0, 1fr) 135px; gap: 16px; }
	.cbank-content-with-sidebar { grid-template-columns: minmax(0, 1fr) 285px; gap: 24px; }
}

@media (max-width: 820px) {
	body.coupon-bank-theme h1 { font-size: 38px; }
	.cbank-topbar__regions { display: none; }
	.cbank-header__main { position: relative; min-height: 74px; grid-template-columns: minmax(0, 1fr); padding-inline-end: 0; }
	.cbank-logo img { width: 195px; height: auto; }
	.cbank-header-search { grid-column: 1; grid-row: 2; width: 100%; margin-bottom: 14px; }
	body.coupon-bank-theme .cbank-menu-toggle { display: flex !important; }
	.cbank-menu-toggle { position: absolute; inset-block-start: 14px; inset-inline-end: 0; }
	.cbank-nav { display: none; }
	.cbank-nav.is-open { display: block; }
	.cbank-menu { min-height: 0; display: grid; gap: 0; padding-block: 8px; }
	.cbank-menu a { min-height: 42px; }
	.cbank-hero { min-height: 470px; }
	.cbank-hero h1 { font-size: 50px; }
	.cbank-home-hero__inner { min-height: 540px; display: block; }
	.cbank-home-hero__copy { padding-block: 48px 0; }
	.cbank-home-hero__copy h1 { font-size: 37px; }
	.cbank-home-hero__art { height: 245px; margin-top: -2px; transform: scale(.78); transform-origin: center top; }
	.cbank-featured-intro { grid-template-columns: 1fr; min-height: 238px; padding: 24px; }
	.cbank-featured-intro h2 { max-width: 440px; font-size: 31px; }
	.cbank-featured-intro > .cbank-text-link { position: absolute; inset: 20px 22px auto auto; margin: 0; }
	.cbank-featured-intro__art { position: absolute; right: -4px; bottom: -24px; width: 205px; opacity: .7; }
	.cbank-featured-section .cbank-coupon-list { grid-template-columns: 1fr; }
	.cbank-featured-section .cbank-coupon-card { grid-template-columns: 150px minmax(0, 1fr) 125px; min-height: 164px; }
	.cbank-home-trust__inner { grid-template-columns: repeat(2, 1fr); }
	.cbank-home-trust__inner > span + span { border-inline-start: 0; padding-inline-start: 0; }
	.cbank-home-trust__inner em { grid-column: 1 / -1; }
	.cbank-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cbank-coupon-card { grid-template-columns: 140px minmax(0, 1fr); }
	.cbank-coupon-action { grid-column: 1 / -1; grid-template-columns: minmax(0, 220px) auto; align-items: center; justify-content: end; text-align: start; }
	.cbank-region-band__inner, .cbank-newsletter-section__inner { grid-template-columns: 1fr; gap: 30px; }
	.cbank-directory-layout, .cbank-content-with-sidebar { grid-template-columns: 1fr; }
	.cbank-filter-panel { position: static; }
	.cbank-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.cbank-container { width: min(calc(100% - 28px), var(--cb-width)); }
	body.coupon-bank-theme h1 { font-size: 33px; }
	body.coupon-bank-theme h2 { font-size: 25px; }
	.cbank-topbar__inner { justify-content: center; }
	.cbank-header-search { width: 100%; grid-template-columns: 28px minmax(0, 1fr) 44px; }
	.cbank-header-search input { width: 100%; }
	.cbank-header-search button { width: 44px; overflow: hidden; padding: 0; color: transparent; }
	.cbank-header-search button::before { content: "\f179"; display: block; color: #fff; font-family: dashicons; font-size: 18px; }
	.cbank-hero { min-height: 520px; background-position: 64% center; }
	.cbank-hero__content { padding-block: 54px; }
	body.coupon-bank-theme .cbank-hero h1 { max-width: 100%; overflow-wrap: anywhere; font-size: 36px; }
	.cbank-hero__content > p { font-size: 17px; }
	.cbank-hero-search { grid-template-columns: 26px minmax(0, 1fr); padding: 8px 8px 8px 12px; }
	.cbank-hero-search button { grid-column: 1 / -1; min-height: 46px; border-radius: 5px; }
	.cbank-section { padding-block: 52px; }
	.cbank-section-heading { align-items: start; flex-direction: column; margin-bottom: 22px; }
	.cbank-coupon-card { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
	.cbank-search-results .cbank-coupon-card, .cbank-directory-results .cbank-coupon-card, .cbank-content-with-sidebar .cbank-coupon-card, .cbank-coupon-card.is-compact { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
	.cbank-featured-section .cbank-coupon-card { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
	.cbank-featured-section .cbank-coupon-brand { padding-bottom: 14px; border-bottom: 1px solid var(--cb-border); }
	.cbank-featured-section .cbank-coupon-action { grid-column: auto; grid-template-columns: 1fr auto; justify-content: stretch; }
	.cbank-coupon-brand { padding-bottom: 14px; border-bottom: 1px solid var(--cb-border); }
	.cbank-coupon-action { grid-column: auto; grid-template-columns: 1fr auto; justify-content: stretch; }
	.cbank-category-grid, .cbank-brand-directory, .cbank-category-directory, .cbank-form-grid { grid-template-columns: 1fr; }
	.cbank-category-hero__inner { min-height: 260px; }
	.cbank-category-hero__art { width: 190px; flex-basis: 190px; transform: scale(.78); transform-origin: right center; }
	.cbank-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cbank-brand-tile { min-height: 150px; }
	.cbank-region-list { grid-template-columns: 1fr; }
	.cbank-inline-form { grid-template-columns: 1fr; }
	.cbank-alpha-nav { grid-template-columns: repeat(7, minmax(34px, 1fr)); }
	.cbank-brand-hero__inner, .cbank-coupon-title { grid-template-columns: 1fr; }
	.cbank-brand-mark--large { width: 80px; height: 80px; font-size: 25px; }
	.cbank-coupon-title h1 { font-size: 32px; }
	.cbank-footer__grid { grid-template-columns: 1fr; gap: 30px; }
	.cbank-footer__bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 18px; }
	.cbank-code-modal { padding: 8px; }
	.cbank-code-modal__panel { max-height: calc(100vh - 16px); }
	.cbank-code-modal__main { padding: 18px 20px; }
	.cbank-code-modal__close { inset-block-start: 12px; inset-inline-end: 12px; }
	.cbank-code-modal__brand-mark { width: 60px; height: 60px; font-size: 19px; }
	.cbank-code-modal__panel h2 { margin-bottom: 18px; padding-inline: 20px; font-size: 21px; }
	.cbank-code-modal__code strong { font-size: 20px; letter-spacing: 0; }
	.cbank-code-modal__code button { padding-inline: 12px; }
	.cbank-code-modal__feedback { flex-wrap: wrap; }
	.cbank-home-hero__inner { min-height: 540px; display: block; }
	.cbank-home-hero__copy { padding-block: 48px 0; }
	.cbank-home-hero__copy h1 { font-size: 34px; }
	.cbank-home-hero__trust { gap: 12px; }
	.cbank-home-hero__trust > span { flex: 1 1 40%; }
	.cbank-home-hero__art { height: 220px; margin-top: -7px; transform: scale(.78); transform-origin: center top; }
	.cbank-home-trust__inner { grid-template-columns: 1fr; }
	.cbank-home-trust__inner > span + span { border-top: 1px solid #c9e4db; padding-top: 14px; }
	.cbank-category-hero__inner { min-height: 300px; align-items: flex-start; padding-block: 40px 20px; }
	.cbank-category-hero h1 { font-size: 34px; }
	.cbank-category-hero__art { position: absolute; inset: auto -22px -56px auto; opacity: .76; transform: scale(.7); }
	.cbank-category-hero__promise { flex-wrap: wrap; font-size: 12px; }
	body.coupon-bank-theme .cbank-code-modal__more h3 { font-size: 22px; }
}

/* Small-screen finishing pass: keep every interactive surface inside the viewport. */
@media (max-width: 820px) {
	.cbank-category-hero__inner { min-height: 320px; display: block; padding-block: 34px 0; }
	.cbank-category-hero__copy { position: relative; z-index: 2; max-width: 72%; }
	.cbank-category-hero__art { position: absolute; right: -18px; bottom: -18px; opacity: .72; transform: scale(.72); transform-origin: right bottom; }
	.cbank-brand-hero { padding-block: 38px; }
	.cbank-coupon-focus, .cbank-info-panel { padding: 20px; }
	.cbank-form-grid { gap: 12px; }
	.cbank-alpha-nav { overflow-x: auto; grid-template-columns: repeat(14, minmax(34px, 1fr)); padding-bottom: 5px; }
}

@media (max-width: 480px) {
	.cbank-container { width: min(calc(100% - 24px), var(--cb-width)); }
	.cbank-header__main { min-height: 68px; }
	.cbank-logo img { width: 166px; }
	.cbank-menu-toggle { width: 40px; height: 40px; }
	.cbank-header-search input { font-size: 14px; }
	.cbank-home-hero__inner { min-height: 505px; }
	.cbank-home-hero__copy { padding-block: 34px 0; }
	.cbank-home-hero__copy h1 { font-size: 31px; }
	.cbank-home-hero__copy > p { font-size: 14px; }
	.cbank-home-hero__trust { display: grid; grid-template-columns: 1fr; gap: 10px; }
	.cbank-home-hero__trust > span { flex: initial; }
	.cbank-home-hero__art { height: 190px; margin-top: 4px; transform: scale(.62); }
	.cbank-featured-heading h2 { font-size: 27px; }
	.cbank-featured-section .cbank-coupon-card, .cbank-coupon-card { gap: 13px; padding: 16px; }
	.cbank-coupon-brand { gap: 10px; }
	.cbank-coupon-brand .cbank-brand-mark { width: 58px; height: 58px; }
	.cbank-coupon-copy h3 { font-size: 18px; overflow-wrap: anywhere; }
	.cbank-coupon-copy p { font-size: 13px; }
	.cbank-coupon-action, .cbank-featured-section .cbank-coupon-action { grid-template-columns: 1fr; gap: 8px; text-align: start; }
	.cbank-coupon-action .cbank-button { width: 100%; }
	.cbank-category-hero__inner { min-height: 360px; padding-top: 28px; }
	.cbank-category-hero__copy { max-width: 100%; }
	.cbank-category-hero__art { right: -40px; bottom: -32px; opacity: .55; transform: scale(.62); }
	.cbank-category-hero h1 { font-size: 31px; }
	.cbank-category-hero p { font-size: 14px; }
	.cbank-category-search { grid-template-columns: 25px minmax(0, 1fr) 38px; }
	.cbank-category-directory__item, .cbank-brand-directory__item { gap: 10px; padding: 14px; }
	.cbank-alpha-nav { grid-template-columns: repeat(6, minmax(30px, 1fr)); gap: 4px; }
	.cbank-alpha-nav a { min-width: 30px; }
	.cbank-region-band, .cbank-newsletter-section { padding-block: 42px; }
	.cbank-inline-form input, .cbank-inline-form button { min-width: 0; }
	.cbank-code-modal__facts { grid-template-columns: 1fr; }
	.cbank-code-modal__main { padding-inline: 14px; }
}

/* Homepage featured offer treatment. The shared archive cards stay compact; home gets the larger editorial row. */
@media (min-width: 821px) {
	.cbank-featured-section .cbank-coupon-card { grid-template-columns: 220px minmax(0, 1fr) 175px; min-height: 204px; gap: 24px; padding: 18px 26px; border-radius: 16px; background: #fff; border-color: #e2edf4; box-shadow: 0 12px 28px rgba(26, 87, 112, .08); }
	.cbank-featured-section .cbank-coupon-card:hover { transform: translateY(-4px); box-shadow: 0 20px 42px rgba(26, 87, 112, .15); }
	.cbank-featured-section .cbank-coupon-brand { height: 100%; flex-direction: column; align-items: center; justify-content: center; gap: 9px; padding-inline-end: 24px; border-inline-end: 2px solid #dce8f1; text-align: center; }
	.cbank-featured-section .cbank-coupon-brand > div { width: 100%; text-align: center; }
	.cbank-featured-section .cbank-coupon-brand .cbank-brand-mark { width: 108px; height: 108px; border-radius: 18px; box-shadow: 0 10px 22px rgba(49, 140, 222, .10); }
	.cbank-featured-section .cbank-brand-name { margin-bottom: 3px; font-size: 17px; line-height: 1.2; overflow-wrap: anywhere; }
	.cbank-featured-section .cbank-verified { font-size: 12px; }
	.cbank-featured-section .cbank-verified .dashicons { width: 17px; height: 17px; font-size: 17px; }
	.cbank-featured-section .cbank-coupon-copy { align-self: center; }
	.cbank-featured-section .cbank-coupon-copy .cbank-discount { margin-bottom: 10px; padding: 6px 12px; border-radius: 22px; font-size: 14px; }
	.cbank-featured-section .cbank-coupon-copy h3 { margin-bottom: 6px; font-size: 21px; line-height: 1.12; }
	.cbank-featured-section .cbank-coupon-copy p { margin-bottom: 10px; font-size: 13px; }
	.cbank-featured-section .cbank-coupon-meta { gap: 10px 20px; font-size: 13px; }
	.cbank-featured-section .cbank-coupon-action { align-self: center; justify-items: stretch; gap: 9px; text-align: center; }
	.cbank-featured-section .cbank-coupon-action .cbank-button { min-height: 50px; padding: 11px 15px; border: 0; border-radius: 28px; font-size: 14px; box-shadow: 0 10px 20px rgba(8, 166, 117, .18); animation: cbank-cta-breathe 2.8s ease-in-out infinite; }
	.cbank-featured-section .cbank-coupon-action .cbank-button::after { content: none; display: none; }
	.cbank-featured-section .cbank-coupon-action small { display: none; }
}

@media (max-width: 820px) and (min-width: 481px) {
	.cbank-featured-section .cbank-coupon-card { grid-template-columns: 150px minmax(0, 1fr) 145px; min-height: 210px; gap: 18px; padding: 24px; }
	.cbank-featured-section .cbank-coupon-brand { flex-direction: column; align-items: flex-start; gap: 9px; }
	.cbank-featured-section .cbank-brand-name { font-size: 18px; }
	.cbank-featured-section .cbank-coupon-copy h3 { font-size: 23px; }
	.cbank-featured-section .cbank-coupon-copy p { font-size: 14px; }
	.cbank-featured-section .cbank-coupon-action .cbank-button { min-height: 54px; padding-inline: 12px; }
}

@media (max-width: 480px) {
	.cbank-featured-section .cbank-coupon-brand { flex-direction: row; align-items: center; gap: 10px; }
	.cbank-featured-section .cbank-coupon-brand .cbank-brand-mark { width: 70px; height: 70px; }
	.cbank-featured-section .cbank-brand-name { font-size: 18px; }
	.cbank-featured-section .cbank-coupon-copy .cbank-discount { margin-bottom: 8px; }
	.cbank-featured-section .cbank-coupon-copy h3 { font-size: 22px; }
	.cbank-featured-section .cbank-coupon-action .cbank-button { min-height: 52px; border-radius: 28px; animation: none; }
}

@keyframes cbank-cta-breathe {
	0%, 100% { box-shadow: 0 12px 24px rgba(8, 166, 117, .20); }
	50% { box-shadow: 0 16px 32px rgba(8, 166, 117, .34); transform: translateY(-2px); }
}

@keyframes cbank-button-shine {
	0%, 72%, 100% { left: -75%; }
	84% { left: 135%; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
}

/* =========================================================================
   World Coupon Hub - Ad Styles (Modal, In-Feed, Sidebar)
   ========================================================================= */
.cbank-ad-container { position: relative; margin: 16px auto; text-align: center; max-width: 100%; }
.cbank-ad-label { display: block; font-size: 10px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; color: #94a3b8; margin-bottom: 6px; }
.cbank-code-modal__ad-slot { margin: 8px 0 10px; padding: 0; }
.cbank-ad-modal { width: min(100%, 360px); margin: 0 auto; }
.cbank-ad-modal.cbank-ad-container { margin: 4px auto 8px; }
.cbank-ad-modal .cbank-ad-label { margin-bottom: 3px; font-size: 9px; opacity: 0.8; }
.cbank-ad-banner { display: block; text-decoration: none; background: linear-gradient(135deg, #17343c 0%, #0d2127 100%); border: 1px solid rgba(8, 166, 117, 0.35); border-radius: 12px; padding: 18px 20px; color: #fff; text-align: center; transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; box-shadow: 0 8px 20px rgba(10, 24, 29, 0.2); }
.cbank-ad-banner:hover { transform: translateY(-2px); border-color: var(--cb-green); box-shadow: 0 12px 28px rgba(8, 166, 117, 0.25); color: #fff; }
.cbank-ad-banner__badge { display: inline-block; background: #d97706; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: 0.8px; padding: 3px 9px; border-radius: 20px; margin-bottom: 8px; text-transform: uppercase; }
.cbank-ad-banner__title { font-size: 17px; font-weight: 800; color: #fff; line-height: 1.3; margin-bottom: 6px; }
.cbank-ad-banner__text { font-size: 13px; color: #d1fae5; margin: 0 0 14px; line-height: 1.45; }
.cbank-ad-banner__action { display: inline-flex; align-items: center; justify-content: center; padding: 8px 18px; background: var(--cb-green); color: #fff; font-weight: 700; font-size: 13px; border-radius: 6px; text-transform: uppercase; transition: background 0.2s ease; }
.cbank-ad-banner:hover .cbank-ad-banner__action { background: #068f64; }

/* Modal Compact Ad Banner */
.cbank-ad-banner--modal { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 14px; border-radius: 8px; text-align: left; }
.cbank-ad-banner--modal .cbank-ad-banner__badge { display: none; }
.cbank-ad-banner--modal .cbank-ad-banner__title { font-size: 12px; font-weight: 700; margin: 0; line-height: 1.25; }
.cbank-ad-banner--modal .cbank-ad-banner__text { display: none; }
.cbank-ad-banner--modal .cbank-ad-banner__action { padding: 5px 12px; font-size: 11px; white-space: nowrap; flex-shrink: 0; border-radius: 4px; }
.cbank-code-modal__ad-slot .bsaProContainer { margin: 0 auto !important; max-width: 100% !important; }
.cbank-code-modal__ad-slot .bsaProItem { max-height: 90px !important; }
.cbank-code-modal__ad-slot img { max-height: 75px !important; width: auto !important; object-fit: contain; }

/* In-Feed Native Sponsored Card */
.cbank-ad-card { background: #fffdf7 !important; border-color: #fde68a !important; border-left: 4px solid #d97706 !important; }
.cbank-brand-mark--ad { font-size: 17px !important; font-weight: 900 !important; border-radius: 8px !important; }
.cbank-verified--ad { background: #fef3c7 !important; color: #b45309 !important; }
.cbank-discount--ad { background: #fef3c7 !important; color: #b45309 !important; border-color: #fde68a !important; }
.cbank-button--ad { background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important; border-color: #b45309 !important; color: #fff !important; box-shadow: 0 6px 14px rgba(217, 119, 6, 0.25) !important; }
.cbank-button--ad:hover { background: linear-gradient(135deg, #b45309 0%, #92400e 100%) !important; color: #fff !important; }

/* Sidebar Ad */
.cbank-sidebar-ad-slot { margin-top: 24px; }
.cbank-ad-sidebar .cbank-ad-banner { padding: 16px; }

/* Topbar Disclosure */
.cbank-topbar__disclosure { font-size: 12px; color: #a5c2ba; }
.cbank-topbar__disclosure a { color: #fff; text-decoration: underline; margin-inline-start: 4px; font-weight: 600; }
.cbank-topbar__disclosure a:hover { color: var(--cb-yellow); }

/* Leaderboard Banner */
.cbank-directory-leaderboard-ad { margin: 12px 0 20px; }
.cbank-ad-banner--leaderboard { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 24px; min-height: 64px; background: linear-gradient(90deg, #122b32 0%, #173d47 100%); border-radius: 10px; text-align: left; }
.cbank-ad-banner--leaderboard .cbank-ad-banner__badge { margin-bottom: 0; flex-shrink: 0; }
.cbank-ad-banner--leaderboard .cbank-ad-banner__title { font-size: 15px; margin-bottom: 0; flex-grow: 1; }
.cbank-ad-banner--leaderboard .cbank-ad-banner__action { flex-shrink: 0; white-space: nowrap; }
@media (max-width: 640px) {
	.cbank-ad-banner--leaderboard { flex-direction: column; text-align: center; gap: 8px; padding: 14px; }
	.cbank-topbar__inner { flex-direction: column; gap: 4px; text-align: center; padding: 6px 0; }
}

/* Mobile Sticky Anchor Banner (Competitor standard) */
.cbank-mobile-anchor-ad { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9998; background: #112b32; border-top: 2px solid var(--cb-green); box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.25); padding: 4px 10px 6px; text-align: center; }
@media (min-width: 769px) { .cbank-mobile-anchor-ad { display: none !important; } }
.cbank-mobile-anchor-ad__wrapper { position: relative; max-width: 440px; margin: 0 auto; }
.cbank-mobile-anchor-ad__close { position: absolute; top: -10px; right: -4px; width: 22px; height: 22px; background: #fff; color: #112b32; border: 1px solid #ccd0d4; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 800; cursor: pointer; z-index: 3; line-height: 1; }
.cbank-ad-anchor .cbank-ad-banner { padding: 4px 8px; display: flex; align-items: center; justify-content: space-between; gap: 8px; background: transparent; border: none; box-shadow: none; border-radius: 0; }
.cbank-ad-anchor .cbank-ad-banner__title { font-size: 12px; margin: 0; color: #fff; text-align: left; }
.cbank-ad-anchor .cbank-ad-banner__action { padding: 5px 12px; font-size: 11px; flex-shrink: 0; }
.cbank-ad-anchor .cbank-ad-label { display: none; }


