/* HUAYI Moulding v3 — visual layer loaded after the parent theme's CSS.
   Tokens: paper / stone / ink, brand teal for actions, leaf green for hairlines and
   small marks only, night for dark bands. Manrope for text, system monospace for
   numbers and small labels. Rules that must beat the parent's precision-catalogue
   selectors use the html:root body.huayi-v3 prefix instead of !important. */

/* ---------- Tokens (also re-point the parent's variables) ---------- */
body.huayi-v3,
body.huayi-v3.huayi-range-page,
body.huayi-v3.huayi-contact-layout,
body.huayi-v3.huayi-resources-page,
body.huayi-v3.huayi-factory-page,
body.huayi-v3.single-huayi_product {
	--paper: #f5f2ec;
	--paper-2: #efebe3;
	--stone: #e6e1d8;
	--stone-2: #d9d2c5;
	--ink: #15201f;
	--ink-2: #4a5655;
	--muted: #4a5655;
	--teal: #0b6b70;
	--teal-dark: #08555a;
	--teal-deep: #08555a;
	--teal-pale: #e4eeec;
	--leaf: #6e9e78;
	--leaf-light: #8fc09a;
	--night: #10191a;
	--night-2: #1b2627;
	--night-line: rgba(255, 255, 255, 0.16);
	--on-dark: #ffffff;
	--on-dark-2: #b9c2c0;
	--soft: #f5f2ec;
	--line: #e6e1d8;
	--white: #ffffff;
	--footer: #10191a;
	--radius: 6px;
	--sans: "Manrope", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, "Roboto Mono", Menlo, monospace;
	--gutter: clamp(16px, 4vw, 64px);
	--max: 1312px;
	--grid-line: rgba(21, 32, 31, 0.07);
	background: var(--paper);
	color: var(--ink);
	font-family: var(--sans);
}
body.huayi-v3 { overflow-x: clip; }

/* ---------- Type ---------- */
body.huayi-v3 :is(h1, h2, h3, h4) { font-family: var(--sans); font-weight: 600; letter-spacing: -0.02em; color: inherit; }
body.huayi-v3 a { color: var(--teal); }
body.huayi-v3 a:hover { color: var(--teal-dark); }
body.huayi-v3 .eyebrow,
body.huayi-v3 .v2-kicker {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--teal);
	font-family: var(--mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
body.huayi-v3 .eyebrow::before,
body.huayi-v3 .v2-kicker::before { content: ""; flex: none; width: 24px; height: 1px; background: var(--leaf); }
body.huayi-v3 .text-link { color: var(--teal); font-weight: 600; text-decoration: none; }
body.huayi-v3 .text-link:hover { color: var(--teal-dark); text-decoration: underline; text-underline-offset: 3px; }
body.huayi-v3 .v3-mono { font-family: var(--mono); letter-spacing: 0; }
body.huayi-v3 :focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }

/* ---------- Buttons ---------- */
body.huayi-v3 .button,
body.huayi-v3 .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 22px;
	background: var(--teal);
	border: 1px solid var(--teal);
	border-radius: var(--radius);
	color: #fff;
	font-family: var(--sans);
	font-size: 0.94rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
