/**
 * Mobile App Shell — sitewide chrome (.fc-has-mapp) + home content (.fc-has-mhome).
 * Breakpoint: 849px (match site inner-page system). Desktop ≥850px unchanged.
 *
 * @package Flatsome_Child
 */

/* ── Visibility split ─────────────────────────── */
.fc-mapp-chrome {
	display: none;
}
.fc-mabout {
	display: none;
}
.fc-mproducts {
	display: none;
}
.fc-mparts,
.fc-mpart,
.fc-mproduct,
.fc-mnews,
.fc-mpost,
.fc-mservices,
.fc-mservice,
.fc-mdealers,
.fc-mcontact,
.fc-mrecruit,
.fc-mcompare {
	display: none;
}
@media (max-width: 849px) {
	body.fc-has-mhome .fc-dhome {
		display: none !important;
	}
	body.fc-has-mhome .fc-mhome {
		display: block !important;
	}
	/* About page: app content replaces desktop stack */
	body.fc-has-mabout .fc-dabout {
		display: none !important;
	}
	body.fc-has-mabout .fc-mabout {
		display: block !important;
	}
	/* Products listing: app content */
	body.fc-has-mproducts .fc-dproducts {
		display: none !important;
	}
	body.fc-has-mproducts .fc-mproducts {
		display: block !important;
	}
	/* Phụ tùng listing + single */
	body.fc-has-mparts .fc-dparts {
		display: none !important;
	}
	body.fc-has-mparts .fc-mparts {
		display: block !important;
	}
	body.fc-has-mpart .fc-dpart {
		display: none !important;
	}
	body.fc-has-mpart .fc-mpart {
		display: block !important;
	}
	/* Product detail (product_xe) */
	body.fc-has-mproduct .fc-dproduct {
		display: none !important;
	}
	body.fc-has-mproduct .fc-mproduct {
		display: block !important;
	}
	/* News listing + category — kill desktop banner shell */
	body.fc-has-mnews .fc-dnews,
	body.fc-has-mapp.page-template-news .fc-dnews,
	body.fc-has-mapp.page-template-templates-news-php .fc-dnews,
	body.fc-has-mapp.page-template-templatesnews-php .fc-dnews {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
	}
	body.fc-has-mnews .fc-mnews,
	body.fc-has-mapp.page-template-news .fc-mnews,
	body.fc-has-mapp.page-template-templates-news-php .fc-mnews,
	body.fc-has-mapp.page-template-templatesnews-php .fc-mnews {
		display: block !important;
		visibility: visible !important;
	}
	/* Post detail */
	body.fc-has-mpost .fc-dpost,
	body.fc-has-mapp.single-post .fc-dpost {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
	}
	body.fc-has-mpost .fc-mpost,
	body.fc-has-mapp.single-post .fc-mpost {
		display: block !important;
		visibility: visible !important;
	}
	/* Services listing + single — kill desktop shell so banner is not doubled */
	body.fc-has-mservices .fc-dservices,
	body.fc-has-mapp.page-template-services .fc-dservices,
	body.fc-has-mapp.page-template-templates-services-php .fc-dservices,
	body.fc-has-mapp.page-template-templatesservices-php .fc-dservices {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		max-height: 0 !important;
		overflow: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
		pointer-events: none !important;
	}
	/* Belt-and-suspenders: desktop banner class may leak styles from style.css */
	body.fc-has-mservices .services_banner,
	body.fc-has-mservices .banner_section.services_banner,
	body.fc-has-mapp.page-template-services .services_banner,
	body.fc-has-mapp.page-template-templates-services-php .services_banner,
	body.fc-has-mapp.page-template-templatesservices-php .services_banner {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		overflow: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	body.fc-has-mservices .fc-mservices,
	body.fc-has-mapp.page-template-services .fc-mservices,
	body.fc-has-mapp.page-template-templates-services-php .fc-mservices,
	body.fc-has-mapp.page-template-templatesservices-php .fc-mservices {
		display: block !important;
		visibility: visible !important;
	}
	body.fc-has-mservice .fc-dservice,
	body.fc-has-mapp.single-service .fc-dservice {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
	}
	body.fc-has-mservice .fc-mservice,
	body.fc-has-mapp.single-service .fc-mservice {
		display: block !important;
		visibility: visible !important;
	}
	/* Hệ thống đại lý — hide entire desktop shell (incl. page banner) */
	body.fc-has-mdealers .fc-ddealers,
	body.fc-has-mapp.page-template-dealers .fc-ddealers,
	body.fc-has-mapp.page-template-templates-dealers-php .fc-ddealers,
	body.fc-has-mapp.page-template-templatesdealers-php .fc-ddealers {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		max-height: 0 !important;
		overflow: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
		pointer-events: none !important;
	}
	/* Legacy: banner was outside .fc-ddealers — still kill standalone banner on dealers mobile */
	body.fc-has-mdealers > #main .banner_section,
	body.fc-has-mdealers #main > .banner_section,
	body.fc-has-mdealers #content > .banner_section,
	body.fc-has-mdealers .page-wrapper > .banner_section,
	body.fc-has-mapp.page-template-dealers .banner_section:not(.fc-mdealers *),
	body.fc-has-mapp.page-template-templates-dealers-php .banner_section,
	body.fc-has-mapp.page-template-templatesdealers-php .banner_section {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		overflow: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	body.fc-has-mdealers .fc-mdealers,
	body.fc-has-mapp.page-template-dealers .fc-mdealers,
	body.fc-has-mapp.page-template-templates-dealers-php .fc-mdealers,
	body.fc-has-mapp.page-template-templatesdealers-php .fc-mdealers {
		display: block !important;
		visibility: visible !important;
	}
	/* Liên hệ — hide desktop shell (incl. breadcrumbs / map / marquee) */
	body.fc-has-mcontact .fc-dcontact,
	body.fc-has-mapp.page-template-contact .fc-dcontact,
	body.fc-has-mapp.page-template-templates-contact-php .fc-dcontact,
	body.fc-has-mapp.page-template-templatescontact-php .fc-dcontact {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
	}
	body.fc-has-mcontact .fc-mcontact,
	body.fc-has-mapp.page-template-contact .fc-mcontact,
	body.fc-has-mapp.page-template-templates-contact-php .fc-mcontact,
	body.fc-has-mapp.page-template-templatescontact-php .fc-mcontact {
		display: block !important;
		visibility: visible !important;
	}
	/* Tuyển dụng — hide desktop shell (incl. page banner) */
	body.fc-has-mrecruit .fc-drecruit,
	body.fc-has-mapp.page-template-recruit .fc-drecruit,
	body.fc-has-mapp.page-template-templates-recruit-php .fc-drecruit,
	body.fc-has-mapp.page-template-templatesrecruit-php .fc-drecruit {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
	}
	body.fc-has-mrecruit .fc-mrecruit,
	body.fc-has-mapp.page-template-recruit .fc-mrecruit,
	body.fc-has-mapp.page-template-templates-recruit-php .fc-mrecruit,
	body.fc-has-mapp.page-template-templatesrecruit-php .fc-mrecruit {
		display: block !important;
		visibility: visible !important;
	}
	/* So sánh — hide desktop shell */
	body.fc-has-mcompare .fc-dcompare,
	body.fc-has-mapp.page-template-compare .fc-dcompare,
	body.fc-has-mapp.page-template-templates-compare-php .fc-dcompare,
	body.fc-has-mapp.page-template-templatescompare-php .fc-dcompare {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
	}
	body.fc-has-mcompare .fc-mcompare,
	body.fc-has-mapp.page-template-compare .fc-mcompare,
	body.fc-has-mapp.page-template-templates-compare-php .fc-mcompare,
	body.fc-has-mapp.page-template-templatescompare-php .fc-mcompare {
		display: block !important;
		visibility: visible !important;
	}
	body.fc-has-mapp .fc-mapp-chrome {
		display: block;
	}
	/*
	 * Kill Flatsome desktop header entirely on mobile app shell.
	 * Residual .header-bg-color (glass/dark wash + shadow) was painting a
	 * covering band under the app bar sitewide — hide the whole #header tree.
	 */
	body.fc-has-mapp #wrapper > #header,
	body.fc-has-mapp #wrapper #header,
	body.fc-has-mapp #header.header,
	body.fc-has-mapp header#header,
	body.fc-has-mapp .header-wrapper,
	body.fc-has-mapp #masthead,
	body.fc-has-mapp #masthead.header-main,
	body.fc-has-mapp #wrapper #header .header-main,
	body.fc-has-mapp #wrapper #header .header-top,
	body.fc-has-mapp #wrapper #header .header-bottom,
	body.fc-has-mapp #wrapper #header .header-bg-color,
	body.fc-has-mapp #wrapper #header .header-bg-color.fill,
	body.fc-has-mapp #wrapper #header .header-bg-image,
	body.fc-has-mapp #wrapper #header .header-inner,
	body.fc-has-mapp #wrapper #header .header-nav-main,
	body.fc-has-mapp #wrapper #header .contact-header,
	body.fc-has-mapp #wrapper #header .fc-contact-header,
	body.fc-has-mapp #wrapper #header .nav-dropdown,
	body.fc-has-mapp #wrapper #header.fc-header-scrolled,
	body.fc-has-mapp #wrapper #header .header-wrapper.stuck,
	body.fc-has-mapp #wrapper #header .header-wrapper.stuck .header-bg-color {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
		background-color: transparent !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		overflow: hidden !important;
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: -1 !important;
		transform: none !important;
	}
	/* Flatsome mobile off-canvas (replaced by app drawer) */
	body.fc-has-mapp #main-menu,
	body.fc-has-mapp .mobile-nav,
	body.fc-has-mapp .mfp-bg.mfp-ready,
	body.fc-has-mapp [id^="main-menu"] {
		display: none !important;
	}
	body.fc-has-mapp .main_footer_wrap,
	body.fc-has-mapp .form_footer {
		display: none !important;
	}
	/* Float rail: tab bar replaces it on mobile app shell */
	body.fc-has-mapp .fixed_buttons.fc-float-rail {
		display: none !important;
	}
	body.fc-has-mapp #wrapper {
		background: var(--mh-shell, #f2f5f3) !important;
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	body.fc-has-mapp #wrapper > .header-wrapper,
	body.fc-has-mapp body {
		padding-top: 0 !important;
	}
	/* Content clears app bar only — NOT desktop --fc-header-offset (~90px) */
	html body.fc-has-mapp {
		--fc-header-offset: var(--fc-mapp-top-h, 3.5rem);
		--fc-header-h: var(--fc-mapp-top-h, 3.5rem);
		--fc-header-h-mobile: var(--fc-mapp-top-h, 3.5rem);
	}
	html body.fc-has-mapp #main,
	html body.fc-has-mapp:not(.fc-header-overlay) #main,
	html body.fc-has-mapp.fc-header-overlay #main {
		padding-top: var(--fc-mapp-top-h, 3.5rem) !important;
		padding-bottom: calc(var(--mh-tab-h, 3.85rem) + env(safe-area-inset-bottom, 0px) + 0.75rem) !important;
		margin-top: 0 !important;
	}
	/* App content pads bottom for tabbar — avoid double gap on #main */
	body.fc-has-mapp.home #main,
	body.fc-has-mabout #main,
	body.fc-has-mproducts #main,
	body.fc-has-mparts #main,
	body.fc-has-mpart #main,
	body.fc-has-mproduct #main,
	body.fc-has-mnews #main,
	body.fc-has-mpost #main,
	body.fc-has-mservices #main,
	body.fc-has-mservice #main,
	body.fc-has-mdealers #main,
	body.fc-has-mcontact #main,
	body.fc-has-mrecruit #main,
	body.fc-has-mcompare #main {
		padding-bottom: 0 !important;
	}
}
@media (min-width: 850px) {
	body.fc-has-mhome .fc-mhome {
		display: none !important;
	}
	body.fc-has-mhome .fc-dhome {
		display: block !important;
	}
	body.fc-has-mabout .fc-mabout {
		display: none !important;
	}
	body.fc-has-mabout .fc-dabout {
		display: block !important;
	}
	body.fc-has-mproducts .fc-mproducts {
		display: none !important;
	}
	body.fc-has-mproducts .fc-dproducts {
		display: block !important;
	}
	body.fc-has-mparts .fc-mparts {
		display: none !important;
	}
	body.fc-has-mparts .fc-dparts {
		display: block !important;
	}
	body.fc-has-mpart .fc-mpart {
		display: none !important;
	}
	body.fc-has-mpart .fc-dpart {
		display: block !important;
	}
	body.fc-has-mproduct .fc-mproduct {
		display: none !important;
	}
	body.fc-has-mproduct .fc-dproduct {
		display: block !important;
	}
	body.fc-has-mnews .fc-mnews {
		display: none !important;
	}
	body.fc-has-mnews .fc-dnews {
		display: block !important;
	}
	body.fc-has-mpost .fc-mpost {
		display: none !important;
	}
	body.fc-has-mpost .fc-dpost {
		display: block !important;
	}
	body.fc-has-mservices .fc-mservices {
		display: none !important;
	}
	body.fc-has-mservices .fc-dservices {
		display: block !important;
	}
	body.fc-has-mservice .fc-mservice {
		display: none !important;
	}
	body.fc-has-mservice .fc-dservice {
		display: block !important;
	}
	body.fc-has-mdealers .fc-mdealers {
		display: none !important;
	}
	body.fc-has-mdealers .fc-ddealers {
		display: block !important;
	}
	body.fc-has-mcontact .fc-mcontact {
		display: none !important;
	}
	body.fc-has-mcontact .fc-dcontact {
		display: block !important;
	}
	body.fc-has-mrecruit .fc-mrecruit {
		display: none !important;
	}
	body.fc-has-mrecruit .fc-drecruit {
		display: block !important;
	}
	body.fc-has-mcompare .fc-mcompare {
		display: none !important;
	}
	body.fc-has-mcompare .fc-dcompare {
		display: block !important;
	}
	.fc-mapp-chrome {
		display: none !important;
	}
}

