.dg-campaign{
  --promo-base:#39171f;--promo-accent:#ffdfaa;
  position:relative;isolation:isolate;display:grid;align-items:center;overflow:hidden;
  min-height:262px;margin:0 0 22px;background:var(--promo-base);color:#fff;text-align:left;
}
.dg-campaign-condolence{--promo-base:#0f3024;--promo-accent:#e2f0de}
.dg-campaign :is(.dg-campaign-photo,.dg-campaign-video){
  position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;
  object-position:center;z-index:-3;display:block;margin:0;
}
.dg-campaign .dg-campaign-video{opacity:0;pointer-events:none}
.dg-campaign-video-visible .dg-campaign-video{opacity:1}
.dg-campaign::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.57) 0%,rgba(0,0,0,.41) 43%,rgba(0,0,0,.04) 78%);
}
.dg-campaign-content{width:min(100%,620px);padding:22px 28px;box-sizing:border-box}
.dg-campaign h2,.dg-campaign p{color:#fff;letter-spacing:0;overflow-wrap:anywhere}
.dg-campaign h2{font:700 29px/1.15 system-ui,sans-serif;margin:5px 0 4px;text-transform:none}
.dg-campaign .dg-campaign-eyebrow{font:650 13px/1.4 system-ui,sans-serif;color:var(--promo-accent);margin:0}
.dg-campaign .dg-campaign-price{font:500 18px/1.14 system-ui,sans-serif;margin:0 0 7px}
.dg-campaign-price strong{font-size:37px;color:var(--promo-accent)}
.dg-campaign .dg-campaign-dates,.dg-campaign .dg-campaign-terms{font:500 14px/1.45 system-ui,sans-serif;margin:0 0 3px}
.dg-campaign-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px 16px;margin-top:12px}
.dg-campaign .dg-campaign-cta{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:42px;
  padding:7px 12px;border-radius:4px;background:var(--promo-accent);color:#19151a;
  font:700 14px/1.25 system-ui,sans-serif;text-decoration:none;text-align:center;
}
.dg-campaign .dg-campaign-cta:hover{background:#fff}
.dg-campaign .dg-campaign-link{color:#fff;font:650 14px/1.25 system-ui,sans-serif;text-decoration:underline}
.dg-campaign a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.dg-offers-list{max-width:680px}
.dg-offer-status{text-align:right;color:var(--brand)}
.dg-offer-status code{color:var(--sub)}
@media(max-width:600px){
  .dg-campaign{--promo-frame:142px;min-height:0;padding-top:var(--promo-frame)}
  .dg-campaign-content{padding:18px 16px}
  .dg-campaign h2{font-size:24px}
  .dg-campaign-price strong{font-size:33px}
  .dg-campaign :is(.dg-campaign-photo,.dg-campaign-video){height:var(--promo-frame);object-position:61% 49%}
  .dg-campaign::before{inset:0 0 auto;height:var(--promo-frame);background:linear-gradient(0deg,var(--promo-base),transparent 34%)}
}
@media(prefers-reduced-motion:no-preference){
  img.dg-photo-enter,#image-dialog[open] #large-image{animation:dg-photo-reveal .64s cubic-bezier(.2,.72,.27,1)}
  .product-picture-large img,.products .product-image img,.dg-showcase img,.story img{transition:transform .38s ease}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover){
  .product-picture-large:hover img,.product-image:hover img,.dg-showcase a:hover img,.story a:hover img{transform:scale(1.045)}
}
@keyframes dg-photo-reveal{from{opacity:.72;transform:scale(1.038)}to{opacity:1;transform:scale(1)}}
