.fpbm-frontend-container {
	margin: 20px 0;
	position: relative;
	width: 100%;
	display: block;
}
.fpbm-frontend-map-wrapper {
	position: relative;
	display: inline-block;
	max-width: 100%;
}
.fpbm-frontend-image {
	display: block;
	max-width: 100%;
	height: auto;
}
.fpbm-frontend-booth {
	position: absolute;
	box-sizing: border-box;
	cursor: pointer;
	border: 2px solid transparent;
	transition: all 0.3s ease;
}

/* Base styles for booths based on status */
.fpbm-frontend-available {
	border-color: #46b450;
	background: rgba(70, 180, 80, 0.4);
}
.fpbm-frontend-available:hover {
	background: rgba(70, 180, 80, 0.7);
}

.fpbm-frontend-booked {
	border-color: #dc3232;
	background: rgba(220, 50, 50, 0.4);
}
.fpbm-frontend-booked:hover {
	background: rgba(220, 50, 50, 0.7);
}

/* Booth ID label placed dead center */
.fpbm-frontend-booth-label {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-weight: bold;
	text-shadow: 1px 1px 2px #000, 0 0 5px rgba(0,0,0,0.5);
	font-size: 14px;
	pointer-events: none;
	white-space: nowrap;
}

/* Tooltips */
.fpbm-tooltip {
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin-bottom: 10px;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	pointer-events: none;
	width: max-content;
}
.fpbm-frontend-booth:hover .fpbm-tooltip,
.fpbm-frontend-booth.fpbm-hovered .fpbm-tooltip {
	opacity: 1;
	visibility: visible;
}

/* Tooltip bubble design */
.fpbm-tooltip-content {
	background: #333;
	color: #fff;
	padding: 10px 15px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.5;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	text-align: center;
}
/* Little arrow on bottom of tooltip */
.fpbm-tooltip-content::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border-width: 6px;
	border-style: solid;
	border-color: #333 transparent transparent transparent;
}
