/* =========================================================
   Immobilienmakler Krefeld – responsive WordPress Landingpage
   Alles unter .kmk-page gekapselt, um Theme-Konflikte zu minimieren.
   ========================================================= */

.kmk-page {
  --kmk-navy: #102f40;
  --kmk-navy-2: #173f52;
  --kmk-gold: #b98634;
  --kmk-gold-dark: #94671f;
  --kmk-cream: #f7f1e7;
  --kmk-cream-2: #fbf8f2;
  --kmk-ink: #1d2d36;
  --kmk-muted: #61717a;
  --kmk-line: rgba(16, 47, 64, .14);
  --kmk-white: #ffffff;
  --kmk-shadow: 0 22px 60px rgba(16, 47, 64, .10);
  --kmk-radius: 26px;
  --kmk-radius-sm: 18px;
  color: var(--kmk-ink);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.65;
  font-size: 17px;
  overflow: visible;
}

.kmk-page,
.kmk-page *,
.kmk-page *::before,
.kmk-page *::after {
  box-sizing: border-box;
}

.kmk-page img {
  display: block;
  max-width: 100%;
  height: auto;
}

.kmk-page a {
  color: var(--kmk-navy);
  text-underline-offset: 3px;
}

.kmk-page p {
  margin: 0 0 1.1rem;
}

.kmk-page h1,
.kmk-page h2,
.kmk-page h3 {
  color: var(--kmk-navy);
  margin-top: 0;
  line-height: 1.08;
  text-wrap: balance;
}

.kmk-page h1,
.kmk-page h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
}

.kmk-page h1 {
  font-size: clamp(3rem, 4vw, 4.25rem);
  line-height: 1.02;
  letter-spacing: -0.025em;
  max-width: 780px;
  margin-bottom: 1.35rem;
}

.kmk-page h2 {
  font-size: clamp(2rem, 3.5vw, 3.6rem);
  letter-spacing: -.025em;
  margin-bottom: 1.1rem;
}

.kmk-page h3 {
  font-size: 1.18rem;
  font-weight: 750;
  margin-bottom: .6rem;
}

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

.kmk-breakout {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.kmk-section {
  padding: clamp(70px, 8vw, 120px) 0;
}

.kmk-section-soft {
  background: var(--kmk-cream);
}

.kmk-section-dark {
  background:
    radial-gradient(circle at 85% 20%, rgba(185,134,52,.22), transparent 28rem),
    linear-gradient(135deg, var(--kmk-navy), #0c2838);
  color: rgba(255,255,255,.86);
}

.kmk-section-dark h2,
.kmk-section-dark h3,
.kmk-section-dark a {
  color: #fff;
}

.kmk-section-head {
  max-width: 900px;
  margin-bottom: clamp(32px, 5vw, 58px);
}

.kmk-section-head-light {
  color: rgba(255,255,255,.82);
}

.kmk-section-head-light h2 {
  color: #fff;
}

.kmk-intro {
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  color: var(--kmk-muted);
  max-width: 820px;
}

.kmk-section-dark .kmk-intro {
  color: rgba(255,255,255,.78);
}

.kmk-kicker,
.kmk-eyebrow {
  margin: 0 0 14px !important;
  color: var(--kmk-gold-dark);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.kmk-section-dark .kmk-eyebrow,
.kmk-contact .kmk-eyebrow {
  color: #d5aa62;
}

/* HERO */
.kmk-hero {
  background:
    radial-gradient(circle at 88% 20%, rgba(185,134,52,.14), transparent 24rem),
    linear-gradient(135deg, #fbf8f1 0%, #f2e8d8 100%);
  padding: clamp(70px, 8vw, 118px) 0 55px;
  position: relative;
}

.kmk-hero::after {
  content: "";
  position: absolute;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(185,134,52,.22);
  border-radius: 50%;
  right: -180px;
  bottom: -210px;
  pointer-events: none;
}

.kmk-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: clamp(38px, 6vw, 80px);
  align-items: center;
}

.kmk-lead {
  font-size: clamp(1.13rem, 1.65vw, 1.35rem);
  line-height: 1.55;
  color: #394b55;
}

.kmk-hero-copy > p:not(.kmk-kicker):not(.kmk-lead) {
  max-width: 760px;
}

.kmk-hero-media {
  margin: 0;
  position: relative;
}

.kmk-hero-media a {
  display: block;
  overflow: hidden;
  border-radius: 34px;
  box-shadow: var(--kmk-shadow);
  border: 1px solid rgba(185,134,52,.36);
}

.kmk-hero-media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  transition: transform .45s ease;
}

.kmk-hero-media a:hover img {
  transform: scale(1.02);
}

.kmk-hero-media figcaption {
  margin: 14px 6px 0;
  color: var(--kmk-muted);
  font-size: .86rem;
}

.kmk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 26px;
}

.kmk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 22px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.kmk-btn:hover {
  transform: translateY(-2px);
}

.kmk-btn-primary {
  background: var(--kmk-navy);
  color: #fff !important;
  box-shadow: 0 10px 26px rgba(16,47,64,.18);
}

.kmk-btn-primary:hover {
  background: var(--kmk-navy-2);
}

.kmk-btn-secondary {
  border: 1px solid rgba(16,47,64,.28);
  color: var(--kmk-navy) !important;
  background: rgba(255,255,255,.55);
}

.kmk-text-link {
  font-weight: 750;
}

.kmk-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 34px;
}

.kmk-trust {
  background: rgba(255,255,255,.6);
  border: 1px solid rgba(185,134,52,.24);
  border-radius: 16px;
  padding: 18px;
}

.kmk-trust strong,
.kmk-trust span {
  display: block;
}

.kmk-trust strong {
  color: var(--kmk-navy);
  font-size: 1rem;
  line-height: 1.25;
}

.kmk-trust span {
  margin-top: 4px;
  color: var(--kmk-muted);
  font-size: .82rem;
  line-height: 1.35;
}

/* JUMPNAV */
.kmk-jumpnav {
  background: var(--kmk-navy);
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.08);
}

.kmk-jumpnav-inner {
  min-height: 60px;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.kmk-jumpnav a {
  flex: 0 0 auto;
  color: #fff;
  font-size: .88rem;
  font-weight: 750;
  text-decoration: none;
  padding: 10px 14px;
  border-radius: 999px;
}

.kmk-jumpnav a:hover,
.kmk-jumpnav a:focus-visible {
  background: rgba(255,255,255,.1);
}

/* PROCESS */
.kmk-process {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.kmk-step {
  position: relative;
  border: 1px solid var(--kmk-line);
  border-radius: var(--kmk-radius-sm);
  padding: 28px 22px 24px;
  background: #fff;
  min-height: 235px;
}

.kmk-step-no {
  display: inline-block;
  color: var(--kmk-gold-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.7rem;
  margin-bottom: 30px;
}

.kmk-step p {
  margin: 0;
  color: var(--kmk-muted);
  font-size: .95rem;
}

/* TWO COLUMN */
.kmk-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  gap: clamp(40px, 7vw, 90px);
  align-items: center;
}

.kmk-two-col-reverse {
  grid-template-columns: minmax(360px, .96fr) minmax(0, 1.04fr);
}

.kmk-media-card {
  margin: 0;
}

.kmk-media-card a {
  display: block;
  border-radius: var(--kmk-radius);
  overflow: hidden;
  box-shadow: var(--kmk-shadow);
}

.kmk-media-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.kmk-checklist {
  list-style: none !important;
  margin: 28px 0 !important;
  padding: 0 !important;
  display: grid;
  gap: 12px;
}

.kmk-checklist li {
  position: relative;
  padding: 13px 14px 13px 44px;
  background: rgba(255,255,255,.64);
  border: 1px solid rgba(16,47,64,.08);
  border-radius: 14px;
}

.kmk-checklist li::before {
  content: "✓";
  position: absolute;
  left: 15px;
  top: 12px;
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--kmk-gold);
  color: #fff;
  font-weight: 900;
  font-size: .72rem;
}

.kmk-inline-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding-top: 4px;
}

.kmk-inline-cta a {
  font-weight: 750;
}

/* FEATURE */
.kmk-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: clamp(36px, 6vw, 78px);
  align-items: start;
}

.kmk-info-panel {
  border-radius: var(--kmk-radius);
  padding: 30px;
  background: var(--kmk-navy);
  color: rgba(255,255,255,.84);
  box-shadow: var(--kmk-shadow);
}

.kmk-info-panel h3 {
  color: #fff;
  font-size: 1.35rem;
}

.kmk-info-panel ul {
  margin: 18px 0 0;
  padding-left: 1.15rem;
}

.kmk-info-panel li + li {
  margin-top: 9px;
}

/* DISTRICTS */
.kmk-districts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.kmk-districts span {
  display: flex;
  align-items: center;
  min-height: 62px;
  padding: 14px 18px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  border-radius: 16px;
  color: #fff;
  font-weight: 750;
}

.kmk-districts span::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--kmk-gold);
  border-radius: 50%;
  margin-right: 12px;
  flex: 0 0 auto;
}

/* SERVICES */
.kmk-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.kmk-service {
  border: 1px solid var(--kmk-line);
  border-radius: 20px;
  padding: 26px;
  background: #fff;
}

.kmk-service h3 {
  margin-bottom: 12px;
}

.kmk-service p {
  margin: 0;
  color: var(--kmk-muted);
}

/* SPLIT CTA CARDS */
.kmk-split-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.kmk-card {
  border: 1px solid var(--kmk-line);
  border-radius: var(--kmk-radius);
  padding: clamp(28px, 4vw, 46px);
  background: #fff;
}

.kmk-card-accent {
  background: var(--kmk-cream);
  border-color: rgba(185,134,52,.28);
}

.kmk-card h2 {
  font-size: clamp(1.8rem, 2.6vw, 2.7rem);
}

/* FAQ */
.kmk-faq {
  padding-top: 35px;
}

.kmk-faq-list {
  display: grid;
  gap: 12px;
  max-width: 960px;
}

.kmk-faq details {
  border: 1px solid var(--kmk-line);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.kmk-faq summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  padding: 20px 54px 20px 22px;
  color: var(--kmk-navy);
  font-weight: 800;
}

.kmk-faq summary::-webkit-details-marker {
  display: none;
}

.kmk-faq summary::after {
  content: "+";
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--kmk-gold-dark);
  font-size: 1.6rem;
  font-weight: 400;
}

.kmk-faq details[open] summary::after {
  content: "–";
}

.kmk-faq details > div {
  padding: 0 22px 18px;
  color: var(--kmk-muted);
}

.kmk-faq details > div p:last-child {
  margin-bottom: 0;
}

/* CONTACT */
.kmk-contact {
  padding: clamp(70px, 8vw, 115px) 0;
  background:
    radial-gradient(circle at 75% 20%, rgba(185,134,52,.24), transparent 25rem),
    var(--kmk-navy);
  color: rgba(255,255,255,.84);
}

.kmk-contact h2,
.kmk-contact h3 {
  color: #fff;
}

.kmk-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr);
  gap: clamp(38px, 7vw, 90px);
  align-items: start;
}

.kmk-contact-lead {
  font-size: 1.15rem;
}

.kmk-phone {
  display: inline-flex;
  flex-direction: column;
  gap: 1px;
  margin-top: 20px;
  padding: 15px 20px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  color: #fff !important;
  text-decoration: none;
}

.kmk-phone span {
  font-size: .76rem;
  color: rgba(255,255,255,.66);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 750;
}

.kmk-phone strong {
  font-size: 1.24rem;
}

.kmk-form-card {
  padding: clamp(24px, 4vw, 40px);
  background: #fff;
  border-radius: var(--kmk-radius);
  color: var(--kmk-ink);
  box-shadow: 0 25px 70px rgba(0,0,0,.18);
}

.kmk-form-card h3 {
  color: var(--kmk-navy);
  font-size: 1.5rem;
  margin-bottom: 22px;
}

/* Contact Form 7 */
.kmk-page .wpcf7 {
  margin: 0;
}

.kmk-page .wpcf7 form {
  margin: 0;
}

.kmk-page .wpcf7 p {
  margin: 0 0 16px;
}

.kmk-page .wpcf7 label {
  color: var(--kmk-navy);
  font-size: .9rem;
  font-weight: 750;
}

.kmk-page .wpcf7 input[type="text"],
.kmk-page .wpcf7 input[type="email"],
.kmk-page .wpcf7 input[type="tel"],
.kmk-page .wpcf7 input[type="url"],
.kmk-page .wpcf7 input[type="number"],
.kmk-page .wpcf7 select,
.kmk-page .wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid rgba(16,47,64,.20);
  border-radius: 12px;
  background: #fbfcfc;
  color: var(--kmk-ink);
  font: inherit;
  font-size: .95rem;
  outline: none;
  box-shadow: none;
}

.kmk-page .wpcf7 textarea {
  min-height: 140px;
  resize: vertical;
}

.kmk-page .wpcf7 input:focus,
.kmk-page .wpcf7 select:focus,
.kmk-page .wpcf7 textarea:focus {
  border-color: var(--kmk-gold);
  box-shadow: 0 0 0 3px rgba(185,134,52,.14);
}

.kmk-page .wpcf7 input[type="submit"],
.kmk-page .wpcf7 button[type="submit"] {
  appearance: none;
  border: 0;
  min-height: 52px;
  padding: 14px 24px;
  border-radius: 999px;
  background: var(--kmk-navy);
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}

.kmk-page .wpcf7 input[type="submit"]:hover,
.kmk-page .wpcf7 button[type="submit"]:hover {
  background: var(--kmk-navy-2);
  transform: translateY(-1px);
}

.kmk-page .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 5px;
  font-size: .82rem;
}

.kmk-page .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: .9rem;
}

.kmk-page .wpcf7-list-item {
  margin-left: 0;
}

/* SPONSOR */
.kmk-sponsor {
  padding: 46px 0;
  background: var(--kmk-cream-2);
}

.kmk-sponsor-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.kmk-sponsor h2 {
  font-size: clamp(1.8rem, 2.8vw, 2.8rem);
  margin-bottom: 0;
}

.kmk-sponsor img {
  width: 120px;
  height: auto;
  object-fit: contain;
}

