/* v12.10.287 - one final contract for logos, favorites and search-location feedback. */
:root{
  --op-card-logo-size:24px;
  --op-card-favorite-size:40px;
  --op-card-edge-gap:8px;
}

html body .magazine-shell .product-card{
  position:relative;
}

/* The brand/shop logo is independent from text and always keeps the same size. */
html body .magazine-shell .product-card .merchant-logo-element,
html body .nc-mobile-product-card .nc-mobile-product-merchant-logo{
  position:absolute!important;
  left:var(--op-logo-left,var(--x,4px))!important;
  top:var(--op-logo-top,var(--y,4px))!important;
  width:var(--op-card-logo-size)!important;
  height:var(--op-card-logo-size)!important;
  min-width:var(--op-card-logo-size)!important;
  min-height:var(--op-card-logo-size)!important;
  max-width:var(--op-card-logo-size)!important;
  max-height:var(--op-card-logo-size)!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  z-index:72!important;
}
html body .magazine-shell .product-card .merchant-logo-element .op-merchant-logo,
html body .nc-mobile-product-card .nc-mobile-product-merchant-logo .op-merchant-logo{
  display:block!important;
  width:var(--op-card-logo-size)!important;
  height:var(--op-card-logo-size)!important;
  min-width:var(--op-card-logo-size)!important;
  min-height:var(--op-card-logo-size)!important;
  max-width:var(--op-card-logo-size)!important;
  max-height:var(--op-card-logo-size)!important;
  object-fit:contain!important;
}

/* Every favorite action is anchored to the lower-right corner of its product. */
html body .magazine-shell .product-card .op-favorite-btn[data-favorite-card],
html body .nc-mobile-product-card .op-favorite-btn[data-favorite-card]{
  position:absolute!important;
  left:auto!important;
  top:auto!important;
  right:var(--op-card-edge-gap)!important;
  bottom:var(--op-card-edge-gap)!important;
  width:var(--op-card-favorite-size)!important;
  height:var(--op-card-favorite-size)!important;
  min-width:var(--op-card-favorite-size)!important;
  min-height:var(--op-card-favorite-size)!important;
  max-width:var(--op-card-favorite-size)!important;
  max-height:var(--op-card-favorite-size)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
  filter:none;
  transform:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  color:#17120d!important;
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-size:28px!important;
  font-weight:400!important;
  line-height:1!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  z-index:2147480000!important;
}
html body .magazine-shell .product-card .op-favorite-btn[data-favorite-card][aria-pressed="true"],
html body .magazine-shell .product-card .op-favorite-btn[data-favorite-card].is-favorite,
html body .nc-mobile-product-card .op-favorite-btn[data-favorite-card][aria-pressed="true"]{
  color:#d50000!important;
}
html body .magazine-shell .product-card .op-favorite-btn[data-favorite-card]::before,
html body .magazine-shell .product-card .op-favorite-btn[data-favorite-card]::after,
html body .nc-mobile-product-card .op-favorite-btn[data-favorite-card]::before,
html body .nc-mobile-product-card .op-favorite-btn[data-favorite-card]::after{
  content:none!important;
  display:none!important;
}
html body .magazine-shell .product-card .op-favorite-btn[data-favorite-card]:focus-visible,
html body .nc-mobile-product-card .op-favorite-btn[data-favorite-card]:focus-visible{
  outline:2px solid #1687ff!important;
  outline-offset:2px!important;
}

/* A product picked from search receives an unmistakable, non-layout-changing pulse. */
.product-card.op-product-locate-animation,
.nc-mobile-product-card.op-product-locate-animation{
  outline:4px solid #ffbf00!important;
  outline-offset:4px!important;
  animation:opProductLocatePulse 1.8s ease-out 1!important;
  z-index:2147481000!important;
}
@keyframes opProductLocatePulse{
  0%{outline-color:#fff3a0;filter:brightness(1.35) saturate(1.3);box-shadow:inset 0 0 0 8px rgba(255,191,0,.9),0 0 0 0 rgba(255,191,0,.95)}
  35%{outline-color:#ffb000;filter:brightness(1.12) saturate(1.2);box-shadow:inset 0 0 0 5px rgba(255,191,0,.55),0 0 0 18px rgba(255,191,0,.24)}
  72%{outline-color:#ffcf38;filter:brightness(1.05);box-shadow:inset 0 0 0 3px rgba(255,191,0,.3),0 0 0 8px rgba(255,191,0,.14)}
  100%{outline-color:transparent;filter:none;box-shadow:inset 0 0 0 0 rgba(255,191,0,0),0 0 0 0 rgba(255,191,0,0)}
}

@media (max-width:760px){
  :root{--op-card-edge-gap:8px}
}
@media (prefers-reduced-motion:reduce){
  .product-card.op-product-locate-animation,
  .nc-mobile-product-card.op-product-locate-animation{
    animation:none!important;
    outline-color:#ffbf00!important;
  }
}
