/* ======================================================================
   Gemeinsames Aussehen für Impressum und Datenschutzerklärung.
   Bewusst als eigene Datei: beide Seiten nutzen sie, und der Service
   Worker legt sie einmal ab.
   ====================================================================== */
:root{
  --aam-navy:#00304d;
  --aam-blue:#004e7a;
  --aam-turq:#12a4c6;
  --aam-text:#172733;
  --aam-text-soft:#5b6c7b;
  --aam-line:rgba(0,48,77,.12);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  color:var(--aam-text);background:#f4f7fa;line-height:1.62;
  -webkit-text-size-adjust:100%;
}

.kopf{
  background:linear-gradient(135deg,var(--aam-navy),var(--aam-blue));
  color:#fff;padding:1.6rem 1.25rem 1.9rem;
}
.kopf__innen{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:.9rem}
.kopf img{width:52px;height:52px;border-radius:50%;background:#fff;padding:3px;flex-shrink:0}
.kopf h1{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:.01em}
.kopf p{margin:.15rem 0 0;font-size:.82rem;opacity:.85}

main{
  max-width:760px;margin:-1rem auto 3rem;padding:1.8rem 1.5rem 2.2rem;
  background:#fff;border-radius:16px;box-shadow:0 6px 26px rgba(0,48,77,.09);
}
@media (max-width:640px){
  main{margin:-.75rem .7rem 2rem;padding:1.3rem 1.1rem 1.8rem;border-radius:14px}
  .kopf h1{font-size:1.15rem}
}

h2{
  font-size:1.05rem;color:var(--aam-navy);margin:2rem 0 .5rem;
  padding-bottom:.3rem;border-bottom:1px solid var(--aam-line);
}
h2:first-of-type{margin-top:.4rem}
h3{font-size:.92rem;color:var(--aam-blue);margin:1.3rem 0 .3rem}
p{margin:.55rem 0}
a{color:var(--aam-blue)}
address{font-style:normal}

.hinweis{
  background:rgba(18,164,198,.09);border-left:3px solid var(--aam-turq);
  padding:.85rem 1rem;border-radius:0 10px 10px 0;margin:1.1rem 0;font-size:.9rem;
}
.hinweis strong{color:var(--aam-navy)}

.platzhalter{
  background:#fff8e6;border-left:3px solid #e0a800;
  padding:.85rem 1rem;border-radius:0 10px 10px 0;margin:1.1rem 0;font-size:.9rem;
}
.platzhalter strong{color:#8a6100}
mark{background:#ffe9a8;padding:1px 5px;border-radius:4px;color:#5c4300;font-weight:600}

table{border-collapse:collapse;width:100%;margin:.7rem 0;font-size:.88rem}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--aam-line);vertical-align:top}
th{color:var(--aam-navy);font-weight:600;background:rgba(0,48,77,.04)}
td code{font-size:.92em;word-break:break-all}
code{background:rgba(0,48,77,.06);border-radius:4px;padding:1px 5px;
     font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}

.knopf{
  display:inline-block;margin:.5rem .4rem .5rem 0;cursor:pointer;
  border:1px solid var(--aam-blue);border-radius:999px;
  padding:.5rem 1.1rem;font:inherit;font-size:.85rem;font-weight:600;
  background:var(--aam-blue);color:#fff;text-decoration:none;
}
.knopf:hover{background:var(--aam-navy)}
.knopf--hell{background:#fff;color:var(--aam-blue)}
.knopf--hell:hover{background:rgba(0,78,122,.07)}
.status-einwilligung{font-size:.86rem;color:var(--aam-text-soft);margin-top:.5rem}

.fuss{
  max-width:760px;margin:0 auto 2.5rem;padding:0 1.5rem;
  font-size:.8rem;color:var(--aam-text-soft);
  display:flex;gap:1rem;flex-wrap:wrap;
}
.fuss a{color:var(--aam-text-soft)}
