/* ============================================================
   SVARTLIND NEXTGEN · SECONDARY PAGES · 2026-09-17
   ============================================================ */


.nx-secondary-page {
  background: #f4f3ee;
}


.nx-secondary-main {
  min-height: 70vh;
}


.nx-secondary-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;

  padding-top: 42px;

  color: #858a85;

  font-size: .74rem;
}


.nx-secondary-breadcrumb a {
  color: #626863;
  text-decoration: none;
}


.nx-secondary-breadcrumb a:hover {
  text-decoration: underline;
}


.nx-secondary-breadcrumb strong {
  color: #2c302d;
  font-weight: 750;
}


/* ------------------------------------------------------------
   HERO
   ------------------------------------------------------------ */

.nx-secondary-hero {
  padding-top: 72px;
  padding-bottom: 74px;
}


.nx-secondary-hero h1 {
  max-width: 980px;

  margin: 0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: clamp(3.7rem,6vw,6.7rem);

  font-weight: 500;

  line-height: .97;
  letter-spacing: -.045em;
}


.nx-secondary-lead {
  max-width: 760px;

  margin: 27px 0 0;

  color: #5b615c;

  font-size: 1.05rem;
  line-height: 1.75;
}


/* ------------------------------------------------------------
   LEGAL
   ------------------------------------------------------------ */

.nx-legal-stage {
  padding-bottom: 120px;
}


.nx-legal-card {
  max-width: 900px;

  padding: 48px 52px;

  border: 1px solid #d0d2cc;
  border-radius: 28px;

  background: #faf9f6;

  box-shadow: 0 20px 50px rgba(22,25,23,.07);
}


.nx-legal-body {
  color: #565c57;

  font-size: .98rem;
  line-height: 1.78;
}


.nx-legal-body > *:first-child {
  margin-top: 0;
}


.nx-legal-body h1,
.nx-legal-body h2,
.nx-legal-body h3 {
  color: #202421;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-weight: 500;

  line-height: 1.08;
}


.nx-legal-body h2 {
  margin: 46px 0 14px;

  font-size: 2rem;
}


.nx-legal-body h3 {
  margin: 34px 0 10px;

  font-size: 1.45rem;
}


.nx-legal-body p {
  margin: 0 0 18px;
}


.nx-legal-body a {
  color: inherit;
}


/* ------------------------------------------------------------
   CONTACT
   ------------------------------------------------------------ */

.nx-contact-stage {
  display: grid;

  grid-template-columns:
    minmax(0,1.25fr)
    minmax(300px,.65fr);

  gap: 24px;

  align-items: start;

  padding-bottom: 120px;
}


.nx-contact-main,
.nx-contact-card {
  border: 1px solid #d0d2cc;
  border-radius: 26px;

  background: #faf9f6;

  box-shadow: 0 18px 44px rgba(22,25,23,.07);
}


.nx-contact-main {
  padding: 36px;
}


.nx-contact-side {
  display: grid;
  gap: 18px;
}


.nx-contact-card {
  padding: 26px;
}


.nx-contact-form-title,
.nx-contact-side-title {
  margin: 0 0 18px;

  color: #222623;

  font-weight: 800;
}


.nx-contact-form-title {
  font-size: 1rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}


.nx-contact-side-title {
  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 1.5rem;
  font-weight: 500;
}


.nx-contact-side-text {
  margin: 0;

  color: #626863;

  line-height: 1.65;
}


.nx-contact-phone {
  margin-top: 18px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 1.45rem;
}


.nx-contact-form {
  display: grid;
  gap: 16px;
}


.nx-contact-grid {
  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 14px;
}


.nx-contact-field {
  display: grid;
  gap: 8px;
}


.nx-contact-field label {
  color: #454a46;

  font-size: .85rem;
  font-weight: 750;
}


.nx-contact-input,
.nx-contact-textarea {
  width: 100%;

  padding: 13px 14px;

  border: 1px solid #cdd0c9;
  border-radius: 14px;

  outline: none;

  background: #f2f1ed;
  color: #202421;

  font: inherit;

  transition:
    border-color .15s ease,
    box-shadow .15s ease,
    background .15s ease;
}


.nx-contact-input:focus,
.nx-contact-textarea:focus {
  border-color: #999d96;

  background: #fff;

  box-shadow:
    0 0 0 3px rgba(184,151,69,.12);
}


.nx-contact-textarea {
  min-height: 190px;
  resize: vertical;
}


.nx-contact-consent {
  display: flex;

  gap: 10px;

  align-items: flex-start;

  color: #606661;

  font-size: .87rem;
  line-height: 1.55;
}