/* ACCESSIBILITY / FOCUS */
.kmk-page a:focus-visible,
.kmk-page summary:focus-visible,
.kmk-page input:focus-visible,
.kmk-page textarea:focus-visible,
.kmk-page select:focus-visible,
.kmk-page button:focus-visible {
  outline: 3px solid rgba(185,134,52,.55);
  outline-offset: 3px;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
  .kmk-hero-grid,
  .kmk-two-col,
  .kmk-two-col-reverse,
  .kmk-feature-grid,
  .kmk-contact-grid {
    grid-template-columns: 1fr;
  }

  .kmk-hero-media {
    max-width: 760px;
  }

  .kmk-hero-media img {
    aspect-ratio: 16 / 10;
  }

  .kmk-process {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .kmk-contact-copy {
    max-width: 820px;
  }
}

@media (max-width: 820px) {
  .kmk-page {
    font-size: 16px;
  }

  .kmk-shell {
    width: min(100% - 28px, 1180px);
  }

  .kmk-trust-grid,
  .kmk-service-grid,
  .kmk-districts,
  .kmk-split-cards {
    grid-template-columns: 1fr 1fr;
  }

  .kmk-process {
    grid-template-columns: 1fr 1fr;
  }

  .kmk-sponsor-inner {
    align-items: flex-start;
  }
}

@media (max-width: 580px) {
  .kmk-page h1 {
    font-size: clamp(2.5rem, 13.5vw, 4rem);
  }

  .kmk-page h2 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .kmk-hero {
    padding-top: 55px;
  }

  .kmk-actions,
  .kmk-inline-cta {
    align-items: stretch;
  }

  .kmk-actions .kmk-btn {
    width: 100%;
  }

  .kmk-trust-grid,
  .kmk-process,
  .kmk-service-grid,
  .kmk-districts,
  .kmk-split-cards {
    grid-template-columns: 1fr;
  }

  .kmk-step {
    min-height: 0;
  }

  .kmk-step-no {
    margin-bottom: 18px;
  }

  .kmk-hero-media img {
    aspect-ratio: 4 / 3;
  }

  .kmk-sponsor-inner {
    flex-direction: column;
  }

  .kmk-sponsor img {
    width: 100px;
  }

  .kmk-form-card {
    padding: 22px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kmk-page *,
  .kmk-page *::before,
  .kmk-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}



/* =========================================================
   Theme-Kompatibilität v1.2
   Kein 100vw-Breakout mehr: dadurch kein horizontales Verrutschen.
   ========================================================= */

html:has(body.kmk-landingpage-active),
body.kmk-landingpage-active {
  overflow-x: clip;
}

/* Typische WordPress-Inhaltscontainer auf dieser einen Seite verbreitern.
   Header, Navigation und Footer werden bewusst nicht angefasst. */
body.kmk-landingpage-active .site-content,
body.kmk-landingpage-active #content,
body.kmk-landingpage-active .content-area,
body.kmk-landingpage-active #primary,
body.kmk-landingpage-active .site-main,
body.kmk-landingpage-active main#main {
  width: 100% !important;
  max-width: none !important;
}

body.kmk-landingpage-active article:has(.kmk-page),
body.kmk-landingpage-active .hentry:has(.kmk-page),
body.kmk-landingpage-active .entry-content:has(.kmk-page),
body.kmk-landingpage-active .post-content:has(.kmk-page),
body.kmk-landingpage-active .page-content:has(.kmk-page) {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.kmk-landingpage-active .entry-content:has(.kmk-page),
body.kmk-landingpage-active .post-content:has(.kmk-page),
body.kmk-landingpage-active .page-content:has(.kmk-page) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.kmk-landingpage-active .kmk-page,
.kmk-plugin-main .kmk-page {
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: visible;
}

.kmk-plugin-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow-x: clip;
}

/* Falls das Theme einen Seitentitel oberhalb des eigentlichen Inhalts ausgibt,
   wird er auf der Shortcode-Landingpage ausgeblendet. */
.kmk-landingpage-active .entry-title,
.kmk-landingpage-active .page-title,
.kmk-landingpage-active .post-title,
.kmk-landingpage-active .edit-link {
  display: none !important;
}

/* Leere Absätze um den Shortcode vermeiden. */
.kmk-landingpage-active .entry-content > p:empty,
.kmk-landingpage-active .post-content > p:empty,
.kmk-landingpage-active .page-content > p:empty {
  display: none;
}

/* Im Plugin-Full-Width-Template wird die Seite garantiert ohne Theme-
   Inhaltsbegrenzung ausgegeben; alle Abschnitte dürfen volle Breite nutzen. */
.kmk-plugin-main .kmk-breakout {
  width: 100%;
  max-width: none;
  margin: 0;
}


/* =========================================================
   v1.3 – Leistungen-Seite
   ========================================================= */

.kmk-services-page .kmk-services-hero {
  background:
    radial-gradient(circle at 85% 18%, rgba(185,134,52,.16), transparent 25rem),
    linear-gradient(135deg, #fbf8f1 0%, #f2e8d8 100%);
}

.kmk-services-page .kmk-services-hero .kmk-hero-media img {
  aspect-ratio: 4 / 4.3;
}

.kmk-service-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kmk-service-tag {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 9px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: var(--kmk-cream);
  color: var(--kmk-gold-dark);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kmk-card-link {
  display: inline-flex;
  margin-top: 10px;
  color: var(--kmk-navy);
  font-size: .9rem;
  font-weight: 800;
}

.kmk-info-panel-light {
  background:
    radial-gradient(circle at 90% 10%, rgba(185,134,52,.16), transparent 18rem),
    #fff;
  color: var(--kmk-ink);
  border: 1px solid rgba(185,134,52,.26);
}

.kmk-info-panel-light h3 {
  color: var(--kmk-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 2.8vw, 2.6rem);
  font-weight: 500;
  line-height: 1.1;
}

.kmk-info-panel-light p {
  color: var(--kmk-muted);
}

.kmk-btn-gold {
  background: var(--kmk-gold);
  color: #fff !important;
}

.kmk-btn-gold:hover {
  background: var(--kmk-gold-dark);
}

.kmk-quality-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.kmk-quality {
  min-height: 235px;
  padding: 25px 22px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--kmk-radius-sm);
  background: rgba(255,255,255,.06);
}

.kmk-quality > span {
  display: block;
  margin-bottom: 28px;
  color: #d5aa62;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.55rem;
}

.kmk-quality h3 {
  color: #fff;
}

.kmk-quality p {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: .92rem;
}

.kmk-process-8 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kmk-process-8 .kmk-step {
  min-height: 220px;
}

@media (max-width: 1100px) {
  .kmk-service-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kmk-quality-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .kmk-process-8 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .kmk-quality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 580px) {
  .kmk-page h1 {
    font-size: clamp(2.35rem, 11vw, 3.15rem);
    line-height: 1.04;
  }

  .kmk-service-grid-4,
  .kmk-quality-grid,
  .kmk-process-8 {
    grid-template-columns: 1fr;
  }

  .kmk-services-page .kmk-services-hero .kmk-hero-media img {
    aspect-ratio: 4 / 3;
  }
}


/* =========================================================
   v1.4 – Hero-Feintuning
   ========================================================= */

@media (min-width: 1101px) {
  .kmk-page .kmk-hero-grid {
    grid-template-columns: minmax(0, 1.03fr) minmax(430px, .97fr);
    gap: clamp(42px, 5vw, 72px);
  }

  .kmk-page .kmk-hero-copy {
    max-width: 735px;
  }

  .kmk-page .kmk-lead {
    max-width: 710px;
    font-size: clamp(1.08rem, 1.35vw, 1.23rem);
    line-height: 1.55;
  }

  .kmk-page .kmk-hero-copy > p:not(.kmk-kicker):not(.kmk-lead) {
    max-width: 705px;
  }

  .kmk-page .kmk-hero-media img {
    min-height: 560px;
    max-height: 680px;
    object-fit: cover;
  }
}

@media (max-width: 1100px) {
  .kmk-page h1 {
    font-size: clamp(2.55rem, 6vw, 3.35rem);
    max-width: 760px;
  }
}

@media (max-width: 580px) {
  .kmk-page h1 {
    font-size: clamp(2.2rem, 10vw, 2.85rem);
    line-height: 1.06;
  }
}


/* =========================================================
   v1.5 – robuste Typografie und Hero-Bild
   ========================================================= */

/* Manche Themes behandeln Zeilenumbrüche im Shortcode-Inhalt wie echte
   Umbrüche. Diese Regeln stellen normales HTML-Fließverhalten sicher. */
.kmk-page p,
.kmk-page li,
.kmk-page h1,
.kmk-page h2,
.kmk-page h3,
.kmk-page strong,
.kmk-page span {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Die H1 bleibt bewusst kompakt und soll den Hero nicht dominieren. */
.kmk-page h1 {
  font-size: clamp(2.65rem, 3.2vw, 3.5rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
  max-width: 720px;
}

/* Hero: Text und Bild oben ausrichten. */
.kmk-page .kmk-hero-grid {
  align-items: start;
}

/* Das Bildformat wird am Container festgelegt, nicht mehr am Bild selbst.
   3:2 entspricht den verwendeten Ausgangsbildern nahezu exakt. */
.kmk-page .kmk-hero-media > a {
  width: 100%;
  aspect-ratio: 3 / 2;
  height: auto;
  overflow: hidden;
  border-radius: 30px;
}

.kmk-page .kmk-hero-media > a > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
}

/* Der Textbereich erhält eine saubere Lesebreite. */
.kmk-page .kmk-hero-copy {
  min-width: 0;
}

.kmk-page .kmk-hero-copy .kmk-lead {
  width: 100% !important;
  max-width: 700px !important;
  line-height: 1.5 !important;
}

.kmk-page .kmk-hero-copy > p:not(.kmk-kicker):not(.kmk-lead) {
  width: 100% !important;
  max-width: 700px !important;
  line-height: 1.62 !important;
}

/* Alte Hero-Höhen aus früheren Versionen neutralisieren. */
@media (min-width: 1101px) {
  .kmk-page .kmk-hero-media img,
  .kmk-services-page .kmk-services-hero .kmk-hero-media img {
    min-height: 0 !important;
    max-height: none !important;
  }

  .kmk-page .kmk-hero-media {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 1100px) {
  .kmk-page .kmk-hero-media {
    width: 100%;
    max-width: 760px;
  }

  .kmk-page .kmk-hero-media > a {
    aspect-ratio: 3 / 2;
  }
}

@media (max-width: 580px) {
  .kmk-page h1 {
    font-size: clamp(2.15rem, 9.5vw, 2.8rem) !important;
    line-height: 1.06 !important;
  }

  .kmk-page .kmk-hero-media > a {
    aspect-ratio: 4 / 3;
    border-radius: 22px;
  }
}


/* =========================================================
   v1.6 – Leistungen: Kartenraster und lange Überschriften
   ========================================================= */

/* Die bisherigen 4 bzw. 5 Spalten waren für lange deutsche
   Immobilienbegriffe zu schmal. Desktop nun bewusst großzügiger. */
.kmk-services-page .kmk-service-grid-4 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.kmk-services-page .kmk-quality-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

/* Karten dürfen ihren Inhalt niemals horizontal herausdrücken. */
.kmk-services-page .kmk-service,
.kmk-services-page .kmk-quality {
  min-width: 0 !important;
  overflow: hidden;
}

/* Überschriften kompakter und mit sauberem Umbruch langer deutscher Wörter. */
.kmk-services-page .kmk-service h3,
.kmk-services-page .kmk-quality h3 {
  max-width: 100%;
  margin: 0 0 14px !important;
  font-size: clamp(1.08rem, 1.25vw, 1.28rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.015em !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto;
}

/* Fließtext in den Karten ruhiger und lesbarer. */
.kmk-services-page .kmk-service p,
.kmk-services-page .kmk-quality p {
  font-size: 1rem !important;
  line-height: 1.55 !important;
  overflow-wrap: break-word !important;
  hyphens: auto;
}

/* Servicekarten etwas kompakter, damit die Zeilenlänge steigt. */
.kmk-services-page .kmk-service {
  padding: 28px 30px !important;
}

.kmk-services-page .kmk-service-tag {
  margin-bottom: 24px !important;
}

/* Qualitätskarten: mehr Platz für Überschrift + Text, weniger künstliche Höhe. */
.kmk-services-page .kmk-quality {
  min-height: 0 !important;
  padding: 28px 30px !important;
}

.kmk-services-page .kmk-quality > span {
  margin-bottom: 34px !important;
}

/* Lange Linktexte bleiben innerhalb der Karte. */
.kmk-services-page .kmk-card-link {
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

/* Breitere Tablets: zwei Spalten. */
@media (max-width: 980px) {
  .kmk-services-page .kmk-service-grid-4,
  .kmk-services-page .kmk-quality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Smartphone: eine Spalte. */
@media (max-width: 620px) {
  .kmk-services-page .kmk-service-grid-4,
  .kmk-services-page .kmk-quality-grid {
    grid-template-columns: 1fr !important;
  }

  .kmk-services-page .kmk-service,
  .kmk-services-page .kmk-quality {
    padding: 24px 22px !important;
  }

  .kmk-services-page .kmk-service h3,
  .kmk-services-page .kmk-quality h3 {
    font-size: 1.12rem !important;
  }
}


/* =========================================================
   v1.7 – Immobilien-Ratgeber / Fachbeiträge
   ========================================================= */

.kmk-ratgeber-hero {
  background:
    radial-gradient(circle at 82% 16%, rgba(185,134,52,.18), transparent 26rem),
    linear-gradient(135deg, #fbf8f1 0%, #f2e8d8 100%);
}

.kmk-ratgeber-hero .kmk-hero-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
}

.kmk-ratgeber-hero-card {
  align-self: stretch;
  min-height: 480px;
  padding: clamp(30px, 4vw, 48px);
  border: 1px solid rgba(185,134,52,.30);
  border-radius: 30px;
  background:
    radial-gradient(circle at 85% 10%, rgba(185,134,52,.13), transparent 18rem),
    rgba(255,255,255,.70);
  box-shadow: var(--kmk-shadow);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.kmk-ratgeber-monogram {
  width: 84px;
  height: 84px;
  margin-bottom: auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid var(--kmk-gold);
  color: var(--kmk-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.5rem;
}

.kmk-ratgeber-hero-card h2 {
  font-size: clamp(2rem, 3vw, 3.1rem);
}

.kmk-ratgeber-hero-card p {
  color: var(--kmk-muted);
}

.kmk-article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kmk-article-card {
  min-width: 0;
  padding: clamp(26px, 3vw, 36px);
  border: 1px solid var(--kmk-line);
  border-radius: 24px;
  background: #fff;
  display: flex;
  flex-direction: column;
}

.kmk-article-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 30px;
}

.kmk-article-no {
  color: var(--kmk-gold-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.4rem;
  line-height: 1;
}

.kmk-article-card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.55rem, 2vw, 2.05rem);
  font-weight: 500;
  line-height: 1.12;
}

.kmk-article-card > p {
  color: var(--kmk-muted);
}

.kmk-article-points {
  list-style: none !important;
  margin: 10px 0 28px !important;
  padding: 0 !important;
  display: grid;
  gap: 9px;
}

.kmk-article-points li {
  position: relative;
  padding-left: 22px;
  font-size: .92rem;
  color: var(--kmk-muted);
}

.kmk-article-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .68em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--kmk-gold);
}

.kmk-article-link {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--kmk-line);
  font-weight: 800;
  text-decoration: none !important;
}

.kmk-article-link::after {
  content: " →";
  color: var(--kmk-gold-dark);
}

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

.kmk-topic {
  min-width: 0;
  padding: 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(16,47,64,.08);
}

.kmk-topic > span {
  display: block;
  margin-bottom: 28px;
  color: var(--kmk-gold-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.4rem;
}

.kmk-topic p {
  margin-bottom: 0;
  color: var(--kmk-muted);
}

.kmk-expertise-card {
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  background: rgba(255,255,255,.07);
}

.kmk-expertise-card h3 {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 2.7vw, 2.8rem);
  font-weight: 500;
}

.kmk-expertise-card p {
  color: rgba(255,255,255,.76);
}

@media (max-width: 1100px) {
  .kmk-ratgeber-hero .kmk-hero-grid {
    grid-template-columns: 1fr;
  }

  .kmk-ratgeber-hero-card {
    min-height: 360px;
  }

  .kmk-article-grid {
    grid-template-columns: 1fr;
  }

  .kmk-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .kmk-ratgeber-hero-card {
    min-height: 320px;
    padding: 26px 22px;
  }

  .kmk-topic-grid {
    grid-template-columns: 1fr;
  }

  .kmk-article-card {
    padding: 24px 22px;
  }
}


/* =========================================================
   v1.8 – Ratgeber-Hero: CTA und Kartenproportionen
   ========================================================= */

/* Der bisherige Textlink wurde vom Theme mit eigener Link-Dekoration
   überlagert. Jetzt ist es ein eigenständiger, vollständig gekapselter Button. */
.kmk-ratgeber-page .kmk-ratgeber-hero-card .kmk-ratgeber-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 50px !important;
  margin-top: 8px !important;
  padding: 13px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--kmk-navy) !important;
  color: #fff !important;
  font-size: .95rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  box-shadow: 0 10px 26px rgba(16,47,64,.18) !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.kmk-ratgeber-page .kmk-ratgeber-hero-card .kmk-ratgeber-cta:hover,
.kmk-ratgeber-page .kmk-ratgeber-hero-card .kmk-ratgeber-cta:focus {
  background: var(--kmk-navy-2) !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* Die rechte Informationskarte wird typografisch etwas ruhiger. */
.kmk-ratgeber-page .kmk-ratgeber-hero-card h2 {
  max-width: 430px;
  font-size: clamp(2rem, 2.6vw, 2.7rem) !important;
  line-height: 1.08 !important;
}

.kmk-ratgeber-page .kmk-ratgeber-hero-card p {
  max-width: 440px;
  line-height: 1.58 !important;
}

@media (max-width: 620px) {
  .kmk-ratgeber-page .kmk-ratgeber-hero-card .kmk-ratgeber-cta {
    width: 100% !important;
    align-self: stretch !important;
  }

  .kmk-ratgeber-page .kmk-ratgeber-hero-card h2 {
    font-size: clamp(1.85rem, 9vw, 2.35rem) !important;
  }
}


/* =========================================================
   v1.9 – Fachbeiträge als WordPress-BEITRAG
   Kein Seitentemplate erforderlich.
   ========================================================= */

/* Wenn der Ratgeber-Shortcode in einem Beitrag steckt, wird der normale
   Beitrags-Content auf volle Breite gesetzt. Header und Footer bleiben erhalten. */
body.kmk-ratgeber-post-active .site-content,
body.kmk-ratgeber-post-active #content,
body.kmk-ratgeber-post-active .content-area,
body.kmk-ratgeber-post-active #primary,
body.kmk-ratgeber-post-active .site-main,
body.kmk-ratgeber-post-active main#main {
  width: 100% !important;
  max-width: none !important;
}

/* Typische Sidebar-Bereiche nur auf diesem einen Ratgeber-Beitrag ausblenden. */
body.kmk-ratgeber-post-active #secondary,
body.kmk-ratgeber-post-active .secondary,
body.kmk-ratgeber-post-active .sidebar,
body.kmk-ratgeber-post-active .widget-area,
body.kmk-ratgeber-post-active aside.sidebar {
  display: none !important;
}

/* Beitrag selbst und Content-Wrapper verbreitern. */
body.kmk-ratgeber-post-active article,
body.kmk-ratgeber-post-active article.post,
body.kmk-ratgeber-post-active .hentry,
body.kmk-ratgeber-post-active .entry-content,
body.kmk-ratgeber-post-active .post-content,
body.kmk-ratgeber-post-active .single-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Theme-Paddings am eigentlichen Beitragsinhalt entfernen.
   Die Innenabstände kommen aus .kmk-shell. */
body.kmk-ratgeber-post-active .entry-content,
body.kmk-ratgeber-post-active .post-content,
body.kmk-ratgeber-post-active .single-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Normalen Beitragstitel und Metadaten ausblenden, weil die Landingpage
   eine eigene SEO-H1 und redaktionelle Struktur enthält. */
body.kmk-ratgeber-post-active .entry-title,
body.kmk-ratgeber-post-active .post-title,
body.kmk-ratgeber-post-active .entry-header,
body.kmk-ratgeber-post-active .post-meta,
body.kmk-ratgeber-post-active .entry-meta,
body.kmk-ratgeber-post-active .posted-on,
body.kmk-ratgeber-post-active .byline {
  display: none !important;
}

/* Auch typische Featured-Image-Ausgabe oberhalb des Inhalts ausblenden,
   damit keine doppelte Hero-Darstellung entsteht. */
body.kmk-ratgeber-post-active .post-thumbnail,
body.kmk-ratgeber-post-active .featured-image,
body.kmk-ratgeber-post-active .entry-thumbnail {
  display: none !important;
}

/* Navigation zwischen vorherigem/nächstem Beitrag ausblenden, damit der
   Ratgeber als eigenständige Hub-Seite wirkt. */
body.kmk-ratgeber-post-active .post-navigation,
body.kmk-ratgeber-post-active .nav-links {
  display: none;
}

/* Theme-seitige max-widths direkt um den Ratgeber neutralisieren. */
body.kmk-ratgeber-post-active .kmk-page {
  width: 100%;
  max-width: none;
  margin: 0;
}


/* =========================================================
   v2.0 – Fachbeiträge-Beitrag: Header-/Navigationskorrektur
   ========================================================= */

/* Der Sticky-Header des Themes war teilweise transparent, dadurch waren
   die Fachbeitragskarten hinter der Navigation sichtbar. Auf diesem einen
   Beitrag erzwingen wir einen deckenden Header-Hintergrund. */
body.kmk-ratgeber-post-active .site-header,
body.kmk-ratgeber-post-active header#masthead,
body.kmk-ratgeber-post-active .main-header-bar,
body.kmk-ratgeber-post-active .header-main,
body.kmk-ratgeber-post-active .sticky-header,
body.kmk-ratgeber-post-active .is-sticky,
body.kmk-ratgeber-post-active .elementor-location-header {
  background: #fff !important;
  opacity: 1 !important;
  z-index: 9990 !important;
}

/* Auch der eigentliche Navigationsbereich bleibt deckend. */
body.kmk-ratgeber-post-active .site-header nav,
body.kmk-ratgeber-post-active header#masthead nav,
body.kmk-ratgeber-post-active .main-navigation,
body.kmk-ratgeber-post-active .primary-navigation {
  background: #fff !important;
}

/* Beim Anspringen der internen Navigation landen Überschriften nicht
   mehr unter dem Sticky-Header. */
body.kmk-ratgeber-post-active .kmk-page section[id],
body.kmk-ratgeber-post-active .kmk-page #fachbeitraege,
body.kmk-ratgeber-post-active .kmk-page #themen,
body.kmk-ratgeber-post-active .kmk-page #expertise,
body.kmk-ratgeber-post-active .kmk-page #kontakt {
  scroll-margin-top: 150px;
}

/* Landingpage bleibt unterhalb des Theme-Headers in einer sauberen Ebene. */
body.kmk-ratgeber-post-active .kmk-page {
  position: relative;
  z-index: 1;
}

/* Adminbar berücksichtigt den Sticky-Header auf eingeloggten Ansichten. */
body.admin-bar.kmk-ratgeber-post-active .site-header,
body.admin-bar.kmk-ratgeber-post-active header#masthead,
body.admin-bar.kmk-ratgeber-post-active .sticky-header,
body.admin-bar.kmk-ratgeber-post-active .is-sticky {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar.kmk-ratgeber-post-active .site-header,
  body.admin-bar.kmk-ratgeber-post-active header#masthead,
  body.admin-bar.kmk-ratgeber-post-active .sticky-header,
  body.admin-bar.kmk-ratgeber-post-active .is-sticky {
    top: 46px;
  }

  body.kmk-ratgeber-post-active .kmk-page section[id] {
    scroll-margin-top: 125px;
  }
}


/* =========================================================
   v2.1 – Pascal von den Busch Profil / Beitrag
   ========================================================= */

/* Beitrag kompatibel ohne Template */
body.kmk-pascal-post-active .site-content,
body.kmk-pascal-post-active #content,
body.kmk-pascal-post-active .content-area,
body.kmk-pascal-post-active #primary,
body.kmk-pascal-post-active .site-main,
body.kmk-pascal-post-active main#main {
  width: 100% !important;
  max-width: none !important;
}

body.kmk-pascal-post-active #secondary,
body.kmk-pascal-post-active .secondary,
body.kmk-pascal-post-active .sidebar,
body.kmk-pascal-post-active .widget-area,
body.kmk-pascal-post-active aside.sidebar,
body.kmk-pascal-post-active .post-navigation,
body.kmk-pascal-post-active .nav-links {
  display: none !important;
}

body.kmk-pascal-post-active article,
body.kmk-pascal-post-active article.post,
body.kmk-pascal-post-active .hentry,
body.kmk-pascal-post-active .entry-content,
body.kmk-pascal-post-active .post-content,
body.kmk-pascal-post-active .single-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.kmk-pascal-post-active .entry-content,
body.kmk-pascal-post-active .post-content,
body.kmk-pascal-post-active .single-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.kmk-pascal-post-active .entry-title,
body.kmk-pascal-post-active .post-title,
body.kmk-pascal-post-active .entry-header,
body.kmk-pascal-post-active .post-meta,
body.kmk-pascal-post-active .entry-meta,
body.kmk-pascal-post-active .posted-on,
body.kmk-pascal-post-active .byline,
body.kmk-pascal-post-active .post-thumbnail,
body.kmk-pascal-post-active .featured-image,
body.kmk-pascal-post-active .entry-thumbnail {
  display: none !important;
}

body.kmk-pascal-post-active .site-header,
body.kmk-pascal-post-active header#masthead,
body.kmk-pascal-post-active .main-header-bar,
body.kmk-pascal-post-active .header-main,
body.kmk-pascal-post-active .sticky-header,
body.kmk-pascal-post-active .is-sticky,
body.kmk-pascal-post-active .elementor-location-header {
  background: #fff !important;
  opacity: 1 !important;
  z-index: 9990 !important;
}

body.kmk-pascal-post-active .site-header nav,
body.kmk-pascal-post-active header#masthead nav,
body.kmk-pascal-post-active .main-navigation,
body.kmk-pascal-post-active .primary-navigation {
  background: #fff !important;
}

body.kmk-pascal-post-active .kmk-page section[id] {
  scroll-margin-top: 150px;
}

.kmk-pascal-page .kmk-pascal-hero {
  background:
    radial-gradient(circle at 84% 15%, rgba(185,134,52,.17), transparent 26rem),
    linear-gradient(135deg, #fbf8f1 0%, #f3eadb 100%);
}

.kmk-pascal-page .kmk-hero-grid {
  align-items: stretch;
}

.kmk-pascal-intro-card {
  min-height: 100%;
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid rgba(185,134,52,.28);
  border-radius: 30px;
  background:
    radial-gradient(circle at 85% 10%, rgba(185,134,52,.13), transparent 17rem),
    rgba(255,255,255,.72);
  box-shadow: var(--kmk-shadow);
  display: flex;
  flex-direction: column;
}

.kmk-pascal-portrait-badge {
  width: 76px;
  height: 76px;
  margin-bottom: auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid var(--kmk-gold);
  color: var(--kmk-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.38rem;
}

.kmk-pascal-intro-card h2 {
  font-size: clamp(2rem, 2.8vw, 3rem);
}

.kmk-pascal-mini-list {
  list-style: none !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  display: grid;
  gap: 10px;
}

.kmk-pascal-mini-list li {
  position: relative;
  padding-left: 18px;
  color: var(--kmk-muted);
}

.kmk-pascal-mini-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .7em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--kmk-gold);
}

.kmk-pascal-service-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kmk-credential-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kmk-credential-card {
  min-width: 0;
  padding: clamp(26px, 3vw, 34px);
  border: 1px solid var(--kmk-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(15, 47, 64, .05);
}

.kmk-credential-logo-wrap {
  height: 88px;
  margin-bottom: 22px;
  display: flex;
  align-items: center;
}

.kmk-credential-logo-wrap img {
  max-width: 220px;
  max-height: 88px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.kmk-credential-card h3 {
  font-size: clamp(1.25rem, 1.8vw, 1.55rem);
  line-height: 1.14;
  margin-bottom: 6px;
}

.kmk-credential-org {
  color: var(--kmk-gold-dark);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.kmk-credential-list {
  list-style: none !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  display: grid;
  gap: 11px;
}

.kmk-credential-list li {
  position: relative;
  padding-left: 20px;
  color: var(--kmk-muted);
}

.kmk-credential-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--kmk-gold);
}

.kmk-credential-seals {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.kmk-credential-seals img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: 122px;
  object-fit: contain;
}

.kmk-credential-seals--mixed img:first-child {
  max-height: 160px;
}

.kmk-pascal-quality-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  .kmk-pascal-service-grid,
  .kmk-credential-grid,
  .kmk-pascal-quality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kmk-pascal-intro-card {
    min-height: auto;
  }
}

@media (max-width: 620px) {
  .kmk-pascal-service-grid,
  .kmk-credential-grid,
  .kmk-pascal-quality-grid {
    grid-template-columns: 1fr;
  }

  .kmk-credential-card,
  .kmk-pascal-intro-card {
    padding: 24px 22px;
  }

  .kmk-credential-seals img {
    max-height: 92px;
  }
}


/* =========================================================
   v2.2 – ISO 17024 + Qualifikationen
   ========================================================= */

.kmk-pascal-page .kmk-credential-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.kmk-pascal-page .kmk-credential-card-iso .kmk-credential-logo-wrap img {
  max-height: 105px;
}

@media (max-width: 760px) {
  .kmk-pascal-page .kmk-credential-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   v2.3 – ursprüngliches Team vollständig wiederhergestellt
   ========================================================= */

.kmk-pascal-page .kmk-team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kmk-pascal-page .kmk-team-card {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--kmk-line);
  border-radius: 22px;
  background: #fff;
}

.kmk-pascal-page .kmk-team-card-featured {
  grid-column: span 2;
  background:
    radial-gradient(circle at 92% 8%, rgba(185,134,52,.13), transparent 15rem),
    var(--kmk-cream-2);
  border-color: rgba(185,134,52,.30);
}

.kmk-pascal-page .kmk-team-avatar {
  width: 58px;
  height: 58px;
  margin-bottom: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--kmk-navy);
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
}

.kmk-pascal-page .kmk-team-card h3 {
  margin-bottom: 12px;
  font-size: clamp(1.25rem, 1.7vw, 1.55rem);
}

.kmk-pascal-page .kmk-team-card p:not(.kmk-service-tag) {
  margin-bottom: 0;
  color: var(--kmk-muted);
}

