/**
 * Platform Design Tokens
 * Single source of truth for brand, semantic, and Bootstrap theme colors.
 * Adjust palette here — downstream CSS files consume these variables only.
 */
:root {
	/* Brand */
	--color-primary: #614a3e;
	--color-primary-soft: #8a6f5f;
	--color-primary-dark: #4a3830;
	--color-primary-rgb: 97, 74, 62;
	--color-primary-soft-rgb: 138, 111, 95;
	--color-primary-dark-rgb: 74, 56, 48;

	--color-secondary: #ebddc5;
	--color-secondary-dark: #d4c4a8;
	--color-secondary-dark-rgb: 212, 196, 168;
	--color-secondary-rgb: 235, 221, 197;

	/* Surfaces & typography */
	--color-surface: #fffdfb;
	--color-surface-muted: #faf6f0;
	--color-surface-elevated: #ffffff;
	--color-heading: var(--color-primary);
	--color-body: #444444;
	--color-muted: #b3a7a0;
	--color-border: #e8dfd4;
	--color-border-subtle: #f0e8dc;

	/* Semantic (palette-harmonized, softer than default Bootstrap) */
	--color-success: #6b8f71;
	--color-success-rgb: 107, 143, 113;
	--color-success-light: #b7caba;

	--color-danger: #b85c4a;
	--color-danger-rgb: 184, 92, 74;
	--color-danger-light: #f5e8e5;

	--color-warning: #c9a227;
	--color-warning-dark: #a8861f;
	--color-warning-rgb: 201, 162, 39;
	--color-warning-light: #f5edd8;

	/* Warm bronze — distinct from primary, no cyan cast */
	--color-info: #9a8268;
	--color-info-dark: #7a6654;
	--color-info-rgb: 154, 130, 104;
	--color-info-light: #f2ebe3;

	/* Light tints (cards, badges, highlights) */
	--color-primary-light: #ebe3d9;
	--color-secondary-light: #f5efe6;
	--color-dark-light: #d9d0c8;

	/* PRO premium gradient (coffee → antique gold) */
	--pro-gradient-start: #c89210;
	--pro-gradient-middle: #e8be3f;
	--pro-gradient-end: #fff0b8;
	--pro-linear-gradient: linear-gradient(
		90deg,
		var(--pro-gradient-start) 0%,
		var(--pro-gradient-middle) 30%,
		var(--pro-gradient-end) 100%
	);

	/* Layout */
	--navbar-height: 4.75rem;
	--navbar-content-gap: 0.5rem;

	/* Bootstrap 5 bridge */
	--bs-primary: var(--color-primary);
	--bs-primary-rgb: var(--color-primary-rgb);
	--bs-secondary: var(--color-secondary);
	--bs-secondary-rgb: var(--color-secondary-rgb);
	--bs-success: var(--color-success);
	--bs-success-rgb: var(--color-success-rgb);
	--bs-danger: var(--color-danger);
	--bs-danger-rgb: var(--color-danger-rgb);
	--bs-warning: var(--color-warning);
	--bs-warning-rgb: var(--color-warning-rgb);
	--bs-info: var(--color-info);
	--bs-info-rgb: var(--color-info-rgb);

	--bs-primary-text-emphasis: var(--color-primary-dark);
	--bs-primary-bg-subtle: var(--color-primary-light);
	--bs-primary-border-subtle: var(--color-secondary-dark);

	--bs-success-text-emphasis: #4a6b50;
	--bs-success-bg-subtle: var(--color-success-light);
	--bs-success-border-subtle: #c5d8c8;

	--bs-danger-text-emphasis: #8f4538;
	--bs-danger-bg-subtle: var(--color-danger-light);
	--bs-danger-border-subtle: #e8c9c1;

	--bs-warning-text-emphasis: var(--color-warning-dark);
	--bs-warning-bg-subtle: var(--color-warning-light);
	--bs-warning-border-subtle: #e8d4a0;

	--bs-info-text-emphasis: var(--color-info-dark);
	--bs-info-bg-subtle: var(--color-info-light);
	--bs-info-border-subtle: #ddd0c2;

	--bs-secondary-color: var(--color-muted);
	--bs-tertiary-color: rgba(var(--color-primary-rgb), 0.55);

	--bs-btn-bg: var(--color-primary);
	--bs-btn-border-color: var(--color-primary);
	--bs-btn-hover-bg: var(--color-primary-dark);
	--bs-btn-hover-border-color: var(--color-primary-dark);
	--bs-link-color: var(--color-primary);
	--bs-link-hover-color: var(--color-primary-dark);

	--bs-form-valid-color: var(--color-success);
	--bs-form-valid-border-color: var(--color-success);
	--bs-form-invalid-color: var(--color-danger);
	--bs-form-invalid-border-color: var(--color-danger);

	/* Table */
	--bs-emphasis-color-rgb: var(--color-primary-rgb);

	/* Focus rings */
	--focus-ring-primary: 0 0 0 0.15rem rgba(var(--color-primary-rgb), 0.12);
	--focus-ring-warning: 0 0 0 0.15rem rgba(var(--color-warning-rgb), 0.12);
	--focus-ring-info: 0 0 0 0.15rem rgba(var(--color-info-rgb), 0.12);
	--bs-warning-focus-shadow: var(--focus-ring-warning);

	scroll-behavior: smooth;
}
