/* Live-Vorschau (danielpietras.de). Alle Klassen mit Präfix vs-, keine Abhängigkeit vom Rest der Seite. */
.vs{
  --vs-navy:#1A2080;--vs-orange:#FF8200;--vs-ink:#171B26;--vs-grau:#555B66;
  --vs-line:#8A90B0;--vs-bg:#F6F7FB;
  --vs-f:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-family:var(--vs-f);color:var(--vs-ink);line-height:1.5;
  padding:56px 16px;background:var(--vs-bg);overflow:hidden;border:0
}
.vs *,.vs *::before,.vs *::after{box-sizing:border-box}
.vs-wrap{max-width:1040px;margin:0 auto}
.vs-kopf{max-width:60ch;margin-bottom:28px}
.vs-kopf h2{font-size:32px;font-size:clamp(28px,4.5vw,40px);line-height:1.15;margin:0 0 12px;letter-spacing:-.01em;text-transform:none}
.vs-kopf p{font-size:18px;color:var(--vs-grau);margin:0}
.vs-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px 56px;align-items:start}
@media(max-width:860px){.vs-grid{grid-template-columns:minmax(0,1fr);gap:28px}}

/* Eingaben */
.vs-feld{display:block;margin-bottom:18px}
.vs-feld label{display:block;font-weight:700;font-size:16px;margin-bottom:6px}
.vs-leicht{font-weight:400}
.vs-feld small{display:block;font-size:14px;color:var(--vs-grau);margin-top:5px}
.vs-feld input{width:100%;font:inherit;font-size:18px;padding:13px 14px;border:2px solid var(--vs-line);border-radius:4px;background:#fff;color:var(--vs-ink);min-height:50px}
.vs-feld input:focus-visible,.vs-chip:focus-visible,.vs-cta:focus-visible{outline:3px solid var(--vs-navy);outline-offset:3px}
.vs-chips{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 0;padding:0;list-style:none}
.vs-chips li{margin:0;padding:0;list-style:none}
.vs-chip{font:inherit;font-size:16px;min-height:44px;padding:9px 16px;border-radius:999px;border:2px solid var(--vs-navy);background:#fff;color:var(--vs-navy);cursor:pointer;transition:background .2s,color .2s}
.vs-chip:hover{background:rgba(26,32,128,.08)}
.vs-chip[aria-current="true"]{background:var(--vs-navy);color:#fff}
.vs-chips-titel{font-size:16px;font-weight:700;margin:22px 0 10px}

/* Bühne und Handyrahmen */
.vs-buehne{display:flex;flex-direction:column;align-items:center;gap:22px;perspective:1100px;justify-self:center;width:100%;max-width:340px}
.vs-handy{
  --vs-d:#1A2080;--vs-a:#FF8200;--vs-h:#F6F7FB;--vs-at:#171B26;--vs-rx:0deg;--vs-ry:0deg;
  width:300px;max-width:100%;height:600px;max-height:78vh;min-height:460px;border-radius:38px;padding:12px;background:#15171c;
  box-shadow:0 30px 60px -20px rgba(23,27,38,.45),inset 0 0 0 2px #3a3d46;position:relative;
  transform:rotateX(var(--vs-rx)) rotateY(var(--vs-ry));transition:transform .25s ease-out;will-change:transform;
  scroll-margin-top:var(--vs-kopf,72px)
}
.vs-kerbe{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:110px;height:24px;background:#15171c;border-radius:0 0 16px 16px;z-index:3}
.vs-schirm{height:100%;overflow-y:auto;overflow-x:hidden;border-radius:28px;background:var(--vs-h);isolation:isolate;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.25) transparent;transition:background-color .45s;font-size:12px;line-height:1.45;-webkit-overflow-scrolling:touch;outline:none}
.vs-schirm::-webkit-scrollbar{width:5px}
.vs-schirm::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:3px}
.vs-schirm h3,.vs-schirm h4,.vs-schirm p,.vs-schirm ul{margin:0;padding:0;text-transform:none}
.vs-schirm ul,.vs-schirm li{list-style:none;margin:0}
.vs-schirm section{border:0}
.vs-text{transition:opacity .18s ease}
.vs-handy.vs-blende .vs-text{opacity:0}

.vs-m-kopf{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:30px 12px 10px;background:var(--vs-d);color:#fff;transition:background-color .45s}
.vs-m-logo{display:flex;align-items:center;gap:7px;font-weight:700;font-size:12px;min-width:0}
.vs-m-logo svg{width:20px;height:20px;flex:none;stroke:var(--vs-a);transition:stroke .45s}
.vs-m-logo b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;color:#fff}
.vs-m-anruf,.vs-m-knopf{display:inline-block;background:var(--vs-a);color:var(--vs-at);font-weight:700;font-size:11px;padding:7px 10px;border-radius:3px;white-space:nowrap;transition:background-color .45s,color .45s}
.vs-m-hero{background:var(--vs-d);color:#fff;padding:18px 14px 20px;transition:background-color .45s}
.vs-m-hero h3{font-size:19px;line-height:1.2;letter-spacing:-.01em;min-height:3.6em;margin-bottom:10px;word-break:break-word;overflow-wrap:anywhere;color:#fff}
.vs-m-hero p{font-size:12px;color:rgba(255,255,255,.86);min-height:4.4em;margin-bottom:14px}
.vs-schirm .vs-m-belege{display:flex;gap:6px;padding:12px 10px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}
.vs-m-belege li{flex:1 1 0;font-size:10px;font-weight:600;line-height:1.3;padding-left:9px;border-left:3px solid var(--vs-a);transition:border-color .45s;min-height:3.9em}
.vs-m-status{display:flex;align-items:center;gap:7px;padding:9px 14px;font-size:11px;font-weight:600;min-height:34px}
.vs-m-punkt{width:9px;height:9px;border-radius:50%;background:#9aa0ab;flex:none}
.vs-m-status.vs-offen .vs-m-punkt{background:#2e9d5b}
.vs-m-leist{padding:2px 14px 12px}
.vs-m-leist h4{font-size:13px;margin-bottom:7px;color:var(--vs-d);transition:color .45s}
.vs-m-leist li{background:#fff;border-radius:6px;padding:8px 10px;margin-bottom:6px;font-size:11.5px;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;align-items:center;gap:8px;min-height:34px}
.vs-m-leist li::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--vs-a);flex:none;transition:background-color .45s}
.vs-m-bew{margin:2px 14px 14px;border:2px dashed rgba(0,0,0,.18);border-radius:8px;padding:12px 12px;text-align:center;color:var(--vs-grau)}
.vs-m-bew p{font-size:11.5px;font-weight:700;color:var(--vs-ink);min-height:1.45em}
.vs-m-bew small{display:block;font-size:10px;margin-top:4px;min-height:2.9em}
.vs-m-fuss{display:block;background:var(--vs-d);color:rgba(255,255,255,.8);font-size:10px;padding:12px 14px 16px;line-height:1.6;transition:background-color .45s}
.vs-m-fuss b{color:#fff}

/* Anfrage */
.vs-cta,.vs-cta:visited,.vs-cta:hover,.vs-cta:focus{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--vs-orange);color:var(--vs-ink);font-weight:700;font-size:17px;text-decoration:none;padding:16px 26px;border-radius:3px;min-height:52px;width:100%;max-width:340px;transition:background .2s}
.vs-cta:hover{background:#FFA033}
.vs-cta svg{width:22px;height:22px;flex:none}
.vs-hinweis{font-size:14px;color:var(--vs-grau);text-align:center;margin:-10px 0 0}
.vs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

@media(max-width:480px){
  .vs{padding:44px 16px}
  .vs-handy{width:100%;max-width:300px;height:600px;max-height:none}
  .vs-chips li{flex:1 1 calc(50% - 5px)}
  .vs-chip{width:100%;text-align:center}
}
/* Touch-Geräte: kein Scrollbereich im Rahmen (keine Scrollfalle), dafür engere Abstände und etwas höherer Rahmen, damit die ganze Mini-Seite sichtbar ist */
@media(hover:none){
  .vs-handy{height:660px;max-height:none}
  .vs-schirm{overflow-y:hidden}
  .vs-m-kopf{padding:26px 12px 8px}
  .vs-m-hero{padding:12px 14px 14px}
  .vs-m-hero h3{margin-bottom:8px}
  .vs-m-hero p{margin-bottom:10px}
  .vs-schirm .vs-m-belege{padding:10px}
  .vs-m-status{padding:8px 14px}
  .vs-m-leist{padding:0 14px 8px}
  .vs-m-leist h4{margin-bottom:6px}
  .vs-m-leist li{min-height:30px;padding:6px 10px;margin-bottom:5px}
  .vs-m-bew{margin:0 14px 10px;padding:8px 12px}
  .vs-m-fuss{padding:10px 14px}
}
@media(prefers-reduced-motion:reduce){
  .vs *,.vs *::before,.vs *::after{transition:none!important}
  .vs-handy{transform:none!important}
}
