/*
 * Rechtsseiten (Impressum, Datenschutzerklärung) der ANSA-blumenfischer-Website.
 * Ergänzt styles.css und wird nur auf diesen beiden Seiten geladen.
 */

.ansa-site .section.legal { padding: clamp(44px, 6vw, 88px) 0 clamp(80px, 10vw, 136px); }

.legal-body { max-width: 72ch; overflow-wrap: break-word; }

.ansa-site .legal h1 {
  max-width: none;
  margin-bottom: 22px;
  font-size: clamp(30px, 8.6vw, 58px);
  line-height: 1.05;
  -webkit-hyphens: manual;
  hyphens: manual;
  overflow-wrap: break-word;
}

.ansa-site .legal-lead { color: #45423f; font-size: clamp(17px, 1.6vw, 19px); line-height: 1.65; }

.legal-section { margin-top: clamp(40px, 5vw, 56px); padding-top: 26px; border-top: 1px solid var(--line); }

.ansa-site .legal h2 { margin: 0 0 16px; font-size: clamp(24px, 2.5vw, 31px); line-height: 1.2; letter-spacing: -0.02em; text-wrap: balance; }
.legal-num { color: var(--brass); font-style: italic; }
.ansa-site .legal h3 { margin: 28px 0 8px; font-size: 16px; font-weight: 650; line-height: 1.4; }

.ansa-site .legal-body p { margin-bottom: 14px; }
.legal-body ul { margin: 0 0 16px; padding-left: 1.2em; }
.legal-body li { margin-bottom: 6px; }
.legal-body li::marker { color: var(--brass); }
.ansa-site .legal address { margin: 0 0 18px; font-style: normal; }

.ansa-site .legal a { color: var(--wine); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; -webkit-hyphens: none; hyphens: none; }
.ansa-site .legal a:hover { color: var(--wine-dark); text-decoration-thickness: 2px; }
.ansa-site .legal a[href^="tel:"] { white-space: nowrap; }

.legal-facts { margin: 0 0 18px; border-top: 1px solid var(--ink); }
.legal-facts > div { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: 4px 24px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.legal-facts dt { padding-top: 5px; color: var(--wine); font-size: 10px; font-weight: 800; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
.legal-facts dd { margin: 0; }
.legal-section > .legal-facts:last-child { margin-bottom: 0; }
.legal-section > .legal-facts:last-child > div:last-child { border-bottom: 0; }

.legal-toc { margin-top: 34px; padding-top: 20px; border-top: 1px solid var(--line); }
.ansa-site .legal-body .legal-toc-title { margin: 0 0 8px; color: var(--wine); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.legal-toc ol { margin: 0; padding-left: 1.6em; font-size: 14px; }
.legal-toc li { margin: 0; padding: 3px 0; }
.legal-toc li::marker { color: var(--brass); }
.ansa-site .legal-toc a { color: var(--ink); text-decoration-color: rgba(41, 40, 39, .35); }

/* Offene Punkte (OFFEN-Marker) sind sichtbar hervorgehoben und müssen vor dem Livegang aufgelöst sein. */
.legal-open { padding: 1px 5px; border: 1px dashed var(--brass); background: #f0e7d8; color: var(--wine-dark); font-weight: 650; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

.ansa-site .legal-stand { margin-top: clamp(40px, 5vw, 56px); padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }

/* Footer: Auf den Unterseiten sind die Rechtslinks echte Links statt Dialog-Buttons. */
.site-footer .footer-grid nav a { padding: 6px 0; color: rgba(255, 255, 255, .75); font-size: 12px; text-decoration: underline; text-underline-offset: 5px; }
.site-footer .footer-grid nav a:hover,
.site-footer .footer-grid nav a[aria-current="page"] { color: white; }

@media (max-width: 720px) {
  .legal-body { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 10 4 4; }
  .legal-facts > div { grid-template-columns: minmax(0, 1fr); }
  .legal-facts dt { padding-top: 0; }
}

@media print {
  .ansa-site .section.legal { padding: 24px 0; }
  .legal-toc { display: none; }
  .ansa-site .legal a { color: inherit; }
  .legal-open { border-style: solid; }
}
