/**
 * VDB Design & Conversion Layer 4.4.3
 * Größenbenchmark Desktop: Kersting/Schreurs ca. 40–41 px H1;
 * Objektkarten typischerweise ca. 255–305 px breit.
 */

:root {
  --vdb-navy: #102f40;
  --vdb-navy-2: #183f52;
  --vdb-gold: #b98634;
  --vdb-gold-dark: #8a601f;
  --vdb-cream: #f7f1e7;
  --vdb-paper: #fffdf9;
  --vdb-ink: #1d2d36;
  --vdb-muted: #61717a;
  --vdb-line: rgba(16, 47, 64, .14);
  --vdb-shadow: 0 14px 40px rgba(16, 47, 64, .08);
}

/* Theme-Header nach Entfernung der alten bildschirmfüllenden Grafik. */
body.kmk-v441-design .site-header,
body.kmk-v441-design .custom-header {
  height: auto !important;
  min-height: 0 !important;
  background: #fff !important;
}

body.kmk-v441-design .custom-header-media {
  display: none !important;
}

body.kmk-v441-design .site-branding {
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  padding: 12px 0 10px !important;
  background: #fff !important;
}

body.kmk-v441-design .site-branding .wrap {
  display: flex;
  align-items: center;
  min-height: 62px;
}

/* Das Bildlogo ersetzt den im Theme zusätzlich ausgegebenen weißen Texttitel. */
body.kmk-v441-design .site-branding .site-title,
body.kmk-v441-design .site-branding .site-description {
  display: none !important;
}

/* Theme-Abstände dürfen zwischen Navigation und Plugin-Seite keinen Leerraum bilden. */
body.kmk-v441-design .site-content,
body.kmk-v441-design #content {
  padding-top: 0 !important;
}

body.kmk-v441-design .custom-logo-link {
  display: inline-flex !important;
  align-items: center;
  padding: 0 !important;
}

body.kmk-v441-design .custom-logo-link img.custom-logo {
  width: min(310px, 68vw) !important;
  max-width: 310px !important;
  height: auto !important;
  max-height: 62px !important;
  object-fit: contain !important;
}

body.kmk-v441-design .navigation-top {
  position: relative !important;
  inset: auto !important;
  border-top: 1px solid var(--vdb-line) !important;
  border-bottom: 1px solid var(--vdb-line) !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 6px 20px rgba(16, 47, 64, .04) !important;
}

body.kmk-v441-design .navigation-top.site-navigation-fixed {
  position: fixed !important;
  top: 0 !important;
}

body.kmk-v441-design .main-navigation a {
  color: var(--vdb-navy) !important;
}

/* Ruhige, konkurrenzfähige Typografie statt übergroßer Überschriften. */
body.kmk-v441-design .kmk-page h1,
body.kmk-v441-design .entry-title,
body.kmk-v441-design .page-title,
body.kmk-v441-design h1.entry-title,
body.kmk-v441-design.vdbwi-standalone h1 {
  max-width: 900px !important;
  font-size: clamp(2rem, 3vw, 2.625rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -.022em !important;
  text-wrap: balance;
}

body.kmk-v441-design .kmk-page h2,
body.kmk-v441-design .entry-content h2 {
  font-size: clamp(1.55rem, 2.4vw, 2.15rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -.018em !important;
  text-wrap: balance;
}

body.kmk-v441-design .kmk-page h3,
body.kmk-v441-design .entry-content h3 {
  font-size: clamp(1.08rem, 1.5vw, 1.3rem) !important;
  line-height: 1.3 !important;
}

body.kmk-v441-design .kmk-shell {
  width: min(1280px, calc(100% - 40px)) !important;
}

body.kmk-v441-design .kmk-section {
  padding-top: clamp(36px, 5vw, 62px) !important;
  padding-bottom: clamp(36px, 5vw, 62px) !important;
}

/* Kompakter Startseiten-Hero: H1, Nutzen, CTA und Belege im ersten Bildschirm. */
body.kmk-v441-design .kmk-hero {
  padding: clamp(30px, 4vw, 50px) 0 clamp(24px, 3vw, 36px) !important;
}

body.kmk-v441-design .kmk-page .kmk-hero-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .72fr) !important;
  gap: clamp(24px, 3.5vw, 46px) !important;
  align-items: center !important;
}

