/*
  `Button` — **Paketdatei** `@oiz/stzh-components` 4.14.0
  (`dist/collection/components/stzh-button/stzh-button.css`), mit **einer**
  Änderung: die Regeln stehen im Paket auf `:host`, weil die Komponente im
  Shadow DOM lebt. Ohne Shadow DOM greift `:host` nicht — darum ist jedes
  `:host` durch den Elementnamen `stzh-button` ersetzt (dieselbe Falle wie bei
  den anderen Paketdateien, siehe MESSWERTE.md). Sonst ist nichts angefasst:
  Farben, Polster, Höhen, Hover, Aktiv und Gesperrt kommen unverändert aus dem
  Paket, ebenso die Grössen `small` und `tiny`.

  Aufbau des Markups, wie die Komponente ihn rendert:

      <stzh-button variant="secondary" size="small">
        <button class="stzh-button stzh-button--has-icon stzh-button--secondary" type="button">
          <div class="stzh-button__inner">
            <div class="stzh-button__icon-wrapper"><span class="icon icon--mail"></span></div>
            <div class="stzh-button__text">E-Mail</div>
          </div>
        </button>
      </stzh-button>

  Die Ausprägung steht **am Element** (`variant`, `size`, `fullwidth`,
  `disabled`, `active`) — dort hängen die Variablen. Die Klassen am inneren
  Knopf sind nur Beiwerk; `stzh-button--is-disabled` gehört dazu, weil ein `<a>`
  kein `disabled` kennt.
*/

stzh-button {
  font-family: var(--stzh-font-family-medium);
  font-weight: var(--stzh-font-weight-medium);
  font-style: var(--stzh-font-style-medium);
  color: var(--stzh-base-color);
  box-sizing: border-box;
  display: block;
}
stzh-button[hidden], stzh-button[stzh-hidden] {
  display: none;
}
stzh-button::selection {
  color: var(--stzh-selection-color);
  background-color: var(--stzh-selection-background-color);
}
stzh-button *,
stzh-button *::before,
stzh-button *::after {
  box-sizing: border-box;
  text-underline-offset: var(--stzh-link-text-underline-offset);
  text-decoration-thickness: var(--stzh-link-text-decoration-thickness);
  -webkit-text-decoration-skip-ink: var(--stzh-link-text-decoration-skip-ink);
          text-decoration-skip-ink: var(--stzh-link-text-decoration-skip-ink);
}
stzh-button {
  /* default outline value, which will be applied to all elements receiving focus
  the .has-focus class is used by the focus target */
}
stzh-button .has-focus {
  outline: var(--stzh-flyingfocus-color) solid 0.125rem;
  outline-offset: 0.125rem;
}
stzh-button .stzh-fylingfocus-focused {
  outline-style: none !important;
}
stzh-button .stzh-fylingfocus-focused::-moz-focus-inner {
  border: 0 !important;
}

