/**
 * Precision Industrial Tech design layer.
 * Keeps the existing component architecture while aligning color, type and shape.
 */

:root {
	--vtxvn-lab-navy: #00345f;
	--vtxvn-lab-blue: #0072ce;
	--vtxvn-lab-cyan: #00a7df;
	--vtxvn-lab-page: #f4f7fa;
	--vtxvn-lab-surface: #ffffff;
	--vtxvn-lab-surface-muted: #eef3f7;
	--vtxvn-lab-line: #d8e2ea;
	--vtxvn-lab-text: #263c50;
	--vtxvn-lab-muted: #687b8d;
	--vtxvn-lab-danger: #c8102e;
	--vtxvn-lab-radius: 5px;
	--vtxvn-lab-shadow: 0 8px 22px rgba(0, 52, 95, 0.07);
	--vtxvn-lab-motion: 160ms ease;
	--vtxvn-font-primary: "Hanken Grotesk", sans-serif;
	--vtxvn-font-weight-regular: 400;
	--vtxvn-font-weight-medium: 500;
	--vtxvn-font-weight-semibold: 600;
	--vtxvn-font-weight-bold: 700;
	--vtxvn-heading-color: var(--vtxvn-lab-navy);
	--vtxvn-body-color: #374151;
	--vtxvn-caption-color: #667085;
	--vtxvn-primary: var(--vtxvn-lab-blue);
	--vtxvn-primary-dark: var(--vtxvn-lab-navy);
	--vtxvn-accent: var(--vtxvn-lab-danger);
	--vtxvn-text: var(--vtxvn-body-color);
	--vtxvn-muted: var(--vtxvn-caption-color);
	--vtxvn-border: var(--vtxvn-lab-line);
	--vtxvn-surface: var(--vtxvn-lab-surface);
	--vtxvn-surface-soft: var(--vtxvn-lab-page);
	--vtxvn-radius: var(--vtxvn-lab-radius);
	--vtxvn-radius-sm: 3px;
	--vtxvn-radius-md: 5px;
	--vtxvn-radius-lg: 6px;
	--vtxvn-shadow: 0 8px 22px rgba(0, 51, 102, 0.08);
	--vtxvn-focus: rgba(0, 114, 206, 0.23);
	--vtxvn-header-ink: #003366;
	--vtxvn-header-line: #d4dae1;
	--vtxvn-header-wash: #003366;
	--vtxvn-header-tint: #f0f6fb;
	--home-blue: #0072ce;
	--home-blue-dark: #003366;
	--home-blue-soft: #eef5fb;
	--home-cyan: #0072ce;
	--home-red: #c8102e;
	--home-ink: var(--vtxvn-body-color);
	--home-muted: var(--vtxvn-caption-color);
	--home-line: #d4dae1;
	--home-surface: #ffffff;
	--home-page: #f8f9fa;
}

html,
body,
button,
input,
select,
textarea {
	font-family: var(--vtxvn-font-primary);
}

