/**
 * Shadows
 * Shadow properties are highly modular to make it easy to create custom shadow effects or transform elements based on specific shadow qualities.
 * A multiplier is provided for each shadow quality to uniformly scale all related values.
 */
:where(:root),
:host {
  --wa-shadow-offset-x-scale: 0;
  --wa-shadow-offset-x-s: calc(var(--wa-shadow-offset-x-scale) * 0.125rem);
  --wa-shadow-offset-x-m: calc(var(--wa-shadow-offset-x-scale) * 0.25rem);
  --wa-shadow-offset-x-l: calc(var(--wa-shadow-offset-x-scale) * 0.5rem);

  --wa-shadow-offset-y-scale: 1;
  --wa-shadow-offset-y-s: calc(var(--wa-shadow-offset-y-scale) * 0.125rem);
  --wa-shadow-offset-y-m: calc(var(--wa-shadow-offset-y-scale) * 0.25rem);
  --wa-shadow-offset-y-l: calc(var(--wa-shadow-offset-y-scale) * 0.5rem);

  --wa-shadow-blur-scale: 1;
  --wa-shadow-blur-s: calc(var(--wa-shadow-blur-scale) * 0.125rem);
  --wa-shadow-blur-m: calc(var(--wa-shadow-blur-scale) * 0.25rem);
  --wa-shadow-blur-l: calc(var(--wa-shadow-blur-scale) * 0.5rem);

  --wa-shadow-spread-scale: -0.5;
  --wa-shadow-spread-s: calc(var(--wa-shadow-spread-scale) * 0.125rem);
  --wa-shadow-spread-m: calc(var(--wa-shadow-spread-scale) * 0.25rem);
  --wa-shadow-spread-l: calc(var(--wa-shadow-spread-scale) * 0.5rem);

  --wa-shadow-s: var(--wa-shadow-offset-x-s) var(--wa-shadow-offset-y-s) var(--wa-shadow-blur-s)
    var(--wa-shadow-spread-s) var(--wa-color-shadow);
  --wa-shadow-m: var(--wa-shadow-offset-x-m) var(--wa-shadow-offset-y-m) var(--wa-shadow-blur-m)
    var(--wa-shadow-spread-m) var(--wa-color-shadow);
  --wa-shadow-l: var(--wa-shadow-offset-x-l) var(--wa-shadow-offset-y-l) var(--wa-shadow-blur-l)
    var(--wa-shadow-spread-l) var(--wa-color-shadow);
}
