/* ndc-public-footer — shared premium public footer (Homepage + /bat-dong-san/ only) */
.ndc-public-footer {
	--ndc-pf-bg: #eef1f4;
	--ndc-pf-bg-deep: #e6eaef;
	--ndc-pf-ink: #0f172a;
	--ndc-pf-muted: #475569;
	--ndc-pf-line: #cbd5e1;
	--ndc-pf-teal: #0f766e;
	--ndc-pf-teal-soft: #ccfbf1;
	--ndc-pf-white: #ffffff;
	--ndc-pf-radius: 14px;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	background: var(--ndc-pf-bg);
	color: var(--ndc-pf-ink);
	font-family: "Be Vietnam Pro", "Segoe UI", sans-serif;
	font-size: 14px;
	line-height: 1.5;
	overflow-x: clip;
}
.ndc-public-footer *,
.ndc-public-footer *::before,
.ndc-public-footer *::after {
	box-sizing: border-box;
}
.ndc-public-footer__inner {
	width: min(1320px, calc(100% - 32px));
	margin: 0 auto;
	padding: 28px 0 0;
}
.ndc-public-footer__sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.ndc-public-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 0.78fr) minmax(0, 2.22fr);
	gap: 12px 16px;
	align-items: start;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--ndc-pf-line);
}
.ndc-public-footer__brand-row {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}
.ndc-public-footer__mark-svg {
	width: 48px;
	height: 48px;
	flex: 0 0 auto;
}
.ndc-public-footer__brand-name {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: .01em;
	color: var(--ndc-pf-ink);
}
.ndc-public-footer__brand-tag {
	margin: 4px 0 0;
	color: var(--ndc-pf-muted);
	font-size: .92rem;
}
.ndc-public-footer__contact-strip {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}
.ndc-public-footer__contact-item {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 8px;
	align-items: start;
	min-width: 0;
}
.ndc-public-footer__icon {
	width: 20px;
	height: 20px;
	color: var(--ndc-pf-teal);
	display: block;
}
.ndc-public-footer__icon--sm {
	width: 16px;
	height: 16px;
}
.ndc-public-footer__contact-label,
.ndc-public-footer__contact-value,
.ndc-public-footer__contact-note {
	margin: 0;
}
.ndc-public-footer__contact-label {
	font-size: .78rem;
	color: var(--ndc-pf-muted);
}
.ndc-public-footer__contact-value {
	font-weight: 700;
	color: var(--ndc-pf-ink);
	word-break: normal;
}
.ndc-public-footer__contact-note {
	font-size: .78rem;
	color: var(--ndc-pf-muted);
}
.ndc-public-footer__contact-link {
	color: inherit;
	text-decoration: none;
}
.ndc-public-footer__contact-link:hover,
.ndc-public-footer__contact-link:focus-visible {
	color: var(--ndc-pf-teal);
	text-decoration: underline;
}
.ndc-public-footer__main {
	position: relative;
	padding: 28px 0 20px;
}
.ndc-public-footer__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.86fr) repeat(3, minmax(0, 1.2fr)) minmax(0, 0.9fr);
	gap: 16px 10px;
	align-items: start;
}
.ndc-public-footer__heading {
	margin: 0 0 12px;
	font-size: .84rem;
	font-weight: 800;
	letter-spacing: .02em;
	color: var(--ndc-pf-ink);
}
.ndc-public-footer__address {
	display: grid;
	gap: 2px;
	margin: 0 0 10px;
	font-style: normal;
	color: var(--ndc-pf-muted);
}
.ndc-public-footer__company-line {
	margin: 0 0 4px;
	font-weight: 600;
}
.ndc-public-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 7px;
}
.ndc-public-footer__link,
.ndc-public-footer__text {
	color: var(--ndc-pf-muted);
	text-decoration: none;
	font-size: .9rem;
}
.ndc-public-footer__link:hover,
.ndc-public-footer__link:focus-visible {
	color: var(--ndc-pf-teal);
	text-decoration: underline;
}
.ndc-public-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 16px;
}
.ndc-public-footer__social-btn {
	width: 34px;
	height: 34px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--ndc-pf-white);
	border: 1px solid var(--ndc-pf-line);
	color: var(--ndc-pf-teal);
	font-size: .75rem;
	font-weight: 700;
}
.ndc-public-footer__apps-title {
	margin: 0 0 4px;
	font-weight: 700;
}
.ndc-public-footer__apps-sub {
	margin: 0 0 10px;
	color: var(--ndc-pf-muted);
	font-size: .86rem;
}
.ndc-public-footer__apps-row {
	display: flex;
	align-items: center;
	gap: 12px;
}
.ndc-public-footer__qr {
	width: 72px;
	height: 72px;
	flex: 0 0 auto;
	border-radius: 8px;
	border: 1px solid var(--ndc-pf-line);
	background:
		linear-gradient(90deg, #0f172a 12%, transparent 12%) 0 0 / 10px 10px,
		linear-gradient(#0f172a 12%, transparent 12%) 0 0 / 10px 10px,
		#fff;
}
.ndc-public-footer__store-badges {
	display: grid;
	gap: 8px;
}
.ndc-public-footer__store {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 6px 12px;
	border-radius: 8px;
	background: #0b1220;
	color: #fff;
	font-size: .78rem;
	font-weight: 700;
}
.ndc-public-footer__news-copy {
	margin: 0 0 12px;
	color: var(--ndc-pf-muted);
}
.ndc-public-footer__news-form {
	margin: 0 0 10px;
}
.ndc-public-footer__news-controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 44px;
	gap: 8px;
	align-items: center;
}
.ndc-public-footer__news-input {
	width: 100%;
	min-width: 0;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--ndc-pf-line);
	border-radius: 10px;
	background: var(--ndc-pf-white);
	color: var(--ndc-pf-ink);
	font: inherit;
}
.ndc-public-footer__news-btn {
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 10px;
	background: var(--ndc-pf-teal);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: default;
}
.ndc-public-footer__news-btn .ndc-public-footer__icon {
	color: #fff;
}
.ndc-public-footer__news-note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--ndc-pf-muted);
	font-size: .8rem;
}
.ndc-public-footer__skyline {
	pointer-events: none;
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(42%, 420px);
	height: 110px;
	opacity: .18;
	background:
		linear-gradient(to top, var(--ndc-pf-bg) 8%, transparent 70%),
		repeating-linear-gradient(90deg, transparent 0 18px, #94a3b8 18px 34px, transparent 34px 52px);
	mask-image: linear-gradient(90deg, transparent, #000 30%);
}
.ndc-public-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 18px;
	padding: 14px 0 22px;
	border-top: 1px solid var(--ndc-pf-line);
}
.ndc-public-footer__copy {
	margin: 0;
	color: var(--ndc-pf-muted);
	font-size: .84rem;
}
.ndc-public-footer__bottom-nav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 0;
}
.ndc-public-footer__bottom-nav > li {
	display: inline-flex;
	align-items: center;
}
.ndc-public-footer__bottom-nav > li:not(:last-child)::after {
	content: "|";
	margin: 0 10px;
	color: #94a3b8;
}
.ndc-public-footer__bottom-link,
.ndc-public-footer__bottom-text {
	color: var(--ndc-pf-muted);
	text-decoration: none;
	font-size: .84rem;
}
.ndc-public-footer__bottom-link:hover,
.ndc-public-footer__bottom-link:focus-visible {
	color: var(--ndc-pf-teal);
	text-decoration: underline;
}