body {
	background: var(--vtxvn-surface);
	color: var(--vtxvn-text);
	font-weight: var(--vtxvn-font-weight-regular);
	font-synthesis: none;
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.woocommerce-products-header__title {
	font-family: var(--vtxvn-font-primary);
	font-weight: var(--vtxvn-font-weight-bold);
	letter-spacing: -0.018em;
}

.header-top,
.header-project-cta__label small,
.home-hero-offer__eyebrow,
.home-hero-combo__quote-eyebrow,
.home-promotion-item__meta,
.vtxvn-product-card__sku,
.vtxvn-product-card__meta,
.vtxvn-compare-tray__eyebrow,
.vtxvn-compare-page__eyebrow,
.vtxvn-compare-table-section__head span,
.vtxvn-compare-recommendations header span,
.promotion-card__badge,
.vtxvn-category-choice-row h2,
.vtxvn-category-faq header small,
.product_meta,
.sku_wrapper,
.posted_in,
.tagged_as {
	font-family: var(--vtxvn-font-primary);
	font-weight: var(--vtxvn-font-weight-medium);
	letter-spacing: 0.015em;
}

/* Typography hierarchy: one font family with deliberate regular, medium, semibold and bold roles. */
h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.woocommerce-products-header__title,
.woocommerce div.product .product_title,
.vtxvn-product-card__title,
.home-section-heading h2 {
	font-family: var(--vtxvn-font-primary);
	font-weight: var(--vtxvn-font-weight-bold) !important;
}

.site-main h1,
.site-main .entry-title,
.woocommerce-products-header__title,
.single-product.woocommerce div.product .summary .product_title,
.single-product.woocommerce div.product .woocommerce-tabs .panel h2,
.single-product.woocommerce div.product .woocommerce-tabs .panel h3,
.single-product.woocommerce div.product .related h2,
.home-section-heading h2,
.vtxvn-product-card__title {
	color: var(--vtxvn-heading-color);
}

.vtxvn-product-card__title {
	font-weight: var(--vtxvn-font-weight-regular) !important;
}

p,
li,
dd,
td,
input,
select,
textarea,
.entry-content,
.term-description,
.woocommerce-tabs .panel {
	font-family: var(--vtxvn-font-primary);
	font-weight: var(--vtxvn-font-weight-regular);
}

label,
small,
caption,
figcaption,
dt,
th,
.header-top,
.header-project-cta__label small,
.home-hero-offer__eyebrow,
.home-hero-combo__quote-eyebrow,
.home-promotion-item__meta,
.vtxvn-product-card__sku,
.vtxvn-product-card__meta,
.vtxvn-compare-tray__eyebrow,
.vtxvn-compare-page__eyebrow,
.vtxvn-compare-table-section__head span,
.vtxvn-compare-recommendations header span,
.promotion-card__badge,
.vtxvn-category-choice-row h2,
.vtxvn-category-faq header small,
.product_meta,
.sku_wrapper,
.posted_in,
.tagged_as {
	font-family: var(--vtxvn-font-primary);
	font-weight: var(--vtxvn-font-weight-medium);
}

dt,
th,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.vtxvn-product-sidebar__section h2 {
	font-weight: var(--vtxvn-font-weight-semibold);
}

small,
caption,
figcaption,
.vtxvn-product-card__sku,
.vtxvn-product-card__meta,
.product_meta {
	color: var(--vtxvn-caption-color);
}

strong,
b {
	font-weight: var(--vtxvn-font-weight-bold);
}

/* Nội dung cũ có thể mang inline font từ trình soạn thảo; theme vẫn cưỡng chế một font duy nhất. */
.site-main :where(h1, h2, h3, h4, h5, h6, p, a, strong, b, em, mark, blockquote, li, dt, dd, th, td, label, small, caption, figcaption, code, pre, input, select, textarea, button) {
	font-family: var(--vtxvn-font-primary) !important;
}

.vtxvn-product-identity dt {
	font-weight: var(--vtxvn-font-weight-medium);
}

.vtxvn-product-identity dd {
	font-weight: var(--vtxvn-font-weight-regular);
}

.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-weight: var(--vtxvn-font-weight-semibold);
}

.single-product.woocommerce div.product .woocommerce-tabs .panel,
.single-product.woocommerce div.product .woocommerce-tabs .panel p,
.single-product.woocommerce div.product .woocommerce-tabs .panel li,
.single-product.woocommerce div.product .woocommerce-tabs .panel td {
	color: var(--vtxvn-body-color);
	font-weight: var(--vtxvn-font-weight-regular);
}

.single-product.woocommerce div.product .woocommerce-tabs .panel th {
	color: var(--vtxvn-heading-color);
	font-weight: var(--vtxvn-font-weight-semibold);
}

:focus-visible {
	outline: 2px solid var(--vtxvn-primary);
	outline-offset: 2px;
}

/* Small, intentional corners for interactive controls. */
body button,
body .button,
body input[type="submit"],
body .wp-element-button,
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body input[type="text"],
body input[type="email"],
body input[type="url"],
body input[type="password"],
body input[type="search"],
body input[type="number"],
body input[type="tel"],
body select,
body textarea,
.header-nav-link,
.header-more__toggle,
.header-more__menu a,
.home-filter-row button,
.home-category-blocks__mobile-tabs button,
.home-category-showcase__top > a,
.vtxvn-category-choice,
.vtxvn-category-choice--type,
.vtxvn-category-filter-master,
.vtxvn-category-filter-toggle,
.vtxvn-category-filter-options label span,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border-radius: var(--vtxvn-radius-sm) !important;
}

/* Container surfaces use only a restrained 5-6px radius. */
.product-search,
.product-search__scope-menu,
.search-suggestions,
.header-more__menu,
.category-menu--mega,
.site-header--compact .category-toggle,
.site-header--compact .header-project-cta,
.site-header--compact .mobile-category-toggle,
.site-header--compact .menu-toggle,
.home-deals,
.home-deals__head,
.home-category-carousel,
.home-category-showcase,
.home-brands,
.home-trust,
.home-news-card,
.home-post-card,
.home-service-card,
.home-contact-panel,
.home-product-card,
.home-optical-panel,
.home-video-card,
.home-category-blocks__mobile-tabs,
.home-category-showcase__filters,
.home-promotion-list__empty,
.home-category-showcase__banner,
.vtxvn-product-card,
.woocommerce ul.products li.product.vtxvn-product-card,
.woocommerce-page ul.products li.product.vtxvn-product-card,
.vtxvn-category-banner,
.vtxvn-category-discovery,
.vtxvn-category-attribute-filter,
.vtxvn-category-description,
.vtxvn-category-faq,
.vtxvn-category-faq details,
.woocommerce div.product div.images,
.woocommerce div.product .summary,
.woocommerce-tabs,
.related.products,
.up-sells.products,
.cart_totals,
.woocommerce-checkout-review-order,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.vtxvn-compare-tray__panel,
.vtxvn-compare-tray__item,
.vtxvn-compare-suggestion,
.vtxvn-compare-page__hero,
.vtxvn-compare-empty,
.vtxvn-compare-selection,
.vtxvn-compare-table-section,
.vtxvn-compare-recommendations,
.vtxvn-compare-notice,
.promotion-card,
.promotion-empty,
.promotion-single__article,
.promotion-single__quote,
.footer-website-summary,
.footer-owner-details,
.footer-payment__image,
.footer-brand__mark,
.footer-owner-identity__image {
	border-radius: var(--vtxvn-radius-lg) !important;
}

