/* Shared styling for the legal pages (Impressum, Datenschutz).
   Mirrors the tokens and look of index.html. */
:root{
  --sky:#60d4c7; --sky-ink:#0f4742; --yellow:#fdf287;
  --pink-300:#f98f9c; --pink-500:#ec6b77; --pink-700:#cf4b4c; --rose:#8d2b34;
  --paper:#fff7f8; --ink:#2b1a24; --ink-soft:#5d3b46; --ink-mute:#6f4a55;
  --border:4px solid var(--ink); --shadow:6px 6px 0 rgba(43,26,36,.18);
  --wrap:820px; --pad:clamp(16px,4vw,40px);
  --px:'Silkscreen','Courier New',monospace;
  --body:'Outfit',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);
  font-size:clamp(16px,1.05vw,17.5px);line-height:1.65}
img{max-width:100%;display:block}
a{color:var(--rose)}
a:focus-visible{outline:3px solid var(--ink);outline-offset:2px}

.bar{background:var(--ink);color:#fff;border-bottom:var(--border)}
.bar .inner{max-width:var(--wrap);margin-inline:auto;padding:12px var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;
  font-family:var(--px);font-weight:700;font-size:1.05rem;letter-spacing:.02em}
.brand img{width:32px;height:32px;image-rendering:pixelated}
.barLinks{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.back{color:var(--yellow);font-family:var(--px);font-size:.78rem;text-decoration:none;
  border-bottom:2px solid transparent}
.back:hover{border-bottom-color:var(--yellow)}

.wrap{max-width:var(--wrap);margin-inline:auto;padding:clamp(26px,5vw,52px) var(--pad) 60px}
h1{font-family:var(--px);font-size:clamp(22px,3.4vw,34px);line-height:1.25;margin:0 0 6px}
h2{font-family:var(--px);font-size:clamp(15px,1.9vw,19px);line-height:1.35;
  margin:clamp(30px,4vw,42px) 0 10px;padding-top:14px;border-top:3px dashed rgba(43,26,36,.22)}
h3{font-family:var(--px);font-size:clamp(13px,1.5vw,15px);margin:22px 0 8px}
p,li{margin:0 0 12px;color:var(--ink-soft)}
strong{color:var(--ink)}
ul{padding-left:22px}
li{margin-bottom:7px}
.lead{font-size:1.02em;color:var(--ink-soft)}
.stand{display:inline-block;background:#fff;border:var(--border);box-shadow:var(--shadow);
  padding:8px 14px;font-family:var(--px);font-size:.72rem;margin:4px 0 18px}
.notice{background:#fff;border:var(--border);box-shadow:var(--shadow);
  padding:16px 18px;margin:18px 0 6px}
.notice p:last-child{margin-bottom:0}
dl.data{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0 0 14px}
dl.data dt{font-family:var(--px);font-size:.72rem;color:var(--ink-mute);padding-top:5px}
dl.data dd{margin:0}
.boxline{font-family:var(--px);font-size:.7rem;letter-spacing:.01em;color:var(--ink-mute)}
.mono{font-family:var(--px);font-size:.78rem}

.foot{border-top:var(--border);background:var(--ink);color:#f7cdd3;
  padding:20px var(--pad) 28px;font-size:.82rem}
.foot .inner{max-width:var(--wrap);margin-inline:auto;display:flex;gap:14px;
  flex-wrap:wrap;justify-content:space-between}
.foot a{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.foot a:hover{color:var(--yellow)}
.foot p{margin:0;color:#f7cdd3;max-width:60ch}

@media (max-width:560px){
  dl.data{grid-template-columns:1fr;gap:2px}
  dl.data dt{padding-top:10px}
}
@media print{
  .bar,.foot{display:none}
  body{background:#fff}
  .notice,.stand{box-shadow:none}
}
