/* ============================================================
   KONTAKT-SEITE — kein Scroll, full-screen Hintergrundbild
   ============================================================ */

.kontakt-body {
  overflow: hidden;
  height: 100svh;
  background: var(--ink);
}

/* Vollflächiges Hintergrundbild */
.kontakt-bg {
  position: fixed;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* Platzhalter-Gradient bis echtes Bild eingesetzt wird */
  background-color: var(--ink-soft);
  filter: brightness(0.65);
}

/* Dunkler Overlay für Lesbarkeit */
.kontakt-overlay {
  position: fixed;
  inset: 0;
  background:
    linear-gradient(to top,   rgba(5,5,4,0.78) 0%,  transparent 55%),
    linear-gradient(to right, rgba(5,5,4,0.45) 100%, transparent 40%);
}

/* Zurück-Link */
.kontakt-back {
  position: fixed;
  top: 2rem;
  left: var(--gutter);
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: var(--text-lg);
  letter-spacing: 0.06em;
  color: var(--light);
  opacity: 0.85;
  transition: opacity 0.2s, color 0.2s;
}
.kontakt-back:hover { opacity: 1; color: var(--tungsten); }
.kontakt-back svg { width: 18px; height: 18px; }

/* Kontakt-Panel: unteres rechtes Drittel */
.kontakt-panel {
  position: fixed;
  bottom: clamp(3rem, 7vh, 5.5rem);
  right: clamp(2rem, 6vw, 6rem);
  z-index: 10;
  max-width: 380px;
  text-align: right;
}

.kontakt-headline {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(var(--text-3xl), 4.5vw, var(--text-4xl));
  line-height: 1.1;
  color: var(--light);
  margin-top: 0.5rem;
  margin-bottom: 2.5rem;
}

/* Kontaktdaten-Liste */
.kontakt-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.kontakt-row dt {
  margin-bottom: 0.25rem;
}

.kontakt-row dd {
  margin: 0;
}

.kontakt-link {
  font-size: var(--text-lg);
  color: var(--light);
  letter-spacing: 0.02em;
  transition: color 0.2s;
}
.kontakt-link:hover { color: var(--tungsten); }
.kontakt-link:focus-visible {
  outline: 2px solid var(--tungsten);
  outline-offset: 3px;
}

.kontakt-address {
  font-size: var(--text-base);
  color: var(--light);
  line-height: 1.6;
}

/* Mobile: Panel ans untere Ende, volle Breite */
@media (max-width: 540px) {
  .kontakt-panel {
    right: var(--gutter);
    left: var(--gutter);
    max-width: 100%;
    text-align: left;
    bottom: max(2rem, calc(1.5rem + env(safe-area-inset-bottom)));
  }
  .kontakt-back { top: 1.5rem; }
  .kontakt-headline { font-size: var(--text-2xl); margin-bottom: 1.5rem; }
  .kontakt-link { font-size: var(--text-base); min-height: 44px; display: inline-flex; align-items: center; }
}

/* Touch */
* { -webkit-tap-highlight-color: transparent; }
