body.mhk-contact-design-page {
  --mhk-contact-gold: #d7b45a;
  --mhk-contact-bg: #050505;
  --mhk-contact-panel: #090909;
  --mhk-contact-field: #111111;
  --mhk-contact-text: #f7f4ea;
  --mhk-contact-muted: #d5cfbf;
  --mhk-contact-radius: 18px;
  background: var(--mhk-contact-bg) !important;
  color: var(--mhk-contact-text) !important;
  color-scheme: dark;
}

body.mhk-contact-design-page main,
body.mhk-contact-design-page #content,
body.mhk-contact-design-page .site-main,
body.mhk-contact-design-page .elementor-location-single {
  background: var(--mhk-contact-bg) !important;
  color: var(--mhk-contact-text) !important;
}

/* Premium Gesamtbereich */
body.mhk-contact-design-page .mhk-contact-experience {
  position: relative;
  isolation: isolate;
  width: min(1160px, calc(100% - 32px));
  margin: clamp(32px, 5vw, 72px) auto;
  padding: clamp(26px, 4vw, 50px);
  overflow: hidden;
  border: 2px solid var(--mhk-contact-gold);
  border-radius: calc(var(--mhk-contact-radius) + 2px);
  background:
    radial-gradient(circle at 88% 8%, rgba(215,180,90,.13), transparent 31%),
    radial-gradient(circle at 8% 92%, rgba(215,180,90,.055), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.025), transparent 46%),
    #040404;
  box-shadow: 0 30px 80px rgba(0,0,0,.42);
}

body.mhk-contact-design-page .mhk-contact-experience::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: repeating-linear-gradient(90deg, transparent 0 59px, rgba(215,180,90,.018) 60px);
}

body.mhk-contact-design-page .mhk-contact-experience::after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -145px;
  z-index: -1;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(215,180,90,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 38px rgba(215,180,90,.025), 0 0 0 82px rgba(215,180,90,.012);
  pointer-events: none;
}

body.mhk-contact-design-page .mhk-contact-experience-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 28px;
  margin-bottom: clamp(26px, 4vw, 42px);
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(215,180,90,.24);
}

body.mhk-contact-design-page .mhk-contact-experience-heading {
  max-width: 820px;
}

body.mhk-contact-design-page .mhk-contact-experience-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
  color: var(--mhk-contact-gold);
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

body.mhk-contact-design-page .mhk-contact-experience-eyebrow::before {
  content: "";
  width: 46px;
  height: 1px;
  background: linear-gradient(90deg, var(--mhk-contact-gold), transparent);
}

body.mhk-contact-design-page .mhk-contact-experience-title {
  margin: 0 !important;
  color: #f5f1e8 !important;
  font-size: clamp(38px, 5vw, 68px) !important;
  line-height: 1.02 !important;
  font-weight: 850 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}

body.mhk-contact-design-page .mhk-contact-experience-title em {
  color: var(--mhk-contact-gold);
  font-style: normal;
}

body.mhk-contact-design-page .mhk-contact-experience-copy {
  max-width: 720px;
  margin: 18px 0 0 !important;
  color: var(--mhk-contact-muted) !important;
  font-size: clamp(15px, 1.4vw, 17px) !important;
  line-height: 1.75 !important;
}

body.mhk-contact-design-page .mhk-contact-experience-badges {
  display: grid;
  gap: 9px;
  min-width: 210px;
}

body.mhk-contact-design-page .mhk-contact-experience-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid rgba(215,180,90,.28);
  border-radius: 999px;
  background: rgba(215,180,90,.045);
  color: #e9e1d2;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}

body.mhk-contact-design-page .mhk-contact-experience-badge::before {
  content: "✓";
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--mhk-contact-gold);
  color: #070707;
  font-weight: 900;
}

body.mhk-contact-design-page .mhk-contact-experience-grid {
  display: grid;
  grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr);
  gap: clamp(20px, 3vw, 34px);
  align-items: start;
}

