.hotspot-image {
	position: relative;
	max-width: 100%;
	width: max-content;
	margin: auto;
}

.hotspot-image picture,
.hotspot-image img {
	max-width: 100%;
	height: auto;
}

.hotspot {
	position: absolute;
	left: var(--hotspot-x);
	top: var(--hotspot-y);
	transform: translate(-50%, -50%);
	z-index: 2;
	display: flex;
}

.hotspot.is-active {
	z-index: 3;
}

.hotspot__marker {
	width: 16px;
	height: 16px;
	border: none;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	outline: 1px solid #fff;
	outline-offset: 5px;
}

.hotspot__marker:focus, .hotspot__marker:focus-visible {
	outline: 2px solid #fff !important;
}

.hotspot__card {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 14px);
	transform: translateX(-50%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	box-sizing: border-box;
	width: 260px;
	max-width: 0;
	max-height: 0;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 14px 40px rgba(0, 0, 0, .18);
	overflow: auto;
	z-index: 4;
	transition: opacity .18s ease, visibility 0s linear .18s, max-width 0s linear .18s, max-height 0s linear .18s;
}

.hotspot.is-active .hotspot__card {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
	max-width: calc(100vw - 32px);
	max-height: calc(100vh - 24px);
	transition:opacity .18s ease, visibility 0s, max-width 0s, max-height 0s;
}

.hotspot__card-close {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #000;
	font-size: 12px;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, .3);
}

.hotspot__card-close:hover,
.hotspot__card-close:focus {
	background: #ddd;
}

.hotspot__card-close i {
	display: flex;
}

.hotspot__card-content {
	padding: 14px;
	display: flex;
	flex-direction: column;
}

.hotspot__card-title {
	margin-bottom: 6px;
	font-size: 14px;
	line-height: 150%;
	font-weight: 500;
}

.hotspot__card-price-wrapper {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 8px;
}

.hotspot__card-price {
	font-weight: 400;
}

.hotspot__card-price-old {
	color: #707070;
	text-decoration: line-through;
}

.hotspot__card .hotsport__card-text {
	margin: 0 0 12px;
	line-height: 170%;
	font-size: 12px;
}

.hotspot__card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 8px 14px;
	border-radius: 4px;
	border: 1px solid #000;
	background: #fff;
	color: #000;
}

.hotspot__card-button:hover,
.hotspot__card-button:focus {
	background: #eee;
}

.hotspot__card-button-svg {
	width: 14px;
	height: 14px;
	fill: #000;
}

.hotsport__card-text + .hotspot__card-button svg {
	display: none;
}

@media (max-width: 991px) {
	.hotspot {
		left: var(--hotspot-x-mobile);
		top: var(--hotspot-y-mobile);
	}

	.hotspot__card {
		width: 230px;
	}

}
