
		:root {
			--tmf-blue: rgb(3, 169, 248);
			--tmf-blue-light: rgba(3, 169, 248, 0.14);
			--tmf-blue-hover: rgb(2, 150, 220);
			--tmf-blue-dark: rgb(1, 120, 190);

			--tmf-text-dark: rgb(22,35,52);
			--tmf-text-muted: rgb(108,117,125);
			--tmf-bg: rgb(248,249,251);
		}
        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            font-family: Arial, Helvetica, sans-serif;
            background: rgb(248,249,251);
            color: rgb(22,35,52);
            overflow: hidden;
        }

        .tmf-shell {
            height: 100dvh;
            display: flex;
            flex-direction: column;
        }
 
        .tmf-topbar {
            height: 66px;
            background: rgb(255,255,255);
            border-bottom: 1px solid rgb(224,227,232);
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 22px;
            flex-shrink: 0;
        }

        .tmf-logo-img {
			height: 36px;
			width: auto;
			display: block;
		}

        .tmf-logo-mark {
            width: 38px;
            height: 38px;
            border-radius: 14px;
            background: linear-gradient(135deg, rgb(11,33,62), rgb(26,115,232));
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgb(255,255,255);
        }

        .tmf-login-btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 10px 14px;
            border-radius: 14px;
            background: var(--tmf-blue);
            color: rgb(255,255,255);
            text-decoration: none;
            font-size: 14px;
            font-weight: 800;
        }

        .tmf-body {
            flex: 1;
            min-height: 0;
            display: grid;
            grid-template-columns: 58px 1fr;
        }

        .tmf-icon-sidebar {
            background: rgb(255,255,255);
            border-right: 1px solid rgb(224,227,232);
            padding-top: 16px;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 18px;
            z-index: 10;
        }

        .tmf-side-icon {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgb(95,99,104);
            text-decoration: none;
            font-size: 16px;
            transition: all .18s ease;
        }

        .tmf-side-icon.active,
        .tmf-side-icon:hover {
            background: var(--tmf-blue);
            color: rgb(255,255,255);
        }

        .tmf-map-area {
            position: relative;
            background: rgb(224,229,235);
            min-width: 0;
            overflow: hidden;
        }

        .tmf-map-placeholder {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px),
                linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px),
                rgb(218,226,235);
            background-size: 42px 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgb(67,76,89);
            font-size: 26px;
            font-weight: 900;
        }

        .tmf-listing-flyout {
            position: absolute;
            top: 18px;
            left: 18px;
            width: 620px;
            max-width: calc(100% - 36px);
            height: calc(100% - 36px);
            background: rgb(248,249,251);
            border: 1px solid rgba(0,0,0,.08);
            border-radius: 24px;
            box-shadow: 0 18px 50px rgba(0,0,0,.22);
            overflow-y: auto;
            z-index: 5;
            padding: 18px;
            transform: translateX(-660px);
            transition: transform .25s ease;
        }

        .tmf-listing-flyout.open {
            transform: translateX(0);
        }

        .tmf-flyout-toggle {
            position: absolute;
            top: 18px;
            left: 18px;
            z-index: 6;
            border: 0;
            border-radius: 14px;
            background: var(--tmf-blue);
            color: rgb(255,255,255);
            padding: 11px 14px;
            font-weight: 900;
            cursor: pointer;
            box-shadow: 0 12px 28px rgba(0,0,0,.16);
            transition: left .25s ease;
        }

        .tmf-listing-flyout.open + .tmf-flyout-toggle {
			left: 656px;
		}

        .tmf-search-card {
            background: linear-gradient(135deg, rgb(11,33,62), rgb(26,115,232));
            border-radius: 24px;
            padding: 22px;
            color: rgb(255,255,255);
            margin-bottom: 18px;
            box-shadow: 0 16px 34px rgba(0,0,0,0.16);
        }

        .tmf-search-title {
            font-size: 24px;
            font-weight: 900;
            margin-bottom: 6px;
        }

        .tmf-search-subtitle {
            font-size: 14px;
            color: rgba(255,255,255,.82);
            margin-bottom: 16px;
            line-height: 1.45;
        }

        .tmf-search-box {
            height: 48px;
            background: rgb(255,255,255);
            border-radius: 16px;
            display: flex;
            align-items: center;
            padding: 0 14px;
            gap: 10px;
        }

        .tmf-search-box i {
            color: rgb(95,99,104);
        }

        .tmf-search-box input {
            border: 0;
            outline: 0;
            width: 100%;
            font-size: 15px;
        }

        .tmf-filter-row {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 10px;
            margin-top: 12px;
        }

        .tmf-filter {
            height: 40px;
            border: 1px solid rgba(255,255,255,.26);
            background: rgba(255,255,255,.14);
            color: rgb(255,255,255);
            border-radius: 13px;
            padding: 0 10px;
            font-weight: 700;
        }

        .tmf-section-label {
            font-size: 13px;
            color: rgb(108,117,125);
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: .06em;
            margin: 6px 0 12px;
        }

        .tmf-listing-card {
            background: rgb(255,255,255);
            border: 1px solid rgba(0,0,0,.08);
            border-radius: 22px;
            overflow: hidden;
            margin-bottom: 14px;
            box-shadow: 0 8px 24px rgba(0,0,0,.06);
        }

        .tmf-listing-img {
            height: 150px;
            background:
                linear-gradient(135deg, rgba(11,33,62,.20), rgba(26,115,232,.18)),
                rgb(220,226,235);
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgb(95,99,104);
            font-weight: 900;
        }

        .tmf-listing-body {
            padding: 16px;
        }

        .tmf-listing-title {
            font-size: 18px;
            font-weight: 900;
            color: rgb(22,35,52);
            margin-bottom: 6px;
        }

        .tmf-listing-meta {
            color: rgb(108,117,125);
            font-size: 13px;
            margin-bottom: 12px;
        }

        .tmf-listing-bottom {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .tmf-price {
            font-size: 20px;
            font-weight: 900;
            color: rgb(26,115,232);
        }

        .tmf-card-btn {
            padding: 9px 12px;
            border-radius: 12px;
            background: rgb(241,246,252);
            color: rgb(26,115,232);
            text-decoration: none;
            font-size: 13px;
            font-weight: 900;
        }

        @media(max-width: 900px) {
            body {
                overflow: auto;
            }

            .tmf-shell {
                height: auto;
                min-height: 100vh;
            }

            .tmf-body {
                grid-template-columns: 1fr;
            }

            .tmf-icon-sidebar {
                display: none;
            }

            .tmf-map-area {
                height: calc(100vh - 66px);
                min-height: 620px;
            }

            .tmf-listing-flyout {
                top: auto;
                bottom: 0;
                left: 0;
                width: 100%;
                max-width: 100%;
                height: 72%;
                border-radius: 24px 24px 0 0;
                transform: translateY(100%);
            }

            .tmf-listing-flyout.open {
                transform: translateY(0);
            }

            .tmf-flyout-toggle {
                top: 18px;
                left: 18px;
            }

            .tmf-listing-flyout.open + .tmf-flyout-toggle {
                left: 18px;
            }

            .tmf-map-floating {
                left: 18px;
                right: 18px;
                top: 74px;
                min-width: 0;
            }
        }
		/* =====================================================
		   MOBILE MAP-ONLY LANDING PAGE
		   768px and below
		===================================================== */
		@media(max-width: 768px) {

			body {
				overflow: hidden;
			}

			.tmf-shell {
				height: 100vh;
			}

			.tmf-topbar {
				height: 62px;
				padding: 0 14px;
			}

			.tmf-logo-img {
				height: 30px;
				width: auto;
			}

			.tmf-login-btn {
				padding: 8px 11px;
				font-size: 13px;
				border-radius: 12px;
			}

			.tmf-body {
				display: block;
				height: calc(100vh - 62px);
			}

			.tmf-icon-sidebar {
				display: none !important;
			}

			.tmf-map-area {
				height: calc(100vh - 62px);
				min-height: 0;
				width: 100%;
			}

			.tmf-listing-flyout,
			.tmf-flyout-toggle,
			.tmf-map-floating {
				display: none !important;
			}

			.tmf-map-placeholder {
				font-size: 18px;
			}
/* MOBILE HEADER FIX */
.tmf-topbar {
    height: 58px;
    padding: 0 10px;
    gap: 8px;
    overflow: hidden;
}

.tmf-logo {
    flex: 0 0 auto;
}

.tmf-logo-img {
    height: 26px;
}

.tmf-header-search-wrap {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
}

.tmf-header-search {
    height: 38px;
    max-width: none;
    border-radius: 14px;
    box-shadow: none;
}

.tmf-header-search-input {
    min-width: 0;
    font-size: 13px;
    padding-left: 12px;
    padding-right: 8px;
}

.tmf-header-search-btn {
    padding: 0 12px;
    font-size: 12px;
}

.tmf-login-btn {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    padding: 0;
    border-radius: 13px;
    justify-content: center;
}

.tmf-login-btn i {
    margin: 0;
}

.tmf-login-btn {
    font-size: 0;
}

.tmf-login-btn i {
    font-size: 14px;
}

.tmf-body {
    height: calc(100dvh - 58px);
}

.tmf-map-area {
    height: calc(100dvh - 58px);
}
			
			
			
			
			
			
			
			
			
		}
		#tmfMap {
			position: absolute;
			inset: 0;
			width: 100%;
			height: 100%;
		}

		.tmf-mobile-card {
			display: none;
			position: absolute;
			left: 14px;
			right: 14px;
			bottom: 18px;
			z-index: 20;
			background: rgb(255,255,255);
			border-radius: 18px;
			padding: 16px;
			box-shadow: 0 16px 40px rgba(0,0,0,.22);
		}

		.tmf-mobile-card-title {
			font-size: 17px;
			font-weight: 900;
			color: rgb(22,35,52);
			margin-bottom: 4px;
		}

		.tmf-mobile-card-meta {
			font-size: 13px;
			color: rgb(108,117,125);
			margin-bottom: 12px;
		}

		@media(max-width: 768px) {
			.tmf-mobile-card.show {
				display: block;
			}
		}
		.tmf-filter-bar {
			position: absolute;
			top: 18px;
			left: 50%;
			right: auto;
			transform: translateX(-50%);
			z-index: 12;
			display: flex;
			align-items: center;
			gap: 10px;
			flex-wrap: wrap;
			justify-content: center;
		}

		/* When listing flyout is open, center filters over remaining visible map */
		.tmf-map-area.listings-open .tmf-filter-bar {
			left: calc(50% + 310px);
		}

	.tmf-filter-chip {
		height: 42px;
		padding: 0 16px;
		border-radius: 999px;
		border: 1px solid rgba(0,0,0,.10);
		background: rgba(255,255,255,.96);
		color: rgb(22,35,52);
		font-weight: 900;
		font-size: 13px;
		cursor: pointer;
		box-shadow: 0 8px 24px rgba(0,0,0,.10);
	}

	.tmf-filter-chip:hover {
		background: rgba(3,169,248,.14);
		border-color: rgba(3,169,248,.35);
	}

	.tmf-filter-chip.muted {
		color: rgb(140,150,165);
	}

	.tmf-filter-overlay {
		position: fixed;
		inset: 0;
		display: none;
		align-items: center;
		justify-content: center;
		background: rgba(15,23,42,.18);
		z-index: 9999;
	}

	.tmf-filter-overlay.open {
		display: flex;
	}

	.tmf-filter-modal {
		width: min(960px, calc(100vw - 40px));
		max-height: calc(100vh - 60px);
		background: rgb(255,255,255);
		border-radius: 26px;
		overflow: hidden;
		box-shadow: 0 30px 90px rgba(0,0,0,.26);
		border: 1px solid rgba(0,0,0,.08);
	}

	.tmf-filter-modal.small {
		width: min(760px, calc(100vw - 40px));
	}

	.tmf-filter-modal-head {
		height: 76px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-bottom: 1px solid rgb(224,227,232);
		position: relative;
	}

	.tmf-filter-modal-title {
		font-size: 24px;
		font-weight: 950;
		color: rgb(17,24,39);
	}

	.tmf-filter-close {
		position: absolute;
		right: 18px;
		top: 15px;
		width: 52px;
		height: 52px;
		border-radius: 18px;
		border: 1px solid rgb(224,227,232);
		background: rgb(255,255,255);
		font-size: 24px;
		cursor: pointer;
	}

	.tmf-filter-modal-body {
		padding: 26px;
		overflow-y: auto;
		max-height: calc(100vh - 220px);
	}

	.tmf-filter-section-title {
		font-size: 16px;
		font-weight: 950;
		margin: 0 0 14px;
		color: rgb(17,24,39);
	}

	.tmf-option-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
		margin-bottom: 24px;
	}

	.tmf-option-grid.price {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.tmf-option-btn {
		height: 58px;
		border-radius: 16px;
		border: 1px solid rgb(224,227,232);
		background: rgb(255,255,255);
		color: rgb(17,24,39);
		font-size: 16px;
		font-weight: 950;
		cursor: pointer;
	}

	.tmf-option-btn.active {
		background: rgb(3,169,248);
		color: rgb(255,255,255);
		border-color: rgb(3,169,248);
	}

	.tmf-segment-row {
		display: grid;
		border: 1px solid rgb(224,227,232);
		border-radius: 16px;
		overflow: hidden;
		margin-bottom: 24px;
	}

	.tmf-segment-row.beds {
		grid-template-columns: repeat(6, 1fr);
	}

	.tmf-segment-row.baths {
		grid-template-columns: repeat(5, 1fr);
	}

	.tmf-segment-btn {
		height: 56px;
		border: 0;
		border-right: 1px solid rgb(224,227,232);
		background: rgb(255,255,255);
		font-size: 16px;
		font-weight: 950;
		cursor: pointer;
	}

	.tmf-segment-btn:last-child {
		border-right: 0;
	}

	.tmf-segment-btn.active {
		background: rgb(3,169,248);
		color: rgb(255,255,255);
	}

	.tmf-filter-modal-foot {
		height: 86px;
		border-top: 1px solid rgb(224,227,232);
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 20px;
		padding: 0 26px;
	}

	.tmf-filter-clear {
		border: 0;
		background: transparent;
		color: rgb(145,154,168);
		font-size: 16px;
		font-weight: 950;
		cursor: pointer;
	}

	.tmf-filter-apply {
		min-width: 220px;
		height: 54px;
		border: 0;
		border-radius: 18px;
		background: rgb(3,169,248);
		color: rgb(255,255,255);
		font-size: 18px;
		font-weight: 950;
		cursor: pointer;
	}

@media(max-width: 768px) {
    .tmf-filter-bar {
        top: 12px;
        left: 12px !important;
        right: 12px;
        transform: none !important;
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 6px;
        z-index: 30;
    }

    .tmf-filter-chip {
        height: 38px;
        padding: 0 13px;
        font-size: 12px;
        flex: 0 0 auto;
    }

    .tmf-filter-overlay {
        display: none;
    }

    .tmf-filter-overlay.open {
        display: flex !important;
    }

    .tmf-filter-modal {
        width: calc(100vw - 18px);
        max-height: calc(100vh - 90px);
        border-radius: 24px;
    }

    .tmf-filter-modal-body {
        max-height: calc(100vh - 240px);
        padding: 18px;
    }

    .tmf-option-grid,
    .tmf-option-grid.price {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .tmf-segment-row.beds {
        grid-template-columns: repeat(3, 1fr);
    }

    .tmf-segment-row.baths {
        grid-template-columns: repeat(3, 1fr);
    }

    .tmf-filter-apply {
        min-width: 150px;
    }
}
		.tmf-header-search-wrap {
			flex: 1;
			display: flex;
			justify-content: center;
			padding: 0 26px;
		}

		.tmf-header-search {
			width: 100%;
			max-width: 620px;
			height: 48px;
			background: rgb(255,255,255);
			border: 1px solid rgba(0,0,0,.08);
			border-radius: 18px;
			display: flex;
			align-items: center;
			overflow: hidden;
			box-shadow: 0 8px 24px rgba(0,0,0,.06);
		}

		.tmf-header-search-icon {
			width: 54px;
			display: flex;
			align-items: center;
			justify-content: center;
			color: rgb(120,130,145);
			font-size: 15px;
		}

		.tmf-header-search-input {
			flex: 1;
			height: 100%;
			border: 0;
			outline: 0;
			background: transparent;
			font-size: 15px;
			font-weight: 700;
			color: rgb(22,35,52);
			padding-right: 12px;
			padding-left: 20px;
		}

		.tmf-header-search-input::placeholder {
			color: rgb(145,154,168);
			font-weight: 600;
		}

		.tmf-header-search-btn {
			height: 100%;
			border: 0;
			padding: 0 22px;
			background: var(--tmf-blue);
			color: rgb(255,255,255);
			font-size: 14px;
			font-weight: 900;
			cursor: pointer;
			transition: background .18s ease;
		}

		.tmf-header-search-btn:hover {
			background: var(--tmf-blue-hover);
		}
		.tmf-results {
			display: flex;
			flex-direction: column;
			gap: 14px;
		}

		.tmf-listing {
			width: 100%;
		}

		.tmf-lcard {
			display: block;
			background: rgb(255,255,255);
			border: 1px solid rgba(0,0,0,.08);
			border-radius: 22px;
			overflow: hidden;
			text-decoration: none;
			color: inherit;
			box-shadow: 0 8px 24px rgba(0,0,0,.06);
			transition: transform .18s ease, box-shadow .18s ease;
		}

		.tmf-lcard:hover {
			transform: translateY(-2px);
			box-shadow: 0 16px 36px rgba(0,0,0,.12);
		}

		.tmf-limg {
			position: relative;
			height: 178px;
			background-size: cover;
			background-position: center;
			background-color: rgb(220,226,235);
		}

		.tmf-limg::after {
			content: "";
			position: absolute;
			inset: 0;
			background: linear-gradient(to bottom, rgba(0,0,0,.05), rgba(0,0,0,.32));
		}

		.tmf-lbadge {
			position: absolute;
			left: 14px;
			top: 14px;
			z-index: 2;
			padding: 7px 10px;
			border-radius: 999px;
			background: rgba(255,255,255,.94);
			color: rgb(22,35,52);
			font-size: 11px;
			font-weight: 950;
			letter-spacing: .04em;
		}

		.tmf-lsave {
			position: absolute;
			right: 14px;
			top: 14px;
			z-index: 3;
			width: 38px;
			height: 38px;
			border: 0;
			border-radius: 50%;
			background: rgba(255,255,255,.94);
			color: rgb(3,169,248);
			display: flex;
			align-items: center;
			justify-content: center;
			cursor: pointer;
		}

		.tmf-lbody {
			padding: 15px 16px 16px;
		}

		.tmf-lrow1 {
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
			gap: 10px;
			margin-bottom: 8px;
		}

		.tmf-ltitle {
			font-size: 17px;
			font-weight: 950;
			color: rgb(22,35,52);
			line-height: 1.2;
		}

		.tmf-lprice {
			flex: 0 0 auto;
			color: rgb(3,169,248);
			font-size: 18px;
			font-weight: 950;
		}

		.tmf-laddress {
			color: rgb(108,117,125);
			font-size: 13px;
			line-height: 1.4;
			margin-bottom: 13px;
		}

		.tmf-specs {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 8px;
		}

		.tmf-spec {
			border: 1px solid rgba(0,0,0,.07);
			background: rgb(248,249,251);
			border-radius: 14px;
			padding: 9px 8px;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 5px;
			color: rgb(22,35,52);
			font-size: 12px;
			font-weight: 800;
		}

		.tmf-spec i {
			color: rgb(3,169,248);
			font-size: 13px;
		}

		.tmf-spec-val {
			font-weight: 950;
		}

		.tmf-spec-label {
			color: rgb(108,117,125);
		}
		.tmf-wide-card {
			background: rgb(255,255,255);
			border: 1px solid rgba(0,0,0,.08);
			border-radius: 22px;
			overflow: hidden;
			box-shadow: 0 10px 28px rgba(0,0,0,.07);
			margin-bottom: 16px;
		}

		.tmf-wide-head {
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
			gap: 14px;
			padding: 18px 18px 14px;
			border-bottom: 1px solid rgb(232,234,237);
		}

		.tmf-wide-title {
			font-size: 22px;
			font-weight: 950;
			color: rgb(22,35,52);
			line-height: 1.15;
		}

		.tmf-wide-address {
			margin-top: 5px;
			font-size: 14px;
			color: rgb(90,98,112);
		}

		.tmf-wide-save {
			width: 44px;
			height: 44px;
			border-radius: 50%;
			border: 1px solid rgb(224,227,232);
			background: rgb(255,255,255);
			color: rgb(3,169,248);
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 18px;
			cursor: pointer;
			flex: 0 0 auto;
		}

		.tmf-wide-grid {
			display: grid;
			grid-template-columns: 265px 1fr;
			gap: 18px;
			padding: 18px;
		}

		.tmf-wide-photo {
			position: relative;
			display: block;
			min-height: 205px;
			border-radius: 18px;
			background-size: cover;
			background-position: center;
			overflow: hidden;
			text-decoration: none;
			background-color: rgb(220,226,235);
		}

		.tmf-wide-photo::after {
			content: "";
			position: absolute;
			inset: 0;
			background: linear-gradient(to bottom, rgba(0,0,0,.02), rgba(0,0,0,.38));
		}

		.tmf-wide-badge {
			position: absolute;
			left: 12px;
			top: 12px;
			z-index: 2;
			padding: 7px 10px;
			border-radius: 999px;
			background: rgba(255,255,255,.94);
			color: rgb(22,35,52);
			font-size: 11px;
			font-weight: 950;
		}

		.tmf-wide-media {
			position: absolute;
			left: 12px;
			bottom: 12px;
			z-index: 2;
			color: rgb(255,255,255);
			font-size: 13px;
			font-weight: 900;
		}

		.tmf-wide-info {
			display: flex;
			flex-direction: column;
			min-width: 0;
		}

		.tmf-plan-grid {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			border: 1px solid rgb(232,234,237);
			border-radius: 16px;
			overflow: hidden;
			margin-bottom: 14px;
		}

		.tmf-plan {
			padding: 12px 10px;
			border-right: 1px solid rgb(232,234,237);
			background: rgb(255,255,255);
		}

		.tmf-plan:last-child {
			border-right: 0;
		}

		.tmf-plan-price {
			font-size: 17px;
			font-weight: 950;
			color: rgb(22,35,52);
		}

		.tmf-plan-label {
			margin-top: 3px;
			font-size: 13px;
			color: rgb(108,117,125);
			font-weight: 800;
		}

		.tmf-wide-tags {
			display: flex;
			flex-wrap: wrap;
			gap: 7px;
			margin-bottom: 14px;
		}

		.tmf-wide-tags span {
			padding: 7px 9px;
			border-radius: 999px;
			background: rgba(3,169,248,.11);
			color: rgb(1,120,190);
			font-size: 12px;
			font-weight: 900;
		}

		.tmf-wide-phone {
			font-size: 17px;
			font-weight: 950;
			color: rgb(43,50,61);
			margin-bottom: 12px;
		}

		.tmf-wide-cta {
			margin-top: auto;
			height: 44px;
			border-radius: 14px;
			background: rgb(3,169,248);
			color: rgb(255,255,255);
			text-decoration: none;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 15px;
			font-weight: 950;
		}

		.tmf-wide-cta:hover {
			background: rgb(2,150,220);
		}
		.tmf-wide-photo-slider {
    position: relative;
    min-height: 205px;
    border-radius: 18px;
    overflow: hidden;
    background: rgb(220,226,235);
}

.tmf-wide-photo-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity .25s ease;
    display: block;
}

.tmf-wide-photo-slide.active {
    opacity: 1;
    z-index: 1;
}

.tmf-wide-photo-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.02), rgba(0,0,0,.38));
}

