/* Zentrale Website-Buttons: stabile Trefferflaeche und einheitliche Darstellung. */
:is(.button, .account-button, .account-cta, .login-submit,
    .login-secondary-action, .purchase-button, .checkout-primary,
    .checkout-secondary, .competition-button, .league-button, .help-button,
    .welcome-button, .forum-primary-button, .dodge-button, .tournament-button,
    .sealed-button, .game-data-button, .fair-play-submit, .wood-button, .service-status__retry,
    .score-sheet-input-row button):is(:hover, :focus-visible, :active) {
  transform: none;
}

/* Gemeinsame grüne Aktion: Referenz ist der Startseiten-Button.
   Kein Wechsel Verlauf -> transparent/einfarbig und keine Background-Animation.
   Layoutgrößen bleiben bei den Seiten; Hover verändert nur Farbe und Schatten. */
:is(.button--primary, .account-button, .account-cta, .competition-button,
    .league-button, .help-button, .welcome-button--primary, .login-submit,
    .purchase-button, .checkout-primary, .forum-primary-button, .dodge-button,
    .tournament-button, .sealed-button, .game-data-button, .fair-play-submit):not(
    .account-button--secondary, .account-button--quiet, .account-button--danger,
    .account-button--danger-solid, .account-cta--secondary, .league-button--quiet,
    .help-button--secondary, .purchase-button--secondary,
    .tournament-button--quiet, .tournament-button--danger, .sealed-button--secondary) {
  color: #fff;
  border-color: var(--green-800);
  border-radius: 6px;
  background-color: var(--green-900);
  background-image: linear-gradient(135deg, var(--green-900), var(--green-700));
  box-shadow: none;
  font-family: var(--font-display);
  font-weight: 700;
  text-decoration: none;
  transition: box-shadow 150ms ease, color 150ms ease;
}

:is(.button--primary, .account-button, .account-cta, .competition-button,
    .league-button, .help-button, .welcome-button--primary, .login-submit,
    .purchase-button, .checkout-primary, .forum-primary-button, .dodge-button,
    .tournament-button, .sealed-button, .game-data-button, .fair-play-submit):not(
    .account-button--secondary, .account-button--quiet, .account-button--danger,
    .account-button--danger-solid, .account-cta--secondary, .league-button--quiet,
    .help-button--secondary, .purchase-button--secondary,
    .tournament-button--quiet, .tournament-button--danger, .sealed-button--secondary):hover {
  color: #fff;
  background-color: #075b2e;
  background-image: linear-gradient(135deg, #075b2e, #098244);
  box-shadow: 0 4px 9px rgb(0 72 36 / 22%);
}

/* Auch abweichende Farbvarianten dürfen den Hintergrund nicht interpolieren. */
:is(.account-button, .account-cta, .button, .league-button, .competition-button,
    .help-button, .welcome-button, .login-submit, .login-secondary-action,
    .purchase-button, .checkout-primary, .checkout-secondary, .forum-primary-button,
    .dodge-button, .tournament-button, .sealed-button, .game-data-button, .fair-play-submit) {
  transition-property: box-shadow, color;
}

.site-text-link {
  color: var(--green-800);
  font-weight: 700;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

.site-text-link:hover {
  color: var(--green-950);
  text-decoration-thickness: 2px;
}

.site-text-link:focus-visible {
  outline: 3px solid var(--gold-light);
  outline-offset: 3px;
  border-radius: 2px;
}
