/**
 * Guest Access Map
 *
 * @created			03/06/2025
 * @author			Biranavan S
 * @copyright		2025 Poppys Hotel Privat Ltd
 * @license			NC ND
 *
 * @Last Modified	07/06/2023 - Biranavan S
 */

:root {
	--building-color: #a29f9a;
	--door-color: #0288D1;
	--outdoor-color: #a26f3b;
	--outlet-color: #a369ca;
	--room-color: #5bcba9;
}

/*
 * Reset default page spec
 */
html,
body,
main {
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

/*
 * Map specific styles
 */
#map {
	height: 100%;
	width: 100%;
}
#map-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8); /* semi-transparent white */
  backdrop-filter: blur(4px);
  z-index: 10;
  transition: opacity 0.5s ease;
}
#map-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}

/*
 * User position
 */
.user-tag {
  background-color: #4285F4;
  border-radius: 8px;
  color: #FFFFFF;
  font-size: 14px;
  padding: 10px 15px;
  position: relative;
	transition: all 0.3s ease-out;
}
.user-tag::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 0);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #4285F4;
}
.user-tag.highlight {
	box-shadow: 0 0 10px 4px rgba(66, 133, 244, 0.7);
	transform: scale(1.1);
	transition: all 0.2s ease-in-out;
	z-index: 10;
}
.user-tag:hover {
	top: -10px;
}


/*
 * Facility styles in unhighlighted state.
 */
.facility {
	align-items: center;
	background-color: #FFFFFF;
	border-radius: 50%;
	color: #263238;
	display: flex;
	font-size: 14px;
	gap: 15px;
	height: 30px;
	justify-content: center;
	padding: 4px;
	position: relative;
	transition: all 0.3s ease-out;
	width: 30px;
	z-index: 10;
	top: 0px;
	box-shadow:  5px 5px 5px rgba(0, 0, 0, 0.2);
}
.facility:hover {
	top: -10px;
}
.facility:active {
	top: 0px;
}

.facility::after {
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-top: 9px solid #FFFFFF;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	top: 90%;
	transform: translate(-50%, 0);
	width: 0;
	z-index: 1;
}

.facility .icon {
	align-items: center;
	display: flex;
	justify-content: center;
	color: #FFFFFF;
	cursor: pointer;
	transition: all 0.3s ease-out;
}

.facility .icon svg {
	height: 20px;
	width: auto;
}

.facility .details {
	display: none;
	flex-direction: column;
	flex: 1;
	padding-right: 5px;
}

.facility .name {
	color: #000000;
	margin-bottom: 5px;
	margin-top: 5px;
}
.facility .desc {
	color: #9E9E9E;
	font-size: 12px;
	margin-bottom: 10px;
	margin-top: 5px;
}

.facility .features {
	align-items: flex-end;
	display: flex;
	flex-direction: row;
	gap: 10px;
}

.facility .features > div {
	align-items: center;
	background: #F5F5F5;
	border-radius: 5px;
	border: 1px solid #ccc;
	display: flex;
	font-size: 10px;
	gap: 5px;
	padding: 5px;
}

/*
 * facility styles in highlighted state.
 */
.facility.highlight {
	background-color: #FFFFFF;
	border-radius: 8px;
	box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.2);
	height: 80px;
	padding: 8px 15px;
	width: auto;
	z-index: 999;
}
.facility.highlight:hover {
	top: 0px;
}

.facility.highlight::after {
	border-top: 9px solid #FFFFFF;
	top:100%;
}

.facility.highlight .details {
	display:inline;
}

.facility.highlight .icon svg {
	width: 50px;
	height: 50px;
}

.facility .bed {
	color: #FFA000;
}

.facility .bath {
	color: #03A9F4;
}

.facility .size {
	color: #388E3C;
}

/*
 * Door icon colors.
 */
.facility.highlight:has(.fc-door) .icon {
	color: var(--door-color);
}

.facility:not(.highlight):has(.fc-door) {
	background-color: var(--door-color);
}

.facility:not(.highlight):has(.fc-door)::after {
	border-top: 9px solid var(--door-color);
}

/*
 * Building icon colors.
 */
.facility.highlight:has(.fc-building) .icon {
	color: var(--building-color);
}

.facility:not(.highlight):has(.fc-building) {
	background-color: var(--building-color);
}

.facility:not(.highlight):has(.fc-building)::after {
	border-top: 9px solid var(--building-color);
}

/*
 * Outdoor icon colors.
 */
.facility.highlight:has(.fc-outdoor) .icon {
	color: var(--outdoor-color);
}

.facility:not(.highlight):has(.fc-outdoor) {
	background-color: var(--outdoor-color);
}

.facility:not(.highlight):has(.fc-outdoor)::after {
	border-top: 9px solid var(--outdoor-color);
}

/*
 * Outlet icon colors.
 */
.facility.highlight:has(.fc-outlet) .icon {
	color: var(--outlet-color);
}

.facility:not(.highlight):has(.fc-outlet) {
	background-color: var(--outlet-color);
}

.facility:not(.highlight):has(.fc-outlet)::after {
	border-top: 9px solid var(--outlet-color);
}

/*
 * Room icon colors.
 */
.facility.highlight:has(.fc-room) .icon {
	color: var(--room-color);
}

.facility:not(.highlight):has(.fc-room) {
	background-color: var(--room-color);
}

.facility:not(.highlight):has(.fc-room)::after {
	border-top: 9px solid var(--room-color);
}