/* The homepage hero is assembled from flush rectangular panels. */
.home-hero,
.home-hero-categories,
.home-slider,
.home-slider__slide img,
.home-hero-offer,
.home-hero-mega,
.home-hero-combo__promotions,
.home-hero-combo__quote,
.home-hero-side-banner {
	border-radius: 0 !important;
}

.product-search__scope {
	border-radius: var(--vtxvn-radius-sm) 0 0 var(--vtxvn-radius-sm) !important;
}

.category-menu__item,
.category-menu__panel-header > a,
.category-menu__links a,
.category-menu__products a,
.category-menu__product-thumb,
.category-menu__all,
.category-menu__icon,
.category-menu__type-thumb,
.home-hero-combo__heading-icon,
.home-optical-categories__media,
.home-category-carousel__status,
.footer-social-link {
	border-radius: var(--vtxvn-radius-sm) !important;
}

.home-hero-categories__item > a,
.home-optical-categories a,
.footer-hotlines a,
.footer-contact li {
	border-radius: var(--vtxvn-radius-sm) !important;
}

.woocommerce-product-gallery__wrapper,
.flex-control-thumbs li,
.product-assurances li,
.woocommerce span.onsale {
	border-radius: var(--vtxvn-radius-sm) !important;
}

.vtxvn-category-sort__choice,
.vtxvn-category-load-more__button,
.vtxvn-category-description .term-description img {
	border-radius: var(--vtxvn-radius-sm) !important;
}

/* Preserve circles only where their geometry communicates function. */
.home-slider__arrow,
.home-category-carousel__arrow,
.home-category-carousel__nav button,
.vtxvn-compare-tray__close,
.vtxvn-compare-tray__item > button,
.vtxvn-compare-selection__remove,
.vtxvn-compare-difference-dot,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger,
.star-rating,
.site-header .dashicons-search {
	border-radius: 50% !important;
}

/* Product cards stay square across homepage and WooCommerce views. */
.home-product-card,
.vtxvn-product-card,
.woocommerce ul.products li.product.vtxvn-product-card,
.woocommerce-page ul.products li.product.vtxvn-product-card {
	border-radius: 0 !important;
}

/* Header: precise structure with one strong action color per role. */
.site-header--compact .header-top {
	border-bottom-color: #003366;
	background: #003366;
}

.site-header--compact .header-top a,
.site-header--compact .header-top__brand,
.site-header--compact .header-contact,
.site-header--compact .header-services a,
.site-header--compact .header-top__brand span,
.site-header--compact .header-top__brand .header-top__separator {
	color: rgba(255, 255, 255, 0.91);
}

.site-header--compact .header-contact > .dashicons,
.site-header--compact .header-services .dashicons {
	color: #8dc8f4;
}

.site-header--compact .header-contact + .header-contact::before,
.site-header--compact .header-services a::before {
	background: rgba(255, 255, 255, 0.22);
}

.site-header--compact .header-main {
	border-bottom-color: #d4dae1;
	background: #fff;
}

.site-header--compact .category-toggle {
	border-color: #9eb3c6;
	background: #fff;
	box-shadow: none;
	color: #003366;
}

.site-header--compact .category-toggle > .dashicons:first-child {
	border-radius: var(--vtxvn-radius-sm);
	background: #eef5fb;
	color: #0072ce;
}

.site-header--compact .category-toggle:hover,
.site-header--compact .category-toggle:focus-visible,
.site-header--compact .category-toggle[aria-expanded="true"] {
	border-color: #0072ce;
	background: #f4f8fb;
	color: #003366;
}

.site-header--compact .product-search {
	border-color: #bcc8d3;
	background: #fff;
	box-shadow: none;
}

.site-header--compact .product-search:focus-within {
	border-color: #0072ce;
	box-shadow: 0 0 0 3px var(--vtxvn-focus);
}

.site-header--compact .product-search__scope {
	border-right-color: #d4dae1;
	background: #f8f9fa;
}

.site-header--compact .product-search__scope-toggle {
	color: #003366;
}

.site-header--compact .product-search__scope-icon,
.site-header--compact .product-search__scope-arrow {
	color: #0072ce;
}

.site-header--compact .product-search__submit {
	border-radius: 0 var(--vtxvn-radius-sm) var(--vtxvn-radius-sm) 0 !important;
	background: #0072ce;
}

.site-header--compact .product-search__submit:hover,
.site-header--compact .product-search__submit:focus-visible {
	background: #003366;
}