body.mhk-contact-design-page .mhk-contact-experience-side {
  display: grid;
  gap: 18px;
}

body.mhk-contact-design-page .mhk-contact-experience-form {
  min-width: 0;
}

/* Alte Einzelrahmen innerhalb des neuen Gesamtblocks entfernen. */
body.mhk-contact-design-page .mhk-contact-experience .mhk-contact-block,
body.mhk-contact-design-page .mhk-contact-experience .mhk-contact-directory {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--mhk-contact-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.mhk-contact-design-page .mhk-contact-redundant-heading,
body.mhk-contact-design-page .mhk-contact-redundant-copy {
  display: none !important;
}

body.mhk-contact-design-page .mhk-contact-block h1,
body.mhk-contact-design-page .mhk-contact-block h2,
body.mhk-contact-design-page .mhk-contact-block h3,
body.mhk-contact-design-page .mhk-contact-block h4,
body.mhk-contact-design-page .mhk-contact-block .elementor-heading-title {
  color: var(--mhk-contact-gold) !important;
}

body.mhk-contact-design-page .mhk-contact-block p,
body.mhk-contact-design-page .mhk-contact-block li,
body.mhk-contact-design-page .mhk-contact-block address {
  color: var(--mhk-contact-muted) !important;
}

/* Formular */
body.mhk-contact-design-page .mhk-contact-form-card {
  position: relative;
  width: 100%;
  padding: clamp(24px, 3vw, 34px) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.024), transparent 50%),
    #070707 !important;
  border: 1px solid rgba(215,180,90,.5) !important;
  border-radius: calc(var(--mhk-contact-radius) - 3px) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.012), 0 18px 42px rgba(0,0,0,.23);
}

body.mhk-contact-design-page .mhk-contact-form-card::before {
  content: attr(data-mhk-eyebrow);
  display: block;
  margin: 0 0 22px;
  color: var(--mhk-contact-gold) !important;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}

body.mhk-contact-design-page .mhk-contact-form,
body.mhk-contact-design-page .mhk-contact-form * {
  box-sizing: border-box;
}

body.mhk-contact-design-page .mhk-contact-form label,
body.mhk-contact-design-page .mhk-contact-form .elementor-field-label,
body.mhk-contact-design-page .mhk-contact-form .wpforms-field-label,
body.mhk-contact-design-page .mhk-contact-form .forminator-label,
body.mhk-contact-design-page .mhk-contact-form .wpcf7-list-item-label {
  color: var(--mhk-contact-text) !important;
  font-weight: 760 !important;
}

body.mhk-contact-design-page .mhk-contact-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
body.mhk-contact-design-page .mhk-contact-form textarea,
body.mhk-contact-design-page .mhk-contact-form select,
body.mhk-contact-design-page .mhk-contact-form .elementor-field,
body.mhk-contact-design-page .mhk-contact-form .wpforms-field-medium,
body.mhk-contact-design-page .mhk-contact-form .forminator-input,
body.mhk-contact-design-page .mhk-contact-form .forminator-textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px !important;
  color: var(--mhk-contact-text) !important;
  background: var(--mhk-contact-field) !important;
  border: 1px solid rgba(215,180,90,.45) !important;
  border-radius: 10px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.01) !important;
  caret-color: var(--mhk-contact-gold);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

body.mhk-contact-design-page .mhk-contact-form textarea {
  min-height: 180px;
  resize: vertical;
}

body.mhk-contact-design-page .mhk-contact-form input::placeholder,
body.mhk-contact-design-page .mhk-contact-form textarea::placeholder {
  color: #9f998c !important;
  opacity: 1 !important;
}

body.mhk-contact-design-page .mhk-contact-form input:focus,
body.mhk-contact-design-page .mhk-contact-form textarea:focus,
body.mhk-contact-design-page .mhk-contact-form select:focus,
body.mhk-contact-design-page .mhk-contact-form .elementor-field:focus {
  outline: none !important;
  background: #141414 !important;
  border-color: var(--mhk-contact-gold) !important;
  box-shadow: 0 0 0 3px rgba(215,180,90,.12), 0 10px 26px rgba(0,0,0,.18) !important;
}