.nx-contact-consent input {
  margin-top: 4px;
}


.nx-contact-actions {
  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 18px;

  flex-wrap: wrap;

  margin-top: 4px;
}


.nx-contact-required {
  color: #858a85;

  font-size: .78rem;
}


.nx-contact-hidden {
  position: absolute !important;

  left: -9999px !important;

  width: 1px !important;
  height: 1px !important;

  overflow: hidden !important;
}


.nx-contact-alert {
  margin: 0 0 20px;

  padding: 13px 15px;

  border-radius: 14px;

  font-size: .9rem;
  line-height: 1.5;
}


.nx-contact-alert.is-success {
  border: 1px solid #b9d9c7;

  background: #e4f1e9;
  color: #275943;
}


.nx-contact-alert.is-error {
  border: 1px solid #dfc0bc;

  background: #f5e6e3;
  color: #7c3e37;
}


/* ------------------------------------------------------------
   SHARED HEADER ADJUSTMENTS
   ------------------------------------------------------------ */

.nx-secondary-page .site-header {
  z-index: 60;
}


/* ------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------ */

@media (max-width:900px) {

  .nx-contact-stage {
    grid-template-columns: 1fr;
  }

}


@media (max-width:680px) {

  .nx-secondary-breadcrumb {
    padding-top: 28px;
  }


  .nx-secondary-hero {
    padding-top: 52px;
    padding-bottom: 54px;
  }


  .nx-secondary-hero h1 {
    font-size: 3.45rem;
  }


  .nx-legal-stage,
  .nx-contact-stage {
    padding-bottom: 84px;
  }


  .nx-legal-card,
  .nx-contact-main,
  .nx-contact-card {
    padding: 24px;
  }


  .nx-contact-grid {
    grid-template-columns: 1fr;
  }

}



/* ============================================================
   NEXTGEN · COMPACT LEGAL + CONTACT NAV · 2026-09-17
   ============================================================ */

/*
 * Impressum und Datenschutz:
 * gleiche NEXTGEN-Welt, aber bewusst kleinere Bühne.
 */

.nx-legal-page .nx-secondary-breadcrumb {
  padding-top: 28px;
}


.nx-legal-page .nx-secondary-hero {
  padding-top: 38px;
  padding-bottom: 42px;
}


.nx-legal-page .nx-secondary-hero h1 {
  font-size: clamp(3.2rem, 4.7vw, 5rem);
}


.nx-legal-page .nx-secondary-lead {
  max-width: 720px;

  margin-top: 18px;

  font-size: 1rem;
  line-height: 1.65;
}


.nx-legal-page .nx-legal-stage {
  padding-bottom: 68px;
}


.nx-legal-page .nx-legal-card {
  padding: 36px 42px;

  border-radius: 24px;
}


.nx-legal-page .nx-legal-body {
  line-height: 1.68;
}


.nx-legal-page .nx-legal-body p {
  margin-bottom: 13px;
}


.nx-legal-page .nx-legal-body h2 {
  margin-top: 32px;
  margin-bottom: 9px;

  font-size: 1.75rem;
}


@media (max-width:680px) {

  .nx-legal-page .nx-secondary-breadcrumb {
    padding-top: 22px;
  }


  .nx-legal-page .nx-secondary-hero {
    padding-top: 30px;
    padding-bottom: 34px;
  }


  .nx-legal-page .nx-secondary-hero h1 {
    font-size: 2.9rem;
  }


  .nx-legal-page .nx-legal-stage {
    padding-bottom: 54px;
  }


  .nx-legal-page .nx-legal-card {
    padding: 24px;
  }

}



/* ============================================================
   NEXTGEN · CONTACT COMPACT HERO · 2026-09-17
   ============================================================ */

/*
 * Breadcrumb nennt den Ort bereits.
 * Kein zusätzlicher "KONTAKT"-Kicker notwendig.
 */

.nx-contact-page .nx-secondary-hero {
  padding-top: 38px;
  padding-bottom: 48px;
}


.nx-contact-page .nx-secondary-hero h1 {
  max-width: 900px;
}


.nx-contact-page .nx-secondary-lead {
  margin-top: 22px;
}


@media (max-width:680px) {

  .nx-contact-page .nx-secondary-hero {
    padding-top: 30px;
    padding-bottom: 38px;
  }

}



/* ============================================================
   NEXTGEN · CONTACT TEXTAREA COMPACT · 2026-09-17
   ============================================================ */

.nx-contact-page .nx-contact-textarea {
  min-height: 140px;
}


@media (max-width:680px) {

  .nx-contact-page .nx-contact-textarea {
    min-height: 130px;
  }

}