.tmf-photo-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;

    width: 20px;
    height: 20px;
    flex: 0 0 30px;

    padding: 0;
    font-size: 11px;

    border-radius: 50%;
    border: 0;
    background: rgba(255,255,255,.92);
    color: rgb(22,35,52);
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    box-shadow: 0 8px 22px rgba(0,0,0,.18);
    transition: all .18s ease;
}

.tmf-photo-arrow:hover {
    background: rgb(255,255,255);
    transform: translateY(-50%) scale(1.05);
}

.tmf-photo-arrow.left {
    left: 12px;
}

.tmf-photo-arrow.right {
    right: 12px;
}

.gm-style-iw {
    padding: 0 !important;
    border-radius: 26px !important;
    overflow: visible !important;
}

.gm-style-iw-d {
    overflow: visible !important;
}

.gm-style-iw-chr {
    display: none !important;
}

.tmf-map-callout {
    width: 360px;
    background: rgb(255,255,255);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 22px 60px rgba(0,0,0,.24);
    font-family: Arial, Helvetica, sans-serif;
    position: relative;
}

.tmf-callout-photo {
    height: 190px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.tmf-callout-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.08), rgba(0,0,0,.18));
}

.tmf-callout-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    color: rgb(22,35,52);
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 950;
    box-shadow: 0 8px 22px rgba(0,0,0,.16);
}

