.popup {
  display: block;
  position: absolute;
  background: linear-gradient(to bottom, rgba(40, 40, 40, 0.95), rgba(20, 20, 20, 0.9));
  color: #ffffff;
  border-radius: 4px;
  padding: 6px 8px; /* 半分に減らした */
  z-index: 10;
  font-size: 13px;
  line-height: 1.2; /* 全体的な行間をやや詰める */
  white-space: normal;
  opacity: 0;
  transform: scale(0);
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  max-width: 200px;
}

.popup.show {
  opacity: 1;
  transform: scale(1);
}

.popup .product-name a {
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  transition: color 0.3s;
}

.popup .product-name a:hover {
  color: #ccc;
}

.popup .description {
  font-size: 14px;
  color: #ddd;
  margin-top: 4px; /* 行間を狭くするため8pxから4pxに */
}

@media screen and (max-width: 480px) {
  .popup {
    font-size: 10px;
    padding: 5px 5px; /* スマホ用も半分程度に */
    max-width: 150px;
  }

  .popup .description {
    font-size: 8px;
    margin-top: 2px;
  }
}