@media (min-width: 1200px) {
	.ndc-public-footer__contact-value,
	.ndc-public-footer__contact-value .ndc-public-footer__contact-link {
		white-space: nowrap;
	}
	.ndc-public-footer__heading {
		white-space: nowrap;
	}
	.ndc-public-footer__list .ndc-public-footer__link,
	.ndc-public-footer__list .ndc-public-footer__text {
		white-space: nowrap;
		display: inline-block;
		max-width: 100%;
	}
}
@media (max-width: 1199px) {
	.ndc-public-footer__top {
		grid-template-columns: 1fr;
	}
	.ndc-public-footer__contact-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ndc-public-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	.ndc-public-footer__inner {
		width: min(1180px, calc(100% - 24px));
		padding-top: 22px;
	}
	.ndc-public-footer__contact-strip,
	.ndc-public-footer__grid {
		grid-template-columns: 1fr;
	}
	.ndc-public-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}
	.ndc-public-footer__skyline {
		display: none;
	}
}
@media (max-width: 389px) {
	.ndc-public-footer,
	.ndc-public-footer__inner,
	.ndc-public-footer__news-controls,
	.ndc-public-footer__apps-row {
		max-width: 100%;
		min-width: 0;
	}
	.ndc-public-footer__news-controls {
		grid-template-columns: minmax(0, 1fr) 40px;
	}
}
