/**
 * Rajgir Parent Theme
 *
 * Design System — Shadow Tokens
 *
 * Canonical path:
 * assets/css/tokens/shadows.css
 *
 * Responsibility:
 * - Centralized shadow tokens.
 * - Elevation presentation vocabulary.
 * - Consistent visual depth across the Theme.
 *
 * Approved shadow scale:
 * - None
 * - Subtle
 * - Medium
 * - Strong
 *
 * This file does NOT:
 * - style individual components;
 * - define page-specific shadows;
 * - define responsive rules;
 * - contain business logic;
 * - introduce arbitrary component shadows.
 *
 * @package Rajgir
 */


/* ==========================================================================
   RAJGIR SHADOW TOKEN SYSTEM
   ========================================================================== */

:root {

	/* ----------------------------------------------------------------------
	   BASE SHADOW SCALE
	   ---------------------------------------------------------------------- */

	/*
	 * Exact visual shadow values are governed by the approved Rajgir
	 * Design System.
	 *
	 * They must not be invented at component level.
	 */

	--rajgir-shadow-none:
		none;

	--rajgir-shadow-subtle:
		var(--wp--preset--shadow--subtle, none);

	--rajgir-shadow-medium:
		var(--wp--preset--shadow--medium, none);

	--rajgir-shadow-strong:
		var(--wp--preset--shadow--strong, none);


	/* ----------------------------------------------------------------------
	   SEMANTIC ELEVATION ALIASES
	   ---------------------------------------------------------------------- */

	--rajgir-elevation-none:
		var(--rajgir-shadow-none);

	--rajgir-elevation-subtle:
		var(--rajgir-shadow-subtle);

	--rajgir-elevation-medium:
		var(--rajgir-shadow-medium);

	--rajgir-elevation-strong:
		var(--rajgir-shadow-strong);


	/* ----------------------------------------------------------------------
	   COMPONENT SEMANTIC ROLES
	   ---------------------------------------------------------------------- */

	--rajgir-shadow-card:
		var(--rajgir-shadow-subtle);

	--rajgir-shadow-panel:
		var(--rajgir-shadow-subtle);

	--rajgir-shadow-dropdown:
		var(--rajgir-shadow-medium);

	--rajgir-shadow-modal:
		var(--rajgir-shadow-strong);

	--rajgir-shadow-popover:
		var(--rajgir-shadow-medium);

	--rajgir-shadow-sticky:
		var(--rajgir-shadow-subtle);

}


/* ==========================================================================
   SHADOW USAGE CONTRACT
   ========================================================================== */

/*
 * Preferred component usage:
 *
 * Card:
 *
 *     box-shadow: var(--rajgir-shadow-card);
 *
 *
 * Dropdown:
 *
 *     box-shadow: var(--rajgir-shadow-dropdown);
 *
 *
 * Modal:
 *
 *     box-shadow: var(--rajgir-shadow-modal);
 *
 *
 * Do not introduce arbitrary shadow declarations when an approved
 * semantic token is appropriate.
 */


/* ==========================================================================
   ELEVATION HIERARCHY
   ========================================================================== */

/*
 *
 * NONE
 *   ↓
 * No visual elevation.
 *
 * SUBTLE
 *   ↓
 * Low visual separation.
 *
 * MEDIUM
 *   ↓
 * Clear elevated surface.
 *
 * STRONG
 *   ↓
 * High-priority overlay / modal depth.
 *
 */


/* ==========================================================================
   SHADOW GOVERNANCE
   ========================================================================== */

/*
 * Shadows are a visual hierarchy tool.
 *
 * They must not be applied merely for decoration.
 *
 * Avoid:
 *
 * - excessive shadows;
 * - stacked heavy shadows;
 * - arbitrary per-component shadows;
 * - page-specific shadow systems;
 * - multiple competing elevation scales.
 *
 * The centralized Rajgir shadow scale remains the source of truth.
 */


/* ==========================================================================
   ACCESSIBILITY / PERFORMANCE
   ========================================================================== */

/*
 * Shadow must not be the only mechanism used to communicate:
 *
 * - focus;
 * - active state;
 * - error;
 * - disabled state;
 * - selected state.
 *
 * Important state information must remain understandable through
 * semantic markup, text, borders, contrast, or other approved cues.
 *
 * Excessive shadow rendering should be avoided where it can negatively
 * affect performance, especially on mobile devices.
 */


/* ==========================================================================
   MOBILE RULE
   ========================================================================== */

/*
 * Mobile interfaces should avoid excessive shadows.
 *
 * The same centralized shadow scale is consumed:
 *
 * None
 * Subtle
 * Medium
 * Strong
 *
 * No separate uncontrolled mobile shadow system is created.
 */


/* ==========================================================================
   DESIGN SYSTEM BOUNDARY
   ========================================================================== */

/*
 * Exact shadow values belong to the approved Design System.
 *
 * This file provides the Theme token interface.
 *
 * It must not become a place for developer-specific visual decisions.
 */