/* =========================================================
   Rechtstexte · Rosa Schaf®
   Gemeinsames Stylesheet für Impressum, Datenschutz, AGB, Widerruf
   ========================================================= */
@font-face{font-family:"Plus Jakarta Sans";src:url("/schriften/plus-jakarta-sans-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("/schriften/plus-jakarta-sans-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("/schriften/plus-jakarta-sans-latin-800-normal.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Montserrat";src:url("/schriften/montserrat-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Montserrat";src:url("/schriften/montserrat-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Montserrat";src:url("/schriften/montserrat-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Open Sans";src:url("/schriften/open-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Open Sans";src:url("/schriften/open-sans-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}

:root{
  --creme:#FAF3EF; --blush:#FDF0F9; --soft:#FCE4F3; --weiss:#FFFFFF;
  --pink:#C050BA; --pink-h:#A83CA0; --rosa:#F0B8E0; --akzent:#F0C8E8; --classic:#F5C8E8;
  --aub:#2A0A20; --tief:#1A1A1A; --mittel:#3D3D3D; --leise:#777777;
  --kante:#F0D0E8; --linie:#E8DDD7; --meta:#A07090;
  --f-head:'Plus Jakarta Sans','Montserrat',system-ui,sans-serif;
  --f-ui:'Montserrat',system-ui,sans-serif;
  --f-text:'Open Sans','Montserrat',system-ui,-apple-system,sans-serif;
  --pad:clamp(18px,4vw,40px);
  --ease:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%}
body{background:var(--creme);color:var(--mittel);font-family:var(--f-text);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img{max-width:100%;display:block}
a{color:var(--pink-h);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--pink)}
a:focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:4px}
::selection{background:var(--pink);color:#fff}

/* ---------- Kopf ---------- */
.kopf{background:var(--creme);border-bottom:1px solid var(--linie)}
.kopf-in{max-width:880px;margin:0 auto;padding:14px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:16px}
.marke{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--tief);font-family:var(--f-head);font-weight:700;font-size:1.05rem;letter-spacing:-.01em}
.marke:hover{color:var(--tief)}
.marke-logo{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:var(--weiss);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px var(--kante)}
.marke-logo img{height:32px;width:auto}
.kopf-link{font-family:var(--f-ui);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mittel);text-decoration:none;white-space:nowrap}
.kopf-link:hover{color:var(--pink-h)}

/* ---------- Inhalt ---------- */
.recht{max-width:880px;margin:0 auto;padding:clamp(36px,6vw,72px) var(--pad) clamp(56px,8vw,96px)}
.blatt{background:var(--weiss);border:1px solid var(--linie);border-radius:24px;padding:clamp(24px,5vw,56px)}
.eyebrow{font-family:var(--f-ui);font-size:.7rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--pink-h);margin-bottom:12px}
h1{font-family:var(--f-head);font-weight:800;color:var(--tief);font-size:clamp(1.6rem,6.4vw,2.8rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:12px;hyphens:auto}
.stand{font-family:var(--f-ui);font-size:.82rem;font-weight:500;color:var(--leise);margin-bottom:8px}
.kopfdaten{margin-top:16px;color:var(--mittel)}
h2{font-family:var(--f-head);font-weight:700;color:var(--tief);font-size:clamp(1.3rem,3.4vw,1.6rem);line-height:1.25;letter-spacing:-.02em;margin:48px 0 14px;padding-top:24px;border-top:1px solid var(--linie);hyphens:auto}
h3{font-family:var(--f-head);font-weight:700;color:var(--tief);font-size:1.12rem;line-height:1.35;margin:30px 0 8px;hyphens:auto}
h4{font-family:var(--f-ui);font-weight:600;color:var(--tief);font-size:.98rem;line-height:1.4;margin:22px 0 6px}
p{margin:0 0 12px}
ul,ol{margin:0 0 14px;padding-left:1.4em}
li{margin:0 0 8px;padding-left:.2em}
li::marker{color:var(--pink)}
strong{color:var(--tief);font-weight:600}
.anbieter{list-style:none;padding-left:0}
.anbieter li{padding:14px 0 14px 18px;margin:0;border-left:3px solid var(--akzent);margin-bottom:10px;padding-right:4px}
.adresse{margin-bottom:14px}
.abstand{margin-top:30px}
.klein{font-size:.9rem;color:var(--leise)}
.copyright{margin-top:40px;padding-top:20px;border-top:1px solid var(--linie);font-size:.86rem;color:var(--leise)}

/* ---------- Inhaltsverzeichnis ---------- */
.toc{margin:28px 0 8px;padding:20px 24px;background:var(--soft);border-radius:16px}
.toc-titel{font-family:var(--f-ui);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--pink-h);margin-bottom:10px}
.toc ol{list-style:none;padding:0;margin:0;columns:2 260px;column-gap:28px}
.toc li{margin:0 0 6px;padding:0;break-inside:avoid}
.toc a{color:var(--mittel);text-decoration:none;font-size:.95rem}
.toc a:hover{color:var(--pink-h);text-decoration:underline}

/* ---------- Button mit Glanz (wie Homepage) ---------- */
.aktion{margin:28px 0 8px;padding:24px;background:var(--blush);border:1px solid var(--kante);border-radius:20px;text-align:center}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-family:var(--f-ui);font-weight:600;letter-spacing:.03em;text-decoration:none;border-radius:999px;cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s var(--ease),background-color .25s}
.btn-primary{color:#fff;background-color:var(--pink);
  background-image:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.28) 45%,rgba(255,255,255,.65) 50%,rgba(255,255,255,.28) 55%,transparent 62%);
  background-size:260% 100%;background-repeat:no-repeat;background-position:100% 0;
  animation:shimmer 4.2s ease-in-out infinite;
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 16px 36px -14px rgba(192,80,186,.85)}
.btn-primary:hover{background-color:var(--pink-h);color:#fff;transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 24px 48px -16px rgba(192,80,186,.95)}
.btn-lg{font-size:1.05rem;padding:20px 44px}
@keyframes shimmer{0%{background-position:100% 0}42%,100%{background-position:0 0}}
.aktion .unter{margin:12px 0 0;font-size:.92rem;color:var(--mittel)}

/* ---------- Muster-Formular ---------- */
.formular{margin:16px 0;padding:20px 24px;border:1px dashed var(--meta);border-radius:16px;background:var(--creme)}
.formular p:last-child{margin-bottom:0}

/* ---------- Fuß ---------- */
.fuss{background:var(--aub);color:var(--classic);padding:44px var(--pad) 40px;text-align:center}
.fuss-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:22px;font-family:var(--f-ui);font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.fuss-links a{color:var(--rosa);text-decoration:none}
.fuss-links a:hover,.fuss-links a[aria-current="page"]{color:var(--classic);text-decoration:underline}
.fuss-links .punkt{color:var(--meta)}
.claim{font-family:var(--f-head);font-weight:500;font-size:1rem;color:var(--classic);margin:0}

@media (max-width:560px){
  .kopf-link{font-size:.66rem;letter-spacing:.1em}
  .marke{font-size:.98rem}
  .marke-logo{width:38px;height:38px;flex-basis:38px}.marke-logo img{height:27px}
  .btn-lg{width:100%;padding:18px 22px;white-space:normal}
  .toc{padding:18px}
  .anbieter li{padding-left:14px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn-primary{animation:none}
  .btn{transition:none}
}
@media print{
  .kopf,.fuss,.toc,.aktion{display:none}
  body{background:#fff}
  .blatt{border:0;padding:0}
}
