/* ======================================================================
   Gemeinsames Stylesheet für Impressum & Datenschutz
   Farben/Schriften kommen aus derselben Logik wie index.html
   ====================================================================== */
@font-face{
  font-family:'Edhan Martine';
  src:url('fonts/EdhanMartine-Regular.woff') format('woff');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Josefin Sans';
  src:url('fonts/JosefinSans-Light.woff') format('woff');
  font-weight:300; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Josefin Sans';
  src:url('fonts/JosefinSans-Regular.woff') format('woff');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Josefin Sans';
  src:url('fonts/JosefinSans-Medium.woff') format('woff');
  font-weight:500; font-style:normal; font-display:swap;
}

:root{
  --black:#0c0b0a; --cream:#f6f1ea; --cream-dark:#ece4d9;
  --sand:#b39b7d; --ink:#2a2622; --ink-soft:#6b625a; --light:#f6f1ea;
  --light-soft:rgba(246,241,234,.6);
  --serif:'Edhan Martine', Georgia, serif;
  --sans:'Josefin Sans','Helvetica Neue',Arial,sans-serif;
  --pad:clamp(20px,5vw,80px);
}
*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--sans); font-weight:300; font-size:16px; line-height:1.85;
  letter-spacing:.012em; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:var(--sand);}
a:hover{color:var(--ink);}

/* Kopfzeile */
.legal-head{
  background:var(--black); padding:26px var(--pad);
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.legal-head img{height:38px; width:auto;}
.legal-head a.back{
  color:var(--light-soft); font-size:.7rem; letter-spacing:.28em; text-transform:uppercase;
  text-decoration:none;
}
.legal-head a.back:hover{color:var(--sand);}

/* Inhalt */
main{max-width:820px; margin:0 auto; padding:clamp(50px,8vw,100px) var(--pad) clamp(60px,9vw,110px);}
h1{
  font-family:var(--serif); font-weight:400; line-height:1.06; letter-spacing:.015em;
  font-size:clamp(2.2rem,5vw,3.8rem); margin:0 0 .6rem;
}
h2{
  font-family:var(--serif); font-weight:400; letter-spacing:.015em;
  font-size:clamp(1.35rem,2.4vw,1.9rem); margin:2.8rem 0 .8rem;
}
h3{
  font-family:var(--sans); font-weight:500; font-size:.78rem;
  letter-spacing:.24em; text-transform:uppercase; color:var(--ink);
  margin:2rem 0 .5rem;
}
.sub{
  font-size:.7rem; letter-spacing:.36em; text-transform:uppercase;
  color:var(--sand); margin:0 0 2.6rem;
}
p{margin:0 0 1.1rem; color:var(--ink-soft);}
p strong{color:var(--ink); font-weight:400;}
ul,ol{margin:0 0 1.4rem; padding-left:1.3rem; color:var(--ink-soft);}
li{margin-bottom:.45rem;}
hr{border:none; height:1px; background:rgba(42,38,34,.14); margin:3rem 0;}
.box{
  background:var(--cream-dark); padding:clamp(20px,3vw,32px);
  border-left:2px solid var(--sand); margin:0 0 1.6rem;
}
.box p:last-child{margin-bottom:0;}
.muted{font-size:.85rem; color:var(--ink-soft); opacity:.8;}

/* Fusszeile */
.legal-foot{
  background:var(--black); color:var(--light-soft); text-align:center;
  padding:44px var(--pad);
}
.legal-foot img{width:140px; margin:0 auto 1.4rem; opacity:.9;}
.legal-foot .flinks{
  display:flex; gap:1.6rem; justify-content:center; flex-wrap:wrap;
  font-size:.68rem; letter-spacing:.26em; text-transform:uppercase; margin-bottom:1.2rem;
}
.legal-foot a{color:var(--light-soft); text-decoration:none;}
.legal-foot a:hover{color:var(--sand);}
.legal-foot small{font-size:.66rem; letter-spacing:.2em;}
