/* Shared retailer logo (assets/brand-logo.js). The surrounding stage, tile or compact header sets the box size; these
   rules fit the artwork inside it: contained, centred, at most 86% of a stage's width, and never more than 1.25 CSS px
   per source pixel for raster images (--cap-w/--cap-h). Loaded after the page stylesheets. */
.brand-logo{display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}
.brand-logo.has-img img{display:block;flex:none;width:100%;height:100%;min-width:0;min-height:0;max-width:min(86%,var(--cap-w,100%));max-height:min(100%,var(--cap-h,100%));object-fit:contain;mix-blend-mode:multiply}
.brand-logo--compact.has-img img{max-width:min(100%,var(--cap-w,100%))}
/* Compact logos (offer details header, saved offers) get a wordmark-friendly box; text fallbacks keep the square tile. */
.brand-logo--compact.has-img{width:104px;height:48px;padding:5px 8px;background:#fff}
.brand-logo--compact.logo.small.has-img{width:96px;height:44px}
.brand-logo .brand-logo__name{display:none}
.brand-logo--stage.no-img .brand-logo__initials{display:none}
.brand-logo--stage.no-img .brand-logo__name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;padding:0 8px;text-align:center;font:800 22px/1.15 var(--display,system-ui,sans-serif);color:#6334b5;overflow-wrap:anywhere}
.brand-logo--compact.no-img .brand-logo__initials{font-weight:800;color:#482581}
@media(max-width:600px){.brand-logo--stage.no-img .brand-logo__name{font-size:20px}}
