@use 'sass:map';

$site-palette: (
  // Blue
  'site-darkest-blue': #0c213a,
  'site-darker-blue': #112e51,
  'site-dark-blue': #205493,
  'site-blue': #0071bb,
  'site-light-blue': #cedced,
  'site-lighter-blue': #ebf3fa,
  'site-lightest-blue': #f2f9ff,
  // Teal
  'site-darkest-teal': #006175,
  'site-darker-teal': #007187,
  'site-dark-teal': #008099,
  'site-teal': #00a2c4,
  'site-light-teal': #7bbfd6,
  'site-lighter-teal': #b7dde9,
  'site-lightest-teal': #ecfcff,
  // Red
  'site-darkest-red': #680617,
  'site-darker-red': #8b0a21,
  'site-dark-red': #ab142f,
  'site-red': #e21c3d,
  'site-light-red': #ea7b85,
  'site-lighter-red': #f3b8be,
  'site-lightest-red': #fff0f3,
  // Grey
  'site-darkest-grey': #1b1b1b,
  'site-darker-grey': #454545,
  'site-dark-grey': #5c5c5c,
  'site-grey': #767676,
  'site-light-grey': #adadad,
  'site-lighter-grey': #dedede,
  'site-lightest-grey': #f0f0f0,
  'site-ink': #454545,
  // Yellow
  'site-darkest-yellow': #504332,
  'site-darker-yellow': #847122,
  'site-dark-yellow': #bba212,
  'site-yellow': #f5d600,
  'site-light-yellow': #f9e450,
  'site-lighter-yellow': #fcf197,
  'site-lightest-yellow': #fffdd7,
  // Green
  'site-darkest-green': #094316,
  'site-darker-green': #0e581e,
  'site-dark-green': #136e26,
  'site-green': #18852e,
  'site-light-green': #60ae70,
  'site-lighter-green': #a6d5af,
  'site-lightest-green': #ebfcef,
  // White
  'site-white': #ffffff
);

