/* =============================================================
   WordPress-spezifische Ergänzungen zum Design System
   ============================================================= */

/* Post-Content: Sektionen steuern ihre Abstände selbst */
.wp-block-post-content > * { margin-block: 0; }
main.wp-block-group { margin: 0; }

/* Kein Block-Gap um Template-Parts — behebt den hellen Streifen vor dem Footer */
.wp-site-blocks > * { margin-block: 0 !important; }
.wp-block-template-part { margin-block: 0 !important; }

/* Sticky Header unter der Admin-Bar */
.admin-bar .header { top: 32px; }
@media (max-width: 782px) { .admin-bar .header { top: 46px; } }

/* Hervorgehobene Angebots-Karte (KI = Hauptfokus) */
.offer--featured {
  border-color: var(--accent) !important;
  background: linear-gradient(160deg, rgba(61,123,255,0.10), rgba(61,123,255,0.02)), var(--panel);
  box-shadow: 0 24px 80px -30px var(--accent-glow);
  position: relative;
}
.offer--featured .offer__tag { color: var(--accent-bright); }
.offer__badge {
  position: absolute; top: 18px; right: 18px;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700;
  color: #fff; background: var(--accent);
  padding: 5px 12px; border-radius: 999px;
}

/* Referenz-Karten: Kundenwebsites im Betrieb */
.client-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-6);
  margin-top: var(--s-7);
}
@media (max-width: 980px) { .client-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .client-grid { grid-template-columns: 1fr; } }
.client-card {
  display: block; border: 1px solid var(--line); background: var(--panel);
  transition: border-color var(--ease) 240ms, transform var(--ease) 240ms;
}
.client-card:hover { border-color: var(--line-2); transform: translateY(-3px); }
.client-card__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--panel-2); border-bottom: 1px solid var(--line); }
.client-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 600ms var(--ease); }
.client-card:hover .client-card__media img { transform: scale(1.03); }
.client-card__body { padding: var(--s-5); }
.client-card__name { font-family: var(--f-display); font-weight: 700; font-size: 18px; }
.client-card__meta { margin-top: 6px; }
.client-card__link {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: var(--s-4); font-size: 14px; font-weight: 600; color: var(--accent-bright);
}
.client-card__link svg { width: 15px; height: 15px; }

/* Kompakte Stationsliste (Über mich) */
.cv-compact { border-top: 1px solid var(--line); }
.cv-compact__row {
  display: grid; grid-template-columns: 160px 1fr; gap: var(--s-5);
  padding: var(--s-5) 0; border-bottom: 1px solid var(--line);
}
@media (max-width: 640px) { .cv-compact__row { grid-template-columns: 1fr; gap: var(--s-2); } }
.cv-compact__role { color: var(--ink-2); font-weight: 400; }
.cv-compact__desc { margin-top: 4px; color: var(--muted); font-size: 15px; }

/* Rechtstexte (Impressum / Datenschutz) */
.legal-prose { max-width: 760px; }
.legal-prose h2 { font-family: var(--f-display); font-weight: 700; font-size: clamp(20px, 1.8vw, 26px); margin: var(--s-7) 0 var(--s-3); }
.legal-prose h3 { font-family: var(--f-display); font-weight: 600; font-size: 18px; margin: var(--s-5) 0 var(--s-2); }
.legal-prose p, .legal-prose li { color: var(--ink-2); }
.legal-prose a { color: var(--accent-bright); }

/* Formular (Forminator) im dunklen Design */
.contact-form-wrap { margin-top: var(--s-6); }
.contact-form-wrap .forminator-input,
.contact-form-wrap .forminator-textarea,
.contact-form-wrap input[type="text"],
.contact-form-wrap input[type="email"],
.contact-form-wrap textarea {
  background: var(--panel) !important; color: var(--ink) !important;
  border: 1px solid var(--line-2) !important; border-radius: 10px !important;
  padding: 14px 16px !important; font-family: var(--f-sans) !important; font-size: 15px !important;
  width: 100%;
}
.contact-form-wrap .forminator-label { color: var(--ink-2) !important; font-size: 14px !important; }
.contact-form-wrap .forminator-button-submit,
.contact-form-wrap button[type="submit"] {
  background: var(--accent) !important; color: #fff !important;
  border-radius: 999px !important; border: none !important;
  padding: 15px 26px !important; font-weight: 600 !important; font-size: 15px !important;
  cursor: pointer;
}
.contact-form-wrap .forminator-button-submit:hover { background: var(--accent-bright) !important; }

/* KI-Praxisbeispiel-Karten */
.ai-cases { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-6); margin-top: var(--s-7); }
@media (max-width: 860px) { .ai-cases { grid-template-columns: 1fr; } }
.ai-case { border: 1px solid var(--line); background: var(--panel); padding: var(--s-6); }
.ai-case__tag { color: var(--accent-bright); }
.ai-case__title { font-family: var(--f-display); font-weight: 700; font-size: clamp(19px, 1.6vw, 23px); margin: var(--s-3) 0; }
.ai-case__desc { color: var(--ink-2); }
.ai-case__result { margin-top: var(--s-4); font-family: var(--f-mono); font-size: 13px; color: var(--accent-bright); }
