/* AVELI STUDIO — Rechtsseiten (Impressum/Datenschutz)
   Self-contained, kein Tailwind/CDN, self-hosted Fonts (DSGVO).
   Tokens 1:1 aus index.html (helle Seite). */

/* Self-hosted fonts (kein Google-Request) */
@font-face { font-family: 'Baskervville'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/baskervville-400.woff2') format('woff2'); }
@font-face { font-family: 'Baskervville'; font-style: italic;  font-weight: 400; font-display: swap; src: url('assets/fonts/baskervville-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 300; font-display: swap; src: url('assets/fonts/jost-300.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/jost-400.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/jost-500.woff2') format('woff2'); }

:root {
  --c-bg: #faf8f5; --c-surface: #ffffff;
  --c-text: #3a3530; --c-muted: #6f6760;
  --c-border: #e8e3dc; --c-gold: #c9a36a; --c-gold-text: #8a6c38;
  --c-espresso: #241c16; --c-frame: #171110;
  --c-hero-bg: #171110; --c-headline-dark: #f5ece2; --c-body-dark: #b8a99c;
  --frame-w: clamp(6px, 1.2vw, 18px);
  --ease-spring: cubic-bezier(.2, .7, .2, 1);
  --font-display: 'Baskervville', Georgia, serif;
  --font-body: 'Jost', system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--c-bg); color: var(--c-text);
  font-family: var(--font-body); font-weight: 300; line-height: 1.7;
  font-size: clamp(1rem, .96rem + .2vw, 1.0625rem);
}

/* Matter Außenrahmen wie auf der Hauptseite */
.frame { position: fixed; inset: 0; z-index: 60; pointer-events: none; border: var(--frame-w) solid var(--c-frame); }

a { color: var(--c-gold-text); text-decoration: underline; text-underline-offset: 3px; transition: opacity .25s var(--ease-spring); }
a:hover { opacity: .7; }
a:focus-visible { outline: 2px solid var(--c-gold-text); outline-offset: 3px; border-radius: 2px; }

.eyebrow { font-family: var(--font-body); text-transform: uppercase; letter-spacing: 3px; font-size: 12px; font-weight: 400; }

/* Kopfzeile */
.legal-top { max-width: 60rem; margin-inline: auto; padding: clamp(2.5rem, 6vw, 4rem) clamp(1.5rem, 5vw, 3rem) 0; display: flex; align-items: baseline; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.legal-top .back { font-family: var(--font-body); font-size: 14px; letter-spacing: .3px; }
.legal-top .mark { font-family: var(--font-display); font-size: 20px; letter-spacing: 2px; color: var(--c-espresso); text-decoration: none; }
.legal-top .mark:hover { opacity: 1; color: var(--c-gold-text); }

/* Inhalt */
.legal-wrap { max-width: 48rem; margin-inline: auto; padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 5vw, 3rem) clamp(4rem, 9vw, 7rem); }
.legal-wrap h1 { font-family: var(--font-display); font-weight: 400; letter-spacing: -.01em; line-height: 1.1; font-size: clamp(2.2rem, 1.6rem + 3vw, 3.4rem); margin: .2em 0 .15em; }
.legal-lead { color: var(--c-muted); font-size: 1.05rem; margin: 0 0 2.5rem; }
.legal-wrap h2 { font-family: var(--font-display); font-weight: 400; letter-spacing: -.01em; font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1.85rem); margin: 2.8rem 0 .6rem; padding-top: 2.4rem; border-top: 1px solid var(--c-border); }
.legal-wrap h2:first-of-type { border-top: 0; padding-top: 0; }
.legal-wrap h3 { font-family: var(--font-body); font-weight: 500; font-size: 1.05rem; letter-spacing: .2px; margin: 1.6rem 0 .4rem; }
.legal-wrap p { margin: 0 0 1.1rem; }
.legal-wrap ul { margin: 0 0 1.3rem; padding-left: 1.2rem; }
.legal-wrap li { margin: 0 0 .5rem; }
.legal-wrap address { font-style: normal; }

/* Hervorhebungen */
.legal-card { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 16px; padding: clamp(1.4rem, 3vw, 2rem); margin: 0 0 1.6rem; }
.legal-card p:last-child { margin-bottom: 0; }
.muted { color: var(--c-muted); }
.note { font-size: .9rem; color: var(--c-muted); }

/* Sichtbarer Platzhalter für noch zu ergänzende Daten */
.todo { background: #fbe2c4; color: #5c3d12; padding: .05em .4em; border-radius: 4px; font-weight: 400; }

/* Fußzeile (wie Hauptseite) */
.legal-footer { background: var(--c-hero-bg); color: var(--c-body-dark); }
.legal-footer .inner { max-width: 60rem; margin-inline: auto; padding: clamp(2.5rem, 6vw, 4rem) clamp(1.5rem, 5vw, 3rem); display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1.5rem; font-size: 14px; }
.legal-footer .eyebrow { color: var(--c-gold); }
.legal-footer a { color: var(--c-body-dark); }
.legal-footer a:hover { color: var(--c-gold); opacity: 1; }
.legal-footer nav { display: flex; gap: 1.5rem; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
