/**
 * Dreamtime responsive typography — token-driven scale across the site.
 * Refines hierarchy without changing brand styling.
 *
 * @package dreamtime
 */

/* ---- Product pages ---- */
#product_hero_r h1,
.page-template-product_view_2 #product_hero_r h1,
.page-template-product-2 #product_hero_r h1 {
	font-size: var(--dt-h1-product);
	line-height: var(--dt-line-heading);
	letter-spacing: -0.03em;
}

.product_collection,
#related_products_head span {
	font-size: var(--dt-caption);
	line-height: 1.3;
}

.product_intro {
	font-size: var(--dt-lead);
	line-height: var(--dt-line-lead);
}

.product_features__list li,
.page-template-product_view_2 .product_features__list li,
.page-template-category-1 .product_features__list li {
	font-size: var(--dt-body);
	line-height: var(--dt-line-body);
}

#related_products_head h2,
#product_description_head h2,
#product_specifications_head h2 {
	font-size: var(--dt-h2);
	line-height: var(--dt-line-heading);
	letter-spacing: -0.02em;
}

.related_product_content h3 {
	font-size: var(--dt-h3);
	line-height: var(--dt-line-heading);
	letter-spacing: -0.02em;
}

.related_product_content p {
	font-size: var(--dt-body);
	line-height: var(--dt-line-body);
}

.related_product_content small {
	font-size: var(--dt-small);
	line-height: 1.4;
}

.product_btn,
.product_btn_border {
	font-size: var(--dt-body);
	line-height: 1.3;
}

/* ---- Category pages ---- */
.category_box_content h3 {
	font-size: var(--dt-h3);
	line-height: var(--dt-line-heading);
	letter-spacing: -0.02em;
}

.category_box_content p {
	font-size: var(--dt-body);
	line-height: var(--dt-line-body);
}

.category_features li {
	font-size: var(--dt-body);
	line-height: var(--dt-line-body);
}

.category_bottom small {
	font-size: var(--dt-small);
}

/* ---- Collection pages ---- */
#collection_hero_content h1 {
	font-size: var(--dt-h1-hero);
	line-height: var(--dt-line-heading);
	letter-spacing: -0.03em;
}

#collection_hero_content p {
	font-size: var(--dt-lead);
	line-height: var(--dt-line-lead);
}

#collection_features_head h2,
#collection_products_head h2 {
	font-size: var(--dt-h2);
	line-height: var(--dt-line-heading);
}

/* ---- Global chrome ---- */
.dreamtime-breadcrumb li {
	font-size: var(--dt-small);
	line-height: 1.4;
}

#nav ul li a {
	font-size: var(--dt-body);
	line-height: 1.35;
}

#nav ul ul li a {
	font-size: var(--dt-small);
	line-height: 1.4;
}

#other_page_header_l h1 {
	font-size: var(--dt-h1-page);
	line-height: var(--dt-line-heading);
}

#other_page_header_l h2 {
	font-size: var(--dt-h3);
	line-height: 1.35;
}

#other_page_header_r p {
	font-size: var(--dt-body);
	line-height: var(--dt-line-body);
}

/* ---- Spacing rhythm tied to type scale ---- */
@media (max-width: 991px) {
	#product_hero_r h1,
	.page-template-product_view_2 #product_hero_r h1 {
		margin-bottom: 16px;
	}

	.product_intro {
		margin-bottom: clamp(22px, 4vw, 32px);
	}

	#related_products_head,
	#product_description_head,
	#product_specifications_head {
		margin-bottom: var(--dt-head-mb);
	}

	.related_product_content h3 {
		margin-bottom: 12px;
	}

	.related_product_content p {
		margin-bottom: 16px;
	}

	.category_box_content h3 {
		margin-bottom: 12px;
	}

	.category_box_content p {
		margin-bottom: 20px;
	}

	#product_cta .product_btn,
	#product_cta .product_btn_border {
		min-height: var(--dt-btn-min-h);
		padding: 13px 26px;
	}
}

@media (max-width: 576px) {
	.product_features__list li {
		padding-top: 9px;
		padding-bottom: 9px;
	}

	#product_cta {
		gap: var(--dt-stack-gap);
	}

	.category_box_content {
		padding: clamp(20px, 5vw, 26px);
	}
}
