/**
 * Nexus design tokens — typography, spacing, and commerce scale.
 * Colors live in style.css :root and Theme Options overrides.
 *
 * @package Nexus
 */

:root {
	/* Typography scale */
	--nexus-font-size-xs: 0.75rem;
	--nexus-font-size-sm: 0.875rem;
	--nexus-font-size-base: 1rem;
	--nexus-font-size-lg: 1.125rem;
	--nexus-font-size-xl: 1.25rem;
	--nexus-font-size-2xl: 1.5rem;
	--nexus-font-size-3xl: 1.875rem;
	--nexus-font-size-4xl: 2.25rem;

	--nexus-line-height-tight: 1.25;
	--nexus-line-height-normal: 1.65;
	--nexus-line-height-relaxed: 1.75;

	--nexus-font-weight-normal: 400;
	--nexus-font-weight-medium: 500;
	--nexus-font-weight-semibold: 600;
	--nexus-font-weight-bold: 700;

	--nexus-letter-spacing-tight: -0.02em;
	--nexus-letter-spacing-normal: 0;
	--nexus-letter-spacing-wide: 0.04em;

	/* Spacing scale (4px base) */
	--nexus-space-1: 0.25rem;
	--nexus-space-2: 0.5rem;
	--nexus-space-3: 0.75rem;
	--nexus-space-4: 1rem;
	--nexus-space-5: 1.25rem;
	--nexus-space-6: 1.5rem;
	--nexus-space-8: 2rem;
	--nexus-space-10: 2.5rem;
	--nexus-space-12: 3rem;
	--nexus-space-16: 4rem;

	/* Section rhythm */
	--nexus-section-gap: var(--nexus-space-12);
	--nexus-content-gap: var(--nexus-space-6);

	/* Commerce */
	--nexus-price-size: var(--nexus-font-size-sm);
	--nexus-price-sale-size: var(--nexus-font-size-sm);
	--nexus-price-del-size: var(--nexus-font-size-xs);
	--nexus-product-title-size: var(--nexus-font-size-sm);

	/* Touch & focus */
	--nexus-touch-min: 44px;
	--nexus-focus-ring: 0 0 0 3px color-mix(in srgb, var(--nexus-primary, #0f766e) 35%, transparent);
}

body {
	font-size: var(--nexus-font-size-base);
	line-height: var(--nexus-line-height-normal);
}

h1,
.h1 {
	font-size: var(--nexus-font-size-4xl);
	line-height: var(--nexus-line-height-tight);
	letter-spacing: var(--nexus-letter-spacing-tight);
}

h2,
.h2 {
	font-size: var(--nexus-font-size-3xl);
	line-height: var(--nexus-line-height-tight);
}

h3,
.h3 {
	font-size: var(--nexus-font-size-2xl);
	line-height: var(--nexus-line-height-tight);
}

h4,
.h4 {
	font-size: var(--nexus-font-size-xl);
}

h5,
.h5 {
	font-size: var(--nexus-font-size-lg);
}

h6,
.h6 {
	font-size: var(--nexus-font-size-base);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: var(--nexus-product-title-size);
}

.woocommerce ul.products li.product .price {
	font-size: var(--nexus-price-size);
}

.woocommerce ul.products li.product .price del {
	font-size: var(--nexus-price-del-size);
}
