/* Arnes Impressum-Gestaltung; nur der bestehende Impressum-Dialog ist betroffen. */
#imprint-dialog,
#imprint-dialog.dialog-fit {
  width: min(55rem, calc(var(--dialog-viewport-width, 100vw) - 1.75rem));
  height: auto;
  max-height: calc(var(--dialog-viewport-height, 100dvh) - 2rem);
  padding: clamp(1.15rem, 2.5vw, 3rem);
  overflow: hidden;
  border: 1px solid #268c91;
  border-radius: 1rem;
  color: #eef4f2;
  background: linear-gradient(130deg, #0b353a, #041f26);
  box-shadow: 0 20px 70px #00181e55;
}
#imprint-dialog::backdrop {
  background: #00182088;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

#imprint-dialog[open] {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(.6rem, 1.8vh, 1.25rem);
}

#imprint-dialog .imprint-header {
  flex: 0 0 auto;
  align-items: flex-start;
  min-height: 0;
  margin: 0;
}
#imprint-dialog .imprint-header > div { min-width: 0; }
#imprint-dialog .imprint-header .section-label {
  display: block;
  margin: 0 0 clamp(.8rem, 2vh, 1.4rem);
  color: #ddbd73;
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .12em;
}
#imprint-dialog .imprint-header h2 {
  margin: 0 0 clamp(.45rem, 1.5vh, .9rem);
  color: #f1f4f0;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.15;
}
#imprint-dialog #imprint-description {
  margin: 0;
  color: #c7dcdd;
  font-size: clamp(.9rem, 1.05vw, 1.1rem);
  line-height: 1.45;
}
#imprint-dialog .imprint-header > .icon-button {
  flex: 0 0 auto;
  width: 2.65rem;
  height: 2.65rem;
  min-height: 2.65rem;
  border: 0;
  border-radius: .35rem;
  color: #c0d6d8;
  background: #10333a;
  transition: color 130ms, background-color 130ms, transform 130ms;
}
#imprint-dialog .imprint-header > .icon-button:hover {
  color: #102a2e;
  background: #e5c16a;
  transform: translateY(-1px);
}
#imprint-dialog .imprint-header > .icon-button::before,
#imprint-dialog .imprint-header > .icon-button::after {
  width: 1.15rem;
  height: 2px;
}

#imprint-dialog .imprint-content {
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.9rem, 2.7vh, 1.65rem) clamp(1rem, 2vw, 2rem);
  width: 100%;
  margin: auto 0;
}
#imprint-dialog .imprint-content section,
#imprint-dialog.dialog-compact .imprint-content section {
  display: flex;
  align-items: flex-start;
  gap: clamp(.6rem, 1vw, .95rem);
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #c7dcdd;
  background: transparent;
}
#imprint-dialog .imprint-content section > div { flex: 1 1 auto; min-width: 0; }
#imprint-dialog .imprint-icon {
  flex: 0 0 1.8rem;
  width: 1.8rem;
  height: 1.8rem;
  margin-top: .15rem;
  fill: none;
  stroke: #d8bd77;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#imprint-dialog .imprint-content h3 {
  margin: 0 0 .65rem;
  padding: 0 0 .6rem;
  border-bottom: 1px solid #a18c58;
  color: #efe9d6;
  font-size: clamp(.95rem, 1.05vw, 1.1rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
}
#imprint-dialog .imprint-content :is(address, p) {
  margin: 0;
  color: #c7dcdd;
  font-size: clamp(.85rem, .95vw, 1rem);
  font-style: normal;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
#imprint-dialog .imprint-content a { color: #dfcc93; font-weight: 600; }
#imprint-dialog .imprint-content a:hover { color: #f2d784; }

#imprint-dialog .imprint-footer {
  display: grid;
  flex: 0 0 auto;
  justify-items: end;
  gap: clamp(.7rem, 2.5vh, 1.7rem);
  width: 100%;
}
#imprint-dialog .imprint-footer p {
  justify-self: stretch;
  margin: 0;
  color: #93b6bb;
  font-size: clamp(.72rem, .8vw, .85rem);
  line-height: 1.4;
}
#imprint-dialog .imprint-close-button {
  width: min(13.25rem, 100%);
}
#imprint-dialog :is(button, a):focus-visible { outline: 2px solid #e2c275; outline-offset: 3px; }

#imprint-dialog.dialog-compact,
#imprint-dialog.dialog-fit.dialog-paged {
  padding: clamp(.7rem, 1.8vw, 1.5rem);
  gap: .6rem;
}
#imprint-dialog.dialog-compact .imprint-header .section-label { margin-bottom: .35rem; }
#imprint-dialog.dialog-compact .imprint-header h2 { margin-bottom: .25rem; font-size: clamp(1.6rem, 3vw, 2rem); }
#imprint-dialog.dialog-compact .imprint-content { gap: .8rem 1rem; }
#imprint-dialog.dialog-compact .imprint-content h3 { margin-bottom: .35rem; padding-bottom: .3rem; }
#imprint-dialog.dialog-compact .imprint-content :is(address, p) { line-height: 1.4; }
#imprint-dialog.dialog-compact .imprint-footer { gap: .5rem; }
#imprint-dialog.dialog-compact .imprint-close-button { min-height: 2.75rem; }
#imprint-dialog.dialog-paged .imprint-content { margin: 0; }
#imprint-dialog > .dialog-page-navigation {
  align-self: stretch;
  margin: .2rem 0 0;
  border-top-color: #41676b;
}
#imprint-dialog .dialog-page-navigation .dialog-page-status { color: #bdd0d0; }
#imprint-dialog .dialog-page-navigation button {
  border-color: #648789;
  color: #e1ebeb;
  background: #082c33;
}
#imprint-dialog .dialog-page-navigation button:disabled { opacity: .55; }

@media (max-width: 740px) {
  #imprint-dialog .imprint-content { grid-template-columns: minmax(0, 1fr); }
  #imprint-dialog .imprint-footer { justify-items: stretch; }
  #imprint-dialog .imprint-close-button { width: 100%; }
}

@media (max-height: 560px) {
  #imprint-dialog .imprint-header .section-label { margin-bottom: .2rem; }
  #imprint-dialog .imprint-header h2 { margin-bottom: .15rem; font-size: 1.65rem; }
  #imprint-dialog #imprint-description { font-size: .8rem; line-height: 1.25; }
  #imprint-dialog .imprint-content h3 { margin-bottom: .2rem; padding-bottom: .2rem; }
  #imprint-dialog .imprint-content :is(address, p) { font-size: .8rem; line-height: 1.25; }
  #imprint-dialog .imprint-footer p { font-size: .65rem; line-height: 1.25; }
  #imprint-dialog .imprint-close-button { min-height: 2.4rem; }
}