.kmk-pascal-page .kmk-team-link {
  display: inline-flex;
  margin-top: 18px;
  font-weight: 800;
  text-decoration: none;
}

.kmk-pascal-page .kmk-team-link::after {
  content: " →";
  color: var(--kmk-gold-dark);
}

@media (max-width: 920px) {
  .kmk-pascal-page .kmk-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kmk-pascal-page .kmk-team-card-featured {
    grid-column: span 2;
  }
}

@media (max-width: 620px) {
  .kmk-pascal-page .kmk-team-grid {
    grid-template-columns: 1fr;
  }

  .kmk-pascal-page .kmk-team-card-featured {
    grid-column: auto;
  }
}


/* =========================================================
   v2.4 – Teamseite: einheitliche Typografie
   ========================================================= */

/* Auf der Team-/Pascal-Seite wird bewusst nur eine Schriftfamilie verwendet.
   Damit kann das Theme keine zweite Serifenschrift in H1/H2 einschleusen. */
.kmk-pascal-page,
.kmk-pascal-page h1,
.kmk-pascal-page h2,
.kmk-pascal-page h3,
.kmk-pascal-page h4,
.kmk-pascal-page p,
.kmk-pascal-page li,
.kmk-pascal-page a,
.kmk-pascal-page span,
.kmk-pascal-page strong,
.kmk-pascal-page summary,
.kmk-pascal-page label,
.kmk-pascal-page input,
.kmk-pascal-page textarea,
.kmk-pascal-page select,
.kmk-pascal-page button {
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Überschriften bleiben optisch hochwertig, aber ohne Schriftwechsel. */
.kmk-pascal-page h1,
.kmk-pascal-page h2 {
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

.kmk-pascal-page h3 {
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
}

/* Auch rein dekorative Nummern/Initialen bleiben in derselben Familie. */
.kmk-pascal-page .kmk-step-no,
.kmk-pascal-page .kmk-quality > span,
.kmk-pascal-page .kmk-team-avatar,
.kmk-pascal-page .kmk-pascal-portrait-badge {
  font-family: Arial, Helvetica, sans-serif !important;
}


/* =========================================================
   v2.5 – Team-Hero: überlaufende Infokarten korrigiert
   ========================================================= */

/* 1fr hat standardmäßig eine automatische Mindestbreite. Bei langen
   deutschen Begriffen konnte die dritte Karte dadurch in die rechte
   Hero-Karte hineinragen. minmax(0,1fr) verhindert das zuverlässig. */
.kmk-pascal-page .kmk-trust-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: 100% !important;
}

.kmk-pascal-page .kmk-trust {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  padding: 16px 17px !important;
}

.kmk-pascal-page .kmk-trust strong,
.kmk-pascal-page .kmk-trust span {
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto;
}

.kmk-pascal-page .kmk-trust strong {
  font-size: .96rem !important;
  line-height: 1.22 !important;
}

.kmk-pascal-page .kmk-trust span {
  font-size: .79rem !important;
  line-height: 1.38 !important;
}

/* Beide Hero-Spalten dürfen ihre Grid-Spalte niemals durch Min-Content
   verbreitern. */
.kmk-pascal-page .kmk-hero-copy,
.kmk-pascal-page .kmk-pascal-intro-card {
  min-width: 0 !important;
}

/* Bei mittleren Desktopbreiten wird die Infokarten-Zeile früher auf
   zwei Spalten umgestellt, statt einzelne Karten zu quetschen. */
@media (max-width: 1250px) and (min-width: 1101px) {
  .kmk-pascal-page .kmk-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .kmk-pascal-page .kmk-trust:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .kmk-pascal-page .kmk-trust-grid {
    grid-template-columns: 1fr !important;
  }

  .kmk-pascal-page .kmk-trust:last-child {
    grid-column: auto;
  }
}


/* =========================================================
   v2.6 – Immobilienankauf / Direktverkauf Krefeld
   ========================================================= */

/* Beitrag als vollwertige Landingpage darstellen */
body.kmk-ankauf-post-active .site-content,
body.kmk-ankauf-post-active #content,
body.kmk-ankauf-post-active .content-area,
body.kmk-ankauf-post-active #primary,
body.kmk-ankauf-post-active .site-main,
body.kmk-ankauf-post-active main#main {
  width: 100% !important;
  max-width: none !important;
}

body.kmk-ankauf-post-active #secondary,
body.kmk-ankauf-post-active .secondary,
body.kmk-ankauf-post-active .sidebar,
body.kmk-ankauf-post-active .widget-area,
body.kmk-ankauf-post-active aside.sidebar,
body.kmk-ankauf-post-active .post-navigation,
body.kmk-ankauf-post-active .nav-links {
  display: none !important;
}

body.kmk-ankauf-post-active article,
body.kmk-ankauf-post-active article.post,
body.kmk-ankauf-post-active .hentry,
body.kmk-ankauf-post-active .entry-content,
body.kmk-ankauf-post-active .post-content,
body.kmk-ankauf-post-active .single-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.kmk-ankauf-post-active .entry-content,
body.kmk-ankauf-post-active .post-content,
body.kmk-ankauf-post-active .single-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.kmk-ankauf-post-active .entry-title,
body.kmk-ankauf-post-active .post-title,
body.kmk-ankauf-post-active .entry-header,
body.kmk-ankauf-post-active .post-meta,
body.kmk-ankauf-post-active .entry-meta,
body.kmk-ankauf-post-active .posted-on,
body.kmk-ankauf-post-active .byline,
body.kmk-ankauf-post-active .post-thumbnail,
body.kmk-ankauf-post-active .featured-image,
body.kmk-ankauf-post-active .entry-thumbnail {
  display: none !important;
}

body.kmk-ankauf-post-active .site-header,
body.kmk-ankauf-post-active header#masthead,
body.kmk-ankauf-post-active .main-header-bar,
body.kmk-ankauf-post-active .header-main,
body.kmk-ankauf-post-active .sticky-header,
body.kmk-ankauf-post-active .is-sticky,
body.kmk-ankauf-post-active .elementor-location-header {
  background: #fff !important;
  opacity: 1 !important;
  z-index: 9990 !important;
}

body.kmk-ankauf-post-active .site-header nav,
body.kmk-ankauf-post-active header#masthead nav,
body.kmk-ankauf-post-active .main-navigation,
body.kmk-ankauf-post-active .primary-navigation {
  background: #fff !important;
}

body.kmk-ankauf-post-active .kmk-page section[id] {
  scroll-margin-top: 150px;
}

.kmk-ankauf-page .kmk-ankauf-hero {
  background:
    radial-gradient(circle at 84% 15%, rgba(185,134,52,.17), transparent 26rem),
    linear-gradient(135deg, #fbf8f1 0%, #f3eadb 100%);
}

.kmk-ankauf-page .kmk-ankauf-hero-media > a {
  aspect-ratio: 3 / 2;
}

.kmk-ankauf-page .kmk-ankauf-hero-media img {
  object-position: center center !important;
}

.kmk-ankauf-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kmk-ankauf-card {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--kmk-line);
  border-radius: 22px;
  background: #fff;
}

.kmk-ankauf-card h3 {
  margin-bottom: 12px;
  font-size: clamp(1.2rem, 1.6vw, 1.45rem);
  line-height: 1.15;
}

.kmk-ankauf-card p {
  margin-bottom: 0;
  color: var(--kmk-muted);
}

.kmk-ankauf-quality-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kmk-ankauf-process {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kmk-ankauf-process .kmk-step {
  min-height: 220px;
}

@media (max-width: 1100px) {
  .kmk-ankauf-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kmk-ankauf-quality-grid,
  .kmk-ankauf-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .kmk-ankauf-grid,
  .kmk-ankauf-quality-grid,
  .kmk-ankauf-process {
    grid-template-columns: 1fr;
  }

  .kmk-ankauf-card {
    padding: 24px 22px;
  }
}


/* =========================================================
   v2.7 – Immobilienangebote / Projekte / Referenzen
   ========================================================= */

body.kmk-angebote-post-active .site-content,
body.kmk-angebote-post-active #content,
body.kmk-angebote-post-active .content-area,
body.kmk-angebote-post-active #primary,
body.kmk-angebote-post-active .site-main,
body.kmk-angebote-post-active main#main {
  width: 100% !important;
  max-width: none !important;
}

body.kmk-angebote-post-active #secondary,
body.kmk-angebote-post-active .secondary,
body.kmk-angebote-post-active .sidebar,
body.kmk-angebote-post-active .widget-area,
body.kmk-angebote-post-active aside.sidebar,
body.kmk-angebote-post-active .post-navigation,
body.kmk-angebote-post-active .nav-links {
  display: none !important;
}

body.kmk-angebote-post-active article,
body.kmk-angebote-post-active article.post,
body.kmk-angebote-post-active .hentry,
body.kmk-angebote-post-active .entry-content,
body.kmk-angebote-post-active .post-content,
body.kmk-angebote-post-active .single-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.kmk-angebote-post-active .entry-content,
body.kmk-angebote-post-active .post-content,
body.kmk-angebote-post-active .single-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.kmk-angebote-post-active .entry-title,
body.kmk-angebote-post-active .post-title,
body.kmk-angebote-post-active .entry-header,
body.kmk-angebote-post-active .post-meta,
body.kmk-angebote-post-active .entry-meta,
body.kmk-angebote-post-active .posted-on,
body.kmk-angebote-post-active .byline,
body.kmk-angebote-post-active .post-thumbnail,
body.kmk-angebote-post-active .featured-image,
body.kmk-angebote-post-active .entry-thumbnail {
  display: none !important;
}

body.kmk-angebote-post-active .site-header,
body.kmk-angebote-post-active header#masthead,
body.kmk-angebote-post-active .main-header-bar,
body.kmk-angebote-post-active .header-main,
body.kmk-angebote-post-active .sticky-header,
body.kmk-angebote-post-active .is-sticky,
body.kmk-angebote-post-active .elementor-location-header {
  background: #fff !important;
  opacity: 1 !important;
  z-index: 9990 !important;
}

body.kmk-angebote-post-active .site-header nav,
body.kmk-angebote-post-active header#masthead nav,
body.kmk-angebote-post-active .main-navigation,
body.kmk-angebote-post-active .primary-navigation {
  background: #fff !important;
}

body.kmk-angebote-post-active .kmk-page section[id] {
  scroll-margin-top: 150px;
}

.kmk-angebote-page .kmk-angebote-hero {
  background:
    radial-gradient(circle at 84% 15%, rgba(185,134,52,.17), transparent 25rem),
    linear-gradient(135deg, #fbf8f1 0%, #f3eadb 100%);
}

.kmk-angebote-hero-card {
  min-width: 0;
  padding: clamp(30px, 4vw, 46px);
  border: 1px solid rgba(185,134,52,.28);
  border-radius: 30px;
  background: rgba(255,255,255,.72);
  box-shadow: var(--kmk-shadow);
}

.kmk-angebote-hero-card h2 {
  font-size: clamp(2rem, 2.8vw, 3rem);
}

.kmk-angebote-mini-list {
  margin: 22px 0 28px !important;
}

.kmk-offer-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 22px;
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid var(--kmk-line);
  border-radius: 26px;
  background: #fff;
}

.kmk-offer-feature-copy h2 {
  margin-bottom: 18px;
}

.kmk-offer-feature-side {
  align-self: stretch;
  padding: 28px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 85% 12%, rgba(185,134,52,.18), transparent 15rem),
    var(--kmk-navy);
  color: rgba(255,255,255,.82);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.kmk-offer-feature-side strong {
  color: #fff;
  font-size: 1.3rem;
  line-height: 1.2;
}

.kmk-offer-feature-side p {
  margin: 10px 0 0;
}

.kmk-offer-feature-label {
  margin-bottom: auto;
  color: #d5aa62;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

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

.kmk-project-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(16,47,64,.10);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(16,47,64,.06);
}

.kmk-project-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.kmk-project-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
}

.kmk-project-body {
  padding: 28px;
}

.kmk-project-body h3 {
  margin-bottom: 12px;
  font-size: clamp(1.35rem, 1.8vw, 1.7rem);
}

.kmk-project-body p {
  color: var(--kmk-muted);
}

.kmk-project-cta {
  margin-top: 22px;
  padding: 22px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-radius: 18px;
  border: 1px solid rgba(185,134,52,.26);
  background: rgba(255,255,255,.72);
}

.kmk-project-cta strong,
.kmk-project-cta span {
  display: block;
}

.kmk-project-cta span {
  margin-top: 5px;
  color: var(--kmk-muted);
}

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

.kmk-reference-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  background: rgba(255,255,255,.06);
}

.kmk-reference-card img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
}

.kmk-reference-card > div {
  padding: 20px;
}

.kmk-reference-card h3 {
  margin-bottom: 10px;
  color: #fff;
}

.kmk-reference-card p {
  margin-bottom: 0;
  color: rgba(255,255,255,.72);
  font-size: .92rem;
}

.kmk-reference-status {
  display: inline-block;
  margin-bottom: 13px;
  color: #d5aa62;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .kmk-offer-feature,
  .kmk-angebote-page .kmk-hero-grid {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 720px) {
  .kmk-project-grid,
  .kmk-reference-grid {
    grid-template-columns: 1fr;
  }

  .kmk-project-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .kmk-project-cta .kmk-btn {
    width: 100%;
  }

  .kmk-reference-card img {
    height: 220px !important;
  }
}


/* =========================================================
   v2.8 – Immobilienprojekte / Projektvertrieb
   ========================================================= */

body.kmk-projekte-post-active .site-content,
body.kmk-projekte-post-active #content,
body.kmk-projekte-post-active .content-area,
body.kmk-projekte-post-active #primary,
body.kmk-projekte-post-active .site-main,
body.kmk-projekte-post-active main#main {
  width: 100% !important;
  max-width: none !important;
}

body.kmk-projekte-post-active #secondary,
body.kmk-projekte-post-active .secondary,
body.kmk-projekte-post-active .sidebar,
body.kmk-projekte-post-active .widget-area,
body.kmk-projekte-post-active aside.sidebar,
body.kmk-projekte-post-active .post-navigation,
body.kmk-projekte-post-active .nav-links {
  display: none !important;
}

body.kmk-projekte-post-active article,
body.kmk-projekte-post-active article.post,
body.kmk-projekte-post-active .hentry,
body.kmk-projekte-post-active .entry-content,
body.kmk-projekte-post-active .post-content,
body.kmk-projekte-post-active .single-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.kmk-projekte-post-active .entry-content,
body.kmk-projekte-post-active .post-content,
body.kmk-projekte-post-active .single-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.kmk-projekte-post-active .entry-title,
body.kmk-projekte-post-active .post-title,
body.kmk-projekte-post-active .entry-header,
body.kmk-projekte-post-active .post-meta,
body.kmk-projekte-post-active .entry-meta,
body.kmk-projekte-post-active .posted-on,
body.kmk-projekte-post-active .byline,
body.kmk-projekte-post-active .post-thumbnail,
body.kmk-projekte-post-active .featured-image,
body.kmk-projekte-post-active .entry-thumbnail {
  display: none !important;
}

body.kmk-projekte-post-active .site-header,
body.kmk-projekte-post-active header#masthead,
body.kmk-projekte-post-active .main-header-bar,
body.kmk-projekte-post-active .header-main,
body.kmk-projekte-post-active .sticky-header,
body.kmk-projekte-post-active .is-sticky,
body.kmk-projekte-post-active .elementor-location-header {
  background: #fff !important;
  opacity: 1 !important;
  z-index: 9990 !important;
}

body.kmk-projekte-post-active .site-header nav,
body.kmk-projekte-post-active header#masthead nav,
body.kmk-projekte-post-active .main-navigation,
body.kmk-projekte-post-active .primary-navigation {
  background: #fff !important;
}

body.kmk-projekte-post-active .kmk-page section[id] {
  scroll-margin-top: 150px;
}

.kmk-projekte-page .kmk-projekte-hero {
  background:
    radial-gradient(circle at 84% 15%, rgba(185,134,52,.17), transparent 26rem),
    linear-gradient(135deg, #fbf8f1 0%, #f3eadb 100%);
}

.kmk-projekte-hero-card {
  min-width: 0;
  padding: clamp(30px, 4vw, 46px);
  border: 1px solid rgba(185,134,52,.28);
  border-radius: 30px;
  background: rgba(255,255,255,.72);
  box-shadow: var(--kmk-shadow);
}

.kmk-projekte-hero-card h2 {
  font-size: clamp(2rem, 2.8vw, 3rem);
}

.kmk-project-services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kmk-projekte-quality-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kmk-project-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.kmk-project-overview-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(16,47,64,.10);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(16,47,64,.06);
}

.kmk-project-overview-image,
.kmk-project-overview-placeholder {
  width: 100%;
  aspect-ratio: 16 / 7;
}

.kmk-project-overview-image {
  overflow: hidden;
}

.kmk-project-overview-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
}

