/* Theme 1.0.606 — action hierarchy for the practice website only.
 * The app uses its own document and never loads this stylesheet.
 * Scoped !important declarations reconcile the older page-specific ID rules;
 * they affect only the explicit action components, never generic buttons.
 */
body.praxis-site {
  --action-radius: 999px;
  --action-height: 52px;
  --action-gap: 0.875rem;
}

/* Keep navigation compact while matching the outlined action shape. */
body.praxis-site .navbar > #primary-menu > li:last-child > a {
  min-height: 44px;
  border-width: 1px;
  border-radius: var(--action-radius);
  justify-content: center;
}

body.praxis-site :is(.site-action, .wpforms-submit, .pgbb-button,
  .cta-button:where(:not(.site-action)), .secondary-button:where(:not(.site-action))) {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: var(--action-height) !important;
  height: auto !important;
  padding: 0.8rem 1.5rem !important;
  border: 1px solid transparent !important;
  border-radius: var(--action-radius) !important;
  font-family: var(--site-font-heading) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
  text-align: center !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease !important;
}

body.praxis-site :is(.site-action--primary, .wpforms-submit, .pgbb-button,
  .cta-button:where(:not(.site-action))) {
  color: #fff !important;
  background: var(--site-accent) !important;
  border-color: var(--site-accent) !important;
}
body.praxis-site :is(.site-action--primary, .wpforms-submit, .pgbb-button,
  .cta-button:where(:not(.site-action))):is(:hover, :active) {
  color: #fff !important;
  background: var(--site-accent-hover) !important;
  border-color: var(--site-accent-hover) !important;
}

body.praxis-site :is(.site-action--secondary, .pgbb-button--secondary,
  .secondary-button:where(:not(.site-action))) {
  color: var(--site-link) !important;
  background: transparent !important;
  border-color: var(--site-link) !important;
}
body.praxis-site :is(.site-action--secondary, .pgbb-button--secondary,
  .secondary-button:where(:not(.site-action))):is(:hover, :active) {
  color: var(--site-link-hover) !important;
  background: var(--site-sand) !important;
  border-color: var(--site-link-hover) !important;
}

body.praxis-site .site-action--text {
  justify-content: flex-start !important;
  flex: 0 1 auto !important;
  width: fit-content !important;
  min-height: 44px !important;
  padding: 0.35rem 0 !important;
  border: 0 !important;
  border-radius: 3px !important;
  color: var(--site-link) !important;
  background: transparent !important;
  text-align: left !important;
  text-decoration: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.22em !important;
}
body.praxis-site .site-action--text:is(:hover, :active) {
  color: var(--site-link-hover) !important;
  text-decoration-thickness: 2px !important;
}
/* A label inside a linked card is not a second interactive control. */
body.praxis-site span.site-action--text { cursor: inherit; }
body.praxis-site .site-action.text-link-with-arrow {
  text-decoration: none !important;
}
body.praxis-site .site-action .text-link__label {
  text-decoration: underline;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}
body.praxis-site .site-action:hover .text-link__label { text-decoration-thickness: 2px; }

/* Photographic hero sections need light links and outlined alternatives. */
body.praxis-site :is(.topic-hero, .hero-content, .arbeitsweise-hero,
  .existenz-hero, .development-hero) :is(.site-action--text, .site-action--secondary) {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.85) !important;
}
body.praxis-site :is(.topic-hero, .hero-content, .arbeitsweise-hero,
  .existenz-hero, .development-hero) .site-action--text:is(:hover, :active) {
  color: #f2dfbc !important;
}
body.praxis-site :is(.topic-hero, .hero-content, .arbeitsweise-hero,
  .existenz-hero, .development-hero) .site-action--secondary:is(:hover, :active) {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.13) !important;
}

/* The existing green website invitation keeps its established colour. */
body.praxis-site .site-action--green {
  background: #264b3f !important;
  border-color: #264b3f !important;
}
body.praxis-site .site-action--green:is(:hover, :active) {
  background: #193a30 !important;
  border-color: #193a30 !important;
}

body.praxis-site :is(.cta-buttons, .cta-button-row, .home-actions,
  .first-session-actions, .costs-actions, .development-actions,
  .arbeitsweise-hero__actions, .arbeitsweise-cta__actions,
  .existenz-hero__actions, .existenz-cta__actions, .contact-buttons,
  .downloads-hero__actions, .gedankenbild-single__actions) {
  gap: var(--action-gap) !important;
}
body.praxis-site :is(.cta-buttons, .cta-button-row, .home-actions,
  .first-session-actions, .costs-actions, .development-actions,
  .arbeitsweise-hero__actions, .arbeitsweise-cta__actions,
  .existenz-hero__actions, .existenz-cta__actions, .contact-buttons,
  .downloads-hero__actions, .gedankenbild-single__actions) > .site-action {
  margin: 0 !important;
}

body.praxis-site :is(.site-action, .wpforms-submit, .pgbb-button,
  .cta-button, .secondary-button):focus-visible {
  outline: 3px solid var(--site-focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fffdf9 !important;
}
body.praxis-site :is(.site-action, .wpforms-submit, .pgbb-button,
  .cta-button, .secondary-button):is(:disabled, [aria-disabled="true"], [aria-busy="true"]) {
  color: var(--site-text) !important;
  background: var(--site-sand) !important;
  border-color: var(--site-control-border) !important;
  cursor: not-allowed;
  transform: none !important;
}

/* WPForms' ID-specific legacy rules also use !important. */
body.praxis-site #wpforms-44 .wpforms-submit {
  display: inline-flex !important;
  min-height: var(--action-height) !important;
  padding: 0.8rem 1.5rem !important;
  border: 1px solid var(--site-accent) !important;
  border-radius: var(--action-radius) !important;
  background: var(--site-accent) !important;
  color: #fff !important;
}
body.praxis-site #wpforms-44 .wpforms-submit:hover {
  background: var(--site-accent-hover) !important;
  border-color: var(--site-accent-hover) !important;
}
body.praxis-site #wpforms-44 .wpforms-submit:is(:disabled, [aria-disabled="true"], [aria-busy="true"]) {
  background: var(--site-sand) !important;
  color: var(--site-text) !important;
  border-color: var(--site-control-border) !important;
}

@media (max-width: 640px) {
  body.praxis-site :is(.cta-buttons, .cta-button-row, .home-actions,
    .first-session-actions, .costs-actions, .development-actions,
    .arbeitsweise-hero__actions, .arbeitsweise-cta__actions,
    .existenz-hero__actions, .existenz-cta__actions, .contact-buttons,
    .gedankenbild-single__actions) > .site-action:not(.site-action--text) {
    width: 100% !important;
    flex-basis: 100%;
  }
  body.praxis-site .site-action--text { align-self: flex-start; }
  body.praxis-site .home-conclusion__card .site-action--text { align-self: center; }
}
@media (prefers-reduced-motion: reduce) {
  body.praxis-site :is(.site-action, .wpforms-submit, .pgbb-button) { transition: none !important; }
}

/* Supporting costs links in contact sections share the action-link size.
 * Ordinary inline links in article paragraphs retain their paragraph typography. */
body.praxis-site .site-action-note {
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
body.praxis-site .site-action-note .site-action--text {
  vertical-align: baseline;
}
