/* Shared contact layout; loaded only for the contact page and its preview. */
/* The contact form shares the page rhythm; booking forms are unaffected. */
body main #nachricht .unified-content { margin-block: 0 !important; }
body main #nachricht .contact-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body main #nachricht .contact-layout > div { min-width: 0; margin: 0 !important; }
body main #nachricht .contact-layout > div > p {
  margin: 0 !important;
  font: 400 16px/1.55 var(--sans, "Source Sans 3", Arial, sans-serif) !important;
  color: #24372e !important;
}
body main #nachricht .contact-layout > div > .eyebrow { display: none; }
body main #nachricht .contact-panel {
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body main #nachricht .contact-panel::before { display: none !important; }
body main #nachricht .prototype-form { display: block !important; width: 100%; margin: 0 !important; }
body main #nachricht .prototype-form fieldset {
  min-width: 0;
  padding: 0 !important;
  margin: 0 0 24px !important;
  border: 0 !important;
}
body main #nachricht .prototype-form fieldset:first-of-type {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 16px;
}
body main #nachricht .prototype-form fieldset:first-of-type > label:has(input[type="email"]) { grid-column: 1 / -1; }
body main #nachricht .prototype-form legend {
  padding: 0 !important;
  margin: 0 0 14px !important;
  font: 500 20px/1.4 var(--serif, "Lora", Georgia, serif) !important;
  color: #24372e !important;
}
body main #nachricht .prototype-form fieldset > label {
  display: block !important;
  min-width: 0;
  margin: 0 !important;
  font: 400 16px/1.5 var(--sans, "Source Sans 3", Arial, sans-serif) !important;
  color: #24372e !important;
}
body main #nachricht .prototype-form fieldset :is(input, textarea) {
  display: block;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0;
  margin: 7px 0 0 !important;
  padding: 11px 14px !important;
  border: 1px solid #82968a;
  border-radius: 6px !important;
  background: #fff !important;
  color: #24372e !important;
  font: 400 16px/1.5 var(--sans, "Source Sans 3", Arial, sans-serif) !important;
  box-shadow: none;
}
body main #nachricht .prototype-form fieldset textarea { min-height: 144px; resize: vertical; }
body main #nachricht .prototype-form fieldset :is(input, textarea):focus-visible {
  outline: 3px solid #526459;
  outline-offset: 3px;
}
body main #nachricht .prototype-form fieldset :is(input, textarea)[aria-invalid="true"] {
  border-color: #6f1d1d;
  box-shadow: 0 0 0 2px rgba(111,29,29,.15);
}
body main #nachricht .prototype-form :is(.dmdg-form-required, .dmdg-form-privacy-note, .dmdg-bot-privacy-note, .dmdg-message-meta small, .dmdg-character-counter) {
  font: 400 14px/1.5 var(--sans, "Source Sans 3", Arial, sans-serif) !important;
  color: #24372e;
}
body main #nachricht .dmdg-form-required { margin: 0 0 18px !important; }
body main #nachricht .dmdg-form-privacy-note { margin: 0 0 14px !important; padding-top: 16px; }
body main #nachricht .dmdg-bot-privacy-note { margin: 0 0 18px !important; }
body main #nachricht .prototype-form > button[type="submit"] {
  width: auto !important;
  min-width: 220px;
  margin: 0 !important;
  padding: 13px 24px !important;
  font: 600 16px/1.4 var(--sans, "Source Sans 3", Arial, sans-serif) !important;
}
@media (max-width: 600px) {
  body main #nachricht .prototype-form fieldset:first-of-type { grid-template-columns: minmax(0, 1fr); }
  body main #nachricht .prototype-form > button[type="submit"] { width: 100% !important; min-width: 0; }
}
body main #wege .unified-content { margin-block: 0 !important; }
body main #wege .unified-content .contact-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 28px !important;
  margin: 4px 0 24px !important;
}
body main #wege .unified-content .contact-card-grid > .contact-card {
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  grid-column: auto !important;
  margin: 0 !important;
  padding: 16px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid #cbd5ce !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  transform: none !important;
}
body main #wege .contact-card-grid > .contact-card::before {
  display: none !important;
}
body main #wege .contact-card-grid > .contact-card small {
  display: block;
  margin: 0 0 6px !important;
  font: 600 14px/1.5 var(--sans, "Source Sans 3", Arial, sans-serif) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #526459 !important;
}
body main #wege .contact-card-grid > .contact-card h3,
body main #wege .contact-card-grid > .contact-card h3 a {
  margin: 0 0 8px !important;
  font: 600 18px/1.5 var(--sans, "Source Sans 3", Arial, sans-serif) !important;
  color: #24372e !important;
  overflow-wrap: anywhere;
  hyphens: none;
}
body main #wege .contact-card-grid > .contact-card h3 a {
  text-decoration: underline !important;
  text-decoration-color: #a9b7ac !important;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
body main #wege .contact-card-grid > .contact-card p {
  margin: 0 !important;
  font: 400 16px/1.55 var(--sans, "Source Sans 3", Arial, sans-serif) !important;
  color: #24372e !important;
}
body main #wege .contact-card-grid > .contact-card h3 a:hover {
  text-decoration-color: currentColor !important;
}
body main #wege .contact-card-grid > .contact-card h3 a:focus-visible {
  outline: 2px solid #526459;
  outline-offset: 4px;
}
@media (max-width: 999px) {
  body main #wege .unified-content .contact-card-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
}
