/* Profilansicht; nutzt Farben, Typografie und Bedienelemente aus home.css. */
#vmzs-klar .vmzs-profile {
  padding: 32px 0 48px;
}

#vmzs-klar .profile-back-link {
  gap: 8px;
  margin-bottom: 24px;
}

#vmzs-klar .profile-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.15fr) minmax(0, 1fr);
  align-items: start;
  gap: 48px;
}

#vmzs-klar .profile-detail-main,
#vmzs-klar .profile-heading,
#vmzs-klar .profile-contact {
  min-width: 0;
  overflow-wrap: anywhere;
}

#vmzs-klar .profile-heading {
  margin-bottom: 28px;
}

#vmzs-klar .profile-heading h1 {
  margin-bottom: 10px;
}

#vmzs-klar .profile-qualification {
  color: var(--vmzs-muted);
  font-size: 15px;
  line-height: 1.7;
}

#vmzs-klar .profile-detail-description {
  max-width: 65ch;
  font-size: 17px;
  line-height: 1.8;
}

#vmzs-klar .profile-prose {
  max-width: 65ch;
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

#vmzs-klar .profile-prose > :first-child {
  margin-top: 0;
}

#vmzs-klar .profile-prose > :last-child {
  margin-bottom: 0;
}

#vmzs-klar .profile-prose h2,
#vmzs-klar .profile-prose h3 {
  margin-top: 28px;
  margin-bottom: 12px;
}

#vmzs-klar .profile-prose h3 {
  font-size: 18px;
  line-height: 1.5;
}

#vmzs-klar .profile-prose ul,
#vmzs-klar .profile-prose ol {
  padding-left: 22px;
  margin: 16px 0;
}

#vmzs-klar .profile-prose a {
  text-decoration: underline;
  text-underline-offset: 4px;
}

#vmzs-klar .profile-prose img {
  display: block;
  max-width: 100%;
  height: auto;
}

#vmzs-klar .profile-facts-section {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--vmzs-line);
}

#vmzs-klar .detail-facts {
  display: grid;
  gap: 16px;
  margin: 0;
}

#vmzs-klar .detail-facts > div {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 20px;
  min-width: 0;
}

#vmzs-klar .detail-facts dt,
#vmzs-klar .profile-contact-details dt {
  color: var(--vmzs-muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.7;
}

#vmzs-klar .detail-facts dd,
#vmzs-klar .profile-contact-details dd {
  min-width: 0;
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

#vmzs-klar .profile-contact {
  padding: 24px;
  border-top: 2px solid var(--vmzs-brand);
  background: var(--vmzs-soft);
}

#vmzs-klar .profile-contact h2 {
  margin-bottom: 20px;
}

#vmzs-klar .profile-contact-details {
  display: grid;
  gap: 20px;
  margin: 0;
}

#vmzs-klar .profile-contact-details dd {
  margin-top: 3px;
}

#vmzs-klar .profile-contact-details a {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 44px;
  margin: -8px 0;
}

#vmzs-klar .profile-contact > p {
  font-size: 15px;
  line-height: 1.7;
}

#vmzs-klar .profile-edit-link {
  margin-top: 32px;
}

@media (max-width: 850px) {
  #vmzs-klar .profile-detail-grid {
    gap: 32px;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
  }

  #vmzs-klar .profile-contact {
    padding: 20px;
  }

  #vmzs-klar .detail-facts > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
  }
}

@media (max-width: 700px) {
  #vmzs-klar .vmzs-profile {
    padding: 24px 0 36px;
  }

  #vmzs-klar .profile-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #vmzs-klar .profile-contact-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  #vmzs-klar .vmzs-profile {
    padding: 20px 0 32px;
  }

  #vmzs-klar .profile-back-link {
    margin-bottom: 20px;
  }

  #vmzs-klar .profile-heading {
    margin-bottom: 24px;
  }

  #vmzs-klar .profile-heading h1 {
    font-size: 32px;
    line-height: 1.2;
  }

  #vmzs-klar .profile-detail-description {
    font-size: 16px;
    line-height: 1.7;
  }

  #vmzs-klar .profile-facts-section {
    margin-top: 28px;
    padding-top: 24px;
  }

  #vmzs-klar .profile-contact-details {
    grid-template-columns: minmax(0, 1fr);
  }
}
