/**
 * Print Assistant — Components
 */

a {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
  transition: color 0.15s ease, opacity 0.15s ease;
}

a:focus-visible {
  outline: 2px solid var(--pa-color-interaction);
  outline-offset: 2px;
}

h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
  text-wrap: pretty;
}

h1, h2 {
  hyphens: auto;
  word-break: break-word;
  overflow-wrap: break-word;
}

/* Page titles (Kontakt etc.): same h1 leading as hub heroes (Tools reference). */
h1.wp-block-post-title {
  line-height: 0.95;
}

.post-template-default .entry-content.wp-block-post-content h2.wp-block-heading {
  margin-top: 4rem;
  margin-bottom: 2rem;
}

.post-template-default .entry-content.wp-block-post-content h3.wp-block-heading {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.pa-single-page .wp-block-post-content > h2,
.pa-single-page .wp-block-post-content .wp-block-heading h2,
.pa-single-page .wp-block-post-content h2.wp-block-heading {
  font-size: clamp(1.7rem, 1.45rem + 0.95vw, 2.2rem);
  letter-spacing: -0.022em;
  line-height: 1.12;
  margin-top: clamp(2.6rem, 2.1rem + 1.2vw, 3.4rem);
  margin-bottom: clamp(1rem, 0.8rem + 0.4vw, 1.35rem);
}

.pa-single-page .wp-block-post-content > h3,
.pa-single-page .wp-block-post-content .wp-block-heading h3,
.pa-single-page .wp-block-post-content h3.wp-block-heading {
  font-size: clamp(1.35rem, 1.2rem + 0.45vw, 1.7rem);
  font-weight: 540;
  letter-spacing: -0.016em;
  line-height: 1.2;
  margin-top: clamp(2rem, 1.7rem + 0.9vw, 2.7rem);
  margin-bottom: clamp(0.8rem, 0.72rem + 0.3vw, 1.1rem);
}

.pa-single-page .wp-block-post-content > h4,
.pa-single-page .wp-block-post-content .wp-block-heading h4,
.pa-single-page .wp-block-post-content h4.wp-block-heading {
  font-size: clamp(1.12rem, 1.05rem + 0.22vw, 1.3rem);
  letter-spacing: -0.01em;
  line-height: 1.28;
  margin-top: clamp(1.45rem, 1.3rem + 0.4vw, 1.8rem);
  margin-bottom: clamp(0.65rem, 0.58rem + 0.2vw, 0.85rem);
}

.pa-single-page .wp-block-post-content > :first-child {
  margin-top: 0;
}

.more-link {
  display: block;
}

summary, summary strong {
  font-weight: 400;
}

details > *:not(summary) {
  font-size: 0.875em;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.4s ease, transform 0.3s ease, max-height 0.4s ease;
  max-height: 0;
  overflow: hidden;
}

details[open] > *:not(summary) {
  opacity: 1;
  transform: translateY(0);
  max-height: 900px;
  overflow: visible;
}

details[open] p:last-child {
  margin-bottom: 2rem;
}

summary {
  list-style: none;
  display: flex;
  align-items: center;
}

summary::-webkit-details-marker {
  display: none;
}

summary::before {
  content: "→";
  display: inline-block;
  font-size: 14px;
  font-family: var(--wp--preset--font-family--geist-mono);
  margin-right: 1em;
  transition: transform 0.15s ease;
  color: var(--pa-color-interaction);
}

details[open] summary::before {
  transform: rotate(90deg);
}

details p {
  margin-left: 2rem;
}

.entry-content p:not(.pa-sidebar-block__action):not(.pa-tool-card__action):not(.pa-hub-card__action) > a,
.entry-content li > a,
.entry-content li strong > a,
.entry-content td > a,
.wp-block-post-content p:not(.pa-sidebar-block__action):not(.pa-tool-card__action):not(.pa-hub-card__action) > a,
.wp-block-post-content li > a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

/* Context line above H1 on tools/tipps subpages (match hub overview specimen style) */
.pa-subpage-context-line {
  margin: 0 0 var(--wp--preset--spacing--20);
  font-family: var(--wp--preset--font-family--geist-mono);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.is-style-checkmark-list {
  padding-left: 1rem;
}

.pa-object-with-shadows,
.wp-block-post-featured-image img {
  border: 1px solid var(--wp--preset--color--line);
}

.is-style-pa-card,
.pa-card {
  border: 1px solid var(--wp--preset--color--line);
  background: var(--wp--preset--color--warm-white);
  padding: var(--wp--preset--spacing--40);
}

.is-style-pa-card,
.is-style-pa-production-card {
  box-shadow: none;
}

.pa-group-list-centered {
  text-align: center;
}

.pa-group-list-centered ul {
  display: inline-block;
  text-align: left;
}

.hero-banner {
  opacity: 0;
  animation: paFadeInUp 0.8s ease-out forwards;
  animation-delay: 0.2s;
  border: 1px solid var(--wp--preset--color--line);
}

@keyframes paFadeInUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

p.wp-block-site-title,
p.wp-block-site-tagline {
  margin-left: 0;
  line-height: 1.2;
}

.wp-block-site-tagline {
  font-family: var(--wp--preset--font-family--geist-sans);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.35;
  color: var(--wp--preset--color--graphite);
}

.wp-block-site-logo img,
.custom-logo {
  max-width: 48px;
  height: auto;
}

.wp-block-site-logo {
  width: 48px;
}

@media (min-width: 856px) {
  .wp-block-site-logo img,
  .custom-logo {
    max-width: 52px;
  }

  .wp-block-site-logo {
    width: 52px;
  }
}

.custom-logo-link,
.custom-logo-link:hover,
.custom-logo-link:focus {
  text-decoration: none;
  background-image: none;
  box-shadow: none;
}

.pa-site-header .custom-logo-link:hover,
.pa-site-header .custom-logo-link:focus,
.pa-site-footer .custom-logo-link:hover,
.pa-site-footer .custom-logo-link:focus {
  text-decoration: none;
  background-image: none;
}

.custom-logo-link {
  transition: opacity 0.2s ease;
}

.custom-logo-link:hover {
  opacity: 0.75;
}

@media (max-width: 599px) {
  .wp-block-site-tagline {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

.pa-home-hero {
  text-align: left;
}

.pa-home-hero-content,
.pa-hub-hero-content {
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  background: transparent;
  border: none;
  padding: 0;
  color: var(--wp--preset--color--contrast);
}

.pa-home-hero-content h1,
.pa-hub-hero-content h1,
.pa-home-hero-content #pa-typed-text-home {
  color: #000 !important;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.pa-home-hero-content p,
.pa-hub-hero-content p,
.pa-home-hero-content .is-style-text-specimen,
.pa-hub-hero-content .is-style-text-specimen {
  color: #000 !important;
}

.pa-home-hero-content #pa-typed-text-home,
.pa-home-hero-content .pa-typewriter-headline {
  width: 100%;
  max-width: 100%;
  min-width: 0 !important;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.pa-typewriter-slot {
  display: contents;
}

.pa-home-hero-content.pa-typewriter-layout--reserved {
  box-sizing: border-box;
  min-height: 0 !important;
}

.pa-home-hero-content {
  min-height: 0 !important;
}

.pa-home-hero-subline {
  max-width: 62ch;
}

/* Shared hero stack rhythm — match hub heroes (Digitale Lösungen reference) */
.pa-home-hero-content > .is-style-text-specimen,
.pa-hub-hero-content > .is-style-text-specimen {
  margin-bottom: 0;
}

.pa-home-hero-content > h1,
.pa-hub-hero-content > h1 {
  margin-top: var(--wp--preset--spacing--40);
  margin-bottom: 0;
}

.pa-home-hero-content > .has-large-font-size,
.pa-home-hero #pa-typed-text-home,
.pa-hub-hero-content > .has-large-font-size {
  max-width: 62ch;
  margin-top: var(--wp--preset--spacing--40);
  margin-bottom: 0;
}

/* Startseite: Einordnung zwischen Hero und Hub-Karten */
.pa-home-warum {
  border-top: 1px solid var(--wp--preset--color--line);
}

/* Specimen-Label: linksbündig */
.pa-home-warum.is-layout-constrained > .is-style-text-specimen {
  margin-inline-end: auto !important;
  margin-inline-start: 0 !important;
  max-width: var(--wp--style--global--content-size);
}

.pa-home-warum > .is-style-text-specimen:first-child {
  margin-bottom: var(--wp--preset--spacing--30);
}

/* Volle Wide-Track-Breite — WP constrained würde sonst auf contentSize (~720px) begrenzen */
.pa-home-warum.is-layout-constrained > .pa-home-warum__body {
  margin-inline: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* Copy links, Key Visual rechts — volle Wide-Track-Breite */
.pa-home-warum__body {
  align-items: stretch;
  column-gap: var(--wp--preset--spacing--60);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-top: 0;
  width: 100%;
}

.pa-home-warum__copy {
  min-width: 0;
}

.pa-home-warum__copy .has-xx-large-font-size {
  letter-spacing: -0.02em;
  line-height: 1.08;
  margin: 0;
  max-width: 28ch;
}

.pa-home-warum__copy > p:not(.is-style-text-specimen) {
  line-height: 1.5;
  max-width: 52ch;
}

.pa-home-warum__body .pa-home-warum-visual__image {
  align-self: stretch;
  border: 1px solid var(--wp--preset--color--line);
  display: flex;
  justify-self: stretch;
  margin: 0;
  max-width: none;
  min-height: 100%;
  width: 100%;
}

.pa-home-warum-visual__image img {
  aspect-ratio: 4 / 3;
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.pa-home-warum-tags {
  gap: var(--wp--preset--spacing--20);
}

.pa-home-warum-tag {
  background: var(--wp--preset--color--warm-white, #fdfcfa);
  border: 1px solid var(--wp--preset--color--line);
  margin: 0;
  padding: 0.55rem 0.85rem;
  position: relative;
  transition:
    background-color var(--pa-transition-base),
    border-color var(--pa-transition-base),
    box-shadow var(--pa-transition-base),
    transform var(--pa-transition-base);
}

@media (max-width: 781px) {
  .pa-home-warum__body {
    grid-template-columns: 1fr;
    row-gap: var(--wp--preset--spacing--40);
  }

  .pa-home-warum__body .pa-home-warum-visual__image {
    align-self: start;
    display: block;
    justify-self: start;
    max-width: min(100%, 18rem);
    min-height: 0;
    order: 2;
    width: 100%;
  }

  .pa-home-warum-visual__image img {
    aspect-ratio: auto;
    height: auto;
    object-fit: contain;
  }

  .pa-home-warum__copy {
    order: 1;
  }
}

.pa-kontakt-hero .has-large-font-size {
  max-width: 62ch;
}

.pa-kontakt-hero .has-hero-font-size {
  max-width: none;
}

.pa-kontakt-hero-actions {
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--20);
}

/* Typewriter — always in document flow (fixes legacy absolute/cover overlap) */
.ap-textAnimation,
#pa-typed-text-home,
.pa-typewriter-headline {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  float: none !important;
  transform: none !important;
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}

.pa-typewriter-line {
  margin-top: var(--wp--preset--spacing--30);
  padding-top: var(--wp--preset--spacing--30);
  border-top: 1px solid var(--wp--preset--color--line);
  max-width: 100%;
}

.pa-typewriter-line .is-style-text-specimen {
  margin-bottom: var(--pa-space-3);
}

#pa-typed-text-home,
.pa-typewriter-headline {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  font-family: var(--wp--preset--font-family--geist-sans);
  font-size: var(--wp--preset--font-size--hero);
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 0.95;
  color: #000 !important;
  background: transparent;
  padding: 0;
  margin: 0;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

.pa-home-hero #pa-typed-text-home,
.pa-home-hero .pa-typewriter-headline {
  font-size: var(--wp--preset--font-size--large);
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  color: var(--wp--preset--color--graphite) !important;
}

/* Hero cover: gradient scrim on image layer only — never above text */
.wp-block-cover.pa-home-hero,
.wp-block-cover.pa-hub-hero {
  --pa-hero-scrim-strong: 0.97;
  --pa-hero-scrim-floor: 0.22;
  --pa-hero-scrim-base: 0.15;
  isolation: isolate;
  overflow: visible;
}

.wp-block-cover.pa-home-hero .wp-block-cover__background,
.wp-block-cover.pa-hub-hero .wp-block-cover__background {
  z-index: 1;
  opacity: 1 !important;
  background-color: transparent !important;
}

.wp-block-cover.pa-home-hero .wp-block-cover__image-background,
.wp-block-cover.pa-hub-hero .wp-block-cover__image-background {
  z-index: 0;
  object-position: 28% 50%;
  filter: saturate(0.9) brightness(1.06);
}

.wp-block-cover.pa-home-hero .wp-block-cover__background,
.wp-block-cover.pa-hub-hero .wp-block-cover__background {
  background:
    linear-gradient(
      to right,
      rgb(253 252 250 / var(--pa-hero-scrim-strong)) 0%,
      rgb(253 252 250 / 0.9) 35%,
      rgb(253 252 250 / 0.72) 60%,
      rgb(253 252 250 / 0.45) 85%,
      rgb(253 252 250 / var(--pa-hero-scrim-floor)) 100%
    ),
    linear-gradient(
      rgb(253 252 250 / var(--pa-hero-scrim-base)),
      rgb(253 252 250 / var(--pa-hero-scrim-base))
    ) !important;
}

/* Hero cover: content-driven height — typewriter slot reserves its own line */
.pa-home-hero.wp-block-cover,
.pa-home-hero > .wp-block-cover,
.wp-block-cover.pa-home-hero {
  align-items: flex-start;
  box-sizing: border-box;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible;
}

.pa-hub-hero.wp-block-cover,
.pa-hub-hero > .wp-block-cover,
.wp-block-cover.pa-hub-hero {
  min-height: clamp(280px, 42vh, 420px) !important;
  height: auto;
  align-items: flex-start;
}

.pa-home-hero .wp-block-cover__inner-container,
.pa-hub-hero .wp-block-cover__inner-container {
  position: relative;
  z-index: 2 !important;
  box-sizing: border-box !important;
  width: 100%;
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
  padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
  padding-inline: var(--pa-hero-inline-padding) !important;
  text-align: left;
  color: #000;
}

.pa-home-hero .wp-block-cover__inner-container :where(h1, p, .is-style-text-specimen, #pa-typed-text-home, .pa-typewriter-headline),
.pa-hub-hero .wp-block-cover__inner-container :where(h1, p, .is-style-text-specimen) {
  color: #000 !important;
}

/* Above-fold hero copy: always visible (cover bg must not inherit pa-reveal) */
.pa-home-hero .pa-home-hero-content .pa-reveal,
.pa-hub-hero .pa-hub-hero-content .pa-reveal {
  opacity: 1;
  transform: none;
}

.pa-home-hero .wp-block-cover__inner-container .wp-block-columns,
.pa-home-hero .wp-block-cover__inner-container > .wp-block-group,
.pa-hub-hero .wp-block-cover__inner-container > .wp-block-group {
  max-width: var(--wp--style--global--wide-size);
}

.pa-home-hero .wp-block-cover__inner-container #pa-typed-text-home {
  color: var(--wp--preset--color--graphite) !important;
}

@media (max-width: 781px) {
  .wp-site-blocks main .pa-home-hero,
  .wp-site-blocks main .pa-hub-hero {
    padding-bottom: var(--wp--preset--spacing--20) !important;
    padding-top: 0 !important;
  }

  .pa-home-hero .wp-block-cover__inner-container,
  .pa-hub-hero .wp-block-cover__inner-container {
    padding-block: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30);
    padding-inline: var(--pa-hero-inline-padding) !important;
  }

  .pa-home-hero-content,
  .pa-hub-hero-content {
    width: 100%;
    padding: 0;
  }

  .pa-home-hero-content h1,
  .pa-hub-hero-content h1 {
    word-break: normal;
    overflow-wrap: break-word;
  }

  .pa-home-hero #pa-typed-text-home,
  .pa-home-hero .pa-typewriter-headline {
    font-size: var(--wp--preset--font-size--large) !important;
  }

  .pa-home-hero .wp-block-cover__image-background {
    object-position: 70% 30%;
  }

  .pa-home-hero-subline {
    max-width: none;
  }
}

@media (min-width: 782px) {
  #pa-typed-text-home,
  .pa-typewriter-headline {
    width: fit-content;
    max-width: 100%;
    min-width: min(100%, 20ch);
  }

  .pa-home-hero-content #pa-typed-text-home,
  .pa-home-hero-content .pa-typewriter-headline {
    width: 100%;
    min-width: 0 !important;
  }
}

.pa-cursor {
  display: inline-block;
  width: 2px;
  height: 0.88em;
  background-color: var(--wp--preset--color--contrast);
  margin-left: 0.08em;
  vertical-align: -0.06em;
  animation: paCursorBlink 1.05s step-end infinite;
}

@media (prefers-reduced-motion: reduce) {
  .pa-cursor {
    animation: none;
    opacity: 1;
  }
}

@keyframes paCursorBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

.pa-blink-once {
  animation: paBlinkOnce 0.4s steps(2, start);
}

@keyframes paBlinkOnce {
  0%, 50% { opacity: 0; }
  100% { opacity: 1; }
}

.is-style-pa-production-card,
.pa-production-card {
  border-top: 1px solid var(--wp--preset--color--line);
  box-sizing: border-box;
  padding: var(--wp--preset--spacing--50);
}

.is-style-pa-production-card .is-style-text-specimen,
.pa-production-card .is-style-text-specimen {
  margin-bottom: var(--pa-space-4);
}

/* Hub/module rows: equal card height, buttons aligned at bottom */
.wp-block-columns.is-style-pa-editorial-split,
.pa-hub-cards-grid,
.pa-hub-cards-grid.is-layout-flex {
  align-items: stretch !important;
}

.wp-block-columns.is-style-pa-editorial-split > .wp-block-column,
.pa-hub-cards-grid > .wp-block-column {
  display: flex;
  flex-direction: column;
}

.wp-block-columns.is-style-pa-editorial-split > .wp-block-column > .pa-production-card,
.wp-block-columns.is-style-pa-editorial-split > .wp-block-column > .is-style-pa-production-card,
.pa-hub-cards-grid > .wp-block-column > .pa-production-card,
.pa-hub-cards-grid > .wp-block-column > .is-style-pa-production-card {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  width: 100%;
}

.wp-block-columns.is-style-pa-editorial-split .pa-production-card > .wp-block-buttons,
.wp-block-columns.is-style-pa-editorial-split .is-style-pa-production-card > .wp-block-buttons,
.pa-hub-cards-grid .pa-production-card > p:last-of-type,
.pa-hub-cards-grid .is-style-pa-production-card > p:last-of-type,
.pa-hub-cards-grid .pa-production-card > .wp-block-buttons,
.pa-hub-cards-grid .is-style-pa-production-card > .wp-block-buttons,
.pa-hub-cards-grid .pa-production-card > .pa-hub-card__action,
.pa-hub-cards-grid .is-style-pa-production-card > .pa-hub-card__action {
  margin-top: auto !important;
  margin-bottom: 0;
  padding-top: var(--wp--preset--spacing--40);
}

/* Homepage hub: three equal pillars */
.pa-hub-cards-grid--three {
  flex-wrap: nowrap !important;
}

.pa-hub-cards-grid--three > .wp-block-column {
  flex-basis: 33.33% !important;
  flex-grow: 1;
  min-width: 0;
}

@media (max-width: 781px) {
  .pa-hub-cards-grid--three {
    flex-wrap: wrap !important;
  }

  .pa-hub-cards-grid--three > .wp-block-column {
    flex-basis: 100% !important;
  }
}

/* Homepage hub cards: consistent vertical rhythm across all three cards */
.pa-hub-cards-grid .pa-production-card .wp-block-heading {
  margin-top: 0;
}

/* Programmierung page: keep stack label and logos as one cohesive section */
.pa-programmierung-stack-label {
  margin-top: 0;
}

.pa-programmierung-sticker {
  border: 1px solid var(--wp--preset--color--line);
  box-shadow: var(--pa-shadow-sheet);
  padding: var(--wp--preset--spacing--35);
}

.pa-programmierung-sticker .is-style-text-specimen {
  margin-bottom: var(--wp--preset--spacing--20);
}

.pa-programmierung-sticker h4 {
  font-size: clamp(1.15rem, 1.05rem + 0.35vw, 1.45rem);
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0 0 var(--wp--preset--spacing--20);
}

.pa-programmierung-sticker p:last-child {
  margin-bottom: 0;
}

.pa-programmierung-sticker--tools {
  background: linear-gradient(160deg, color-mix(in srgb, var(--wp--preset--color--cmyk-c) 14%, var(--wp--preset--color--base) 86%), var(--wp--preset--color--base));
}

.pa-programmierung-sticker--web {
  background: linear-gradient(160deg, color-mix(in srgb, var(--wp--preset--color--cmyk-y) 18%, var(--wp--preset--color--base) 82%), var(--wp--preset--color--base));
}

.pa-programmierung-stack-badges .wp-block-group {
  gap: var(--wp--preset--spacing--30);
}

.pa-programmierung-stack-badge {
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 999px;
  margin: 0;
  padding: 0.42rem 0.75rem;
}

@media (max-width: 781px) {
  .wp-block-columns.is-style-pa-editorial-split.pa-programmierung-services {
    display: block;
  }

  .wp-block-columns.is-style-pa-editorial-split.pa-programmierung-services > .wp-block-column {
    flex-basis: 100% !important;
    margin-left: 0 !important;
    width: 100% !important;
  }

  .wp-block-columns.is-style-pa-editorial-split.pa-programmierung-services > .wp-block-column + .wp-block-column {
    margin-top: var(--wp--preset--spacing--40);
  }

  .pa-programmierung-hero {
    padding-top: var(--wp--preset--spacing--50) !important;
    padding-bottom: var(--wp--preset--spacing--40) !important;
  }

  .pa-programmierung-hero .has-hero-font-size {
    font-size: clamp(2.5rem, 12vw, 3.35rem) !important;
    line-height: 0.97;
    letter-spacing: -0.02em;
  }

  .pa-programmierung-hero .has-large-font-size {
    font-size: clamp(1.05rem, 4.2vw, 1.3rem) !important;
    line-height: 1.45;
    margin-top: var(--wp--preset--spacing--25) !important;
    max-width: 36ch;
  }

  .pa-programmierung-deliverables {
    padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) !important;
    margin-bottom: var(--wp--preset--spacing--50) !important;
  }

  .pa-programmierung-sticker {
    padding: var(--wp--preset--spacing--30);
  }

  .pa-programmierung-sticker h4 {
    font-size: clamp(1.05rem, 4.6vw, 1.25rem);
  }

  .pa-programmierung-stack-badges {
    margin-bottom: var(--wp--preset--spacing--55) !important;
  }

  .pa-programmierung-stack-badges .wp-block-group {
    gap: var(--wp--preset--spacing--20);
  }

  .pa-programmierung-cta {
    padding: var(--wp--preset--spacing--45) var(--wp--preset--spacing--30) !important;
  }
}

.pa-register-row {
  transition: background-color var(--pa-transition-fast);
}

.pa-register-row:hover {
  background-color: color-mix(in srgb, var(--wp--preset--color--paper-dark) 60%, transparent);
}

.pa-tipps-feed .pa-tipps-entry:first-child {
  padding-top: 0;
}

.category .pa-tipps-feed,
.archive .pa-tipps-feed {
  margin-block-start: var(--wp--preset--spacing--30);
}

/* Category archives (Prepress/Press/Postpress): full main-column width like Tools subpages */
.category .pa-tipps-feed .pa-tipps-entry,
.archive .pa-tipps-feed .pa-tipps-entry {
  max-width: none;
  width: 100%;
}

.category .pa-tipps-feed .pa-tipps-entry.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.archive .pa-tipps-feed .pa-tipps-entry.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none;
  margin-inline: 0 !important;
}

.category .wp-block-term-description,
.archive .wp-block-term-description {
  margin-block-end: var(--wp--preset--spacing--30);
}

.pa-tipps-register-intro {
  margin-top: 0 !important;
  margin-bottom: var(--wp--preset--spacing--30) !important;
  padding-block: 0 !important;
}

.pa-tipps-feed .pa-tipps-entry .wp-block-post-title a {
  text-decoration: none;
}

.pa-tipps-feed .pa-tipps-entry .wp-block-post-title a:hover {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.pa-search-page .wp-block-query-title {
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin-bottom: var(--wp--preset--spacing--30);
  max-width: 18ch;
}

.pa-search-page .wp-block-search {
  margin-top: 0;
  max-width: 52rem;
}

.pa-search-page .wp-block-search__inside-wrapper {
  border: 1px solid var(--wp--preset--color--line);
  padding: 0.35rem;
}

.pa-search-page .wp-block-search__input {
  border: none;
  font-size: var(--wp--preset--font-size--large);
  min-height: 3.25rem;
}

.pa-search-page .wp-block-search__button {
  border: 1px solid var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--geist-sans);
  font-size: var(--wp--preset--font-size--large);
  font-weight: 600;
  min-height: 3.25rem;
  padding-inline: 1.55rem;
}

.pa-search-feed .pa-search-entry .wp-block-post-featured-image {
  margin-top: 0;
}

/* Post previews in listings — natural aspect ratio, no 16:9 letterboxing */
.pa-post-preview-image,
.pa-search-feed .pa-search-entry .wp-block-post-featured-image,
.pa-post-feed .pa-post-entry .wp-block-post-featured-image {
  display: block;
  height: auto !important;
  line-height: 0;
  max-width: 100%;
  width: 100%;
}

.pa-post-preview-image a,
.pa-search-feed .pa-search-entry .wp-block-post-featured-image a,
.pa-post-feed .pa-post-entry .wp-block-post-featured-image a {
  display: block;
  height: auto !important;
  line-height: 0;
  max-width: 100%;
  width: 100%;
}

.pa-post-preview-image img,
.pa-search-feed .pa-search-entry .wp-block-post-featured-image img,
.pa-post-feed .pa-post-entry .wp-block-post-featured-image img {
  display: block;
  height: auto !important;
  max-width: 100%;
  width: 100%;
}

.pa-search-feed .pa-search-entry .wp-block-post-title {
  max-width: 26ch;
}

.pa-search-feed .pa-search-entry .wp-block-post-title a {
  text-decoration: none;
}

.pa-search-feed .pa-search-entry .wp-block-post-title a:hover {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.pa-post-feed .pa-post-entry:first-child {
  padding-top: 0;
}

.pa-post-feed .pa-post-entry .wp-block-post-title {
  max-width: 26ch;
}

.pa-post-feed .pa-post-entry .wp-block-post-title a {
  text-decoration: none;
}

.pa-post-feed .pa-post-entry .wp-block-post-title a:hover {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

/* Single post title: see pa-single.css */

.pa-single-page .pa-single-article > .wp-block-post-featured-image {
  margin-top: 0;
}

.pa-single-page .pa-single-meta {
  gap: var(--wp--preset--spacing--20);
}

.pa-single-page .pa-single-footer {
  margin-top: var(--wp--preset--spacing--40);
}

.pa-single-page .pa-post-nav {
  align-items: flex-start;
}

.pa-single-page .pa-post-nav .wp-block-post-navigation-link {
  line-height: 1.35;
  max-width: min(46%, 34ch);
}

.pa-single-page .pa-post-nav .wp-block-post-navigation-link a {
  display: inline;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

/* Replace default detached arrows with non-breaking inline arrows. */
.pa-single-page .pa-post-nav .post-navigation-link__arrow-previous,
.pa-single-page .pa-post-nav .post-navigation-link__arrow-next {
  display: none;
}

.pa-single-page .pa-post-nav .wp-block-post-navigation-link-previous a::before {
  content: "←\00a0";
}

.pa-single-page .pa-post-nav .wp-block-post-navigation-link-previous {
  margin-left: 0;
  padding-left: 0 !important;
}

.pa-single-page .pa-post-nav .wp-block-post-navigation-link-previous a {
  margin-left: 0;
  padding-left: 0 !important;
}

.pa-single-page .pa-post-nav .wp-block-post-navigation-link-next {
  text-align: right;
}

.pa-single-page .pa-post-nav .wp-block-post-navigation-link-next a::after {
  content: "\00a0→";
}

@media (max-width: 781px) {
  .pa-search-page .wp-block-query-title {
    font-size: clamp(2.1rem, 11vw, 2.8rem) !important;
    max-width: 12ch;
  }

  .pa-search-page .wp-block-search__inside-wrapper {
    padding: 0.25rem;
  }

  .pa-search-page .wp-block-search__input,
  .pa-search-page .wp-block-search__button {
    min-height: 2.85rem;
  }

  .pa-post-feed .pa-post-entry .wp-block-post-title,
  .pa-search-feed .pa-search-entry .wp-block-post-title {
    max-width: 100%;
  }

  .pa-single-page .pa-post-nav {
    gap: var(--wp--preset--spacing--30);
  }

  .pa-single-page .pa-post-nav .wp-block-post-navigation-link {
    max-width: 100%;
  }
}

/* Lead — größer und luftiger als Body */
p.has-large-font-size:not(.is-style-text-subtitle):not(.is-style-text-display):not(.pa-design-library-type-row__label) {
  font-size: var(--wp--preset--font-size--large);
  letter-spacing: -0.012em;
  line-height: 1.45;
}

/* Buttons auf schwarzem Hintergrund — Hover: weiße Outline, kein „verschwindendes“ Invert */
.pa-dark-panel .is-style-text-specimen,
.is-style-pa-dark-panel .is-style-text-specimen {
  border-color: color-mix(in srgb, var(--wp--preset--color--base) 25%, transparent);
  color: color-mix(in srgb, var(--wp--preset--color--base) 75%, transparent);
}

/* Hub CTA teaser (Tools/Tipps/Programmierung): quieter editorial rhythm */
.pa-hub-cta-teaser {
  margin-bottom: var(--wp--preset--spacing--60) !important;
  padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60) !important;
}

.pa-hub-cta-teaser > .wp-block-group.alignwide {
  max-width: var(--pa-hub-cta-inner-max-width);
  width: 100%;
}

/* Use the full wide track — not the default content-size column */
.pa-hub-cta-teaser .wp-block-group.alignwide.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-inline: auto;
  max-width: var(--pa-hub-cta-copy-max-width);
  width: 100%;
}

.pa-hub-cta-teaser .wp-block-heading.has-xx-large-font-size {
  font-size: clamp(2rem, 1.8rem + 0.55vw, 2.45rem) !important;
  letter-spacing: -0.02em;
  line-height: 1.07;
  margin-inline: auto;
  max-width: var(--pa-hub-cta-copy-max-width);
  width: 100%;
}

.pa-hub-cta-teaser .is-style-text-subtitle {
  line-height: 1.4;
  margin-inline: auto;
  max-width: var(--pa-hub-cta-copy-max-width);
  width: 100%;
}

.pa-hub-cta-teaser .wp-block-buttons {
  margin-top: var(--wp--preset--spacing--30) !important;
}

@media (max-width: 781px) {
  .pa-tipps-register-intro {
    margin-bottom: var(--wp--preset--spacing--25) !important;
  }

  .pa-hub-cta-teaser {
    margin-bottom: var(--wp--preset--spacing--45) !important;
    padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) !important;
  }

  .pa-hub-cta-teaser .wp-block-heading.has-xx-large-font-size {
    font-size: clamp(1.65rem, 7.2vw, 2.05rem) !important;
    line-height: 1.12;
    max-width: none;
  }

  .pa-hub-cta-teaser .is-style-text-subtitle {
    font-size: clamp(1rem, 3.9vw, 1.15rem) !important;
    max-width: none;
  }

  .pa-hub-cta-teaser .wp-block-buttons {
    margin-top: var(--wp--preset--spacing--25) !important;
  }
}

/* Cookie Notice plugin — theme overrides (do not edit plugin files) */
#cookie-notice {
  font-family: var(--wp--preset--font-family--geist-sans);
  text-align: left;
}

#cookie-notice .cookie-notice-container,
#cookie-notice .cookie-revoke-container {
  background-color: var(--wp--preset--color--base) !important;
  border-top: 1px solid var(--wp--preset--color--line);
  box-shadow: var(--pa-shadow-sheet);
  color: var(--wp--preset--color--contrast) !important;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.55;
  padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

#cookie-notice.cn-style-dark .cookie-notice-container,
#cookie-notice.cn-style-dark .cookie-revoke-container,
#cookie-notice.cn-style-light .cookie-notice-container,
#cookie-notice.cn-style-light .cookie-revoke-container {
  background-color: var(--wp--preset--color--base) !important;
  color: var(--wp--preset--color--contrast) !important;
}

#cookie-notice .cookie-notice-container,
#cn-notice-text,
#cn-notice-buttons,
#cookie-notice .cn-text-container,
#cookie-notice .cn-buttons-container {
  margin-block: 0;
}

#cookie-notice .cookie-notice-container {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--30);
  justify-content: space-between;
  margin-inline: auto;
  max-width: var(--pa-content-lg);
}

#cn-notice-text,
#cookie-notice .cn-text-container {
  color: var(--wp--preset--color--contrast) !important;
  flex: 1 1 280px;
  margin: 0;
  text-align: left;
}

