/* ===== Івент «Полювання на банани» ===== */

:root {
  --vv-banana-dark: #000;
}

/* Сам банан на сторінці */
.vv-banana {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  line-height: 0;
  vertical-align: middle;
  position: relative;
  z-index: 10;
  transition: transform .18s ease, filter .18s ease, opacity .18s ease;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}
.vv-banana img { display: block; pointer-events: none; }
.vv-banana:active { transform: scale(.92); }
.vv-banana--emoji { line-height: 1; }

/* Зібраний / вичерпаний банан — сірий, неактивний на вигляд */
.vv-banana--done {
  filter: grayscale(1);
  opacity: .45;
}
.vv-banana--loading { opacity: .6; pointer-events: none; }

/* Абсолютне позиціювання відносно якоря (по центру по вертикалі) */
.vv-banana--abs { position: absolute; top: 50%; z-index: 9; width: max-content; }
.vv-banana--left { right: 100%; margin-right: 10px; }   /* зовні зліва */
.vv-banana--right { left: 100%; margin-left: 10px; }    /* зовні справа */
.vv-banana--inside-left { left: 0; }                    /* всередині, до лівого краю */
.vv-banana--inside-right { right: 0; }                  /* всередині, до правого краю */

/* ===== Попап ===== */
.vv-banana-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}
.vv-banana-modal.open { opacity: 1; visibility: visible; }

.vv-banana-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 20, 20, .55);
}

.vv-banana-modal__card {
  position: relative;
  width: 100%;
  max-width: 343px;
  background: #fff;
  border-radius: 6px;
  padding: 24px;
  /* box-shadow: 0 24px 60px rgba(0, 0, 0, .25); */
  transform: translateY(12px) scale(.98);
  transition: transform .22s ease;
}
.vv-banana-modal.open .vv-banana-modal__card { transform: none; }

.vv-banana-modal__x {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: #9a9a9a;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.vv-banana-modal__body { text-align: left; }

.vv-banana-modal__title {
  margin-bottom: 1px;
  font-size: 16px;
  font-weight: 500;
  color: var(--vv-banana-dark);
  line-height: 1.2;
}

.vv-banana-modal__code-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.vv-banana-modal__code {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .5px;
  color: #F5A400;
  text-transform: uppercase;
}
.vv-banana-modal__copy {
  border: 0;
  background: transparent;
  color: #b9b9b9;
  cursor: pointer;
  display: inline-flex;
  padding: 2px;
  transition: color .15s ease;
}
.vv-banana-modal__copy--done { color: #36b37e; }

.vv-banana-modal__desc {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.45;
  color: #000;
}

.vv-banana-modal__badge {
  display: inline-block;
  background: #F7F8F9;
  border-radius: 6px;
  padding: 4px 8px;
  font-size: 12px;
  color: #000;
  margin-top: 4px;
}

.vv-banana-modal__btn {
  display: block;
  width: 100%;
  text-align: center;
  background: #F7CD46;
  color: var(--vv-banana-dark);
  font-size: 14px;
  font-weight: 500;
  border: 0;
  padding: 8px 20px;
  margin-top: 28px;
  cursor: pointer;
  text-decoration: none;
}

.product-info.sticky .vv-banana {
  display: none;
}