/* ── App shell tokens (body + chrome + home content) — light brand app ─ */
body.fc-has-mapp,
.fc-mapp-chrome,
.fc-mhome {
	--mh-pad: 1rem;
	--mh-gap: 0.85rem;
	--mh-radius: 1rem;
	--mh-radius-sm: 0.75rem;
	--mh-ink: var(--fc-shell-text, #1a2420);
	--mh-muted: var(--fc-shell-muted, #5c6b63);
	--mh-shell: var(--fc-shell, #f2f5f3);
	--mh-shell-soft: #f8fbf9;
	--mh-card: #fff;
	--mh-line: #dfe7e2;
	--mh-mint: #f2faf4;
	--mh-mint-deep: #e8f6ec;
	--mh-brand: var(--primary-color, #14c131);
	--mh-brand-dark: var(--fc-primary-dark, #0a8f22);
	--mh-brand-soft: #1ed93d;
	--mh-bar-h: 3.4rem;
	--mh-tab-h: 3.85rem;
	--fc-mapp-top-h: 3.5rem;
}

.fc-mhome {
	display: none;
	background: var(--mh-shell);
	color: var(--mh-ink);
	font-family: var(--fc-font-body, "Google Sans", system-ui, sans-serif);
	min-height: 100dvh;
	padding-bottom: calc(var(--mh-tab-h) + env(safe-area-inset-bottom, 0px));
	-webkit-font-smoothing: antialiased;
}

/* Fixed top bar — sitewide; hides on scroll down */
.fc-mapp-top {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	/* Above Flatsome sticky/header remnants (often z-index 999 / 9999) */
	z-index: 10050;
	background: #fff;
	box-shadow: 0 1px 0 rgba(16, 26, 21, 0.06);
	transform: translateY(0);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
	will-change: transform;
}
.fc-mapp-top.is-hidden {
	transform: translateY(-110%);
	box-shadow: none;
	pointer-events: none;
}
/* Keep top visible while drawer open */
body.fc-mhome-drawer-open .fc-mapp-top {
	transform: translateY(0) !important;
	pointer-events: auto !important;
}

/* Top bar */
.fc-mhome-bar {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	min-height: var(--mh-bar-h);
	padding: 0.4rem var(--mh-pad);
	padding-top: max(0.4rem, env(safe-area-inset-top, 0px));
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid #e4ebe6;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.fc-mhome-bar-menu {
	display: grid;
	place-items: center;
	width: 2.4rem;
	height: 2.4rem;
	border: 0;
	padding: 0;
	border-radius: 0.7rem;
	background: #f2f5f3;
	color: var(--mh-ink);
	cursor: pointer;
	flex: 0 0 auto;
}
/* Menu / close — same stroke language as tabbar icons */
.fc-mhome-bar-menu-ico,
.fc-mhome-drawer-close-ico {
	display: grid;
	place-items: center;
	width: 1.35rem;
	height: 1.35rem;
	color: inherit;
	line-height: 0;
}
.fc-mhome-bar-menu-ico svg,
.fc-mhome-drawer-close-ico svg {
	width: 1.25rem;
	height: 1.25rem;
	display: block;
}
.fc-mhome-bar-menu-ico svg [stroke],
.fc-mhome-drawer-close-ico svg [stroke] {
	stroke: currentColor !important;
}
.fc-mhome-bar-menu-ico svg [fill]:not([fill="none"]),
.fc-mhome-drawer-close-ico svg [fill]:not([fill="none"]) {
	fill: currentColor !important;
}
/* Legacy burger (if still rendered somewhere) */
.fc-mhome-burger {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 1.1rem;
}
.fc-mhome-burger span {
	display: block;
	height: 2px;
	border-radius: 2px;
	background: var(--mh-ink);
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.fc-mhome-bar-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-width: 0;
	flex: 1 1 auto;
	text-decoration: none !important;
	color: inherit !important;
}
.fc-mhome-bar-logo {
	display: block;
	height: 1.85rem;
	width: auto;
	max-width: min(48vw, 9.5rem);
	object-fit: contain;
}
.fc-mhome-bar-mark {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 0.65rem;
	background: rgba(20, 193, 49, 0.1);
	color: var(--mh-brand);
	flex: 0 0 auto;
}
.fc-mhome-bar-mark svg {
	width: 1.05rem;
	height: 1.05rem;
}
.fc-mhome-bar-name {
	font-size: 0.88rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--mh-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/* Top bar call — outline brand + line phone (same language as tabbar) */
.fc-mhome-bar-call {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.42rem 0.7rem;
	border-radius: 999px;
	background: rgba(20, 193, 49, 0.1);
	border: 1px solid rgba(20, 193, 49, 0.28);
	color: var(--mh-brand-dark, #0a8f22) !important;
	text-decoration: none !important;
	font-size: 0.72rem;
	font-weight: 750;
	box-shadow: none;
	flex: 0 0 auto;
}
.fc-mhome-bar-call-ico {
	display: inline-flex;
	color: var(--mh-brand, #14c131) !important;
}
.fc-mhome-bar-call-ico svg {
	width: 0.95rem;
	height: 0.95rem;
}
.fc-mhome-bar-call-ico svg [stroke] {
	stroke: currentColor !important;
}
.fc-mhome-bar-call-ico svg [fill]:not([fill="none"]) {
	fill: currentColor !important;
}

/* Contact chips strip (mục 5) — under fixed top bar */
.fc-mhome-contact {
	display: flex;
	gap: 0.45rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 0.5rem var(--mh-pad) 0.55rem;
	background: linear-gradient(180deg, #fff 0%, #f7faf8 100%);
	border-bottom: 1px solid #eef3ef;
}
.fc-mhome-contact::-webkit-scrollbar {
	display: none;
}
.fc-mhome-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	flex: 0 0 auto;
	min-width: 0;
	max-width: 72vw;
	padding: 0.45rem 0.7rem 0.45rem 0.45rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #e4ebe6;
	box-shadow: 0 4px 12px rgba(16, 26, 21, 0.05);
	text-decoration: none !important;
	color: inherit !important;
}
.fc-mhome-chip-ico {
	display: grid;
	place-items: center;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: 999px;
	background: rgba(20, 193, 49, 0.1);
	color: var(--mh-brand);
	flex: 0 0 auto;
}
.fc-mhome-chip--hotline .fc-mhome-chip-ico {
	background: linear-gradient(145deg, #20d942, #0e9a26);
	color: #fff;
}
.fc-mhome-chip-ico svg {
	width: 0.95rem;
	height: 0.95rem;
}
.fc-mhome-chip-ico svg [stroke] {
	stroke: currentColor !important;
}
.fc-mhome-chip-ico svg [fill]:not([fill="none"]) {
	fill: currentColor !important;
}
.fc-mhome-chip-meta {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.15;
}
.fc-mhome-chip-label {
	font-size: 0.58rem;
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mh-muted);
}
.fc-mhome-chip-value {
	font-size: 0.78rem;
	font-weight: 750;
	color: var(--mh-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 11rem;
}
.fc-mhome-chip--hotline .fc-mhome-chip-value {
	color: var(--mh-brand-dark);
}

/* Drawer menu — above app top bar (10050) */
.fc-mhome-drawer-bg {
	position: fixed;
	inset: 0;
	z-index: 10060;
	background: rgba(10, 20, 16, 0.48);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}
.fc-mhome-drawer-bg.is-open {
	opacity: 1;
	pointer-events: auto;
}
.fc-mhome-drawer {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: 10061;
	width: min(86vw, 20rem);
	display: flex;
	flex-direction: column;
	background: #fff;
	box-shadow: 18px 0 40px rgba(16, 26, 21, 0.18);
	transform: translateX(-105%);
	transition: transform 0.28s ease;
	padding: max(0.75rem, env(safe-area-inset-top, 0px)) 0 calc(1rem + env(safe-area-inset-bottom, 0px));
}
.fc-mhome-drawer.is-open {
	transform: translateX(0);
}
.fc-mhome-drawer:not([hidden]) {
	display: flex;
}
.fc-mhome-drawer-bg:not([hidden]) {
	display: block;
}
.fc-mhome-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.5rem 1rem 0.85rem;
	border-bottom: 1px solid #eef3ef;
}
.fc-mhome-drawer-logo {
	height: 1.75rem;
	width: auto;
	max-width: 9rem;
	object-fit: contain;
	display: block;
}
.fc-mhome-drawer-name {
	font-weight: 800;
	font-size: 0.95rem;
	color: var(--mh-ink);
}
.fc-mhome-drawer-close {
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 0;
	border-radius: 999px;
	background: #f2f5f3;
	font-size: 1.45rem;
	line-height: 1;
	color: var(--mh-ink);
	cursor: pointer;
	padding: 0;
}
.fc-mhome-drawer-nav {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 0.5rem 0.65rem;
}
.fc-mhome-drawer-link {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.75rem 0.8rem;
	border-radius: 0.75rem;
	text-decoration: none !important;
	color: var(--mh-ink) !important;
	font-size: 0.92rem;
	font-weight: 700;
}
.fc-mhome-drawer-link:active,
.fc-mhome-drawer-link:hover,
.fc-mhome-drawer-link.is-active {
	background: #f2faf4;
	color: var(--mh-brand) !important;
}
.fc-mhome-drawer-ico {
	display: grid;
	place-items: center;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 0.65rem;
	background: rgba(20, 193, 49, 0.1);
	color: var(--mh-brand);
	flex: 0 0 auto;
}
.fc-mhome-drawer-ico svg {
	width: 1.1rem;
	height: 1.1rem;
}
.fc-mhome-drawer-ico svg [stroke] {
	stroke: currentColor !important;
}
.fc-mhome-drawer-foot {
	padding: 0.75rem 1rem 0;
	border-top: 1px solid #eef3ef;
}
.fc-mhome-drawer-foot .fc-mhome-btn {
	width: 100%;
}
body.fc-mhome-drawer-open {
	overflow: hidden !important;
}

/* Main */
.fc-mhome-main {
	padding: 0 0 0.5rem;
}

/* Hero + slider */
.fc-mhome-hero {
	position: relative;
	margin: 0 0 0.35rem;
}
.fc-mhome-hero-slider {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: linear-gradient(135deg, #e8f3eb 0%, #d8ebe0 48%, #cfe6d6 100%);
}
.fc-mhome-hero-slider .swiper-slide {
	height: auto;
}
.fc-mhome-hero-media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: linear-gradient(135deg, #e8f3eb 0%, #d8ebe0 48%, #cfe6d6 100%);
}
.fc-mhome-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fc-mhome-hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 20, 16, 0.12) 0%, rgba(10, 20, 16, 0.55) 100%);
	pointer-events: none;
}
.fc-mhome-hero-pag {
	position: absolute !important;
	left: 0;
	right: 0;
	bottom: 3.4rem;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.4rem;
}
/* Hero dots — small round · brand active (product-single language) */
.fc-mhome-hero-pag .swiper-pagination-bullet {
	width: 0.4rem !important;
	height: 0.4rem !important;
	min-width: 0.4rem !important;
	min-height: 0.4rem !important;
	max-width: 0.4rem !important;
	max-height: 0.4rem !important;
	margin: 0 !important;
	opacity: 1 !important;
	background: rgba(255, 255, 255, 0.42) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	transform: none !important;
	flex: 0 0 auto !important;
	transition: background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}
.fc-mhome-hero-pag .swiper-pagination-bullet-active {
	width: 0.4rem !important;
	height: 0.4rem !important;
	min-width: 0.4rem !important;
	min-height: 0.4rem !important;
	background: var(--mh-brand, #14c131) !important;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.55), 0 2px 8px rgba(20, 193, 49, 0.4) !important;
	transform: scale(1.15) !important;
}
.fc-mhome-hero-copy {
	position: relative;
	margin: -2.75rem var(--mh-pad) 0;
	padding: 1.15rem 1.1rem 1.2rem;
	background: var(--mh-card);
	border: 1px solid #dfe7e2;
	border-radius: var(--mh-radius);
	box-shadow: 0 14px 36px rgba(16, 26, 21, 0.1);
	z-index: 4;
}
.fc-mhome-kicker {
	margin: 0 0 0.35rem;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mh-brand);
}
.fc-mhome-title {
	margin: 0 0 0.4rem;
	font-family: var(--fc-font-title, "SFU Eurostile", "Google Sans", sans-serif);
	font-size: clamp(1.35rem, 5.5vw, 1.65rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.03em;
	color: var(--mh-brand, #14c131);
}
.fc-mhome-sub {
	margin: 0 0 0.95rem;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--mh-muted);
}
.fc-mhome-hero-ctas {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 0.55rem;
}

/* Buttons */
.fc-mhome-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 2.85rem;
	padding: 0.65rem 0.9rem;
	border-radius: 0.85rem;
	font-size: 0.82rem;
	font-weight: 750;
	letter-spacing: 0.02em;
	text-decoration: none !important;
	transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.fc-mhome-btn--primary {
	background: linear-gradient(145deg, #20d942 0%, #14c131 50%, #0e9a26 100%);
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(20, 193, 49, 0.28);
}
.fc-mhome-btn--primary .fc-mhome-btn-ico {
	color: #fff;
	display: inline-flex;
}
.fc-mhome-btn--primary svg [stroke] {
	stroke: currentColor !important;
}
.fc-mhome-btn--primary svg [fill]:not([fill="none"]) {
	fill: currentColor !important;
}
.fc-mhome-btn--ghost {
	background: #f2faf4;
	color: var(--mh-brand-dark) !important;
	border: 1px solid rgba(20, 193, 49, 0.28);
}
.fc-mhome-btn--soft {
	background: #fff;
	color: var(--mh-brand) !important;
	border: 1.5px solid rgba(20, 193, 49, 0.4);
	width: 100%;
	margin-top: 0.75rem;
}
.fc-mhome-btn:active {
	transform: scale(0.98);
}

/* Sections */
.fc-mhome-section {
	padding: 1.15rem var(--mh-pad) 0.25rem;
}
.fc-mhome-sec-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}
.fc-mhome-sec-title {
	margin: 0;
	font-family: var(--fc-font-title, "SFU Eurostile", "Google Sans", sans-serif);
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--mh-brand, #14c131);
	line-height: 1.25;
}
.fc-mhome-sec-more {
	font-size: 0.78rem;
	font-weight: 750;
	color: var(--mh-brand) !important;
	text-decoration: none !important;
	white-space: nowrap;
}

/*
 * All mobile shells: large page/section titles → brand primary green.
 * Home: hero H1 + section titles (Dịch vụ, Sản phẩm…, Tin mới, Đối tác…).
 * Dark-card titles (CTA / booking) stay white via their own rules.
 * !important beats later per-shell ink rules (.fc-mproduct-title, form-title, …).
 */
.fc-mhome .fc-mhome-title,
.fc-mhome .fc-mhome-sec-title,
.fc-mabout .fc-mhome-title,
.fc-mabout .fc-mhome-sec-title,
.fc-mabout .fc-mabout-vm-title,
.fc-mabout .fc-mabout-value-title,
.fc-mproducts .fc-mhome-title,
.fc-mproducts .fc-mhome-sec-title,
.fc-mproduct .fc-mhome-title,
.fc-mproduct .fc-mhome-sec-title,
.fc-mproduct .fc-mproduct-title,
.fc-mparts .fc-mhome-title,
.fc-mparts .fc-mhome-sec-title,
.fc-mpart .fc-mhome-title,
.fc-mpart .fc-mhome-sec-title,
.fc-mpart .fc-mpart-title,
.fc-mservices .fc-mhome-title,
.fc-mservices .fc-mhome-sec-title,
.fc-mservice .fc-mhome-title,
.fc-mservice .fc-mhome-sec-title,
.fc-mservice .fc-mservice-title,
.fc-mdealers .fc-mhome-title,
.fc-mdealers .fc-mhome-sec-title,
.fc-mcontact .fc-mhome-title,
.fc-mcontact .fc-mhome-sec-title,
.fc-mcontact .fc-mcontact-form-title,
.fc-mrecruit .fc-mhome-title,
.fc-mrecruit .fc-mhome-sec-title,
.fc-mcompare .fc-mhome-title,
.fc-mcompare .fc-mhome-sec-title,
.fc-mcompare .fc-compare-table-title,
.fc-mnews .fc-mhome-title,
.fc-mnews .fc-mhome-sec-title,
.fc-mpost .fc-mhome-title,
.fc-mpost .fc-mhome-sec-title,
.fc-mpost .fc-mpost-title {
	color: var(--mh-brand, #14c131) !important;
	-webkit-text-fill-color: var(--mh-brand, #14c131) !important;
}

/* Quick rail */
.fc-mhome-quick {
	padding-top: 1rem;
}
.fc-mhome-quick-rail {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.55rem;
}
.fc-mhome-quick-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	padding: 0.75rem 0.4rem 0.65rem;
	background: var(--mh-card);
	border: 1px solid #e4ebe6;
	border-radius: var(--mh-radius-sm);
	box-shadow: 0 6px 16px rgba(16, 26, 21, 0.04);
	text-decoration: none !important;
	color: var(--mh-ink) !important;
	text-align: center;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}
.fc-mhome-quick-item:active {
	transform: scale(0.97);
	border-color: rgba(20, 193, 49, 0.35);
}
.fc-mhome-quick-ico {
	display: grid;
	place-items: center;
	width: 2.55rem;
	height: 2.55rem;
	border-radius: 0.85rem;
	background: rgba(20, 193, 49, 0.1);
	color: var(--mh-brand);
}
.fc-mhome-quick-ico svg {
	width: 1.2rem;
	height: 1.2rem;
}
.fc-mhome-quick-ico svg [stroke] {
	stroke: currentColor !important;
}
.fc-mhome-quick-ico svg [fill]:not([fill="none"]) {
	fill: currentColor !important;
}
.fc-mhome-quick-label {
	font-size: 0.72rem;
	font-weight: 750;
	line-height: 1.25;
	color: var(--mh-ink);
}

/* Horizontal cards + page dots under swipe rails */
.fc-mhscroll-wrap {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.fc-mhome-hscroll {
	display: flex;
	gap: 0.75rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding: 0.15rem 0 0.35rem;
	margin: 0 calc(-1 * var(--mh-pad));
	padding-left: var(--mh-pad);
	padding-right: var(--mh-pad);
	scrollbar-width: none;
}
.fc-mhome-hscroll::-webkit-scrollbar {
	display: none;
}
/* Page dots under swipe rails — small round · brand active (product-single language)
   Buttons must beat global mobile `button{min-height:44px}` or they become tall bars. */
.fc-mhscroll-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	padding: 0.5rem 0 0.15rem;
	min-height: 0.9rem;
}
.fc-mhscroll-dots[hidden] {
	display: none !important;
}
.fc-mhscroll-dot,
button.fc-mhscroll-dot {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: block !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 0.4rem !important;
	height: 0.4rem !important;
	min-width: 0.4rem !important;
	min-height: 0.4rem !important;
	max-width: 0.4rem !important;
	max-height: 0.4rem !important;
	border-radius: 999px !important;
	background: #c9d4cd !important;
	background-image: none !important;
	cursor: pointer;
	flex: 0 0 auto !important;
	box-shadow: none !important;
	transform: none !important;
	opacity: 1 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	transition: background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
	-webkit-tap-highlight-color: transparent;
}
.fc-mhscroll-dot.is-on,
button.fc-mhscroll-dot.is-on {
	width: 0.4rem !important;
	height: 0.4rem !important;
	min-width: 0.4rem !important;
	min-height: 0.4rem !important;
	max-width: 0.4rem !important;
	max-height: 0.4rem !important;
	background: var(--mh-brand, #14c131) !important;
	box-shadow: 0 2px 6px rgba(20, 193, 49, 0.35) !important;
	transform: scale(1.15) !important;
	opacity: 1 !important;
}
.fc-mhscroll-dot:focus-visible {
	outline: 2px solid rgba(20, 193, 49, 0.45);
	outline-offset: 2px;
}
.fc-mhome-card {
	flex: 0 0 min(72vw, 16.5rem);
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	background: var(--mh-card);
	border: 1px solid #e4ebe6;
	border-radius: var(--mh-radius);
	overflow: hidden;
	text-decoration: none !important;
	color: inherit !important;
	box-shadow: 0 10px 24px rgba(16, 26, 21, 0.06);
}
.fc-mhome-card-media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: #e8eee9;
	overflow: hidden;
}
.fc-mhome-card-media--prod {
	aspect-ratio: 4 / 3;
	background: linear-gradient(180deg, #f7faf8, #eef3ef);
}
.fc-mhome-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fc-mhome-card-media--prod img {
	object-fit: contain;
	padding: 0.5rem;
}
.fc-mhome-card-badge {
	position: absolute;
	top: 0.55rem;
	left: 0.55rem;
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 0.6rem;
	background: rgba(255, 255, 255, 0.94);
	color: var(--mh-brand);
	box-shadow: 0 4px 12px rgba(16, 26, 21, 0.12);
}
.fc-mhome-card-badge svg {
	width: 1rem;
	height: 1rem;
}
.fc-mhome-card-body {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 0.75rem 0.85rem 0.9rem;
}
.fc-mhome-card-title {
	font-size: 0.9rem;
	font-weight: 750;
	line-height: 1.3;
	color: var(--mh-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fc-mhome-card-meta {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--mh-brand);
}
.fc-mhome-card-cta {
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--mh-muted);
	margin-top: 0.15rem;
}

/* Stats 2×2 */
.fc-mhome-stats-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.55rem;
}
.fc-mhome-stat {
	background: var(--mh-card);
	border: 1px solid #e4ebe6;
	border-radius: var(--mh-radius-sm);
	padding: 0.85rem 0.75rem;
	text-align: center;
	box-shadow: 0 6px 16px rgba(16, 26, 21, 0.04);
}
.fc-mhome-stat-num {
	display: block;
	font-family: var(--fc-font-title, "SFU Eurostile", "Google Sans", sans-serif);
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--mh-brand);
	line-height: 1.15;
	margin-bottom: 0.2rem;
}
.fc-mhome-stat-label {
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--mh-muted);
	line-height: 1.3;
}

/* About card */
.fc-mhome-about {
	background: var(--mh-card);
	border: 1px solid #e4ebe6;
	border-radius: var(--mh-radius);
	padding: 1.1rem 1rem 1.15rem;
	box-shadow: 0 10px 24px rgba(16, 26, 21, 0.05);
}
.fc-mhome-about .fc-mhome-sec-title {
	margin-bottom: 0.45rem;
}
.fc-mhome-about-text {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--mh-muted);
}

/* News list */
.fc-mhome-news-list {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
.fc-mhome-news-item {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	padding: 0.65rem;
	background: var(--mh-card);
	border: 1px solid #e4ebe6;
	border-radius: var(--mh-radius-sm);
	text-decoration: none !important;
	box-shadow: 0 4px 12px rgba(16, 26, 21, 0.04);
}
.fc-mhome-news-thumb {
	flex: 0 0 3.75rem;
	width: 3.75rem;
	height: 3.75rem;
	border-radius: 0.65rem;
	overflow: hidden;
	background: #e8eee9;
}
.fc-mhome-news-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fc-mhome-news-thumb--ph {
	background: linear-gradient(135deg, #e8eee9, #dfe7e2);
}
.fc-mhome-news-body {
	min-width: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
.fc-mhome-news-title {
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--mh-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fc-mhome-news-date {
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--mh-muted);
}

.fc-mhome-spacer {
	height: 1rem;
}

/* Mobile home — Video */
.fc-mhome-video-desc {
	margin: -0.15rem 0 0.75rem;
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--mh-muted, #5c6b63);
}
.fc-mhome-video-frame {
	position: relative;
	border-radius: var(--mh-radius, 1rem);
	overflow: hidden;
	border: 1px solid #e4ebe6;
	background: linear-gradient(135deg, #e8f3eb 0%, #d8ebe0 48%, #cfe6d6 100%);
	box-shadow: 0 12px 28px rgba(16, 26, 21, 0.1);
	aspect-ratio: 16 / 9;
}
.fc-mhome-video-el {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: linear-gradient(135deg, #e8f3eb 0%, #d8ebe0 48%, #cfe6d6 100%);
}
.fc-mhome-video-iframe {
	position: absolute;
	inset: 0;
}
.fc-mhome-video-iframe iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Mobile home — Partner logos */
.fc-mhome-partners-sub {
	margin: -0.15rem 0 0.75rem;
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--mh-muted, #5c6b63);
}
.fc-mhome-partners .fc-mhscroll-wrap {
	margin: 0;
}
.fc-mhome-partners-rail {
	display: flex;
	gap: 0.55rem;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	margin: 0 calc(-1 * var(--mh-pad, 1rem));
	padding: 0.1rem var(--mh-pad, 1rem) 0.2rem;
}
.fc-mhome-partners-rail::-webkit-scrollbar {
	display: none;
}
.fc-mhome-partner-chip {
	flex: 0 0 auto;
	scroll-snap-align: start;
	display: grid;
	place-items: center;
	min-width: 7.5rem;
	height: 4.25rem;
	padding: 0.55rem 0.85rem;
	border-radius: 0.85rem;
	border: 1px solid #e4ebe6;
	background: #fff;
	box-shadow: 0 6px 16px rgba(16, 26, 21, 0.05);
}
.fc-mhome-partner-chip a,
.fc-mhome-partner-inner {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
}
.fc-mhome-partner-chip img {
	display: block;
	max-width: 6.25rem;
	max-height: 2.65rem;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(0.15);
	opacity: 0.92;
}

/* Home app ending: content-height partners, no dead viewport before tabbar. */
@media (max-width: 849px) {
	body.fc-has-mhome .fc-mhome {
		min-height: 0 !important;
		height: auto !important;
	}
	body.fc-has-mhome .fc-mhome-main {
		min-height: 0 !important;
		padding-bottom: 0 !important;
	}
	body.fc-has-mhome .fc-mhome-partners {
		min-height: 0 !important;
		height: auto !important;
		margin-bottom: 0 !important;
		padding-bottom: 0.65rem !important;
	}
	body.fc-has-mhome .fc-mhome-partners + .fc-mhome-spacer {
		display: none !important;
		height: 0 !important;
	}
}

/* Bottom tab bar */
.fc-mhome-tabbar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10040;
	display: grid;
	grid-template-columns: repeat(var(--fc-mtab-count, 5), minmax(0, 1fr));
	gap: 0;
	min-height: var(--mh-tab-h);
	padding: 0.35rem 0.25rem calc(0.35rem + env(safe-area-inset-bottom, 0px));
	background: rgba(255, 255, 255, 0.96);
	border-top: 1px solid #e4ebe6;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: 0 -8px 24px rgba(16, 26, 21, 0.08);
}
.fc-mhome-tab {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.15rem;
	padding: 0.3rem 0.15rem;
	text-decoration: none !important;
	color: var(--mh-muted) !important;
	border-radius: 0.65rem;
	min-width: 0;
}
.fc-mhome-tab-ico {
	display: grid;
	place-items: center;
	width: 1.65rem;
	height: 1.65rem;
	color: inherit;
}
.fc-mhome-tab-ico svg {
	width: 1.2rem;
	height: 1.2rem;
}
.fc-mhome-tab-ico svg [stroke] {
	stroke: currentColor !important;
}
.fc-mhome-tab-ico svg [fill]:not([fill="none"]) {
	fill: currentColor !important;
}
.fc-mhome-tab-label {
	font-size: 0.62rem;
	font-weight: 750;
	line-height: 1.15;
	text-align: center;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.fc-mhome-tab.is-active {
	color: var(--mh-brand) !important;
}
/*
 * Call tab = same line-icon language as Home / Sản phẩm / Dịch vụ / Tin tức.
 * No solid FAB circle — brand stroke phone only.
 */
.fc-mhome-tab--call,
.fc-mhome-tab--call .fc-mhome-tab-ico,
.fc-mhome-tab--call .fc-mhome-tab-label {
	color: inherit !important;
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	width: auto;
	height: auto;
	margin: 0 !important;
	transform: none !important;
}
.fc-mhome-tab--call .fc-mhome-tab-ico {
	width: 1.65rem !important;
	height: 1.65rem !important;
	border-radius: 0 !important;
}
.fc-mhome-tab--call .fc-mhome-tab-ico svg {
	width: 1.2rem !important;
	height: 1.2rem !important;
}

/* Inner pages under app chrome: soft shell + readable type */
@media (max-width: 849px) {
	body.fc-has-mapp:not(.home) #main {
		background: var(--mh-shell, #f2f5f3);
	}
	body.fc-has-mapp:not(.home) #main > .page-wrapper,
	body.fc-has-mapp:not(.home) #main > .row,
	body.fc-has-mapp:not(.home) #content {
		max-width: 100%;
	}
	/* Soften page hero banners under fixed chrome */
	body.fc-has-mapp:not(.home) .page-title,
	body.fc-has-mapp:not(.home) .page-header {
		margin-top: 0;
	}
}

/* Narrow phones: denser chrome */
@media (max-width: 360px) {
	.fc-mhome-hero-ctas {
		grid-template-columns: 1fr;
	}
	.fc-mhome-bar-call-txt {
		display: none;
	}
	.fc-mhome-chip-value {
		max-width: 8.5rem;
	}
	.fc-mabout-cta-actions {
		grid-template-columns: 1fr;
	}
}

/* ══════════════════════════════════════════════
   Mobile About page (.fc-mabout)
   ══════════════════════════════════════════════ */
.fc-mabout {
	background: var(--mh-shell, #f2f5f3);
	color: var(--mh-ink, #1a2420);
	font-family: var(--fc-font-body, "Google Sans", system-ui, sans-serif);
	min-height: 100dvh;
	padding-bottom: calc(var(--mh-tab-h, 3.85rem) + env(safe-area-inset-bottom, 0px));
	-webkit-font-smoothing: antialiased;
}
.fc-mabout-main {
	padding: 0 0 0.5rem;
}
.fc-mabout-hero {
	position: relative;
	margin: 0 0 0.35rem;
}
.fc-mabout-hero-media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: linear-gradient(135deg, #e8f3eb 0%, #d8ebe0 48%, #cfe6d6 100%);
}
.fc-mabout-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fc-mabout-hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 20, 16, 0.1) 0%, rgba(10, 20, 16, 0.55) 100%);
	pointer-events: none;
}
.fc-mabout-hero-copy {
	position: relative;
	margin: -2.75rem var(--mh-pad, 1rem) 0;
	padding: 1.15rem 1.1rem 1.2rem;
	background: var(--mh-card, #fff);
	border: 1px solid #dfe7e2;
	border-radius: var(--mh-radius, 1rem);
	box-shadow: 0 14px 36px rgba(16, 26, 21, 0.1);
	z-index: 4;
}
.fc-mabout-section {
	padding: 1.05rem var(--mh-pad, 1rem) 0.2rem;
}
.fc-mabout-sec-head {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin-bottom: 0.75rem;
}
.fc-mabout-sec-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.85rem;
	height: 1.85rem;
	padding: 0 0.4rem;
	border-radius: 0.55rem;
	background: rgba(20, 193, 49, 0.12);
	color: var(--mh-brand, #14c131);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.04em;
	flex: 0 0 auto;
}
.fc-mabout-sec-head .fc-mhome-sec-title {
	margin: 0;
	flex: 1 1 auto;
}
.fc-mabout-media {
	border-radius: var(--mh-radius, 1rem);
	overflow: hidden;
	margin-bottom: 0.75rem;
	border: 1px solid #e4ebe6;
	box-shadow: 0 8px 22px rgba(16, 26, 21, 0.06);
	background: #e8eee9;
	aspect-ratio: 16 / 10;
}
.fc-mabout-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fc-mabout-media--side {
	aspect-ratio: 16 / 9;
}
.fc-mabout-media--vision {
	aspect-ratio: 4 / 3;
}
.fc-mabout-card {
	background: var(--mh-card, #fff);
	border: 1px solid #e4ebe6;
	border-radius: var(--mh-radius, 1rem);
	padding: 1.05rem 1rem 1.1rem;
	box-shadow: 0 10px 24px rgba(16, 26, 21, 0.05);
}
.fc-mabout-prose {
	font-size: 0.9rem;
	line-height: 1.65;
	color: var(--mh-muted, #5c6b63);
}
.fc-mabout-prose p {
	margin: 0 0 0.75rem;
	color: inherit;
}
.fc-mabout-prose p:last-child {
	margin-bottom: 0;
}
.fc-mabout-prose h3 {
	margin: 0 0 0.4rem;
	font-size: 1rem;
	font-weight: 800;
	color: var(--mh-ink, #1a2420);
}
.fc-mabout-prose strong {
	color: var(--mh-ink, #1a2420);
	font-weight: 750;
}
.fc-mabout-prose--sm {
	font-size: 0.86rem;
	line-height: 1.58;
}
.fc-mabout-expand-btn {
	display: inline-flex;
	align-items: center;
	margin-top: 0.55rem;
	padding: 0.35rem 0;
	border: 0;
	background: none;
	color: var(--mh-brand, #14c131);
	font-size: 0.82rem;
	font-weight: 750;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}
.fc-mabout-vm-grid {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.fc-mabout-vm-card {
	background: var(--mh-card, #fff);
	border: 1px solid #e4ebe6;
	border-radius: var(--mh-radius-sm, 0.75rem);
	padding: 1rem 0.95rem 1.05rem;
	box-shadow: 0 8px 20px rgba(16, 26, 21, 0.045);
}
.fc-mabout-vm-ico {
	display: grid;
	place-items: center;
	width: 2.35rem;
	height: 2.35rem;
	margin-bottom: 0.55rem;
	border-radius: 0.7rem;
	background: rgba(20, 193, 49, 0.12);
	color: var(--mh-brand, #14c131);
}
.fc-mabout-vm-ico svg {
	width: 1.15rem;
	height: 1.15rem;
}
.fc-mabout-vm-ico svg [stroke] {
	stroke: currentColor !important;
}
.fc-mabout-vm-title {
	margin: 0 0 0.4rem;
	font-size: 1rem;
	font-weight: 800;
	color: var(--mh-brand, #14c131);
	letter-spacing: -0.015em;
}
.fc-mabout-values {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.fc-mabout-value {
	background: var(--mh-card, #fff);
	border: 1px solid #e4ebe6;
	border-radius: var(--mh-radius, 1rem);
	padding: 1rem 1rem 1.05rem;
	box-shadow: 0 8px 20px rgba(16, 26, 21, 0.05);
	position: relative;
	overflow: hidden;
}
.fc-mabout-value::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(180deg, #20d942, #0e9a26);
	border-radius: 0 2px 2px 0;
}
.fc-mabout-value-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.5rem;
}
.fc-mabout-value-ico {
	display: grid;
	place-items: center;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 0.65rem;
	background: rgba(20, 193, 49, 0.12);
	color: var(--mh-brand, #14c131);
}
.fc-mabout-value-ico svg {
	width: 1.1rem;
	height: 1.1rem;
}
.fc-mabout-value-ico svg [stroke] {
	stroke: currentColor !important;
}
.fc-mabout-value-idx {
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	color: rgba(20, 193, 49, 0.55);
}
.fc-mabout-value-title {
	margin: 0 0 0.35rem;
	font-size: 1.02rem;
	font-weight: 800;
	color: var(--mh-brand, #14c131);
	letter-spacing: -0.02em;
}
.fc-mabout-value-text {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.55;
	color: var(--mh-muted, #5c6b63);
}
.fc-mabout-cta {
	background: linear-gradient(145deg, #ffffff 0%, #f3faf5 52%, #e8f6ec 100%);
	border: 1px solid #dfe7e2;
	border-radius: var(--mh-radius, 1rem);
	padding: 1.25rem 1.1rem 1.3rem;
	color: var(--mh-ink, #1a2420);
	box-shadow: 0 12px 28px rgba(16, 26, 21, 0.07);
}
.fc-mabout-cta-kicker {
	margin: 0 0 0.3rem;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #0a8f22;
}
.fc-mabout-cta-title {
	margin: 0 0 1rem;
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--mh-brand, #14c131) !important;
	-webkit-text-fill-color: var(--mh-brand, #14c131) !important;
}
.fc-mabout-cta-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
	align-items: stretch;
}
.fc-mabout-cta-actions .fc-mabout-cta-primary {
	grid-column: 1 / -1;
}
/* Single clean pills — kill double ring / soft margin leak on dark CTA card */
.fc-mabout-cta-actions .fc-mhome-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	width: 100% !important;
	min-height: 2.65rem !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0.55rem 0.9rem !important;
	border-radius: 999px !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em;
	line-height: 1.2;
	box-sizing: border-box !important;
	text-decoration: none !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	outline: none !important;
	transform: none;
	filter: none;
}
.fc-mabout-cta-actions .fc-mhome-btn::before,
.fc-mabout-cta-actions .fc-mhome-btn::after {
	display: none !important;
	content: none !important;
	opacity: 0 !important;
	background: none !important;
	box-shadow: none !important;
}
.fc-mabout-cta-actions .fc-mhome-btn--primary,
.fc-mabout-cta-actions .fc-mabout-cta-primary {
	background: #14c131 !important;
	background-image: linear-gradient(145deg, #20d942 0%, #14c131 52%, #0e9a26 100%) !important;
	border: 0 !important;
	box-shadow: 0 6px 16px rgba(20, 193, 49, 0.32) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}
.fc-mabout-cta-actions .fc-mhome-btn--soft {
	/* Override global soft { width:100%; margin-top:.75rem } */
	margin-top: 0 !important;
	width: 100% !important;
	background: rgba(255, 255, 255, 0.1) !important;
	background-image: none !important;
	border: 1.5px solid rgba(255, 255, 255, 0.28) !important;
	box-shadow: none !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}
.fc-mabout-cta-actions .fc-mhome-btn--ghost {
	margin-top: 0 !important;
	width: 100% !important;
	background: rgba(255, 255, 255, 0.06) !important;
	background-image: none !important;
	border: 1.5px solid rgba(255, 255, 255, 0.28) !important;
	box-shadow: none !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}
.fc-mabout-cta-actions .fc-mhome-btn-ico {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.1rem;
	height: 1.1rem;
	line-height: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
}
.fc-mabout-cta-actions .fc-mhome-btn-ico svg {
	width: 1.05rem;
	height: 1.05rem;
	display: block;
}
.fc-mabout-cta-actions .fc-mhome-btn--primary .fc-mhome-btn-ico,
.fc-mabout-cta-actions .fc-mhome-btn--primary svg {
	color: #fff !important;
}
.fc-mabout-cta-actions .fc-mhome-btn--primary svg [stroke] {
	stroke: currentColor !important;
}
.fc-mabout-cta-actions .fc-mhome-btn--primary svg [fill]:not([fill="none"]) {
	fill: currentColor !important;
}
.fc-mabout-cta-actions .fc-mhome-btn:active {
	transform: scale(0.98);
	filter: brightness(0.97);
}
@media (max-width: 849px) {
	body.fc-has-mabout #wrapper {
		background: var(--mh-shell, #f2f5f3) !important;
	}
}

/* ══════════════════════════════════════════════
   Mobile Products listing (.fc-mproducts)
   ══════════════════════════════════════════════ */
.fc-mproducts {
	background: var(--mh-shell, #f2f5f3);
	color: var(--mh-ink, #1a2420);
	font-family: var(--fc-font-body, "Google Sans", system-ui, sans-serif);
	min-height: 100dvh;
	padding-bottom: calc(var(--mh-tab-h, 3.85rem) + env(safe-area-inset-bottom, 0px));
	-webkit-font-smoothing: antialiased;
}
.fc-mproducts-main {
	padding: 0 0 0.5rem;
}
/* Compact hero — less vertical waste on listing */
.fc-mprod-hero {
	position: relative;
	margin: 0 0 0.15rem;
}
.fc-mprod-hero-media {
	position: relative;
	aspect-ratio: 2.35 / 1;
	max-height: 9.5rem;
	overflow: hidden;
	background: linear-gradient(135deg, #e8f3eb 0%, #d8ebe0 48%, #cfe6d6 100%);
}
.fc-mprod-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fc-mprod-hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 20, 16, 0.05) 0%, rgba(10, 20, 16, 0.45) 100%);
	pointer-events: none;
}
.fc-mprod-hero-copy {
	position: relative;
	margin: 0 var(--mh-pad, 1rem);
	padding: 0.95rem 1rem 0.9rem;
	background: var(--mh-card, #fff);
	border: 1px solid #dfe7e2;
	border-radius: var(--mh-radius, 1rem);
	box-shadow: 0 10px 26px rgba(16, 26, 21, 0.08);
	z-index: 4;
}
.fc-mprod-hero-copy.has-media {
	margin-top: -1.65rem;
}
.fc-mprod-hero-copy .fc-mhome-title {
	margin: 0.1rem 0 0.25rem;
	font-size: 1.35rem;
	line-height: 1.25;
}
.fc-mprod-hero-copy .fc-mhome-kicker {
	margin: 0 0 0.15rem;
}
.fc-mprod-count-line {
	margin: 0 !important;
	font-size: 0.88rem;
}
.fc-mprod-count {
	font-weight: 800;
	color: var(--mh-brand, #14c131);
}
.fc-mprod-sub-sep {
	margin: 0 0.25rem;
	opacity: 0.5;
}

/* ── Sticky filter — mini flat panel (no nested trays) ── */
.fc-mprod-sticky {
	position: sticky;
	top: var(--fc-mapp-top-h, 3.5rem);
	z-index: 20;
	background: rgba(248, 251, 249, 0.92);
	backdrop-filter: blur(16px) saturate(1.1);
	-webkit-backdrop-filter: blur(16px) saturate(1.1);
	border-bottom: 1px solid transparent;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
	padding: 0.35rem var(--mh-pad, 1rem) 0.4rem;
}
.fc-mprod-sticky.is-stuck {
	border-bottom-color: rgba(16, 26, 21, 0.05);
	box-shadow: 0 8px 18px rgba(16, 26, 21, 0.05);
}
body.fc-mapp-top-hidden .fc-mprod-sticky {
	top: 0;
}
/* Search + sort — flat, no rounded border tray */
.fc-mprod-panel {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 0;
	border-radius: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

/* Category chips — no outer tray; free row + swipe guide */
.fc-mprod-chips-wrap {
	position: relative;
	margin: 0 0 0.35rem;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	border-radius: 0;
}
.fc-mprod-chips {
	display: flex;
	gap: 0.32rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 0.05rem 1.35rem 0.2rem 0.05rem;
	scroll-snap-type: x proximity;
	/* No mask here — fade handled by .fc-mprod-chips-fade so guide stays visible */
}
.fc-mprod-chips::-webkit-scrollbar {
	display: none;
}
.fc-mprod-chip {
	flex: 0 0 auto;
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.22rem;
	min-height: 1.75rem;
	padding: 0.24rem 0.58rem;
	border-radius: 999px;
	border: 0;
	background: #eef3f0;
	color: #5c6b63;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	cursor: pointer;
	box-shadow: none;
	transition: background 0.15s ease, color 0.15s ease;
	white-space: nowrap;
	scroll-snap-align: start;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	-webkit-appearance: none;
	appearance: none;
}
.fc-mprod-chip-txt {
	line-height: 1.15;
	font-weight: 600;
}
.fc-mprod-chip-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0.95rem;
	height: 0.9rem;
	padding: 0 0.22rem;
	border-radius: 999px;
	background: rgba(16, 26, 21, 0.06);
	color: #7a8a81;
	font-size: 0.58rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}
.fc-mprod-chip.is-active {
	background: rgba(20, 193, 49, 0.14);
	border: 0;
	color: #0a8f22;
	padding-left: 0.55rem;
	box-shadow: none;
}
.fc-mprod-chip.is-active::before {
	display: none;
}
.fc-mprod-chip.is-active .fc-mprod-chip-txt {
	color: #0a8f22;
	font-weight: 700;
}
.fc-mprod-chip.is-active .fc-mprod-chip-count {
	background: rgba(20, 193, 49, 0.14);
	color: #0a8f22;
}
.fc-mprod-chip:active {
	transform: none;
}

/* Right fade + chevron: only when more content to the right */
.fc-mprod-chips-fade {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 1.15rem; /* leave room for guide bar */
	width: 2.4rem;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(248, 251, 249, 0) 0%, rgba(248, 251, 249, 0.92) 55%, rgba(248, 251, 249, 1) 100%);
	opacity: 0;
	transition: opacity 0.2s ease;
	z-index: 2;
}
.fc-mprod-chips-nudge {
	position: absolute;
	top: 0.15rem;
	right: 0.05rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.55rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.95);
	color: #14c131;
	box-shadow: 0 1px 4px rgba(16, 26, 21, 0.1);
	pointer-events: none;
	opacity: 0;
	transform: translateX(0.15rem);
	transition: opacity 0.2s ease, transform 0.2s ease;
	z-index: 3;
}
.fc-mprod-chips-nudge svg {
	display: block;
	width: 0.85rem;
	height: 0.85rem;
}
/* Swipe guide bar under chips */
.fc-mprod-chips-guide {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0.12rem 0.1rem 0;
	min-height: 0.85rem;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}
.fc-mprod-chips-guide-track {
	position: relative;
	flex: 1 1 auto;
	height: 3px;
	border-radius: 999px;
	background: rgba(16, 26, 21, 0.08);
	overflow: hidden;
}
.fc-mprod-chips-guide-thumb {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 36%;
	border-radius: inherit;
	background: linear-gradient(90deg, #14c131 0%, #1ed93d 100%);
	transition: left 0.08s linear, width 0.15s ease;
}
.fc-mprod-chips-guide-label {
	flex: 0 0 auto;
	font-size: 0.58rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #8a9a91;
	white-space: nowrap;
	line-height: 1;
}
/* Visible when rail can scroll further right */
.fc-mprod-chips-wrap.is-scrollable:not(.is-at-end) .fc-mprod-chips-fade,
.fc-mprod-chips-wrap.is-scrollable:not(.is-at-end) .fc-mprod-chips-nudge,
.fc-mprod-chips-wrap.is-scrollable:not(.is-at-end) .fc-mprod-chips-guide {
	opacity: 1;
}
.fc-mprod-chips-wrap.is-scrollable:not(.is-at-end) .fc-mprod-chips-nudge {
	animation: fc-mprod-nudge 1.4s ease-in-out infinite;
}
.fc-mprod-chips-wrap.is-scrollable.is-at-end .fc-mprod-chips-guide {
	opacity: 0.45;
}
.fc-mprod-chips-wrap.is-scrollable.is-at-end .fc-mprod-chips-guide-label {
	visibility: hidden;
}
@keyframes fc-mprod-nudge {
	0%,
	100% {
		transform: translateX(0.12rem);
	}
	50% {
		transform: translateX(-0.08rem);
	}
}

/* Search + sort — shared toolbar, flat */
.fc-mprod-toolbar {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: 0;
}
/* Search — size follows text; room for Vietnamese diacritics */
.fc-mprod-search {
	--fc-mprod-search-pad: 0.18rem;
	--fc-mprod-search-btn: 2.15rem;
	display: flex;
	align-items: center;
	gap: 0.35rem;
	width: 100%;
	min-height: 2.65rem;
	height: auto;
	padding: 0.28rem var(--fc-mprod-search-pad) 0.28rem 0.7rem;
	margin: 0;
	border-radius: 999px;
	border: 1px solid rgba(16, 26, 21, 0.1);
	background: #f4f7f5;
	box-shadow: none;
	box-sizing: border-box;
	/* visible so accents (ả, ế, …) are not clipped */
	overflow: visible;
	transition: background 0.18s ease, border-color 0.18s ease;
}
.fc-mprod-search:focus-within {
	background: #fff;
	border-color: rgba(20, 193, 49, 0.32);
	box-shadow: none;
}
.fc-mprod-search-lead {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	align-self: center;
	line-height: 0;
}
.fc-mprod-search-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.05rem;
	height: 1.05rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #8a9a91;
	box-shadow: none;
	line-height: 0;
}
.fc-mprod-search:focus-within .fc-mprod-search-ico {
	color: #0a8f22;
	border: 0;
	box-shadow: none;
}
.fc-mprod-search-ico svg {
	display: block;
	width: 1.05rem;
	height: 1.05rem;
	flex-shrink: 0;
}
.fc-mprod-search input {
	flex: 1 1 auto;
	min-width: 0;
	align-self: center;
	height: auto !important;
	min-height: 1.45rem;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0.1rem 0.2rem !important;
	margin: 0 !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	letter-spacing: 0;
	/* 1.45 keeps Vietnamese diacritics above/below baseline */
	line-height: 1.45 !important;
	color: #14201a !important;
	overflow: visible !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}
.fc-mprod-search input[type="search"]::-webkit-search-decoration,
.fc-mprod-search input[type="search"]::-webkit-search-cancel-button,
.fc-mprod-search input[type="search"]::-webkit-search-results-button,
.fc-mprod-search input[type="search"]::-webkit-search-results-decoration {
	display: none;
	-webkit-appearance: none;
}
.fc-mprod-search input::placeholder {
	color: #9aa8a0 !important;
	font-weight: 500 !important;
	opacity: 1 !important;
	font-size: 0.9rem !important;
	line-height: 1.45 !important;
}
.fc-mprod-search input:focus {
	outline: none !important;
}
.fc-mprod-search-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.3rem !important;
	height: 1.3rem !important;
	min-width: 1.3rem !important;
	min-height: 1.3rem !important;
	border: 0 !important;
	border-radius: 999px;
	background: rgba(16, 26, 21, 0.06);
	color: #5c6b63;
	cursor: pointer;
	flex: 0 0 auto;
	align-self: center;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 0;
	-webkit-appearance: none !important;
	appearance: none !important;
}
.fc-mprod-search-clear-x {
	font-size: 0.9rem;
	line-height: 1;
}
.fc-mprod-search-clear[hidden] {
	display: none !important;
}
/* Go btn — sized to text, not oversized vs label */
.fc-mprod-search-go {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: var(--fc-mprod-search-btn) !important;
	height: var(--fc-mprod-search-btn) !important;
	min-width: var(--fc-mprod-search-btn) !important;
	min-height: var(--fc-mprod-search-btn) !important;
	max-width: var(--fc-mprod-search-btn) !important;
	max-height: var(--fc-mprod-search-btn) !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #14c131 !important;
	color: #fff !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
	line-height: 1.2 !important;
	text-transform: uppercase;
	cursor: pointer;
	flex: 0 0 auto !important;
	align-self: center !important;
	box-shadow: none !important;
	overflow: visible;
	-webkit-tap-highlight-color: transparent;
	-webkit-appearance: none !important;
	appearance: none !important;
	transition: background 0.15s ease, opacity 0.15s ease;
}
.fc-mprod-search-go-label {
	line-height: 1.2 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: visible;
}
.fc-mprod-search:focus-within .fc-mprod-search-go,
.fc-mprod-search.is-filled .fc-mprod-search-go {
	background: #14c131 !important;
	border-color: transparent !important;
	color: #fff !important;
	box-shadow: none !important;
}
.fc-mprod-search-go:active {
	transform: none;
	opacity: 0.9;
}

/* Sort — text larger, accents not clipped; bg fits content */
.fc-mprod-sorts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: center;
	gap: 0;
	width: 100%;
	padding: 0.18rem;
	border-radius: 999px;
	background: #f2f5f3;
	border: 1px solid rgba(16, 26, 21, 0.05);
	box-shadow: none;
	box-sizing: border-box;
	overflow: visible;
}
.fc-mprod-sort {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.28rem;
	width: 100%;
	min-width: 0;
	height: auto;
	min-height: 2.2rem;
	padding: 0.38rem 0.4rem;
	margin: 0;
	border-radius: 999px;
	border: 0;
	background: transparent;
	color: #6b7a72;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.4;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	transition: background 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
	position: relative;
	box-sizing: border-box;
	box-shadow: none;
	overflow: visible;
	-webkit-appearance: none;
	appearance: none;
	vertical-align: middle;
}
.fc-mprod-sort-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 0.95rem;
	height: 0.95rem;
	color: inherit;
	opacity: 0.78;
	line-height: 0;
}
.fc-mprod-sort-ico svg {
	display: block;
	width: 0.95rem;
	height: 0.95rem;
	flex-shrink: 0;
}
.fc-mprod-sort-txt {
	display: inline-block;
	line-height: 1.4;
	white-space: nowrap;
	overflow: visible;
	text-overflow: clip;
	max-width: 100%;
	text-align: center;
	/* no transform — avoids clipping diacritics */
}
/* Active pill */
.fc-mprod-sort.is-active {
	background: #fff;
	border: 0;
	color: #0a8f22;
	font-weight: 700;
	box-shadow: 0 1px 2px rgba(16, 26, 21, 0.06);
}
.fc-mprod-sort.is-active .fc-mprod-sort-ico {
	opacity: 1;
	color: #14c131;
}
.fc-mprod-sort.is-active .fc-mprod-sort-txt {
	color: #0a8f22;
	font-weight: 700;
}
.fc-mprod-sort:active {
	transform: none;
	opacity: 0.85;
}
@media (max-width: 360px) {
	.fc-mprod-panel {
		padding: 0;
		border-radius: 0;
		gap: 0.28rem;
	}
	.fc-mprod-sorts {
		padding: 0.14rem;
	}
	.fc-mprod-sort {
		font-size: 0.72rem;
		min-height: 2.05rem;
		gap: 0.18rem;
		padding: 0.32rem 0.28rem;
	}
	.fc-mprod-sort-ico,
	.fc-mprod-sort-ico svg {
		width: 0.85rem;
		height: 0.85rem;
	}
	.fc-mprod-chip {
		font-size: 0.62rem;
		min-height: 1.5rem;
		padding: 0.16rem 0.42rem;
	}
	.fc-mprod-search {
		min-height: 2.5rem;
		padding-left: 0.55rem;
	}
	.fc-mprod-search input,
	.fc-mprod-search input::placeholder {
		font-size: 0.84rem !important;
	}
	.fc-mprod-search-go {
		--fc-mprod-search-btn: 2rem;
		font-size: 0.66rem !important;
		width: 2rem !important;
		height: 2rem !important;
		min-width: 2rem !important;
		min-height: 2rem !important;
		max-width: 2rem !important;
		max-height: 2rem !important;
	}
}

/* Product cards list */
.fc-mprod-list-section {
	padding: 0.55rem var(--mh-pad, 1rem) 0.25rem;
}
.fc-mprod-list {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	min-height: 4rem;
	transition: opacity 0.2s ease;
}
.fc-mprod-list.is-loading {
	opacity: 0.55;
	pointer-events: none;
}
.fc-mprod-card {
	background: var(--mh-card, #fff);
	border: 1px solid #e4ebe6;
	border-radius: var(--mh-radius, 1rem);
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(16, 26, 21, 0.06);
}
.fc-mprod-card-link {
	display: block;
	text-decoration: none !important;
	color: inherit !important;
}
.fc-mprod-card-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	background: #e8eee9;
	overflow: hidden;
}
.fc-mprod-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fc-mprod-card-ph {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #e8eee9, #dfe7e2);
}
.fc-mprod-card-badge {
	position: absolute;
	left: 0.65rem;
	top: 0.65rem;
	max-width: calc(100% - 1.3rem);
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	background: rgba(10, 20, 16, 0.72);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 750;
	letter-spacing: 0.02em;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.fc-mprod-card-body {
	display: flex;
	flex-direction: column;
	gap: 0.28rem;
	padding: 0.85rem 0.9rem 0.95rem;
}
.fc-mprod-card-title {
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.015em;
	color: var(--mh-ink, #1a2420);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fc-mprod-card-cap {
	font-size: 0.8rem;
	font-weight: 750;
	color: var(--mh-brand, #14c131);
}
.fc-mprod-card-hl {
	font-size: 0.78rem;
	line-height: 1.4;
	color: var(--mh-muted, #5c6b63);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fc-mprod-card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-top: 0.4rem;
	padding-top: 0.55rem;
	border-top: 1px solid #eef3ef;
}
.fc-mprod-card-price {
	display: flex;
	flex-direction: column;
	gap: 0.08rem;
	min-width: 0;
	font-size: 0.92rem;
	font-weight: 800;
	color: var(--mh-brand-dark, #0a8f22);
	line-height: 1.2;
}
.fc-mprod-card-price strong {
	font-weight: 800;
	word-break: break-word;
}
.fc-mprod-card-price-label {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mh-muted, #5c6b63);
}
.fc-mprod-card-price.is-contact {
	font-size: 0.82rem;
	font-weight: 750;
	color: var(--mh-muted, #5c6b63);
}
.fc-mprod-card-cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	background: rgba(20, 193, 49, 0.12);
	color: var(--mh-brand-dark, #0a8f22);
	font-size: 0.72rem;
	font-weight: 800;
}
.fc-mprod-empty {
	margin: 0;
	padding: 2rem 1rem;
	text-align: center;
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--mh-muted, #5c6b63);
	background: #fff;
	border: 1px dashed #dfe7e2;
	border-radius: var(--mh-radius, 1rem);
}
.fc-mprod-more-wrap {
	display: flex;
	justify-content: center;
	padding: 1rem 0 0.35rem;
}
.fc-mprod-more {
	min-width: 10rem;
}
.fc-mprod-more.is-loading {
	opacity: 0.65;
	pointer-events: none;
}
/* Light brand help card (no dark carbon wash) */
.fc-mprod-help {
	padding: 0.85rem var(--mh-pad, 1rem) 0.25rem;
}
.fc-mprod-help-card {
	background: linear-gradient(145deg, #ffffff 0%, #f2faf4 100%);
	border: 1px solid #dfe7e2;
	border-radius: var(--mh-radius, 1rem);
	padding: 1.1rem 1rem 1.15rem;
	color: var(--mh-ink, #1a2420);
	box-shadow: 0 10px 24px rgba(16, 26, 21, 0.05);
}
.fc-mprod-help-kicker {
	margin: 0 0 0.2rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mh-brand-dark, #0a8f22);
}
.fc-mprod-help-text {
	margin: 0 0 0.85rem;
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--mh-muted, #5c6b63);
}
.fc-mprod-help-actions {
	display: grid;
	grid-template-columns: 1.25fr 0.9fr;
	gap: 0.5rem;
	align-items: stretch;
}
/* Single clean brand pills — kill double ring / soft margin leak */
.fc-mprod-help-actions .fc-mhome-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	width: 100% !important;
	min-height: 2.65rem !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0.55rem 0.9rem !important;
	border-radius: 999px !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em;
	line-height: 1.2;
	box-sizing: border-box !important;
	text-decoration: none !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	outline: none !important;
	transform: none;
	filter: none;
}
.fc-mprod-help-actions .fc-mhome-btn::before,
.fc-mprod-help-actions .fc-mhome-btn::after {
	display: none !important;
	content: none !important;
	opacity: 0 !important;
	background: none !important;
	box-shadow: none !important;
}
.fc-mprod-help-actions .fc-mhome-btn--primary {
	background: #14c131 !important;
	background-image: linear-gradient(145deg, #20d942 0%, #14c131 52%, #0e9a26 100%) !important;
	border: 0 !important;
	box-shadow: 0 6px 14px rgba(20, 193, 49, 0.24) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}
.fc-mprod-help-actions .fc-mhome-btn--soft {
	/* Override global .fc-mhome-btn--soft { width:100%; margin-top:.75rem } */
	margin-top: 0 !important;
	width: 100% !important;
	background: #fff !important;
	background-image: none !important;
	border: 1.5px solid rgba(20, 193, 49, 0.45) !important;
	box-shadow: 0 2px 8px rgba(16, 26, 21, 0.04) !important;
	color: #0a8f22 !important;
	-webkit-text-fill-color: #0a8f22 !important;
}
.fc-mprod-help-actions .fc-mhome-btn-ico {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.1rem;
	height: 1.1rem;
	line-height: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
}
.fc-mprod-help-actions .fc-mhome-btn-ico svg {
	width: 1.05rem;
	height: 1.05rem;
	display: block;
}
.fc-mprod-help-actions .fc-mhome-btn--primary .fc-mhome-btn-ico,
.fc-mprod-help-actions .fc-mhome-btn--primary svg {
	color: #fff !important;
}
.fc-mprod-help-actions .fc-mhome-btn--primary svg [stroke] {
	stroke: currentColor !important;
}
.fc-mprod-help-actions .fc-mhome-btn--primary svg [fill]:not([fill="none"]) {
	fill: currentColor !important;
}
.fc-mprod-help-actions .fc-mhome-btn:active {
	transform: scale(0.98);
	filter: brightness(0.97);
}
@media (max-width: 849px) {
	body.fc-has-mproducts #wrapper {
		background: var(--mh-shell, #f2f5f3) !important;
	}
}
@media (max-width: 360px) {
	.fc-mprod-help-actions {
		grid-template-columns: 1fr;
	}
}
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ══════════════════════════════════════════════
   Mobile Phụ tùng listing (.fc-mparts)
   Aligns with products mobile filter language.
   ══════════════════════════════════════════════ */
.fc-mparts {
	background: var(--mh-shell, #f2f5f3);
	color: var(--mh-ink, #1a2420);
	font-family: var(--fc-font-body, "Google Sans", system-ui, sans-serif);
	min-height: 100dvh;
	padding-bottom: calc(var(--mh-tab-h, 3.85rem) + env(safe-area-inset-bottom, 0px));
	-webkit-font-smoothing: antialiased;
}
.fc-mparts-main {
	padding: 0 0 0.5rem;
}
.fc-mparts-hero-media {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: linear-gradient(135deg, #e8f3eb 0%, #d8ebe0 48%, #cfe6d6 100%);
}
.fc-mparts-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fc-mparts-hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 20, 16, 0.1) 0%, rgba(10, 20, 16, 0.5) 100%);
	pointer-events: none;
}
.fc-mparts-hero-copy {
	margin: 0 var(--mh-pad, 1rem);
	padding: 0.9rem 0.95rem 0.95rem;
	background: var(--mh-card, #fff);
	border: 1px solid #dfe7e2;
	border-radius: 0.95rem;
	box-shadow: 0 10px 28px rgba(16, 26, 21, 0.08);
}
.fc-mparts-hero-copy.has-media {
	margin-top: -2.2rem;
	position: relative;
	z-index: 2;
}
.fc-mparts-hero:not(:has(.fc-mparts-hero-media)) .fc-mparts-hero-copy {
	margin-top: 0.75rem;
}
.fc-mparts-count {
	font-weight: 800;
	color: var(--mh-brand, #14c131);
}
.fc-mparts-sep {
	margin: 0 0.25rem;
	opacity: 0.5;
}
/* Sticky filter shell */
.fc-mparts-sticky {
	position: sticky;
	top: var(--fc-mapp-top-h, 3.5rem);
	z-index: 20;
	padding: 0.45rem var(--mh-pad, 1rem) 0.35rem;
	background: rgba(242, 245, 243, 0.97);
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
body.fc-mapp-top-hidden .fc-mparts-sticky {
	top: 0;
}
.fc-mparts-chips-wrap,
.fc-mparts-subchips-wrap {
	position: relative;
	margin: 0 0 0.35rem;
	padding: 0;
}
.fc-mparts-chips {
	display: flex;
	gap: 0.32rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 0.05rem 1.2rem 0.15rem 0.05rem;
}
.fc-mparts-chips::-webkit-scrollbar {
	display: none;
}
.fc-mparts-chip {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 0.28rem;
	min-height: 1.75rem;
	padding: 0.22rem 0.58rem;
	border-radius: 999px;
	border: 0;
	background: #eef3f0;
	color: #5c6b63 !important;
	font-size: 0.7rem;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
}
.fc-mparts-chip-txt {
	line-height: 1.2;
}
.fc-mparts-chip-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0.95rem;
	height: 0.9rem;
	padding: 0 0.22rem;
	border-radius: 999px;
	background: rgba(16, 26, 21, 0.06);
	color: #7a8a81;
	font-size: 0.58rem;
	font-weight: 700;
	line-height: 1;
}
.fc-mparts-chip.is-active {
	background: rgba(20, 193, 49, 0.14);
	color: #0a8f22 !important;
}
.fc-mparts-chip.is-active .fc-mparts-chip-count {
	background: rgba(20, 193, 49, 0.16);
	color: #0a8f22;
}
.fc-mparts-chip.is-sub {
	background: #f4f8f5;
}
.fc-mparts-chips-fade {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 2.2rem;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(242, 245, 243, 0) 0%, rgba(242, 245, 243, 0.95) 70%, #f2f5f3 100%);
	opacity: 0;
}
.fc-mparts-chips-nudge {
	position: absolute;
	top: 50%;
	right: 0.05rem;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.4rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.95);
	color: #14c131;
	box-shadow: 0 1px 4px rgba(16, 26, 21, 0.1);
	pointer-events: none;
	opacity: 0;
}
.fc-mparts-chips-wrap.is-scrollable:not(.is-at-end) .fc-mparts-chips-fade,
.fc-mparts-chips-wrap.is-scrollable:not(.is-at-end) .fc-mparts-chips-nudge {
	opacity: 1;
}
.fc-mparts-panel {
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}
.fc-mparts-toolbar {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.fc-mparts-form {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
/* Search — same language as product .fc-mprod-search */
.fc-mparts-search {
	--fc-mparts-search-btn: 2.15rem;
	display: flex;
	align-items: center;
	gap: 0.35rem;
	width: 100%;
	min-height: 2.65rem;
	height: auto;
	padding: 0.28rem 0.18rem 0.28rem 0.7rem;
	margin: 0;
	border-radius: 999px;
	border: 1px solid rgba(16, 26, 21, 0.1);
	background: #f4f7f5;
	box-shadow: none;
	box-sizing: border-box;
	overflow: visible;
	transition: background 0.18s ease, border-color 0.18s ease;
}
.fc-mparts-search:focus-within {
	background: #fff;
	border-color: rgba(20, 193, 49, 0.32);
}
.fc-mparts-search-lead {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	line-height: 0;
}
.fc-mparts-search-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.05rem;
	height: 1.05rem;
	color: #8a9a91;
	line-height: 0;
}
.fc-mparts-search:focus-within .fc-mparts-search-ico {
	color: #0a8f22;
}
.fc-mparts-search-ico svg {
	width: 1.05rem;
	height: 1.05rem;
	display: block;
	flex-shrink: 0;
}
.fc-mparts-search input {
	flex: 1 1 auto;
	min-width: 0;
	align-self: center;
	height: auto !important;
	min-height: 1.45rem;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0.1rem 0.2rem !important;
	margin: 0 !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
	color: #14201a !important;
	overflow: visible !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}
.fc-mparts-search input[type="search"]::-webkit-search-decoration,
.fc-mparts-search input[type="search"]::-webkit-search-cancel-button,
.fc-mparts-search input[type="search"]::-webkit-search-results-button,
.fc-mparts-search input[type="search"]::-webkit-search-results-decoration {
	display: none;
	-webkit-appearance: none;
}
.fc-mparts-search input::placeholder {
	color: #9aa8a0 !important;
	font-weight: 500 !important;
	opacity: 1 !important;
	font-size: 0.9rem !important;
}
.fc-mparts-search input:focus {
	outline: none !important;
}
/* Compact “Tìm” circle — never wrap multi-word labels */
.fc-mparts-search-go {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: var(--fc-mparts-search-btn) !important;
	height: var(--fc-mparts-search-btn) !important;
	min-width: var(--fc-mparts-search-btn) !important;
	min-height: var(--fc-mparts-search-btn) !important;
	max-width: var(--fc-mparts-search-btn) !important;
	max-height: var(--fc-mparts-search-btn) !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #14c131 !important;
	color: #fff !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
	line-height: 1.2 !important;
	text-transform: uppercase;
	cursor: pointer;
	flex: 0 0 auto !important;
	overflow: hidden;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	-webkit-tap-highlight-color: transparent;
}
.fc-mparts-search-go-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.2 !important;
	white-space: nowrap;
	max-width: 100%;
	overflow: hidden;
	text-overflow: clip;
}
/* Filter selects — always 1 horizontal row (product sort language).
   Never stack vertically: real phones often report width ≤360px. */
.fc-mparts-selects {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch;
	gap: 0.2rem;
	width: 100%;
	padding: 0.16rem;
	border-radius: 999px;
	background: #f2f5f3;
	border: 1px solid rgba(16, 26, 21, 0.05);
	box-sizing: border-box;
}
.fc-mparts-select {
	display: block;
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
}
.fc-mparts-select select {
	display: block;
	width: 100%;
	min-width: 0;
	min-height: 2.1rem;
	height: 2.1rem;
	padding: 0 1.15rem 0 0.4rem;
	margin: 0;
	border: 0 !important;
	border-radius: 999px;
	background-color: transparent !important;
	font-size: 0.68rem !important;
	font-weight: 650 !important;
	line-height: 1.2 !important;
	color: #6b7a72 !important;
	box-shadow: none !important;
	cursor: pointer;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%236b7a72' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 0.35rem center !important;
	background-size: 0.65rem !important;
}
.fc-mparts-select.is-active select,
.fc-mparts-select select:focus {
	background-color: #fff !important;
	color: #0a8f22 !important;
	font-weight: 700 !important;
	outline: none !important;
	box-shadow: 0 1px 2px rgba(16, 26, 21, 0.06) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%230a8f22' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 0.35rem center !important;
	background-size: 0.65rem !important;
}
.fc-mparts-select select option {
	color: #14201a;
	font-weight: 600;
}
.fc-mparts-list-section {
	padding: 0.65rem var(--mh-pad, 1rem) 0.25rem;
}
.fc-mparts-list {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}
.fc-mpart-card {
	background: var(--mh-card, #fff);
	border: 1px solid #e4ebe6;
	border-radius: 0.9rem;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(16, 26, 21, 0.04);
}
.fc-mpart-card-link {
	display: grid;
	grid-template-columns: 6.75rem 1fr;
	text-decoration: none !important;
	color: inherit !important;
	min-height: 6.75rem;
}
.fc-mpart-card-media {
	position: relative;
	background: #eef3ef;
	overflow: hidden;
}
.fc-mpart-card-media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, #f4f7f5, #e8eee9);
}
.fc-mpart-card-ph {
	display: grid;
	place-items: center;
	position: absolute;
	inset: 0;
	color: rgba(20, 193, 49, 0.45);
	background: linear-gradient(145deg, #eef4f0, #e4ebe6);
}
.fc-mpart-card-status {
	position: absolute;
	left: 0.35rem;
	top: 0.35rem;
	z-index: 1;
	padding: 0.18rem 0.4rem;
	border-radius: 999px;
	background: rgba(10, 20, 16, 0.72);
	color: #fff;
	font-size: 0.58rem;
	font-weight: 750;
	line-height: 1.2;
	max-width: calc(100% - 0.7rem);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.fc-mpart-card-status.is-in_stock {
	background: rgba(14, 154, 38, 0.9);
}
.fc-mpart-card-status.is-out_of_stock {
	background: rgba(120, 40, 40, 0.88);
}
.fc-mpart-card-body {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.65rem 0.7rem 0.7rem;
	min-width: 0;
}
.fc-mpart-card-brand {
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mh-brand, #14c131);
}
.fc-mpart-card-title {
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.015em;
	color: var(--mh-ink, #1a2420);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fc-mpart-card-meta {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--mh-muted, #5c6b63);
	line-height: 1.3;
}
.fc-mpart-card-app {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fc-mpart-card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.4rem;
	margin-top: auto;
	padding-top: 0.35rem;
}
.fc-mpart-card-price {
	font-size: 0.82rem;
	font-weight: 800;
	color: var(--mh-brand-dark, #0a8f22);
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.fc-mpart-card-price.is-contact {
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--mh-muted, #5c6b63);
}
.fc-mpart-card-cta {
	flex: 0 0 auto;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	background: rgba(20, 193, 49, 0.12);
	color: var(--mh-brand-dark, #0a8f22);
	font-size: 0.68rem;
	font-weight: 800;
}
.fc-mparts-empty {
	padding: 1.75rem 1rem;
	text-align: center;
	background: #fff;
	border: 1px dashed #dfe7e2;
	border-radius: var(--mh-radius, 1rem);
}
.fc-mparts-empty strong {
	display: block;
	font-size: 0.95rem;
	margin-bottom: 0.35rem;
}
.fc-mparts-empty p {
	margin: 0;
	font-size: 0.85rem;
	color: var(--mh-muted, #5c6b63);
}
.fc-mparts-pagination {
	padding: 1rem 0 0.25rem;
	display: flex;
	justify-content: center;
}
.fc-mparts-pagination .nav-links,
.fc-mparts-pagination .pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	justify-content: center;
}
.fc-mparts-pagination a,
.fc-mparts-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.2rem;
	min-height: 2.2rem;
	padding: 0.3rem 0.55rem;
	border-radius: 0.65rem;
	border: 1px solid #e4ebe6;
	background: #fff;
	font-size: 0.8rem;
	font-weight: 750;
	color: var(--mh-ink, #1a2420) !important;
	text-decoration: none !important;
}
.fc-mparts-pagination .current {
	background: var(--mh-brand, #14c131) !important;
	border-color: var(--mh-brand, #14c131) !important;
	color: #fff !important;
}
.fc-mparts-help {
	padding: 0.85rem var(--mh-pad, 1rem) 0.25rem;
}
.fc-mparts-help-card {
	background: linear-gradient(145deg, #ffffff 0%, #f3faf5 52%, #e8f6ec 100%);
	border: 1px solid #dfe7e2;
	border-radius: var(--mh-radius, 1rem);
	padding: 1.15rem 1.05rem 1.2rem;
	color: var(--mh-ink, #1a2420);
	box-shadow: 0 12px 28px rgba(16, 26, 21, 0.07);
}
.fc-mparts-help-kicker {
	margin: 0 0 0.25rem;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #0a8f22;
}
.fc-mparts-help-text {
	margin: 0 0 0.9rem;
	font-size: 0.9rem;
	line-height: 1.45;
	color: #5c6b63;
}
.fc-mparts-help-card .fc-mhome-btn {
	width: 100%;
	min-height: 2.4rem;
	height: 2.4rem;
	border-radius: 999px;
	font-size: 0.78rem;
	padding: 0 0.7rem;
	box-shadow: 0 4px 12px rgba(20, 193, 49, 0.22);
}
@media (max-width: 849px) {
	body.fc-has-mparts #wrapper,
	body.fc-has-mpart #wrapper {
		background: var(--mh-shell, #f2f5f3) !important;
	}
}

/* ══════════════════════════════════════════════
   Mobile Phụ tùng single (.fc-mpart)
   ══════════════════════════════════════════════ */
.fc-mpart {
	background: var(--mh-shell, #f2f5f3);
	color: var(--mh-ink, #1a2420);
	font-family: var(--fc-font-body, "Google Sans", system-ui, sans-serif);
	min-height: 100dvh;
	/* tabbar + sticky CTA */
	padding-bottom: calc(var(--mh-tab-h, 3.85rem) + 4.1rem + env(safe-area-inset-bottom, 0px));
	-webkit-font-smoothing: antialiased;
}
.fc-mpart-gallery {
	position: relative;
	aspect-ratio: 4 / 3;
	background: #eef3ef;
	overflow: hidden;
}
.fc-mpart-gallery img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	background: linear-gradient(160deg, #f4f7f5, #e8eee9);
}
.fc-mpart-gallery-link {
	display: block;
	width: 100%;
	height: 100%;
}
.fc-mpart-gallery-empty {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: rgba(20, 193, 49, 0.4);
}
.fc-mpart-gallery-shade {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 55%, rgba(10, 20, 16, 0.12) 100%);
}
.fc-mpart-info {
	margin: -2rem var(--mh-pad, 1rem) 0;
	position: relative;
	z-index: 2;
	padding: 0.9rem 0.95rem 0.95rem;
	background: var(--mh-card, #fff);
	border: 1px solid #dfe7e2;
	border-radius: 0.95rem;
	box-shadow: 0 10px 28px rgba(16, 26, 21, 0.08);
}
.fc-mpart-back {
	display: inline-flex;
	margin-bottom: 0.4rem;
	font-size: 0.76rem;
	font-weight: 700;
	color: var(--mh-brand, #14c131) !important;
	text-decoration: none !important;
}
.fc-mpart-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.28rem;
	margin-bottom: 0.4rem;
}
.fc-mpart-tag {
	display: inline-flex;
	padding: 0.2rem 0.5rem;
	border-radius: 999px;
	background: rgba(20, 193, 49, 0.12);
	color: var(--mh-brand-dark, #0a8f22) !important;
	font-size: 0.66rem;
	font-weight: 700;
	text-decoration: none !important;
	line-height: 1.25;
}
.fc-mpart-stock {
	display: inline-flex;
	margin-bottom: 0.35rem;
	padding: 0.2rem 0.5rem;
	border-radius: 999px;
	background: #eef3f0;
	font-size: 0.66rem;
	font-weight: 800;
	color: var(--mh-muted, #5c6b63);
	line-height: 1.25;
}
.fc-mpart-stock.is-in_stock {
	background: rgba(20, 193, 49, 0.12);
	color: var(--mh-brand-dark, #0a8f22);
}
.fc-mpart-stock.is-out_of_stock {
	background: rgba(180, 40, 40, 0.1);
	color: #a02828;
}
.fc-mpart-title {
	margin: 0 0 0.35rem;
	font-size: clamp(1.1rem, 4.6vw, 1.32rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--mh-brand, #14c131);
}
.fc-mpart-excerpt {
	margin: 0 0 0.55rem;
	font-size: 0.84rem;
	line-height: 1.55;
	color: var(--mh-muted, #5c6b63);
}
.fc-mpart-price {
	margin: 0 0 0.7rem;
	display: flex;
	flex-direction: column;
	gap: 0.08rem;
}
.fc-mpart-price-label {
	font-size: 0.64rem;
	font-weight: 750;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mh-muted, #5c6b63);
}
.fc-mpart-price strong {
	font-size: 1.12rem;
	font-weight: 800;
	line-height: 1.25;
	color: var(--mh-brand-dark, #0a8f22);
}
.fc-mpart-specs {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0 0 0.75rem;
	padding: 0.65rem 0.7rem;
	background: #f6f9f7;
	border-radius: 0.75rem;
	border: 1px solid #e8eee9;
}
/* Equal CTA grid — same language as product */
.fc-mpart-cta-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.4rem;
	margin: 0;
	align-items: stretch;
}
.fc-mpart-cta-grid .fc-mpart-cta,
.fc-mpart-cta-grid .fc-mhome-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	width: 100%;
	min-width: 0;
	min-height: 2.35rem;
	height: 2.35rem;
	padding: 0 0.45rem;
	margin: 0;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1.2;
	box-sizing: border-box;
	text-decoration: none !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	box-shadow: none;
}
.fc-mpart-cta-grid .fc-mhome-btn--primary {
	box-shadow: 0 4px 12px rgba(20, 193, 49, 0.2);
}
.fc-mpart-cta-grid .fc-mhome-btn--soft {
	width: 100%;
	margin-top: 0;
	background: #fff;
	border: 1.5px solid rgba(20, 193, 49, 0.45);
	color: #0a8f22 !important;
}
.fc-mpart-cta--ghost {
	background: #fff;
	border: 1px solid rgba(16, 26, 21, 0.08);
	color: #2a3830 !important;
}
.fc-mpart-cta-ico,
.fc-mpart-cta-grid .fc-mhome-btn-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 999px;
	line-height: 0;
}
.fc-mpart-cta--ghost .fc-mpart-cta-ico {
	background: rgba(20, 193, 49, 0.12);
	color: var(--mh-brand, #14c131);
}
.fc-mpart-cta-ico svg,
.fc-mpart-cta-grid .fc-mhome-btn-ico svg {
	width: 0.85rem;
	height: 0.85rem;
	display: block;
}
.fc-mpart-section {
	padding: 0.85rem var(--mh-pad, 1rem) 0.2rem;
}
.fc-mpart-sec-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.55rem;
}
.fc-mpart-sec-head .fc-mhome-sec-title {
	margin: 0;
	font-size: 1.02rem;
}
.fc-mpart-sec-head.is-spaced {
	margin-top: 0.85rem;
}
/* Prose box — do NOT reuse .fc-mpart-card (listing card grid) */
.fc-mpart-prose-box {
	background: #fff;
	border: 1px solid #e4ebe6;
	border-radius: 0.9rem;
	padding: 0.85rem 0.9rem;
	box-shadow: 0 4px 14px rgba(16, 26, 21, 0.04);
}
.fc-mpart-features {
	margin: 0;
	padding: 0.8rem 0.9rem 0.8rem 1.25rem;
	background: #fff;
	border: 1px solid #e4ebe6;
	border-radius: 0.9rem;
	box-shadow: 0 4px 14px rgba(16, 26, 21, 0.04);
}
.fc-mpart-features li {
	margin: 0 0 0.35rem;
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--mh-ink, #1a2420);
}
.fc-mpart-features li:last-child {
	margin-bottom: 0;
}
.fc-mpart-related {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.fc-mpart-spec {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	font-size: 0.82rem;
	line-height: 1.35;
}
.fc-mpart-spec-label {
	color: var(--mh-muted, #5c6b63);
	font-weight: 650;
	flex: 0 1 45%;
}
.fc-mpart-spec-value {
	color: var(--mh-ink, #1a2420);
	font-weight: 750;
	text-align: right;
	flex: 1 1 55%;
}
.fc-mpart-prose {
	font-size: 0.88rem;
	line-height: 1.6;
	color: var(--mh-muted, #5c6b63);
}
.fc-mpart-prose p {
	margin: 0 0 0.55rem;
}
.fc-mpart-prose p:last-child {
	margin-bottom: 0;
}
/* .fc-mpart-sticky-cta — shared equal CTA styles with .fc-mproduct-sticky-cta */
@media (min-width: 850px) {
	.fc-mpart-sticky-cta {
		display: none !important;
	}
}
@media (max-width: 360px) {
	/* Keep filter row horizontal even on small phones (was stacking → ugly tall pill) */
	.fc-mparts-selects {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 0.15rem;
		padding: 0.12rem;
	}
	.fc-mparts-select select {
		min-height: 1.95rem;
		height: 1.95rem;
		font-size: 0.62rem !important;
		padding: 0 1rem 0 0.3rem;
	}
	.fc-mpart-card-link {
		grid-template-columns: 6.25rem 1fr;
	}
}

/* ══════════════════════════════════════════════
   Mobile Product detail (.fc-mproduct)
   ══════════════════════════════════════════════ */
.fc-mproduct {
	background: var(--mh-shell, #f2f5f3);
	color: var(--mh-ink, #1a2420);
	font-family: var(--fc-font-body, "Google Sans", system-ui, sans-serif);
	min-height: 100dvh;
	padding-bottom: calc(var(--mh-tab-h, 3.85rem) + 3.6rem + env(safe-area-inset-bottom, 0px));
	-webkit-font-smoothing: antialiased;
}
.fc-mproduct-main {
	padding: 0 0 0.5rem;
}
.fc-mproduct-hero-slider {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: linear-gradient(135deg, #e8f3eb 0%, #d8ebe0 48%, #cfe6d6 100%);
}
.fc-mproduct-hero-track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	height: 100%;
}
.fc-mproduct-hero-track::-webkit-scrollbar {
	display: none;
}
.fc-mproduct-hero-slide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	height: 100%;
}
.fc-mproduct-hero-slide img,
.fc-mproduct-hero-ph {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fc-mproduct-hero-ph {
	background: linear-gradient(135deg, #e8f3eb 0%, #d8ebe0 48%, #cfe6d6 100%);
}
.fc-mproduct-hero-shade {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(10, 20, 16, 0.05) 40%, rgba(10, 20, 16, 0.35) 100%);
	z-index: 1;
}
.fc-mproduct-hero-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2.6rem;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.32rem;
	pointer-events: none;
}
/* Equal small rounds (match product gallery / page-dot language) */
.fc-mproduct-hero-dot {
	width: 0.4rem !important;
	height: 0.4rem !important;
	min-width: 0.4rem !important;
	min-height: 0.4rem !important;
	max-width: 0.4rem !important;
	max-height: 0.4rem !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.45) !important;
	box-shadow: none !important;
	transform: none !important;
	flex: 0 0 auto;
	transition: background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}
.fc-mproduct-hero-dot.is-on {
	width: 0.4rem !important;
	height: 0.4rem !important;
	background: var(--mh-brand, #14c131) !important;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.55), 0 2px 6px rgba(20, 193, 49, 0.4) !important;
	transform: scale(1.15) !important;
}
.fc-mproduct-hero-copy {
	position: relative;
	z-index: 2;
	margin: -2rem var(--mh-pad, 1rem) 0;
	padding: 0.9rem 0.95rem 0.95rem;
	background: var(--mh-card, #fff);
	border: 1px solid #dfe7e2;
	border-radius: 0.95rem;
	box-shadow: 0 10px 28px rgba(16, 26, 21, 0.08);
}
.fc-mproduct-back {
	display: inline-flex;
	margin-bottom: 0.4rem;
	font-size: 0.76rem;
	font-weight: 700;
	color: var(--mh-brand, #14c131) !important;
	text-decoration: none !important;
}
.fc-mproduct-badge {
	display: inline-flex;
	margin-bottom: 0.35rem;
	padding: 0.22rem 0.55rem;
	border-radius: 999px;
	background: rgba(20, 193, 49, 0.12);
	color: var(--mh-brand-dark, #0a8f22);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	line-height: 1.25;
}
.fc-mproduct-title {
	margin: 0 0 0.28rem;
	font-size: clamp(1.15rem, 4.8vw, 1.38rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--mh-brand, #14c131);
}
.fc-mproduct-cap {
	margin: 0 0 0.4rem;
	font-size: 0.88rem;
	font-weight: 800;
	line-height: 1.35;
	color: var(--mh-brand, #14c131);
}
.fc-mproduct-intro {
	margin: 0 0 0.6rem;
	font-size: 0.84rem;
	line-height: 1.55;
	color: var(--mh-muted, #5c6b63);
}
.fc-mproduct-price {
	margin: 0 0 0.7rem;
	display: flex;
	flex-direction: column;
	gap: 0.08rem;
}
.fc-mproduct-price-label {
	font-size: 0.64rem;
	font-weight: 750;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mh-muted, #5c6b63);
}
.fc-mproduct-price strong {
	font-size: 1.12rem;
	font-weight: 800;
	line-height: 1.25;
	color: var(--mh-brand-dark, #0a8f22);
}
.fc-mproduct-price.is-contact strong {
	font-size: 0.95rem;
	color: var(--mh-muted, #5c6b63);
}
/* 4 action buttons — equal 2×2 grid, same size */
.fc-mproduct-cta-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.4rem;
	margin-bottom: 0.15rem;
	align-items: stretch;
}
.fc-mproduct-cta-grid .fc-mproduct-cta,
.fc-mproduct-cta-grid .fc-mhome-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	width: 100%;
	min-width: 0;
	min-height: 2.35rem;
	height: 2.35rem;
	padding: 0 0.45rem;
	margin: 0;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.2;
	box-sizing: border-box;
	text-decoration: none !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
	transition: transform 0.12s ease, background 0.15s ease, border-color 0.15s ease;
}
.fc-mproduct-cta-grid .fc-mhome-btn--primary {
	background: linear-gradient(145deg, #20d942 0%, #14c131 50%, #0e9a26 100%);
	color: #fff !important;
	border: 0;
	box-shadow: 0 4px 12px rgba(20, 193, 49, 0.2);
}
.fc-mproduct-cta-grid .fc-mhome-btn--soft {
	background: #fff;
	border: 1.5px solid rgba(20, 193, 49, 0.45);
	color: #0a8f22 !important;
	width: 100%;
	margin-top: 0;
}
.fc-mproduct-cta--ghost {
	background: #fff;
	border: 1px solid rgba(16, 26, 21, 0.08);
	color: #2a3830 !important;
	box-shadow: 0 1px 3px rgba(16, 26, 21, 0.04);
}
.fc-mproduct-cta-grid .fc-mhome-btn-ico,
.fc-mproduct-cta-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 999px;
	line-height: 0;
}
.fc-mproduct-cta--ghost .fc-mproduct-cta-ico {
	background: rgba(20, 193, 49, 0.12);
	color: var(--mh-brand, #14c131);
}
.fc-mproduct-cta-grid .fc-mhome-btn-ico svg,
.fc-mproduct-cta-ico svg {
	display: block;
	width: 0.85rem;
	height: 0.85rem;
}
.fc-mproduct-cta-grid .fc-mproduct-cta:active,
.fc-mproduct-cta-grid .fc-mhome-btn:active {
	transform: scale(0.97);
}

/* Jump tabs — sticky fully BELOW app header (never covered) */
.fc-mproduct-jump {
	position: sticky;
	/* Use measured header height; --fc-mapp-jump-top set by JS for show/hide sync */
	top: var(--fc-mapp-jump-top, var(--fc-mapp-top-h, 3.5rem));
	z-index: 40;
	padding: 0.45rem 0 0.4rem;
	background: #f2f5f3;
	border: 0;
	border-bottom: 1px solid rgba(16, 26, 21, 0.06);
	box-shadow: 0 8px 16px rgba(16, 26, 21, 0.05);
	isolation: isolate;
	/* Match header slide so tabs never sit under animating header */
	transition: top 0.28s ease;
}
/* Solid mask above bar so page text can’t peek at header join */
.fc-mproduct-jump::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: 16px;
	background: #f2f5f3;
	pointer-events: none;
}
/* When header slides away, jump rides up to top:0 in sync */
body.fc-mapp-top-hidden .fc-mproduct-jump {
	top: 0;
}
.fc-mproduct-jump-rail {
	position: relative;
	z-index: 1;
	display: flex;
	gap: 0.32rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 0 var(--mh-pad, 1rem);
	background: #f2f5f3;
}
.fc-mproduct-jump-rail::-webkit-scrollbar {
	display: none;
}
.fc-mproduct-jump-chip {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 1.85rem;
	height: 1.85rem;
	padding: 0 0.7rem;
	border-radius: 999px;
	border: 1px solid rgba(16, 26, 21, 0.08);
	background: #fff;
	color: #4a5a52 !important;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.25;
	text-decoration: none !important;
	box-shadow: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
}
.fc-mproduct-jump-chip:active {
	background: #eef3f0;
}
.fc-mproduct-jump-chip.is-active {
	background: rgba(20, 193, 49, 0.14);
	border-color: rgba(20, 193, 49, 0.35);
	color: #0a8f22 !important;
}
.fc-mproduct-section {
	padding: 0.85rem var(--mh-pad, 1rem) 0.2rem;
}
.fc-mproduct-sec-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.55rem;
}
.fc-mproduct-sec-head .fc-mhome-sec-title {
	margin: 0;
}
.fc-mproduct-section > .fc-mhome-sec-title {
	margin: 0 0 0.55rem;
	font-size: 1.02rem;
	font-weight: 800;
	letter-spacing: -0.015em;
	line-height: 1.3;
}
.fc-mproduct-card {
	background: #fff;
	border: 1px solid #e4ebe6;
	border-radius: 0.9rem;
	padding: 0.85rem 0.9rem;
	box-shadow: 0 4px 14px rgba(16, 26, 21, 0.04);
}
.fc-mproduct-prose {
	font-size: 0.88rem;
	line-height: 1.6;
	color: var(--mh-muted, #5c6b63);
}
.fc-mproduct-prose p {
	margin: 0 0 0.55rem;
}
.fc-mproduct-prose p:last-child {
	margin-bottom: 0;
}
.fc-mproduct-prose--sm {
	font-size: 0.84rem;
	line-height: 1.55;
}
/* ══════════════════════════════════════════════
   Sitewide mobile prose expand (Đọc thêm / Rút gọn)
   Product class names kept as aliases.
   Not used on home / news / blog templates.
   ══════════════════════════════════════════════ */
.fc-mprose-expand,
.fc-mproduct-prose-expand {
	position: relative;
}
.fc-mprose-expand-body,
.fc-mproduct-prose-expand-body {
	/* Default: full content visible. Only collapse when JS adds .is-collapsed
	   (avoids permanent clip if JS fails / measures late on part detail). */
	overflow: visible;
	max-height: none;
	transition: max-height 0.35s ease;
}
.fc-mprose-expand.is-collapsed .fc-mprose-expand-body,
.fc-mproduct-prose-expand.is-collapsed .fc-mproduct-prose-expand-body,
.fc-mprose-expand.is-collapsed .fc-mproduct-prose-expand-body,
.fc-mproduct-prose-expand.is-collapsed .fc-mprose-expand-body {
	overflow: hidden;
	/* Fallback height; JS overrides via inline style from data-fc-prose-limit */
	max-height: 12.5rem;
	mask-image: linear-gradient(180deg, #000 0%, #000 52%, transparent 100%);
	-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 52%, transparent 100%);
}
.fc-mprose-expand.is-open .fc-mprose-expand-body,
.fc-mproduct-prose-expand.is-open .fc-mproduct-prose-expand-body,
.fc-mprose-expand.is-open .fc-mproduct-prose-expand-body,
.fc-mproduct-prose-expand.is-open .fc-mprose-expand-body {
	overflow: visible;
	max-height: none !important;
	mask-image: none;
	-webkit-mask-image: none;
}
.fc-mproduct-function-copy.fc-mproduct-prose-expand,
.fc-mproduct-function-copy.fc-mprose-expand {
	margin-bottom: 0.55rem;
}
.fc-mproduct-specs-expand .fc-mprose-toggle,
.fc-mproduct-specs-expand .fc-mproduct-prose-toggle {
	margin-top: 0.45rem;
}
.fc-mprose-toggle,
.fc-mproduct-prose-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	width: 100%;
	margin-top: 0.55rem;
	padding: 0.45rem 0.5rem 0.1rem;
	border: 0;
	background: transparent;
	color: #0a8f22;
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.01em;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	appearance: none;
	-webkit-appearance: none;
}
.fc-mprose-expand.is-collapsed .fc-mprose-toggle,
.fc-mprose-expand.is-open .fc-mprose-toggle,
.fc-mproduct-prose-expand.is-collapsed .fc-mproduct-prose-toggle,
.fc-mproduct-prose-expand.is-open .fc-mproduct-prose-toggle,
.fc-mprose-expand.is-collapsed .fc-mproduct-prose-toggle,
.fc-mprose-expand.is-open .fc-mproduct-prose-toggle,
.fc-mproduct-prose-expand.is-collapsed .fc-mprose-toggle,
.fc-mproduct-prose-expand.is-open .fc-mprose-toggle {
	display: inline-flex;
}
.fc-mprose-toggle-less,
.fc-mproduct-prose-toggle-less {
	display: none;
}
.fc-mprose-expand.is-open .fc-mprose-toggle-more,
.fc-mproduct-prose-expand.is-open .fc-mproduct-prose-toggle-more,
.fc-mprose-expand.is-open .fc-mproduct-prose-toggle-more,
.fc-mproduct-prose-expand.is-open .fc-mprose-toggle-more {
	display: none;
}
.fc-mprose-expand.is-open .fc-mprose-toggle-less,
.fc-mproduct-prose-expand.is-open .fc-mproduct-prose-toggle-less,
.fc-mprose-expand.is-open .fc-mproduct-prose-toggle-less,
.fc-mproduct-prose-expand.is-open .fc-mprose-toggle-less {
	display: inline;
}
.fc-mprose-toggle::after,
.fc-mproduct-prose-toggle::after {
	content: "";
	width: 0.4rem;
	height: 0.4rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-0.1em);
	margin-left: 0.1rem;
}
.fc-mprose-expand.is-open .fc-mprose-toggle::after,
.fc-mproduct-prose-expand.is-open .fc-mproduct-prose-toggle::after,
.fc-mprose-expand.is-open .fc-mproduct-prose-toggle::after,
.fc-mproduct-prose-expand.is-open .fc-mprose-toggle::after {
	transform: rotate(-135deg) translateY(0.05em);
}
.fc-mproduct-hl {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.fc-mproduct-hl-card {
	background: #fff;
	border: 1px solid #e4ebe6;
	border-radius: 0.9rem;
	padding: 0.8rem 0.85rem 0.85rem;
	box-shadow: 0 4px 14px rgba(16, 26, 21, 0.04);
}
.fc-mproduct-hl-title {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.4rem;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.35;
	color: var(--mh-ink, #1a2420);
}
.fc-mproduct-hl-num {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5rem;
	height: 1.5rem;
	padding: 0 0.28rem;
	border-radius: 0.45rem;
	background: rgba(20, 193, 49, 0.12);
	color: var(--mh-brand, #14c131);
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.fc-mproduct-bullets {
	margin: 0;
	padding: 0.8rem 0.9rem 0.8rem 1.25rem;
	background: #fff;
	border: 1px solid #e4ebe6;
	border-radius: 0.9rem;
	box-shadow: 0 4px 14px rgba(16, 26, 21, 0.04);
}
.fc-mproduct-bullets li {
	margin: 0 0 0.35rem;
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--mh-ink, #1a2420);
}
.fc-mproduct-bullets li:last-child {
	margin-bottom: 0;
}
/* HL card images: full-width tile when 1, scroll when many */
.fc-mproduct-hl-card .fc-mproduct-hscroll {
	display: flex;
	gap: 0.45rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	margin: 0.55rem 0 0;
	padding: 0;
}
.fc-mproduct-hl-card .fc-mproduct-hscroll::-webkit-scrollbar {
	display: none;
}
.fc-mproduct-hl-card .fc-mproduct-shot {
	flex: 0 0 auto;
	width: min(100%, 16rem);
	min-width: min(100%, 12rem);
	display: block;
	aspect-ratio: 16 / 10;
	border-radius: 0.7rem;
	overflow: hidden;
	border: 1px solid #e4ebe6;
	background: #eef3ef;
}
.fc-mproduct-hl-card .fc-mproduct-hscroll:has(> :only-child) .fc-mproduct-shot {
	width: 100%;
	min-width: 100%;
}
.fc-mproduct-hscroll {
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	margin: 0.55rem calc(-1 * var(--mh-pad, 1rem)) 0;
	padding: 0 var(--mh-pad, 1rem) 0.1rem;
}
.fc-mproduct-hscroll::-webkit-scrollbar {
	display: none;
}
.fc-mproduct-shot {
	flex: 0 0 10rem;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 0.7rem;
	overflow: hidden;
	border: 1px solid #e4ebe6;
	background: #eef3ef;
}
.fc-mproduct-shot--wide {
	flex-basis: 13rem;
	aspect-ratio: 16 / 10;
}
.fc-mproduct-shot img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* ══════════════════════════════════════════════
   Sitewide mobile feat carousel (content + images)
   Same UX as product «Ngoại thất» — reuse on all shells.
   ══════════════════════════════════════════════ */
.fc-mproduct-sec-hint,
.fc-mfeat-hint {
	flex: 0 0 auto;
	font-size: 0.68rem;
	font-weight: 700;
	color: #8a9a91;
	letter-spacing: 0.01em;
	white-space: nowrap;
}
.fc-mproduct-function-copy {
	padding: 0.75rem 0.85rem;
	margin-bottom: 0.55rem;
}
.fc-mproduct-function-copy.fc-mproduct-prose {
	font-size: 0.82rem;
	line-height: 1.55;
}

.fc-mfeat,
.fc-mproduct-feat {
	margin: 0 calc(-1 * var(--mh-pad, 1rem));
}
.fc-mfeat-rail,
.fc-mproduct-feat-rail {
	display: flex;
	gap: 0.55rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 0 var(--mh-pad, 1rem) 0.2rem;
	scroll-padding-inline: var(--mh-pad, 1rem);
}
.fc-mfeat-rail::-webkit-scrollbar,
.fc-mproduct-feat-rail::-webkit-scrollbar {
	display: none;
}
.fc-mfeat-card,
.fc-mproduct-feat-card {
	flex: 0 0 min(82vw, 18.5rem);
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e4ebe6;
	border-radius: 0.9rem;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(16, 26, 21, 0.05);
}
.fc-mfeat-card:only-child,
.fc-mproduct-feat-card:only-child {
	flex-basis: calc(100vw - (var(--mh-pad, 1rem) * 2));
	max-width: calc(100vw - (var(--mh-pad, 1rem) * 2));
}
.fc-mfeat-media,
.fc-mproduct-feat-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	background: #e8eee9;
	overflow: hidden;
	text-decoration: none !important;
}
.fc-mfeat-media img,
.fc-mproduct-feat-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* Product cutouts / media-only soft stage */
.fc-mfeat--contain .fc-mfeat-media {
	background: linear-gradient(160deg, #f2f6f3 0%, #e6ece8 100%);
}
.fc-mfeat--contain .fc-mfeat-media img {
	object-fit: contain;
	object-position: center;
	padding: 0.4rem;
}
.fc-mfeat--media .fc-mfeat-card {
	/* media-only: slightly wider peeks */
	flex-basis: min(78vw, 17.5rem);
}
.fc-mfeat-idx,
.fc-mproduct-feat-idx {
	position: absolute;
	top: 0.45rem;
	left: 0.45rem;
	min-width: 1.45rem;
	height: 1.45rem;
	padding: 0 0.3rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.4rem;
	background: rgba(255, 255, 255, 0.92);
	color: #0a8f22;
	font-size: 0.66rem;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 2px 8px rgba(16, 26, 21, 0.1);
	font-variant-numeric: tabular-nums;
}
.fc-mfeat-zoom,
.fc-mproduct-feat-zoom {
	position: absolute;
	right: 0.45rem;
	bottom: 0.45rem;
	width: 1.7rem;
	height: 1.7rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: #2a3830;
	box-shadow: 0 2px 8px rgba(16, 26, 21, 0.12);
	line-height: 0;
}
.fc-mfeat-zoom svg,
.fc-mproduct-feat-zoom svg {
	display: block;
	width: 0.85rem;
	height: 0.85rem;
}
.fc-mfeat-body,
.fc-mproduct-feat-body {
	padding: 0.65rem 0.75rem 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.28rem;
	min-height: 0;
}
.fc-mfeat-title,
.fc-mproduct-feat-title {
	margin: 0;
	font-size: 0.88rem;
	font-weight: 800;
	line-height: 1.35;
	color: var(--mh-ink, #1a2420);
}
.fc-mfeat-text,
.fc-mproduct-feat-text {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.5;
	color: var(--mh-muted, #5c6b63);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fc-mfeat-dots,
.fc-mproduct-feat-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.35rem;
	padding: 0.5rem 0 0.1rem;
}
/* Same small rounds as product-single gallery dots */
.fc-mfeat-dot,
.fc-mproduct-feat-dot {
	display: block !important;
	width: 0.4rem !important;
	height: 0.4rem !important;
	min-width: 0.4rem !important;
	min-height: 0.4rem !important;
	max-width: 0.4rem !important;
	max-height: 0.4rem !important;
	border-radius: 999px !important;
	background: #c9d4cd !important;
	box-shadow: none !important;
	transform: none !important;
	opacity: 1 !important;
	flex: 0 0 auto;
	font-size: 0;
	line-height: 0;
	transition: background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}
.fc-mfeat-dot.is-on,
.fc-mproduct-feat-dot.is-on {
	width: 0.4rem !important;
	height: 0.4rem !important;
	background: var(--mh-brand, #14c131) !important;
	box-shadow: 0 2px 6px rgba(20, 193, 49, 0.35) !important;
	transform: scale(1.15) !important;
}
.fc-mfeat-extra {
	display: none !important;
}

/* Legacy int stack (fallback if used elsewhere) */
.fc-mproduct-int {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.fc-mproduct-int-card {
	background: #fff;
	border: 1px solid #e4ebe6;
	border-radius: 0.9rem;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(16, 26, 21, 0.04);
}
.fc-mproduct-int-media {
	display: block;
	aspect-ratio: 16 / 10;
	background: #eef3ef;
}
.fc-mproduct-int-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fc-mproduct-int-body {
	padding: 0.75rem 0.85rem 0.85rem;
}
.fc-mproduct-int-body h3 {
	margin: 0 0 0.3rem;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.35;
	color: var(--mh-ink, #1a2420);
}
.fc-mproduct-specs {
	background: #fff;
	border: 1px solid #e4ebe6;
	border-radius: 0.9rem;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(16, 26, 21, 0.04);
}
.fc-mproduct-spec-head {
	padding: 0.55rem 0.85rem;
	background: linear-gradient(90deg, rgba(20, 193, 49, 0.12), rgba(20, 193, 49, 0.03));
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--mh-brand-dark, #0a8f22);
	line-height: 1.3;
}
.fc-mproduct-spec-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 0.55rem 0.85rem;
	border-top: 1px solid #eef3ef;
	font-size: 0.82rem;
	line-height: 1.4;
}
.fc-mproduct-spec-label {
	color: var(--mh-muted, #5c6b63);
	font-weight: 600;
	flex: 0 1 44%;
}
.fc-mproduct-spec-value {
	color: var(--mh-ink, #1a2420);
	font-weight: 700;
	text-align: right;
	flex: 1 1 56%;
}
.fc-mproduct-video {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--mh-radius, 1rem);
	overflow: hidden;
	background: linear-gradient(135deg, #e8f3eb 0%, #d8ebe0 48%, #cfe6d6 100%);
	margin-bottom: 0.7rem;
	border: 1px solid #e4ebe6;
}
.fc-mproduct-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.fc-mproduct-gal-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.45rem;
}
.fc-mproduct-gal-grid a {
	display: block;
	aspect-ratio: 1;
	border-radius: 0.65rem;
	overflow: hidden;
	background: #eef3ef;
	border: 1px solid #e4ebe6;
}
.fc-mproduct-gal-grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fc-mproduct-promo {
	background: linear-gradient(145deg, #ffffff 0%, #f3faf5 52%, #e8f6ec 100%);
	border: 1px solid #dfe7e2;
	border-radius: 0.9rem;
	padding: 0.9rem 0.95rem;
	color: var(--mh-ink, #1a2420);
	font-size: 0.86rem;
	line-height: 1.55;
	box-shadow: 0 10px 24px rgba(16, 26, 21, 0.07);
}
.fc-mproduct-promo p {
	margin: 0 0 0.55rem;
	color: var(--mh-muted, #5c6b63);
}
.fc-mproduct-promo p:last-child {
	margin-bottom: 0;
}
.fc-mproduct-promo .fc-mprose-toggle,
.fc-mproduct-promo .fc-mproduct-prose-toggle {
	color: var(--mh-brand-dark, #0a8f22);
}
.fc-mproduct-promo .fc-mprose-expand.is-collapsed .fc-mprose-expand-body,
.fc-mproduct-promo .fc-mproduct-prose-expand.is-collapsed .fc-mproduct-prose-expand-body {
	mask-image: linear-gradient(180deg, #000 0%, #000 48%, transparent 100%);
	-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 48%, transparent 100%);
}
/* Related products — compact horizontal cards (same pattern as parts “Có thể bạn quan tâm”) */
.fc-mproduct-related {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.fc-mproduct-related .fc-mprod-card {
	border-radius: 0.9rem;
	box-shadow: 0 4px 14px rgba(16, 26, 21, 0.04);
}
.fc-mproduct-related .fc-mprod-card-link {
	display: grid;
	grid-template-columns: 6.75rem 1fr;
	min-height: 6.75rem;
	align-items: stretch;
}
.fc-mproduct-related .fc-mprod-card-media {
	aspect-ratio: auto;
	height: 100%;
	min-height: 6.75rem;
	background: #eef3ef;
}
.fc-mproduct-related .fc-mprod-card-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.fc-mproduct-related .fc-mprod-card-ph {
	position: absolute;
	inset: 0;
}
.fc-mproduct-related .fc-mprod-card-badge {
	left: 0.35rem;
	top: 0.35rem;
	max-width: calc(100% - 0.7rem);
	padding: 0.18rem 0.4rem;
	font-size: 0.58rem;
}
.fc-mproduct-related .fc-mprod-card-body {
	gap: 0.2rem;
	padding: 0.65rem 0.7rem 0.7rem;
	min-width: 0;
}
.fc-mproduct-related .fc-mprod-card-title {
	font-size: 0.9rem;
	-webkit-line-clamp: 2;
}
.fc-mproduct-related .fc-mprod-card-cap {
	font-size: 0.72rem;
	font-weight: 750;
}
.fc-mproduct-related .fc-mprod-card-hl {
	font-size: 0.7rem;
	line-height: 1.3;
	-webkit-line-clamp: 1;
}
.fc-mproduct-related .fc-mprod-card-foot {
	margin-top: auto;
	padding-top: 0.35rem;
	border-top: 0;
	gap: 0.4rem;
}
.fc-mproduct-related .fc-mprod-card-price {
	font-size: 0.82rem;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.fc-mproduct-related .fc-mprod-card-price strong {
	font-size: inherit;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.fc-mproduct-related .fc-mprod-card-price-label {
	font-size: 0.62rem;
}
.fc-mproduct-related .fc-mprod-card-price.is-contact {
	font-size: 0.78rem;
	white-space: nowrap;
}
.fc-mproduct-related .fc-mprod-card-cta {
	min-height: 0;
	padding: 0.28rem 0.55rem;
	font-size: 0.68rem;
}
@media (max-width: 360px) {
	.fc-mproduct-related .fc-mprod-card-link {
		grid-template-columns: 6.25rem 1fr;
		min-height: 6.25rem;
	}
	.fc-mproduct-related .fc-mprod-card-media {
		min-height: 6.25rem;
	}
}
/* Bottom sticky CTA — equal-width buttons (Gọi | Báo giá) */
.fc-mproduct-sticky-cta,
.fc-mpart-sticky-cta,
.fc-mservice-sticky-cta,
.fc-mcontact-sticky-cta,
.fc-mrecruit-sticky-cta,
.fc-mnews-sticky-cta,
.fc-mpost-sticky-cta,
.fc-mcompare-sticky-cta,
.fc-mdealers-sticky-cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: calc(var(--mh-tab-h, 3.85rem) + env(safe-area-inset-bottom, 0px));
	/* Above page content / jump tabs; below tabbar (10040) + app bar (10050) */
	z-index: 10035;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.4rem;
	padding: 0.45rem var(--mh-pad, 1rem) 0.5rem;
	background: transparent;
	border-top: 0;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	box-shadow: none;
	align-items: stretch;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(110%);
	transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
}
.fc-mproduct-sticky-cta.is-visible,
.fc-mpart-sticky-cta.is-visible,
.fc-mservice-sticky-cta.is-visible,
.fc-mcontact-sticky-cta.is-visible,
.fc-mrecruit-sticky-cta.is-visible,
.fc-mnews-sticky-cta.is-visible,
.fc-mpost-sticky-cta.is-visible,
.fc-mcompare-sticky-cta.is-visible,
.fc-mdealers-sticky-cta.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.fc-mproduct-sticky-cta.is-visible > *,
.fc-mpart-sticky-cta.is-visible > *,
.fc-mservice-sticky-cta.is-visible > *,
.fc-mcontact-sticky-cta.is-visible > *,
.fc-mrecruit-sticky-cta.is-visible > *,
.fc-mnews-sticky-cta.is-visible > *,
.fc-mpost-sticky-cta.is-visible > *,
.fc-mcompare-sticky-cta.is-visible > *,
.fc-mdealers-sticky-cta.is-visible > * {
	pointer-events: auto;
}
.fc-mproduct-sticky-cta .fc-mhome-btn,
.fc-mpart-sticky-cta .fc-mhome-btn,
.fc-mservice-sticky-cta .fc-mhome-btn,
.fc-mcontact-sticky-cta .fc-mhome-btn,
.fc-mrecruit-sticky-cta .fc-mhome-btn,
.fc-mnews-sticky-cta .fc-mhome-btn,
.fc-mpost-sticky-cta .fc-mhome-btn,
.fc-mcompare-sticky-cta .fc-mhome-btn,
.fc-mdealers-sticky-cta .fc-mhome-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	width: 100%;
	min-height: 2.55rem;
	margin: 0;
	padding: 0.5rem 0.65rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 800;
	box-shadow: 0 6px 16px rgba(16, 26, 21, 0.1);
}
.fc-mproduct-sticky-cta .fc-mhome-btn--primary,
.fc-mpart-sticky-cta .fc-mhome-btn--primary,
.fc-mservice-sticky-cta .fc-mhome-btn--primary,
.fc-mcontact-sticky-cta .fc-mhome-btn--primary,
.fc-mrecruit-sticky-cta .fc-mhome-btn--primary,
.fc-mnews-sticky-cta .fc-mhome-btn--primary,
.fc-mpost-sticky-cta .fc-mhome-btn--primary,
.fc-mcompare-sticky-cta .fc-mhome-btn--primary,
.fc-mdealers-sticky-cta .fc-mhome-btn--primary {
	box-shadow: 0 4px 12px rgba(20, 193, 49, 0.22);
}
.fc-mproduct-sticky-cta .fc-mhome-btn--ghost,
.fc-mpart-sticky-cta .fc-mhome-btn--ghost,
.fc-mservice-sticky-cta .fc-mhome-btn--ghost,
.fc-mcontact-sticky-cta .fc-mhome-btn--ghost,
.fc-mrecruit-sticky-cta .fc-mhome-btn--ghost,
.fc-mnews-sticky-cta .fc-mhome-btn--ghost,
.fc-mpost-sticky-cta .fc-mhome-btn--ghost,
.fc-mcompare-sticky-cta .fc-mhome-btn--ghost,
.fc-mdealers-sticky-cta .fc-mhome-btn--ghost {
	border: 1.5px solid rgba(20, 193, 49, 0.4);
	background: #fff;
	color: #0a8f22 !important;
}
.fc-mproduct-sticky-cta .fc-mhome-btn-ico,
.fc-mpart-sticky-cta .fc-mhome-btn-ico,
.fc-mservice-sticky-cta .fc-mhome-btn-ico,
.fc-mcontact-sticky-cta .fc-mhome-btn-ico,
.fc-mrecruit-sticky-cta .fc-mhome-btn-ico,
.fc-mnews-sticky-cta .fc-mhome-btn-ico,
.fc-mpost-sticky-cta .fc-mhome-btn-ico,
.fc-mcompare-sticky-cta .fc-mhome-btn-ico,
.fc-mdealers-sticky-cta .fc-mhome-btn-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	flex: 0 0 auto;
}
.fc-mproduct-sticky-cta .fc-mhome-btn-ico svg,
.fc-mpart-sticky-cta .fc-mhome-btn-ico svg,
.fc-mservice-sticky-cta .fc-mhome-btn-ico svg,
.fc-mcontact-sticky-cta .fc-mhome-btn-ico svg,
.fc-mrecruit-sticky-cta .fc-mhome-btn-ico svg,
.fc-mnews-sticky-cta .fc-mhome-btn-ico svg,
.fc-mpost-sticky-cta .fc-mhome-btn-ico svg,
.fc-mcompare-sticky-cta .fc-mhome-btn-ico svg,
.fc-mdealers-sticky-cta .fc-mhome-btn-ico svg {
	width: 1rem;
	height: 1rem;
	display: block;
}
@media (min-width: 850px) {
	.fc-mproduct-sticky-cta,
	.fc-mpart-sticky-cta,
	.fc-mservice-sticky-cta,
	.fc-mcontact-sticky-cta,
	.fc-mrecruit-sticky-cta,
	.fc-mnews-sticky-cta,
	.fc-mpost-sticky-cta,
	.fc-mcompare-sticky-cta,
	.fc-mdealers-sticky-cta {
		display: none !important;
	}
}
@media (max-width: 360px) {
	.fc-mproduct-sticky-cta,
	.fc-mpart-sticky-cta,
	.fc-mservice-sticky-cta,
	.fc-mcontact-sticky-cta,
	.fc-mrecruit-sticky-cta,
	.fc-mcompare-sticky-cta,
	.fc-mdealers-sticky-cta {
		gap: 0.32rem;
		padding: 0.4rem var(--mh-pad, 1rem) 0.45rem;
	}
	.fc-mproduct-sticky-cta .fc-mhome-btn,
	.fc-mpart-sticky-cta .fc-mhome-btn,
	.fc-mservice-sticky-cta .fc-mhome-btn,
	.fc-mcontact-sticky-cta .fc-mhome-btn,
	.fc-mrecruit-sticky-cta .fc-mhome-btn,
	.fc-mcompare-sticky-cta .fc-mhome-btn,
	.fc-mdealers-sticky-cta .fc-mhome-btn {
		min-height: 2.35rem;
		font-size: 0.72rem;
	}
}
