.nb-offer-media-frame {
  position: relative;
  width: 100%;
  min-width: 0;
}

.nb-offer-card .nb-offer-media-frame {
  max-width: 280px;
}

.nb-offer-badge {
  --nb-badge-inset: var(--nb-badge-offset) auto auto var(--nb-badge-offset);
  position: absolute;
  z-index: 1;
  inset: var(--nb-badge-widget-inset, var(--nb-badge-inset));
  margin-inline: auto;
  display: block;
  box-sizing: border-box;
  width: max-content;
  max-width: calc(100% - 2 * var(--nb-badge-offset));
  padding: .5em .85em;
  border-radius: 999px;
  background: var(--nb-badge-bg, #ed002b);
  color: var(--nb-badge-color, #fff);
  font-size: var(--nb-badge-size, .82rem);
  font-weight: 800;
  line-height: 1.15;
  overflow-wrap: anywhere;
  text-align: center;
  pointer-events: none;
}

.nb-offer-badge[data-nb-badge-shape="ribbon"] {
  padding-inline-end: 1.4em;
  border-radius: 3px;
  clip-path: polygon(0 0, 91% 0, 100% 50%, 91% 100%, 0 100%);
}

.nb-offer-badge[data-nb-badge-shape="seal"] {
  max-width: min(8em, calc(100% - 2 * var(--nb-badge-offset)));
  min-height: 3.2em;
  display: grid;
  place-items: center;
  padding: .8em 1em;
  border-radius: 0;
  clip-path: polygon(0 16%, 10% 16%, 14% 4%, 24% 9%, 30% 0, 40% 6%, 50% 0, 60% 6%, 70% 0, 76% 9%, 86% 4%, 90% 16%, 100% 16%, 95% 33%, 100% 50%, 95% 67%, 100% 84%, 90% 84%, 86% 96%, 76% 91%, 70% 100%, 60% 94%, 50% 100%, 40% 94%, 30% 100%, 24% 91%, 14% 96%, 10% 84%, 0 84%, 5% 67%, 0 50%, 5% 33%);
}

.nb-offer-badge[data-nb-badge-shape="wave"] {
  isolation: isolate;
  display: grid;
  place-items: center;
  width: 6em;
  min-height: min(6em, 100%);
  aspect-ratio: 1;
  padding: .9em;
  background: transparent;
}

.nb-offer-badge[data-nb-badge-shape="wave"]::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: var(--nb-badge-bg, #ed002b);
  clip-path: polygon(99.7% 50.0%, 98.7% 53.2%, 96.4% 56.1%, 93.9% 58.7%, 92.4% 61.4%, 92.4% 64.4%,
    93.2% 67.9%, 93.8% 71.6%, 93.0% 74.8%, 90.6% 77.1%, 87.1% 78.5%, 83.6% 79.5%,
    81.0% 81.0%, 79.5% 83.6%, 78.5% 87.1%, 77.1% 90.6%, 74.9% 93.0%, 71.6% 93.8%,
    67.9% 93.2%, 64.4% 92.4%, 61.4% 92.4%, 58.7% 93.9%, 56.1% 96.4%, 53.2% 98.7%,
    50.0% 99.7%, 46.8% 98.7%, 43.9% 96.4%, 41.3% 93.9%, 38.6% 92.4%, 35.6% 92.4%,
    32.1% 93.2%, 28.4% 93.8%, 25.2% 93.0%, 22.9% 90.6%, 21.5% 87.1%, 20.5% 83.6%,
    19.0% 81.0%, 16.4% 79.5%, 12.9% 78.5%, 9.4% 77.1%, 7.0% 74.8%, 6.2% 71.6%,
    6.8% 67.9%, 7.6% 64.4%, 7.6% 61.4%, 6.1% 58.7%, 3.6% 56.1%, 1.3% 53.2%,
    0.3% 50.0%, 1.3% 46.8%, 3.6% 43.9%, 6.1% 41.3%, 7.6% 38.6%, 7.6% 35.6%,
    6.8% 32.1%, 6.2% 28.4%, 7.0% 25.2%, 9.4% 22.9%, 12.9% 21.5%, 16.4% 20.5%,
    19.0% 19.0%, 20.5% 16.4%, 21.5% 12.9%, 22.9% 9.4%, 25.1% 7.0%, 28.4% 6.2%,
    32.1% 6.8%, 35.6% 7.6%, 38.6% 7.6%, 41.3% 6.1%, 43.9% 3.6%, 46.8% 1.3%,
    50.0% 0.3%, 53.2% 1.3%, 56.1% 3.6%, 58.7% 6.1%, 61.4% 7.6%, 64.4% 7.6%,
    67.9% 6.8%, 71.6% 6.2%, 74.9% 7.0%, 77.1% 9.4%, 78.5% 12.9%, 79.5% 16.4%,
    81.0% 19.0%, 83.6% 20.5%, 87.1% 21.5%, 90.6% 22.9%, 93.0% 25.1%, 93.8% 28.4%,
    93.2% 32.1%, 92.4% 35.6%, 92.4% 38.6%, 93.9% 41.3%, 96.4% 43.9%, 98.7% 46.8%);
}

.nb-offer-badge[data-nb-badge-position="top-right"] {
  --nb-badge-inset: var(--nb-badge-offset) var(--nb-badge-offset) auto auto;
}

.nb-offer-badge[data-nb-badge-position="top-center"] {
  --nb-badge-inset: var(--nb-badge-offset) 0 auto 0;
}

.nb-offer-badge[data-nb-badge-position="bottom-left"] {
  --nb-badge-inset: auto auto var(--nb-badge-offset) var(--nb-badge-offset);
}

.nb-offer-badge[data-nb-badge-position="bottom-right"] {
  --nb-badge-inset: auto var(--nb-badge-offset) var(--nb-badge-offset) auto;
}

.nb-offer-badge[hidden],
.nb-offer-grid > .nb-offer-card[hidden] {
  display: none !important;
}

.nb-offer-filter-shell {
  position: relative;
  z-index: 8;
  min-width: 0;
  background: var(--nb-filter-bar-bg, transparent);
}

.nb-offer-filter-shell[data-nb-filter-sticky] {
  background: var(--nb-filter-bar-bg, #fff);
  transform: translateY(var(--nb-filter-shift, 0px));
}

.nb-offer-quick-add .nb-offer-filter-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  justify-content: safe var(--nb-filter-align, center);
  align-items: center;
  gap: var(--nb-filter-gap, 8px);
  min-width: 0;
  padding: 3px;
}

.nb-offer-quick-add .nb-offer-filter {
  flex: 0 0 auto;
  margin: 0;
  padding: var(--nb-filter-padding, .55em 1em);
  border: 1px solid var(--nb-filter-border, #d9d9d9);
  border-radius: 999px;
  background: var(--nb-filter-bg, #fff);
  color: var(--nb-filter-color, #333);
  font-size: var(--nb-filter-size, .9rem);
  font-weight: 700;
  line-height: 1.2;
  text-transform: none;
  cursor: pointer;
}

.nb-offer-quick-add .nb-offer-filter[aria-pressed="true"] {
  border-color: var(--nb-filter-active-bg, #ed002b);
  background: var(--nb-filter-active-bg, #ed002b);
  color: var(--nb-filter-active-color, #fff);
}

.nb-offer-filter-mobile {
  display: none;
}

.nb-offer-filter-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.nb-offer-button-mobile {
  display: none;
}

[data-nb-animate-discount] .nb-offer-price.has-nb-discount {
  background: var(--nb-price-highlight, #fff1f3);
  border-radius: .28em;
  box-shadow: 0 0 0 .12em var(--nb-price-highlight, #fff1f3);
}

@media (max-width: 767px) {
  .nb-offer-quick-add .nb-offer-filter-bar {
    display: none !important;
  }

  .nb-offer-quick-add .nb-offer-filter-mobile {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    min-width: 0;
    padding: 4px 2px;
    color: var(--nb-filter-color, #333);
    font-size: var(--nb-filter-size, .83rem);
    font-weight: 700;
  }

  .nb-offer-filter-mobile > select {
    box-sizing: border-box;
    flex: 1 1 132px;
    min-width: 0;
    max-width: 100%;
    min-height: 40px;
    padding: 6px 10px;
    border: 1px solid var(--nb-filter-border, #d9d9d9);
    border-radius: 8px;
    background: var(--nb-filter-bg, #fff);
    color: var(--nb-filter-color, #333);
    font: inherit;
  }

  .nb-offer-badge {
    font-size: var(--nb-badge-size, .72rem);
  }

  .nb-offer-card .nb-offer-add-button {
    max-width: 100%;
    min-height: 44px;
    padding: 10px 8px;
    font-size: .86rem;
    line-height: 1.15;
    white-space: normal;
  }

  .nb-offer-button-desktop {
    display: none;
  }

  .nb-offer-button-mobile {
    display: inline;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .nb-offer-badge[data-nb-badge-motion="enter"].nb-offer-play-motion {
    animation: nb-offer-badge-enter .4s ease-out both;
  }

  .nb-offer-badge[data-nb-badge-motion="bounce"].nb-offer-play-motion {
    animation: nb-offer-badge-bounce .55s ease-out both;
  }

  .nb-offer-badge[data-nb-badge-motion="repeat"][data-nb-motion-visible] {
    animation: nb-offer-badge-repeat var(--nb-badge-repeat-duration, 7s) ease-in-out infinite;
  }

  .nb-offer-badge[data-nb-badge-motion="spin"]::before {
    background: var(--nb-badge-bg, #ed002b);
    background: conic-gradient(from 0deg, var(--nb-badge-bg, #ed002b) 0deg 255deg, color-mix(in srgb, var(--nb-badge-bg, #ed002b) 72%, #fff) 285deg, var(--nb-badge-bg, #ed002b) 348deg 360deg);
    animation: nb-offer-badge-spin var(--nb-badge-spin-duration, 9s) linear infinite;
    will-change: transform;
  }

  .nb-offer-badge[data-nb-motion-offscreen]::before {
    animation-play-state: paused;
  }

  .nb-offer-price.nb-offer-play-motion {
    animation: nb-offer-price-pulse .45s ease-out;
  }
}

@keyframes nb-offer-badge-enter {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes nb-offer-badge-bounce {
  0% { opacity: 0; transform: scale(.88); }
  60% { opacity: 1; transform: scale(1.08); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes nb-offer-price-pulse {
  50% { transform: scale(1.09); }
}

@keyframes nb-offer-badge-repeat {
  0%, 14%, 100% { transform: translateY(0) scale(1); }
  4% { transform: translateY(-5px) scale(1.09); }
  8% { transform: translateY(0) scale(.97); }
  11% { transform: translateY(-2px) scale(1.03); }
}

@keyframes nb-offer-badge-spin {
  to { transform: rotate(1turn); }
}

@media (max-width: 767px) {
  .nb-offer-card .nb-offer-badge {
    padding: .28em .53em;
    font-size: var(--nb-badge-size, .68rem);
  }

  .nb-offer-card .nb-offer-badge[data-nb-badge-shape="ribbon"] {
    padding-inline-end: .95em;
  }

  .nb-offer-card .nb-offer-badge[data-nb-badge-shape="seal"] {
    min-height: 2.55em;
    padding: .45em .62em;
  }

  .nb-offer-card .nb-offer-badge[data-nb-badge-shape="wave"] {
    width: 4.8em;
    min-height: 4.8em;
    padding: .5em;
  }
}
