/* Gemeinsames Layout für Impressum und Datenschutz — im Redesign-Look,
   auf Lesbarkeit langer Fließtexte optimiert (Zeilenlänge, Abstände). */

.topbar{position:sticky;top:0;z-index:60;background:rgba(6,14,3,.72);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--glass-border);}
.tb-in{max-width:var(--container-max);margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:24px;}
.tb-in img{height:var(--logo-h,clamp(34px,3vw,46px));width:auto;}
.tb-right{display:flex;gap:20px;margin-left:auto;align-items:center;}
.tb-right a{color:var(--text-2);font:var(--text-body-sm);font-weight:600;
  min-height:44px;display:inline-flex;align-items:center;}
.tb-right a:hover{color:var(--text-1);}

.recht{padding:clamp(48px,7vw,88px) 0 var(--space-9);}
.recht-in{max-width:760px;margin:0 auto;padding:0 24px;}
.recht h1{font:700 clamp(34px,4.4vw,52px)/1.06 var(--font-display);letter-spacing:-.03em;margin:14px 0 16px;}
.recht .lead{margin-bottom:8px;}

.recht section{margin-top:44px;padding-top:32px;border-top:1px solid var(--glass-border);}
.recht section:first-of-type{border-top:0;padding-top:0;}
.recht h2{font:600 21px/1.3 var(--font-display);color:var(--text-1);margin-bottom:16px;letter-spacing:-.01em;}
.recht h3{font:600 17px/1.35 var(--font-display);color:var(--text-1);margin:26px 0 10px;}
.recht p{font:var(--text-body-md);color:var(--text-2);margin-bottom:14px;max-width:68ch;}
.recht p:last-child{margin-bottom:0;}
.recht ul{margin:0 0 14px;padding-left:22px;color:var(--text-2);font:var(--text-body-md);max-width:68ch;}
.recht li{margin-bottom:8px;}
.recht li::marker{color:var(--accent);}
.recht a{font-weight:600;}
.recht code{background:var(--glass-fill);border:1px solid var(--glass-border);border-radius:6px;
  padding:2px 7px;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-1);}

/* Definitionslisten für Kontakt- und Registerangaben */
.recht dl{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin:0;align-items:baseline;}
.recht dt{font:var(--text-eyebrow);letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);}
.recht dd{margin:0;font:var(--text-body-md);color:var(--text-2);}

/* Hinweiskasten für offene Punkte */
.recht .hinweis{background:rgba(232,179,60,.09);border:1px solid rgba(232,179,60,.34);
  border-radius:var(--radius-card);padding:20px 24px;margin:26px 0;}
.recht .hinweis b{color:var(--warning);display:block;margin-bottom:8px;font:var(--text-label);}
.recht .hinweis p{color:var(--text-2);font:var(--text-body-sm);margin-bottom:0;}

.recht-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:26px 28px;margin-top:56px;}
.recht-cta b{color:var(--text-1);font:600 18px/1.3 var(--font-display);display:block;margin-bottom:6px;}
.recht-cta span{font:var(--text-body-sm);color:var(--text-3);}

.foot{border-top:1px solid var(--glass-border);padding:38px 0;}
.foot-in{max-width:var(--container-max);margin:0 auto;padding:0 24px;display:flex;
  justify-content:space-between;gap:22px;flex-wrap:wrap;align-items:center;}
.foot img{height:var(--logo-foot-h,28px);}
.foot-links{display:flex;gap:8px;flex-wrap:wrap;}
.foot-links a{font:var(--text-body-sm);color:var(--text-3);min-height:44px;
  display:inline-flex;align-items:center;padding:0 12px;}
.foot-links a:hover{color:var(--text-1);}
.foot-adr{font:var(--text-caption);color:var(--text-4);width:100%;}
.foot-adr a{min-height:44px;display:inline-flex;align-items:center;}

@media (max-width:640px){
  .recht dl{grid-template-columns:1fr;gap:4px 0;}
  .recht dd{margin-bottom:12px;}
  .recht-cta{padding:22px;}
}