.site-header--compact .header-project-cta {
	border-color: #d6a7af;
	background: #fff;
	box-shadow: none;
	color: #003366;
}

.site-header--compact .header-project-cta .dashicons,
.site-header--compact .header-project-cta__label strong {
	color: #c8102e;
}

.site-header--compact .header-project-cta__label small {
	color: #68717c;
}

.site-header--compact .header-project-cta:hover,
.site-header--compact .header-project-cta:focus-visible {
	border-color: #c8102e;
	background: #fff7f8;
	color: #003366;
}

.site-header--compact .header-navigation {
	border-color: #e0e4e8;
	background: #fff;
}

.header-home-link,
.header-nav-link,
.header-more__toggle {
	color: #24445f;
}

.home .header-home-link::after,
.front-page .header-home-link::after {
	border-radius: 0;
	background: #0072ce;
}

.header-nav-link:hover,
.header-nav-link:focus-visible,
.header-more__toggle:hover,
.header-more__toggle:focus-visible {
	background: #f4f7fa;
	color: #0072ce;
}

.site-header--compact.is-desktop-condensed .header-main {
	box-shadow: 0 6px 16px rgba(0, 51, 102, 0.09);
}

/* Homepage and cards: neutral canvas, disciplined accents. */
.vtxvn-home,
.woocommerce .site-main--shop,
.site-main--shop {
	background: #f8f9fa;
}

.home-hero,
.home-deals,
.home-category-showcase,
.home-brands,
.vtxvn-category-discovery,
.vtxvn-category-attribute-filter,
.vtxvn-product-card,
.woocommerce ul.products li.product.vtxvn-product-card,
.woocommerce-page ul.products li.product.vtxvn-product-card {
	border-color: #d4dae1;
	box-shadow: 0 5px 16px rgba(0, 51, 102, 0.055);
}