body.kmk-v441-design .kmk-hero-copy > p:not(.kmk-kicker):not(.kmk-lead) {
  margin-block: 10px !important;
  font-size: .98rem;
  line-height: 1.55;
}

body.kmk-v441-design .kmk-lead {
  margin-bottom: 12px !important;
  font-size: clamp(1.03rem, 1.6vw, 1.17rem) !important;
}

body.kmk-v441-design .kmk-actions {
  margin-top: 18px !important;
}

body.kmk-v441-design .kmk-page .kmk-hero-media {
  width: 100% !important;
  max-width: 470px !important;
  justify-self: end;
  border-radius: 20px !important;
  box-shadow: var(--vdb-shadow) !important;
}

body.kmk-v441-design .kmk-page .kmk-hero-media > a,
body.kmk-v441-design .kmk-page .kmk-hero-media img {
  aspect-ratio: 3 / 2 !important;
  max-height: 310px !important;
}

body.kmk-v441-design .kmk-page .kmk-hero-trust {
  margin-top: 20px !important;
  gap: 10px !important;
}

body.kmk-v441-design .kmk-page .kmk-hero-trust .kmk-trust {
  min-height: 94px !important;
  padding: 13px 15px !important;
  border-radius: 14px !important;
}

body.kmk-v441-design .kmk-hero-counter-note {
  margin-top: 7px !important;
}

/* Einheitliche, leicht entsättigte Bildsprache in Navy/Gold-Nähe. */
body.kmk-v441-design .kmk-hero-media img,
body.kmk-v441-design .kmk-media-card img,
body.kmk-v441-design .kmk-project-image img,
body.kmk-v441-design .kmk-reference-card img,
body.kmk-v441-design .kmk-reference-carousel-shell img,
body.kmk-v441-design .kmk-editorial-content img {
  filter: saturate(.7) contrast(.96) brightness(.98) sepia(.045);
}

body.kmk-v441-design img[src*="ChatGPT-Image"] {
  filter: grayscale(.16) saturate(.46) contrast(.94) brightness(.98) sepia(.12) hue-rotate(-8deg) !important;
}

body.kmk-v441-design img[src*="leitfaden-immobilienverkauf"],
body.kmk-v441-design img[src*="immobilienmakler-krefeld.jpg"] {
  filter: grayscale(.12) saturate(.54) contrast(.95) brightness(.98) sepia(.09) hue-rotate(-6deg) !important;
}

/* Grafische Werbemotive bleiben sichtbar, dominieren die Textspalte aber nicht. */
body.kmk-v441-design .kmk-two-col > .kmk-media-card {
  width: min(100%, 520px) !important;
  max-width: 520px !important;
  justify-self: center !important;
}

body.kmk-v441-design .kmk-two-col > .kmk-media-card img {
  width: 100% !important;
  aspect-ratio: 3 / 2 !important;
  max-height: 347px !important;
  object-fit: cover !important;
}

body.kmk-v441-design .kmk-offer-card img,
body.kmk-v441-design .kmk-is24-card img {
  filter: saturate(.88) contrast(.98);
}

/* Referenzen: ähnliche Kartengröße wie die gut gerankten lokalen Wettbewerber. */
body.kmk-v441-design .kmk-references-page .kmk-references-hero-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(310px, .65fr) !important;
  gap: clamp(26px, 4vw, 52px) !important;
}

body.kmk-v441-design .kmk-references-page .kmk-references-proof {
  padding: 22px !important;
  border-radius: 20px !important;
}

body.kmk-v441-design .kmk-references-proof-grid > div {
  min-height: 96px !important;
  padding: 14px !important;
}

body.kmk-v441-design .kmk-reference-carousel-shell {
  max-width: 940px;
  margin-inline: auto;
  padding: 14px !important;
  border-radius: 18px !important;
}

body.kmk-v441-design .kmk-reference-carousel-shell img {
  width: 100% !important;
  max-height: 250px !important;
  object-fit: cover !important;
}

