/* Gutenberg-Inhalte (.entry) + Formulare */
.entry { max-width: 72ch; }
.entry-wrap:not(.entry-wrap--detail) .entry { margin-inline: 0; }
.entry--flush { max-width: none; }
.entry > * + * { margin-top: 1.1em; }
.entry h2 { font-size: clamp(1.9rem, 1.3rem + 2vw, 2.9rem); margin-top: 2em; margin-bottom: .4em; }
.entry h3 { margin-top: 1.6em; margin-bottom: .3em; }
.entry > h2:first-child, .entry > h3:first-child { margin-top: 0; }
.entry p { margin: 0 0 1.1em; }
.entry a:not(.wp-block-button__link) { color: var(--accent-ink); font-weight: 600; text-decoration-thickness: 2px; text-underline-offset: .2em; transition: color var(--dur-ui) var(--ease-out); }
.entry a:not(.wp-block-button__link):hover { color: var(--text); }
.entry ul, .entry ol { padding-left: 0; list-style: none; margin: 0 0 1.4em; display: grid; gap: .6rem; }
.entry ul li { position: relative; padding-left: 1.75rem; }
.entry ul li::before { content: ""; position: absolute; left: 0; top: .62em; width: 10px; height: 10px; background: var(--accent); }
.entry ol { counter-reset: n; }
.entry ol li { counter-increment: n; position: relative; padding-left: 3rem; }
.entry ol li::before { content: counter(n, decimal-leading-zero); position: absolute; left: 0; top: 0; font: 700 1.3rem/1.5 var(--font-display); color: var(--accent-ink); letter-spacing: .06em; }
.entry figure { margin: 2rem 0; }
.entry img { border-radius: var(--radius); }
.entry figcaption { font-size: .9rem; color: var(--muted); margin-top: .5rem; }
.entry .wp-block-image img { box-shadow: var(--shadow-1); width: 100%; }
.entry .wp-block-separator { border: 0; border-top: 1px solid var(--line); margin-block: 2.5rem; max-width: none; }
.entry .wp-block-spacer { margin: 0; }
.entry .wp-block-columns { display: grid; grid-template-columns: repeat(12, 1fr); gap: 2rem; align-items: start; margin-block: 2rem; }
.entry .wp-block-column { grid-column: span 6; min-width: 0; }
.entry .wp-block-column > * + * { margin-top: 1em; }
.entry .wp-block-group.has-background, .entry .wp-block-group.is-callout { background: var(--bg-2); padding: clamp(1.5rem, 3vw, 2.25rem); border-left: 6px solid var(--accent); border-radius: var(--radius); }
.entry .wp-block-group.is-callout > * + * { margin-top: .8em; }
.entry .wp-block-group.is-callout h2, .entry .wp-block-group.is-callout h3 { margin-top: 0; }
.entry .wp-block-table table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.entry .wp-block-table th, .entry .wp-block-table td { text-align: left; padding: .75rem 1rem .75rem 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.entry .wp-block-table th { font: 600 1.05rem/1.2 var(--font-display); letter-spacing: .1em; text-transform: uppercase; }
.entry .wp-block-button__link { display: inline-flex; align-items: center; min-height: 48px; padding: .7rem 1.5rem; background: var(--accent); color: var(--text); font: 600 1.1rem/1 var(--font-display); letter-spacing: .07em; text-transform: uppercase; text-decoration: none; border-radius: var(--radius); transition: background-color var(--dur-ui) var(--ease-out), transform 120ms var(--ease-out); }
.entry .wp-block-button__link:hover { background: #F26A1F; }
.entry .wp-block-button__link:active { transform: scale(.98); }
.entry .alignwide { max-width: none; }
.entry-wrap:not(.entry-wrap--detail) .entry .alignwide { width: min(100%, 1100px); }
.entry .has-lead { font-size: 1.3rem; line-height: 1.55; color: var(--text); }

/* Beton-Fakten-Leiste (Gruppe mit Spalten) */
.entry .is-facts .wp-block-column { grid-column: span 4; border-top: 3px solid var(--primary); padding-top: 1rem; }
.entry .is-facts h3 { margin-top: 0; }

/* Contact Form 7 */
.wpcf7-form { display: grid; gap: 1.1rem; max-width: 46rem; }
.wpcf7-form p { margin: 0; }
.wpcf7-form label { display: grid; gap: .4rem; font: 600 1.05rem/1.2 var(--font-display); letter-spacing: .1em; text-transform: uppercase; }
.wpcf7-form input:not([type=checkbox]):not([type=submit]), .wpcf7-form select, .wpcf7-form textarea { width: 100%; min-height: 50px; padding: .75rem 1rem; font: 400 1.05rem/1.4 var(--font-body); text-transform: none; letter-spacing: 0; color: var(--text); background: #fff; border: 1px solid rgba(26,28,32,.35); border-radius: var(--radius); transition: border-color var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out); }
.wpcf7-form textarea { min-height: 150px; }
.wpcf7-form input:focus, .wpcf7-form select:focus, .wpcf7-form textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(232,89,12,.28); }
.wpcf7-form .wpcf7-acceptance label { display: flex; gap: .75rem; align-items: flex-start; font: 400 .98rem/1.5 var(--font-body); text-transform: none; letter-spacing: 0; }
.wpcf7-form input[type=checkbox] { width: 22px; height: 22px; margin-top: .15rem; accent-color: var(--accent); flex: 0 0 auto; }
.wpcf7-form input[type=submit] { justify-self: start; min-height: 52px; padding: .75rem 2rem; background: var(--accent); color: var(--text); font: 700 1.15rem/1 var(--font-display); letter-spacing: .08em; text-transform: uppercase; border: 2px solid transparent; border-radius: var(--radius); cursor: pointer; transition: background-color var(--dur-ui) var(--ease-out), transform 120ms var(--ease-out); }
.wpcf7-form input[type=submit]:hover { background: #F26A1F; }
.wpcf7-form input[type=submit]:active { transform: scale(.98); }
.wpcf7-not-valid-tip { color: #9B1C1C; font-size: .95rem; }
.wpcf7 form .wpcf7-response-output { margin: .5rem 0 0; padding: .9rem 1rem; border: 2px solid var(--primary); border-radius: var(--radius); }

/* Beitragsliste */
.entry__item { padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }

@media (max-width: 900px) {
  .entry .wp-block-column, .entry .is-facts .wp-block-column { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .entry .wp-block-columns { gap: 1.25rem; }
  .wpcf7-form input[type=submit] { width: 100%; justify-self: stretch; }
}