.home-hero {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.home-hero-offer {
	background: transparent;
	border: 0;
	border-radius: 0 !important;
	box-shadow: none;
	overflow: visible;
	padding: 0;
}

.home-hero-categories > strong {
	background: #003366;
}

.home-hero-combo__promotions {
	background:
		radial-gradient(circle at 92% 8%, rgba(88, 213, 238, 0.24), transparent 35%),
		linear-gradient(150deg, #063b72 0%, #075b9c 58%, #087fb1 100%);
}

.home-hero-offer::before {
	opacity: 0.28;
}

.home-hero-combo__quote {
	background: #0072ce;
}

.home-section-heading::before {
	border-radius: 0;
	background: #c8102e;
}

.home-section-heading h2,
.home-hero-mega__header h2,
.vtxvn-product-card .vtxvn-product-card__title,
.woocommerce ul.products li.product.vtxvn-product-card .vtxvn-product-card__title {
	color: #003366;
}

.vtxvn-product-card:hover,
.woocommerce ul.products li.product.vtxvn-product-card:hover,
.woocommerce-page ul.products li.product.vtxvn-product-card:hover {
	border-color: rgba(0, 114, 206, 0.58);
	box-shadow: 0 9px 22px rgba(0, 51, 102, 0.1);
}

.vtxvn-product-card .vtxvn-product-card__price,
.woocommerce ul.products li.product.vtxvn-product-card .vtxvn-product-card__price {
	color: #c8102e;
}

.vtxvn-quote-form--home button[type="submit"],
.promotion-single__cta {
	border-color: #c8102e;
	background: #c8102e;
}

.vtxvn-category-choice-row h2::before {
	border-radius: 0;
	background: #0072ce;
}

.vtxvn-category-choice:hover,
.vtxvn-category-choice:focus-visible,
.vtxvn-category-choice.is-active {
	border-color: #78add4;
	background: #eef5fb;
	box-shadow: none;
	color: #003366;
}

@media (max-width: 1024px) {
	.site-header--compact .header-main,
	.site-header--compact .mobile-category-toggle {
		background: #fff;
	}

	.home-hero,
	.home-deals,
	.home-category-showcase,
	.home-brands {
		border-radius: var(--vtxvn-radius-lg) !important;
	}
}

/* --------------------------------------------------------------------------
 * Accessibility guardrails
 * Shared WCAG 2.2 contrast, target-size, text-spacing and motion defaults.
 * ----------------------------------------------------------------------- */
:root {
	--vtxvn-caption-color: #536576;
	--vtxvn-muted: #536576;
	--home-muted: #536576;
	--vtxvn-accessible-link: #0069a8;
	--vtxvn-accessible-muted: #536576;
	--vtxvn-accessible-focus: #0072ce;
}

body {
	line-height: 1.5;
}

.site-main :where(p, li, dd, td, blockquote),
.entry-content :where(p, li, dd, td, blockquote),
.term-description :where(p, li, dd, td, blockquote),
.woocommerce-tabs .panel :where(p, li, dd, td, blockquote) {
	line-height: 1.65;
}

.site-main :where(a, button, input, select, textarea, summary),
.site-header :where(a, button, input, select),
.site-footer :where(a, button) {
	text-underline-offset: 0.16em;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--vtxvn-accessible-focus);
	outline-offset: 3px;
	box-shadow: 0 0 0 2px #fff;
}

input::placeholder,
textarea::placeholder {
	color: #596b7b;
	opacity: 1;
}

/* Compact desktop utilities still meet the WCAG 2.2 24px target minimum. */
.site-header--compact .header-top a,
.site-header--compact .header-contact,
.site-header--compact .header-services a {
	display: inline-flex;
	min-height: 32px;
	align-items: center;
	line-height: 1.35;
}

.site-header--compact .header-home-link,
.site-header--compact .header-nav-link,
.site-header--compact .header-more__toggle,
.site-header--compact .header-more__menu a,
.site-header--compact .product-search__scope-toggle,
.site-header--compact .product-search__submit,
.site-header--compact .category-toggle,
.site-header--compact .mobile-category-toggle,
.site-header--compact .menu-toggle,
.product-search__scope-option,
.search-suggestions__results [role="option"],
.category-menu__item > a,
.category-menu__item > button,
.category-menu__links a,
.category-menu__products a,
.category-menu__all {
	min-height: 44px;
	line-height: 1.35;
}

.footer-links a,
.footer-more-links a,
.footer-contact a,
.footer-hotlines a,
.footer-bottom a,
.footer-social-link {
	min-height: 36px;
	align-items: center;
	line-height: 1.45;
}

.footer-assistance__intro,
.site-footer small,
.site-footer .footer-contact,
.site-footer .footer-links {
	color: rgba(255, 255, 255, 0.82);
}

/* Product cards: readable secondary information and reachable compact actions. */
.vtxvn-product-card .vtxvn-product-card__price del,
.woocommerce ul.products li.product.vtxvn-product-card .vtxvn-product-card__price del {
	color: #5e6e7d;
	font-size: 0.72rem;
}

.vtxvn-product-card__meta,
.vtxvn-product-card .vtxvn-product-card__reviews,
.woocommerce ul.products li.product.vtxvn-product-card .vtxvn-product-card__reviews {
	color: #52677a;
	font-size: 0.72rem;
	line-height: 1.4;
}

.vtxvn-product-card__metric {
	min-height: 28px;
	align-items: center;
}

.vtxvn-product-card__compare-control {
	width: 30px;
	height: 30px;
}

.vtxvn-product-card .vtxvn-product-card__compare,
.woocommerce ul.products li.product.vtxvn-product-card .vtxvn-product-card__compare {
	width: 18px;
	height: 18px;
}

.vtxvn-product-card__quick-specs-close,
.vtxvn-compare-tray__close,
.vtxvn-compare-tray__item > button,
.vtxvn-compare-selection__remove,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.home-slider__arrow,
.home-category-carousel__arrow,
.home-category-carousel__nav button,
.home-category-slider__arrow {
	min-width: 40px;
	min-height: 40px;
}

.home-category-slider__copy small,
.home-category-carousel__status,
.home-promotion-item__meta {
	color: #5c646c;
}

/* Product and archive metadata must remain readable at compact type sizes. */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a,
.vtxvn-product-highlights__list dt,
.vtxvn-product-identity dt,
.vtxvn-category-discovery p,
.vtxvn-category-results__summary,
.vtxvn-category-active-filters,
.product_meta,
.sku_wrapper,
.posted_in,
.tagged_as {
	color: #536779;
}

.vtxvn-product-highlights__list dt,
.vtxvn-product-identity dt {
	font-size: max(0.75rem, 12px);
	line-height: 1.4;
}

/* Article metadata and in-page navigation previously fell just below 4.5:1. */
.vtxvn-article__category {
	color: #00688f;
}

.vtxvn-article__lead,
.vtxvn-article__meta,
.vtxvn-article__meta small,
.vtxvn-article-toc__toggle,
.vtxvn-article-sidebar__section header small,
.vtxvn-article-latest time {
	color: #536b7a;
}

.vtxvn-article__meta small {
	font-size: 0.72rem;
	line-height: 1.35;
}

.vtxvn-article-toc a,
.vtxvn-article-toc-float__panel a {
	display: flex;
	min-height: 32px;
	align-items: center;
	color: #24566f;
	line-height: 1.45;
}

.vtxvn-article-toc__toggle {
	min-height: 28px;
	align-items: center;
	font-size: 0.75rem;
}

.vtxvn-content-list--normalized {
	margin-block: 1em;
	padding-inline-start: 1.4em;
}

@media (max-width: 782px), (pointer: coarse) {
	.site-header--compact .header-top a,
	.site-header--compact .header-contact,
	.site-header--compact .header-services a,
	.site-footer a,
	.site-footer button,
	.vtxvn-product-card__metric,
	.vtxvn-article-toc a,
	.vtxvn-category-choice,
	.vtxvn-category-filter-master,
	.vtxvn-category-filter-toggle,
	.vtxvn-category-filter-options label,
	.home-filter-row button,
	.home-category-blocks__mobile-tabs button {
		min-height: 44px;
	}

	.vtxvn-product-card__compare-control {
		width: 40px;
		height: 40px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-delay: 0s !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Keep the category explorer flush with the homepage canvas. */
.vtxvn-home .home-category-showcase {
	border: 0;
	border-radius: 0 !important;
	background: transparent;
	box-shadow: none;
}

/* Header identity: fiber-optic infrastructure and high-contrast utility controls. */
.site-header--compact .header-top {
	border-bottom-color: rgba(106, 183, 242, 0.34);
	background-color: #00244f;
	background-image:
		linear-gradient(118deg, rgba(0, 32, 72, 0.98) 0%, rgba(0, 63, 117, 0.94) 58%, rgba(0, 42, 89, 0.9) 100%),
		radial-gradient(circle at 84% 20%, rgba(103, 202, 255, 0.2), transparent 32%);
	background-repeat: no-repeat;
	background-position: center, right 42%;
	background-size: 100% 100%, auto 340px;
	box-shadow: inset 0 -1px 0 rgba(142, 207, 255, 0.12);
}

.site-header--compact .header-main {
	border-bottom-color: rgba(106, 183, 242, 0.42);
	background-color: #001b3d;
	background-image:
		linear-gradient(118deg, rgba(0, 24, 57, 0.99) 0%, rgba(0, 51, 102, 0.95) 58%, rgba(0, 34, 76, 0.9) 100%),
		radial-gradient(circle at 86% 35%, rgba(103, 202, 255, 0.2), transparent 34%);
	background-repeat: no-repeat;
	background-position: center, right center;
	background-size: 100% 100%, auto 340px;
	box-shadow: inset 0 -1px 0 rgba(142, 207, 255, 0.14);
}

.site-header--compact .header-main__inner {
	position: relative;
	z-index: 1;
}

.site-header--compact .site-branding__mark .custom-logo {
	filter: brightness(0) invert(1) drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2));
}

.site-header--compact .category-toggle {
	border-color: rgba(142, 207, 255, 0.62);
	background: rgba(0, 35, 78, 0.74);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
	color: #fff;
	backdrop-filter: blur(6px);
}

.site-header--compact .category-toggle > .dashicons:first-child {
	background: rgba(255, 255, 255, 0.1);
	color: #8ed1ff;
}

.site-header--compact .category-toggle:hover,
.site-header--compact .category-toggle:focus-visible,
.site-header--compact .category-toggle[aria-expanded="true"] {
	border-color: #8ed1ff;
	background: rgba(0, 73, 137, 0.92);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
	color: #fff;
}

.site-header--compact .category-toggle:focus-visible {
	outline-color: rgba(142, 209, 255, 0.48);
}

.site-header--compact .product-search {
	border-color: rgba(175, 218, 249, 0.78);
	background: #fff;
	box-shadow: 0 10px 28px rgba(0, 11, 32, 0.2);
}

.site-header--compact .product-search:focus-within {
	border-color: #73c8ff;
	box-shadow: 0 0 0 3px rgba(115, 200, 255, 0.22), 0 12px 30px rgba(0, 11, 32, 0.24);
}

.site-header--compact .product-search__scope {
	border-right-color: #cbdce9;
	background: #eef6fc;
}

.site-header--compact .product-search__submit {
	background: #0072ce;
	box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.12);
}