#cn-notice-text a,
#cookie-notice .cn-text-container a {
  color: var(--wp--preset--color--contrast);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

#cn-notice-text a:hover,
#cn-notice-text a:focus-visible,
#cookie-notice .cn-text-container a:hover,
#cookie-notice .cn-text-container a:focus-visible {
  color: var(--wp--preset--color--accent-9);
}

#cn-notice-buttons,
#cookie-notice .cn-buttons-container {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--20);
}

#cookie-notice .cn-button,
#cookie-notice a.cn-button {
  background-color: var(--wp--preset--color--base) !important;
  background-image: none !important;
  border: 1px solid var(--wp--preset--color--contrast) !important;
  border-radius: var(--pa-radius-sm) !important;
  box-shadow: var(--pa-shadow-sheet);
  color: var(--wp--preset--color--contrast) !important;
  cursor: pointer;
  display: inline-block;
  font-family: var(--wp--preset--font-family--geist-mono) !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em;
  line-height: 1.2;
  margin: 0 !important;
  padding: var(--pa-button-padding-y) var(--pa-button-padding-x) !important;
  text-decoration: none !important;
  text-transform: uppercase;
  transition:
    background-color var(--pa-transition-fast),
    border-color var(--pa-transition-fast),
    box-shadow var(--pa-transition-fast),
    color var(--pa-transition-fast);
}

