/**
 * Type styles
 */

@mixin type-heading-lg {
  font-family: var(--font-heading);
  font-size: var(--fs-3xl);
  font-weight: bold;
  line-height: var(--lh-tighter);
  letter-spacing: var(--ls-tighter);
}

@mixin type-heading-md {
  font-family: var(--font-heading);
  font-size: var(--fs-2xl);
  font-weight: bold;
  line-height: var(--lh-tighter);
  letter-spacing: var(--ls-tight);
}

@mixin type-heading-sm {
  font-family: var(--font-heading);
  font-size: var(--fs-xl);
  font-weight: bold;
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-tight);
}

@mixin type-body-lg {
  font-family: var(--font-body);
  font-size: var(--fs-lg);
  font-weight: normal;
  line-height: var(--lh-normal);
  letter-spacing: var(--ls-normal);
}

@mixin type-body-strong {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  font-weight: bold;
  line-height: var(--lh-normal);
  letter-spacing: var(--ls-normal);
}

@mixin type-body {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  font-weight: normal;
  line-height: var(--lh-normal);
  letter-spacing: var(--ls-normal);
}

@mixin type-body-compact {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  font-weight: normal;
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-normal);
}

@mixin type-label-lg {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  font-weight: bold;
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-normal);
}

@mixin type-label-md {
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  font-weight: normal;
  line-height: var(--lh-tighter);
  letter-spacing: var(--ls-loose);
}

@mixin type-label-sm {
  font-family: var(--font-body);
  font-size: var(--fs-2xs);
  font-weight: normal;
  line-height: var(--lh-tighter);
  letter-spacing: var(--ls-loose);
}

@mixin type-micro {
  font-family: var(--font-body);
  font-size: var(--fs-3xs);
  font-weight: normal;
  line-height: var(--lh-tighter);
  letter-spacing: var(--ls-looser);
}

/**
 * Elevation styles
 */

@mixin elevation-1 {
  border: 1px solid var(--color-border-strong);
  box-shadow: 0 1px 0 var(--color-border-strong);
}

@mixin elevation-2 {
  border: 1px solid var(--color-border-strong);
  box-shadow: 1px 2px 0 var(--color-border-strong);
}

/**
 * Search input styles
 */

@mixin search-input {
  box-sizing: border-box;
  width: 100%;
  box-shadow: none;
  font-family: inherit;
  background: var(--color-bg-secondary);
  color: var(--color-text-primary);
  border-radius: 4px;
  border: 1px solid var(--color-border-primary);
  font-size: 17px;
  line-height: normal;
  margin: 0;
  outline: var(--outline-focus-default);
  outline-color: transparent;
  outline-offset: -1px;
  transition: outline-color 0.15s ease-out;
}

@mixin search-popout {
  background: var(--color-bg-primary);
  border-radius: 4px;
  padding: 10px 14px;
  padding-bottom: 14px;
  margin-top: 10px;
  color: var(--color-text-secondary);
  box-shadow: 2px 4px 15px var(--color-shadow-primary);

  h4 {
    text-transform: uppercase;
    color: var(--color-text-secondary);
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 10px;
  }

  li {
    padding: 4px 0;
  }

  ul {
    margin-bottom: 10px;
  }

  em {
    font-weight: 500;
    color: var(--color-text-primary);
  }
}
