/**
 * VN global typography — frontend only (enqueued outside wp-admin).
 */

@font-face {
	font-family: "StagSansVU";
	src:
		url("../fonts/stag-sans/StagSansVUMedium.woff2") format("woff2"),
		url("../fonts/stag-sans/StagSansVUMedium.woff") format("woff");
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}

:root {
	--vn-font-body: "Be Vietnam Pro", Arial, sans-serif;
	--vn-font-heading: "StagSansVU", "Be Vietnam Pro", Arial, sans-serif;

	--vn-color-text: #303730;
	--vn-color-muted: #707770;
	--vn-color-primary: #23652d;
	--vn-color-primary-light: #78bd43;
	--vn-color-surface: #f7f8f4;

	--vn-container-max: 1480px;
	--vn-container-gutter: clamp(18px, 2vw, 32px);
	--vn-container: var(--vn-container-max);
	--vn-gutter: var(--vn-container-gutter);
	--vn-section-space: clamp(72px, 8vw, 110px);
	--vn-section-space-compact: clamp(52px, 6vw, 80px);

	/* Bridge legacy theme tokens */
	--font-heading: var(--vn-font-heading);
	--font-body: var(--vn-font-body);
	--text-dark: var(--vn-color-text);
	--text-muted: var(--vn-color-muted);
	--container-max: var(--vn-container-max);
	--gutter: var(--vn-container-gutter);
}

body {
	font-family: var(--vn-font-body);
	color: var(--vn-color-text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.vn-heading,
.vn-section-title,
.vn-section__title,
.vn-page-title,
.vn-page__title,
.vn-card-title,
.vn-product-card__title,
.vn-blog-card__title,
.vn-advice-card__title,
.vn-commerce-page__title,
.vn-site-footer__col h3,
.vn-newsletter__heading,
.vn-value-commitments__title,
.vn-brand-partners__title,
.vn-product-archive__title,
.woocommerce-loop-product__title,
.product_title,
.widget-title,
.vn-modal__title,
.vn-tab__title,
.vn-article-title {
	font-family: var(--vn-font-heading);
	font-style: normal;
	font-weight: 500;
	letter-spacing: normal;
}

h1,
.vn-page-title,
.vn-page__title,
.vn-commerce-page__title {
	font-size: clamp(38px, 4.5vw, 62px);
	line-height: 1.05;
}

h2,
.vn-section-title,
.vn-section__title {
	font-size: clamp(31px, 3.4vw, 46px);
	line-height: 1.12;
}

h3,
.vn-card-title {
	font-size: clamp(23px, 2vw, 29px);
	line-height: 1.2;
}

h4 {
	font-size: clamp(19px, 1.5vw, 23px);
	line-height: 1.3;
}

/* Product loop titles — keep card scale */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.vn-product-card__title,
.vn-product-card__title a {
	font-size: clamp(15px, 1.1vw, 17px);
	line-height: 1.35;
	font-weight: 500;
}

/* Single product title */
.single-product .product_title {
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.12;
}

/* Footer column headings — smaller than page H2 */
.vn-site-footer__col h3 {
	font-size: clamp(15px, 1.2vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Preserve icon fonts */
.dashicons,
[class*="dashicons-"],
.fa,
.fas,
.far,
.fab,
.material-icons,
.swiper-button-next,
.swiper-button-prev {
	font-family: inherit;
}

.dashicons,
[class*="dashicons-"] {
	font-family: dashicons !important;
}
