:root {
	--color-navy: #702800;
	--color-navy-dark: #3f1d05;
	--color-navy-soft: #fff3cf;
	--color-orange: #f9c011;
	--color-orange-dark: #a34f00;
	--color-orange-soft: #fff7dc;
	--color-ink: #252525;
	--color-muted: #69645e;
	--color-border: #e2d7c8;
	--color-surface: #f7f5f1;
	--color-white: #fff;
	--shadow-sm: 0 8px 24px rgba( 112, 40, 0, 0.08 );
	--shadow-md: 0 18px 48px rgba( 112, 40, 0, 0.14 );
	--radius-sm: 6px;
	--radius-md: 10px;
	--radius-lg: 16px;
	--container: 1200px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--color-white);
	color: var(--color-ink);
	font-family: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

body.menu-open,
body.filters-open { overflow: hidden; }

img { display: block; max-width: 100%; height: auto; }

a { color: var(--color-navy); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--color-orange-dark); }

button,
input,
select,
textarea { font: inherit; }

button,
a { -webkit-tap-highlight-color: transparent; }

:focus-visible { outline: 3px solid rgba( 249, 192, 17, 0.55 ); outline-offset: 3px; }

h1,
h2,
h3,
h4 { margin: 0 0 0.65em; color: var(--color-navy-dark); font-family: inherit; font-weight: 600; letter-spacing: -0.01em; }
h1 { font-size: clamp( 1.75rem, 3vw, 2.45rem ); line-height: 1.22; }
h2 { font-size: clamp( 1.3rem, 2.1vw, 1.8rem ); line-height: 1.3; }
h3 { font-size: 1rem; line-height: 1.4; }
h4 { font-size: 1rem; line-height: 1.4; }
p { margin: 0 0 1.25em; }

.container { width: min( calc( 100% - 40px ), var(--container) ); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect( 0, 0, 0, 0 ); white-space: nowrap; border: 0; }
.skip-link:focus { top: 8px; left: 8px; z-index: 9999; width: auto; height: auto; padding: 10px 16px; clip: auto; background: var(--color-white); color: var(--color-navy); }

