// Weightmans LIGHT theme
// Copyright 2026 Weightmans LLP

@use "sass:color" as *;
@use "sass:map" as *;
@use "../mixins" as *;

@use "../colours/colours" as brand;

@use "secondary-colours/vars/innovative" as innovative;
@use "secondary-colours/vars/approachable" as approachable;
@use "secondary-colours/vars/complementary" as complementary;
@use "secondary-colours/vars/professional" as professional;
@use "secondary-colours/vars/contemporary" as contemporary;
@use "secondary-colours/vars/dynamic" as dynamic;

$colors: (
  // Primary
  primary: brand.$weightmans,
  on-primary: #ffffff,
  primary-container: scale(brand.$weightmans, $lightness: 75%, $space: oklch),
  on-primary-container: scale(brand.$weightmans, $lightness: -10%, $space: oklch),
  
  // Primary Variant
  primary-variant: brand.$supportive,
  on-primary-variant: #ffffff,
  primary-variant-container: scale(brand.$supportive, $lightness: 75%, $chroma: -50%, $space: oklch),
  on-primary-variant-container: scale(brand.$supportive, $lightness: -15%, $space: oklch),
  
  // Secondary (Innovative)
  secondary: get(innovative.$light, secondary),
  on-secondary: get(innovative.$light, on-secondary),
  secondary-container: get(innovative.$light, secondary-container),
  on-secondary-container: get(innovative.$light, on-secondary-container),

  // Secondary Variant
  secondary-variant: get(innovative.$light, secondary-variant),
  on-secondary-variant: get(innovative.$light, on-secondary-variant),
  secondary-variant-container: get(innovative.$light, secondary-variant-container),
  on-secondary-variant-container: get(innovative.$light, on-secondary-variant-container),
  
  // Error
  error: brand.$error,
  on-error: #ffffff,
  error-container: scale(brand.$error, $lightness: 80%),
  on-error-container: scale(brand.$error, $lightness: -20%),

  // Success
  success: brand.$success,
  on-success: #ffffff,
  success-container: scale(brand.$success, $lightness: 70%),
  on-success-container: scale(brand.$success, $lightness: -40%),

  // Warning
  warning: brand.$warning,
  on-warning: #ffffff,
  warning-container: scale(brand.$warning, $lightness: 70%),
  on-warning-container: scale(brand.$warning, $lightness: -40%),

  // Info
  info: scale(brand.$professional, $lightness: -30%),
  on-info: #ffffff,
  info-container: scale(brand.$professional, $lightness: 70%),
  on-info-container: scale(brand.$professional, $lightness: -40%),

  // Background
  background: brand.$lighter-grey,
  on-background: brand.$black,

  // Surface
  surface: #fff,
  on-surface: scale(brand.$black, $lightness: +5%),

  // Surface Variant
  surface-variant: scale(brand.$lighter-grey, $lightness: +60%),
  on-surface-variant: scale(brand.$black, $lightness: +10%),

  innovative: get(innovative.$light, secondary),
  on-innovative: get(innovative.$light, on-secondary),
  innovative-container: get(innovative.$light, secondary-container),
  on-innovative-container: get(innovative.$light, on-secondary-container),
  innovative-variant: get(innovative.$light, secondary-variant),
  on-innovative-variant: get(innovative.$light, on-secondary-variant),
  innovative-variant-container: get(innovative.$light, secondary-variant-container),
  on-innovative-variant-container: get(innovative.$light, on-secondary-variant-container),
  approachable: get(approachable.$light, secondary),
  on-approachable: get(approachable.$light, on-secondary),
  approachable-container: get(approachable.$light, secondary-container),
  on-approachable-container: get(approachable.$light, on-secondary-container),
  approachable-variant: get(approachable.$light, secondary-variant),
  on-approachable-variant: get(approachable.$light, on-secondary-variant),
  approachable-variant-container: get(approachable.$light, secondary-variant-container),
  on-approachable-variant-container: get(approachable.$light, on-secondary-variant-container),
  complementary: get(complementary.$light, secondary),
  on-complementary: get(complementary.$light, on-secondary),
  complementary-container: get(complementary.$light, secondary-container),
  on-complementary-container: get(complementary.$light, on-secondary-container),
  complementary-variant: get(complementary.$light, secondary-variant),
  on-complementary-variant: get(complementary.$light, on-secondary-variant),
  complementary-variant-container: get(complementary.$light, secondary-variant-container),
  on-complementary-variant-container: get(complementary.$light, on-secondary-variant-container),
  professional: get(professional.$light, secondary),
  on-professional: get(professional.$light, on-secondary),
  professional-container: get(professional.$light, secondary-container),
  on-professional-container: get(professional.$light, on-secondary-container),
  professional-variant: get(professional.$light, secondary-variant),
  on-professional-variant: get(professional.$light, on-secondary-variant),
  professional-variant-container: get(professional.$light, secondary-variant-container),
  on-professional-variant-container: get(professional.$light, on-secondary-variant-container),
  contemporary: get(contemporary.$light, secondary),
  on-contemporary: get(contemporary.$light, on-secondary),
  contemporary-container: get(contemporary.$light, secondary-container),
  on-contemporary-container: get(contemporary.$light, on-secondary-container),
  contemporary-variant: get(contemporary.$light, secondary-variant),
  on-contemporary-variant: get(contemporary.$light, on-secondary-variant),
  contemporary-variant-container: get(contemporary.$light, secondary-variant-container),
  on-contemporary-variant-container: get(contemporary.$light, on-secondary-variant-container),
  dynamic: get(dynamic.$light, secondary),
  on-dynamic: get(dynamic.$light, on-secondary),
  dynamic-container: get(dynamic.$light, secondary-container),
  on-dynamic-container: get(dynamic.$light, on-secondary-container),
  dynamic-variant: get(dynamic.$light, secondary-variant),
  on-dynamic-variant: get(dynamic.$light, on-secondary-variant),
  dynamic-variant-container: get(dynamic.$light, secondary-variant-container),
  on-dynamic-variant-container: get(dynamic.$light, on-secondary-variant-container)
) !default;

$vars: (
  /* Utilities */ 
  outline-opacity: 0.15,
  outline-percentage: calc(var(--outline-opacity) * 100%),
  hover-opacity: 0.1,
  hover-percentage: calc(var(--hover-opacity) * 100%),
  active-opacity: 0.2,
  active-percentage: calc(var(--active-opacity) * 100%),
  disabled-opacity: 0.6,
  disabled-percentage: calc(var(--disabled-opacity) * 100%),
  emphasize: #000,
  deemphasize: #fff
) !default;
