/*!
 * Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2026 Fonticons, Inc.
 */
@use "sass:string";
@use 'variables' as v;
@use 'mixins' as m;

:root, :host {
  --#{v.$css-prefix}-family-duotone: 'Font Awesome 7 Duotone';
  --#{v.$css-prefix}-font-duotone: normal 900 1em/1 var(--#{v.$css-prefix}-family-duotone);

  /* deprecated: this older custom property will be removed next major release */
  --#{v.$css-prefix}-style-family-duotone: var(--#{v.$css-prefix}-family-duotone);
}

@font-face {
  font-family: 'Font Awesome 7 Duotone';
  font-style: normal;
  font-weight: 900;
  font-display: v.$font-display;
  src: url('#{v.$font-path}/fa-duotone-900.woff2');
}

.fad,
.#{v.$css-prefix}-duotone {
  --#{v.$css-prefix}-family: var(--#{v.$css-prefix}-family-duotone);
  --#{v.$css-prefix}-style: 900;
  position: relative;
  letter-spacing: normal;
}

.fad::before,
.#{v.$css-prefix}-duotone::before {
  position: absolute;
  color: var(--#{v.$css-prefix}-primary-color, currentColor);
  opacity: var(--#{v.$css-prefix}-primary-opacity, #{v.$primary-opacity});
}

.fad::after,
.#{v.$css-prefix}-duotone::after {
  color: var(--#{v.$css-prefix}-secondary-color, currentColor);
  opacity: var(--#{v.$css-prefix}-secondary-opacity, #{v.$secondary-opacity});
}

.#{v.$css-prefix}-swap-opacity .fad::before,
.#{v.$css-prefix}-swap-opacity .fa-duotone::before,
.fad.#{v.$css-prefix}-swap-opacity::before,
.fa-duotone.#{v.$css-prefix}-swap-opacity::before {
  opacity: var(--#{v.$css-prefix}-secondary-opacity, #{v.$secondary-opacity});
}

.#{v.$css-prefix}-swap-opacity .fad::after,
.#{v.$css-prefix}-swap-opacity .fa-duotone::after,
.fad.#{v.$css-prefix}-swap-opacity::after,
.fa-duotone.#{v.$css-prefix}-swap-opacity::after {
  opacity: var(--#{v.$css-prefix}-primary-opacity, #{v.$primary-opacity});
}

.fad.#{v.$css-prefix}-li,
.#{v.$css-prefix}-duotone.#{v.$css-prefix}-li,
.fad.#{v.$css-prefix}-stack-1x,
.#{v.$css-prefix}-duotone.#{v.$css-prefix}-stack-1x,
.fad.#{v.$css-prefix}-stack-2x,
.#{v.$css-prefix}-duotone.#{v.$css-prefix}-stack-2x {
  position: absolute;
}

// convenience mixin for declaring pseudo-elements by CSS variable,
// including all style-specific font properties, and both the ::before
// and ::after elements in the duotone case.
@mixin icon($var) {
  @include m.fa-icon(Font Awesome 7 Duotone);
  @extend .#{v.$css-prefix}-duotone;
  // We intentionally leave out @extend .#{v.$css-prefix}-classic because of
  // the backward-compatibility puzzle that Duotone Solid represents

  &::before {
    content: string.unquote("\"#{ $var }\"");
  }

  &::after {
    content: string.unquote("\"#{ $var }\"");
    font-feature-settings: "ss01";
  }
}
