:host(.pds-copytext) {
  --copytext-color-background-hover: var(--pine-color-background-inset);
}
:host(.pds-copytext) pds-button {
  align-items: center;
  border-radius: var(--pine-border-radius-full);
  border-width: var(--pine-dimension-none);
  display: inline-flex;
  font-family: var(--pine-font-family-heading);
  font-size: var(--pine-font-size-body-md);
  font-weight: var(--pine-font-weight-body-medium);
  letter-spacing: var(--pine-letter-spacing);
  line-height: var(--pine-line-height-body);
  max-width: 100%;
}
:host(.pds-copytext) pds-button::part(button) {
  padding-block: var(--pine-dimension-2xs);
  padding-inline: var(--pine-dimension-xs);
}
:host(.pds-copytext) pds-button::part(button):hover {
  background-color: var(--copytext-color-background-hover);
  color: var(--pine-color-text-secondary-hover);
}
:host(.pds-copytext) pds-button span {
  font-weight: var(--pine-font-weight-medium);
  margin-inline-end: var(--pine-dimension-xs);
  white-space: nowrap;
}
:host(.pds-copytext) pds-button :nth-child(2) {
  flex-shrink: 0;
}
:host(.pds-copytext):host(.pds-copytext--bordered) {
  border-width: var(--pine-dimension-none);
  padding: var(--pine-dimension-none);
}
:host(.pds-copytext):host(.pds-copytext--bordered) pds-button {
  padding: var(--pine-dimension-none);
}
:host(.pds-copytext):host(.pds-copytext--bordered) pds-button::part(button) {
  padding: var(--pine-dimension-none);
}
:host(.pds-copytext):host(.pds-copytext--bordered) pds-button::part(button):hover {
  background-color: transparent;
}
:host(.pds-copytext):host(.pds-copytext--bordered) span {
  background: var(--pine-color-secondary);
  border: var(--pine-border);
  border-radius: var(--pine-border-radius-full);
  margin-inline-end: var(--pine-dimension-sm);
  padding-block: var(--pine-dimension-xs);
  padding-inline: var(--pine-dimension-sm);
}
:host(.pds-copytext):host(.pds-copytext--bordered) :hover span {
  border: var(--pine-border-hover);
}
:host(.pds-copytext):host(.pds-copytext--full-width) pds-button, :host(.pds-copytext):host(.pds-copytext--truncated) pds-button {
  display: inline-flex;
  min-width: auto;
  width: 100%;
}
:host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-content), :host(.pds-copytext):host(.pds-copytext--full-width) pds-button::part(button-text), :host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-content), :host(.pds-copytext):host(.pds-copytext--truncated) pds-button::part(button-text) {
  flex-shrink: 1;
  width: 100%;
}
:host(.pds-copytext):host(.pds-copytext--full-width) pds-button span, :host(.pds-copytext):host(.pds-copytext--truncated) pds-button span {
  text-align: start;
  width: 100%;
}
:host(.pds-copytext):host(.pds-copytext--full-width) pds-button {
  justify-content: space-between;
}
:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span {
  overflow: hidden;
  text-overflow: ellipsis;
}