.eyebrow { display: inline-block; margin-bottom: 5px; color: var(--color-orange-dark); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
.eyebrow--light { color: #ffe59a; }

.ui-icon { display: inline-block; width: 1.1em; height: 1.1em; flex: 0 0 auto; vertical-align: -0.16em; }
[hidden] { display: none !important; }
.title-icon,
.section-title-icon,
.compact-title-icon { display: inline-grid; flex: 0 0 auto; place-items: center; border: 1px solid #e5c792; background: var(--color-orange-soft); color: var(--color-orange-dark); }
.title-icon { width: 44px; height: 44px; border-radius: 12px; font-size: 1.45rem; }
.title-icon--small { width: 38px; height: 38px; border-radius: 10px; font-size: 1.25rem; }
.section-title-icon { width: 34px; height: 34px; border-radius: 9px; font-size: 1.05rem; }
.section-title-icon--light { border-color: rgba( 255, 255, 255, 0.3 ); background: rgba( 255, 255, 255, 0.12 ); color: var(--color-white); }
.compact-title-icon { width: 30px; height: 30px; border-radius: 8px; font-size: 0.95rem; }
.page-title-row,
.section-title-row,
.compact-title-row,
.product-title-row { display: flex; min-width: 0; align-items: center; gap: 12px; }
.page-title-copy,
.section-title-row > div,
.compact-title-row > div { min-width: 0; }
.page-title-row h1,
.section-title-row h2,
.compact-title-row h2,
.product-title-row h1 { min-width: 0; margin: 0; overflow-wrap: break-word; }
.section-title-row--center { justify-content: center; text-align: left; }
.compact-title-row--light .compact-title-icon { border-color: rgba( 255, 255, 255, 0.3 ); background: rgba( 255, 255, 255, 0.12 ); color: var(--color-white); }

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 11px 20px;
	border: 1px solid transparent;
	border-radius: var(--radius-sm);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}
.button:hover { transform: translateY( -1px ); }
.button--primary { background: var(--color-orange); color: var(--color-navy-dark); box-shadow: 0 8px 20px rgba( 191, 101, 4, 0.2 ); }
.button--primary:hover { background: var(--color-orange-dark); color: var(--color-white); }
.button--outline { border-color: #c59966; background: var(--color-white); color: var(--color-navy); }
.button--outline:hover { border-color: var(--color-orange); color: var(--color-orange-dark); }
.button--ghost { border-color: rgba( 255, 255, 255, 0.22 ); background: rgba( 255, 255, 255, 0.08 ); color: var(--color-white); }
.button--ghost:hover { background: rgba( 255, 255, 255, 0.16 ); color: var(--color-white); }
.button--light { background: var(--color-white); color: var(--color-navy-dark); }
.button--small { min-height: 38px; padding: 8px 13px; font-size: 0.84rem; }
.button--large { min-height: 50px; padding: 14px 24px; }
.button--block { width: 100%; }
.text-link { font-weight: 600; text-decoration: none; }
.text-link--arrow { display: inline-flex; align-items: center; gap: 6px; }

.site-header { position: relative; z-index: 100; background: var(--color-white); box-shadow: 0 1px 0 var(--color-border); }
.site-header__bar { background: var(--color-orange); color: var(--color-navy-dark); font-size: 0.75rem; }
.site-header__bar-inner { display: flex; justify-content: space-between; align-items: center; min-height: 32px; gap: 20px; }
.site-header__bar-title,
.site-header__utility { display: flex; align-items: center; gap: 18px; }
.language-switcher {
	position: relative;
	display: grid;
	width: 78px;
	height: 30px;
	grid-template-columns: repeat( 2, 1fr );
	align-items: center;
	padding: 2px;
	overflow: hidden;
	border: 2px solid rgba( 255, 255, 255, 0.78 );
	border-radius: 999px;
	background: #351803;
	box-shadow: inset 0 1px 3px rgba( 0, 0, 0, 0.3 ), 0 0 0 2px rgba( 63, 29, 5, 0.16 );
	color: var(--color-white);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1;
	text-decoration: none;
	transition: background-color 160ms ease, box-shadow 160ms ease;
}
.language-switcher::before {
	position: absolute;
	z-index: 0;
	top: 2px;
	left: 2px;
	width: 34px;
	height: 22px;
	border-radius: 999px;
	background: #ffd45c;
	box-shadow: 0 2px 5px rgba( 0, 0, 0, 0.24 );
	content: "";
	transform: translateX( 0 );
	transition: transform 190ms cubic-bezier( 0.22, 0.8, 0.3, 1 );
}
.language-switcher--en::before { transform: translateX( 36px ); }
.language-switcher__label { position: relative; z-index: 1; display: grid; height: 22px; color: var(--color-white); opacity: 1; text-shadow: 0 1px 1px rgba( 0, 0, 0, 0.26 ); place-items: center; transition: color 160ms ease, opacity 160ms ease; }
.language-switcher--vi .language-switcher__label--vi,
.language-switcher--en .language-switcher__label--en { color: var(--color-navy-dark); opacity: 1; text-shadow: none; }
.language-switcher:hover { background: #2d1404; color: var(--color-white); box-shadow: inset 0 1px 3px rgba( 0, 0, 0, 0.3 ), 0 0 0 3px rgba( 255, 255, 255, 0.22 ); }
.language-switcher:focus-visible { outline-color: rgba( 63, 29, 5, 0.7 ); }
.language-switcher--disabled { cursor: not-allowed; opacity: 0.7; }
.language-switcher--disabled:hover { background: var(--color-navy-dark); box-shadow: inset 0 1px 3px rgba( 0, 0, 0, 0.24 ); }
.site-header__bar-title strong { font-weight: 600; }
.site-header__bar a { color: var(--color-navy-dark); font-weight: 600; text-decoration: none; }
.site-header__bar .language-switcher__label { color: var(--color-white); }
.site-header__bar .language-switcher--vi .language-switcher__label--vi,
.site-header__bar .language-switcher--en .language-switcher__label--en { color: var(--color-navy-dark); }
.site-header__bar-phone { padding-left: 18px; border-left: 1px solid rgba( 112, 40, 0, 0.25 ); font-size: 0.8rem; }
.site-header__main { display: grid; min-width: 0; grid-template-columns: minmax( 220px, auto ) minmax( 300px, 1fr ) auto; align-items: center; gap: 28px; min-height: 84px; }
.site-brand { display: inline-flex; min-width: 0; align-items: center; gap: 12px; color: var(--color-navy-dark); text-decoration: none; }
.site-brand:hover { color: var(--color-navy-dark); }
.site-brand__logo { width: 210px; height: auto; }
.site-brand__text { display: flex; flex-direction: column; white-space: nowrap; }
.site-brand__text strong { font-size: 0.84rem; font-weight: 600; }
.site-brand__text small { color: var(--color-muted); font-size: 0.72rem; }
.site-header__actions { display: grid; grid-template-columns: auto auto; align-items: center; gap: 14px; }
.site-header__contact { display: flex; flex-direction: column; color: var(--color-navy-dark); text-decoration: none; }
.site-header__contact span { color: var(--color-muted); font-size: 0.72rem; font-weight: 500; }
.site-header__contact strong { color: var(--color-orange-dark); font-size: 1rem; }
.site-header__quote-link { padding: 9px 12px; border: 1px solid var(--color-orange-dark); border-radius: 4px; color: var(--color-orange-dark); font-size: 0.8rem; font-weight: 600; text-decoration: none; }
.site-header__quote-link:hover { background: var(--color-orange-dark); color: var(--color-white); }

.site-header__search,
.product-search { min-width: 0; }
.product-search { display: flex; align-items: stretch; width: 100%; padding: 4px; border: 2px solid var(--color-orange); border-radius: 5px; background: var(--color-white); box-shadow: none; }
.product-search input { width: auto; min-width: 0; flex: 1 1 0; padding: 10px 13px; border: 0; color: var(--color-ink); }
.product-search button { flex: 0 0 auto; padding: 10px 18px; border: 0; border-radius: 3px; background: var(--color-orange); color: var(--color-navy-dark); font-weight: 600; cursor: pointer; }
.product-search button:hover { background: var(--color-orange-dark); color: var(--color-white); }
.product-search--compact { padding: 4px; box-shadow: none; }
.product-search--compact input { padding: 9px 11px; font-size: 0.88rem; }
.product-search--compact button { padding: 8px 13px; font-size: 0.82rem; }

.site-navigation { background: var(--color-orange); }
.site-navigation__inner { display: flex; align-items: stretch; min-height: 48px; }
.catalog-nav { position: relative; flex: 0 0 240px; margin: 0; }
.catalog-nav summary { list-style: none; }
.catalog-nav summary::-webkit-details-marker { display: none; }
.catalog-nav-label { display: flex; height: 100%; align-items: center; gap: 12px; padding: 0 20px; background: var(--color-orange-dark); color: var(--color-white); cursor: pointer; font-size: 0.82rem; font-weight: 600; text-decoration: none; text-transform: uppercase; }
.catalog-nav[open] .catalog-nav-label { background: var(--color-navy); }
.catalog-nav-label__icon { display: grid; gap: 4px; width: 18px; }
.catalog-nav-label__icon i { display: block; height: 2px; background: currentColor; }
.catalog-nav-label__mobile-icon,
.catalog-nav-label__mobile-text { display: none; }
.catalog-nav__dropdown,
.catalog-nav__children { margin: 0; padding: 0; background: var(--color-white); list-style: none; }
.catalog-nav__dropdown { position: absolute; z-index: 120; top: 100%; left: 0; width: 350px; max-height: min( 72vh, 680px ); padding: 7px 0; overflow-x: visible; overflow-y: auto; border: 1px solid #ead7be; box-shadow: var(--shadow-md); }
.catalog-nav__item + .catalog-nav__item { border-top: 1px solid #f0e6d8; }
.catalog-nav__dropdown a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 14px; color: var(--color-ink); font-size: 0.82rem; font-weight: 500; line-height: 1.42; text-decoration: none; }
.catalog-nav__dropdown a span { min-width: 0; }
.catalog-nav__children { padding: 0 0 6px 17px; border-top: 1px solid #f6eee3; }
.catalog-nav__children .catalog-nav__item { border-top: 0; }
.catalog-nav__children a { padding-block: 7px; color: var(--color-muted); font-size: 0.77rem; }
.catalog-nav__children .ui-icon { display: none; }
.catalog-nav__dropdown a:hover { background: #fff8df; color: var(--color-orange-dark); }
.catalog-nav__more { display: none; }
.primary-menu { display: flex; align-items: stretch; gap: 0; margin: 0; padding: 0 0 0 12px; list-style: none; }
.primary-menu li { display: flex; align-items: stretch; }
.primary-menu a { display: flex; align-items: center; padding: 12px 15px; color: var(--color-navy-dark); font-size: 0.84rem; font-weight: 600; text-decoration: none; }
.primary-menu a:hover,
.primary-menu .current-menu-item > a { background: rgba( 112, 40, 0, 0.1 ); color: var(--color-navy-dark); }
.site-navigation__mobile-quote,
.menu-toggle { display: none; }

.breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; padding-block: 10px; color: var(--color-muted); font-size: 0.77rem; }
.breadcrumbs a { color: var(--color-muted); text-decoration: none; }

.legacy-hero { padding: 20px 0 34px; background: var(--color-white); }
.legacy-hero__grid { display: grid; grid-template-columns: minmax( 0, 7fr ) minmax( 300px, 3fr ); align-items: stretch; gap: 20px; }
.legacy-slider { position: relative; width: 100%; min-width: 0; height: auto; min-height: 0; align-self: start; overflow: hidden; border-radius: 4px; background: #eee9e2; aspect-ratio: 128 / 45; }
.legacy-slider__viewport { position: absolute; inset: 0; }
.legacy-slider__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 360ms ease, visibility 360ms ease; }
.legacy-slider__slide.is-active { opacity: 1; visibility: visible; }
.legacy-slider__slide::after { position: absolute; inset: 0; background: linear-gradient( 180deg, rgba( 29, 14, 4, 0.02 ) 30%, rgba( 29, 14, 4, 0.76 ) 100% ); content: ''; }
.legacy-slider__slide > img { width: 100%; height: 100%; object-fit: cover; }
.legacy-slider__caption { position: absolute; z-index: 2; bottom: 28px; left: 34px; width: min( 440px, calc( 100% - 68px ) ); max-width: 440px; padding: 11px 13px; border-left: 3px solid var(--color-orange); border-radius: 4px; background: rgba( 45, 20, 4, 0.76 ); color: var(--color-white); backdrop-filter: blur( 2px ); }
.legacy-slider__caption--dark { max-width: 440px; background: rgba( 45, 20, 4, 0.76 ); color: var(--color-white); }
.legacy-slider__caption span { display: block; margin-bottom: 4px; color: #ffe7a1; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.legacy-slider__caption--dark span { color: #ffe7a1; }
.legacy-slider__caption h1,
.legacy-slider__caption h2 { max-width: 410px; margin-bottom: 8px; color: inherit; font-size: clamp( 1.1rem, 1.65vw, 1.45rem ); font-weight: 600; line-height: 1.22; }
.legacy-slider__caption a { display: inline-flex; align-items: center; min-height: 34px; padding: 7px 11px; border-radius: 3px; background: var(--color-orange); color: var(--color-navy-dark); font-size: 0.74rem; font-weight: 600; text-decoration: none; }
.legacy-slider__caption a:hover { background: var(--color-orange-dark); color: var(--color-white); }
.legacy-slider__arrow { position: absolute; z-index: 3; top: 50%; display: grid; width: 40px; height: 48px; padding: 0; border: 0; background: rgba( 63, 29, 5, 0.55 ); color: var(--color-white); cursor: pointer; font-size: 1.25rem; transform: translateY( -50% ); place-items: center; }
.legacy-slider__arrow:hover { background: var(--color-orange-dark); }
.legacy-slider__arrow--prev { left: 0; }
.legacy-slider__arrow--next { right: 0; }
.legacy-slider__arrow--prev .ui-icon { transform: rotate( 180deg ); }
.legacy-slider__dots { position: absolute; z-index: 3; right: 0; bottom: 17px; left: 0; display: flex; justify-content: center; gap: 7px; }
.legacy-slider__dots button { position: relative; width: 32px; height: 32px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.legacy-slider__dots button::before { position: absolute; top: 50%; left: 50%; width: 9px; height: 9px; border: 1px solid var(--color-white); border-radius: 50%; background: transparent; content: ''; transform: translate( -50%, -50% ); }
.legacy-slider__dots button[aria-current='true']::before { background: var(--color-orange); border-color: var(--color-orange); }
.legacy-slider__toggle { position: absolute; z-index: 4; right: 10px; bottom: 7px; display: grid; width: 44px; height: 44px; padding: 0; border: 1px solid rgba( 255, 255, 255, 0.7 ); border-radius: 50%; background: rgba( 63, 29, 5, 0.7 ); color: var(--color-white); cursor: pointer; font-size: 0.9rem; place-items: center; }
.legacy-slider__toggle > span { display: grid; place-items: center; }
.legacy-slider__toggle:hover,
.legacy-slider__toggle[aria-pressed='true'] { background: var(--color-orange-dark); }
.legacy-updates { display: flex; min-height: 0; height: 100%; overflow: hidden; border: 1px solid #ead5b3; border-radius: 4px; background: var(--color-white); contain: size; flex-direction: column; }
.legacy-updates__heading { display: grid; min-height: 54px; padding: 8px 16px; background: var(--color-orange); text-align: center; place-items: center; }
.legacy-updates__heading h2 { margin: 0; color: var(--color-navy-dark); font-size: 1.08rem; font-weight: 600; }
.legacy-updates__list { display: grid; min-height: 0; flex: 1; grid-template-rows: repeat( 3, minmax( 0, 1fr ) ); overflow: hidden; }
.legacy-update { display: grid; grid-template-columns: 58px minmax( 0, 1fr ); align-items: center; gap: 11px; min-height: 0; padding: 7px 12px; border-bottom: 1px solid #eee4d5; }
.legacy-update__image { display: grid; width: 58px; height: 48px; overflow: hidden; background: #faf7f2; color: var(--color-orange-dark); font-size: 0.68rem; text-decoration: none; place-items: center; }
.legacy-update__image img { width: 100%; height: 100%; object-fit: contain; padding: 2px; }
.legacy-update h3 { display: -webkit-box; margin: 0; overflow: hidden; font-size: 0.86rem; font-weight: 600; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.legacy-update h3 a { color: var(--color-ink); text-decoration: none; }
.legacy-update h3 a:hover { color: var(--color-orange-dark); }
.legacy-updates__footer { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; color: var(--color-orange-dark); font-size: 0.82rem; font-weight: 600; text-decoration: none; }
.legacy-updates__empty { padding: 24px; color: var(--color-muted); text-align: center; }

.section { padding: clamp( 44px, 5vw, 64px ) 0; }
.legacy-about { padding: 52px 0; background: linear-gradient( 135deg, #fff, #fffbf1 ); }
.legacy-about__grid { display: grid; grid-template-columns: minmax( 0, 1.08fr ) minmax( 340px, 0.92fr ); align-items: stretch; gap: clamp( 32px, 6vw, 72px ); }
.legacy-about__content { display: flex; justify-content: center; flex-direction: column; }
.legacy-about__content h2 { max-width: 620px; margin-bottom: 18px; font-size: clamp( 1.55rem, 2.4vw, 2.05rem ); font-weight: 500; line-height: 1.38; }
.legacy-about__content p { max-width: 590px; color: var(--color-muted); }
.legacy-about__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 22px; }
.legacy-about__profile { align-self: stretch; padding: clamp( 24px, 3vw, 32px ); border: 1px solid #e5cfae; border-radius: 12px; background: #fffaf0; box-shadow: var(--shadow-sm); }
.legacy-about__profile-label { display: block; margin-bottom: 5px; color: var(--color-orange-dark); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.legacy-about__profile h3 { margin-bottom: 16px; font-size: 1.18rem; line-height: 1.42; }
.legacy-about__profile dl { margin: 0; }
.legacy-about__profile dl > div { display: grid; grid-template-columns: 112px minmax( 0, 1fr ); gap: 14px; padding: 11px 0; border-top: 1px solid #eadbc4; }
.legacy-about__profile dt { color: var(--color-orange-dark); font-size: 0.76rem; font-weight: 700; }
.legacy-about__profile dd { margin: 0; color: var(--color-muted); font-size: 0.84rem; line-height: 1.5; }

.legacy-categories { padding: 56px 0; background: #fff9e8; }
.legacy-section-title { margin-bottom: 30px; text-align: center; }
.legacy-section-title > div > span { display: block; margin-bottom: 3px; color: var(--color-orange-dark); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
.legacy-section-title h2 { margin: 0; font-weight: 500; }
.legacy-section-title--center { text-align: center; }
.legacy-category-grid { display: grid; grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); gap: 14px; }
.legacy-category-card { min-width: 0; overflow: hidden; border: 1px solid #e7d4b9; border-radius: 3px; background: var(--color-white); color: var(--color-ink); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.legacy-category-card:hover { color: var(--color-orange-dark); box-shadow: var(--shadow-sm); transform: translateY( -3px ); }
.legacy-category-card__image { display: block; aspect-ratio: 1 / 0.82; overflow: hidden; background: #f8f5ef; }
.legacy-category-card__image img { width: 100%; height: 100%; object-fit: contain; padding: 10px; transition: transform 220ms ease; }
.legacy-category-card:hover img { transform: scale( 1.035 ); }
.legacy-category-card__title { display: grid; min-height: 64px; padding: 10px 12px; border-top: 3px solid var(--color-orange); font-size: 0.84rem; font-weight: 600; line-height: 1.35; text-align: center; place-items: center; }

.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading p { max-width: 680px; margin: 10px 0 0; color: var(--color-muted); }
.section-heading--compact { align-items: center; margin-bottom: 20px; }
.section-heading--compact h2 { font-size: 1.5rem; }

.product-grid { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 18px; }
.product-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #e4d2bd; border-radius: 7px; background: var(--color-white); transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.product-card:hover { transform: translateY( -3px ); border-color: var(--color-orange-dark); box-shadow: var(--shadow-md); }
.product-card__media { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; border-bottom: 3px solid var(--color-orange); background: linear-gradient( 145deg, #f7f4ef, #fff ); text-decoration: none; }
.product-card__media img { width: 100%; height: 100%; object-fit: contain; padding: 12px; transition: transform 180ms ease; }
.product-card:hover .product-card__media img { transform: scale( 1.025 ); }
.product-card__no-image { position: absolute; bottom: 16px; color: var(--color-muted); font-size: 0.7rem; font-weight: 600; }
.media-placeholder { position: relative; display: block; width: 82px; height: 62px; border: 3px solid #cbb99f; border-radius: 12px; transform: rotate( -4deg ); }
.media-placeholder::before,
.media-placeholder::after,
.media-placeholder > span { position: absolute; border-radius: 50%; background: #d8c9b5; content: ''; }
.media-placeholder::before { top: 11px; left: 13px; width: 13px; height: 13px; }
.media-placeholder::after { right: 9px; bottom: 9px; width: 42px; height: 18px; border-radius: 50% 50% 8px 8px; transform: rotate( -18deg ); }
.product-card__body { display: flex; flex: 1; flex-direction: column; padding: 13px; }
.product-card__topline { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 7px; margin-bottom: 7px; }
.product-card__category { min-width: 0; overflow: hidden; color: var(--color-orange-dark); font-size: 0.68rem; font-weight: 600; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.product-card__eyebrow { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 4px; }
.status-badge,
.condition-badge { display: inline-flex; align-items: center; padding: 3px 6px; border-radius: 999px; font-size: 0.65rem; font-weight: 600; letter-spacing: 0; }
.status-badge { background: #fff6cc; color: #775b00; }
.condition-badge { background: var(--color-navy-soft); color: var(--color-navy); }
.product-card__title { display: -webkit-box; min-height: 2.7em; margin-bottom: 8px; overflow: hidden; font-size: 0.92rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.product-card__title a { color: var(--color-navy-dark); text-decoration: none; }
.product-card__price { margin-bottom: 8px; }
.product-card__price strong { font-size: 1rem; }
.product-card__price del { font-size: 0.7rem; }
.product-card__meta { display: flex; flex-wrap: wrap; gap: 2px 10px; margin-bottom: 10px; color: var(--color-muted); font-size: 0.7rem; }
.product-card__meta strong { color: var(--color-ink); }
.product-card__actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: auto; padding-top: 9px; border-top: 1px solid #eee2d3; }
.product-card__actions .text-link { font-size: 0.74rem; }

.legacy-reasons { padding: 44px 0; background: var(--color-white); }
.legacy-reason-grid { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 12px; }
.legacy-reason { display: grid; grid-template-columns: 42px minmax( 0, 1fr ); align-items: start; gap: 10px; min-height: 108px; padding: 14px; border: 1px solid #eadac5; border-radius: 8px; background: #fffdf9; }
.legacy-reason__icon { display: grid; width: 38px; height: 38px; border-radius: 10px; background: var(--color-orange-soft); color: var(--color-orange-dark); place-items: center; }
.legacy-reason__icon .ui-icon { width: 20px; height: 20px; }
.legacy-reason:nth-child( 3n ) .legacy-reason__icon { background: var(--color-orange-dark); color: var(--color-white); }
.legacy-reason h3 { margin: 0 0 4px; font-size: 0.86rem; font-weight: 600; line-height: 1.35; }
.legacy-reason p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--color-muted); font-size: 0.73rem; line-height: 1.48; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.legacy-product-section { padding: 48px 0; border-top: 1px solid #f0e7dc; }
.legacy-product-section--soft { background: #fffaf0; }
.legacy-product-section__heading { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 54px; margin-bottom: 24px; padding: 11px 16px; border-left: 5px solid var(--color-orange-dark); background: var(--color-orange); }
.legacy-product-section__heading h2 { margin: 0; font-size: 1.2rem; font-weight: 600; }
.legacy-product-section__heading a { color: var(--color-navy-dark); font-size: 0.82rem; font-weight: 600; text-decoration: none; }
.product-grid--band { grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); gap: 16px; }

.section--support { padding-block: 0; }
.support-panel { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: clamp( 34px, 5vw, 58px ); border-radius: 0 0 var(--radius-lg) var(--radius-lg); background: linear-gradient( 120deg, var(--color-orange-dark), var(--color-navy) ); color: #fff0dc; }
.support-panel__content { display: flex; align-items: flex-start; gap: 14px; }
.support-panel h2 { color: var(--color-white); }
.support-panel p { max-width: 700px; margin-bottom: 0; }
.support-panel__actions { display: grid; min-width: 196px; gap: 7px; }
.support-panel__phone { justify-content: flex-start; min-height: 46px; padding: 7px 12px; text-align: left; }
.support-panel__phone > span { display: flex; flex-direction: column; line-height: 1.18; }
.support-panel__phone small { color: var(--color-muted); font-size: 0.64rem; font-weight: 500; }
.support-panel__phone strong { font-size: 0.78rem; font-weight: 650; }
.legacy-content-section { padding: 56px 0 64px; }
.content-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; }
.content-card { display: grid; min-height: 112px; grid-template-columns: 104px minmax( 0, 1fr ); align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid var(--color-border); }
.content-card__media { display: block; width: 104px; height: 82px; overflow: hidden; border-radius: 8px; background: #f5eee5; }
.content-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 180ms ease; }
.content-card__media:hover img { transform: scale( 1.03 ); }
.content-card__body { min-width: 0; }
.content-card__type { display: inline-flex; align-items: center; gap: 6px; color: var(--color-orange-dark); font-size: 0.75rem; font-weight: 600; }
.content-card h3 { margin: 5px 0; font-size: 0.9rem; line-height: 1.35; }
.content-card h3 a { color: var(--color-navy-dark); text-decoration: none; }
.content-card p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--color-muted); font-size: 0.76rem; line-height: 1.48; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.page-hero { padding: 28px 0; border-bottom: 3px solid var(--color-orange); background: linear-gradient( 135deg, #fff9e8, #f5eee5 ); }
.page-hero--compact { padding: 28px 0; }
.page-hero__inner { display: grid; min-width: 0; grid-template-columns: minmax( 0, 1fr ) minmax( 300px, 0.78fr ); align-items: center; gap: clamp( 28px, 5vw, 64px ); }
.page-hero__inner--narrow { max-width: 1040px; }
.page-hero__inner > .page-title-row:only-child { grid-column: 1 / -1; }
.page-hero h1 { max-width: 760px; font-size: clamp( 1.65rem, 2.8vw, 2.2rem ); }
.page-hero__side { display: grid; min-width: 0; justify-items: start; gap: 14px; }
.page-hero p,
.page-hero__description { max-width: 680px; margin: 0; color: var(--color-muted); font-size: 0.94rem; }
.page-hero__description p { margin: 0; }
.page-hero__description .content-dates { gap: 4px 14px; margin: 7px 0 0; font-size: 0.75rem; }

.catalog-page .page-hero--compact { padding-block: 22px; }
.catalog-category-strip { display: grid; grid-template-columns: repeat( 7, minmax( 0, 1fr ) ); gap: 6px; padding-top: 16px; }
.catalog-category-strip a { display: flex; min-width: 0; min-height: 44px; align-items: center; justify-content: center; gap: 6px; padding: 7px 8px; border: 1px solid var(--color-border); border-radius: 7px; background: var(--color-white); color: var(--color-ink); font-size: 0.7rem; font-weight: 600; line-height: 1.25; text-align: center; text-decoration: none; }
.catalog-category-strip a:hover,
.catalog-category-strip a.is-active { border-color: var(--color-orange-dark); background: var(--color-orange); color: var(--color-navy-dark); }
.catalog-category-strip small { display: grid; min-width: 21px; height: 21px; flex: 0 0 auto; border-radius: 999px; background: rgba( 255, 255, 255, 0.72 ); color: var(--color-muted); font-size: 0.62rem; place-items: center; }
.catalog-layout { display: grid; grid-template-columns: 238px minmax( 0, 1fr ); gap: 24px; padding-block: 22px 64px; }
.section--listing,
.section--form { padding-block: 36px 64px; }
.catalog-filters { position: sticky; top: 16px; align-self: start; padding: 16px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.catalog-filters__heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.catalog-filters h2 { margin: 0; font-size: 1.08rem; }
.catalog-filters .form-field { margin-bottom: 12px; }
.catalog-filters label { display: block; margin-bottom: 7px; color: var(--color-navy-dark); font-size: 0.78rem; font-weight: 600; }
.catalog-filters input,
.catalog-filters select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid #cfbda8; border-radius: 7px; background: var(--color-white); color: var(--color-ink); }
.filter-note { color: var(--color-muted); font-size: 0.7rem; line-height: 1.45; }
.filter-reset { display: block; margin-top: 12px; text-align: center; font-size: 0.8rem; font-weight: 600; }
.filter-toggle,
.filter-close { display: none; }
.catalog-filter-backdrop { display: none; }
.catalog-results { min-width: 0; }
.catalog-results__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 42px; margin-bottom: 14px; }
.catalog-results__heading h2 { margin: 0; font-size: 1.25rem; }
.catalog-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: -3px 0 14px; }
.catalog-active-filters span { padding: 4px 8px; border: 1px solid #ead6a3; border-radius: 999px; background: var(--color-orange-soft); color: var(--color-navy-dark); font-size: 0.68rem; }
.catalog-active-filters a { margin-left: 2px; font-size: 0.7rem; font-weight: 600; }
.product-grid--catalog { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 16px; }

.navigation.pagination { margin-top: 38px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--color-border); border-radius: 7px; text-decoration: none; }
.page-numbers.current { border-color: var(--color-navy); background: var(--color-navy); color: var(--color-white); }

.empty-state { padding: 44px 26px; border: 1px dashed #cfbda8; border-radius: var(--radius-md); background: #fffdf8; text-align: center; }
.empty-state h2 { font-size: 1.3rem; }
.empty-state p { max-width: 560px; margin: 0 auto; color: var(--color-muted); }
.empty-state__icon { display: grid; width: 48px; height: 48px; margin: 0 auto 16px; border: 1px solid #e5c792; border-radius: 14px; background: var(--color-orange-soft); color: var(--color-orange-dark); font-size: 1.45rem; place-items: center; }
.empty-state__action { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 18px; text-align: center; }

.sample-notice { margin-top: 20px; padding: 10px 14px; border: 1px solid #ecd577; border-radius: 8px; background: #fff9dc; color: #685000; font-size: 0.8rem; }
.product-page__shell { padding-bottom: 64px; }
.product-page__layout { display: grid; grid-template-columns: minmax( 0, 1fr ) 286px; align-items: start; gap: 30px; }
.product-main { min-width: 0; }
.product-intro { display: grid; grid-template-columns: minmax( 0, 0.88fr ) minmax( 0, 1.12fr ); align-items: start; gap: clamp( 22px, 3vw, 34px ); padding: 26px 0 32px; }
.product-gallery { min-width: 0; }
.product-gallery__stage,
.product-gallery__placeholder { width: 100%; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: linear-gradient( 145deg, #f5f0e8, #fffdf9 ); }
.product-gallery__stage { display: grid; place-items: center; }
.product-gallery__main-image { width: 100%; height: 100%; object-fit: contain; padding: 14px; }
.product-gallery__thumbs { display: grid; grid-template-columns: repeat( 5, minmax( 0, 1fr ) ); gap: 7px; margin-top: 9px; }
.product-gallery__thumb { display: grid; aspect-ratio: 1; padding: 3px; overflow: hidden; border: 1px solid var(--color-border); border-radius: 7px; background: var(--color-white); cursor: pointer; place-items: center; }
.product-gallery__thumb:hover,
.product-gallery__thumb.is-active { border-color: var(--color-orange-dark); box-shadow: inset 0 0 0 1px var(--color-orange); }
.product-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }
.product-gallery__placeholder { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px; padding: 24px; color: var(--color-muted); text-align: center; }
.product-gallery__placeholder-icon { width: 48px; height: 48px; color: #b58a58; }
.product-gallery__placeholder small { max-width: 280px; }
.product-summary { min-width: 0; }
.product-summary__category { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.product-summary__category a { padding: 4px 8px; border-radius: 999px; background: var(--color-navy-soft); font-size: 0.72rem; font-weight: 600; text-decoration: none; }
.product-summary h1 { margin: 0; font-size: clamp( 1.45rem, 2.35vw, 1.9rem ); line-height: 1.28; }
.product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; color: var(--color-orange-dark); }
.product-price strong { font-size: 1.05rem; line-height: 1.2; }
.product-price del { color: var(--color-muted); font-size: 0.78rem; }
.product-price--single { margin: 14px 0 16px; }
.product-price--single strong { font-size: clamp( 1.35rem, 2.5vw, 1.75rem ); }
.product-price--contact strong { color: var(--color-navy); }
.product-facts { display: flex; flex-wrap: wrap; gap: 1px; margin: 0 0 16px; overflow: hidden; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-border); }
.product-facts > div { min-width: 0; flex: 1 1 180px; padding: 9px 11px; background: var(--color-white); }
.product-facts span,
.product-facts strong { display: block; overflow-wrap: anywhere; }
.product-facts span { color: var(--color-muted); font-size: 0.7rem; }
.product-facts strong { margin-top: 1px; font-size: 0.82rem; }
.product-summary__excerpt,
.product-summary__pending { color: var(--color-muted); font-size: 0.88rem; }
.product-summary__excerpt > *:last-child { margin-bottom: 0; }
.product-summary__actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.product-action { min-height: 54px; padding-block: 8px; text-align: left; }
.product-action > span { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.2; }
.product-action strong { font-size: 0.82rem; font-weight: 650; }
.product-action small { margin-top: 3px; color: currentColor; font-size: 0.64rem; font-weight: 500; opacity: 0.78; }
.product-summary__note { margin: 12px 0 0; color: var(--color-muted); font-size: 0.72rem; line-height: 1.5; }
.product-anchor-nav { position: sticky; top: 0; z-index: 20; display: flex; gap: 18px; padding: 9px 13px; overflow-x: auto; border: 1px solid var(--color-border); border-radius: 8px; background: rgba( 255, 255, 255, 0.97 ); box-shadow: var(--shadow-sm); }
.product-anchor-nav a { flex: 0 0 auto; font-size: 0.78rem; font-weight: 600; text-decoration: none; }
.product-section { padding: 34px 0; border-bottom: 1px solid var(--color-border); scroll-margin-top: 58px; }
.product-section__heading { display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 10px; margin-bottom: 16px; }
.product-section__heading > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--color-navy); color: var(--color-white); font-size: 0.92rem; }
.product-section__heading h2 { margin: 0; font-size: clamp( 1.18rem, 1.9vw, 1.48rem ); }
.prose { max-width: none; color: #4f4943; font-size: 0.94rem; }
.prose > *:first-child { margin-top: 0; }
.prose h2,
.prose h3 { margin-top: 1.5em; }
.prose h2 { display: flex; align-items: center; gap: 10px; }
.prose h2::before { width: 12px; height: 12px; flex: 0 0 auto; border: 3px solid var(--color-orange); border-radius: 4px; content: ''; transform: rotate( 45deg ); }
.prose a { word-break: break-word; }
.prose img { display: block; width: auto; max-width: 100%; margin: 18px auto; }
.prose p:has( img ) { text-align: center; }
.prose figure,
.prose .wp-caption { float: none !important; width: fit-content !important; max-width: 100%; margin: 24px auto !important; text-align: center; }
.prose figure img,
.prose .wp-caption img { margin: 0 auto; }
.prose figcaption,
.prose .wp-caption-text,
.prose .gallery-caption { max-width: 760px; margin: 8px auto 0; color: var(--color-muted); font-size: 0.75rem; font-style: normal; line-height: 1.55; text-align: center; }
.prose p:has( img ) + p:has( > em:only-child ) { max-width: 760px; margin: -8px auto 20px; color: var(--color-muted); font-size: 0.75rem; line-height: 1.55; text-align: center; }
.prose iframe { max-width: 100%; }
.prose table { width: 100%; border-collapse: collapse; }
.prose th,
.prose td { padding: 10px; border: 1px solid var(--color-border); text-align: left; }
.prose h2[id],
.prose h3[id] { scroll-margin-top: 70px; }
.content-toc { margin: 0 0 24px; border: 1px solid #eadfcf; border-radius: 10px; background: #fffaf1; }
.content-toc details { padding: 0; }
.content-toc summary { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 8px; padding: 11px 13px; color: var(--color-navy-dark); cursor: pointer; list-style: none; }
.content-toc summary::-webkit-details-marker { display: none; }
.content-toc summary > span { display: grid; width: 28px; height: 28px; border-radius: 7px; background: var(--color-navy); color: var(--color-white); place-items: center; }
.content-toc summary .ui-icon { width: 16px; height: 16px; }
.content-toc summary strong { font-size: 0.86rem; }
.content-toc summary small { color: var(--color-muted); font-size: 0.66rem; font-weight: 500; }
.content-toc ol { margin: 0; padding: 10px 18px 14px 36px; border-top: 1px solid #eadfcf; column-count: 2; column-gap: 34px; column-fill: balance; }
.content-toc li { margin: 0 0 6px; padding-left: 2px; break-inside: avoid; color: var(--color-orange-dark); font-size: 0.76rem; line-height: 1.4; }
.content-toc li a { display: block; min-height: 24px; padding: 3px 0; color: var(--color-ink); line-height: 18px; text-decoration: none; }
.content-toc li a:hover { color: var(--color-orange-dark); text-decoration: underline; }
.content-toc__h3 { margin-left: 14px; }
.content-faq { margin: 38px 0 8px; overflow: hidden; border: 1px solid #eadfcf; border-radius: 10px; background: #fffaf1; }
.prose .content-faq__title { margin: 0; padding: 15px 16px; font-size: clamp( 1.08rem, 1.8vw, 1.3rem ); }
.content-faq__list { border-top: 1px solid #eadfcf; background: var(--color-white); }
.content-faq__item { border-bottom: 1px solid #eadfcf; }
.content-faq__item:last-child { border-bottom: 0; }
.content-faq__summary { display: grid; grid-template-columns: minmax( 0, 1fr ) 28px; align-items: center; gap: 12px; padding: 12px 14px; color: var(--color-navy-dark); cursor: pointer; list-style: none; }
.content-faq__summary::-webkit-details-marker { display: none; }
.prose .content-faq__question { margin: 0; font-size: 0.9rem; line-height: 1.45; }
.content-faq__summary::after { display: grid; width: 26px; height: 26px; border: 1px solid #e5c99e; border-radius: 7px; background: #fffaf1; color: var(--color-orange-dark); content: '+'; font-size: 1rem; font-weight: 700; place-items: center; }
.content-faq__item[open] .content-faq__summary::after { content: '−'; }
.content-faq__answer { padding: 0 54px 14px 14px; color: var(--color-muted); font-size: 0.84rem; line-height: 1.65; }
.content-faq__answer > :first-child { margin-top: 0; }
.content-faq__answer > :last-child { margin-bottom: 0; }
.entry-catalog-cta { display: grid; grid-template-columns: 40px minmax( 0, 1fr ) auto; align-items: center; gap: 14px 18px; padding: 18px; border: 1px solid #eadfcf; border-radius: var(--radius-md); background: linear-gradient( 135deg, #fffaf0, var(--color-white) ); }
.entry-catalog-cta__icon { display: grid; width: 40px; height: 40px; border-radius: 10px; background: var(--color-orange); color: var(--color-navy-dark); place-items: center; }
.entry-catalog-cta h2 { margin: 0 0 3px; font-size: 1rem; }
.entry-catalog-cta p { margin: 0; color: var(--color-muted); font-size: 0.78rem; }
.entry-catalog-cta__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.entry-catalog-cta__actions .button { min-height: 38px; padding: 7px 11px; font-size: 0.72rem; }
.spec-table-wrap { overflow-x: auto; }
.spec-table { width: 100%; border-collapse: collapse; }
.spec-table th,
.spec-table td { padding: 15px 18px; border: 1px solid var(--color-border); text-align: left; vertical-align: top; }
.spec-table thead th { background: var(--color-navy); color: var(--color-white); }
.spec-table tbody th { width: 28%; background: var(--color-surface); }
.term-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.term-chips span { padding: 8px 12px; border-radius: 999px; background: var(--color-navy-soft); color: var(--color-navy); font-size: 0.82rem; font-weight: 600; }
.quote-section { border-bottom: 0; }
.product-aside { position: sticky; top: 18px; display: grid; gap: 16px; margin-top: 26px; }
.product-aside__card { padding: 17px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); box-shadow: var(--shadow-sm); }
.product-aside__support { border-top: 3px solid var(--color-orange); background: linear-gradient( 180deg, #fffaf0, var(--color-white) ); }
.product-aside__heading { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.product-aside__heading > span { display: grid; width: 30px; height: 30px; flex: 0 0 auto; border-radius: 8px; background: var(--color-navy); color: var(--color-white); place-items: center; }
.product-aside__heading h2 { margin: 0; font-size: 1rem; }
.product-aside__card > p { margin-bottom: 14px; color: var(--color-muted); font-size: 0.8rem; line-height: 1.55; }
.product-aside__contact { display: block; margin-bottom: 8px; padding: 9px 10px; border: 1px solid #eadfcf; border-radius: 7px; background: var(--color-white); text-decoration: none; }
.product-aside__contact small,
.product-aside__contact strong { display: block; }
.product-aside__contact small { color: var(--color-muted); font-size: 0.68rem; }
.product-aside__contact strong { color: var(--color-navy-dark); font-size: 0.86rem; overflow-wrap: anywhere; }
.product-aside__support .button { margin-top: 5px; }
.product-aside__categories { padding: 0; margin: 0; list-style: none; }
.product-aside__categories li + li { border-top: 1px solid #eee5d9; }
.product-aside__categories a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 0; color: var(--color-ink); font-size: 0.78rem; text-decoration: none; }
.product-aside__categories small { display: grid; min-width: 24px; height: 24px; border-radius: 999px; background: var(--color-surface); color: var(--color-muted); font-size: 0.65rem; place-items: center; }
.product-aside__all { display: block; margin-top: 10px; font-size: 0.76rem; }
.product-aside__related { display: grid; gap: 10px; }
.product-aside__related > a { display: grid; grid-template-columns: 58px minmax( 0, 1fr ); align-items: center; gap: 10px; color: var(--color-ink); font-size: 0.76rem; line-height: 1.35; text-decoration: none; }
.product-aside__related-image { display: grid; width: 58px; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--color-border); border-radius: 7px; background: var(--color-surface); color: var(--color-muted); place-items: center; }
.product-aside__related-image img { width: 100%; height: 100%; object-fit: contain; padding: 3px; }
.product-aside__related-image .ui-icon { width: 22px; height: 22px; }
.mobile-quote-bar { display: none; }

.quote-form-wrap { padding: 22px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); box-shadow: var(--shadow-sm); }
.quote-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-field > label,
.form-field__label { display: block; margin-bottom: 6px; color: var(--color-navy-dark); font-size: 0.82rem; font-weight: 600; }
.form-field input,
.form-field select,
.form-field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #cfbda8; border-radius: 7px; background: var(--color-white); color: var(--color-ink); }
.form-field textarea { resize: vertical; }
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { border-color: var(--color-navy); outline: 3px solid rgba( 112, 40, 0, 0.12 ); }
.form-field small { display: block; margin-top: 5px; color: var(--color-muted); font-size: 0.75rem; }
.form-field--wide { grid-column: 1 / -1; }
.form-consent label { display: flex; align-items: flex-start; gap: 9px; font-weight: 500; }
.form-consent input { flex: 0 0 auto; width: 18px; min-height: 18px; margin-top: 4px; }
.quote-form__trap { position: absolute; left: -9999px; }
.quote-file-control { display: flex; align-items: center; flex-wrap: wrap; gap: 9px 12px; min-height: 46px; padding: 7px; border: 1px dashed var(--color-border); border-radius: 7px; background: var(--color-white); }
.quote-file-control > input.quote-file-control__input { position: absolute; width: 1px; height: 1px; min-height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect( 0, 0, 0, 0 ); white-space: nowrap; border: 0; }
.quote-file-control__button { min-height: 34px; margin: 0; padding: 7px 12px; cursor: pointer; }
.quote-file-control__status { min-width: 0; color: var(--color-muted); font-size: 0.78rem; overflow-wrap: anywhere; }
.quote-file-control:focus-within { border-color: var(--color-navy); outline: 3px solid rgba( 112, 40, 0, 0.12 ); }
.quote-product-summary { display: grid; gap: 3px; margin-bottom: 24px; padding: 16px; border-left: 4px solid var(--color-orange); background: var(--color-orange-soft); }
.quote-product-summary .eyebrow { margin: 0; }
.quote-product-summary span:last-child { color: var(--color-muted); font-size: 0.78rem; }
.form-notice { margin-bottom: 20px; padding: 14px 16px; border: 1px solid #dfc27b; border-radius: 8px; background: var(--color-navy-soft); color: var(--color-navy-dark); scroll-margin-block: 24px; }
.form-notice span { display: block; }
.form-notice:focus { outline: 3px solid rgba( 29, 99, 50, 0.22 ); outline-offset: 4px; }
.form-notice--success { display: grid; min-height: 150px; grid-template-columns: 48px minmax( 0, 1fr ); align-content: center; align-items: start; gap: 14px; margin: 0; padding: 24px; border-color: #79b98c; background: #ecf8ef; color: #1d6332; box-shadow: 0 14px 34px rgba( 29, 99, 50, 0.12 ); }
.form-notice__icon { display: grid !important; width: 48px; height: 48px; border-radius: 50%; background: #1d6332; color: var(--color-white); font-size: 1.45rem; font-weight: 700; line-height: 1; place-items: center; }
.form-notice__body { display: grid; gap: 5px; }
.form-notice__body strong { font-size: 1.12rem; }
.form-notice__body span { line-height: 1.45; }
.form-notice--error { border-color: #e4aaa6; background: #fff0ef; color: #862d27; }
.quote-layout { display: grid; grid-template-columns: minmax( 0, 0.68fr ) minmax( 0, 1.32fr ); align-items: start; gap: 36px; }
.quote-intro { position: sticky; top: 24px; padding: 22px; border-top: 5px solid var(--color-orange); border-radius: var(--radius-md); background: var(--color-navy-dark); color: #f5e8dc; }
.quote-intro h2 { color: var(--color-white); }
.quote-page-content { border-top: 1px solid var(--color-border); background: var(--color-surface); }
.quote-page-content .entry-layout { padding-block: 42px 64px; }
.check-list { display: grid; gap: 14px; margin: 24px 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 30px; }
.check-list li::before { position: absolute; top: 3px; left: 0; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--color-orange); color: var(--color-white); content: '✓'; font-size: 0.7rem; font-weight: 700; }

.article-grid { display: grid; grid-template-columns: repeat( 3, 1fr ); gap: 18px; }
.article-card { display: flex; overflow: hidden; flex-direction: column; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.article-card:hover { transform: translateY( -3px ); border-color: var(--color-orange-dark); box-shadow: var(--shadow-md); }
.article-card__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--color-surface); }
.article-card__media img { width: 100%; height: 100%; object-fit: cover; }
.article-card__media--placeholder { display: grid; align-content: center; justify-items: center; gap: 8px; background: linear-gradient( 135deg, var(--color-orange-dark), var(--color-navy) ); color: var(--color-white); text-decoration: none; }
.article-card__media--placeholder:hover { color: var(--color-white); }
.article-card__media--placeholder small { color: #ffe9b8; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.article-card__mark { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid rgba( 255, 255, 255, 0.35 ); border-radius: 18px 6px 18px 6px; background: rgba( 255, 255, 255, 0.1 ); color: #ffe29a; font-size: 1.45rem; }
.article-card__body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.article-card__type { display: inline-flex; align-items: center; align-self: flex-start; gap: 6px; margin-bottom: 8px; color: var(--color-orange-dark); font-size: 0.75rem; font-weight: 600; }
.article-card__body h2,
.article-card__body h3 { font-size: 1.1rem; }
.article-card__body h2 a,
.article-card__body h3 a { color: var(--color-navy-dark); text-decoration: none; }
.article-card__body p { color: var(--color-muted); }
.article-card__body > .text-link { margin-top: auto; padding-top: 8px; }
.entry-layout { display: grid; grid-template-columns: minmax( 0, 1fr ) 290px; align-items: start; gap: 48px; padding-block: 48px 72px; }
.entry-layout--article { gap: 36px; }
.entry-layout--single-column { grid-template-columns: minmax( 0, 820px ); justify-content: center; }
.content-dates { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 20px; color: var(--color-muted); font-size: 0.75rem; line-height: 1.5; }
.content-dates span + span { position: relative; padding-left: 18px; }
.content-dates span + span::before { position: absolute; left: 0; color: var(--color-orange); content: "•"; }
.content-dates time { color: var(--color-navy-dark); font-weight: 600; }
.content-dates-wrap { padding-top: 22px; }
.content-dates-wrap .content-dates { margin-bottom: 0; }
.product-summary > .content-dates { margin: 10px 0 14px; }
.entry-main { min-width: 0; }
.entry-content { font-size: 0.98rem; }
.entry-featured-image { margin: 0 0 38px; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); }
.entry-featured-image img { width: 100%; max-height: 560px; object-fit: cover; }
.entry-aside { position: sticky; top: 24px; display: grid; gap: 14px; }
.entry-aside__card { padding: 20px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.entry-aside__card--cta { background: var(--color-surface); }
.entry-aside h2 { margin: 0; font-size: 1.08rem; }
.entry-aside p { color: var(--color-muted); }
.entry-aside__card--cta > p { margin-block: 12px 18px; }
.entry-aside__actions { display: grid; gap: 8px; }
.entry-aside__actions .button { justify-content: center; font-size: 0.72rem; }
.entry-aside__actions .button--outline { background: var(--color-white); }
.entry-aside__related-list { display: grid; gap: 0; margin: 14px 0 0; padding: 0; list-style: none; }
.entry-aside__related-list li { margin: 0; border-top: 1px solid var(--color-border); }
.entry-aside__related-list a { display: grid; grid-template-columns: 52px minmax( 0, 1fr ) 16px; align-items: center; gap: 10px; padding-block: 11px; color: var(--color-navy-dark); font-size: 0.78rem; font-weight: 700; line-height: 1.35; text-decoration: none; }
.entry-aside__related-list a:hover { color: var(--color-orange-dark); }
.entry-aside__related-media { display: grid; overflow: hidden; width: 52px; height: 52px; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface); color: var(--color-orange-dark); place-items: center; }
.entry-aside__related-media img { width: 100%; height: 100%; object-fit: cover; }
.entry-aside__related-media .ui-icon { width: 23px; height: 23px; }
.entry-aside__related-list a > .ui-icon { width: 16px; height: 16px; }
.entry-aside__note { margin: 18px 0 0; padding-top: 18px; border-top: 1px solid var(--color-border); font-size: 0.75rem; }
.entry-mobile-cta { display: grid; grid-template-columns: 40px minmax( 0, 1fr ); align-items: start; gap: 10px 12px; padding: 18px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.entry-mobile-cta__icon { display: grid; width: 40px; height: 40px; border: 1px solid #edc98f; border-radius: 10px; background: var(--color-white); color: var(--color-orange-dark); place-items: center; }
.entry-mobile-cta__icon .ui-icon { width: 21px; height: 21px; }
.entry-mobile-cta h2 { margin: 0; font-size: 1rem; }
.entry-mobile-cta p { margin: 7px 0 0; color: var(--color-muted); font-size: 0.78rem; }
.entry-mobile-cta__actions { display: grid; grid-column: 1 / -1; gap: 8px; margin-top: 4px; }
.entry-mobile-cta__actions .button { width: 100%; }
.related-entries { border-top: 1px solid var(--color-border); background: var(--color-surface); }
.page-content { max-width: 1040px; padding-block: 44px 72px; }
.static-page-content { display: grid; gap: 28px; }
.static-page-banner { display: grid; width: min( 100%, 1024px ); margin: 0 auto; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #f4f7fa; aspect-ratio: 16 / 9; place-items: center; }
.static-page-banner img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.static-page-prose { width: min( 100%, 860px ); margin-inline: auto; }
.static-page-content--policy-detail { max-width: 1200px; }
.policy-page-layout { display: grid; grid-template-columns: minmax( 0, 1fr ) 280px; align-items: start; gap: 36px; }
.policy-page-layout .static-page-prose { width: 100%; margin-inline: 0; }
.policy-navigation { position: sticky; top: 24px; padding: 20px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fffaf1; box-shadow: var(--shadow-sm); }
.policy-navigation h2 { margin: 0; font-size: 1.05rem; }
.policy-navigation > p { margin: 12px 0 16px; color: var(--color-muted); font-size: 0.78rem; line-height: 1.55; }
.policy-navigation__list { display: grid; margin: 0; padding: 0; border-block: 1px solid var(--color-border); list-style: none; }
.policy-navigation__list li + li { border-top: 1px solid var(--color-border); }
.policy-navigation__list a { display: grid; grid-template-columns: minmax( 0, 1fr ) 16px; align-items: center; gap: 10px; padding-block: 11px; color: var(--color-navy-dark); font-size: 0.76rem; font-weight: 700; text-decoration: none; }
.policy-navigation__list a:hover, .policy-navigation__list a[aria-current="page"] { color: var(--color-orange-dark); }
.policy-navigation__list .ui-icon { width: 16px; height: 16px; }
.policy-navigation__actions { display: grid; gap: 8px; margin-top: 16px; }
.policy-navigation__actions .button { justify-content: center; padding-inline: 10px; font-size: 0.68rem; }
.about-page__overview { padding-block: 44px 34px; background: linear-gradient( 180deg, #fffaf1, var(--color-white) ); }
.about-page__overview-grid { display: grid; grid-template-columns: minmax( 0, 1.08fr ) minmax( 320px, 0.92fr ); align-items: stretch; gap: 30px; }
.about-page__hero { min-height: 360px; margin: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.about-page__hero img { width: 100%; height: 100%; object-fit: cover; }
.about-page__profile { padding: 26px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-white); box-shadow: var(--shadow-sm); }
.about-page__profile h2 { font-size: 1.2rem; }
.about-page__profile dl { display: grid; margin: 20px 0 0; }
.about-page__profile dl > div { display: grid; grid-template-columns: 118px minmax( 0, 1fr ); gap: 14px; padding-block: 12px; border-top: 1px solid var(--color-border); }
.about-page__profile dt { color: var(--color-orange-dark); font-size: 0.72rem; font-weight: 700; }
.about-page__profile dd { margin: 0; color: var(--color-ink); font-size: 0.84rem; line-height: 1.55; }
.about-page__body { padding-block: 24px 66px; }
.about-page__body-grid { display: grid; grid-template-columns: minmax( 0, 1fr ) 320px; align-items: start; gap: 42px; }
.about-page__prose { min-width: 0; }
.about-page__media { display: grid; align-self: start; align-content: start; gap: 18px; }
.about-page__media figure { align-self: start; margin: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); box-shadow: var(--shadow-sm); }
.about-page__media img { width: 100%; aspect-ratio: 10 / 9; object-fit: cover; }
.about-page__media figcaption { padding: 11px 13px 13px; color: var(--color-muted); font-size: 0.75rem; line-height: 1.5; }
.about-page__sidebar-card { position: sticky; top: 24px; align-self: start; padding: 20px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fffaf1; box-shadow: var(--shadow-sm); }
.about-page__sidebar-card h2 { margin: 0; font-size: 1.05rem; }
.about-page__sidebar-card > p { margin: 12px 0 16px; color: var(--color-muted); font-size: 0.78rem; line-height: 1.55; }
.about-page__sidebar-links { display: grid; margin: 0; padding: 0; border-block: 1px solid var(--color-border); list-style: none; }
.about-page__sidebar-links li + li { border-top: 1px solid var(--color-border); }
.about-page__sidebar-links a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-block: 10px; color: var(--color-navy-dark); font-size: 0.76rem; font-weight: 700; text-decoration: none; }
.about-page__sidebar-links a:hover { color: var(--color-orange-dark); }
.about-page__sidebar-links a > span { display: flex; min-width: 0; align-items: center; gap: 8px; }
.about-page__sidebar-links a > span .ui-icon { width: 18px; height: 18px; flex: 0 0 auto; color: var(--color-orange-dark); }
.about-page__sidebar-links a > .ui-icon { width: 15px; height: 15px; flex: 0 0 auto; }
.about-page__sidebar-calls { display: grid; gap: 8px; margin-top: 16px; }
.about-page__sidebar-calls .button { justify-content: center; padding-inline: 10px; font-size: 0.68rem; }
.about-page__sidebar-calls .button--outline { background: var(--color-white); }
.about-page__contact { padding-block: 36px; background: var(--color-navy-soft); }
.about-page__contact-inner { display: grid; grid-template-columns: minmax( 0, 1fr ) auto; align-items: center; gap: 24px 36px; }
.about-page__contact h2 { margin-bottom: 6px; font-size: clamp( 1.3rem, 2.2vw, 1.75rem ); }
.about-page__contact p { max-width: 760px; margin: 0; color: var(--color-muted); }
.about-page__contact-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.static-page-content--policy-hub .static-page-prose > ul { display: grid; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 12px; margin-top: 24px; padding: 0; list-style: none; }
.static-page-content--policy-hub .static-page-prose > ul li { margin: 0; }
.static-page-content--policy-hub .static-page-prose > ul a { display: flex; min-height: 58px; align-items: center; padding: 13px 16px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); color: var(--color-navy-dark); font-weight: 600; text-decoration: none; }
.static-page-content--policy-hub .static-page-prose > ul a:hover { border-color: var(--color-orange-dark); color: var(--color-orange-dark); box-shadow: var(--shadow-sm); }
.contact-grid { display: grid; grid-template-columns: repeat( auto-fit, minmax( 210px, 1fr ) ); gap: 12px; margin: 28px 0; }
.contact-card { display: grid; gap: 5px; padding: 18px; border: 1px solid var(--color-border); border-radius: var(--radius-md); text-decoration: none; }
.contact-card > span:not( .contact-card__icon ) { color: var(--color-muted); font-size: 0.75rem; font-weight: 600; }
.contact-card__icon { display: grid; width: 30px; height: 30px; margin-bottom: 5px; border-radius: 8px; background: var(--color-orange-soft); color: var(--color-orange-dark); place-items: center; }
.page-cta { display: grid; grid-template-columns: minmax( 0, 1fr ) auto; align-items: center; gap: 6px 24px; margin-top: 28px; padding: 24px; border-radius: var(--radius-md); background: var(--color-navy-soft); }
.page-cta h2 { font-size: 1.25rem; }
.page-cta p { margin: 0; }
.page-cta > .button { grid-column: 2; grid-row: 1 / span 2; }

.not-found { display: grid; place-items: center; min-height: 50vh; padding: 56px 0; text-align: center; }
.not-found__inner { max-width: 680px; }
.not-found__icon { display: grid; width: 52px; height: 52px; margin: 0 auto 10px; border-radius: 14px; background: var(--color-orange-soft); color: var(--color-orange-dark); font-size: 1.8rem; place-items: center; }
.not-found__code { display: block; color: var(--color-orange); font-size: clamp( 4rem, 10vw, 7rem ); font-weight: 700; line-height: 0.9; }
.not-found .hero__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }

.site-footer { background: var(--color-navy-dark); color: #f8f1e8; }
.site-footer__cta { border-bottom: 1px solid rgba( 255, 255, 255, 0.12 ); background: var(--color-orange-dark); color: var(--color-white); }
.site-footer__cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 26px; }
.site-footer__cta .support-panel__content > div > span { color: #fff1d8; font-size: 0.76rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
.site-footer__cta h2 { max-width: 760px; margin: 5px 0 0; color: var(--color-white); font-size: clamp( 1.35rem, 2.4vw, 1.9rem ); font-weight: 500; }
.site-footer__cta .section-title-icon { width: 28px; height: 28px; border: 0; background: transparent; }
.site-footer__cta .button--light { min-width: 176px; border-color: var(--color-white); background: var(--color-white); color: var(--color-navy-dark); }
.site-footer__grid { display: grid; grid-template-columns: minmax( 0, 0.95fr ) minmax( 0, 0.75fr ) minmax( 360px, 1.3fr ); gap: 28px 34px; align-items: start; padding-block: 42px; }
.site-brand--footer { display: flex; width: 100%; align-items: center; flex-direction: row; gap: 12px; margin-bottom: 14px; color: var(--color-white); text-align: left; }
.site-brand--footer:hover { color: var(--color-white); }
.site-brand--footer .site-brand__mark { width: 72px; height: 72px; object-fit: contain; }
.site-brand--footer .site-brand__text { display: flex; align-items: flex-start; white-space: normal; }
.site-brand--footer .site-brand__text small { color: #d8c9ba; }
.site-footer__about { min-width: 0; grid-column: 1; grid-row: 1; text-align: left; }
.site-footer__nav--explore { grid-column: 2; grid-row: 1; }
.site-footer__nav--policies { grid-column: 2; grid-row: 2; }
.site-footer__contact { grid-column: 1; grid-row: 2; }
.site-footer__map { display: flex; min-width: 0; height: 100%; grid-column: 3; grid-row: 1 / 3; flex-direction: column; }
.site-footer__about > p { max-width: 320px; margin-inline: 0; color: #e8ddd2; font-size: 0.84rem; }
.site-footer__grid h2 { color: var(--color-white); font-size: 0.95rem; font-weight: 600; }
.site-footer__title { margin-bottom: 14px; }
.site-footer__title h2 { margin: 0; }
.site-footer__title .compact-title-icon { width: 20px; height: 20px; border: 0; border-radius: 0; background: transparent; color: var(--color-orange); }
.site-footer ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.site-footer a { color: #f5ece3; text-decoration: none; }
.site-footer a:hover { color: var(--color-orange); text-decoration: underline; }
.site-footer .button--light { color: var(--color-navy-dark); }
.site-footer .button--light:hover { background: var(--color-orange); color: var(--color-navy-dark); }
.site-footer__nav li { position: relative; padding-left: 13px; font-size: 0.82rem; line-height: 1.45; }
.site-footer__nav li::before { position: absolute; top: 0.56em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--color-orange); content: ""; }
.site-footer__address { display: flex; align-items: flex-start; flex-direction: row; gap: 8px; margin: 0 0 12px; }
.site-footer__contact-list li { display: grid; grid-template-columns: 22px minmax( 0, max-content ) auto; align-items: center; justify-content: start; gap: 8px; }
.site-footer__address p,
.site-footer__contact-list p { margin: 0; }
.site-footer__address p { text-align: left; }
.site-footer__address strong,
.site-footer__address span,
.site-footer__contact-list p > span,
.site-footer__contact-list p > a { display: block; }
.site-footer__address strong,
.site-footer__contact-list p > span { color: #cdbcae; font-size: 0.68rem; font-weight: 600; }
.site-footer__address p > span { margin-top: 2px; color: #f5ece3; font-size: 0.78rem; line-height: 1.55; }
.site-footer__contact-list { gap: 11px !important; }
.site-footer__contact-list p > a { margin-top: 1px; font-size: 0.8rem; font-weight: 600; overflow-wrap: anywhere; }
.site-footer__contact-icon { display: grid; width: 22px; height: 22px; border: 0; border-radius: 0; background: transparent; color: var(--color-orange); place-items: center; }
.site-footer__contact-icon .ui-icon { width: 14px; height: 14px; }
.site-footer__zalo-link { display: inline-flex; align-items: center; gap: 4px; padding: 5px 7px; border: 1px solid rgba( 115, 166, 255, 0.45 ); border-radius: 7px; background: rgba( 0, 104, 255, 0.18 ); color: #dbe8ff !important; font-size: 0.68rem; font-weight: 650; line-height: 1; }
.site-footer__zalo-link:hover { background: #0068ff; color: #fff !important; text-decoration: none !important; }
.site-footer__zalo-link span { display: inline; }
.site-footer__map-frame { position: relative; min-height: 280px; overflow: hidden; border: 1px solid rgba( 255, 255, 255, 0.16 ); border-radius: 10px; background: rgba( 255, 255, 255, 0.08 ); flex: 1 1 auto; }
.site-footer__map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate( 0.82 ) contrast( 0.96 ); }
.site-footer__map-load { display: grid; width: 100%; height: 100%; min-height: inherit; padding: 24px; border: 0; background: radial-gradient( circle at 50% 42%, rgba( 255, 183, 0, 0.16 ), transparent 36% ), rgba( 255, 255, 255, 0.03 ); color: #fff; cursor: pointer; place-content: center; place-items: center; }
.site-footer__map-load:hover { background-color: rgba( 255, 255, 255, 0.08 ); }
.site-footer__map-load:focus-visible { outline: 3px solid var(--color-orange); outline-offset: -5px; }
.site-footer__map-load-icon { display: grid; width: 42px; height: 42px; margin-bottom: 10px; border: 1px solid rgba( 255, 183, 0, 0.5 ); border-radius: 50%; color: var(--color-orange); place-items: center; }
.site-footer__map-load-icon .ui-icon { width: 22px; height: 22px; }
.site-footer__map-load strong { font-size: 0.86rem; }
.site-footer__map-noscript { position: absolute; right: 16px; bottom: 16px; left: 16px; text-align: center; }
.site-footer__map-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; color: var(--color-orange) !important; font-size: 0.75rem; font-weight: 600; }
.site-footer__bottom { padding: 13px 0; border-top: 1px solid rgba( 255, 255, 255, 0.09 ); background: #2d1404; color: #eee1d5; font-size: 0.74rem; }
.site-footer__bottom .container { display: flex; justify-content: space-between; gap: 24px; }

.quick-contact { position: fixed; z-index: 90; right: 18px; bottom: 20px; display: grid; justify-items: end; gap: 7px; }
.quick-contact [hidden] { display: none !important; }
.quick-contact__panel { display: grid; gap: 7px; }
.quick-contact__toggle { display: none; width: 46px; height: 46px; padding: 0; border: 1px solid rgba( 112, 40, 0, 0.2 ); border-radius: 50%; background: var(--color-orange); color: var(--color-navy-dark); box-shadow: 0 10px 28px rgba( 63, 29, 5, 0.24 ); cursor: pointer; place-items: center; }
.quick-contact__toggle-icon,
.quick-contact__toggle-icon .ui-icon { display: block; width: 22px; height: 22px; }
.quick-contact__row { display: flex; align-items: stretch; justify-content: flex-end; gap: 5px; }
.quick-contact__link { display: flex; align-items: center; gap: 8px; min-width: 122px; min-height: 44px; padding: 6px 11px 6px 7px; border: 1px solid rgba( 63, 29, 5, 0.12 ); border-radius: 999px; background: rgba( 255, 255, 255, 0.97 ); color: var(--color-navy-dark); box-shadow: 0 10px 28px rgba( 63, 29, 5, 0.2 ); text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease; }
.quick-contact__link:hover { color: var(--color-navy-dark); box-shadow: 0 14px 34px rgba( 63, 29, 5, 0.26 ); transform: translateY( -2px ); }
.quick-contact__icon { display: grid; width: 30px; height: 30px; flex: 0 0 auto; border-radius: 50%; color: var(--color-white); font-size: 1rem; place-items: center; }
.quick-contact__link--call .quick-contact__icon { background: var(--color-orange-dark); }
.quick-contact__row--technical .quick-contact__icon { background: var(--color-navy); }
.quick-contact__zalo { display: grid; width: 52px; min-width: 52px; min-height: 44px; border: 1px solid rgba( 0, 70, 180, 0.2 ); border-radius: 999px; background: #0068ff; color: #fff; box-shadow: 0 10px 24px rgba( 17, 35, 58, 0.15 ); place-items: center; transition: transform 160ms ease, box-shadow 160ms ease; }
.quick-contact__zalo:hover { color: #fff; box-shadow: 0 12px 28px rgba( 0, 70, 180, 0.25 ); transform: translateY( -1px ); }
.quick-contact__zalo-word { color: #fff; font-size: 0.66rem; font-weight: 700; letter-spacing: -0.01em; line-height: 1; }
.quick-contact__copy { display: flex; line-height: 1; }
.quick-contact__copy strong { font-size: 0.72rem; font-weight: 650; white-space: nowrap; }

@media ( max-width: 1100px ) {
	.site-header__main { grid-template-columns: auto minmax( 240px, 1fr ) auto; gap: 18px; }
	.site-brand__logo { width: 178px; }
	.site-brand__text { display: none; }
	.site-header__quote-link { display: none; }
	.site-header__actions { grid-template-columns: 1fr; }
	.legacy-hero__grid { grid-template-columns: 1fr; }
	.legacy-slider { aspect-ratio: 128 / 45; }
	.legacy-updates { height: auto; max-height: none; contain: none; }
	.legacy-updates__list { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); grid-template-rows: 1fr; overflow: visible; }
	.legacy-update { min-height: 74px; border-right: 1px solid #eee4d5; }
	.legacy-update:last-child { border-right: 0; }
	.legacy-category-grid { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); }
	.catalog-category-strip { grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); }
	.product-grid--band { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); }
	.product-grid--catalog { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.site-footer__grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.site-footer__about { grid-column: 1; grid-row: 1; }
	.site-footer__contact { grid-column: 1; grid-row: 2; }
	.site-footer__nav--explore,
	.site-footer__nav--policies { grid-column: 2; grid-row: auto; }
	.site-footer__map { height: auto; grid-column: 1 / -1; grid-row: auto; }
	.site-footer__map-frame { min-height: 240px; }
}

@media ( max-width: 960px ) {
	.site-header__main { grid-template-columns: 1fr auto; gap: 12px 20px; min-height: 76px; padding-block: 14px; }
	.site-header__search { display: block; grid-column: 1 / -1; }
	.site-header__actions { display: none; }
	.menu-toggle { display: grid; grid-column: 2; grid-row: 1; justify-self: end; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-white); place-content: center; gap: 4px; }
	.menu-toggle > span:not( .screen-reader-text ) { display: block; width: 22px; height: 2px; background: var(--color-navy); transition: opacity 160ms ease, transform 180ms ease; }
	.menu-toggle[aria-expanded="true"] > span:nth-child( 1 ) { transform: translateY( 6px ) rotate( 45deg ); }
	.menu-toggle[aria-expanded="true"] > span:nth-child( 2 ) { opacity: 0; }
	.menu-toggle[aria-expanded="true"] > span:nth-child( 3 ) { transform: translateY( -6px ) rotate( -45deg ); }
	.menu-toggle[aria-expanded="true"] { border-color: var(--color-orange-dark); background: var(--color-orange-dark); box-shadow: 0 8px 20px rgba( 112, 40, 0, 0.24 ); }
	.menu-toggle[aria-expanded="true"] > span:not( .screen-reader-text ) { background: var(--color-white); }
	body.menu-open { overflow: hidden; }
	.site-navigation { display: none; position: absolute; z-index: 200; right: 10px; left: 10px; max-height: calc( 100vh - 154px ); max-height: calc( 100dvh - 154px ); overflow-x: hidden; overflow-y: auto; border: 1px solid #e7c998; border-top: 4px solid var(--color-orange-dark); border-radius: 0 0 12px 12px; background: var(--color-white); box-shadow: 0 18px 42px rgba( 63, 29, 5, 0.24 ); overscroll-behavior: contain; scrollbar-gutter: stable; touch-action: pan-y; -webkit-overflow-scrolling: touch; }
	.site-navigation.is-open { display: block; }
	.site-navigation__inner { display: block; padding: 12px 10px 18px; }
	.catalog-nav { display: block; width: 100%; margin-bottom: 8px; }
	.catalog-nav-label { position: relative; min-height: 44px; justify-content: center; padding: 8px 42px; border: 1px solid #e6c48b; border-radius: 8px; background: #fff6dc !important; color: var(--color-navy-dark); box-shadow: 0 4px 12px rgba( 112, 40, 0, 0.08 ); cursor: pointer; font-size: 0.84rem; font-weight: 700; text-align: center; text-transform: none; }
	.catalog-nav-label::after { position: absolute; right: 14px; color: var(--color-orange-dark); content: '+'; font-size: 1.15rem; font-weight: 700; line-height: 1; }
	.catalog-nav[open] > .catalog-nav-label::after { content: '−'; }
	.catalog-nav-label__icon,
	.catalog-nav-label__desktop-text { display: none; }
	.catalog-nav-label__mobile-icon { position: absolute; left: 14px; display: grid; width: 22px; height: 22px; color: var(--color-orange-dark); place-items: center; }
	.catalog-nav-label__mobile-icon .ui-icon { width: 18px; height: 18px; }
	.catalog-nav-label__mobile-text { display: inline; }
	.catalog-nav__dropdown { position: static; display: grid; width: 100%; max-height: none; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 6px; padding: 7px 0 12px; overflow: visible; border: 0; box-shadow: none; }
	.catalog-nav:not([open]) > .catalog-nav__dropdown { display: none; }
	.catalog-nav__dropdown > .catalog-nav__item { min-width: 0; border: 1px solid var(--color-border); border-radius: 6px; background: #fffdf9; }
	.catalog-nav__dropdown > .catalog-nav__item + .catalog-nav__item { border-top: 1px solid var(--color-border); }
	.catalog-nav__dropdown > .catalog-nav__item > a { position: relative; min-height: 44px; justify-content: center; padding: 7px 26px 7px 9px; font-size: 0.73rem; line-height: 1.3; text-align: center; }
	.catalog-nav__dropdown > .catalog-nav__item > a .ui-icon { position: absolute; right: 8px; }
	.catalog-nav:not( .is-expanded ) > .catalog-nav__dropdown > .catalog-nav__item:nth-child( n + 5 ) { display: none; }
	.catalog-nav__more { display: flex; width: 100%; min-height: 38px; align-items: center; justify-content: center; gap: 7px; padding: 7px 12px; border: 0; border-top: 1px solid var(--color-border); background: transparent; color: var(--color-orange-dark); cursor: pointer; font-size: 0.76rem; font-weight: 700; }
	.catalog-nav__more .ui-icon { width: 16px; height: 16px; transform: rotate( 90deg ); transition: transform 180ms ease; }
	.catalog-nav.is-expanded .catalog-nav__more .ui-icon { transform: rotate( -90deg ); }
	.catalog-nav__dropdown > .catalog-nav__item > a .ui-icon { width: 14px; height: 14px; flex: 0 0 auto; }
	.catalog-nav__children { display: none; }
	.primary-menu { display: grid; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 5px; padding: 0; }
	.catalog-nav + .primary-menu > li:first-child { display: none; }
	.primary-menu li { min-width: 0; }
	.primary-menu a { width: 100%; min-height: 40px; justify-content: center; padding: 8px 9px; border: 1px solid var(--color-border); border-radius: 7px; background: #fffdf8; box-shadow: 0 2px 8px rgba( 112, 40, 0, 0.05 ); font-size: 0.74rem; line-height: 1.25; text-align: center; }
	.primary-menu .current-menu-item > a { border-color: #dfaa50; background: #fff1c4; box-shadow: inset 3px 0 0 var(--color-orange-dark); }
	.site-navigation__mobile-quote { display: flex; margin-top: 10px; }
	.legacy-about__grid { grid-template-columns: 1fr; }
	.legacy-about__profile { width: 100%; }
	.legacy-category-grid { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); }
	.product-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.product-grid--band { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.catalog-category-strip { display: flex; gap: 7px; padding-top: 12px; overflow-x: auto; scrollbar-width: thin; }
	.catalog-category-strip a { min-height: 40px; flex: 0 0 auto; max-width: 260px; padding-inline: 10px; white-space: nowrap; }
	.catalog-layout { grid-template-columns: 1fr; padding-block: 18px 54px; }
	.filter-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 8px 14px; border: 1px solid var(--color-navy); border-radius: 8px; background: var(--color-white); color: var(--color-navy); font-size: 0.8rem; font-weight: 600; }
	.catalog-filters { position: fixed; z-index: 1001; top: 0; right: 0; bottom: 0; width: min( 88vw, 380px ); padding: 24px; overflow-y: auto; visibility: hidden; border: 0; border-radius: 0; box-shadow: -20px 0 50px rgba( 112, 40, 0, 0.22 ); pointer-events: none; transform: translateX( 110% ); transition: transform 220ms ease, visibility 220ms ease; }
	.catalog-filters.is-open { visibility: visible; pointer-events: auto; transform: translateX( 0 ); }
	.catalog-filter-backdrop { position: fixed; z-index: 1000; inset: 0; display: block; visibility: hidden; border: 0; background: rgba( 63, 29, 5, 0.42 ); opacity: 0; pointer-events: none; transition: opacity 180ms ease, visibility 180ms ease; }
	.filters-open .catalog-filter-backdrop { visibility: visible; opacity: 1; pointer-events: auto; }
	.filter-close { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-white); color: var(--color-navy); font-size: 1.1rem; }
	.product-page__layout { grid-template-columns: 1fr; }
	.product-aside { position: static; grid-template-columns: repeat( auto-fit, minmax( 240px, 1fr ) ); margin-top: 0; }
	.quote-layout { grid-template-columns: 1fr; }
	.quote-intro { position: static; }
	.entry-layout { grid-template-columns: 1fr; gap: 40px; }
	.content-dates { gap: 3px 12px; margin-bottom: 15px; font-size: 0.7rem; }
	.content-dates span + span { padding-left: 12px; }
	.content-dates-wrap { padding-top: 15px; }
	.entry-aside { position: static; }
	.about-page__overview-grid,
	.about-page__body-grid { grid-template-columns: 1fr; }
	.policy-page-layout { grid-template-columns: 1fr; }
	.policy-navigation { position: static; }
	.policy-navigation__list { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 0 18px; }
	.about-page__hero { max-width: 760px; width: 100%; }
	.about-page__media { align-self: start; align-content: start; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.about-page__sidebar-card { position: static; grid-column: 1 / -1; }
	.article-grid { grid-template-columns: repeat( 2, 1fr ); }
	.contact-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
}

@media ( max-width: 720px ) {
	.container { width: min( calc( 100% - 28px ), var(--container) ); }
	.site-header__bar-inner { justify-content: center; min-height: 30px; text-align: center; }
	.site-header__bar-title { display: none; }
	.site-header__utility > a:not( .site-header__bar-phone ):not( .language-switcher ) { display: none; }
	.site-header__bar-phone { padding-left: 0; border-left: 0; }
	.site-header__main { grid-template-columns: 1fr auto; }
	.site-brand__logo { width: 158px; }
	.page-hero { padding-block: 24px; }
	.catalog-page .page-hero--compact { padding-block: 16px; }
	.catalog-page .page-hero__inner { gap: 8px; }
	.catalog-page .page-hero__side { padding-left: 0; }
	.catalog-page .page-hero h1 { font-size: 1.46rem; }
	.catalog-page .page-hero__description { font-size: 0.82rem; }
	.page-hero__inner { grid-template-columns: 1fr; gap: 14px; }
	.page-hero__side { padding-left: 56px; }
	.page-title-row { align-items: flex-start; }
	.legacy-hero { padding-block: 14px 26px; }
	.legacy-slider { min-height: 0; aspect-ratio: 16 / 10; }
	.legacy-slider__slide:first-child > img { height: 100%; object-fit: cover; object-position: 22% center; }
	.legacy-slider__caption { right: 32px; bottom: 24px; left: 32px; width: auto; }
	.legacy-slider__caption h1,
	.legacy-slider__caption h2 { font-size: 1.22rem; }
	.legacy-slider__arrow { top: 10px; width: 44px; height: 44px; border: 1px solid rgba( 255, 255, 255, 0.48 ); border-radius: 50%; background: rgba( 63, 29, 5, 0.42 ); font-size: 1rem; opacity: 0.78; transform: none; }
	.legacy-slider__arrow--prev { left: 10px; }
	.legacy-slider__arrow--next { right: 10px; }
	.legacy-slider__toggle { top: 10px; right: 60px; bottom: auto; width: 44px; height: 44px; background: rgba( 63, 29, 5, 0.42 ); opacity: 0.78; }
	.legacy-slider__arrow:focus-visible,
	.legacy-slider__toggle:focus-visible { opacity: 1; }
	.legacy-updates__list { grid-template-columns: 1fr; grid-template-rows: none; }
	.legacy-update,
	.legacy-update:last-child { min-height: 74px; border-right: 0; }
	.legacy-about { padding-block: 44px 38px; }
	.legacy-about__profile { padding: 22px; }
	.legacy-category-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.legacy-reason-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 9px; }
	.legacy-reason { min-height: 142px; grid-template-columns: 1fr; align-content: start; gap: 8px; padding: 11px; }
	.legacy-reason__icon { width: 34px; height: 34px; }
	.legacy-reason__icon .ui-icon { width: 18px; height: 18px; }
	.legacy-reason h3 { font-size: 0.76rem; }
	.legacy-reason p { font-size: 0.68rem; }
	.legacy-product-section { padding-block: 34px 40px; }
	.legacy-product-section__heading { align-items: flex-start; flex-direction: column; gap: 4px; }
	.hero__actions .button { width: 100%; }
	.product-search { padding: 3px; }
	.product-search input { min-height: 46px; font-size: 16px; }
	.product-search button { min-height: 44px; }
	.form-field input,
	.form-field select,
	.form-field textarea,
	.catalog-filters input,
	.catalog-filters select { font-size: 16px; }
	.section-heading { align-items: start; flex-direction: column; gap: 12px; }
	.static-page-content { gap: 20px; padding-block: 24px 54px; }
	.static-page-banner { border-radius: var(--radius-md); }
	.about-page__overview { padding-block: 24px 18px; }
	.about-page__overview-grid { gap: 16px; }
	.about-page__hero { min-height: 0; aspect-ratio: 10 / 9; border-radius: var(--radius-md); }
	.about-page__profile { padding: 18px; border-radius: var(--radius-md); }
	.about-page__profile dl > div { grid-template-columns: 94px minmax( 0, 1fr ); gap: 10px; }
	.about-page__body { padding-block: 12px 46px; }
	.about-page__body-grid { gap: 28px; }
	.about-page__media { grid-template-columns: 1fr; }
	.about-page__contact { padding-block: 28px; }
	.about-page__contact-inner { grid-template-columns: 1fr; }
	.about-page__contact-actions { display: grid; grid-template-columns: 1fr; }
	.about-page__contact-actions .button { width: 100%; }
	.static-page-content--policy-hub .static-page-prose > ul { grid-template-columns: 1fr; }
	.policy-navigation__list { grid-template-columns: 1fr; }
	.product-grid,
	.product-grid--band { grid-template-columns: 1fr; }
	.product-grid--catalog { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 10px; }
	.product-card { max-width: 520px; width: 100%; margin-inline: auto; }
	.product-grid--catalog .product-card { max-width: none; margin-inline: 0; }
	.product-grid--catalog .product-card__media img { padding: 7px; }
	.product-grid--catalog .product-card__body { padding: 10px; }
	.product-grid--catalog .product-card__title { font-size: 0.8rem; }
	.product-grid--catalog .product-card__category { font-size: 0.62rem; }
	.product-grid--catalog .product-card__price strong { font-size: 0.88rem; }
	.catalog-results__heading { margin-bottom: 12px; }
	.catalog-results__heading h2 { font-size: 1.1rem; }
	.catalog-active-filters { margin-bottom: 12px; }
	.empty-state { padding: 28px 16px; }
	.empty-state__icon { width: 42px; height: 42px; margin-bottom: 12px; }
	.empty-state h2 { font-size: 1.12rem; }
	.support-panel { align-items: flex-start; flex-direction: column; }
	.support-panel__actions,
	.support-panel .button { width: 100%; }
	.content-columns { grid-template-columns: 1fr; gap: 56px; }
	.content-card { min-height: 104px; grid-template-columns: 92px minmax( 0, 1fr ); gap: 11px; padding: 12px 0; }
	.content-card__media { width: 92px; height: 76px; }
	.product-intro { grid-template-columns: 1fr; gap: 20px; padding-top: 20px; }
	.product-gallery { max-width: 560px; width: 100%; margin-inline: auto; }
	.product-gallery__main-image { padding: 9px; }
	.product-facts > div { flex-basis: 140px; }
	.product-summary__actions .button { width: 100%; }
	.product-anchor-nav { margin-inline: -14px; border-right: 0; border-left: 0; border-radius: 0; }
	.product-section { padding-block: 30px; }
	.product-section__heading { align-items: start; }
	.product-section__heading h2 { font-size: 1.22rem; }
	.product-aside { grid-template-columns: 1fr; }
	.quote-form-wrap { padding: 20px; }
	.quote-form { grid-template-columns: 1fr; }
	.form-field--wide { grid-column: auto; }
	.mobile-quote-bar { position: fixed; z-index: 80; right: 0; bottom: 0; left: 0; display: flex; gap: 8px; padding: 9px 14px; border-top: 1px solid var(--color-border); background: rgba( 255, 255, 255, 0.96 ); box-shadow: 0 -8px 24px rgba( 112, 40, 0, 0.08 ); }
	.mobile-quote-bar .button { flex: 1 1 0; min-height: 42px; padding-inline: 10px; }
	.single-dosa_product { padding-bottom: 72px; }
	.article-grid { grid-template-columns: 1fr; }
	.contact-grid { grid-template-columns: 1fr; }
	.page-cta { grid-template-columns: 1fr; }
	.page-cta > .button { grid-column: auto; grid-row: auto; margin-top: 10px; }
	.content-toc summary { grid-template-columns: 28px 1fr; }
	.content-toc summary small { display: none; }
	.content-toc ol { padding-right: 14px; column-count: 1; }
	.content-faq { margin-top: 30px; }
	.content-faq__summary { padding-inline: 12px; }
	.content-faq__answer { padding: 0 46px 12px 12px; }
	.entry-catalog-cta { grid-template-columns: 40px minmax( 0, 1fr ); }
	.entry-catalog-cta__actions { grid-column: 1 / -1; }
	.entry-catalog-cta__actions .button { flex: 1 1 160px; }
	.site-footer__cta-inner { align-items: stretch; flex-direction: column; gap: 18px; }
	.site-footer__cta .support-panel__content { align-items: center; }
	.site-footer__cta .button { width: 100%; }
	.site-footer__grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 28px 16px; padding-block: 32px; }
	.site-footer__about,
	.site-footer__contact,
	.site-footer__map { grid-column: 1 / -1; grid-row: auto; }
	.site-footer__about { text-align: left; }
	.site-footer__nav--explore { grid-column: 1; grid-row: auto; }
	.site-footer__nav--policies { grid-column: 2; grid-row: auto; }
	.site-footer__nav { min-width: 0; }
	.site-footer__nav li { padding-left: 10px; font-size: 0.75rem; line-height: 1.38; }
	.site-footer__nav li::before { top: 0.5em; }
	.site-footer__contact-list { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 8px !important; }
	.site-footer__contact-list li { grid-template-columns: minmax( 0, max-content ) auto; justify-content: start; gap: 6px; padding: 9px; border: 1px solid rgba( 255, 255, 255, 0.12 ); border-radius: 8px; background: rgba( 255, 255, 255, 0.04 ); }
	.site-footer__contact-list li:last-child { grid-column: 1 / -1; }
	.site-footer__contact-list li > .site-footer__contact-icon { display: none; }
	.site-footer__contact-list p > a { font-size: 0.74rem; }
	.site-footer__contact-list p > span { font-size: 0.64rem; }
	.site-footer__zalo-link { padding: 5px; }
	.site-footer__zalo-link span { display: inline; }
	.site-footer__map-frame { min-height: 220px; }
	.site-footer__bottom .container { align-items: center; flex-direction: column; gap: 6px; text-align: center; }
	.quick-contact { right: 10px; bottom: 12px; gap: 7px; }
	.quick-contact__toggle:not([hidden]) { display: grid; order: 2; }
	.quick-contact__toggle[aria-expanded="true"] { background: var(--color-navy-dark); color: var(--color-white); }
	.quick-contact__panel { order: 1; gap: 6px; padding: 8px; border: 1px solid rgba( 112, 40, 0, 0.14 ); border-radius: 14px; background: rgba( 255, 255, 255, 0.98 ); box-shadow: 0 12px 32px rgba( 63, 29, 5, 0.2 ); }
	.quick-contact__link { justify-content: flex-start; width: auto; min-width: 126px; height: 40px; min-height: 40px; padding: 5px 9px 5px 6px; box-shadow: none; }
	.quick-contact__zalo { display: none !important; }
	.quick-contact__icon { width: 28px; height: 28px; }
	.quick-contact__copy { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; }
	.quick-contact__copy strong { font-size: 0.69rem; }
	body.single-dosa_product .quick-contact { bottom: 78px; }
}

@media ( max-width: 420px ) {
	.site-brand__logo { width: 142px; }
	.breadcrumbs { font-size: 0.7rem; }
	.legacy-slider { min-height: 0; aspect-ratio: 4 / 3; }
	.legacy-slider__caption { right: 24px; bottom: 22px; left: 24px; }
	.legacy-slider__caption span { font-size: 0.62rem; }
	.legacy-slider__caption h1,
	.legacy-slider__caption h2 { margin-bottom: 8px; font-size: 1.08rem; }
	.legacy-about__profile h3 { font-size: 1.05rem; }
	.legacy-about__profile dl > div { grid-template-columns: 1fr; gap: 2px; }
	.content-card { grid-template-columns: 84px minmax( 0, 1fr ); gap: 10px; }
	.content-card__media { width: 84px; height: 72px; }
	.product-card__actions .text-link { width: 100%; justify-content: center; text-align: center; }
	.page-hero h1 { font-size: 1.72rem; }
	.catalog-page .page-hero h1 { font-size: 1.4rem; }
	.page-hero__side { padding-left: 50px; }
	.catalog-page .page-hero__side { padding-left: 0; }
}

@media ( max-width: 360px ) {
	.primary-menu,
	.site-footer__contact-list { grid-template-columns: 1fr; }
	.site-footer__about,
	.site-footer__contact,
	.site-footer__map {
		grid-column: 1 / -1;
	}
	.site-footer__contact-list li:last-child { grid-column: auto; }
	.product-grid--catalog { grid-template-columns: 1fr; }
	.product-grid--catalog .product-card { max-width: 330px; margin-inline: auto; }
}

@media ( prefers-reduced-motion: reduce ) {
	*,
	*::before,
	*::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

/* Landing Dịch vụ sửa chữa: 4 thẻ trên desktop, 2 cột trên mobile. */
.service-landing__services { padding-block: 42px 48px; border-bottom: 1px solid var(--color-border); background: var(--color-surface); }
.service-landing__section-head { max-width: 760px; margin-bottom: 24px; }
.service-landing__section-head h2 { margin: 5px 0 8px; font-size: clamp( 1.45rem, 2.4vw, 2rem ); }
.service-landing__section-head p { margin: 0; color: var(--color-muted); }
.service-landing__grid { display: grid; grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); gap: 16px; }
.service-landing-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); box-shadow: var(--shadow-sm); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.service-landing-card:hover { border-color: var(--color-orange-dark); box-shadow: var(--shadow-md); transform: translateY( -3px ); }
.service-landing-card[hidden] { display: none; }
.service-landing-card__media { display: block; overflow: hidden; background: #f2ece5; aspect-ratio: 4 / 3; }
.service-landing-card__image { width: 100%; height: 100%; object-fit: cover; transition: transform 220ms ease; }
.service-landing-card:hover .service-landing-card__image { transform: scale( 1.025 ); }
.service-landing-card__placeholder { display: grid; width: 100%; height: 100%; color: var(--color-orange-dark); place-items: center; }
.service-landing-card__placeholder .ui-icon { width: 44px; height: 44px; }
.service-landing-card__body { display: flex; flex: 1; flex-direction: column; padding: 16px; }
.service-landing-card__body h3 { margin: 0 0 8px; font-size: 1rem; line-height: 1.35; }
.service-landing-card__body h3 a { color: var(--color-navy-dark); text-decoration: none; }
.service-landing-card__body p { margin: 0 0 14px; color: var(--color-muted); font-size: 0.78rem; }
.service-landing-card__body .text-link { align-self: flex-start; margin-top: auto; font-size: 0.74rem; }
.service-landing__more { display: flex; justify-content: center; margin-top: 24px; }
.service-landing__more .button .ui-icon { transform: rotate( 90deg ); }
.service-landing__empty { padding: 18px; border: 1px dashed var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.service-landing__article { background: var(--color-white); }
.service-landing__article .entry-content > figure { margin-block: 28px; }
.service-landing__article .entry-content > figure img { width: 100%; height: auto; border-radius: var(--radius-md); }
.service-landing__article .entry-content figcaption { margin-top: 8px; color: var(--color-muted); font-size: 0.74rem; text-align: center; }

@media ( max-width: 960px ) {
	.service-landing__grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 12px; }
}

@media ( max-width: 720px ) {
	.service-landing__services { padding-block: 28px 34px; }
	.service-landing__section-head { margin-bottom: 17px; }
	.service-landing__section-head h2 { font-size: 1.3rem; }
	.service-landing__section-head p { font-size: 0.78rem; }
	.service-landing__grid { gap: 9px; }
	.service-landing-card { border-radius: 9px; }
	.service-landing-card__body { padding: 10px; }
	.service-landing-card__body h3 { margin-bottom: 7px; font-size: 0.8rem; line-height: 1.3; }
	.service-landing-card__body p { display: none; }
	.service-landing-card__body .text-link { font-size: 0.66rem; }
	.service-landing-card__body .text-link .ui-icon { width: 13px; height: 13px; }
	.service-landing__more { margin-top: 18px; }
	.service-landing__article .entry-layout { padding-block: 30px 54px; }
	.service-landing__article .entry-content > figure { margin-block: 22px; }
}

/* Landing Buồng sấy: ảnh thật, lối vào theo nhu cầu, sản phẩm và dịch vụ liên quan. */
.curing-oven-overview { padding-block: 42px; border-bottom: 1px solid var(--color-border); background: var(--color-white); }
.curing-oven-overview__grid { display: grid; grid-template-columns: minmax( 0, 1.1fr ) minmax( 340px, 0.9fr ); align-items: stretch; gap: 28px; }
.curing-oven-overview__media { min-height: 390px; margin: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #eee7df; }
.curing-oven-overview__image { width: 100%; height: 100%; object-fit: cover; }
.curing-oven-needs { padding: 26px; border: 1px solid #e2c79e; border-radius: var(--radius-lg); background: var(--color-surface); }
.curing-oven-needs h2 { margin: 5px 0 18px; font-size: clamp( 1.35rem, 2.2vw, 1.8rem ); }
.curing-oven-needs__list { display: grid; gap: 10px; }
.curing-oven-need { display: grid; grid-template-columns: 38px minmax( 0, 1fr ) 18px; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); color: var(--color-navy-dark); text-decoration: none; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.curing-oven-need:hover { border-color: var(--color-orange-dark); box-shadow: var(--shadow-sm); transform: translateX( 2px ); }
.curing-oven-need__icon { display: grid; width: 38px; height: 38px; border-radius: 50%; background: #fff2dd; color: var(--color-orange-dark); place-items: center; }
.curing-oven-need__icon .ui-icon { width: 20px; height: 20px; }
.curing-oven-need strong,
.curing-oven-need small { display: block; }
.curing-oven-need strong { margin-bottom: 3px; font-size: 0.9rem; }
.curing-oven-need small { color: var(--color-muted); font-size: 0.72rem; line-height: 1.45; }
.curing-oven-need > .ui-icon { width: 16px; height: 16px; color: var(--color-orange-dark); }
.curing-oven-products,
.curing-oven-services { padding-block: 46px 50px; border-bottom: 1px solid var(--color-border); }
.curing-oven-products { background: var(--color-surface); }
.curing-oven-services { background: var(--color-white); }
.curing-oven-section-head { max-width: 760px; margin-bottom: 24px; }
.curing-oven-section-head h2 { margin: 5px 0 8px; font-size: clamp( 1.45rem, 2.4vw, 2rem ); }
.curing-oven-section-head p { margin: 0; color: var(--color-muted); }
.curing-oven-product-grid { display: grid; grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); gap: 16px; }
.curing-oven-product-grid--3 { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); }
.curing-oven-product-grid .product-card--compact .product-card__media { aspect-ratio: 4 / 3; }
.curing-oven-product-grid .product-card--compact .product-card__body { padding: 13px; }
.curing-oven-product-grid .product-card--compact .product-card__title { min-height: 2.7em; margin-bottom: 10px; font-size: 0.88rem; -webkit-line-clamp: 2; }
.curing-oven-product-grid .product-card--compact .product-card__actions { padding-top: 9px; }
.curing-oven-section-action { display: flex; justify-content: center; margin-top: 24px; }
.curing-oven-service-grid { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 16px; }
.curing-oven-guide { background: var(--color-white); }
.curing-oven-guide .entry-content > figure { margin-block: 28px; }
.curing-oven-guide .entry-content > figure img { width: 100%; height: auto; border-radius: var(--radius-md); }
.curing-oven-guide .entry-content figcaption { margin-top: 8px; color: var(--color-muted); font-size: 0.74rem; text-align: center; }

@media ( max-width: 960px ) {
	.curing-oven-overview__grid { grid-template-columns: 1fr; }
	.curing-oven-overview__media { min-height: 0; aspect-ratio: 16 / 8; }
	.curing-oven-product-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 12px; }
}

@media ( max-width: 720px ) {
	.curing-oven-overview,
	.curing-oven-products,
	.curing-oven-services { padding-block: 28px 34px; }
	.curing-oven-overview__grid { gap: 16px; }
	.curing-oven-overview__media { border-radius: var(--radius-md); aspect-ratio: 4 / 3; }
	.curing-oven-needs { padding: 16px; border-radius: var(--radius-md); }
	.curing-oven-needs h2 { margin-bottom: 13px; font-size: 1.25rem; }
	.curing-oven-need { grid-template-columns: 34px minmax( 0, 1fr ) 16px; gap: 9px; padding: 10px; }
	.curing-oven-need__icon { width: 34px; height: 34px; }
	.curing-oven-need strong { font-size: 0.78rem; }
	.curing-oven-need small { font-size: 0.66rem; }
	.curing-oven-section-head { margin-bottom: 17px; }
	.curing-oven-section-head h2 { font-size: 1.3rem; }
	.curing-oven-section-head p { font-size: 0.78rem; }
	.curing-oven-product-grid { gap: 9px; }
	.curing-oven-product-grid .product-card { max-width: none; margin: 0; }
	.curing-oven-product-grid .product-card--compact .product-card__media img { padding: 7px; }
	.curing-oven-product-grid .product-card--compact .product-card__body { padding: 9px; }
	.curing-oven-product-grid .product-card--compact .product-card__title { font-size: 0.76rem; }
	.curing-oven-product-grid .product-card--compact .product-card__actions .text-link { font-size: 0.66rem; }
	.curing-oven-service-grid { grid-template-columns: 1fr; gap: 10px; }
	.curing-oven-service-grid .service-landing-card { display: grid; grid-template-columns: 120px minmax( 0, 1fr ); }
	.curing-oven-service-grid .service-landing-card__media { height: 100%; aspect-ratio: auto; }
	.curing-oven-guide .entry-layout { padding-block: 30px 54px; }
	.curing-oven-guide .entry-content > figure { margin-block: 22px; }
}

@media ( max-width: 360px ) {
	.curing-oven-product-grid { grid-template-columns: 1fr; }
	.curing-oven-product-grid .product-card { max-width: 310px; margin-inline: auto; }
	.curing-oven-service-grid .service-landing-card { grid-template-columns: 96px minmax( 0, 1fr ); }
}

/* Danh mục thiết bị buồng sấy: 2 nhóm chức năng, không lặp bộ lọc catalog. */
.curing-product-category__body { padding-block: 30px 64px; }
.curing-product-category__utility { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; color: var(--color-muted); font-size: 0.76rem; }
.curing-product-category__nav { display: grid; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 14px; margin-bottom: 8px; }
.curing-product-category__nav > a { display: grid; grid-template-columns: 42px minmax( 0, 1fr ) 18px; align-items: center; gap: 12px; padding: 15px 17px; border: 1px solid #e2c79e; border-radius: var(--radius-md); background: var(--color-surface); color: var(--color-navy-dark); text-decoration: none; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.curing-product-category__nav > a:hover { border-color: var(--color-orange-dark); box-shadow: var(--shadow-sm); transform: translateY( -2px ); }
.curing-product-category__nav-icon { display: grid; width: 42px; height: 42px; border-radius: 50%; background: var(--color-white); color: var(--color-orange-dark); place-items: center; }
.curing-product-category__nav-icon .ui-icon { width: 22px; height: 22px; }
.curing-product-category__nav strong,
.curing-product-category__nav small { display: block; }
.curing-product-category__nav strong { margin-bottom: 2px; }
.curing-product-category__nav small { color: var(--color-muted); font-size: 0.7rem; }
.curing-product-category__nav > a > .ui-icon { width: 17px; height: 17px; color: var(--color-orange-dark); }
.curing-product-category__group { padding-top: 38px; scroll-margin-top: 110px; }
.curing-product-category__group + .curing-product-category__group { margin-top: 42px; border-top: 1px solid var(--color-border); }
.curing-product-category__group-head { max-width: 760px; margin-bottom: 22px; }
.curing-product-category__group-head h2 { margin: 5px 0 7px; font-size: clamp( 1.4rem, 2.2vw, 1.85rem ); }
.curing-product-category__group-head p { margin: 0; color: var(--color-muted); }
.curing-product-category__grid--controls { max-width: 780px; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
.curing-product-category__cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 48px; padding: 24px 28px; border: 1px solid #e2c79e; border-radius: var(--radius-lg); background: var(--color-surface); }
.curing-product-category__cta h2 { margin: 0 0 7px; font-size: 1.35rem; }
.curing-product-category__cta p { max-width: 720px; margin: 0; color: var(--color-muted); }
.curing-product-category__cta .button { flex: 0 0 auto; }

@media ( max-width: 720px ) {
	.curing-product-category__body { padding-block: 20px 46px; }
	.curing-product-category__utility { margin-bottom: 13px; }
	.curing-product-category__nav { gap: 8px; }
	.curing-product-category__nav > a { grid-template-columns: 34px minmax( 0, 1fr ); gap: 8px; padding: 10px; }
	.curing-product-category__nav-icon { width: 34px; height: 34px; }
	.curing-product-category__nav-icon .ui-icon { width: 18px; height: 18px; }
	.curing-product-category__nav strong { font-size: 0.76rem; line-height: 1.3; }
	.curing-product-category__nav small { font-size: 0.64rem; }
	.curing-product-category__nav > a > .ui-icon { display: none; }
	.curing-product-category__group { padding-top: 28px; scroll-margin-top: 88px; }
	.curing-product-category__group + .curing-product-category__group { margin-top: 30px; }
	.curing-product-category__group-head { margin-bottom: 16px; }
	.curing-product-category__group-head h2 { font-size: 1.25rem; }
	.curing-product-category__group-head p { font-size: 0.78rem; }
	.curing-product-category__grid--controls { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.curing-product-category__cta { display: grid; gap: 16px; margin-top: 34px; padding: 18px; border-radius: var(--radius-md); }
	.curing-product-category__cta h2 { font-size: 1.15rem; }
	.curing-product-category__cta p { font-size: 0.78rem; }
	.curing-product-category__cta .button { width: 100%; }
}

@media ( max-width: 360px ) {
	.curing-product-category__nav,
	.curing-product-category__grid--controls { grid-template-columns: 1fr; }
}
