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

			.dev-floor-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-floor-map-svg {
				display: block;
				width: 100%;
				height: auto;
			}

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

			.dev-floor-map-unit polygon {
				fill-opacity: 0.42;
				stroke-width: 2;
				transition: fill-opacity 0.2s ease, stroke-width 0.2s ease, transform 0.2s ease;
			}

			.dev-floor-map-unit.dev-status-free polygon {
				fill: #22c55e;
				stroke: #15803d;
			}

			.dev-floor-map-unit.dev-status-reserved polygon {
				fill: #f59e0b;
				stroke: #b45309;
			}

			.dev-floor-map-unit.dev-status-sold polygon {
				fill: #ef4444;
				stroke: #b91c1c;
			}

			.dev-floor-map-unit.dev-status-custom polygon {
				fill: #3b82f6;
				stroke: #1d4ed8;
			}

			.dev-floor-map-unit:hover polygon,
			.dev-floor-map-unit:focus polygon,
			.dev-floor-map-unit:active polygon,
			.dev-floor-map-unit.is-mobile-active polygon {
				stroke-width: 3;
				cursor: pointer;
			}

			.dev-floor-map-unit.dev-status-free:hover polygon,
			.dev-floor-map-unit.dev-status-free:focus polygon,
			.dev-floor-map-unit.dev-status-free:active polygon,
			.dev-floor-map-unit.dev-status-free.is-mobile-active polygon {
				fill: #4ade80;
				stroke: #16a34a;
				fill-opacity: 0.58;
			}

			.dev-floor-map-unit.dev-status-reserved:hover polygon,
			.dev-floor-map-unit.dev-status-reserved:focus polygon,
			.dev-floor-map-unit.dev-status-reserved:active polygon,
			.dev-floor-map-unit.dev-status-reserved.is-mobile-active polygon {
				fill: #fbbf24;
				stroke: #d97706;
				fill-opacity: 0.58;
			}

			.dev-floor-map-unit.dev-status-sold:hover polygon,
			.dev-floor-map-unit.dev-status-sold:focus polygon,
			.dev-floor-map-unit.dev-status-sold:active polygon,
			.dev-floor-map-unit.dev-status-sold.is-mobile-active polygon {
				fill: #f87171;
				stroke: #dc2626;
				fill-opacity: 0.58;
			}

			.dev-floor-map-unit.dev-status-custom:hover polygon,
			.dev-floor-map-unit.dev-status-custom:focus polygon,
			.dev-floor-map-unit.dev-status-custom:active polygon,
			.dev-floor-map-unit.dev-status-custom.is-mobile-active polygon {
				fill: #60a5fa;
				stroke: #2563eb;
				fill-opacity: 0.58;
			}

			.dev-floor-map-legend {
				display: flex;
				flex-wrap: wrap;
				gap: 14px;
				margin-top: 14px;
				font-size: 14px;
			}

			.dev-floor-map-legend span {
				display: inline-flex;
				align-items: center;
				gap: 8px;
				padding: 8px 12px;
				background: #ffffff;
				border: 1px solid #e5e7eb;
				border-radius: 999px;
			}

			.dev-floor-map-legend i {
				display: inline-block;
				width: 14px;
				height: 14px;
				border-radius: 4px;
			}

			.dev-floor-map-legend .free i {
				background: #22c55e;
			}

			.dev-floor-map-legend .reserved i {
				background: #f59e0b;
			}

			.dev-floor-map-legend .sold i {
				background: #ef4444;
			}

			.dev-floor-map-rich-tooltip {
				position: fixed;
				z-index: 999999;
				min-width: 250px;
				max-width: 320px;
				padding: 14px;
				border-radius: 16px;
				background: #a48b6c;
				color: #f5efe6;
				box-shadow: 0 18px 50px rgba(111, 88, 58, 0.34);
				border: 1px solid rgba(255,255,255,.16);
				pointer-events: none;
				opacity: 0;
				visibility: hidden;
				transform: translateY(8px);
				transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
				font-size: 14px;
				line-height: 1.45;
				backdrop-filter: blur(6px);
			}

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

			.dev-floor-map-rich-tooltip__top {
				display: flex;
				align-items: flex-start;
				justify-content: space-between;
				gap: 10px;
				margin-bottom: 12px;
			}

			.dev-floor-map-rich-tooltip__title {
				margin: 0;
				font-size: 17px;
				line-height: 1.15;
				font-weight: 700;
				color: #f7f1e8;
			}

			.dev-floor-map-rich-tooltip__subtitle {
				margin-top: 4px;
				font-size: 12px;
				color: rgba(247, 241, 232, 0.88);
			}

			.dev-floor-map-rich-tooltip__status {
				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-floor-map-rich-tooltip__status.is-free {
				background: #62b00b;
				color: #ffffff;
				border-color: rgba(255,255,255,0.1);
			}

			.dev-floor-map-rich-tooltip__status.is-reserved {
				background: #d7941a;
				color: #ffffff;
				border-color: rgba(255,255,255,0.1);
			}

			.dev-floor-map-rich-tooltip__status.is-sold {
				background: #cf4539;
				color: #ffffff;
				border-color: rgba(255,255,255,0.1);
			}

			.dev-floor-map-rich-tooltip__grid {
				display: grid;
				grid-template-columns: 1fr;
				gap: 12px;
				align-items: start;
			}

			.dev-floor-map-rich-tooltip__specs {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: 8px;
				align-items: stretch;
				min-width: 0;
			}

			.dev-floor-map-rich-tooltip__item {
				padding: 10px 11px;
				border-radius: 12px;
				background: #ece4d8;
				border: 1px solid rgba(255,255,255,.24);
				box-shadow: inset 0 1px 0 rgba(255,255,255,0.3);
				min-width: 0;
				text-align: center;
			}

			.dev-floor-map-rich-tooltip__item-label {
				display: block;
				margin-bottom: 4px;
				font-size: 10px;
				letter-spacing: 0.01em;
				text-transform: uppercase;
				color: rgba(35, 28, 22, 0.72);
				word-break: keep-all;
				overflow-wrap: normal;
				hyphens: none;
			}

			.dev-floor-map-rich-tooltip__item-value {
				display: block;
				font-size: 15px;
				font-weight: 700;
				line-height: 1.2;
				color: #231c16;
				word-break: keep-all;
				overflow-wrap: normal;
				hyphens: none;
			}

			.dev-floor-map-rich-tooltip__price {
				padding: 12px 14px;
				border-radius: 14px;
				background: #ece4d8;
				border: 1px solid rgba(255,255,255,.24);
				box-shadow: inset 0 1px 0 rgba(255,255,255,0.3);
				min-width: 0;
				width: 100%;
				box-sizing: border-box;
			}

			.dev-floor-map-rich-tooltip__price-main {
				display: block;
				font-size: 20px;
				font-weight: 800;
				line-height: 1.1;
				color: #231c16;
			}

			.dev-floor-map-rich-tooltip__price-sub {
				display: block;
				margin-top: 5px;
				font-size: 13px;
				color: rgba(35, 28, 22, 0.78);
			}

			.dev-floor-map-rich-tooltip__price-old {
				display: block;
				margin-top: 6px;
				font-size: 12px;
				color: rgba(35, 28, 22, 0.68);
				text-decoration: line-through;
				text-decoration-thickness: 2px;
			}

			.dev-floor-map-rich-tooltip__price-lowest {
				display: block;
				margin-top: 6px;
				font-size: 11px;
				line-height: 1.25;
				color: rgba(35, 28, 22, 0.78);
				white-space: normal;
			}

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

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

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

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

				.dev-floor-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-floor-map-mobile-sheet-backdrop.is-visible {
					opacity: 1;
					visibility: visible;
				}

				.dev-floor-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: 82vh;
					overflow: hidden;
				}

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

				.dev-floor-map-mobile-sheet__handle {
					width: 56px;
					height: 5px;
					border-radius: 999px;
					background: rgba(247, 241, 232, 0.65);
					margin: 10px auto 6px;
				}

				.dev-floor-map-mobile-sheet__inner {
					padding: 10px 16px 16px;
					overflow-y: auto;
					max-height: calc(82vh - 16px);
				}

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

				.dev-floor-map-mobile-sheet__title {
					margin: 0;
					font-size: 22px;
					line-height: 1.1;
					font-weight: 800;
					color: #f7f1e8;
				}

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

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

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

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

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

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

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

				.dev-floor-map-mobile-sheet__price-main {
					display: block;
					font-size: 26px;
					line-height: 1.08;
					font-weight: 800;
					color: #231c16;
				}

				.dev-floor-map-mobile-sheet__price-sub {
					display: block;
					margin-top: 6px;
					font-size: 14px;
					color: rgba(35, 28, 22, 0.78);
				}

				.dev-floor-map-mobile-sheet__price-old {
					display: block;
					margin-top: 6px;
					font-size: 12px;
					color: rgba(35, 28, 22, 0.68);
					text-decoration: line-through;
					text-decoration-thickness: 2px;
				}

				.dev-floor-map-mobile-sheet__price-lowest {
					display: block;
					margin-top: 6px;
					font-size: 11px;
					line-height: 1.25;
					color: rgba(35, 28, 22, 0.78);
				}

				.dev-floor-map-mobile-sheet__grid {
					display: grid;
					grid-template-columns: 1fr;
					gap: 10px;
					margin-bottom: 16px;
				}

				.dev-floor-map-mobile-sheet__specs {
					display: grid;
					grid-template-columns: repeat(3, minmax(0, 1fr));
					gap: 8px;
					min-width: 0;
				}

				.dev-floor-map-mobile-sheet__item {
					padding: 12px 13px;
					border-radius: 14px;
					background: #ece4d8;
					border: 1px solid rgba(255,255,255,0.24);
				}

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

				.dev-floor-map-mobile-sheet__item-value {
					display: block;
					font-size: 15px;
					font-weight: 800;
					color: #231c16;
				}

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

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

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

			@media (max-width: 767px) {
				.dev-floor-map-mobile-sheet__grid {
					grid-template-columns: 1fr 1fr;
				}

				.dev-floor-map-mobile-sheet__price-main {
					font-size: 23px;
				}
			}

			@media (max-width: 420px) {
				.dev-floor-map-mobile-sheet__grid {
					grid-template-columns: 1fr;
				}

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