.dev-building-map-wrap {
				position: relative;
			}

			.dev-building-map-box {
				position: relative;
				width: 100%;
				overflow: hidden;
				border-radius: 18px;
				background: #f8fafc;
				border: 1px solid #e5e7eb;
				box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
			}

			.dev-building-map-svg {
				display: block;
				width: 100%;
				height: auto;
			}

			.dev-building-map-unit {
				outline: none;
			}

			.dev-building-map-unit polygon {
				fill: #ffffff;
				fill-opacity: 0.001;
				stroke: #ffffff;
				stroke-opacity: 0.001;
				stroke-width: 2;
				cursor: pointer;
				transition: fill 0.2s ease, stroke 0.2s ease, fill-opacity 0.2s ease, stroke-opacity 0.2s ease, stroke-width 0.2s ease, transform 0.2s ease;
			}

			.dev-building-map-unit.is-hover-available:hover polygon,
			.dev-building-map-unit.is-hover-available:focus polygon,
			.dev-building-map-unit.is-hover-available.is-active polygon {
				fill: #22c55e;
				stroke: #16a34a;
				fill-opacity: 0.48;
				stroke-opacity: 1;
				stroke-width: 3;
			}

			.dev-building-map-unit.is-hover-sold:hover polygon,
			.dev-building-map-unit.is-hover-sold:focus polygon,
			.dev-building-map-unit.is-hover-sold.is-active polygon {
				fill: #ef4444;
				stroke: #dc2626;
				fill-opacity: 0.48;
				stroke-opacity: 1;
				stroke-width: 3;
			}

			.dev-building-map-tooltip {
				position: fixed;
				left: 0;
				top: 0;
				z-index: 999999;
				pointer-events: none;
				opacity: 0;
				visibility: hidden;
				transform: translateY(2px);
				background: #a48b6c;
				color: #f5efe6;
				padding: 14px 16px;
				border-radius: 16px;
				font-size: 13px;
				line-height: 1.45;
				min-width: 240px;
				max-width: 320px;
				box-shadow: 0 18px 50px rgba(111, 88, 58, 0.34);
				border: 1px solid rgba(255,255,255,.16);
				will-change: opacity, transform, left, top;
				transition: opacity 0.06s ease, transform 0.06s ease, visibility 0.06s ease;
			}

			.dev-building-map-tooltip.is-visible {
				opacity: 1;
				visibility: visible;
				transform: translateY(0);
			}

			.dev-building-map-tooltip-top {
				display: flex;
				align-items: flex-start;
				justify-content: space-between;
				gap: 10px;
				margin-bottom: 12px;
			}

			.dev-building-map-tooltip-title {
				display: block;
				font-size: 17px;
				font-weight: 700;
				line-height: 1.15;
				margin: 0;
				color: #f7f1e8;
			}

			.dev-building-map-tooltip-subtitle {
				display: block;
				margin-top: 4px;
				font-size: 12px;
				color: rgba(247, 241, 232, 0.88);
			}

			.dev-building-map-tooltip-badge {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				padding: 6px 12px;
				border-radius: 999px;
				font-size: 11px;
				font-weight: 700;
				white-space: nowrap;
				border: 1px solid rgba(255,255,255,0.14);
				box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
			}

			.dev-building-map-tooltip-badge.is-available {
				background: #62b00b;
				color: #ffffff;
				border-color: rgba(255,255,255,0.1);
			}

			.dev-building-map-tooltip-badge.is-limited {
				background: #d7941a;
				color: #ffffff;
				border-color: rgba(255,255,255,0.1);
			}

			.dev-building-map-tooltip-badge.is-soldout {
				background: #cf4539;
				color: #ffffff;
				border-color: rgba(255,255,255,0.1);
			}

			.dev-building-map-tooltip-grid {
				display: grid;
				grid-template-columns: 1fr 1fr;
				gap: 8px;
			}

			.dev-building-map-tooltip-item {
				background: #ece4d8;
				border: 1px solid rgba(255,255,255,.24);
				border-radius: 12px;
				padding: 10px 11px;
				box-shadow: inset 0 1px 0 rgba(255,255,255,0.3);
			}

			.dev-building-map-tooltip-item-label {
				display: block;
				font-size: 11px;
				margin-bottom: 3px;
				text-transform: uppercase;
				letter-spacing: .04em;
				color: rgba(35, 28, 22, 0.72);
			}

			.dev-building-map-tooltip-item-value {
				display: block;
				font-size: 15px;
				font-weight: 700;
				color: #231c16;
			}

			.dev-building-map-tooltip-footer {
				margin-top: 10px;
				font-size: 11px;
				color: rgba(247, 241, 232, 0.86);
			}

			.dev-building-map-mobile-sheet-backdrop {
				display: none;
			}

			.dev-building-map-mobile-sheet {
				display: none;
			}

			@media (max-width: 991px) {
				.dev-building-map-tooltip {
					display: none !important;
				}

				.dev-building-map-mobile-sheet-backdrop {
					display: block;
					position: fixed;
					inset: 0;
					background: rgba(15, 23, 42, 0.5);
					z-index: 999997;
					opacity: 0;
					visibility: hidden;
					transition: opacity 0.2s ease, visibility 0.2s ease;
				}

				.dev-building-map-mobile-sheet-backdrop.is-visible {
					opacity: 1;
					visibility: visible;
				}

				.dev-building-map-mobile-sheet {
					display: block;
					position: fixed;
					left: 0;
					right: 0;
					bottom: 0;
					z-index: 999998;
					background: #a48b6c;
					border-radius: 18px 18px 0 0;
					box-shadow: 0 -12px 40px rgba(111, 88, 58, 0.28);
					transform: translateY(104%);
					transition: transform 0.24s ease;
					max-height: 62vh;
					overflow: hidden;
				}

				.dev-building-map-mobile-sheet.is-visible {
					transform: translateY(0);
				}

				.dev-building-map-mobile-sheet__handle {
					width: 52px;
					height: 5px;
					border-radius: 999px;
					background: rgba(247, 241, 232, 0.65);
					margin: 8px auto 4px;
				}

				.dev-building-map-mobile-sheet__inner {
					padding: 8px 14px 14px;
					overflow-y: auto;
					max-height: calc(62vh - 14px);
				}

				.dev-building-map-mobile-sheet__top {
					display: flex;
					align-items: flex-start;
					justify-content: space-between;
					gap: 10px;
					margin-bottom: 10px;
				}

				.dev-building-map-mobile-sheet__title {
					margin: 0;
					font-size: 20px;
					line-height: 1.05;
					font-weight: 800;
					color: #f7f1e8;
				}

				.dev-building-map-mobile-sheet__subtitle {
					margin-top: 3px;
					font-size: 11px;
					color: rgba(247, 241, 232, 0.86);
				}

				.dev-building-map-mobile-sheet__status {
					display: inline-flex;
					align-items: center;
					justify-content: center;
					padding: 6px 10px;
					border-radius: 999px;
					font-size: 10px;
					font-weight: 800;
					white-space: nowrap;
					border: 1px solid transparent;
				}

				.dev-building-map-mobile-sheet__status.is-available {
					background: #62b00b;
					color: #ffffff;
					border-color: rgba(255,255,255,0.1);
				}

				.dev-building-map-mobile-sheet__status.is-limited {
					background: #d7941a;
					color: #ffffff;
					border-color: rgba(255,255,255,0.1);
				}

				.dev-building-map-mobile-sheet__status.is-soldout {
					background: #cf4539;
					color: #ffffff;
					border-color: rgba(255,255,255,0.1);
				}

				.dev-building-map-mobile-sheet__summary {
					padding: 10px 12px;
					border-radius: 14px;
					background: #ece4d8;
					color: #231c16;
					margin-bottom: 10px;
					border: 1px solid rgba(255,255,255,0.24);
				}

				.dev-building-map-mobile-sheet__summary-label {
					display: block;
					font-size: 10px;
					text-transform: uppercase;
					letter-spacing: 0.04em;
					color: rgba(35, 28, 22, 0.72);
					margin-bottom: 4px;
				}

				.dev-building-map-mobile-sheet__summary-main {
					display: block;
					font-size: 22px;
					line-height: 1.05;
					font-weight: 800;
					color: #231c16;
				}

				.dev-building-map-mobile-sheet__summary-sub {
					display: block;
					margin-top: 4px;
					font-size: 12px;
					color: rgba(35, 28, 22, 0.78);
				}

				.dev-building-map-mobile-sheet__stats-row {
					display: grid;
					grid-template-columns: repeat(3, minmax(0, 1fr));
					gap: 8px;
					margin-bottom: 12px;
				}

				.dev-building-map-mobile-sheet__stat {
					padding: 10px 8px;
					border-radius: 12px;
					background: #ece4d8;
					border: 1px solid rgba(255,255,255,0.24);
					text-align: center;
				}

				.dev-building-map-mobile-sheet__stat-label {
					display: block;
					font-size: 10px;
					text-transform: uppercase;
					letter-spacing: 0.03em;
					color: rgba(35, 28, 22, 0.72);
					margin-bottom: 4px;
				}

				.dev-building-map-mobile-sheet__stat-value {
					display: block;
					font-size: 16px;
					font-weight: 800;
					color: #231c16;
					line-height: 1.1;
				}

				.dev-building-map-mobile-sheet__actions {
					display: grid;
					grid-template-columns: 1fr 1fr;
					gap: 8px;
				}

				.dev-building-map-mobile-sheet__btn {
					display: inline-flex;
					align-items: center;
					justify-content: center;
					min-height: 42px;
					padding: 9px 12px;
					border-radius: 12px;
					text-decoration: none;
					font-weight: 700;
					font-size: 13px;
					border: 1px solid rgba(255,255,255,0.24);
					background: #ece4d8;
					color: #231c16;
				}

				.dev-building-map-mobile-sheet__btn--primary {
					background: #62b00b;
					border-color: #62b00b;
					color: #ffffff;
				}
			}

			@media (max-width: 420px) {
				.dev-building-map-mobile-sheet {
					max-height: 66vh;
				}

				.dev-building-map-mobile-sheet__inner {
					max-height: calc(66vh - 14px);
				}

				.dev-building-map-mobile-sheet__actions {
					grid-template-columns: 1fr;
				}
			}
