@use 'sass:color';
@use 'sass:math';

$browser-font-size: 16; // Default

@function to-rem($pixels) {
  @return #{restrict-decimal-places(calc($pixels/$browser-font-size))}rem;
}

@function to-em($pixels, $context: $browser-font-size) {
  @return #{restrict-decimal-places(calc($pixels/$context))}em;
}

@function cqi($pixels, $container-width, $max-decimal-places: 1) {
  @return #{restrict-decimal-places(calc($pixels/$container-width * 100), $max-decimal-places)}cqi;
}

@function restrict-decimal-places($value, $places: 4) {
  $multiplier: math.pow(10, $places);
  @return calc(math.round($value * $multiplier) / $multiplier);
}

@function invert-color($color, $alpha-override: null) {
  $red: color.red($color);
  $green: color.green($color);
  $blue: color.blue($color);
  $alpha: color.alpha($color);
  @if $alpha-override {
    $alpha: $alpha-override;
  }

  $inverted-red: 255 - $red;
  $inverted-green: 255 - $green;
  $inverted-blue: 255 - $blue;

  @return rgba($inverted-red, $inverted-green, $inverted-blue, $alpha);
}
