/**
 * Typography — Be Vietnam Pro (Vietnamese-optimized)
 * Stack via --font-main; overrides Flatsome Lato/Dancing Script
 */

html {
	font-family: var(--font-main);
}

body,
button,
input,
select,
textarea,
.button,
.entry-content,
.woocommerce,
.widget,
.nav > li > a,
.header-nav > li > a,
.mobile-nav > li > a,
.off-canvas-center .nav-sidebar.nav-vertical > li > a {
	font-family: var(--font-main) !important; /* Kill Flatsome Lato */
}

body,
.entry-content,
.woocommerce,
.widget {
	font-size: 16px;
	line-height: 1.6;
	font-weight: 400;
	color: var(--color-text-secondary);
}

h1,
h2,
h3,
h4,
h5,
h6,
.heading-font,
.product-title,
.product-section-title,
.section-title span,
.alt-font {
	font-family: var(--font-main) !important; /* Kill Flatsome heading / alt fonts */
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--color-text-primary);
	line-height: 1.15;
}

h1,
.page-title {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

h2 {
	font-size: 22px;
}

h3 {
	font-size: 18px;
}

h4 {
	font-size: 16px;
}

@media (min-width: 768px) {
	h1,
	.page-title {
		font-size: 36px;
	}

	h2 {
		font-size: 28px;
	}

	h3 {
		font-size: 22px;
	}
}

@media (min-width: 1440px) {
	h1,
	.page-title {
		font-size: 40px;
	}

	h2 {
		font-size: 32px;
	}
}

/* Article section headings — two parallel accent bars */
.single-post .entry-content h2 {
	position: relative;
	padding-left: var(--space-sm); /* 16px — room for bars before "1. …" */
	margin-top: var(--space-md); /* 32px */
	margin-bottom: var(--space-sm); /* 16px */
	line-height: 1.25;
}

.single-post .entry-content h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15em;
	width: 3px;
	height: 0.85em;
	border-radius: 1px;
	background: var(--color-accent);
	/* second bar parallel to the right */
	box-shadow: 5px 0 0 var(--color-accent);
}

.single-post .entry-content h2:first-child {
	margin-top: 0;
}

/* Commerce — shop / category titles (tighter than marketing h1) */
.shop-page-title .page-title,
.woocommerce-products-header__title,
.tax-product_cat .page-title,
.tax-product_tag .page-title,
.post-type-archive-product .page-title {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

@media (min-width: 768px) {
	.shop-page-title .page-title,
	.woocommerce-products-header__title,
	.tax-product_cat .page-title,
	.tax-product_tag .page-title,
	.post-type-archive-product .page-title {
		font-size: 28px;
	}
}

/* Single product title */
.single-product h1.product-title,
.single-product h1.product_title,
.single-product .product-title.product_title {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
	overflow-wrap: anywhere;
	word-break: break-word;
}

@media (min-width: 768px) {
	.single-product h1.product-title,
	.single-product h1.product_title,
	.single-product .product-title.product_title {
		font-size: 26px;
	}
}

@media (min-width: 1440px) {
	.single-product h1.product-title,
	.single-product h1.product_title,
	.single-product .product-title.product_title {
		font-size: 28px;
	}
}

/* Catalog product card titles */
.products .product-title,
.product-small .product-title,
p.name.product-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.35;
}

@media (min-width: 768px) {
	.products .product-title,
	.product-small .product-title,
	p.name.product-title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 16px;
	}
}

p,
li,
.entry-content p {
	color: var(--color-text-secondary);
}

/* Ordered lists — indent ~1 tab everywhere (2em ≈ 32px at 16px body) */
ol {
	padding-left: 2em;
	margin-left: 0;
}

strong,
b {
	color: var(--color-text-primary);
	font-weight: 600;
}

.lead,
.subheader {
	color: var(--color-text-secondary);
	font-size: 1.05em;
	line-height: 1.6;
}

.caption,
.meta,
.is-xsmall {
	font-size: 14px;
	color: var(--color-text-secondary);
}

.nav > li > a,
.header-nav > li > a,
.button,
.button span {
	letter-spacing: 0.01em;
	font-weight: 500;
}