body.huayi-v3 .button:hover,
body.huayi-v3 .wp-block-button__link:hover { background: var(--teal-dark); border-color: var(--teal-dark); color: #fff; }
body.huayi-v3 .button-outline,
body.huayi-v3 .is-style-outline .wp-block-button__link { background: transparent; color: var(--ink); border-color: var(--ink); }
body.huayi-v3 .button-outline:hover,
body.huayi-v3 .is-style-outline .wp-block-button__link:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
body.huayi-v3 .button-dark { background: var(--ink); border-color: var(--ink); color: #fff; }
body.huayi-v3 .button-dark:hover { background: var(--night); border-color: var(--night); }
body.huayi-v3 .button-small { min-height: 42px; padding-inline: 18px; font-size: 0.9rem; }
body.huayi-v3 .button .dashicons { width: 18px; height: 18px; font-size: 18px; }

/* ---------- Masthead: top bar + header ---------- */
/* The negative top lets the top bar (38px + 1px border) scroll away with the page while
   the main bar sticks. Folding the bar instead changed the page height, and Chrome's
   scroll anchoring then pulled the page back and forth across the scroll threshold. */
body.huayi-v3 header:has(> .v3-masthead) { position: sticky; top: -39px; z-index: 60; }
body.huayi-v3 .v3-masthead { background: var(--paper); color: var(--ink); box-shadow: 0 1px 0 var(--stone); transition: background 0.25s, color 0.25s, box-shadow 0.25s; }
body.huayi-v3 .v3-topbar { font-size: 0.8rem; border-bottom: 1px solid var(--stone); overflow: hidden; max-height: 40px; transition: max-height 0.25s, border-color 0.25s; }
body.huayi-v3 .v3-topbar-inner { width: min(var(--max), calc(100% - 2 * var(--gutter))); height: 38px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
body.huayi-v3 .v3-topbar-note { color: var(--ink-2); }
body.huayi-v3 .v3-topbar-links { display: flex; gap: 28px; margin-inline-start: auto; }
body.huayi-v3 .v3-topbar a { color: inherit; display: inline-flex; align-items: center; gap: 7px; text-decoration: none; }
body.huayi-v3 .v3-topbar a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.huayi-v3 .v3-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--leaf); }
body.huayi-v3.home .v3-masthead.is-scrolled .v3-topbar { max-height: 0; border-color: transparent; }

html:root body.huayi-v3 .site-header {
	position: relative;
	top: auto;
	background: transparent;
	border: 0;
	color: inherit;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
html:root body.huayi-v3 .header-inner { width: min(var(--max), calc(100% - 2 * var(--gutter))); height: 72px; margin: 0 auto; gap: 28px; }
body.huayi-v3 .v3-brand { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; flex: none; }
body.huayi-v3 .v3-brand:hover { color: inherit; }
body.huayi-v3 .v3-brand-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: var(--radius); background: var(--paper); transition: background 0.25s; }
html:root body.huayi-v3 .v3-brand .v3-brand-mark img { width: 32px; height: auto; margin: 0; object-fit: contain; }
html:root body.huayi-v3 .v3-brand .v3-brand-word { font-family: var(--sans); font-size: 1.19rem; font-weight: 700; letter-spacing: 0.06em; color: inherit; white-space: nowrap; }
body.huayi-v3 .v3-brand-word em { font-style: normal; font-weight: 400; letter-spacing: 0.02em; }

html:root body.huayi-v3 .main-nav { gap: 28px; font-family: var(--sans); font-size: 0.94rem; font-weight: 600; }
html:root body.huayi-v3 .main-nav > a:not(.button),
html:root body.huayi-v3 .main-nav-item > a { color: inherit; text-decoration: none; padding: 6px 0; }
html:root body.huayi-v3 .main-nav a::after { bottom: 0; height: 1px; background: var(--leaf); }
html:root body.huayi-v3 .main-nav a[aria-current="page"] { color: inherit; }
html:root body.huayi-v3 .main-nav .button { color: #fff; margin-inline-start: 4px; }
html:root body.huayi-v3 .main-nav .button::after { display: none; }
body.huayi-v3 .v3-caret { display: inline-block; width: 6px; height: 6px; margin: 0 0 3px 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
html:root body.huayi-v3 .products-submenu { background: var(--paper); border: 1px solid var(--stone); border-radius: var(--radius); box-shadow: 0 18px 40px rgba(16, 25, 26, 0.16); padding: 8px 0; }
html:root body.huayi-v3 .products-submenu a { color: var(--ink); font-size: 0.9rem; font-weight: 500; padding: 11px 18px; }
html:root body.huayi-v3 .products-submenu a:hover,
html:root body.huayi-v3 .products-submenu a:focus-visible { background: var(--stone); color: var(--teal-dark); }
html:root body.huayi-v3 .site-header .language { border-color: var(--stone); font-size: 0.85rem; }
html:root body.huayi-v3 .site-header .language a { color: var(--teal); }
html:root body.huayi-v3 .menu-button { display: none; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid currentColor; border-radius: var(--radius); background: transparent; color: inherit; cursor: pointer; }
body.huayi-v3 .v3-bars, body.huayi-v3 .v3-bars::before, body.huayi-v3 .v3-bars::after { display: block; width: 18px; height: 2px; background: currentColor; position: relative; }
body.huayi-v3 .v3-bars::before, body.huayi-v3 .v3-bars::after { content: ""; position: absolute; left: 0; }
body.huayi-v3 .v3-bars::before { top: -6px; }
body.huayi-v3 .v3-bars::after { top: 6px; }
body.huayi-v3 .menu-button[aria-expanded="true"] .v3-bars { background: transparent; }
body.huayi-v3 .menu-button[aria-expanded="true"] .v3-bars::before { top: 0; transform: rotate(45deg); }
body.huayi-v3 .menu-button[aria-expanded="true"] .v3-bars::after { top: 0; transform: rotate(-45deg); }

/* Homepage: the masthead floats over the hero photo until the page scrolls. */
body.huayi-v3.home header:has(> .v3-masthead) { position: fixed; inset: 0 0 auto; }
body.huayi-v3.home .v3-masthead:not(.is-scrolled):not(:has(.main-nav.is-open)) { background: transparent; color: #fff; box-shadow: none; }
body.huayi-v3.home .v3-masthead:not(.is-scrolled):not(:has(.main-nav.is-open)) .v3-topbar { border-color: rgba(255, 255, 255, 0.18); }
body.huayi-v3.home .v3-masthead:not(.is-scrolled):not(:has(.main-nav.is-open)) .v3-topbar-note { color: rgba(255, 255, 255, 0.85); }
body.huayi-v3.home .v3-masthead:not(.is-scrolled):not(:has(.main-nav.is-open)) .main-nav-item:not(:hover):not(:focus-within) > a { color: #fff; }
body.huayi-v3.home .v3-masthead.is-scrolled .v3-brand-mark { background: transparent; }
body.huayi-v3:not(.home) .v3-brand-mark { background: transparent; }

@media (min-width: 1101px) {
	html:root body.huayi-v3 .menu-button { display: none; }
}
@media (max-width: 1240px) and (min-width: 1101px) {
	html:root body.huayi-v3 .main-nav { gap: 20px; font-size: 0.9rem; }
	body.huayi-v3 .v3-topbar-note { display: none; }
}
@media (max-width: 1100px) {
	html:root body.huayi-v3 .menu-button { display: grid; margin-inline-start: auto; }
	html:root body.huayi-v3 .main-nav {
		top: 100%;
		max-height: calc(100dvh - 120px);
		overflow-y: auto;
		padding: 8px var(--gutter) 20px;
		background: var(--paper);
		color: var(--ink);
		border-top: 1px solid var(--stone);
		box-shadow: 0 12px 24px rgba(16, 25, 26, 0.12);
		font-size: 1.05rem;
	}
	html:root body.huayi-v3 .main-nav > a:not(.button),
	html:root body.huayi-v3 .main-nav-item,
	html:root body.huayi-v3 .main-nav .language { padding: 14px 0; border-bottom: 1px solid var(--stone); }
	html:root body.huayi-v3 .main-nav-item > a { padding: 0; }
	html:root body.huayi-v3 .main-nav a::after { display: none; }
	html:root body.huayi-v3 .products-submenu { background: transparent; border: 0; border-inline-start: 1px solid var(--leaf); border-radius: 0; box-shadow: none; margin-top: 10px; padding: 0 0 0 14px; }
	html:root body.huayi-v3 .products-submenu a { color: var(--ink-2); padding: 9px 0; font-size: 0.95rem; }
	html:root body.huayi-v3 .main-nav .button { margin: 16px 0 0; min-height: 48px; }
}
@media (max-width: 640px) {
	body.huayi-v3 header:has(> .v3-masthead) { top: -35px; }
	body.huayi-v3 .v3-topbar .v3-hide-sm { display: none; }
	body.huayi-v3 .v3-topbar { font-size: 0.75rem; }
	body.huayi-v3 .v3-topbar-inner { height: 34px; justify-content: center; }
	body.huayi-v3 .v3-topbar-note { display: none; }
	body.huayi-v3 .v3-topbar-links { margin-inline: auto; }
	html:root body.huayi-v3 .header-inner { height: 60px; gap: 10px; }
	body.huayi-v3 .v3-brand { gap: 9px; }
	body.huayi-v3 .v3-brand-mark { width: 36px; height: 36px; }
	html:root body.huayi-v3 .v3-brand .v3-brand-mark img { width: 27px; }
	html:root body.huayi-v3 .v3-brand .v3-brand-word { font-size: 1rem; }
	body.huayi-v3 .v3-brand-word em { display: none; }
	html:root body.huayi-v3 .menu-button { width: 44px; height: 44px; }
}

/* ---------- CTA band + footer ---------- */
body.huayi-v3 .v2-cta-band { background: var(--night); color: #fff; border-bottom: 1px solid var(--night-line); }
body.huayi-v3.home .v2-cta-band,
body.huayi-v3.huayi-contact-layout .v2-cta-band { display: none; }
body.huayi-v3 .v2-cta-inner { width: min(var(--max), calc(100% - 2 * var(--gutter))); margin: 0 auto; padding: 56px 0; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
body.huayi-v3 .v2-cta-band h2 { margin: 10px 0 0; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.12; color: #fff; }
body.huayi-v3 .v2-cta-band .v2-kicker { color: var(--leaf-light); margin: 0; }
body.huayi-v3 .v2-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }
body.huayi-v3 .v2-cta-band .button-outline,
body.huayi-v3 .v3-dark .button-outline { color: #fff; border-color: rgba(255, 255, 255, 0.7); background: rgba(16, 25, 26, 0.25); }
body.huayi-v3 .v2-cta-band .button-outline:hover,
body.huayi-v3 .v3-dark .button-outline:hover { background: #fff; color: var(--ink); border-color: #fff; }

html:root body.huayi-v3 .site-footer { background: var(--night); color: #fff; padding: 72px var(--gutter) 28px; font-size: 0.94rem; }
html:root body.huayi-v3 .site-footer .footer-grid { width: auto; max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 2fr repeat(3, 1fr) 1.4fr; gap: 40px; padding-bottom: 48px; }
html:root body.huayi-v3 .site-footer .footer-grid h2 { font-family: var(--mono); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--on-dark-2); margin: 0 0 16px; }
html:root body.huayi-v3 .site-footer .footer-grid > div:not(.footer-about) { display: flex; flex-direction: column; gap: 2px; }
html:root body.huayi-v3 .site-footer .footer-grid a { display: block; color: #fff; padding: 6px 0; font-size: 0.94rem; text-decoration: none; }
html:root body.huayi-v3 .site-footer .footer-grid a:hover { color: var(--leaf-light); text-decoration: underline; text-underline-offset: 3px; }
html:root body.huayi-v3 .site-footer .footer-grid > div > p { color: #fff; font-size: 0.94rem; max-width: 36ch; margin: 0; line-height: 1.6; }
html:root body.huayi-v3 .site-footer .footer-grid > div > p + p { margin-top: 10px; }
html:root body.huayi-v3 .site-footer .footer-grid .v3-muted { color: var(--on-dark-2); }
html:root body.huayi-v3 .site-footer .footer-grid a.v3-brand { display: inline-flex; padding: 0; margin-bottom: 20px; }
html:root body.huayi-v3 .site-footer .v3-brand-mark { background: var(--paper); }
html:root body.huayi-v3 .site-footer .footer-bottom { width: auto; max-width: var(--max); margin: 0 auto; padding-top: 24px; border-top: 1px solid var(--night-line); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; color: var(--on-dark-2); font-size: 0.82rem; }
html:root body.huayi-v3 .site-footer .footer-bottom a { color: var(--on-dark-2); }
@media (max-width: 1023px) {
	html:root body.huayi-v3 .site-footer .footer-grid { grid-template-columns: 1fr 1fr; }
	html:root body.huayi-v3 .site-footer .footer-about { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	html:root body.huayi-v3 .site-footer { padding-top: 56px; }
	html:root body.huayi-v3 .site-footer .footer-grid { gap: 32px 20px; }
	body.huayi-v3 .v2-cta-inner { padding: 44px 0; }
	body.huayi-v3 .v2-cta-actions { width: 100%; }
	body.huayi-v3 .v2-cta-actions .button { flex: 1 1 150px; padding-inline: 14px; }
}

/* ---------- Homepage ---------- */
body.huayi-v3 .v3-home { background: var(--paper); color: var(--ink); font-size: 1.0625rem; line-height: 1.6; }
.v3-home p, .v3-home figure { margin: 0; }
.v3-home h1, .v3-home h2, .v3-home h3 { margin: 0; line-height: 1.12; }
.v3-home img { display: block; max-width: 100%; height: auto; }
.v3-home ul, .v3-home ol { list-style: none; margin: 0; padding: 0; }
.v3-wrap, .v3-home .v3-wrap { width: 100%; max-width: calc(var(--max) + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); box-sizing: border-box; }
.v3-section { padding: clamp(72px, 9vw, 128px) 0; }
.v3-section-line { border-top: 1px solid var(--stone); }
.v3-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.v3-eyebrow::before { content: ""; flex: none; width: 28px; height: 1px; background: var(--leaf); }

/* Section head: index line, title, intro. */
.v3-sec-head { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; row-gap: 14px; align-items: end; padding-bottom: 40px; }
body.huayi-v3 .v3-index { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin: 0; color: var(--ink-2); font-family: var(--sans); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
body.huayi-v3 .v3-index::before { display: none; }
body.huayi-v3 .v3-index .v3-mono { color: var(--teal); font-size: 0.875rem; font-weight: 600; }
body.huayi-v3 .v3-index::after { content: ""; flex: 1; height: 1px; background: var(--stone); }
body.huayi-v3 .v3-index-dark { color: var(--on-dark-2); }
body.huayi-v3 .v3-index-dark .v3-mono { color: var(--leaf-light); }
body.huayi-v3 .v3-index-dark::after { background: var(--night-line); }
.v3-sec-head h2, .v3-f-text h2, .v3-expo-text h2 { font-size: clamp(30px, 3.4vw, 48px); max-width: 16ch; }
.v3-sec-intro { color: var(--ink-2); max-width: 46ch; justify-self: end; }
.v3-sec-intro a, .v3-certs a { font-weight: 600; text-decoration: none; }
.v3-sec-intro a:hover, .v3-certs a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* 1. Hero */
.v3-hero { position: relative; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; background: var(--night); overflow: hidden; }
.v3-home .v3-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 62% 60%; }
.v3-hero-shade { position: absolute; inset: 0; background:
	linear-gradient(180deg, rgba(16, 25, 26, 0.62) 0, rgba(16, 25, 26, 0) 190px),
	linear-gradient(20deg, rgba(16, 25, 26, 0.92) 8%, rgba(16, 25, 26, 0.55) 42%, rgba(16, 25, 26, 0) 70%),
	linear-gradient(0deg, rgba(16, 25, 26, 0.7) 0, rgba(16, 25, 26, 0) 38%); }
.v3-home .v3-hero-body { position: relative; padding-top: 170px; padding-bottom: 56px; }
.v3-home .v3-hero h1 { max-width: 14ch; margin-top: 20px; color: #fff; font-size: clamp(36px, 5.2vw, 76px); line-height: 1.04; }
.v3-home .v3-hero-lead { max-width: 560px; margin-top: 24px; font-size: 1.125rem; color: rgba(255, 255, 255, 0.9); }
.v3-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
body.huayi-v3 .v3-btn-ghost { color: #fff; border-color: rgba(255, 255, 255, 0.7); background: rgba(16, 25, 26, 0.25); }
body.huayi-v3 .v3-btn-ghost:hover { background: #fff; color: var(--ink); border-color: #fff; }
.v3-hero-stats { position: relative; border-top: 1px solid rgba(255, 255, 255, 0.22); background: rgba(16, 25, 26, 0.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }

/* Figure bar and the plain points shown until figures are confirmed. */
.v3-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 auto; }
.v3-stat { padding: 22px 24px 24px; border-left: 1px solid rgba(255, 255, 255, 0.18); }
.v3-stat:first-child { border-left: 0; padding-left: 0; }
.v3-stat dt { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.78); }
.v3-stat dd { margin: 8px 0 0; display: flex; align-items: baseline; flex-wrap: wrap; }
.v3-num { font-family: var(--mono); font-size: clamp(30px, 3vw, 44px); line-height: 1; letter-spacing: -0.03em; }
.v3-unit { margin-left: 8px; font-weight: 600; font-size: 1rem; color: rgba(255, 255, 255, 0.85); }
.v3-points .v3-stat { display: flex; flex-direction: column; gap: 4px; }
.v3-points .v3-stat::before { content: ""; width: 18px; height: 1px; margin-bottom: 10px; background: var(--leaf-light); }
.v3-points strong { font-size: clamp(1.05rem, 1.5vw, 1.3rem); font-weight: 600; letter-spacing: -0.01em; line-height: 1.2; }
.v3-points span { font-size: 0.94rem; color: rgba(255, 255, 255, 0.78); line-height: 1.4; }

/* 2. Product lines: hairline grid */
.v3-products { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--stone); border: 1px solid var(--stone); border-radius: var(--radius); overflow: hidden; }
.v3-product { background: var(--paper); }
body.huayi-v3 .v3-product-link { display: flex; flex-direction: column; height: 100%; color: var(--ink); text-decoration: none; }
.v3-product-img { aspect-ratio: 1 / 1; overflow: hidden; background: var(--stone); }
.v3-home .v3-product-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.v3-product-link:hover .v3-product-img img { transform: scale(1.03); }
.v3-home .v3-fp-skirting { object-position: 50% 58%; }
.v3-product-text { display: flex; flex-direction: column; gap: 6px; padding: 22px 22px 24px; flex: 1; border-top: 1px solid var(--stone); }
.v3-product-text h3 { font-size: 1.25rem; }
.v3-product-note { font-size: 0.94rem; color: var(--ink-2); }
.v3-more { margin-top: auto; padding-top: 14px; font-size: 0.94rem; font-weight: 600; color: var(--teal); }
.v3-product-link:hover .v3-more { text-decoration: underline; text-underline-offset: 3px; }

/* 3. Steps */
.v3-steps { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 32px; border-top: 1px solid var(--ink); list-style: none; margin: 0; padding: 0; }
.v3-step { padding: 24px 0 8px; }
.v3-step-img { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius); background: var(--stone); }
.v3-step-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.huayi-v3 .v3-step-no { margin: 22px 0 0; font-size: 2.5rem; line-height: 1; color: var(--teal); letter-spacing: -0.04em; }
body.huayi-v3 .v3-step h3 { margin: 14px 0 0; font-size: 1.19rem; line-height: 1.25; }
body.huayi-v3 .v3-step h3 + p { margin: 10px 0 0; color: var(--ink-2); font-size: 1rem; line-height: 1.6; }

/* 4. Factory (dark) */
.v3-dark { background: var(--night); color: #fff; }
.v3-dark h2, .v3-dark h3 { color: #fff; }
.v3-factory { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; }
.v3-factory figure { overflow: hidden; border-radius: var(--radius); background: var(--night-2); }
.v3-factory img { width: 100%; height: 100%; object-fit: cover; }
.v3-f-main { grid-row: 1 / 3; min-height: 520px; }
.v3-f-side { aspect-ratio: 3 / 2; }
.v3-f-text { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; row-gap: 16px; padding-top: 40px; }
.v3-f-copy { color: var(--on-dark-2); max-width: 52ch; }
.v3-f-copy p + p { margin-top: 14px; }
body.huayi-v3 .v3-link-light { color: #fff; font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--leaf); padding-bottom: 2px; }
body.huayi-v3 .v3-link-light:hover { color: var(--leaf-light); }
.v3-stats-dark { grid-column: 1 / -1; width: 100%; grid-template-columns: repeat(3, 1fr); margin-top: 32px; border-top: 1px solid var(--night-line); }
.v3-stats-dark .v3-stat { border-color: var(--night-line); }
.v3-stats-dark .v3-stat dt { color: var(--on-dark-2); }

/* 5. Banner */
.v3-banner { position: relative; min-height: clamp(420px, 56vw, 720px); display: flex; align-items: flex-end; color: #fff; overflow: hidden; background: var(--night); }
.v3-home .v3-banner > img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 45%; }
.v3-banner-shade { position: absolute; inset: 0; background: linear-gradient(15deg, rgba(16, 25, 26, 0.88) 10%, rgba(16, 25, 26, 0.45) 45%, rgba(16, 25, 26, 0) 75%); }
.v3-home .v3-banner-body { position: relative; padding-bottom: clamp(40px, 6vw, 88px); }
.v3-banner-quote { max-width: 18ch; font-size: clamp(30px, 4.4vw, 64px); font-weight: 600; line-height: 1.08; letter-spacing: -0.02em; padding-left: 24px; border-left: 2px solid var(--leaf); }

/* 6. Export and exhibitions */
.v3-expo { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 5vw, 80px); align-items: start; }
.v3-expo-main { border-radius: var(--radius); overflow: hidden; aspect-ratio: 3 / 4; background: var(--stone); }
.v3-expo-main img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; }
.v3-expo-text h2 { margin-top: 16px; }
.v3-expo-text > p:not(.v3-index) { margin-top: 20px; color: var(--ink-2); max-width: 56ch; }
.v3-expo-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 36px; }
.v3-expo-pair img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.v3-expo-pair figure:last-child img { object-position: 50% 25%; }
.v3-expo-pair figcaption { margin-top: 10px; font-size: 0.875rem; color: var(--ink-2); }
.v3-certs { margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--stone); color: var(--ink-2); }
.v3-certs strong { color: var(--ink); font-weight: 600; }
.v3-certs p + p { margin-top: 10px; }

/* 7. Quote section (shared template-parts/quote-form.php) */
html:root body.huayi-v3 .v2-quote {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
	width: auto;
	margin: 0;
	padding: clamp(72px, 9vw, 128px) max(var(--gutter), calc((100% - var(--max)) / 2));
	background: var(--paper-2);
	border: 0;
	border-top: 1px solid var(--stone);
	color: var(--ink);
	scroll-margin-top: 80px;
}
html:root body.huayi-v3 .v2-quote .quote-intro { padding: 0; border: 0; }
html:root body.huayi-v3 .v2-quote .quote-intro h2 { margin: 16px 0 0; color: var(--ink); font-size: clamp(28px, 3vw, 42px); line-height: 1.12; }
html:root body.huayi-v3 .v2-quote .quote-intro > p:not(.v2-kicker) { margin: 18px 0 0; color: var(--ink-2); }
html:root body.huayi-v3 .v2-quote .v3-index { color: var(--ink-2); }
body.huayi-v3 .v3-direct { list-style: none; margin: 32px 0 0; padding: 0; border-top: 1px solid var(--stone-2); }
body.huayi-v3 .v3-direct li { display: flex; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--stone-2); }
body.huayi-v3 .v3-direct-k { width: 96px; flex: none; padding-top: 3px; color: var(--ink-2); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
body.huayi-v3 .v3-direct a { display: inline-flex; align-items: center; min-height: 28px; font-family: var(--mono); font-size: 0.94rem; text-decoration: none; word-break: break-all; }
body.huayi-v3 .v3-direct a:hover { text-decoration: underline; text-underline-offset: 3px; }
html:root body.huayi-v3 .v2-quote .quote-panel { padding: clamp(24px, 3vw, 40px); background: var(--paper); border: 1px solid var(--stone); border-radius: var(--radius); color: var(--ink); box-shadow: none; }
html:root body.huayi-v3 .v2-quote .quote-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 0; }
html:root body.huayi-v3 .v2-quote .quote-form label:not(.consent) { display: block; color: var(--ink); font-size: 0.875rem; font-weight: 600; }
html:root body.huayi-v3 .v2-quote .quote-form label > span:first-of-type { display: inline; color: #a32828; }
html:root body.huayi-v3 .v2-quote .quote-form label:not(.consent) > :is(input, select, textarea) { display: block; width: 100%; margin-top: 8px; box-sizing: border-box; }
html:root body.huayi-v3 .v2-quote .quote-form :is(input, select, textarea) { min-height: 48px; padding: 12px 14px; border: 1px solid #c9c2b6; border-radius: var(--radius); background: #fff; color: var(--ink); font: 400 1rem/1.4 var(--sans); }
html:root body.huayi-v3 .v2-quote .quote-form textarea { min-height: 132px; resize: vertical; }
html:root body.huayi-v3 .v2-quote .quote-form :is(input, select, textarea):focus { outline: 2px solid var(--teal); outline-offset: 0; border-color: var(--teal); }
html:root body.huayi-v3 .v2-quote .quote-form :is(.message-field, .consent, .form-status, .quote-selection, .quote-extra, .submit-button) { grid-column: 1 / -1; }
html:root body.huayi-v3 .v2-quote .quote-form .consent { display: flex; align-items: flex-start; gap: 10px; color: var(--ink-2); font-size: 0.875rem; font-weight: 400; }
html:root body.huayi-v3 .v2-quote .quote-form .consent input { width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; margin-top: 2px; padding: 0; accent-color: var(--teal); }
html:root body.huayi-v3 .v2-quote .quote-extra { border-block: 1px solid var(--stone); padding: 14px 0; }
html:root body.huayi-v3 .v2-quote .quote-extra summary { cursor: pointer; font-size: 0.94rem; font-weight: 600; }
html:root body.huayi-v3 .v2-quote .quote-extra summary span { color: var(--ink-2); font-weight: 400; }
html:root body.huayi-v3 .v2-quote .quote-extra-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding-top: 18px; }
html:root body.huayi-v3 .v2-quote .submit-button { width: 100%; }
html:root body.huayi-v3 .v2-quote .quote-success h3 { color: var(--ink); }
html:root body.huayi-v3 .v2-quote .quote-success .dashicons { color: var(--teal); }

/* Homepage + quote: tablet and phone */
@media (max-width: 1023px) {
	.v3-products { grid-template-columns: repeat(2, 1fr); }
	/* Five lines in two columns: the last one runs across both, with a wider picture. */
	.v3-product:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.v3-product:last-child:nth-child(odd) .v3-product-img { aspect-ratio: 2 / 1; }
	.v3-steps { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }
	.v3-factory { grid-template-columns: 1fr 1fr; }
	.v3-f-main { grid-column: 1 / -1; grid-row: auto; min-height: 0; aspect-ratio: 3 / 2; }
	.v3-expo { grid-template-columns: 1fr; }
	.v3-expo-main { aspect-ratio: 4 / 3; }
	html:root body.huayi-v3 .v2-quote { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	body.huayi-v3 .v3-home { font-size: 1rem; }
	/* First screen on phones: photo on top, copy below on night. */
	.v3-hero { min-height: 0; }
	.v3-home .v3-hero-img { height: 430px; bottom: auto; object-position: 80% 50%; }
	.v3-hero-shade { background:
		linear-gradient(180deg, rgba(16, 25, 26, 0.55) 0, rgba(16, 25, 26, 0) 130px),
		linear-gradient(0deg, var(--night) 0, var(--night) calc(100% - 430px), rgba(16, 25, 26, 0.8) calc(100% - 300px), rgba(16, 25, 26, 0.35) calc(100% - 210px), rgba(16, 25, 26, 0) calc(100% - 130px)); }
	.v3-home .v3-hero-body { padding-top: 268px; padding-bottom: 28px; }
	.v3-eyebrow { font-size: 0.69rem; letter-spacing: 0.1em; gap: 10px; }
	.v3-eyebrow::before { width: 18px; }
	.v3-home .v3-hero h1 { max-width: none; margin-top: 14px; font-size: 34px; line-height: 1.08; }
	.v3-home .v3-hero-lead { margin-top: 14px; font-size: 1rem; line-height: 1.5; }
	.v3-hero-actions { margin-top: 22px; }
	body.huayi-v3 .v3-hero-actions .button { flex: 1 1 140px; padding: 0 12px; white-space: nowrap; }
	.v3-hero-stats { background: rgba(16, 25, 26, 0.7); }
	.v3-stats { grid-template-columns: 1fr 1fr; }
	.v3-stat { padding: 14px 0 14px 14px; }
	.v3-stat:nth-child(odd) { border-left: 0; padding-left: 0; }
	.v3-stat:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, 0.18); }
	.v3-stat dt { font-size: 0.66rem; letter-spacing: 0.1em; }
	.v3-num { font-size: 24px; }
	.v3-points .v3-stat::before { margin-bottom: 6px; }
	.v3-points strong { font-size: 1rem; }
	.v3-points span { font-size: 0.82rem; }

	.v3-sec-head { grid-template-columns: 1fr; padding-bottom: 28px; }
	.v3-sec-intro { justify-self: start; }
	.v3-product-text { padding: 14px 14px 16px; gap: 4px; }
	.v3-product-text h3 { font-size: 1rem; }
	.v3-product-note { font-size: 0.82rem; }
	.v3-more { font-size: 0.875rem; padding-top: 10px; }
	.v3-steps { grid-template-columns: 1fr; row-gap: 0; }
	.v3-step { padding: 24px 0 28px; border-bottom: 1px solid var(--stone); }
	body.huayi-v3 .v3-step-no { font-size: 2rem; }
	.v3-factory { gap: 10px; }
	.v3-f-text { grid-template-columns: 1fr; padding-top: 28px; }
	.v3-stats-dark { grid-template-columns: 1fr; margin-top: 20px; }
	.v3-stats-dark .v3-stat { padding: 16px 0; border-left: 0; border-top: 1px solid var(--night-line); }
	.v3-stats-dark .v3-stat:first-child { border-top: 0; }
	.v3-banner { min-height: 440px; }
	.v3-banner-quote { padding-left: 16px; }
	.v3-expo-pair { gap: 10px; }
	html:root body.huayi-v3 .v2-quote .quote-form,
	html:root body.huayi-v3 .v2-quote .quote-extra-fields { grid-template-columns: minmax(0, 1fr); }
	html:root body.huayi-v3 .v2-quote .quote-form label { grid-column: 1 / -1; }
	html:root body.huayi-v3 .v2-quote .quote-panel { padding: 20px 16px; }
	body.huayi-v3 .v3-direct-k { width: 78px; }
}
@media (prefers-reduced-motion: reduce) {
	.v3-home .v3-product-img img { transition: none; }
	.v3-product-link:hover .v3-product-img img { transform: none; }
}

/* ---------- Inner pages ---------- */
html:root body.huayi-v3:not(.home) main :is(h1, h2, h3, h4, .pillar-card strong, .resource-card strong) { font-family: var(--sans); font-weight: 600; letter-spacing: -0.02em; }
html:root body.huayi-v3:not(.home) main :is(.pillar-hero h1, .product-detail-heading h1, h1.wp-block-heading, h1.wp-block-post-title, .v2-page-head h1) { font-size: clamp(2.2rem, 4.6vw, 3.9rem); line-height: 1.05; margin: 14px 0 18px; max-width: 18ch; }
html:root body.huayi-v3:not(.home) main :is(.pillar-section h2, .pillar-cta h2, .article-body h2, .product-detail-content h2, section.article-note h2) { font-size: clamp(1.6rem, 2.8vw, 2.25rem); line-height: 1.14; }
html:root body.huayi-v3:not(.home) main :is(.pillar-card strong, .resource-card strong, .catalogue-grid .content-card h3, .factory-evidence-card h3, .pillar-section h3) { font-size: clamp(1.06rem, 1.4vw, 1.22rem); line-height: 1.3; }
html:root body.huayi-v3:not(.home) main p { line-height: 1.65; }

/* Shared width. */
html:root body.huayi-v3 .pillar-wrap,
html:root body.huayi-v3 .pillar-cta.pillar-wrap { width: min(var(--max), calc(100% - 2 * var(--gutter))); margin-inline: auto; box-sizing: border-box; }

/* Page head band: paper with a fine line grid that fades out, mono eyebrow, large H1. */
html:root body.huayi-v3 .pillar-hero,
html:root body.huayi-v3 .v2-page-head {
	background:
		linear-gradient(180deg, rgba(245, 242, 236, 0) 0, rgba(245, 242, 236, 0) 55%, var(--paper) 100%),
		linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 48px 48px,
		linear-gradient(180deg, var(--grid-line) 1px, transparent 1px) 0 0 / 48px 48px,
		var(--paper);
	border-bottom: 1px solid var(--stone);
}
html:root body.huayi-v3 .pillar-hero { padding: 64px 0 72px; }
html:root body.huayi-v3 .pillar-hero .pillar-hero-grid { align-items: center; }
html:root body.huayi-v3 .pillar-hero p:not(.eyebrow) { color: var(--ink-2); font-size: 1.08rem; line-height: 1.65; max-width: 60ch; }
html:root body.huayi-v3 .pillar-hero img { border-radius: var(--radius); box-shadow: none; }
html:root body.huayi-v3 .pillar-hero figcaption { color: var(--ink-2); font-size: 0.82rem; font-family: var(--mono); letter-spacing: 0; }
html:root body.huayi-v3 :is(.plan-breadcrumb, .product-breadcrumb) { font-family: var(--mono); font-size: 0.78rem; color: var(--ink-2); letter-spacing: 0; }
html:root body.huayi-v3 :is(.plan-breadcrumb, .product-breadcrumb) a { color: var(--teal); font-weight: 600; text-decoration: none; }
html:root body.huayi-v3 :is(.plan-breadcrumb, .product-breadcrumb) a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Pages that start with the post title (articles list, privacy, plain pages, posts, 404). */
html:root body.huayi-v3:not(.home) main.standard-content:has(> h1:first-child),
html:root body.huayi-v3:not(.home) main.standard-content:has(> .article-meta:first-child),
html:root body.huayi-v3:not(.home) main.standard-content:has(> .eyebrow:first-child) {
	background:
		linear-gradient(180deg, rgba(245, 242, 236, 0) 0, rgba(245, 242, 236, 0) 200px, var(--paper) 340px),
		linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 48px 48px,
		linear-gradient(180deg, var(--grid-line) 1px, transparent 1px) 0 0 / 48px 48px,
		var(--paper);
	padding-top: 72px;
}

/* Section rhythm. */
html:root body.huayi-v3 .standard-content { background: var(--paper); }
html:root body.huayi-v3 .pillar-section { padding: 88px 0; }
html:root body.huayi-v3 .pillar-section.soft { background: var(--paper-2); border-block: 1px solid var(--stone); }
html:root body.huayi-v3 .pillar-section > .pillar-wrap > p:not(.eyebrow) { color: var(--ink-2); max-width: 72ch; }

/* Cards: paper, 1px stone line, 6px radius. */
html:root body.huayi-v3 :is(.pillar-card, .resource-card, .contact-card, .buyer-detail-card, .content-card, .factory-evidence-card) {
	background: var(--paper);
	border: 1px solid var(--stone);
	border-radius: var(--radius);
	box-shadow: none;
}
html:root body.huayi-v3 :is(.pillar-card, .resource-card, .contact-card, .buyer-detail-card) { padding: 24px; }
html:root body.huayi-v3 .pillar-section.soft :is(.pillar-card, .resource-card, .contact-card, .content-card) { background: #fbfaf7; }
html:root body.huayi-v3 .contact-card > .eyebrow + h2 { margin-top: 10px; }
html:root body.huayi-v3 :is(a.resource-card, a.pillar-card) { color: var(--ink); text-decoration: none; transition: border-color 0.18s; }
html:root body.huayi-v3 :is(a.resource-card, a.pillar-card):hover { border-color: var(--teal); }

/* Images in content. */
html:root body.huayi-v3 main :is(.pillar-section, .article-body, .product-detail-content) figure img,
html:root body.huayi-v3 main .real-photo img { border-radius: var(--radius); }
html:root body.huayi-v3 main figcaption { color: var(--ink-2); font-size: 0.85rem; }

/* Product cards (category pages) and catalogue cards: 1:1 photo on stone. */
html:root body.huayi-v3 :is(.product-card-grid, .catalogue-grid) { gap: 0; background: transparent; border: 0; border-top: 1px solid var(--stone); border-left: 1px solid var(--stone); border-radius: 0; overflow: visible; }
html:root body.huayi-v3 .product-card { display: flex; flex-direction: column; background: var(--paper); border: 0; border-right: 1px solid var(--stone); border-bottom: 1px solid var(--stone); border-radius: 0; box-shadow: none; overflow: hidden; }
html:root body.huayi-v3 .product-card-image { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--stone); }
html:root body.huayi-v3 .product-card-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform 0.5s ease; }
html:root body.huayi-v3 .product-card:hover .product-card-image img { transform: scale(1.03); }
html:root body.huayi-v3 .product-card-copy { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 18px 20px 20px; border-top: 1px solid var(--stone); }
html:root body.huayi-v3 .product-card-copy .eyebrow { margin: 0; font-size: 0.72rem; }
html:root body.huayi-v3 .product-card-copy .eyebrow::before { display: none; }
html:root body.huayi-v3 .product-card-copy h3 { margin: 0; font-size: 1.06rem; line-height: 1.3; }
html:root body.huayi-v3 .product-card-copy h3 a { color: var(--ink); text-decoration: none; }
html:root body.huayi-v3 .product-card-link { margin-top: auto; padding-top: 10px; display: inline-flex; align-items: center; min-height: 44px; color: var(--teal); font-weight: 600; text-decoration: none; }

html:root body.huayi-v3 .catalogue-grid .content-card { display: flex; flex-direction: column; background: var(--paper); border: 0; border-right: 1px solid var(--stone); border-bottom: 1px solid var(--stone); border-radius: 0; overflow: hidden; padding: 0 0 18px; }
html:root body.huayi-v3 .catalogue-grid .content-card > :not(.catalogue-card-image) { margin-inline: 20px; }
html:root body.huayi-v3 .catalogue-grid .content-card > .eyebrow { margin-top: 18px; font-size: 0.72rem; }
html:root body.huayi-v3 .catalogue-grid .content-card > .eyebrow::before { display: none; }
html:root body.huayi-v3 .catalogue-grid .content-card h3 a { color: var(--ink); text-decoration: none; }
html:root body.huayi-v3 .catalogue-grid .content-card .product-enquiry-actions { margin-top: auto; }
html:root body.huayi-v3 .catalogue-card-image { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--stone); border-bottom: 1px solid var(--stone); }
html:root body.huayi-v3 .catalogue-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
html:root body.huayi-v3 .catalogue-grid .content-card:hover .catalogue-card-image img { transform: scale(1.03); }
html:root body.huayi-v3 .catalogue-rail a { display: flex; align-items: center; min-height: 44px; border-radius: var(--radius); color: var(--ink); text-decoration: none; }
html:root body.huayi-v3 .catalogue-rail a:hover { background: var(--stone); }
html:root body.huayi-v3 .catalogue-controls :is(input, select) { min-height: 44px; border-radius: var(--radius); border-color: #c9c2b6; background: #fff; }
html:root body.huayi-v3 .product-enquiry-actions a { display: inline-flex; align-items: center; min-height: 44px; }

/* Product archive: the child template wraps eyebrow, H1 and intro in .v2-page-head (full-bleed band). */
html:root body.huayi-v3 .product-archive.standard-content { width: min(var(--max), calc(100% - 2 * var(--gutter))); max-width: none; margin-inline: auto; padding-top: 0; box-sizing: border-box; }
html:root body.huayi-v3 .product-archive > .v2-page-head { max-width: none; }
html:root body.huayi-v3 .v2-page-head { box-shadow: 0 0 0 100vmax var(--paper); clip-path: inset(0 -100vmax); padding: 64px 0 48px; margin: 0 0 32px; border-bottom: 0; }
html:root body.huayi-v3 .v2-page-head .eyebrow { margin: 0; }
html:root body.huayi-v3 .v2-page-head p:not(.eyebrow) { color: var(--ink-2); font-size: 1.08rem; line-height: 1.65; max-width: 60ch; margin: 0; }

/* Product detail. */
html:root body.huayi-v3 .product-detail-image { background: var(--stone); border-radius: var(--radius); overflow: hidden; }
html:root body.huayi-v3 .product-detail-image img { border-radius: 0; }
html:root body.huayi-v3 .product-detail-heading .eyebrow a { color: var(--teal); text-decoration: none; }
html:root body.huayi-v3 .buyer-summary { background: var(--paper); border: 1px solid var(--stone); border-radius: var(--radius); padding: 20px 24px; }
html:root body.huayi-v3 .buyer-summary dl { margin-bottom: 0; }
html:root body.huayi-v3 .buyer-summary dt { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-2); }
html:root body.huayi-v3 .product-config { background: var(--paper); border: 1px solid var(--stone); border-radius: var(--radius); padding: 0 24px; }
html:root body.huayi-v3 .product-config > summary { min-height: 56px; display: flex; align-items: center; font-weight: 600; cursor: pointer; }
html:root body.huayi-v3 .product-section-nav { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
html:root body.huayi-v3 .product-section-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--stone-2); border-radius: var(--radius); background: var(--paper); color: var(--ink); font-weight: 600; text-decoration: none; }
html:root body.huayi-v3 .product-section-nav a:hover { border-color: var(--teal); color: var(--teal-dark); }
html:root body.huayi-v3 :is(.product-rfq-panel, .pillar-cta) { background: var(--night); color: var(--on-dark-2); border: 0; border-radius: var(--radius); padding: 48px; margin-block: 24px 72px; }
html:root body.huayi-v3 :is(.product-rfq-panel, .pillar-cta) h2 { color: #fff; margin-top: 0; }
html:root body.huayi-v3 :is(.product-rfq-panel, .pillar-cta) p { color: var(--on-dark-2); }
html:root body.huayi-v3 :is(.product-rfq-panel, .pillar-cta) .eyebrow { color: var(--leaf-light); }
html:root body.huayi-v3 :is(.product-rfq-panel, .pillar-cta) a:not(.button) { color: #fff; }
html:root body.huayi-v3 :is(.product-rfq-panel, .pillar-cta) .button-outline { color: #fff; border-color: rgba(255, 255, 255, 0.7); background: transparent; }
html:root body.huayi-v3 .pillar-cta-grid > div > :first-child { margin-top: 0; }

/* FAQ and other disclosures: one hairline row per question. */
html:root body.huayi-v3 :is(.product-faq, .pillar-section) details:not(.quick-enquiry-extra):not(.quote-extra) { background: var(--paper); border: 1px solid var(--stone); border-radius: var(--radius); padding: 0 20px; margin: 0 0 8px; }
html:root body.huayi-v3 :is(.product-faq, .pillar-section) details:not(.quick-enquiry-extra):not(.quote-extra) > summary { min-height: 56px; padding: 14px 36px 14px 0; display: flex; align-items: center; position: relative; list-style: none; cursor: pointer; font-weight: 600; }
html:root body.huayi-v3 :is(.product-faq, .pillar-section) details:not(.quick-enquiry-extra):not(.quote-extra) > summary::-webkit-details-marker { display: none; }
html:root body.huayi-v3 :is(.product-faq, .pillar-section) details:not(.quick-enquiry-extra):not(.quote-extra) > summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: var(--teal); font-family: var(--mono); font-size: 1.3rem; font-weight: 400; }
html:root body.huayi-v3 :is(.product-faq, .pillar-section) details[open]:not(.quick-enquiry-extra):not(.quote-extra) > summary::after { content: "\2212"; }
html:root body.huayi-v3 :is(.product-faq, .pillar-section) details[open]:not(.quick-enquiry-extra):not(.quote-extra) { padding-bottom: 16px; border-color: var(--stone-2); }

/* Tables: hairlines, mono header labels. */
html:root body.huayi-v3 main table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--paper); border: 1px solid var(--stone); border-radius: var(--radius); overflow: hidden; font-size: 0.95rem; }
html:root body.huayi-v3 main :is(th, td) { padding: 12px 16px; border: 0; border-bottom: 1px solid var(--stone); text-align: start; vertical-align: top; }
html:root body.huayi-v3 main thead th,
html:root body.huayi-v3 main tbody th { background: var(--paper-2); font-family: var(--mono); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.02em; color: var(--ink); }
html:root body.huayi-v3 main tr:last-child > :is(td, th) { border-bottom: 0; }

/* Article reading column. */
html:root body.huayi-v3 .article-body { width: min(72ch, calc(100% - 2 * var(--gutter))); margin-inline: auto; font-size: 1.0625rem; line-height: 1.75; }
html:root body.huayi-v3 .article-body > section { padding: 48px 0; }
html:root body.huayi-v3 .article-body > section + section { border-top: 1px solid var(--stone); }
html:root body.huayi-v3 .article-body h2 { margin: 0 0 16px; }
html:root body.huayi-v3 .article-body h3 { margin: 28px 0 10px; }
html:root body.huayi-v3 .article-body :is(p, li) { color: #2f3a39; }
html:root body.huayi-v3 .article-note { background: var(--paper-2); border: 1px solid var(--stone); border-left: 2px solid var(--leaf); border-radius: var(--radius); }
html:root body.huayi-v3 section.article-note { width: min(var(--max), calc(100% - 2 * var(--gutter))); margin: 0 auto 64px; padding: 32px; box-sizing: border-box; }
html:root body.huayi-v3 section.article-note li { margin-bottom: 6px; }
html:root body.huayi-v3 section.article-note > :first-child { margin-top: 0; }
html:root body.huayi-v3 :where(.standard-content > .wp-block-post-content) :is(p, li) { color: #2f3a39; }
html:root body.huayi-v3 .standard-content > .article-meta { font-family: var(--mono); }

/* Articles list. */
html:root body.huayi-v3 .wp-block-post-template .content-card { padding: 22px; }
html:root body.huayi-v3 .wp-block-post-template .content-card h2 a { color: var(--ink); text-decoration: none; }
html:root body.huayi-v3 .article-archive-visual img { border-radius: var(--radius); }

/* Contact page. */
html:root body.huayi-v3 .contact-card .button { min-width: 0; }
html:root body.huayi-v3 .contact-card a[href^="mailto:"],
html:root body.huayi-v3 .contact-card a[href^="tel:"],
html:root body.huayi-v3 .contact-card > a[href*="wa.me"] { font-family: var(--mono); display: flex; width: fit-content; align-items: center; min-height: 36px; }

/* Factory evidence cards. */
html:root body.huayi-v3 .factory-evidence-card { overflow: hidden; }
html:root body.huayi-v3 .factory-evidence-card figure { background: var(--stone); }
html:root body.huayi-v3 .factory-evidence-card { padding: 0 0 20px; }
html:root body.huayi-v3 .factory-evidence-card > :not(figure) { margin-inline: 20px; }
html:root body.huayi-v3 .factory-evidence-card figure { margin: 0 0 16px; }
html:root body.huayi-v3 .factory-evidence-card figure img { border-radius: 0; }
html:root body.huayi-v3 .factory-evidence-card figcaption { padding: 8px 20px; margin: 0; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0; }

/* Factory film. */
html:root body.huayi-v3 .factory-film-section { background: var(--night); color: #fff; }
html:root body.huayi-v3 .factory-film-section h2 { color: #fff; }
html:root body.huayi-v3 .factory-film-section .eyebrow { color: var(--leaf-light); }
html:root body.huayi-v3 .factory-film-section :is(p, summary) { color: var(--on-dark-2); }
html:root body.huayi-v3 .factory-film-section a { color: #fff; }

/* 404. */
html:root body.huayi-v3.error404 .error-page .wp-block-button__link { border-radius: var(--radius); }
html:root body.huayi-v3.error404 .error-page .wp-block-button:not(.is-style-outline) .wp-block-button__link { background-color: var(--teal); border-color: var(--teal); color: #fff; }
html:root body.huayi-v3.error404 .error-page .is-style-outline .wp-block-button__link { background: transparent; color: var(--ink); border-color: var(--ink); }
html:root body.huayi-v3.error404 .error-page .is-style-outline .wp-block-button__link:hover { background: var(--ink); color: #fff; }
html:root body.huayi-v3.error404 .error-page h2 { font-size: clamp(1.4rem, 2.4vw, 1.8rem); }
html:root body.huayi-v3.error404 .error-page li { padding: 6px 0; }

/* Quick enquiry launcher (parent): brand teal. */
html:root body.huayi-v3 .quick-enquiry-launcher { background: var(--teal); border-color: var(--teal); color: #fff; border-radius: var(--radius); }

/* Standalone links are full touch targets. */
html:root body.huayi-v3:not(.home) main .text-link { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 760px) {
	html:root body.huayi-v3 .pillar-hero { padding: 40px 0 48px; }
	html:root body.huayi-v3 .v2-page-head { padding: 40px 0 32px; }
	html:root body.huayi-v3:not(.home) main.standard-content:has(> h1:first-child),
	html:root body.huayi-v3:not(.home) main.standard-content:has(> .article-meta:first-child),
	html:root body.huayi-v3:not(.home) main.standard-content:has(> .eyebrow:first-child) { padding-top: 44px; }
	html:root body.huayi-v3 .article-body { font-size: 1rem; }
	html:root body.huayi-v3 .pillar-section { padding: 56px 0; }
	html:root body.huayi-v3 .article-body > section { padding: 36px 0; }
	html:root body.huayi-v3 :is(.pillar-cta, .product-rfq-panel) { padding: 28px 20px; }
	html:root body.huayi-v3 section.article-note { padding: 24px 20px; }
	html:root body.huayi-v3 main table { display: block; overflow-x: auto; }
	html:root body.huayi-v3 .product-config { padding: 0 16px; }
	html:root body.huayi-v3 .product-card-copy { padding: 14px 14px 16px; }
	html:root body.huayi-v3 .catalogue-grid .content-card > :not(.catalogue-card-image) { margin-inline: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	html:root body.huayi-v3 :is(.product-card-image, .catalogue-card-image) img { transition: none; transform: none; }
}

/* ---------- Landing-page and homepage shared blocks (v2 class names kept in page content) ---------- */
body.huayi-v3 .v2-wrap { width: min(var(--max), calc(100% - 2 * var(--gutter))); margin: 0 auto; }
body.huayi-v3 .v2-section { padding: clamp(64px, 8vw, 104px) 0; }
body.huayi-v3 .v2-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
body.huayi-v3 .v2-head h2 { margin: 12px 0 0; font-size: clamp(1.8rem, 3.2vw, 2.6rem); line-height: 1.12; max-width: 22ch; }
body.huayi-v3 .v2-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: center; }
body.huayi-v3 .v2-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 24px; }
body.huayi-v3 .v2-material-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--stone); border: 1px solid var(--stone); border-radius: var(--radius); overflow: hidden; }
body.huayi-v3 .v2-material { display: flex; align-items: center; gap: 14px; padding: 14px; background: var(--paper); color: var(--ink); text-decoration: none; }
body.huayi-v3 .v2-material img { width: 64px; height: 64px; flex: none; object-fit: cover; border-radius: var(--radius); background: var(--stone); }
body.huayi-v3 .v2-material strong { display: block; font-size: 1rem; font-weight: 600; }
body.huayi-v3 .v2-material small { color: var(--ink-2); font-size: 0.85rem; }
body.huayi-v3 .v2-factory-photo { margin: 0; border-radius: var(--radius); overflow: hidden; }
body.huayi-v3 .v2-factory-photo img { display: block; width: 100%; height: 420px; object-fit: cover; }
body.huayi-v3 .v3-dark .v2-kicker { color: var(--leaf-light); }
body.huayi-v3 .v3-dark p { color: var(--on-dark-2); }
@media (max-width: 1000px) {
	body.huayi-v3 .v2-material-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.huayi-v3 .v2-split { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 600px) {
	body.huayi-v3 .v2-material-row { grid-template-columns: minmax(0, 1fr); }
	body.huayi-v3 .v2-factory-photo img { height: 240px; }
}

/* Pages whose template starts with the title (articles list, plain pages, posts, 404):
   one left-aligned column instead of the parent's centred stack. */
html:root body.huayi-v3:not(.home) main.standard-content:is(:has(> h1:first-child), :has(> .article-meta:first-child), :has(> .eyebrow:first-child)) > * { max-width: 960px; margin-inline: auto; text-align: start; }
html:root body.huayi-v3:not(.home) main.standard-content:is(:has(> h1:first-child), :has(> .article-meta:first-child), :has(> .eyebrow:first-child)) > h1 { max-width: 960px; }
html:root body.huayi-v3.error404 .error-page .wp-block-buttons { justify-content: flex-start; }
html:root body.huayi-v3 .product-detail-heading .eyebrow { width: 100%; max-width: none; justify-self: stretch; align-self: stretch; justify-content: flex-start; }

/* Videos: hero loop and factory film (inc/video.php, assets/js/video.js). */
.v3-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.v3-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; opacity: 0; transition: opacity 1.2s ease; pointer-events: none; }
.v3-hero.has-video .v3-hero-video { opacity: 1; }
body.huayi-v3 .v3-hero-pause { position: absolute; right: var(--gutter); bottom: 56px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 50%; background: rgba(16, 25, 26, 0.35); color: #fff; cursor: pointer; }
body.huayi-v3 .v3-hero-pause[hidden] { display: none; }
body.huayi-v3 .v3-hero-pause::before { content: ""; box-sizing: border-box; width: 12px; height: 14px; border-left: 4px solid currentColor; border-right: 4px solid currentColor; }
body.huayi-v3 .v3-hero-pause.is-paused::before { width: 0; height: 0; margin-left: 3px; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent currentColor; }
body.huayi-v3 .v3-hero-pause:hover { background: #fff; color: var(--ink); border-color: #fff; }
body.huayi-v3 .v3-hero-pause:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.v3-factory .v3-f-main { position: relative; }
body.huayi-v3 .v3-film-open, body.huayi-v3 .v3-film-open:hover { position: relative; display: block; height: 100%; color: #fff; text-decoration: none; }
.v3-film-badge { position: absolute; left: 20px; bottom: 20px; display: inline-flex; align-items: center; gap: 12px; padding: 8px 18px 8px 8px; border-radius: 999px; background: rgba(16, 25, 26, 0.78); font-size: 0.95rem; font-weight: 600; line-height: 1.2; transition: background 0.2s ease; }
.v3-film-badge .v3-mono { font-weight: 500; color: var(--on-dark-2); }
.v3-film-play { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--leaf); }
.v3-film-play::before { content: ""; margin-left: 3px; border-style: solid; border-width: 7px 0 7px 11px; border-color: transparent transparent transparent #fff; }
.v3-film-open:hover .v3-film-badge { background: var(--teal); }
.v3-film-open:hover .v3-film-badge .v3-mono { color: #fff; }
.v3-film-open:focus-visible { outline: 2px solid #fff; outline-offset: -6px; }
.v3-factory .v3-film-video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; background: #000; }
@media (max-width: 899px) {
	.v3-hero-video, body.huayi-v3 .v3-hero-pause { display: none; }
}
@media (max-width: 640px) {
	.v3-film-badge { left: 12px; bottom: 12px; gap: 10px; padding-right: 14px; font-size: 0.875rem; }
	.v3-film-play { width: 32px; height: 32px; }
}
@media (prefers-reduced-motion: reduce) {
	.v3-hero-video { transition: none; }
}

/* Standard primed sections on the D02 page (inc/profiles.php). */
html:root body.huayi-v3 .v3-profiles-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0 32px; }
html:root body.huayi-v3 .v3-profiles-photos figure { margin: 0; }
html:root body.huayi-v3 .v3-profiles-photos img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; background: var(--stone); }
html:root body.huayi-v3 .v3-profiles-photos figcaption { margin-top: 8px; font-size: 0.875rem; }
html:root body.huayi-v3 .v3-profiles-photos figcaption strong { margin-right: 6px; font-family: var(--mono); color: var(--ink); }
html:root body.huayi-v3 .v3-profiles-scroll { overflow-x: auto; }
html:root body.huayi-v3 .v3-profiles-scroll:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
html:root body.huayi-v3 main .v3-profiles-table { display: table; min-width: 560px; }
html:root body.huayi-v3 main .v3-profiles-table caption { caption-side: top; padding: 0 0 8px; text-align: start; font-size: 0.875rem; color: var(--ink-2); }
html:root body.huayi-v3 main .v3-profiles-table :is(th, td) { vertical-align: baseline; }
html:root body.huayi-v3 main .v3-profiles-table tbody th[scope="row"] { background: transparent; white-space: nowrap; }
html:root body.huayi-v3 main .v3-profiles-table .v3-profiles-group th { background: var(--teal-pale); color: var(--teal-dark); font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; }
html:root body.huayi-v3 main .v3-profiles-table tbody:not(:last-child) tr:last-child > :is(td, th) { border-bottom: 1px solid var(--stone); }
html:root body.huayi-v3 .v3-profiles-note { margin-top: 16px; font-size: 0.9rem; color: var(--ink-2); }
html:root body.huayi-v3 .v3-profiles-pointer p { margin: 0; padding: 16px 20px; background: var(--paper); border: 1px solid var(--stone); border-radius: var(--radius); }
@media (max-width: 640px) {
	html:root body.huayi-v3 .v3-profiles-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* Social: share links, footer profiles, factory film links (inc/social.php). */
html:root body.huayi-v3 .v3-share { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--stone); }
html:root body.huayi-v3 .v3-share-label { margin: 0 0 12px; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-2); }
html:root body.huayi-v3 .v3-share-links { display: flex; flex-wrap: wrap; gap: 8px; }
html:root body.huayi-v3 .v3-share-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; padding: 0 14px; border: 1px solid var(--stone-2); border-radius: var(--radius); background: var(--paper); color: var(--ink); font: 600 0.875rem/1 var(--sans); text-decoration: none; cursor: pointer; }
html:root body.huayi-v3 .v3-share-link:hover { border-color: var(--teal); color: var(--teal-dark); }
html:root body.huayi-v3 .v3-share-link:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
html:root body.huayi-v3 .v3-share-link svg { flex: none; }
/* The block follows the page content. Full-width pages (.huayi-pillar) take the standard column and the
   board and language pages the width of their 1160 px sections; articles and products already sit in a column. */
html:root body.huayi-v3 .wp-block-post-content:has(> .huayi-pillar) > .v3-share { box-sizing: border-box; width: min(var(--max), calc(100% - 2 * var(--gutter))); margin-inline: auto; margin-bottom: 72px; }
html:root body.huayi-v3 :is(.huayi-board-main, .board-locale-main, .huayi-ru-main, .huayi-fr-main, .mdf-ru-main) .v3-share { box-sizing: border-box; width: 100%; max-width: 1160px; margin-inline: auto; margin-bottom: 72px; padding-inline: 24px; }
@media (max-width: 760px) {
	html:root body.huayi-v3 .wp-block-post-content:has(> .huayi-pillar) > .v3-share { margin-bottom: 48px; }
	html:root body.huayi-v3 :is(.huayi-board-main, .board-locale-main, .huayi-ru-main, .huayi-fr-main, .mdf-ru-main) .v3-share { margin-bottom: 48px; padding-inline: 22px; }
}
html:root body.huayi-v3 .site-footer .v3-footer-social { max-width: var(--max); margin: 0 auto 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
html:root body.huayi-v3 .site-footer .v3-footer-social span { margin-right: 6px; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--on-dark-2); }
html:root body.huayi-v3 .site-footer .v3-footer-social a { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--night-line); border-radius: 50%; color: var(--on-dark-2); text-decoration: none; }
html:root body.huayi-v3 .site-footer .v3-footer-social a:hover { border-color: #fff; color: #fff; }
html:root body.huayi-v3 .v3-film-social { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 16px 0 0; }
@media (max-width: 480px) {
	html:root body.huayi-v3 .v3-share-link { width: 44px; justify-content: center; padding: 0; }
	html:root body.huayi-v3 .v3-share-link span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* Cookie banner (inc/consent.php): only when GTM is configured. */
html:root body.huayi-v3 .v3-consent { position: fixed; left: 16px; bottom: 16px; z-index: 100000; width: min(420px, calc(100vw - 32px)); padding: 20px 22px; background: var(--paper); border: 1px solid var(--stone-2); border-radius: var(--radius); box-shadow: 0 12px 32px rgba(16, 25, 26, 0.18); color: var(--ink); font-size: 0.9rem; line-height: 1.5; }
html:root body.huayi-v3 .v3-consent[hidden] { display: none; }
html:root body.huayi-v3 .v3-consent p { margin: 0 0 10px; }
html:root body.huayi-v3 .v3-consent .v3-consent-title { font-weight: 700; font-size: 1rem; }
html:root body.huayi-v3 .v3-consent a { color: var(--teal); }
html:root body.huayi-v3 .v3-consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
html:root body.huayi-v3 .v3-consent-actions .button { justify-content: center; min-height: 44px; margin: 0; }
html:root body.huayi-v3 .site-footer .v3-consent-open { padding: 0; border: 0; background: none; color: var(--on-dark-2); font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
html:root body.huayi-v3 .site-footer .v3-consent-open:hover { color: #fff; }

/* Enquiry success panels (inc/social.php, 2026-10-26): WhatsApp with the reference, film, profiles. */
html:root body.huayi-v3 .v3-success-next { display: grid; gap: 10px; justify-items: start; margin: 8px 0 22px; }
html:root body.huayi-v3 .v3-success-next p { margin: 0; }
html:root body.huayi-v3 .v3-success-next .button { margin: 0; }
html:root body.huayi-v3 .v3-success-next a:not(.button) { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }
html:root body.huayi-v3 .quick-enquiry-result .v3-success-next { margin: 4px 0 14px; }

/* /links/ page behind the social profile links (2026-10-26): one column of large buttons. */
html:root body.huayi-v3 .v3-links { display: grid; gap: 12px; max-width: 560px; margin: 0 0 56px; }
html:root body.huayi-v3 .v3-links .button { justify-content: center; width: 100%; min-height: 52px; margin: 0; text-decoration: none; }
html:root body.huayi-v3 .v3-links-lead { margin: 0 0 8px; color: var(--muted); }
html:root body.huayi-v3 .v3-links-note { margin: 8px 0 0; font-size: 0.95rem; }

/* Header language menu (inc/language.php, 2026-10-26): Google machine translation on demand. */
html:root body.huayi-v3 .v3-lang { position: relative; order: 5; flex: none; }
html:root body.huayi-v3 .v3-lang-toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: 0 2px; border: 0; background: transparent; color: inherit; font: 600 0.88rem/1 var(--sans); letter-spacing: 0.04em; cursor: pointer; }
html:root body.huayi-v3 .v3-lang-toggle:hover .v3-lang-code { text-decoration: underline; text-underline-offset: 3px; }
html:root body.huayi-v3 .v3-lang-globe { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
html:root body.huayi-v3 .v3-lang .v3-caret { margin: 0 0 3px 2px; }
html:root body.huayi-v3 .v3-lang-toggle[aria-expanded="true"] .v3-caret { margin-bottom: -3px; transform: rotate(225deg); }
html:root body.huayi-v3 .v3-lang-menu { position: absolute; top: calc(100% + 10px); inset-inline-end: 0; z-index: 70; min-width: 220px; padding: 8px 0; background: var(--paper); color: var(--ink); border: 1px solid var(--stone); border-radius: var(--radius); box-shadow: 0 18px 40px rgba(16, 25, 26, 0.16); }
html:root body.huayi-v3 .v3-lang-menu[hidden] { display: none; }
html:root body.huayi-v3 .v3-lang-menu button { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 10px 18px; border: 0; background: transparent; color: var(--ink); font: 500 0.92rem/1.3 var(--sans); text-align: start; cursor: pointer; }
html:root body.huayi-v3 .v3-lang-menu button:hover,
html:root body.huayi-v3 .v3-lang-menu button:focus-visible { background: var(--stone); color: var(--teal-dark); }
html:root body.huayi-v3 .v3-lang-menu button[aria-current="true"] { color: var(--teal-dark); font-weight: 700; }
html:root body.huayi-v3 .v3-lang-menu button[aria-current="true"]::after { content: "✓"; margin-inline-start: 12px; }
html:root body.huayi-v3 .v3-lang-note { margin: 6px 18px 4px; padding-top: 10px; border-top: 1px solid var(--stone); font-size: 0.75rem; line-height: 1.5; color: var(--ink-2); }
@media (min-width: 1101px) {
	html:root body.huayi-v3 .main-nav { margin-inline-start: auto; }
}
@media (max-width: 1240px) and (min-width: 1101px) {
	html:root body.huayi-v3 .header-inner { gap: 20px; }
	html:root body.huayi-v3 .main-nav { gap: 16px; }
}
@media (max-width: 1100px) {
	html:root body.huayi-v3 .v3-lang { order: 0; margin-inline-start: auto; }
	html:root body.huayi-v3 .menu-button { margin-inline-start: 0; }
	html:root body.huayi-v3 .v3-lang-toggle { min-height: 44px; padding: 0 10px; border: 1px solid currentColor; border-radius: var(--radius); }
}
/* Google Translate: our menu replaces its toolbar; hide the bar, the body offset and hover tips. */
html body.huayi-v3 { top: 0 !important; }
iframe.skiptranslate, .skiptranslate > iframe, .goog-te-banner-frame, #goog-gt-tt, .goog-te-balloon-frame { display: none !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }

/* Products menu (parts/header.html, 2026-10-26; five lines since 2026-10-28): the product lines as columns; phones list the lines only. */
html:root body.huayi-v3 .v3-mega-col { display: flex; flex-direction: column; min-width: 0; }
@media (min-width: 1101px) {
	html:root body.huayi-v3 .products-submenu.v3-mega { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 8px; width: min(900px, calc(100vw - 2 * var(--gutter))); padding: 16px 12px 10px; }
	/* Five columns are wider than the space right of "Products" on narrow desktops: hang the menu from the nav's right end instead. */
	html:root body.huayi-v3 .main-nav { position: relative; }
	html:root body.huayi-v3 .products-nav-item:not(.resources-nav-item) { position: static; }
	html:root body.huayi-v3 .products-submenu.v3-mega { left: auto; right: 0; }
	html:root body.huayi-v3 .v3-mega a { padding: 8px 12px; border-radius: 4px; font-size: 0.88rem; }
	html:root body.huayi-v3 .v3-mega a.v3-mega-head { margin-bottom: 6px; padding-bottom: 10px; border-bottom: 1px solid var(--stone); border-radius: 4px 4px 0 0; color: var(--ink); font-size: 0.92rem; font-weight: 700; }
	html:root body.huayi-v3 .v3-mega a.v3-mega-all { grid-column: 1 / -1; margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--stone); border-radius: 0; color: var(--teal); font-weight: 600; }
}
@media (max-width: 1100px) {
	html:root body.huayi-v3 .products-submenu.v3-mega { grid-template-columns: 1fr; }
	html:root body.huayi-v3 .v3-mega-col > a:not(.v3-mega-head) { display: none; }
}

/* WPC wall panels page (/wpc-wall-panels.html, 2026-10-26): 4:3 profile photos, two per row on phones, finishes beside the colour card. */
html:root body.huayi-v3 .v3-wall-grid .product-card-image { aspect-ratio: 4 / 3; }
html:root body.huayi-v3 .v3-wall-grid .product-card-copy p:not(.eyebrow) { margin: 0; color: var(--ink-2); font-size: 0.92rem; }
html:root body.huayi-v3 .v3-wall-finishes { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 48px; align-items: center; }
html:root body.huayi-v3 .v3-wall-finishes figure { margin: 0; }
html:root body.huayi-v3 .v3-wall-finishes h2 { margin-top: 0; }
html:root body.huayi-v3 .v3-wall-pine-cta { margin: 24px 0 0; }
html:root body.huayi-v3 .v3-wall-finishes img { display: block; width: 100%; max-height: 560px; height: auto; object-fit: cover; border-radius: var(--radius); }
@media (max-width: 760px) {
	html:root body.huayi-v3 .product-card-grid.v3-wall-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	html:root body.huayi-v3 .v3-wall-finishes { grid-template-columns: 1fr; gap: 24px; }
	html:root body.huayi-v3 .v3-wall-finishes img { max-height: 420px; }
	html:root body.huayi-v3 .v3-wall-pine > .product-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* ---------- Articles (posts, templates/single.html) ----------
   The site sets no block gap, so post content gets its own spacing here, plus the boxes, tables,
   galleries, quotes and buttons the buyer guides use. */
html:root body.huayi-v3 main.huayi-article > .article-meta { margin: 12px 0 0; color: var(--ink-2); font-size: 0.85rem; }
html:root body.huayi-v3 main.huayi-article > .wp-block-post-content { margin-top: 32px; }
html:root body.huayi-v3 main.huayi-article .wp-block-post-content > * + * { margin-block-start: 1.15em; }
html:root body.huayi-v3 main.huayi-article .wp-block-post-content > h2 { margin-block-start: 2.2em; }
html:root body.huayi-v3 main.huayi-article .wp-block-post-content > h3 { margin-block-start: 1.8em; }
html:root body.huayi-v3 main.huayi-article .wp-block-post-content > :is(h2, h3) + * { margin-block-start: 0.7em; }
html:root body.huayi-v3 main.huayi-article .wp-block-post-content :is(ul, ol) { padding-inline-start: 1.4em; }
html:root body.huayi-v3 main.huayi-article .wp-block-post-content li + li { margin-top: 0.45em; }
html:root body.huayi-v3 main.huayi-article .wp-block-post-content > figure { margin-block: 1.8em; }
html:root body.huayi-v3 main.huayi-article .wp-block-post-content figcaption { margin-top: 8px; color: var(--ink-2); font-size: 0.875rem; text-align: center; }
html:root body.huayi-v3 main.huayi-article .wp-block-post-content > .wp-block-group { padding: 20px 24px; border: 1px solid var(--stone-2); border-radius: var(--radius); background: #fff; }
html:root body.huayi-v3 main.huayi-article .wp-block-post-content > .wp-block-group > * + * { margin-block-start: 0.8em; }
html:root body.huayi-v3 main.huayi-article .wp-block-post-content > .wp-block-group > h2 { margin-block-start: 0; }
html:root body.huayi-v3 main.huayi-article .wp-block-quote { margin-inline: 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--teal); font-size: 1.15rem; }
html:root body.huayi-v3 main.huayi-article .wp-block-table { overflow-x: auto; }
html:root body.huayi-v3 main.huayi-article .wp-block-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 0.92rem; line-height: 1.5; }
html:root body.huayi-v3 main.huayi-article .wp-block-table :is(th, td) { padding: 10px 12px; border: 1px solid var(--stone-2); text-align: left; vertical-align: top; }
html:root body.huayi-v3 main.huayi-article .wp-block-table thead th { background: var(--stone); color: var(--ink); }
html:root body.huayi-v3 main.huayi-article .wp-block-gallery.has-nested-images { --wp--style--unstable-gallery-gap: 16px; gap: 16px; }
html:root body.huayi-v3 main.huayi-article .wp-block-gallery.has-nested-images figure.wp-block-image { flex-direction: column; }
html:root body.huayi-v3 main.huayi-article .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: static; max-height: none; margin: 8px 0 0; padding: 0; overflow: visible; background: none; color: var(--ink-2); font-size: 0.85rem; text-shadow: none; }
html:root body.huayi-v3 main.huayi-article .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
/* "Read more" links under a section's text, e.g. to the buyer guides from the guides hub and category pages. */
html:root body.huayi-v3 .v3-more-link { margin: 24px 0 0; }
/* Article cards on /articles and the category page: a card-sized title without the page heading gap. */
html:root body.huayi-v3 .wp-block-post-template .content-card .wp-block-post-title { margin: 12px 0 8px; font-size: clamp(1.35rem, 2.2vw, 1.65rem); line-height: 1.2; }
@media (max-width: 640px) {
	html:root body.huayi-v3 main.huayi-article .wp-block-post-content > .wp-block-group { padding: 16px 18px; }
	html:root body.huayi-v3 main.huayi-article .wp-block-post-content > figure.is-resized img { width: 100% !important; }
}

/* Moulding pages (crown, mouldings, flat casings; 2026-10-28): profile drawings (SVG) at 4:3 on
   off-white with no zoom, a size line under each name, a label on the 3D hero, the sizes table
   and a two-column text-and-photo block. */
html:root body.huayi-v3 .v3-profile-grid .product-card-image { aspect-ratio: 4 / 3; background: #fbfaf7; }
html:root body.huayi-v3 .v3-profile-grid .product-card-image img { object-fit: contain; }
html:root body.huayi-v3 .v3-profile-grid .product-card:hover .product-card-image img { transform: none; }
html:root body.huayi-v3 .v3-profile-grid .product-card-copy p:not(.eyebrow) { margin: 0; color: var(--ink-2); font-size: 0.92rem; }
html:root body.huayi-v3 .v3-profile-grid .product-card-copy p.v3-profile-size { color: var(--teal); font-size: 0.85rem; font-weight: 600; }
html:root body.huayi-v3 .v3-profile-note { margin: 18px 0 0; color: var(--ink-2); font-size: 0.9rem; }
html:root body.huayi-v3 .huayi-mouldings .pillar-hero-image { position: relative; background: var(--paper); }
html:root body.huayi-v3 .huayi-mouldings .pillar-hero-image img { object-fit: contain; }
html:root body.huayi-v3 .huayi-mouldings .pillar-hero-image figcaption { position: absolute; left: 14px; bottom: 14px; margin: 0; padding: 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, 0.9); color: var(--ink-2); font-size: 0.78rem; }
html:root body.huayi-v3 .huayi-mouldings .v3-profiles-scroll { margin-top: 24px; }
html:root body.huayi-v3 .v3-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 48px; align-items: center; }
html:root body.huayi-v3 .v3-split h2 { margin-top: 0; }
html:root body.huayi-v3 .v3-split figure { margin: 0; }
html:root body.huayi-v3 .v3-split img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; border-radius: var(--radius); }
@media (max-width: 760px) {
	html:root body.huayi-v3 .product-card-grid.v3-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	html:root body.huayi-v3 .v3-profile-grid .product-card-copy { padding: 14px 14px 16px; }
	html:root body.huayi-v3 .v3-split { grid-template-columns: 1fr; gap: 24px; }
}
html:root body.huayi-v3 .huayi-mouldings .pillar-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html:root body.huayi-v3 .product-card-grid.v3-range-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html:root body.huayi-v3 .v3-range-grid .product-card-image { aspect-ratio: 16 / 10; background: var(--paper); }
@media (max-width: 760px) {
	html:root body.huayi-v3 .huayi-mouldings .pillar-card-grid,
	html:root body.huayi-v3 .product-card-grid.v3-range-grid { grid-template-columns: 1fr; }
}
/* Room renders on the moulding pages (2026-10-28): "In the room" section after the hero, a short text
   beside a wide 3D room illustration; one column on phones. */
html:root body.huayi-v3 .v3-split.v3-room { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
html:root body.huayi-v3 .v3-room figcaption { margin-top: 10px; color: var(--ink-2); font-size: 0.85rem; }
@media (max-width: 760px) {
	html:root body.huayi-v3 .v3-split.v3-room { grid-template-columns: 1fr; }
}
/* FAQ sections on the product-line pages (GEO work, 2026-10-29): questions and answers in two columns,
   one column on phones. */
html:root body.huayi-v3 .v3-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 48px; margin-top: 28px; }
html:root body.huayi-v3 .v3-faq-item { border-top: 1px solid var(--stone); padding-top: 18px; }
html:root body.huayi-v3 .v3-faq-item h3 { margin: 0 0 8px; font-size: 1.08rem; line-height: 1.35; }
html:root body.huayi-v3 .v3-faq-item p { margin: 0; color: var(--ink-2); }
@media (max-width: 760px) {
	html:root body.huayi-v3 .v3-faq { grid-template-columns: 1fr; gap: 20px; }
}
/* Facts strip on the About and Factory pages (batch 2, 2026-10-29; [huayi_facts] in inc/facts.php):
   the confirmed company figures, four to a row, two on phones. */
html:root body.huayi-v3 .v3-facts-section { padding-block: 28px; border-bottom: 1px solid var(--stone); }
html:root body.huayi-v3 .v3-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
html:root body.huayi-v3 .v3-fact { padding: 16px 20px 18px 0; }
html:root body.huayi-v3 .v3-fact dt { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-2); }
html:root body.huayi-v3 .v3-fact dd { margin: 8px 0 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 8px; }
html:root body.huayi-v3 .v3-fact .v3-num { color: var(--teal); }
html:root body.huayi-v3 .v3-fact .v3-unit { margin-left: 0; color: var(--ink-2); }
@media (max-width: 760px) {
	html:root body.huayi-v3 .v3-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	html:root body.huayi-v3 .v3-fact { padding: 12px 12px 14px 0; }
	html:root body.huayi-v3 .v3-fact .v3-num { font-size: 26px; }
}
/* Related products and guides at the end of the product pages (batch 2; inc/related.php): four cards,
   two on phones, then the line's pages and guides in two columns. */
html:root body.huayi-v3 .v3-related { margin-top: 64px; }
html:root body.huayi-v3 .v3-related > h2 { margin: 8px 0 24px; }
html:root body.huayi-v3 .product-card-grid.v3-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
html:root body.huayi-v3 .v3-related-grid .product-card-image { aspect-ratio: 4 / 3; background: var(--paper); }
html:root body.huayi-v3 .v3-related-grid .product-card-image img { object-fit: contain; }
html:root body.huayi-v3 .v3-related-grid .product-card-copy h3 { font-size: 0.98rem; }
html:root body.huayi-v3 .v3-related-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 48px; margin-top: 32px; }
html:root body.huayi-v3 .v3-related-links h3 { margin: 0 0 8px; font-size: 1rem; }
html:root body.huayi-v3 .v3-related-links ul { margin: 0; padding-left: 1.1em; }
html:root body.huayi-v3 .v3-related-links li { margin: 4px 0; }
@media (max-width: 760px) {
	html:root body.huayi-v3 .product-card-grid.v3-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	html:root body.huayi-v3 .v3-related-links { grid-template-columns: 1fr; }
}
/* Internal links (2026-10-29): reviewed translations as real links in the language menu (inc/language.php),
   buyer-type links in the homepage hero, and "More buyer guides" under articles (inc/related.php). */
html:root body.huayi-v3 .v3-lang-menu a { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 10px 18px; box-sizing: border-box; color: var(--ink); font: 500 0.92rem/1.3 var(--sans); text-decoration: none; }
html:root body.huayi-v3 .v3-lang-menu a:hover,
html:root body.huayi-v3 .v3-lang-menu a:focus-visible { background: var(--stone); color: var(--teal-dark); }
html:root body.huayi-v3 .v3-home .v3-hero-lead a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
html:root body.huayi-v3 .v3-home .v3-hero-lead a:hover { color: #fff; }
html:root body.huayi-v3 .v3-guide-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--stone); }
html:root body.huayi-v3 .v3-guide-list li { padding: 16px 0; border-bottom: 1px solid var(--stone); }
html:root body.huayi-v3 .v3-guide-list a { font-size: 1.06rem; font-weight: 600; text-decoration: none; }
html:root body.huayi-v3 .v3-guide-list a:hover { text-decoration: underline; text-underline-offset: 3px; }
html:root body.huayi-v3 .v3-guide-list p { margin: 6px 0 0; color: var(--ink-2); font-size: 0.95rem; }
html:root body.huayi-v3 .v3-guide-hubs { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 20px 0 0; padding: 0; list-style: none; }

/* Trust batch (2026-11-02): a link inside a homepage section intro carries an underline, not only a colour. */
html:root body.huayi-v3 .v3-sec-head p a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* Enquiry batch (2026-11-02). */
/* The WhatsApp button that floats on phones, opposite the Quick enquiry button. */
html:root body.huayi-v3 .v3-wa-float { display: none; }
@media (max-width: 760px) {
	html:root body.huayi-v3 .v3-wa-float { position: fixed; left: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 999; display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; border-radius: var(--radius); background: #25d366; color: #06281f; font-size: 13px; font-weight: 600; line-height: 1.5; text-decoration: none; box-shadow: 0 6px 24px rgba(23, 37, 43, 0.2); }
	html:root body.huayi-v3 .v3-wa-float svg { width: 18px; height: 18px; flex: none; fill: currentColor; }
	html:root body.huayi-v3 .v3-wa-float:focus-visible { outline: 2px solid #06281f; outline-offset: 3px; }
}
/* Quick enquiry on phones: the send button in view without scrolling on a normal screen. */
@media (max-width: 600px) {
	html:root body.huayi-v3 .quick-enquiry { max-height: 92dvh; }
	html:root body.huayi-v3 .quick-enquiry .quick-enquiry-preview-label,
	html:root body.huayi-v3 .quick-enquiry .quick-enquiry-footer { display: none; }
	html:root body.huayi-v3 .quick-enquiry .quick-enquiry-intro { margin-bottom: 12px; }
	html:root body.huayi-v3 .quick-enquiry form { gap: 12px; }
	html:root body.huayi-v3 .quick-enquiry textarea { min-height: 72px; }
	html:root body.huayi-v3 .quick-enquiry .quick-enquiry-body { padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
}
/* Enquiry form: where to send drawings, and what to include (contact page). */
html:root body.huayi-v3 .v2-quote .quote-form .quote-drawings { grid-column: 1 / -1; margin: -8px 0 0; color: var(--ink-2); font-size: 0.875rem; }
html:root body.huayi-v3 .v2-quote .quote-form .quote-drawings a { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }
html:root body.huayi-v3 .v2-quote .quote-intro > p.v3-quote-points-title { margin: 28px 0 10px; color: var(--ink); font-weight: 600; }
html:root body.huayi-v3 .v2-quote .v3-quote-points { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--stone-2); }
html:root body.huayi-v3 .v2-quote .v3-quote-points li { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--stone-2); color: var(--ink-2); font-size: 0.94rem; line-height: 1.5; }
/* Catalogue: the five product lines above the model list. */
html:root body.huayi-v3 main .v3-line-entries { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; width: 100%; max-width: none; margin: 0 0 48px; padding: 0; list-style: none; }
html:root body.huayi-v3 main .v3-line-entries li { margin: 0; padding: 0; }
html:root body.huayi-v3 main .v3-line-entries a { display: flex; flex-direction: column; height: 100%; overflow: hidden; background: var(--paper); border: 1px solid var(--stone); border-radius: var(--radius); color: var(--ink); text-decoration: none; }
html:root body.huayi-v3 main .v3-line-entries a:hover .v3-line-name { text-decoration: underline; text-underline-offset: 3px; }
html:root body.huayi-v3 main .v3-line-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--stone); }
html:root body.huayi-v3 main .v3-line-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
html:root body.huayi-v3 main .v3-line-img .v3-fp-skirting { object-position: 50% 58%; }
html:root body.huayi-v3 main .v3-line-name { padding: 14px 14px 2px; font-weight: 600; line-height: 1.3; }
html:root body.huayi-v3 main .v3-line-note { padding: 0 14px 14px; color: var(--ink-2); font-size: 0.85rem; line-height: 1.4; }
@media (max-width: 1023px) {
	html:root body.huayi-v3 main .v3-line-entries { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 36px; }
	html:root body.huayi-v3 main .v3-line-entries li:last-child:nth-child(odd) { grid-column: 1 / -1; }
	html:root body.huayi-v3 main .v3-line-entries li:last-child:nth-child(odd) .v3-line-img { aspect-ratio: 2 / 1; }
}
