/* ============================================================
   Hive Solutions GmbH — Legal pages (Impressum / Datenschutz)
   Small refinements on top of the shared .prose styles
   ============================================================ */

/* Long German legal terms ("Datenschutzerklärung",
   "Verbraucherstreitbeilegung") must hyphenate instead of
   overflowing on narrow viewports. Requires lang="de". */
.page-hero h1,
.prose h2,
.prose h3 {
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
}
.prose p,
.prose li {
  hyphens: auto;
  -webkit-hyphens: auto;
}

/* The prose block sits directly under the hero — drop the
   default top margin of the first heading. */
.prose > h2:first-child { margin-top: 0; }

/* Address / contact blocks (Anschrift, Kontakt, Verantwortliche
   Stelle) — set apart from running text. */
.prose .legal-block {
  padding: 1rem 1.3rem;
  border: 1px solid var(--border);
  border-left: 3px solid rgba(255, 176, 32, 0.55);
  border-radius: var(--radius-s);
  background: var(--surface);
  line-height: 1.95;
}

/* Placeholder chips that wrap across lines keep their border
   and padding on every fragment. */
.prose .placeholder {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* Closing "Stand: …" line */
.prose .legal-updated {
  margin-top: 3.25rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--border);
  color: var(--text-3);
  font-size: 0.9rem;
}

/* Bilingual legal pages: English and German side by side (SellerMagnet
   layout), stacked on narrow viewports.
   DOM order is German first (authoritative version). On wide screens the
   English locale leads with the English column via `order`; on small screens
   the DOM order wins, so German always comes first when stacked. */
.imprint-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: start;
}
.imprint-grid.en-first .imprint-col[lang="en"] { order: -1; }
.imprint-col { max-width: none; }
.imprint-col > h2 { margin-top: 0; font-size: 1.5rem; }
.imprint-col h3 { font-size: 1.05rem; margin-top: 2rem; }
.imprint-col p, .imprint-col li { font-size: 0.95rem; }
.imprint-col .legal-effective { color: var(--text-3); font-size: 0.9rem; }
@media (max-width: 940px) {
  .imprint-grid { grid-template-columns: minmax(0, 1fr); }
  .imprint-grid.en-first .imprint-col[lang="en"] { order: 0; }
  /* DOM-second column (English) is also the visually-second one here */
  .imprint-col + .imprint-col {
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    border-top: 1px solid var(--border);
  }
}