.kmk-project-overview-placeholder {
  padding: 26px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  background:
    radial-gradient(circle at 82% 18%, rgba(185,134,52,.28), transparent 13rem),
    linear-gradient(135deg, var(--kmk-navy), #1b4a5e);
  color: #fff;
}

.kmk-project-overview-placeholder span {
  color: #d5aa62;
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  font-weight: 700;
  line-height: 1;
}

.kmk-project-overview-placeholder strong {
  font-size: 1rem;
}

.kmk-project-overview-body {
  padding: 28px;
}

.kmk-project-overview-body h3 {
  margin-bottom: 18px;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.kmk-project-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}

.kmk-project-stats > div {
  min-width: 0;
  padding: 14px;
  border-radius: 14px;
  background: var(--kmk-cream);
}

.kmk-project-stats strong,
.kmk-project-stats span {
  display: block;
}

.kmk-project-stats strong {
  color: var(--kmk-navy);
  font-size: 1.35rem;
}

.kmk-project-stats span {
  margin-top: 4px;
  color: var(--kmk-muted);
  font-size: .78rem;
  line-height: 1.35;
}

.kmk-project-details {
  border-top: 1px solid var(--kmk-line);
}

.kmk-project-details summary {
  padding: 18px 0 0;
  cursor: pointer;
  color: var(--kmk-navy);
  font-weight: 800;
}

.kmk-project-table-wrap {
  width: 100%;
  overflow-x: auto;
  margin-top: 16px;
}

.kmk-project-table {
  width: 100%;
  min-width: 710px;
  border-collapse: collapse;
  font-size: .85rem;
}

.kmk-project-table th,
.kmk-project-table td {
  padding: 11px 10px;
  border-bottom: 1px solid rgba(16,47,64,.09);
  text-align: left;
  vertical-align: top;
}

.kmk-project-table th {
  background: var(--kmk-cream);
  color: var(--kmk-navy);
  font-size: .75rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.kmk-project-status {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
}

.kmk-project-status.is-sold {
  background: #edf0f2;
  color: #596872;
}

.kmk-project-status.is-reserved {
  background: #fff1c7;
  color: #8a5a00;
}

.kmk-project-status.is-active {
  background: #dff3e8;
  color: #166534;
}

.kmk-project-status.is-neutral {
  background: #f2f3f4;
  color: #606c74;
}

.kmk-project-data-note {
  margin-top: 22px;
  padding: 20px 22px;
  border: 1px solid rgba(185,134,52,.26);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
}

.kmk-project-data-note strong,
.kmk-project-data-note p {
  display: block;
}

.kmk-project-data-note p {
  margin: 6px 0 0;
  color: var(--kmk-muted);
}

.kmk-projekte-process {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  .kmk-projekte-page .kmk-hero-grid {
    grid-template-columns: 1fr;
  }

  .kmk-project-services,
  .kmk-projekte-quality-grid,
  .kmk-projekte-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .kmk-project-overview-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .kmk-project-services,
  .kmk-projekte-quality-grid,
  .kmk-projekte-process {
    grid-template-columns: 1fr;
  }

  .kmk-project-overview-body {
    padding: 23px 20px;
  }

  .kmk-project-stats {
    grid-template-columns: 1fr;
  }

  .kmk-project-overview-image,
  .kmk-project-overview-placeholder {
    aspect-ratio: 16 / 9;
  }
}


/* =========================================================
   v2.9 – Ratgeber Immobilienverkauf Krefeld
   ========================================================= */

body.kmk-guide-post-active .site-content,
body.kmk-guide-post-active #content,
body.kmk-guide-post-active .content-area,
body.kmk-guide-post-active #primary,
body.kmk-guide-post-active .site-main,
body.kmk-guide-post-active main#main {
  width: 100% !important;
  max-width: none !important;
}

body.kmk-guide-post-active #secondary,
body.kmk-guide-post-active .secondary,
body.kmk-guide-post-active .sidebar,
body.kmk-guide-post-active .widget-area,
body.kmk-guide-post-active aside.sidebar,
body.kmk-guide-post-active .post-navigation,
body.kmk-guide-post-active .nav-links {
  display: none !important;
}

body.kmk-guide-post-active article,
body.kmk-guide-post-active article.post,
body.kmk-guide-post-active .hentry,
body.kmk-guide-post-active .entry-content,
body.kmk-guide-post-active .post-content,
body.kmk-guide-post-active .single-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.kmk-guide-post-active .entry-content,
body.kmk-guide-post-active .post-content,
body.kmk-guide-post-active .single-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.kmk-guide-post-active .entry-title,
body.kmk-guide-post-active .post-title,
body.kmk-guide-post-active .entry-header,
body.kmk-guide-post-active .post-meta,
body.kmk-guide-post-active .entry-meta,
body.kmk-guide-post-active .posted-on,
body.kmk-guide-post-active .byline,
body.kmk-guide-post-active .post-thumbnail,
body.kmk-guide-post-active .featured-image,
body.kmk-guide-post-active .entry-thumbnail {
  display: none !important;
}

body.kmk-guide-post-active .site-header,
body.kmk-guide-post-active header#masthead,
body.kmk-guide-post-active .main-header-bar,
body.kmk-guide-post-active .header-main,
body.kmk-guide-post-active .sticky-header,
body.kmk-guide-post-active .is-sticky,
body.kmk-guide-post-active .elementor-location-header {
  background: #fff !important;
  opacity: 1 !important;
  z-index: 9990 !important;
}

body.kmk-guide-post-active .site-header nav,
body.kmk-guide-post-active header#masthead nav,
body.kmk-guide-post-active .main-navigation,
body.kmk-guide-post-active .primary-navigation {
  background: #fff !important;
}

body.kmk-guide-post-active .kmk-page section[id] {
  scroll-margin-top: 150px;
}

.kmk-guide-page .kmk-guide-hero {
  background:
    radial-gradient(circle at 83% 15%, rgba(185,134,52,.17), transparent 26rem),
    linear-gradient(135deg, #fbf8f1 0%, #f3eadb 100%);
}

.kmk-guide-page .kmk-guide-hero-media > a {
  aspect-ratio: 3 / 2;
}

.kmk-guide-page .kmk-guide-hero-media img {
  object-position: center center !important;
}

.kmk-guide-toc {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.kmk-guide-toc a {
  min-width: 0;
  padding: 18px 16px;
  border: 1px solid var(--kmk-line);
  border-radius: 16px;
  background: #fff;
  color: var(--kmk-navy);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease;
}

.kmk-guide-toc a:hover,
.kmk-guide-toc a:focus {
  transform: translateY(-2px);
  border-color: rgba(185,134,52,.65);
}

.kmk-guide-toc span,
.kmk-guide-toc strong {
  display: block;
}

.kmk-guide-toc span {
  margin-bottom: 13px;
  color: var(--kmk-gold-dark);
  font-size: .82rem;
  font-weight: 800;
}

.kmk-guide-toc strong {
  line-height: 1.25;
}

.kmk-guide-section-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: start;
}

.kmk-guide-tip,
.kmk-guide-warning {
  padding: 28px;
  border-radius: 22px;
}

.kmk-guide-tip {
  border: 1px solid rgba(185,134,52,.30);
  background: var(--kmk-cream);
}

.kmk-guide-warning {
  border: 1px solid rgba(185,134,52,.35);
  background: #fff8ea;
}

.kmk-guide-tip > span,
.kmk-guide-warning > span {
  display: block;
  margin-bottom: 14px;
  color: var(--kmk-gold-dark);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kmk-guide-tip strong,
.kmk-guide-warning strong {
  display: block;
  margin-bottom: 10px;
  color: var(--kmk-navy);
  font-size: 1.25rem;
  line-height: 1.25;
}

.kmk-guide-tip p,
.kmk-guide-warning p {
  margin-bottom: 0;
  color: var(--kmk-muted);
}

.kmk-guide-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kmk-guide-check-card {
  padding: 28px;
  border: 1px solid var(--kmk-line);
  border-radius: 22px;
  background: #fff;
}

.kmk-guide-check-card h3 {
  margin-bottom: 18px;
  font-size: 1.3rem;
}

.kmk-guide-three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kmk-guide-three article {
  padding: 28px;
  border: 1px solid var(--kmk-line);
  border-radius: 22px;
  background: #fff;
}

.kmk-guide-three article > span {
  display: block;
  margin-bottom: 38px;
  color: var(--kmk-gold-dark);
  font-size: 1.2rem;
  font-weight: 800;
}

.kmk-guide-three h3 {
  margin-bottom: 12px;
}

.kmk-guide-three p {
  margin-bottom: 0;
  color: var(--kmk-muted);
}

.kmk-guide-quality-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kmk-guide-dark-cta {
  margin-top: 28px;
}

.kmk-guide-negotiation,
.kmk-guide-handover {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.kmk-guide-negotiation > div,
.kmk-guide-handover > div {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--kmk-line);
  border-radius: 18px;
  background: #fff;
}

.kmk-guide-negotiation strong,
.kmk-guide-negotiation span,
.kmk-guide-handover strong,
.kmk-guide-handover span {
  display: block;
}

.kmk-guide-negotiation strong,
.kmk-guide-handover strong {
  margin-bottom: 8px;
  color: var(--kmk-navy);
}

.kmk-guide-negotiation span,
.kmk-guide-handover span {
  color: var(--kmk-muted);
  font-size: .9rem;
  line-height: 1.45;
}

.kmk-guide-notary-grid {
  align-items: center;
}

.kmk-guide-notary-image {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(185,134,52,.26);
  border-radius: 24px;
  box-shadow: var(--kmk-shadow);
}

.kmk-guide-notary-image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

@media (max-width: 1150px) {
  .kmk-guide-toc {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .kmk-guide-quality-grid,
  .kmk-guide-negotiation,
  .kmk-guide-handover {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .kmk-guide-page .kmk-hero-grid,
  .kmk-guide-section-grid {
    grid-template-columns: 1fr;
  }

  .kmk-guide-check-grid,
  .kmk-guide-three {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .kmk-guide-toc,
  .kmk-guide-quality-grid,
  .kmk-guide-negotiation,
  .kmk-guide-handover {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   v3.0 – Verkaufsleitfaden: Inhaltskarten korrigiert
   ========================================================= */

/* Fünf Spalten waren für lange deutsche Begriffe zu eng.
   Auf normalen Desktopbreiten jetzt vier gleichmäßige Spalten. */
.kmk-guide-page .kmk-guide-toc {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.kmk-guide-page .kmk-guide-toc a {
  min-width: 0 !important;
  min-height: 142px;
  padding: 20px 18px !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
}

.kmk-guide-page .kmk-guide-toc strong {
  max-width: 100% !important;
  font-size: .98rem !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto;
}

/* Auf sehr großen Bildschirmen sind fünf Spalten möglich,
   aber erst wenn genug echte Kartenbreite vorhanden ist. */
@media (min-width: 1500px) {
  .kmk-guide-page .kmk-guide-toc {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1050px) {
  .kmk-guide-page .kmk-guide-toc {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .kmk-guide-page .kmk-guide-toc {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 480px) {
  .kmk-guide-page .kmk-guide-toc {
    grid-template-columns: 1fr !important;
  }

  .kmk-guide-page .kmk-guide-toc a {
    min-height: 0;
  }
}


/* =========================================================
   v3.1 – Kostenlose Immobilienbewertung Krefeld
   ========================================================= */

body.kmk-bewertung-post-active .site-content,
body.kmk-bewertung-post-active #content,
body.kmk-bewertung-post-active .content-area,
body.kmk-bewertung-post-active #primary,
body.kmk-bewertung-post-active .site-main,
body.kmk-bewertung-post-active main#main {
  width: 100% !important;
  max-width: none !important;
}

body.kmk-bewertung-post-active #secondary,
body.kmk-bewertung-post-active .secondary,
body.kmk-bewertung-post-active .sidebar,
body.kmk-bewertung-post-active .widget-area,
body.kmk-bewertung-post-active aside.sidebar,
body.kmk-bewertung-post-active .post-navigation,
body.kmk-bewertung-post-active .nav-links {
  display: none !important;
}

body.kmk-bewertung-post-active article,
body.kmk-bewertung-post-active article.post,
body.kmk-bewertung-post-active .hentry,
body.kmk-bewertung-post-active .entry-content,
body.kmk-bewertung-post-active .post-content,
body.kmk-bewertung-post-active .single-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.kmk-bewertung-post-active .entry-content,
body.kmk-bewertung-post-active .post-content,
body.kmk-bewertung-post-active .single-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.kmk-bewertung-post-active .entry-title,
body.kmk-bewertung-post-active .post-title,
body.kmk-bewertung-post-active .entry-header,
body.kmk-bewertung-post-active .post-meta,
body.kmk-bewertung-post-active .entry-meta,
body.kmk-bewertung-post-active .posted-on,
body.kmk-bewertung-post-active .byline,
body.kmk-bewertung-post-active .post-thumbnail,
body.kmk-bewertung-post-active .featured-image,
body.kmk-bewertung-post-active .entry-thumbnail {
  display: none !important;
}

body.kmk-bewertung-post-active .site-header,
body.kmk-bewertung-post-active header#masthead,
body.kmk-bewertung-post-active .main-header-bar,
body.kmk-bewertung-post-active .header-main,
body.kmk-bewertung-post-active .sticky-header,
body.kmk-bewertung-post-active .is-sticky,
body.kmk-bewertung-post-active .elementor-location-header {
  background: #fff !important;
  opacity: 1 !important;
  z-index: 9990 !important;
}

body.kmk-bewertung-post-active .site-header nav,
body.kmk-bewertung-post-active header#masthead nav,
body.kmk-bewertung-post-active .main-navigation,
body.kmk-bewertung-post-active .primary-navigation {
  background: #fff !important;
}

body.kmk-bewertung-post-active .kmk-page section[id] {
  scroll-margin-top: 150px;
}

.kmk-bewertung-page .kmk-bewertung-hero {
  background:
    radial-gradient(circle at 83% 14%, rgba(185,134,52,.18), transparent 26rem),
    linear-gradient(135deg, #fbf8f1 0%, #f3eadb 100%);
}

.kmk-bewertung-page .kmk-bewertung-hero-media > a {
  aspect-ratio: 3 / 2;
}

.kmk-bewertung-page .kmk-bewertung-hero-media img {
  object-position: center center !important;
}

.kmk-bewertung-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kmk-bewertung-type {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--kmk-line);
  border-radius: 22px;
  background: #fff;
}

.kmk-bewertung-type h3 {
  margin-bottom: 12px;
  font-size: 1.35rem;
}

.kmk-bewertung-type p {
  margin-bottom: 0;
  color: var(--kmk-muted);
}

.kmk-bewertung-process {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kmk-bewertung-process .kmk-step {
  min-height: 220px;
}

.kmk-bewertung-form-section {
  background:
    radial-gradient(circle at 15% 5%, rgba(185,134,52,.13), transparent 24rem),
    #f8f6f1;
}

.kmk-bewertung-form-head {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.kmk-bewertung-form-card {
  width: min(100%, 980px);
  margin: 0 auto;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgba(185,134,52,.28);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 22px 54px rgba(16,47,64,.08);
}

.kmk-bewertung-form-card form,
.kmk-bewertung-form-card .form,
.kmk-bewertung-form-card .immobilienbewertung-formular {
  max-width: 100% !important;
}

.kmk-bewertung-form-card input,
.kmk-bewertung-form-card select,
.kmk-bewertung-form-card textarea,
.kmk-bewertung-form-card button {
  max-width: 100%;
}

.kmk-bewertung-privacy-note {
  width: min(100%, 980px);
  margin: 18px auto 0;
  padding: 16px 18px;
  border-radius: 14px;
  background: rgba(16,47,64,.05);
}

.kmk-bewertung-privacy-note strong {
  display: block;
  color: var(--kmk-navy);
}

.kmk-bewertung-privacy-note p {
  margin: 5px 0 0;
  color: var(--kmk-muted);
  font-size: .88rem;
  line-height: 1.5;
}

.kmk-bewertung-level-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kmk-bewertung-level {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--kmk-line);
  border-radius: 22px;
  background: #fff;
}

.kmk-bewertung-level-featured {
  border-color: rgba(185,134,52,.46);
  background:
    radial-gradient(circle at 90% 10%, rgba(185,134,52,.13), transparent 14rem),
    #fff;
}

.kmk-bewertung-level > span {
  display: block;
  margin-bottom: 24px;
  color: var(--kmk-gold-dark);
  font-weight: 800;
}

.kmk-bewertung-level h3 {
  margin-bottom: 12px;
  font-size: 1.35rem;
}

.kmk-bewertung-level p {
  color: var(--kmk-muted);
}

.kmk-bewertung-level strong {
  color: var(--kmk-navy);
}

.kmk-bewertung-local-card {
  min-width: 0;
  padding: clamp(28px, 4vw, 42px);
  border: 1px solid rgba(185,134,52,.28);
  border-radius: 24px;
  background:
    radial-gradient(circle at 90% 10%, rgba(185,134,52,.13), transparent 17rem),
    var(--kmk-cream);
}

.kmk-bewertung-local-card h3 {
  font-size: clamp(1.8rem, 2.8vw, 2.6rem);
}

.kmk-form-missing {
  padding: 20px;
  border: 1px solid #e0b4b4;
  border-radius: 12px;
  background: #fff4f4;
}

@media (max-width: 1000px) {
  .kmk-bewertung-type-grid,
  .kmk-bewertung-level-grid,
  .kmk-bewertung-process {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   v3.2 – Designkorrektur Fachbeiträge
   ========================================================= */

/* Header auf der Fachbeiträge-Seite vollständig deckend halten.
   Einige Theme-Wrapper blieben trotz weißem Außencontainer transparent. */
body.kmk-ratgeber-post-active .site-header,
body.kmk-ratgeber-post-active header#masthead,
body.kmk-ratgeber-post-active .site-header > *,
body.kmk-ratgeber-post-active header#masthead > *,
body.kmk-ratgeber-post-active .main-header-bar-wrap,
body.kmk-ratgeber-post-active .main-header-bar,
body.kmk-ratgeber-post-active .header-main,
body.kmk-ratgeber-post-active .sticky-header,
body.kmk-ratgeber-post-active .is-sticky,
body.kmk-ratgeber-post-active .main-navigation,
body.kmk-ratgeber-post-active .primary-navigation,
body.kmk-ratgeber-post-active .elementor-location-header {
  background-color: #fff !important;
  background-image: none !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.kmk-ratgeber-post-active .site-header,
body.kmk-ratgeber-post-active header#masthead,
body.kmk-ratgeber-post-active .sticky-header,
body.kmk-ratgeber-post-active .is-sticky,
body.kmk-ratgeber-post-active .elementor-location-header {
  position: relative;
  z-index: 99999 !important;
  box-shadow: 0 1px 0 rgba(16,47,64,.10);
}

/* Inhalt nicht in eine konkurrierende Stacking-Ebene über den Header heben. */
body.kmk-ratgeber-post-active .kmk-page {
  z-index: 0 !important;
}

body.kmk-ratgeber-post-active .kmk-article-card,
body.kmk-ratgeber-post-active .kmk-article-top,
body.kmk-ratgeber-post-active .kmk-service-tag,
body.kmk-ratgeber-post-active .kmk-article-no {
  position: relative;
  z-index: auto !important;
}

/* Fachartikel-Karten: mehr nutzbare Breite und kontrollierte Typografie. */
.kmk-ratgeber-page .kmk-article-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.kmk-ratgeber-page .kmk-article-card {
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 30px !important;
}

.kmk-ratgeber-page .kmk-article-top {
  min-width: 0;
  flex-wrap: wrap;
  margin-bottom: 24px !important;
}

.kmk-ratgeber-page .kmk-service-tag {
  max-width: calc(100% - 54px);
  white-space: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.2 !important;
}

.kmk-ratgeber-page .kmk-article-card h3 {
  max-width: 100% !important;
  margin: 0 0 16px !important;
  font-size: clamp(1.55rem, 1.75vw, 1.9rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.018em !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
}

.kmk-ratgeber-page .kmk-article-card > p {
  font-size: 1rem !important;
  line-height: 1.6 !important;
}

/* Bei üblichen Notebook-/Tabletbreiten nicht drei zu schmale Karten erzwingen. */
@media (max-width: 1279px) {
  .kmk-ratgeber-page .kmk-article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .kmk-ratgeber-page .kmk-article-grid {
    grid-template-columns: 1fr !important;
  }

  .kmk-ratgeber-page .kmk-article-card {
    padding: 24px 22px !important;
  }

  .kmk-ratgeber-page .kmk-article-card h3 {
    font-size: clamp(1.45rem, 7vw, 1.75rem) !important;
  }
}


/* =========================================================
   v3.3 – Fachbeitrag Wohnrecht & Nießbrauch
   ========================================================= */

body.kmk-rights-post-active .site-content,
body.kmk-rights-post-active #content,
body.kmk-rights-post-active .content-area,
body.kmk-rights-post-active #primary,
body.kmk-rights-post-active .site-main,
body.kmk-rights-post-active main#main {
  width: 100% !important;
  max-width: none !important;
}

body.kmk-rights-post-active #secondary,
body.kmk-rights-post-active .secondary,
body.kmk-rights-post-active .sidebar,
body.kmk-rights-post-active .widget-area,
body.kmk-rights-post-active aside.sidebar,
body.kmk-rights-post-active .post-navigation,
body.kmk-rights-post-active .nav-links {
  display: none !important;
}

body.kmk-rights-post-active article,
body.kmk-rights-post-active article.post,
body.kmk-rights-post-active .hentry,
body.kmk-rights-post-active .entry-content,
body.kmk-rights-post-active .post-content,
body.kmk-rights-post-active .single-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.kmk-rights-post-active .entry-content,
body.kmk-rights-post-active .post-content,
body.kmk-rights-post-active .single-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.kmk-rights-post-active .entry-title,
body.kmk-rights-post-active .post-title,
body.kmk-rights-post-active .entry-header,
body.kmk-rights-post-active .post-meta,
body.kmk-rights-post-active .entry-meta,
body.kmk-rights-post-active .posted-on,
body.kmk-rights-post-active .byline,
body.kmk-rights-post-active .post-thumbnail,
body.kmk-rights-post-active .featured-image,
body.kmk-rights-post-active .entry-thumbnail {
  display: none !important;
}

body.kmk-rights-post-active .site-header,
body.kmk-rights-post-active header#masthead,
body.kmk-rights-post-active .site-header > *,
body.kmk-rights-post-active header#masthead > *,
body.kmk-rights-post-active .main-header-bar-wrap,
body.kmk-rights-post-active .main-header-bar,
body.kmk-rights-post-active .header-main,
body.kmk-rights-post-active .sticky-header,
body.kmk-rights-post-active .is-sticky,
body.kmk-rights-post-active .main-navigation,
body.kmk-rights-post-active .primary-navigation,
body.kmk-rights-post-active .elementor-location-header {
  background-color: #fff !important;
  background-image: none !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.kmk-rights-post-active .site-header,
body.kmk-rights-post-active header#masthead,
body.kmk-rights-post-active .sticky-header,
body.kmk-rights-post-active .is-sticky,
body.kmk-rights-post-active .elementor-location-header {
  z-index: 99999 !important;
  box-shadow: 0 1px 0 rgba(16,47,64,.10);
}

body.kmk-rights-post-active .kmk-page section[id] {
  scroll-margin-top: 150px;
}

.kmk-rights-page .kmk-rights-hero {
  background:
    radial-gradient(circle at 82% 14%, rgba(185,134,52,.18), transparent 25rem),
    linear-gradient(135deg, #fbf8f1 0%, #f3eadb 100%);
}

.kmk-rights-hero-card {
  min-width: 0;
  padding: clamp(30px, 4vw, 46px);
  border: 1px solid rgba(185,134,52,.28);
  border-radius: 30px;
  background: rgba(255,255,255,.78);
  box-shadow: var(--kmk-shadow);
}

.kmk-rights-hero-card h2 {
  font-size: clamp(2rem, 2.8vw, 3rem);
}

.kmk-rights-mini-compare {
  display: grid;
  gap: 12px;
  margin: 24px 0;
}

.kmk-rights-mini-compare > div {
  padding: 18px;
  border: 1px solid var(--kmk-line);
  border-radius: 16px;
  background: #fff;
}

.kmk-rights-mini-compare span,
.kmk-rights-mini-compare strong {
  display: block;
}

.kmk-rights-mini-compare span {
  margin-bottom: 5px;
  color: var(--kmk-gold-dark);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kmk-rights-mini-compare strong {
  color: var(--kmk-navy);
  font-size: 1.15rem;
}

.kmk-rights-mini-compare p {
  margin: 7px 0 0;
  color: var(--kmk-muted);
  font-size: .9rem;
}

.kmk-rights-legalnote {
  margin: 0 !important;
  padding-top: 18px;
  border-top: 1px solid var(--kmk-line);
  color: var(--kmk-muted);
  font-size: .82rem !important;
}

.kmk-rights-section-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
  gap: clamp(30px, 5vw, 72px);
  align-items: start;
}

.kmk-rights-example {
  min-width: 0;
  padding: 28px;
  border: 1px solid rgba(185,134,52,.30);
  border-radius: 22px;
  background: var(--kmk-cream);
}

.kmk-rights-example > span {
  display: block;
  margin-bottom: 14px;
  color: var(--kmk-gold-dark);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kmk-rights-example h3 {
  margin-bottom: 12px;
  font-size: 1.35rem;
}

.kmk-rights-example p {
  margin-bottom: 0;
  color: var(--kmk-muted);
}

.kmk-rights-comparison {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.kmk-rights-comparison article {
  min-width: 0;
  padding: clamp(26px, 3vw, 36px);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  background: rgba(255,255,255,.06);
}

.kmk-rights-comparison article.is-featured {
  border-color: rgba(213,170,98,.46);
  background:
    radial-gradient(circle at 88% 12%, rgba(185,134,52,.18), transparent 15rem),
    rgba(255,255,255,.08);
}

.kmk-rights-comparison-label {
  display: inline-flex;
  margin-bottom: 22px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(213,170,98,.14);
  color: #d5aa62;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kmk-rights-comparison h3 {
  color: #fff;
  font-size: clamp(1.45rem, 2vw, 1.8rem);
}

.kmk-rights-comparison ul {
  margin: 18px 0 0 !important;
  padding-left: 20px !important;
  color: rgba(255,255,255,.78);
}

.kmk-rights-comparison li {
  margin-bottom: 10px;
}

.kmk-rights-transfer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.kmk-rights-transfer-grid article {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--kmk-line);
  border-radius: 20px;
  background: #fff;
}

.kmk-rights-transfer-grid article > span {
  display: block;
  margin-bottom: 30px;
  color: var(--kmk-gold-dark);
  font-weight: 800;
}

.kmk-rights-transfer-grid h3 {
  margin-bottom: 10px;
  font-size: 1.18rem;
}

.kmk-rights-transfer-grid p {
  margin-bottom: 0;
  color: var(--kmk-muted);
  font-size: .91rem;
}

.kmk-rights-value-card {
  min-width: 0;
  padding: clamp(28px, 4vw, 42px);
  border: 1px solid rgba(185,134,52,.28);
  border-radius: 24px;
  background:
    radial-gradient(circle at 90% 10%, rgba(185,134,52,.13), transparent 17rem),
    var(--kmk-cream);
}

.kmk-rights-value-card h3 {
  font-size: clamp(1.8rem, 2.8vw, 2.5rem);
}

.kmk-rights-tax-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kmk-rights-tax-grid article {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--kmk-line);
  border-radius: 22px;
  background: #fff;
}

.kmk-rights-tax-grid h3 {
  margin-bottom: 12px;
  font-size: 1.3rem;
}

.kmk-rights-tax-grid p:last-child {
  margin-bottom: 0;
  color: var(--kmk-muted);
}

.kmk-rights-tax-note {
  margin-top: 20px;
  padding: 20px 22px;
  border: 1px solid rgba(185,134,52,.30);
  border-radius: 16px;
  background: #fff8e9;
}

.kmk-rights-tax-note strong {
  display: block;
  color: var(--kmk-navy);
}

.kmk-rights-tax-note p {
  margin: 6px 0 0;
  color: var(--kmk-muted);
}

.kmk-rights-risk-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kmk-rights-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.kmk-rights-choice article {
  min-width: 0;
  padding: clamp(28px, 4vw, 38px);
  border: 1px solid var(--kmk-line);
  border-radius: 22px;
  background: #fff;
}

.kmk-rights-choice article > span {
  display: block;
  margin-bottom: 18px;
  color: var(--kmk-gold-dark);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.kmk-rights-choice h3 {
  margin-bottom: 12px;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.kmk-rights-choice p {
  margin-bottom: 0;
  color: var(--kmk-muted);
}

.kmk-rights-disclaimer {
  padding: 22px 0;
  background: #f0f2f3;
}

.kmk-rights-disclaimer p {
  margin: 0;
  color: #66727a;
  font-size: .83rem;
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .kmk-rights-page .kmk-hero-grid,
  .kmk-rights-section-grid {
    grid-template-columns: 1fr;
  }

  .kmk-rights-transfer-grid,
  .kmk-rights-risk-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .kmk-rights-comparison,
  .kmk-rights-tax-grid,
  .kmk-rights-choice {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .kmk-rights-transfer-grid,
  .kmk-rights-risk-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   v3.4 – Fachbeitrag Immobilienkaufvertrag / Notar
   ========================================================= */

body.kmk-contract-post-active .site-content,
body.kmk-contract-post-active #content,
body.kmk-contract-post-active .content-area,
body.kmk-contract-post-active #primary,
body.kmk-contract-post-active .site-main,
body.kmk-contract-post-active main#main {
  width: 100% !important;
  max-width: none !important;
}

body.kmk-contract-post-active #secondary,
body.kmk-contract-post-active .secondary,
body.kmk-contract-post-active .sidebar,
body.kmk-contract-post-active .widget-area,
body.kmk-contract-post-active aside.sidebar,
body.kmk-contract-post-active .post-navigation,
body.kmk-contract-post-active .nav-links {
  display: none !important;
}

body.kmk-contract-post-active article,
body.kmk-contract-post-active article.post,
body.kmk-contract-post-active .hentry,
body.kmk-contract-post-active .entry-content,
body.kmk-contract-post-active .post-content,
body.kmk-contract-post-active .single-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.kmk-contract-post-active .entry-content,
body.kmk-contract-post-active .post-content,
body.kmk-contract-post-active .single-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.kmk-contract-post-active .entry-title,
body.kmk-contract-post-active .post-title,
body.kmk-contract-post-active .entry-header,
body.kmk-contract-post-active .post-meta,
body.kmk-contract-post-active .entry-meta,
body.kmk-contract-post-active .posted-on,
body.kmk-contract-post-active .byline,
body.kmk-contract-post-active .post-thumbnail,
body.kmk-contract-post-active .featured-image,
body.kmk-contract-post-active .entry-thumbnail {
  display: none !important;
}

body.kmk-contract-post-active .site-header,
body.kmk-contract-post-active header#masthead,
body.kmk-contract-post-active .site-header > *,
body.kmk-contract-post-active header#masthead > *,
body.kmk-contract-post-active .main-header-bar-wrap,
body.kmk-contract-post-active .main-header-bar,
body.kmk-contract-post-active .header-main,
body.kmk-contract-post-active .sticky-header,
body.kmk-contract-post-active .is-sticky,
body.kmk-contract-post-active .main-navigation,
body.kmk-contract-post-active .primary-navigation,
body.kmk-contract-post-active .elementor-location-header {
  background-color: #fff !important;
  background-image: none !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.kmk-contract-post-active .site-header,
body.kmk-contract-post-active header#masthead,
body.kmk-contract-post-active .sticky-header,
body.kmk-contract-post-active .is-sticky,
body.kmk-contract-post-active .elementor-location-header {
  z-index: 99999 !important;
  box-shadow: 0 1px 0 rgba(16,47,64,.10);
}

body.kmk-contract-post-active .kmk-page section[id] {
  scroll-margin-top: 150px;
}

.kmk-contract-page .kmk-contract-hero {
  background:
    radial-gradient(circle at 84% 15%, rgba(185,134,52,.18), transparent 25rem),
    linear-gradient(135deg, #fbf8f1 0%, #f3eadb 100%);
}

.kmk-contract-page .kmk-contract-hero-media > a {
  aspect-ratio: 3 / 2;
}

.kmk-contract-page .kmk-contract-hero-media img {
  object-position: center center !important;
}

.kmk-contract-toc {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.kmk-contract-toc a {
  min-width: 0;
  min-height: 130px;
  padding: 18px;
  border: 1px solid var(--kmk-line);
  border-radius: 16px;
  background: #fff;
  color: var(--kmk-navy);
  text-decoration: none;
  display: flex;
  flex-direction: column;
}

.kmk-contract-toc a span {
  margin-bottom: auto;
  color: var(--kmk-gold-dark);
  font-size: .78rem;
  font-weight: 800;
}

.kmk-contract-toc a strong {
  margin-top: 18px;
  line-height: 1.2;
  overflow-wrap: break-word;
}

.kmk-contract-section-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(285px, .65fr);
  gap: clamp(30px, 5vw, 70px);
  align-items: start;
}

.kmk-contract-key {
  min-width: 0;
  padding: 28px;
  border: 1px solid rgba(185,134,52,.30);
  border-radius: 22px;
  background: var(--kmk-cream);
}

.kmk-contract-key > span {
  display: block;
  margin-bottom: 14px;
  color: var(--kmk-gold-dark);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kmk-contract-key h3 {
  margin-bottom: 12px;
  font-size: 1.35rem;
}

.kmk-contract-key p {
  margin-bottom: 0;
  color: var(--kmk-muted);
}

.kmk-contract-action-grid,
.kmk-contract-chip-grid,
.kmk-contract-checks,
.kmk-contract-doc-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.kmk-contract-action-grid article,
.kmk-contract-checks article {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--kmk-line);
  border-radius: 19px;
  background: #fff;
}

.kmk-contract-action-grid article > span {
  display: block;
  margin-bottom: 30px;
  color: var(--kmk-gold-dark);
  font-weight: 800;
}

.kmk-contract-action-grid h3,
.kmk-contract-checks h3 {
  margin-bottom: 9px;
  font-size: 1.16rem;
}

.kmk-contract-action-grid p,
.kmk-contract-checks p {
  margin-bottom: 0;
  color: var(--kmk-muted);
  font-size: .9rem;
}

.kmk-contract-chip-grid > div,
.kmk-contract-doc-grid > div {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--kmk-line);
  border-radius: 17px;
  background: #fff;
}

.kmk-contract-chip-grid strong,
.kmk-contract-chip-grid span,
.kmk-contract-doc-grid strong,
.kmk-contract-doc-grid span {
  display: block;
}

.kmk-contract-chip-grid strong,
.kmk-contract-doc-grid strong {
  margin-bottom: 7px;
  color: var(--kmk-navy);
}

.kmk-contract-chip-grid span,
.kmk-contract-doc-grid span {
  color: var(--kmk-muted);
  font-size: .86rem;
  line-height: 1.42;
}

.kmk-contract-checks article {
  border-color: rgba(255,255,255,.15);
  background: rgba(255,255,255,.06);
}

.kmk-contract-checks article > span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-bottom: 26px;
  border-radius: 50%;
  background: rgba(213,170,98,.16);
  color: #d5aa62;
  font-weight: 800;
}

.kmk-contract-checks h3 {
  color: #fff;
}

.kmk-contract-checks p {
  color: rgba(255,255,255,.70);
}

.kmk-contract-dark-note {
  margin-top: 20px;
  padding: 20px 22px;
  border: 1px solid rgba(213,170,98,.35);
  border-radius: 16px;
  background: rgba(255,255,255,.05);
}

.kmk-contract-dark-note strong {
  display: block;
  color: #fff;
}

.kmk-contract-dark-note p {
  margin: 6px 0 0;
  color: rgba(255,255,255,.72);
}

.kmk-contract-payment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kmk-contract-payment-grid article {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--kmk-line);
  border-radius: 22px;
  background: #fff;
}

.kmk-contract-payment-grid article.is-highlighted {
  border-color: rgba(185,134,52,.44);
  background:
    radial-gradient(circle at 88% 10%, rgba(185,134,52,.13), transparent 14rem),
    #fff;
}

.kmk-contract-payment-grid h3 {
  margin-bottom: 12px;
  font-size: 1.3rem;
}

.kmk-contract-payment-grid p:last-child {
  margin-bottom: 0;
  color: var(--kmk-muted);
}

.kmk-contract-disclaimer {
  padding: 22px 0;
  background: #f0f2f3;
}

.kmk-contract-disclaimer p {
  margin: 0;
  color: #66727a;
  font-size: .83rem;
  line-height: 1.5;
}

@media (max-width: 1150px) {
  .kmk-contract-toc {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .kmk-contract-action-grid,
  .kmk-contract-chip-grid,
  .kmk-contract-checks,
  .kmk-contract-doc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 950px) {
  .kmk-contract-page .kmk-hero-grid,
  .kmk-contract-section-grid {
    grid-template-columns: 1fr;
  }

  .kmk-contract-payment-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .kmk-contract-toc,
  .kmk-contract-action-grid,
  .kmk-contract-chip-grid,
  .kmk-contract-checks,
  .kmk-contract-doc-grid {
    grid-template-columns: 1fr;
  }

  .kmk-contract-toc a {
    min-height: 0;
  }
}


/* =========================================================
   v3.4.1 – Designkorrektur Kaufvertrag
   ========================================================= */

.kmk-contract-page h1,
.kmk-contract-page h2,
.kmk-contract-page .kmk-contract-key h3,
.kmk-contract-page .kmk-expertise-card h3,
.kmk-contract-page .kmk-info-panel-light h3 {
  text-wrap: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.kmk-contract-page h1 {
  font-size: clamp(2.45rem, 3.05vw, 3.6rem) !important;
  line-height: 1.03 !important;
  max-width: 640px !important;
}

.kmk-contract-page h2 {
  font-size: clamp(1.85rem, 2.5vw, 3.05rem) !important;
  line-height: 1.08 !important;
  max-width: 14ch;
}

.kmk-contract-page .kmk-section-head h2,
.kmk-contract-page .kmk-contract-section-grid > div > h2,
.kmk-contract-page .kmk-feature-copy > h2,
.kmk-contract-page .kmk-two-col > div > h2 {
  max-width: 11.5ch;
}

.kmk-contract-page .kmk-contract-key,
.kmk-contract-page .kmk-expertise-card,
.kmk-contract-page .kmk-info-panel-light {
  min-width: 0;
}

.kmk-contract-page .kmk-contract-key h3 {
  font-size: clamp(1.5rem, 2vw, 2rem);
  line-height: 1.08;
}

.kmk-contract-page .kmk-expertise-card h3,
.kmk-contract-page .kmk-info-panel-light h3 {
  font-size: clamp(1.6rem, 2.15vw, 2.3rem);
  line-height: 1.08;
}

.kmk-contract-page .kmk-contract-key p,
.kmk-contract-page .kmk-expertise-card p,
.kmk-contract-page .kmk-info-panel-light p {
  font-size: 1rem;
  line-height: 1.6;
}

.kmk-contract-page .kmk-hero-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  align-items: start;
}

.kmk-contract-page .kmk-trust-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kmk-contract-page .kmk-trust {
  min-width: 0;
}

.kmk-contract-page .kmk-trust strong {
  display: block;
  margin-bottom: 6px;
}

.kmk-contract-page .kmk-contract-section-grid,
.kmk-contract-page .kmk-feature-grid,
.kmk-contract-page .kmk-two-col {
  align-items: start;
}

.kmk-contract-page .kmk-contract-section-grid {
  grid-template-columns: minmax(0, 1.24fr) minmax(300px, .76fr);
}

.kmk-contract-page .kmk-feature-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
}

@media (max-width: 1200px) {
  .kmk-contract-page h1 {
    font-size: clamp(2.35rem, 3.45vw, 3.25rem) !important;
    max-width: 12.5ch !important;
  }

  .kmk-contract-page h2 {
    font-size: clamp(1.8rem, 2.9vw, 2.8rem) !important;
  }
}

@media (max-width: 980px) {
  .kmk-contract-page .kmk-hero-grid,
  .kmk-contract-page .kmk-contract-section-grid,
  .kmk-contract-page .kmk-feature-grid,
  .kmk-contract-page .kmk-two-col {
    grid-template-columns: 1fr;
  }

  .kmk-contract-page h1,
  .kmk-contract-page h2,
  .kmk-contract-page .kmk-section-head h2,
  .kmk-contract-page .kmk-contract-section-grid > div > h2,
  .kmk-contract-page .kmk-feature-copy > h2,
  .kmk-contract-page .kmk-two-col > div > h2 {
    max-width: none !important;
  }
}

@media (max-width: 700px) {
  .kmk-contract-page h1 {
    font-size: clamp(2rem, 8.5vw, 2.7rem) !important;
    line-height: 1.06 !important;
  }

  .kmk-contract-page h2 {
    font-size: clamp(1.65rem, 7vw, 2.2rem) !important;
    line-height: 1.1 !important;
  }

  .kmk-contract-page .kmk-contract-key h3,
  .kmk-contract-page .kmk-expertise-card h3,
  .kmk-contract-page .kmk-info-panel-light h3 {
    font-size: clamp(1.35rem, 6vw, 1.85rem);
  }
}


/* =========================================================
   v3.4.2 – Kaufvertrag: Typografie + Responsive-Fix
   ========================================================= */

/* Einheitliche Schriftfamilie auf der kompletten Fachseite. */
.kmk-contract-page,
.kmk-contract-page h1,
.kmk-contract-page h2,
.kmk-contract-page h3,
.kmk-contract-page h4,
.kmk-contract-page p,
.kmk-contract-page li,
.kmk-contract-page a,
.kmk-contract-page span,
.kmk-contract-page strong,
.kmk-contract-page summary,
.kmk-contract-page label,
.kmk-contract-page input,
.kmk-contract-page textarea,
.kmk-contract-page select,
.kmk-contract-page button {
  font-family: Arial, Helvetica, sans-serif !important;
}

.kmk-contract-page h1,
.kmk-contract-page h2,
.kmk-contract-page h3,
.kmk-contract-page strong,
.kmk-contract-page span {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
}

.kmk-contract-page h1 {
  font-size: clamp(2.45rem, 3.15vw, 3.35rem) !important;
  line-height: 1.03 !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  max-width: 15ch !important;
}

.kmk-contract-page h2 {
  font-size: clamp(1.85rem, 2.45vw, 2.75rem) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  letter-spacing: -0.028em !important;
  max-width: 18ch !important;
}

.kmk-contract-page h3 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(1.15rem, 1.55vw, 1.45rem) !important;
  line-height: 1.16 !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
}

.kmk-contract-page .kmk-section {
  padding: clamp(56px, 6.2vw, 90px) 0 !important;
}

.kmk-contract-page .kmk-section-head {
  margin-bottom: clamp(28px, 4vw, 44px) !important;
}

/* Hero nicht künstlich verengen. */
.kmk-contract-page .kmk-hero-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr) !important;
  gap: clamp(34px, 5vw, 64px) !important;
}

.kmk-contract-page .kmk-hero-copy,
.kmk-contract-page .kmk-hero-media,
.kmk-contract-page .kmk-trust,
.kmk-contract-page .kmk-contract-key,
.kmk-contract-page .kmk-info-panel,
.kmk-contract-page .kmk-expertise-card {
  min-width: 0 !important;
}

.kmk-contract-page .kmk-trust-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.kmk-contract-page .kmk-trust {
  padding: 16px !important;
}

.kmk-contract-page .kmk-trust strong {
  font-size: .95rem !important;
  line-height: 1.2 !important;
}

.kmk-contract-page .kmk-trust span {
  font-size: .78rem !important;
  line-height: 1.35 !important;
}

/* Inhalts-/Merksatzboxen: gleiche Typografie wie die restliche Seite. */
.kmk-contract-page .kmk-contract-key h3,
.kmk-contract-page .kmk-info-panel-light h3,
.kmk-contract-page .kmk-expertise-card h3 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(1.35rem, 1.8vw, 1.75rem) !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

.kmk-contract-page .kmk-contract-key p,
.kmk-contract-page .kmk-info-panel-light p,
.kmk-contract-page .kmk-expertise-card p {
  font-size: .98rem !important;
  line-height: 1.58 !important;
}

/* Expertise-Card war ursprünglich nur für dunkle Sektionen gebaut.
   In hellen Sektionen (z. B. Schritt 10) wurde der Text dadurch unsichtbar. */
.kmk-contract-page .kmk-section:not(.kmk-section-dark) .kmk-expertise-card {
  border: 1px solid rgba(185,134,52,.30) !important;
  background:
    radial-gradient(circle at 90% 10%, rgba(185,134,52,.12), transparent 16rem),
    #fff !important;
  color: var(--kmk-ink) !important;
  box-shadow: var(--kmk-shadow) !important;
}

.kmk-contract-page .kmk-section:not(.kmk-section-dark) .kmk-expertise-card h3 {
  color: var(--kmk-navy) !important;
}

.kmk-contract-page .kmk-section:not(.kmk-section-dark) .kmk-expertise-card p:not(.kmk-eyebrow) {
  color: var(--kmk-muted) !important;
}

.kmk-contract-page .kmk-section:not(.kmk-section-dark) .kmk-expertise-card .kmk-eyebrow {
  color: var(--kmk-gold-dark) !important;
}

/* Lange Fachbegriffe dürfen in Cards niemals aus dem Container laufen. */
.kmk-contract-page .kmk-contract-action-grid strong,
.kmk-contract-page .kmk-contract-action-grid span,
.kmk-contract-page .kmk-contract-chip-grid strong,
.kmk-contract-page .kmk-contract-chip-grid span,
.kmk-contract-page .kmk-contract-doc-grid strong,
.kmk-contract-page .kmk-contract-doc-grid span,
.kmk-contract-page .kmk-contract-checks strong,
.kmk-contract-page .kmk-contract-checks span {
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
}

/* Fluidere Kartenraster statt starrer 4er-Spalten. */
.kmk-contract-page .kmk-contract-action-grid,
.kmk-contract-page .kmk-contract-chip-grid,
.kmk-contract-page .kmk-contract-checks,
.kmk-contract-page .kmk-contract-doc-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(235px, 100%), 1fr)) !important;
}

.kmk-contract-page .kmk-contract-payment-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)) !important;
}

.kmk-contract-page .kmk-contract-toc {
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)) !important;
}

.kmk-contract-page .kmk-contract-section-grid {
  grid-template-columns: minmax(0, 1.22fr) minmax(300px, .78fr) !important;
  gap: clamp(30px, 5vw, 64px) !important;
}

.kmk-contract-page .kmk-feature-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr) !important;
  gap: clamp(30px, 5vw, 64px) !important;
}

.kmk-contract-page .kmk-two-col {
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr) !important;
  gap: clamp(30px, 5vw, 64px) !important;
  align-items: start !important;
}

/* Ab Laptopbreite einspaltig – vorher wurden lange deutsche Begriffe gequetscht. */
@media (max-width: 1100px) {
  .kmk-contract-page .kmk-hero-grid,
  .kmk-contract-page .kmk-contract-section-grid,
  .kmk-contract-page .kmk-feature-grid,
  .kmk-contract-page .kmk-two-col {
    grid-template-columns: 1fr !important;
  }

  .kmk-contract-page .kmk-hero-media {
    width: min(100%, 720px) !important;
  }

  .kmk-contract-page h1,
  .kmk-contract-page h2 {
    max-width: 22ch !important;
  }
}

@media (max-width: 820px) {
  .kmk-contract-page .kmk-trust-grid {
    grid-template-columns: 1fr !important;
  }

  .kmk-contract-page h1 {
    font-size: clamp(2.15rem, 8vw, 2.8rem) !important;
    max-width: none !important;
  }

  .kmk-contract-page h2 {
    font-size: clamp(1.65rem, 6.7vw, 2.2rem) !important;
    max-width: none !important;
  }
}


/* =========================================================
   v3.5 – Kontaktseite + Contact Form 7
   ========================================================= */

body.kmk-contact-post-active .site-content,
body.kmk-contact-post-active #content,
body.kmk-contact-post-active .content-area,
body.kmk-contact-post-active #primary,
body.kmk-contact-post-active .site-main,
body.kmk-contact-post-active main#main {
  width: 100% !important;
  max-width: none !important;
}

body.kmk-contact-post-active #secondary,
body.kmk-contact-post-active .secondary,
body.kmk-contact-post-active .sidebar,
body.kmk-contact-post-active .widget-area,
body.kmk-contact-post-active aside.sidebar,
body.kmk-contact-post-active .post-navigation,
body.kmk-contact-post-active .nav-links {
  display: none !important;
}

body.kmk-contact-post-active article,
body.kmk-contact-post-active article.post,
body.kmk-contact-post-active .hentry,
body.kmk-contact-post-active .entry-content,
body.kmk-contact-post-active .post-content,
body.kmk-contact-post-active .single-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.kmk-contact-post-active .entry-content,
body.kmk-contact-post-active .post-content,
body.kmk-contact-post-active .single-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.kmk-contact-post-active .entry-title,
body.kmk-contact-post-active .post-title,
body.kmk-contact-post-active .entry-header,
body.kmk-contact-post-active .post-meta,
body.kmk-contact-post-active .entry-meta,
body.kmk-contact-post-active .posted-on,
body.kmk-contact-post-active .byline,
body.kmk-contact-post-active .post-thumbnail,
body.kmk-contact-post-active .featured-image,
body.kmk-contact-post-active .entry-thumbnail {
  display: none !important;
}

body.kmk-contact-post-active .site-header,
body.kmk-contact-post-active header#masthead,
body.kmk-contact-post-active .site-header > *,
body.kmk-contact-post-active header#masthead > *,
body.kmk-contact-post-active .main-header-bar-wrap,
body.kmk-contact-post-active .main-header-bar,
body.kmk-contact-post-active .header-main,
body.kmk-contact-post-active .sticky-header,
body.kmk-contact-post-active .is-sticky,
body.kmk-contact-post-active .main-navigation,
body.kmk-contact-post-active .primary-navigation,
body.kmk-contact-post-active .elementor-location-header {
  background-color: #fff !important;
  background-image: none !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.kmk-contact-post-active .site-header,
body.kmk-contact-post-active header#masthead,
body.kmk-contact-post-active .sticky-header,
body.kmk-contact-post-active .is-sticky,
body.kmk-contact-post-active .elementor-location-header {
  z-index: 99999 !important;
  box-shadow: 0 1px 0 rgba(16,47,64,.10);
}

.kmk-contact-page,
.kmk-contact-page h1,
.kmk-contact-page h2,
.kmk-contact-page h3,
.kmk-contact-page p,
.kmk-contact-page a,
.kmk-contact-page span,
.kmk-contact-page strong,
.kmk-contact-page label,
.kmk-contact-page input,
.kmk-contact-page textarea,
.kmk-contact-page select,
.kmk-contact-page button {
  font-family: Arial, Helvetica, sans-serif !important;
}

.kmk-contact-page {
  color: var(--kmk-ink);
  background: #fff;
}

.kmk-contact-hero {
  padding: clamp(55px, 7vw, 105px) 0;
  background:
    radial-gradient(circle at 84% 10%, rgba(185,134,52,.18), transparent 25rem),
    linear-gradient(135deg, #fbf8f1 0%, #f3eadb 100%);
}

.kmk-contact-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
  gap: clamp(34px, 6vw, 80px);
  align-items: center;
}

.kmk-contact-hero-copy {
  min-width: 0;
}

.kmk-contact-page .kmk-contact-hero-copy h1 {
  max-width: 760px;
  margin: 0 0 24px;
  color: var(--kmk-navy);
  font-size: clamp(2.55rem, 4.2vw, 4.35rem);
  line-height: 1.02;
  letter-spacing: -.035em;
  font-weight: 750;
}

.kmk-contact-page .kmk-lead {
  max-width: 760px;
}

.kmk-contact-direct {
  min-width: 0;
  padding: clamp(28px, 4vw, 42px);
  border: 1px solid rgba(185,134,52,.28);
  border-radius: 28px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 22px 54px rgba(16,47,64,.08);
}

.kmk-contact-direct h2 {
  margin: 0 0 22px;
  color: var(--kmk-navy);
  font-size: clamp(1.75rem, 2.5vw, 2.5rem);
  line-height: 1.08;
  letter-spacing: -.02em;
}

.kmk-contact-direct-list {
  display: grid;
  gap: 10px;
}

.kmk-contact-direct-list a {
  display: block;
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid rgba(16,47,64,.10);
  border-radius: 15px;
  background: #fff;
  color: var(--kmk-navy);
  text-decoration: none;
  transition: border-color .18s ease, transform .18s ease;
}

.kmk-contact-direct-list a:hover,
.kmk-contact-direct-list a:focus {
  border-color: rgba(185,134,52,.55);
  transform: translateY(-1px);
}

.kmk-contact-direct-list span,
.kmk-contact-direct-list strong {
  display: block;
}

.kmk-contact-direct-list span {
  margin-bottom: 5px;
  color: var(--kmk-gold-dark);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.kmk-contact-direct-list strong {
  font-size: .96rem;
  line-height: 1.35;
}

.kmk-contact-main {
  padding: clamp(60px, 8vw, 112px) 0;
  background: #fff;
}

.kmk-contact-main-grid {
  display: grid;
  grid-template-columns: minmax(280px, .74fr) minmax(0, 1.26fr);
  gap: clamp(34px, 6vw, 76px);
  align-items: start;
}

.kmk-contact-main-copy h2 {
  max-width: 11ch;
  margin: 0 0 20px;
  color: var(--kmk-navy);
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: 1.06;
  letter-spacing: -.025em;
}

.kmk-contact-main-copy > p:not(.kmk-eyebrow) {
  color: var(--kmk-muted);
  font-size: 1.02rem;
  line-height: 1.65;
}

.kmk-contact-reasons {
  display: grid;
  gap: 10px;
  margin: 28px 0;
}

.kmk-contact-reasons > div {
  padding: 15px 17px;
  border: 1px solid var(--kmk-line);
  border-radius: 14px;
  background: var(--kmk-cream);
}

.kmk-contact-reasons strong,
.kmk-contact-reasons span {
  display: block;
}

.kmk-contact-reasons strong {
  color: var(--kmk-navy);
  font-size: .98rem;
}

.kmk-contact-reasons span {
  margin-top: 3px;
  color: var(--kmk-muted);
  font-size: .84rem;
}

.kmk-contact-phone-card {
  display: block;
  padding: 18px 20px;
  border-radius: 16px;
  background: var(--kmk-navy);
  color: #fff !important;
  text-decoration: none;
}

.kmk-contact-phone-card span,
.kmk-contact-phone-card strong {
  display: block;
}

.kmk-contact-phone-card span {
  color: rgba(255,255,255,.68);
  font-size: .78rem;
}

.kmk-contact-phone-card strong {
  margin-top: 4px;
  font-size: 1.35rem;
}

.kmk-contact-form-shell {
  min-width: 0;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgba(16,47,64,.12);
  border-radius: 26px;
  background: #fbfaf7;
  box-shadow: 0 22px 54px rgba(16,47,64,.08);
}

.kmk-contact-form-head {
  margin-bottom: 26px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(16,47,64,.10);
}

.kmk-contact-form-head > span {
  display: block;
  margin-bottom: 7px;
  color: var(--kmk-gold-dark);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.kmk-contact-form-head h3 {
  margin: 0;
  color: var(--kmk-navy);
  font-size: clamp(1.45rem, 2vw, 1.85rem);
  line-height: 1.12;
}

.kmk-contact-form-head p {
  margin: 8px 0 0;
  color: var(--kmk-muted);
  font-size: .9rem;
}

/* Contact Form 7 nur auf der Kontaktseite überschreiben.
   Das CF7-Plugin selbst wird NICHT verändert. */
.kmk-contact-page .wpcf7 {
  width: 100%;
  margin: 0 !important;
}

.kmk-contact-page .wpcf7 form {
  width: 100%;
  margin: 0 !important;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px 18px;
}

.kmk-contact-page .wpcf7 form > p {
  min-width: 0;
  margin: 0 !important;
}

.kmk-contact-page .wpcf7 form > p:has(textarea),
.kmk-contact-page .wpcf7 form > p:has(.wpcf7-acceptance),
.kmk-contact-page .wpcf7 form > p:has(input[type="submit"]),
.kmk-contact-page .wpcf7 form > p:has(button[type="submit"]),
.kmk-contact-page .wpcf7 .wpcf7-response-output {
  grid-column: 1 / -1;
}

.kmk-contact-page .wpcf7 label {
  display: block;
  color: var(--kmk-navy) !important;
  font-size: .86rem !important;
  font-weight: 750 !important;
  line-height: 1.35;
}

.kmk-contact-page .wpcf7 .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.kmk-contact-page .wpcf7 input[type="text"],
.kmk-contact-page .wpcf7 input[type="email"],
.kmk-contact-page .wpcf7 input[type="tel"],
.kmk-contact-page .wpcf7 input[type="url"],
.kmk-contact-page .wpcf7 input[type="number"],
.kmk-contact-page .wpcf7 select,
.kmk-contact-page .wpcf7 textarea {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 54px !important;
  margin: 8px 0 0 !important;
  padding: 13px 15px !important;
  border: 1px solid rgba(16,47,64,.17) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--kmk-ink) !important;
  font-size: .96rem !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.kmk-contact-page .wpcf7 textarea {
  min-height: 165px !important;
  resize: vertical !important;
}

.kmk-contact-page .wpcf7 input:focus,
.kmk-contact-page .wpcf7 select:focus,
.kmk-contact-page .wpcf7 textarea:focus {
  border-color: var(--kmk-gold) !important;
  box-shadow: 0 0 0 3px rgba(185,134,52,.12) !important;
  background: #fff !important;
}

.kmk-contact-page .wpcf7 input::placeholder,
.kmk-contact-page .wpcf7 textarea::placeholder {
  color: #87939a;
  opacity: 1;
}

.kmk-contact-page .wpcf7 .wpcf7-acceptance,
.kmk-contact-page .wpcf7 .wpcf7-list-item {
  display: block;
  margin: 0 !important;
}

.kmk-contact-page .wpcf7 .wpcf7-acceptance label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--kmk-muted) !important;
  font-size: .83rem !important;
  font-weight: 500 !important;
}

.kmk-contact-page .wpcf7 input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px !important;
  height: 18px !important;
  margin: 1px 0 0 !important;
  accent-color: var(--kmk-navy);
}

.kmk-contact-page .wpcf7 input[type="submit"],
.kmk-contact-page .wpcf7 button[type="submit"] {
  width: 100% !important;
  min-height: 56px !important;
  margin: 2px 0 0 !important;
  padding: 15px 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--kmk-navy) !important;
  color: #fff !important;
  font-size: .98rem !important;
  font-weight: 800 !important;
  cursor: pointer;
  box-shadow: none !important;
}

.kmk-contact-page .wpcf7 input[type="submit"]:hover,
.kmk-contact-page .wpcf7 input[type="submit"]:focus,
.kmk-contact-page .wpcf7 button[type="submit"]:hover,
.kmk-contact-page .wpcf7 button[type="submit"]:focus {
  background: var(--kmk-navy-2) !important;
}

.kmk-contact-page .wpcf7 .wpcf7-spinner {
  margin: 10px auto 0;
}

.kmk-contact-page .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px !important;
  color: #a52626 !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
}

.kmk-contact-page .wpcf7 form .wpcf7-response-output {
  margin: 0 !important;
  padding: 12px 14px !important;
  border-radius: 10px !important;
  font-size: .85rem !important;
  line-height: 1.45;
}

.kmk-contact-note {
  padding: 22px 0;
  background: #f0f2f3;
}

.kmk-contact-note-inner p {
  margin: 0;
  color: #66727a;
  font-size: .83rem;
  line-height: 1.5;
}

.kmk-contact-note-inner a {
  color: var(--kmk-navy);
  font-weight: 700;
}

@media (max-width: 960px) {
  .kmk-contact-hero-grid,
  .kmk-contact-main-grid {
    grid-template-columns: 1fr;
  }

  .kmk-contact-main-copy h2 {
    max-width: none;
  }
}

@media (max-width: 720px) {
  .kmk-contact-page .wpcf7 form {
    grid-template-columns: 1fr;
  }

  .kmk-contact-page .wpcf7 form > p,
  .kmk-contact-page .wpcf7 .wpcf7-response-output {
    grid-column: 1 !important;
  }

  .kmk-contact-form-shell {
    padding: 22px 18px;
    border-radius: 20px;
  }

  .kmk-contact-page .kmk-contact-hero-copy h1 {
    font-size: clamp(2.15rem, 10vw, 3rem);
  }
}


/* =========================================================
   v3.5.1 – Kontakt: Local SEO, NAP & rechtliche Links
   ========================================================= */

.kmk-contact-nap {
  margin: 18px 0 0;
  padding: 20px;
  border: 1px solid rgba(185,134,52,.28);
  border-radius: 16px;
  background: var(--kmk-cream);
  color: var(--kmk-ink);
  font-style: normal;
}

.kmk-contact-nap-label,
.kmk-contact-nap strong,
.kmk-contact-nap > span,
.kmk-contact-nap a {
  display: block;
}

.kmk-contact-nap-label {
  margin-bottom: 8px;
  color: var(--kmk-gold-dark);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kmk-contact-nap strong {
  margin-bottom: 8px;
  color: var(--kmk-navy);
  font-size: .96rem;
  line-height: 1.35;
}

.kmk-contact-nap > span:not(.kmk-contact-nap-label) {
  margin-bottom: 10px;
  color: var(--kmk-muted);
  font-size: .88rem;
  line-height: 1.55;
}

.kmk-contact-nap a {
  width: fit-content;
  margin-top: 5px;
  color: var(--kmk-navy);
  font-size: .88rem;
  font-weight: 750;
  text-decoration: underline;
  text-decoration-color: rgba(16,47,64,.28);
  text-underline-offset: 3px;
}

.kmk-contact-form-legal {
  margin-top: 20px;
  padding-top: 17px;
  border-top: 1px solid rgba(16,47,64,.10);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 9px;
  color: var(--kmk-muted);
  font-size: .78rem;
  line-height: 1.45;
}

.kmk-contact-form-legal > span:first-child {
  width: 100%;
  color: var(--kmk-muted);
}

.kmk-contact-form-legal a {
  color: var(--kmk-navy);
  font-weight: 750;
  text-decoration: underline;
  text-decoration-color: rgba(16,47,64,.24);
  text-underline-offset: 3px;
}

@media (max-width: 720px) {
  .kmk-contact-nap {
    padding: 17px;
  }
}


/* =========================================================
   v3.6 – globale Responsive-Härtung der Plugin-Landingpages
   ========================================================= */
body.kmk-landingpage-active .kmk-page,
body.kmk-landingpage-active .kmk-page * {
  box-sizing: border-box;
}

body.kmk-landingpage-active .kmk-page img,
body.kmk-landingpage-active .kmk-page video,
body.kmk-landingpage-active .kmk-page iframe {
  max-width: 100%;
}

body.kmk-landingpage-active .kmk-page img {
  height: auto;
}

body.kmk-landingpage-active .kmk-page h1,
body.kmk-landingpage-active .kmk-page h2,
body.kmk-landingpage-active .kmk-page h3,
body.kmk-landingpage-active .kmk-page h4 {
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}

body.kmk-landingpage-active .kmk-page [class*="grid"] > *,
body.kmk-landingpage-active .kmk-page [class*="Grid"] > * {
  min-width: 0;
}

body.kmk-landingpage-active .kmk-page .kmk-btn {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}


/* =========================================================
   v3.7 – Referenzobjekte / erfolgreich vermittelte Immobilien
   ========================================================= */

body.kmk-references-post-active .site-content,
body.kmk-references-post-active #content,
body.kmk-references-post-active .content-area,
body.kmk-references-post-active #primary,
body.kmk-references-post-active .site-main,
body.kmk-references-post-active main#main {
  width: 100% !important;
  max-width: none !important;
}

.kmk-references-page,
.kmk-references-page *,
.kmk-references-page h1,
.kmk-references-page h2,
.kmk-references-page h3 {
  font-family: Arial, Helvetica, sans-serif !important;
}

.kmk-references-page h1,
.kmk-references-page h2 {
  font-weight: 760 !important;
  letter-spacing: -0.035em !important;
  text-wrap: balance;
}

.kmk-references-page h1 {
  max-width: 780px !important;
  font-size: clamp(2.65rem, 4vw, 4.35rem) !important;
  line-height: 1.02 !important;
}

.kmk-references-page h2 {
  font-size: clamp(2rem, 3.2vw, 3.15rem) !important;
  line-height: 1.06 !important;
}

.kmk-references-hero {
  background:
    radial-gradient(circle at 88% 12%, rgba(185,134,52,.18), transparent 26rem),
    linear-gradient(135deg, #fbf8f1 0%, #f3eadb 100%);
}

.kmk-references-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
  gap: clamp(40px, 6vw, 84px);
  align-items: center;
}

.kmk-references-proof {
  min-width: 0;
  padding: clamp(26px, 3.5vw, 40px);
  border: 1px solid rgba(185,134,52,.30);
  border-radius: 28px;
  background: rgba(255,255,255,.78);
  box-shadow: var(--kmk-shadow);
}

.kmk-references-proof-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.kmk-references-proof-grid > div {
  min-width: 0;
  min-height: 125px;
  padding: 18px;
  border: 1px solid var(--kmk-line);
  border-radius: 17px;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.kmk-references-proof-grid strong,
.kmk-references-proof-grid span {
  display: block;
}

.kmk-references-proof-grid strong {
  color: var(--kmk-navy);
  font-size: 1.18rem;
  line-height: 1.15;
}

.kmk-references-proof-grid span {
  margin-top: 6px;
  color: var(--kmk-muted);
  font-size: .82rem;
  line-height: 1.35;
}

.kmk-reference-carousel-shell {
  position: relative;
  min-width: 0;
  padding: clamp(16px, 2vw, 24px);
  border: 1px solid rgba(185,134,52,.24);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(16,47,64,.08);
  overflow: hidden;
}

/* SP WP Carousel nur innerhalb dieser Seite modernisieren. */
.kmk-reference-carousel-shell .wpcp-carousel-section,
.kmk-reference-carousel-shell .sp-wpcp-wrapper,
.kmk-reference-carousel-shell .wpcp-carousel-wrapper,
.kmk-reference-carousel-shell .sp-wpcarousel,
.kmk-reference-carousel-shell .swiper,
.kmk-reference-carousel-shell .slick-list {
  max-width: 100% !important;
  margin: 0 !important;
}

.kmk-reference-carousel-shell img {
  max-width: 100% !important;
  border-radius: 16px !important;
}

.kmk-reference-carousel-shell .swiper-button-next,
.kmk-reference-carousel-shell .swiper-button-prev,
.kmk-reference-carousel-shell .slick-arrow,
.kmk-reference-carousel-shell [class*="wpcp-prev"],
.kmk-reference-carousel-shell [class*="wpcp-next"] {
  border-radius: 999px !important;
}

.kmk-reference-native-carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(245px, 31%);
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  padding-bottom: 8px;
}

.kmk-reference-native-carousel article {
  scroll-snap-align: start;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--kmk-line);
  border-radius: 18px;
  background: var(--kmk-cream-2);
}

.kmk-reference-native-carousel img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0 !important;
}

