@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgb(255 255 255 / 70%);
    transform: scale(1);
  }

  70% {
    box-shadow: 0 0 0 10px rgb(255 255 255 / 0%);
    transform: scale(1.05);
  }

  100% {
    box-shadow: 0 0 0 0 rgb(255 255 255 / 0%);
    transform: scale(1);
  }
}

.sgc-shopping-image .sgc-theme-popover {
  position: absolute;
  inset-block-start: var(--anchor-top-desktop);
  inset-inline-start: var(--anchor-left-desktop);
  z-index: var(--sgc-z-index-focus);
  width: 0;
  height: 0;
}

.sgc-shopping-image .sgc-theme-popover.is-open {
  z-index: var(--sgc-z-index-popover);
}

.sgc-shopping-image .sgc-theme-popover__trigger {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  background-color: transparent;
  border: none;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}

.sgc-shopping-image .sgc-theme-popover__trigger-icon > circle {
  fill: rgb(var(--anchor-background-color, #2c2c2c));
}

.sgc-shopping-image .sgc-theme-popover__trigger-icon > path {
  fill: rgb(var(--anchor-color, #fff));
}

.sgc-shopping-image .sgc-theme-popover__trigger:hover {
  transform: translate(-50%, -50%) scale(1.1);
}

.sgc-shopping-image .sgc-theme-popover__trigger img,
.sgc-shopping-image .sgc-theme-popover__trigger svg {
  width: 24px;
  height: 24px;
}

.sgc-shopping-image .sgc-theme-popover theme-popover-content {
  --popover-inline-start: 0px;
  --popover-translate-y: -10px;
  --popover-translate-y-active: 0;
  --popover-max-height: 400px;

  position: absolute;
  inset-block-start: calc(100% + 12px);
  inset-inline-start: var(--popover-inline-start);
  z-index: var(--sgc-z-index-popover);
  display: block;
  visibility: hidden;
  width: max-content;
  max-width: min(90vw, 330px);
  max-height: var(--popover-max-height);
  padding: 0;
  overflow: visible;
  pointer-events: none;
  opacity: 0;
  transform: translateY(var(--popover-translate-y));
  transition:
    opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sgc-shopping-image .sgc-theme-popover theme-popover-content.popover--show {
  visibility: visible;
  overflow-y: auto;
  pointer-events: auto;
  opacity: 1;
  transform: translateY(var(--popover-translate-y-active));
}

.sgc-shopping-image
  .sgc-theme-popover[data-current-position="top"]
  theme-popover-content {
  inset-block: auto calc(100% + 12px);

  --popover-translate-y: 10px;
  --popover-translate-y-active: 0;
}

.sgc-shopping-image
  .sgc-theme-popover[data-anchor-style="dot"]
  .sgc-theme-popover__trigger {
  width: 30px;
  height: 30px;
  background-color: rgb(var(--anchor-background-color, 34 34 34));
  border: 2px solid rgb(var(--anchor-color, 255 255 255));
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.sgc-shopping-image
  .sgc-theme-popover[data-anchor-style="dot"]
  .sgc-theme-popover__trigger
  svg,
.sgc-shopping-image
  .sgc-theme-popover[data-anchor-style="dot"]
  .sgc-theme-popover__trigger
  img {
  display: none;
}

.sgc-shopping-image
  .sgc-theme-popover[data-anchor-style="dot"]
  .sgc-theme-popover__trigger::before {
  position: absolute;
  inset: 0;
  content: "";
  border-radius: 50%;
  animation: pulse 1.8s ease-out infinite;
}

.sgc-shopping-image
  .sgc-theme-popover[data-anchor-style="dot"]
  .sgc-theme-popover__trigger::after {
  position: absolute;
  inset: 50%;
  width: 10px;
  height: 10px;
  content: "";
  background-color: rgb(var(--anchor-color, 255 255 255));
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.sgc-shopping-image
  .sgc-theme-popover[data-anchor-style="dot"]
  .sgc-theme-popover__trigger:hover {
  transform: translate(-50%, -50%);
}

@media (max-width: 959px) {
  .sgc-shopping-image .sgc-theme-popover {
    inset-block-start: var(--anchor-top-mobile);
    inset-inline-start: var(--anchor-left-mobile);
  }
}
