/* ==========================================================================
   Forms (Contact Form 7) + misc page chrome
   ========================================================================== */
.wpcf7-form p{ margin-bottom: 1.1rem; max-width: none; }
.wpcf7-form label{ display: block; font-size: .85rem; font-weight: 600; color: var(--ink-soft); margin-bottom: .4rem; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea{
  width: 100%; padding: .85em 1em; border: 1px solid var(--line-strong); border-radius: var(--radius);
  background: var(--bg); color: var(--ink); min-height: 44px;
}
.wpcf7-form textarea{ min-height: 140px; resize: vertical; }
.wpcf7-form input[type="submit"]{
  display: inline-flex; align-items: center; gap: .6em; padding: .95em 1.8em;
  background: var(--accent-dark); color: var(--white); border: 0; border-radius: var(--radius);
  font-weight: 600; min-height: 44px; transition: background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.wpcf7-form input[type="submit"]:hover{ background: var(--ink); transform: translateY(-2px); }
.wpcf7-form input[type="submit"]:active{ transform: translateY(0) scale(.98); }
.wpcf7-form-control-wrap{ display: block; }
.wpcf7-not-valid-tip{ color: var(--accent-dark); font-size: .82rem; margin-top: .3rem; }
.wpcf7-response-output{ border-radius: var(--radius); border: 1px solid var(--line-strong) !important; margin-top: 1rem !important; padding: .9em 1.1em !important; font-size: .9rem; }
.wpcf7-acceptance label{ display: flex; align-items: flex-start; gap: .6em; font-weight: 400; font-size: .85rem; }

/* Legal pages (Impressum/Datenschutz) prose polish */
.prose h2:first-child{ margin-top: 0; }

/* Blog fallback list */
.post-card h2{ font-size: 1.4rem; }