.kmk-reference-native-carousel article > div {
  padding: 14px;
}

.kmk-reference-native-carousel span,
.kmk-reference-native-carousel strong {
  display: block;
}

.kmk-reference-native-carousel span {
  color: var(--kmk-gold-dark);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.kmk-reference-native-carousel strong {
  margin-top: 3px;
  color: var(--kmk-navy);
}

.kmk-reference-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.kmk-reference-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--kmk-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(16,47,64,.06);
}

.kmk-reference-card-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #eef1f2;
}

.kmk-reference-card-media img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  transition: transform .35s ease;
}

.kmk-reference-card:hover .kmk-reference-card-media img {
  transform: scale(1.025);
}

.kmk-reference-status {
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(16,47,64,.92);
  color: #fff !important;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.kmk-reference-card-body {
  padding: 20px;
}

.kmk-reference-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-bottom: 13px;
}

.kmk-reference-meta span {
  color: var(--kmk-gold-dark);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.kmk-reference-card h3 {
  margin: 0 !important;
  color: var(--kmk-navy);
  font-size: 1.06rem !important;
  font-weight: 760 !important;
  line-height: 1.35 !important;
  letter-spacing: -.012em !important;
  overflow-wrap: anywhere !important;
}

.kmk-reference-competence-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.kmk-reference-competence-grid article {
  min-width: 0;
  padding: 26px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 20px;
  background: rgba(255,255,255,.06);
}

.kmk-reference-competence-grid article > span {
  display: block;
  margin-bottom: 32px;
  color: #d5aa62 !important;
  font-size: .78rem;
  font-weight: 800;
}

.kmk-reference-competence-grid h3 {
  color: #fff !important;
  font-size: 1.2rem !important;
}

.kmk-reference-competence-grid p {
  margin-bottom: 0;
  color: rgba(255,255,255,.72);
  font-size: .92rem;
}

@media (max-width: 1100px) {
  .kmk-references-hero-grid {
    grid-template-columns: 1fr;
  }

  .kmk-references-proof {
    max-width: 760px;
  }

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

  .kmk-reference-competence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .kmk-references-page h1 {
    font-size: clamp(2.15rem, 10vw, 2.9rem) !important;
  }

  .kmk-references-proof-grid,
  .kmk-reference-grid,
  .kmk-reference-competence-grid {
    grid-template-columns: 1fr;
  }

  .kmk-reference-native-carousel {
    grid-auto-columns: 82%;
  }

  .kmk-reference-card-body {
    padding: 18px;
  }
}


/* =========================================================
   v3.7.1 – Hauptnavigation Düsseldorf-Wohninvest
   ========================================================= */

.kmk-global-site-nav-wrap,
.kmk-global-site-nav-wrap * {
  box-sizing: border-box;
}

.kmk-global-site-nav-wrap {
  position: relative;
  z-index: 99950;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #e7ebee;
  font-family: Arial, Helvetica, sans-serif;
}

.kmk-global-site-nav {
  width: 100%;
  background: #fff;
}

.kmk-global-site-nav-inner {
  width: min(1340px, calc(100% - 48px));
  min-height: 64px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

.kmk-global-site-nav-desktop {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.kmk-global-site-nav-desktop > li {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex;
  align-items: center;
}

.kmk-global-site-nav-desktop > li > a {
  min-height: 64px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #101927 !important;
  text-decoration: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.kmk-global-site-nav-desktop > li:first-child > a {
  padding-left: 0;
}

.kmk-global-site-nav-desktop > li > a:hover,
.kmk-global-site-nav-desktop > li > a:focus-visible,
.kmk-global-site-nav-desktop > li.is-current > a {
  color: #94671f !important;
}

.kmk-global-has-submenu > a > span {
  margin-top: -2px;
  font-size: 15px;
  font-weight: 500;
}

.kmk-global-submenu {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  z-index: 99960;
  width: max-content;
  min-width: 230px;
  margin: 0 !important;
  padding: 9px !important;
  list-style: none !important;
  border: 1px solid #e2e7ea;
  border-radius: 0 0 14px 14px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(16, 47, 64, .12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(7px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.kmk-global-submenu li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.kmk-global-submenu a {
  width: 100%;
  padding: 10px 12px;
  border-radius: 9px;
  display: block;
  color: #102f40 !important;
  text-decoration: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}

.kmk-global-submenu a:hover,
.kmk-global-submenu a:focus-visible,
.kmk-global-submenu a[aria-current="page"] {
  background: #f7f1e7;
  color: #94671f !important;
}

.kmk-global-has-submenu:hover > .kmk-global-submenu,
.kmk-global-has-submenu:focus-within > .kmk-global-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.kmk-global-site-nav-mobile {
  display: none;
  width: 100%;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.kmk-global-mobile-home {
  color: #102f40 !important;
  text-decoration: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
}

.kmk-global-site-nav-mobile details {
  position: relative;
  margin-left: auto;
}

.kmk-global-site-nav-mobile summary {
  cursor: pointer;
  list-style: none;
  padding: 9px 14px;
  border: 1px solid rgba(16,47,64,.18);
  border-radius: 999px;
  background: #fff;
  color: #102f40;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 800;
}

.kmk-global-site-nav-mobile summary::-webkit-details-marker {
  display: none;
}

.kmk-global-mobile-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 99970;
  width: min(310px, calc(100vw - 32px));
  padding: 10px;
  border: 1px solid #e2e7ea;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(16,47,64,.14);
}

.kmk-global-mobile-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 9px;
  color: #102f40 !important;
  text-decoration: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
}

.kmk-global-mobile-menu a:hover,
.kmk-global-mobile-menu a[aria-current="page"] {
  background: #f7f1e7;
  color: #94671f !important;
}

@media (max-width: 980px) {
  .kmk-global-site-nav-inner {
    width: min(100% - 32px, 1340px);
  }

  .kmk-global-site-nav-desktop {
    display: none;
  }

  .kmk-global-site-nav-mobile {
    display: flex;
  }
}

@media (max-width: 420px) {
  .kmk-global-site-nav-inner {
    width: calc(100% - 24px);
  }

  .kmk-global-mobile-home {
    font-size: 13px !important;
  }
}


/* =========================================================
   v3.8 – Technische Bereinigung / Rechtstexte / Breadcrumbs
   ========================================================= */

.kmk-legal-main {
  width: 100%;
}

.kmk-legal-page,
.kmk-legal-page * {
  box-sizing: border-box;
}

.kmk-legal-page {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--kmk-ink);
  background: #fff;
}

.kmk-legal-hero {
  padding: clamp(54px, 7vw, 90px) 0 clamp(36px, 5vw, 60px);
  background:
    radial-gradient(circle at 88% 12%, rgba(185,134,52,.13), transparent 24rem),
    linear-gradient(135deg, #fbf8f1 0%, #f5efe4 100%);
  border-bottom: 1px solid rgba(16,47,64,.08);
}

.kmk-legal-page .kmk-legal-hero h1 {
  max-width: 900px !important;
  margin: 0 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(2.35rem, 4vw, 4rem) !important;
  font-weight: 760 !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
}

.kmk-legal-content-section {
  padding-top: clamp(48px, 6vw, 82px);
}

.kmk-legal-content {
  max-width: 900px;
}

.kmk-legal-content h2,
.kmk-legal-content h3,
.kmk-legal-content h4 {
  font-family: Arial, Helvetica, sans-serif !important;
  color: var(--kmk-navy);
  text-wrap: pretty;
}

.kmk-legal-content h2 {
  margin: 2.25rem 0 .9rem;
  font-size: clamp(1.55rem, 2.2vw, 2.15rem) !important;
  line-height: 1.12 !important;
  font-weight: 760 !important;
}

.kmk-legal-content h3 {
  margin: 1.8rem 0 .7rem;
  font-size: 1.2rem !important;
  line-height: 1.25 !important;
}

.kmk-legal-content p,
.kmk-legal-content li,
.kmk-legal-content address {
  color: #344954;
  font-size: 1rem;
  line-height: 1.72;
}

.kmk-legal-content a {
  color: var(--kmk-navy);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.kmk-legal-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.4rem 0;
}

.kmk-legal-content th,
.kmk-legal-content td {
  padding: 12px 14px;
  border: 1px solid var(--kmk-line);
  vertical-align: top;
  text-align: left;
}

.kmk-breadcrumb-shell {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.kmk-breadcrumbs {
  padding: 14px 0;
  color: var(--kmk-muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: .8rem;
  line-height: 1.4;
}

.kmk-breadcrumbs a {
  color: var(--kmk-navy);
  text-decoration: none;
}

.kmk-breadcrumbs a:hover {
  text-decoration: underline;
}

@media (max-width: 620px) {
  .kmk-legal-content {
    overflow-wrap: anywhere;
  }

  .kmk-legal-content table {
    display: block;
    overflow-x: auto;
  }
}


/* =========================================================
   v3.8.1 – Datenschutzerklärung
   ========================================================= */

.kmk-privacy-content,
.kmk-privacy-content * {
  box-sizing: border-box;
}

.kmk-privacy-content {
  color: var(--kmk-ink);
  font-family: Arial, Helvetica, sans-serif;
}

.kmk-privacy-intro {
  margin-bottom: 34px;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(185,134,52,.26);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 10%, rgba(185,134,52,.12), transparent 17rem),
    #fbf8f2;
}

.kmk-privacy-intro-copy {
  max-width: 780px;
}

.kmk-privacy-intro h2,
.kmk-privacy-section h2,
.kmk-privacy-section h3 {
  font-family: Arial, Helvetica, sans-serif !important;
}

.kmk-privacy-intro h2 {
  max-width: 760px;
  margin-bottom: 12px;
  color: var(--kmk-navy);
  font-size: clamp(1.8rem, 3vw, 2.55rem) !important;
  font-weight: 760 !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

.kmk-privacy-intro p {
  max-width: 760px;
  color: var(--kmk-muted);
}

.kmk-privacy-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.kmk-privacy-nav a {
  padding: 8px 12px;
  border: 1px solid rgba(16,47,64,.14);
  border-radius: 999px;
  background: #fff;
  color: var(--kmk-navy) !important;
  font-size: .8rem;
  font-weight: 750;
  text-decoration: none !important;
}

.kmk-privacy-nav a:hover {
  border-color: rgba(185,134,52,.45);
  background: var(--kmk-cream);
}

.kmk-privacy-section {
  padding: 34px 0;
  scroll-margin-top: 130px;
}

.kmk-privacy-section + .kmk-privacy-section {
  border-top: 1px solid var(--kmk-line);
}

.kmk-privacy-section-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  margin-bottom: 20px;
}

.kmk-privacy-section-head > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--kmk-navy);
  color: #fff !important;
  font-size: .74rem;
  font-weight: 800;
}

.kmk-privacy-section-head .kmk-eyebrow {
  margin-bottom: 3px;
}

.kmk-privacy-section h2 {
  margin: 0 !important;
  max-width: 800px;
  color: var(--kmk-navy);
  font-size: clamp(1.7rem, 2.55vw, 2.35rem) !important;
  font-weight: 760 !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
}

.kmk-privacy-card {
  min-width: 0;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid var(--kmk-line);
  border-radius: 20px;
  background: #fff;
}

.kmk-privacy-card-accent {
  border-color: rgba(185,134,52,.30);
  background:
    radial-gradient(circle at 92% 8%, rgba(185,134,52,.10), transparent 15rem),
    #fff;
}

.kmk-privacy-card h3 {
  margin: 0 0 14px !important;
  color: var(--kmk-navy);
  font-size: 1.2rem !important;
  font-weight: 760 !important;
  line-height: 1.25 !important;
}

.kmk-privacy-card p:last-child {
  margin-bottom: 0;
}

.kmk-privacy-card a {
  overflow-wrap: anywhere;
}

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

.kmk-privacy-contact-list {
  display: grid;
  gap: 0;
  margin-top: 18px;
}

.kmk-privacy-contact-list > div {
  display: grid;
  grid-template-columns: minmax(130px, .6fr) minmax(0, 1.4fr);
  gap: 18px;
  padding: 12px 0;
  border-top: 1px solid var(--kmk-line);
}

.kmk-privacy-contact-list span {
  color: var(--kmk-muted);
  font-size: .77rem;
  font-weight: 750;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.kmk-privacy-contact-list strong {
  color: var(--kmk-navy);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.kmk-privacy-subheading {
  margin-top: 26px !important;
  padding-top: 22px;
  border-top: 1px solid var(--kmk-line);
}

.kmk-privacy-stack {
  display: grid;
  gap: 14px;
}

@media (max-width: 760px) {
  .kmk-privacy-contact-grid {
    grid-template-columns: 1fr;
  }

  .kmk-privacy-contact-list > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .kmk-privacy-section-head {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 11px;
  }

  .kmk-privacy-section-head > span {
    width: 34px;
    height: 34px;
  }
}


/* =========================================================
   v3.9 – Globaler moderner Footer
   ========================================================= */

body.kmk-modern-footer-active #colophon,
body.kmk-modern-footer-active .site-footer {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.kmk-modern-footer-active #colophon .widget-area,
body.kmk-modern-footer-active #colophon .footer-widgets,
body.kmk-modern-footer-active #colophon .footer-widget-area,
body.kmk-modern-footer-active #colophon .footer-sidebar,
body.kmk-modern-footer-active #colophon .site-info,
body.kmk-modern-footer-active #colophon .footer-navigation,
body.kmk-modern-footer-active .site-footer .widget-area,
body.kmk-modern-footer-active .site-footer .footer-widgets,
body.kmk-modern-footer-active .site-footer .footer-widget-area,
body.kmk-modern-footer-active .site-footer .footer-sidebar,
body.kmk-modern-footer-active .site-footer .site-info,
body.kmk-modern-footer-active .site-footer .footer-navigation {
  display: none !important;
}

body.kmk-modern-footer-active #colophon .kmk-modern-footer,
body.kmk-modern-footer-active .site-footer .kmk-modern-footer {
  display: block !important;
}

.kmk-modern-footer,
.kmk-modern-footer * {
  box-sizing: border-box;
}

.kmk-modern-footer {
  position: relative;
  z-index: 20;
  width: 100%;
  margin: 0;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  background: #0d2938;
  overflow: hidden;
}

.kmk-modern-footer a {
  text-decoration: none;
}

.kmk-footer-shell {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
}

.kmk-footer-cta {
  position: relative;
  border-top: 1px solid rgba(185,134,52,.42);
  border-bottom: 1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 86% 0%, rgba(185,134,52,.20), transparent 24rem),
    #123748;
}

.kmk-footer-cta-inner {
  min-height: 178px;
  padding-top: 36px;
  padding-bottom: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.kmk-footer-cta-copy {
  max-width: 700px;
}

.kmk-footer-kicker {
  display: block;
  margin-bottom: 10px;
  color: #d7b16d;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.kmk-footer-cta-copy > strong {
  display: block;
  color: #fff;
  font-size: clamp(1.45rem, 2.5vw, 2.25rem);
  font-weight: 760;
  line-height: 1.12;
  letter-spacing: -.025em;
}

.kmk-footer-cta-copy p {
  margin: 9px 0 0;
  color: rgba(255,255,255,.70);
  font-size: .96rem;
  line-height: 1.55;
}

.kmk-footer-cta-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

.kmk-footer-phone {
  min-width: 190px;
  padding: 11px 17px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  color: #fff !important;
  transition: background .18s ease, border-color .18s ease;
}

.kmk-footer-phone:hover {
  border-color: rgba(215,177,109,.55);
  background: rgba(255,255,255,.09);
}

.kmk-footer-phone span,
.kmk-footer-phone strong {
  display: block;
}

.kmk-footer-phone span {
  margin-bottom: 2px;
  color: rgba(255,255,255,.60);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.kmk-footer-phone strong {
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
}

.kmk-footer-contact-btn {
  min-height: 51px;
  padding: 0 20px;
  border: 1px solid #c89b4e;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #b98634;
  color: #fff !important;
  font-size: .86rem;
  font-weight: 800;
  transition: transform .18s ease, background .18s ease;
}

.kmk-footer-contact-btn:hover {
  transform: translateY(-1px);
  background: #c49342;
}

.kmk-footer-main {
  background:
    radial-gradient(circle at 100% 100%, rgba(255,255,255,.035), transparent 34rem),
    #0d2938;
}

.kmk-footer-grid {
  padding-top: 56px;
  padding-bottom: 42px;
  display: grid;
  grid-template-columns: minmax(260px, 1.45fr) repeat(3, minmax(150px, .7fr));
  gap: clamp(34px, 5vw, 72px);
}

.kmk-footer-brand {
  min-width: 0;
}

.kmk-footer-brand-link {
  max-width: 330px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #fff !important;
}

.kmk-footer-brand-mark {
  position: relative;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(215,177,109,.55);
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.04);
}

.kmk-footer-brand-mark::before,
.kmk-footer-brand-mark::after,
.kmk-footer-brand-mark span {
  content: "";
  position: absolute;
}

.kmk-footer-brand-mark::before {
  width: 21px;
  height: 21px;
  border-left: 3px solid #d3a551;
  border-top: 3px solid #d3a551;
  transform: rotate(45deg) translate(1px, 1px);
  border-radius: 1px;
}

.kmk-footer-brand-mark::after {
  width: 6px;
  height: 6px;
  bottom: 10px;
  border-radius: 1px;
  background: #fff;
}

.kmk-footer-brand-mark span {
  width: 22px;
  height: 12px;
  bottom: 7px;
  border: 2px solid rgba(255,255,255,.48);
  border-top: 0;
  border-radius: 0 0 9px 9px;
}

.kmk-footer-brand-copy strong,
.kmk-footer-brand-copy small {
  display: block;
}

.kmk-footer-brand-copy strong {
  color: #fff;
  font-size: 1.16rem;
  font-weight: 800;
  letter-spacing: .015em;
}

.kmk-footer-brand-copy small {
  margin-top: 3px;
  color: rgba(255,255,255,.62);
  font-size: .72rem;
  line-height: 1.35;
}

.kmk-footer-brand-text {
  max-width: 390px;
  margin: 20px 0 17px;
  color: rgba(255,255,255,.67);
  font-size: .88rem;
  line-height: 1.65;
}

.kmk-footer-address {
  margin: 0 0 13px;
  color: rgba(255,255,255,.82);
  font-size: .84rem;
  font-style: normal;
  line-height: 1.55;
}

.kmk-footer-direct {
  display: grid;
  gap: 5px;
}

.kmk-footer-direct a {
  width: fit-content;
  max-width: 100%;
  color: #d7b16d !important;
  font-size: .83rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.kmk-footer-direct a:hover {
  color: #f0cf94 !important;
}

.kmk-footer-nav {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.kmk-footer-heading {
  margin: 2px 0 17px !important;
  color: #fff !important;
  font-size: .75rem !important;
  font-weight: 800 !important;
  letter-spacing: .11em !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
}

.kmk-footer-nav a {
  position: relative;
  padding: 6px 0;
  color: rgba(255,255,255,.69) !important;
  font-size: .84rem;
  font-weight: 600;
  line-height: 1.35;
  transition: color .16s ease, transform .16s ease;
}

.kmk-footer-nav a:hover,
.kmk-footer-nav a:focus-visible {
  color: #e0ba78 !important;
  transform: translateX(2px);
}

.kmk-footer-partners {
  min-height: 62px;
  padding-top: 18px;
  padding-bottom: 18px;
  border-top: 1px solid rgba(255,255,255,.085);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px 20px;
}

.kmk-footer-partners > span {
  color: rgba(255,255,255,.42);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kmk-footer-partners a {
  color: rgba(255,255,255,.67) !important;
  font-size: .79rem;
  font-weight: 650;
}

.kmk-footer-partners a:hover {
  color: #d7b16d !important;
}

.kmk-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.07);
  background: #09212d;
}

.kmk-footer-bottom-inner {
  min-height: 64px;
  padding-top: 15px;
  padding-bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.kmk-footer-bottom-inner > span {
  color: rgba(255,255,255,.44);
  font-size: .72rem;
  line-height: 1.4;
}

.kmk-footer-bottom-links {
  display: flex;
  align-items: center;
  gap: 18px;
}

.kmk-footer-bottom-links a {
  color: rgba(255,255,255,.59) !important;
  font-size: .72rem;
  font-weight: 650;
}

.kmk-footer-bottom-links a:hover {
  color: #d7b16d !important;
}

@media (max-width: 1020px) {
  .kmk-footer-cta-inner {
    align-items: flex-start;
  }

  .kmk-footer-grid {
    grid-template-columns: minmax(260px, 1.4fr) repeat(2, minmax(160px, .8fr));
  }

  .kmk-footer-grid .kmk-footer-nav:last-child {
    grid-column: 2 / -1;
  }
}

@media (max-width: 780px) {
  .kmk-footer-shell {
    width: min(100% - 32px, 1240px);
  }

  .kmk-footer-cta-inner {
    min-height: 0;
    flex-direction: column;
    gap: 24px;
  }

  .kmk-footer-cta-actions {
    width: 100%;
  }

  .kmk-footer-phone {
    flex: 1 1 auto;
  }

  .kmk-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 28px;
  }

  .kmk-footer-brand {
    grid-column: 1 / -1;
  }

  .kmk-footer-grid .kmk-footer-nav:last-child {
    grid-column: auto;
  }
}

@media (max-width: 520px) {
  .kmk-footer-cta-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .kmk-footer-phone,
  .kmk-footer-contact-btn {
    width: 100%;
  }

  .kmk-footer-grid {
    grid-template-columns: 1fr;
    gap: 29px;
    padding-top: 44px;
  }

  .kmk-footer-brand,
  .kmk-footer-grid .kmk-footer-nav:last-child {
    grid-column: auto;
  }

  .kmk-footer-partners {
    align-items: flex-start;
    flex-direction: column;
  }

  .kmk-footer-bottom-inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
}

/* v4.0 – Ranking- und Conversion-Erweiterungen für Startseite */
.kmk-trust-grid-wide {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.kmk-counter-note {
  margin: .75rem 0 0;
  font-size: .82rem;
  line-height: 1.45;
  color: rgba(255,255,255,.72);
}

.kmk-counter-note-dark {
  color: rgba(24,32,31,.64);
}

.kmk-object-grid,
.kmk-region-grid,
.kmk-hub-grid {
  display: grid;
  gap: 1.15rem;
  margin-top: 2rem;
}

.kmk-object-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kmk-region-grid,
.kmk-hub-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kmk-object-card,
.kmk-region-grid article,
.kmk-hub-card {
  position: relative;
  min-width: 0;
  padding: clamp(1.15rem, 2vw, 1.55rem);
  border: 1px solid rgba(27, 42, 38, .12);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(7, 25, 19, .07);
}

.kmk-object-card::before,
.kmk-hub-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 58px;
  height: 4px;
  border-radius: 999px;
  background: #b98f52;
}

.kmk-object-card h3,
.kmk-region-grid h3,
.kmk-hub-card h3 {
  margin-top: .35rem;
}

.kmk-object-card p,
.kmk-region-grid p,
.kmk-hub-card p {
  color: rgba(24,32,31,.74);
}

.kmk-object-card a,
.kmk-hub-card a {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: .65rem;
  font-weight: 800;
  color: #1d5c46;
  text-decoration: none;
}

.kmk-object-card a::after,
.kmk-hub-card a::after {
  content: "→";
}

.kmk-districts-extended {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.kmk-region-grid article {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.12);
  color: #fff;
  box-shadow: none;
}

.kmk-region-grid article h3,
.kmk-region-grid article p {
  color: inherit;
}

.kmk-region-grid article p {
  opacity: .78;
}

.kmk-hub-card span {
  display: inline-flex;
  margin-bottom: .6rem;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8a6a3a;
}

.kmk-global-cta {
  position: fixed;
  z-index: 9998;
  left: 50%;
  bottom: max(14px, env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  width: min(900px, calc(100% - 28px));
  padding: .55rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(14, 26, 25, .94);
  box-shadow: 0 22px 70px rgba(0,0,0,.24);
  transform: translateX(-50%);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.kmk-global-cta a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 48px;
  padding: .55rem .9rem;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  text-align: center;
}

.kmk-global-cta a:first-child {
  background: #b98f52;
}

.kmk-global-cta strong {
  display: block;
  font-size: .94rem;
  line-height: 1.2;
}

.kmk-global-cta span {
  display: block;
  margin-top: .12rem;
  font-size: .76rem;
  line-height: 1.2;
  opacity: .78;
}

@media (max-width: 1180px) {
  .kmk-trust-grid-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .kmk-object-grid,
  .kmk-region-grid,
  .kmk-hub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .kmk-trust-grid-wide,
  .kmk-object-grid,
  .kmk-region-grid,
  .kmk-hub-grid {
    grid-template-columns: 1fr;
  }
  .kmk-global-cta {
    grid-template-columns: 1fr;
    border-radius: 22px;
    width: min(420px, calc(100% - 22px));
  }
  .kmk-global-cta a {
    min-height: 44px;
    border-radius: 16px;
  }
}


/* v4.0.1 – optische Nachkorrektur Vertrauens-Counter im Hero
   Problem: In schmaleren Hero-Spalten wurde das fünfspaltige Counter-Raster zu eng,
   Zahlen/Normbezeichnung brachen unschön um und die Fußnote war auf hellem Hintergrund zu kontrastarm. */
.kmk-trust-grid-wide {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: clamp(12px, 1.6vw, 16px) !important;
  align-items: stretch;
  max-width: 100%;
}

.kmk-trust-grid-wide .kmk-trust {
  min-width: 0;
  padding: clamp(16px, 1.8vw, 20px) !important;
  background: rgba(255, 255, 255, .72);
  overflow-wrap: normal;
}

.kmk-trust-grid-wide .kmk-trust strong {
  font-size: clamp(.94rem, 1.2vw, 1.06rem) !important;
  line-height: 1.22 !important;
  letter-spacing: -.01em;
  overflow-wrap: normal;
}

.kmk-trust-grid-wide .kmk-trust span {
  font-size: clamp(.8rem, .95vw, .88rem) !important;
  line-height: 1.38 !important;
  overflow-wrap: break-word;
}

.kmk-counter-note {
  color: rgba(24, 32, 31, .62) !important;
}

.kmk-counter-note-dark {
  color: rgba(24, 32, 31, .66) !important;
}

@media (min-width: 1100px) {
  .kmk-trust-grid-wide {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1500px) {
  .kmk-trust-grid-wide {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .kmk-trust-grid-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 380px) {
  .kmk-trust-grid-wide {
    grid-template-columns: 1fr !important;
  }
}

/* v4.0.2: Stadtteil-Chips ruhiger setzen und unschöne Umbrüche vermeiden */
.kmk-districts.kmk-districts-extended {
  grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
  gap: 14px;
  align-items: stretch;
}

.kmk-districts.kmk-districts-extended span {
  min-width: 0;
  min-height: 64px;
  padding: 15px 18px;
  gap: 12px;
  line-height: 1.28;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  white-space: normal;
}

.kmk-districts.kmk-districts-extended span::before {
  margin-right: 0;
}

@media (min-width: 1180px) {
  .kmk-districts.kmk-districts-extended {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1500px) {
  .kmk-districts.kmk-districts-extended {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .kmk-districts.kmk-districts-extended {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 460px) {
  .kmk-districts.kmk-districts-extended {
    grid-template-columns: 1fr;
  }
}


/* v4.0.3 – Visuelle Vereinheitlichung nach Live-Prüfung
   Ziel: einheitliche Schrift, geringere vertikale Abstände, volle Breite und stabile Stadtteil-/Counter-Kacheln. */
.kmk-page {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow-x: clip;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16.5px;
  line-height: 1.58;
}

.kmk-page,
.kmk-page *,
.kmk-page *::before,
.kmk-page *::after {
  font-family: Arial, Helvetica, sans-serif !important;
}

.kmk-page h1,
.kmk-page h2,
.kmk-page h3,
.kmk-page .kmk-step-no,
.kmk-page .kmk-contact-title,
.kmk-page .kmk-contact-expose-style h2,
.kmk-page .kmk-contact-profile-name,
.kmk-page .kmk-footer-brand-name {
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: -.018em;
}

.kmk-page h1 {
  font-size: clamp(2.45rem, 3.35vw, 3.65rem) !important;
  line-height: 1.06 !important;
  max-width: 980px;
  margin-bottom: 1rem !important;
}

.kmk-page h2 {
  font-size: clamp(1.82rem, 2.65vw, 2.95rem) !important;
  line-height: 1.1 !important;
  margin-bottom: .85rem !important;
}

.kmk-page h3 {
  font-size: clamp(1.02rem, 1.2vw, 1.17rem) !important;
  line-height: 1.25 !important;
}

.kmk-page p {
  margin-bottom: .9rem !important;
}

.kmk-shell {
  width: min(1440px, calc(100vw - 48px)) !important;
  max-width: none !important;
}

.kmk-section {
  padding-top: clamp(42px, 5vw, 78px) !important;
  padding-bottom: clamp(42px, 5vw, 78px) !important;
}

.kmk-hero {
  padding-top: clamp(48px, 6vw, 88px) !important;
  padding-bottom: clamp(34px, 4vw, 52px) !important;
}

.kmk-section-head {
  max-width: 1120px !important;
  margin-bottom: clamp(22px, 3vw, 38px) !important;
}

.kmk-intro,
.kmk-lead {
  max-width: 980px !important;
}

.kmk-hero-grid,
.kmk-two-col,
.kmk-two-col-reverse,
.kmk-feature-grid,
.kmk-contact-grid,
.kmk-split-cards {
  gap: clamp(24px, 4vw, 56px) !important;
}

.kmk-process,
.kmk-service-grid,
.kmk-object-grid,
.kmk-region-grid,
.kmk-hub-grid,
.kmk-card-grid,
.kmk-reference-grid {
  gap: clamp(14px, 1.7vw, 22px) !important;
}

.kmk-step,
.kmk-service,
.kmk-object-card,
.kmk-region-grid article,
.kmk-hub-card,
.kmk-card,
.kmk-contact-card {
  padding: clamp(20px, 2.2vw, 28px) !important;
}

.kmk-trust-grid-wide {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

.kmk-trust-grid-wide .kmk-trust {
  min-height: 118px;
  padding: 18px 18px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.kmk-trust-grid-wide .kmk-trust strong {
  font-size: clamp(.98rem, 1.05vw, 1.12rem) !important;
  line-height: 1.2 !important;
}

.kmk-trust-grid-wide .kmk-trust span {
  font-size: .87rem !important;
  line-height: 1.34 !important;
}

.kmk-counter-note {
  margin-top: 10px !important;
  color: rgba(24, 32, 31, .7) !important;
}

.kmk-districts.kmk-districts-extended {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.kmk-districts.kmk-districts-extended span {
  min-height: 58px !important;
  padding: 14px 18px !important;
  font-size: 1rem !important;
  line-height: 1.24 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.kmk-region-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin-top: 1.35rem !important;
}

.kmk-jumpnav-inner {
  min-height: 54px !important;
}

.kmk-jumpnav a {
  padding: 8px 12px !important;
}

.kmk-global-cta {
  bottom: max(10px, env(safe-area-inset-bottom)) !important;
}

@media (max-width: 1280px) {
  .kmk-shell {
    width: min(1200px, calc(100vw - 40px)) !important;
  }
  .kmk-hero-grid,
  .kmk-two-col,
  .kmk-two-col-reverse {
    grid-template-columns: 1fr !important;
  }
  .kmk-trust-grid-wide,
  .kmk-districts.kmk-districts-extended,
  .kmk-region-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .kmk-shell {
    width: calc(100vw - 32px) !important;
  }
  .kmk-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .kmk-object-grid,
  .kmk-service-grid,
  .kmk-region-grid,
  .kmk-hub-grid,
  .kmk-process,
  .kmk-trust-grid-wide,
  .kmk-districts.kmk-districts-extended {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .kmk-page {
    font-size: 16px;
  }
  .kmk-shell {
    width: calc(100vw - 24px) !important;
  }
  .kmk-section {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }
  .kmk-hero {
    padding-top: 38px !important;
    padding-bottom: 30px !important;
  }
  .kmk-object-grid,
  .kmk-service-grid,
  .kmk-region-grid,
  .kmk-hub-grid,
  .kmk-process,
  .kmk-trust-grid-wide,
  .kmk-districts.kmk-districts-extended {
    grid-template-columns: 1fr !important;
  }
  .kmk-trust-grid-wide .kmk-trust,
  .kmk-districts.kmk-districts-extended span {
    min-height: auto !important;
  }
}

/* =========================================================
   v4.0.4 – Abstandsfix / volle Breite / visuelle Verdichtung
   Anlass: Live-Screenshot zeigte zu großen Abstand zwischen Prozesskarten
   und Abschnitt „Objektarten“ sowie weiterhin unnötig schmale Inhaltsführung.
   ========================================================= */

/* Volle Breite besser ausnutzen, ohne Text unlesbar breit laufen zu lassen. */
.kmk-page .kmk-shell,
.kmk-shell {
  width: min(1520px, calc(100vw - 32px)) !important;
  max-width: none !important;
}

/* Global kompaktere Abschnittsabstände. */
.kmk-page .kmk-section {
  padding-top: clamp(34px, 4vw, 60px) !important;
  padding-bottom: clamp(34px, 4vw, 60px) !important;
}

/* Kopfbereiche enger an die folgenden Karten anbinden. */
.kmk-page .kmk-section-head {
  margin-bottom: clamp(18px, 2.4vw, 30px) !important;
}

.kmk-page .kmk-eyebrow,
.kmk-page .kmk-kicker {
  margin-bottom: 10px !important;
}

/* Konkreter Fix für den im Screenshot sichtbaren Abstand:
   Prozesskarten enden zu weit vor dem nächsten Abschnitt. */
.kmk-page #verkauf.kmk-section {
  padding-bottom: clamp(18px, 2.2vw, 30px) !important;
}

.kmk-page #objektarten.kmk-section {
  padding-top: clamp(18px, 2.2vw, 30px) !important;
}

.kmk-page #verkauf .kmk-process {
  margin-bottom: 0 !important;
}

.kmk-page #objektarten .kmk-section-head {
  margin-top: 0 !important;
}

/* Prozesskarten etwas flacher und ruhiger. */
.kmk-page .kmk-process {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.4vw, 22px) !important;
}

.kmk-page .kmk-step {
  min-height: 210px !important;
  padding: clamp(20px, 2vw, 26px) !important;
}

.kmk-page .kmk-step-no {
  margin-bottom: 18px !important;
  font-size: 1.35rem !important;
  opacity: .55;
}

.kmk-page .kmk-step h3 {
  margin-bottom: .55rem !important;
}

.kmk-page .kmk-step p {
  line-height: 1.52 !important;
}

/* Objektartenkarten kompakter anschließen. */
.kmk-page .kmk-object-grid {
  margin-top: 0 !important;
}

/* Keine versteckten WordPress-/Theme-Abstände direkt um die Landingpage. */
body.kmk-landingpage-active .entry-content > .kmk-page:first-child,
body.kmk-landingpage-active .post-content > .kmk-page:first-child,
body.kmk-landingpage-active .page-content > .kmk-page:first-child,
body.kmk-landingpage-active .wp-block-post-content > .kmk-page:first-child {
  margin-top: 0 !important;
}

body.kmk-landingpage-active .entry-content:has(.kmk-page) > p,
body.kmk-landingpage-active .post-content:has(.kmk-page) > p,
body.kmk-landingpage-active .page-content:has(.kmk-page) > p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Schrift vollständig vereinheitlichen, auch für Theme-überlagerte Menüpunkte/Karten. */
.kmk-page,
.kmk-page :where(h1,h2,h3,h4,h5,h6,p,li,a,span,strong,em,small,button,input,textarea,select,label,summary) {
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Stadtteile bleiben breit genug, lange Namen brechen sauber. */
.kmk-page .kmk-districts.kmk-districts-extended {
  grid-template-columns: repeat(6, minmax(160px, 1fr)) !important;
}

.kmk-page .kmk-districts.kmk-districts-extended span {
  min-width: 0 !important;
  min-height: 54px !important;
  line-height: 1.25 !important;
  overflow-wrap: break-word !important;
  hyphens: auto;
}

/* Responsive Verdichtung. */
@media (max-width: 1320px) {
  .kmk-page .kmk-process {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .kmk-page .kmk-districts.kmk-districts-extended {
    grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  .kmk-page .kmk-shell,
  .kmk-shell {
    width: calc(100vw - 28px) !important;
  }

  .kmk-page .kmk-section {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  .kmk-page #verkauf.kmk-section {
    padding-bottom: 18px !important;
  }

  .kmk-page #objektarten.kmk-section {
    padding-top: 18px !important;
  }

  .kmk-page .kmk-process,
  .kmk-page .kmk-districts.kmk-districts-extended {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 580px) {
  .kmk-page .kmk-shell,
  .kmk-shell {
    width: calc(100vw - 22px) !important;
  }

  .kmk-page .kmk-section {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  .kmk-page #verkauf.kmk-section {
    padding-bottom: 12px !important;
  }

  .kmk-page #objektarten.kmk-section {
    padding-top: 12px !important;
  }

  .kmk-page .kmk-process,
  .kmk-page .kmk-districts.kmk-districts-extended {
    grid-template-columns: 1fr !important;
  }

  .kmk-page .kmk-step {
    min-height: 0 !important;
  }
}


/* =========================================================
   v4.0.5 – globale Verdichtung, Schriftangleichung, volle Breite
   und seitenübergreifende interne Verlinkung/CTA.
   ========================================================= */

/* Einheitliche Schrift wirklich auf allen Plugin-Landingpages. */
.kmk-page,
.kmk-page :where(h1,h2,h3,h4,h5,h6,p,li,a,span,strong,em,small,button,input,textarea,select,label,summary,figcaption) {
  font-family: Arial, Helvetica, sans-serif !important;
}

.kmk-page :where(h1,h2) {
  font-weight: 650 !important;
  letter-spacing: -0.02em !important;
}

/* Mehr verfügbare Breite nutzen und vertikale Luft reduzieren. */
.kmk-page .kmk-shell,
.kmk-shell {
  width: min(1440px, calc(100vw - 36px)) !important;
  max-width: none !important;
}

.kmk-page .kmk-section {
  padding-top: clamp(30px, 3.3vw, 54px) !important;
  padding-bottom: clamp(30px, 3.3vw, 54px) !important;
}

.kmk-page .kmk-hero,
.kmk-page .kmk-contact-hero {
  padding-top: clamp(46px, 5vw, 78px) !important;
  padding-bottom: clamp(36px, 4vw, 62px) !important;
}

.kmk-page .kmk-section-head,
.kmk-page .kmk-crosslink-head {
  margin-bottom: clamp(18px, 2vw, 30px) !important;
}

.kmk-page .kmk-intro {
  max-width: 980px !important;
}

.kmk-page .kmk-service-grid,
.kmk-page .kmk-object-grid,
.kmk-page .kmk-feature-grid,
.kmk-page .kmk-card-grid,
.kmk-page .kmk-offer-grid,
.kmk-page .kmk-project-grid,
.kmk-page .kmk-reference-grid,
.kmk-page .kmk-related-grid {
  gap: clamp(14px, 1.5vw, 22px) !important;
}

/* Globaler interner Link- und CTA-Block. */
.kmk-crosslink-section {
  background:
    radial-gradient(circle at 92% 12%, rgba(185, 134, 52, .12), transparent 25rem),
    linear-gradient(135deg, #f8f2e8 0%, #fffaf3 100%);
  border-top: 1px solid rgba(16,47,64,.08);
  border-bottom: 1px solid rgba(16,47,64,.08);
}

.kmk-crosslink-inner {
  display: grid;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
  gap: clamp(22px, 3vw, 42px);
  align-items: start;
}

.kmk-crosslink-head h2 {
  font-size: clamp(1.8rem, 2.5vw, 3.05rem) !important;
  max-width: 880px;
}

.kmk-crosslink-actions {
  margin-top: 18px !important;
}

.kmk-related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kmk-related-card {
  display: grid;
  gap: 7px;
  min-height: 142px;
  padding: clamp(18px, 2vw, 24px);
  border: 1px solid rgba(16,47,64,.14);
  border-radius: 20px;
  background: rgba(255,255,255,.78);
  color: var(--kmk-ink, #1d2d36) !important;
  text-decoration: none !important;
  box-shadow: 0 12px 34px rgba(16,47,64,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.kmk-related-card:hover,
.kmk-related-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(185,134,52,.55);
  box-shadow: 0 18px 42px rgba(16,47,64,.10);
  outline: none;
}

.kmk-related-card strong {
  color: var(--kmk-navy, #102f40) !important;
  font-size: 1.08rem;
  line-height: 1.25;
}

.kmk-related-card span {
  color: var(--kmk-muted, #61717a) !important;
  line-height: 1.5;
}

/* Kontakt- und CTA-Bereiche auf Unterseiten enger anbinden. */
.kmk-page .kmk-contact,
.kmk-page .kmk-contact-main,
.kmk-page .kmk-contact-note {
  padding-top: clamp(32px, 3vw, 50px) !important;
  padding-bottom: clamp(32px, 3vw, 50px) !important;
}

.kmk-global-cta {
  font-family: Arial, Helvetica, sans-serif !important;
}

@media (max-width: 1120px) {
  .kmk-crosslink-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .kmk-page .kmk-shell,
  .kmk-shell {
    width: calc(100vw - 24px) !important;
  }

  .kmk-page .kmk-section,
  .kmk-page .kmk-contact,
  .kmk-page .kmk-contact-main,
  .kmk-page .kmk-contact-note {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
  }

  .kmk-related-grid {
    grid-template-columns: 1fr;
  }

  .kmk-related-card {
    min-height: 0;
  }
}


/* =========================================================
   v4.0.6 – Mobile-Responsive- und PageSpeed-Feinschliff
   Ziel: weniger vertikaler Leerraum, stabile Touch-Ziele, saubere Bildratio.
   ========================================================= */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.kmk-page {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.kmk-page :where(a, button, input, select, textarea, summary) {
  touch-action: manipulation;
}

.kmk-page :where(a, button) {
  min-height: 44px;
}

.kmk-page :where(.kmk-btn, .kmk-phone, .kmk-text-link, .kmk-card-link, .kmk-related-card, .kmk-jumpnav a, .kmk-global-cta a) {
  outline-offset: 4px;
}

.kmk-page :where(.kmk-btn, .kmk-phone, .kmk-jumpnav a, .kmk-global-cta a) {
  min-height: 48px;
}

.kmk-shell {
  width: min(1440px, calc(100% - 32px));
}

.kmk-hero {
  padding-top: clamp(44px, 6vw, 82px);
  padding-bottom: clamp(30px, 5vw, 54px);
}

.kmk-section {
  padding-top: clamp(44px, 6vw, 82px);
  padding-bottom: clamp(44px, 6vw, 82px);
}

.kmk-section-head {
  margin-bottom: clamp(22px, 3.2vw, 38px);
}

.kmk-process,
.kmk-object-grid,
.kmk-region-grid,
.kmk-related-grid,
.kmk-trust-grid,
.kmk-trust-grid-wide {
  gap: clamp(12px, 1.7vw, 22px);
}

.kmk-step,
.kmk-object-card,
.kmk-region-card,
.kmk-related-card,
.kmk-trust {
  min-width: 0;
  overflow-wrap: anywhere;
}

.kmk-hero-media img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 800 / 533 !important;
  object-fit: cover !important;
}

.kmk-media-card img,
.kmk-project-image img,
.kmk-reference-card img,
.kmk-offer-card img,
.kmk-page figure img,
.kmk-page .wp-post-image {
  max-width: 100% !important;
  height: auto !important;
}

.kmk-counter-note,
.kmk-page .kmk-eyebrow,
.kmk-page .kmk-kicker {
  color: #6f4c16 !important;
}

.kmk-section-dark .kmk-eyebrow,
.kmk-contact .kmk-eyebrow,
.kmk-section-dark .kmk-kicker {
  color: #f2cd8c !important;
}

.kmk-global-cta {
  max-width: min(1180px, calc(100% - 24px));
}

@media (max-width: 1180px) {
  .kmk-hero-grid,
  .kmk-two-col,
  .kmk-contact-grid,
  .kmk-crosslink-inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 820px) {
  .kmk-shell {
    width: min(100% - 24px, 720px) !important;
  }

  .kmk-page {
    font-size: 16px;
    line-height: 1.58;
  }

  .kmk-page h1 {
    font-size: clamp(2rem, 9.2vw, 2.9rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -.018em !important;
    max-width: 100% !important;
    margin-bottom: .9rem !important;
  }

  .kmk-page h2 {
    font-size: clamp(1.55rem, 6.8vw, 2.2rem) !important;
    line-height: 1.12 !important;
    margin-bottom: .75rem !important;
  }

  .kmk-page h3 {
    font-size: 1.08rem !important;
    line-height: 1.18 !important;
  }

  .kmk-hero {
    padding-top: 34px !important;
    padding-bottom: 28px !important;
  }

  .kmk-section {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  .kmk-section-head {
    margin-bottom: 20px !important;
  }

  .kmk-hero-grid,
  .kmk-two-col,
  .kmk-contact-grid,
  .kmk-crosslink-inner,
  .kmk-process,
  .kmk-object-grid,
  .kmk-region-grid,
  .kmk-related-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  .kmk-actions,
  .kmk-crosslink-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100%;
  }

  .kmk-btn,
  .kmk-phone,
  .kmk-actions a,
  .kmk-crosslink-actions a {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 16px !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .kmk-trust-grid,
  .kmk-trust-grid-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .kmk-trust {
    min-height: 0 !important;
    padding: 14px !important;
    border-radius: 16px !important;
  }

  .kmk-trust strong {
    font-size: 1.02rem !important;
    line-height: 1.18 !important;
  }

  .kmk-trust span {
    font-size: .88rem !important;
    line-height: 1.35 !important;
  }

  .kmk-counter-note {
    margin-top: 10px !important;
    font-size: .78rem !important;
    line-height: 1.45 !important;
  }

  .kmk-step,
  .kmk-object-card,
  .kmk-region-card,
  .kmk-related-card {
    padding: 18px !important;
    min-height: 0 !important;
    border-radius: 18px !important;
  }

  .kmk-jumpnav {
    position: relative !important;
    top: auto !important;
    overflow: hidden !important;
  }

  .kmk-jumpnav-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding: 10px 12px !important;
    justify-content: flex-start !important;
  }

  .kmk-jumpnav a {
    flex: 0 0 auto !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    scroll-snap-align: start;
    white-space: nowrap !important;
  }

  .kmk-global-cta {
    position: static !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: min(100% - 24px, 640px) !important;
    margin: 20px auto 16px !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  .kmk-global-cta a {
    min-height: 50px !important;
    padding: 10px 12px !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

@media (max-width: 460px) {
  .kmk-shell {
    width: calc(100% - 20px) !important;
  }

  .kmk-section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .kmk-trust-grid,
  .kmk-trust-grid-wide {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .kmk-page h1 {
    font-size: clamp(1.85rem, 10vw, 2.45rem) !important;
  }

  .kmk-page h2 {
    font-size: clamp(1.42rem, 7.5vw, 1.95rem) !important;
  }
}

/* =========================================================
   v4.1.1 – ImmoScout24 API-Angebotskomponente
   Eine zentrale Komponente, responsive Karten, eindeutiger Leerzustand.
   ========================================================= */
.kmk-is24-offers {
  width: 100%;
  min-width: 0;
}

.kmk-is24-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 24px);
}

.kmk-is24-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(16,47,64,.13);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(16,47,64,.07);
}

.kmk-is24-media {
  display: block;
  min-height: 0 !important;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #eef2f4;
  text-decoration: none !important;
}

.kmk-is24-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.kmk-is24-image-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 80% 15%, rgba(185,134,52,.20), transparent 14rem),
    var(--kmk-navy, #102f40);
  color: #fff !important;
  font-weight: 800;
  letter-spacing: .04em;
  text-align: center;
}

.kmk-is24-card-body {
  padding: clamp(18px, 2vw, 24px);
}

.kmk-is24-source {
  display: inline-block;
  margin-bottom: 9px;
  color: #6f4c16 !important;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kmk-is24-card h3 {
  margin: 0 0 9px !important;
  color: var(--kmk-navy, #102f40) !important;
  font-size: clamp(1.16rem, 1.35vw, 1.42rem) !important;
  line-height: 1.25 !important;
}

.kmk-is24-location {
  margin: 0 0 14px !important;
  color: var(--kmk-muted, #61717a) !important;
}

.kmk-is24-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0 0 18px;
  color: var(--kmk-ink, #1d2d36);
  font-size: .94rem;
}

.kmk-is24-facts strong {
  flex-basis: 100%;
  color: var(--kmk-navy, #102f40) !important;
  font-size: 1.08rem;
}

.kmk-is24-card-link {
  width: 100%;
  justify-content: center;
  margin-top: 2px;
}

.kmk-is24-empty {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(16,47,64,.13);
  border-radius: 22px;
  background: #f4f6f7;
}

.kmk-is24-empty strong {
  display: block;
  margin-bottom: 7px;
  color: var(--kmk-navy, #102f40) !important;
  font-size: 1.08rem;
}

.kmk-is24-empty p {
  margin: 0 !important;
  color: var(--kmk-ink, #1d2d36) !important;
}

.kmk-is24-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-top: 14px;
  color: var(--kmk-muted, #61717a);
  font-size: .84rem;
}

.kmk-is24-footer a {
  color: var(--kmk-navy, #102f40) !important;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.kmk-is24-footer-empty {
  justify-content: flex-end;
}

@media (max-width: 1040px) {
  .kmk-is24-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .kmk-is24-grid {
    grid-template-columns: 1fr;
  }

  .kmk-is24-empty {
    grid-template-columns: 1fr;
  }

  .kmk-is24-empty .kmk-btn {
    width: 100%;
    justify-content: center;
  }

  .kmk-is24-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .kmk-is24-footer-empty {
    align-items: flex-end;
  }
}
