/* Nur Ergänzungen für die Profilseite; Layout, Karten und Buttons kommen
   aus dem gemeinsamen Hauptseiten-CSS. */
.profile-portrait img {
  object-position: center 30%;
}

.profile-contact-meta {
  margin: calc(-1 * var(--spacing-sm)) 0 var(--spacing-sm);
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.65;
}

.profile-contact-meta a,
.profile-socials a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.profile-socials {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm) var(--spacing-lg);
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 700;
}

.profile-contact-meta a:hover,
.profile-socials a:hover {
  color: var(--accent-dark);
}

.profile-link-grid {
  margin-top: var(--spacing-xl);
}

.profile-link-grid .card {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}

.profile-link-grid .card p {
  margin-bottom: var(--spacing-lg);
  color: var(--muted);
  font-weight: 400;
}

.profile-card-link {
  margin-top: auto;
  color: var(--accent-dark);
}

.profile-closing-card {
  max-width: 860px;
  margin-bottom: 0;
}

.profile-closing-card > p:not(.section-label) {
  max-width: 60ch;
  margin: var(--spacing-md) auto var(--spacing-lg);
  color: var(--muted);
}

@media (min-width: 768px) {
  .profile-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