@forward 'uswds-core/index' with (
  // ----------------------------------------
  // Colors
  // ----------------------------------------
  // Palettes
  $global-color-palettes: ('palette-color-required', 'palette-color-theme', 'palette-color-state')
    !default,
  // Base colors
  $theme-color-base-family: 'grey' !default,
  $theme-color-base-lightest: map.get($site-palette, 'site-lightest-grey') !default,
  $theme-color-base-lighter: map.get($site-palette, 'site-lighter-grey') !default,
  $theme-color-base-light: map.get($site-palette, 'site-light-grey') !default,
  $theme-color-base: map.get($site-palette, 'site-grey') !default,
  $theme-color-base-dark: map.get($site-palette, 'site-dark-grey') !default,
  $theme-color-base-darker: map.get($site-palette, 'site-darker-grey') !default,
  $theme-color-base-darkest: map.get($site-palette, 'site-darkest-grey') !default,
  $theme-color-base-ink: map.get($site-palette, 'site-ink') !default,
  // Primary colors
  $theme-color-primary-lightest: map.get($site-palette, 'site-lightest-blue') !default,
  $theme-color-primary-lighter: map.get($site-palette, 'site-lighter-blue') !default,
  $theme-color-primary-light: map.get($site-palette, 'site-light-blue') !default,
  $theme-color-primary: map.get($site-palette, 'site-blue') !default,
  $theme-color-primary-vivid: map.get($site-palette, 'site-blue') !default,
  $theme-color-primary-dark: map.get($site-palette, 'site-dark-blue') !default,
  $theme-color-primary-darker: map.get($site-palette, 'site-darker-blue') !default,
  $theme-color-primary-darkest: map.get($site-palette, 'site-darkest-blue') !default,
  // Secondary colors
  $theme-color-secondary-lightest: map.get($site-palette, 'site-lightest-red') !default,
  $theme-color-secondary-lighter: map.get($site-palette, 'site-lighter-red') !default,
  $theme-color-secondary-light: map.get($site-palette, 'site-light-red') !default,
  $theme-color-secondary: map.get($site-palette, 'site-red') !default,
  $theme-color-secondary-vivid: false !default,
  $theme-color-secondary-dark: map.get($site-palette, 'site-dark-red') !default,
  $theme-color-secondary-darker: map.get($site-palette, 'site-darker-red') !default,
  $theme-color-secondary-darkest: map.get($site-palette, 'site-darkest-red') !default,
  // Accent cool colors
  $theme-color-accent-cool-family: 'teal' !default,
  $theme-color-accent-cool-lightest: map.get($site-palette, 'site-lightest-teal') !default,
  $theme-color-accent-cool-lighter: map.get($site-palette, 'site-lighter-teal') !default,
  $theme-color-accent-cool-light: map.get($site-palette, 'site-light-teal') !default,
  $theme-color-accent-cool: map.get($site-palette, 'site-teal') !default,
  $theme-color-accent-cool-dark: map.get($site-palette, 'site-dark-teal') !default,
  $theme-color-accent-cool-darker: map.get($site-palette, 'site-darker-teal') !default,
  $theme-color-accent-cool-darkest: map.get($site-palette, 'site-darkest-teal') !default,
  // Error colors
  $theme-color-error-family: 'red' !default,
  $theme-color-error-lighter: map.get($site-palette, 'site-lightest-red') !default,
  $theme-color-error-light: map.get($site-palette, 'site-lighter-red') !default,
  $theme-color-error: map.get($site-palette, 'site-red') !default,
  $theme-color-error-dark: map.get($site-palette, 'site-darker-red') !default,
  $theme-color-error-darker: map.get($site-palette, 'site-darkest-red') !default,
  // Warning colors
  $theme-color-warning-family: 'yellow' !default,
  $theme-color-warning-lighter: map.get($site-palette, 'site-lightest-yellow') !default,
  $theme-color-warning-light: map.get($site-palette, 'site-lighter-yellow') !default,
  $theme-color-warning: map.get($site-palette, 'site-yellow') !default,
  $theme-color-warning-dark: map.get($site-palette, 'site-darker-yellow') !default,
  $theme-color-warning-darker: map.get($site-palette, 'site-darkest-yellow') !default,
  // Success colors
  $theme-color-success-family: 'green' !default,
  $theme-color-success-lighter: map.get($site-palette, 'site-lightest-green') !default,
  $theme-color-success-light: map.get($site-palette, 'site-lighter-green') !default,
  $theme-color-success: map.get($site-palette, 'site-green') !default,
  $theme-color-success-dark: map.get($site-palette, 'site-darker-green') !default,
  $theme-color-success-darker: map.get($site-palette, 'site-darkest-green') !default,
  // Info colors
  $theme-color-info-family: 'teal' !default,
  $theme-color-info-lighter: map.get($site-palette, 'site-lightest-teal') !default,
  $theme-color-info-light: map.get($site-palette, 'site-lighter-teal') !default,
  $theme-color-info: map.get($site-palette, 'site-teal') !default,
  $theme-color-info-dark: map.get($site-palette, 'site-darker-teal') !default,
  $theme-color-info-darker: map.get($site-palette, 'site-darkest-teal') !default,
  // Disabled colors
  $theme-color-disabled-lighter: map.get($site-palette, 'site-lighter-grey') !default,
  $theme-color-disabled-light: map.get($site-palette, 'site-light-grey') !default,
  $theme-color-disabled: map.get($site-palette, 'site-grey') !default,
  $theme-color-disabled-dark: map.get($site-palette, 'site-dark-grey') !default,
  // Links
  $theme-link-reverse-color: 'white' !default,
  $theme-link-reverse-hover-color: 'primary-light' !default,
  $theme-link-reverse-active-color: 'white' !default,
  // ----------------------------------------
  // Components
  // ----------------------------------------
  // Accordion
  $theme-accordion-border-width: '1px' !default,
  $theme-accordion-border-color: 'primary-light' !default,
  // Alert
  $theme-alert-icon-size: 2 !default,
  $theme-alert-padding-x: 2 !default,
  $theme-alert-padding-y: 1.5 !default,
  // Banner
  $theme-banner-background-color: 'primary-lighter' !default,
  // Button
  $theme-button-stroke-width: 1px !default,
  // Identifier
  $theme-identifier-background-color: 'primary-darker' !default,
  $theme-identifier-identity-domain-color: 'primary-light' !default,
  $theme-identifier-secondary-link-color: 'primary-light' !default,
  // Footer
  $theme-footer-font-family: 'body' !default,
  // Form and input
  $theme-checkbox-border-radius: 1.5px !default,
  $theme-input-line-height: 3 !default,
  $theme-input-state-border-width: 2px !default,
  $theme-input-tile-border-radius: 'lg' !default,
  $theme-input-tile-border-width: 1px !default,
  // Process List
  $theme-process-list-connector-color: 'base-lighter' !default,
  $theme-process-list-counter-background-color: 'primary-dark' !default,
  $theme-process-list-counter-border-width: 0 !default,
  $theme-process-list-counter-font-size: 'sm' !default,
  $theme-process-list-counter-size: 3 !default,
  $theme-process-list-counter-text-color: 'white' !default,
  // ----------------------------------------
  // General
  // ----------------------------------------
  // Notifications
  $theme-show-compile-warnings: false !default,
  $theme-show-notifications: false !default,
  // Focus
  $theme-focus-color: 'primary' !default,
  $theme-focus-offset: 1px !default,
  $theme-focus-width: 2px !default,
  // ----------------------------------------
  // Typography
  // ----------------------------------------
  // Root font size
  $theme-respect-user-font-size: false !default,
  $theme-root-font-size: 16px !default,
  // Font path
  $theme-font-path: if(variable-exists(font-path), $font-path, '../fonts') !default,
  //  Font role
  $theme-font-role-heading: 'sans' !default,
  $theme-font-role-alt: 'sans' !default,
  // Font type
  $theme-font-type-sans: 'public-sans' !default,
  $theme-font-type-serif: false !default,
  // Type scale
  $theme-type-scale-3xs: 'micro' !default,
  $theme-type-scale-2xs: 2 !default,
  $theme-type-scale-xl: 11 !default,
  // Line height
  $theme-body-line-height: 4 !default,
  // Headings
  $theme-h1-font-size: 'xl' !default,
  $theme-h2-font-size: 'lg' !default,
  $theme-h3-font-size: 'md' !default,
  $theme-h4-font-size: 'xs' !default,
  $theme-h5-font-size: '2xs' !default,
  $theme-heading-line-height: 3 !default,
  $theme-display-font-size: '2xl' !default,
  // Text and prose
  $theme-text-measure: 3 !default,
  $theme-text-measure-wide: 4 !default,
  // Lead text
  $theme-lead-font-family: 'body' !default,
  $theme-lead-font-size: 8 !default,
  $theme-lead-measure: 5 !default,
  // ----------------------------------------
  // Utilility
  // ----------------------------------------
  $theme-utility-breakpoints:
    (
      // 160px:
      'card': false,
      // 240px:
      'card-lg': false,
      // 320px:
      'mobile': false,
      // 480px:
      'mobile-lg': false,
      // 640px:
      'tablet': true,
      // 800px:
      'tablet-lg': false,
      // 1024px:
      'desktop': false,
      // 1200px:
      'desktop-lg': false,
      // 1400px:
      'widescreen': false
    )
    !default
);

@use 'uswds-core/index' as *;

$theme-input-tile-background-color-selected: 'primary-lightest';
$theme-input-tile-border-color: 'primary-light';
$theme-input-tile-border-color-selected: 'primary-light';
$theme-input-bordered-background-color-selected: $theme-input-tile-background-color-selected;
$theme-input-bordered-border-radius: $theme-input-tile-border-radius;
$theme-input-bordered-border-width: $theme-input-tile-border-width;
$theme-input-bordered-border-color: $theme-input-tile-border-color;
$theme-input-bordered-border-color-selected: $theme-input-tile-border-color-selected;

%block-input-styles {
  margin-top: units(0.5);
}
