/**
 * FenceWisePro - Design Tokens
 *
 * Central source of truth for colors, type, spacing and other primitives.
 * Every other stylesheet in this theme reads from these custom properties
 * instead of hard-coding values, so a brand refresh only touches this file
 * (or the color pickers under Theme Settings → Brand & Contact).
 */

:root {
	/* ------------------------------------------------------------------
	 * Brand colors
	 * ---------------------------------------------------------------- */
	--fwp-orange: #FF7900;          /* Primary orange - buttons, CTAs, accents */
	--fwp-orange-dark: #FFA300;     /* hover / pressed state */
	--fwp-orange-darker: #A4530C;
	--fwp-orange-10: rgba(238, 125, 26, 0.1);
	--fwp-orange-20: rgba(238, 125, 26, 0.2);

	--fwp-gold: #F5B942;            /* Star ratings */

	/* ------------------------------------------------------------------
	 * Neutrals
	 * ---------------------------------------------------------------- */
	--fwp-black: #000000;
	--fwp-ink: #1B1712;             /* heading ink */
	--fwp-slate: #262019;           /* input text  */
	--fwp-grey-500: #63696D;        /* body copy */
	--fwp-grey-300: #ABA9A4;
	--fwp-grey-100: #E9E6E0;
	--fwp-grey-50: #F5F5F2;
	--fwp-cream: #FBEAC8;           /* testimonials / accent panels */
	--fwp-cream-dark: #F3D89B;
	--fwp-white: #FFFFFF;

	/* Alpha helpers used on dark / photo surfaces */
	--fwp-on-dark: rgba(255, 255, 255, 1);
	--fwp-on-dark-80: rgba(255, 255, 255, 0.8);
	--fwp-on-dark-70: rgba(255, 255, 255, 0.7);
	--fwp-on-dark-40: rgba(255, 255, 255, 0.4);
	--fwp-hairline: rgba(255, 255, 255, 0.16);
	--fwp-hairline-dark: rgba(27, 23, 18, 0.1);

	/* ------------------------------------------------------------------
	 * Semantic aliases
	 * ---------------------------------------------------------------- */
	--fwp-body-bg: var(--fwp-white);
	--fwp-body-color: var(--fwp-grey-500);
	--fwp-heading-color: var(--fwp-ink);
	--fwp-accent: var(--fwp-orange);
	--fwp-accent-contrast: var(--fwp-white);
	--fwp-link: var(--fwp-orange);
	--fwp-link-hover: var(--fwp-orange-dark);
	--fwp-focus-ring: var(--fwp-orange);

	/* ------------------------------------------------------------------
	 * Typography  (Inter)
	 * ---------------------------------------------------------------- */
	--fwp-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
		Roboto, "Helvetica Neue", Arial, sans-serif;
	--fwp-font-heading: var(--fwp-font-sans);

	--fwp-fw-regular: 400;
	--fwp-fw-medium: 500;
	--fwp-fw-semibold: 600;
	--fwp-fw-bold: 700;
	--fwp-fw-extrabold: 800;

	/* Fluid type scale - min value at 360px, max at 1440px */
	--fwp-fs-display: clamp(2.25rem, 1.2rem + 5vw, 4.4rem);    /* 36 -> 70 */
	--fwp-fs-h1: clamp(1.875rem, 1.1rem + 3.8vw, 4.4rem);          /* 30 -> 70 */
	--fwp-fs-h2: clamp(1.625rem, 1.15rem + 2.3vw, 3.125rem);     /* 26 -> 50 */
	--fwp-fs-h3: clamp(1.25rem, 1.05rem + 1vw, 1.5rem);          /* 20 -> 24 */
	--fwp-fs-h4: clamp(1.125rem, 1rem + 0.6vw, 1.25rem);         /* 18 -> 20 */
	--fwp-fs-h5: 1.125rem;
	--fwp-fs-lead: 1.125rem;
	--fwp-fs-body: 1rem;                                          /* 16 */
	--fwp-fs-sm: 0.875rem;                                        /* 14 - nav links */
	--fwp-fs-xs: 0.8125rem;                                       /* 13 - meta text */

	--fwp-lh-tight: 1;
	--fwp-lh-heading: 1.2;
	--fwp-lh-snug: 1.45;
	--fwp-lh-body: 1.7;
	--fwp-lh-loose: 1.85;

	--fwp-ls-heading: -0.01em;
	--fwp-ls-eyebrow: 0.08em;

	/* ------------------------------------------------------------------
	 * Layout
	 * ---------------------------------------------------------------- */
	--fwp-container: 1280px;
	--fwp-container-narrow: 760px;
	--fwp-gutter: clamp(1.25rem, 0.4rem + 3.6vw, 5rem); /* 20 -> 80 */
	--fwp-topbar-height: 40px;
	--fwp-header-height: 84px;

	/* ------------------------------------------------------------------
	 * Spacing scale (4px base)
	 * ---------------------------------------------------------------- */
	--fwp-space-1: 0.25rem;
	--fwp-space-2: 0.5rem;
	--fwp-space-3: 0.75rem;
	--fwp-space-4: 1rem;
	--fwp-space-5: 1.25rem;
	--fwp-space-6: 1.5rem;
	--fwp-space-8: 2rem;
	--fwp-space-10: 2.5rem;
	--fwp-space-12: 3rem;
	--fwp-space-16: 4rem;
	--fwp-space-20: 5rem;
	--fwp-space-24: 6rem;

	/* ------------------------------------------------------------------
	 * Radii, borders, shadows, motion
	 * ---------------------------------------------------------------- */
	--fwp-radius-sm: 8px;
	--fwp-radius-md: 14px;
	--fwp-radius-lg: 20px;
	--fwp-radius-xl: 28px;
	--fwp-radius-pill: 50px;
	--fwp-radius-circle: 999px;

	--fwp-border: 1px solid var(--fwp-grey-100);
	--fwp-border-accent: 2px solid var(--fwp-orange);

	--fwp-shadow-sm: 0 1px 3px rgba(27, 23, 18, 0.08);
	--fwp-shadow-md: 0 10px 30px rgba(27, 23, 18, 0.1);
	--fwp-shadow-lg: 0 24px 56px rgba(27, 23, 18, 0.16);

	--fwp-transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
	--fwp-transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);

	--fwp-z-header: 100;
	--fwp-z-drawer: 200;
	--fwp-z-overlay: 150;

	/* ------------------------------------------------------------------
	 * Gradients / overlays
	 * ---------------------------------------------------------------- */
	--fwp-overlay-hero: linear-gradient(100deg, rgba(15, 12, 9, 0.82) 0%, rgba(15, 12, 9, 0.55) 45%, rgba(15, 12, 9, 0.25) 100%);
	--fwp-overlay-band: linear-gradient(120deg, rgba(15, 12, 9, 0.9) 0%, rgba(15, 12, 9, 0.72) 60%, rgba(15, 12, 9, 0.55) 100%);
}
