/**
 * Havenlytics V3 — Design Tokens
 * Source: havenlytics-homepage-v3.html (approved design reference)
 *
 * @package Havenlytics_Theme
 */

:root {
	/* ── Brand / core ───────────────────────────────────────── */
	--hvnly--core-primary: var(--hvnly-primary-color, #6C60FE);
	--hvnly--core-secondary: var(--hvnly-secondary-color, #8A7BFF);
	--hvnly--core-primary-rgb: 108, 96, 254;
	--hvnly--core-gradient: linear-gradient(135deg, #6C60FE 0%, #8A7BFF 100%);
	--hvnly--core-gradient-soft: linear-gradient(135deg, rgba(108, 96, 254, 0.10) 0%, rgba(138, 123, 255, 0.10) 100%);

	/* ── Ink (text) ─────────────────────────────────────────── */
	--hvnly--ink-900: #11101F;
	--hvnly--ink-800: #1B1932;
	--hvnly--ink-600: #4B4866;
	--hvnly--ink-400: #7A7793;
	--hvnly--ink-200: #C8C6D9;

	/* ── Surfaces ───────────────────────────────────────────── */
	--hvnly--surface-0: #FFFFFF;
	--hvnly--surface-50: #FAFAFD;
	--hvnly--surface-100: #F3F2FA;
	--hvnly--surface-dark: #0E0D1B;
	--hvnly--surface-dark-2: #161429;

	/* ── Borders ────────────────────────────────────────────── */
	--hvnly--border: #E7E5F3;
	--hvnly--border-dark: #2A2748;

	/* ── Semantic ───────────────────────────────────────────── */
	--hvnly--success: #2BBF8C;
	--hvnly--warning: #F5A623;
	--hvnly--on-primary: #FFFFFF;
	--hvnly--overlay: rgba(14, 13, 27, 0.5);
	--hvnly--overlay-heavy: rgba(14, 13, 27, 0.78);

	/* ── Typography families ────────────────────────────────── */
	--hvnly--font-display: var(--hvnly-heading-font-family, 'Plus Jakarta Sans', sans-serif);
	--hvnly--font-body: var(--hvnly-body-font-family, 'Inter', sans-serif);

	/* ── Type scale ─────────────────────────────────────────── */
	--hvnly--text-2xs: 11.5px;
	--hvnly--text-xs: 12px;
	--hvnly--text-sm: 13.5px;
	--hvnly--text-base: 14.5px;
	--hvnly--text-md: 15px;
	--hvnly--text-lg: 16.5px;
	--hvnly--text-xl: 18px;
	--hvnly--text-2xl: 19px;
	--hvnly--text-3xl: 24px;
	--hvnly--text-display-sm: clamp(26px, 4vw, 38px);
	--hvnly--text-display-md: clamp(28px, 4vw, 44px);
	--hvnly--text-display-lg: clamp(36px, 6vw, 68px);
	--hvnly--text-display-xl: clamp(28px, 5vw, 46px);

	/* ── Font weights ───────────────────────────────────────── */
	--hvnly--weight-medium: 500;
	--hvnly--weight-semibold: 600;
	--hvnly--weight-bold: 700;
	--hvnly--weight-extrabold: 800;

	/* ── Line height ────────────────────────────────────────── */
	--hvnly--leading-tight: 1.15;
	--hvnly--leading-normal: 1.6;

	/* ── Letter spacing ─────────────────────────────────────── */
	--hvnly--tracking-tight: -0.03em;
	--hvnly--tracking-snug: -0.02em;
	--hvnly--tracking-wide: 0.04em;
	--hvnly--tracking-wider: 0.06em;
	--hvnly--tracking-widest: 0.08em;

	/* ── Spacing scale ──────────────────────────────────────── */
	--hvnly--space-1: 4px;
	--hvnly--space-2: 6px;
	--hvnly--space-3: 8px;
	--hvnly--space-4: 10px;
	--hvnly--space-5: 12px;
	--hvnly--space-6: 14px;
	--hvnly--space-7: 16px;
	--hvnly--space-8: 18px;
	--hvnly--space-9: 20px;
	--hvnly--space-10: 22px;
	--hvnly--space-11: 24px;
	--hvnly--space-12: 28px;
	--hvnly--space-13: 32px;
	--hvnly--space-14: 36px;
	--hvnly--space-15: 40px;
	--hvnly--space-16: 48px;
	--hvnly--space-17: 56px;
	--hvnly--space-18: 64px;
	--hvnly--space-19: 72px;
	--hvnly--space-20: 80px;
	--hvnly--space-21: 96px;
	--hvnly--space-section: 76px;
	--hvnly--space-section-tablet: 56px;
	--hvnly--space-section-mobile: 44px;
	--hvnly--gutter: 24px;

	/* ── Radius ─────────────────────────────────────────────── */
	--hvnly--radius-sm: var(--hvnly-input-radius, 10px);
	--hvnly--radius-md: 16px;
	--hvnly--radius-lg: 24px;
	--hvnly--radius-xl: 32px;
	--hvnly--radius-pill: var(--hvnly-button-radius, 999px);
	--hvnly--radius-full: 50%;

	/* ── Shadows ────────────────────────────────────────────── */
	--hvnly--shadow-sm: 0 2px 8px rgba(17, 16, 31, 0.06);
	--hvnly--shadow-md: 0 8px 24px rgba(17, 16, 31, 0.08);
	--hvnly--shadow-lg: 0 24px 64px rgba(17, 16, 31, 0.12);
	--hvnly--shadow-glow: 0 0 0 1px rgba(108, 96, 254, 0.12), 0 16px 48px rgba(108, 96, 254, 0.22);
	--hvnly--shadow-primary: 0 8px 24px rgba(108, 96, 254, 0.35);
	--hvnly--shadow-primary-hover: 0 14px 34px rgba(108, 96, 254, 0.45);
	--hvnly--shadow-header: 0 4px 24px rgba(17, 16, 31, 0.06);
	--hvnly--shadow-browser-hover: 0 32px 80px rgba(108, 96, 254, 0.22);
	--hvnly--shadow-inverse-hover: 0 14px 34px rgba(0, 0, 0, 0.18);

	/* ── Layout ─────────────────────────────────────────────── */
	--hvnly--container: var(--hvnly-container-width, 1240px);
	--hvnly--container-narrow: 680px;
	--hvnly--container-content: 840px;
	--hvnly--container-reading: 800px;
	--hvnly--container-page: 1000px;
	--hvnly--header-height: 76px;
	--hvnly--mobile-menu-width: min(360px, 86vw);

	/* ── Z-index ────────────────────────────────────────────── */
	--hvnly--z-header: 1000;
	--hvnly--z-overlay: 1100;
	--hvnly--z-mobile-menu: 1200;
	--hvnly--z-modal: 2000;
	--hvnly--z-skip: 2000;

	/* ── Motion / easing ────────────────────────────────────── */
	--hvnly--ease: cubic-bezier(0.16, 1, 0.3, 1);
	--hvnly--ease-menu: cubic-bezier(0.4, 0, 0.2, 1);
	--hvnly--duration-menu-panel: 320ms;
	--hvnly--duration-instant: 0.2s;
	--hvnly--duration-fast: 0.25s;
	--hvnly--duration-base: 0.3s;
	--hvnly--duration-slow: 0.35s;
	--hvnly--duration-menu: 0.4s;
	--hvnly--duration-reveal: 0.7s;
	--hvnly--duration-import: 1.4s;

	/* ── Transitions (reusable) ─────────────────────────────── */
	--hvnly--transition-color: color var(--hvnly--duration-instant) var(--hvnly--ease);
	--hvnly--transition-bg: background var(--hvnly--duration-instant) var(--hvnly--ease);
	--hvnly--transition-border: border-color var(--hvnly--duration-instant) var(--hvnly--ease);
	--hvnly--transition-transform: transform var(--hvnly--duration-base) var(--hvnly--ease);
	--hvnly--transition-shadow: box-shadow var(--hvnly--duration-slow) var(--hvnly--ease);
	--hvnly--transition-opacity: opacity var(--hvnly--duration-base) var(--hvnly--ease);
	--hvnly--transition-visibility: visibility var(--hvnly--duration-base);
	--hvnly--transition-lift: transform var(--hvnly-btn-transition-speed, 0.35s) var(--hvnly--ease), box-shadow var(--hvnly-btn-transition-speed, 0.35s) var(--hvnly--ease), background var(--hvnly-btn-transition-speed, 0.35s) var(--hvnly--ease), border-color var(--hvnly-btn-transition-speed, 0.35s) var(--hvnly--ease), color var(--hvnly-btn-transition-speed, 0.35s) var(--hvnly--ease);
	--hvnly--transition-reveal: opacity var(--hvnly--duration-reveal) var(--hvnly--ease), transform var(--hvnly--duration-reveal) var(--hvnly--ease);
}
