/* Campaign colors are limited to the services strip and small header accents. */
body.bbr-promotion-active .bbr-benefits { background: var(--bbr-promo-topbar-background, var(--bbr-chrome)); color: var(--bbr-promo-topbar-text, var(--bbr-text)); }
.bbr-benefit-promotion > span { padding: var(--bbr-space-1) var(--bbr-space-3); border-radius: var(--bbr-radius-sm); background: var(--bbr-promo-special-background, var(--bbr-brand)); color: var(--bbr-promo-special-text, var(--bbr-on-light)); font-weight: 700; }
body.bbr-promotion-active .bbr-header { box-shadow: inset 0 -2px var(--bbr-promo-accent, var(--bbr-brand)); }
body.bbr-promotion-active .bbr-header :is(.bbr-header-icon-button, .bbr-header-cart) { color: var(--bbr-promo-icon, var(--bbr-brand)); }
body.bbr-promotion-active .bbr-header .bbr-header-search-form:not(:focus-within) button:not(:hover) { color: var(--bbr-promo-icon, var(--bbr-brand)); }
body.bbr-promotion-active .bbr-header .bbr-header-search-form:not(:focus-within) { box-shadow: inset 0 -1px var(--bbr-promo-accent, var(--bbr-brand)); }
body.bbr-promotion-active .bbr-header-menu a:is(:hover, [aria-expanded="true"]) { box-shadow: inset 0 -2px var(--bbr-promo-accent, var(--bbr-brand)); }
.bbr-promotion-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--bbr-border); border-radius: var(--bbr-radius-sm); background: var(--bbr-surface); }
.bbr-promotion-card-media { position: relative; display: block; height: 100%; color: var(--bbr-on-light); }
.bbr-promotion-card picture, .bbr-promotion-card img { display: block; width: 100%; height: 100%; }
.bbr-promotion-card img { object-fit: cover; object-position: center; }
.bbr-promotion-card--blog { aspect-ratio: 4 / 5; }
/* Fill the compact purchase banner with a centered crop on desktop and mobile. */
.bbr-promotion-product { min-width: 0; overflow: hidden; border: 1px solid var(--bbr-border); border-radius: var(--bbr-radius-sm); background: var(--bbr-surface); }
.bbr-promotion-product-media { display: block; color: var(--bbr-text); text-decoration: none; }
.bbr-promotion-product-media:focus-visible { outline: 3px solid var(--bbr-focus); outline-offset: -3px; }
.bbr-promotion-product-artwork { position: relative; display: block; aspect-ratio: 3 / 1; }
body.bbr-native .bbr-promotion-product .bbr-promotion-product-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.bbr-promotion-product-cta { display: flex; align-items: center; justify-content: space-between; gap: var(--bbr-space-3); padding: var(--bbr-space-3) var(--bbr-space-4); border-top: 1px solid var(--bbr-border); font: 700 var(--bbr-text-sm)/1.4 var(--bbr-font); overflow-wrap: anywhere; }
.bbr-promotion-product-cta svg { flex: none; width: 18px; height: 18px; }
/* Match the product row without letting a tall creative determine its height. */
.bbr-promotion-card--product { align-self: stretch; min-height: 0; }
.bbr-promotion-card--product .bbr-promotion-card-media { position: absolute; inset: 0; }
.bbr-promotion-card-badge { position: absolute; left: var(--bbr-space-3); bottom: var(--bbr-space-3); padding: var(--bbr-space-2) var(--bbr-space-3); background: var(--bbr-brand); color: var(--bbr-on-light); font: 700 var(--bbr-text-xs)/1.4 var(--bbr-font); text-transform: uppercase; border-radius: var(--bbr-radius-sm); }
.bbr-promotion-card a:focus-visible { outline: 3px solid var(--bbr-focus); outline-offset: -3px; }
.bbr-promotion-popup { position: fixed; box-sizing: border-box; inset: 0; width: min(560px, calc(100vw - 40px)); max-width: none; max-height: calc(100dvh - 40px); margin: auto; padding: 0; border: 1px solid var(--bbr-border); border-radius: var(--bbr-radius-md); overflow: visible; background: var(--bbr-surface); color: var(--bbr-text); }
.bbr-promotion-popup:not([open]) { display: none; }
.bbr-promotion-popup::backdrop { background: rgb(0 15 20 / .8); }
body:has(.bbr-promotion-popup[open]) { overflow: hidden; }
.bbr-promotion-popup-media { display: block; overflow: hidden; border-radius: inherit; }
.bbr-promotion-popup-media img { display: block; width: 100%; height: auto; max-height: calc(100dvh - 40px); object-fit: contain; }
.bbr-promotion-popup-close { position: absolute; z-index: 1; top: var(--bbr-space-3); right: var(--bbr-space-3); display: grid; place-items: center; width: var(--bbr-target-min); height: var(--bbr-target-min); padding: 0; border: 1px solid var(--bbr-control-border); border-radius: var(--bbr-radius-sm); background: var(--bbr-chrome); color: var(--bbr-on-chrome); font: 400 2rem/1 var(--bbr-font); cursor: pointer; }
.bbr-promotion-popup :focus-visible { outline: 3px solid var(--bbr-focus); outline-offset: 3px; }
@media (max-width: 760px) {
  .bbr-promotion-card--product { aspect-ratio: 4 / 5; }
  .bbr-promotion-popup { width: 85vw; max-height: calc(100dvh - 32px); }
  .bbr-promotion-popup-media img { max-height: calc(100dvh - 32px); }
  .bbr-promotion-popup-close { top: var(--bbr-space-2); right: var(--bbr-space-2); }
}