#cookie-notice .cn-button:hover,
#cookie-notice .cn-button:focus-visible,
#cookie-notice a.cn-button:hover,
#cookie-notice a.cn-button:focus-visible {
  background-color: var(--wp--preset--color--contrast) !important;
  border-color: var(--wp--preset--color--contrast) !important;
  box-shadow: var(--pa-shadow-stack);
  color: var(--wp--preset--color--base) !important;
  opacity: 1 !important;
}

#cookie-notice #cn-accept-cookie,
#cookie-notice .cn-set-cookie:not(.cn-refuse-cookie) {
  background-color: var(--wp--preset--color--accent-9) !important;
  border-color: var(--wp--preset--color--accent-9) !important;
  color: var(--wp--preset--color--contrast) !important;
}

#cookie-notice #cn-accept-cookie:hover,
#cookie-notice #cn-accept-cookie:focus-visible,
#cookie-notice .cn-set-cookie:not(.cn-refuse-cookie):hover,
#cookie-notice .cn-set-cookie:not(.cn-refuse-cookie):focus-visible {
  background-color: var(--wp--preset--color--contrast) !important;
  border-color: var(--wp--preset--color--contrast) !important;
  color: var(--wp--preset--color--base) !important;
}

#cn-close-notice,
button#cn-close-notice,
.cn-close-icon,
span#cn-close-notice {
  display: none !important;
}

