/* ============================================================
   Legal pages — Impressum / Datenschutz / AGB
   ============================================================ */

.legal-top {
  position: relative; overflow: hidden; text-align: center;
  padding: clamp(92px,14vw,140px) 0 clamp(36px,6vw,56px);
}
.legal-top::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(70% 50% at 50% -8%, rgba(236,219,210,0.6), transparent 60%),
    radial-gradient(60% 45% at 92% 96%, rgba(203,184,158,0.28), transparent 55%);
}
.legal-top .wrap { position: relative; z-index: 2; }
.legal-top .eyebrow { margin-bottom: 14px; }
.legal-top h1 { font-size: clamp(2.2rem,7vw,3.6rem); letter-spacing: 0.04em; }
.legal-top .updated { font-size: 0.82rem; color: var(--brown-soft); letter-spacing: 0.05em; margin-top: 14px; }

.legal-home { position: absolute; top: 24px; left: var(--pad); z-index: 20; }
.legal-home a { display: inline-flex; align-items: center; gap: 0.5em; font-family: var(--sans); font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--espresso); text-decoration: none; border: 1px solid var(--line); padding: 0.6em 1.2em; border-radius: 999px; background: rgba(255,255,255,0.5); backdrop-filter: blur(6px); transition: background .3s, border-color .3s; }
.legal-home a:hover { background: #fff; border-color: var(--gold); }
.legal-home a .arrow { transition: transform .3s; }
.legal-home a:hover .arrow { transform: translateX(-3px); }

.legal-body { padding: clamp(8px,3vw,24px) 0 clamp(60px,9vw,100px); }
.legal-paper {
  max-width: 760px; margin: 0 auto;
  background: var(--card); border: 1px solid var(--line-soft); border-radius: var(--radius);
  box-shadow: var(--shadow-md); padding: clamp(30px,6vw,64px);
}

.legal-card-head { text-align: center; margin-bottom: clamp(28px,4vw,40px); }
.legal-card-head .mono { display: block; width: 46px; height: 1px; background: var(--gold); opacity: .55; margin: 18px auto 0; }

.legal-ident { text-align: center; line-height: 1.9; color: var(--brown); }
.legal-ident .name { font-family: var(--serif); font-size: 1.5rem; color: var(--espresso); font-weight: 600; }
.legal-ident a { color: var(--gold-deep); text-decoration: none; border-bottom: 1px solid var(--gold-light); }
.legal-ident a:hover { border-color: var(--gold-deep); }
.legal-ident .tagrow { margin-top: 16px; font-size: 0.92rem; color: var(--brown-soft); }

.legal-block { margin-top: clamp(26px,4vw,38px); }
.legal-block:first-of-type { margin-top: 0; }
.legal-block h2 {
  font-size: clamp(1.25rem,3vw,1.55rem); display: flex; align-items: baseline; gap: 0.5em;
  margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line-soft);
}
.legal-block h2 .idx { font-family: var(--serif); font-style: italic; font-size: 0.95em; color: var(--gold-deep); flex: none; }
.legal-block p { color: var(--brown); margin-bottom: 10px; }
.legal-block p:last-child { margin-bottom: 0; }
.legal-block a { color: var(--gold-deep); text-decoration: none; border-bottom: 1px solid var(--gold-light); }
.legal-block a:hover { border-color: var(--gold-deep); }
.legal-block .sub { font-family: var(--serif); font-size: 1.12rem; color: var(--espresso); font-weight: 600; margin-top: 16px; margin-bottom: 4px; }
.legal-block ul { list-style: none; margin: 6px 0 10px; display: grid; gap: 7px; }
.legal-block ul li { position: relative; padding-left: 22px; color: var(--brown); }
.legal-block ul li::before { content: ""; position: absolute; left: 4px; top: 0.62em; width: 6px; height: 6px; border-radius: 50%; background: var(--gold-light); }
.legal-block .basis { display: inline-block; font-size: 0.82rem; color: var(--brown-soft); font-style: italic; margin-top: 2px; }

.legal-back-cta { text-align: center; margin-top: clamp(36px,5vw,52px); }
