/**
 * SaarlandToday global action button system.
 */

.page-wrapper :where(
  .button,
  .st-button,
  .btn,
  .form-submit,
  .form-actions a,
  .form-actions button,
  input[type='submit'],
  input[type='button'],
  input[type='reset'],
  .wdsb-error-button a
):not(
  .st-offcanvas-trigger,
  .st-menubar-scroller__btn,
  .nav__menu-button,
  .st-bookmark-icon,
  .st-bookmark-icon__button
) {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: calc(var(--st-button-font-size, 1rem) * 2.75);
  padding: 0.5em 1.3em;
  border: 1px solid transparent;
  border-radius: var(--st-button-radius, 6px);
  font: inherit;
  font-size: var(--st-button-font-size, 1rem);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.page-wrapper :where(.form-actions, .action-links, .wdsb-error-button-container) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--st-button-gap, 20px);
}

.page-wrapper :where(
  .button,
  .st-button,
  .btn-primary,
  .st-button--primary,
  .button--primary,
  .form-submit,
  input[type='submit'],
  .wdsb-error-button a
):not(
  .btn-secondary,
  .st-button--secondary,
  .button--secondary,
  .btn-danger,
  .st-button--danger,
  .button--danger,
  .button--destructive
) {
  color: var(--st-button-primary-text, #fff);
  background-color: var(--st-button-primary-bg, #0006ff);
  border-color: var(--st-button-primary-bg, #0006ff);
}

.page-wrapper :where(
  .button,
  .st-button,
  .btn-primary,
  .st-button--primary,
  .button--primary,
  .form-submit,
  input[type='submit'],
  .wdsb-error-button a
):not(
  .btn-secondary,
  .st-button--secondary,
  .button--secondary,
  .btn-danger,
  .st-button--danger,
  .button--danger,
  .button--destructive
):hover {
  color: var(--st-button-primary-text, #fff);
  background-color: var(--st-button-primary-bg-hover, #2563eb);
  border-color: var(--st-button-primary-bg-hover, #2563eb);
}

.page-wrapper :where(.btn-secondary, .st-button--secondary, .button--secondary, input[type='reset'], .form-actions a:not(.btn-primary):not(.st-button--primary):not(.button--primary):not(.btn-danger):not(.st-button--danger):not(.button--danger):not(.button--destructive)) {
  color: var(--st-button-secondary-text, #374151);
  background-color: var(--st-button-secondary-bg, transparent);
  border-color: var(--st-button-secondary-border, #d1d5db);
}

.page-wrapper :where(.btn-secondary, .st-button--secondary, .button--secondary, input[type='reset'], .form-actions a:not(.btn-primary):not(.st-button--primary):not(.button--primary):not(.btn-danger):not(.st-button--danger):not(.button--danger):not(.button--destructive)):hover {
  color: var(--st-button-secondary-text, #374151);
  background-color: var(--st-button-secondary-bg-hover, color-mix(in srgb, currentColor 8%, transparent));
  border-color: var(--st-button-secondary-text, #374151);
}

.page-wrapper :where(.btn-danger, .st-button--danger, .button--danger, .button--destructive, .form-submit--danger) {
  color: var(--st-button-danger-text, #fff);
  background-color: var(--st-button-danger-bg, #dc2626);
  border-color: var(--st-button-danger-bg, #dc2626);
}

.page-wrapper :where(.btn-danger, .st-button--danger, .button--danger, .button--destructive, .form-submit--danger):hover {
  color: var(--st-button-danger-text, #fff);
  background-color: var(--st-button-danger-bg-hover, #b91c1c);
  border-color: var(--st-button-danger-bg-hover, #b91c1c);
}

.page-wrapper :where(
  .button,
  .st-button,
  .btn,
  .form-submit,
  .form-actions a,
  .form-actions button,
  input[type='submit'],
  input[type='button'],
  input[type='reset'],
  .wdsb-error-button a
):focus-visible {
  outline: 3px solid var(--st-button-focus-ring, color-mix(in srgb, currentColor 35%, transparent));
  outline-offset: 3px;
}

.page-wrapper :where(
  .button,
  .st-button,
  .btn,
  .form-submit,
  .form-actions a,
  .form-actions button,
  input[type='submit'],
  input[type='button'],
  input[type='reset'],
  .wdsb-error-button a
):active {
  transform: translateY(1px);
}

.page-wrapper :where(.form-actions .btn-primary, .form-actions .st-button--primary, .form-actions .button--primary, .form-actions .form-submit, .form-actions input[type='submit']) {
  order: 2;
}

.page-wrapper :where(.form-actions .btn-secondary, .form-actions .st-button--secondary, .form-actions .button--secondary, .form-actions input[type='reset'], .form-actions a:not(.btn-primary):not(.st-button--primary):not(.button--primary)) {
  order: 1;
}
