/* Hosting adapter only. The frozen styleframe and person styles stay unchanged. */
.mk-visibility-hidden { visibility: hidden; }
.project-link .drs-icon { width: 1.5rem; height: auto; flex: 0 0 auto; }
/* Approved 2026-11-01: contact photo moves into the chapter column. */
.contact-body { grid-template-columns: minmax(0, 1fr); }
.contact-index .contact-visual {
  width: min(12rem, calc(100% - 1rem));
  margin-top: 2rem;
  justify-self: start;
}
@media (max-width: 1120px) {
  .contact-index .contact-visual { width: min(11rem, 100%); }
}
.cookie-settings-link { min-height: 44px; display: inline-flex; align-items: center; }
.cookie-dialog {
  width: min(42rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  margin: auto;
  padding: clamp(1rem, 4vw, 2rem);
  overflow: auto;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.65;
  overscroll-behavior: contain;
}
.cookie-dialog::backdrop { background: var(--ink); opacity: .7; }
.cookie-dialog h2 { margin: 0 0 1rem; font-size: 1.5rem; line-height: 1.25; }
.cookie-dialog p + p { margin-top: 1rem; }
.cookie-dialog dl { margin-block: 1.5rem; }
.cookie-category { padding-block: .85rem; border-top: 1px solid var(--line); }
.cookie-dialog dt { font-family: var(--sans); font-size: 1rem; font-weight: 600; }
.cookie-dialog dd { margin-top: .35rem; color: var(--muted); }
.cookie-dialog form { margin-top: 1.5rem; }
.cookie-close { min-height: 44px; padding: .65rem 1rem; border: 1px solid var(--ink); background: var(--blue); color: var(--paper); font: inherit; }
body:has(.cookie-dialog[open]) { overflow: hidden; }
@media print { .cookie-dialog, .cookie-settings-link { display: none !important; } }

/* Keep the German privacy title intact on wide screens and allow a word break on mobile. */
.privacy-title-de {
  font-size: clamp(2.75rem, 6vw, 6rem);
  hyphens: manual;
}