/**
* @prop --height: Height of button
* @prop --padding-top: Padding top of button
* @prop --padding-bottom: Padding bottom of button
* @prop --padding-left: Padding left of button
* @prop --padding-right: Padding right of button
* @prop --border-radius: Border radius of button
* @prop --color: Color of button
* @prop --background-color: Background color of button
* @prop --border-color: Border color of button
* @prop --icon-size: Size of icon next to button
* @prop --hover-color: Hover color of button
* @prop --hover-background-color: Hover background color of button
* @prop --hover-border-color: Hover border color of button
* @prop --white-space: White space behaviour of button
*
* @prop --stzh-form-input-height: **Global**: Height of fields & buttons
* @prop --stzh-form-input-small-height: **Global**: Height of fields & buttons when small variant is used
* @prop --stzh-form-input-tiny-height: **Global**: Height of fields & buttons when tiny variant is used
*/
stzh-button {
  --height: var(--stzh-form-input-height);
  --padding-top: calc(var(--stzh-space-xsmall, 8px) - var(--border-width));
  --padding-bottom: calc(var(--stzh-space-xsmall, 8px) - var(--border-width));
  --padding-left: calc(var(--stzh-space-xlarge, 24px) - var(--border-width));
  --padding-right: calc(var(--stzh-space-xlarge, 24px) - var(--border-width));
  --font-size: var(--stzh-font-centi-font-size);
  --line-height: var(--stzh-font-centi-text-line-height);
  --letter-spacing: normal;
  --icon-size: var(--stzh-icon-size-medium);
  --icon-toggle-size: 0.90625rem;
}
stzh-button:where([icon-only]:not([icon-only=false])) {
  --icon-size: var(--stzh-icon-size-large);
}
stzh-button {
  --color: var(--stzh-button-color, var(--stzh-color-white));
  --background-color: var(--stzh-button-background-color, var(--stzh-color-primary70));
  --border-width: 0px;
  --border-color: transparent;
  --border-radius: 0px;
  --icon-text-margin: var(--stzh-space-xsmall, 8px);
  --icon-toggle-color: currentColor;
  --badge-icon-text-margin: calc(var(--icon-text-margin) + var(--stzh-space-xxsmall, 4px));
  --white-space: var(--stzh-button-white-space, normal);
  --box-shadow: none;
  --cursor: pointer;
  --hover-color: var(--stzh-button-hover-color, var(--stzh-color-white));
  --hover-background-color: var(
    --stzh-button-hover-background-color,
    var(--stzh-color-secondary60)
  );
  --hover-border-color: transparent;
  display: inline-flex;
  width: auto;
  min-width: var(--height);
  min-height: var(--height);
  pointer-events: var(--stzh-button-pointer-events, auto);
}
@media print {
  stzh-button {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
@media (forced-colors: active) {
  stzh-button {
    --border-width: 0.125rem;
    --color: ButtonText;
    --border-color: ButtonBorder;
    --background-color: ButtonFace;
    --hover-color: HighlightText;
    --hover-border-color: Highlight;
    --hover-background-color: Highlight;
  }
}
stzh-button[icon-only]:not([icon-only=false]) {
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;
  width: var(--height);
  height: var(--height);
}
stzh-button[fullwidth]:not([fullwidth=false]) {
  width: 100%;
  display: grid;
  flex: 0 0 100%;
}
stzh-button[rounded]:not([rounded=false]) {
  --border-radius: var(--height);
}
stzh-button[no-padding-left]:not([no-padding-left=false]) {
  --padding-left: 0px;
}
stzh-button[no-padding-right]:not([no-padding-right=false]) {
  --padding-right: 0px;
}
stzh-button[variant=secondary] {
  --color: var(--stzh-button-secondary-color, var(--stzh-color-primary70));
  --background-color: var(
    --stzh-button-secondary-background-color,
    var(--stzh-color-secondary30)
  );
  --hover-color: var(--stzh-button-secondary-hover-color, var(--stzh-color-primary80));
  --hover-background-color: var(
    --stzh-button-secondary-hover-background-color,
    var(--stzh-color-secondary40)
  );
}
@media (forced-colors: active) {
  stzh-button[variant=secondary] {
    --border-width: 0.125rem;
    --color: ButtonText;
    --border-color: ButtonBorder;
    --background-color: ButtonFace;
    --hover-color: HighlightText;
    --hover-border-color: Highlight;
    --hover-background-color: Highlight;
  }
}
stzh-button[variant=tertiary] {
  --color: var(--stzh-button-tertiary-color, var(--stzh-color-primary70));
  --background-color: var(
    --stzh-button-tertiary-background-color,
    transparent
  );
  --hover-color: var(--stzh-button-tertiary-hover-color, var(--stzh-color-primary80));
  --hover-background-color: var(
    --stzh-button-tertiary-hover-background-color,
    var(--stzh-color-secondary20)
  );
}
@media (forced-colors: active) {
  stzh-button[variant=tertiary] {
    --border-width: 0.125rem;
    --color: ButtonText;
    --border-color: ButtonBorder;
    --background-color: ButtonFace;
    --hover-color: HighlightText;
    --hover-border-color: Highlight;
    --hover-background-color: Highlight;
  }
}
stzh-button[variant=tertiary-plain] {
  --color: var(--stzh-button-tertiary-color, var(--stzh-color-primary70));
  --background-color: transparent;
  --hover-color: var(--stzh-button-tertiary-hover-color, var(--stzh-color-primary80));
  --hover-background-color: var(--background-color);
}
@media (forced-colors: active) {
  stzh-button[variant=tertiary-plain] {
    --border-width: 0.125rem;
    --color: ButtonText;
    --border-color: ButtonBorder;
    --background-color: ButtonFace;
    --hover-color: HighlightText;
    --hover-border-color: Highlight;
    --hover-background-color: Highlight;
  }
}
stzh-button[active]:not([active=false]) {
  --color: var(--stzh-button-active-color, var(--stzh-color-white));
  --background-color: var(
    --stzh-button-active-background-color,
    var(--stzh-color-secondary60)
  );
}
stzh-button[active][variant=secondary]:not([active=false]) {
  --color: var(--stzh-button-secondary-hover-color, var(--stzh-color-primary80));
  --background-color: var(
    --stzh-button-secondary-hover-background-color,
    var(--stzh-color-secondary40)
  );
}
stzh-button[active][variant=tertiary]:not([active=false]) {
  --color: var(--stzh-button-tertiary-hover-color, var(--stzh-color-primary80));
  --background-color: var(
    --stzh-button-tertiary-hover-background-color,
    var(--stzh-color-secondary20)
  );
}
stzh-button[active][variant=tertiary-plain]:not([active=false]) {
  --color: var(--stzh-button-tertiary-hover-color, var(--stzh-color-primary80));
  --background-color: transparent;
}
stzh-button[disabled]:not([disabled=false]), stzh-button[a11y-disabled]:not([a11y-disabled=false]) {
  --color: var(--stzh-button-disabled-color, var(--stzh-color-white));
  --background-color: var(
    --stzh-button-disabled-background-color,
    var(--stzh-color-grey70)
  );
  --hover-color: var(--color);
  --hover-background-color: var(--background-color);
}
@media (forced-colors: active) {
  stzh-button[disabled]:not([disabled=false]), stzh-button[a11y-disabled]:not([a11y-disabled=false]) {
    --border-width: 0.125rem;
    --color: GrayText;
    --border-color: GrayText;
    --background-color: transparent;
    --hover-color: GrayText;
    --hover-border-color: GrayText;
    --hover-background-color: transparent;
  }
}
stzh-button[disabled]:not([disabled=false])[variant=secondary], stzh-button[a11y-disabled]:not([a11y-disabled=false])[variant=secondary] {
  --color: var(--stzh-button-secondary-disabled-color, var(--stzh-color-grey80));
  --background-color: var(
    --stzh-button-secondary-disabled-background-color,
    var(--stzh-color-grey20)
  );
}
@media (forced-colors: active) {
  stzh-button[disabled]:not([disabled=false])[variant=secondary], stzh-button[a11y-disabled]:not([a11y-disabled=false])[variant=secondary] {
    --border-width: 0.125rem;
    --color: GrayText;
    --border-color: GrayText;
    --background-color: transparent;
    --hover-color: GrayText;
    --hover-border-color: GrayText;
    --hover-background-color: transparent;
  }
}
stzh-button[disabled]:not([disabled=false])[variant=input], stzh-button[a11y-disabled]:not([a11y-disabled=false])[variant=input] {
  --color: var(--stzh-button-input-disabled-color, var(--stzh-color-grey80));
  --background-color: var(
    --stzh-button-input-disabled-background-color,
    var(--stzh-color-grey20)
  );
}
@media (forced-colors: active) {
  stzh-button[disabled]:not([disabled=false])[variant=input], stzh-button[a11y-disabled]:not([a11y-disabled=false])[variant=input] {
    --border-width: 0.125rem;
    --color: GrayText;
    --border-color: GrayText;
    --background-color: transparent;
    --hover-color: GrayText;
    --hover-border-color: GrayText;
    --hover-background-color: transparent;
  }
}
stzh-button[disabled]:not([disabled=false])[variant=tertiary], stzh-button[disabled]:not([disabled=false])[variant=tertiary-plain], stzh-button[a11y-disabled]:not([a11y-disabled=false])[variant=tertiary], stzh-button[a11y-disabled]:not([a11y-disabled=false])[variant=tertiary-plain] {
  --color: var(--stzh-button-tertiary-disabled-color, var(--stzh-color-grey70));
  --background-color: var(
    --stzh-button-tertiary-disabled-background-color,
    transparent
  );
}
@media (forced-colors: active) {
  stzh-button[disabled]:not([disabled=false])[variant=tertiary], stzh-button[disabled]:not([disabled=false])[variant=tertiary-plain], stzh-button[a11y-disabled]:not([a11y-disabled=false])[variant=tertiary], stzh-button[a11y-disabled]:not([a11y-disabled=false])[variant=tertiary-plain] {
    --border-width: 0.125rem;
    --color: GrayText;
    --border-color: GrayText;
    --background-color: transparent;
    --hover-color: GrayText;
    --hover-border-color: GrayText;
    --hover-background-color: transparent;
  }
}

stzh-button[size=small] {
  --height: var(--stzh-form-input-small-height);
  --padding-left: calc(var(--stzh-space-large, 20px) - var(--border-width));
  --padding-right: calc(var(--stzh-space-large, 20px) - var(--border-width));
  --font-size: var(--stzh-font-milli-font-size);
  --line-height: var(--stzh-font-milli-text-line-height);
  --icon-size: var(--stzh-icon-size-medium);
}

stzh-button[size=tiny] {
  --height: var(--stzh-form-input-tiny-height);
  --padding-left: calc(var(--stzh-space-medium, 16px) - var(--border-width));
  --padding-right: calc(var(--stzh-space-medium, 16px) - var(--border-width));
  --padding-top: calc(var(--stzh-space-xxsmall, 4px) - var(--border-width));
  --padding-bottom: calc(var(--stzh-space-xxsmall, 4px) - var(--border-width));
  --font-size: var(--stzh-font-milli-font-size);
  --line-height: var(--stzh-font-milli-text-line-height);
  --icon-size: var(--stzh-icon-size-medium);
}

@media screen and (min-width: 600px) {
  stzh-button[size-small=default] {
    --height: var(--stzh-form-input-height);
    --padding-top: calc(var(--stzh-space-xsmall, 8px) - var(--border-width));
    --padding-bottom: calc(var(--stzh-space-xsmall, 8px) - var(--border-width));
    --padding-left: calc(var(--stzh-space-xlarge, 24px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-xlarge, 24px) - var(--border-width));
    --font-size: var(--stzh-font-centi-font-size);
    --line-height: var(--stzh-font-centi-text-line-height);
    --letter-spacing: normal;
    --icon-size: var(--stzh-icon-size-medium);
    --icon-toggle-size: 0.90625rem;
  }
  stzh-button[size-small=default]:where([icon-only]:not([icon-only=false])) {
    --icon-size: var(--stzh-icon-size-large);
  }
  stzh-button[size-small=small] {
    --height: var(--stzh-form-input-small-height);
    --padding-left: calc(var(--stzh-space-large, 20px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-large, 20px) - var(--border-width));
    --font-size: var(--stzh-font-milli-font-size);
    --line-height: var(--stzh-font-milli-text-line-height);
    --icon-size: var(--stzh-icon-size-medium);
  }
  stzh-button[size-small=tiny] {
    --height: var(--stzh-form-input-tiny-height);
    --padding-left: calc(var(--stzh-space-medium, 16px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-medium, 16px) - var(--border-width));
    --padding-top: calc(var(--stzh-space-xxsmall, 4px) - var(--border-width));
    --padding-bottom: calc(var(--stzh-space-xxsmall, 4px) - var(--border-width));
    --font-size: var(--stzh-font-milli-font-size);
    --line-height: var(--stzh-font-milli-text-line-height);
    --icon-size: var(--stzh-icon-size-medium);
  }
}
@media screen and (min-width: 900px) {
  stzh-button[size-medium=default] {
    --height: var(--stzh-form-input-height);
    --padding-top: calc(var(--stzh-space-xsmall, 8px) - var(--border-width));
    --padding-bottom: calc(var(--stzh-space-xsmall, 8px) - var(--border-width));
    --padding-left: calc(var(--stzh-space-xlarge, 24px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-xlarge, 24px) - var(--border-width));
    --font-size: var(--stzh-font-centi-font-size);
    --line-height: var(--stzh-font-centi-text-line-height);
    --letter-spacing: normal;
    --icon-size: var(--stzh-icon-size-medium);
    --icon-toggle-size: 0.90625rem;
  }
  stzh-button[size-medium=default]:where([icon-only]:not([icon-only=false])) {
    --icon-size: var(--stzh-icon-size-large);
  }
  stzh-button[size-medium=small] {
    --height: var(--stzh-form-input-small-height);
    --padding-left: calc(var(--stzh-space-large, 20px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-large, 20px) - var(--border-width));
    --font-size: var(--stzh-font-milli-font-size);
    --line-height: var(--stzh-font-milli-text-line-height);
    --icon-size: var(--stzh-icon-size-medium);
  }
  stzh-button[size-medium=tiny] {
    --height: var(--stzh-form-input-tiny-height);
    --padding-left: calc(var(--stzh-space-medium, 16px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-medium, 16px) - var(--border-width));
    --padding-top: calc(var(--stzh-space-xxsmall, 4px) - var(--border-width));
    --padding-bottom: calc(var(--stzh-space-xxsmall, 4px) - var(--border-width));
    --font-size: var(--stzh-font-milli-font-size);
    --line-height: var(--stzh-font-milli-text-line-height);
    --icon-size: var(--stzh-icon-size-medium);
  }
}
@media screen and (min-width: 1260px) {
  stzh-button[size-large=default] {
    --height: var(--stzh-form-input-height);
    --padding-top: calc(var(--stzh-space-xsmall, 8px) - var(--border-width));
    --padding-bottom: calc(var(--stzh-space-xsmall, 8px) - var(--border-width));
    --padding-left: calc(var(--stzh-space-xlarge, 24px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-xlarge, 24px) - var(--border-width));
    --font-size: var(--stzh-font-centi-font-size);
    --line-height: var(--stzh-font-centi-text-line-height);
    --letter-spacing: normal;
    --icon-size: var(--stzh-icon-size-medium);
    --icon-toggle-size: 0.90625rem;
  }
  stzh-button[size-large=default]:where([icon-only]:not([icon-only=false])) {
    --icon-size: var(--stzh-icon-size-large);
  }
  stzh-button[size-large=small] {
    --height: var(--stzh-form-input-small-height);
    --padding-left: calc(var(--stzh-space-large, 20px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-large, 20px) - var(--border-width));
    --font-size: var(--stzh-font-milli-font-size);
    --line-height: var(--stzh-font-milli-text-line-height);
    --icon-size: var(--stzh-icon-size-medium);
  }
  stzh-button[size-large=tiny] {
    --height: var(--stzh-form-input-tiny-height);
    --padding-left: calc(var(--stzh-space-medium, 16px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-medium, 16px) - var(--border-width));
    --padding-top: calc(var(--stzh-space-xxsmall, 4px) - var(--border-width));
    --padding-bottom: calc(var(--stzh-space-xxsmall, 4px) - var(--border-width));
    --font-size: var(--stzh-font-milli-font-size);
    --line-height: var(--stzh-font-milli-text-line-height);
    --icon-size: var(--stzh-icon-size-medium);
  }
}
@media screen and (min-width: 1600px) {
  stzh-button[size-ultra=default] {
    --height: var(--stzh-form-input-height);
    --padding-top: calc(var(--stzh-space-xsmall, 8px) - var(--border-width));
    --padding-bottom: calc(var(--stzh-space-xsmall, 8px) - var(--border-width));
    --padding-left: calc(var(--stzh-space-xlarge, 24px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-xlarge, 24px) - var(--border-width));
    --font-size: var(--stzh-font-centi-font-size);
    --line-height: var(--stzh-font-centi-text-line-height);
    --letter-spacing: normal;
    --icon-size: var(--stzh-icon-size-medium);
    --icon-toggle-size: 0.90625rem;
  }
  stzh-button[size-ultra=default]:where([icon-only]:not([icon-only=false])) {
    --icon-size: var(--stzh-icon-size-large);
  }
  stzh-button[size-ultra=small] {
    --height: var(--stzh-form-input-small-height);
    --padding-left: calc(var(--stzh-space-large, 20px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-large, 20px) - var(--border-width));
    --font-size: var(--stzh-font-milli-font-size);
    --line-height: var(--stzh-font-milli-text-line-height);
    --icon-size: var(--stzh-icon-size-medium);
  }
  stzh-button[size-ultra=tiny] {
    --height: var(--stzh-form-input-tiny-height);
    --padding-left: calc(var(--stzh-space-medium, 16px) - var(--border-width));
    --padding-right: calc(var(--stzh-space-medium, 16px) - var(--border-width));
    --padding-top: calc(var(--stzh-space-xxsmall, 4px) - var(--border-width));
    --padding-bottom: calc(var(--stzh-space-xxsmall, 4px) - var(--border-width));
    --font-size: var(--stzh-font-milli-font-size);
    --line-height: var(--stzh-font-milli-text-line-height);
    --icon-size: var(--stzh-icon-size-medium);
  }
}
@keyframes stzh-button-effect-cta {
  0%, 20%, 50%, 80%, 100% {
    transform: translateX(0);
  }
  40% {
    transform: translateX(-0.5rem);
  }
  60% {
    transform: translateX(-0.25rem);
  }
}
.stzh-button {
  font-family: var(--stzh-font-family-heavy);
  font-weight: var(--stzh-font-weight-heavy);
  font-style: var(--stzh-font-style-heavy);
  font-size: var(--font-size);
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing);
  position: relative;
  z-index: 0;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: stretch;
  appearance: none;
  color: var(--color);
  padding-top: var(--padding-top);
  padding-bottom: var(--padding-bottom);
  padding-left: var(--padding-left);
  padding-right: var(--padding-right);
  background-color: var(--background-color);
  transition-duration: var(--stzh-base-transition-animation-speed);
  transition-property: color, background-color, border-color;
  border-style: solid;
  border-width: var(--border-width);
  border-color: var(--border-color);
  cursor: var(--cursor);
  -webkit-text-decoration-line: none;
          text-decoration-line: none;
  width: 100%;
  min-height: 100%;
  margin: 0;
  border-radius: var(--border-radius);
  text-align: left;
  box-shadow: var(--box-shadow);
}
.stzh-button:hover {
  border-color: var(--hover-border-color);
  background-color: var(--hover-background-color);
  color: var(--hover-color);
}
@media (forced-colors: active) {
  .stzh-button {
    transition: none;
  }
}
.stzh-button__vhidden {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden;
  padding: 0;
  position: absolute;
}
.stzh-button__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
}
.stzh-button__icon-wrapper, .stzh-button__toggle-icon-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.stzh-button__icon-wrapper {
  --stzh-icon-size: var(--icon-size);
  width: auto;
  height: 1em;
}
.stzh-button__toggle-icon-wrapper {
  width: var(--icon-size);
  height: var(--icon-size);
}
.stzh-button__toggle-icon {
  position: relative;
  display: block;
  width: var(--icon-toggle-size);
  height: var(--icon-toggle-size);
}
.stzh-button__toggle-icon::before, .stzh-button__toggle-icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  display: block;
  width: var(--icon-toggle-size);
  height: 0.125rem;
  transition-property: transform, background-color;
  transition-duration: 500ms;
  transform-origin: top left;
  background-color: var(--icon-toggle-color);
}
@media (prefers-reduced-motion: reduce) {
  .stzh-button__toggle-icon::before, .stzh-button__toggle-icon::after {
    transition: none;
  }
}
.stzh-button__toggle-icon::before {
  transform: rotate(180deg) translate(-50%, -50%);
}
.stzh-button__toggle-icon::after {
  transform: rotate(90deg) translate(-50%, -50%);
}
.stzh-button__text {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
  white-space: var(--white-space);
  text-align: center;
}
@media (forced-colors: active) {
  .stzh-button__text {
    forced-color-adjust: preserve-parent-color;
  }
}
.stzh-button--not-hyphenated .stzh-button__text {
  hyphens: none;
}
.stzh-button__icon-wrapper:not(:empty) + .stzh-button__text:not(:empty), .stzh-button__text:not(:empty) + .stzh-button__icon-wrapper:not(:empty) {
  margin-left: var(--icon-text-margin);
}
.stzh-button__badge {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
}
.stzh-button__input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  z-index: -1;
  opacity: 0;
  pointer-events: none;
  appearance: none;
}
.stzh-button__mark {
  border: 0.125rem solid var(--stzh-color-black);
  background-color: var(--stzh-color-white);
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: border-color var(--stzh-base-transition-animation-speed);
}
.stzh-button__mark::before {
  content: "";
}
@media (forced-colors: active) {
  .stzh-button__mark {
    transition: none;
    border-color: ButtonBorder;
  }
}
.stzh-button__mark {
  width: 1.25rem;
  height: 1.25rem;
  margin-right: var(--stzh-space-xsmall, 8px);
  border-color: currentColor;
}
.stzh-button__check {
  background-color: currentColor;
  color: var(--check-color, var(--stzh-color-primary70));
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  opacity: 0;
  transition-property: color;
  transition-duration: var(--stzh-base-transition-animation-speed);
}
@media (forced-colors: active) {
  .stzh-button__check {
    transition: none;
    forced-color-adjust: none;
    color: Highlight;
  }
}
.stzh-button {
  /* Hover / Focus / Checked / Disabled of Radio Type */
}
.stzh-button__input:checked:hover ~ .stzh-button__inner .stzh-button__mark .stzh-button__check, .stzh-button__input:checked:focus ~ .stzh-button__inner .stzh-button__mark .stzh-button__check {
  color: var(--stzh-color-secondary60);
}
@media (forced-colors: active) {
  .stzh-button__input:checked:hover ~ .stzh-button__inner .stzh-button__mark .stzh-button__check, .stzh-button__input:checked:focus ~ .stzh-button__inner .stzh-button__mark .stzh-button__check {
    color: Highlight;
  }
}
.stzh-button:hover .stzh-button__mark, .stzh-button__input:focus:hover ~ .stzh-button__inner .stzh-button__mark, .stzh-button__input:checked:hover ~ .stzh-button__inner .stzh-button__mark, .stzh-button__input:checked:focus ~ .stzh-button__inner .stzh-button__mark {
  border-color: var(--stzh-color-secondary60);
}
.stzh-button__input:focus ~ .stzh-button__inner .stzh-button__mark, .stzh-button__input:checked ~ .stzh-button__inner .stzh-button__mark {
  border-color: var(--stzh-color-primary);
}
@media (forced-colors: active) {
  .stzh-button__input:focus ~ .stzh-button__inner .stzh-button__mark, .stzh-button__input:checked ~ .stzh-button__inner .stzh-button__mark {
    border-color: Highlight;
  }
}
.stzh-button__input:checked ~ .stzh-button__inner .stzh-button__mark .stzh-button__check {
  opacity: 1;
}
.stzh-button--is-disabled .stzh-button__input ~ .stzh-button__inner .stzh-button__mark .stzh-button__check {
  color: var(--stzh-color-grey70);
}
@media (forced-colors: active) {
  .stzh-button--is-disabled .stzh-button__input ~ .stzh-button__inner .stzh-button__mark .stzh-button__check {
    color: GrayText;
  }
}
.stzh-button--is-disabled .stzh-button__input ~ .stzh-button__inner .stzh-button__mark {
  border-color: var(--stzh-color-grey70);
}
.stzh-button--is-disabled .stzh-button__mark {
  background-color: var(--stzh-color-grey10);
}
.stzh-button {
  /* Is expanded */
}
.stzh-button--is-expanded .stzh-button__toggle-icon::before, .stzh-button--is-expanded .stzh-button__toggle-icon::after {
  transform: rotate(0) translate(-50%, -50%);
}
.stzh-button {
  /* Badge positioning variants */
}
.stzh-button--badge-position-button .stzh-button__icon-wrapper {
  position: static;
}
.stzh-button__badge, .stzh-button--badge-position-button .stzh-button__badge {
  top: calc(var(--stzh-space-xsmall, 8px) * -1);
  right: calc(var(--stzh-space-xsmall, 8px) * -1);
}
.stzh-button--badge-position-icon.stzh-button--has-icon .stzh-button__icon-wrapper {
  position: relative;
}
.stzh-button--badge-position-icon.stzh-button--has-icon .stzh-button__badge {
  top: calc(var(--stzh-space-xsmall, 8px) * -1);
  right: calc(var(--stzh-space-small, 12px) * -1);
}
.stzh-button--badge-position-icon.stzh-button--has-icon.stzh-button--has-badge .stzh-button__icon-wrapper:not(:empty) + .stzh-button__text:not(:empty), .stzh-button--badge-position-icon.stzh-button--has-icon.stzh-button--has-badge .stzh-button__text:not(:empty) + .stzh-button__icon-wrapper:not(:empty) {
  margin-left: var(--badge-icon-text-margin);
}
.stzh-button {
  /* Variant if button only has icon */
}
.stzh-button--has-icon-only .stzh-button__text {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden;
  padding: 0;
  position: absolute;
}
.stzh-button {
  /* Effect */
}
.stzh-button--effect-cta:hover .stzh-button__icon-wrapper {
  animation: stzh-button-effect-cta 1s;
}
@media (prefers-reduced-motion: reduce) {
  .stzh-button--effect-cta:hover .stzh-button__icon-wrapper {
    animation: none;
  }
}
.stzh-button {
  /* Alignment variants */
}
.stzh-button--align-left .stzh-button__inner {
  justify-content: flex-start;
}
.stzh-button--align-right .stzh-button__inner {
  justify-content: flex-end;
}
.stzh-button--align-center .stzh-button__inner {
  justify-content: center;
}
.stzh-button--align-space-between .stzh-button__inner {
  justify-content: space-between;
}
.stzh-button {
  /* Disabled variant */
}
.stzh-button--is-disabled {
  cursor: not-allowed;
}
.stzh-button {
  /* Default */
}
.stzh-button--default.has-focus {
  outline: var(--stzh-flyingfocus-color) solid 0.1875rem;
}