.tmf-callout-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 5;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,.12);
    background: rgba(255,255,255,.94);
    color: rgb(22,35,52);
    font-size: 22px;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(0,0,0,.16);
}

.tmf-callout-body {
    padding: 22px 24px 24px;
}

.tmf-callout-title {
    font-size: 25px;
    font-weight: 950;
    color: rgb(22,35,52);
    line-height: 1.1;
    margin-bottom: 8px;
}

.tmf-callout-address {
    font-size: 15px;
    color: rgb(108,117,125);
    line-height: 1.35;
    margin-bottom: 18px;
}

.tmf-callout-specs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid rgb(224,227,232);
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 20px;
}

.tmf-callout-spec {
    padding: 13px 8px;
    text-align: center;
    border-right: 1px solid rgb(224,227,232);
}

.tmf-callout-spec:last-child {
    border-right: 0;
}

.tmf-callout-spec-value {
    font-size: 18px;
    font-weight: 950;
    color: rgb(22,35,52);
}

.tmf-callout-spec-label {
    margin-top: 3px;
    font-size: 12px;
    font-weight: 900;
    color: rgb(108,117,125);
}

.tmf-callout-cta {
    height: 52px;
    border-radius: 18px;
    background: rgb(3,169,248);
    color: rgb(255,255,255);
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 950;
}