body.mhk-contact-design-page .mhk-contact-form input[type="checkbox"],
body.mhk-contact-design-page .mhk-contact-form input[type="radio"] {
  accent-color: var(--mhk-contact-gold);
}

body.mhk-contact-design-page .mhk-contact-form button,
body.mhk-contact-design-page .mhk-contact-form input[type="submit"],
body.mhk-contact-design-page .mhk-contact-form .elementor-button,
body.mhk-contact-design-page .mhk-contact-form .wpforms-submit,
body.mhk-contact-design-page .mhk-contact-form .forminator-button-submit,
body.mhk-contact-design-page .mhk-contact-form .wpcf7-submit {
  min-height: 56px;
  padding: 14px 26px !important;
  color: #070707 !important;
  background: var(--mhk-contact-gold) !important;
  border: 1px solid var(--mhk-contact-gold) !important;
  border-radius: 999px !important;
  font-weight: 880 !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(215,180,90,.14) !important;
  transition: color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.mhk-contact-design-page .mhk-contact-form button:hover,
body.mhk-contact-design-page .mhk-contact-form input[type="submit"]:hover,
body.mhk-contact-design-page .mhk-contact-form .elementor-button:hover,
body.mhk-contact-design-page .mhk-contact-form .wpforms-submit:hover,
body.mhk-contact-design-page .mhk-contact-form .forminator-button-submit:hover,
body.mhk-contact-design-page .mhk-contact-form .wpcf7-submit:hover {
  color: var(--mhk-contact-gold) !important;
  background: #050505 !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(215,180,90,.2) !important;
}

/* Direkte Kontaktwege */
body.mhk-contact-design-page .mhk-contact-original-hidden {
  display: none !important;
}

body.mhk-contact-design-page .mhk-contact-directory-head {
  margin: 0 0 18px;
}

body.mhk-contact-design-page .mhk-contact-directory-eyebrow {
  display: block;
  margin: 0 0 8px;
  color: var(--mhk-contact-gold);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .17em;
}

body.mhk-contact-design-page .mhk-contact-directory h2 {
  margin: 0 0 9px;
  color: #f4efe6 !important;
  font-size: clamp(25px, 3vw, 36px);
  line-height: 1.12;
  letter-spacing: -.025em;
}

body.mhk-contact-design-page .mhk-contact-directory-head p {
  margin: 0;
  color: var(--mhk-contact-muted) !important;
  font-size: 15px;
  line-height: 1.65;
}

body.mhk-contact-design-page .mhk-contact-directory-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

body.mhk-contact-design-page .mhk-contact-directory-card {
  min-width: 0;
  min-height: 94px;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 15px;
  padding: 17px;
  color: var(--mhk-contact-text) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.02), transparent 50%), #0a0a0a;
  border: 1px solid rgba(215,180,90,.38);
  border-radius: 15px;
  text-decoration: none !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.008);
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
  box-sizing: border-box;
}

body.mhk-contact-design-page .mhk-contact-directory-card:hover,
body.mhk-contact-design-page .mhk-contact-directory-card:focus-visible {
  color: var(--mhk-contact-text) !important;
  background: linear-gradient(145deg, rgba(215,180,90,.06), transparent 55%), #0d0d0d;
  border-color: var(--mhk-contact-gold);
  transform: translateX(4px);
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
  outline: none;
}

body.mhk-contact-design-page .mhk-contact-directory-icon {
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mhk-contact-gold);
  background: rgba(215,180,90,.035);
  border: 1px solid rgba(215,180,90,.6);
  border-radius: 13px;
}

body.mhk-contact-design-page .mhk-contact-directory-icon svg {
  width: 24px;
  height: 24px;
}

body.mhk-contact-design-page .mhk-contact-directory-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

