/* Block content, shared with the editor (editor.css imports this file). */
.prose > * + * { margin-top: var(--space-4); }
.prose > :first-child { margin-top: 0; }
.prose h2 { margin-top: var(--space-7); font-size: var(--text-xl); }
.prose h3, .prose h4 { margin-top: var(--space-6); font-size: var(--text-lg); }
.prose ul, .prose ol { padding-left: 1.25rem; }
.prose li + li { margin-top: var(--space-1); }

.is-style-lead { font-size: var(--text-lg); line-height: 1.6; }

.wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
.wp-block-buttons .wp-block-button { margin: 0; }
.wp-block-image { margin: 0; }
.wp-block-image img { border-radius: var(--radius-md); }

/* Columns > Karten */
.wp-block-columns.is-style-opk-cards { display: grid; gap: var(--space-4); margin-top: var(--space-6); }
.is-style-opk-cards > .wp-block-column {
  padding: var(--space-5);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
}
.is-style-opk-cards > .wp-block-column > * + * { margin-top: var(--space-3); }
.is-style-opk-cards h3 { margin: 0; font-size: var(--text-xl); }

/* Columns > Nummerierte Schritte */
.wp-block-columns.is-style-opk-steps { display: grid; gap: var(--space-4); margin-top: var(--space-6); counter-reset: step; }
.is-style-opk-steps > .wp-block-column {
  padding: var(--space-5);
  background: rgb(255 255 255 / 8%);
  border-radius: var(--radius-md);
  counter-increment: step;
}
.is-style-opk-steps > .wp-block-column::before {
  content: counter(step, decimal-leading-zero);
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-apricot);
  font-family: var(--font-display);
  font-size: var(--text-xl);
}
.is-style-opk-steps h3 { margin: 0 0 var(--space-2); font-size: var(--text-lg); }

/* Columns > Fotos */
.wp-block-columns.is-style-opk-photos { display: grid; gap: var(--space-4); margin-top: var(--space-6); }
.is-style-opk-photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

@media (min-width: 48em) {
  .wp-block-columns.is-style-opk-cards,
  .wp-block-columns.is-style-opk-steps,
  .wp-block-columns.is-style-opk-photos { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
}

/* List > Zeitleiste */
.wp-block-list.is-style-opk-timeline { padding: 0; list-style: none; border-left: 2px solid var(--color-salbei); }
.is-style-opk-timeline li { position: relative; margin: 0; padding: 0 0 var(--space-3) var(--space-5); }
.is-style-opk-timeline li::before {
  content: "";
  position: absolute;
  left: -0.4rem;
  top: 0.55em;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: var(--color-oliv);
}

/* List > Häkchen */
.wp-block-list.is-style-opk-checks { padding: 0; list-style: none; }
.is-style-opk-checks li { position: relative; padding-left: 1.75rem; }
.is-style-opk-checks li::before { content: "✓"; position: absolute; left: 0.2rem; color: var(--color-oliv); font-weight: 800; }

/* List > Downloads */
.wp-block-list.is-style-opk-downloads { padding: 0; list-style: none; }
.is-style-opk-downloads li { margin: 0; border-bottom: 1px solid var(--color-line); }
.is-style-opk-downloads a { display: flex; justify-content: space-between; gap: var(--space-3); padding-block: var(--space-2); font-weight: 700; text-decoration: none; }
.is-style-opk-downloads a::after { content: "PDF ↓"; flex: none; color: var(--color-apricot-text); font-size: var(--text-xs); font-weight: 800; align-self: center; }

/* Quote > Großes Zitat */
.wp-block-quote.is-style-opk-quote {
  margin: var(--space-6) 0 0;
  padding: 0 0 0 var(--space-5);
  border-left: 3px solid var(--color-apricot);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  line-height: 1.35;
}
.is-style-opk-quote cite { display: block; margin-top: var(--space-2); font-family: var(--font-body); font-size: var(--text-sm); font-style: normal; }
