/* =========================================================
   ANFAHRT UND KONTAKT
   Nur seitenbezogene Styles.
   Header, Footer, Offcanvas, Variablen und Basisstyles
   kommen aus shared.css.
========================================================= */

.kontakt-page {
  background: #fff;
}


/* =========================================================
   HERO
========================================================= */

.kontakt-hero {
  position: relative;
  min-height: 482px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--white);

  background:
    url("../img/kontakt-hero.jpg")
    center 45% / cover no-repeat;
}

.kontakt-hero__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(164, 130, 88, .42),
      rgba(219, 178, 121, .78)
    );
}

.kontakt-hero__content {
  position: relative;
  z-index: 2;
  width: min(100%, 620px);
  padding: 120px 20px 50px;
  text-align: center;
}

.kontakt-hero__eyebrow {
  display: block;
  margin-bottom: 20px;
  font-family: var(--display);
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.kontakt-hero h1 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.35rem, 8vw, 3.8rem);
  font-weight: 600;
  line-height: 1.08;
}


/* =========================================================
   CONTACT FORM
========================================================= */

.kontakt-form-section {
  padding: 68px 24px 74px;
  background: #fff;
}

.kontakt-inner {
  width: min(100%, 720px);
  margin: 0 auto;
}

.kontakt-placeholder {
  display: grid;
  place-items: center;
  background: #dedede;
  color: #2c2723;
  text-align: center;
  font-family: var(--display);
  font-weight: 600;
}

.kontakt-placeholder--form {
  min-height: 600px;
  font-size: 2.2rem;
}


/* =========================================================
   GOOGLE MAPS
========================================================= */

.kontakt-map-section {
  background: #fff;
  border-bottom: 6px solid #fff;
}

.kontakt-placeholder--map {
  width: 100%;
  min-height: 435px;
  font-size: 2.35rem;
}


/* =========================================================
   TABLET
========================================================= */

@media (min-width: 760px) {

  .kontakt-hero {
    min-height: 560px;
  }

  .kontakt-hero__content {
    width: min(100%, 760px);
    padding-top: 140px;
  }

  .kontakt-form-section {
    padding: 85px 30px 90px;
  }

  .kontakt-placeholder--form {
    min-height: 700px;
  }

  .kontakt-placeholder--map {
    min-height: 520px;
  }
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 1100px) {

  .kontakt-hero {
    min-height: 650px;
  }

  .kontakt-hero h1 {
    font-size: 4.1rem;
  }

  .kontakt-inner {
    width: min(100%, 900px);
  }

  .kontakt-placeholder--form {
    min-height: 720px;
  }

  .kontakt-placeholder--map {
    min-height: 560px;
  }
}