.tmf-callout-cta:hover {
    background: rgb(2,150,220);
}
.tmf-user-menu{
    position:relative;
}

.tmf-user-trigger{
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.12);
    color:white;
    border-radius:999px;
    padding:6px 10px 6px 6px;
    display:flex;
    align-items:center;
    gap:9px;
    cursor:pointer;
}

.tmf-avatar{
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg, rgb(0,210,255), rgb(124,58,237));
    color:white;
    overflow:hidden;
}

.tmf-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.tmf-user-name{
    font-size:13px;
    font-weight:800;
}

.tmf-chevron{
    font-size:11px;
    color:rgba(255,255,255,.7);
}

.tmf-user-dropdown{
    position:absolute;
    right:0;
    top:calc(100% + 10px);
    width:190px;
    padding:8px;
    border-radius:18px;
    background:rgba(9,14,30,.96);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 24px 60px rgba(0,0,0,.35);
    opacity:0;
    visibility:hidden;
    transform:translateY(-6px);
    transition:.18s ease;
    z-index:9999;
}

.tmf-user-menu:hover .tmf-user-dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.tmf-user-dropdown a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 12px;
    border-radius:13px;
    color:rgba(255,255,255,.82);
    text-decoration:none;
    font-size:13px;
    font-weight:700;
}

.tmf-user-dropdown a:hover{
    background:rgba(255,255,255,.09);
    color:white;
}

.tmf-user-dropdown i{
    color:rgb(56,189,248);
}