.site-header--compact .product-search__submit:hover,
.site-header--compact .product-search__submit:focus-visible {
	background: #005ba6;
}

.site-header--compact .header-project-cta {
	border-color: rgba(255, 139, 153, 0.72);
	background: linear-gradient(145deg, #e62232 0%, #c8102e 58%, #a80d26 100%);
	box-shadow: 0 10px 24px rgba(97, 0, 17, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.24);
	color: #fff;
}

.site-header--compact .header-project-cta .dashicons,
.site-header--compact .header-project-cta__label strong,
.site-header--compact .header-project-cta__label small {
	color: #fff;
}

.site-header--compact .header-project-cta__label small {
	opacity: 0.82;
}

.site-header--compact .header-project-cta:hover,
.site-header--compact .header-project-cta:focus-visible {
	transform: translateY(-1px);
	border-color: #ffc2ca;
	background: linear-gradient(145deg, #f02a3b 0%, #d11232 58%, #b20d28 100%);
	box-shadow: 0 12px 28px rgba(97, 0, 17, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.28);
	color: #fff;
}

.site-header--compact.is-desktop-condensed .header-main {
	border-bottom-color: rgba(106, 183, 242, 0.46);
	background-size: 100% 100%, auto 290px;
	box-shadow: 0 8px 22px rgba(0, 23, 55, 0.24), inset 0 -1px 0 rgba(142, 207, 255, 0.16);
}

@media (max-width: 1024px) {
	.site-header--compact .header-main {
		border-bottom-color: rgba(106, 183, 242, 0.38);
		background-color: #001b3d;
		background-image:
			linear-gradient(118deg, rgba(0, 24, 57, 0.99) 0%, rgba(0, 51, 102, 0.96) 66%, rgba(0, 34, 76, 0.9) 100%),
			radial-gradient(circle at 88% 30%, rgba(103, 202, 255, 0.18), transparent 36%);
		background-repeat: no-repeat;
		background-position: center, right center;
		background-size: 100% 100%, auto 280px;
	}

	.site-header--compact .mobile-category-toggle,
	.site-header--compact .menu-toggle,
	.site-header--compact .category-toggle,
	.site-header--compact .header-navigation .category-toggle--mobile {
		border-color: rgba(142, 207, 255, 0.62);
		background: rgba(0, 35, 78, 0.76);
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
		color: #fff;
	}
}

@media (max-width: 640px) {
	.site-header--compact .header-main {
		background-size: 100% 100%, auto 230px;
		box-shadow: 0 5px 16px rgba(0, 23, 55, 0.2), inset 0 -1px 0 rgba(142, 207, 255, 0.14);
	}

	.site-header--compact .product-search {
		box-shadow: 0 6px 18px rgba(0, 11, 32, 0.18);
	}
}

/* Compact, task-focused product header on phones. */
@media (max-width: 640px) {
	.site-header--compact .header-top {
		display: none;
	}

	.site-header--compact .header-main {
		min-height: 60px;
		background-size: 100% 100%, auto 190px;
	}

	.site-header--compact .header-main__inner {
		display: grid;
		min-height: 60px;
		grid-template-columns: 96px minmax(0, 1fr) 44px;
		grid-template-rows: 44px;
		align-items: center;
		gap: 8px;
		padding-block: 8px;
	}

	.site-header--compact .header-main__left {
		display: contents;
	}

	.site-header--compact .site-branding {
		width: 96px;
		min-width: 0;
		grid-column: 1;
		grid-row: 1;
	}

	.site-header--compact .site-branding__mark,
	.site-header--compact .site-branding__mark .custom-logo-link {
		display: flex;
		width: 100%;
		height: 44px;
		align-items: center;
	}

	.site-header--compact .site-branding__mark .custom-logo {
		width: 96px;
		height: 40px;
		max-height: 40px;
		object-fit: contain;
		object-position: left center;
	}

	.site-header--compact .product-search {
		width: 100%;
		height: 44px;
		min-width: 0;
		grid-column: 2;
		grid-row: 1;
		grid-template-columns: minmax(0, 1fr) 42px;
		border-radius: 8px;
		box-shadow: 0 6px 18px rgba(0, 11, 32, 0.18);
	}

	.site-header--compact .product-search__scope {
		display: none;
	}

	.site-header--compact .product-search__field {
		grid-column: 1;
	}

	.site-header--compact .product-search input[type="search"],
	.site-header--compact .product-search__submit {
		min-height: 42px;
	}

	.site-header--compact .product-search input[type="search"] {
		padding-inline: 12px 8px;
		font-size: 0.75rem;
	}

	.site-header--compact .product-search__submit {
		width: 42px;
		grid-column: 2;
		border-radius: 0 7px 7px 0 !important;
	}

	.site-header--compact .header-actions {
		width: 44px;
		height: 44px;
		max-width: 44px;
		grid-column: 3;
		grid-row: 1;
		align-self: center;
	}

	.site-header--compact .header-project-cta,
	.site-header--compact .menu-toggle {
		display: none;
	}

	.site-header--compact .mobile-category-toggle {
		display: inline-flex;
		width: 44px;
		height: 44px;
		min-width: 44px;
		padding: 0;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(142, 207, 255, 0.72);
		border-radius: 8px;
		background: rgba(0, 65, 124, 0.82);
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 5px 14px rgba(0, 11, 32, 0.2);
		color: #fff;
	}

	.site-header--compact .mobile-category-toggle > span:not(:first-child) {
		display: none;
	}

	.site-header--compact .mobile-category-toggle .dashicons-grid-view {
		display: block;
		width: 24px;
		height: 24px;
		font-size: 24px;
		line-height: 24px;
		color: #fff;
	}

	.site-header--compact .mobile-category-toggle:hover,
	.site-header--compact .mobile-category-toggle:focus-visible,
	.site-header--compact .mobile-category-toggle[aria-expanded="true"] {
		border-color: #b9e6ff;
		background: #0878c9;
		box-shadow: 0 0 0 3px rgba(142, 209, 255, 0.22), 0 6px 16px rgba(0, 11, 32, 0.24);
		color: #fff;
	}

	.site-header--compact .category-navigation {
		position: absolute;
		top: 100%;
		left: 0;
		width: 0;
		height: 0;
		grid-column: auto;
		grid-row: auto;
	}

	body.has-category-menu .site-header--compact {
		position: fixed;
		left: 0;
		width: 100%;
	}

	body.has-category-menu .site-header--compact .category-overlay,
	body.has-category-menu .site-header--compact .category-menu--mega {
		top: 100%;
	}
}

@media (max-width: 360px) {
	.site-header--compact .header-main__inner {
		grid-template-columns: 84px minmax(0, 1fr) 42px;
		gap: 6px;
	}

	.site-header--compact .site-branding,
	.site-header--compact .site-branding__mark .custom-logo {
		width: 84px;
	}

	.site-header--compact .header-actions,
	.site-header--compact .mobile-category-toggle {
		width: 42px;
		min-width: 42px;
	}
}

/* One continuous fiber image across the utility bar and main header. */
.site-header--compact {
	background-color: #001b3d;
	background-image:
		linear-gradient(118deg, rgba(0, 24, 57, 0.99) 0%, rgba(0, 51, 102, 0.95) 58%, rgba(0, 34, 76, 0.9) 100%),
		radial-gradient(circle at 86% 32%, rgba(103, 202, 255, 0.2), transparent 34%);
	background-repeat: no-repeat;
	background-position: center top, right center;
	background-size: 100% 132px, auto 340px;
}

.site-header--compact .header-top {
	background-color: rgba(0, 34, 76, 0.18);
	background-image: none;
}

.site-header--compact .header-main {
	background-color: transparent;
	background-image: none;
}

@media (max-width: 1024px) {
	.site-header--compact {
		background-size: 100% 140px, auto 280px;
	}
}

@media (max-width: 640px) {
	.site-header--compact {
		background-size: 100% 76px, auto 190px;
	}
}

.vtxvn-lab-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px 24px;
	align-items: end;
	margin: 0 0 22px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--vtxvn-lab-line);
}

