/**
 * Rajgir Parent Theme
 *
 * Design System — Typography Tokens
 *
 * Canonical path:
 * assets/css/tokens/typography.css
 *
 * Responsibility:
 * - Centralized typography token definitions.
 * - Semantic typography roles.
 * - Hindi / Devanagari readability support.
 * - English and multilingual fallback strategy.
 *
 * This file does NOT:
 * - style individual components;
 * - style individual pages;
 * - define responsive breakpoints;
 * - load font files;
 * - contain business logic;
 * - contain page-specific typography.
 *
 * @package Rajgir
 */

:root {

	/* ==============================================================
	   FONT FAMILY
	   ============================================================== */

	--rajgir-font-family-primary:
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif;

	--rajgir-font-family-body:
		var(
			--rajgir-font-family-primary
		);

	--rajgir-font-family-heading:
		var(
			--rajgir-font-family-primary
		);

	--rajgir-font-family-ui:
		var(
			--rajgir-font-family-primary
		);

	/*
	 * Devanagari-capable fallback chain.
	 *
	 * The final approved Rajgir font family must be supplied by
	 * the centralized Design System / font asset contract.
	 */

	--rajgir-font-family-devanagari:
		" Noto Sans Devanagari",
		" Nirmala UI",
		" Mangal",
		var(--rajgir-font-family-primary);

	--rajgir-font-family-multilingual:
		var(--rajgir-font-family-devanagari);


	/* ==============================================================
	   FONT SIZE
	   ============================================================== */

	--rajgir-font-size-body:
		1rem;

	--rajgir-font-size-small:
		0.875rem;

	--rajgir-font-size-label:
		0.875rem;

	--rajgir-font-size-caption:
		0.75rem;

	--rajgir-font-size-subheading:
		1.25rem;

	--rajgir-font-size-heading:
		1.5rem;

	--rajgir-font-size-display:
		2rem;


	/* ==============================================================
	   FONT WEIGHT
	   ============================================================== */

	--rajgir-font-weight-regular:
		400;

	--rajgir-font-weight-medium:
		500;

	--rajgir-font-weight-semibold:
		600;

	--rajgir-font-weight-bold:
		700;


	/* ==============================================================
	   LINE HEIGHT
	   ============================================================== */

	--rajgir-line-height-body:
		1.6;

	--rajgir-line-height-small:
		1.5;

	--rajgir-line-height-label:
		1.4;

	--rajgir-line-height-heading:
		1.25;

	--rajgir-line-height-display:
		1.2;

	/*
	 * Devanagari requires comfortable vertical rhythm.
	 * Exact production values remain governed by the approved
	 * typography system.
	 */

	--rajgir-line-height-devanagari:
		1.7;


	/* ==============================================================
	   LETTER SPACING
	   ============================================================== */

	--rajgir-letter-spacing-normal:
		normal;

	--rajgir-letter-spacing-tight:
		-0.01em;

	--rajgir-letter-spacing-wide:
		0.02em;


	/* ==============================================================
	   SEMANTIC TYPOGRAPHY ROLES
	   ============================================================== */

	--rajgir-type-body-font-family:
		var(--rajgir-font-family-body);

	--rajgir-type-body-font-size:
		var(--rajgir-font-size-body);

	--rajgir-type-body-font-weight:
		var(--rajgir-font-weight-regular);

	--rajgir-type-body-line-height:
		var(--rajgir-line-height-body);


	--rajgir-type-heading-font-family:
		var(--rajgir-font-family-heading);

	--rajgir-type-heading-font-size:
		var(--rajgir-font-size-heading);

	--rajgir-type-heading-font-weight:
		var(--rajgir-font-weight-bold);

	--rajgir-type-heading-line-height:
		var(--rajgir-line-height-heading);


	--rajgir-type-label-font-family:
		var(--rajgir-font-family-ui);

	--rajgir-type-label-font-size:
		var(--rajgir-font-size-label);

	--rajgir-type-label-font-weight:
		var(--rajgir-font-weight-medium);

	--rajgir-type-label-line-height:
		var(--rajgir-line-height-label);


	--rajgir-type-caption-font-family:
		var(--rajgir-font-family-ui);

	--rajgir-type-caption-font-size:
		var(--rajgir-font-size-caption);

	--rajgir-type-caption-font-weight:
		var(--rajgir-font-weight-regular);

	--rajgir-type-caption-line-height:
		var(--rajgir-line-height-small);


	/* ==============================================================
	   BUTTON / NAVIGATION TYPOGRAPHY
	   ============================================================== */

	--rajgir-type-button-font-family:
		var(--rajgir-font-family-ui);

	--rajgir-type-button-font-weight:
		var(--rajgir-font-weight-semibold);

	--rajgir-type-button-line-height:
		var(--rajgir-line-height-label);

	--rajgir-type-navigation-font-family:
		var(--rajgir-font-family-ui);

	--rajgir-type-navigation-font-weight:
		var(--rajgir-font-weight-medium);

	--rajgir-type-navigation-line-height:
		var(--rajgir-line-height-label);

}


/* ================================================================
   DEvanagari / HINDI TYPOGRAPHY CONTEXT
   ================================================================ */

:lang(hi) {

	font-family:
		var(--rajgir-font-family-devanagari);

	line-height:
		var(--rajgir-line-height-devanagari);

}


/* ================================================================
   MULTILINGUAL TYPOGRAPHY
   ================================================================ */

:lang(en) {

	font-family:
		var(--rajgir-font-family-body);

}


/*
 * Other languages inherit the centralized multilingual strategy
 * unless an approved language-specific typography contract exists.
 */


/* ================================================================
   ACCESSIBILITY / READABILITY
   ================================================================ */

html {

	font-family:
		var(--rajgir-font-family-body);

	font-size:
		100%;

}


/*
 * Text wrapping must remain natural.
 * Typography must not depend on forced horizontal overflow.
 */

body {

	font-family:
		var(--rajgir-font-family-body);

	font-size:
		var(--rajgir-font-size-body);

	font-weight:
		var(--rajgir-font-weight-regular);

	line-height:
		var(--rajgir-line-height-body);

	letter-spacing:
		var(--rajgir-letter-spacing-normal);

}


/* ================================================================
   TYPOGRAPHY TOKEN USAGE CONTRACT
   ================================================================ */

/*
 * Components and layouts should consume these tokens rather than
 * introducing repeated arbitrary typography values.
 *
 * Example:
 *
 * .rg-card__title {
 *     font-family: var(--rajgir-type-heading-font-family);
 *     font-size: var(--rajgir-type-heading-font-size);
 *     font-weight: var(--rajgir-type-heading-font-weight);
 *     line-height: var(--rajgir-type-heading-line-height);
 * }
 *
 * Do NOT place:
 *
 * - page-specific typography;
 * - component-specific arbitrary font families;
 * - arbitrary font weights;
 * - font loading logic;
 * - responsive breakpoint rules;
 *
 * in this file.
 */