.ugs-wish-stack {
  position: absolute;
  top: var(--ugs-wish-stack-top, 10px);
  right: var(--ugs-wish-stack-right, 10px);
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ugs-wish-gap, 6px);
  pointer-events: none;
}
.ugs-wish-stack > * {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
  pointer-events: auto;
}

.ugs-wish {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  z-index: 4;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--ugs-wish-size, 44px);
  height: var(--ugs-wish-size, 44px);
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  line-height: 1 !important;
  border: var(--ugs-wish-border-w, 0px) solid var(--ugs-wish-border, transparent) !important;
  border-radius: var(--ugs-wish-radius, 2px) !important;
  color: var(--ugs-wish-fg, #2a0c00) !important;
  background-color: var(--ugs-wish-bg, transparent) !important;
  box-shadow: none !important;
  cursor: pointer;
  pointer-events: auto;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, opacity .25s ease, visibility .25s ease, transform .25s ease;
}
.ugs-wish:hover,
.ugs-wish:focus-visible {
  background-color: var(--ugs-wish-hover-bg, #2a0c00) !important;
  color: var(--ugs-wish-hover-fg, #ffffff) !important;
}
.ugs-wish:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.ugs-wish.is-active {
  background-color: var(--ugs-wish-active-bg, var(--ugs-wish-bg, transparent)) !important;
  color: var(--ugs-wish-active-fg, #2a0c00) !important;
}
.ugs-wish.is-loading { opacity: .5; pointer-events: none; }

.ugs-wish .ugs-wish__heart {
  display: block;
  flex: none;
  width: var(--ugs-wish-glyph, 20px);
  height: var(--ugs-wish-glyph, 20px);
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: fill .2s ease;
}
.ugs-wish.is-active .ugs-wish__heart { fill: currentColor !important; }

.ugs-wish.ugs-wish--left {
  position: absolute;
  top: var(--ugs-wish-top, 10px);
  left: var(--ugs-wish-left, 10px);
  right: auto;
  bottom: auto;
}

.ugs-wish-hover .ugs-wish {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
}
.ugs-wish-hover .ugs-wish-card:hover .ugs-wish,
.ugs-wish-hover .ugs-wish-card:focus-within .ugs-wish,
.ugs-wish-hover .ugs-wish.is-active {
  opacity: 1;
  visibility: visible;
  transform: none;
}

@media (max-width: 767px) {
  .ugs-wish {
    width: var(--ugs-wish-size, 36px);
    height: var(--ugs-wish-size, 36px);
  }
  .ugs-wish .ugs-wish__heart {
    width: var(--ugs-wish-glyph, 17px);
    height: var(--ugs-wish-glyph, 17px);
  }
}

@media (hover: none) {
  .ugs-wish-hover .ugs-wish {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}