.vtxvn-lab-section-heading__copy {
	min-width: 0;
}

.vtxvn-lab-section-heading h1,
.vtxvn-lab-section-heading h2,
.vtxvn-lab-section-heading h3 {
	margin: 4px 0 0;
	color: var(--vtxvn-lab-navy);
	font-weight: 650;
	letter-spacing: -0.02em;
}

.vtxvn-lab-section-heading p {
	margin: 6px 0 0;
	color: var(--vtxvn-lab-muted);
}

.vtxvn-lab-eyebrow {
	display: inline-flex;
	gap: 7px;
	align-items: center;
	color: var(--vtxvn-lab-blue);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.vtxvn-lab-eyebrow::before {
	width: 18px;
	height: 2px;
	background: var(--vtxvn-lab-cyan);
	content: "";
}

.vtxvn-lab-rule {
	height: 1px;
	border: 0;
	background: linear-gradient(90deg, var(--vtxvn-lab-cyan) 0 72px, var(--vtxvn-lab-line) 72px 100%);
}

.vtxvn-quick-specs {
	display: grid;
	grid-template-columns: repeat(var(--vtxvn-quick-spec-count, 3), minmax(0, 1fr));
	margin: 0;
	border-block: 1px solid var(--vtxvn-lab-line);
}

.vtxvn-quick-spec {
	min-width: 0;
	padding: 10px 12px;
}

.vtxvn-quick-spec + .vtxvn-quick-spec {
	border-left: 1px solid var(--vtxvn-lab-line);
}

.vtxvn-quick-spec dt,
.vtxvn-quick-spec dd {
	margin: 0;
}

.vtxvn-quick-spec dt {
	color: var(--vtxvn-lab-muted);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.vtxvn-quick-spec dd {
	margin-top: 3px;
	color: var(--vtxvn-lab-navy);
	font-size: 13px;
	font-weight: 500;
}

@media (max-width: 600px) {
	.vtxvn-lab-section-heading {
		grid-template-columns: 1fr;
	}

	.vtxvn-quick-specs {
		grid-template-columns: 1fr;
	}

	.vtxvn-quick-spec + .vtxvn-quick-spec {
		border-top: 1px solid var(--vtxvn-lab-line);
		border-left: 0;
	}
}

@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;
	}
}

/* Optical lab shell: the parent owns one uninterrupted fiber background. */
.site-header--optical-lab {
	isolation: isolate;
	background-color: #001f43;
	background-image:
		linear-gradient(118deg, rgba(0, 25, 58, 0.99), rgba(0, 55, 102, 0.95) 64%, rgba(0, 39, 82, 0.9)),
		radial-gradient(circle at 86% 32%, rgba(103, 202, 255, 0.2), transparent 34%);
	background-position: center;
	background-size: cover;
}

.site-header--optical-lab .header-top,
.site-header--optical-lab .header-main {
	background: transparent;
}

.site-header--optical-lab .header-top {
	border-bottom-color: rgba(133, 207, 247, 0.22);
}

.site-header--optical-lab .header-main {
	border-bottom-color: rgba(133, 207, 247, 0.16);
}

.site-footer--optical-lab {
	position: relative;
	overflow: hidden;
	background: #052b50;
}

.site-footer--optical-lab::before {
	content: none;
}

.site-footer--optical-lab > * {
	position: relative;
}
