/* Geteilte Styles für Impressum & Datenschutz */

@font-face { font-family:'Monoton';            font-style:normal; font-weight:400; font-display:swap; src:url('font-monoton.woff2')          format('woff2'); }
@font-face { font-family:'Yeseva One';         font-style:normal; font-weight:400; font-display:swap; src:url('font-yeseva-one.woff2')       format('woff2'); }
@font-face { font-family:'Rozha One';          font-style:normal; font-weight:400; font-display:swap; src:url('font-rozha-one.woff2')        format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:400; font-display:swap; src:url('font-cormorant.woff2')        format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:500; font-display:swap; src:url('font-cormorant.woff2')        format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:600; font-display:swap; src:url('font-cormorant.woff2')        format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:400; font-display:swap; src:url('font-cormorant-italic.woff2') format('woff2'); }
@font-face { font-family:'Caveat';             font-style:normal; font-weight:400; font-display:swap; src:url('font-caveat.woff2')           format('woff2'); }

:root {
  --cream:       #f3e3c3;
  --cream-soft:  #ede0c4;
  --mustard:     #d49a32;
  --mustard-dk:  #a87520;
  --rust:        #b34a1f;
  --rust-dk:     #7d2f12;
  --brown:       #3a200f;
  --brown-soft:  #5a3320;
  --ink:         #2a1709;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 19px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--cream);
  background-image:
    radial-gradient(circle at 15% 10%, rgba(212,154,50,.12), transparent 40%),
    radial-gradient(circle at 85% 90%, rgba(179,74,31,.10), transparent 45%);
  min-height: 100vh;
}

body::after {
  content:"";
  position: fixed; inset:0;
  pointer-events:none;
  z-index: 9999;
  opacity:.08;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.22  0 0 0 0 0.12  0 0 0 0 0.05  0 0 0 0.9 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

a { color: var(--rust-dk); text-decoration: underline; text-underline-offset: 3px; }
a:hover { color: var(--mustard-dk); }

.legal-nav {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 32px;
  background: rgba(243,227,195,.82);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(58,32,15,.15);
}
.legal-nav .brand {
  font-family:'Monoton', cursive;
  font-size: 18px;
  letter-spacing:.15em;
  color: var(--rust);
  text-transform: uppercase;
  text-decoration: none;
}
.legal-nav .back {
  font-family:'Yeseva One', serif;
  font-size: 14px;
  letter-spacing:.12em;
  text-transform: uppercase;
  color: var(--brown);
  text-decoration: none;
}
.legal-nav .back:hover { color: var(--rust); }

main.legal {
  max-width: 760px;
  margin: 0 auto;
  padding: 60px 28px 100px;
}

main.legal .eyebrow {
  font-family:'Caveat', cursive;
  font-size: 28px;
  color: var(--rust);
  transform: rotate(-2deg);
  display: inline-block;
  margin-bottom: 4px;
}

main.legal h1 {
  font-family:'Rozha One', serif;
  font-size: clamp(40px, 7vw, 72px);
  color: var(--brown);
  line-height: 1;
  margin-bottom: 12px;
}

main.legal h2 {
  font-family:'Yeseva One', serif;
  font-size: 26px;
  color: var(--brown);
  margin: 48px 0 12px;
  letter-spacing: .01em;
}

main.legal h3 {
  font-family:'Yeseva One', serif;
  font-size: 19px;
  color: var(--rust-dk);
  margin: 26px 0 8px;
  letter-spacing: .02em;
}

main.legal p,
main.legal ul,
main.legal ol {
  margin-bottom: 14px;
}

main.legal ul, main.legal ol {
  padding-left: 22px;
}
main.legal li { margin: 4px 0; }

main.legal .lead {
  font-size: 22px;
  color: var(--brown-soft);
  margin-bottom: 38px;
}

main.legal .deco {
  display:flex; align-items:center; justify-content:flex-start; gap:14px;
  color: var(--rust);
  margin: 0 0 38px;
}
main.legal .deco .line { width: 80px; height: 2px; background: currentColor; }
main.legal .deco .star { font-size: 16px; }

main.legal .placeholder {
  background: rgba(212,154,50,.22);
  border: 1px dashed var(--mustard-dk);
  color: var(--brown);
  padding: 2px 8px;
  border-radius: 4px;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  font-style: italic;
  white-space: nowrap;
}

main.legal .addr {
  font-style: normal;
  padding: 14px 18px;
  background: rgba(255,255,255,.4);
  border-left: 3px solid var(--mustard);
  display: inline-block;
  margin: 4px 0 12px;
}

main.legal footer.legal-foot {
  margin-top: 80px;
  padding-top: 30px;
  border-top: 1px solid rgba(58,32,15,.2);
  text-align: center;
  color: var(--brown-soft);
  font-family: 'Caveat', cursive;
  font-size: 22px;
}
main.legal footer.legal-foot a {
  color: var(--rust);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
