/* Gemeinsames Styling für Rechts-Seiten (Impressum, Datenschutz, AGB, Kontakt) */
:root{
  --blau:#0284C7; --blau-tief:#0d1f33; --pink:#FF0080; --pink-dunkel:#E6006B;
  --dunkel:#1e293b; --mittel:#334155; --hell:#64748b; --linie:rgba(30,41,59,.12);
  --bg:#fafaf8; --weiss:#ffffff; --maxw:780px; --pad:clamp(20px,5vw,40px);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--mittel);
  font-family:'Satoshi','Avenir',system-ui,sans-serif;font-size:16px;line-height:1.72;
  -webkit-font-smoothing:antialiased;}
a{color:var(--blau);text-decoration:none;}
a:hover{text-decoration:underline;}

.legal-top{position:sticky;top:0;z-index:10;background:rgba(250,250,248,.9);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--linie);padding:16px var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:16px;}
.legal-top .back{font-weight:700;font-size:14px;color:var(--dunkel);}
.legal-top .back:hover{color:var(--pink);text-decoration:none;}
.legal-top .brand{font-size:14px;font-weight:700;color:var(--dunkel);}
.legal-top .brand b{color:var(--pink);}

.legal-wrap{max-width:var(--maxw);margin:0 auto;padding:clamp(40px,7vw,72px) var(--pad) 80px;}
.legal-wrap h1{font-size:clamp(1.9rem,4vw,2.6rem);font-weight:900;letter-spacing:-.02em;
  color:var(--blau);margin:0 0 6px;line-height:1.1;}
.legal-wrap .sub{color:var(--hell);font-size:14px;margin:0 0 36px;}
.legal-wrap h2{font-size:clamp(1.15rem,2.2vw,1.4rem);font-weight:700;letter-spacing:-.01em;
  color:var(--dunkel);margin:38px 0 10px;}
.legal-wrap h3{font-size:1.02rem;font-weight:700;color:var(--dunkel);margin:24px 0 6px;}
.legal-wrap p{margin:0 0 14px;}
.legal-wrap ul{margin:0 0 16px;padding-left:22px;}
.legal-wrap li{margin:0 0 7px;}
.legal-wrap strong,.legal-wrap b{color:var(--dunkel);font-weight:600;}
.legal-wrap .lead{font-size:1.05rem;color:var(--mittel);}
.legal-card{background:var(--weiss);border:1px solid var(--linie);border-radius:16px;
  padding:22px 24px;margin:0 0 26px;box-shadow:0 8px 30px rgba(30,41,59,.05);}
.legal-foot{border-top:1px solid var(--linie);margin-top:48px;padding-top:22px;
  font-size:13px;color:var(--hell);}
.legal-foot a{font-weight:600;}

/* Kontaktformular */
.kform{background:var(--weiss);border:1px solid var(--linie);border-radius:18px;
  padding:clamp(22px,4vw,34px);box-shadow:0 10px 34px rgba(30,41,59,.06);margin-top:8px;}
.kform label{display:block;font-weight:600;color:var(--dunkel);font-size:14px;margin:0 0 6px;}
.kform .frow{margin-bottom:18px;}
.kform input,.kform textarea{width:100%;font-family:inherit;font-size:15px;color:var(--dunkel);
  background:var(--bg);border:1px solid var(--linie);border-radius:12px;padding:13px 15px;transition:border-color .2s ease;}
.kform input:focus,.kform textarea:focus{outline:none;border-color:var(--blau);}
.kform textarea{min-height:140px;resize:vertical;}
.kform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.kform .btn{font-family:inherit;font-weight:700;font-size:15px;border:0;border-radius:100px;
  padding:15px 30px;cursor:pointer;background:var(--pink);color:#fff;
  box-shadow:0 12px 34px rgba(255,0,128,.28);transition:transform .2s ease,background .2s ease;}
.kform .btn:hover{transform:translateY(-2px);background:var(--pink-dunkel);}
.kform .consent{font-size:13px;color:var(--hell);line-height:1.5;}
.kform .consent input{width:auto;margin-right:8px;}
.kmeta{margin-top:26px;font-size:14px;color:var(--mittel);line-height:1.7;}
.knote{padding:14px 16px;border-radius:12px;margin-bottom:20px;font-size:14px;}
.knote.ok{background:#e7f6ec;color:#1c7a3f;border:1px solid #b6e2c4;}
.knote.err{background:#fdeaea;color:#b3261e;border:1px solid #f3c2bf;}

/* WhatsApp-Button (schwebend) */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:85;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(37,211,102,.42);transition:transform .2s ease,box-shadow .2s ease;}
.wa-float:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 16px 40px rgba(37,211,102,.5);}
.wa-float svg{width:32px;height:32px;fill:#fff;}
@media(max-width:560px){.wa-float{width:54px;height:54px;right:16px;bottom:18px;}.wa-float svg{width:30px;height:30px;}}
