:host(.pds-copytext) {
  --border-interactive-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);
  --border-interactive-hover: var(--pine-border-width-thin) solid var(--pine-color-grey-400);
  --border-radius-default: var(--pine-border-radius-125);
  --border-radius-hover: var(--pine-border-radius-0);
  --border-width-default: var(--pine-border-width-none);
  --box-shadow-focus: 0 0 0 2px var(--pine-color-blue-200);
  --color-background-default: var(--pine-color-white);
  --color-border-interactive-hover: var(--pine-color-grey-400);
  --color-text-hover: var(--pine-color-grey-900);
  --copytext-color-background-hover: var(--pine-color-grey-200);
  --font-size-default: var(--pine-font-size-100);
  --font-weight-default: var(--pine-font-weight-semi-bold);
  --spacing-bordered-margin-inline-end: var(--pine-spacing-200);
  --spacing-bordered-padding-block: var(--pine-spacing-100);
  --spacing-bordered-padding-inline: var(--pine-spacing-200);
  --spacing-margin-inline-end: var(--pine-spacing-100);
  --spacing-padding-block: var(--pine-spacing-050);
  --spacing-padding-inline: var(--pine-spacing-100);
  --spacing-padding-none: var(--pine-spacing-0);
  --typography-default: var(--pine-font-weight-medium) var(--pine-font-size-100)/var(--pine-line-height-150) var(--pine-font-family-circular);
}
:host(.pds-copytext) pds-button {
  align-items: center;
  background: var(--color-background-default);
  border: var(--border-width-default);
  border-radius: var(--border-radius-default);
  display: inline-flex;
  font: var(--typography-default);
  max-width: 100%;
  padding: var(--spacing-padding-block) var(--spacing-padding-inline);
}
:host(.pds-copytext) pds-button::part(button):hover {
  background-color: var(--copytext-color-background-hover);
  border-radius: var(--border-radius-hover);
  color: var(--color-text-hover);
}
:host(.pds-copytext) pds-button span {
  margin-inline-end: var(--spacing-margin-inline-end);
  white-space: nowrap;
}
:host(.pds-copytext) pds-button :nth-child(2) {
  flex-shrink: 0;
}
:host(.pds-copytext):host(.pds-copytext--bordered) {
  border: var(--border-width-default);
  padding: var(--spacing-padding-none);
}
:host(.pds-copytext):host(.pds-copytext--bordered) pds-button {
  padding: var(--spacing-padding-none);
}
:host(.pds-copytext):host(.pds-copytext--bordered) pds-button:hover {
  background: none;
}
:host(.pds-copytext):host(.pds-copytext--bordered) span {
  border: var(--border-interactive-default);
  border-radius: var(--border-radius-default);
  margin-inline-end: var(--spacing-bordered-margin-inline-end);
  padding-block: var(--spacing-bordered-padding-block);
  padding-inline: var(--spacing-bordered-padding-inline);
}
:host(.pds-copytext):host(.pds-copytext--bordered) :hover span {
  border: var(--border-interactive-hover);
}
:host(.pds-copytext):host(.pds-copytext--full-width) {
  display: flex;
  width: 100%;
}
:host(.pds-copytext):host(.pds-copytext--full-width) pds-button {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
:host(.pds-copytext):host(.pds-copytext--full-width) pds-button span {
  text-align: left;
  width: 100%;
}
:host(.pds-copytext):host(.pds-copytext--truncated) pds-button {
  display: flex;
  width: 100%;
}
:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span {
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  width: 100%;
}