@media (max-width: 781px) {
  #cookie-notice .cookie-notice-container,
  #cookie-notice .cookie-revoke-container {
    line-height: 1.45;
    padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30) !important;
  }

  #cookie-notice .cookie-notice-container {
    align-items: stretch;
    flex-direction: column;
    gap: var(--wp--preset--spacing--20);
    margin: 0 !important;
    padding: 0 !important;
  }

  #cn-notice-text,
  #cookie-notice .cn-text-container {
    flex: none;
    font-size: 0.8125rem;
    line-height: 1.4;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
  }

  #cn-notice-buttons,
  #cookie-notice .cn-buttons-container {
    align-items: stretch;
    display: grid;
    gap: var(--wp--preset--spacing--20);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
  }

  #cookie-notice .cn-button,
  #cookie-notice a.cn-button {
    box-shadow: none;
    font-size: 0.625rem !important;
    letter-spacing: 0.04em;
    line-height: 1.15;
    min-height: 0;
    padding: 0.45rem 0.5rem !important;
    text-align: center;
    width: auto;
  }

  #cookie-notice #cn-more-info,
  #cookie-notice a.cn-button.cn-more-info,
  #cookie-notice .cn-buttons-container .cn-button:last-child,
  #cookie-notice .cn-buttons-container a.cn-button:last-child {
    grid-column: 1 / -1;
  }
}

.is-style-pa-divider-register hr,
hr.is-style-pa-divider-register {
  border: none;
  height: 1px;
  background: var(--wp--preset--color--line);
  position: relative;
}

.is-style-pa-divider-register hr::after,
hr.is-style-pa-divider-register::after {
  content: "";
  position: absolute;
  right: 0;
  top: -3px;
  width: 24px;
  height: 7px;
  background: repeating-linear-gradient(
    90deg,
    var(--wp--preset--color--cmyk-c) 0 3px,
    transparent 3px 5px,
    var(--wp--preset--color--cmyk-m) 5px 8px,
    transparent 8px 10px,
    var(--wp--preset--color--cmyk-y) 10px 13px,
    transparent 13px 15px,
    var(--wp--preset--color--cmyk-k) 15px 18px
  );
  opacity: 0.6;
}
