:root {
	--primary: #2b7fff;
	--primary-foreground: #ffffff;
	--default-font-family: Montserrat, ui-sans-serif, system-ui, sans-serif;
	--really-radius: 1rem;

	/* Spacing scale (4px base) */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.25rem;
	--space-6: 1.5rem;
	--space-8: 2rem;
	--space-10: 2.5rem;
	--space-12: 3rem;
	--space-16: 4rem;
	--space-20: 5rem;

	--section-y: var(--space-6);
	--section-y-md: var(--space-10);
	--container-x: var(--space-4);
	--container-x-lg: var(--space-6);
	--head-to-body: var(--space-10);
	--split-gap: var(--space-10);
	--split-gap-lg: var(--space-12);

	--z-header: 40;
	--z-overlay: 50;
	--z-drawer: 60;
	--z-dropdown: 110;
	--tabbar-height: 0px;
	--listing-contact-sticky-offset: 0px;

	--pro-gold: #d4a017;
	--pro-gold-light: #f5d061;
	--pro-gold-dark: #a67c00;
}

.dark {
	--primary: #2b7fff;
	--primary-foreground: #ffffff;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 4.5rem;
}

body {
	font-family: var(--default-font-family), serif;
}

/* Avatar — KtUI chỉ bo .kt-avatar-image; bổ sung cho pattern <img> trực tiếp + size variants */
.kt-avatar {
	overflow: hidden;
	border-radius: 9999px;
	align-items: center;
	justify-content: center;
}

.kt-avatar > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kt-avatar-xs {
	width: 1.75rem;
	height: 1.75rem;
}

.kt-avatar-sm {
	width: 2rem;
	height: 2rem;
}

.kt-avatar-lg {
	width: 3rem;
	height: 3rem;
}

.kt-avatar-xl {
	width: 5rem;
	height: 5rem;
}

.page-container {
	width: 100%;
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: var(--container-x);
}

@media (min-width: 1024px) {
	.page-container {
		padding-inline: var(--container-x-lg);
	}
}

.section-intro {
	max-width: 42rem;
}

.section-intro--center {
	margin-inline: auto;
	text-align: center;
}

.section-body {
	margin-top: var(--head-to-body);
}

.split-grid {
	display: grid;
	align-items: center;
	gap: var(--split-gap);
}

@media (min-width: 1024px) {
	.split-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--split-gap-lg);
	}
}

.feature-stack {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-3);
}

@media (min-width: 640px) {
	.feature-stack {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-3);
	}
}

@media (min-width: 1024px) {
	.feature-stack {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-template-rows: repeat(2, minmax(0, 1fr));
		gap: var(--space-4);
	}
}

.action-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-6);
}

.progress-stack {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	margin-top: var(--space-6);
}

.progress-stack .kt-progress {
	height: 0.5rem;
}

.progress-stack .kt-progress-indicator {
	background-color: var(--primary);
}

/* KTUI uses translateX(calc(100 - var(--progress-value))) — invalid without % */
.kt-progress-indicator {
	width: var(--progress-value, 0%);
	transform: none;
}

.progress-item__meta {
	display: flex;
	justify-content: space-between;
	margin-bottom: var(--space-2);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

/* Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: var(--z-header);
	background: color-mix(in oklab, var(--background) 92%, transparent);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.header-inner {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: var(--space-4);
	padding-block: var(--space-3);
	width: 100%;
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: var(--container-x);
	transition: padding-block 0.22s ease;
}

@media (min-width: 1024px) {
	.header-inner {
		grid-template-columns: auto 1fr auto;
		padding-inline: var(--container-x-lg);
	}
}

.site-header.is-compact .header-inner {
	padding-block: var(--space-1);
}

.header-nav {
	display: none;
	justify-self: center;
	align-items: center;
	gap: var(--space-1);
	padding: var(--space-1);
}

@media (min-width: 1024px) {
	.header-nav {
		display: flex;
	}
}

.header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--space-2);
	justify-self: end;
}

@media (min-width: 640px) {
	.header-actions {
		gap: var(--space-3);
	}
}

.header-member {
	display: block;
	position: relative;
	border: none;
	background: transparent;
	box-shadow: none;
}

.header-member__toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2);
	border-radius: 9999px;
	border: 1px solid var(--border);
	background: var(--background);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--foreground);
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, padding 0.22s ease;
	cursor: pointer;
}

@media (min-width: 1024px) {
	.header-member__toggle {
		padding: var(--space-2) var(--space-3);
	}

	.header-member__toggle > span,
	.header-member__caret {
		display: inline;
	}
}

.header-member__toggle:hover,
.header-member.open > .header-member__toggle {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
}

.header-member__toggle--pro {
	border-color: color-mix(in oklab, #fff 35%, var(--pro-gold));
	color: #1a1200;
	background: linear-gradient(135deg, var(--pro-gold-dark) 0%, var(--pro-gold) 55%, var(--pro-gold-light) 100%);
	box-shadow: 0 2px 8px rgba(212, 160, 23, 0.24),
	inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.header-member__toggle--pro:hover,
.header-member.open > .header-member__toggle--pro {
	color: #1a1200;
	border-color: color-mix(in oklab, #fff 40%, var(--pro-gold));
	background: linear-gradient(135deg, var(--pro-gold-dark) 0%, var(--pro-gold) 55%, var(--pro-gold-light) 100%);
	filter: brightness(1.06);
	box-shadow: 0 4px 14px rgba(212, 160, 23, 0.32),
	inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.header-member__toggle--pro > .ki-crown {
	color: #1a1200;
	font-size: 0.875rem;
}

.header-member__pro-badge {
	display: none;
	padding: 0.0625rem 0.375rem;
	border-radius: 9999px;
	background: rgba(26, 18, 0, 0.14);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.4;
}

@media (min-width: 1024px) {
	.header-member__pro-badge {
		display: inline;
	}
}

.header-member__toggle--pro .header-member__caret {
	opacity: 0.85;
	color: #1a1200;
}

.header-member__caret {
	font-size: 0.75rem;
	opacity: 0.7;
	transition: transform 0.2s ease;
}

.header-member.open .header-member__caret {
	transform: rotate(180deg);
}

.header-member__menu {
	min-width: 11.5rem;
	padding: var(--space-2);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) - 0.125rem);
	background: var(--popover, var(--background));
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

.header-member__item {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2) var(--space-3);
	border-radius: calc(var(--really-radius) - 0.25rem);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--foreground);
	transition: color 0.2s ease, background 0.2s ease;
}

.header-member__item:hover {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, transparent);
}

.header-member__item i {
	font-size: 1rem;
	color: var(--muted-foreground);
}

.header-member__item--warning {
	color: var(--destructive, #dc2626);
}

.header-member__item--warning:hover {
	color: var(--destructive, #dc2626);
	background: color-mix(in srgb, var(--destructive, #dc2626) 8%, transparent);
}

.header-member__item--warning i {
	color: var(--destructive, #dc2626);
}

.header-post-btn {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2);
	border: 1px solid color-mix(in oklab, #fff 18%, var(--primary));
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #fff;
	white-space: nowrap;
	cursor: pointer;
	background: linear-gradient(135deg, #1a56c4 0%, var(--primary) 52%, #4d9dff 100%);
	box-shadow: 0 4px 16px rgba(43, 127, 255, 0.38),
	inset 0 1px 0 rgba(255, 255, 255, 0.22);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, padding 0.22s ease, font-size 0.22s ease;
}

.header-post-btn i {
	font-size: 1.0625rem;
}

@media (min-width: 640px) {
	.header-post-btn {
		padding: var(--space-2) var(--space-5);
		font-size: 0.9375rem;
	}
}

.header-post-btn:hover {
	filter: brightness(1.05);
	transform: translateY(-1px);
	box-shadow: 0 8px 24px rgba(43, 127, 255, 0.45),
	inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.header-post-btn:active {
	transform: translateY(0);
	box-shadow: 0 2px 10px rgba(43, 127, 255, 0.32),
	inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.header-post-btn:focus-visible {
	outline: 2px solid color-mix(in oklab, var(--primary) 50%, transparent);
	outline-offset: 2px;
}

.header-pro-btn {
	display: none;
	align-items: center;
	gap: var(--space-1);
	padding: var(--space-2) var(--space-3);
	border: 1px solid color-mix(in oklab, #fff 35%, var(--pro-gold));
	border-radius: 9999px;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #1a1200;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
	background: linear-gradient(135deg, var(--pro-gold-dark) 0%, var(--pro-gold) 55%, var(--pro-gold-light) 100%);
	box-shadow: 0 2px 8px rgba(212, 160, 23, 0.24),
	inset 0 1px 0 rgba(255, 255, 255, 0.35);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, color 0.2s ease, padding 0.22s ease;
}

.header-pro-btn i {
	font-size: 0.75rem;
}

@media (min-width: 1024px) {
	.header-pro-btn {
		display: inline-flex;
	}
}

.header-pro-btn:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
	color: #1a1200;
	box-shadow: 0 4px 14px rgba(212, 160, 23, 0.32),
	inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.header-pro-btn:active {
	transform: translateY(0);
}

.header-pro-btn.active {
	box-shadow: 0 2px 10px rgba(212, 160, 23, 0.34),
	inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.header-pro-btn:focus-visible {
	outline: 2px solid color-mix(in oklab, var(--pro-gold) 50%, transparent);
	outline-offset: 2px;
}

.header-menu-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: var(--background);
	color: var(--foreground);
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, width 0.22s ease, height 0.22s ease;
}

.header-menu-btn i {
	font-size: 1.25rem;
	transition: font-size 0.22s ease;
}

.header-menu-btn:hover {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
}

@media (min-width: 1024px) {
	.header-menu-btn {
		display: none;
	}
}

.site-logo {
	height: 2rem;
	transition: height 0.22s ease;
}

@media (min-width: 768px) {
	.site-logo {
		height: 2.375rem;
	}
}

.site-header.is-compact .site-logo {
	height: 1.5rem;
}

@media (min-width: 768px) {
	.site-header.is-compact .site-logo {
		height: 1.75rem;
	}
}

.site-header.is-compact .header-menu-btn {
	width: 2rem;
	height: 2rem;
}

.site-header.is-compact .header-menu-btn i {
	font-size: 1.125rem;
}

.site-header.is-compact .header-member__toggle {
	padding: 0.275rem 0.375rem;
}

.site-header.is-compact .header-member__toggle span {
	font-size: 0.75rem;
}

@media (min-width: 1024px) {
	.site-header.is-compact .header-member__toggle {
		padding: 0.375rem 0.625rem;
	}
}

.site-header.is-compact .header-post-btn {
	padding: 0.375rem;
}

@media (min-width: 640px) {
	.site-header.is-compact .header-post-btn {
		padding: 0.375rem 1rem;
		font-size: 0.875rem;
	}
}

.site-header.is-compact .header-pro-btn {
	padding: 0.375rem 0.625rem;
}

.site-header.is-compact .nav-link {
	padding: 0.375rem 0.875rem;
}

@media (prefers-reduced-motion: reduce) {
	.header-inner,
	.site-logo,
	.header-menu-btn,
	.header-menu-btn i,
	.header-member__toggle,
	.header-post-btn,
	.header-pro-btn,
	.nav-link {
		transition: none;
	}
}

.nav-link {
	display: inline-flex;
	align-items: center;
	padding: var(--space-2) var(--space-4);
	border-radius: 9999px;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--foreground);
	white-space: nowrap;
	transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, padding 0.22s ease;
}

.nav-link:hover {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, transparent);
}

.nav-link:focus-visible {
	outline: 2px solid color-mix(in oklab, var(--primary) 40%, transparent);
	outline-offset: 2px;
}

.nav-link.active {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, transparent);
}

.nav-link.active:hover {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, transparent);
}

/* Hero */
.hero-section {
	position: relative;
	overflow: hidden;
	background: linear-gradient(118deg, rgba(7, 24, 54, 0.9) 0%, rgba(43, 127, 255, 0.82) 55%, rgba(18, 66, 145, 0.88) 100%), url(../media/images/600x400/11.jpg) center 40% / cover no-repeat;
}

.hero-bg {
	position: relative;
	z-index: 1;
	width: 100%;
	background-color: #071836;
}

.hero-bg__stage {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 1.15;
	overflow: hidden;
}

@media (min-width: 768px) {
	.hero-bg__stage {
		aspect-ratio: 1920 / 560;
		min-height: 0;
	}
}

.hero-bg__slides {
	position: absolute;
	inset: 0;
}

.hero-bg__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s ease, visibility 1s ease;
}

.hero-bg__slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.hero-bg__slide[data-type="image"] {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.hero-bg__slide[data-type="image"] img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: inherit;
	display: block;
}

.hero-bg__slide iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	aspect-ratio: 1920 / 560;
	border: 0;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.hero-bg__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(
		to bottom,
		rgba(7, 24, 54, 0.5) 0%,
		transparent 32%,
		transparent 68%,
		rgba(7, 24, 54, 0.2) 100%
	);
	pointer-events: none;
}

.hero-bg__search {
	position: relative;
	z-index: 4;
	width: 100%;
	padding: 0 var(--space-3) var(--space-3);
	padding-inline: max(var(--space-3), env(safe-area-inset-left)) max(var(--space-3), env(safe-area-inset-right));
	box-sizing: border-box;
	pointer-events: auto;
	background: #fff;
}

/* Mobile: keep search pinned under header for the whole page */
@media (max-width: 639.98px) {
	.hero-section {
		overflow: visible;
	}

	.hero-bg {
		/* Reserve in-flow space so the fixed search doesn't cover the slider */
		padding-top: var(--hero-search-height, 7.25rem);
		/* Light strip under the frosted search so it matches site-header over bg-background */
		background-image: linear-gradient(var(--background), var(--background));
		background-size: 100% var(--hero-search-height, 7.25rem);
		background-repeat: no-repeat;
		background-position: top;
	}

	.hero-bg__search {
		position: fixed;
		top: calc(env(safe-area-inset-top, 0px) + var(--header-height, 3.75rem));
		left: 0;
		right: 0;
		width: 100%;
		z-index: calc(var(--z-header) - 1);
		background: color-mix(in oklab, var(--background) 92%, transparent);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
	}
}

@media (min-width: 640px) {
	.hero-bg {
		aspect-ratio: 1920 / 560;
	}

	.hero-bg__stage {
		position: absolute;
		inset: 0;
		aspect-ratio: auto;
	}

	.hero-bg__search {
		position: absolute;
		top: var(--space-6);
		left: 50%;
		width: min(40rem, calc(100% - var(--space-8)));
		max-width: none;
		padding: 0;
		transform: translateX(-50%);
		background: transparent;
	}
}

.hero-bg__dots {
	position: absolute;
	bottom: var(--space-4);
	left: 50%;
	z-index: 3;
	display: flex;
	gap: var(--space-2);
	transform: translateX(-50%);
	pointer-events: auto;
}

.hero-bg__dot {
	width: 0.5rem;
	height: 0.5rem;
	padding: 0;
	border: 0;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.35);
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.hero-bg__dot:hover {
	background: rgba(255, 255, 255, 0.6);
}

.hero-bg__dot.is-active {
	background: #fff;
	transform: scale(1.15);
}

.hero-section::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.12), transparent 42%),
	radial-gradient(circle at 80% 0%, rgba(255, 255, 255, 0.08), transparent 35%);
	pointer-events: none;
}

.hero-inner {
	position: relative;
	z-index: 3;
	padding-block: var(--space-12);
	width: 100%;
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: var(--container-x);
}

@media (min-width: 1024px) {
	.hero-inner {
		padding-inline: var(--container-x-lg);
	}
}

@media (min-width: 768px) {
	.hero-inner {
		padding-block: var(--space-16);
	}
}

@media (min-width: 1024px) {
	.hero-inner {
		padding-block: var(--space-20);
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
		column-gap: var(--space-10);
		row-gap: var(--space-8);
		align-items: center;
	}

	.hero-copy {
		grid-column: 1;
	}

	.hero-inner .hero-search {
		grid-column: 2;
		align-self: center;
	}

	.hero-inner .hero-search .search-panel {
		margin-top: 0;
	}
}

.hero-copy {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
	margin-inline: auto;
	max-width: 48rem;
	text-align: center;
}

@media (min-width: 1024px) {
	.hero-copy {
		margin-inline: 0;
		text-align: left;
	}
}

.hero-badge {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2) var(--space-3);
	border-radius: 9999px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 500;
	backdrop-filter: blur(8px);
}

.hero-title {
	font-size: clamp(1.875rem, 5vw, 3.25rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: #fff;
}

.hero-desc {
	max-width: 42rem;
	margin-inline: auto;
	font-size: clamp(0.9375rem, 2vw, 1.125rem);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.86);
}

@media (min-width: 1024px) {
	.hero-desc {
		margin-inline: 0;
	}
}

.hero-search {
	margin-inline: auto;
	max-width: 56rem;
}

@media (min-width: 1024px) {
	.hero-inner .hero-search {
		margin-inline: 0;
		max-width: none;
	}
}

/* Compact search bar on hero banner */
.hero-search-bar {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.25rem;
	width: 100%;
	margin-inline: auto;
	padding: 0.25rem;
	border-radius: 0.625rem;
	border: 1px solid var(--border);
	background: #fff;
	box-shadow: 0 4px 16px rgba(8, 28, 62, 0.1);
}

@media (min-width: 640px) {
	.hero-search-bar {
		padding: 0.25rem 0.25rem 0.25rem 0.3125rem;
		border-radius: 9999px;
		border-color: rgba(255, 255, 255, 0.65);
		background: rgba(255, 255, 255, 0.94);
		box-shadow: 0 8px 24px rgba(8, 28, 62, 0.18);
		backdrop-filter: blur(10px);
	}
}

.hero-search-bar__types {
	flex-shrink: 0;
}

.hero-search-bar__types-list {
	display: flex;
	gap: 0.125rem;
	margin: 0;
	padding: 0.125rem;
	list-style: none;
	border-radius: 0.5rem;
	background: var(--secondary);
}

@media (min-width: 640px) {
	.hero-search-bar__types-list {
		border-radius: 9999px;
	}
}

.hero-search-bar__type {
	flex: 1 1 0;
	border: 0;
	border-radius: 0.375rem;
	padding: 0.4375rem 0.375rem;
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--muted-foreground);
	background: transparent;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease;
}

@media (min-width: 640px) {
	.hero-search-bar__type {
		flex: 0 0 auto;
		min-width: auto;
		border-radius: 9999px;
		padding: 0.375rem 0.75rem;
		font-size: 0.75rem;
	}
}

.hero-search-bar__type.active,
.hero-search-bar__type.kt-tab.active {
	color: var(--primary);
	background: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.hero-search-bar__main {
	position: relative;
	flex: 1;
	min-width: 0;
	min-height: 2.5rem;
}

.hero-search-bar__panel {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	gap: 0.25rem;
	min-width: 0;
}

.hero-search-bar__panel.hidden {
	display: none !important;
}

.hero-search-bar__input {
	flex: 1;
	min-width: 0;
	width: 100%;
	height: 2.5rem;
	padding: 0 0.5rem;
	border: 0;
	border-radius: 0.375rem;
	background: transparent;
	font-size: 1rem;
	line-height: 1.25;
	color: var(--foreground);
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

@media (min-width: 640px) {
	.hero-search-bar__main {
		min-height: 2.125rem;
	}

	.hero-search-bar__input {
		height: 2.125rem;
		padding: 0 0.75rem;
		font-size: 0.875rem;
		border-radius: 9999px;
	}
}

.hero-search-bar__input::placeholder {
	color: var(--muted-foreground);
}

.hero-search-bar__input:focus {
	outline: none;
}

.hero-search-bar__submit {
	display: none;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 0.375rem;
	color: #fff;
	background: var(--primary);
	cursor: pointer;
	transition: background 0.15s ease, transform 0.15s ease;
}

@media (min-width: 640px) {
	.hero-search-bar__submit {
		display: inline-flex;
		width: 2.125rem;
		height: 2.125rem;
		border-radius: 9999px;
	}
}

.hero-search-bar__submit:hover {
	background: color-mix(in oklab, var(--primary) 88%, #000);
}

.hero-search-bar__submit i {
	font-size: 1rem;
}

.hero-search-bar__clear {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	margin-right: 0.125rem;
	border: 0;
	border-radius: 9999px;
	background: var(--secondary);
	color: var(--muted-foreground);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.hero-search-bar__clear[hidden] {
	display: none !important;
}

.hero-search-bar__clear:hover {
	background: color-mix(in oklab, var(--secondary) 70%, var(--foreground));
	color: var(--foreground);
}

.hero-search-bar__clear i {
	font-size: 0.75rem;
}

.hero-search-suggest {
	position: absolute;
	top: calc(100% + 0.25rem);
	left: 0;
	right: 0;
	z-index: 20;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: #fff;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
}

.hero-search-suggest[hidden] {
	display: none !important;
}

/* Mobile hero: suggest stays under the fixed search bar (absolute within it) */
@media (max-width: 639.98px) {
	.hero-bg__search {
		overflow: visible;
	}

	.hero-bg__search > .hero-search-suggest {
		position: absolute;
		top: calc(100% - 0.375rem);
		left: 12px;
		right: 12px;
		width: auto;
		margin: 0;
		z-index: 80;
	}

	.hero-bg__search > .hero-search-suggest .hero-search-suggest__list {
		max-height: min(
			70dvh,
			calc(100dvh - env(safe-area-inset-top, 0px) - var(--header-height, 3.75rem) - var(--hero-search-height, 7.25rem) - 1.5rem)
		);
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
}

@media (min-width: 640px) {
	.hero-bg__search > .hero-search-suggest .hero-search-suggest__list {
		max-height: min(17.5rem, calc(100vw * 560 / 1920 - 5.5rem));
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
}

@media (min-width: 1024px) {
	.hero-bg__search > .hero-search-suggest .hero-search-suggest__list {
		max-height: min(20rem, calc(100vw * 560 / 1920 - 8.5rem));
	}
}

.hero-search-suggest--listings {
	top: calc(100% + 0.375rem);
	z-index: 30;
	text-align: left;
}

.listings-search-bar__composite > .hero-search-suggest--listings {
	left: 0;
	right: 0;
	width: 100%;
	min-width: 0;
	max-width: none;
}

.hero-search-suggest--listings .hero-search-suggest__list {
	max-height: min(18rem, 50vh);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

@media (max-width: 639.98px) {
	/* Absolute under composite — sticky search bar backdrop-filter breaks fixed */
	.hero-search-suggest--listings {
		position: absolute;
		top: calc(100% + 0.375rem);
		left: 0;
		right: 0;
		width: auto;
		margin: 0;
		z-index: 80;
	}

	.listings-search-bar__composite > .hero-search-suggest--listings {
		width: 100%;
	}

	.hero-search-suggest--listings .hero-search-suggest__list {
		max-height: min(240px, calc(100dvh - 6rem));
	}
}

@media (min-width: 640px) {
	.hero-search-suggest--listings {
		min-width: 20rem;
	}
}

.hero-search-suggest__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.575rem 0.75rem 0.375rem 1rem;
	color: var(--foreground);
	font-size: 0.875rem;
}

.hero-search-suggest__head-title {
	min-width: 0;
}

.hero-search-suggest__close {
	flex-shrink: 0;
	margin: 0;
	padding: 0.25rem 0.5rem;
	border: 0;
	border-radius: 0.375rem;
	background: transparent;
	color: var(--muted-foreground);
	font: inherit;
	font-size: 0.8125rem;
	line-height: 1.25;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.hero-search-suggest__close:hover {
	background: color-mix(in oklab, var(--muted) 55%, transparent);
	color: var(--foreground);
}

.hero-search-suggest__list {
	display: flex;
	flex-direction: column;
	padding: 0.25rem 0;
}

.hero-search-suggest__item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	padding: 0.75rem 1rem;
	border: 0;
	background: transparent;
	color: inherit;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.hero-search-suggest__item:hover,
.hero-search-suggest__item.is-active {
	background: color-mix(in oklab, var(--secondary) 80%, #fff);
}

.hero-search-suggest__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	color: var(--primary);
	font-size: 1rem;
}

.hero-search-suggest__icon--history {
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 12%, transparent);
	font-size: 0.875rem;
}

.hero-search-suggest__text {
	flex: 1;
	min-width: 0;
	font-size: 0.9375rem;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.hero-search-suggest__chevron {
	flex-shrink: 0;
	color: var(--muted-foreground);
	font-size: 0.875rem;
}

.hero-search-suggest__keyword {
	display: block;
	width: calc(100% - 1.5rem);
	margin: 0.5rem 0.75rem 0.75rem;
	padding: 0.75rem 0.875rem;
	border: 0;
	border-radius: 0.625rem;
	background: var(--secondary);
	color: var(--muted-foreground);
	font-size: 0.875rem;
	line-height: 1.45;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.hero-search-suggest__keyword strong {
	color: var(--foreground);
	font-weight: 700;
}

.hero-search-suggest__keyword:hover,
.hero-search-suggest__keyword.is-active {
	background: color-mix(in oklab, var(--secondary) 70%, var(--primary));
	color: var(--foreground);
}

/* Search panel */
.search-panel {
	margin-top: var(--space-8);
	border-radius: calc(var(--really-radius) + 0.25rem);
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 24px 60px rgba(8, 28, 62, 0.28),
	0 2px 8px rgba(8, 28, 62, 0.08);
	overflow: hidden;
}

.search-panel .kt-tabs-list {
	gap: 0.25rem;
	padding: 0.25rem;
	border-radius: 0.75rem;
	background: var(--secondary);
}

.search-panel .kt-tab {
	flex: 1;
	border-radius: 0.625rem;
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.625rem 1rem;
}

.search-panel .kt-tab.active {
	background: #fff;
	color: var(--primary);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.search-panel__head {
	padding: var(--space-4) var(--space-4) var(--space-3);
	border-bottom: 1px solid var(--border);
	background: linear-gradient(180deg, var(--secondary) 0%, #fff 100%);
}

.search-panel__body {
	padding: var(--space-5);
}

.search-field {
	position: relative;
	margin-bottom: var(--space-3);
}

.search-filters {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-3);
}

@media (min-width: 480px) {
	.search-filters,
	.search-filters--two {
		grid-template-columns: repeat(2, 1fr);
	}
}

.search-submit {
	width: 100%;
	margin-top: var(--space-3);
}

.search-field .field-icon {
	position: absolute;
	left: 0.875rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--muted-foreground);
	font-size: 1.125rem;
	pointer-events: none;
}

.search-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-4);
	padding-top: var(--space-4);
	border-top: 1px dashed var(--border);
}

.search-tags__label {
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--muted-foreground);
}

.search-tag {
	border-radius: 9999px;
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--muted-foreground);
	background: var(--secondary);
	transition: all 0.2s ease;
}

.search-tag:hover {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 10%, transparent);
}

/* Section */
.section-block {
	padding-block: var(--section-y);
}

@media (min-width: 768px) {
	.section-block {
		padding-block: var(--section-y-md);
	}
}

.section-block--muted {
	background: linear-gradient(180deg, var(--secondary) 0%, color-mix(in oklab, var(--secondary) 40%, var(--background)) 100%);
}

.section-label {
	display: inline-flex;
	align-items: center;
	margin-bottom: var(--space-3);
	padding: var(--space-1) var(--space-3);
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 10%, transparent);
	color: var(--primary);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.section-title {
	font-size: clamp(1.625rem, 3vw, 2.05rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.section-desc {
	margin-top: var(--space-3);
	color: var(--muted-foreground);
	line-height: 1.65;
}

.section-header-row {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

@media (min-width: 640px) {
	.section-header-row {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}
}

.section-header-row__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	width: 100%;
}

.section-header-row__actions .kt-link {
	display: inline-flex;
	align-items: center;
	flex: 1 1 auto;
	justify-content: end;
	min-width: 0;
}

@media (min-width: 480px) {
	.section-header-row__actions .kt-link {
		flex: 0 1 auto;
	}
}

@media (min-width: 640px) {
	.section-header-row__actions {
		width: auto;
		flex-shrink: 0;
		justify-content: flex-end;
	}

	.section-header-row .kt-link {
		font-size: 0.8125rem;
		line-height: 1.4;
	}
}

@media (max-width: 479px) {
	.section-header-row__btn-label {
		font-size: 0.8125rem;
	}
}

/* Feature cards */
.feature-card {
	display: flex;
	gap: var(--space-3);
	align-items: flex-start;
	height: 100%;
	padding: var(--space-4);
	border: 1px solid color-mix(in oklab, var(--border) 85%, transparent);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.feature-card--lead {
	flex-direction: column;
	gap: var(--space-4);
	padding: var(--space-5);
	border-color: color-mix(in oklab, var(--primary) 22%, var(--border));
	background: linear-gradient(145deg, color-mix(in oklab, var(--primary) 9%, var(--card)) 0%, var(--card) 58%),
	var(--card);
}

@media (min-width: 640px) {
	.feature-card--lead {
		grid-column: span 2;
	}
}

@media (min-width: 1024px) {
	.feature-card--lead {
		grid-column: span 2;
		grid-row: span 2;
		justify-content: center;
		padding: var(--space-6);
	}
}

.feature-card:hover {
	transform: translateY(-3px);
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	box-shadow: 0 14px 32px rgba(43, 127, 255, 0.1);
}

.feature-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.75rem;
	background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 14%, transparent), color-mix(in oklab, var(--primary) 6%, transparent));
	color: var(--primary);
	font-size: 1.125rem;
	transition: transform 0.25s ease, background 0.25s ease;
}

.feature-card--lead .feature-card__icon {
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 0.875rem;
	font-size: 1.375rem;
}

.feature-card:hover .feature-card__icon {
	transform: scale(1.06);
	background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 20%, transparent), color-mix(in oklab, var(--primary) 10%, transparent));
}

.feature-card__body {
	flex: 1;
	min-width: 0;
}

.feature-card__tag {
	display: inline-flex;
	margin-bottom: var(--space-2);
	padding: 0.2rem 0.55rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 12%, transparent);
	color: var(--primary);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.feature-card__title {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
}

.feature-card--lead .feature-card__title {
	font-size: clamp(1.125rem, 2vw, 1.375rem);
}

.feature-card__desc {
	margin-top: 0.35rem;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: var(--muted-foreground);
}

.feature-card--lead .feature-card__desc {
	margin-top: var(--space-2);
	font-size: 0.875rem;
	line-height: 1.6;
}

/* Map */
.map-frame {
	overflow: hidden;
	border-radius: calc(var(--really-radius) + 0.125rem);
	border: 1px solid var(--border);
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
}

#map-preview {
	height: 20rem;
	z-index: 0;
}

@media (min-width: 768px) {
	#map-preview {
		height: 24rem;
	}
}

#map-preview .leaflet-control-attribution {
	font-size: 0.625rem;
	opacity: 0.7;
	background: rgba(255, 255, 255, 0.85) !important;
}

.map-feature-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	margin-top: var(--space-6);
}

.map-cta {
	margin-top: var(--space-8);
}

/* Home market news */
.home-news {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-5);
	margin-top: var(--space-5);
}

@media (min-width: 1024px) {
	.home-news {
		grid-template-columns: minmax(0, 1.1fr) minmax(17rem, 1fr);
		gap: var(--space-5);
		align-items: stretch;
	}
}

.home-news-featured {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	overflow: hidden;
	border: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
	border-radius: var(--really-radius);
	background: var(--card);
	text-decoration: none;
	color: inherit;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

@media (min-width: 768px) {
	.home-news-featured {
		grid-template-rows: none;
		grid-template-columns: 1fr 1.05fr;
		min-height: 16rem;
	}
}

@media (min-width: 1024px) {
	.home-news-featured {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto 1fr;
		min-height: 0;
	}
}

.home-news-featured:hover {
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
	transform: translateY(-2px);
}

.home-news-featured__media {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--secondary);
}

@media (min-width: 768px) {
	.home-news-featured__media {
		aspect-ratio: auto;
		min-height: 100%;
	}
}

@media (min-width: 1024px) {
	.home-news-featured__media {
		aspect-ratio: 16 / 9;
		min-height: 0;
	}
}

.home-news-featured__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(15, 23, 42, 0.14) 100%);
	pointer-events: none;
	opacity: 0.8;
}

.home-news-featured__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.55s ease;
}

.home-news-featured:hover .home-news-featured__media img {
	transform: scale(1.04);
}

.home-news-featured__content {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-4);
}

@media (min-width: 768px) {
	.home-news-featured__content {
		justify-content: center;
		padding: var(--space-5);
	}
}

@media (min-width: 1024px) {
	.home-news-featured__content {
		justify-content: flex-start;
		padding: var(--space-4) var(--space-5) var(--space-5);
	}
}

.home-news-featured__title {
	margin: 0;
	font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.02em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.home-news-featured__excerpt {
	margin: 0;
	color: var(--muted-foreground);
	font-size: 0.875rem;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.home-news-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	color: var(--muted-foreground);
	font-size: 0.8125rem;
}

.home-news-meta i {
	margin-right: 0.3rem;
	font-size: 0.875rem;
}

.home-news-meta--compact {
	gap: 0.65rem;
	font-size: 0.75rem;
}

.home-news-featured__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: auto;
	padding-top: var(--space-1);
	color: var(--primary);
	font-size: 0.8125rem;
	font-weight: 700;
}

.home-news-featured__cta i {
	transition: transform 0.25s ease;
}

.home-news-featured:hover .home-news-featured__cta i {
	transform: translateX(3px);
}

.home-news-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	min-width: 0;
}

.home-news-item {
	display: grid;
	grid-template-columns: auto 5.25rem minmax(0, 1fr);
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-3);
	border: 1px solid color-mix(in oklab, var(--border) 75%, transparent);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	text-decoration: none;
	color: inherit;
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.03);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.home-news-item:hover {
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	background: color-mix(in oklab, var(--card) 88%, var(--primary));
	box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
	transform: translateY(-2px);
}

.home-news-item__index {
	width: 1.5rem;
	color: color-mix(in oklab, var(--muted-foreground) 70%, transparent);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.home-news-item:hover .home-news-item__index {
	color: var(--primary);
}

.home-news-item__thumb {
	aspect-ratio: 1.15;
	overflow: hidden;
	border-radius: calc(var(--really-radius) - 0.25rem);
	background: var(--secondary);
}

.home-news-item__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.home-news-item:hover .home-news-item__thumb img {
	transform: scale(1.06);
}

.home-news-item__body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.home-news-item__title {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.015em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media (max-width: 479px) {
	.home-news-item {
		grid-template-columns: 4.5rem minmax(0, 1fr);
	}

	.home-news-item__index {
		display: none;
	}
}

/* Home featured reels */
.home-reel-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--space-3);
}

@media (min-width: 768px) {
	.home-reel-grid {
		gap: var(--space-4);
	}
}

@media (max-width: 767px) {
	.home-reel-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		gap: var(--space-3);
		margin-inline: calc(var(--container-x) * -1);
		scroll-padding-inline: var(--container-x);
	}

	.home-reel-grid::-webkit-scrollbar {
		display: none;
	}

	.home-reel-card:first-child {
		margin-inline-start: var(--container-x);
	}

	.home-reel-card:last-child {
		margin-inline-end: var(--container-x);
	}

	.home-reel-card {
		flex: 0 0 42%;
		max-width: 10rem;
		scroll-snap-align: start;
	}
}

.home-reel-card {
	display: block;
	width: 100%;
	color: inherit;
	text-decoration: none;
	border-radius: calc(var(--really-radius) + 0.25rem);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.home-reel-card:hover {
	transform: translateY(-4px);
}

.home-reel-card__media {
	position: relative;
	aspect-ratio: 9 / 16;
	border-radius: var(--really-radius);
	overflow: hidden;
	background: #111;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
}

.home-reel-card:hover .home-reel-card__media {
	box-shadow: 0 22px 48px rgba(15, 23, 42, 0.2);
}

.home-reel-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-reel-card__poster,
.home-reel-card__gif {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.home-reel-card__gif {
	z-index: 1;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.home-reel-card--gif-autoplay .home-reel-card__gif,
.home-reel-card--has-gif:hover .home-reel-card__gif {
	opacity: 1;
}

.home-reel-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg, color-mix(in oklab, #000 40%, transparent) 0%, transparent 32%, color-mix(in oklab, #000 82%, transparent) 100%);
	pointer-events: none;
}

.home-reel-card__progress {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	right: 0.5rem;
	z-index: 3;
	display: flex;
	gap: 0.2rem;
}

.home-reel-card__progress span {
	flex: 1 1 0;
	height: 0.125rem;
	border-radius: 9999px;
	background: color-mix(in oklab, #fff 28%, transparent);
}

.home-reel-card__progress span.is-active {
	background: #fff;
}

.home-reel-card__video {
	position: absolute;
	left: 0.5rem;
	bottom: 6rem;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
	padding: 0.2rem 0.45rem;
	border-radius: 9999px;
	font-size: 0.5625rem;
	font-weight: 600;
	color: #fff;
	background: color-mix(in oklab, #000 42%, transparent);
	backdrop-filter: blur(6px);
}

.home-reel-card__pro {
	position: absolute;
	top: 1.75rem;
	left: 0.5rem;
	z-index: 3;
}

.home-reel-card__overlay {
	position: absolute;
	left: 0.625rem;
	right: 0.625rem;
	bottom: 0.625rem;
	z-index: 3;
}

.home-reel-card__price {
	margin: 0;
	font-size: clamp(0.9375rem, 2.5vw, 1.125rem);
	font-weight: 800;
	color: #fff;
	text-shadow: 0 1px 4px color-mix(in oklab, #000 55%, transparent);
}

.home-reel-card__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	align-items: flex-start;
	gap: 0.35rem;
	margin: 0.25rem 0 0;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.35;
	color: #fff;
	text-shadow: 0 1px 3px color-mix(in oklab, #000 55%, transparent);
}

.home-reel-card__title .kt-badge {
	flex-shrink: 0;
	margin-top: 0.05rem;
	font-size: 0.5rem;
	line-height: 1.2;
}

.home-reel-card__meta {
	margin: 0.25rem 0 0;
	font-size: 0.6875rem;
	color: color-mix(in oklab, #fff 78%, transparent);
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.home-reel-slider {
	position: relative;
	margin-top: var(--space-4);
	z-index: 0;
}

.home-reel-slider__cta {
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 9999px;
	background: var(--primary);
	color: var(--primary-foreground);
	box-shadow: 0 10px 28px rgba(43, 127, 255, 0.32);
	text-decoration: none;
	transform: translateY(-50%);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
	animation: home-reel-slider-cta-pulse 2.4s ease-in-out infinite;
}

.home-reel-slider__cta::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: var(--primary);
	opacity: 0.35;
	z-index: -1;
	animation: home-reel-slider-cta-ring 2s ease-out infinite;
}

.home-reel-slider__cta i {
	font-size: 1.125rem;
	line-height: 1;
	transition: transform 0.2s ease;
	animation: home-reel-slider-cta-arrow 1.6s ease-in-out infinite;
}

.home-reel-slider__cta:hover {
	animation: none;
	transform: translateY(-50%) scale(1.06);
	box-shadow: 0 14px 32px rgba(43, 127, 255, 0.4);
	background: color-mix(in oklab, var(--primary) 88%, #000);
}

.home-reel-slider__cta:hover::before {
	animation: none;
	opacity: 0;
}

.home-reel-slider__cta:hover i {
	animation: none;
	transform: translateX(4px);
}

@keyframes home-reel-slider-cta-pulse {
	0%,
	100% {
		box-shadow: 0 10px 28px rgba(43, 127, 255, 0.32);
	}

	50% {
		box-shadow: 0 12px 34px rgba(43, 127, 255, 0.46);
	}
}

@keyframes home-reel-slider-cta-ring {
	0% {
		transform: scale(1);
		opacity: 0.45;
	}

	100% {
		transform: scale(1.65);
		opacity: 0;
	}
}

@keyframes home-reel-slider-cta-arrow {
	0%,
	100% {
		transform: translateX(0);
	}

	50% {
		transform: translateX(3px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-reel-slider__cta,
	.home-reel-slider__cta::before,
	.home-reel-slider__cta i {
		animation: none;
	}
}

@media (max-width: 767px) {
	.home-reel-slider::after {
		content: "";
		position: absolute;
		top: 0;
		right: -15px;
		bottom: 0;
		width: 4.5rem;
		background: linear-gradient(90deg, transparent, color-mix(in oklab, var(--secondary) 88%, var(--background)));
		pointer-events: none;
		z-index: 1;
	}
}

@media (min-width: 768px) {
	.home-reel-slider {
		padding-right: 3.5rem;
	}
}

.listings-reel-strip {
	grid-column: 1 / -1;
	padding: var(--space-5) 0;
}

.listings-reel-strip__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-3);
}

.listings-reel-strip .section-label {
	margin-bottom: var(--space-2);
}

.listings-reel-strip__title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.listings-reel-strip__desc {
	margin: 0.125rem 0 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.listings-reel-strip__more {
	flex-shrink: 0;
	white-space: nowrap;
	font-size: 0.8125rem;
}

.listings-reel-strip .home-reel-slider {
	margin-top: var(--space-4);
}

.listings-reel-strip .home-reel-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 767px) {
	.listings-reel-strip {
		margin-inline: calc(var(--container-x) * -1);
		padding: var(--space-4) 0;
		border-inline: 0;
		border-radius: 0;
	}

	.listings-reel-strip__head {
		padding-inline: var(--container-x);
	}

	.listings-reel-strip .home-reel-grid {
		margin-inline: 0;
	}

	.listings-reel-strip .home-reel-slider::after {
		right: 0;
	}

	.listings-reel-strip__desc {
		display: none;
	}
}

.map-feature-item {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	font-size: 0.875rem;
}

.map-feature-item__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	flex-shrink: 0;
	border-radius: 0.625rem;
	background: color-mix(in oklab, var(--primary) 10%, transparent);
	color: var(--primary);
}

/* Region cards — bento grid */
.region-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
	margin-top: var(--space-4);
}

@media (min-width: 640px) {
	.region-grid {
		gap: var(--space-4);
	}
}

@media (min-width: 1024px) {
	.region-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		grid-template-rows: repeat(2, minmax(10.5rem, 1fr));
		gap: var(--space-4);
		min-height: 26rem;
	}
}

.region-card {
	position: relative;
	display: flex;
	overflow: hidden;
	min-height: 9.5rem;
	border: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
	border-radius: calc(var(--really-radius) + 0.25rem);
	color: inherit;
	text-decoration: none;
	isolation: isolate;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

@media (min-width: 640px) {
	.region-card {
		min-height: 10.5rem;
	}
}

.region-card--featured {
	grid-column: span 2;
	min-height: 13rem;
}

.region-card--wide {
	grid-column: span 2;
}

@media (min-width: 1024px) {
	.region-card--featured {
		grid-column: span 3;
		grid-row: span 2;
		min-height: 0;
	}

	.region-card--wide {
		grid-column: span 2;
		grid-row: span 1;
		min-height: 0;
	}
}

.region-card:hover {
	transform: translateY(-5px);
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
	box-shadow: 0 24px 48px rgba(15, 23, 42, 0.14),
	0 0 0 1px color-mix(in oklab, var(--primary) 12%, transparent);
}

.region-card__media {
	position: absolute;
	inset: 0;
}

.region-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.region-card:hover .region-card__media img {
	transform: scale(1.08);
}

.region-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(145deg, rgba(15, 23, 42, 0.15) 0%, transparent 42%),
	linear-gradient(180deg, transparent 20%, rgba(15, 23, 42, 0.55) 58%, rgba(15, 23, 42, 0.92) 100%);
	transition: background 0.3s ease;
	pointer-events: none;
}

.region-card:hover .region-card__overlay {
	background: linear-gradient(145deg, color-mix(in oklab, var(--primary) 18%, transparent) 0%, transparent 48%),
	linear-gradient(180deg, transparent 10%, rgba(15, 23, 42, 0.62) 55%, rgba(15, 23, 42, 0.96) 100%);
}

.region-card__badge {
	position: absolute;
	top: var(--space-3);
	left: var(--space-3);
	z-index: 2;
	padding: 0.3rem 0.65rem;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--primary);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}

.region-card__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	margin-top: auto;
	padding: var(--space-4);
	color: #fff;
}

@media (min-width: 1024px) {
	.region-card--featured .region-card__content {
		padding: var(--space-6);
	}
}

.region-card__count {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.78);
}

.region-card__name {
	margin: 0.2rem 0 0;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.region-card--featured .region-card__name {
	font-size: clamp(1.375rem, 2.5vw, 1.875rem);
}

.region-card__desc {
	display: none;
	margin: var(--space-2) 0 0;
	max-width: 26rem;
	font-size: 0.875rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.82);
}

@media (min-width: 640px) {
	.region-card--featured .region-card__desc {
		display: block;
	}
}

.region-card__tags {
	display: none;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-3);
}

@media (min-width: 640px) {
	.region-card--featured .region-card__tags {
		display: flex;
	}
}

.region-card__tags span {
	padding: 0.25rem 0.625rem;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(6px);
	font-size: 0.6875rem;
	font-weight: 600;
}

.region-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: var(--space-3);
	font-size: 0.8125rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.92);
	opacity: 0;
	transform: translateY(0.35rem);
	transition: opacity 0.25s ease, transform 0.25s ease, color 0.25s ease;
}

.region-card:not(.region-card--featured):not(.region-card--wide) .region-card__content {
	padding-right: 3.25rem;
}

.region-card__cta i {
	font-size: 0.875rem;
	line-height: 1;
}

.region-card:not(.region-card--featured):not(.region-card--wide) .region-card__cta {
	position: absolute;
	right: var(--space-4);
	bottom: var(--space-4);
	z-index: 2;
	margin-top: 0;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(6px);
	opacity: 1;
	transform: none;
}

.region-card--featured:hover .region-card__cta,
.region-card--wide:hover .region-card__cta {
	opacity: 1;
	transform: translateY(0);
	color: #fff;
}

.region-card:not(.region-card--featured):not(.region-card--wide):hover .region-card__cta {
	background: var(--primary);
	transform: scale(1.08);
}

/* Property cards */
.property-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-5);
}

@media (min-width: 640px) {
	.property-grid {
		grid-template-columns: repeat(2, 1fr);
		margin-top: var(--space-3);
	}
}

@media (min-width: 1024px) {
	.property-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.listings-results .property-grid,
	.broker-detail-tabs__panel .property-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.property-card {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.property-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(15, 23, 42, 0.1);
}

.property-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.property-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.property-card--has-gif .property-card__poster,
.property-card--has-gif .property-card__gif {
	position: absolute;
	inset: 0;
}

.property-card__gif {
	opacity: 0;
	z-index: 1;
	transition: opacity 0.2s ease, transform 0.45s ease;
}

.property-card--has-gif:hover .property-card__gif {
	opacity: 1;
}

.property-card:hover .property-card__media img {
	transform: scale(1.06);
}

.property-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg, transparent 55%, rgba(15, 23, 42, 0.35) 100%);
	pointer-events: none;
}

.property-card__badge {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
	z-index: 3;
}

.property-card--pro .property-card__title {
	color: var(--pro-gold-dark);
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.35;
}

.property-card--pro .property-card__price {
	color: color-mix(in oklab, var(--pro-gold-dark) 85%, #1a1200);
}

.property-card--pro .property-card__meta .meta-chip {
	border-color: color-mix(in oklab, var(--pro-gold) 30%, var(--border));
	background: color-mix(in oklab, var(--pro-gold) 12%, var(--secondary));
	color: var(--pro-gold-dark);
}

.property-card--pro .property-card__badge {
	box-shadow: 0 2px 12px rgba(212, 160, 23, 0.45);
}

.property-card__fav {
	position: absolute;
	right: 0.75rem;
	top: 0.75rem;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 9999px;
	border: none;
	background: rgba(255, 255, 255, 0.92);
	color: var(--muted-foreground);
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease;
}

.property-card__fav:hover {
	color: var(--primary);
}

.property-card__fav.is-saved {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 12%, white);
}

.member-saved-card__date {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-3);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.property-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	padding: var(--space-3);
}

.property-card__stats {
	display: contents;
}

.property-card__price {
	order: 1;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--primary);
}

.property-card__title {
	order: 2;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.property-card__location {
	order: 3;
	display: flex;
	align-items: center;
	gap: var(--space-1);
	margin: var(--space-1) 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.property-card__excerpt {
	order: 5;
	margin: var(--space-1) 0 0;
}

.property-card__meta {
	order: 4;
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.member-saved-card__date {
	order: 5;
}

.property-card__posted {
	order: 6;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: auto;
	padding-top: var(--space-2);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.property-card__posted > span {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.property-card__posted-agent {
	gap: 0.375rem;
	min-width: 0;
	max-width: 100%;
}

.property-card__posted-agent:not(:only-child) {
	flex: 1 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.property-card__posted-avatar {
	display: block;
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	overflow: hidden;
	background: var(--secondary);
}

.property-card__posted-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.property-card__posted > span + span::before {
	content: "·";
	margin-right: var(--space-2);
	color: var(--muted-foreground);
}

.meta-chip {
	padding: 0.25rem 0.5rem;
	border-radius: 0.375rem;
	background: var(--secondary);
	font-size: 0.6875rem;
	font-weight: 500;
	color: var(--muted-foreground);
}

/* Stats */
.stat-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-4);
}

.stat-card {
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
}

.stat-card__note {
	margin-top: var(--space-2);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.stat-card__label {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.stat-card__value {
	margin-top: var(--space-2);
	font-size: clamp(1.375rem, 4vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--primary);
}

.stat-card__delta {
	display: flex;
	align-items: center;
	gap: var(--space-1);
	margin-top: var(--space-2);
	font-size: 0.75rem;
	font-weight: 500;
	color: #16a34a;
}

/* Broker */
.broker-panel {
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.25rem);
	background: var(--card);
}

.broker-panel__grid {
	display: grid;
}

.broker-panel__grid > * {
	min-width: 0;
}

@media (min-width: 1024px) {
	.broker-panel__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.broker-panel__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--space-6);
}

.broker-panel__list {
	padding: var(--space-5);
	background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 6%, transparent), color-mix(in oklab, var(--primary) 2%, var(--secondary)));
	border-top: 1px solid var(--border);
}

@media (min-width: 1024px) {
	.broker-panel__list {
		border-top: 0;
		border-left: 1px solid var(--border);
	}
}

.broker-item {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	min-width: 0;
	padding: var(--space-3) var(--space-4);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
}

.broker-item a {
	min-width: 0;
}

.broker-item + .broker-item {
	margin-top: var(--space-3);
}

/* CTA */
.cta-banner {
	position: relative;
	overflow: hidden;
	padding-block: var(--space-12);
	background: linear-gradient(135deg, #1a56c4 0%, var(--primary) 48%, #4d9dff 100%);
}

@media (min-width: 768px) {
	.cta-banner {
		padding-block: var(--space-16);
	}
}

.cta-banner__desc {
	margin-top: var(--space-3);
	max-width: 36rem;
	margin-inline: auto;
	color: rgba(255, 255, 255, 0.85);
}

.cta-banner__actions {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: var(--space-3);
	margin-top: var(--space-8);
}

@media (min-width: 640px) {
	.cta-banner__actions {
		flex-direction: row;
	}
}

.cta-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.18), transparent 40%),
	radial-gradient(circle at 90% 80%, rgba(255, 255, 255, 0.1), transparent 35%);
	pointer-events: none;
}

.cta-banner__inner {
	position: relative;
	z-index: 1;
	text-align: center;
}

.cta-btn-white {
	background: #fff !important;
	color: var(--primary) !important;
}

.cta-btn-white:hover {
	background: rgba(255, 255, 255, 0.92) !important;
}

.cta-btn-ghost {
	border-color: rgba(255, 255, 255, 0.35) !important;
}

.cta-btn-ghost:hover {
	background: rgba(255, 255, 255, 0.12) !important;
}

/* Footer */
.site-footer {
	background: #0b1220;
	color: rgba(255, 255, 255, 0.72);
	padding-block: var(--space-12);
}

@media (min-width: 768px) {
	.site-footer {
		padding-block: var(--space-16);
	}
}

.footer-divider {
	margin-block: var(--space-8);
}

.footer-grid {
	display: grid;
	gap: var(--space-10);
}

@media (min-width: 640px) {
	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.footer-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.footer-brand {
	margin-top: var(--space-3);
}

.footer-links {
	margin-top: var(--space-4);
}

.footer-links li + li {
	margin-top: var(--space-2);
}

.footer-links__pro {
	margin-top: var(--space-3) !important;
}

.footer-link-pro {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.4375rem 0.875rem;
	border-radius: 9999px;
	background: linear-gradient(135deg, #a67c00 0%, #d4a017 55%, #f5d061 100%);
	color: #1a1200 !important;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.35) inset, 0 2px 10px rgba(212, 160, 23, 0.3);
	transition: filter 0.2s ease, transform 0.2s ease;
}

.footer-link-pro:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.footer-bottom {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--space-4);
	margin-top: var(--space-4);
	font-size: 0.875rem;
}

@media (min-width: 640px) {
	.footer-bottom {
		flex-direction: row;
	}
}

.footer-social {
	display: flex;
	gap: var(--space-5);
}

.site-footer h4 {
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
}

.site-footer a {
	transition: color 0.2s ease;
}

.site-footer a:hover {
	color: #fff;
}

.site-footer .footer-brand {
	color: rgba(255, 255, 255, 0.55);
	line-height: 1.65;
}

.site-footer .footer-icon {
	color: var(--primary);
}

.site-footer .kt-separator {
	border-color: rgba(255, 255, 255, 0.1);
}

/* Drawer */
.kt-drawer-backdrop {
	z-index: var(--z-overlay);
}

#mobileMenu.kt-drawer {
	z-index: var(--z-drawer);
	display: flex;
	flex-direction: column;
}

#mobileMenu.kt-drawer:not(.open) {
	visibility: hidden;
	pointer-events: none;
}

#mobileMenu.kt-drawer-end {
	width: min(100%, 22rem);
	max-width: 100%;
}

#mobileMenu .kt-drawer-content {
	padding: var(--space-5);
}

.drawer-header {
	gap: var(--space-3);
	padding: var(--space-4) var(--space-5) !important;
}

.drawer-header__logo {
	display: flex;
	align-items: center;
	min-width: 0;
	flex: 1;
}

.drawer-logo {
	display: block;
	height: 2rem;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

.drawer-header__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: var(--background);
	color: var(--foreground);
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.drawer-header__close i {
	font-size: 1.125rem;
}

.drawer-header__close:hover {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
}

.mobile-drawer {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.mobile-drawer__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	width: 100%;
	min-height: 2.75rem;
	padding: var(--space-3) var(--space-4);
	border-radius: 0.75rem;
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.mobile-drawer__btn--outline {
	border: 1px solid var(--border);
	background: var(--background);
	color: var(--foreground);
}

.mobile-drawer__btn--outline:hover {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
}

.mobile-drawer__btn--ghost {
	border: 1px solid transparent;
	background: var(--secondary);
	color: var(--foreground);
}

.mobile-drawer__btn--ghost:hover {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--secondary));
}

.mobile-drawer__btn--primary {
	border: 1px solid color-mix(in oklab, #fff 18%, var(--primary));
	background: linear-gradient(135deg, #1a56c4 0%, var(--primary) 52%, #4d9dff 100%);
	color: #fff;
	box-shadow: 0 4px 14px rgba(43, 127, 255, 0.32);
}

.mobile-drawer__btn--primary:hover {
	filter: brightness(1.05);
	box-shadow: 0 6px 18px rgba(43, 127, 255, 0.4);
}

.mobile-drawer__nav {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	padding: var(--space-1);
	border-radius: var(--really-radius);
	border: 1px solid color-mix(in oklab, var(--primary) 12%, var(--border));
	background: var(--secondary);
}

.mobile-drawer__link {
	display: block;
	padding: var(--space-3) var(--space-4);
	border-radius: calc(var(--really-radius) - 0.25rem);
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--foreground);
	transition: color 0.2s ease, background 0.2s ease;
}

.mobile-drawer__link:hover {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--background));
}

.mobile-drawer__link.active {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--background));
}

.mobile-drawer__link.active:hover {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--background));
}

.mobile-drawer__link--pro {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	margin-top: var(--space-2);
	background: linear-gradient(135deg, var(--pro-gold-dark) 0%, var(--pro-gold) 55%, var(--pro-gold-light) 100%);
	color: #1a1200 !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.35) inset, 0 2px 8px rgba(212, 160, 23, 0.25);
}

.mobile-drawer__link--pro:hover,
.mobile-drawer__link--pro.active,
.mobile-drawer__link--pro.active:hover {
	filter: brightness(1.06);
	color: #1a1200 !important;
	background: linear-gradient(135deg, var(--pro-gold-dark) 0%, var(--pro-gold) 55%, var(--pro-gold-light) 100%);
}

.mobile-drawer__section {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	padding-top: var(--space-2);
	border-top: 1px solid var(--border);
}

.mobile-drawer__label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--muted-foreground);
	margin-top: var(--space-2);
}

/* Mobile bottom tab bar */
.mobile-tabbar {
	display: none;
}

@media (max-width: 1023.98px) {
	.mobile-tabbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: var(--z-header);
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		align-items: end;
		gap: 0;
		padding: var(--space-1) var(--space-1) calc(var(--space-1) + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid color-mix(in oklab, var(--border) 88%, transparent);
		background: color-mix(in oklab, var(--background) 94%, transparent);
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.08);
	}

	body.has-mobile-tabbar {
		padding-bottom: var(--tabbar-height, 4.25rem);
	}

	body.has-mobile-tabbar .header-post-btn {
		display: none;
	}

	body.has-mobile-tabbar .cookie-consent {
		bottom: calc(var(--tabbar-height, 4.25rem) + var(--space-3));
	}

	body.has-mobile-tabbar .to-top {
		bottom: calc(var(--tabbar-height, 4.25rem) + var(--space-4));
	}

	body.has-mobile-tabbar:has(.listing-contact-sticky:not(.is-hidden)) .to-top {
		bottom: calc(
			var(--tabbar-height, 4.25rem)
			+ var(--listing-contact-sticky-offset, 4.75rem)
			+ var(--space-4)
		);
	}

	body.has-mobile-tabbar .listing-contact-sticky {
		bottom: var(--tabbar-height, 4.25rem);
	}

	body.has-mobile-tabbar .site-footer {
		padding-bottom: var(--space-4);
	}
}

/* Back to top */
.to-top {
	position: fixed;
	right: var(--space-4);
	bottom: calc(var(--space-4) + env(safe-area-inset-bottom, 0px));
	z-index: 45;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid color-mix(in oklab, #fff 18%, var(--primary));
	border-radius: 9999px;
	color: #fff;
	background: linear-gradient(135deg, #1a56c4 0%, var(--primary) 52%, #4d9dff 100%);
	box-shadow: 0 8px 22px rgba(43, 127, 255, 0.36),
		inset 0 1px 0 rgba(255, 255, 255, 0.22);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.5rem);
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.to-top i {
	font-size: 1.25rem;
	line-height: 1;
}

.to-top:hover,
.to-top:focus-visible {
	filter: brightness(1.05);
	outline: none;
	box-shadow: 0 10px 26px rgba(43, 127, 255, 0.44),
		inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.to-top:active {
	transform: translateY(1px);
}

.listings-reel-body .to-top,
.listings-map-body .to-top {
	display: none !important;
}

@media (min-width: 768px) {
	.to-top {
		right: var(--space-6);
		bottom: var(--space-6);
	}
}

@media (prefers-reduced-motion: reduce) {
	.to-top {
		transition: none;
	}
}

.mobile-tabbar__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.125rem;
	min-width: 0;
	min-height: 3.25rem;
	padding: var(--space-1) var(--space-1) var(--space-2);
	border-radius: 0.75rem;
	color: var(--muted-foreground);
	text-decoration: none;
	transition: color 0.2s ease, background 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.mobile-tabbar__item i {
	font-size: 1.25rem;
	line-height: 1;
}

.mobile-tabbar__item > span {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.mobile-tabbar__item:hover,
.mobile-tabbar__item:focus-visible {
	color: var(--primary);
	outline: none;
}

.mobile-tabbar__item.active {
	color: var(--primary);
}

.mobile-tabbar__item--post {
	position: relative;
	gap: 0.25rem;
	padding-top: 0;
}

.mobile-tabbar__post {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin-top: -1.125rem;
	border-radius: 9999px;
	border: 1px solid color-mix(in oklab, #fff 18%, var(--primary));
	color: #fff;
	background: linear-gradient(135deg, #1a56c4 0%, var(--primary) 52%, #4d9dff 100%);
	box-shadow: 0 6px 18px rgba(43, 127, 255, 0.4),
	inset 0 1px 0 rgba(255, 255, 255, 0.22);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.mobile-tabbar__post i {
	font-size: 1.375rem;
	font-weight: 700;
}

.mobile-tabbar__item--post:hover .mobile-tabbar__post,
.mobile-tabbar__item--post:focus-visible .mobile-tabbar__post {
	filter: brightness(1.05);
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(43, 127, 255, 0.48),
	inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.mobile-tabbar__item--post:active .mobile-tabbar__post {
	transform: translateY(0);
}

.mobile-tabbar__item--post > span:last-child {
	color: var(--foreground);
}

/* Tab panels */
.kt-tab-panel.hidden {
	display: none !important;
}

/* Property image variants */
.property-card:nth-child(even) .property-card__media img {
	object-position: center 35%;
}

.property-card:nth-child(3n) .property-card__media img {
	object-position: center 20%;
}

/* Auth pages */
.auth-page {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.auth-header {
	position: relative;
	z-index: 2;
	padding: var(--space-4) var(--container-x);
	background: var(--background);
	border-bottom: 1px solid var(--border);
}

@media (min-width: 1024px) {
	.auth-header {
		padding-inline: var(--container-x-lg);
	}
}

.auth-home-link {
	display: inline-flex;
	align-items: center;
}

.auth-logo {
	height: 2rem;
	width: auto;
}

.auth-main {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-8) var(--container-x);
	background: linear-gradient(118deg, rgba(7, 24, 54, 0.9) 0%, rgba(43, 127, 255, 0.82) 55%, rgba(18, 66, 145, 0.88) 100%),
	url("../media/images/600x400/11.jpg") center 40% / cover no-repeat;
}

.auth-card {
	width: 100%;
	max-width: 24.25rem;
	border-radius: var(--really-radius);
	box-shadow: 0 24px 48px rgba(7, 24, 54, 0.18);
}

.auth-card--wide {
	max-width: 27.5rem;
}

.auth-card--otp {
	max-width: 23.75rem;
}

.auth-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 24.25rem;
	gap: var(--space-4);
}

.auth-stack--wide {
	max-width: 27.5rem;
}

.auth-brand {
	display: inline-flex;
	flex-shrink: 0;
}

.auth-brand img {
	height: 3rem;
	width: auto;
	filter: brightness(0) invert(1);
}

.auth-card__head {
	text-align: center;
	margin-bottom: var(--space-2);
}

.auth-card__title {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--foreground);
	margin-bottom: var(--space-2);
}

.auth-card__subtitle {
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.auth-card__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  font-size: 0.875rem;
  color: var(--muted-foreground);
}

.auth-form-alert {
  border-radius: var(--radius-md, 0.5rem);
  font-size: 0.875rem;
  line-height: 1.45;
  padding: 0.75rem 0.875rem;
	margin-bottom: 1rem;
}

.auth-form-alert.is-error {
  background: color-mix(in srgb, var(--destructive, #dc2626) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--destructive, #dc2626) 25%, transparent);
  color: var(--destructive, #dc2626);
}

.auth-form-alert.is-success {
  background: color-mix(in srgb, var(--color-green-600, #16a34a) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-green-600, #16a34a) 25%, transparent);
  color: var(--color-green-600, #16a34a);
}

.auth-card .auth-forgot-password.kt-link {
	font-size: 0.925rem;
	line-height: 1.25;
	font-weight: 400;
}

.auth-intent__options {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.auth-intent__check {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.auth-intent__option {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-3);
	border: 1px dashed var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.auth-intent__option:hover {
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	background: color-mix(in oklab, var(--primary) 3%, var(--card));
}

.auth-intent__check:checked + .auth-intent__option {
	border-style: solid;
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--card));
	box-shadow: 0 0 0 1px color-mix(in oklab, var(--primary) 18%, transparent);
}

.auth-intent__check:checked + .auth-intent__option .auth-intent__icon {
	background: color-mix(in oklab, var(--primary) 16%, transparent);
	color: var(--primary);
}

.auth-intent__icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 0.75rem;
	background: color-mix(in oklab, var(--primary) 8%, transparent);
	color: var(--primary);
	font-size: 1.5rem;
}

.auth-intent__content {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	min-width: 0;
	text-align: left;
}

.auth-intent__title {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--foreground);
}

.auth-intent__desc {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--muted-foreground);
}

.auth-divider {
	display: flex;
	align-items: center;
	gap: var(--space-2);
}

.auth-divider::before,
.auth-divider::after {
	content: "";
	flex: 1;
	border-top: 1px solid var(--border);
}

.auth-divider__label {
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--muted-foreground);
}

.auth-social {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: var(--space-2);
}

.auth-illustration {
	display: flex;
	justify-content: center;
	padding-block: var(--space-8);
}

.auth-illustration img {
	max-height: 8.125rem;
}

/* Checkbox group — .kt-label equivalent for checkbox + label rows */
.kt-checkbox-group {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 500;
	color: var(--foreground);
}

.kt-checkbox-group .kt-checkbox {
	flex-shrink: 0;
	margin: 0;
}

.kt-checkbox-group .kt-checkbox-label {
	line-height: 1.4;
}

/* Multi-line labels (terms, links) — top-align checkbox with first line */
.kt-checkbox-group:has(.kt-checkbox-label a),
.post-terms.kt-checkbox-group {
	align-items: flex-start;
}

.kt-checkbox-group:has(.kt-checkbox-label a) .kt-checkbox,
.post-terms.kt-checkbox-group .kt-checkbox {
	margin-top: 0.125rem;
}

.post-amenities__grid .kt-checkbox-group {
	display: flex;
	width: 100%;
	font-weight: 400;
}

.auth-illustration--lg img {
	max-height: 11.25rem;
}

/* Post listing page */
.kt-form-label {
	gap: calc(var(--spacing) * 1);
}

.post-page {
	padding-block: var(--space-5);
	background: linear-gradient(180deg, color-mix(in oklab, var(--primary) 4%, var(--background)) 0%, var(--background) 12rem);
}

.post-page__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	margin-bottom: var(--space-4);
	padding-bottom: var(--space-4);
	border-bottom: 1px solid var(--border);
}

.post-page__logo {
	height: 2.5rem;
	width: auto;
}

.post-page__close {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2) var(--space-3);
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: var(--background);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--foreground);
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.post-page__close i {
	font-size: 1.125rem;
}

.post-page__close:hover {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
}

.post-page__close-label {
	display: none;
}

@media (min-width: 640px) {
	.post-page__close-label {
		display: inline;
	}
}

.post-page__head {
	display: flex;
	gap: var(--space-2);
}

@media (min-width: 768px) {
	.post-page__head {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		gap: var(--space-5);
	}
}

.post-page__title {
	font-size: clamp(1.125rem, 3vw, 1.05rem);
	font-weight: 700;
	line-height: 1.15;
}

.post-page__desc {
	margin-top: var(--space-1);
	max-width: 60rem;
	color: var(--muted-foreground);
	line-height: 1.65;
}

.post-page__progress {
	flex-shrink: 0;
}

.post-page__progress-meta {
	display: flex;
	justify-content: space-between;
	margin-bottom: var(--space-2);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--muted-foreground);
	gap: var(--space-5);
}

.post-progress {
	height: 0.5rem;
}

.post-progress .kt-progress-indicator {
	background-color: var(--primary);
}

.post-edit-notice {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	margin-bottom: var(--space-6);
	padding: var(--space-4);
	border-radius: var(--radius-lg);
	border: 1px solid transparent;
}

.post-edit-notice i {
	font-size: 1.25rem;
	margin-top: 0.125rem;
	flex-shrink: 0;
}

.post-edit-notice strong {
	display: block;
	margin-bottom: var(--space-1);
	font-size: 0.9375rem;
}

.post-edit-notice p {
	margin: 0;
	color: var(--muted-foreground);
	line-height: 1.6;
	font-size: 0.875rem;
}

.post-edit-notice--rejected {
	background: color-mix(in srgb, var(--destructive) 8%, transparent);
	border-color: color-mix(in srgb, var(--destructive) 18%, transparent);
	color: var(--destructive);
}

.post-edit-notice--rejected p {
	color: color-mix(in srgb, var(--destructive) 82%, var(--foreground));
}

.post-edit-notice--pending {
	background: color-mix(in srgb, var(--secondary) 35%, transparent);
	border-color: var(--border);
	color: var(--foreground);
}

.post-layout {
	display: grid;
	gap: var(--space-6);
}

@media (min-width: 1024px) {
	.post-layout {
		grid-template-columns: 17.5rem minmax(0, 1fr);
		gap: var(--space-8);
		align-items: start;
	}
}

.post-stepper-nav {
	position: sticky;
	top: var(--container-x);
	z-index: 11;
}

.post-stepper-nav__list {
	display: flex;
	gap: var(--space-2);
	overflow-x: auto;
	padding-bottom: var(--space-1);
	scrollbar-width: none;
}

.post-stepper-nav__list::-webkit-scrollbar {
	display: none;
}

@media (min-width: 1024px) {
	.post-stepper-nav__list {
		flex-direction: column;
		overflow: visible;
		padding-bottom: 0;
	}
}

@media (max-width: 1023px) {
	.post-stepper-nav__item:not(.active) {
		display: none;
	}

	.post-stepper-nav__item.active {
		min-width: 0;
		width: 100%;
	}
}

.post-stepper-nav__item {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	min-width: 13rem;
	padding: var(--space-3) var(--space-4);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
	text-align: left;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 1024px) {
	.post-stepper-nav__item {
		min-width: 0;
		width: 100%;
	}
}

.post-stepper-nav__item:hover {
	border-color: color-mix(in oklab, var(--primary) 24%, var(--border));
}

.post-stepper-nav__item.active {
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--card));
	box-shadow: 0 8px 24px rgba(43, 127, 255, 0.08);
}

.post-stepper-nav__item.completed {
	border-color: color-mix(in oklab, var(--primary) 20%, var(--border));
}

.post-stepper-nav__item.pending {
	opacity: 0.72;
	cursor: default;
	pointer-events: none;
}

.post-stepper-nav__item.completed {
	cursor: pointer;
}

.post-stepper-nav__number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	flex-shrink: 0;
	border-radius: 9999px;
	background: var(--secondary);
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--muted-foreground);
}

.post-stepper-nav__item.active .post-stepper-nav__number {
	background: var(--primary);
	color: var(--primary-foreground);
}

.post-stepper-nav__item.completed .post-stepper-nav__number {
	background: color-mix(in oklab, var(--primary) 14%, transparent);
	color: var(--primary);
	font-size: 0;
}

.post-stepper-nav__item.completed .post-stepper-nav__number::before {
	content: "✓";
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1;
}

.post-stepper-nav__text {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	min-width: 0;
}

.post-stepper-nav__title {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--foreground);
}

.post-stepper-nav__hint {
	font-size: 0.75rem;
	line-height: 1.4;
	color: var(--muted-foreground);
}

.post-form-wrap {
	min-width: 0;
}

.post-card {
	overflow: hidden;
}

.post-card__header {
	border-bottom: 1px solid var(--border);
	padding: 0 0 var(--space-2) 0;
}

.post-card__body {
	padding: var(--space-4) 0;
}

.post-card__title {
	font-size: 0.975rem;
	font-weight: 700;
}

.post-card__subtitle {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.post-field {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.post-field + .post-field,
.post-field-grid + .post-field,
.post-field + .post-amenities {
	margin-top: var(--space-5);
}

.post-field-grid > .post-field + .post-field {
	margin-top: 0;
}

.post-field-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-4);
}

@media (min-width: 640px) {
	.post-field-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.post-location-grid {
	gap: var(--space-4);
}

@media (min-width: 768px) {
	.post-location-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.post-contact-grid {
	gap: var(--space-4);
}

@media (min-width: 640px) {
	.post-contact-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.post-map-field {
	margin-top: var(--space-6);
	padding-top: var(--space-6);
	border-top: 1px solid var(--border);
}

.post-project-detail-field {
	margin-top: var(--space-4);
}

.post-address-compare {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	margin-top: var(--space-4);
}

.post-project-field + .post-address-compare {
	margin-top: var(--space-4);
}

.post-address-compare--has-suggestion {
	grid-template-columns: minmax(0, 1fr) 2.75rem minmax(0, 1fr);
}

.post-address-compare__old,
.post-address-compare__new {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

.post-address-compare__old {
	appearance: none;
	width: 100%;
	margin: 0;
	font: inherit;
	color: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.post-address-compare__old:hover,
.post-address-compare__old:focus-visible {
	border-color: color-mix(in srgb, var(--primary) 45%, var(--border));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent);
	outline: none;
}

.post-address-compare__heading {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--foreground);
}

.post-address-compare__heading > span {
	display: flex;
    flex-direction: row;
    gap: 5px;
    min-width: 0;
    align-items: center;
}

.post-address-compare__heading--new {
	color: #e53935;
}

.post-address-compare__heading--new i {
	color: #e53935;
	flex-shrink: 0;
}

.post-address-compare__text {
	flex: 1;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--foreground);
}

.post-address-compare__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	margin: 0;
	color: var(--muted-foreground);
	font-size: 1.25rem;
}

.post-address-compare__suggest {
	flex: 1;
	flex-direction: row;
	align-items: stretch;
}

.post-address-compare__suggest input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.post-address-compare__suggest-body {
	flex: 1;
	min-width: 0;
}

.post-address-compare__suggest-label {
	display: block;
	font-size: 0.8125rem;
	font-weight: 400;
	color: var(--muted-foreground);
	float: right;
}

.post-address-compare__suggest-text {
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--foreground);
}

.post-address-compare__suggest .kt-link {
	align-self: flex-start;
	font-size: 0.875rem;
	float: right;
}

.post-address-compare__change {
	appearance: none;
	background: none;
	border: 0;
	padding: 0;
	margin-left: auto;
	white-space: nowrap;
	font-size: 12px;
	cursor: pointer;
}

.post-address-modal.listings-region-modal .kt-modal-content {
	width: min(100%, 24rem);
}

.post-address-modal .listings-region-modal__body {
	display: grid;
}

.post-address-modal .listings-region-modal__main,
.post-address-modal .listings-region-modal__panel {
	grid-area: 1 / 1;
	min-height: 0;
}

.post-address-modal__detail-fields {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}

.post-address-modal__detail-fields .kt-form-label {
	margin-bottom: 0.375rem;
	font-size: 0.8125rem;
	font-weight: 600;
}

.post-address-modal__detail-fields .post-field {
	margin: 0;
}

.post-address-modal__street-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.375rem;
}

.post-address-modal__street-head .kt-form-label {
	margin-bottom: 0;
	flex: 1;
	min-width: 0;
}

.post-address-modal__street-head .post-street-add-btn {
	flex-shrink: 0;
	align-self: center;
}

.post-address-modal__detail-fields .post-street-field {
	display: block;
}

.post-address-modal .listings-region-modal__pick-row.is-invalid {
	border-color: var(--destructive);
}

.post-address-modal__native-selects {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.post-success-modal.open {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: var(--space-4);
}

.post-success-modal .kt-modal-content {
	position: relative;
	width: min(24rem, calc(100vw - 2rem));
	max-height: min(90vh, 100dvh);
	margin-inline: auto;
	overflow: hidden;
	text-align: center;
	top: auto;
	translate: none;
}

.post-success-modal__close {
	position: absolute;
	top: var(--space-3);
	right: var(--space-3);
	z-index: 1;
}

.post-success-modal__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-8) var(--space-6) var(--space-5);
}

.post-success-modal__icon {
	display: grid;
	place-items: center;
	width: 4rem;
	height: 4rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 12%, var(--background));
	color: var(--primary);
}

.post-success-modal__icon i {
	font-size: 2rem;
	line-height: 1;
}

.post-success-modal[data-variant="draft"] .post-success-modal__icon {
	background: color-mix(in oklab, var(--muted-foreground) 12%, var(--background));
	color: var(--foreground);
}

.post-success-modal__title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--foreground);
}

.post-success-modal__message {
	margin: 0;
	max-width: 20rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--muted-foreground);
}

.post-success-modal__hint {
	margin: var(--space-1) 0 0;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: color-mix(in oklab, var(--muted-foreground) 84%, transparent);
}

.post-success-modal__hint strong {
	color: var(--foreground);
	font-weight: 600;
}

.post-success-modal__footer {
	flex-shrink: 0;
	justify-content: center;
	padding: 0 var(--space-6) var(--space-6);
	border-top: 0;
}

.post-success-modal__action {
	width: 100%;
	gap: var(--space-2);
}

.post-draft-choice-modal.open {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: var(--space-4);
}

.post-draft-choice-modal .kt-modal-content {
	position: relative;
	width: min(28rem, calc(100vw - 2rem));
	max-height: min(90vh, 100dvh);
	margin-inline: auto;
	overflow: hidden;
	top: auto;
	translate: none;
}

.post-draft-choice-modal__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-4);
	padding: var(--space-8) var(--space-6) var(--space-5);
	text-align: center;
}

.post-draft-choice-modal__icon {
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--muted-foreground) 12%, var(--background));
	color: var(--foreground);
}

.post-draft-choice-modal__icon i {
	font-size: 1.75rem;
	line-height: 1;
}

.post-draft-choice-modal__title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--foreground);
}

.post-draft-choice-modal__desc {
	margin: 0;
	max-width: 22rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--muted-foreground);
}

.post-draft-choice-modal__card {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	width: 100%;
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: color-mix(in oklab, var(--muted) 35%, var(--background));
	text-align: left;
}

.post-draft-choice-modal__thumb {
	flex: 0 0 4.5rem;
	width: 4.5rem;
	height: 4.5rem;
	overflow: hidden;
	border-radius: calc(var(--really-radius) - 0.25rem);
	background: var(--muted);
}

.post-draft-choice-modal__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-draft-choice-modal__info {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	min-width: 0;
}

.post-draft-choice-modal__listing-title {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.45;
	color: var(--foreground);
}

.post-draft-choice-modal__meta,
.post-draft-choice-modal__updated {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--muted-foreground);
}

.post-draft-choice-modal__footer {
	flex-direction: column;
	gap: var(--space-3);
	padding: 0 var(--space-6) var(--space-6);
	border-top: 0;
}

.post-draft-choice-modal__footer .kt-btn {
	width: 100%;
}

@media (max-width: 767px) {
	.post-address-compare--has-suggestion {
		grid-template-columns: 1fr;
		gap: var(--space-3);
	}

	.post-address-compare__arrow {
		transform: rotate(90deg);
	}
}

.post-map-field .post-field__hint {
	margin-bottom: var(--space-1);
}

.post-field--full {
	grid-column: 1 / -1;
}

.post-field__hint {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.post-field__label-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-2);
	flex-wrap: wrap;
}

.post-field__label-row .kt-form-label {
	margin-bottom: 0;
}

.post-field--street .post-field {
	margin-top: 0;
}

.post-field--compact {
	gap: var(--space-2);
}

.post-street-field {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.post-street-add-btn {
	align-self: flex-start;
	gap: var(--space-1);
}

.post-add-street-modal.open {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: var(--space-4);
}

.post-add-street-modal .kt-modal-content {
	position: relative;
	z-index: 1;
	width: min(28rem, calc(100vw - 2rem));
	max-height: min(85vh, 100dvh);
	margin-inline: auto;
	overflow: hidden;
	top: auto;
	translate: none;
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.22);
}

.post-add-street-modal__backdrop {
	z-index: 109;
}

.post-add-street-modal .kt-modal-header {
	align-items: center;
	padding-inline: var(--space-5);
	padding-block: var(--space-4);
}

.post-add-street-modal .kt-modal-body {
	padding-inline: var(--space-5);
	padding-block: var(--space-4);
}

.post-add-street-modal .kt-modal-footer {
	justify-content: flex-end;
	gap: var(--space-3);
	padding-inline: var(--space-5);
	padding-block: var(--space-4);
}

.post-add-street-modal__location {
	margin: 0 0 var(--space-4);
}

.post-street-duplicate {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-3);
	margin-top: var(--space-3);
	padding: var(--space-3) var(--space-4);
	border-radius: var(--radius-md);
	border: 1px solid #f59e0b;
	background: #fffbeb;
}

.post-street-duplicate[hidden] {
	display: none !important;
}

.post-street-duplicate__text {
	margin: 0;
	font-size: 0.875rem;
	color: #92400e;
	line-height: 1.5;
}

.post-optional {
	font-weight: 400;
	color: var(--muted-foreground);
}

.post-required {
	color: #e53935;
}

.post-field.is-invalid .post-upload__inner,
.post-field.is-invalid .kt-input,
.post-field.is-invalid .kt-textarea,
.post-field.is-invalid [data-kt-select-wrapper],
.post-field.is-invalid .post-type-card {
	border-color: #e53935;
}

.post-field__error {
	margin: var(--space-2) 0 0;
	font-size: 0.8125rem;
	color: #e53935;
	line-height: 1.5;
}

.post-ai-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-4) var(--space-5);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

.post-ai-panel__info {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	min-width: 0;
}

.post-ai-panel__title {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--foreground);
}

.post-ai-panel__quota {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.post-ai-panel__quota strong {
	color: var(--foreground);
	font-weight: 700;
}

.post-ai-panel__btn {
	flex-shrink: 0;
	white-space: nowrap;
}

.post-ai-panel__icon {
	color: #7c3aed;
}

@media (max-width: 639px) {
	.post-ai-panel {
		flex-direction: column;
		align-items: stretch;
	}

	.post-ai-panel__btn {
		width: 100%;
		justify-content: center;
	}
}

/* Post magic FAB — shares member-notebook-fab visuals */
.post-magic-fab {
	bottom: 5.75rem;
}

@media (min-width: 1024px) {
	.post-magic-fab {
		bottom: 5.75rem;
		right: 1.5rem;
	}
}

.post-magic-fab .member-notebook-fab__menu {
	min-width: min(22rem, calc(100vw - 2rem));
}

.post-magic-fab__icon-magic {
	display: grid;
	place-items: center;
	line-height: 0;
}

.post-magic-fab__icon-magic svg {
	display: block;
}

.post-magic-fab .member-notebook-fab__type-text small {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.35;
}

.post-type-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
}

@media (min-width: 640px) {
	.post-type-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.post-type-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-4) var(--space-3);
	border: 2px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
	text-align: center;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.post-type-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.post-type-card:hover {
	border-color: color-mix(in oklab, var(--primary) 36%, var(--border));
}

.post-type-card.selected {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--card));
	box-shadow: 0 8px 20px rgba(43, 127, 255, 0.14);
}

.post-type-card.selected .post-type-card__icon {
	background: color-mix(in oklab, var(--primary) 18%, transparent);
	color: var(--primary);
}

.post-type-card--disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

.post-type-card--disabled:hover {
	border-color: var(--border);
}

.post-transaction-group {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
}

.post-transaction-card {
	position: relative;
	display: flex;
	gap: var(--space-3);
	min-height: 5.5rem;
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: 1rem;
	background:
		radial-gradient(circle at top right, color-mix(in oklab, var(--primary) 10%, transparent), transparent 42%),
		var(--card);
	box-shadow: var(--shadow-xs);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.post-transaction-card:hover {
	transform: translateY(-1px);
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	box-shadow: var(--shadow-sm);
}

.post-transaction-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 0.9rem;
	background: color-mix(in oklab, var(--primary) 12%, var(--secondary));
	color: var(--primary);
	font-size: 1.25rem;
	flex-shrink: 0;
}

.post-transaction-card__content {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.post-transaction-card__title {
	font-size: 0.975rem;
	font-weight: 700;
	color: var(--foreground);
}

.post-transaction-card__desc {
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--muted-foreground);
	display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.post-transaction-group .kt-btn input {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
}

.post-transaction-group .kt-btn:has(input:checked),
.post-transaction-group .kt-btn.active {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 45%, var(--border));
	background:
		linear-gradient(180deg, color-mix(in oklab, var(--primary) 10%, white), color-mix(in oklab, var(--primary) 5%, var(--card)));
	box-shadow:
		0 0 0 3px color-mix(in oklab, var(--primary) 10%, transparent),
		inset 0 0 0 1px color-mix(in oklab, var(--primary) 18%, transparent);
}

.post-transaction-group .kt-btn:has(input:checked) .post-transaction-card__icon,
.post-transaction-group .kt-btn.active .post-transaction-card__icon {
	background: var(--primary);
	color: white;
}

.post-transaction-group .kt-btn:has(input:checked) .post-transaction-card__icon i,
.post-transaction-group .kt-btn.active .post-transaction-card__icon i {
	color: white;
}

@media (max-width: 639px) {
	.post-transaction-group {
		grid-template-columns: minmax(0, 1fr);
	}
}

.post-type-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.75rem;
	background: color-mix(in oklab, var(--primary) 10%, transparent);
	color: var(--primary);
	font-size: 1.25rem;
}

.post-type-card__label {
	font-size: 0.875rem;
	font-weight: 600;
}

.post-subtype-grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.post-subtype-card {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.875rem;
	border: 1.5px solid var(--border);
	border-radius: 999px;
	background: var(--card);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.4;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.post-subtype-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.post-subtype-card:hover {
	border-color: color-mix(in oklab, var(--primary) 36%, var(--border));
}

.post-subtype-card.selected {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--card));
	color: var(--primary);
}

.post-field.is-invalid .post-subtype-card {
	border-color: #e53935;
}

#post-map {
	height: 12rem;
	z-index: 0;
}

#cart-map {
	height: 12rem;
	z-index: 0;
}

@media (min-width: 640px) {
	#post-map {
		height: 16rem;
	}

	#cart-map {
		height: 16rem;
	}
}

@media (min-width: 768px) {
	#post-map {
		height: 18rem;
	}

	#cart-map {
		height: 18rem;
	}
}

#post-map .leaflet-control-attribution,
#cart-map .leaflet-control-attribution {
	font-size: 0.625rem;
	opacity: 0.7;
	background: rgba(255, 255, 255, 0.85) !important;
}

.post-price-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-3);
}

.post-price-row--labeled {
	align-items: end;
}

.post-price-input-wrap,
.post-price-unit-wrap {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	min-width: 0;
}

.post-price-badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-3);
}

.post-price-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.375rem 0.875rem;
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--card);
	font-size: 0.875rem;
	line-height: 1.25;
	color: var(--foreground);
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.post-price-badge:hover {
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--card));
}

.post-price-summary {
	margin-top: var(--space-2);
}

.post-field.is-invalid .kt-input {
	background: color-mix(in oklab, #e53935 5%, var(--background));
}

@media (min-width: 640px) {
	.post-price-row {
		grid-template-columns: minmax(0, 1fr) 11rem;
	}
}

.post-amenities__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
}

@media (min-width: 640px) {
	.post-amenities__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.post-upload {
	display: block;
	position: relative;
	cursor: pointer;
}

.post-upload__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.post-upload__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	min-height: 9rem;
	padding: var(--space-6);
	border: 2px dashed color-mix(in oklab, var(--primary) 28%, var(--border));
	border-radius: var(--really-radius);
	background: color-mix(in oklab, var(--primary) 4%, var(--secondary));
	text-align: center;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.post-upload:hover .post-upload__inner {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--secondary));
}

.post-upload__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 9999px;
	background: var(--card);
	color: var(--primary);
	font-size: 1.375rem;
}

.post-upload__title {
	font-size: 0.9375rem;
	font-weight: 600;
}

.post-upload__desc {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.post-upload-preview {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-3);
}

@media (min-width: 640px) {
	.post-upload-preview {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

.post-upload-preview__item {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: calc(var(--really-radius) - 0.125rem);
	border: 1px solid var(--border);
}

.post-upload-preview.is-reorderable .post-upload-preview__item[data-post-media-type="image"] {
	cursor: grab;
	touch-action: none;
	-webkit-user-select: none;
	user-select: none;
}

.post-upload-preview.is-reorderable .post-upload-preview__item[data-post-media-type="image"]:active {
	cursor: grabbing;
}

.post-upload-preview__sortable-ghost {
	opacity: 0.4;
}

.post-upload-preview__sortable-chosen {
	cursor: grabbing;
}

.post-upload-preview__sortable-drag {
	opacity: 1;
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.28);
}

.post-upload-preview__sortable-fallback {
	opacity: 0.96 !important;
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.28);
	border-radius: calc(var(--really-radius) - 0.125rem);
}

.post-upload-preview__item img,
.post-upload-preview__item video,
.post-upload-preview__video-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: #0f172a;
	pointer-events: none;
	-webkit-user-drag: none;
	user-drag: none;
}

.post-upload-preview__video-placeholder {
	display: block;
}

.post-upload-preview__fancybox {
	display: block;
	width: 100%;
	height: 100%;
	cursor: zoom-in;
}

.post-upload-preview.is-reorderable .post-upload-preview__item[data-post-media-type="image"] .post-upload-preview__fancybox {
	pointer-events: none;
	cursor: grab;
}

.post-upload-preview.is-reorderable .post-upload-preview__item[data-post-media-type="image"]:active .post-upload-preview__fancybox {
	cursor: grabbing;
}

.post-upload-preview__video-tag {
	position: absolute;
	left: 0.375rem;
	bottom: 0.375rem;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.125rem 0.5rem;
	border-radius: 9999px;
	background: rgba(15, 23, 42, 0.78);
	color: #fff;
	font-size: 0.625rem;
	font-weight: 700;
	text-transform: uppercase;
}

.post-upload-preview__remove {
	position: absolute;
	top: 0.375rem;
	right: 0.375rem;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border: none;
	border-radius: 9999px;
	background: rgba(15, 23, 42, 0.72);
	color: #fff;
	cursor: pointer;
}

.post-upload-preview__remove:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.post-upload-preview__status {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
	background: rgba(15, 23, 42, 0.62);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.35;
	pointer-events: none;
}

.post-upload-preview__item.is-uploading img,
.post-upload-preview__item.is-uploading video,
.post-upload-preview__item.is-uploading .post-upload-preview__video-placeholder {
	opacity: 0.72;
}

.post-upload-preview__item.is-upload-error .post-upload-preview__status {
	background: rgba(185, 28, 28, 0.82);
}

.post-upload-preview__item.is-uploaded::after {
	content: '';
	position: absolute;
	left: 0.375rem;
	top: 0.375rem;
	z-index: 3;
	width: 1rem;
	height: 1rem;
	border-radius: 9999px;
	background: rgba(22, 163, 74, 0.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.25 6.5 11.25 12.5 4.75' stroke='white' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.75rem no-repeat;
}

.post-upload-preview__meta {
	position: absolute;
	top: 0.375rem;
	left: 1.875rem;
	z-index: 3;
	display: none;
	align-items: center;
	max-width: calc(100% - 2.75rem);
	padding: 0.125rem 0.4375rem;
	border-radius: 9999px;
	background: rgba(15, 23, 42, 0.65);
	color: #fff;
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	pointer-events: none;
}

.post-upload-preview__item.is-uploaded .post-upload-preview__meta:not([hidden]) {
	display: inline-flex;
}

.post-upload-preview__cover {
	position: absolute;
	left: 0.375rem;
	bottom: 0.375rem;
	padding: 0.125rem 0.5rem;
	border-radius: 9999px;
	background: var(--primary);
	color: var(--primary-foreground);
	font-size: 0.625rem;
	font-weight: 700;
	text-transform: uppercase;
}

.post-upload-preview__add {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	aspect-ratio: 4 / 3;
	border: 1px dashed var(--border);
	border-radius: calc(var(--really-radius) - 0.125rem);
	background: var(--secondary);
	color: var(--muted-foreground);
	font-size: 0.8125rem;
	font-weight: 500;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.post-upload-preview__add:hover {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 30%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--secondary));
}

.post-final-grid {
	display: grid;
	gap: var(--space-5);
}

@media (min-width: 1024px) {
	.post-final-grid {
		grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
		align-items: start;
	}
}

.post-contact-options {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding: var(--space-4);
	border-radius: var(--really-radius);
	background: var(--secondary);
}

.post-step5-body {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
	padding: 0;
}

.post-step5-section__head {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	margin-bottom: var(--space-4);
}

.post-contact-profile {
	display: flex;
	align-items: flex-start;
	gap: var(--space-4);
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: color-mix(in oklab, var(--secondary) 55%, var(--card));
}

.post-contact-profile__avatar-inner {
	flex-shrink: 0;
}

.post-contact-profile__avatar-inner .kt-avatar-fallback {
	background: color-mix(in oklab, var(--primary) 18%, var(--card));
	color: var(--primary);
	font-weight: 700;
}

.post-contact-profile__content {
	min-width: 0;
	flex: 1;
}

.post-contact-profile__label {
	margin: 0 0 var(--space-3);
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--foreground);
}

.post-contact-profile__list {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.post-contact-profile__list li {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	min-width: 0;
	font-size: 0.9375rem;
	color: var(--foreground);
}

.post-contact-profile__list i {
	flex-shrink: 0;
	color: var(--muted-foreground);
	font-size: 1rem;
}

.post-schedule-section {
	padding-top: var(--space-5);
	border-top: 1px solid var(--border);
}

.post-schedule-fields {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	margin-top: var(--space-2);
}

.post-schedule-grid {
	gap: var(--space-4);
}

@media (min-width: 640px) {
	.post-schedule-grid {
		grid-template-columns: minmax(0, 1.2fr) minmax(10rem, 0.8fr);
	}
}

.post-schedule-summary {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--muted-foreground);
}

.post-schedule-summary strong {
	color: var(--foreground);
	font-weight: 700;
}

.post-contact-options .kt-label {
	width: 100%;
}

.post-summary .post-card__header {
	padding: 0 var(--space-5);
}

.post-summary__card {
	position: sticky;
	top: 5.5rem;
}

.post-summary__body {
	padding: 0;
}

.post-summary__preview {
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.post-summary__preview:hover {
	transform: none;
	box-shadow: none;
}

.post-summary__preview .property-card__stats {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0;
	min-width: 0;
}

.post-summary__preview .property-card__title,
.post-summary__preview .property-card__price,
.post-summary__preview .property-card__location,
.post-summary__preview .property-card__meta {
	order: unset;
}

.post-summary__preview .property-card__price {
	margin: 0;
}

.post-summary__preview .property-card__location {
	margin: var(--space-1) 0 0;
}

.post-summary__preview .property-card__excerpt {
	margin: var(--space-1) 0 0;
	display: none;
}

.post-summary__preview .property-card__badge {
	display: none;
}

.post-summary__preview .property-card__meta {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	margin: 0;
	gap: 0;
}

.post-summary__preview .property-card__meta:empty {
	display: none;
}

.post-summary__preview .property-card__meta::before {
	content: "·";
	margin: 0 0.35em;
	font-weight: 400;
	color: var(--muted-foreground);
}

.post-summary__preview .property-card__meta .meta-chip {
	padding: 0;
	border-radius: 0;
	background: transparent;
	font-size: 0.8125rem;
	font-weight: 400;
	color: var(--foreground);
}

.post-summary__preview .property-card__meta .meta-chip + .meta-chip::before {
	content: "·";
	margin: 0 0.35em;
	font-weight: 400;
	color: var(--muted-foreground);
}

.post-form-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	margin-top: var(--space-5);
	padding: var(--space-4) var(--space-5);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
	position: sticky;
	bottom: 0;
}

.post-form-actions__right {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	margin-left: auto;
}

.post-form-actions [hidden] {
	display: none !important;
}

@media (max-width: 639px) {
	.post-form-actions {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: var(--space-2);
		padding-left: 0;
        padding-right: 0;
        border: 0;
	}

	.post-form-actions__right {
		flex: 1;
		min-width: 0;
		margin-left: 0;
		width: auto;
		flex-wrap: nowrap;
	}

	.post-form-actions__right .kt-btn {
		flex: 0;
		justify-content: center;
	}

	.post-form-actions__right .kt-btn[data-kt-stepper-next] {
		flex: 1;
	}

	.post-form-actions > .kt-btn {
		width: auto;
		flex-shrink: 0;
		justify-content: center;
	}

	[data-kt-stepper-back].kt-btn,
	[data-kt-stepper-next].kt-btn {
		flex: 0 0 auto;
		min-width: 2.75rem;
		padding-inline: var(--space-3);
	}
}

.post-step-panel[hidden] {
	display: none !important;
}

.site-footer--compact {
	padding-block: var(--space-6);
}

.site-footer--compact .footer-bottom {
	margin-top: 0;
}

a.header-post-btn {
	text-decoration: none;
}

/* Member area */
.member-layout {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
	background: var(--background);
	--member-sidebar-width: 16.5rem;
}

.member-sidebar {
	display: none;
	flex-direction: column;
	width: var(--member-sidebar-width);
	flex-shrink: 0;
	border-right: 1px solid var(--border);
	background: var(--card);
}

@media (min-width: 1024px) {
	.member-sidebar {
		display: flex;
		position: fixed;
		top: 0;
		left: 0;
		z-index: calc(var(--z-header) - 1);
		height: 100vh;
		height: 100dvh;
		overflow-y: auto;
	}

	.member-layout > .member-main {
		margin-left: var(--member-sidebar-width);
		width: calc(100% - var(--member-sidebar-width));
	}
}

.member-sidebar__brand {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-4);
	border-bottom: 1px solid var(--border);
}

.member-sidebar__logo {
	height: 47px;
	width: auto;
}

.member-sidebar__user {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin: var(--space-4) var(--space-4) var(--space-2);
	padding: var(--space-3);
	border-radius: var(--really-radius);
	background: color-mix(in oklab, var(--primary) 6%, var(--secondary));
}

.member-sidebar__user--pro {
	background:
		linear-gradient(135deg, color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 14%, transparent) 0%, transparent 70%),
		color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 8%, var(--secondary));
	box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 28%, transparent);
}

.member-sidebar__user-info {
	min-width: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.125rem;
}

.member-sidebar__user-name {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.member-sidebar__user-plan {
	margin-top: 0.125rem;
}

.member-sidebar__user-plan--free {
	display: inline-flex;
	align-items: center;
	padding: 0.0625rem 0.4375rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--muted-foreground) 10%, transparent);
	color: var(--muted-foreground);
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.member-sidebar__user-role {
	font-size: 0.6875rem;
	color: var(--muted-foreground);
	line-height: 1.3;
}

.member-sidebar__nav {
	flex: 1;
	padding: var(--space-2) var(--space-3) var(--space-4);
}

.member-sidebar__label {
	padding: var(--space-3) var(--space-3) var(--space-2);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--muted-foreground);
}

.member-sidebar__link {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-2) var(--space-3);
	border-radius: calc(var(--really-radius) - 0.125rem);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--foreground);
	transition: color 0.2s ease, background 0.2s ease;
}

.member-sidebar__link i {
	font-size: 1.125rem;
	color: var(--muted-foreground);
	transition: color 0.2s ease;
}

.member-sidebar__link:hover {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, transparent);
}

.member-sidebar__link:hover i {
	color: var(--primary);
}

.member-sidebar__link.active {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 10%, transparent);
	font-weight: 600;
}

.member-sidebar__link.active i {
	color: var(--primary);
}

.member-sidebar__badge {
	margin-left: auto;
	min-width: 1.25rem;
	height: 1.25rem;
	padding-inline: 0.375rem;
	border-radius: 9999px;
	background: var(--primary);
	color: var(--primary-foreground);
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.25rem;
	text-align: center;
}

.member-sidebar__footer {
	padding: var(--space-4);
	border-top: 1px solid var(--border);
}

.member-sidebar__post-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	width: 100%;
	padding: var(--space-3);
	border-radius: var(--really-radius);
	border: 1px solid color-mix(in oklab, #fff 18%, var(--primary));
	font-size: 0.875rem;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(135deg, #1a56c4 0%, var(--primary) 52%, #4d9dff 100%);
	box-shadow: 0 4px 14px rgba(43, 127, 255, 0.28);
	transition: filter 0.2s ease, transform 0.2s ease;
}

.member-sidebar__post-btn:hover {
	filter: brightness(1.05);
	transform: translateY(-1px);
}

.member-main {
	flex: 1 0 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	--member-sticky-top: 4.5rem;
	padding-top: var(--member-sticky-top);
}

@media (min-width: 768px) {
	.member-main {
		--member-sticky-top: 5rem;
	}
}

.member-topbar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: var(--z-header);
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-3) var(--space-4);
	border-bottom: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
	background: color-mix(in oklab, var(--background) 92%, transparent);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

@media (min-width: 1024px) {
	.member-topbar {
		left: var(--member-sidebar-width);
	}
}

@media (min-width: 768px) {
	.member-topbar {
		padding: var(--space-4) var(--space-6);
	}
}

.member-topbar__menu-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: var(--background);
	color: var(--foreground);
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.member-topbar__menu-btn:hover {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
}

@media (min-width: 1024px) {
	.member-topbar__menu-btn {
		display: none;
	}
}

.member-topbar__title-wrap {
	flex: 1;
	min-width: 0;
}

.member-topbar__title {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.member-topbar__subtitle {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

@media (max-width: 639px) {
	.member-topbar__subtitle {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

.member-topbar__actions {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin-left: auto;
}

.member-topbar__icon-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: var(--background);
	color: var(--foreground);
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.member-topbar__icon-btn:hover {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
}

.member-topbar__icon-btn i {
	font-size: 1.125rem;
}

.member-topbar__notif-dot {
	position: absolute;
	top: 0.375rem;
	right: 0.375rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 9999px;
	background: var(--destructive);
	border: 2px solid var(--background);
}

.member-topbar__user {
	position: relative;
}

.member-topbar__user-toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: 0.25rem;
	padding-right: var(--space-2);
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--background);
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.member-topbar__user-toggle:hover,
.member-topbar__user.open .member-topbar__user-toggle {
	border-color: color-mix(in oklab, var(--primary) 28%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
}

.member-topbar__user-name {
	display: none;
	font-size: 0.8125rem;
	font-weight: 600;
}

@media (min-width: 640px) {
	.member-topbar__user-name {
		display: block;
	}
}

.member-topbar__user-menu {
	min-width: 12rem;
	padding: var(--space-2);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) - 0.125rem);
	background: var(--popover, var(--background));
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

.member-topbar__user-item {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2) var(--space-3);
	border-radius: calc(var(--really-radius) - 0.25rem);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--foreground);
	transition: color 0.2s ease, background 0.2s ease;
}

.member-topbar__user-item:hover {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, transparent);
}

.member-topbar__user-item--danger:hover {
	color: var(--destructive);
	background: color-mix(in oklab, var(--destructive) 8%, transparent);
}

.member-topbar__user-item i {
	font-size: 1rem;
	color: var(--muted-foreground);
}

.member-content {
	flex: 1;
	padding: var(--space-5) var(--space-4);
}

.member-welcome {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	margin-bottom: var(--space-6);
	padding: var(--space-5);
	border: 1px solid color-mix(in oklab, var(--primary) 20%, var(--border));
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 8%, var(--card)) 0%, var(--card) 100%);
}

@media (min-width: 640px) {
	.member-welcome {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.member-welcome__title {
	font-size: clamp(1.125rem, 2.5vw, 1.375rem);
	font-weight: 700;
	letter-spacing: -0.02em;
}

.member-welcome__desc {
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-dashboard-rcoin {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: stretch;
	gap: 0;
	overflow: hidden;
	border-radius: var(--really-radius);
	border: 1px solid var(--border);
	background: linear-gradient(118deg, color-mix(in oklab, var(--primary) 8%, var(--card)) 0%, var(--card) 50%, var(--card) 100%);
	color: inherit;
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.member-dashboard-rcoin::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 55%;
	width: 45%;
	background: radial-gradient(ellipse 80% 90% at 70% 50%, color-mix(in oklab, var(--primary) 14%, transparent) 0%, transparent 70%);
	pointer-events: none;
}

.member-dashboard-rcoin:hover {
	border-color: color-mix(in oklab, var(--primary) 24%, var(--border));
	box-shadow: 0 8px 24px rgba(43, 127, 255, 0.08);
	transform: translateY(-2px);
}

.member-dashboard-rcoin__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-3);
	padding: var(--space-5) var(--space-5) var(--space-5) var(--space-6);
}

.member-dashboard-rcoin__badge {
	display: none;
	align-items: center;
	gap: 0.375rem;
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	border: 1px solid color-mix(in oklab, var(--primary) 18%, var(--border));
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--primary);
}

.member-dashboard-rcoin__badge i {
	font-size: 0.75rem;
}

.member-dashboard-rcoin__balance {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	margin: 0;
	line-height: 1;
}

.member-dashboard-rcoin__amount {
	font-size: clamp(2rem, 5vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	color: var(--primary);
}

.member-dashboard-rcoin__unit {
	font-size: 1rem;
	font-weight: 600;
	color: var(--muted-foreground);
}

.member-dashboard-rcoin__desc {
	margin: 0;
	max-width: 20rem;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-dashboard-rcoin__perks {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.member-dashboard-rcoin__perks li {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.3125rem 0.625rem;
	border-radius: 9999px;
	background: var(--card);
	border: 1px solid var(--border);
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--foreground);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.member-dashboard-rcoin__perks li i {
	font-size: 0.8125rem;
	color: var(--primary);
}

.member-dashboard-rcoin__link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-top: var(--space-1);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--primary);
}

.member-dashboard-rcoin__link i {
	font-size: 0.875rem;
	transition: transform 0.2s ease;
}

.member-dashboard-rcoin:hover .member-dashboard-rcoin__link i {
	transform: translateX(3px);
}

.member-dashboard-rcoin__visual {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 7.5rem;
	padding: var(--space-4) var(--space-6) var(--space-4) var(--space-2);
}

.member-dashboard-rcoin__ring {
	position: absolute;
	width: 5.5rem;
	height: 5.5rem;
	border-radius: 50%;
	border: 1px dashed color-mix(in oklab, var(--primary) 35%, transparent);
	animation: member-dashboard-rcoin-spin 18s linear infinite;
}

.member-dashboard-rcoin__ring--2 {
	width: 7rem;
	height: 7rem;
	opacity: 0.5;
	animation-duration: 24s;
	animation-direction: reverse;
}

.member-dashboard-rcoin__coin {
	position: relative;
	z-index: 2;
	width: 5rem;
	height: 5rem;
}

.member-dashboard-rcoin__coin.member-referral-balance__icon {
	width: 5rem;
	height: 5rem;
}

@keyframes member-dashboard-rcoin-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 639px) {
	.member-dashboard-rcoin {
		grid-template-columns: 1fr;
	}

	.member-dashboard-rcoin__visual {
		order: -1;
		min-width: 0;
		padding: var(--space-5) var(--space-5) 0;
	}

	.member-dashboard-rcoin__body {
		padding: var(--space-4) var(--space-5) var(--space-5);
	}

	.member-dashboard-rcoin::before {
		inset: 0 0 50% 0;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.member-dashboard-rcoin__ring {
		animation: none;
	}
}

/* Member — Really PRO */
.member-sidebar__link--pro i {
	color: var(--pro-gold, oklch(0.72 0.14 75));
}

.member-sidebar__link--pro.active,
.member-sidebar__link--pro:hover {
	color: oklch(0.45 0.12 72);
}

.member-sidebar__link--pro.active i,
.member-sidebar__link--pro:hover i {
	color: oklch(0.55 0.14 72);
}

.member-pro-active {
	gap: var(--space-6);
	display: flex;
	flex-direction: column;
}

.member-pro-page[data-pro-status="guest"] .member-pro-active {
	display: none;
}

.member-pro-page[data-pro-status="active"] .member-pro-guest {
	display: none;
}

.member-pro-status {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-5);
	padding: var(--space-5) var(--space-6);
	border: 1px solid color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 28%, var(--border));
	border-radius: var(--really-radius);
	background: linear-gradient(135deg, color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 10%, var(--card)) 0%, var(--card) 55%);
}

.member-pro-status__title {
	margin-top: var(--space-3);
	font-size: clamp(1.25rem, 3vw, 1.5rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.member-pro-status__meta {
	margin-top: var(--space-2);
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.member-pro-status__meta strong {
	color: var(--foreground);
}

.member-pro-status__progress {
	margin-top: var(--space-4);
	max-width: 28rem;
}

.member-pro-status__progress-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-pro-status__progress-head strong {
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--primary);
}

.member-pro-status__bar {
	overflow: hidden;
	height: 0.5rem;
	border-radius: 9999px;
	background: var(--secondary);
}

.member-pro-status__bar-fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--primary) 0%, color-mix(in oklab, var(--primary) 70%, var(--pro-gold-light, oklch(0.88 0.1 85))) 100%);
}

.member-pro-status__dates {
	margin-top: var(--space-2);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-pro-status__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.member-pro-layout {
	display: grid;
	gap: var(--space-5);
}

@media (min-width: 1024px) {
	.member-pro-layout {
		grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.85fr);
		align-items: start;
	}
}

.member-pro-benefits__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.member-pro-benefits__item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: start;
	gap: var(--space-3);
	padding: var(--space-4) 0;
	border-bottom: 1px solid var(--border);
}

.member-pro-benefits__item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.member-pro-benefits__item:first-child {
	padding-top: 0;
}

.member-pro-benefits__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 0.625rem;
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	color: var(--primary);
	font-size: 1.125rem;
}

.member-pro-benefits__icon--gold {
	background: linear-gradient(135deg, color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 22%, var(--card)) 0%, color-mix(in oklab, var(--pro-gold-light, oklch(0.88 0.1 85)) 40%, var(--card)) 100%);
	color: oklch(0.48 0.12 72);
}

.member-pro-benefits__title {
	font-size: 0.9375rem;
	font-weight: 600;
}

.member-pro-benefits__desc {
	margin-top: 0.125rem;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-pro-usage {
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
}

.member-pro-usage__title {
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: var(--space-4);
}

.member-pro-quota {
	margin-bottom: var(--space-4);
}

.member-pro-quota__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--space-2);
	font-size: 0.8125rem;
}

.member-pro-quota__head strong {
	font-weight: 700;
	color: var(--primary);
}

.member-pro-quota__bar {
	overflow: hidden;
	height: 0.375rem;
	border-radius: 9999px;
	background: var(--secondary);
}

.member-pro-quota__bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--primary);
}

.member-pro-quota__bar--warning span {
	background: color-mix(in oklab, var(--primary) 55%, oklch(0.72 0.16 75));
}

.member-pro-usage__note {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	margin: 0 0 var(--space-4);
	font-size: 0.75rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-pro-usage__note i {
	flex-shrink: 0;
	margin-top: 0.125rem;
	color: var(--primary);
}

.member-pro-history__table-wrap {
	overflow-x: auto;
}

.member-pro-history__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
}

.member-pro-history__table th,
.member-pro-history__table td {
	padding: var(--space-3) var(--space-4);
	text-align: left;
	border-bottom: 1px solid var(--border);
	white-space: nowrap;
}

.member-pro-history__table th {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--muted-foreground);
	background: var(--secondary);
}

.member-pro-history__table tbody tr:hover {
	background: color-mix(in oklab, var(--primary) 4%, transparent);
}

.member-pro-history__code {
	font-family: ui-monospace, monospace;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-pro-history__perk {
	display: block;
	font-weight: 600;
	font-size: 0.8125rem;
	color: var(--foreground);
}

.member-pro-history__perk-sub {
	display: block;
	margin-top: 0.125rem;
	font-size: 0.75rem;
	color: var(--destructive, #dc2626);
}

.member-pro-history__card-perks {
	display: grid;
	gap: 0.25rem;
	margin: 0.5rem 0 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-pro-history__card-perks strong {
	color: var(--foreground);
}

.member-pro-history__mobile {
	display: none;
	flex-direction: column;
	gap: var(--space-3);
	padding: var(--space-4);
}

.member-pro-history__card {
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--secondary);
}

.member-pro-history__card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-2);
	margin-bottom: var(--space-2);
}

.member-pro-history__card-title {
	font-weight: 600;
}

.member-pro-history__card-meta {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-pro-history__card-date {
	display: block;
	margin-top: var(--space-2);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

@media (max-width: 767px) {
	.member-pro-history__table-wrap {
		display: none;
	}

	.member-pro-history__mobile {
		display: flex;
	}
}

.member-pro-cta {
	display: grid;
	gap: var(--space-5);
	margin-bottom: var(--space-5);
	padding: var(--space-6);
	border-radius: calc(var(--really-radius) + 0.25rem);
	border: 1px solid color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 35%, var(--border));
	background: linear-gradient(145deg, color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 12%, var(--card)) 0%, var(--card) 50%, color-mix(in oklab, var(--primary) 6%, var(--card)) 100%);
}

@media (min-width: 768px) {
	.member-pro-cta {
		grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.75fr);
		align-items: center;
	}
}

.member-pro-cta__title {
	margin-top: var(--space-3);
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.03em;
}

.member-pro-cta__desc {
	margin-top: var(--space-2);
	max-width: 32rem;
	font-size: 0.9375rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-pro-cta__highlights {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin: var(--space-4) 0 0;
	padding: 0;
	list-style: none;
}

.member-pro-cta__highlights li {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-pro-cta__highlights strong {
	display: block;
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--primary);
}

.member-pro-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-5);
}

.member-pro-cta__price {
	margin-top: var(--space-3);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-pro-cta__compare {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.member-pro-cta__compare-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding: var(--space-3) var(--space-4);
	border-radius: var(--really-radius);
	background: var(--secondary);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-pro-cta__compare-row--pro {
	background: linear-gradient(135deg, color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 18%, var(--card)) 0%, color-mix(in oklab, var(--pro-gold-light, oklch(0.88 0.1 85)) 30%, var(--card)) 100%);
	border: 1px solid color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 30%, var(--border));
	font-weight: 600;
	color: var(--foreground);
}

.member-pro-guest__stats {
	margin-bottom: var(--space-5);
}

.member-pro-guest__usage {
	margin-bottom: var(--space-5);
}

.member-pro-guest__quota-alert {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	margin: 0 0 var(--space-4);
	padding: var(--space-3) var(--space-4);
	border-radius: var(--really-radius);
	border: 1px solid color-mix(in oklab, var(--primary) 25%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--card));
	font-size: 0.8125rem;
	color: var(--foreground);
	line-height: 1.5;
}

.member-pro-guest__quota-alert i {
	flex-shrink: 0;
	margin-top: 0.125rem;
	color: var(--primary);
}

.member-pro-guest__usage-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}

.member-pro-quota__bar--disabled {
	opacity: 0.45;
}

.member-pro-guest-benefits {
	display: grid;
	gap: var(--space-4);
}

@media (min-width: 640px) {
	.member-pro-guest-benefits {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.member-pro-guest-benefits__item {
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--secondary);
}

.member-pro-guest-benefits__item i {
	font-size: 1.5rem;
	color: var(--primary);
}

.member-pro-guest-benefits__item h3 {
	margin-top: var(--space-3);
	font-size: 0.9375rem;
	font-weight: 700;
}

.member-pro-guest-benefits__item p {
	margin-top: 0.25rem;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-pro-checkout__breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: var(--space-4);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-pro-checkout__breadcrumb a {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	color: var(--muted-foreground);
	text-decoration: none;
}

.member-pro-checkout__breadcrumb a:hover {
	color: var(--primary);
}

.member-pro-checkout__sandbox {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: var(--space-4);
	padding: var(--space-3) var(--space-4);
	border-radius: var(--really-radius);
	border: 1px solid color-mix(in oklab, var(--primary) 25%, var(--border));
	background: color-mix(in oklab, var(--primary) 8%, var(--card));
	font-size: 0.8125rem;
	color: var(--foreground);
}

.member-pro-checkout__plans {
	display: grid;
	gap: var(--space-3);
	margin-bottom: var(--space-5);
}

@media (min-width: 640px) {
	.member-pro-checkout__plans {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.member-pro-checkout__plan-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	padding: var(--space-4) var(--space-5);
	border: 1.5px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
	text-decoration: none;
	color: var(--foreground);
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.member-pro-checkout__plan-card:hover {
	border-color: color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 45%, var(--border));
}

.member-pro-checkout__plan-card--active {
	border-color: var(--pro-gold, oklch(0.72 0.14 75));
	background: linear-gradient(135deg, color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 10%, var(--card)) 0%, color-mix(in oklab, var(--pro-gold-light, oklch(0.88 0.1 85)) 16%, var(--card)) 100%);
	box-shadow: 0 6px 20px color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 18%, transparent);
}

.member-pro-checkout__plan-card-check {
	position: absolute;
	top: var(--space-4);
	right: var(--space-4);
	font-size: 1.25rem;
	color: var(--pro-gold, oklch(0.72 0.14 75));
	opacity: 0;
	transition: opacity 0.15s ease;
}

.member-pro-checkout__plan-card--active .member-pro-checkout__plan-card-check {
	opacity: 1;
}

.member-pro-checkout__plan-card-name {
	font-size: 0.9375rem;
	font-weight: 700;
}

.member-pro-checkout__plan-card-price {
	display: flex;
	align-items: baseline;
	gap: 0.375rem;
}

.member-pro-checkout__plan-card-price strong {
	font-size: 1.375rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.member-pro-checkout__plan-card-period {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-pro-checkout__plan-card-badge {
	align-self: flex-start;
	margin-top: 0.25rem;
	padding: 0.125rem 0.5rem;
	border-radius: 999px;
	background: color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 18%, var(--card));
	color: color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 70%, var(--foreground));
	font-size: 0.6875rem;
	font-weight: 700;
}

.member-pro-checkout__layout {
	display: grid;
	gap: var(--space-5);
}

@media (min-width: 900px) {
	.member-pro-checkout__layout {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
		align-items: start;
	}
}

.member-pro-checkout__order-code {
	font-family: var(--font-mono, ui-monospace, monospace);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-pro-checkout__plan-desc {
	margin-top: var(--space-2);
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-pro-checkout__lines {
	display: grid;
	gap: var(--space-3);
	margin-top: var(--space-5);
}

.member-pro-checkout__line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	font-size: 0.875rem;
}

.member-pro-checkout__line dt {
	color: var(--muted-foreground);
}

.member-pro-checkout__line--discount dd {
	color: var(--destructive, #dc2626);
}

.member-pro-checkout__line--total {
	padding-top: var(--space-3);
	border-top: 1px solid var(--border);
	font-size: 1rem;
	font-weight: 700;
}

.member-pro-checkout__field-label {
	display: block;
	margin-bottom: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--foreground);
}

.member-pro-checkout__rcoin-form {
	margin-top: var(--space-5);
	padding-top: var(--space-5);
	border-top: 1px solid var(--border);
}

.member-pro-checkout__rcoin-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin-bottom: 0.5rem;
}

.member-pro-checkout__rcoin-head .member-pro-checkout__field-label {
	margin-bottom: 0;
}

.member-pro-checkout__rcoin-balance {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-pro-checkout__rcoin-balance strong {
	color: var(--foreground);
}

.member-pro-checkout__rcoin-rate {
	white-space: nowrap;
}

.member-pro-checkout__coupon-field {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.member-pro-checkout__coupon-field .kt-input {
	flex: 1;
	min-width: 10rem;
}

.member-pro-checkout__coupon-field .kt-btn.hidden {
	display: none;
}

.member-pro-checkout__coupon-sample {
	padding: 0;
	border: 0;
	background: none;
	color: var(--primary);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
}

.member-pro-checkout__pay {
	margin-top: var(--space-6);
	display: grid;
	gap: var(--space-3);
}

.member-pro-gateway {
	min-height: 70vh;
	display: grid;
	place-items: center;
	padding: var(--space-6) var(--space-4);
}

.member-pro-gateway__card {
	width: min(28rem, 100%);
	padding: var(--space-6);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) * 1.5);
	background: var(--card);
	box-shadow: var(--shadow-md, 0 10px 30px rgba(0, 0, 0, 0.08));
}

.member-pro-gateway__sandbox-badge {
	display: inline-flex;
	padding: 0.125rem 0.5rem;
	border-radius: 999px;
	background: color-mix(in oklab, var(--primary) 15%, var(--card));
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.member-pro-gateway__title {
	margin-top: var(--space-3);
	font-size: 1.5rem;
	font-weight: 800;
}

.member-pro-gateway__subtitle {
	margin-top: 0.25rem;
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.member-pro-gateway__details {
	display: grid;
	gap: var(--space-3);
	margin-top: var(--space-5);
	padding: var(--space-4);
	border-radius: var(--really-radius);
	background: var(--secondary);
}

.member-pro-gateway__details div {
	display: flex;
	justify-content: space-between;
	gap: var(--space-3);
	font-size: 0.875rem;
}

.member-pro-gateway__details dt {
	color: var(--muted-foreground);
}

.member-pro-gateway__amount {
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--primary);
}

.member-pro-gateway__note {
	margin-top: var(--space-4);
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-pro-gateway__actions {
	display: grid;
	gap: var(--space-3);
	margin-top: var(--space-5);
}

.member-pro-payment-result {
	max-width: 36rem;
	margin: 0 auto;
	padding: var(--space-8) var(--space-5);
	text-align: center;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) * 1.5);
	background: var(--card);
}

.member-pro-payment-result__icon {
	font-size: 3rem;
	line-height: 1;
}

.member-pro-payment-result--success .member-pro-payment-result__icon {
	color: var(--color-green-600, #16a34a);
}

.member-pro-payment-result--failed .member-pro-payment-result__icon {
	color: var(--destructive, #dc2626);
}

.member-pro-payment-result--cancelled .member-pro-payment-result__icon {
	color: var(--muted-foreground);
}

.member-pro-payment-result__title {
	margin-top: var(--space-4);
	font-size: 1.5rem;
	font-weight: 800;
}

.member-pro-payment-result__desc,
.member-pro-payment-result__meta {
	margin-top: var(--space-3);
	font-size: 0.9375rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-pro-payment-result__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-3);
	margin-top: var(--space-6);
}

.member-pro-congrats {
	width: min(28.75rem, calc(100vw - 2rem));
	max-height: min(90vh, 100dvh);
	margin-inline: auto;
	overflow: hidden;
}

.member-pro-congrats__icon {
	display: grid;
	place-items: center;
	width: 5rem;
	height: 5rem;
	margin-bottom: var(--space-5);
	border-radius: 999px;
	background: linear-gradient(135deg, color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 30%, var(--card)) 0%, color-mix(in oklab, var(--pro-gold-light, oklch(0.88 0.1 85)) 45%, var(--card)) 100%);
	color: var(--pro-gold, oklch(0.72 0.14 75));
	font-size: 2.25rem;
	box-shadow: 0 10px 30px color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 25%, transparent);
}

.member-pro-congrats__title {
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.member-pro-congrats__desc {
	margin-top: var(--space-3);
	font-size: 0.9375rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-pro-congrats__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-2);
	margin-top: var(--space-6);
	width: min(20rem, 100%);
}

.member-pro-confirm {
	width: min(26.25rem, calc(100vw - 2rem));
	max-height: min(90vh, 100dvh);
	margin-inline: auto;
	overflow: hidden;
}

.member-pro-confirm .kt-modal-header {
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
}

.member-pro-confirm__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.25rem 0.625rem;
	border-radius: 999px;
	background: linear-gradient(135deg, color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 18%, var(--card)) 0%, color-mix(in oklab, var(--pro-gold-light, oklch(0.88 0.1 85)) 28%, var(--card)) 100%);
	color: color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 75%, var(--foreground));
	font-size: 0.75rem;
	font-weight: 700;
}

.member-pro-confirm__title {
	font-size: 1.125rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.member-pro-confirm__desc {
	margin-top: var(--space-2);
	font-size: 0.9375rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-pro-confirm__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	margin-top: var(--space-4);
	padding: var(--space-3) var(--space-4);
	border-radius: var(--really-radius);
	background: var(--secondary);
	font-size: 0.8125rem;
}

.member-pro-confirm__meta span {
	color: var(--muted-foreground);
}

.member-pro-confirm__meta strong {
	font-family: var(--font-mono, ui-monospace, monospace);
	font-weight: 700;
}

.member-pro-confirm .kt-modal-footer {
	display: flex;
	gap: var(--space-3);
}

.member-stat-card--link {
	color: inherit;
	text-decoration: none;
}

.member-stat-card__icon--img {
	padding: 0.25rem;
	background: transparent !important;
}

.member-stat-card__icon--img img {
	display: block;
	width: 1.75rem;
	height: 1.75rem;
	object-fit: contain;
}

.member-activity-item__icon--rcoin {
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	color: var(--primary);
}

.member-stat-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-4);
}

@media (min-width: 768px) {
	.member-stat-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.member-layout.member-pro .member-stat-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.member-stat-card {
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.member-stat-card:hover {
	border-color: color-mix(in oklab, var(--primary) 24%, var(--border));
	box-shadow: 0 8px 24px rgba(43, 127, 255, 0.06);
}

.member-stat-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--space-3);
}

.member-stat-card__content {
	display: flex;
	align-items: center;
	gap: var(--space-3);
}

.member-stat-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 0.625rem;
	background: color-mix(in oklab, var(--primary) 12%, transparent);
	color: var(--primary);
	font-size: 1.125rem;
}

.member-stat-card__delta {
	font-size: 0.6875rem;
	font-weight: 600;
	color: #16a34a;
}

.member-stat-card__delta--down {
	color: var(--destructive);
}

.member-stat-card__value {
	font-size: clamp(1.375rem, 3vw, 1.625rem);
	font-weight: 700;
	letter-spacing: -0.02em;
}

.member-stat-card__label {
	margin-top: var(--space-1);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-grid-2 {
	display: grid;
	gap: var(--space-5);
}

@media (min-width: 1024px) {
	.member-grid-2 {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	}

	.member-grid-2 > .member-profile-network {
		min-width: 0;
	}
}

.member-panel {
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	overflow: hidden;
}

.member-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding: var(--space-4) var(--space-5);
	border-bottom: 1px solid var(--border);
}

.member-panel__title {
	font-size: 0.9375rem;
	font-weight: 700;
}

.member-panel__body {
	padding: var(--space-4) var(--space-5);
}

.member-panel__body--flush {
	padding: 0;
}

.member-listing-row {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	padding: var(--space-4) var(--space-5);
	border-bottom: 1px solid var(--border);
	transition: background 0.2s ease;
}

.member-listing-row:last-child {
	border-bottom: none;
}

.member-listing-row:hover {
	background: color-mix(in oklab, var(--primary) 4%, transparent);
}

.member-listing-row__thumb {
	width: 4.5rem;
	height: 4.25rem;
	flex-shrink: 0;
	border-radius: calc(var(--really-radius) - 0.25rem);
	overflow: hidden;
	border: 1px solid var(--border);
}

.member-listing-row__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.member-listing-row__info {
	flex: 1;
	min-width: 0;
}

.member-listing-row__title {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.member-listing-row__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-1);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-listing-row__stats {
	display: none;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.125rem;
	flex-shrink: 0;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

@media (min-width: 768px) {
	.member-listing-row__stats {
		display: flex;
	}
}

.member-listing-row__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-1);
	flex-shrink: 0;
	justify-content: flex-end;
}

.member-listing-row__dropdown {
	position: relative;
	flex-shrink: 0;
}

.member-listing-table .kt-dropdown-menu {
	min-width: 11.5rem;
}

.member-listing-table {
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	overflow: hidden;
}

.member-listing-table__head {
	display: none;
	grid-template-columns: minmax(0, 1fr) 6.5rem 4.5rem 4.5rem 7.5rem 7rem 9rem 5.5rem;
	gap: var(--space-3);
	align-items: center;
	padding: var(--space-3) var(--space-5);
	border-bottom: 1px solid var(--border);
	background: var(--secondary);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--muted-foreground);
}

@media (min-width: 1024px) {
	.member-listing-table__head {
		display: grid;
	}
}

.member-listing-table__body .member-listing-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--space-3);
	align-items: center;
}

@media (min-width: 768px) {
	.member-listing-table__body .member-listing-row {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

@media (min-width: 1024px) {
	.member-listing-table__body .member-listing-row {
		grid-template-columns: minmax(0, 1fr) 6.5rem 4.5rem 4.5rem 7.5rem 7rem 9rem 5.5rem;
		gap: var(--space-3);
	}

	.member-listing-table__body .member-listing-row__actions {
		justify-self: end;
	}
}

.member-listing-row__main {
	display: flex;
	align-items: start;
	gap: var(--space-4);
	min-width: 0;
}

.member-listing-row__price {
	display: none;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--primary);
	white-space: nowrap;
}

@media (min-width: 1024px) {
	.member-listing-row__price {
		display: block;
	}
}

.member-listing-row__stat {
	display: none;
	align-items: center;
	gap: var(--space-1);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	white-space: nowrap;
}

@media (min-width: 1024px) {
	.member-listing-row__stat {
		display: flex;
	}
}

.member-listing-row__reviews {
	display: none;
	flex-direction: column;
	gap: 0.125rem;
	min-width: 0;
}

@media (min-width: 1024px) {
	.member-listing-row__reviews {
		display: flex;
	}
}

.member-listing-row__reviews-score {
	font-size: 0.9375rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--foreground);
}

.member-listing-row__reviews--good .member-listing-row__reviews-score {
	color: #28a745;
}

.member-listing-row__reviews--warn .member-listing-row__reviews-score {
	color: var(--destructive);
}

.member-listing-row__reviews-detail {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.6875rem;
	color: var(--muted-foreground);
	line-height: 1.3;
}

.member-listing-row__reviews-detail i {
	font-size: 0.75rem;
	color: var(--primary);
}

.member-listing-row__reviews-pct {
	padding: 0.0625rem 0.375rem;
	border-radius: 9999px;
	background: var(--secondary);
	font-weight: 600;
}

.member-listing-row__reviews--good .member-listing-row__reviews-pct {
	background: color-mix(in oklab, #28a745 12%, var(--secondary));
	color: #28a745;
}

.member-listing-row__reviews--warn .member-listing-row__reviews-pct {
	background: color-mix(in oklab, var(--destructive) 10%, var(--secondary));
	color: var(--destructive);
}

.member-listing-row__reviews--empty {
	display: none;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

@media (min-width: 1024px) {
	.member-listing-row__reviews--empty {
		display: block;
	}
}

.member-listing-row__expiry {
	display: none;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	white-space: nowrap;
}

.member-listing-row__expiry--warn {
	color: var(--destructive);
	font-weight: 500;
}

@media (min-width: 1024px) {
	.member-listing-row__expiry {
		display: block;
	}
}

.member-listing-row__status-col {
	display: none;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-2);
	min-width: 0;
}

@media (min-width: 1024px) {
	.member-listing-row__status-col {
		display: flex;
	}
}

.member-listing-row__status-actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	width: 100%;
}

.member-listing-row__status-actions .kt-btn {
	width: 100%;
	justify-content: center;
	padding-inline: 0.5rem;
	white-space: nowrap;
}

.member-listing-row__mobile-status-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-2);
}

@media (min-width: 1024px) {
	.member-listing-row__mobile-status-actions {
		display: none;
	}
}

.member-listing-row__mobile-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-2);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

@media (min-width: 1024px) {
	.member-listing-row__mobile-meta {
		display: none;
	}
}

.member-listing-row__mobile-meta .member-listing-row__price-inline {
	font-weight: 700;
	color: var(--primary);
}

.member-listing-row--compact {
	align-items: flex-start;
	gap: var(--space-3);
	padding: var(--space-3) var(--space-4);
}

.member-listing-row--compact .member-listing-row__main {
	flex: 1;
	min-width: 0;
}

.member-listing-row--compact .member-listing-row__thumb {
	width: 3.75rem;
	height: 4.25rem;
}

.member-listing-row--compact .member-listing-row__title {
	white-space: normal;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.member-listing-row--compact .member-listing-row__meta {
	margin-top: 0.125rem;
}

.member-listing-row--compact .member-listing-row__meta span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.member-listing-row--compact .member-listing-row__mobile-meta {
	display: flex;
	margin-top: var(--space-2);
}

.member-listing-row--compact .member-listing-row__expiry-inline {
	white-space: nowrap;
}

.member-listing-row--compact .member-listing-row__expiry-inline.member-listing-row__expiry--warn {
	color: var(--destructive);
	font-weight: 500;
}

.member-listing-row--compact .member-listing-row__compact-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	margin-top: 0.125rem;
	border-radius: 9999px;
	color: var(--muted-foreground);
	transition: color 0.2s ease, background 0.2s ease;
}

.member-listing-row--compact .member-listing-row__compact-link:hover {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, transparent);
}

.member-listing-row--compact:hover .member-listing-row__compact-link {
	color: var(--primary);
}

.member-activity-item {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	padding: var(--space-3) 0;
	border-bottom: 1px solid var(--border);
}

.member-activity-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.member-activity-item__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	flex-shrink: 0;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 10%, transparent);
	color: var(--primary);
	font-size: 0.9375rem;
}

.member-activity-item__icon--success {
	background: color-mix(in oklab, #16a34a 12%, transparent);
	color: #16a34a;
}

.member-activity-item__icon--warning {
	background: color-mix(in oklab, #d97706 12%, transparent);
	color: #d97706;
}

.member-activity-item__content {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
	flex: 1;
}

.member-activity-item__text {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.45;
}

.member-activity-item__time {
	font-size: 0.6875rem;
	line-height: 1.35;
	color: var(--muted-foreground);
}

.member-page-head {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

@media (min-width: 640px) {
	.member-page-head {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}
}

.member-page-head__title {
	font-size: clamp(1.25rem, 2.5vw, 1.5rem);
	font-weight: 700;
	letter-spacing: -0.02em;
}

.member-page-head__desc {
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.member-filter-bar {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

@media (min-width: 640px) {
	.member-filter-bar {
		flex-direction: row;
		align-items: center;
	}
}

.member-filter-bar__search {
	position: relative;
	flex: 1;
	min-width: 0;
}

.member-filter-bar__search i {
	position: absolute;
	left: 0.875rem;
	top: 50%;
	z-index: 1;
	transform: translateY(-50%);
	color: var(--muted-foreground);
	font-size: 1rem;
	pointer-events: none;
}

.member-filter-bar__search .kt-input {
	padding-left: 2.5rem;
}

.member-filter-bar__sort {
	width: 100%;
	flex-shrink: 0;
}

@media (min-width: 640px) {
	.member-filter-bar__sort {
		width: 11rem;
	}
}

.member-listing-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.member-listing-card:hover {
	border-color: color-mix(in oklab, var(--primary) 24%, var(--border));
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

.member-listing-card__media {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.member-listing-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.member-listing-card__status {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
}

.member-listing-card__body {
	padding: var(--space-4);
	flex: 1;
}

.member-listing-card__price {
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--primary);
}

.member-listing-card__title {
	margin-top: var(--space-2);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
}

.member-listing-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-3);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-listing-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-2);
	padding: var(--space-3) var(--space-4);
	border-top: 1px solid var(--border);
	background: var(--secondary);
}

.member-listing-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-4);
}

@media (min-width: 640px) {
	.member-listing-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1280px) {
	.member-listing-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.member-listing-row__title a {
	color: inherit;
	text-decoration: none;
}

.member-listing-row__title a:hover {
	color: var(--primary);
}

.member-listing-row__detail-btn span {
	display: none;
}

@media (min-width: 1280px) {
	.member-listing-row__detail-btn span {
		display: inline;
	}
}

.member-listing-detail__breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	font-size: 0.8125rem;
}

.member-listing-detail__breadcrumb a {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	color: var(--muted-foreground);
	text-decoration: none;
}

.member-listing-detail__breadcrumb a:hover {
	color: var(--primary);
}

.member-listing-detail__breadcrumb-sep {
	color: var(--muted-foreground);
	opacity: 0.5;
}

.member-listing-detail__hero {
	display: grid;
	gap: var(--space-5);
	margin-bottom: var(--space-6);
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

@media (min-width: 768px) {
	.member-listing-detail__hero {
		grid-template-columns: 16rem minmax(0, 1fr);
		padding: var(--space-5);
	}
}

@media (min-width: 1024px) {
	.member-listing-detail__hero {
		grid-template-columns: 18rem minmax(0, 1fr);
	}
}

.member-listing-detail__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: var(--really-radius);
	border: 1px solid var(--border);
}

.member-listing-detail__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.member-listing-detail__badge {
	position: absolute;
	left: 0.625rem;
	top: 0.625rem;
}

.member-listing-detail__status-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
}

.member-listing-detail__code {
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-listing-detail__title {
	margin-top: var(--space-3);
	font-size: clamp(1.125rem, 2.5vw, 1.375rem);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.02em;
}

.member-listing-detail__location {
	display: flex;
	align-items: flex-start;
	gap: var(--space-1);
	margin-top: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-listing-detail__price {
	margin-top: var(--space-3);
	font-size: 1.375rem;
	font-weight: 800;
	color: var(--primary);
}

.member-listing-detail__price span {
	margin-left: var(--space-2);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--muted-foreground);
}

.member-listing-detail__hero .property-card__meta {
	margin-top: var(--space-3);
}

.member-listing-detail__meta-line {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-4);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-listing-detail__meta-line span {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
}

.member-listing-detail__description {
	margin-top: var(--space-4);
}

.member-listing-detail__description-title {
	margin: 0 0 var(--space-2);
	font-size: 0.875rem;
	font-weight: 600;
}

.member-listing-detail__description-text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--foreground);
}

.member-listing-detail__description-text.is-clamped {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.member-listing-detail__description-toggle {
	display: inline-flex;
	align-items: center;
	margin-top: var(--space-2);
	padding: 0;
	border: 0;
	background: none;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--primary);
	cursor: pointer;
}

.member-listing-detail__description-toggle:hover {
	text-decoration: underline;
}

.member-listing-detail__description-toggle[hidden] {
	display: none;
}

.member-listing-detail__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-5);
}

.member-listing-detail__grid {
	margin-bottom: var(--space-6);
}

.member-listing-detail__perf-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.member-listing-detail__perf-list li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--space-2) var(--space-3);
	align-items: center;
}

.member-listing-detail__perf-label {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-listing-detail__perf-value {
	font-size: 0.875rem;
	font-weight: 700;
}

.member-listing-detail__perf-bar {
	grid-column: 1 / -1;
	height: 0.375rem;
	border-radius: 9999px;
	background: var(--secondary);
	overflow: hidden;
}

.member-listing-detail__perf-bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--primary), color-mix(in oklab, var(--primary) 70%, #4d9dff));
}

.member-listing-detail__perf-note {
	margin-top: var(--space-5);
	padding-top: var(--space-4);
	border-top: 1px solid var(--border);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-listing-detail__info-list {
	display: grid;
	gap: var(--space-3);
	margin: 0;
}

.member-listing-detail__info-list div {
	display: grid;
	grid-template-columns: 8.5rem minmax(0, 1fr);
	gap: var(--space-3);
	padding-bottom: var(--space-3);
	border-bottom: 1px solid var(--border);
}

.member-listing-detail__info-list div:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.member-listing-detail__info-list dt {
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--muted-foreground);
}

.member-listing-detail__info-list dd {
	margin: 0;
	font-size: 0.875rem;
}

.member-listing-detail__reviews {
	margin-bottom: var(--space-2);
}

.member-listing-detail__leads {
	margin-bottom: var(--space-6);
}

.member-listing-detail__leads-head {
	align-items: flex-start;
}

.member-listing-detail__leads-desc {
	margin-top: 0.25rem;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-listing-detail__leads-toolbar {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding: var(--space-3) var(--space-5);
	border-bottom: 1px solid var(--border);
	background: var(--secondary);
}

@media (min-width: 768px) {
	.member-listing-detail__leads-toolbar {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.member-tabs--compact .kt-tabs-list {
	padding: 0;
	border: 0;
	background: transparent;
}

.member-tabs--compact .kt-tab {
	padding: 0.375rem 0.75rem;
	font-size: 0.8125rem;
}

.member-listing-detail__leads-filter {
	display: flex;
	align-items: center;
	gap: var(--space-2);
}

.member-listing-detail__leads-filter .kt-select {
	min-width: 9.5rem;
}

.member-listing-detail__leads-empty {
	padding: var(--space-5);
}

.member-listing-detail__leads .member-lead-list {
	border: 0;
	border-radius: 0;
}

.member-listing-detail__review-summary {
	display: grid;
	gap: var(--space-5);
	margin-bottom: var(--space-6);
	padding-bottom: var(--space-6);
	border-bottom: 1px solid var(--border);
}

@media (min-width: 768px) {
	.member-listing-detail__review-summary {
		grid-template-columns: 11rem minmax(0, 1fr);
		align-items: start;
	}
}

.member-listing-detail__review-score {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
}

.member-listing-detail__review-number {
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	color: #28a745;
}

.member-listing-detail__review-label {
	font-size: 0.8125rem;
	font-weight: 600;
}

.member-listing-detail__review-count {
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-listing-detail__review-bars {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.member-listing-detail__review-bar {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr) 2.5rem;
	gap: var(--space-2);
	align-items: center;
}

.member-listing-detail__review-bar-label {
	font-size: 0.75rem;
	white-space: nowrap;
}

.member-listing-detail__review-bar-track {
	height: 0.5rem;
	border-radius: 9999px;
	background: var(--secondary);
	overflow: hidden;
}

.member-listing-detail__review-bar-fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: color-mix(in oklab, var(--muted-foreground) 35%, var(--secondary));
}

.member-listing-detail__review-bar-fill--good {
	background: linear-gradient(90deg, #28a745, color-mix(in oklab, #28a745 70%, #5dd879));
}

.member-listing-detail__review-bar-fill--warn {
	background: linear-gradient(90deg, var(--destructive), color-mix(in oklab, var(--destructive) 70%, #f87171));
}

.member-listing-detail__review-bar-pct {
	font-size: 0.6875rem;
	color: var(--muted-foreground);
	text-align: right;
}

.member-listing-detail__tag-stats {
	margin-bottom: var(--space-5);
}

.member-listing-detail__tag-stats-title {
	margin-bottom: var(--space-3);
	font-size: 0.875rem;
	font-weight: 600;
}

.member-listing-detail__tag-stats-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.member-listing-detail__review-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	margin-bottom: var(--space-5);
}

.member-listing-detail__review-item {
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: color-mix(in oklab, var(--secondary) 35%, var(--card));
}

.member-listing-detail__review-item-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-3);
}

.member-listing-detail__review-author {
	font-size: 0.875rem;
	font-weight: 600;
}

.member-listing-detail__review-item-head time {
	display: block;
	margin-top: 0.125rem;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-listing-detail__review-emoji {
	flex-shrink: 0;
	font-size: 0.8125rem;
	white-space: nowrap;
}

.member-listing-detail__review-emoji strong {
	font-weight: 600;
	color: #28a745;
}

.member-listing-detail__review-emoji--warn strong {
	color: var(--destructive);
}

.member-listing-detail__review-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-3);
}

.member-listing-detail__review-text {
	margin-top: var(--space-3);
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-notif-item {
	display: flex;
	gap: var(--space-4);
	padding: var(--space-4) var(--space-5);
	border-bottom: 1px solid var(--border);
	transition: background 0.2s ease;
}

.member-notif-item:last-child {
	border-bottom: none;
}

.member-notif-item:hover {
	background: color-mix(in oklab, var(--primary) 4%, transparent);
}

.member-notif-item.unread {
	background: color-mix(in oklab, var(--primary) 5%, var(--card));
}

.member-notif-item__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 10%, transparent);
	color: var(--primary);
	font-size: 1.0625rem;
}

.member-notif-item__icon--success {
	background: color-mix(in oklab, #16a34a 12%, transparent);
	color: #16a34a;
}

.member-notif-item__icon--warning {
	background: color-mix(in oklab, #d97706 12%, transparent);
	color: #d97706;
}

.member-notif-item__content {
	flex: 1;
	min-width: 0;
}

.member-notif-item__title {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
}

.member-notif-item__desc {
	margin-top: var(--space-1);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-notif-item__time {
	margin-top: var(--space-2);
	font-size: 0.6875rem;
	color: var(--muted-foreground);
}

.member-notif-item__dot {
	width: 0.5rem;
	height: 0.5rem;
	flex-shrink: 0;
	margin-top: 0.375rem;
	border-radius: 9999px;
	background: var(--primary);
}

.member-profile-grid {
	display: grid;
	gap: var(--space-5);
}

@media (min-width: 1024px) {
	.member-profile-grid {
		--member-profile-aside-width: 18rem;
		grid-template-columns: var(--member-profile-aside-width) minmax(0, 1fr);
		align-items: start;
	}

	/* Reserve column width while the avatar card is fixed */
	.member-profile-grid::before {
		content: '';
		grid-column: 1;
		grid-row: 1;
		width: var(--member-profile-aside-width);
		height: 0;
		visibility: hidden;
		pointer-events: none;
	}
}

.member-avatar-card {
	padding: var(--space-6);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	text-align: center;
}

@media (min-width: 1024px) {
	.member-avatar-card {
		position: fixed;
		top: calc(var(--member-sticky-top) + var(--space-6));
		left: calc(var(--member-sidebar-width) + var(--space-6));
		width: var(--member-profile-aside-width, 18rem);
		max-height: calc(100dvh - var(--member-sticky-top) - var(--space-6));
		overflow-y: auto;
		z-index: calc(var(--z-header) - 1);
		align-self: start;
	}
}

.member-avatar-card__avatar {
	margin-inline: auto;
}

.member-avatar-card__name {
	margin-top: var(--space-4);
	font-size: 1rem;
	font-weight: 700;
}

.member-avatar-card__email {
	margin-top: var(--space-1);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-avatar-card__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-2);
	margin-top: var(--space-5);
	padding-top: var(--space-5);
	border-top: 1px solid var(--border);
}

.member-avatar-card__stat-value {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--primary);
}

.member-avatar-card__stat-label {
	font-size: 0.6875rem;
	color: var(--muted-foreground);
}

.member-form-card {
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	overflow: hidden;
}

.member-form-card__head {
	padding: var(--space-5) var(--space-6);
	border-bottom: 1px solid var(--border);
	background: linear-gradient(180deg, var(--secondary) 0%, var(--card) 100%);
}

.member-form-card__title {
	font-size: 1rem;
	font-weight: 700;
}

.member-form-card__subtitle {
	margin-top: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-form-card__body {
	padding: var(--space-6);
}

.member-field {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.member-field + .member-field {
	margin-top: var(--space-5);
}

.member-field-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-4);
}

@media (min-width: 640px) {
	.member-field-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-5);
	}
}

.member-field-grid .member-field + .member-field {
	margin-top: 0;
}

.member-field-grid--3 {
	grid-template-columns: 1fr 1fr;
}

@media (min-width: 960px) {
	.member-field-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Native date/time: custom calendar icon aligned with kt-input right padding */
.kt-input[type="date"],
.kt-input[type="time"],
.kt-input[type="datetime-local"] {
	position: relative;
	min-width: 0;
	text-align: start;
	padding-inline-end: calc(var(--spacing) * 8);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right calc(var(--spacing) * 3) center;
	background-size: 1rem 1rem;
}

.kt-input[type="date"]::-webkit-calendar-picker-indicator,
.kt-input[type="time"]::-webkit-calendar-picker-indicator,
.kt-input[type="datetime-local"]::-webkit-calendar-picker-indicator {
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	width: calc(var(--spacing) * 8);
	height: 100%;
	margin: 0;
	padding: 0;
	opacity: 0;
	cursor: pointer;
}

.kt-input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.kt-input[type="time"]::-webkit-datetime-edit-fields-wrapper,
.kt-input[type="datetime-local"]::-webkit-datetime-edit-fields-wrapper {
	max-width: 100%;
}

.member-field-grid + .member-field-grid,
.member-field-grid + .member-field,
.member-field + .member-field-grid {
	margin-top: var(--space-5);
}

.member-account-readonly-block {
	margin-top: var(--space-5);
	padding-top: var(--space-5);
	border-top: 1px solid var(--border);
}

.member-account-readonly-block > .member-field__hint {
	margin-bottom: var(--space-4);
}

.member-account-readonly {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.member-account-readonly__value {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--foreground);
}

.member-account-item {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-3);
	padding: var(--space-4) 0;
	border-bottom: 1px solid var(--border);
}

.member-account-item:first-of-type {
	padding-top: 0;
}

.member-account-item__main {
	flex: 1 1 12rem;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.member-account-item__value {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--foreground);
	word-break: break-word;
}

.member-otp-pin {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.625rem;
}

.member-otp-resend {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	text-align: center;
}

/* Change email / phone OTP modals */
.member-otp-modal.open {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: var(--space-4);
}

.member-otp-modal .kt-modal-content {
	width: min(28rem, calc(100vw - 2rem));
	max-height: min(90vh, 100%);
	margin-inline: auto;
	overflow: hidden;
	top: auto;
	translate: none;
}

.member-otp-modal .kt-modal-header {
	flex-shrink: 0;
}

.member-otp-modal .kt-modal-header h3 {
	margin: 0;
}

.member-otp-modal .kt-modal-body {
	display: flex;
	flex-direction: column;
	padding-inline: var(--space-5);
	padding-block: var(--space-5);
	overflow-y: auto;
}

.member-otp-step {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.member-otp-step > p {
	margin: 0;
	line-height: 1.5;
}

.member-otp-step .member-field {
	margin-top: 0;
}

.member-otp-step .member-field__hint {
	margin: 0;
}

.member-otp-step .member-otp-pin {
	margin-block: var(--space-1);
}

.member-otp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-1);
}

.member-otp-actions .kt-btn.grow {
	flex: 1 1 auto;
	min-width: 10rem;
}

.member-otp-verify-panel {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	padding-top: var(--space-4);
	border-top: 1px solid var(--border);
}

.member-change-email-otp-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
}

.member-otp-resend--inline {
	display: inline;
	margin-left: 0.25rem;
}

.member-otp-resend .kt-link:disabled {
	cursor: not-allowed;
	opacity: 0.45;
	text-decoration: none;
}

.member-field__hint {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-field__hint code {
	padding: 0.0625rem 0.375rem;
	border-radius: 0.25rem;
	background: var(--secondary);
	font-size: 0.75rem;
}

.member-form-divider {
	margin-block: var(--space-6);
}

.member-field__label-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	flex-wrap: wrap;
}

.member-working-area-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-2);
	min-height: 2rem;
}

.member-working-area-chips.is-empty::before {
	display: block;
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.member-working-area-chips[data-profile-working-area-chips].is-empty::before {
	content: 'Chưa chọn khu vực hoạt động';
}

.member-working-area-chips[data-profile-projects-chips].is-empty::before {
	content: 'Chưa chọn dự án am hiểu';
}

.member-working-area-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	padding: 0.3125rem 0.625rem;
	border-radius: 999px;
	border: 1px solid color-mix(in oklab, var(--primary) 18%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--foreground);
}

.member-working-area-chip__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: transparent;
	color: var(--muted-foreground);
	cursor: pointer;
}

.member-working-area-chip__remove:hover {
	background: color-mix(in oklab, var(--destructive) 12%, transparent);
	color: var(--destructive);
}

.member-projects-modal .kt-modal-content {
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(100%, 24rem);
	max-height: calc(100vh - 2rem);
	border-radius: 1rem;
	overflow: hidden;
}

.member-projects-modal__body {
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding: 1rem;
}

.member-projects-modal__title {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin: 0 2rem 0.5rem 0;
	font-size: 1rem;
	font-weight: 700;
}

.member-projects-modal__title i {
	color: var(--primary);
}

.member-projects-modal__search {
	position: relative;
	margin-bottom: 0.75rem;
}

.member-projects-modal__search i {
	position: absolute;
	left: 0.875rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--muted-foreground);
	pointer-events: none;
}

.member-projects-modal__search-input {
	width: 100%;
	min-height: 2.625rem;
	padding: 0 0.875rem 0 2.5rem;
	border: 1px solid var(--border);
	border-radius: 0.625rem;
	background: color-mix(in oklab, var(--muted) 24%, var(--background));
	color: var(--foreground);
	font: inherit;
	font-size: 0.875rem;
}

.post-project-field .member-projects-modal__search {
	margin-bottom: 0;
}

.post-project-field .member-projects-modal__search [data-kt-select-wrapper] {
	display: block;
	width: 100%;
}

.post-project-field .member-projects-modal__search .kt-select {
	width: 100%;
	min-height: 2.625rem;
	padding: 0 2.25rem 0 2.5rem;
	border: 1px solid var(--border);
	border-radius: 0.625rem;
	background-color: color-mix(in oklab, var(--muted) 24%, var(--background));
	background-position: right 0.875rem center;
	box-shadow: none;
	font-size: 0.875rem;
}

.post-project-field .member-projects-modal__search .kt-select:focus,
.post-project-field .member-projects-modal__search .kt-select:focus-visible {
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	box-shadow: 0 0 0 3px color-mix(in oklab, var(--primary) 12%, transparent);
	outline: none;
	--tw-ring-shadow: none;
}

.post-project-select-dropdown .kt-select-search {
	padding: 0.75rem;
	border-bottom: 1px solid var(--border);
}

.post-project-select-dropdown .kt-select-search .kt-input {
	min-height: 2.625rem;
	padding: 0 0.875rem;
	border: 1px solid var(--border);
	border-radius: 0.625rem;
	background: color-mix(in oklab, var(--muted) 24%, var(--background));
	box-shadow: none;
	font-size: 0.875rem;
}

.post-project-select-dropdown .kt-select-search .kt-input:focus {
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	box-shadow: 0 0 0 3px color-mix(in oklab, var(--primary) 12%, transparent);
	outline: none;
}

.post-project-select-dropdown .kt-select-options {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin: 0;
	padding: 0.75rem;
	list-style: none;
	max-height: min(18rem, 42vh);
	overflow-y: auto;
}

.post-project-select-dropdown .kt-select-option {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 0.6125rem 0.675rem;
	border: none;
	border-radius: 0.5rem;
	background: transparent;
	color: var(--foreground);
	font: inherit;
	text-align: left;
	cursor: pointer;
	gap: var(--space-3);
}

.post-project-select-dropdown .kt-select-option.post-project-select-option {
	align-items: flex-start;
}

.post-project-select-dropdown .kt-select-option:hover,
.post-project-select-dropdown .kt-select-option.focused,
.post-project-select-dropdown .kt-select-option.hover,
.post-project-select-dropdown .kt-select-option.highlighted {
	background: color-mix(in oklab, var(--primary) 8%, var(--background));
	color: var(--foreground);
}

.post-project-select-dropdown .kt-select-option.selected {
	background: color-mix(in oklab, var(--primary) 12%, var(--background));
	color: var(--primary);
}

.post-project-select-dropdown .kt-select-option.selected .member-projects-modal__option-name {
	font-weight: 700;
}

.post-project-select-dropdown .kt-select-option-text {
	overflow: visible;
	white-space: normal;
}

.post-project-select-dropdown .kt-select-search-empty,
.post-project-select-dropdown .kt-select-loading {
	padding: 1rem 0.875rem;
	color: var(--muted-foreground);
	font-size: 0.875rem;
	text-align: center;
}

.member-projects-modal__search-input:focus {
	outline: none;
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	box-shadow: 0 0 0 3px color-mix(in oklab, var(--primary) 12%, transparent);
}

.member-projects-modal__selected {
	margin-bottom: 0.75rem;
}

.member-projects-modal__selected[hidden] {
	display: none;
}

.member-projects-modal__selected-label {
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--muted-foreground);
}

.member-projects-modal__selected-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.member-projects-modal__selected-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	padding: 0.3125rem 0.625rem;
	border: 1px solid color-mix(in oklab, var(--primary) 18%, var(--border));
	border-radius: 999px;
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
	color: var(--foreground);
	font: inherit;
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
}

.member-projects-modal__selected-chip:hover {
	border-color: color-mix(in oklab, var(--destructive) 30%, var(--border));
	background: color-mix(in oklab, var(--destructive) 8%, var(--background));
	color: var(--destructive);
}

.member-projects-modal__selected-chip i {
	font-size: 0.75rem;
	line-height: 1;
}

.member-projects-modal__options {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
	max-height: min(18rem, 42vh);
	overflow-y: auto;
}

.member-projects-modal__option {
	width: 100%;
	text-align: left;
}

.member-projects-modal__option-copy {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	flex: 1 1 auto;
	min-width: 0;
}

.member-projects-modal__option-name {
	font-weight: 600;
}

.member-projects-modal__option-meta {
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-projects-modal__empty {
	padding: 1rem 0.875rem;
	color: var(--muted-foreground);
	font-size: 0.875rem;
}

.member-credentials-editor {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	margin-top: var(--space-2);
}

.member-credential-editor {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) - 0.125rem);
	background: color-mix(in oklab, var(--primary) 3%, var(--secondary));
}

.member-credential-editor__head {
	display: flex;
	align-items: center;
	gap: var(--space-2);
}

.member-credential-editor__label {
	flex-shrink: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--muted-foreground);
}

.member-credential-editor__types {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	min-width: 0;
}

.member-credential-editor__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	margin-left: auto;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 0.5rem;
	background: transparent;
	color: var(--muted-foreground);
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.member-credential-editor__remove:hover {
	color: var(--destructive);
	border-color: color-mix(in oklab, var(--destructive) 20%, var(--border));
	background: color-mix(in oklab, var(--destructive) 8%, var(--background));
}

.member-credential-type {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: var(--space-1);
	padding: 0.375rem 0.625rem;
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--card);
	font-size: 0.75rem;
	line-height: 1;
	color: var(--muted-foreground);
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.member-credential-type input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.member-credential-type i {
	font-size: 0.875rem;
}

.member-credential-type.is-active,
.member-credential-type:has(input:checked) {
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
	background: color-mix(in oklab, var(--primary) 8%, var(--card));
	color: var(--primary);
}

@media (max-width: 639px) {
	.member-credential-type span {
		display: none;
	}

	.member-credential-type.is-active span,
	.member-credential-type:has(input:checked) span {
		display: inline;
	}

	.member-credential-type:not(.is-active):not(:has(input:checked)) {
		padding: 0.4375rem;
	}
}

.member-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-6);
	padding-top: var(--space-5);
	border-top: 1px solid var(--border);
}

.member-settings-nav {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	align-self: start;
	position: sticky;
	top: var(--member-settings-nav-top, 6.5rem);
	z-index: calc(var(--z-header) - 5);
	padding-bottom: var(--space-2);
	background: var(--background);
}

.member-settings-avatar-row {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	margin-bottom: var(--space-5);
	padding-bottom: var(--space-5);
	border-bottom: 1px solid var(--border);
}

.member-settings-layout [id] {
	scroll-margin-top: calc(var(--member-settings-nav-top, 6.5rem) + var(--space-4));
}

@media (max-width: 767px) {
	.member-content {
		overflow-x: clip;
	}

	.member-settings-layout {
		display: flex;
		flex-direction: column;
		gap: var(--space-4);
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.member-settings-layout [id] {
		scroll-margin-top: calc(var(--member-settings-nav-top, 4.75rem) + 3rem + var(--space-2));
	}

	.member-settings-nav {
		--member-settings-nav-top: 4.5rem;
		flex-direction: row;
		align-items: center;
		align-self: stretch;
		gap: 0.375rem;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		margin-inline: 0;
		margin-bottom: calc(var(--space-1) * -1);
		padding: var(--space-2) 0;
		border-bottom: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
		background: color-mix(in oklab, var(--background) 94%, transparent);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x proximity;
		scroll-padding-inline: 0;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.member-settings-nav::-webkit-scrollbar {
		display: none;
	}

	.member-settings-nav .member-sidebar__link {
		flex: 0 0 auto;
		gap: 0.375rem;
		padding: 0.5rem 0.875rem;
		border-radius: 9999px;
		font-size: 0.8125rem;
		line-height: 1.25;
		white-space: nowrap;
		scroll-snap-align: center;
		min-width: 0;
	}

	.member-settings-nav .member-sidebar__link i {
		font-size: 1rem;
	}

	.member-settings-nav .member-sidebar__link.active {
		background: var(--card);
		box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
	}
}

@media (max-width: 380px) {
	.member-settings-nav .member-sidebar__link {
		padding-inline: 0.75rem;
	}

	.member-settings-nav .member-sidebar__link i {
		display: none;
	}
}

@media (min-width: 768px) {
	.member-settings-layout {
		display: grid;
		grid-template-columns: 14rem minmax(0, 1fr);
		gap: var(--space-6);
	}
}

.member-switch-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-4) 0;
	border-bottom: 1px solid var(--border);
}

.member-switch-row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.member-switch-row__text {
	flex: 1;
	min-width: 0;
}

.member-switch-row__title {
	font-size: 0.875rem;
	font-weight: 600;
}

.member-switch-row__desc {
	margin-top: var(--space-1);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-activation-panel {
	margin-bottom: var(--space-5);
	padding: var(--space-4);
	border: 1px solid color-mix(in srgb, var(--primary, #2563eb) 20%, transparent);
	border-radius: var(--radius-lg, 0.75rem);
	background: color-mix(in srgb, var(--primary, #2563eb) 6%, transparent);
}

.member-activation-panel__title {
	margin: 0 0 var(--space-1);
	font-size: 1rem;
	font-weight: 600;
	color: var(--foreground);
}

.member-activation-panel__desc {
	margin: 0 0 var(--space-4);
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--muted-foreground);
}

.member-activation-panel__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-4);
}

.member-activation-panel .member-otp-pin {
	margin-top: var(--space-1);
}

.member-delete-pending {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	margin-bottom: var(--space-6);
	padding: var(--space-5);
	border: 1px solid color-mix(in oklab, var(--destructive) 28%, var(--border));
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: linear-gradient(135deg, color-mix(in oklab, var(--destructive) 8%, var(--card)) 0%, var(--card) 100%);
}

@media (min-width: 640px) {
	.member-delete-pending {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.member-delete-pending__title {
	font-size: clamp(1.0625rem, 2.5vw, 1.25rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--destructive);
}

.member-delete-pending__desc {
	margin-top: var(--space-2);
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-danger-zone {
	margin-top: var(--space-6);
	padding: var(--space-5);
	border: 1px solid color-mix(in oklab, var(--destructive) 30%, var(--border));
	border-radius: var(--really-radius);
	background: color-mix(in oklab, var(--destructive) 4%, var(--card));
}

.member-danger-zone__title {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--destructive);
}

.member-danger-zone__desc {
	margin-top: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-danger-zone .kt-btn {
	margin-top: var(--space-4);
}

#memberSidebarDrawer.kt-drawer {
	z-index: var(--z-drawer);
	width: min(100%, 18rem);
}

#memberSidebarDrawer.kt-drawer:not(.open) {
	visibility: hidden;
	pointer-events: none;
}

#memberSidebarDrawer .kt-drawer-content {
	padding: 0;
}

.member-drawer-nav {
	padding: var(--space-3);
}

.member-empty {
	padding: var(--space-10) var(--space-5);
	text-align: center;
}

.member-empty--compact {
	padding: var(--space-8) var(--space-4);
}

.member-empty__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin-inline: auto;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	color: var(--primary);
	font-size: 1.5rem;
}

.member-empty--compact .member-empty__icon {
	width: 3rem;
	height: 3rem;
	font-size: 1.25rem;
}

.member-empty__title {
	margin-top: var(--space-4);
	font-size: 1rem;
	font-weight: 600;
	color: var(--foreground);
}

.member-empty__desc {
	margin-top: var(--space-2);
	max-width: 24rem;
	margin-inline: auto;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--muted-foreground);
}

.member-empty .kt-btn {
	margin-top: var(--space-5);
}

.member-review-list .member-empty,
.member-referral-table__body .member-empty,
.member-listing-table__body .member-empty,
.property-grid .member-empty,
.member-panel__body > .member-empty {
	width: 100%;
}

.property-grid .member-empty,
.project-grid .member-empty {
	grid-column: 1 / -1;
}

.member-review-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.member-review-social-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-4);
	padding: var(--space-4) var(--space-5);
	border: 1px solid color-mix(in oklab, var(--primary) 18%, var(--border));
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 8%, var(--card)), color-mix(in oklab, var(--primary) 3%, var(--secondary)));
}

@media (min-width: 768px) {
	.member-review-social-banner {
		flex-wrap: nowrap;
		padding: var(--space-5) var(--space-6);
	}
}

.member-review-social-banner__avatars {
	display: flex;
	flex-shrink: 0;
	align-items: center;
}

.member-review-social-banner__avatar {
	overflow: hidden;
	width: 2.25rem;
	height: 2.25rem;
	margin-left: -0.625rem;
	border: 2px solid var(--card);
	border-radius: 9999px;
	background: var(--secondary);
}

.member-review-social-banner__avatar:first-child {
	margin-left: 0;
}

.member-review-social-banner__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.member-review-social-banner__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	height: 2.25rem;
	margin-left: -0.625rem;
	padding-inline: 0.375rem;
	border: 2px solid var(--card);
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 14%, var(--secondary));
	font-size: 0.6875rem;
	font-weight: 700;
	color: var(--primary);
}

.member-review-social-banner__copy {
	flex: 1;
	min-width: 12rem;
}

.member-review-social-banner__title {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.45;
}

.member-review-social-banner__title strong {
	font-weight: 800;
	color: var(--primary);
}

.member-review-social-banner__desc {
	margin-top: 0.125rem;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-review-card {
	display: grid;
	gap: var(--space-4);
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 768px) {
	.member-review-card {
		grid-template-columns: minmax(0, 16rem) minmax(0, 1fr) auto;
		align-items: start;
		padding: var(--space-5);
	}
}

.member-review-card:hover {
	border-color: color-mix(in oklab, var(--primary) 20%, var(--border));
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.member-review-card__listing {
	display: flex;
	gap: var(--space-3);
}

@media (min-width: 768px) {
	.member-review-card__listing {
		flex-direction: column;
		gap: var(--space-3);
	}
}

.member-review-card__thumb {
	flex-shrink: 0;
	overflow: hidden;
	width: 5rem;
	height: 4rem;
	border-radius: 0.625rem;
	background: var(--secondary);
}

@media (min-width: 768px) {
	.member-review-card__thumb {
		width: 100%;
		height: 10rem;
	}
}

.member-review-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.member-review-card__listing-title {
	display: block;
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--foreground);
	text-decoration: none;
	line-height: 1.4;
}

.member-review-card__listing-title:hover {
	color: var(--primary);
}

.member-review-card__listing-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-1);
	margin-top: var(--space-1);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-review-card__listing-meta i {
	font-size: 0.875rem;
}

.member-review-card__price {
	margin: var(--space-3) 0 0;
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--primary);
	line-height: 1.3;
}

.member-review-card__date i {
	margin-right: 0.25rem;
	font-size: 0.875rem;
	color: var(--primary);
}

.member-review-card__body {
	min-width: 0;
}

.member-review-card__rating {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	margin: var(--space-3) 0;
}

.member-review-card__emoji {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 9999px;
	background: var(--secondary);
	font-size: 1.125rem;
	line-height: 1;
}

.member-review-card__rating--positive .member-review-card__emoji {
	background: color-mix(in oklab, #28a745 14%, var(--secondary));
}

.member-review-card__rating--positive .member-review-card__rating-label {
	color: #28a745;
}

.member-review-card__rating--negative .member-review-card__emoji {
	background: color-mix(in oklab, var(--destructive) 12%, var(--secondary));
}

.member-review-card__rating--negative .member-review-card__rating-label {
	color: var(--destructive);
}

.member-review-card__rating--neutral .member-review-card__rating-label {
	color: var(--muted-foreground);
}

.member-review-card__rating-label {
	font-size: 0.875rem;
	font-weight: 600;
}

.member-review-card__social {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	margin-bottom: var(--space-3);
	padding: 0.375rem 0.625rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 8%, var(--secondary));
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-review-card__social i {
	flex-shrink: 0;
	font-size: 0.875rem;
	color: var(--primary);
}

.member-review-card__social strong {
	font-weight: 700;
	color: var(--primary);
}

.member-review-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: var(--space-3);
}

.member-review-card__note {
	margin-bottom: var(--space-3);
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-review-card__date {
	display: block;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-review-card__actions {
	display: flex;
	justify-content: flex-end;
}

@media (min-width: 768px) {
	.member-review-card__actions {
		padding-top: var(--space-1);
	}
}

.member-tabs .kt-tabs {
	width: 100%;
}

.member-tabs .kt-tabs-list {
	display: flex;
	gap: 0.25rem;
	padding: 0.25rem;
	border-radius: 0.75rem;
	background: var(--secondary);
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.member-tabs .kt-tabs-list::-webkit-scrollbar {
	display: none;
}

.member-tabs .kt-tab {
	flex: 1 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	border: none;
	background: transparent;
	color: var(--foreground);
	border-radius: 0.625rem;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.25;
	padding: 0.5625rem 0.875rem;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 640px) {
	.member-tabs .kt-tab {
		flex: 1;
	}
}

.member-tabs .kt-tab:hover:not(.active) {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 6%, transparent);
}

.member-tabs .kt-tab.active {
	background: var(--card);
	color: var(--primary);
	font-weight: 600;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.member-tabs .kt-tab:focus-visible {
	outline: 2px solid color-mix(in oklab, var(--primary) 40%, transparent);
	outline-offset: 1px;
}

.member-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	margin-top: var(--space-6);
}

/* Referral / RCoin */
.member-referral-hero {
	display: grid;
	gap: var(--space-4);
}

@media (min-width: 900px) {
	.member-referral-hero {
		grid-template-columns: minmax(0, 21rem) minmax(0, 1fr);
		align-items: stretch;
	}
}

.member-referral-balance {
	display: flex;
	gap: var(--space-4);
	padding: var(--space-5);
	border: 1px solid color-mix(in oklab, var(--primary) 18%, var(--border));
	border-radius: var(--really-radius);
	background: linear-gradient(145deg, color-mix(in oklab, var(--primary) 10%, var(--card)) 0%, var(--card) 55%);
}

.member-referral-balance__icon {
	flex-shrink: 0;
	width: 3.5rem;
	height: 3.5rem;
	perspective: 280px;
}

.member-referral-balance__coin {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
	animation: member-rcoin-flip 3.2s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
	filter: drop-shadow(0 4px 10px color-mix(in oklab, var(--primary) 28%, transparent));
}

.member-referral-balance__coin::after {
	content: "";
	position: absolute;
	inset: -15%;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.55) 0%, transparent 55%);
	opacity: 0;
	pointer-events: none;
	animation: member-rcoin-shine 3.2s ease-in-out infinite;
}

.member-referral-balance__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	backface-visibility: hidden;
}

@keyframes member-rcoin-flip {
	0%,
	18% {
		transform: rotateY(0deg) scale(1);
	}

	42% {
		transform: rotateY(180deg) scale(1.1);
	}

	66%,
	100% {
		transform: rotateY(360deg) scale(1);
	}
}

@keyframes member-rcoin-shine {
	0%,
	18%,
	66%,
	100% {
		opacity: 0;
	}

	42% {
		opacity: 0.85;
	}
}

@media (prefers-reduced-motion: reduce) {
	.member-referral-balance__coin {
		animation: none;
		filter: drop-shadow(0 2px 6px color-mix(in oklab, var(--primary) 20%, transparent));
	}

	.member-referral-balance__coin::after {
		animation: none;
		opacity: 0;
	}
}

.member-referral-balance__label {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--muted-foreground);
}

.member-referral-balance__value {
	margin-top: 0.125rem;
	line-height: 1.1;
}

.member-referral-balance__amount {
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--primary);
}

.member-referral-balance__unit {
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--muted-foreground);
}

.member-referral-balance__hint {
	margin-top: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-referral-balance__hint + .member-referral-balance__hint {
	margin-top: 0.25rem;
}

.member-referral-balance__hint strong {
	font-weight: 700;
	color: var(--foreground);
}

.member-referral-link {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	min-width: 0;
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
}

.member-referral-link__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-2) var(--space-3);
}

.member-referral-link__label {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 800;
	color: var(--foreground);
}

.member-referral-link__hint {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.4;
}

.member-referral-link__hint strong {
	color: var(--foreground);
}

.member-referral-rules {
	margin-bottom: var(--space-5);
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
}

.member-referral-rules__title {
	margin-bottom: var(--space-4);
	font-size: 1rem;
	font-weight: 700;
}

.member-referral-rules__list {
	display: grid;
	gap: var(--space-4);
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 768px) {
	.member-referral-rules__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.member-referral-rules__item {
	display: flex;
	gap: var(--space-3);
}

.member-referral-rules__step {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 9999px;
	background: var(--secondary);
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--primary);
}

.member-referral-rules__item-title {
	font-size: 0.9375rem;
	font-weight: 600;
}

.member-referral-rules__item-desc {
	margin-top: 0.25rem;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-referral-rules__reward {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	margin-top: var(--space-3);
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--primary);
}

.member-referral-rules__reward--pro {
	background: linear-gradient(135deg, oklch(0.92 0.06 85) 0%, oklch(0.88 0.08 75) 100%);
	color: oklch(0.45 0.12 75);
}

.member-stat-card__icon--pro {
	background: linear-gradient(135deg, oklch(0.92 0.06 85) 0%, oklch(0.88 0.08 75) 100%);
	color: oklch(0.45 0.12 75);
}

.member-stat-card--rcoin .member-stat-card__value {
	color: var(--primary);
}

.member-stat-card__icon--rcoin {
	background: color-mix(in oklab, var(--primary) 14%, var(--secondary));
	color: var(--primary);
}

.member-referral-uses__title {
	font-size: 1rem;
	font-weight: 700;
}

.member-referral-uses__desc {
	margin-top: var(--space-2);
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-referral-uses__grid {
	display: grid;
	gap: var(--space-3);
	margin: var(--space-4) 0 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.member-referral-uses__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.member-referral-uses__card {
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
}

.member-referral-uses__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 0.625rem;
	background: var(--secondary);
	color: var(--primary);
	font-size: 1.125rem;
}

.member-referral-uses__icon--pro {
	background: linear-gradient(135deg, oklch(0.92 0.06 85) 0%, oklch(0.88 0.08 75) 100%);
	color: oklch(0.45 0.12 75);
}

.member-referral-uses__card-title {
	margin-top: var(--space-3);
	font-size: 0.9375rem;
	font-weight: 600;
}

.member-referral-uses__card-desc {
	margin-top: 0.25rem;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-referral-list .member-tabs {
	padding-inline: var(--space-5);
	padding-top: var(--space-4);
}

.member-referral-table__head {
	display: none;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 6rem 4.5rem;
	gap: var(--space-4);
	padding: var(--space-3) var(--space-5);
	border-bottom: 1px solid var(--border);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--muted-foreground);
}

@media (min-width: 768px) {
	.member-referral-table__head {
		display: grid;
	}
}

.member-referral-table__body {
	display: flex;
	flex-direction: column;
}

.member-referral-row {
	display: grid;
	gap: var(--space-3);
	padding: var(--space-4) var(--space-5);
	border-bottom: 1px solid var(--border);
}

.member-referral-row:last-child {
	border-bottom: none;
}

.member-referral-row:hover {
	background: color-mix(in oklab, var(--primary) 4%, transparent);
}

@media (min-width: 768px) {
	.member-referral-row {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 6rem 4.5rem;
		align-items: center;
		gap: var(--space-4);
	}
}

.member-referral-row__user {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	min-width: 0;
}

.member-referral-row__name {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.3;
}

.member-referral-row__contact {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-referral-row__status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
}

.member-referral-row__date {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-referral-row__rcoin {
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--primary);
	text-align: left;
}

@media (min-width: 768px) {
	.member-referral-row__rcoin {
		text-align: right;
	}
}

.member-referral-row__rcoin--muted {
	font-weight: 500;
	color: var(--muted-foreground);
}

.member-referral-list__footer {
	border-top: 1px solid var(--border);
}

.member-referral-list__summary {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-referral-list__summary i {
	flex-shrink: 0;
	margin-top: 0.125rem;
	font-size: 1rem;
	color: var(--primary);
}

.member-referral-list__summary strong {
	font-weight: 700;
	color: var(--foreground);
}

.member-lead-filter-note {
	margin-top: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-lead-filter-note a {
	color: var(--primary);
	font-weight: 600;
}

.member-lead-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--card);
	overflow: hidden;
}

.member-lead-card {
	display: grid;
	gap: var(--space-4);
	padding: var(--space-4) var(--space-5);
	border-bottom: 1px solid var(--border);
}

.member-lead-card:last-child {
	border-bottom: none;
}

.member-lead-card:hover {
	background: color-mix(in oklab, var(--primary) 4%, transparent);
}

@media (min-width: 768px) {
	.member-lead-card {
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr) minmax(0, 0.8fr) minmax(0, 0.7fr);
		align-items: start;
	}
}

.member-lead-card__listing {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	min-width: 0;
}

.member-lead-card__thumb {
	display: block;
	flex-shrink: 0;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--muted);
}

.member-lead-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.member-lead-card__listing-copy {
	min-width: 0;
}

.member-lead-card__listing-title {
	display: block;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--foreground);
}

.member-lead-card__listing-title:hover {
	color: var(--primary);
}

.member-lead-card__listing-price {
	margin-top: 0.25rem;
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--primary);
}

.member-lead-card__contact {
	min-width: 0;
}

.member-lead-card__user {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
}

.member-lead-card__name {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.3;
}

.member-lead-card__phone,
.member-lead-card__email {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-lead-card__phone a {
	color: var(--primary);
	font-weight: 600;
}

.member-lead-card__message,
.member-lead-card__schedule {
	margin-top: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.member-lead-card__schedule i {
	margin-right: 0.25rem;
	color: var(--primary);
}

.member-lead-card__meta {
	display: flex;
	flex-direction: row;
	gap: var(--space-2);
}

@media (min-width: 768px) {
	.member-lead-card__meta {
		flex-direction: column;
	}
}

.member-lead-card__type {
	width: fit-content;
}

.member-lead-card__type i {
	margin-right: 0.25rem;
}

.member-lead-card__source,
.member-lead-card__time {
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-lead-card__actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	min-width: 0;
}

.member-lead-card__status-block {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	min-width: 0;
}

.member-lead-status__updated {
	margin: 0;
	font-size: 0.75rem;
	color: var(--muted-foreground);
	line-height: 1.4;
}

.member-lead-status__updated.is-empty {
	display: none;
}

.member-lead-status {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	min-width: 0;
}

.member-lead-status__label {
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--muted-foreground);
}

.member-lead-status__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	width: 100%;
	min-height: 2.5rem;
	padding: 0.375rem 0.625rem 0.375rem 0.75rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--card);
	color: var(--foreground);
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.member-lead-status__trigger:hover,
.member-lead-status__trigger:focus-visible {
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
	background: color-mix(in oklab, var(--primary) 4%, var(--card));
	box-shadow: 0 0 0 3px color-mix(in oklab, var(--primary) 10%, transparent);
}

.member-lead-status__trigger:disabled {
	opacity: 0.65;
	cursor: wait;
}

.member-lead-status__badge {
	flex-shrink: 0;
}

.member-lead-status__chevron {
	flex-shrink: 0;
	font-size: 0.875rem;
	color: var(--muted-foreground);
	transition: transform 0.15s ease;
}

.member-lead-status__trigger[aria-expanded="true"] .member-lead-status__chevron {
	transform: rotate(180deg);
}

.member-lead-status__menu {
	min-width: 11.5rem;
	padding: 0.375rem;
}

.member-lead-status__options {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
}

.member-lead-status__option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	width: 100%;
	border-radius: calc(var(--radius-lg) - 0.125rem);
}

.member-lead-status__option.is-active {
	background: color-mix(in oklab, var(--primary) 8%, transparent);
}

.member-lead-status__check {
	flex-shrink: 0;
	font-size: 0.875rem;
	color: var(--primary);
	opacity: 0;
}

.member-lead-status__option.is-active .member-lead-status__check {
	opacity: 1;
}

.member-lead-card__quick-actions {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.375rem;
	margin-top: 0.375rem;
}

@media (min-width: 768px) {
	.member-lead-card--inline {
		grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.9fr) minmax(0, 0.7fr);
	}
}

.member-referral-referrer {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	margin-top: var(--space-3);
	padding: var(--space-3) var(--space-4);
	border: 1px solid color-mix(in oklab, var(--primary) 18%, var(--border));
	border-radius: var(--really-radius);
	background: color-mix(in oklab, var(--primary) 6%, var(--card));
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.member-referral-referrer strong {
	color: var(--foreground);
}

.member-referral-apply-trigger {
	margin-top: var(--space-2);
}

.member-referral-apply-note {
	margin-top: var(--space-2);
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.member-referral-apply-modal.open {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: var(--space-4);
}

.member-referral-apply-modal .kt-modal-content {
	width: min(28rem, calc(100vw - 2rem));
	max-height: min(90vh, 100%);
	margin-inline: auto;
	overflow: hidden;
	top: auto;
	translate: none;
}

.member-referral-apply-modal .kt-modal-header {
	flex-shrink: 0;
}

.member-referral-apply-modal .kt-modal-header h3 {
	margin: 0;
}

.member-referral-apply-modal__body {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding-inline: var(--space-5);
	padding-block: var(--space-5);
	overflow-y: auto;
}

.member-referral-apply__desc {
	margin-bottom: var(--space-4);
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-referral-apply-modal__body .member-referral-apply__form {
	flex-direction: column;
	align-items: stretch;
}

.member-referral-apply-modal__body .member-referral-apply__field {
	flex: none;
	width: 100%;
}

.member-referral-apply__form {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: flex-end;
}

.member-referral-apply__field {
	flex: 1 1 12rem;
	min-width: 0;
}

.member-referral-apply__label {
	display: block;
	margin-bottom: var(--space-2);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--foreground);
}

.member-referral-apply__hint {
	margin-top: var(--space-3);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-referral-apply__alert {
	margin-top: var(--space-3);
	font-size: 0.8125rem;
}

.member-referral-apply__alert.is-error {
	color: var(--destructive);
}

.member-referral-apply__alert.is-success {
	color: #16a34a;
}

/* Listings browse page */
.listings-page {
	padding-block: var(--space-4);
}

@media (min-width: 768px) {
	.listings-page {
		padding-block: var(--space-8);
	}
}

.listings-page-head {
	margin-bottom: var(--space-4);
}

@media (max-width: 767px) {
	.listings-page-head {
		margin-bottom: 0;
	}
}

.listings-page-head__breadcrumb {
	margin-bottom: var(--space-3);
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	min-width: 0;
	max-width: 100%;
	gap: 0.25rem 0.375rem;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch;
}

.listings-page-head__breadcrumb::-webkit-scrollbar {
	display: none;
}

.listings-page-head__breadcrumb > a,
.listings-page-head__breadcrumb > .kt-breadcrumb-item,
.listings-page-head__breadcrumb > .kt-breadcrumb-separator {
	flex-shrink: 0;
	white-space: nowrap;
}

.listings-page-head__breadcrumb > .kt-breadcrumb-separator {
	color: var(--muted-foreground);
	opacity: 0.55;
}

.listings-page-head__breadcrumb > a {
	color: var(--muted-foreground);
	text-decoration: none;
	transition: color 0.15s ease;
}

.listings-page-head__breadcrumb > a:hover {
	color: var(--foreground);
}

.listings-page-head__title {
	font-size: clamp(1.15rem, 3vw, 1.25rem);
	font-weight: 800;
	letter-spacing: -0.025em;
}

.listings-page-head__desc {
	color: var(--muted-foreground);
	line-height: 1.6;
	font-size: clamp(0.75rem, 1.5vw, 0.85rem);
}

.listings-search-bar {
	margin-top: var(--space-3);
	margin-bottom: var(--space-4);
}

.listings-page-head + .listings-search-bar {
	margin-top: 0;
}

/* Mobile: pin search bar under the sticky site header while browsing results */
@media (max-width: 767px) {
	.page-container > .listings-search-bar:not(.listings-map-search--canvas) {
		position: sticky;
		top: calc(env(safe-area-inset-top, 0px) + var(--header-height, 3.75rem));
		z-index: calc(var(--z-header) - 1);
		margin-inline: calc(-1 * var(--container-x));
		margin-bottom: var(--space-3);
		padding: var(--space-2) var(--container-x);
		background: color-mix(in oklab, var(--background) 92%, transparent);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
		box-shadow: 0 1px 0 color-mix(in oklab, var(--border) 85%, transparent);
		overflow: visible;
	}
}

.listings-search-bar__row {
	display: grid;
	gap: var(--space-3);
}

.listings-search-bar__row--simple {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: stretch;
}

.listings-search-bar__composite {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 3.25rem;
	padding: 0.3125rem;
	border: 1px solid var(--border);
	border-radius: 0.875rem;
	background: var(--background);
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.07);
	overflow: visible;
}

@media (min-width: 768px) {
	.listings-search-bar__composite {
		border-radius: calc(var(--really-radius) + 0.125rem);
		padding: 0.25rem 0.3125rem 0.25rem 0.25rem;
	}
}

.listings-search-bar__region {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex: 0 1 auto;
	width: auto;
	max-width: 15rem;
	min-width: 10rem;
	min-height: 2.75rem;
	padding: 0 0.875rem;
	border: none;
	border-radius: calc(var(--really-radius) - 0.2rem);
	background: transparent;
	color: var(--foreground);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.listings-search-bar__region:hover,
.listings-search-bar__region.active {
	background: color-mix(in oklab, var(--primary) 5%, var(--background));
}

.listings-search-bar__region-icon {
	flex-shrink: 0;
	color: var(--primary);
	font-size: 1.125rem;
	line-height: 1;
}

.listings-search-bar__region-text {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.875rem;
	font-weight: 600;
}

.listings-search-bar__region-chevron {
	flex-shrink: 0;
	color: var(--muted-foreground);
	font-size: 0.75rem;
	line-height: 1;
}

.listings-search-bar__divider {
	flex-shrink: 0;
	align-self: center;
	width: 1px;
	height: 1.75rem;
	background: var(--border);
}

.listings-search-bar__search {
	display: flex;
	flex: 1;
	align-items: center;
	gap: 0.375rem;
	min-width: 0;
}

.listings-search-bar__search .listings-search-bar__field {
	flex: 1;
	min-width: 0;
}

.listings-search-bar__search .listings-search-bar__field .kt-input {
	min-height: 2.75rem;
	border: none;
	border-radius: 9999px;
	box-shadow: none;
	background: transparent;
	padding-left: 2.625rem;
}

.listings-search-bar__search .listings-search-bar__field .kt-input:focus {
	box-shadow: none;
}

.listings-search-bar__submit {
	flex-shrink: 0;
	align-self: center;
	min-height: 2.625rem;
	margin: 0.125rem 0.225rem 0.125rem 0;
	padding-inline: 1.125rem;
	border: none;
	border-radius: calc(var(--really-radius) - 0.2rem);
	font-size: 0.875rem;
	font-weight: 600;
	white-space: nowrap;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
	transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.listings-search-bar__submit:hover {
	box-shadow: 0 4px 12px color-mix(in oklab, var(--primary) 28%, transparent);
	transform: translateY(-1px);
}

.listings-search-bar__composite--simple .listings-search-bar__search {
	padding-left: 0.25rem;
}

.listings-search-bar__more-filters {
	display: none;
	flex-shrink: 0;
	align-items: center;
	gap: 0.375rem;
	min-height: 2.375rem;
	margin: 0 0.25rem;
	padding-inline: 0.75rem;
	border-radius: calc(var(--really-radius) - 0.25rem);
	font-size: 0.8125rem;
	font-weight: 600;
	white-space: nowrap;
}

.listings-search-bar__more-filters.is-active {
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
	color: var(--primary);
}

.listings-search-bar__more-filters i {
	font-size: 0.875rem;
}

.listings-search-bar__composite .listings-filters--bar {
	display: none;
	flex: 0 1 auto;
	align-items: center;
	gap: 0.375rem;
	min-width: 0;
	margin: 0;
	padding: 0 0.25rem 0 0;
	border: none;
	border-radius: 0;
	background: transparent;
	position: static;
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.listings-search-bar__composite .listings-filters--bar::-webkit-scrollbar {
	display: none;
}

.listings-search-bar__divider--filters {
	display: none;
	margin-right: var(--space-1);
}

.listings-filters--bar .listings-filters__group {
	margin: 0;
	padding: 0;
	border: none;
	flex-shrink: 0;
}

.listings-filters--bar .listings-filters__kind-dropdown,
.listings-filters--bar .listings-filters__range-dropdown {
	width: auto;
	min-width: 0;
}

.listings-filters--bar .listings-filters__bar-btn {
	min-height: 2.375rem;
	max-width: 11.5rem;
	padding-inline: 0.75rem;
	border-radius: calc(var(--really-radius) - 0.25rem);
	font-size: 0.8125rem;
	font-weight: 600;
	white-space: nowrap;
	background: transparent;
	border: 0;
}

.listings-filters--bar .listings-filters__bar-btn:hover,
.listings-filters--bar .listings-filters__bar-btn.is-active {
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
	color: var(--primary);
}

.listings-filters--bar .listings-filters__bar-btn i {
	flex-shrink: 0;
	font-size: 0.75rem;
	opacity: 0.7;
}

.filter-menu {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	padding: 0.375rem;
}

.listings-filters__group--rooms.is-hidden,
.filter-sheet__group.is-hidden {
	display: none !important;
}

@media (min-width: 1024px) {
	.listings-search-bar__composite .listings-filters--bar {
		display: flex;
	}

	.listings-search-bar__more-filters {
		display: inline-flex;
	}

	.listings-search-bar__divider--filters {
		display: block;
	}
}

@media (max-width: 767px) {
	.listings-search-bar__composite {
		flex-direction: column;
		align-items: stretch;
		padding: 0.375rem;
		border-radius: 1rem;
	}

	.listings-search-bar__region {
		width: 100%;
		max-width: none;
		min-width: 0;
		min-height: 2.75rem;
		border-radius: 0.75rem;
	}

	.listings-search-bar__divider {
		display: none;
	}

	.listings-search-bar__search .listings-search-bar__field .kt-input {
		min-height: 2.75rem;
		border-radius: 0.75rem;
		background: color-mix(in oklab, var(--muted) 28%, var(--background));
	}

	.listings-search-bar:not(.listings-map-search--canvas) .listings-search-bar__composite {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 0;
		padding: 0;
	}

	.listings-search-bar:not(.listings-map-search--canvas) .listings-search-bar__region {
		flex: 0 1 auto;
		width: auto;
		max-width: 42%;
		min-width: 0;
		min-height: 2.5rem;
		padding-inline: 0.625rem;
		border-radius: 0.75rem;
		overflow: hidden;
		opacity: 1;
		transition:
			max-width 0.28s ease,
			min-width 0.28s ease,
			padding 0.28s ease,
			gap 0.28s ease,
			opacity 0.2s ease,
			flex-basis 0.28s ease;
	}

	.listings-search-bar:not(.listings-map-search--canvas) .listings-search-bar__region-text {
		font-size: 0.8125rem;
	}

	.listings-search-bar:not(.listings-map-search--canvas) .listings-search-bar__divider {
		display: block;
		height: 1.5rem;
		transition: width 0.28s ease, opacity 0.2s ease, margin 0.28s ease;
	}

	.listings-search-bar:not(.listings-map-search--canvas) .listings-search-bar__search {
		flex: 1 1 auto;
		min-width: 0;
		gap: 0;
		transition: flex-grow 0.28s ease, flex-basis 0.28s ease;
	}

	.listings-search-bar:not(.listings-map-search--canvas) .listings-search-bar__search .listings-search-bar__field .kt-input {
		min-height: 2.5rem;
		padding-left: 2.25rem;
		font-size: 0.8125rem;
		background: transparent;
		border-radius: 0.75rem;
	}

	/* Focus search: collapse region so search / suggest span full bar width */
	.listings-search-bar:not(.listings-map-search--canvas) .listings-search-bar__composite:has(.listings-search-bar__search:focus-within) .listings-search-bar__region {
		flex: 0 0 0;
		gap: 0;
		max-width: 0;
		min-width: 0;
		padding-inline: 0;
		opacity: 0;
		pointer-events: none;
	}

	.listings-search-bar:not(.listings-map-search--canvas) .listings-search-bar__composite:has(.listings-search-bar__search:focus-within) > .listings-search-bar__divider {
		width: 0;
		opacity: 0;
		margin: 0;
		overflow: hidden;
	}

	.listings-search-bar:not(.listings-map-search--canvas) .listings-search-bar__composite:has(.listings-search-bar__search:focus-within) .listings-search-bar__search {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}
}

.listings-region-modal .kt-modal-content {
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(100%, 24rem);
	max-height: calc(100vh - 2rem);
	padding-top: 0.25rem;
	border-radius: 1rem;
	overflow: hidden;
}

.listings-region-modal__close {
	position: absolute;
	top: 0.625rem;
	right: 0.625rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border: none;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--background) 88%, var(--muted));
	color: var(--muted-foreground);
	cursor: pointer;
}

.listings-region-modal__close:hover {
	color: var(--foreground);
}

.listings-region-modal__body {
	position: relative;
	flex: 1;
	min-height: 0;
	padding: 0;
	overflow: hidden;
}

.listings-region-modal__main,
.listings-region-modal__panel {
	padding: 1rem;
	overflow-y: auto;
}

.listings-region-modal__panel[hidden],
.listings-region-modal__main[hidden] {
	display: none;
}

.listings-region-modal__section + .listings-region-modal__section {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--border);
}

.listings-region-modal__section-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.875rem;
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--foreground);
}

.listings-region-modal__section-title i {
	color: var(--foreground);
	font-size: 1.125rem;
	line-height: 1;
}

.listings-region-modal__field-row,
.listings-region-modal__pick-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	padding: 0.675rem 0.875rem;
	border: 1px solid var(--border);
	border-radius: 0.625rem;
	background: var(--background);
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.listings-region-modal__field-row:hover:not(:disabled),
.listings-region-modal__pick-row:hover:not(:disabled):not(.is-disabled) {
	border-color: color-mix(in oklab, var(--primary) 30%, var(--border));
}

.listings-region-modal__field-row:disabled,
.listings-region-modal__pick-row:disabled,
.listings-region-modal__pick-row.is-disabled {
	cursor: not-allowed;
}

.listings-region-modal__field-row-text {
	flex: 1;
	min-width: 0;
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.listings-region-modal__pick-stack {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.listings-region-modal__pick-copy {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.125rem;
	min-width: 0;
}

.listings-region-modal__pick-label:not([hidden]) {
	display: block;
	font-size: 0.75rem;
	line-height: 1.3;
	color: var(--foreground);
}

.listings-region-modal__pick-value {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--foreground);
}

.listings-region-modal__pick-value.is-selected {
	color: var(--primary);
}

.listings-region-modal__pick-value.is-placeholder {
	color: var(--muted-foreground);
	font-weight: 500;
}

.listings-region-modal__pick-row.is-disabled .listings-region-modal__pick-label,
.listings-region-modal__pick-row.is-disabled .listings-region-modal__pick-value {
	color: color-mix(in oklab, var(--muted-foreground) 72%, transparent);
}

.listings-region-modal__field-row i,
.listings-region-modal__pick-row > i {
	flex-shrink: 0;
	color: var(--muted-foreground);
	font-size: 0.875rem;
	line-height: 1;
}

.listings-region-modal__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.875rem;
}

.listings-region-modal__chip {
	padding: 0.4375rem 0.875rem;
	border: none;
	border-radius: 9999px;
	background: #eceff3;
	color: var(--foreground);
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.listings-region-modal__chip.is-active {
	background: #2f3640;
	color: #fff;
}

.listings-region-modal__panel-head {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.listings-region-modal__panel-back {
	flex-shrink: 0;
}

.listings-region-modal__panel-title {
	flex: 1;
	min-width: 0;
	font-size: 0.9375rem;
	font-weight: 700;
}

.listings-region-modal__panel-clear {
	flex-shrink: 0;
	padding: 0.25rem 0.625rem;
	border: none;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 10%, var(--background));
	color: var(--primary);
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
	margin-right: var(--space-8);
}

.listings-region-modal__panel-clear:hover {
	background: color-mix(in oklab, var(--primary) 16%, var(--background));
}

.listings-region-modal__panel-clear[hidden] {
	display: none;
}

.listings-region-modal__search {
	position: relative;
	margin-bottom: 0.75rem;
}

.listings-region-modal__search i {
	position: absolute;
	left: 0.875rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--muted-foreground);
	font-size: 1rem;
	line-height: 1;
	pointer-events: none;
}

.listings-region-modal__search-input {
	width: 100%;
	min-height: 2.625rem;
	padding: 0 0.875rem 0 2.5rem;
	border: 1px solid var(--border);
	border-radius: 0.625rem;
	background: color-mix(in oklab, var(--muted) 24%, var(--background));
	color: var(--foreground);
	font: inherit;
	font-size: 0.875rem;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.listings-region-modal__search-input::placeholder {
	color: var(--muted-foreground);
}

.listings-region-modal__search-input:focus {
	outline: none;
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	background: var(--background);
	box-shadow: 0 0 0 3px color-mix(in oklab, var(--primary) 12%, transparent);
}

.listings-region-modal__options {
	max-height: 20rem;
	margin: 0;
	padding: 0;
	overflow: auto;
	list-style: none;
}

.listings-region-modal__option {
	display: block;
	width: 100%;
	padding: 0.6125rem 0.675rem;
	border: none;
	border-radius: 0.5rem;
	background: transparent;
	color: var(--foreground);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.listings-region-modal__option:hover {
	background: color-mix(in oklab, var(--primary) 8%, var(--background));
}

.listings-region-modal__option.is-selected {
	background: color-mix(in oklab, var(--primary) 12%, var(--background));
	color: var(--primary);
	font-weight: 700;
}

.listings-region-modal__option--multi {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
}

.listings-region-modal__option-label {
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}

.listings-region-modal__option-check {
	flex-shrink: 0;
	font-size: 1rem;
	opacity: 0;
	transition: opacity 0.15s ease;
}

.listings-region-modal__option--multi.is-selected .listings-region-modal__option-check {
	opacity: 1;
}

.listings-region-modal__profile-hint {
	margin: 0.75rem 0 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.45;
}

.listings-region-modal__empty {
	padding: 1rem 0.875rem;
	color: var(--muted-foreground);
	font-size: 0.875rem;
	text-align: center;
}

.listings-region-modal__footer {
	display: flex;
	gap: 0.75rem;
	padding: 0.875rem 1rem 1rem;
	border-top: 1px solid var(--border);
	background: var(--background);
}

.listings-region-modal__footer .kt-btn-outline {
	border-color: var(--border);
	font-weight: 600;
}

.listings-region-modal__apply {
	font-weight: 700;
}

.listings-search-bar__row--simple .listings-search-bar__field {
	grid-column: auto;
}

.listings-search-bar__row--simple > .kt-btn {
	width: auto;
	white-space: nowrap;
}

@media (min-width: 640px) {
	.listings-search-bar__row:not(.listings-search-bar__row--simple) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.listings-search-bar__row:not(.listings-search-bar__row--simple) .listings-search-bar__field {
		grid-column: 1 / -1;
	}
}

@media (min-width: 768px) {
	.listings-search-bar__row:not(.listings-search-bar__row--simple) {
		grid-template-columns: minmax(0, 1fr) repeat(3, minmax(0, 9.5rem)) auto;
		align-items: stretch;
	}

	.listings-search-bar__row:not(.listings-search-bar__row--simple) .listings-search-bar__field {
		grid-column: auto;
	}
}

.listings-search-bar__field {
	position: relative;
	width: 100%;
	min-width: 0;
}

.listings-search-bar__field .field-icon {
	position: absolute;
	left: 0.875rem;
	top: 50%;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1rem;
	height: 1rem;
	transform: translateY(-50%);
	color: var(--muted-foreground);
	font-size: 1rem;
	line-height: 1;
	pointer-events: none;
}

.listings-search-bar__field .kt-input {
	width: 100%;
	min-width: 0;
	padding-left: 2.625rem;
}

.listings-search-bar__row > [data-kt-select-wrapper] {
	width: 100%;
	min-width: 0;
}

.listings-search-bar__row > .kt-btn {
	width: 100%;
}

.listings-search-bar__row--simple > .kt-btn {
	width: auto;
	align-self: stretch;
}

@media (min-width: 768px) {
	.listings-search-bar__row:not(.listings-search-bar__row--simple) > .kt-btn {
		width: auto;
		align-self: stretch;
		white-space: nowrap;
	}
}

.listings-layout {
	display: grid;
	gap: var(--space-6);
}

.listings-layout > .broker-filters-form {
	display: contents;
}

.listings-sidebar {
	display: none;
}

@media (min-width: 1024px) {
	.listings-layout {
		grid-template-columns: 17.5rem minmax(0, 1fr);
		align-items: start;
	}

	.listings-layout--single {
		grid-template-columns: minmax(0, 1fr);
	}

	.listings-layout--sidebar-end {
		grid-template-columns: minmax(0, 1fr) 19rem;
	}

	.listings-sidebar {
		display: grid;
		gap: var(--space-4);
		align-content: start;
		position: sticky;
		top: calc(var(--header-height, 4rem) + var(--space-4));
		align-self: start;
	}

	.listings-sidebar .listings-filters {
		display: block;
		position: static;
		top: auto;
	}
}

.listings-filters {
	display: none;
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

@media (min-width: 1024px) {
	.listings-filters {
		display: block;
		position: sticky;
		top: calc(var(--header-height, 4rem) + var(--space-4));
	}
}

.listings-filters__title {
	font-size: 0.9375rem;
	font-weight: 700;
}

.listings-filters__group {
	margin-top: var(--space-5);
	padding-top: var(--space-5);
	border-top: 1px solid var(--border);
}

.listings-filters__group:first-of-type {
	padding-top: 0;
	border-top: none;
}

.listings-filters__label {
	display: block;
	margin-bottom: var(--space-2);
	font-size: 0.8125rem;
	font-weight: 600;
}

.listings-filters__options {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.listings-filters__options--row {
	flex-direction: row;
	flex-wrap: wrap;
}

.listings-filters__option {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	font-size: 0.875rem;
	cursor: pointer;
}

.listings-filters__kind-dropdown {
	position: relative;
	width: 100%;
}

.listings-filters__kind-dropdown .kt-dropdown-menu-link .listings-filters__kind-check {
	display: none;
	margin-left: auto;
	flex-shrink: 0;
	width: 0.875rem;
	height: 0.875rem;
	color: var(--primary);
}

.listings-filters__kind-dropdown .kt-dropdown-menu-link.selected .listings-filters__kind-check {
	display: block;
}

.listings-filters__range-dropdown {
	position: relative;
	width: 100%;
}

.listings-filters__range-panel {
	width: min(22rem, calc(100vw - 2rem));
	padding: var(--space-4);
}

.listings-filters__range-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-2);
	margin-bottom: var(--space-3);
}

.listings-filters__range-head .listings-filters__label {
	margin-bottom: 0;
}

.listings-filters__range-reset {
	flex-shrink: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--primary);
	cursor: pointer;
}

.listings-filters__range-reset:hover {
	text-decoration: underline;
}

.listings-filters__range-dropdown--sheet > .listings-filters__range-head {
	margin-bottom: 0.625rem;
}

.listings-filters__range-dropdown--sheet {
	width: 100%;
}

.listings-filters__range-panel--sheet {
	width: 100%;
	padding: 0;
	position: static;
	display: block;
	box-shadow: none;
	border: none;
	background: transparent;
}

.listings-filters__range-panel.open {
	z-index: var(--z-dropdown);
}

.listings-filters__range-slider-wrap {
	margin-bottom: var(--space-4);
}

.listings-filters__range-bounds {
	display: flex;
	justify-content: space-between;
	margin-bottom: var(--space-2);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.listings-filters__dual-range {
	position: relative;
	height: 1.25rem;
}

.listings-filters__dual-range-track,
.listings-filters__dual-range-fill {
	position: absolute;
	top: 50%;
	left: 0;
	height: 0.25rem;
	border-radius: 9999px;
	transform: translateY(-50%);
	pointer-events: none;
}

.listings-filters__dual-range-track {
	width: 100%;
	background: color-mix(in oklab, var(--muted-foreground) 18%, var(--border));
}

.listings-filters__dual-range-fill {
	background: var(--primary);
}

.listings-filters__dual-range-input {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1.25rem;
	margin: 0;
	appearance: none;
	background: transparent;
	pointer-events: none;
}

.listings-filters__dual-range-input::-webkit-slider-thumb {
	appearance: none;
	width: 1.125rem;
	height: 1.125rem;
	border: 3px solid var(--primary);
	border-radius: 50%;
	background: var(--background);
	box-shadow: 0 1px 3px rgb(0 0 0 / 0.12);
	pointer-events: auto;
	cursor: pointer;
}

.listings-filters__dual-range-input::-moz-range-thumb {
	width: 1.125rem;
	height: 1.125rem;
	border: 3px solid var(--primary);
	border-radius: 50%;
	background: var(--background);
	box-shadow: 0 1px 3px rgb(0 0 0 / 0.12);
	pointer-events: auto;
	cursor: pointer;
}

.listings-filters__dual-range-input::-webkit-slider-runnable-track,
.listings-filters__dual-range-input::-moz-range-track {
	height: 0.25rem;
	background: transparent;
}

.listings-filters__dual-range-input--max {
	z-index: 2;
}

.listings-filters__dual-range-input--min {
	z-index: 3;
}

.listings-filters__dual-range-input.is-active {
	z-index: 4;
}

.listings-filters__range-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: var(--space-4);
}

.listings-filters__range-chip {
	padding: 0.3125rem 0.625rem;
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--background);
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--foreground);
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.listings-filters__range-chip:hover,
.listings-filters__range-chip.is-active {
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
	background: color-mix(in oklab, var(--primary) 8%, var(--background));
	color: var(--primary);
}

.listings-filters__range-inputs {
	margin-bottom: 0;
}

.listings-filters__actions {
	display: flex;
	gap: var(--space-2);
	margin-top: var(--space-5);
	padding-top: var(--space-5);
	border-top: 1px solid var(--border);
}

.listings-toolbar {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-3);
	margin-bottom: var(--space-4);
	min-width: 0;
}

.listings-toolbar__count {
	font-size: 1rem;
	color: var(--muted-foreground);
	flex: 1 1 auto;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.listings-toolbar__count strong {
	color: var(--foreground);
	font-weight: 600;
}

.listings-toolbar__actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--space-2);
	flex-shrink: 0;
	min-width: 0;
	position: relative;
	z-index: 1;
}

.listings-toolbar__sort {
	flex: 0 1 auto;
	min-width: 84px;
	max-width: 11rem;
}

@media (min-width: 640px) {
	.listings-toolbar {
		flex-direction: row;
		align-items: center;
	}

	.listings-toolbar__sort {
		flex: 0 0 11rem;
		width: 11rem;
		max-width: none;
	}
}

.listings-toolbar__actions .kt-btn-sm,
.listings-toolbar__actions .listings-toolbar__sort {
	height: calc(var(--spacing) * 7);
	min-height: calc(var(--spacing) * 7);
}

.listings-toolbar__actions .listings-toolbar__sort .kt-select {
	height: 100%;
	min-height: 100%;
}

#filterDrawer.kt-drawer:not(.open) {
	visibility: hidden;
	pointer-events: none;
}

.filter-sheet.kt-drawer:not(.open) {
	visibility: hidden;
	pointer-events: none;
}

.filter-sheet.kt-drawer {
	inset-inline: 0;
	top: auto;
	bottom: 0;
	max-height: 85dvh;
	border-radius: 1.25rem 1.25rem 0 0;
	box-shadow: 0 -8px 30px rgba(15, 23, 42, 0.18);
	z-index: var(--z-drawer);
}

.filter-sheet__grip {
	flex-shrink: 0;
	width: 2.5rem;
	height: 0.25rem;
	margin: 0.625rem auto 0;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--muted-foreground) 35%, transparent);
}

.filter-sheet__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem 1.25rem;
	border-bottom: 1px solid var(--border);
}

.filter-sheet__content {
	flex-grow: 1;
	overflow-y: auto;
	padding: 1rem 1.25rem;
	-webkit-overflow-scrolling: touch;
}

.filter-sheet__group + .filter-sheet__group {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--border);
}

.filter-sheet__group .listings-filters__range-head .listings-filters__label {
	margin-bottom: 0;
}

.filter-sheet__options {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.filter-check-option {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin: 0;
	padding: 0.5rem 0.875rem 0.5rem 0.625rem;
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--background);
	color: var(--foreground);
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	user-select: none;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.filter-check-option__input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.filter-check-option__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.125rem;
	height: 1.125rem;
	flex-shrink: 0;
	border: 1.5px solid var(--border);
	border-radius: 9999px;
	font-size: 0.625rem;
	line-height: 1;
	color: transparent;
	background: transparent;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.filter-check-option:has(.filter-check-option__input:checked),
.filter-check-option.is-active {
	border-color: color-mix(in oklab, var(--primary) 45%, var(--border));
	background: color-mix(in oklab, var(--primary) 8%, var(--background));
	color: var(--primary);
}

.filter-check-option:has(.filter-check-option__input:checked) .filter-check-option__check,
.filter-check-option.is-active .filter-check-option__check {
	border-color: var(--primary);
	background: var(--primary);
	color: #fff;
}

.filter-check-option--row {
	display: flex;
	width: 100%;
	padding: 0.5rem 0.625rem;
	border: none;
	border-radius: 0.5rem;
	background: transparent;
	font-weight: 500;
	font-size: 0.875rem;
}

.filter-check-option--row:hover {
	background: color-mix(in oklab, var(--muted) 40%, var(--background));
}

.filter-check-option--row:has(.filter-check-option__input:checked),
.filter-check-option--row.is-active {
	border: none;
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
}

.filter-sheet__footer {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.875rem 1.25rem calc(0.875rem + env(safe-area-inset-bottom));
	border-top: 1px solid var(--border);
}

.filter-sheet__clear {
	flex: 0 0 auto;
}

.filter-sheet__apply {
	flex: 1 1 auto;
}

@media (min-width: 1024px) {
	.filter-sheet.kt-drawer,
	.filter-sheet.kt-drawer-top {
		inset: auto;
		top: 50%;
		left: 50%;
		right: auto;
		bottom: auto;
		width: min(32rem, calc(100vw - 3rem));
		max-height: min(85dvh, 44rem);
		border-radius: 1.25rem;
		box-shadow: 0 20px 48px rgba(15, 23, 42, 0.22);
		--tw-translate-x: -50%;
		--tw-translate-y: calc(-50% + 1.25rem);
		translate: -50% calc(-50% + 1.25rem);
	}

	.filter-sheet.kt-drawer.open,
	.filter-sheet.kt-drawer-top.open[data-kt-drawer-initialized],
	.open[data-kt-drawer-initialized] .filter-sheet.kt-drawer-top {
		--tw-translate-x: -50%;
		--tw-translate-y: -50%;
		translate: -50% -50%;
	}

	.filter-sheet__grip {
		display: none;
	}
}

.listings-view-toggle {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	height: calc(var(--spacing) * 7);
	padding: 0.125rem;
	border: 1px solid var(--border);
	border-radius: 0.625rem;
	background: var(--secondary);
	position: relative;
	z-index: 1;
}

.listings-view-toggle__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--spacing) * 6.5);
	height: calc(var(--spacing) * 6.5);
	border: none;
	border-radius: 0.5rem;
	background: transparent;
	color: var(--muted-foreground);
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease;
}

.listings-view-toggle__btn.active,
.listings-view-toggle__btn:hover {
	color: var(--primary);
}

.listings-view-toggle__btn.active {
	background: var(--card);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

a.listings-view-toggle__btn {
	text-decoration: none;
}

@media (max-width: 639px) {
	[data-listings-view="grid"] {
		display: none;
	}
}

.listings-active-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
}

.listings-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	padding: 0.2rem 0.625rem;
	border-radius: 9999px;
	border: 1px solid color-mix(in oklab, var(--primary) 20%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--background));
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--foreground);
}

.listings-filter-chip button,
.listings-filter-chip a {
	display: inline-flex;
	border: none;
	background: transparent;
	color: var(--muted-foreground);
	cursor: pointer;
	padding: 0;
	line-height: 1;
	text-decoration: none;
}

.listings-filter-chip button:hover,
.listings-filter-chip a:hover {
	color: var(--destructive);
}

.listings-mobile-filter-btn {
	display: inline-flex;
	flex-shrink: 0;
}

@media (min-width: 1024px) {
	.listings-mobile-filter-btn {
		display: none;
	}
}

.property-card--link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.property-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

@media (min-width: 640px) {
	.property-list .property-card {
		display: grid;
		grid-template-columns: 20rem minmax(0, 1fr);
		gap: 0;
		align-items: stretch;
	}

	.property-list .property-card:hover {
		transform: translateY(-4px);
	}
}

.property-list .property-card:hover {
	transform: none;
}

@media (min-width: 640px) {
	.property-list .property-card__media {
		width: auto;
		max-width: none;
		min-height: 100%;
		border-radius: 0;
	}

	.property-list .property-card__media::after {
		display: block;
	}

	.property-list .property-card:hover .property-card__media img {
		transform: scale(1.06);
	}
}

.property-list .property-card__media {
	width: 100%;
	max-width: 100%;
	height: 100%;
	align-self: stretch;
}

.property-list .property-card__media img {
	display: block;
}

.property-list .property-card__media::after {
	display: none;
}

.property-list .property-card:hover .property-card__media img {
	transform: none;
}

@media (min-width: 640px) {
	.property-list .property-card__badge {
		top: 0.75rem;
		left: 0.75rem;
		font-size: inherit;
	}
}

.property-list .property-card__badge {
	top: 0.75rem;
	left: 0.75rem;
	font-size: 0.625rem;
}

@media (min-width: 640px) {
	.property-list .property-card__fav {
		display: flex;
	}
}

@media (min-width: 640px) {
	.property-list .property-card__body {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		flex: 1;
		gap: var(--space-1);
		min-width: 0;
		min-height: 100%;
		padding: var(--space-4) var(--space-5);
	}
}

/* Grid / list: price + meta on one row */
.property-grid .property-card__stats,
.property-list .property-card__stats {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0;
	min-width: 0;
}

.property-grid .property-card__title,
.property-list .property-card__title,
.property-grid .property-card__price,
.property-list .property-card__price,
.property-grid .property-card__location,
.property-list .property-card__location,
.property-grid .property-card__meta,
.property-list .property-card__meta,
.property-grid .property-card__excerpt,
.property-list .property-card__excerpt {
	order: unset;
}

.property-grid .property-card__posted,
.property-list .property-card__posted {
	order: 99;
	margin-top: auto;
}

.property-grid .property-card__price,
.property-list .property-card__price {
	margin: 0;
}

.property-grid .property-card__meta,
.property-list .property-card__meta {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	margin: 0;
	gap: 0;
}

.property-grid .property-card__meta:empty,
.property-list .property-card__meta:empty {
	display: none;
}

.property-grid .property-card__meta::before,
.property-list .property-card__meta::before {
	content: "·";
	margin: 0 0.35em;
	font-weight: 400;
	color: var(--muted-foreground);
}

.property-grid .property-card__meta .meta-chip,
.property-list .property-card__meta .meta-chip {
	padding: 0;
	border-radius: 0;
	background: transparent;
	font-size: 0.8125rem;
	font-weight: 400;
	color: var(--foreground);
}

.property-grid .property-card__meta .meta-chip + .meta-chip::before,
.property-list .property-card__meta .meta-chip + .meta-chip::before {
	content: "·";
	margin: 0 0.35em;
	font-weight: 400;
	color: var(--muted-foreground);
}

@media (max-width: 639px) {
	.property-grid,
	.property-list {
		gap: 0;
	}

	.property-grid .property-card,
	.property-list .property-card {
		position: relative;
		display: grid;
		grid-template-columns: 7rem minmax(0, 1fr);
		grid-template-areas:
      "title title"
      "media body";
		column-gap: var(--space-3);
		padding: var(--space-3) 0;
		border-radius: 0;
		border-width: 0 0 1px;
	}

	.property-grid .property-card:last-child,
	.property-list .property-card:last-child {
		border-bottom: none;
	}

	.property-grid .property-card:hover,
	.property-list .property-card:hover {
		transform: none;
		box-shadow: none;
	}

	.property-grid .property-card__title,
	.property-list .property-card__title {
		grid-area: title;
		order: unset;
		margin: 0;
		font-size: 0.875rem;
		font-weight: 700;
		line-height: 1.35;
		-webkit-line-clamp: 2;
	}

	.property-grid .property-card__media,
	.property-list .property-card__media {
		grid-area: media;
		aspect-ratio: unset;
		width: 7rem;
		height: 7.25rem;
		min-height: 7.25rem;
		align-self: start;
		border-radius: 0.375rem;
	}

	.property-grid .property-card__media::after,
	.property-list .property-card__media::after {
		display: none;
	}

	.property-grid .property-card:hover .property-card__media img,
	.property-list .property-card:hover .property-card__media img {
		transform: none;
	}

	.property-grid .property-card__badge,
	.property-list .property-card__badge {
		display: none;
	}

	.property-grid .property-card__body,
	.property-list .property-card__body {
		grid-area: body;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		flex: 1;
		gap: 0.25rem;
		padding: 0;
		min-width: 0;
		min-height: 100%;
	}

	.property-grid .property-card__price,
	.property-list .property-card__price {
		font-size: 0.875rem;
		line-height: 1.4;
	}

	.property-grid .property-card__location,
	.property-list .property-card__location {
		order: unset;
		margin: 0;
		padding-right: 2.75rem;
		font-size: 0.75rem;
	}

	.property-grid .member-saved-card__date,
	.property-list .member-saved-card__date {
		order: unset;
		margin: 0;
		padding-right: 2.75rem;
		font-size: 0.75rem;
	}

	.property-grid .property-card__excerpt,
	.property-list .property-card__excerpt {
		display: none;
	}

	.property-grid .property-card__posted,
	.property-list .property-card__posted {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: var(--space-1);
		margin-top: auto;
		padding-top: var(--space-1);
		font-size: 0.6875rem;
		color: var(--muted-foreground);
	}

	.property-grid .property-card__fav,
	.property-list .property-card__fav {
		display: none;
		top: auto;
		right: var(--space-4);
		bottom: var(--space-4);
		width: 2rem;
		height: 2rem;
		border: 1px solid var(--border);
		border-radius: 0.375rem;
		background: var(--card);
	}

	/* PRO cards — hiện nhãn trên mobile */
	.property-grid .property-card--pro .property-card__badge,
	.property-list .property-card--pro .property-card__badge {
		display: inline-flex;
		left: 0.5rem;
		top: 0.5rem;
		transform: scale(0.88);
		transform-origin: top left;
	}
}

.property-grid .property-card__excerpt {
	display: none;
}

.property-grid .property-card__posted {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: auto;
	padding-top: var(--space-1);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.property-grid .property-card__posted > span {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.property-grid .property-card__posted > span + span::before {
	content: "·";
	margin-right: var(--space-2);
	color: var(--muted-foreground);
}

.property-list .property-card__posted {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: auto;
	padding-top: var(--space-2);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.property-list .property-card__posted > span,
.property-grid .property-card__posted > span {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.property-list .property-card__posted > span + span::before {
	content: "·";
	margin-right: var(--space-2);
	color: var(--muted-foreground);
}

@media (min-width: 640px) {
	.property-list .property-card__posted {
		margin-top: auto;
		padding-top: var(--space-2);
		font-size: 0.75rem;
	}

	.property-list .property-card__excerpt {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		margin: var(--space-1) 0 0;
		font-size: 0.8125rem;
		line-height: 1.5;
		color: var(--muted-foreground);
	}
}

.listings-pagination,
.member-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	margin-top: var(--space-8);
}

.member-pagination {
	margin-top: var(--space-6);
}

.listings-pagination__ellipsis,
.member-pagination__ellipsis {
	padding: 0 var(--space-2);
	font-size: 0.875rem;
	line-height: 1;
	color: var(--muted-foreground);
}

.listings-empty {
	grid-column: 1 / -1;
	padding: var(--space-10) var(--space-5);
	text-align: center;
}

.listings-empty__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin-inline: auto;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	color: var(--primary);
	font-size: 1.5rem;
}

.listings-empty__title {
	margin-top: var(--space-4);
	font-size: 1rem;
	font-weight: 600;
	color: var(--foreground);
}

.listings-empty__desc {
	margin-top: var(--space-2);
	max-width: 24rem;
	margin-inline: auto;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--muted-foreground);
}

.listings-empty .kt-btn {
	margin-top: var(--space-4);
}

.listings-empty--compact {
	padding: var(--space-8) var(--space-4);
}

.listings-empty--compact .listings-empty__icon {
	width: 3rem;
	height: 3rem;
	font-size: 1.25rem;
}

.listings-empty--on-dark .listings-empty__icon {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.listings-empty--on-dark .listings-empty__title {
	color: #fff;
}

.listings-empty--on-dark .listings-empty__desc {
	color: rgba(255, 255, 255, 0.72);
}

.property-grid > .listings-empty,
.broker-grid > .listings-empty,
.project-listings-grid > .listings-empty,
.property-list > .listings-empty {
	min-height: 14rem;
}

.listings-reel-feed > .listings-empty {
	min-height: min(60vh, 28rem);
	margin: auto;
}

.listings-drawer-filters {
	padding: var(--space-4);
}

.listings-drawer-filters .listings-filters {
	display: block;
	border: none;
	padding: 0;
	background: transparent;
}

.listings-drawer-filters .listings-filters__group:first-of-type {
	margin-top: 0;
}

.listings-drawer-filters .broker-filters-form .listings-filters {
	display: block;
	border: none;
	padding: 0;
	background: transparent;
}

/* Listings map mode */
.listings-map-body {
	overflow: hidden;
}

.listings-map-page {
	display: flex;
	flex-direction: column;
	height: calc(100dvh);
	min-height: 28rem;
}

.listings-map-canvas__chrome {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.listings-map-canvas__top {
	position: absolute;
	top: calc(env(safe-area-inset-top, 0px) + var(--space-3));
	left: var(--space-3);
	right: var(--space-3);
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--space-2);
	pointer-events: none;
}

.listings-map-canvas__top > * {
	pointer-events: auto;
}

.listings-map-topbar {
	position: absolute;
	display: flex;
	align-items: center;
	gap: var(--space-2);
	flex-shrink: 0;
	pointer-events: auto;
	z-index: 3;
}

@media (max-width: 1023px) {
	.listings-map-topbar {
		top: 50%;
		left: calc(env(safe-area-inset-left, 0px) + var(--space-3));
		right: auto;
		transform: translateY(-50%);
	}

	.listings-map-topbar .listings-map-brand--map {
		display: none;
	}
}

.listings-map-search--canvas {
	flex: 1 1 auto;
	min-width: 0;
	margin-top: 0;
}

.listings-map-search--canvas .listings-search-bar__composite {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.25rem;
	border-radius: 0.875rem;
	background: color-mix(in oklab, var(--card) 92%, transparent);
	backdrop-filter: blur(16px) saturate(1.15);
	-webkit-backdrop-filter: blur(16px) saturate(1.15);
	box-shadow: 0 4px 20px rgba(15, 23, 42, 0.12);
	flex-direction: row;
	align-items: center;
	overflow: visible;
}

.listings-map-search--canvas .hero-search-suggest--listings {
	z-index: 40;
}

.listings-map-canvas__chrome,
.listings-map-canvas__top,
.listings-map-search--canvas,
.listings-map-search--canvas .listings-search-bar__search,
.listings-map-search--canvas .listings-search-bar__field {
	overflow: visible;
}

.listings-map-search--canvas .listings-search-bar__region {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 9.5rem;
	min-height: 2.5rem;
	padding-inline: 0.625rem;
}

.listings-map-search--canvas .listings-search-bar__region-text {
	font-size: 0.8125rem;
}

.listings-map-search--canvas .listings-search-bar__divider {
	display: block;
	height: 1.5rem;
}

.listings-map-search--canvas .listings-search-bar__search {
	flex-direction: row;
	align-items: center;
	gap: 0.25rem;
}

.listings-map-search--canvas .listings-search-bar__search .listings-search-bar__field .kt-input {
	min-height: 2.5rem;
	font-size: 0.875rem;
}

.listings-map-search--canvas .listings-map-search__submit {
	flex-shrink: 0;
	margin: 0.125rem;
	font-size: 0.8125rem;
}

.listings-map-search--canvas .listings-map-search__submit-icon {
	font-size: 1rem;
	line-height: 1;
}

.listings-map-search--canvas .listings-search-bar__more-filters {
	min-height: 2.25rem;
	margin-left: 0.125rem;
	padding-inline: 0.625rem;
	border: 0;
	background: transparent;
	font-size: 0.75rem;
}

.listings-map-search--canvas .listings-search-bar__more-filters.is-active,
.listings-map-search--canvas .listings-search-bar__more-filters:hover {
	background: color-mix(in oklab, var(--primary) 8%, transparent);
}

.listings-map-search--canvas .listings-filters--bar .listings-filters__bar-btn {
	min-height: 2.25rem;
	max-width: 9.5rem;
	padding-inline: 0.625rem;
	font-size: 0.75rem;
	border: 0;
}

.listings-map-search--canvas .listings-search-bar__divider--filters {
	margin-right: 0.125rem;
}

@media (max-width: 1023px) {
	.listings-map-search--canvas .listings-search-bar__composite {
		min-height: 2.5rem;
		padding: 0.1875rem;
		border-radius: 0.75rem;
	}

	.listings-map-search--canvas .listings-search-bar__region {
		flex: 0 1 auto;
		max-width: 6.75rem;
		min-width: 0;
		min-height: 2.25rem;
		padding-inline: 0.5rem;
		gap: 0.25rem;
		overflow: hidden;
		opacity: 1;
		transition:
			max-width 0.28s ease,
			min-width 0.28s ease,
			padding 0.28s ease,
			gap 0.28s ease,
			opacity 0.2s ease,
			flex-basis 0.28s ease;
	}

	.listings-map-search--canvas .listings-search-bar__region-icon {
		font-size: 1rem;
	}

	.listings-map-search--canvas .listings-search-bar__region-chevron {
		display: none;
	}

	.listings-map-search--canvas .listings-search-bar__region-text {
		font-size: 0.75rem;
		font-weight: 600;
	}

	.listings-map-search--canvas .listings-search-bar__divider {
		display: block;
		height: 1.25rem;
		transition: width 0.28s ease, opacity 0.2s ease, margin 0.28s ease;
	}

	.listings-map-search--canvas .listings-search-bar__search {
		flex: 1 1 auto;
		min-width: 0;
		transition: flex-grow 0.28s ease, flex-basis 0.28s ease;
	}

	.listings-map-search--canvas .listings-search-bar__search .listings-search-bar__field .kt-input {
		min-height: 2.25rem;
		padding-left: 2rem;
		font-size: 0.8125rem;
		background: transparent;
		border-radius: 9999px;
	}

	.listings-map-search--canvas .listings-search-bar__search .listings-search-bar__field .field-icon {
		left: 0.5rem;
		font-size: 0.8125rem;
	}

	/* Focus search: collapse region so search / suggest span full bar width */
	.listings-map-search--canvas .listings-search-bar__composite:has(.listings-search-bar__search:focus-within) .listings-search-bar__region {
		flex: 0 0 0;
		gap: 0;
		max-width: 0;
		min-width: 0;
		padding-inline: 0;
		opacity: 0;
		pointer-events: none;
	}

	.listings-map-search--canvas .listings-search-bar__composite:has(.listings-search-bar__search:focus-within) > .listings-search-bar__divider {
		width: 0;
		opacity: 0;
		margin: 0;
		overflow: hidden;
	}

	.listings-map-search--canvas .listings-search-bar__composite:has(.listings-search-bar__search:focus-within) .listings-search-bar__search {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}
}

@media (max-width: 767px) {
	.listings-map-search--canvas .listings-search-bar__composite {
		flex-direction: row;
		align-items: center;
	}

	.listings-map-search--canvas .listings-search-bar__region {
		width: auto;
		max-width: 9.75rem;
		border-radius: 0.5rem;
	}

	.listings-map-search--canvas .listings-search-bar__search {
		flex-direction: row;
		align-items: center;
		gap: 0.25rem;
	}
}

@media (min-width: 640px) and (max-width: 1023px) {
	.listings-map-search--canvas .listings-search-bar__region {
		max-width: 10rem;
	}

	.listings-map-search--canvas .listings-search-bar__region-chevron {
		display: inline-flex;
	}

	.listings-map-search--canvas .listings-search-bar__region-text {
		font-size: 0.8125rem;
	}
}

@media (min-width: 640px) {
	.listings-map-canvas__top {
		gap: var(--space-3);
	}

	.listings-map-search--canvas .listings-search-bar__region {
		max-width: 11rem;
	}
}

@media (min-width: 1024px) {
	.listings-map-canvas__top {
		top: var(--space-4);
		left: var(--space-4);
		right: var(--space-4);
		flex-direction: row;
		align-items: stretch;
	}

	.listings-map-topbar {
		display: none;
	}

	.listings-map-search--canvas {
		margin-inline: auto;
		width: min(100%, 58rem);
	}

	.listings-map-search--canvas .listings-search-bar__region {
		max-width: 10.5rem;
		min-width: 0;
	}

	.listings-map-search--canvas .listings-search-bar__search {
		flex: 1 1 10rem;
		min-width: 8rem;
	}

	.listings-map-search--canvas .listings-filters--bar {
		flex: 0 1 auto;
		max-width: none;
	}
}

@media (min-width: 1280px) {
	.listings-map-search--canvas {
		width: min(100%, 64rem);
	}

	.listings-map-search--canvas .listings-search-bar__region {
		max-width: 12rem;
	}

	.listings-map-search--canvas .listings-filters--bar .listings-filters__bar-btn {
		max-width: 11rem;
		font-size: 0.8125rem;
	}
}

.listings-map-brand {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.listings-map-brand:hover {
	opacity: 0.85;
}

.listings-map-brand img {
	height: 1.75rem;
	width: auto;
}

.listings-map-brand--panel img {
	height: 1.75rem;
}

@media (min-width: 1024px) {
	.listings-map-brand--panel img {
		height: 2.45rem;
	}
}

.listings-map-brand--map {
	padding: 0.4375rem 0.75rem;
	border-radius: 0.625rem;
	border: 1px solid var(--border);
	background: color-mix(in oklab, var(--card) 94%, transparent);
	backdrop-filter: blur(8px);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.listings-map-topbar__back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.625rem;
	border: 1px solid var(--border);
	background: color-mix(in oklab, var(--card) 94%, transparent);
	backdrop-filter: blur(8px);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
	color: var(--foreground);
	flex-shrink: 0;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.listings-map-topbar__back:hover {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 30%, var(--border));
}

.listings-map-search {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	flex: 1 1 auto;
	gap: var(--space-2);
	min-width: 0;
}

.listings-map-search__field {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}

.listings-map-search__field .field-icon {
	position: absolute;
	left: 0.625rem;
	top: 50%;
	z-index: 1;
	transform: translateY(-50%);
	color: var(--muted-foreground);
	font-size: 0.875rem;
	line-height: 1;
	pointer-events: none;
}

.listings-map-search__field .kt-input {
	padding-left: 2.125rem;
}

.listings-map-layout {
	display: grid;
	flex: 1 1 auto;
	min-height: 0;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
}

@media (min-width: 1024px) {
	.listings-map-layout {
		grid-template-columns: minmax(18rem, 26rem) minmax(0, 1fr);
	}
}

.listings-map-panel {
	display: none;
	flex-direction: column;
	min-height: 0;
	border-right: 1px solid var(--border);
	background: var(--background);
}

@media (min-width: 1024px) {
	.listings-map-panel {
		display: flex;
	}
}

.listings-map-panel__head {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding: var(--space-3);
	border-bottom: 1px solid var(--border);
}

.listings-map-panel__intro {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: var(--space-3);
	min-width: 0;
}

.listings-map-panel__intro-text {
	min-width: 0;
}

.listings-map-panel__breadcrumb {
	margin-bottom: 0.25rem;
	font-size: 0.6875rem;
	line-height: 1.3;
}

.listings-map-panel__intro .listings-page-head__title {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.02em;
	overflow-wrap: anywhere;
}

.listings-map-panel__intro .listings-page-head__desc {
	display: none;
}

.listings-map-panel__toolbar {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	min-width: 0;
}

.listings-map-panel__count {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.35;
	color: var(--muted-foreground);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.listings-map-count {
	display: inline-flex;
	align-items: center;
	vertical-align: baseline;
}

.listings-map-count__skeleton {
	display: inline-block;
	width: 2.75rem;
	height: 0.875rem;
	flex-shrink: 0;
}

.listings-map-count__value {
	color: var(--foreground);
	font-weight: 600;
}

.listings-map-panel__count .listings-map-count__value {
	font-weight: 600;
}

.listings-map-list--loading {
	position: relative;
}

.listings-map-list--loading > .listings-map-card:not(.listings-map-card--skeleton) {
	opacity: 0.5;
	transition: opacity 0.15s ease;
}

.listings-map-list--loading::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: color-mix(in oklab, var(--background) 40%, transparent);
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.listings-map-list--loading > .listings-map-card:not(.listings-map-card--skeleton) {
		transition: none;
	}

	.listings-map-count__skeleton {
		animation: none;
	}
}

.listings-map-panel__filter {
	flex-shrink: 0;
}

@media (min-width: 1024px) {
	.listings-map-panel__filter {
		display: none;
	}
}

.listings-map-panel__sort {
	flex: 0 1 7.5rem;
	min-width: 5.5rem;
	max-width: 9rem;
}

.listings-map-panel__toolbar .listings-map-panel__filter,
.listings-map-panel__toolbar .listings-map-panel__sort {
	height: calc(var(--spacing) * 7);
	min-height: calc(var(--spacing) * 7);
}

.listings-map-panel__chips {
	margin-bottom: 0;
}

.listings-map-list {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	padding: var(--space-3);
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.listings-map-list__skeleton {
	display: contents;
}

.listings-map-list__sr-status {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.listings-map-card--skeleton {
	pointer-events: none;
	cursor: default;
}

.listings-map-card--skeleton:hover,
.listings-map-card--skeleton.is-active {
	border-color: var(--border);
	box-shadow: none;
	outline: none;
}

.listings-map-card--skeleton .listings-map-card__link {
	display: grid;
}

.listings-map-card--skeleton .listings-map-card__thumb {
	border-radius: 0.5rem;
}

.listings-map-card__skeleton-line {
	height: 0.75rem;
	border-radius: calc(var(--radius) - 2px);
}

.listings-map-card__skeleton-line--price {
	width: 45%;
	height: 0.875rem;
	margin-bottom: 0.25rem;
}

.listings-map-card__skeleton-line--title {
	width: 100%;
	margin-top: 0.125rem;
}

.listings-map-card__skeleton-line--title + .listings-map-card__skeleton-line--title {
	width: 85%;
}

.listings-map-card__skeleton-line--meta {
	width: 70%;
	margin-top: 0.25rem;
	height: 0.6875rem;
}

@media (prefers-reduced-motion: reduce) {
	.listings-map-card--skeleton .kt-skeleton {
		animation: none;
	}
}

.listings-no-results {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-4);
	padding: var(--space-6) var(--space-4);
	text-align: center;
	min-height: min(100%, 24rem);
}

.listings-no-results__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5rem;
	height: 5rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--muted) 55%, var(--background));
	color: var(--muted-foreground);
	font-size: 2rem;
}

.listings-no-results__title {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--muted-foreground);
}

.listings-no-results__tip {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	width: 100%;
	max-width: 22rem;
	padding: var(--space-3) var(--space-4);
	border-radius: 0.75rem;
	background: color-mix(in oklab, var(--primary) 10%, var(--background));
	text-align: left;
}

.listings-no-results__tip-icon {
	flex-shrink: 0;
	display: inline-flex;
	margin-top: 0.125rem;
	color: var(--primary);
}

.listings-no-results__tip-text {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--foreground);
}

.listings-no-results__tip-text strong {
	font-weight: 600;
}

.listings-no-results__chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-2);
	width: 100%;
}

.listings-no-results__chip {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: 0.375rem 0.625rem;
	border-radius: 0.5rem;
	border: 1px solid var(--border);
	background: color-mix(in oklab, var(--muted) 35%, var(--background));
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--foreground);
}

.listings-no-results__chip > i {
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.listings-no-results__chip-label {
	max-width: 12rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.listings-no-results__chip a {
	display: inline-flex;
	border: none;
	background: transparent;
	color: var(--muted-foreground);
	cursor: pointer;
	padding: 0;
	line-height: 1;
	text-decoration: none;
}

.listings-no-results__chip a:hover {
	color: var(--destructive);
}

.listings-map-error {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-4);
	padding: var(--space-6) var(--space-4);
	text-align: center;
	min-height: min(100%, 24rem);
}

.listings-map-error__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5rem;
	height: 5rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--destructive) 12%, var(--background));
	color: var(--destructive);
	font-size: 2rem;
}

.listings-map-error__message {
	margin: 0;
	max-width: 22rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	font-weight: 500;
	color: var(--foreground);
}

.listings-map-panel__more {
	flex-shrink: 0;
	padding: var(--space-3) var(--space-4) var(--space-4);
	border-top: 1px solid var(--border);
}

.listings-map-card {
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: var(--card);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	cursor: pointer;
}

.listings-map-card.is-active,
.listings-map-card:hover {
	border-color: color-mix(in oklab, var(--primary) 45%, var(--border));
	box-shadow: 0 4px 16px color-mix(in oklab, var(--primary) 12%, transparent);
}

.listings-map-card.is-active {
	outline: 2px solid color-mix(in oklab, var(--primary) 35%, transparent);
	outline-offset: -1px;
}

.listings-map-card__link {
	display: grid;
	grid-template-columns: 5.5rem minmax(0, 1fr);
	gap: var(--space-3);
	padding: var(--space-2);
	text-decoration: none;
	color: inherit;
}

.listings-map-card__thumb {
	position: relative;
	overflow: hidden;
	border-radius: 0.5rem;
	aspect-ratio: 1;
}

.listings-map-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.listings-map-card__badge {
	position: absolute;
	top: 0.375rem;
	left: 0.375rem;
	font-size: 0.625rem;
}

.listings-map-card__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding-block: 0.125rem;
}

.listings-map-card__price {
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--primary);
}

.listings-map-card__title {
	margin-top: 0.125rem;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.listings-map-card__meta {
	margin-top: 0.25rem;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.listings-map-canvas {
	position: relative;
	min-height: 0;
	min-width: 0;
}

#listings-map {
	position: absolute;
	inset: 0;
	z-index: 0;
}

#listings-map .leaflet-control-attribution {
	font-size: 0.625rem;
	opacity: 0.75;
}

.listings-map-marker-wrap {
	background: transparent;
	border: none;
}

.listings-map-marker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.3125rem 0.625rem;
	border-radius: 9999px;
	border: 2px solid var(--card);
	background: var(--foreground);
	color: var(--background);
	font-size: 0.75rem;
	font-weight: 700;
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.2);
	transform: translate(-50%, -100%);
	cursor: pointer;
	transition: transform 0.15s ease, background 0.15s ease;
}

.listings-map-marker-wrap.is-active .listings-map-marker,
.listings-map-marker-wrap:hover .listings-map-marker {
	background: var(--primary);
	color: var(--primary-foreground);
	transform: translate(-50%, calc(-100% - 2px)) scale(1.06);
	z-index: 10;
}

.listings-map-controls {
	position: absolute;
	top: auto;
	bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
	right: var(--space-3);
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

@media (min-width: 1024px) {
	.listings-map-controls {
		bottom: var(--space-6);
		right: var(--space-4);
	}
}

.listings-map-controls__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid var(--border);
	border-radius: 0.625rem;
	background: var(--card);
	color: var(--foreground);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.listings-map-controls__btn:hover {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 30%, var(--border));
}

.listings-map-sheet-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	position: absolute;
	left: var(--space-3);
	right: var(--space-3);
	bottom: var(--space-3);
	z-index: 2;
	padding: var(--space-3) var(--space-4);
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--card);
	font-size: 0.8125rem;
	font-weight: 500;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
	cursor: pointer;
}

@media (min-width: 1024px) {
	.listings-map-sheet-toggle {
		display: none;
	}
}

.listings-map-sheet-toggle__handle {
	width: 2rem;
	height: 0.25rem;
	border-radius: 9999px;
	background: var(--border);
}

.listings-map-sheet-toggle__icon {
	margin-left: auto;
	transition: transform 0.25s ease;
}

.listings-map-sheet-open .listings-map-sheet-toggle__icon {
	transform: rotate(180deg);
}

@media (max-width: 1023px) {
	.listings-map-sheet-open .listings-map-layout {
		grid-template-rows: minmax(0, 42%) minmax(0, 58%);
	}

	.listings-map-sheet-open .listings-map-panel {
		display: flex;
		border-right: none;
		border-top: 1px solid var(--border);
		order: 2;
	}

	.listings-map-sheet-open .listings-map-canvas {
		order: 1;
	}
}

.listings-view-toggle__btn[aria-current="page"] {
	pointer-events: none;
}

/* Listings map — detail drawer */
.listings-map-detail-drawer__trigger {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

#listingDetailDrawer.kt-drawer {
	z-index: calc(var(--z-drawer) + 2);
	inset-inline: 0;
	top: auto;
	bottom: 0;
	width: 100%;
	max-width: none;
	max-height: min(88svh, 720px);
	border-radius: 1.25rem 1.25rem 0 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.listings-map-page .listings-map-canvas #listingDetailDrawer.kt-drawer {
	position: absolute;
	inset: auto 0 0;
	width: 100%;
	max-width: none;
	max-height: min(88svh, 720px);
}

@media (min-width: 640px) {
	.listings-map-page .listings-map-canvas #listingDetailDrawer.kt-drawer {
		inset: auto var(--space-4) var(--space-4);
		width: auto;
		max-width: min(32rem, calc(100% - 2 * var(--space-4)));
		margin-inline: auto;
		max-height: min(78dvh, 720px);
		border-radius: 1.25rem;
		border: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
		backdrop-filter: blur(24px) saturate(1.2);
		-webkit-backdrop-filter: blur(24px) saturate(1.2);
		box-shadow:
			0 0 0 1px color-mix(in oklab, var(--foreground) 4%, transparent),
			0 24px 64px rgba(15, 23, 42, 0.18);
	}

	.listings-map-page .listings-map-canvas #listingDetailDrawer .kt-drawer-content {
		padding: 0;
	}

	.listings-map-page .listings-map-canvas .listings-map-detail-drawer__scroll {
		padding: var(--space-4) var(--space-5) var(--space-3);
		padding-top: 0;
	}

	.listings-map-page .listings-map-canvas .listings-map-detail-drawer__footer {
		padding: var(--space-3) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom, 0px));
		background: color-mix(in oklab, var(--card) 88%, transparent);
		backdrop-filter: blur(24px) saturate(1.2);
		-webkit-backdrop-filter: blur(24px) saturate(1.2);
	}

	.listings-map-page .listings-map-canvas .listings-map-detail-drawer__sheet-header {
		padding: var(--space-3) var(--space-5) var(--space-2) !important;
		background: transparent;
	}

	.listings-map-page .listings-map-canvas .listings-map-detail-drawer__handle {
		display: none;
	}

	.listings-map-page .listings-map-canvas .listings-map-detail-drawer__title-row .listings-reel-sidebar__title {
		font-size: 1.0625rem;
	}

	.listings-map-page .listings-map-canvas .listings-map-detail-drawer__location {
		font-size: 0.9375rem;
	}
}

@media (min-width: 768px) {
	.listings-map-page .listings-map-canvas #listingDetailDrawer.kt-drawer {
		max-width: min(36rem, 72%);
		max-height: min(82dvh, 760px);
		border-radius: 1.375rem;
	}
}

@media (min-width: 1024px) {
	.listings-map-page .listings-map-canvas #listingDetailDrawer.kt-drawer {
		max-width: min(42rem, 56%);
		max-height: min(86dvh, 800px);
		inset: auto var(--space-5) var(--space-5);
	}
}

#listingDetailDrawer.kt-drawer:not(.open) {
	visibility: hidden;
	pointer-events: none;
}

#listingDetailDrawer .kt-drawer-content {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	padding: 0;
	overflow: hidden;
	overscroll-behavior: contain;
}

.listings-map-detail-drawer__scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: var(--space-3) var(--space-4);
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.listings-map-detail-drawer__footer {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding: var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--border);
	background: var(--card);
}

.listings-map-detail-drawer__content {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.listings-map-detail-drawer__sheet-header {
	position: sticky;
	top: 0;
	z-index: 2;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.25rem;
	padding: 0.625rem var(--space-3) 0.375rem !important;
	background: var(--card);
	border-bottom: none !important;
}

.listings-map-detail-drawer__handle {
	display: block;
	width: 2.25rem;
	height: 0.25rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--foreground) 16%, transparent);
}

.listings-map-detail-drawer__close {
	position: absolute;
	top: 0.375rem;
	right: var(--space-3);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.875rem;
	height: 1.875rem;
	flex-shrink: 0;
	border: none;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--foreground) 6%, var(--background));
	color: var(--muted-foreground);
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease;
}

.listings-map-detail-drawer__close i {
	font-size: 0.875rem;
}

.listings-map-detail-drawer__close:hover {
	color: var(--foreground);
	background: color-mix(in oklab, var(--foreground) 10%, var(--background));
}

.listings-map-detail-drawer__header {
	position: sticky;
	top: 0;
	z-index: 2;
	background: var(--card);
}

.listings-map-detail-drawer__sheet-header.listings-map-detail-drawer__header {
	border-bottom: none;
}

.listings-map-detail-drawer__head-text {
	min-width: 0;
	padding-right: var(--space-3);
}

.listings-map-detail-drawer__eyebrow {
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--muted-foreground);
}

.listings-map-detail-drawer__head-title {
	margin-top: 0.125rem;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.listings-map-detail-drawer__title-row {
	margin: 0;
}

.listings-map-detail-drawer__title-row .listings-reel-sidebar__title {
	color: var(--foreground);
	font-size: 0.9375rem;
	line-height: 1.4;
}

.listings-map-detail-drawer__price-bar {
	padding-top: 0;
}

.listings-map-detail-drawer__hero {
	position: relative;
	width: 100%;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 0.75rem;
	aspect-ratio: 16 / 10;
	min-height: 10rem;
	background: var(--muted);
}

.listings-map-detail-drawer__hero img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.listings-map-detail-drawer__badge {
	position: absolute;
	top: var(--space-3);
	left: var(--space-3);
}

.listings-map-detail-drawer__price-bar {
	margin: 0;
}

.listings-map-detail-drawer__stats {
	flex-wrap: wrap;
}

.listings-map-detail-drawer__location {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--muted-foreground);
}

.listings-map-detail-drawer__location i {
	margin-top: 0.125rem;
	flex-shrink: 0;
}

.listings-map-detail-drawer__specs {
	margin: 0;
}

.listings-map-detail-drawer__chips {
	margin: 0;
}

.listings-map-detail-drawer__section {
	margin: 0;
}

.listings-map-detail-drawer__section .listing-section__title {
	font-size: 0.9375rem;
}

.listings-map-detail-drawer__contact {
	position: static;
	margin: 0;
}

.listings-map-detail-drawer__contact .listing-contact-card__actions {
	flex-direction: column;
}

.listings-map-detail-drawer__contact .listing-contact-card__actions > .kt-btn {
	flex: none;
	width: 100%;
}

.listings-map-detail-drawer__fullpage {
	margin-top: 0;
}

button.listings-map-card__link {
	width: 100%;
	border: none;
	background: transparent;
	text-align: left;
	cursor: pointer;
	font: inherit;
	color: inherit;
}

/* Listing detail page */
.listing-detail-page {
	padding-block: var(--space-4);
}

@media (min-width: 768px) {
	.listing-detail-page {
		padding-block: var(--space-8);
	}
}

.listing-detail-head {
	margin-bottom: var(--space-5);
}

.listing-detail-head__breadcrumb {
	margin-bottom: var(--space-3);
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	min-width: 0;
	max-width: 100%;
	gap: 0.25rem 0.375rem;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch;
}

.listing-detail-head__breadcrumb::-webkit-scrollbar {
	display: none;
}

.listing-detail-head__breadcrumb > a,
.listing-detail-head__breadcrumb > .kt-breadcrumb-item,
.listing-detail-head__breadcrumb > .kt-breadcrumb-separator {
	flex-shrink: 0;
	white-space: nowrap;
}

.listing-detail-head__breadcrumb > .kt-breadcrumb-separator {
	color: var(--muted-foreground);
	opacity: 0.55;
}

.listing-detail-head__breadcrumb > a {
	color: var(--muted-foreground);
	text-decoration: none;
	transition: color 0.15s ease;
}

.listing-detail-head__breadcrumb > a:hover {
	color: var(--foreground);
}

.listing-detail-head__breadcrumb > .kt-breadcrumb-active {
	color: var(--foreground);
	font-weight: 500;
}

.listing-detail-head__top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-4);
}

.listing-detail-head__title {
	font-size: clamp(1.175rem, 3vw, 1.375rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.025em;
}

.listing-detail-head__location {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-2);
	font-size: 0.9375rem;
	color: var(--muted-foreground);
}

.listing-detail-head__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
}

.listing-detail-head__actions .news-article-share {
	justify-content: flex-end;
}

.listing-gallery {
	position: relative;
	display: grid;
	gap: var(--space-2);
	margin-bottom: var(--space-6);
}

@media (min-width: 768px) {
	.listing-gallery {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
		grid-template-rows: minmax(0, 1fr);
		height: clamp(22rem, 36vw, 28rem);
		min-height: 0;
		overflow: hidden;
	}

	.listing-gallery--count-1 {
		grid-template-columns: minmax(0, 1fr);
	}
}

.listing-gallery__hero {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--secondary);
	aspect-ratio: 16 / 10;
	text-decoration: none;
	color: inherit;
}

@media (min-width: 768px) {
	.listing-gallery__hero {
		aspect-ratio: auto;
		height: 100%;
		min-height: 0;
	}
}

.listing-gallery__hero > img:not(.listing-gallery__media) {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.listing-gallery__hero:hover > img:not(.listing-gallery__media) {
	transform: scale(1.04);
}

.listing-gallery__media {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: contain;
	transition: transform 0.45s ease;
}

.listing-gallery__hero:hover .listing-gallery__media {
	transform: scale(1.04);
}

.listing-gallery__hero--video .listing-gallery__zoom {
	opacity: 1;
	transform: scale(1);
}

.listing-gallery__hero--has-gif .listing-gallery__poster,
.listing-gallery__hero--has-gif .listing-gallery__gif {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: contain;
	transition: transform 0.45s ease;
}

.listing-gallery__hero--has-gif .listing-gallery__gif {
	z-index: 1;
}

.listing-gallery__hero--has-gif:hover .listing-gallery__poster,
.listing-gallery__hero--has-gif:hover .listing-gallery__gif {
	transform: scale(1.04);
}

.listing-gallery__video-tag {
	position: absolute;
	left: 0.875rem;
	bottom: 0.875rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.3125rem 0.625rem;
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 600;
	color: #fff;
	background: color-mix(in oklab, #000 42%, transparent);
	backdrop-filter: blur(6px);
	pointer-events: none;
}

.listing-gallery__item .listing-gallery__video-tag {
	left: 0.5rem;
	bottom: 0.5rem;
	padding: 0.1875rem 0.4375rem;
	font-size: 0.625rem;
}

.listing-gallery__badge {
	position: absolute;
	left: 0.875rem;
	top: 0.875rem;
	z-index: 2;
}

.listing-gallery__zoom {
	position: absolute;
	right: 0.875rem;
	top: 0.875rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--foreground);
	opacity: 0;
	transform: scale(0.92);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

@media (min-width: 768px) {
	.listing-gallery__hero:hover .listing-gallery__zoom {
		opacity: 1;
		transform: scale(1);
	}
}

@media (max-width: 767px) {
	.listing-gallery__zoom {
		opacity: 1;
		transform: scale(1);
	}
}

.listing-gallery__grid {
	display: none;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: var(--space-2);
	min-height: 0;
}

@media (min-width: 768px) {
	.listing-gallery__grid {
		display: grid;
		height: 100%;
		min-height: 0;
	}

	/* 2 ảnh: 1 thumb full height */
	.listing-gallery--count-2 .listing-gallery__grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: minmax(0, 1fr);
	}

	/* 3 ảnh: 2 thumbs xếp dọc */
	.listing-gallery--count-3 .listing-gallery__grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: repeat(2, minmax(0, 1fr));
	}

	/* 4 ảnh: thumb lớn trên, 2 nhỏ dưới */
	.listing-gallery--count-4 .listing-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: repeat(2, minmax(0, 1fr));
	}

	.listing-gallery--count-4 .listing-gallery__item:first-child {
		grid-column: 1 / -1;
	}

	/* 5+ ảnh: lưới 2x2 mặc định */
	.listing-gallery--count-5 .listing-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: repeat(2, minmax(0, 1fr));
	}
}

.listing-gallery__item {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--really-radius);
	background: var(--secondary);
	text-decoration: none;
	color: inherit;
	min-height: 0;
}

.listing-gallery__item > img:not(.listing-gallery__media) {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.listing-gallery__item:hover > img:not(.listing-gallery__media) {
	transform: scale(1.06);
}

.listing-gallery__item .listing-gallery__media {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.listing-gallery__item:hover .listing-gallery__media {
	transform: scale(1.06);
}

.listing-gallery__item--more::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(15, 23, 42, 0.58);
	transition: background 0.2s ease;
}

.listing-gallery__item--more:hover::before {
	background: rgba(15, 23, 42, 0.68);
}

.listing-gallery__more {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-1);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
	pointer-events: none;
}

.listing-gallery__more i {
	font-size: 1.25rem;
}

.listing-gallery__view-all {
	position: absolute;
	right: 0.875rem;
	bottom: 0.875rem;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: 0.5rem 0.875rem;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 9999px;
	background: rgba(15, 23, 42, 0.78);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: background 0.2s ease, transform 0.2s ease;
}

.listing-gallery__view-all:hover {
	background: rgba(15, 23, 42, 0.92);
	transform: translateY(-1px);
}

@media (min-width: 768px) {
	.listing-gallery__view-all {
		display: none;
	}
}

.listing-gallery__hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Fancybox theme tweaks */
.fancybox__container {
	--fancybox-accent-color: var(--primary);
	--fancybox-bg: rgba(11, 18, 32, 0.96);
}

.fancybox__toolbar {
	font-family: var(--default-font-family);
}

.fancybox__caption {
	font-family: var(--default-font-family);
	font-size: 0.875rem;
}

.listing-detail-layout {
	display: grid;
	gap: var(--space-6);
}

@media (min-width: 1024px) {
	.listing-detail-layout {
		grid-template-columns: minmax(0, 1fr) 25rem;
		align-items: start;
	}
}

.listing-detail-main {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.listing-price-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--space-3);
	padding-bottom: var(--space-5);
	border-bottom: 1px solid var(--border);
}

.listing-price-bar__price {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	color: var(--primary);
	letter-spacing: -0.02em;
}

.listing-price-bar__unit {
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.listing-price-bar__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	margin-left: 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.listing-specs-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
}

@media (min-width: 640px) {
	.listing-specs-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.listing-price-bar__meta {
		margin-left: auto;
	}
}

.listing-spec-item {
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
	text-align: center;
}

.listing-spec-item__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	margin-bottom: var(--space-2);
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	color: var(--primary);
	font-size: 1rem;
}

.listing-spec-item__value {
	font-size: 0.9375rem;
	font-weight: 700;
}

.listing-spec-item__label {
	margin-top: var(--space-1);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.listing-specs-grid--compact {
	gap: var(--space-2);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.listing-specs-grid--compact .listing-spec-item {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 0.375rem;
	row-gap: 0;
	align-items: center;
	border-radius: 0.75rem;
	text-align: left;
}

.listing-specs-grid--compact .listing-spec-item__icon {
	grid-row: 1 / 3;
	width: 1.5rem;
	height: 1.5rem;
	margin-bottom: 0;
	font-size: 0.6875rem;
}

.listing-specs-grid--compact .listing-spec-item__value {
	grid-column: 2;
	grid-row: 1;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.2;
}

.listing-specs-grid--compact .listing-spec-item__label {
	grid-column: 2;
	grid-row: 2;
	margin-top: 0;
	font-size: 0.625rem;
	line-height: 1.2;
}

.listing-section {
	margin-bottom: var(--space-6);
}

.listing-section__title {
	margin-bottom: var(--space-4);
	font-size: 1.125rem;
	font-weight: 700;
}

.listing-description {
	color: var(--muted-foreground);
	line-height: 1.75;
}

.listing-description p + p {
	margin-top: var(--space-4);
}

.listing-description-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.listing-description-wrap .listing-description {
	width: 100%;
}

.listing-description.is-clamped {
	position: relative;
	max-height: 800px;
	overflow: hidden;
}

.listing-description.is-clamped::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 5rem;
	pointer-events: none;
	background: linear-gradient(to bottom, transparent, var(--background));
}

.listing-description-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	margin: var(--space-3) auto 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--primary);
	font-size: 0.875rem;
	font-weight: 700;
	cursor: pointer;
}

.listing-description-toggle:hover {
	text-decoration: underline;
}

.listing-description-toggle[hidden] {
	display: none;
}

.listing-amenities {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
}

@media (min-width: 640px) {
	.listing-specs-grid--compact {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.listing-amenities {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.listing-amenity {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-3);
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: var(--card);
	font-size: 0.875rem;
}

.listing-amenity i {
	color: var(--primary);
}

.listing-map-frame {
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

.listing-map-frame #listing-detail-map {
	height: 16rem;
}

@media (min-width: 768px) {
	.listing-map-frame #listing-detail-map {
		height: 20rem;
	}
}

.listing-contact-card {
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

@media (min-width: 1024px) {
	.listing-contact-card {
		position: sticky;
		top: calc(var(--header-height, 4rem) + var(--space-4));
	}
}

.listing-contact-card__label {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--muted-foreground);
}

.listing-contact-card__broker {
	margin-top: var(--space-4);
}

.listing-contact-card__broker-link {
	display: block;
	text-align: center;
}

.listing-contact-card__broker-avatar {
	margin-inline: auto;
}

.listing-contact-card__name {
	margin-top: var(--space-4);
	font-weight: 700;
}

.listing-contact-card__status {
	margin-top: var(--space-1);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.listing-contact-card__broker-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-2);
	margin-top: var(--space-5);
	padding-top: var(--space-5);
	border-top: 1px solid var(--border);
}

.listing-contact-card__broker-stat-value {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--primary);
}

.listing-contact-card__broker-stat-label {
	font-size: 0.6875rem;
	color: var(--muted-foreground);
}

.listing-contact-card__role {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.listing-contact-card__rating {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	margin-top: var(--space-1);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--primary);
}

.listing-contact-card__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-2);
	margin-top: var(--space-5);
}

.listing-contact-card__actions > .kt-btn {
	width: 100%;
	justify-content: center;
	min-width: 0;
}

.listing-contact-card__actions-secondary {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: var(--space-2);
	width: 100%;
}

.listing-contact-card__actions-secondary .kt-btn {
	flex: 1 1 0;
	width: auto;
	min-width: 0;
	justify-content: center;
}

.listing-detail-head__actions .kt-btn.is-saved {
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--background));
}

.listing-detail-head__actions .kt-btn.is-saved i {
	color: var(--primary);
}

.listing-contact-card__note {
	margin-top: var(--space-4);
	padding-top: var(--space-4);
	border-top: 1px solid var(--border);
	font-size: 0.75rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.listing-contact-card--compact {
	padding: var(--space-3);
	border-radius: 0.625rem;
	box-shadow: none;
}

.listing-contact-card--compact .listing-contact-card__broker {
	margin-top: 0;
}

.listing-contact-card--compact .listing-contact-card__broker-link {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	text-align: left;
}

.listing-contact-card--compact .listing-contact-card__broker-avatar {
	margin-inline: 0;
	flex-shrink: 0;
}

.listing-contact-card--compact .listing-contact-card__broker-stats,
.listing-contact-card--compact .listing-contact-card__status {
	display: none;
}

.listing-contact-card--compact .listing-contact-card__name {
	margin-top: 0;
	font-size: 0.875rem;
	line-height: 1.25;
}

.listing-contact-card--compact .listing-contact-card__broker .flex {
	gap: var(--space-2);
}

.listing-contact-card--compact .kt-avatar-lg,
.listing-contact-card--compact .kt-avatar-xl {
	width: 2.25rem;
	height: 2.25rem;
}

.listing-contact-card--compact .listing-contact-card__role {
	margin-top: 0.125rem;
	font-size: 0.6875rem;
	line-height: 1.3;
}

.listing-contact-card--compact .listing-contact-card__actions {
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0.375rem;
	margin-top: var(--space-3);
}

.listing-contact-card--compact .listing-contact-card__actions > .kt-btn,
.listing-contact-card--compact .listing-contact-card__actions-secondary .kt-btn {
	padding-inline: 0.5rem;
	font-size: 0.8125rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.listing-contact-card--compact .listing-contact-card__actions .kt-btn i {
	font-size: 0.875rem;
	flex-shrink: 0;
}

.listing-contact-card--compact .listing-contact-card__actions-secondary {
	gap: 0.375rem;
}

.listing-contact-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: var(--tabbar-height, 0px);
	z-index: calc(var(--z-header) - 1);
	padding: var(--space-3);
	background: color-mix(in oklab, var(--card) 94%, transparent);
	backdrop-filter: blur(12px);
	border-top: 1px solid var(--border);
	box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08);
	transform: translate3d(0, 0, 0);
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition:
		transform 0.34s cubic-bezier(0.22, 1, 0.36, 1),
		opacity 0.28s ease,
		visibility 0s linear;
	will-change: transform, opacity;
}

.listing-contact-sticky.is-hidden {
	transform: translate3d(0, calc(100% + var(--tabbar-height, 0px)), 0);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		transform 0.34s cubic-bezier(0.4, 0, 0.2, 1),
		opacity 0.24s ease,
		visibility 0s linear 0.34s;
}

@media (prefers-reduced-motion: reduce) {
	.listing-contact-sticky,
	.listing-contact-sticky.is-hidden {
		transition: none;
	}
}

@media (min-width: 1024px) {
	.listing-contact-sticky {
		display: none;
	}
}

.listing-contact-sticky__card {
	margin: 0;
	padding: 0;
	border: none;
	box-shadow: none;
	background: transparent;
}

.listing-contact-sticky__layout {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	min-width: 0;
}

.listing-contact-sticky .listing-contact-card__broker {
	flex: 1 1 auto;
	min-width: 0;
}

.listing-contact-sticky .listing-contact-card__name,
.listing-contact-sticky .listing-contact-card__role {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.listing-contact-sticky .listing-contact-card__actions {
	flex: 1 1 auto;
	flex-direction: row;
	align-items: stretch;
	margin-top: 0;
	width: auto;
	min-width: 0;
	max-width: min(100%, 18rem);
}

/* Flatten secondary wrapper so Phone / Chat / Zalo share one 3-column row */
.listing-contact-sticky .listing-contact-card__actions-secondary {
	display: contents;
}

.listing-contact-sticky .listing-contact-card__actions .kt-btn {
	flex: 1 1 0;
	width: auto;
	min-width: 0;
	padding-inline: 0.45rem;
	justify-content: center;
}

.listing-contact-sticky .listing-contact-card__actions .kt-btn span {
	overflow: hidden;
	text-overflow: ellipsis;
}

.listing-info-table {
	width: 100%;
	border-collapse: collapse;
}

.listing-info-table tr + tr {
	border-top: 1px solid var(--border);
}

.listing-info-table th,
.listing-info-table td {
	padding: var(--space-3) 0;
	font-size: 0.875rem;
	text-align: left;
	vertical-align: top;
}

.listing-info-table th {
	width: 40%;
	font-weight: 500;
	color: var(--muted-foreground);
}

.listing-feedback {
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

@media (min-width: 640px) {
	.listing-feedback {
		padding: var(--space-6);
	}
}

.listing-feedback.is-hidden {
	display: none;
}

.listing-feedback__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-4);
}

.listing-feedback__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.45;
}

@media (min-width: 640px) {
	.listing-feedback__title {
		font-size: 1.0625rem;
	}
}

.listing-feedback__close {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	margin: -0.25rem -0.25rem 0 0;
	border: 0;
	border-radius: 9999px;
	background: transparent;
	color: var(--muted-foreground);
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease;
}

.listing-feedback__close:hover {
	color: var(--foreground);
	background: var(--secondary);
}

.listing-feedback__social-cta {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	margin-top: var(--space-4);
	padding: var(--space-3) var(--space-4);
	border: 1px solid color-mix(in oklab, var(--primary) 18%, var(--border));
	border-radius: 0.75rem;
	background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 8%, var(--card)), color-mix(in oklab, var(--primary) 3%, var(--secondary)));
}

.listing-feedback__social-avatars {
	display: flex;
	flex-shrink: 0;
	align-items: center;
}

.listing-feedback__social-avatar {
	overflow: hidden;
	width: 2rem;
	height: 2rem;
	margin-left: -0.5rem;
	border: 2px solid var(--card);
	border-radius: 9999px;
	background: var(--secondary);
}

.listing-feedback__social-avatar:first-child {
	margin-left: 0;
}

.listing-feedback__social-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.listing-feedback__social-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	height: 2rem;
	margin-left: -0.5rem;
	padding-inline: 0.375rem;
	border: 2px solid var(--card);
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 14%, var(--secondary));
	font-size: 0.6875rem;
	font-weight: 700;
	color: var(--primary);
}

.listing-feedback__social-copy {
	min-width: 0;
}

.listing-feedback__social-count {
	font-size: 0.875rem;
	line-height: 1.4;
}

.listing-feedback__social-count strong {
	font-weight: 800;
	color: var(--primary);
}

.listing-feedback__social-desc {
	margin-top: 0.125rem;
	font-size: 0.75rem;
	color: var(--muted-foreground);
	line-height: 1.45;
}

.listing-feedback__rating {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-5);
}

.listing-feedback__emoji {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--background);
	font-size: 1.375rem;
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, transform 0.15s ease;
}

.listing-feedback__emoji:hover {
	border-color: color-mix(in oklab, var(--border) 50%, var(--foreground));
	transform: translateY(-1px);
}

.listing-feedback__emoji.is-active {
	border-color: #28a745;
	background: #28a745;
	box-shadow: 0 4px 12px rgba(40, 167, 69, 0.28);
}

.listing-feedback__rating-label {
	min-height: 1.25rem;
	margin: var(--space-3) 0 0;
	font-size: 0.875rem;
	font-weight: 600;
	color: #28a745;
}

.listing-feedback__rating-label.is-negative {
	color: #dc3545;
}

.listing-feedback__rating-label.is-neutral {
	color: var(--muted-foreground);
}

.listing-feedback__body {
	margin-top: var(--space-5);
}

.listing-feedback__body.is-collapsed {
	display: none;
}

.listing-feedback__divider {
	margin: 0 0 var(--space-5);
	border: 0;
	border-top: 1px solid var(--border);
}

.listing-feedback__tags-title {
	margin: 0 0 var(--space-3);
	font-size: 0.9375rem;
	font-weight: 700;
}

.listing-feedback__tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: var(--space-4);
}

.listing-feedback__tag {
	padding: 0.5rem 0.875rem;
	border: 1px solid transparent;
	border-radius: 9999px;
	background: var(--secondary);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--foreground);
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.listing-feedback__tag:hover {
	border-color: var(--border);
}

.listing-feedback__tag.is-active {
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	color: var(--primary);
}

.listing-feedback__input {
	width: 100%;
	margin-bottom: var(--space-4);
}

.listing-feedback__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0.875rem 1rem;
	border: 0;
	border-radius: 0.75rem;
	background: var(--primary);
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--primary-foreground);
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
}

.listing-feedback__submit:hover {
	background: color-mix(in oklab, var(--primary) 88%, black);
}

.listing-feedback__submit:active {
	transform: scale(0.99);
}

.listing-feedback__submit:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.listing-similar {
	padding-block: var(--space-10);
	border-top: 1px solid var(--border);
	background: color-mix(in oklab, var(--secondary) 50%, var(--background));
}

/* ── Projects listing & detail ── */

.projects-page {
	padding-block: var(--space-6);
}

@media (min-width: 768px) {
	.projects-page {
		padding-block: var(--space-8);
	}
}

@media (min-width: 1024px) {
	.projects-page .listings-layout {
		grid-template-columns: 19rem minmax(0, 1fr);
	}

	.projects-page .listings-layout--sidebar-end {
		grid-template-columns: minmax(0, 1fr) 19rem;
	}
}

.projects-latest-news {
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

.projects-latest-news__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding: var(--space-4) var(--space-4) var(--space-2);
}

.projects-latest-news__title {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.projects-latest-news__more {
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
	flex-shrink: 0;
	font-size: 0.75rem;
	color: var(--primary);
	text-decoration: none;
}

.projects-latest-news__more:hover {
	text-decoration: underline;
}

.projects-latest-news__list {
	display: grid;
	gap: 0.125rem;
	padding: 0 var(--space-2) var(--space-2);
}

.projects-latest-news__item {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	gap: 0.625rem;
	align-items: center;
	padding: 0.5rem;
	border-radius: calc(var(--really-radius) - 0.25rem);
	text-decoration: none;
	color: inherit;
	transition: background 0.2s ease;
}

.projects-latest-news__item:hover {
	background: color-mix(in oklab, var(--primary) 8%, var(--secondary));
}

.projects-latest-news__thumb {
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 0.5rem;
	border: 1px solid var(--border);
	background: var(--secondary);
}

.news-featured-projects .projects-latest-news__thumb {
	aspect-ratio: 4 / 4;
}

.projects-latest-news__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.projects-latest-news__item:hover .projects-latest-news__thumb img {
	transform: scale(1.06);
}

.projects-latest-news__item-body {
	min-width: 0;
}

.projects-latest-news__item-title {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.projects-latest-news__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.5rem;
	margin: 0.25rem 0 0;
	font-size: 0.6875rem;
	color: var(--muted-foreground);
}

.projects-latest-news__meta i {
	margin-right: 0.2rem;
	font-size: 0.75rem;
}

.projects-latest-news--mobile {
	display: block;
	margin-top: var(--space-8);
}

@media (min-width: 1024px) {
	.projects-latest-news--mobile {
		display: none;
	}
}

.news-featured-projects--mobile {
	display: block;
	margin-top: var(--space-8);
}

@media (min-width: 1024px) {
	.news-featured-projects--mobile {
		display: none;
	}
}

.project-type-nav {
	display: flex;
	gap: var(--space-2);
	margin-bottom: var(--space-6);
	padding-bottom: var(--space-2);
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.project-type-nav::-webkit-scrollbar {
	display: none;
}

.project-type-nav__item {
	flex-shrink: 0;
	padding: 0.5rem 1rem;
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--card);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--muted-foreground);
	text-decoration: none;
	white-space: nowrap;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.project-type-nav__item:hover {
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	color: var(--foreground);
}

.project-type-nav__item.active {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--card));
	color: var(--primary);
	font-weight: 600;
}

/* Home featured projects carousel */
.section-block--projects {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(ellipse 70% 55% at 8% 0%, color-mix(in oklab, var(--primary) 12%, transparent), transparent 60%),
		radial-gradient(ellipse 55% 45% at 100% 20%, color-mix(in oklab, var(--primary) 7%, transparent), transparent 55%),
		linear-gradient(180deg, color-mix(in oklab, var(--secondary) 55%, var(--background)) 0%, var(--background) 100%);
}

.home-projects-header__actions {
	align-items: center;
	gap: var(--space-3);
}

.home-projects-nav {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
}

.home-projects-nav__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 1px solid color-mix(in oklab, var(--border) 80%, var(--primary));
	border-radius: 9999px;
	background: color-mix(in oklab, var(--card) 88%, transparent);
	color: var(--foreground);
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
	backdrop-filter: blur(8px);
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.home-projects-nav__btn i {
	font-size: 1.05rem;
}

.home-projects-nav__btn:hover {
	border-color: var(--primary);
	background: var(--primary);
	color: var(--primary-foreground);
	box-shadow: 0 10px 24px color-mix(in oklab, var(--primary) 28%, transparent);
	transform: translateY(-1px);
}

.home-projects-nav__btn:focus-visible {
	outline: 2px solid color-mix(in oklab, var(--primary) 45%, transparent);
	outline-offset: 2px;
}

.home-projects-nav__btn:active {
	transform: translateY(0);
}

.home-projects-carousel {
	outline: none;
}

.home-projects-carousel:focus-visible {
	outline: 2px solid color-mix(in oklab, var(--primary) 40%, transparent);
	outline-offset: 4px;
	border-radius: var(--really-radius);
}

.home-projects-carousel__stage {
	position: relative;
	margin-top: var(--space-5);
}

.home-projects-carousel__stage::before,
.home-projects-carousel__stage::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0.75rem;
	width: 2.5rem;
	z-index: 2;
	pointer-events: none;
	opacity: 0;
}

.home-projects-carousel__stage::before {
	left: 0;
	background: linear-gradient(90deg, var(--background), transparent);
}

.home-projects-carousel__stage::after {
	right: 0;
	background: linear-gradient(270deg, var(--background), transparent);
}

@media (min-width: 768px) {
	.home-projects-carousel__stage::before,
	.home-projects-carousel__stage::after {
		opacity: 1;
		width: 3rem;
	}
}

.section-block--projects .home-projects-carousel__stage::before {
	background: linear-gradient(90deg, color-mix(in oklab, var(--background) 80%, transparent), transparent);
}

.section-block--projects .home-projects-carousel__stage::after {
	background: linear-gradient(270deg, color-mix(in oklab, var(--background) 80%, transparent), transparent);
}

.home-projects-carousel__viewport {
	display: flex;
	gap: var(--space-4);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	padding-block: 0.35rem 0.75rem;
	scrollbar-width: none;
}

.home-projects-carousel__viewport::-webkit-scrollbar {
	display: none;
}

.home-projects-carousel__item {
	flex: 0 0 82%;
	min-width: 82%;
	max-width: 82%;
	scroll-snap-align: start;
}

@media (min-width: 640px) {
	.home-projects-carousel__item {
		flex-basis: 48%;
		min-width: 48%;
		max-width: 48%;
	}
}

@media (min-width: 1024px) {
	.home-projects-carousel__item {
		flex-basis: 31.5%;
		min-width: 31.5%;
		max-width: 31.5%;
	}
}

.home-projects-carousel .project-card {
	height: 100%;
	border-color: color-mix(in oklab, var(--border) 70%, transparent);
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
	background:
		linear-gradient(180deg, color-mix(in oklab, var(--card) 92%, #fff) 0%, var(--card) 100%);
}

.home-projects-carousel .project-card:hover {
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
	box-shadow: 0 20px 44px rgba(15, 23, 42, 0.12);
	transform: translateY(-4px);
}

.home-projects-carousel .project-card__media {
	aspect-ratio: 16 / 11;
}

.home-projects-carousel .project-card__media::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 42%;
	background: linear-gradient(180deg, transparent, rgba(15, 23, 42, 0.35));
	pointer-events: none;
}

.home-projects-carousel .project-card__body {
	gap: var(--space-2);
	padding: var(--space-4);
}

.home-projects-carousel .project-card__title {
	font-size: 1.05rem;
	line-height: 1.35;
	-webkit-line-clamp: 2;
}

.home-projects-carousel .project-card__price {
	font-size: 1rem;
	font-weight: 700;
	color: var(--primary);
}

.home-projects-carousel .project-card__investor,
.home-projects-carousel .project-card__meta {
	display: none;
}

.home-projects-carousel .project-card__type {
	z-index: 1;
}

.home-projects-carousel__pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: var(--space-4);
}

.home-projects-carousel__dot {
	width: 0.5rem;
	height: 0.5rem;
	padding: 0;
	border: 0;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--foreground) 18%, transparent);
	transition: width 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

.home-projects-carousel__dot:hover {
	background: color-mix(in oklab, var(--primary) 55%, transparent);
}

.home-projects-carousel__dot[data-kt-carousel-pagination-active],
.home-projects-carousel__dot[aria-current="true"] {
	width: 1.5rem;
	background: var(--primary);
}

.home-projects-carousel__dot:focus-visible {
	outline: 2px solid color-mix(in oklab, var(--primary) 45%, transparent);
	outline-offset: 2px;
}

@media (max-width: 639px) {
	.home-projects-header__actions {
		width: 100%;
		justify-content: space-between;
	}

	.home-projects-carousel__viewport {
		gap: var(--space-3);
		margin-inline: calc(var(--container-x) * -1);
		padding-inline: var(--container-x);
		scroll-padding-inline: var(--container-x);
	}

	.home-projects-carousel__item {
		flex-basis: 78%;
		min-width: 78%;
		max-width: 78%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-projects-carousel__viewport {
		scroll-behavior: auto;
	}

	.home-projects-nav__btn,
	.home-projects-carousel .project-card,
	.home-projects-carousel__dot {
		transition: none;
	}
}

.project-grid {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: var(--space-5);
}

@media (min-width: 640px) {
	.project-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	.project-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.project-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.project-card:hover {
	border-color: color-mix(in oklab, var(--primary) 30%, var(--border));
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
	transform: translateY(-2px);
}

.project-card--link {
	text-decoration: none;
	color: inherit;
}

.project-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--secondary);
}

.project-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.project-card:hover .project-card__media img {
	transform: scale(1.05);
}

.project-status {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.project-status--media {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
	z-index: 2;
	text-transform: uppercase;
}

.project-status--body {
	text-transform: none;
	font-weight: 600;
	background: color-mix(in oklab, var(--primary) 12%, white);
	color: var(--primary);
}

.project-status--sm {
	position: static;
	font-size: 0.625rem;
}

.project-status--selling {
	background: color-mix(in oklab, var(--primary) 92%, white);
	color: var(--primary-foreground);
}

.project-status--body.project-status--selling {
	background: color-mix(in oklab, var(--primary) 12%, white);
	color: var(--primary);
}

.project-status--coming {
	background: oklch(85.2% 0.199 91.936);
	color: oklch(0.28 0.07 46);
}

.project-status--building {
	background: color-mix(in oklab, var(--muted-foreground) 15%, var(--secondary));
	color: var(--foreground);
}

.project-status--handover {
	background: color-mix(in oklab, oklch(72% 0.17 155) 14%, white);
	color: oklch(0.42 0.12 155);
}

.project-status--body.project-status--handover {
	background: color-mix(in oklab, oklch(72% 0.17 155) 12%, white);
	color: oklch(0.42 0.12 155);
}

.project-card__type {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
	z-index: 2;
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	background: rgba(15, 23, 42, 0.72);
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 600;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.project-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-4);
}

.project-card__price {
	font-size: 1rem;
	font-weight: 800;
	color: var(--primary);
}

.project-card__title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
}

.project-card__area {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--foreground);
}

.project-card__facts {
	display: none;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0.25rem 0 0;
	padding: 0;
	list-style: none;
}

.project-card__fact {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--muted-foreground);
}

.project-card__fact > i {
	flex-shrink: 0;
	margin-top: 0.1rem;
	font-size: 1rem;
	color: var(--primary);
}

.project-card__fact-text {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 0.125rem;
}

.project-card__location-old {
	font-size: 0.75rem;
	color: color-mix(in oklab, var(--primary) 55%, var(--muted-foreground));
}

.project-card__location-old em {
	font-style: normal;
	font-weight: 600;
	color: var(--primary);
}

.project-card__excerpt {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: var(--foreground);
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.project-card__location,
.project-card__investor {
	display: flex;
	align-items: center;
	gap: var(--space-1);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.project-card__investor {
	margin-top: auto;
	padding-top: var(--space-1);
	font-weight: 600;
	color: var(--primary);
}

.project-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: auto;
	padding-top: var(--space-2);
}

/* Grid mode: compact card — hide list-only blocks */
.project-card .project-card__facts,
.project-card .project-card__excerpt,
.project-card .project-status {
	display: none;
}

.project-grid .project-card__investor,
.project-grid .project-card__meta {
	display: none;
}

.project-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

@media (min-width: 640px) {
	.project-list .project-card {
		display: grid;
		grid-template-columns: 15rem minmax(0, 1fr);
		align-items: start;
		column-gap: var(--space-4);
		row-gap: 0;
		padding: var(--space-4);
		overflow: hidden;
		border-radius: calc(var(--really-radius) + 0.125rem);
	}

	.project-list .project-card__media {
		box-sizing: border-box;
		width: 15rem;
		height: 18rem;
		align-self: start;
		justify-self: start;
		border-radius: calc(var(--really-radius) - 0.125rem);
		overflow: hidden;
	}

	.project-list .project-card:hover .project-card__media img {
		transform: scale(1.04);
	}

	.project-list .project-card__body {
		padding: 0;
		min-height: 15rem;
		gap: 0.375rem;
	}

	.project-list .project-status--media,
	.project-list .project-card__type,
	.project-list .project-card__meta {
		display: none;
	}

	.project-list .project-status--body {
		display: inline-flex;
		margin-bottom: 0.125rem;
	}

	.project-list .project-card__title {
		font-size: 1.25rem;
		font-weight: 800;
		line-height: 1.3;
	}

	.project-list .project-card__area {
		display: block;
	}

	.project-list .project-card__price {
		font-size: 1.125rem;
		margin: 0.125rem 0 0.25rem;
	}

	.project-list .project-card__facts {
		display: flex;
		margin-top: 0.5rem;
	}

	.project-list .project-card__excerpt {
		display: -webkit-box;
		margin-top: 0.5rem;
	}

	.project-list .project-card__investor {
		margin-top: auto;
	}
}

@media (max-width: 639px) {
	.project-list {
		gap: 0;
	}

	.project-list .project-card {
		display: grid;
		grid-template-columns: 7rem minmax(0, 1fr);
		column-gap: var(--space-3);
		padding: var(--space-3) 0;
		border-radius: 0;
		border-width: 0 0 1px;
		box-shadow: none;
	}

	.project-list .project-card:last-child {
		border-bottom: none;
	}

	.project-list .project-card:hover {
		transform: none;
		box-shadow: none;
	}

	.project-list .project-card__media {
		grid-row: 1 / -1;
		aspect-ratio: unset;
		width: 7rem;
		height: 5.25rem;
		min-height: 5.25rem;
		align-self: start;
		border-radius: 0.375rem;
	}

	.project-list .project-card:hover .project-card__media img {
		transform: none;
	}

	.project-list .project-card__type,
	.project-list .project-status--media {
		display: none;
	}

	.project-list .project-status--body {
		display: inline-flex;
		padding: 0.125rem 0.5rem;
		font-size: 0.625rem;
	}

	.project-list .project-card__body {
		padding: 0;
		gap: 0.25rem;
	}

	.project-list .project-card__title {
		font-size: 0.875rem;
	}

	.project-list .project-card__area {
		display: block;
		font-size: 0.75rem;
	}

	.project-list .project-card__price {
		font-size: 0.875rem;
	}

	.project-list .project-card__facts,
	.project-list .project-card__excerpt,
	.project-list .project-card__investor,
	.project-list .project-card__meta {
		display: none;
	}
}

.project-detail-page {
	padding-block: var(--space-6);
}

@media (min-width: 768px) {
	.project-detail-page {
		padding-block: var(--space-8);
	}
}

.project-detail-head__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: var(--space-3);
}

.project-detail-head__badges .project-status {
	position: static;
}

.project-detail-head__investor {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-2);
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.project-detail-head__investor strong {
	color: var(--foreground);
}

.project-detail-tabs {
	margin-top: var(--space-2);
	margin-bottom: var(--space-2);
}

.project-detail-tabs .kt-tabs {
	width: 100%;
}

.project-detail-tabs__list {
	display: flex;
	gap: 0.25rem;
	padding: 0.25rem;
	margin-bottom: var(--space-6);
	border-radius: 0.75rem;
	background: var(--secondary);
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.project-detail-tabs__list::-webkit-scrollbar {
	display: none;
}

.project-detail-tabs .kt-tab {
	flex: 1 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	border: none;
	background: transparent;
	color: var(--foreground);
	border-radius: 0.625rem;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.25;
	padding: 0.5625rem 0.875rem;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 640px) {
	.project-detail-tabs .kt-tab {
		flex: 1;
		font-size: 0.875rem;
	}
}

.project-detail-tabs .kt-tab:hover:not(.active) {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 6%, transparent);
}

.project-detail-tabs .kt-tab.active {
	background: var(--card);
	color: var(--primary);
	font-weight: 600;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.project-detail-tabs .kt-tab:focus-visible {
	outline: 2px solid color-mix(in oklab, var(--primary) 40%, transparent);
	outline-offset: 1px;
}

.project-detail-tabs__panel {
	min-width: 0;
}

.project-detail-tabs__panel > .listing-section:last-child {
	margin-bottom: 0;
}

.project-progress__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--space-2);
}

.project-progress__label {
	font-size: 0.875rem;
	font-weight: 600;
}

.project-progress__percent {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--primary);
}

.project-progress__bar {
	height: 0.5rem;
	margin-bottom: var(--space-5);
}

.project-progress__timeline {
	display: grid;
	gap: var(--space-4);
	list-style: none;
	padding: 0;
	margin: 0;
}

@media (min-width: 640px) {
	.project-progress__timeline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.project-progress__timeline {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.project-progress__step {
	display: flex;
	gap: var(--space-3);
	padding: var(--space-3);
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: var(--card);
}

.project-progress__step.is-done {
	border-color: color-mix(in oklab, var(--primary) 25%, var(--border));
}

.project-progress__step.is-active {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 6%, var(--card));
}

.project-progress__dot {
	flex-shrink: 0;
	width: 0.625rem;
	height: 0.625rem;
	margin-top: 0.35rem;
	border-radius: 9999px;
	background: var(--border);
}

.project-progress__step.is-done .project-progress__dot {
	background: var(--primary);
}

.project-progress__step.is-active .project-progress__dot {
	background: var(--primary);
	box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 20%, transparent);
}

.project-progress__step-title {
	font-size: 0.8125rem;
	font-weight: 600;
}

.project-progress__step-date {
	margin-top: var(--space-1);
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.project-unit-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
}

.project-unit-table {
	width: 100%;
	min-width: 36rem;
	border-collapse: collapse;
}

.project-unit-table th,
.project-unit-table td {
	padding: var(--space-3) var(--space-4);
	font-size: 0.875rem;
	text-align: left;
	border-bottom: 1px solid var(--border);
}

.project-unit-table th {
	background: var(--secondary);
	font-weight: 600;
	white-space: nowrap;
}

.project-unit-table tbody tr:last-child td {
	border-bottom: 0;
}

.project-unit-table tbody tr:hover {
	background: color-mix(in oklab, var(--primary) 4%, var(--card));
}

.project-unit-table__note {
	margin-top: var(--space-3);
	font-size: 0.75rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.project-listings-grid {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 640px) {
	.project-listings-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.project-listings-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.project-contact-card__highlight {
	margin-top: var(--space-3);
	padding: var(--space-3);
	border-radius: 0.75rem;
	background: color-mix(in oklab, var(--primary) 8%, var(--secondary));
}

.project-contact-card__offer {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.45;
}

.project-contact-form {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	margin-top: var(--space-4);
}

.listing-map-frame #project-detail-map {
	height: 16rem;
}

@media (min-width: 768px) {
	.listing-map-frame #project-detail-map {
		height: 20rem;
	}
}

/* Brokers listing page */
.brokers-page {
	padding-block: var(--space-6);
}

@media (min-width: 768px) {
	.brokers-page {
		padding-block: var(--space-8);
	}
}

.brokers-featured {
	margin-bottom: var(--space-8);
}

.brokers-featured__panel {
	position: relative;
	overflow: hidden;
	padding: var(--space-5);
	border: 1px solid color-mix(in oklab, var(--primary) 16%, var(--border));
	border-radius: calc(var(--really-radius) + 0.5rem);
	background:
		radial-gradient(ellipse 80% 60% at 0% 0%, color-mix(in oklab, var(--primary) 14%, transparent), transparent 55%),
		radial-gradient(ellipse 70% 50% at 100% 100%, color-mix(in oklab, #0f766e 10%, transparent), transparent 50%),
		linear-gradient(180deg, color-mix(in oklab, var(--primary) 4%, var(--background)) 0%, var(--background) 100%);
}

.brokers-featured__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(color-mix(in oklab, var(--foreground) 4%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in oklab, var(--foreground) 4%, transparent) 1px, transparent 1px);
	background-size: 28px 28px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.35), transparent 85%);
	pointer-events: none;
}

@media (min-width: 768px) {
	.brokers-featured__panel {
		padding: var(--space-6);
	}
}

.brokers-featured__header {
	position: relative;
	z-index: 1;
	margin-bottom: var(--space-5);
}

.brokers-featured__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-bottom: var(--space-2);
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	background: color-mix(in oklab, #b45309 12%, var(--background));
	color: #b45309;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.brokers-featured__eyebrow i {
	font-size: 0.8125rem;
}

.brokers-featured__title {
	margin: 0;
	font-size: clamp(1.375rem, 2.6vw, 1.875rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

.brokers-featured__desc {
	margin: var(--space-2) 0 0;
	max-width: 36rem;
	color: var(--muted-foreground);
	font-size: 0.9375rem;
	line-height: 1.55;
}

.brokers-featured__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-4);
}

@media (min-width: 900px) {
	.brokers-featured__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: stretch;
	}
}

.broker-featured-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-height: 100%;
	border: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
	border-radius: calc(var(--really-radius) + 0.25rem);
	background: color-mix(in oklab, var(--card) 92%, transparent);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.broker-featured-card:hover {
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	box-shadow: 0 22px 48px rgba(15, 23, 42, 0.12);
	transform: translateY(-4px);
}

.broker-featured-card--rank-1 {
	border-color: color-mix(in oklab, #b45309 28%, var(--border));
	box-shadow: 0 14px 36px color-mix(in oklab, #b45309 12%, transparent);
}

.broker-featured-card--rank-1:hover {
	border-color: color-mix(in oklab, #b45309 45%, var(--border));
}

.broker-featured-card__index {
	position: absolute;
	right: 0.75rem;
	top: 5.25rem;
	z-index: 0;
	font-size: 3.5rem;
	font-weight: 900;
	letter-spacing: -0.06em;
	line-height: 1;
	color: color-mix(in oklab, var(--foreground) 5%, transparent);
	pointer-events: none;
	user-select: none;
}

.broker-featured-card--rank-1 .broker-featured-card__index {
	color: color-mix(in oklab, #b45309 12%, transparent);
}

.broker-featured-card__media {
	position: relative;
	padding: var(--space-4) var(--space-4) 0;
}

.broker-featured-card__cover {
	position: relative;
	height: 4.75rem;
	overflow: hidden;
	border-radius: calc(var(--really-radius) - 0.05rem);
	background: linear-gradient(135deg, #0f3d8c 0%, var(--primary) 55%, #38bdf8 100%);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.broker-featured-card__cover::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 30%, rgba(15, 23, 42, 0.28) 100%);
	pointer-events: none;
}

.broker-featured-card__cover--has-image::after {
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.05) 0%, rgba(15, 23, 42, 0.4) 100%);
}

.broker-featured-card__avatar {
	position: absolute;
	left: calc(var(--space-4) + 0.75rem);
	bottom: -1.65rem;
	z-index: 2;
	display: block;
	width: 4.25rem;
	height: 4.25rem;
	overflow: hidden;
	border: 3px solid var(--card);
	border-radius: 9999px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
	background: var(--muted);
}

.broker-featured-card__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.broker-featured-card__rank {
	position: absolute;
	right: calc(var(--space-4) + 0.5rem);
	top: calc(var(--space-4) + 0.5rem);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	background: rgba(15, 23, 42, 0.42);
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 700;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.broker-featured-card--rank-1 .broker-featured-card__rank {
	background: linear-gradient(135deg, #d97706, #b45309);
}

.broker-featured-card__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--space-3);
	padding: 2.25rem var(--space-4) var(--space-4);
}

.broker-featured-card__identity {
	min-width: 0;
}

.broker-featured-card__name {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.broker-featured-card__title {
	margin: 0.2rem 0 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.4;
}

.broker-featured-card__company {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin: 0.35rem 0 0;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--foreground);
}

.broker-featured-card__company i {
	color: var(--primary);
	font-size: 0.8125rem;
}

.broker-featured-card__rating {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	color: #b45309;
}

.broker-featured-card__rating span {
	font-weight: 500;
	color: var(--muted-foreground);
}

.broker-featured-card__specialties {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
}

.broker-featured-card__specialties span {
	padding: 0.2rem 0.5rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 8%, var(--background));
	color: var(--primary);
	font-size: 0.6875rem;
	font-weight: 700;
}

.broker-featured-card__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-2);
	margin-top: auto;
	padding: var(--space-3);
	border-radius: calc(var(--really-radius) - 0.1rem);
	background: color-mix(in oklab, var(--muted) 45%, var(--background));
}

.broker-featured-card__stat {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	text-align: center;
	min-width: 0;
}

.broker-featured-card__stat-value {
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.broker-featured-card__stat-label {
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--muted-foreground);
}

.broker-specialty-nav {
	display: flex;
	gap: var(--space-2);
	margin-bottom: var(--space-6);
	padding-bottom: var(--space-2);
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.broker-specialty-nav::-webkit-scrollbar {
	display: none;
}

.broker-specialty-nav__item {
	flex-shrink: 0;
	padding: 0.5rem 1rem;
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--card);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--muted-foreground);
	text-decoration: none;
	white-space: nowrap;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.broker-specialty-nav__item:hover {
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	color: var(--foreground);
}

.broker-specialty-nav__item.active {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--card));
	color: var(--primary);
	font-weight: 600;
}

.broker-grid {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: var(--space-5);
}

@media (min-width: 640px) {
	.broker-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	.broker-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.broker-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.broker-card:hover {
	border-color: color-mix(in oklab, var(--primary) 30%, var(--border));
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
	transform: translateY(-2px);
}

.broker-card--link {
	text-decoration: none;
	color: inherit;
}

.broker-card__header {
	position: relative;
	padding: 0;
}

.broker-card__cover {
	position: relative;
	height: 5rem;
	border-radius: 0.75rem;
	background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 80%, #1a56c4), color-mix(in oklab, var(--primary) 60%, #4d9dff));
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.broker-card__cover--has-image::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.08) 0%, rgba(15, 23, 42, 0.22) 100%);
	pointer-events: none;
}

.broker-card__avatar-wrap {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: -1.75rem;
	padding: 0 var(--space-4) 0;
}

.broker-card__avatar {
	border: 3px solid var(--card);
	border-radius: 9999px;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.1);
}

.broker-card__badges {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--space-1);
	padding-bottom: var(--space-1);
}

.broker-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.2rem 0.5rem;
	border-radius: 9999px;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.broker-badge--verified {
	background: color-mix(in oklab, var(--primary) 12%, var(--secondary));
	color: var(--primary);
}

.broker-badge--top {
	background: oklch(85.2% 0.199 91.936);
	color: oklch(0.28 0.07 46);
}

.broker-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-3) var(--space-4) var(--space-4);
}

.broker-card__name {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
}

.broker-card__title {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.broker-card__company {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--muted-foreground);
}

.broker-card__rating {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--primary);
}

.broker-card__rating-count {
	font-weight: 500;
	color: var(--muted-foreground);
}

.broker-card__specialties {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-1);
	margin-top: var(--space-1);
}

.broker-card__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-2);
	margin-top: auto;
	padding-top: var(--space-3);
	border-top: 1px solid var(--border);
}

.broker-card__stat {
	text-align: center;
}

.broker-card__stat-value {
	font-size: 0.875rem;
	font-weight: 800;
}

.broker-card__stat-label {
	font-size: 0.625rem;
	color: var(--muted-foreground);
}

.broker-card__footer {
	display: flex;
	gap: var(--space-2);
	padding: 0 var(--space-4) var(--space-4);
}

.broker-card__footer .kt-btn {
	flex: 1;
}

/* Broker detail page */
.broker-detail-page {
	padding-block: var(--space-6);
}

@media (min-width: 768px) {
	.broker-detail-page {
		padding-block: var(--space-8);
	}
}

.broker-profile-hero {
	position: relative;
	overflow: hidden;
	margin-bottom: var(--space-6);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.25rem);
	background: var(--card);
}

.broker-profile-hero__cover {
	position: relative;
	height: 10rem;
	background: linear-gradient(135deg, #0f2744 0%, #1a56c4 35%, var(--primary) 65%, #4d9dff 100%);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.broker-profile-hero__cover--has-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.08) 0%, rgba(15, 23, 42, 0.28) 100%);
	pointer-events: none;
}

@media (min-width: 768px) {
	.broker-profile-hero__cover {
		height: 20rem;
	}
}

.broker-profile-hero__cover::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M50 50c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10c0 5.523-4.477 10-10 10s-10-4.477-10-10 4.477-10 10-10zM10 10c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10c0 5.523-4.477 10-10 10S0 25.523 0 20s4.477-10 10-10z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	pointer-events: none;
}

.broker-profile-hero__cover--has-image::before {
	display: none;
}

.broker-profile-hero__actions {
	position: absolute;
	right: var(--space-4);
	top: var(--space-4);
	display: flex;
	gap: var(--space-2);
	z-index: 2;
}

.broker-profile-hero__actions .kt-btn {
	background: rgba(255, 255, 255, 0.15);
	border-color: rgba(255, 255, 255, 0.25);
	color: #fff;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.broker-profile-hero__actions .kt-btn:hover {
	background: rgba(255, 255, 255, 0.25);
}

.broker-profile-hero__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	padding: 0 var(--space-5) var(--space-5);
	margin-top: -4.5rem;
}

@media (min-width: 768px) {
	.broker-profile-hero__inner {
		flex-direction: row;
		align-items: flex-end;
		gap: var(--space-6);
		padding: 0 var(--space-8) var(--space-6);
		margin-top: -5.75rem;
	}
}

.broker-profile-hero__avatar {
	flex-shrink: 0;
	width: 7rem;
	height: 7rem;
	border: 4px solid var(--card);
	border-radius: 9999px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.15);
	align-self: center;
}

@media (min-width: 768px) {
	.broker-profile-hero__avatar {
		width: 9rem;
		height: 9rem;
		border-width: 5px;
	}
}

.broker-profile-hero__info {
	flex: 1;
	min-width: 0;
}

.broker-profile-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: var(--space-2);
}

.broker-profile-hero__name {
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.25;
}

@media (min-width: 768px) {
	.broker-profile-hero__name {
		font-size: 1.875rem;
	}
}

.broker-profile-hero__title {
	margin-top: var(--space-2);
	font-size: 0.9375rem;
	color: var(--muted-foreground);
}

.broker-profile-hero__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-1);
	margin-top: var(--space-3);
	font-size: 0.875rem;
}

.broker-profile-hero__rating {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	font-weight: 700;
	color: var(--primary);
}

.broker-profile-hero__location {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	color: var(--muted-foreground);
}

.broker-profile-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
	flex-shrink: 0;
}

@media (min-width: 480px) {
	.broker-profile-stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	.broker-profile-stats {
		min-width: 22rem;
	}
}

.broker-profile-stats__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.125rem;
	padding: var(--space-3);
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: var(--secondary);
	text-align: center;
}

.broker-profile-stats__value {
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--primary);
}

.broker-profile-stats__label {
	font-size: 0.6875rem;
	color: var(--muted-foreground);
}

.broker-detail-layout {
	display: grid;
	gap: var(--space-6);
}

@media (min-width: 1024px) {
	.broker-detail-layout {
		grid-template-columns: minmax(0, 1fr) 20rem;
		align-items: start;
	}
}

.broker-detail-tabs {
	margin-bottom: var(--space-2);
}

.broker-detail-tabs .kt-tabs {
	width: 100%;
}

.broker-detail-tabs__list {
	display: flex;
	gap: 0.25rem;
	padding: 0.25rem;
	margin-bottom: var(--space-6);
	border-radius: 0.75rem;
	background: var(--secondary);
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.broker-detail-tabs__list::-webkit-scrollbar {
	display: none;
}

.broker-detail-tabs .kt-tab {
	flex: 1 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	border: none;
	background: transparent;
	color: var(--foreground);
	border-radius: 0.625rem;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.25;
	padding: 0.5625rem 0.875rem;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 640px) {
	.broker-detail-tabs .kt-tab {
		flex: 1;
		font-size: 0.875rem;
	}
}

.broker-detail-tabs .kt-tab:hover:not(.active) {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 6%, transparent);
}

.broker-detail-tabs .kt-tab.active {
	background: var(--card);
	color: var(--primary);
	font-weight: 600;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.broker-detail-tabs .kt-tab:focus-visible {
	outline: 2px solid color-mix(in oklab, var(--primary) 40%, transparent);
	outline-offset: 1px;
}

.broker-detail-tabs__panel {
	min-width: 0;
}

.broker-detail-tabs__panel > .listing-section:last-child {
	margin-bottom: 0;
}

.broker-credentials {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: var(--space-3);
}

@media (min-width: 640px) {
	.broker-credentials {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.broker-credential {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: var(--card);
}

.broker-credential__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	border-radius: 0.625rem;
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	color: var(--primary);
	font-size: 1.125rem;
}

.broker-credential__title {
	font-size: 0.875rem;
	font-weight: 700;
}

.broker-credential__desc {
	margin-top: 0.125rem;
	font-size: 0.75rem;
	color: var(--muted-foreground);
	line-height: 1.45;
}

.broker-service-areas {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.broker-service-area {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	padding: 0.5rem 0.875rem;
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--card);
	font-size: 0.8125rem;
	font-weight: 500;
}

.broker-service-area i {
	color: var(--primary);
	font-size: 0.75rem;
}

.broker-reviews {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.broker-review {
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: var(--card);
}

.broker-review__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-3);
}

.broker-review__author {
	font-size: 0.875rem;
	font-weight: 700;
}

.broker-review__date {
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.broker-review__rating {
	display: inline-flex;
	align-items: center;
	gap: 0.125rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--primary);
}

.broker-review__text {
	margin-top: var(--space-3);
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--muted-foreground);
}

.broker-review__property {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	margin-top: var(--space-3);
	font-size: 0.75rem;
	color: var(--primary);
}

.broker-review-summary {
	display: flex;
	align-items: center;
	gap: var(--space-6);
	padding: var(--space-5);
	margin-bottom: var(--space-5);
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background: color-mix(in oklab, var(--primary) 4%, var(--card));
}

.broker-review-summary__score {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.125rem;
	flex-shrink: 0;
}

.broker-review-summary__number {
	font-size: 2.5rem;
	font-weight: 800;
	color: var(--primary);
	line-height: 1;
}

.broker-review-summary__stars {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--primary);
}

.broker-review-summary__count {
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.broker-review-summary__bars {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.broker-review-bar {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	font-size: 0.75rem;
}

.broker-review-bar__label {
	width: 2rem;
	text-align: right;
	color: var(--muted-foreground);
}

.broker-review-bar__track {
	flex: 1;
	height: 0.375rem;
	border-radius: 9999px;
	background: var(--secondary);
	overflow: hidden;
}

.broker-review-bar__fill {
	height: 100%;
	border-radius: 9999px;
	background: var(--primary);
}

.broker-contact-card {
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

@media (min-width: 1024px) {
	.broker-contact-card {
		position: sticky;
		top: 5rem;
	}
}

.broker-contact-card__label {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--muted-foreground);
}

.broker-contact-card__response {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-3);
	padding: var(--space-3);
	border-radius: 0.75rem;
	background: color-mix(in oklab, oklch(72% 0.17 155) 12%, var(--secondary));
	font-size: 0.8125rem;
	font-weight: 600;
	color: oklch(0.35 0.08 155);
}

.broker-contact-card__response i {
	font-size: 1rem;
}

.broker-contact-card__actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	margin-top: var(--space-4);
}

.broker-contact-card__phone {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	padding: var(--space-3);
	border-radius: 0.75rem;
	background: color-mix(in oklab, var(--primary) 8%, var(--secondary));
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--primary);
	text-decoration: none;
}

.broker-contact-card__hours {
	margin-top: var(--space-4);
	padding-top: var(--space-4);
	border-top: 1px solid var(--border);
}

.broker-contact-card__hours-title {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--muted-foreground);
}

.broker-contact-card__hours-list {
	margin-top: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	line-height: 1.6;
}

.broker-contact-card__note {
	margin-top: var(--space-4);
	font-size: 0.75rem;
	color: var(--muted-foreground);
	line-height: 1.5;
}

.broker-cta-panel {
	margin-top: var(--space-10);
	padding: var(--space-8);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.25rem);
	background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 6%, var(--card)), color-mix(in oklab, var(--primary) 2%, var(--secondary)));
	text-align: center;
}

.broker-cta-panel__title {
	font-size: 1.25rem;
	font-weight: 800;
}

.broker-cta-panel__desc {
	margin-top: var(--space-2);
	max-width: 32rem;
	margin-inline: auto;
	font-size: 0.9375rem;
	color: var(--muted-foreground);
}

.broker-cta-panel__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-3);
	margin-top: var(--space-5);
}

/* Join professional broker (member area) */
.join-broker-hero {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
	margin-bottom: var(--space-6);
	padding: var(--space-5);
	border: 1px solid color-mix(in oklab, var(--primary) 20%, var(--border));
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 8%, var(--card)) 0%, var(--card) 100%);
}

@media (min-width: 768px) {
	.join-broker-hero {
		padding: var(--space-6);
	}
}

.join-broker-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	width: fit-content;
	padding: 0.375rem 0.75rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 12%, var(--secondary));
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--primary);
}

.join-broker-hero__title {
	margin-top: var(--space-3);
	font-size: clamp(1.25rem, 2.8vw, 1.625rem);
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: -0.02em;
}

.join-broker-hero__desc {
	margin-top: var(--space-2);
	max-width: 42rem;
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.6;
}

.join-broker-hero__title-accent {
	color: var(--primary);
}

.join-broker-benefits {
	display: grid;
	gap: var(--space-3);
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) {
	.join-broker-benefits {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--space-4);
	}
}

.join-broker-benefits__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-5) var(--space-4);
	border: 1px solid color-mix(in oklab, var(--primary) 14%, var(--border));
	border-radius: var(--really-radius);
	background: color-mix(in oklab, var(--primary) 6%, var(--card));
	text-align: center;
}

.join-broker-benefits__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 12%, var(--card));
	color: var(--primary);
	font-size: 1.375rem;
}

.join-broker-benefits__icon--free {
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.join-broker-benefits__text {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.45;
}

.join-broker-progress {
	margin-bottom: var(--space-6);
	padding: var(--space-4) var(--space-5);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
}

.join-broker-progress__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	margin-bottom: var(--space-3);
}

.join-broker-progress__label {
	flex-shrink: 0;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--muted-foreground);
}

.join-broker-progress__bar {
	height: 0.5rem;
}

.join-broker-progress__bar .kt-progress-indicator {
	background-color: var(--primary);
}

.join-broker-progress-text {
	font-size: 0.9375rem;
	color: var(--muted-foreground);
}

.join-broker-progress-text__count {
	color: var(--primary);
	font-weight: 700;
}

.join-broker-requirements {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.join-broker-req {
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
}

.join-broker-req__head {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	padding: var(--space-4) var(--space-5);
}

.join-broker-req--form .join-broker-req__head {
	flex-wrap: wrap;
}

.join-broker-req__status {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.625rem;
	height: 1.625rem;
	margin-top: 0.125rem;
	border-radius: 9999px;
	font-size: 0.875rem;
}

.join-broker-req__status--pending {
	border: 2px solid color-mix(in oklab, var(--muted-foreground) 35%, var(--border));
	color: var(--muted-foreground);
	background: var(--secondary);
}

.join-broker-req__status--done {
	background: oklch(0.62 0.17 155);
	color: #fff;
}

.join-broker-req__title {
	flex: 1;
	min-width: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.5;
}

.join-broker-req__rules {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	padding: 0;
	border: none;
	background: none;
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--primary);
	cursor: pointer;
	white-space: nowrap;
}

.join-broker-req__rules:hover,
.join-broker-req__rules[aria-expanded="true"] {
	text-decoration: underline;
}

.join-broker-rules-wrap {
	position: relative;
	margin-left: auto;
	flex-shrink: 0;
}

.join-broker-rules-panel {
	position: absolute;
	right: 0;
	bottom: calc(100% + var(--space-2));
	z-index: 30;
	width: min(21rem, calc(100vw - 3rem));
	padding: var(--space-4);
	border-radius: 0.875rem;
	border: 1px solid var(--border);
	background: var(--popover);
	color: var(--popover-foreground);
	box-shadow: 0 12px 40px color-mix(in oklab, var(--color-black) 18%, transparent);
}

.join-broker-rules-panel[hidden] {
	display: none;
}

.join-broker-rules-panel__close {
	position: absolute;
	top: var(--space-2);
	right: var(--space-2);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border: none;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--foreground) 6%, transparent);
	color: var(--muted-foreground);
	cursor: pointer;
}

.join-broker-rules-panel__close:hover {
	background: color-mix(in oklab, var(--foreground) 10%, transparent);
	color: var(--foreground);
}

.join-broker-rules-panel__title {
	margin: 0 1.75rem 0 0;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--foreground);
}

.join-broker-rules-panel__list {
	margin: var(--space-3) 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	font-size: 0.8125rem;
	line-height: 1.55;
	color: var(--muted-foreground);
}

.join-broker-rules-panel__list li {
	position: relative;
	padding-left: 0.875rem;
}

.join-broker-rules-panel__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.3125rem;
	height: 0.3125rem;
	border-radius: 9999px;
	background: var(--primary);
}

.join-broker-req__body {
	padding: 0 var(--space-5) var(--space-5);
	padding-left: calc(var(--space-5) + 1.625rem + var(--space-3));
}

.join-broker-req__desc {
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.65;
}

.join-broker-req__link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	margin-top: var(--space-3);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--primary);
	text-decoration: none;
}

.join-broker-req__link:hover {
	text-decoration: underline;
}

.join-broker-notice {
	display: flex;
	gap: var(--space-3);
	margin-bottom: var(--space-5);
	padding: var(--space-4);
	border-radius: calc(var(--really-radius) - 0.125rem);
	background: color-mix(in oklab, oklch(0.72 0.12 290) 14%, var(--secondary));
}

.join-broker-notice__icon {
	flex-shrink: 0;
	color: oklch(0.45 0.14 290);
	font-size: 1.125rem;
}

.join-broker-notice__list {
	margin: 0;
	font-size: 0.8125rem;
	color: oklch(0.38 0.08 290);
	line-height: 1.65;
}

.join-broker-notice__list li + li {
	margin-top: var(--space-2);
}

.join-broker-required {
	color: var(--destructive);
}

.join-broker-optional {
	font-weight: 400;
	color: var(--muted-foreground);
}

.join-broker-upload {
	min-height: 7.5rem;
}

.join-broker-form .post-upload,
.join-broker-form .join-broker-avatar-picker__tile {
	position: relative;
}

.join-broker-form .post-upload__input {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	opacity: 0;
	cursor: pointer;
	pointer-events: auto;
}

/* Keep file input out of the avatar preview paint layer (opacity:0 full-cover can hide the image). */
.join-broker-form .join-broker-avatar-picker__input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
	opacity: 0;
}

.join-broker-form .post-upload__inner {
	position: relative;
	z-index: 1;
	pointer-events: none;
}

.join-broker-form .post-upload.is-dragover .post-upload__inner {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
}

.join-broker-avatar-picker {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	padding: var(--space-3);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: color-mix(in oklab, var(--primary) 3%, var(--card));
}

.join-broker-avatar-picker__tile {
	position: relative;
	flex-shrink: 0;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 9999px;
	cursor: pointer;
}

.join-broker-avatar-picker__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: inherit;
	border: 2px dashed color-mix(in oklab, var(--primary) 28%, var(--border));
	background: color-mix(in oklab, var(--primary) 5%, var(--secondary));
	transition: border-color 0.2s ease, background 0.2s ease;
}

.join-broker-avatar-picker__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.join-broker-avatar-picker__img[hidden],
.join-broker-avatar-picker__placeholder[hidden] {
	display: none !important;
}

.join-broker-avatar-picker__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 1.5rem;
	color: color-mix(in oklab, var(--primary) 55%, var(--muted-foreground));
}

.join-broker-avatar-picker__badge {
	position: absolute;
	right: -0.125rem;
	bottom: -0.125rem;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 9999px;
	border: 2px solid var(--card);
	background: var(--primary);
	color: #fff;
	font-size: 0.75rem;
	pointer-events: none;
}

.join-broker-avatar-picker__meta {
	flex: 1;
	min-width: 0;
}

.join-broker-avatar-picker__status {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.45;
	color: var(--foreground);
}

.join-broker-avatar-picker__hint {
	margin: var(--space-1) 0 0;
	font-size: 0.75rem;
	line-height: 1.4;
	color: var(--muted-foreground);
}

.join-broker-avatar-picker__reset {
	margin-top: var(--space-2);
	padding: 0;
	border: none;
	background: none;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--primary);
	cursor: pointer;
}

.join-broker-avatar-picker__reset:hover {
	text-decoration: underline;
}

.join-broker-avatar-picker--has-current .join-broker-avatar-picker__visual,
.join-broker-avatar-picker--has-new .join-broker-avatar-picker__visual {
	border-style: solid;
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
	background: var(--card);
}

.join-broker-avatar-picker--has-new .join-broker-avatar-picker__visual {
	border-color: var(--primary);
}

.join-broker-avatar-picker--has-new .join-broker-avatar-picker__status {
	color: var(--primary);
}

.join-broker-avatar-picker__tile:hover .join-broker-avatar-picker__visual,
.join-broker-avatar-picker__tile.is-dragover .join-broker-avatar-picker__visual {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
}

.join-broker-avatar-picker--empty .join-broker-avatar-picker__visual {
	border-style: dashed;
}

.join-broker-upload-preview {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
	margin-top: var(--space-3);
}

.join-broker-upload-preview__item {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: calc(var(--really-radius) - 0.125rem);
	border: 1px solid var(--border);
	background: var(--card);
}

.join-broker-upload-preview__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.join-broker-upload-preview__item--file {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	padding: var(--space-3);
	aspect-ratio: auto;
	min-height: 5.5rem;
	font-size: 0.75rem;
	color: var(--muted-foreground);
	text-align: center;
}

.join-broker-upload-preview__item--file i {
	font-size: 1.25rem;
	color: var(--primary);
}

.join-broker-upload-preview__remove {
	position: absolute;
	top: var(--space-1);
	right: var(--space-1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border: none;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--color-black) 55%, transparent);
	color: #fff;
	cursor: pointer;
}

.join-broker-footer {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
	margin-top: var(--space-8);
	padding-top: var(--space-6);
	border-top: 1px solid var(--border);
}

@media (min-width: 768px) {
	.join-broker-footer {
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
	}
}

.join-broker-footer__terms {
	flex: 1;
	align-items: flex-start;
}

.join-broker-footer__terms .kt-checkbox-label {
	font-size: 0.8125rem;
	line-height: 1.65;
	color: var(--muted-foreground);
}

.join-broker-submit {
	flex-shrink: 0;
	min-width: 10rem;
	padding-inline: var(--space-8);
	border: none;
	border-radius: 9999px;
	background: #e03c31;
	color: #fff;
	font-weight: 700;
}

.join-broker-submit:hover {
	background: #c9342a;
}

.join-broker-cta-btn {
	border: none;
	border-radius: 0.75rem;
	background: linear-gradient(135deg, #e03c31 0%, color-mix(in oklab, #e03c31 82%, var(--primary)) 100%);
	color: #fff;
}

.join-broker-cta-btn:hover {
	background: linear-gradient(135deg, #c9342a 0%, color-mix(in oklab, #c9342a 82%, var(--primary)) 100%);
	color: #fff;
}

.member-broker-pending {
	display: flex;
	gap: var(--space-4);
	align-items: flex-start;
	padding: var(--space-5);
	border: 1px solid color-mix(in oklab, #d97706 28%, var(--border));
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: linear-gradient(135deg, color-mix(in oklab, #d97706 10%, var(--card)) 0%, var(--card) 100%);
}

.member-broker-pending--banner {
	position: relative;
	margin-bottom: var(--space-5);
	align-items: flex-start;
	flex-wrap: wrap;
	border-radius: calc(var(--really-radius) * 1.25);
	padding-right: calc(var(--space-5) + 1.75rem);
}

.member-profile-dashboard__aside > .member-broker-pending--banner {
	margin: 0;
}

.member-broker-pending__dismiss {
	position: absolute;
	top: var(--space-3);
	right: var(--space-3);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
	border: none;
	border-radius: 9999px;
	background: color-mix(in oklab, #d97706 12%, var(--card));
	color: #b45309;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.member-broker-pending__dismiss:hover {
	background: color-mix(in oklab, #d97706 22%, var(--card));
	color: #92400e;
}

.member-broker-pending__main {
	display: flex;
	gap: var(--space-4);
	align-items: flex-start;
	min-width: 0;
	flex: 1;
}

.member-broker-pending__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 9999px;
	background: color-mix(in oklab, #d97706 16%, var(--card));
	color: #b45309;
	font-size: 1.25rem;
}

.member-broker-pending__content {
	min-width: 0;
}

.member-broker-pending__badge {
	display: inline-flex;
	align-items: center;
	margin: 0 0 var(--space-2);
	padding: 0.2rem 0.55rem;
	border-radius: 9999px;
	background: color-mix(in oklab, #d97706 14%, var(--card));
	color: #b45309;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.member-broker-pending__title {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--foreground);
}

.member-broker-pending__desc {
	margin: var(--space-2) 0 0;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--muted-foreground);
}

.member-broker-pending--rejected {
	border-color: color-mix(in oklab, #dc2626 22%, var(--border));
	background: color-mix(in oklab, #dc2626 6%, var(--card));
}

.member-broker-pending__icon--rejected {
	background: color-mix(in oklab, #dc2626 14%, var(--card));
	color: #b91c1c;
}

.member-broker-pending__badge--rejected {
	background: color-mix(in oklab, #dc2626 14%, var(--card));
	color: #b91c1c;
}

.member-broker-pending__reason {
	margin: var(--space-3) 0 0;
	padding: 0.75rem 0.9rem;
	border-radius: 12px;
	background: color-mix(in oklab, #dc2626 8%, #fff);
	border: 1px solid color-mix(in oklab, #dc2626 18%, var(--border));
	font-size: 0.875rem;
	line-height: 1.5;
	color: #7f1d1d;
}

.member-broker-pending__reason-label {
	font-weight: 700;
}

@media (min-width: 640px) {
	.member-broker-pending--banner {
		flex-wrap: nowrap;
	}
}

/* Lock document scroll while a modal or drawer is open */
html:has(.kt-modal.open),
html:has(.kt-drawer.open) {
	overflow: hidden;
	overscroll-behavior: none;
}

.join-broker-modal {
	overflow: hidden;
}

.join-broker-modal .kt-modal-content {
	width: min(52rem, calc(100vw - 1.5rem));
	max-height: min(92vh, 100dvh);
	overflow: hidden;
}

.join-broker-modal .kt-modal-header {
	flex-shrink: 0;
	align-items: flex-start;
}

.join-broker-modal__subtitle {
	margin-top: var(--space-1);
	font-size: 0.8125rem;
	font-weight: 400;
	color: var(--muted-foreground);
}

.join-broker-modal .kt-modal-body {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding-inline: var(--space-4);
	padding-block: var(--space-4);
}

@media (min-width: 640px) {
	.join-broker-modal .kt-modal-body {
		padding-inline: var(--space-5);
		padding-block: var(--space-5);
	}
}

.join-broker--modal {
	max-width: none;
}

.join-broker--modal .join-broker-hero {
	margin-bottom: var(--space-5);
	padding: var(--space-4);
}

.join-broker--modal .join-broker-progress {
	margin-bottom: var(--space-5);
}

.join-broker--modal .join-broker-footer {
	margin-top: var(--space-6);
	padding-top: var(--space-5);
}

/* Report listing modal */
.report-listing-modal .kt-modal-content {
	width: min(28rem, calc(100vw - 1.5rem));
	max-height: 500px;
	overflow: hidden;
}

.report-listing-modal__header {
	position: relative;
	flex-shrink: 0;
	justify-content: center;
	padding-block: var(--space-4);
	border-bottom: 1px solid var(--border);
}

.report-listing-modal__title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 700;
	text-align: center;
}

.report-listing-modal__close {
	position: absolute;
	top: var(--space-3);
	right: var(--space-3);
}

.report-listing-modal__body {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding-top: var(--space-4);
	padding-bottom: var(--space-5);
}

.report-listing-modal__field {
	margin: 0;
	padding: 0;
	border: none;
}

.report-listing-modal__label {
	display: block;
	margin-bottom: var(--space-3);
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--foreground);
}

.report-listing-modal__label--plain {
	font-weight: 500;
}

.report-listing-modal__required {
	color: #e53935;
}

.report-listing-modal__options {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.report-listing-modal__option {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	font-size: 0.9375rem;
	line-height: 1.45;
	color: var(--foreground);
	cursor: pointer;
}

.report-listing-modal__radio {
	flex-shrink: 0;
	width: 1.125rem;
	height: 1.125rem;
	margin-top: 0.125rem;
	cursor: pointer;
	appearance: none;
	border: 1px solid var(--input);
	border-radius: 50%;
	background: var(--background);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.report-listing-modal__radio:checked {
	border-color: var(--primary);
	background: radial-gradient(circle, var(--primary) 0%, var(--primary) 42%, transparent 44%);
	box-shadow: inset 0 0 0 2px var(--background);
}

.report-listing-modal__radio:focus-visible {
	outline: 2px solid color-mix(in oklab, var(--primary) 45%, transparent);
	outline-offset: 2px;
}

.report-listing-modal__textarea {
	min-height: 7.5rem;
	resize: vertical;
}

.report-listing-modal__counter {
	margin-top: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.report-listing-modal__contact-row {
	display: flex;
	gap: var(--space-3);
}

.report-listing-modal__contact-row .report-listing-modal__input {
	flex: 1;
	min-width: 0;
}

.report-listing-modal__submit {
	width: 100%;
	padding: 0.875rem 1rem;
	border: none;
	border-radius: var(--radius-md, 0.375rem);
	background: var(--primary);
	color: var(--primary-foreground);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

.report-listing-modal__submit:hover:not(:disabled) {
	background: color-mix(in oklab, var(--primary) 88%, #000);
}

.report-listing-modal__submit:disabled {
	opacity: 0.72;
	cursor: not-allowed;
}

/* Legal pages (terms, privacy) */
.legal-page {
	padding-block: var(--space-4) var(--space-12);
}

.legal-layout {
	display: grid;
	gap: var(--space-6);
	align-items: start;
}

@media (min-width: 64rem) {
	.legal-layout {
		grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
		gap: var(--space-8);
	}
}

.legal-toc {
	position: sticky;
	top: calc(var(--header-height, 4rem) + var(--space-4));
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

@media (max-width: 63.999rem) {
	.legal-toc {
		position: sticky;
		top: var(--header-height, 4rem);
		z-index: calc(var(--z-header) - 1);
		width: 100vw;
		max-width: 100vw;
		margin-inline: calc(50% - 50vw);
		padding-block: var(--space-4) 0;
		padding-inline: var(--container-x);
		border-inline: none;
		border-bottom: 1px solid var(--border);
		border-radius: 0;
		background: color-mix(in oklab, var(--card) 94%, var(--background));
		overflow: visible;
	}
}

.legal-toc__title {
	margin: 0 0 var(--space-3);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--muted-foreground);
}

@media (max-width: 63.999rem) {
	.legal-toc__title {
		margin-bottom: 0;
	}
}

.legal-toc__list {
	margin: 0;
	padding-left: 1.25rem;
	list-style: decimal;
	list-style-position: outside;
	font-size: 0.875rem;
	line-height: 1.5;
}

@media (max-width: 63.999rem) {
	.legal-toc__list {
		display: flex;
		flex-wrap: nowrap;
		gap: var(--space-2);
		width: auto;
		margin-inline: calc(var(--container-x) * -1);
		padding-block: var(--space-3) var(--space-4);
		padding-inline: var(--container-x);
		scroll-padding-inline: var(--container-x);
		overflow-x: auto;
		list-style: none;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		overscroll-behavior-x: contain;
	}

	.legal-toc__list::-webkit-scrollbar {
		display: none;
	}
}

.legal-toc__list li + li {
	margin-top: var(--space-2);
}

@media (max-width: 63.999rem) {
	.legal-toc__list li + li {
		margin-top: 0;
	}

	.legal-toc__list li {
		flex: 0 0 auto;
	}
}

.legal-toc__list a {
	display: inline-block;
	color: var(--foreground);
	text-decoration: none;
	transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

@media (max-width: 63.999rem) {
	.legal-toc__list a {
		padding: 0.4375rem 0.875rem;
		border: 1px solid var(--border);
		border-radius: 999px;
		background: var(--background);
		font-size: 0.8125rem;
		font-weight: 500;
		line-height: 1.35;
		white-space: nowrap;
	}

	.legal-toc__list a:hover,
	.legal-toc__list a:focus-visible {
		border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
		background: color-mix(in oklab, var(--primary) 8%, var(--background));
	}
}

.legal-toc__list a:hover {
	color: var(--primary);
}

.legal-content__meta {
	margin: 0 0 var(--space-6);
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.legal-body section + section {
	margin-top: var(--space-8);
}

.legal-body section[id] {
	scroll-margin-top: calc(var(--header-height, 4rem) + var(--space-4));
}

@media (max-width: 63.999rem) {
	.legal-body section[id],
	.legal-body h2 {
		scroll-margin-top: calc(var(--header-height, 4rem) + 4.5rem);
	}
}

.legal-body h2 {
	margin: 0 0 var(--space-3);
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	scroll-margin-top: calc(var(--header-height, 4rem) + var(--space-4));
}

.legal-body h3 {
	margin: var(--space-5) 0 var(--space-2);
	font-size: 1rem;
	font-weight: 600;
}

.legal-body p {
	margin: 0 0 var(--space-3);
	line-height: 1.75;
	color: var(--muted-foreground);
}

.legal-body ul {
	margin: 0 0 var(--space-3);
	padding-left: 1.25rem;
	list-style: disc;
	list-style-position: outside;
}

.legal-body ol {
	margin: 0 0 var(--space-3);
	padding-left: 1.25rem;
	list-style: decimal;
	list-style-position: outside;
}

.legal-body li {
	line-height: 1.75;
	color: var(--muted-foreground);
}

.legal-body li + li {
	margin-top: var(--space-2);
}

.legal-body strong {
	color: var(--foreground);
	font-weight: 600;
}

.legal-related {
	margin-top: var(--space-10);
	padding-top: var(--space-6);
	border-top: 1px solid var(--border);
	font-size: 0.9375rem;
}

/* Help center */
.help-search {
	position: relative;
	max-width: 36rem;
	margin-bottom: var(--space-6);
}

.help-search__icon {
	position: absolute;
	top: 50%;
	left: var(--space-4);
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transform: translateY(-50%);
	color: var(--muted-foreground);
	font-size: 1.125rem;
	line-height: 1;
	pointer-events: none;
}

.help-search__input {
	padding-left: calc(var(--space-4) + 1.5rem);
}

.help-quick-links {
	display: grid;
	gap: var(--space-3);
	margin-bottom: var(--space-8);
}

@media (min-width: 640px) {
	.help-quick-links {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.help-quick-links__item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: var(--space-3);
	align-items: start;
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.help-quick-links__item:hover {
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
	box-shadow: 0 4px 20px color-mix(in oklab, var(--primary) 8%, transparent);
}

.help-quick-links__item i {
	grid-row: 1 / span 2;
	align-self: center;
	font-size: 1.375rem;
	color: var(--primary);
}

.help-quick-links__title {
	font-weight: 700;
	color: var(--foreground);
}

.help-quick-links__desc {
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.help-filters {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: var(--space-6);
}

.help-filters__btn {
	padding: 0.375rem 0.875rem;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--background);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--muted-foreground);
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.help-filters__btn:hover {
	color: var(--foreground);
	border-color: color-mix(in oklab, var(--primary) 30%, var(--border));
}

.help-filters__btn.active {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 10%, var(--background));
	color: var(--primary);
}

.help-faq__group + .help-faq__group {
	margin-top: var(--space-8);
}

.help-faq__heading {
	margin: 0 0 var(--space-4);
	font-size: 1.125rem;
	font-weight: 700;
}

.help-faq__item {
	border: 1px solid var(--border);
	border-radius: var(--radius-md, 0.375rem);
	background: var(--card);
}

.help-faq__item + .help-faq__item {
	margin-top: var(--space-3);
}

.help-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding: var(--space-4) var(--space-5);
	font-weight: 600;
	color: var(--foreground);
	cursor: pointer;
	list-style: none;
}

.help-faq__item summary::-webkit-details-marker {
	display: none;
}

.help-faq__item summary::after {
	content: '+';
	flex-shrink: 0;
	font-size: 1.25rem;
	font-weight: 400;
	color: var(--muted-foreground);
}

.help-faq__item[open] summary::after {
	content: '−';
}

.help-faq__item p {
	margin: 0;
	padding: 0 var(--space-5) var(--space-4);
	line-height: 1.75;
	color: var(--muted-foreground);
}

.help-empty {
	margin: var(--space-6) 0 0;
	text-align: center;
	color: var(--muted-foreground);
}

.help-cta {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	align-items: flex-start;
	margin-top: var(--space-10);
	padding: var(--space-6);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: color-mix(in oklab, var(--primary) 6%, var(--card));
}

@media (min-width: 640px) {
	.help-cta {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.help-cta__title {
	margin: 0 0 var(--space-1);
	font-size: 1.125rem;
	font-weight: 700;
}

.help-cta__desc {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--muted-foreground);
}

/* Listing guide */
.guide-head__actions {
	margin-top: var(--space-5);
}

.guide-step {
	display: grid;
	gap: var(--space-4);
}

@media (max-width: 639.999px) {
	.guide-step {
		grid-template-columns: auto minmax(0, 1fr);
		column-gap: var(--space-3);
		row-gap: var(--space-3);
		align-items: center;
	}

	.guide-step > div:not(.guide-step__badge) {
		display: contents;
	}

	.guide-step h2 {
		grid-column: 2;
		grid-row: 1;
		margin-bottom: 0;
	}

	.guide-step p,
	.guide-step ul,
	.guide-step ol {
		grid-column: 1 / -1;
	}
}

@media (min-width: 640px) {
	.guide-step {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
	}
}

.guide-step + .guide-step,
.guide-step + section,
section + .guide-step {
	margin-top: var(--space-8);
}

.guide-step__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--primary);
	color: var(--primary-foreground);
	font-size: 1.125rem;
	font-weight: 800;
	flex-shrink: 0;
}

/* Contact page */
.contact-layout {
	display: grid;
	gap: var(--space-8);
	align-items: start;
}

@media (min-width: 64rem) {
	.contact-layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 24rem);
		gap: var(--space-10);
	}
}

.contact-info__grid {
	display: grid;
	gap: var(--space-3);
}

@media (min-width: 640px) {
	.contact-info__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.contact-info__grid {
		grid-template-columns: 1fr;
	}
}

.contact-info__card {
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

.contact-info__icon {
	font-size: 1.375rem;
	color: var(--primary);
}

.contact-info__title {
	margin: var(--space-3) 0 var(--space-1);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--muted-foreground);
}

.contact-info__value {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	color: var(--foreground);
}

.contact-info__hint {
	margin: var(--space-1) 0 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.contact-info__hours {
	margin-top: var(--space-6);
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

.contact-info__hours-title {
	margin: 0 0 var(--space-4);
	font-size: 1rem;
	font-weight: 700;
}

.contact-info__hours-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.contact-info__hours-list li {
	display: flex;
	justify-content: space-between;
	gap: var(--space-4);
	padding-block: var(--space-2);
	font-size: 0.9375rem;
	color: var(--muted-foreground);
	border-bottom: 1px solid var(--border);
}

.contact-info__hours-list li:last-child {
	border-bottom: none;
}

.contact-info__hours-list li span:last-child {
	color: var(--foreground);
	font-weight: 500;
}

.contact-info__note {
	margin: var(--space-5) 0 0;
	font-size: 0.9375rem;
	color: var(--muted-foreground);
}

.contact-form-card {
	border-radius: calc(var(--really-radius) + 0.125rem);
	overflow: hidden;
}

.contact-form-card .kt-card-header {
	display: block;
	min-height: auto;
	padding: var(--space-5) var(--space-6);
	border-bottom: 1px solid var(--border);
	background: linear-gradient(180deg, var(--secondary) 0%, var(--card) 100%);
}

.contact-form-card__title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 700;
}

.contact-form-card__subtitle {
	margin: var(--space-2) 0 0;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--muted-foreground);
}

.contact-form {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.contact-form__field {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
}

.contact-form__textarea {
	min-height: 8rem;
	resize: vertical;
}

.contact-form__success {
	margin: 0;
	padding: var(--space-3) var(--space-4);
	border-radius: var(--radius-md, 0.375rem);
	background: color-mix(in oklab, var(--primary) 10%, var(--background));
	font-size: 0.875rem;
	color: var(--foreground);
}

/* ── News listing & detail ── */

.news-page {
	padding-block: var(--space-6);
}

@media (min-width: 768px) {
	.news-page {
		padding-block: var(--space-8);
	}
}

/* (search bar uses existing listings-search-bar styles) */

.news-categories {
	display: flex;
	gap: var(--space-2);
	margin-top: var(--space-6);
	margin-bottom: var(--space-6);
	padding-bottom: var(--space-2);
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.news-categories::-webkit-scrollbar {
	display: none;
}

.news-categories__btn {
	flex-shrink: 0;
	padding: 0.5rem 1rem;
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--card);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--muted-foreground);
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.news-categories__btn:hover {
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	color: var(--foreground);
}

.news-categories__btn.active {
	border-color: var(--primary);
	background: color-mix(in oklab, var(--primary) 8%, var(--card));
	color: var(--primary);
	font-weight: 600;
}

.news-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-8);
}

@media (min-width: 1024px) {
	.news-layout {
		grid-template-columns: minmax(0, 1fr) 22rem;
		align-items: start;
	}
}

.news-main {
	min-width: 0;
}

@media (min-width: 1024px) {
	.news-side {
		display: grid;
		gap: var(--space-4);
		align-content: start;
		position: sticky;
		top: calc(var(--header-height, 4rem) + var(--space-4));
	}
}

.news-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-3);
	margin-top: var(--space-6);
	padding-top: var(--space-6);
	border-top: 1px solid var(--border);
}

.news-section-head__title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 900;
	letter-spacing: -0.02em;
}

.news-section-head__link {
	white-space: nowrap;
	color: var(--muted-foreground);
	text-decoration: none;
}

.news-section-head__link:hover {
	color: var(--foreground);
}

.news-stream {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-5);
	margin-top: var(--space-5);
}

@media (min-width: 640px) {
	.news-stream .news-card {
		flex-direction: row;
		align-items: stretch;
	}

	.news-stream .news-card__media {
		width: 14.5rem;
		flex-shrink: 0;
		aspect-ratio: auto;
		border-right: 1px solid var(--border);
	}

	.news-stream .news-card__body {
		padding: var(--space-5);
	}
}

.news-featured-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

@media (min-width: 768px) {
	.news-featured-card {
		grid-template-columns: 1.25fr 1fr;
	}
}

.news-featured-card:hover {
	border-color: color-mix(in oklab, var(--primary) 30%, var(--border));
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
	transform: translateY(-2px);
}

.news-featured-card__media {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--secondary);
}

@media (min-width: 768px) {
	.news-featured-card__media {
		aspect-ratio: auto;
		min-height: 20rem;
	}
}

.news-featured-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-badge {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	background: rgba(15, 23, 42, 0.72);
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.news-featured-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-6);
}

.news-featured-card__kicker {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--primary);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.news-featured-card__title {
	font-size: 1.375rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.news-featured-card__excerpt {
	color: var(--muted-foreground);
}

.news-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: var(--space-2);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.news-meta i {
	margin-right: 0.375rem;
	font-size: 0.875rem;
}

.news-grid {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: var(--space-5);
	margin-top: var(--space-6);
}

@media (min-width: 768px) {
	.news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.news-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.news-card:hover {
	border-color: color-mix(in oklab, var(--primary) 30%, var(--border));
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
	transform: translateY(-2px);
}

.news-card--link {
	text-decoration: none;
	color: inherit;
}

.news-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--secondary);
	overflow: hidden;
}

.news-card__badges {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
	z-index: 2;
	display: inline-flex;
	gap: var(--space-2);
}

.news-card__badges .kt-badge {
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	background: rgba(15, 23, 42, 0.72);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.14);
}

.news-card__badges .kt-badge.kt-badge-primary {
	background: rgba(15, 23, 42, 0.72);
	color: #fff;
}

.news-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.news-card:hover .news-card__media img {
	transform: scale(1.05);
}

.news-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-4);
}

.news-card__title {
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.015em;
}

.news-card__excerpt {
	color: var(--muted-foreground);
	font-size: 0.875rem;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.news-side-card {
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
	padding: var(--space-4);
}

.news-side-card + .news-side-card {
	margin-top: var(--space-4);
}

.news-side-card__title {
	font-size: 0.9375rem;
	font-weight: 800;
	margin-bottom: var(--space-3);
}

.news-most {
	display: grid;
	gap: var(--space-2);
}

.news-most-item {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: var(--space-3);
	align-items: start;
	padding: 0.75rem;
	border-radius: 0.875rem;
	background: color-mix(in oklab, var(--secondary) 55%, var(--background));
	text-decoration: none;
	color: inherit;
	transition: background 0.2s ease, transform 0.2s ease;
}

.news-most-item:hover {
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	transform: translateY(-1px);
}

.news-most-item__rank {
	width: 2rem;
	height: 2rem;
	border-radius: 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 14%, var(--card));
	border: 1px solid color-mix(in oklab, var(--primary) 25%, var(--border));
}

.news-most-item__title {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.news-most-item__meta {
	margin: 0.375rem 0 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.news-most-item__meta i {
	font-size: 0.875rem;
}

.news-newsletter input {
	margin-top: var(--space-3);
}

.news-detail-page {
	padding-block: var(--space-6);
}

@media (min-width: 768px) {
	.news-detail-page {
		padding-block: var(--space-8);
	}
}

.news-detail-page .page-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-8);
}

@media (min-width: 1024px) {
	.news-detail-page .page-container {
		grid-template-columns: minmax(0, 1fr) 22rem;
		align-items: start;
	}

	.news-detail-side {
		position: sticky;
		top: calc(var(--header-height, 4rem) + var(--space-4));
		align-self: start;
	}
}

.news-article {
	min-width: 0;
}

.news-article-head {
	margin-bottom: var(--space-4);
}

.news-article-head__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: var(--space-3) 0;
}

.news-article-head__title {
	font-size: clamp(1.25rem, 3vw, 1.875rem);
	font-weight: 700;
	margin-top: var(--space-2);
	line-height: 1.15;
}

.news-article-head__meta {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	margin-top: var(--space-5);
	padding-top: var(--space-5);
	border-top: 1px solid var(--border);
}

@media (min-width: 768px) {
	.news-article-head__meta {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.news-article-head__author {
	display: flex;
	align-items: center;
	gap: var(--space-3);
}

.news-article-head__avatar {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	background: color-mix(in oklab, var(--primary) 16%, var(--secondary));
	color: var(--primary);
}

.news-article-head__author-name {
	font-weight: 800;
	margin: 0;
}

.news-article-head__author-extra {
	margin: 0;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.news-article-share {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
}

@media (min-width: 768px) {
	.news-article-share {
		justify-content: flex-end;
	}
}

.news-article-share--footer {
	justify-content: flex-start;
}

.news-article-share__label {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--muted-foreground);
	margin-right: 0.125rem;
}

.news-article-share__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem;
}

.news-article-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.575rem;
	height: 1.575rem;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: transparent;
	font-size: 0;
	line-height: 0;
	text-decoration: none;
	cursor: pointer;
}

.news-article-share__btn span {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.news-article-share__btn::before {
	content: '';
	display: block;
	width: 1.575rem;
	height: 1.575rem;
	border-radius: 999px;
	background: transparent center / contain no-repeat;
}

.news-article-share__btn--zalo::before {
	background-image: url("../images/icon-zalo.png");
}

.news-article-share__btn--fb::before {
	background-image: url("../images/icon-facebook.png");
}

.news-article-share__btn--msg::before {
	background-image: url("../images/icon-messenger.png");
}

.news-article-share__btn--copy::before {
	background-color: var(--secondary);
	background-size: 0.875rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1'/%3E%3C/svg%3E");
}

.news-article-share__btn:hover {
	opacity: 0.85;
}

.news-article-cover {
	margin: 0 0 var(--space-6);
	overflow: hidden;
	border-radius: calc(var(--really-radius) + 0.125rem);
	border: 1px solid var(--border);
	background: var(--secondary);
}

.news-article-cover img {
	width: 100%;
	height: auto;
	display: block;
}

.news-article-cover figcaption {
	padding: 0.75rem 1rem;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	border-top: 1px solid var(--border);
}

.news-article-body figure figcaption {
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
	color: #999;
	margin-top: 5px;
	font-style: normal;
}

.news-article-body .lead {
	font-size: 1.0625rem;
	color: color-mix(in oklab, var(--foreground) 92%, var(--muted-foreground));
}

.news-article-body img {
	max-width: 100%;
	height: auto;
	border-radius: var(--really-radius);
}

.news-article-body figure {
	margin-block: var(--space-5);
}

.news-article-callout {
	margin-block: var(--space-6);
	padding: var(--space-5);
	border: 1px solid color-mix(in oklab, var(--primary) 25%, var(--border));
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: color-mix(in oklab, var(--primary) 6%, var(--card));
}

.news-article-callout h3 {
	font-weight: 900;
	margin-bottom: var(--space-3);
}

.news-article-footer {
	margin-top: var(--space-8);
	padding-top: var(--space-6);
	border-top: 1px solid var(--border);
}

.news-article-source {
	margin: 0 0 var(--space-4);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--muted-foreground);
}

.news-article-source__label {
	font-weight: 600;
	color: color-mix(in oklab, var(--foreground) 72%, var(--muted-foreground));
}

.news-article-source__link {
	color: var(--primary);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.news-article-source__link:hover {
	color: color-mix(in oklab, var(--primary) 80%, #000);
}

.news-article-source__name {
	color: color-mix(in oklab, var(--foreground) 82%, var(--muted-foreground));
}

.news-article-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	align-items: center;
	margin-bottom: var(--space-4);
}

.news-article-tags__label {
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.news-article-tag {
	display: inline-flex;
	align-items: center;
	padding: 0.375rem 0.75rem;
	border: 1px solid var(--border);
	border-radius: 9999px;
	background: var(--card);
	font-size: 0.8125rem;
	text-decoration: none;
	color: var(--foreground);
	transition: border-color 0.2s ease, background 0.2s ease;
}

.news-article-tag:hover {
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
	background: color-mix(in oklab, var(--primary) 6%, var(--card));
}

.news-side-list {
	display: grid;
	gap: var(--space-3);
}

.news-side-item {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	gap: 0.625rem;
	align-items: center;
	padding: var(--space-2);
	border-radius: 0.875rem;
	background: color-mix(in oklab, var(--secondary) 55%, var(--background));
	text-decoration: none;
	color: inherit;
	transition: background 0.2s ease;
}

.news-side-item:hover {
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
}

.news-side-item__thumb {
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 0.5rem;
	border: 1px solid var(--border);
	background: var(--secondary);
}

.news-side-item__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.news-side-item:hover .news-side-item__thumb img {
	transform: scale(1.06);
}

.news-side-item__body {
	min-width: 0;
}

.news-side-item__kicker {
	margin: 0 0 0.125rem;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--primary);
}

.news-side-item__title {
	margin: 0;
	font-weight: 700;
	line-height: 1.35;
	font-size: 0.8125rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.news-side-item__meta {
	margin: 0.25rem 0 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

/* Really PRO page */
.pro-page {
	--pro-navy: #0b1220;
}

.pro-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	background: linear-gradient(135deg, var(--pro-gold-dark) 0%, var(--pro-gold) 50%, var(--pro-gold-light) 100%);
	color: #1a1200;
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.35) inset, 0 2px 8px rgba(212, 160, 23, 0.35);
	min-width: 3rem;
}

.pro-badge.hidden {
	display: none;
}

.pro-badge--lg {
	padding: 0.4375rem 0.875rem;
	font-size: 0.75rem;
}

.pro-badge--sm {
	padding: 0.125rem 0.4375rem;
	font-size: 0.5625rem;
}

.pro-badge--inline {
	vertical-align: middle;
	font-size: 0.5625rem;
	padding: 0.125rem 0.375rem;
}

.pro-badge--on-dark {
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset, 0 4px 16px rgba(212, 160, 23, 0.45);
}

.pro-btn-gold {
	background: linear-gradient(135deg, var(--pro-gold-dark) 0%, var(--pro-gold) 55%, var(--pro-gold-light) 100%) !important;
	border-color: transparent !important;
	color: #1a1200 !important;
	font-weight: 700 !important;
}

.pro-btn-gold:hover {
	filter: brightness(1.06);
}

.pro-btn-outline {
	border-color: rgba(255, 255, 255, 0.35) !important;
	color: #fff !important;
	background: rgba(255, 255, 255, 0.08) !important;
}

.pro-btn-outline:hover {
	background: rgba(255, 255, 255, 0.15) !important;
}

/* Hero */
.pro-hero {
	position: relative;
	overflow: hidden;
	padding-block: var(--space-12);
	background: radial-gradient(circle at 85% 15%, rgba(212, 160, 23, 0.18), transparent 42%),
	radial-gradient(circle at 10% 80%, rgba(43, 127, 255, 0.12), transparent 38%),
	linear-gradient(160deg, #060a12 0%, var(--pro-navy) 45%, #101d35 100%);
	color: #fff;
}

@media (min-width: 768px) {
	.pro-hero {
		padding-block: var(--space-16);
	}
}

.pro-hero__inner {
	display: grid;
	gap: var(--space-10);
	align-items: center;
}

@media (min-width: 1024px) {
	.pro-hero__inner {
		grid-template-columns: 1fr 22rem;
		gap: var(--space-12);
	}
}

.pro-hero__title {
	margin-top: var(--space-5);
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
}

.pro-hero__title-accent {
	background: linear-gradient(135deg, var(--pro-gold-light) 0%, var(--pro-gold) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.pro-hero__desc {
	margin-top: var(--space-4);
	max-width: 34rem;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.72);
}

.pro-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-8);
}

.pro-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4) var(--space-8);
	margin-top: var(--space-8);
	padding: 0;
	list-style: none;
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.65);
}

.pro-hero__stats strong {
	display: block;
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--pro-gold-light);
	line-height: 1.2;
}

.pro-hero__visual .property-grid {
	grid-template-columns: 1fr;
	gap: 0;
	margin-top: 0;
}

.pro-hero__visual .property-grid .property-card {
	display: block;
	padding: 0;
	border-radius: calc(var(--really-radius) + 0.125rem);
	border-width: 1px;
	pointer-events: none;
}

.pro-hero__visual .property-grid .property-card:hover {
	transform: none;
}

.pro-hero__visual .property-grid .property-card__media {
	aspect-ratio: 4 / 3;
	width: 100%;
	height: auto;
	min-height: 0;
	border-radius: 0;
}

.pro-hero__visual .property-grid .property-card__media::after {
	display: block;
}

.pro-hero__visual .property-grid .property-card:hover .property-card__media img {
	transform: none;
}

.pro-hero__visual .property-grid .property-card__badge {
	display: block;
}

.pro-hero__visual .property-grid .property-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	padding: var(--space-3);
}

.pro-hero__visual .property-grid .property-card__title {
	grid-area: unset;
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
}

.pro-hero__visual .property-card--pro .property-card__title {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.35;
}

.pro-hero__visual .pro-hero-card {
	box-shadow: 0 0 0 1px color-mix(in oklab, var(--pro-gold) 16%, transparent),
	0 24px 48px rgba(0, 0, 0, 0.35);
}

/* Benefits grid */
.pro-benefits-grid {
	display: grid;
	gap: var(--space-4);
}

@media (min-width: 640px) {
	.pro-benefits-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.pro-benefits-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--space-5);
	}
}

.pro-benefit-card {
	display: flex;
	flex-direction: column;
	padding: var(--space-6);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pro-benefit-card:hover {
	border-color: color-mix(in oklab, var(--pro-gold) 35%, var(--border));
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}

.pro-benefit-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	color: var(--primary);
	font-size: 1.375rem;
}

.pro-benefit-card__icon--badge {
	background: linear-gradient(135deg, color-mix(in oklab, var(--pro-gold) 20%, var(--secondary)) 0%, color-mix(in oklab, var(--pro-gold-light) 30%, var(--secondary)) 100%);
	color: var(--pro-gold-dark);
}

.pro-benefit-card__title {
	margin-top: var(--space-4);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.35;
}

.pro-benefit-card__desc {
	margin-top: var(--space-2);
	flex: 1;
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.6;
}

.pro-benefit-card__compare {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-4);
}

.pro-benefit-card__free,
.pro-benefit-card__pro {
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 600;
}

.pro-benefit-card__free {
	background: var(--secondary);
	color: var(--muted-foreground);
}

.pro-benefit-card__pro {
	background: color-mix(in oklab, var(--pro-gold) 18%, var(--secondary));
	color: var(--pro-gold-dark);
}

/* Compare table */
.pro-compare__table-wrap {
	overflow-x: auto;
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
}

.pro-compare__table {
	width: 100%;
	min-width: 36rem;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.pro-compare__table th,
.pro-compare__table td {
	padding: var(--space-4) var(--space-5);
	text-align: left;
	border-bottom: 1px solid var(--border);
}

.pro-compare__table thead th {
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--muted-foreground);
	background: var(--secondary);
}

.pro-compare__table tbody th {
	font-weight: 600;
}

.pro-compare__table tbody tr:last-child th,
.pro-compare__table tbody tr:last-child td {
	border-bottom: none;
}

.pro-compare__col-pro {
	background: color-mix(in oklab, var(--pro-gold) 6%, var(--card));
}

.pro-compare__check {
	color: oklch(0.62 0.17 155);
	font-weight: 700;
}

.pro-compare__cross {
	color: var(--muted-foreground);
}

/* Preview sections */
.pro-preview-grid {
	display: grid;
	gap: var(--space-12);
}

@media (min-width: 1024px) {
	.pro-preview-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-10);
		align-items: start;
	}
}

.pro-search-preview,
.pro-crm-preview {
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
	overflow: hidden;
	margin-top: var(--space-3);
}

.pro-search-preview__bar {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-3) var(--space-4);
	border-bottom: 1px solid var(--border);
	background: var(--secondary);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--muted-foreground);
}

.pro-search-preview__list {
	padding: var(--space-3);
}

.pro-search-item {
	display: grid;
	grid-template-columns: 1.75rem 4rem 1fr auto;
	gap: var(--space-3);
	align-items: center;
	padding: var(--space-3);
	border-radius: 0.75rem;
	transition: background 0.2s ease;
}

.pro-search-item--pro {
	border: 1px solid color-mix(in oklab, var(--pro-gold) 40%, var(--border));
	background: color-mix(in oklab, var(--pro-gold) 8%, var(--card));
}

.pro-search-item--dim {
	opacity: 0.55;
}

.pro-search-item__rank {
	font-size: 0.875rem;
	font-weight: 800;
	color: var(--muted-foreground);
	text-align: center;
}

.pro-search-item--pro .pro-search-item__rank {
	color: var(--pro-gold-dark);
}

.pro-search-item__thumb {
	position: relative;
	aspect-ratio: 4 / 3;
	border-radius: 0.5rem;
	overflow: hidden;
}

.pro-search-item__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pro-search-item__thumb .pro-badge {
	position: absolute;
	left: 0.25rem;
	top: 0.25rem;
}

.pro-search-item__title {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.35;
}

.pro-search-item__meta {
	margin-top: 0.125rem;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.pro-search-item__boost {
	display: none;
	align-items: center;
	gap: 0.25rem;
	padding: 0.25rem 0.5rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--pro-gold) 15%, var(--secondary));
	font-size: 0.6875rem;
	font-weight: 700;
	color: var(--pro-gold-dark);
	white-space: nowrap;
}

@media (min-width: 480px) {
	.pro-search-item__boost {
		display: inline-flex;
	}
}

/* CRM preview */
.pro-crm-preview__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding: var(--space-4) var(--space-5);
	border-bottom: 1px solid var(--border);
}

.pro-crm-preview__title {
	font-size: 0.9375rem;
	font-weight: 700;
}

.pro-crm-preview__count {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--primary);
}

.pro-crm-list {
	margin: 0;
	padding: var(--space-3);
	list-style: none;
}

.pro-crm-item {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-3);
	border-radius: 0.75rem;
	transition: background 0.2s ease;
}

.pro-crm-item:hover {
	background: var(--secondary);
}

.pro-crm-item__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 12%, var(--secondary));
	font-size: 0.6875rem;
	font-weight: 800;
	color: var(--primary);
}

.pro-crm-item__info {
	flex: 1;
	min-width: 0;
}

.pro-crm-item__name {
	font-size: 0.875rem;
	font-weight: 600;
}

.pro-crm-item__listing {
	margin-top: 0.125rem;
	font-size: 0.75rem;
	color: var(--muted-foreground);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pro-crm-item__status {
	flex-shrink: 0;
	padding: 0.1875rem 0.5rem;
	border-radius: 9999px;
	font-size: 0.6875rem;
	font-weight: 700;
}

.pro-crm-item__status--hot {
	background: color-mix(in oklab, var(--destructive) 12%, var(--secondary));
	color: var(--destructive);
}

.pro-crm-item__status--warm {
	background: color-mix(in oklab, var(--pro-gold) 15%, var(--secondary));
	color: var(--pro-gold-dark);
}

.pro-crm-item__status--new {
	background: color-mix(in oklab, var(--primary) 12%, var(--secondary));
	color: var(--primary);
}

.pro-crm-preview__footer {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	padding: var(--space-3) var(--space-5);
	border-top: 1px solid var(--border);
	background: var(--secondary);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--muted-foreground);
}

.pro-crm-preview__footer span {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}

/* Pricing */
.pro-pricing-grid {
	display: grid;
	gap: var(--space-5);
	max-width: 52rem;
	margin-inline: auto;
}

@media (min-width: 768px) {
	.pro-pricing-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}
}

.pro-pricing-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: var(--space-8) var(--space-6);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

.pro-pricing-card--featured {
	border-color: color-mix(in oklab, var(--pro-gold) 45%, var(--border));
	background: linear-gradient(180deg, color-mix(in oklab, var(--pro-gold) 8%, var(--card)) 0%, var(--card) 100%);
	box-shadow: 0 20px 48px rgba(212, 160, 23, 0.12);
}

.pro-pricing-card__ribbon {
	position: absolute;
	top: var(--space-4);
	right: var(--space-4);
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	background: linear-gradient(135deg, var(--pro-gold-dark) 0%, var(--pro-gold) 100%);
	color: #1a1200;
	font-size: 0.6875rem;
	font-weight: 800;
}

.pro-pricing-card__name {
	font-size: 1.125rem;
	font-weight: 700;
}

.pro-pricing-card__price {
	margin-top: var(--space-4);
	font-size: 2.5rem;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
}

.pro-pricing-card--featured .pro-pricing-card__price {
	color: var(--pro-gold-dark);
}

.pro-pricing-card__price span {
	font-size: 1.25rem;
	font-weight: 700;
}

.pro-pricing-card__period {
	margin-top: var(--space-1);
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.pro-pricing-card__features {
	flex: 1;
	margin: var(--space-6) 0;
	padding: 0;
	list-style: none;
}

.pro-pricing-card__features li {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	padding-block: var(--space-2);
	font-size: 0.875rem;
	line-height: 1.45;
}

.pro-pricing-card__features li > i {
	flex-shrink: 0;
	margin-top: 0.125rem;
	color: oklch(0.62 0.17 155);
}

.pro-pricing-card__feature--muted {
	color: var(--muted-foreground);
}

.pro-pricing-card__feature--muted i {
	color: var(--muted-foreground) !important;
}

.pro-pricing-card__note {
	margin-top: var(--space-4);
	font-size: 0.8125rem;
	text-align: center;
	color: var(--muted-foreground);
}

.pro-pricing-card__note-link {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px dashed color-mix(in oklab, var(--muted-foreground) 50%, transparent);
	transition: color 0.15s ease, border-color 0.15s ease;
}

.pro-pricing-card__note-link:hover {
	color: var(--pro-gold, oklch(0.72 0.14 75));
	border-color: var(--pro-gold, oklch(0.72 0.14 75));
}

/* FAQ */
.pro-faq {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.pro-faq__item {
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card);
	overflow: hidden;
}

.pro-faq__item summary {
	padding: var(--space-4) var(--space-5);
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.pro-faq__item summary::-webkit-details-marker {
	display: none;
}

.pro-faq__item summary::after {
	content: "+";
	float: right;
	font-size: 1.25rem;
	font-weight: 400;
	color: var(--muted-foreground);
}

.pro-faq__item[open] summary::after {
	content: "−";
}

.pro-faq__item p {
	padding: 0 var(--space-5) var(--space-4);
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.65;
}

/* Listings reel mode */
.listings-reel-body {
	overflow: hidden;
	background: #0a0a0a;
	color: #fff;
}

.listings-reel-page {
	height: 100vh;
	height: 100svh;
	min-height: -webkit-fill-available;
}

.listings-reel-shell {
	display: grid;
	height: 100%;
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1024px) {
	.listings-reel-shell {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 26rem);
		gap: var(--space-6);
		max-width: 80rem;
		margin-inline: auto;
		padding: var(--space-4);
	}
}

.listings-reel-topbar {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 30;
	display: flex;
	align-items: center;
	gap: var(--space-2);
	padding: calc(env(safe-area-inset-top, 0px) + var(--space-3)) var(--space-3) var(--space-3);
	pointer-events: none;
}

.listings-reel-topbar > * {
	pointer-events: auto;
}

.listings-reel-topbar__back,
.listings-reel-topbar__filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 9999px;
	border: 1px solid color-mix(in oklab, #fff 18%, transparent);
	background: color-mix(in oklab, #000 35%, transparent);
	backdrop-filter: blur(8px);
	color: #fff;
	flex-shrink: 0;
	transition: background 0.15s ease;
}

.listings-reel-topbar__back:hover,
.listings-reel-topbar__filter:hover {
	background: color-mix(in oklab, #000 55%, transparent);
}

.listings-reel-topbar__search {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}

.listings-reel-topbar__search > i {
	position: absolute;
	left: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 0.875rem;
	color: color-mix(in oklab, #fff 65%, transparent);
	pointer-events: none;
}

.listings-reel-topbar__input {
	width: 100%;
	height: 2.25rem;
	padding: 0 0.75rem 0 2.125rem;
	border-radius: 9999px;
	border: 1px solid color-mix(in oklab, #fff 18%, transparent);
	background: color-mix(in oklab, #000 35%, transparent);
	backdrop-filter: blur(8px);
	color: #fff;
	font-size: 0.8125rem;
}

.listings-reel-topbar__input::placeholder {
	color: color-mix(in oklab, #fff 55%, transparent);
}

.listings-reel-topbar__input:focus {
	outline: 2px solid color-mix(in oklab, var(--primary) 55%, transparent);
	outline-offset: 1px;
}

.listings-reel-topbar__views {
	flex-shrink: 0;
	border-color: color-mix(in oklab, #fff 18%, transparent);
	background: color-mix(in oklab, #000 35%, transparent);
	backdrop-filter: blur(8px);
}

.listings-reel-topbar__views .listings-view-toggle__btn {
	color: color-mix(in oklab, #fff 75%, transparent);
}

.listings-reel-topbar__views .listings-view-toggle__btn.active,
.listings-reel-topbar__views .listings-view-toggle__btn:hover {
	color: #fff;
	background: color-mix(in oklab, #fff 14%, transparent);
}

.listings-reel-viewport {
	position: relative;
	height: 100%;
	min-height: 0;
	display: flex;
	justify-content: center;
	background: #0a0a0a;
	isolation: isolate;
}

@media (min-width: 1024px) {
	.listings-reel-viewport {
		border-radius: 1.25rem;
		overflow: hidden;
		box-shadow: 0 24px 64px color-mix(in oklab, #000 55%, transparent);
	}
}

.listings-reel-feed {
	width: 100%;
	max-width: 36rem;
	height: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	scroll-snap-type: y mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.listings-reel-feed::-webkit-scrollbar {
	display: none;
}

.listings-reel-feed:focus {
	outline: none;
}

.listings-reel-slide {
	position: relative;
	height: 100%;
	min-height: 100%;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	overflow: hidden;
	background: #111;
	isolation: isolate;
}

.listings-reel-slide:not(.is-near):not(.is-active) .listings-reel-slide__media img {
	filter: blur(2px);
}

.listings-reel-slide__progress {
	position: absolute;
	top: calc(env(safe-area-inset-top, 0px) + 1.75rem);
	left: 54px;
	right: 54px;
	z-index: 20;
	display: flex;
	gap: 0.25rem;
}

.listings-reel-slide__progress-item {
	flex: 1 1 0;
	height: 0.1875rem;
	border-radius: 9999px;
	background: color-mix(in oklab, #fff 28%, transparent);
	overflow: hidden;
}

.listings-reel-slide__progress-item.is-done {
	background: #fff;
}

.listings-reel-slide__progress-fill {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: #fff;
}

.listings-reel-slide__progress-item.is-active .listings-reel-slide__progress-fill {
	animation: listings-reel-progress 4.5s linear forwards;
}

.listings-reel-slide.is-paused .listings-reel-slide__progress-item.is-active .listings-reel-slide__progress-fill {
	animation-play-state: paused;
}

@keyframes listings-reel-progress {
	from {
		width: 0;
	}
	to {
		width: 100%;
	}
}

.listings-reel-slide__media {
	position: absolute;
	inset: 0;
}

.listings-reel-slide__frame {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.28s ease;
}

.listings-reel-slide__frame.is-active {
	opacity: 1;
}

.listings-reel-slide__frame img,
.listings-reel-slide__frame video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.listings-reel-slide__video {
	background: #000;
}

.listings-reel-slide__mute {
	position: absolute;
	top: calc(env(safe-area-inset-top, 0px) + 0.75rem);
	right: var(--space-3);
	z-index: 16;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border: none;
	border-radius: 9999px;
	background: color-mix(in oklab, #000 42%, transparent);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: 1rem;
	cursor: pointer;
	pointer-events: auto;
}

.listings-reel-slide__mute.is-unmuted {
	color: var(--primary);
}

.listings-reel-slide__mute-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.listings-reel-slide__mute-icon svg {
	display: block;
}

.listings-reel-slide__mute.is-unmuted .listings-reel-slide__mute-icon--muted,
.listings-reel-slide__mute:not(.is-unmuted) .listings-reel-slide__mute-icon--on {
	display: none;
}

.listings-reel-slide__video-tag {
	position: absolute;
	left: var(--space-3);
	bottom: var(--space-3);
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.25rem 0.5rem;
	border-radius: 9999px;
	font-size: 0.6875rem;
	font-weight: 600;
	color: #fff;
	background: color-mix(in oklab, #000 42%, transparent);
	backdrop-filter: blur(6px);
	pointer-events: none;
}

.listings-reel-slide__frame:not(.is-active) .listings-reel-slide__mute,
.listings-reel-slide__frame:not(.is-active) .listings-reel-slide__video-tag {
	display: none;
}

.listings-reel-slide.is-paused .listings-reel-slide__video {
	filter: brightness(0.92);
}

.listings-reel-slide__gradient {
	position: absolute;
	inset: 0;
	z-index: 5;
	background: linear-gradient(
		180deg,
		color-mix(in oklab, #000 45%, transparent) 0%,
		transparent 28%,
		transparent 42%,
		color-mix(in oklab, #000 40%, transparent) 68%,
		color-mix(in oklab, #000 92%, transparent) 100%
	);
	pointer-events: none;
}

.listings-reel-slide__tap {
	position: absolute;
	inset: 0;
	z-index: 10;
	display: flex;
}

.listings-reel-slide__tap-zone {
	border: none;
	padding: 0;
	margin: 0;
	background: transparent;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.listings-reel-slide__tap-zone--prev {
	flex: 0 0 32%;
}

.listings-reel-slide__tap-zone--pause {
	flex: 1 1 auto;
}

.listings-reel-slide__tap-zone--next {
	flex: 0 0 32%;
}

.listings-reel-slide__badge {
	position: absolute;
	top: calc(env(safe-area-inset-top, 0px) + 4.5rem);
	left: var(--space-3);
	z-index: 15;
	display: flex;
	align-items: center;
	gap: var(--space-2);
}

.listings-reel-slide__actions {
	position: absolute;
	right: max(var(--space-3), env(safe-area-inset-right, 0px));
	bottom: calc(env(safe-area-inset-bottom, 0px) + 11.5rem);
	z-index: 16;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-4);
	pointer-events: none;
}

.listings-reel-slide__actions > * {
	pointer-events: auto;
}

.listings-reel-slide__action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	min-width: 3rem;
	border: none;
	background: transparent;
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 500;
	text-decoration: none;
	text-shadow: 0 1px 4px color-mix(in oklab, #000 55%, transparent);
	cursor: pointer;
	transition: transform 0.15s ease;
}

.listings-reel-slide__action:hover {
	transform: scale(1.06);
}

.listings-reel-slide__action i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 9999px;
	font-size: 1.375rem;
	background: color-mix(in oklab, #000 32%, transparent);
	backdrop-filter: blur(6px);
}

.listings-reel-slide__action.is-liked,
.listings-reel-slide__action.is-liked i {
	color: #ff4d6d;
}

.listings-reel-slide__action--primary i {
	background: var(--primary);
	color: var(--primary-foreground);
}

.listings-reel-slide__info {
	position: absolute;
	left: max(var(--space-3), env(safe-area-inset-left, 0px));
	right: calc(4.5rem + env(safe-area-inset-right, 0px));
	bottom: calc(env(safe-area-inset-bottom, 0px) + var(--space-3));
	z-index: 20;
	pointer-events: none;
}

.listings-reel-slide__info > * {
	pointer-events: auto;
}

.listings-reel-slide__price {
	margin: 0;
	font-size: 1.375rem;
	font-weight: 800;
	line-height: 1.2;
	text-shadow: 0 1px 6px color-mix(in oklab, #000 55%, transparent);
}

.listings-reel-slide__unit {
	font-size: 0.8125rem;
	font-weight: 500;
	color: color-mix(in oklab, #fff 78%, transparent);
}

.listings-reel-slide__title-row {
	display: flex;
	align-items: flex-start;
	margin-top: var(--space-2);
}

.listings-reel-slide__title {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-shadow: 0 1px 4px color-mix(in oklab, #000 55%, transparent);
}

.listings-reel-slide__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin: var(--space-2) 0 0;
	font-size: 0.75rem;
	color: color-mix(in oklab, #fff 88%, transparent);
}

.listings-reel-slide__meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.listings-reel-slide__location {
	margin: var(--space-2) 0 0;
	font-size: 0.75rem;
	color: color-mix(in oklab, #fff 78%, transparent);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.listings-reel-slide__location i {
	margin-right: 0.125rem;
}

.listings-reel-slide__broker {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-3);
	padding: var(--space-2);
	border-radius: 0.75rem;
	background: color-mix(in oklab, #000 38%, transparent);
	backdrop-filter: blur(8px);
}

.listings-reel-slide__broker img {
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 9999px;
	object-fit: cover;
	flex-shrink: 0;
}

.listings-reel-slide__broker-name {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
}

.listings-reel-slide__broker-role {
	margin: 0.125rem 0 0;
	font-size: 0.6875rem;
	color: color-mix(in oklab, #fff 70%, transparent);
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.listings-reel-slide__broker > div {
	flex: 1 1 auto;
	min-width: 0;
}

.listings-reel-slide__detail-btn {
	flex-shrink: 0;
	height: 2rem;
	padding-inline: 0.75rem;
	font-size: 0.75rem;
}

.listings-reel-slide__hint {
	position: absolute;
	left: 50%;
	bottom: calc(env(safe-area-inset-bottom, 0px) + 13.5rem);
	z-index: 12;
	transform: translateX(-50%);
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.6875rem;
	color: color-mix(in oklab, #fff 55%, transparent);
	animation: listings-reel-hint 2.4s ease-in-out infinite;
	pointer-events: none;
}

.listings-reel-slide:not(.is-active) .listings-reel-slide__hint,
.listings-reel-slide:nth-last-child(1) .listings-reel-slide__hint,
.listings-reel-slide:nth-last-child(2) .listings-reel-slide__hint {
	display: none;
}

@keyframes listings-reel-hint {
	0%, 100% {
		opacity: 0.45;
		transform: translateX(-50%) translateY(0);
	}
	50% {
		opacity: 1;
		transform: translateX(-50%) translateY(-0.25rem);
	}
}

.listings-reel-nav {
	position: absolute;
	right: var(--space-4);
	top: 50%;
	z-index: 30;
	display: none;
	flex-direction: column;
	gap: var(--space-2);
	transform: translateY(-50%);
}

@media (min-width: 1024px) {
	.listings-reel-nav {
		display: flex;
	}

	.listings-reel-slide__gradient {
		background: linear-gradient(
			180deg,
			color-mix(in oklab, #000 45%, transparent) 0%,
			transparent 28%,
			transparent 42%,
			color-mix(in oklab, #000 40%, transparent) 100%,
			color-mix(in oklab, #000 92%, transparent) 100%
		);
	}
}

.listings-reel-nav__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	border: 1px solid color-mix(in oklab, #fff 20%, transparent);
	background: color-mix(in oklab, #000 45%, transparent);
	backdrop-filter: blur(8px);
	color: #fff;
	font-size: 1.125rem;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

.listings-reel-nav__btn:hover:not(:disabled) {
	background: color-mix(in oklab, #000 65%, transparent);
	border-color: color-mix(in oklab, #fff 35%, transparent);
}

.listings-reel-nav__btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.listings-reel-sidebar {
	display: none;
	flex-direction: column;
	gap: var(--space-3);
	min-height: 0;
	padding: var(--space-4) var(--space-4) var(--space-4) 0;
	color: color-mix(in oklab, #fff 88%, transparent);
}

@media (min-width: 1024px) {
	.listings-reel-sidebar {
		display: flex;
	}

	.listings-reel-slide__info,
	.listings-reel-slide__detail-btn {
		display: none;
	}
}

.listings-reel-sidebar__logo {
	flex-shrink: 0;
}

.listings-reel-sidebar__logo img {
	height: 1.75rem;
	width: auto;
	filter: brightness(0) invert(1);
}

.listings-reel-sidebar__detail {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.listings-reel-sidebar__detail-pane {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	gap: 0;
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.22s ease, transform 0.22s ease;
	will-change: opacity, transform;
}

.listings-reel-sidebar__content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	gap: 0;
}

.listings-reel-sidebar__detail-pane.is-loading .listings-reel-sidebar__content,
.listings-reel-sidebar__detail-pane.is-switching .listings-reel-sidebar__content {
	visibility: hidden;
	pointer-events: none;
}

.listings-reel-sidebar__skeleton {
	display: none;
	position: absolute;
	inset: 0;
	z-index: 2;
	flex-direction: column;
	min-height: 0;
	gap: 0;
	pointer-events: none;
}

.listings-reel-sidebar__detail-pane.is-loading .listings-reel-sidebar__skeleton,
.listings-reel-sidebar__detail-pane.is-switching .listings-reel-sidebar__skeleton {
	display: flex;
}

.listings-reel-sidebar__sr-status {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.listings-reel-sidebar__skeleton-scroll {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding-right: var(--space-1);
	padding-bottom: var(--space-2);
	overflow: hidden;
}

.listings-reel-sidebar__skeleton-thumbs {
	display: flex;
	gap: var(--space-2);
	flex-shrink: 0;
}

.listings-reel-sidebar__skeleton-thumb {
	flex: 0 0 4rem;
	width: 4rem;
	height: 3rem;
	border-radius: 0.5rem;
}

.listings-reel-sidebar__skeleton-line {
	height: 0.75rem;
	border-radius: calc(var(--radius) - 2px);
}

.listings-reel-sidebar__skeleton-line--price {
	width: 42%;
	height: 1.125rem;
}

.listings-reel-sidebar__skeleton-line--unit {
	width: 56%;
	height: 0.6875rem;
}

.listings-reel-sidebar__skeleton-line--title {
	width: 100%;
	height: 0.875rem;
}

.listings-reel-sidebar__skeleton-line--title-short {
	width: 72%;
}

.listings-reel-sidebar__skeleton-line--location {
	width: 88%;
	height: 0.75rem;
}

.listings-reel-sidebar__skeleton-specs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-2);
}

.listings-reel-sidebar__skeleton-spec {
	height: 3.25rem;
	border-radius: 0.625rem;
}

.listings-reel-sidebar__skeleton-line--chips {
	width: 64%;
	height: 1.5rem;
	border-radius: 9999px;
}

.listings-reel-sidebar__skeleton-line--section-title {
	width: 28%;
	height: 0.875rem;
	margin-top: var(--space-1);
}

.listings-reel-sidebar__skeleton-line--short {
	width: 48%;
}

.listings-reel-sidebar__skeleton-footer {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding-top: var(--space-3);
	border-top: 1px solid color-mix(in oklab, #fff 14%, transparent);
}

.listings-reel-sidebar__skeleton-broker {
	display: flex;
	align-items: center;
	gap: var(--space-2);
}

.listings-reel-sidebar__skeleton-avatar {
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 9999px;
}

.listings-reel-sidebar__skeleton-broker-lines {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	min-width: 0;
}

.listings-reel-sidebar__skeleton-line--name {
	width: 52%;
	height: 0.8125rem;
}

.listings-reel-sidebar__skeleton-line--role {
	width: 68%;
	height: 0.6875rem;
}

.listings-reel-sidebar__skeleton-btn {
	height: 2.5rem;
	border-radius: calc(var(--radius) - 2px);
}

.listings-reel-sidebar__skeleton-btn--outline {
	height: 2.5rem;
	opacity: 0.72;
}

@media (prefers-reduced-motion: reduce) {
	.listings-reel-sidebar__skeleton .kt-skeleton {
		animation: none;
	}
}

.listings-reel-sidebar__skeleton .kt-skeleton {
	background-color: color-mix(in oklab, #fff 12%, transparent);
}

.listings-reel-sidebar__scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding-right: var(--space-1);
	padding-bottom: var(--space-2);
	scrollbar-width: thin;
	scrollbar-color: color-mix(in oklab, #fff 22%, transparent) transparent;
}

.listings-reel-sidebar__scroll::-webkit-scrollbar {
	width: 0.3125rem;
}

.listings-reel-sidebar__scroll::-webkit-scrollbar-thumb {
	border-radius: 9999px;
	background: color-mix(in oklab, #fff 22%, transparent);
}

.listings-reel-sidebar__footer {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding-top: var(--space-3);
	border-top: 1px solid color-mix(in oklab, #fff 14%, transparent);
}

.listings-reel-sidebar__detail-pane.is-switching {
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.listings-reel-sidebar__detail-pane,
	.listings-reel-sidebar__detail-pane.is-switching {
		transition: none;
		transform: none;
	}
}

.listings-reel-sidebar__hero {
	flex-shrink: 0;
	min-height: 3.25rem;
}

.listings-reel-sidebar__title-row {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
}

.listings-reel-sidebar__badge {
	flex-shrink: 0;
	margin-top: 0.2rem;
	font-size: 0.625rem;
	line-height: 1.2;
}

.listings-reel-sidebar__title {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.45;
	color: #fff;
}

.listings-reel-sidebar__thumbs {
	display: flex;
	gap: var(--space-2);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 0.125rem;
}

.listings-reel-sidebar__thumbs::-webkit-scrollbar {
	display: none;
}

.listings-reel-sidebar__thumb {
	position: relative;
	flex: 0 0 4rem;
	width: 4rem;
	height: 3rem;
	padding: 0;
	border: 2px solid color-mix(in oklab, #fff 14%, transparent);
	border-radius: 0.5rem;
	overflow: hidden;
	background: color-mix(in oklab, #fff 6%, transparent);
	cursor: pointer;
	opacity: 0.6;
	scroll-snap-align: start;
	transition: opacity 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.listings-reel-sidebar__thumb:hover {
	opacity: 0.85;
}

.listings-reel-sidebar__thumb.is-active {
	border-color: var(--primary);
	opacity: 1;
}

.listings-reel-sidebar__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.listings-reel-sidebar__thumb-play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in oklab, #000 35%, transparent);
	color: #fff;
	font-size: 0.875rem;
	pointer-events: none;
}

.listings-reel-sidebar__price-bar {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-2);
}

.listings-reel-sidebar__price-bar .listing-price-bar__meta {
	margin-left: 0;
}

.listings-reel-sidebar__price-bar .listing-price-bar__price {
	color: #fff;
	font-size: 1.375rem;
}

.listings-reel-sidebar__price-bar .listing-price-bar__unit {
	color: color-mix(in oklab, #fff 65%, transparent);
}

.listings-reel-sidebar__stats {
	color: color-mix(in oklab, #fff 55%, transparent);
}

.listings-reel-sidebar__stats i {
	color: color-mix(in oklab, #fff 45%, transparent);
}

.listings-reel-sidebar__location {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: color-mix(in oklab, #fff 65%, transparent);
}

.listings-reel-sidebar__location i {
	margin-top: 0.125rem;
	flex-shrink: 0;
}

.listings-reel-sidebar__specs {
	margin: 0;
}

.listings-reel-sidebar__specs .listing-spec-item {
	border-color: transparent;
	background: transparent;
	padding: 0;
}

.listings-reel-sidebar__specs .listing-spec-item__icon {
	background: color-mix(in oklab, var(--primary) 18%, transparent);
}

.listings-reel-sidebar__specs .listing-spec-item__value {
	color: #fff;
}

.listings-reel-sidebar__specs .listing-spec-item__label {
	color: color-mix(in oklab, #fff 55%, transparent);
}

.listings-reel-sidebar__chips {
	margin: 0;
}

.listings-reel-sidebar__chips .meta-chip {
	border-color: color-mix(in oklab, #fff 16%, transparent);
	background: color-mix(in oklab, #fff 8%, transparent);
	color: color-mix(in oklab, #fff 85%, transparent);
}

.listings-reel-sidebar__section {
	margin: 0;
}

.listings-reel-sidebar__section .listing-section__title {
	margin-bottom: var(--space-2);
	font-size: 0.9375rem;
	color: #fff;
}

.listings-reel-sidebar__section .listing-description {
	font-size: 0.8125rem;
	color: color-mix(in oklab, #fff 68%, transparent);
}

.listings-reel-sidebar__contact {
	position: static;
	margin: 0;
	border-color: color-mix(in oklab, #fff 14%, transparent);
	background: color-mix(in oklab, #fff 6%, transparent);
}

.listings-reel-sidebar__contact .listing-contact-card__actions {
	margin-top: var(--space-2);
	flex-direction: column;
}

.listings-reel-sidebar__contact .listing-contact-card__actions > .kt-btn {
	flex: none;
	width: 100%;
}

.listings-reel-sidebar__contact .listing-contact-card__actions .kt-btn-outline.kt-btn-primary {
	border-color: color-mix(in oklab, #fff 18%, transparent);
	background: color-mix(in oklab, #fff 8%, transparent);
	color: #fff;
}

.listings-reel-sidebar__contact .listing-contact-card__actions .kt-btn-primary:not(.kt-btn-outline) {
	border-color: color-mix(in oklab, #fff 18%, transparent);
	background: color-mix(in oklab, #fff 14%, transparent);
	color: #fff;
}

.listings-reel-sidebar__contact .listing-contact-card__name {
	color: #fff;
}

.listings-reel-sidebar__contact .listing-contact-card__role {
	color: color-mix(in oklab, #fff 55%, transparent);
}

.listings-reel-sidebar__fullpage {
	flex-shrink: 0;
	border-color: color-mix(in oklab, #fff 22%, transparent);
}

.listings-reel-sidebar__fullpage:hover {
	background: color-mix(in oklab, #fff 10%, transparent);
	color: #fff;
}

.listings-reel-sidebar .kt-btn-outline {
	border-color: color-mix(in oklab, #fff 22%, transparent);
}

.listings-reel-sidebar .kt-btn-outline:hover {
	background: color-mix(in oklab, #fff 10%, transparent);
	color: #fff;
}

/* Reel help popover */
.listings-reel-help-wrap {
	position: absolute;
	right: var(--space-3);
	bottom: calc(env(safe-area-inset-bottom, 0px) + var(--space-3));
	z-index: 35;
}

.listings-reel-help {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 9999px;
	border: 1px solid color-mix(in oklab, #fff 20%, transparent);
	background: color-mix(in oklab, #000 45%, transparent);
	backdrop-filter: blur(8px);
	color: color-mix(in oklab, #fff 80%, transparent);
	font-size: 1rem;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.listings-reel-help:hover,
.listings-reel-help[aria-expanded="true"] {
	background: color-mix(in oklab, #000 65%, transparent);
	border-color: color-mix(in oklab, #fff 35%, transparent);
	color: #fff;
}

.listings-reel-help-panel {
	position: absolute;
	right: 0;
	bottom: calc(100% + var(--space-2));
	width: min(16rem, calc(100vw - var(--space-6)));
	padding: var(--space-4);
	border-radius: 0.875rem;
	border: 1px solid color-mix(in oklab, #fff 16%, transparent);
	background: color-mix(in oklab, #111 92%, transparent);
	backdrop-filter: blur(12px);
	box-shadow: 0 12px 40px color-mix(in oklab, #000 55%, transparent);
}

.listings-reel-help-panel[hidden] {
	display: none;
}

.listings-reel-help-panel__close {
	position: absolute;
	top: var(--space-2);
	right: var(--space-2);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border: none;
	border-radius: 9999px;
	background: color-mix(in oklab, #fff 10%, transparent);
	color: color-mix(in oklab, #fff 75%, transparent);
	cursor: pointer;
}

.listings-reel-help-panel__close:hover {
	background: color-mix(in oklab, #fff 18%, transparent);
	color: #fff;
}

.listings-reel-help-panel__title {
	margin: 0 1.75rem 0 0;
	font-size: 0.9375rem;
	font-weight: 700;
	color: #fff;
}

.listings-reel-help-panel__desc {
	margin: var(--space-2) 0 0;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: color-mix(in oklab, #fff 65%, transparent);
}

.listings-reel-help-panel__tips {
	margin: var(--space-3) 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	font-size: 0.75rem;
}

.listings-reel-help-panel__tips li {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	color: color-mix(in oklab, #fff 78%, transparent);
}

.listings-reel-help-panel__tips i {
	font-size: 0.9375rem;
	color: var(--primary);
}

@media (min-width: 1024px) {
	.listings-reel-help-wrap {
		right: var(--space-4);
		bottom: var(--space-4);
	}
}

@media (max-height: 740px) {
	.listings-reel-slide__title {
		-webkit-line-clamp: 1;
	}

	.listings-reel-slide__price {
		font-size: 1.25rem;
	}

	.listings-reel-slide__broker {
		margin-top: var(--space-2);
		padding: 0.375rem var(--space-2);
	}

	.listings-reel-slide__actions {
		bottom: calc(env(safe-area-inset-bottom, 0px) + 9.5rem);
		gap: var(--space-3);
	}

	.listings-reel-slide__hint {
		bottom: calc(env(safe-area-inset-bottom, 0px) + 11.5rem);
	}
}

.kt-toast.member-listing-visibility-toast {
	width: min(24rem, 95vw);
	max-width: 95vw;
}


/* Member profile dashboard */
.member-profile-dashboard__grid {
	display: grid;
	gap: var(--space-5);
}

.member-profile-dashboard__aside,
.member-profile-dashboard__main {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
	min-width: 0;
}

.member-profile-join-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-4);
	padding: var(--space-5);
	border: 1px solid color-mix(in oklab, var(--primary) 22%, var(--border));
	border-radius: calc(var(--really-radius) * 1.25);
	background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 8%, var(--card)) 0%, var(--card) 100%);
}

@media (min-width: 640px) {
	.member-profile-join-card {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: var(--space-5);
	}
}

.member-profile-join-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-2);
	min-width: 0;
	flex: 1;
}

.member-profile-join-card__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.2rem 0.55rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 12%, var(--card));
	color: var(--primary);
	font-size: 0.75rem;
	font-weight: 700;
}

.member-profile-join-card__title {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.35;
	color: var(--foreground);
}

.member-profile-join-card__desc {
	margin: 0;
	max-width: 40rem;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--muted-foreground);
}

.member-profile-join-card__btn {
	justify-content: center;
	width: 100%;
	min-height: 2.75rem;
	margin-top: 0;
	white-space: nowrap;
}

@media (min-width: 640px) {
	.member-profile-join-card__btn {
		width: auto;
		min-width: 10.5rem;
		padding-inline: 1.25rem;
	}
}

@media (min-width: 1024px) {
	.member-profile-dashboard__grid {
		grid-template-columns: minmax(18rem, 22rem) minmax(0, 1fr);
		align-items: start;
	}

	.member-profile-dashboard__aside {
		grid-row: span 3;
	}

	.member-profile-dashboard__grid--identity .member-profile-dashboard__aside {
		grid-row: auto;
	}
}

.member-profile-summary {
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) * 1.25);
	background: var(--card);
}

.member-profile-summary__banner {
	position: relative;
	height: 7.5rem;
	background: linear-gradient(135deg, color-mix(in oklab, var(--primary) 75%, #1e1b4b) 0%, color-mix(in oklab, var(--primary) 45%, #7c3aed) 55%, color-mix(in oklab, var(--pro-gold, oklch(0.72 0.14 75)) 40%, var(--primary)) 100%);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.member-chat__profile .member-profile-summary__banner {
	position: relative;
	height: 6.5rem;
}

.member-profile-summary__banner--has-image::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.08) 0%, rgba(15, 23, 42, 0.22) 100%);
	pointer-events: none;
}

.member-profile-summary__banner-edit {
	position: absolute;
	top: var(--space-3);
	right: var(--space-3);
	z-index: 2;
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 2px solid rgba(255, 255, 255, 0.85);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--foreground);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	cursor: pointer;
	font-size: 0.875rem;
}

.member-profile-summary__banner-edit:hover {
	background: #fff;
}

.member-profile-summary__body {
	padding: 0 var(--space-5) var(--space-5);
	margin-top: -2.5rem;
	text-align: center;
}

.member-profile-summary__avatar-wrap {
	position: relative;
    display: block;
    text-align: center;
    width: 80px;
    margin: 0px auto;
}

.member-profile-summary__avatar {
	border: 3px solid var(--card);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	background: #fff;
}

.member-profile-summary__avatar-edit {
	position: absolute;
    right: 0;
    bottom: 0;
    display: grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border-radius: 999px;
    border: 2px solid var(--card);
    background: #fff;
    color: var(--foreground);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	font-size: 14px;
	cursor: pointer;
}

.member-profile-summary__avatar-edit:hover {
	background: color-mix(in oklab, var(--primary) 6%, #fff);
}

.member-profile-summary__name {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	margin-top: var(--space-3);
	font-size: 1.25rem;
	font-weight: 800;
}

.member-profile-summary__verified {
	color: var(--primary);
	font-size: 1rem;
}

.member-profile-summary__role {
	margin-top: 0.25rem;
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.member-profile-summary__meta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-4);
}

.member-profile-summary__plan {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.25rem 0.75rem;
	border-radius: 999px;
	background: var(--secondary);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--muted-foreground);
}

.member-profile-summary__plan.hidden {
	display: none;
}

.member-chat__profile .member-profile-summary__code.hidden {
	display: none;
}

.member-profile-summary__code {
	font-size: 0.875rem;
	color: var(--muted-foreground);
	display: none;
}

.member-profile-summary__code strong {
	color: var(--primary);
	font-weight: 800;
	letter-spacing: 0.02em;
}

.member-profile-summary__rating {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.875rem;
	font-weight: 600;
}

.member-profile-summary__rating i {
	color: #f59e0b;
}

.member-profile-summary__completion {
	margin-top: var(--space-5);
	text-align: left;
}

.member-profile-summary__completion-head {
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.5rem;
	font-size: 0.8125rem;
}

.member-profile-summary__completion-head strong {
	color: var(--primary);
}

.member-profile-summary__progress {
	height: 0.5rem;
}

.member-profile-summary__progress .kt-progress-indicator {
	background: var(--primary);
	display: block;
}

.member-profile-summary__actions {
	display: flex;
	gap: var(--space-3);
	margin-top: var(--space-5);
}

.member-profile-referral,
.member-profile-network {
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) * 1.25);
	background: var(--card);
}

.member-profile-activity {
	display: flex;
	flex-direction: column;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) * 1.25);
	background: var(--card);
	overflow: hidden;
}

.member-profile-activity__head {
	padding: var(--space-5) var(--space-5) 0;
}

.member-profile-activity__body {
	display: flex;
	flex-direction: column;
	padding-inline: var(--space-5);
	padding-bottom: var(--space-5);
}

.member-profile-activity:has(> .member-list-pager:not([hidden])) .member-profile-activity__body {
	padding-bottom: 0;
}

.member-profile-referral__head,
.member-profile-network__head,
.member-profile-activity__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	margin-bottom: var(--space-4);
}

.member-profile-referral__title,
.member-profile-network__title,
.member-profile-activity__title {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 1rem;
	font-weight: 800;
}

.member-profile-activity__body > .member-empty {
	padding-block: var(--space-4);
}

.member-list-pager {
	width: 100%;
	min-width: 0;
	margin: 0;
	box-sizing: border-box;
}

.member-list-pager[hidden] {
	display: none !important;
}

.member-list-pager .member-list-pagination {
	width: 100%;
}

/* Footer bar inside bordered / flush panels */
.member-lead-list > .member-list-pager,
.member-listing-table > .member-list-pager,
.member-panel > .member-list-pager,
.member-panel__body > .member-list-pager,
.member-referral-table__body > .member-list-pager,
.member-notifications__pager,
.member-listing-detail__leads-pagination {
	margin: 0;
	padding: var(--space-3) var(--space-5);
	border-top: 1px solid var(--border);
	background: color-mix(in oklab, var(--secondary) 40%, var(--card));
}

/* Activity card pager: full-bleed footer (card itself has no side padding) */
.member-profile-activity > .member-list-pager,
.member-profile-activity__pager.member-list-pager {
	width: 100%;
	margin: var(--space-4) 0 0;
	padding: var(--space-3) var(--space-5);
	border-top: 1px solid var(--border);
	border-radius: 0;
	background: color-mix(in oklab, var(--secondary) 40%, var(--card));
}

/* Cancel parent flex gap so pager sits tight under the list */
.member-cart-list > .member-list-pager {
	margin: -0.75rem 0 0;
	padding: var(--space-3) 0 0;
}

.member-review-list > .member-list-pager {
	margin: calc(var(--space-4) * -1) 0 0;
	padding: var(--space-3) 0 0;
}

.member-notebook-panel > .member-list-pager {
	margin: calc(var(--space-4) * -1) 0 0;
	padding: var(--space-3) 0 0;
}

.member-list-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
}

.member-list-pagination__meta {
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--muted-foreground);
}

.member-list-pagination__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
}

.member-list-pagination__actions .kt-btn[aria-disabled="true"],
.master-list-pagination .kt-btn[aria-disabled="true"] {
	opacity: 0.45;
	pointer-events: none;
}

.member-panel.is-loading,
.member-profile-activity.is-loading,
[data-member-list].is-loading {
	opacity: 0.65;
	pointer-events: none;
}

.member-profile-referral__hint {
	color: var(--muted-foreground);
	font-size: 0.875rem;
	display: none;
}

.member-profile-referral__link-row {
	display: flex;
	align-items: center;
	gap: var(--space-2);
}

.member-profile-referral__link-text {
	flex: 1;
	min-width: 0;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--secondary);
	color: var(--foreground);
	font-size: 0.8125rem;
	line-height: 1.4;
	word-break: break-all;
}

.member-profile-referral__qr-row {
	display: flex;
	align-items: start;
	gap: var(--space-3);
	margin-top: 0;
}

.member-profile-referral__qr {
	flex-shrink: 0;
	padding: 0.5rem;
	border: 4px solid #fff;
	border-radius: calc(var(--really-radius) * 0.85);
	background: #fff;
	box-shadow: 0 0 0 1px var(--border);
	line-height: 0;
	width: 128px;
	height: 128px;
}

.member-profile-referral__qr canvas,
.member-profile-referral__qr img {
	display: block;
	width: 104px;
	height: 104px;
}

.member-profile-referral__qr-meta {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--space-2);
	min-width: 0;
	flex: 1;
}

.member-profile-referral__qr-meta .member-profile-referral__link-row {
	width: 100%;
}

.member-profile-referral__share {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}

.member-profile-referral__share-title {
	margin: 0 0 0.375rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--muted-foreground);
}

.member-profile-referral__share-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem;
}

.member-profile-referral__share-btn {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.2rem;
	min-width: 3rem;
	padding: 0.15rem 0.2rem;
	border: 0;
	background: transparent;
	color: var(--muted-foreground);
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.member-profile-referral__share-btn::before {
	content: '';
	display: block;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: var(--secondary) center / 0.95rem no-repeat;
}

.member-profile-referral__share-btn--zalo::before {
	background-color: #e8f4ff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230069ff'%3E%3Cpath d='M12 2C6.48 2 2 5.92 2 10.8c0 2.84 1.56 5.36 4 6.96V22l3.84-2.1c.7.14 1.42.22 2.16.22 5.52 0 10-3.92 10-8.8S17.52 2 12 2z'/%3E%3C/svg%3E");
}

.member-profile-referral__share-btn--fb::before {
	background-color: #e8f0fe;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231877F2'%3E%3Cpath d='M14 9h3V6h-3c-1.66 0-3 1.34-3 3v2H8v3h3v7h3v-7h3l1-3h-4V9c0-.55.45-1 1-1z'/%3E%3C/svg%3E");
}

.member-profile-referral__share-btn--msg::before {
	background-color: #f3e8ff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23A855F7'%3E%3Cpath d='M12 2C6.48 2 2 6.04 2 11c0 2.76 1.36 5.22 3.5 6.86V22l3.58-1.96c.94.26 1.92.4 2.92.4 5.52 0 10-4.04 10-9S17.52 2 12 2zm1.1 12.1L10.7 11.5 6.8 14.1l4.3-4.55 2.42 2.58 3.86-2.58-4.28 4.55z'/%3E%3C/svg%3E");
}

.member-profile-referral__share-btn--copy::before {
	background-color: var(--secondary);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1'/%3E%3C/svg%3E");
}

.member-profile-referral__share-btn--qr::before {
	background-color: color-mix(in oklab, var(--primary) 12%, var(--secondary));
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B7FFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
}

@media (max-width: 639.98px) {
	.member-profile-referral__qr-row {
		gap: var(--space-2);
	}

	.member-profile-referral__qr {
		padding: 0.375rem;
		border-width: 3px;
		width: 96px;
		height: 96px;
	}

	.member-profile-referral__qr canvas,
	.member-profile-referral__qr img {
		width: 80px;
		height: 80px;
	}

	.member-profile-referral__share-btn {
		min-width: 2.15rem;
	}

	.member-profile-referral__share-btn::before {
		width: 1.875rem;
		height: 1.875rem;
		background-size: 0.875rem;
	}
}

.member-profile-network__tree {
	overflow-x: auto;
	padding: var(--space-4) 0;
}

.member-profile-network__root {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
}

.member-profile-network__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--space-5);
	margin: var(--space-4) 0 0;
	padding: var(--space-4) 0 0;
	list-style: none;
	border-top: 1px solid var(--border);
	position: relative;
}

.member-profile-network__list::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: var(--space-4);
	background: var(--border);
	transform: translate(-50%, -100%);
}

.member-profile-network__item {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.member-profile-network__item > .member-profile-network__list {
	margin-top: var(--space-3);
	padding-top: var(--space-3);
}

.member-profile-network__node {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.375rem;
}

.member-profile-network__avatar {
	position: relative;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border-radius: 999px;
	background: color-mix(in oklab, var(--primary) 18%, var(--card));
	color: var(--primary);
	font-weight: 800;
	overflow: visible;
}

.member-profile-network__avatar--lg {
	width: 4rem;
	height: 4rem;
	font-size: 1.25rem;
}

.member-profile-network__avatar img {
	width: 100%;
	height: 100%;
	border-radius: 999px;
	object-fit: cover;
}

.member-profile-network__dot {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0.7rem;
	height: 0.7rem;
	border: 2px solid var(--card);
	border-radius: 999px;
	background: #94a3b8;
}

.member-profile-network__avatar--high .member-profile-network__dot,
.member-profile-network__dot--high {
	background: #22c55e;
}

.member-profile-network__avatar--medium .member-profile-network__dot,
.member-profile-network__dot--medium {
	background: #f59e0b;
}

.member-profile-network__avatar--low .member-profile-network__dot,
.member-profile-network__dot--low {
	background: #94a3b8;
}

.member-profile-network__name {
	max-width: 6.5rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.3;
}

.member-profile-network__empty {
	margin-top: var(--space-4);
	font-size: 0.875rem;
	color: var(--muted-foreground);
	text-align: center;
}

.member-profile-network__legend {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	margin-top: var(--space-4);
	padding-top: var(--space-4);
	border-top: 1px solid var(--border);
	list-style: none;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-profile-network__legend li {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}

.member-profile-network__legend .member-profile-network__dot {
	position: static;
	border-color: transparent;
}

/* Member notebook (Sổ tay) */
.member-notebook {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
}

.member-notebook-today {
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.25rem);
	background: var(--card);
}

.member-notebook .member-notebook-today {
	margin-bottom: 0;
}

.member-notebook-today__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-3);
}

.member-notebook-today__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
}

.member-notebook-today__desc {
	margin: var(--space-1) 0 0;
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

.member-notebook-today__grid {
	display: grid;
	gap: var(--space-3);
	margin-top: var(--space-4);
}

@media (min-width: 768px) {
	.member-notebook-today__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.member-notebook-today__card {
	padding: var(--space-3);
	border-radius: var(--really-radius);
	background: color-mix(in oklab, var(--primary) 6%, var(--secondary));
}

.member-notebook-today__label {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0 0 var(--space-2);
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--primary);
}

.member-notebook-today__list {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.member-notebook-today__list a {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	text-decoration: none;
	color: inherit;
}

.member-notebook-today__list strong {
	font-size: 0.875rem;
}

.member-notebook-today__list span {
	font-size: 0.75rem;
	color: var(--muted-foreground);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.member-notebook-panel {
	display: none;
	flex-direction: column;
	gap: var(--space-4);
}

.member-notebook-panel.is-active {
	display: flex;
}

.member-notebook-composer {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-4);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.25rem);
	background: var(--card);
}

.member-notebook-composer__row {
	display: grid;
	gap: var(--space-2);
}

@media (min-width: 640px) {
	.member-notebook-composer__row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.member-notebook-composer__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.member-notebook-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-3);
	align-items: start;
}

@media (min-width: 768px) {
	.member-notebook-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-3);
	}
}

.member-notebook-list > .member-empty {
	grid-column: 1 / -1;
}

.member-notebook-item {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	min-width: 0;
	height: auto;
	padding: var(--space-3) var(--space-3) var(--space-2);
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

.member-notebook-item__main {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	min-width: 0;
	width: 100%;
}

.member-notebook-item__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1;
}

.member-notebook-item__icon {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	margin-top: 0.1rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 10%, var(--secondary));
	color: var(--primary);
	flex-shrink: 0;
}

.member-notebook-item__title {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.member-notebook-item__title--multiline {
	white-space: pre-line;
	overflow-wrap: anywhere;
	font-weight: 500;
}

.member-notebook-item__meta,
.member-notebook-item__time {
	margin: 0.35rem 0 0;
	font-size: 0.75rem;
	line-height: 1.4;
	color: var(--muted-foreground);
}

.member-notebook-item__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.1rem;
	margin-top: 0.45rem;
	padding-top: 0.35rem;
	border-top: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
}

.member-notebook-item__actions .kt-btn {
	min-height: 1.75rem;
	padding-inline: 0.45rem;
	font-size: 0.75rem;
}

.member-notebook-item__danger {
	color: var(--destructive, #dc2626);
}

.member-notebook-note.is-pinned {
	border-color: color-mix(in oklab, var(--primary) 35%, var(--border));
}

.member-notebook-note__pin {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	margin-top: 0.1rem;
	border: 0;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 8%, var(--secondary));
	color: var(--primary);
	cursor: pointer;
	flex-shrink: 0;
}

.member-notebook-event.is-soon {
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
}

.member-notebook-event.status-done,
.member-notebook-task.is-done {
	opacity: 0.72;
}

.member-notebook-event.status-cancelled {
	opacity: 0.55;
}

.member-notebook-event__tasks {
	margin: var(--space-2) 0 0;
	padding-left: 1.1rem;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-notebook-event__tasks .is-done {
	text-decoration: line-through;
}

.member-notebook-task.is-overdue .member-notebook-item__meta {
	color: var(--destructive, #dc2626);
}

.member-notebook-task.is-done .member-notebook-item__title {
	text-decoration: line-through;
}

.member-notebook-task__check {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	margin-top: 0.1rem;
	flex-shrink: 0;
}

/* Member notebook FAB + quick-add chat */
.member-notebook-fab {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: calc(var(--z-drawer) + 5);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.75rem;
	pointer-events: none;
}

.member-layout.member-messages .member-notebook-fab {
	display: none;
}

.member-notebook-fab > * {
	pointer-events: auto;
}

@media (min-width: 1024px) {
	.member-notebook-fab {
		right: 1.5rem;
		bottom: 1.5rem;
	}
}

.member-notebook-fab__btn {
	display: grid;
	place-items: center;
	width: 3.25rem;
	height: 3.25rem;
	border: 0;
	border-radius: 9999px;
	background: var(--primary);
	color: #fff;
	box-shadow: 0 10px 28px color-mix(in oklab, var(--primary) 35%, transparent);
	cursor: pointer;
	transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.member-notebook-fab__btn:hover {
	transform: scale(1.04);
}

.member-notebook-fab.is-menu-open .member-notebook-fab__btn,
.member-notebook-fab.is-chat-open .member-notebook-fab__btn {
	background: var(--foreground, #111);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.member-notebook-fab__btn i {
	font-size: 1.35rem;
	line-height: 1;
}

.member-notebook-fab__menu {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-width: min(18rem, calc(100vw - 2rem));
	padding: 0.5rem;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.35rem);
	background: var(--card);
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
	animation: member-notebook-fab-in 0.16s ease-out;
}

.member-notebook-fab__type {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	padding: 0.65rem 0.75rem;
	border: 0;
	border-radius: var(--really-radius);
	background: transparent;
	text-align: left;
	cursor: pointer;
	color: inherit;
}

.member-notebook-fab__type:hover {
	background: color-mix(in oklab, var(--primary) 8%, var(--secondary));
}

.member-notebook-fab__type-icon {
	display: grid;
	place-items: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--primary) 12%, var(--secondary));
	color: var(--primary);
	flex-shrink: 0;
}

.member-notebook-fab__type-text {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.member-notebook-fab__type-text strong {
	font-size: 0.875rem;
	font-weight: 700;
}

.member-notebook-fab__type-text small {
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-notebook-chat {
	position: absolute;
	right: 0;
	bottom: calc(3.25rem + 0.75rem);
	display: flex;
	flex-direction: column;
	width: min(26rem, calc(100vw - 2rem));
	max-height: min(32rem, calc(100dvh - 6rem));
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 1.1rem;
	background: var(--card);
	box-shadow: 0 18px 48px rgba(15, 23, 42, 0.2);
	animation: member-notebook-fab-in 0.18s ease-out;
}

.member-notebook-chat__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.85rem 0.9rem;
	border-bottom: 1px solid var(--border);
	background: color-mix(in oklab, var(--primary) 8%, var(--card));
}

.member-notebook-chat__title-wrap {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	min-width: 0;
}

.member-notebook-chat__avatar {
	display: grid;
	place-items: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 9999px;
	background: var(--primary);
	color: #fff;
	flex-shrink: 0;
}

.member-notebook-chat__title {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 700;
}

.member-notebook-chat__subtitle {
	margin: 0.1rem 0 0;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-notebook-chat__body {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 0.9rem;
	overflow-y: auto;
	flex: 1;
	min-height: 0;
	background:
		radial-gradient(circle at top left, color-mix(in oklab, var(--primary) 8%, transparent), transparent 45%),
		var(--background);
}

.member-notebook-chat__bubble {
	align-self: flex-start;
	max-width: 92%;
	padding: 0.7rem 0.85rem;
	border-radius: 1rem 1rem 1rem 0.35rem;
	background: var(--card);
	border: 1px solid var(--border);
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--muted-foreground);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.member-notebook-chat__bubble--user {
	align-self: flex-end;
	border-radius: 1rem 1rem 0.35rem 1rem;
	background: color-mix(in oklab, var(--primary) 12%, var(--card));
	border-color: color-mix(in oklab, var(--primary) 20%, var(--border));
	color: var(--foreground);
	white-space: pre-wrap;
	word-break: break-word;
}

.member-notebook-chat__bubble--success {
	background: color-mix(in oklab, var(--primary) 10%, var(--card));
	border-color: color-mix(in oklab, var(--primary) 24%, var(--border));
	color: var(--foreground);
}

.member-notebook-chat__bubble--error {
	background: color-mix(in oklab, var(--destructive, #dc2626) 8%, var(--card));
	border-color: color-mix(in oklab, var(--destructive, #dc2626) 22%, var(--border));
	color: var(--foreground);
}

.member-notebook-chat__bubble--status {
	opacity: 0.92;
}

.member-notebook-chat__bubble--typing {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	max-width: 100%;
}

.member-notebook-chat__typing-label {
	color: var(--muted-foreground);
}

.member-notebook-chat__typing-dots {
	display: inline-flex;
	align-items: center;
	gap: 0.28rem;
	flex-shrink: 0;
	min-height: 1em;
}

.member-notebook-chat__typing-dots i {
	display: block;
	width: 0.35rem;
	height: 0.35rem;
	border-radius: 999px;
	background: color-mix(in oklab, var(--primary) 70%, var(--muted-foreground));
	animation: member-notebook-typing-dot 1.05s ease-in-out infinite;
}

.member-notebook-chat__typing-dots i:nth-child(2) {
	animation-delay: 0.15s;
}

.member-notebook-chat__typing-dots i:nth-child(3) {
	animation-delay: 0.3s;
}

@keyframes member-notebook-typing-dot {
	0%,
	80%,
	100% {
		opacity: 0.35;
		transform: translateY(0);
	}
	40% {
		opacity: 1;
		transform: translateY(-0.18rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.member-notebook-chat__typing-dots i {
		animation: none;
		opacity: 0.7;
	}
}

.member-notebook-chat__fields {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.member-notebook-chat__field {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--muted-foreground);
}

.member-notebook-chat__composer {
	display: flex;
	align-items: flex-end;
	gap: 0.5rem;
	padding: 0.75rem;
	border-top: 1px solid var(--border);
	background: var(--card);
}

.member-notebook-chat__composer .kt-textarea {
	flex: 1;
	min-height: 2.75rem;
	max-height: 7rem;
	resize: none;
}

.member-notebook-chat__composer .kt-btn {
	flex-shrink: 0;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 9999px;
}

.member-notebook-edit-modal.open {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: var(--space-4);
}

.member-notebook-edit-modal .kt-modal-content {
	width: min(28rem, calc(100vw - 2rem));
	max-height: min(90vh, 100%);
	margin-inline: auto;
	overflow: hidden;
	top: auto;
	translate: none;
}

.member-notebook-edit-modal .kt-modal-header,
.member-notebook-edit-modal .kt-modal-footer {
	flex-shrink: 0;
}

.member-notebook-edit-modal .kt-modal-header h3 {
	margin: 0;
}

.member-notebook-edit-modal .kt-modal-body {
	overflow-y: auto;
}

.member-notebook-edit-modal .kt-modal-footer {
	justify-content: flex-end;
}

.member-notebook-edit-modal .member-notebook-edit-form {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.member-notebook-edit-modal .member-notebook-edit-fields {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.member-notebook-edit-modal .member-field {
	margin: 0;
}

.member-notebook-delete-preview {
	margin: var(--space-3) 0 0;
	padding: var(--space-3);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: color-mix(in oklab, var(--primary) 6%, var(--secondary));
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--foreground);
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.member-listing-renew-modal.open {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: var(--space-4);
}

.member-listing-renew-modal .kt-modal-content {
	width: min(24rem, calc(100vw - 2rem));
	max-height: min(90vh, 100dvh);
	margin-inline: auto;
	overflow: hidden;
	top: auto;
	translate: none;
}

.member-listing-renew-modal .kt-modal-header,
.member-listing-renew-modal .kt-modal-footer {
	flex-shrink: 0;
}

.member-listing-renew-modal .kt-modal-header h3 {
	margin: 0;
}

.member-listing-renew-modal .kt-modal-body {
	overflow-y: auto;
}

.member-listing-renew-modal .kt-modal-footer {
	justify-content: flex-end;
	gap: var(--space-2);
}

.member-listing-renew-modal__preview {
	margin: var(--space-3) 0 0;
	padding: var(--space-3);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: color-mix(in oklab, var(--primary) 6%, var(--secondary));
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.45;
	color: var(--foreground);
	overflow-wrap: anywhere;
}

.member-listing-renew-modal__note {
	margin: var(--space-3) 0 0;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--muted-foreground);
}

.member-notebook-edit-modal .member-notebook-composer__row {
	display: grid;
	gap: var(--space-3);
}

@media (min-width: 480px) {
	.member-notebook-edit-modal .member-notebook-composer__row {
		grid-template-columns: 1fr 1fr;
	}
}

@keyframes member-notebook-fab-in {
	from {
		opacity: 0;
		transform: translateY(0.5rem) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

/* Member cart (giỏ hàng BĐS) */
.member-cart-back {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-bottom: 0.5rem;
	color: var(--muted-foreground);
	font-size: 0.875rem;
	text-decoration: none;
}

.member-cart-back:hover {
	color: var(--primary);
}

.member-cart-filters {
	align-items: stretch;
}

.member-cart-filters__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	width: 100%;
}

.member-cart-filters__area {
	flex: 1 1 11rem;
	min-width: 0;
	width: auto;
}

.member-cart-filters__price-range {
	display: flex;
	align-items: center;
	flex: 1 1 12rem;
	min-width: 0;
	gap: 0;
	border: 1px solid var(--border);
	border-radius: calc(var(--radius) - 2px);
	background: var(--background, #fff);
	overflow: hidden;
}

.member-cart-filters__price-range:focus-within {
	border-color: color-mix(in oklab, var(--primary) 45%, var(--border));
	box-shadow: 0 0 0 3px color-mix(in oklab, var(--primary) 12%, transparent);
}

.member-cart-filters__price {
	flex: 1 1 0;
	min-width: 0;
	max-width: none;
	width: auto;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent;
	padding-inline: 0.75rem;
}

.member-cart-filters__price:focus,
.member-cart-filters__price:focus-visible {
	outline: none;
	box-shadow: none !important;
}

.member-cart-filters__price-sep {
	flex-shrink: 0;
	padding-inline: 0.125rem;
	color: var(--muted-foreground);
	font-size: 0.875rem;
	line-height: 1;
	user-select: none;
}

.member-cart-filters__actions {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	flex-shrink: 0;
	margin-left: auto;
}

.member-cart-filters__submit {
	padding-inline: 0.875rem;
	gap: 0.375rem;
}

@media (min-width: 640px) {
	.member-cart-filters {
		flex-wrap: nowrap;
		align-items: center;
	}

	.member-cart-filters__controls {
		flex: 0 1 auto;
		width: auto;
		flex-wrap: nowrap;
	}

	.member-cart-filters__area {
		flex: 0 0 14rem;
		width: 14rem;
	}

	.member-cart-filters__price-range {
		flex: 0 0 13.5rem;
		width: 13.5rem;
	}

	.member-cart-filters__actions {
		margin-left: 0;
	}
}

@media (min-width: 960px) {
	.member-cart-filters__area {
		flex-basis: 16rem;
		width: 16rem;
	}

	.member-cart-filters__price-range {
		flex-basis: 15rem;
		width: 15rem;
	}
}

.member-cart-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.member-cart-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem;
	border: 1px solid var(--border);
	border-radius: calc(var(--really-radius) + 0.125rem);
	background: var(--card);
}

.member-cart-row__main {
	display: flex;
	gap: 0.875rem;
	min-width: 0;
	flex: 1 1 18rem;
}

.member-cart-row__thumb {
	width: 7rem;
	height: 9rem;
	flex-shrink: 0;
	border-radius: 0.5rem;
	overflow: hidden;
	background: var(--secondary);
}

.member-cart-row__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.member-cart-row__info {
	min-width: 0;
	flex: 1;
}

.member-cart-row__topline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.35rem;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-cart-row__title {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
}

.member-cart-row__title a {
	color: inherit;
	text-decoration: none;
}

.member-cart-row__title a:hover {
	color: var(--primary);
}

.member-cart-row__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1rem;
	margin-bottom: 0.5rem;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-cart-row__meta i {
	margin-right: 0.2rem;
}

.member-cart-row__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.75rem;
}

.member-cart-row__price {
	font-weight: 700;
	color: var(--foreground);
}

.member-cart-row__time {
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-cart-row__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin-top: var(--space-2);
}

.member-cart-share-panel__row {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

@media (min-width: 640px) {
	.member-cart-share-panel__row {
		flex-direction: row;
		align-items: stretch;
	}
}

.member-cart-share-modal.open {
	align-items: center;
	justify-content: center;
}

.member-cart-share-modal .kt-modal-content {
	width: min(28rem, calc(100vw - 2rem));
	max-height: min(90vh, 100dvh);
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	overflow: visible;
}

.member-cart-share-modal .kt-modal-header,
.member-cart-share-modal .kt-modal-footer {
	flex-shrink: 0;
}

.member-cart-share-modal .kt-modal-header h3 {
	margin: 0;
}

.member-cart-share-modal .kt-modal-body {
	overflow: visible;
}

.member-cart-share-modal__input {
	margin-top: var(--space-2);
}

.member-cart-share-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-3);
}

.member-cart-share-modal__actions .kt-btn {
	flex: 1 1 calc(50% - var(--space-2));
	min-width: 8.5rem;
	justify-content: center;
}

.member-cart-share-modal__link {
	margin-top: var(--space-4);
}

.member-cart-share-modal__duration {
	margin-top: var(--space-4);
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.member-cart-share-modal__duration .kt-select,
.member-cart-share-modal__duration [data-kt-select-wrapper] {
	width: 100%;
}

.member-cart-share-modal__expires {
	margin-top: var(--space-2);
}

.member-cart-share-modal__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-2);
}

.member-cart-share-modal__footer-end {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	margin-left: auto;
}

.member-cart-share-modal__loading,
.member-cart-share-modal__error {
	margin-top: var(--space-3);
}

.cart-share-page {
	padding: var(--space-6) var(--space-4) var(--space-10);
	background: var(--background, #f8fafc);
}

.cart-share-page__inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
}

.cart-share-page__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: var(--space-3);
}

.cart-share-page__title {
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--foreground);
	margin: 0 0 var(--space-2);
}

.cart-share-page__price {
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--primary, #0d9488);
	margin: 0 0 var(--space-2);
}

.cart-share-page__location {
	display: flex;
	align-items: flex-start;
	gap: 0.4rem;
	margin: 0;
	color: var(--muted-foreground);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.cart-share-page__location i {
	margin-top: 0.15rem;
}

.cart-share-gallery__hero {
	display: block;
	position: relative;
	border-radius: var(--really-radius, 0.75rem);
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--muted);
}

.cart-share-gallery__hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cart-share-gallery__video-tag {
	position: absolute;
	left: 0.75rem;
	bottom: 0.75rem;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.3rem 0.55rem;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.65);
	color: #fff;
	font-size: 0.75rem;
}

.cart-share-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	gap: 0.5rem;
	margin-top: var(--space-3);
}

.cart-share-gallery__thumbs a {
	display: block;
	aspect-ratio: 1;
	border-radius: 0.5rem;
	overflow: hidden;
	background: var(--muted);
}

.cart-share-gallery__thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cart-share-page__grid {
	display: grid;
	gap: var(--space-5);
}

@media (min-width: 960px) {
	.cart-share-page__grid {
		grid-template-columns: minmax(0, 1fr) 300px;
		align-items: start;
	}
}

.cart-share-panel,
.cart-share-contact,
.cart-share-sharebox {
	padding: var(--space-5);
	border: 1px solid var(--border);
	border-radius: var(--really-radius, 0.75rem);
	background: var(--card, #fff);
}

.cart-share-panel__title,
.cart-share-contact__label,
.cart-share-sharebox__label,
.cart-share-note__title {
	margin: 0 0 var(--space-3);
	font-size: 0.9375rem;
	font-weight: 700;
}

.cart-share-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
	margin: 0 0 var(--space-5);
}

.cart-share-facts__item {
	min-width: 0;
}

.cart-share-facts__item dt {
	font-size: 0.75rem;
	color: var(--muted-foreground);
	margin-bottom: 0.15rem;
}

.cart-share-facts__item dd {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--foreground);
}

.cart-share-note__text {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--foreground);
}

.cart-share-aside {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.cart-share-contact__person {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	margin-bottom: var(--space-4);
}

.cart-share-contact__name {
	margin: 0 0 0.25rem;
	font-weight: 700;
}

.cart-share-contact__actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.member-cart-form {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.member-cart-form .member-panel__body {
	display: flex;
	flex-direction: column;
	overflow: visible;
}

.member-cart-form .member-field-grid .member-field + .member-field {
	margin-top: 0;
}

.member-cart-form .member-field {
	min-width: 0;
}

.member-cart-form .member-field.is-invalid .kt-input,
.member-cart-form .member-field.is-invalid .kt-textarea,
.member-cart-form .member-field.is-invalid [data-kt-select-wrapper],
.member-cart-form .post-address-compare.is-invalid .post-address-compare__old {
	border-color: var(--destructive, #dc2626);
}

.member-cart-form .member-field__error,
.member-cart-form__location-error {
	margin: 0.5rem 0 0;
	color: var(--destructive, #dc2626);
	font-size: 0.8125rem;
}

.member-cart-price {
	margin-top: var(--space-5);
}

.member-cart-price.is-invalid .kt-input {
	border-color: var(--destructive, #dc2626);
}

.member-cart-form .kt-input,
.member-cart-form .kt-textarea,
.member-cart-form .kt-select,
.member-cart-form [data-kt-select-wrapper] {
	width: 100%;
}

.member-cart-form .post-address-compare {
	width: 100%;
}

.member-cart-location {
	display: flex;
	flex-direction: column;
}

.member-cart-location .post-project-field {
	margin: 0;
}

.member-cart-form__deal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-5);
}

.member-cart-form__deal-option {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	cursor: pointer;
	user-select: none;
	color: var(--foreground);
	font-size: 0.875rem;
}

.member-cart-form__deal-option .kt-radio {
	margin: 0;
}

.member-cart-form__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: var(--space-3);
	padding: var(--space-4) 0 var(--space-4);
	position: sticky;
	bottom: 0;
	z-index: 3;
	background: linear-gradient(180deg, transparent 0%, var(--background, #f8fafc) 10%);
}

@media (max-width: 767px) {
	.member-cart-form {
		max-width: none;
	}

	.member-cart-form__actions {
		justify-content: stretch;
	}

	.member-cart-form__actions .kt-btn {
		flex: 1 1 auto;
		justify-content: center;
	}

	.member-cart-row__actions {
		width: 100%;
	}
}

.member-main--cart-locked .member-cart {
	padding-top: var(--space-2);
}

.member-cart-locked {
	display: flex;
	justify-content: center;
	padding: var(--space-8) var(--space-4) var(--space-10);
}

.member-cart-locked__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 22rem;
	text-align: center;
}

.member-cart-locked__icon {
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	margin-bottom: var(--space-4);
	border-radius: 9999px;
	background: var(--secondary);
	color: var(--muted-foreground);
	font-size: 1.375rem;
}

.member-cart-locked__title {
	margin-top: var(--space-3);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.35;
}

.member-cart-locked__desc {
	margin: var(--space-2) 0 0;
	font-size: 0.875rem;
	color: var(--muted-foreground);
	line-height: 1.55;
}

.member-cart-locked__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-2);
	margin-top: var(--space-5);
}

@media (max-width: 639px) {
	.member-cart-locked {
		padding: var(--space-6) var(--space-2) var(--space-8);
	}

	.member-cart-locked__actions {
		flex-direction: column;
		width: 100%;
	}

	.member-cart-locked__actions .kt-btn {
		width: 100%;
		justify-content: center;
	}
}

.master-sidebar__user {
	border: 1px solid rgba(91, 103, 255, 0.16);
	background: linear-gradient(180deg, rgba(91, 103, 255, 0.08), rgba(91, 103, 255, 0.02));
}

/* Master admin uses KTUI + Tailwind; polyfill utilities missing from styles.css build */
.member-main > .member-content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	flex: 1 0 auto;
}

.member-footer {
	flex-shrink: 0;
	width: 100%;
	margin-top: auto;
	border-top: 1px solid var(--border);
	background: var(--card);
}

@media (min-width: 1024px) {
	.member-layout > .member-footer {
		margin-left: var(--member-sidebar-width);
		width: calc(100% - var(--member-sidebar-width));
	}
}

.member-footer__inner {
	width: 100%;
	max-width: none;
	padding-inline: var(--space-4);
}

@media (min-width: 768px) {
	.member-footer__inner {
		padding-inline: var(--space-6);
	}
}

.member-footer__row {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	padding-block: 1.25rem;
}

@media (min-width: 768px) {
	.member-footer__row {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
}

.member-footer__copy {
	display: flex;
	order: 2;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 400;
	color: var(--muted-foreground);
}

@media (min-width: 768px) {
	.member-footer__copy {
		order: 1;
	}
}

.member-footer__copy a {
	color: var(--muted-foreground);
	text-decoration: none;
}

.member-footer__copy a:hover {
	color: var(--primary);
}

.member-footer__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	order: 1;
	gap: 1rem;
	font-size: 0.875rem;
	font-weight: 400;
	color: var(--muted-foreground);
}

@media (min-width: 768px) {
	.member-footer__nav {
		order: 2;
		margin-right: 70px;
	}
}

.member-footer__nav a {
	color: inherit;
	text-decoration: none;
}

.member-footer__nav a:hover {
	color: var(--primary);
}

.master-list-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding: var(--space-4) var(--space-5);
	position: sticky;
	bottom: 0;
	z-index: 3;
	background: linear-gradient(180deg, transparent 0%, var(--card, #ffffff) 18%);
	border-radius: calc(var(--radius) + 4px);
}

.max-w-sm {
	max-width: 24rem;
}

.max-w-5xl {
	max-width: 64rem;
}

.min-h-0 {
	min-height: 0;
}

.opacity-70 {
	opacity: 0.7;
}

.object-cover {
	object-fit: cover;
}

.rounded {
	border-radius: var(--radius, 0.5rem);
}

.py-6 {
	padding-block: 1.5rem;
}

.py-8 {
	padding-block: 2rem;
}

.max-h-40 {
	max-height: 10rem;
}

.max-h-80 {
	max-height: 20rem;
}

.whitespace-pre-wrap {
	white-space: pre-wrap;
}

.break-words {
	overflow-wrap: break-word;
}

.font-bold {
	font-weight: 700;
}

.tracking-wide {
	letter-spacing: 0.025em;
}

.m-0 {
	margin: 0;
}

.aspect-video {
	aspect-ratio: 16 / 9;
}

.kt-modal .kt-modal-content.max-w-5xl,
.kt-modal .kt-modal-content.max-w-sm {
	width: min(100%, calc(100vw - 2rem));
	max-height: calc(100vh - 3rem);
	overflow: hidden;
}

.kt-modal .kt-modal-content.max-w-5xl {
	width: min(64rem, calc(100vw - 2rem));
}

.kt-modal .kt-modal-content.max-w-sm {
	width: min(24rem, calc(100vw - 2rem));
}

@media (min-width: 640px) {
	.sm\:grid-cols-\[180px_minmax\(0\,1fr\)\] {
		grid-template-columns: 180px minmax(0, 1fr);
	}

	.sm\:col-span-2 {
		grid-column: span 2 / span 2;
	}
}

@media (min-width: 768px) {
	.md\:grid-cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.md\:col-span-2 {
		grid-column: span 2 / span 2;
	}

	.md\:col-span-3 {
		grid-column: span 3 / span 3;
	}
}

.hover\:bg-muted\/50:hover {
	background-color: color-mix(in oklab, var(--muted) 50%, transparent);
}

/* ============================================================
   Ad banner (SiteBanner) — quảng cáo chèn trong danh sách
   ============================================================ */

.ad-banner {
	position: relative;
	grid-column: 1 / -1;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	background-color: var(--muted);
}

.ad-banner__tag {
	position: absolute;
	top: 0.5rem;
	inset-inline-end: 0.5rem;
	z-index: 2;
	padding: 0.125rem 0.5rem;
	border-radius: 999px;
	background-color: color-mix(in oklab, var(--background) 75%, transparent);
	color: var(--muted-foreground);
	font-size: 0.5875rem;
	pointer-events: none;
}

.ad-banner__link {
	display: block;
}

.ad-banner__image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.ad-banner__iframe {
	display: block;
	width: 100%;
	aspect-ratio: 970 / 250;
	border: 0;
}

@media (max-width: 640px) {
	.ad-banner__iframe {
		aspect-ratio: 320 / 100;
	}
}

/* Cookie consent banner */
.cookie-consent {
	position: fixed;
	z-index: 115;
	left: var(--space-4);
	right: var(--space-4);
	bottom: var(--space-4);
	display: flex;
	justify-content: center;
	pointer-events: none;
}

.cookie-consent[hidden] {
	display: none !important;
}

.cookie-consent__inner {
	pointer-events: auto;
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	width: 100%;
	max-width: 48rem;
	padding: var(--space-4) var(--space-5);
	border: 1px solid var(--border);
	border-radius: var(--really-radius);
	background: var(--card, #fff);
	box-shadow: 0 12px 40px rgba(15, 23, 42, 0.16);
}

.cookie-consent__text {
	margin: 0;
	flex: 1;
	min-width: 0;
	color: var(--muted-foreground, #64748b);
	font-size: 0.875rem;
	line-height: 1.55;
}

.cookie-consent__link {
	color: var(--foreground, #0f172a);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.cookie-consent__link:hover {
	color: var(--primary);
}

.cookie-consent__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	flex-shrink: 0;
}

.cookie-consent__btn {
	white-space: nowrap;
}

@media (min-width: 768px) {
	.cookie-consent {
		left: var(--space-6);
		right: var(--space-6);
		bottom: var(--space-6);
	}

	.cookie-consent__inner {
		flex-direction: row;
		align-items: center;
		gap: var(--space-6);
		padding: var(--space-5) var(--space-6);
	}

	.cookie-consent__actions {
		flex-wrap: nowrap;
	}
}

/* —— Member chat (Chợ Tốt–style inbox) —— */
.member-main--chat .member-content--chat {
	padding: 0;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	height: calc(100vh - var(--member-sticky-top, 4.5rem));
	height: calc(100dvh - var(--member-sticky-top, 4.5rem));
	min-height: calc(100vh - var(--member-sticky-top, 4.5rem));
	min-height: calc(100dvh - var(--member-sticky-top, 4.5rem));
	min-width: 0;
	overflow: hidden;
}

.member-chat {
	display: grid;
	grid-template-columns: 1fr;
	flex: 1;
	height: 100%;
	min-height: 0;
	min-width: 0;
	position: relative;
	background: var(--background);
	overflow: hidden;
}

@media (min-width: 900px) {
	.member-chat {
		grid-template-columns: minmax(280px, 360px) 1fr;
	}
}

.member-chat__list-pane {
	display: flex;
	flex-direction: column;
	min-height: 0;
	border-right: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
	background: color-mix(in oklab, var(--background) 96%, var(--muted) 4%);
}

.member-chat.is-thread-open .member-chat__list-pane {
	display: none;
}

@media (min-width: 900px) {
	.member-chat.is-thread-open .member-chat__list-pane {
		display: flex;
	}
}

.member-chat__list-head {
	padding: var(--space-4);
	border-bottom: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
}

.member-chat__list-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 var(--space-3);
}

.member-chat__search {
	position: relative;
	margin-bottom: var(--space-3);
}

.member-chat__search i {
	position: absolute;
	left: 0.875rem;
	top: 50%;
	z-index: 1;
	transform: translateY(-50%);
	color: var(--muted-foreground);
	font-size: 1rem;
	line-height: 1;
	pointer-events: none;
}

.member-chat__search .kt-input {
	padding-left: 2.5rem;
	border-radius: 999px;
}

.member-chat__filters {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.member-chat__list {
	flex: 1;
	overflow-y: auto;
	min-height: 0;
}

.member-chat__list-empty {
	padding: var(--space-6) var(--space-4);
	text-align: center;
	color: var(--muted-foreground);
	font-size: 0.875rem;
}

.member-chat__item {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	width: 100%;
	padding: var(--space-3) var(--space-4);
	border: 0;
	border-bottom: 1px solid color-mix(in oklab, var(--border) 50%, transparent);
	background: transparent;
	text-align: left;
	cursor: pointer;
	position: relative;
}

.member-chat__item:hover,
.member-chat__item.is-active {
	background: color-mix(in oklab, var(--muted) 40%, transparent);
}

.member-chat__item-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.member-chat__item-top {
	display: flex;
	justify-content: space-between;
	gap: var(--space-2);
}

.member-chat__item-name {
	font-weight: 600;
	font-size: 0.875rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.member-chat__item-time {
	font-size: 0.75rem;
	color: var(--muted-foreground);
	flex-shrink: 0;
}

.member-chat__item-preview {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.member-chat__item.has-unread .member-chat__item-preview,
.member-chat__item.has-unread .member-chat__item-name {
	font-weight: 700;
	color: var(--foreground);
}

.member-chat__item-thumb {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.375rem;
	object-fit: cover;
	flex-shrink: 0;
}

.member-chat__item-dot {
	position: absolute;
	right: 0.75rem;
	top: 0.75rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 999px;
	background: var(--primary);
}

.member-chat__thread-pane {
	display: flex;
	flex-direction: column;
	min-height: 0;
	min-width: 0;
	background: var(--background);
	overflow: hidden;
}

.member-chat__empty {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-4);
	padding: var(--space-8);
	text-align: center;
}

.member-chat.is-thread-open .member-chat__empty {
	display: none;
}

@media (min-width: 900px) {
	.member-chat.is-thread-open .member-chat__empty.is-hidden {
		display: none;
	}
}

.member-chat__empty.is-hidden {
	display: none;
}

.member-chat__empty-art {
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: color-mix(in oklab, var(--muted) 50%, transparent);
	font-size: 1.75rem;
	color: var(--muted-foreground);
}

.member-chat__empty-text {
	max-width: 22rem;
	color: var(--muted-foreground);
	font-size: 0.9375rem;
	margin: 0;
}

.member-chat__thread {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
	min-width: 0;
	overflow: hidden;
}

.member-chat__thread.is-hidden {
	display: none;
}

.member-chat__thread-head {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-3) var(--space-4);
	border-bottom: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
	position: relative;
}

.member-chat__back {
	display: inline-flex;
	border: 0;
	background: transparent;
	padding: 0.35rem;
	cursor: pointer;
	font-size: 1.25rem;
}

@media (min-width: 900px) {
	.member-chat__back {
		display: none;
	}
}

.member-chat__peer {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	min-width: 0;
	flex: 1;
}

.member-chat__peer-name {
	margin: 0;
	font-weight: 700;
	font-size: 0.9375rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.member-chat__peer-status {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	font-size: 0.75rem;
	color: var(--muted-foreground);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.member-chat__peer-status.is-online {
	color: #16a34a;
}

.member-chat__peer-dot {
	flex-shrink: 0;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 999px;
	background: color-mix(in oklab, var(--muted-foreground) 55%, transparent);
}

.member-chat__peer-dot.is-online {
	background: #16a34a;
	box-shadow: 0 0 0 0 color-mix(in oklab, #16a34a 55%, transparent);
}

.member-chat__thread-actions {
	position: relative;
}

.member-chat__menu {
	position: absolute;
	right: 0;
	top: calc(100% + 0.25rem);
	z-index: 20;
	min-width: 12rem;
	background: var(--background);
	border: 1px solid var(--border);
	border-radius: 0.5rem;
	box-shadow: 0 8px 24px color-mix(in oklab, black 12%, transparent);
	padding: 0.35rem;
	display: flex;
	flex-direction: column;
}

.member-chat__menu.is-hidden {
	display: none;
}

.member-chat__menu button,
.member-chat__menu a {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55rem 0.75rem;
	border: 0;
	background: transparent;
	text-align: left;
	font-size: 0.875rem;
	color: var(--foreground);
	text-decoration: none;
	border-radius: 0.375rem;
	cursor: pointer;
}

.member-chat__menu button:hover,
.member-chat__menu a:hover {
	background: color-mix(in oklab, var(--muted) 50%, transparent);
}

.member-chat__menu button.is-hidden {
	display: none;
}

.member-chat__listing-card {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-3) var(--space-4);
	border-bottom: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
	text-decoration: none;
	color: inherit;
	background: color-mix(in oklab, var(--muted) 25%, transparent);
}

.member-chat__listing-card.is-empty {
	pointer-events: none;
	opacity: 0.7;
}

.member-chat__listing-card img {
	width: 3rem;
	height: 3rem;
	border-radius: 0.375rem;
	object-fit: cover;
}

.member-chat__listing-title {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.member-chat__listing-price {
	margin: 0;
	font-size: 0.75rem;
	color: var(--primary);
	font-weight: 700;
}

.member-chat__messages-shell {
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
	min-width: 0;
	overflow: hidden;
}

.member-chat__messages {
	flex: 1;
	overflow-y: auto;
	padding: var(--space-4);
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	min-height: 0;
	background:
		radial-gradient(circle at 20% 10%, color-mix(in oklab, var(--muted) 35%, transparent), transparent 40%),
		var(--background);
}

.member-chat__scroll-bottom {
	position: absolute;
	right: 1rem;
	bottom: 0.85rem;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
	border-radius: 999px;
	background: var(--background);
	color: var(--foreground);
	box-shadow: 0 6px 18px -8px color-mix(in oklab, var(--foreground) 35%, transparent);
	cursor: pointer;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.member-chat__scroll-bottom:hover {
	color: var(--primary);
	border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
}

.member-chat__scroll-bottom:active {
	transform: scale(0.96);
}

.member-chat__scroll-bottom.is-hidden {
	display: none;
}

.member-chat__scroll-bottom i {
	font-size: 1.15rem;
}

.member-chat__msg {
	display: flex;
	align-items: flex-end;
	gap: 0.5rem;
	width: fit-content;
	max-width: min(85%, 34rem);
	align-self: flex-start;
}

.member-chat__msg.is-mine {
	align-self: flex-end;
	justify-content: flex-end;
	max-width: min(92%, 40rem);
}

.member-chat__msg-avatar {
	flex-shrink: 0;
	width: 1.75rem;
	height: 1.75rem;
	/* Align with bubble bottom, not the time line underneath */
	margin-bottom: 1.05rem;
}

.member-chat__msg-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
	display: block;
}

.member-chat__msg-body {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
	flex: 1 1 auto;
}

.member-chat__msg.is-mine .member-chat__msg-body {
	align-items: flex-end;
	width: 100%;
}

.member-chat__bubble-row {
	display: flex;
	align-items: flex-start;
	gap: 0.25rem;
	max-width: 100%;
}

.member-chat__msg.is-mine .member-chat__bubble-row {
	flex-direction: row-reverse;
}

.member-chat__bubble {
	max-width: 100%;
	background: color-mix(in oklab, var(--muted) 85%, white);
	border-radius: 1rem 1rem 1rem 0.25rem;
	padding: 0.65rem 0.85rem;
}

.member-chat__bubble.is-mine {
	background: color-mix(in oklab, var(--primary) 18%, white);
	border-radius: 1rem 1rem 0.25rem 1rem;
}

.member-chat__bubble-actions {
	position: relative;
	flex-shrink: 0;
	align-self: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

.member-chat__bubble-row:hover .member-chat__bubble-actions,
.member-chat__bubble-actions.is-open,
.member-chat__msg:focus-within .member-chat__bubble-actions {
	opacity: 1;
	pointer-events: auto;
}

@media (hover: none) {
	.member-chat__bubble-actions {
		opacity: 0.85;
		pointer-events: auto;
	}
}

.member-chat__bubble-menu-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	border: 0;
	border-radius: 999px;
	background: color-mix(in oklab, var(--background) 88%, transparent);
	color: var(--muted-foreground);
	cursor: pointer;
}

.member-chat__bubble-menu-btn:hover {
	color: var(--foreground);
	box-shadow: 0 1px 4px color-mix(in oklab, var(--foreground) 12%, transparent);
}

.member-chat__bubble-menu {
	position: absolute;
	top: calc(100% + 0.25rem);
	bottom: auto;
	right: 0;
	z-index: 5;
	display: flex;
	flex-direction: column;
	min-width: 9.5rem;
	padding: 0.35rem;
	border: 1px solid color-mix(in oklab, var(--border) 85%, transparent);
	border-radius: 0.75rem;
	background: var(--background);
	box-shadow: 0 10px 28px -12px color-mix(in oklab, var(--foreground) 28%, transparent);
}

.member-chat__bubble-menu.is-up {
	top: auto;
	bottom: calc(100% + 0.25rem);
}

.member-chat__msg.is-mine .member-chat__bubble-menu {
	right: auto;
	left: 0;
}

.member-chat__bubble-menu-item {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	width: 100%;
	padding: 0.5rem 0.65rem;
	border: 0;
	border-radius: 0.5rem;
	background: transparent;
	color: var(--foreground);
	font-size: 0.8125rem;
	text-align: left;
	cursor: pointer;
	white-space: nowrap;
}

.member-chat__bubble-menu-item:hover {
	background: color-mix(in oklab, var(--muted) 55%, transparent);
}

.member-chat__bubble-menu-item i {
	font-size: 1rem;
	color: var(--muted-foreground);
}

.member-chat__reply {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0.55rem 0.85rem 0;
	padding: 0.55rem 0.65rem;
	border-left: 3px solid var(--primary);
	border-radius: 0.65rem;
	background: color-mix(in oklab, var(--primary) 8%, var(--background));
}

.member-chat__reply--in-bubble {
	margin: 0 0 0.45rem;
	width: 100%;
	box-sizing: border-box;
}

.member-chat__bubble.is-mine .member-chat__reply--in-bubble {
	background: color-mix(in oklab, var(--primary) 12%, white);
}

.member-chat__reply.is-hidden {
	display: none;
}

.member-chat__reply-body {
	min-width: 0;
	flex: 1;
}

.member-chat__reply-label {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--primary);
}

.member-chat__bubble .member-chat__reply-label {
	display: none;
}

.member-chat__reply-text {
	margin: 0.15rem 0 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.member-chat__bubble p {
	margin: 0;
	font-size: 0.875rem;
	white-space: pre-wrap;
	word-break: break-word;
}

.member-chat__link {
	color: var(--primary);
	text-decoration: underline;
	text-underline-offset: 0.12em;
	word-break: break-all;
}

.member-chat__link:hover {
	opacity: 0.85;
}

.member-chat__bubble.is-mine .member-chat__link {
	color: color-mix(in oklab, var(--primary) 78%, #000);
}

.member-chat__link--phone {
	white-space: nowrap;
	word-break: normal;
}

.member-chat__bubble-image {
	display: block;
	position: relative;
	margin-bottom: 0.35rem;
}

.member-chat__bubble-image img {
	max-width: 14rem;
	border-radius: 0.5rem;
	display: block;
}

.member-chat__location-attachment {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.member-chat__location-info {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 0.55rem;
	row-gap: 0.1rem;
	align-items: center;
	padding: 0.1rem 0.15rem 0;
	text-decoration: none;
	color: inherit;
}

.member-chat__location-info i {
	grid-row: 1 / span 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: 999px;
	background: color-mix(in oklab, var(--primary) 16%, transparent);
	color: var(--primary);
	font-size: 0.95rem;
}

.member-chat__location-name {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.member-chat__location-coords {
	grid-column: 2;
	font-size: 0.6875rem;
	line-height: 1.3;
	color: var(--muted-foreground);
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.member-chat__location-map {
	overflow: hidden;
	border-radius: 0.75rem;
	border: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
	background: color-mix(in oklab, var(--muted) 55%, white);
	line-height: 0;
}

.member-chat__location-map iframe {
	display: block;
	width: 100%;
	height: 11.5rem;
	border: 0;
}

.member-chat__bubble.is-mine .member-chat__location-map {
	border-color: color-mix(in oklab, var(--primary) 22%, var(--border));
}

.member-chat__bubble-image.is-uploading img {
	opacity: 0.55;
}

.member-chat__bubble-image-loading {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.5rem;
	background: color-mix(in oklab, var(--foreground) 28%, transparent);
	pointer-events: none;
}

.member-chat__bubble-image-spinner {
	width: 1.75rem;
	height: 1.75rem;
	border: 2px solid color-mix(in oklab, white 35%, transparent);
	border-top-color: #fff;
	border-radius: 999px;
	animation: member-chat-image-spin 0.7s linear infinite;
}

@keyframes member-chat-image-spin {
	to {
		transform: rotate(360deg);
	}
}

.member-chat__bubble-image-error {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.4rem;
	margin-top: 0.45rem;
	max-width: 14rem;
}

.member-chat__bubble-image-error-text {
	margin: 0;
	font-size: 0.75rem;
	line-height: 1.35;
	color: var(--destructive, #dc2626);
}

.member-chat__bubble-image-retry {
	gap: 0.3rem;
}

.member-chat__msg.is-pending .member-chat__bubble {
	opacity: 0.98;
}

.member-chat__bubble-meta {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0 0.15rem;
	min-height: 1rem;
}

.member-chat__msg.is-mine .member-chat__bubble-meta {
	justify-content: flex-end;
}

.member-chat__bubble-time {
	font-size: 0.6875rem;
	line-height: 1.2;
	color: var(--muted-foreground);
}

.member-chat__receipt {
	position: relative;
	font-size: 0.95rem;
	line-height: 1;
	color: color-mix(in oklab, var(--muted-foreground) 75%, transparent);
}

.member-chat__receipt.is-read {
	color: #22c55e;
}

.member-chat__quick {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.5rem;
	overflow-x: auto;
	padding: 0.65rem 1rem 0;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.member-chat__quick::-webkit-scrollbar {
	display: none;
}

.member-chat__quick.is-empty,
.member-chat__quick.is-hidden {
	display: none;
}

.member-chat__quick-chip {
	flex-shrink: 0;
	border: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
	background: color-mix(in oklab, var(--background) 92%, var(--muted));
	border-radius: 999px;
	padding: 0.4rem 0.85rem;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--foreground);
	cursor: pointer;
	white-space: nowrap;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, transform 0.12s ease;
}

.member-chat__quick-chip:hover {
	border-color: color-mix(in oklab, var(--primary) 45%, var(--border));
	background: color-mix(in oklab, var(--primary) 8%, var(--background));
	color: var(--primary);
}

.member-chat__quick-chip:active {
	transform: scale(0.98);
}

.member-chat__footer {
	flex-shrink: 0;
	border-top: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
	background:
		linear-gradient(180deg, color-mix(in oklab, var(--muted) 28%, transparent) 0%, var(--background) 40%);
	padding-bottom: max(0.35rem, env(safe-area-inset-bottom, 0px));
}

.member-chat__composer {
	padding: 0.65rem 0.85rem 0.85rem;
}

.member-chat__composer.is-hidden {
	display: none;
}

.member-chat__composer-bar {
	display: flex;
	align-items: flex-end;
	gap: 0.35rem;
	min-height: 3rem;
	padding: 0.35rem 0.35rem 0.35rem 0.45rem;
	border: 1px solid color-mix(in oklab, var(--border) 85%, transparent);
	border-radius: 1.5rem;
	background: var(--background);
	box-shadow:
		0 1px 2px color-mix(in oklab, var(--foreground) 4%, transparent),
		0 8px 20px -14px color-mix(in oklab, var(--foreground) 18%, transparent);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.member-chat__composer-bar:focus-within {
	border-color: color-mix(in oklab, var(--primary) 55%, var(--border));
	box-shadow:
		0 0 0 3px color-mix(in oklab, var(--primary) 14%, transparent),
		0 8px 22px -14px color-mix(in oklab, var(--primary) 35%, transparent);
}

.member-chat__attach-group {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	gap: 0.05rem;
	margin-bottom: 0.05rem;
}

.member-chat__attach {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	border: 0;
	padding: 0;
	background: transparent;
	border-radius: 999px;
	color: var(--muted-foreground);
	cursor: pointer;
	transition: color 0.15s ease, background 0.15s ease, opacity 0.15s ease;
}

.member-chat__attach-group .member-chat__attach {
	margin-bottom: 0;
}

.member-chat__attach:hover {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 10%, transparent);
}

.member-chat__attach:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	pointer-events: none;
}

.member-chat__attach.is-loading {
	opacity: 0.7;
	cursor: wait;
	pointer-events: none;
	color: var(--primary);
}

.member-chat__attach.is-loading i.ki-arrows-circle {
	animation: member-chat-image-spin 0.8s linear infinite;
}

.member-chat__attach i {
	font-size: 1.2rem;
}

.member-chat__input {
	flex: 1;
	min-width: 0;
	resize: none;
	border: 0;
	outline: none;
	background: transparent;
	box-shadow: none;
	min-height: 2.25rem;
	max-height: 7.5rem;
	padding: 0.5rem 0.25rem;
	font-size: 0.9375rem;
	line-height: 1.4;
	color: var(--foreground);
	font-family: inherit;
}

.member-chat__input::placeholder {
	color: color-mix(in oklab, var(--muted-foreground) 85%, transparent);
}

.member-chat__send {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.35rem;
	height: 2.35rem;
	margin-bottom: 0.02rem;
	border: 0;
	border-radius: 999px;
	background: color-mix(in oklab, var(--muted) 70%, transparent);
	color: var(--muted-foreground);
	cursor: not-allowed;
	transition: background 0.15s ease, color 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease;
}

.member-chat__send i {
	font-size: 1.05rem;
}

.member-chat__send.is-ready {
	background: var(--primary);
	color: var(--primary-foreground);
	cursor: pointer;
	box-shadow: 0 4px 12px -4px color-mix(in oklab, var(--primary) 65%, transparent);
}

.member-chat__send.is-ready:hover {
	filter: brightness(1.05);
}

.member-chat__send.is-ready:active {
	transform: scale(0.96);
}

.member-chat__send.is-disabled {
	opacity: 0.7;
}

.member-chat__blocked-note {
	margin: 0;
	padding: var(--space-3) var(--space-4) var(--space-4);
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	text-align: center;
}

.member-chat__blocked-note.is-hidden {
	display: none;
}

/* —— Member chat info pane (right column) —— */
@media (min-width: 1200px) {
	.member-chat {
		grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
	}

	.member-chat.is-info-open {
		grid-template-columns: minmax(260px, 320px) minmax(0, 1fr) minmax(260px, 320px);
	}
}

@media (min-width: 1400px) {
	.member-chat {
		grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
	}

	.member-chat.is-info-open {
		grid-template-columns: minmax(320px, 420px) minmax(0, 1fr) minmax(320px, 420px);
	}
}

.member-chat__thread-head [data-chat-info-toggle].is-active {
	color: var(--primary);
	background: color-mix(in oklab, var(--primary) 12%, transparent);
}

.member-chat__info-pane {
	display: none;
	flex-direction: column;
	min-height: 0;
	border-left: 1px solid color-mix(in oklab, var(--border) 80%, transparent);
	background: color-mix(in oklab, var(--background) 97%, var(--muted) 3%);
}

.member-chat.is-info-open .member-chat__info-pane:not(.is-hidden) {
	display: flex;
	position: absolute;
	inset: 0;
	z-index: 5;
	background: var(--background);
}

@media (min-width: 1200px) {
	.member-chat.is-info-open .member-chat__info-pane:not(.is-hidden) {
		position: static;
		z-index: auto;
	}
}

.member-chat__info-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-2);
	padding: var(--space-3) var(--space-4);
	border-bottom: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
}

.member-chat__info-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
}

.member-chat__info-scroll {
	flex: 1;
	overflow-y: auto;
	min-height: 0;
	padding: var(--space-4);
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.member-chat__profile {
	margin: 0;
}

.member-chat__profile .member-profile-summary__actions:empty,
.member-chat__profile .member-profile-summary__actions:not(:has(a:not(.hidden))) {
	display: none;
}

.member-chat__profile-stat {
	margin: 0;
	width: 100%;
	font-size: 0.75rem;
	color: var(--muted-foreground);
}

.member-chat__info-block {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.member-chat__info-block.is-hidden {
	display: none;
}

.member-chat__info-block-title {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--muted-foreground);
}

.member-chat__info-hint {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
}

.member-chat__info-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	padding: 1.25rem 1rem;
	border: 1px dashed color-mix(in oklab, var(--border) 85%, transparent);
	border-radius: 0.75rem;
	background: color-mix(in oklab, var(--muted) 35%, transparent);
	text-align: center;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--muted-foreground);
}

.member-chat__info-empty i {
	font-size: 1.5rem;
	opacity: 0.7;
}

.member-chat__info-empty.is-hidden {
	display: none;
}

.member-chat__media-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.4rem;
}

@media (max-width: 639.98px) {
	.member-chat__media-grid {
		grid-template-columns: repeat(6, 1fr);
	}
}

.member-chat__media-grid.is-hidden {
	display: none;
}

.member-chat__media-item {
	aspect-ratio: 1;
	border-radius: 0.375rem;
	overflow: hidden;
	background: var(--muted);
}

.member-chat__media-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.member-chat__info-actions {
	gap: 0.35rem;
}

.member-chat__action-btn {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	width: 100%;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--border);
	border-radius: 0.5rem;
	background: var(--background);
	color: var(--foreground);
	font-size: 0.875rem;
	text-align: left;
	cursor: pointer;
}

.member-chat__action-btn:hover {
	background: color-mix(in oklab, var(--muted) 40%, transparent);
}

.member-chat__action-btn.is-hidden {
	display: none;
}

.member-chat__thread-pane {
	position: relative;
}
