/* Kontakt: die beiden vorhandenen Breiten der Startseite. */
body.contact-v2 {
  --contact-content-width: min(1600px, calc(100% - 2 * clamp(16px, 4vw, 102px)));
  --contact-stage-width: calc(100% - 2 * clamp(16px, 2vw, 64px));
  --contact-section-gap: clamp(64px, 7vw, 112px);
}

body.contact-v2 .schraeger-contact-hero,
body.contact-v2 .schraeger-calendar-intro {
  width: var(--contact-content-width);
}

body.contact-v2 .schraeger-contact-hero {
  margin-bottom: var(--contact-section-gap);
}

body.contact-v2 .schraeger-calendar-intro {
  margin-bottom: 0;
}

body.contact-v2 .contact-area {
  padding: var(--contact-section-gap) 0 var(--contact-section-gap) !important;
}

body.contact-v2 .contact-area .container-23,
body.contact-v2 .contact-area .contact-wrap {
  width: var(--contact-content-width) !important;
  max-width: 1600px !important;
  margin-inline: auto !important;
}

body.contact-v2 .contact-area .container-23 {
  padding-inline: 0 !important;
}

body.contact-v2 .contact-area .contact-wrap {
  width: 100% !important;
  padding-bottom: 0 !important;
}

body.contact-v2 #kontaktformular {
  padding: var(--contact-section-gap) 0 0 !important;
}

body.contact-v2 #kontaktformular .padding-global-2 {
  padding-inline: 0 !important;
}

body.contact-v2 .schraeger-contact-form-intro,
body.contact-v2 #kontaktformular .container-large-4 {
  width: var(--contact-content-width) !important;
  max-width: 1600px !important;
  margin-inline: auto !important;
}

body.contact-v2 .schraeger-contact-form-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  column-gap: clamp(32px, 6vw, 112px);
  align-items: end;
  text-align: left;
}

body.contact-v2 .schraeger-contact-form-intro > span {
  grid-column: 1 / -1;
  margin-bottom: 1rem;
}

body.contact-v2 .schraeger-contact-form-intro h2,
body.contact-v2 .schraeger-contact-form-intro p {
  margin-inline: 0;
}

body.contact-v2 .map-link.pic {
  width: var(--contact-stage-width) !important;
  max-width: none !important;
  margin: var(--contact-section-gap) auto 0 !important;
}

body.contact-v2 .contact-departure-full {
  width: var(--contact-stage-width);
  max-width: none;
  margin: var(--contact-section-gap) auto 0;
}

@media (min-width: 768px) {
  body.contact-v2 .map-link.pic {
    height: min(700px, 50vw) !important;
  }
  body.contact-v2 .map-link.pic .map:not(.mobile) {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 767px) {
  body.contact-v2 .schraeger-contact-form-intro {
    grid-template-columns: 1fr;
    row-gap: .75rem;
  }
  body.contact-v2 .schraeger-contact-form-intro > span {
    margin-bottom: 0;
  }
}