/*
 * Kontrast- und Rasterkorrektur: ältere Dark-Section-Regeln färbten H3 in
 * weißen Prozesskarten weiß. Die globale 5-Spalten-Regel überschieb zudem
 * absichtlich drei- bzw. vierspaltige Abläufe.
 */
body.kmk-v441-design .kmk-page .kmk-step {
  height: auto !important;
  min-height: 0 !important;
  padding: 22px !important;
  background: #fff !important;
  color: var(--vdb-ink) !important;
}

body.kmk-v441-design .kmk-page .kmk-step h3 {
  margin: 0 0 9px !important;
  color: var(--vdb-navy) !important;
}

body.kmk-v441-design .kmk-page .kmk-step p,
body.kmk-v441-design .kmk-page .kmk-step li {
  color: var(--vdb-muted) !important;
}

body.kmk-v441-design .kmk-page .kmk-step-no {
  margin-bottom: 16px !important;
  color: var(--vdb-gold-dark) !important;
  opacity: .72 !important;
}

body.kmk-v441-design .kmk-page .kmk-bewertung-process {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.kmk-v441-design .kmk-page .kmk-ankauf-process {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.kmk-v441-design .kmk-seller-form-note {
  color: var(--vdb-muted) !important;
}

body.kmk-v441-design .kmk-reference-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

body.kmk-v441-design .kmk-reference-card {
  border-radius: 16px !important;
  box-shadow: 0 9px 24px rgba(16, 47, 64, .055) !important;
}

body.kmk-v441-design .kmk-reference-card-media {
  aspect-ratio: 3 / 2 !important;
}

body.kmk-v441-design .kmk-reference-card-body {
  padding: 15px !important;
}

body.kmk-v441-design .kmk-reference-card h3 {
  font-size: .98rem !important;
  line-height: 1.35 !important;
}

body.kmk-v441-design .kmk-reference-status {
  left: 10px !important;
  bottom: 10px !important;
  padding: 5px 8px !important;
}

/* Konkrete Krefelder Verkaufsfälle. */
.kmk-local-cases {
  background: linear-gradient(135deg, #fffdf9 0%, #f7f1e7 100%);
}

.kmk-local-case-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.kmk-local-case-grid article {
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(185, 134, 52, .24);
  border-radius: 17px;
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 10px 28px rgba(16, 47, 64, .045);
}

.kmk-local-case-grid article > span {
  display: block;
  margin-bottom: 9px;
  color: var(--vdb-gold-dark);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.kmk-local-case-grid h3 {
  margin-bottom: 9px !important;
  color: var(--vdb-navy) !important;
}

.kmk-local-case-grid p {
  margin: 0;
  color: var(--vdb-muted);
}

.kmk-local-case-link {
  margin: 20px 0 0;
}

/* Verkäuferformular. */
.kmk-seller-form-wrap {
  width: 100%;
}

.kmk-seller-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.kmk-seller-form-grid label,
.kmk-seller-consent {
  min-width: 0;
}

.kmk-seller-form-grid label > span {
  display: block;
  margin-bottom: 5px;
  color: var(--vdb-navy);
  font-size: .82rem;
  font-weight: 800;
}

.kmk-seller-form-grid .is-wide {
  grid-column: 1 / -1;
}

.kmk-seller-form input[type="text"],
.kmk-seller-form input[type="email"],
.kmk-seller-form input[type="tel"],
.kmk-seller-form select,
.kmk-seller-form textarea {
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid rgba(16, 47, 64, .22);
  border-radius: 9px;
  background: #fff;
  color: var(--vdb-ink);
  font: inherit;
  font-size: .94rem;
}

.kmk-seller-form textarea {
  min-height: 112px;
  resize: vertical;
}

.kmk-seller-form input:focus,
.kmk-seller-form select:focus,
.kmk-seller-form textarea:focus {
  border-color: var(--vdb-gold);
  outline: 3px solid rgba(185, 134, 52, .16);
}

.kmk-seller-consent {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 9px;
  align-items: start;
  margin: 14px 0;
  color: var(--vdb-muted);
  font-size: .78rem;
  line-height: 1.45;
}

.kmk-seller-consent input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
}

.kmk-seller-submit {
  width: 100%;
  min-height: 49px;
  padding: 12px 18px;
  border: 0;
  border-radius: 999px;
  background: var(--vdb-navy);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.kmk-seller-submit:hover,
.kmk-seller-submit:focus {
  background: var(--vdb-navy-2);
}

.kmk-seller-form-note {
  margin: 9px 0 0;
  color: var(--vdb-muted);
  font-size: .75rem;
  text-align: center;
}

.kmk-seller-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.kmk-seller-notice {
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: .9rem;
}

.kmk-seller-notice.is-success {
  border: 1px solid #80a58b;
  background: #edf7f0;
  color: #245b35;
}

.kmk-seller-notice.is-error {
  border: 1px solid #c89191;
  background: #fff1f1;
  color: #7c2828;
}

/* Erbschaftsartikel: aus unstrukturierter Altseite wird ein lesbarer Ratgeber. */
body.kmk-v441-estate-article .site-content {
  padding: 0 !important;
  background: var(--vdb-paper);
}

body.kmk-v441-estate-article .site-content > .wrap,
body.kmk-v441-estate-article #primary,
body.kmk-v441-estate-article article,
body.kmk-v441-estate-article .entry-content {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

body.kmk-v441-estate-article .entry-header {
  width: min(920px, calc(100% - 40px));
  margin: 0 auto !important;
  padding: 42px 0 18px !important;
}

body.kmk-v441-estate-article .entry-meta {
  color: var(--vdb-gold-dark);
}

.kmk-editorial-page {
  width: 100%;
  padding: 0 0 64px;
  color: var(--vdb-ink);
  font-family: Arial, Helvetica, sans-serif;
}

.kmk-editorial-shell {
  width: min(920px, calc(100% - 40px));
  margin-inline: auto;
}

.kmk-editorial-intro {
  margin-bottom: 20px;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid rgba(185, 134, 52, .25);
  border-radius: 20px;
  background: linear-gradient(135deg, #fbf8f1 0%, #f1e6d5 100%);
}

.kmk-editorial-kicker {
  margin: 0 0 9px !important;
  color: var(--vdb-gold-dark);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.kmk-editorial-lead {
  margin: 0;
  color: var(--vdb-navy);
  font-size: clamp(1.05rem, 1.7vw, 1.22rem);
  line-height: 1.55;
}

.kmk-editorial-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.kmk-editorial-actions a {
  display: inline-flex;
  min-height: 45px;
  align-items: center;
  padding: 10px 16px;
  border: 1px solid var(--vdb-navy);
  border-radius: 999px;
  background: var(--vdb-navy);
  color: #fff !important;
  font-weight: 800;
  text-decoration: none !important;
}

.kmk-editorial-actions a + a {
  background: transparent;
  color: var(--vdb-navy) !important;
}

.kmk-editorial-toc {
  margin: 0 0 28px;
  padding: 18px;
  border: 1px solid var(--vdb-line);
  border-radius: 15px;
  background: #fff;
}

.kmk-editorial-toc > strong {
  color: var(--vdb-navy);
}

.kmk-editorial-toc > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.kmk-editorial-toc a {
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--vdb-cream);
  color: var(--vdb-navy) !important;
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none !important;
}

.kmk-editorial-content {
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--vdb-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(16, 47, 64, .05);
}

.kmk-editorial-content h2 {
  margin: 38px 0 14px !important;
  padding-top: 6px;
  color: var(--vdb-navy);
}

.kmk-editorial-content h2:first-child {
  margin-top: 0 !important;
}

.kmk-editorial-content p,
.kmk-editorial-content li {
  font-size: 1rem;
  line-height: 1.72;
}

.kmk-editorial-content ul,
.kmk-editorial-content ol {
  padding-left: 1.25rem;
}

.kmk-editorial-contact {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(360px, 1.2fr);
  gap: 28px;
  margin-top: 28px;
  padding: clamp(24px, 4vw, 38px);
  border-radius: 20px;
  background: var(--vdb-navy);
  color: #fff;
}

.kmk-editorial-contact h2,
.kmk-editorial-contact p {
  color: #fff !important;
}

.kmk-editorial-contact .kmk-seller-form-wrap {
  padding: 20px;
  border-radius: 15px;
  background: #fff;
}

/* Eigenständige, quellenklare Bewertungsseite. */
.kmk-reviews-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .55fr);
  gap: 34px;
  align-items: center;
}

.kmk-reviews-source-card,
.kmk-reviews-empty {
  padding: 24px;
  border: 1px solid rgba(185, 134, 52, .28);
  border-radius: 18px;
  background: rgba(255, 255, 255, .82);
  box-shadow: var(--vdb-shadow);
}

.kmk-reviews-source-card strong {
  display: block;
  margin-bottom: 7px;
  color: var(--vdb-navy);
  font-size: 1.15rem;
}

.kmk-verified-review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.kmk-verified-review-grid article {
  padding: 22px;
  border: 1px solid var(--vdb-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 9px 24px rgba(16, 47, 64, .05);
}

.kmk-verified-review-grid blockquote {
  margin: 13px 0 18px;
  color: var(--vdb-ink);
  font-size: 1.02rem;
  line-height: 1.6;
}

.kmk-verified-review-grid footer {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  align-items: center;
  color: var(--vdb-muted);
  font-size: .8rem;
}

.kmk-verified-review-grid footer strong {
  color: var(--vdb-navy);
}

.kmk-verified-review-grid footer em {
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--vdb-cream);
  color: var(--vdb-gold-dark);
  font-style: normal;
}

@media (max-width: 1100px) {
  body.kmk-v441-design .kmk-reference-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.kmk-v441-design .kmk-page .kmk-hero-grid,
  body.kmk-v441-design .kmk-references-page .kmk-references-hero-grid,
  .kmk-reviews-hero-grid,
  .kmk-editorial-contact {
    grid-template-columns: 1fr !important;
  }

  body.kmk-v441-design .kmk-page .kmk-hero-media {
    max-width: 620px !important;
    justify-self: start;
  }

  body.kmk-v441-design .kmk-reference-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.kmk-v441-design .kmk-page .kmk-bewertung-process,
  body.kmk-v441-design .kmk-page .kmk-ankauf-process {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body.kmk-v441-design .site-branding {
    padding: 9px 0 !important;
  }

  body.kmk-v441-design .site-branding .wrap {
    min-height: 48px;
  }

  body.kmk-v441-design .custom-logo-link img.custom-logo {
    max-height: 48px !important;
  }

  body.kmk-v441-design .kmk-shell,
  .kmk-editorial-shell,
  body.kmk-v441-estate-article .entry-header {
    width: calc(100% - 24px) !important;
  }

  body.kmk-v441-design .kmk-page h1,
  body.kmk-v441-design .entry-title,
  body.kmk-v441-design .page-title,
  body.kmk-v441-design.vdbwi-standalone h1 {
    font-size: clamp(1.9rem, 9vw, 2.25rem) !important;
  }

  body.kmk-v441-design .kmk-page h2,
  body.kmk-v441-design .entry-content h2 {
    font-size: clamp(1.45rem, 7vw, 1.85rem) !important;
  }

  body.kmk-v441-design .kmk-page .kmk-hero-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.kmk-v441-design .kmk-page .kmk-hero-trust .kmk-trust {
    min-height: 82px !important;
  }

  body.kmk-v441-design .kmk-reference-grid,
  body.kmk-v441-design .kmk-page .kmk-bewertung-process,
  body.kmk-v441-design .kmk-page .kmk-ankauf-process,
  .kmk-local-case-grid,
  .kmk-seller-form-grid,
  .kmk-verified-review-grid {
    grid-template-columns: 1fr !important;
  }

  .kmk-seller-form-grid .is-wide {
    grid-column: auto;
  }

  .kmk-editorial-content,
  .kmk-editorial-intro,
  .kmk-editorial-contact {
    padding: 20px;
  }

  .kmk-editorial-actions a {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.kmk-v441-design *,
  body.kmk-v441-design *::before,
  body.kmk-v441-design *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
