.section-interactive-floor-plan {
	padding: var(--space-3xl) 0;
}

.ifp__layout {
	display: grid;
	grid-template-columns: 1fr;
}

.ifp__map-side {
	display: none;
}

.ifp__map-container svg,
.ifp__floor-map-container svg {
	display: block;
	width: 100%;
	height: auto;
}

.ifp__map-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ifp__floor-item.ifp-is-active .ifp__floor-map-mobile {
	display: block;
	padding-top: var(--space-sm);
}

.ifp__floor-item:not(.ifp-is-active) .ifp__floor-map-mobile {
	display: none;
}

.ifp__stage-heading {
	font-weight: 500;
	font-size: var(--font-size-display-2xs);
	line-height: var(--line-height-display-2xs);
	letter-spacing: 0;
	color: var(--color-black-mat-dark);
	text-transform: uppercase;
}

.ifp__stage-group:not(:first-child) .ifp__stage-heading {
	margin-top: var(--space-lg);
}

.ifp__floor-item {
	border-bottom: 1px solid var(--color-sand-worm-transparent);
}

.ifp__floor-item.ifp-is-active {
	padding-top: var(--space-sm);
	border-color: var(--color-sand-worm);
}

.ifp__floor-item.ifp-is-active.ifp-empty-legends {
	padding-bottom: var(--space-sm);
}

.ifp__floor-item:not(.ifp-is-active) {
	padding: var(--space-sm) 0;
}

.ifp__floor-panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease-in-out;
	overflow: hidden;
}

.ifp__floor-item.ifp-is-active .ifp__floor-panel {
	grid-template-rows: 1fr;
}

.ifp__legend-list {
	min-height: 0;
	transition: padding 0.3s ease-in-out;
}

.ifp__floor-item.ifp-is-active .ifp__floor-panel .ifp__legend-list {
	padding: var(--space-sm) 0;
}

.ifp__floors .ifp__floor-toggle {
	border: none;
	background: transparent;
	padding: 0;
}

.ifp__floor-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: transparent;
	cursor: pointer;
	
	&:hover {
		.ifp__floor-label,
		.ifp__floor-icon {
			color: var(--color-sand-worm);
		}
	}
}

.ifp__floor-label,
.ifp__floor-icon {
	transition: color 0.15s ease;
}

.ifp__floor-toggle .ifp__floor-label {
	font-family: var(--font-dahlia);
	font-weight: 500;
	font-size: var(--font-size-display-3xl);
	line-height: var(--line-height-display-3xl);
	letter-spacing: 0;
	color: var(--color-black-mat-dark);
}

.ifp__floor-icon {
	display: inline-block;
	transition: transform 0.3s ease;
	font-size: var(--font-size-display-lg);
	line-height: var(--line-height-display-lg);
	color: var(--color-black-mat-dark);
}

.ifp__floor-item:not(.ifp-is-active) .ifp__floor-icon {
	transform: rotate(45deg);
}

.ifp-is-active {
	.ifp__floor-label,
	.ifp__floor-icon {
		color: var(--color-sand-worm);
	}

	.ifp__floor-icon {
		transform: rotate(0);
	}
}

.ifp__legend-list li {
	margin-bottom: var(--space-sm);
}

.ifp__legend-item {
	font-size: var(--font-size-display-xs);
	line-height: var(--line-height-display-xs);
	letter-spacing: 0;
	color: var(--color-black-mat-dark);
	display: flex;
	align-items: center;
	gap: var(--space-xs);

	.ifp__legend-item-number {
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 500;
		width: var(--space-lg);
		height: var(--space-lg);
	}

	.ifp__legend-item-color {
		display: inline-block;
		width: var(--space-lg);
		height: var(--space-lg);
		border-radius: var(--radius-full);
		border: 1px dashed;
		box-sizing: border-box;
	}

	.ifp__legend-item-icon {
		width: var(--space-lg);
		height: var(--space-lg);
	}
}
