/* Liberty Defense design tokens.
   theme.json is the source for every preset value. This file gives each one an --ld-* name for
   component CSS, and defines the component-level values that theme.json has no preset for.
   Component CSS uses only these custom properties. */
:root {
  /* Color: palette (theme.json settings.color.palette) */
  --ld-navy: var(--wp--preset--color--navy);
  --ld-navy-900: var(--wp--preset--color--navy-900);
  --ld-navy-700: var(--wp--preset--color--navy-700);
  --ld-light-navy: var(--wp--preset--color--light-navy);
  --ld-grey: var(--wp--preset--color--grey);
  --ld-grey-600: var(--wp--preset--color--grey-600);
  --ld-grey-300: var(--wp--preset--color--grey-300);
  --ld-grey-100: var(--wp--preset--color--grey-100);
  --ld-grey-50: var(--wp--preset--color--grey-50);
  --ld-off-white: var(--wp--preset--color--off-white);
  --ld-white: var(--wp--preset--color--white);
  --ld-bright-blue: var(--wp--preset--color--bright-blue);
  --ld-blue-300: var(--wp--preset--color--blue-300);
  --ld-blue-600: var(--wp--preset--color--blue-600);
  --ld-blue-700: var(--wp--preset--color--blue-700);
  --ld-blue-800: var(--wp--preset--color--blue-800);
  --ld-ice: var(--wp--preset--color--ice);
  --ld-teal: var(--wp--preset--color--teal);
  --ld-red: var(--wp--preset--color--red);
  --ld-gradient-hero: var(--wp--preset--gradient--hero);

  /* Color: transparent tints used by components (rgba of palette colors) */
  --ld-bright-blue-a000: rgba(31,170,225,0);
  --ld-color-2f9e5f: #2f9e5f;
  --ld-ice-a060: rgba(182,217,235,0.06);
  --ld-ice-a070: rgba(182,217,235,0.07);
  --ld-ice-a220: rgba(182,217,235,0.22);
  --ld-ice-a250: rgba(182,217,235,0.25);
  --ld-ice-a280: rgba(182,217,235,0.28);
  --ld-ice-a300: rgba(182,217,235,0.3);
  --ld-ice-a450: rgba(182,217,235,0.45);
  --ld-ice-a600: rgba(182,217,235,0.6);
  --ld-navy-900-a100: rgba(13,39,53,0.1);
  --ld-navy-900-a350: rgba(13,39,53,0.35);
  --ld-navy-900-a550: rgba(13,39,53,0.55);
  --ld-navy-900-a860: rgba(13,39,53,0.86);
  --ld-navy-900-a940: rgba(13,39,53,0.94);
  --ld-navy-a050: rgba(19,54,72,0.05);
  --ld-navy-a055: rgba(19,54,72,0.055);
  --ld-white-a120: rgba(255,255,255,0.12);
  --ld-white-a700: rgba(255,255,255,0.7);

  /* Color: roles */
  --ld-text-strong: var(--ld-navy);
  --ld-text-body: var(--ld-light-navy);
  --ld-text-muted: var(--ld-grey-600);
  --ld-link: var(--ld-blue-700);
  --ld-link-hover: var(--ld-navy);
  --ld-focus: var(--wp--custom--focus--light);
  --ld-focus-on-dark: var(--wp--custom--focus--dark);
  --ld-btn-primary-bg: var(--ld-blue-600);
  --ld-btn-primary-bg-hover: var(--ld-blue-700);
  --ld-btn-primary-bg-active: var(--ld-blue-800);
  --ld-btn-primary-fg: var(--ld-white);
  --ld-btn-dark-bg: var(--ld-bright-blue);
  --ld-btn-dark-bg-hover: var(--ld-white);
  --ld-btn-dark-fg: var(--ld-navy-900);
  --ld-btn-disabled-bg: var(--ld-grey-100);
  --ld-btn-disabled-fg: var(--ld-grey-600);

  /* Type */
  --ld-font-brand: var(--wp--preset--font-family--montserrat);
  --ld-fs-display: var(--wp--preset--font-size--display);
  --ld-fs-h1: var(--wp--preset--font-size--h-1);
  --ld-fs-h2: var(--wp--preset--font-size--h-2);
  --ld-fs-h3: var(--wp--preset--font-size--h-3);
  --ld-fs-h4: var(--wp--preset--font-size--h-4);
  --ld-fs-lead: var(--wp--preset--font-size--lead);
  --ld-fs-body: var(--wp--preset--font-size--body);
  --ld-fs-small: var(--wp--preset--font-size--small);
  --ld-fs-xs: var(--wp--preset--font-size--xs);
  --ld-fs-eyebrow: var(--wp--preset--font-size--eyebrow);
  --ld-fs-10: 0.625rem;
  --ld-fs-11: 0.6875rem;
  --ld-fs-15: 0.9375rem;
  --ld-fs-17: 1.0625rem;
  --ld-fs-18: 1.125rem;
  --ld-fs-22: 1.375rem;
  --ld-fs-fluid-1: clamp(2.125rem, 1.3rem + 2.3cqi, 3.25rem);
  --ld-fs-fluid-2: clamp(2rem, 1.3rem + 2cqi, 3rem);
  --ld-fs-fluid-3: clamp(1.5rem, 1.2rem + 0.8cqi, 1.875rem);
  --ld-fs-fluid-4: clamp(1.75rem, 1.2rem + 1.4cqi, 2.5rem);
  --ld-fs-fluid-5: clamp(2rem, 1.4rem + 1.6cqi, 3rem);
  --ld-fs-fluid-6: clamp(2.25rem, 1.3rem + 2.8cqi, 3.75rem);
  --ld-fs-fluid-7: clamp(2.75rem, 1.6rem + 3cqi, 4.5rem);
  --ld-fs-fluid-8: clamp(2rem, 1.4rem + 1.5cqi, 2.75rem);
  --ld-fs-fluid-9: clamp(1.875rem, 1.3rem + 1.4cqi, 2.625rem);
  --ld-fs-fluid-10: clamp(1.875rem, 1.2rem + 1.8cqi, 2.75rem);
  --ld-fs-fluid-11: clamp(1.375rem, 1rem + 1cqi, 1.875rem);
  --ld-fs-fluid-12: clamp(1.75rem, 1.2rem + 1.5cqi, 2.5rem);
  --ld-fw-regular: var(--wp--custom--font-weight--regular);
  --ld-fw-semibold: var(--wp--custom--font-weight--semibold);
  --ld-fw-bold: var(--wp--custom--font-weight--bold);
  --ld-fw-extrabold: var(--wp--custom--font-weight--extrabold);
  --ld-lh-heading: var(--wp--custom--line-height--heading);
  --ld-lh-body: var(--wp--custom--line-height--body);
  --ld-ls-heading: var(--wp--custom--letter-spacing--heading);
  --ld-ls-eyebrow: var(--wp--custom--letter-spacing--eyebrow);

  /* Spacing: 4px scale (theme.json spacingSizes) */
  --ld-space-10: var(--wp--preset--spacing--10);
  --ld-space-20: var(--wp--preset--spacing--20);
  --ld-space-30: var(--wp--preset--spacing--30);
  --ld-space-40: var(--wp--preset--spacing--40);
  --ld-space-50: var(--wp--preset--spacing--50);
  --ld-space-60: var(--wp--preset--spacing--60);
  --ld-space-70: var(--wp--preset--spacing--70);
  --ld-space-80: var(--wp--preset--spacing--80);
  --ld-space-90: var(--wp--preset--spacing--90);
  --ld-space-section: var(--wp--preset--spacing--section);
  --ld-section-y: var(--wp--preset--spacing--section);
  --ld-margin: var(--wp--custom--layout--margin);
  --ld-gutter: var(--wp--custom--layout--gutter);
  /* Spacing: component values (px from the approved design) */
  --ld-sp--16: -16px;
  --ld-sp--12: -12px;
  --ld-sp--6: -6px;
  --ld-sp--2: -2px;
  --ld-sp--1: -1px;
  --ld-sp-2: 2px;
  --ld-sp-3: 3px;
  --ld-sp-4: var(--wp--preset--spacing--10);
  --ld-sp-6: 6px;
  --ld-sp-8: var(--wp--preset--spacing--20);
  --ld-sp-10: 10px;
  --ld-sp-11: 11px;
  --ld-sp-12: var(--wp--preset--spacing--30);
  --ld-sp-14: 14px;
  --ld-sp-16: var(--wp--preset--spacing--40);
  --ld-sp-18: 18px;
  --ld-sp-20: 20px;
  --ld-sp-22: 22px;
  --ld-sp-24: var(--wp--preset--spacing--50);
  --ld-sp-26: 26px;
  --ld-sp-28: 28px;
  --ld-sp-32: var(--wp--preset--spacing--60);
  --ld-sp-40: 40px;
  --ld-sp-48: var(--wp--preset--spacing--70);
  --ld-sp-50: 50px;
  --ld-sp-64: var(--wp--preset--spacing--80);
  --ld-sp-72: 72px;
  --ld-sp-120: 120px;
  --ld-sp-fluid-1: clamp(36px, 1rem + 4cqi, 88px);
  --ld-sp-fluid-2: clamp(28px, 1rem + 3cqi, 64px);
  --ld-sp-fluid-3: clamp(24px, 1rem + 1.5cqi, 40px);
  --ld-sp-fluid-4: clamp(28px, 1rem + 2cqi, 44px);
  --ld-sp-fluid-5: clamp(32px, 1rem + 2.5cqi, 56px);
  --ld-sp-fluid-6: clamp(28px, 1rem + 2.5cqi, 56px);
  --ld-sp-fluid-7: clamp(28px, 1rem + 3cqi, 72px);
  --ld-sp-fluid-8: clamp(56px, 2rem + 4cqi, 104px);
  --ld-sp-fluid-9: clamp(20px, 1rem + 1cqi, 32px);
  --ld-sp-fluid-10: clamp(36px, 1rem + 3cqi, 72px);
  --ld-sp-fluid-11: clamp(-72px, -5cqi, -20px);
  --ld-sp-fluid-12: clamp(22px, 1rem + 1.5cqi, 40px);
  --ld-sp-fluid-13: clamp(40px, 1rem + 3cqi, 72px);
  --ld-sp-fluid-14: clamp(24px, 1rem + 2cqi, 48px);
  --ld-sp-fluid-15: clamp(20px, 1rem + 2cqi, 48px);
  --ld-sp-fluid-16: clamp(0px, 1.5cqi, 24px);
  --ld-sp-fluid-17: clamp(16px, 1rem + 1cqi, 32px);
  --ld-sp-fluid-18: clamp(28px, 1rem + 2cqi, 48px);
  --ld-sp-fluid-19: clamp(24px, 1rem + 2.5cqi, 64px);
  --ld-sp-fluid-20: clamp(24px, 1rem + 2.5cqi, 56px);
  --ld-sp-fluid-21: clamp(24px, 1rem + 1.5cqi, 36px);
  --ld-sp-fluid-22: clamp(28px, 1rem + 2.5cqi, 64px);
  --ld-sp-fluid-23: clamp(28px, 1rem + 2cqi, 56px);
  --ld-sp-fluid-24: clamp(40px, 1rem + 4cqi, 96px);
  --ld-sp-fluid-25: clamp(48px, 1rem + 6cqi, 128px);
  --ld-sp-fluid-26: clamp(40px, 1rem + 4cqi, 88px);
  --ld-sp-fluid-27: clamp(32px, 1rem + 4cqi, 80px);
  --ld-sp-fluid-28: clamp(22px, 1rem + 1cqi, 32px);
  --ld-sp-fluid-29: clamp(24px, 1rem + 2cqi, 40px);
  --ld-sp-fluid-30: clamp(40px, 1rem + 3cqi, 64px);
  --ld-sp-fluid-31: clamp(36px, 1rem + 2.5cqi, 64px);
  --ld-sp-fluid-32: clamp(48px, 2rem + 3cqi, 88px);
  --ld-sp-fluid-33: clamp(24px, 1rem + 3cqi, 72px);
  --ld-sp-fluid-34: clamp(28px, 1rem + 4cqi, 88px);
  --ld-sp-fluid-35: clamp(22px, 1rem + 1.5cqi, 36px);
  --ld-sp-fluid-36: clamp(32px, 1rem + 3cqi, 64px);
  --ld-sp-fluid-37: clamp(36px, 1rem + 3.5cqi, 80px);
  --ld-sp-fluid-38: clamp(36px, 1rem + 3cqi, 64px);
  --ld-sp-fluid-39: clamp(32px, 1rem + 3cqi, 72px);
  --ld-sp-fluid-40: clamp(24px, 1rem + 2cqi, 44px);
  --ld-sp-fluid-41: clamp(32px, 1rem + 3cqi, 56px);
  --ld-sp-fluid-42: clamp(36px, 1rem + 2cqi, 56px);
  --ld-sp-fluid-43: clamp(20px, 1rem + 2cqi, 40px);
  --ld-sp-fluid-44: clamp(20px, 1rem + 1cqi, 28px);
  --ld-sp-fluid-45: clamp(32px, 1rem + 2cqi, 56px);
  --ld-sp-fluid-46: clamp(28px, 1rem + 1.5cqi, 40px);
  --ld-sp-fluid-47: clamp(56px, 1rem + 6cqi, 128px);

  /* Sizes and content widths */
  --ld-page-max: var(--wp--custom--layout--page-max);
  --ld-content-size: var(--wp--style--global--content-size);
  --ld-wide-size: var(--wp--style--global--wide-size);
  --ld-size-1_5: 1.5px;
  --ld-size-2: 2px;
  --ld-size-4: 4px;
  --ld-size-6: 6px;
  --ld-size-12: 12px;
  --ld-size-14: 14px;
  --ld-size-20: 20px;
  --ld-size-24: 24px;
  --ld-size-26: 26px;
  --ld-size-28: 28px;
  --ld-size-30: 30px;
  --ld-grid-size: 32px;
  --ld-size-32: 32px;
  --ld-size-34: 34px;
  --ld-size-36: 36px;
  --ld-size-40: 40px;
  --ld-size-44: 44px;
  --ld-size-46: 46px;
  --ld-size-48: 48px;
  --ld-size-52: 52px;
  --ld-size-56: 56px;
  --ld-size-96: 96px;
  --ld-size-110: 110px;
  --ld-size-140: 140px;
  --ld-size-160: 160px;
  --ld-size-200: 200px;
  --ld-size-220: 220px;
  --ld-size-240: 240px;
  --ld-size-260: 260px;
  --ld-size-280: 280px;
  --ld-size-300: 300px;
  --ld-size-320: 320px;
  --ld-size-380: 380px;
  --ld-size-420: 420px;
  --ld-size-440: 440px;
  --ld-size-600: 600px;
  --ld-size-620: 620px;
  --ld-size-640: 640px;
  --ld-size-680: 680px;
  --ld-size-720: 720px;
  --ld-size-760: 760px;
  --ld-size-780: 780px;
  --ld-size-820: 820px;
  --ld-size-860: 860px;
  --ld-size-900: 900px;
  --ld-size-960: 960px;
  --ld-size-fluid-1: clamp(240px, 38cqi, 580px);
  --ld-size-fluid-2: clamp(240px, 30cqi, 380px);

  /* Radius, borders */
  --ld-radius-xs: var(--wp--custom--radius--xs);
  --ld-radius-sm: var(--wp--custom--radius--sm);
  --ld-radius-md: var(--wp--custom--radius--md);
  --ld-radius-lg: var(--wp--custom--radius--lg);
  --ld-radius-pill: var(--wp--custom--radius--pill);
  --ld-radius-3: 3px;
  --ld-border-1: 1px;
  --ld-border-1.5: 1.5px;
  --ld-border-2: 2px;
  --ld-border-3: 3px;
  --ld-border-4: 4px;

  /* Shadows (theme.json shadow presets, plus component shadows) */
  --ld-shadow-card: var(--wp--preset--shadow--card);
  --ld-shadow-card-hover: var(--wp--preset--shadow--card-hover);
  --ld-shadow-menu: var(--wp--preset--shadow--menu);
  --ld-shadow-md: var(--wp--preset--shadow--md);
  --ld-shadow-lg: var(--wp--preset--shadow--lg);


  /* Values used by base, header, footer and form styles */
  --ld-size-16: 16px;
  --ld-bright-blue-a120: rgba(31,170,225,0.12);
  --ld-size-180: 180px;
  --ld-sp-fluid-48: clamp(48px, 2rem + 3cqi, 80px);
  --ld-size-340: 340px;
  --ld-fs-20: 1.25rem;
  --ld-size-170: 170px;
  --ld-sp-36: 36px;
  --ld-size-18: 18px;
  --ld-size-64: 64px;
  --ld-size-15: 15px;
  --ld-size-92: 92px;

  /* Motion */
  --ld-ease: var(--wp--custom--motion--ease);
  --ld-dur-fast: var(--wp--custom--motion--fast);
  --ld-dur: var(--wp--custom--motion--base);
  --ld-dur-highlight: 700ms;
  --ld-header-h: 120px;
}
/* Breakpoints used by component CSS (media queries cannot read custom properties):
   380, 420, 480, 520, 560, 600, 640, 700, 720, 760, 860, 900, 960, 1000, 1024, 1100 px. */
@media (prefers-reduced-motion: reduce) {
  :root { --ld-dur-fast: 0ms; --ld-dur: 0ms; --ld-dur-highlight: 0ms; }
}
