.hotspot-image {
	position: relative;
	display: inline-block;
	max-width: 100%;
	overflow: clip;
	border-radius: 2rem;
}

@supports not (overflow: clip) {
	.hotspot-image {
		overflow: hidden;
	}
}

.hotspot-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: inherit !important;
}

.hotspot {
	position: absolute;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid #fff;
	background: rgba(0, 0, 0, 0.6);
	cursor: pointer;
	transform: translate(-50%, -50%);
	padding: 0;
	outline: none;
}

/* extra ring on hover/focus/active */
.hotspot:hover,
.hotspot:focus,
.hotspot.hotspot-active {
	box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.15); /* bigger “clear” circle */
}

/* .hotspot::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: 125%;
  transform: translateX(-50%);
  background: #222;
  color: #fff;
  font-size: 12px;
  line-height: 1.4;
  padding: 6px 10px;
  border-radius: 4px;
  white-space: normal;
  min-width: 150px;
  max-width: 220px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease;
  z-index: 10;
}

.hotspot::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 115%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: #222 transparent transparent transparent;
  opacity: 0;
  transition: opacity 0.15s ease;
} */

.hotspot:hover::after,
.hotspot:focus::after,
.hotspot:hover::before,
.hotspot:focus::before,
.hotspot.hotspot-active::after,
.hotspot.hotspot-active::before {
	opacity: 1;
	transform: translate(-50%, -4px);
}

.hotspot-tooltip {
	position: absolute;
	left: 50%;
	bottom: 125%;
	display: none;
	transform: translateX(-50%);
	background: rgba(0, 0, 0, 0.85);
	color: #fff;
	padding: 10px 14px;
	border-radius: 6px;
	min-width: 180px;
	max-width: 240px;
	font-size: 13px;
	line-height: 1.4;
	opacity: 0;
	pointer-events: auto;
	transition:
		opacity 0.15s ease,
		transform 0.15s ease;
	z-index: 20;
	text-align: left;
}

.hotspot-tooltip::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -6px;
	transform: translateX(-50%);
	border-width: 6px;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0.85) transparent transparent transparent;
}

/* show on hover or when JS adds .hotspot-active (for mobile) */
.hotspot:hover .hotspot-tooltip,
.hotspot.hotspot-active .hotspot-tooltip {
	opacity: 1;
	transform: translate(-50%, -6px);
}

.hotspot-tooltip.hotspot-tooltip-floating {
	position: fixed;
	left: var(--hotspot-tooltip-left, 0);
	top: var(--hotspot-tooltip-top, 0);
	bottom: auto;
	display: block;
	transform: none;
	opacity: 1;
	z-index: 99999;
}

.hotspot-tooltip.hotspot-tooltip-floating::after {
	left: var(--hotspot-tooltip-arrow-left);
}

.hotspot-tooltip.hotspot-tooltip-floating.hotspot-tooltip-below::after {
	top: -6px;
	bottom: auto;
	border-color: transparent transparent rgba(0, 0, 0, 0.85) transparent;
}

/* Κουμπί μέσα στην επεξήγηση */
.hotspot-tooltip a.shop-now {
	display: inline-block;
	margin-top: 8px;
	padding: 6px 10px;
	background: #fff;
	color: #000;
	border-radius: 4px;
	font-weight: 600;
	text-decoration: none;
	font-size: 12px;
}

.hotspot-tooltip a.shop-now:hover {
	background: #f0f0f0;
}

@media (max-width: 768px) {
	.hotspot-image {
		border-radius: 1rem;
	}

	.hotspot {
		width: 22px;
		height: 22px;
	}

	.hotspot-tooltip {
		box-sizing: border-box;
		min-width: min(180px, calc(100vw - 2rem));
		max-width: min(240px, calc(100vw - 2rem));
		overflow-wrap: anywhere;
	}
}
