/* Design tokens
 *
 * Color system: Deep Navy (#1F2A3A) + Red Orange (#E73F1E accent).
 * Change the palette here — component CSS should reference semantic vars below.
 */

:root {
	/* --- Brand palette (Grand Detectors) --- */
	--gd-primary: #E73F1E;
	--gd-primary-hover: #D33618;
	--gd-primary-active: #B92D14;
	--gd-primary-light: #F04B27;
	--gd-primary-rgb: 231, 63, 30;
	--gd-primary-gradient: linear-gradient(135deg, #F04B27 0%, #D73518 100%);

	--gd-secondary: #1F2A3A;
	--gd-secondary-hover: #2A3749;
	--gd-secondary-dark: #131B27;
	--gd-secondary-rgb: 31, 42, 58;

	--gd-bg: #F8F8F6;
	--gd-card: #FFFFFF;
	--gd-border: #E8E8E8;

	--gd-text: #1F2A3A;
	--gd-text-muted: #556170;

	/* --- Brand: Deep navy scale --- */
	--color-brand-950: var(--gd-secondary-dark);
	--color-brand-900: var(--gd-secondary);
	--color-brand-800: var(--gd-secondary-hover);
	--color-brand-700: #3A4A5E;
	--color-brand-600: #556170;

	/* --- Accent: Red Orange --- */
	--color-accent-500: var(--gd-primary);
	--color-accent-600: var(--gd-primary-hover);
	--color-accent-700: var(--gd-primary-active);
	--color-accent-soft: rgba(var(--gd-primary-rgb), 0.08);

	/* --- Base surfaces --- */
	--color-bg: var(--gd-bg);
	--color-surface: var(--gd-card);
	--color-surface-muted: #F0F0EE;

	/* --- Text --- */
	--color-text: var(--gd-text);
	--color-text-muted: var(--gd-text-muted);
	--color-text-inverse: #ffffff;

	/* --- Borders --- */
	--color-border: var(--gd-border);

	/* --- Semantic: header --- */
	--color-header-top-bg: var(--gd-secondary-dark);
	--color-header-main-bg: var(--gd-secondary);
	--color-header-nav-bg: var(--gd-secondary-hover);
	--color-header-text: var(--color-text-inverse);
	--color-header-text-nav: rgba(255, 255, 255, 0.88);
	--color-header-text-muted: rgba(255, 255, 255, 0.82);
	--color-header-text-subtle: rgba(255, 255, 255, 0.94);
	--color-search-shell-border: rgba(255, 255, 255, 0.95);
	--color-header-accent: var(--gd-primary);
	--color-header-accent-hover: var(--gd-primary-hover);
	--color-header-border: rgba(255, 255, 255, 0.1);
	--color-header-border-strong: rgba(255, 255, 255, 0.16);
	--color-header-overlay: rgba(255, 255, 255, 0.06);
	--color-header-overlay-hover: rgba(255, 255, 255, 0.12);
	--color-header-categories-bg: var(--color-brand-700);
	--color-header-categories-border: rgba(255, 255, 255, 0.18);

	/* --- Semantic: interactive --- */
	--color-button-primary-bg: var(--gd-primary);
	--color-button-primary-bg-hover: var(--gd-primary-hover);
	--gd-button-text: #FFFFFF;
	--color-button-primary-text: var(--gd-button-text);
	--color-link: var(--gd-secondary);
	--color-link-hover: var(--gd-primary);

	/* --- Status (functional, not brand) --- */
	--color-success: #2d6a4f;
	--color-warning: #C45A00;
	--color-error: #b42318;
	--color-info: var(--color-brand-600);

	/* --- Legacy aliases (map old names → new tokens) --- */
	--color-primary: var(--gd-secondary);
	--color-primary-dark: var(--gd-secondary-dark);
	--color-secondary: var(--gd-primary);
	--color-secondary-dark: var(--gd-primary-hover);
	--color-accent: var(--gd-primary);
	--color-background: var(--gd-card);
	--color-background-alt: var(--color-surface-muted);
	--color-background-dark: var(--gd-secondary-dark);
	--color-border-light: var(--color-surface-muted);
	--color-header-deep: var(--color-header-top-bg);
	--color-header-brand: var(--color-header-main-bg);
	--color-header-nav: var(--color-header-nav-bg);

	/* Typography */
	--font-family-ar: "Cairo", "Tahoma", "Arial", sans-serif;
	--font-family-en: "Google Sans", "Roboto", "Arial", sans-serif;
	--font-family-base: var(--font-family-ar);
	--font-family-heading: var(--font-family-ar);
	--font-size-xs: 0.75rem;
	--font-size-sm: 0.875rem;
	--font-size-base: 1rem;
	--font-size-md: 1.125rem;
	--font-size-lg: 1.25rem;
	--font-size-xl: 1.5rem;
	--font-size-2xl: 2rem;
	--font-size-3xl: 2.5rem;
	--font-weight-normal: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--line-height-tight: 1.25;
	--line-height-base: 1.6;
	--line-height-relaxed: 1.75;
	--letter-spacing-tight: -0.02em;
	--letter-spacing-wide: 0.05em;

	/* Spacing */
	--space-2xs: 0.25rem;
	--space-xs: 0.5rem;
	--space-sm: 0.75rem;
	--space-md: 1rem;
	--space-lg: 1.5rem;
	--space-xl: 2rem;
	--space-2xl: 3rem;
	--space-3xl: 4rem;
	--space-4xl: 6rem;

	/* Vertical padding on each homepage section wrapper. Adjacent sections touch
	   with no margin, so the visual gap between two sections is double this. */
	--gd-home-section-space: clamp(1.5rem, 4vw, 2.25rem);

	/* Layout */
	--container-max-width: 1200px;
	--container-narrow: 720px;
	--container-wide: 1400px;
	--content-max-width: 68ch;
	--header-height: 4.5rem;

	/* Border radius */
	--radius-sm: 0.25rem;
	--radius-md: 0.5rem;
	--radius-lg: 0.75rem;
	--radius-xl: 1rem;
	--radius-full: 9999px;

	/* Shadows (brand + accent tints derived from palette) */
	--shadow-sm: 0 1px 2px rgba(var(--gd-secondary-rgb), 0.06);
	--shadow-md: 0 4px 12px rgba(var(--gd-secondary-rgb), 0.08);
	--shadow-lg: 0 12px 32px rgba(var(--gd-secondary-rgb), 0.12);
	--shadow-header: 0 4px 20px rgba(var(--gd-secondary-rgb), 0.35);
	--shadow-search: 0 4px 16px rgba(var(--gd-secondary-rgb), 0.2);
	--shadow-search-focus: 0 4px 20px rgba(var(--gd-secondary-rgb), 0.25), 0 0 0 3px rgba(var(--gd-primary-rgb), 0.25);
	--shadow-cta: 0 2px 8px rgba(var(--gd-primary-rgb), 0.35);
	--shadow-cta-hover: 0 4px 14px rgba(var(--gd-primary-rgb), 0.45);
	--shadow-focus: 0 0 0 3px rgba(var(--gd-primary-rgb), 0.25);

	/* Transitions */
	--transition-fast: 150ms ease;
	--transition-base: 250ms ease;
	--transition-slow: 400ms ease;

	/* Z-index layers */
	--z-base: 1;
	--z-dropdown: 100;
	--z-sticky: 200;
	--z-header: 300;
	--z-overlay: 400;
	--z-modal: 500;
	--z-skip-link: 600;
}
