/* Gemeinsames Stylesheet für Impressum, Datenschutzerklärung und AGB
   – bewusst schlank gehalten, im Design der Startseite. */

:root{
  /* Markenpalette, identisch mit der Startseite */
  --ozean:#2B2B2C;
  --eis:#F1ECE5;
  --akzent:#AC8743;
  --akzent-text:#85662F;
  --schiefer:#2B2B2C;

  --deep:var(--ozean);
  --deep-2:#26241F;
  --teal:var(--akzent-text);
  --mint:var(--akzent);
  --mint-deep-2:#1A1815;
  --mint-pale:#D9C39A;
  --mist:var(--eis);
  --white:#FFFFFF;
  --ink:var(--schiefer);
  --ink-soft:#5F5A52;
  --line:#E3DCD2;
  --schrift-titel: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{margin:0; padding:0; box-sizing:border-box;}

body{
  font-family:'Montserrat', 'Segoe UI', system-ui, -apple-system, sans-serif;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  line-height:1.75;
}

h1,h2,h3{
  font-family:var(--schrift-titel);
  font-weight:600;
  letter-spacing:-0.005em;
  color:var(--deep);
  line-height:1.14;
}

a{color:var(--teal); text-decoration:underline; text-underline-offset:3px;}
a:hover{color:var(--deep);}
a:focus-visible{outline:2px solid var(--mint); outline-offset:3px;}

.container{max-width:820px; margin:0 auto; padding:0 32px;}
@media (max-width:640px){ .container{padding:0 22px;} }

/* ---------- Kopfzeile ---------- */
.legal-header{
  background:var(--white);
  border-bottom:1px solid var(--line);
  padding:20px 0;
}
.legal-header .container{
  max-width:1180px;
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.legal-brand{
  font-family:var(--schrift-titel); font-style:normal; font-size:19px; font-weight:600;
  letter-spacing:0; color:var(--ozean); text-decoration:none;
}
.legal-brand span{
  display:block; font-family:'Montserrat', 'Segoe UI', system-ui, sans-serif; font-style:normal; font-size:9.5px;
  letter-spacing:.12em; font-weight:600; text-transform:uppercase;
  color:var(--akzent-text); margin-top:3px;
}
.legal-back{
  font-size:12.5px; letter-spacing:-0.01em; text-transform:none; font-weight:600;
  color:var(--white); text-decoration:none;
  background:var(--ozean); border:none; border-radius:100px; padding:11px 22px;
  transition:background .25s var(--ease);
}
.legal-back:hover{background:var(--schiefer); color:var(--white);}

/* ---------- Inhalt ---------- */
main{padding:clamp(52px, 8vw, 88px) 0 clamp(60px, 9vw, 100px) 0;}

.legal-kicker{
  font-size:12px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--teal); font-weight:700; margin-bottom:16px;
}
h1{font-size:clamp(34px, 5.6vw, 48px); margin-bottom:14px;}
.legal-updated{font-size:13px; color:var(--ink-soft); margin-bottom:44px;}

h2{
  font-size:clamp(20px, 2.6vw, 25px);
  margin:44px 0 14px 0;
  padding-top:26px;
  border-top:1px solid var(--line);
}
h2:first-of-type{border-top:none; padding-top:0;}
h3{font-size:20px; margin:26px 0 8px 0;}

p{margin-bottom:14px; color:var(--ink-soft);}
p strong, li strong{color:var(--ink); font-weight:600;}

ul, ol{margin:0 0 16px 22px; color:var(--ink-soft);}
li{margin-bottom:7px;}

address{font-style:normal; color:var(--ink); line-height:1.85; margin-bottom:16px;}

.legal-box{
  background:var(--mist);
  border-left:3px solid var(--mint);
  padding:20px 24px;
  margin:22px 0;
  border-radius:0 4px 4px 0;
}
.legal-box p:last-child{margin-bottom:0;}

/* Hinweis auf noch zu ergänzende Angaben – vor Veröffentlichung prüfen */
.legal-todo{
  background:#FFF8E6;
  border-left:3px solid #E0A800;
  padding:18px 22px;
  margin:20px 0;
  border-radius:0 4px 4px 0;
  font-size:14.5px;
}
.legal-todo b{color:#7A5B00;}
.legal-todo p{color:#6B5200; margin-bottom:8px;}
.legal-todo p:last-child{margin-bottom:0;}

table{border-collapse:collapse; width:100%; margin:18px 0; font-size:14.5px;}
th, td{border:1px solid var(--line); padding:11px 14px; text-align:left; vertical-align:top;}
th{background:var(--mist); color:var(--deep); font-weight:600;}
td{color:var(--ink-soft);}
.table-wrap{overflow-x:auto; margin:18px 0;}
.table-wrap table{margin:0;}

/* ---------- Fußzeile ---------- */
footer{
  background:var(--white);
  border-top:1px solid var(--line);
  padding:34px 0;
}
footer .container{max-width:1180px;}
.legal-footer-nav{display:flex; gap:26px; flex-wrap:wrap; margin-bottom:14px;}
.legal-footer-nav a{
  font-size:14px; letter-spacing:-0.01em; color:var(--schiefer); text-decoration:none; font-weight:500;
  transition:color .25s var(--ease);
}
.legal-footer-nav a:hover{color:var(--akzent-text);}
footer p{font-size:12px; color:var(--ink-soft); margin:0;}