body.mhk-contact-design-page .mhk-contact-directory-title {
  color: var(--mhk-contact-gold) !important;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 850;
}

body.mhk-contact-design-page .mhk-contact-directory-value {
  color: var(--mhk-contact-text) !important;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  overflow-wrap: anywhere;
}

body.mhk-contact-design-page .mhk-contact-directory-arrow {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(215,180,90,.38);
  border-radius: 50%;
  color: var(--mhk-contact-gold);
  font-size: 18px;
  line-height: 1;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}

body.mhk-contact-design-page .mhk-contact-directory-card:hover .mhk-contact-directory-arrow {
  color: #070707;
  background: var(--mhk-contact-gold);
  transform: translateX(2px);
}

body.mhk-contact-design-page .mhk-contact-mini-note {
  margin: 0;
  padding: 17px 18px;
  border: 1px solid rgba(215,180,90,.25);
  border-radius: 15px;
  background: rgba(215,180,90,.035);
  color: #ddd5c5;
  font-size: 13px;
  line-height: 1.65;
}

body.mhk-contact-design-page .mhk-contact-mini-note strong {
  display: block;
  margin-bottom: 4px;
  color: var(--mhk-contact-gold);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Karte im selben Premium-Rahmen */
body.mhk-contact-design-page .mhk-contact-experience-map {
  margin-top: clamp(22px, 3vw, 34px);
  padding-top: clamp(22px, 3vw, 32px);
  border-top: 1px solid rgba(215,180,90,.22);
}

body.mhk-contact-design-page .mhk-contact-experience-map .mhk-contact-map-block {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 6px !important;
  background: #080808 !important;
  border: 1px solid rgba(215,180,90,.45) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

body.mhk-contact-design-page .mhk-contact-map-card,
body.mhk-contact-design-page .mhk-contact-map-card .elementor-widget-container {
  overflow: hidden;
  background: #080808 !important;
  border: 0 !important;
  border-radius: 12px !important;
}

body.mhk-contact-design-page .mhk-contact-map-card iframe,
body.mhk-contact-design-page iframe[src*="google.com/maps"],
body.mhk-contact-design-page iframe[src*="maps.google"] {
  display: block;
  width: 100% !important;
  height: 360px !important;
  min-height: 360px !important;
  border: 0 !important;
  border-radius: 12px !important;
  filter: saturate(.82) contrast(1.04);
}

body.mhk-contact-design-page .mhk-contact-legacy-panel {
  display: none !important;
}

@media (hover:hover) and (pointer:fine) {
  body.mhk-contact-design-page .mhk-contact-experience {
    animation: mhkContactReveal .65s cubic-bezier(.2,.8,.2,1) both;
  }
}

@keyframes mhkContactReveal {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
  body.mhk-contact-design-page .mhk-contact-experience-head,
  body.mhk-contact-design-page .mhk-contact-experience-grid {
    grid-template-columns: 1fr;
  }

  body.mhk-contact-design-page .mhk-contact-experience-badges {
    grid-template-columns: repeat(3, minmax(0,1fr));
    min-width: 0;
  }

  body.mhk-contact-design-page .mhk-contact-experience-badge {
    justify-content: center;
    white-space: normal;
  }
}

@media (max-width: 640px) {
  body.mhk-contact-design-page .mhk-contact-experience {
    width: calc(100% - 18px);
    margin: 24px auto 40px;
    padding: 22px 15px;
    border-radius: 16px;
  }

  body.mhk-contact-design-page .mhk-contact-experience-title {
    font-size: clamp(34px, 11vw, 48px) !important;
  }

  body.mhk-contact-design-page .mhk-contact-experience-badges {
    grid-template-columns: 1fr;
  }

  body.mhk-contact-design-page .mhk-contact-experience-badge {
    justify-content: flex-start;
  }

  body.mhk-contact-design-page .mhk-contact-form-card {
    padding: 21px 16px !important;
  }

  body.mhk-contact-design-page .mhk-contact-directory-card {
    grid-template-columns: 46px minmax(0, 1fr) 28px;
    gap: 12px;
    padding: 14px;
  }

  body.mhk-contact-design-page .mhk-contact-directory-icon {
    width: 46px;
    height: 46px;
  }

  body.mhk-contact-design-page .mhk-contact-map-card iframe,
  body.mhk-contact-design-page iframe[src*="google.com/maps"],
  body.mhk-contact-design-page iframe[src*="maps.google"] {
    height: 270px !important;
    min-height: 270px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.mhk-contact-design-page .mhk-contact-experience,
  body.mhk-contact-design-page .mhk-contact-directory-card,
  body.mhk-contact-design-page .mhk-contact-form button,
  body.mhk-contact-design-page .mhk-contact-form input[type="submit"] {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* v1.4: trust badges centered slightly higher */
body.mhk-contact-design-page .mhk-contact-experience-head {
  align-items: center;
}

body.mhk-contact-design-page .mhk-contact-experience-badges {
  align-self: center;
  transform: translateY(-7px);
}

/* v1.4: two independent telephone cards in one evenly split row */
body.mhk-contact-design-page .mhk-contact-phone-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  min-width: 0;
}

body.mhk-contact-design-page .mhk-contact-phone-split .mhk-contact-directory-card {
  grid-template-columns: 42px minmax(0, 1fr);
  min-height: 94px;
  height: 100%;
  gap: 11px;
  padding: 14px 12px;
}

body.mhk-contact-design-page .mhk-contact-phone-split .mhk-contact-directory-icon {
  width: 42px;
  height: 42px;
  border-radius: 11px;
}

body.mhk-contact-design-page .mhk-contact-phone-split .mhk-contact-directory-arrow {
  display: none;
}

body.mhk-contact-design-page .mhk-contact-phone-split .mhk-contact-directory-title {
  font-size: 14px;
}

body.mhk-contact-design-page .mhk-contact-phone-split .mhk-contact-directory-value {
  font-size: 12px;
  white-space: nowrap;
}

/* v1.4: native, saved contact form */
body.mhk-contact-design-page .mhk-native-contact-wrap {
  width: 100%;
}

body.mhk-contact-design-page .mhk-native-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.mhk-contact-design-page .mhk-native-contact-grid > label {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}

body.mhk-contact-design-page .mhk-native-contact-full {
  grid-column: 1 / -1;
}

body.mhk-contact-design-page .mhk-contact-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

body.mhk-contact-design-page .mhk-contact-privacy {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 12px !important;
  margin: 20px 0 !important;
  color: var(--mhk-contact-muted) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}

body.mhk-contact-design-page .mhk-contact-privacy input[type="checkbox"] {
  display: block !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: .14em 0 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
}

body.mhk-contact-design-page .mhk-contact-privacy > span {
  display: block;
  margin: 0;
  padding: 0;
}

body.mhk-contact-design-page .mhk-contact-message {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(215,180,90,.42);
  border-radius: 12px;
  background: rgba(215,180,90,.055);
  color: var(--mhk-contact-text);
  font-size: 13px;
  line-height: 1.55;
}

body.mhk-contact-design-page .mhk-contact-message.is-success {
  border-color: rgba(78,205,134,.52);
  background: rgba(78,205,134,.07);
}

body.mhk-contact-design-page .mhk-contact-message.is-warning,
body.mhk-contact-design-page .mhk-contact-message.is-error {
  border-color: rgba(215,180,90,.62);
}

@media (max-width: 640px) {
  body.mhk-contact-design-page .mhk-contact-experience-badges {
    transform: none;
  }

  body.mhk-contact-design-page .mhk-native-contact-grid {
    grid-template-columns: 1fr;
  }

  body.mhk-contact-design-page .mhk-native-contact-full {
    grid-column: auto;
  }
}

@media (max-width: 470px) {
  body.mhk-contact-design-page .mhk-contact-phone-split {
    grid-template-columns: 1fr;
  }
}
