/* =========================================================
   legal.css
   Shared styles for the legal pages (impressum.html,
   datenschutz.html). Load base.css before this file.
   ========================================================= */

.wrap{max-width:760px; margin:0 auto; padding:0 clamp(20px,5vw,56px);}

header.site-nav{padding:20px 0; border-bottom:1px solid var(--line);}
.nav-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1180px; margin:0 auto; padding:0 clamp(20px,5vw,56px);}
.nav-name{font-family:var(--display); font-weight:700; font-size:1.05rem; color:var(--ink); text-decoration:none;}
.nav-name span{color:var(--accent);}
.back-link{font-size:0.88rem; color:var(--ink-soft); text-decoration:none;}
.back-link:hover{color:var(--accent);}

main{padding:clamp(40px,7vw,72px) 0 clamp(56px,8vw,96px);}

h1{font-family:var(--display); font-size:clamp(2rem,4vw,2.7rem); margin:16px 0 8px; line-height:1.15;}
.lede{color:var(--ink-soft); max-width:60ch; margin-bottom:16px;}
.updated{font-size:0.82rem; color:var(--ink-faint); margin-bottom:16px;}
.updated--intro{margin-bottom:48px;}

.toc{
  background:var(--surface); border:1px solid var(--line); border-radius:14px;
  padding:clamp(20px,4vw,28px); margin:32px 0 8px;
}
.toc-title{font-family:var(--display); font-weight:700; font-size:0.95rem; margin-bottom:10px;}
.toc ol{margin:0; padding-left:1.2em; color:var(--ink-soft); font-size:0.92rem; list-style:none;}
.toc li{margin-bottom:4px;}
.toc a{color:var(--ink-soft); text-decoration:none;}
.toc a:hover{color:var(--accent);}

h2{font-family:var(--display); font-size:1.35rem; margin:44px 0 14px; scroll-margin-top:24px;}
h3{font-family:var(--display); font-size:1.08rem; margin:26px 0 10px;}
p{margin:0 0 14px;}
ul{margin:0 0 14px; padding-left:1.3em;}
li{margin-bottom:6px;}
a{color:var(--accent);}
.card{
  background:var(--surface); border:1px solid var(--line); border-radius:14px;
  padding:clamp(20px,4vw,32px); margin-top:8px;
}
.card p{margin-bottom:4px;}
.card-note{margin-top:14px;}
.placeholder{
  background:color-mix(in srgb, var(--accent-2) 18%, transparent);
  border-radius:4px; padding:0 5px; font-style:normal;
}
.note{
  margin-top:56px; padding:20px clamp(20px,4vw,28px); border-radius:14px;
  background:var(--bg-alt); border:1px solid var(--line); font-size:0.9rem; color:var(--ink-soft);
}
.note strong{color:var(--ink);}
.flag{
  margin-top:14px; padding:14px 18px; border-radius:10px; font-size:0.88rem;
  background:color-mix(in srgb, var(--accent-2) 14%, transparent);
  border:1px solid color-mix(in srgb, var(--accent-2) 45%, transparent);
  color:var(--ink-soft);
}

footer{border-top:1px solid var(--line); margin-top:24px;}
