/* Gemeinsamer Rahmen der schlanken Seiten ohne Elementor/WordPress (seit 06.11.2026).
   Gebaut von tools/schlank.mjs aus seiten/*.html. Kopf: /vb/header.css, Cookie-Banner: /vb/consent.css. */
@font-face{font-family:Raleway;font-style:normal;font-weight:100 900;font-display:swap;src:url(/wp-content/astra-local-fonts/raleway/1Ptug8zYS_SKggPNyC0ITw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Raleway;font-style:normal;font-weight:100 900;font-display:swap;src:url(/wp-content/astra-local-fonts/raleway/1Ptug8zYS_SKggPNyCMIT5lu.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:#16323a;font-family:Raleway,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto}
a{color:#007E91}
h1,h2,h3,h4{line-height:1.2;font-weight:800;margin:0 0 .6em}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid rgba(0,126,145,.45);outline-offset:2px}
.vbs-main{display:block;padding:clamp(14px,2.5vw,32px) clamp(12px,2.5vw,32px) 0;overflow-x:clip}
.vbs-main > section,.vbs-main > .vbhs,.vbs-main > .vbs-block{max-width:1240px;margin-left:auto;margin-right:auto}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Abschnitt mit Preis-Kompass ---------- */
.vbs-kompass{margin-top:clamp(56px,7vw,96px)!important}
.vbs-kopf{max-width:760px;margin:0 auto clamp(22px,3vw,34px);text-align:center}
.vbs-eye{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#007E91}
.vbs-eye::before,.vbs-eye::after{content:'';width:22px;height:2px;border-radius:2px;background:currentColor}
.vbs-kopf h2{margin:12px 0 12px;font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.12;letter-spacing:-.01em;color:#16323a}
.vbs-kopf h2 em{font-style:normal;color:#007E91}
.vbs-kopf p{margin:0 auto;font-size:1.05rem;line-height:1.65;color:#3f5a62}

/* ---------- Eigenes Kontaktformular ---------- */
.vbkf{display:grid;gap:12px}
.vbkf input[type=text],.vbkf input[type=email],.vbkf input[type=tel],.vbkf textarea{width:100%;border-radius:12px;border:1px solid #d5e4e7;background:#f7fbfb;padding:13px 16px;font-size:1rem;color:#16323a;transition:border-color .2s,background-color .2s}
.vbkf input:focus,.vbkf textarea:focus{outline:none;border-color:#007E91;background:#fff}
.vbkf textarea{min-height:110px;resize:vertical}
.vbkf ::placeholder{color:#7d9298}
.vbkf-anl{border:0;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.vbkf-anl legend{padding:0;margin:0 0 8px;font-size:.88rem;font-weight:800;color:#16323a}
.vbkf-anl legend small{font-weight:600;color:#7d9298}
.vbkf-anl label{position:relative;cursor:pointer}
.vbkf-anl input{position:absolute;opacity:0;width:1px;height:1px}
.vbkf-anl span{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;background:#f7fbfb;border:1px solid #d5e4e7;font-size:.9rem;font-weight:700;color:#3f5a62;transition:background-color .2s,border-color .2s,color .2s}
.vbkf-anl span::before{content:'+';font-weight:800;color:#007E91}
.vbkf-anl label:hover span{border-color:#007E91}
.vbkf-anl input:checked + span{background:#007E91;border-color:#007E91;color:#fff}
.vbkf-anl input:checked + span::before{content:'✓';color:#fff}
.vbkf-anl input:focus-visible + span{outline:3px solid rgba(0,126,145,.45);outline-offset:2px}
.vbkf-ok{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;line-height:1.5;color:#3f5a62}
.vbkf-ok input{margin:3px 0 0;width:18px;height:18px;accent-color:#007E91;flex:0 0 auto}
.vbkf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.vbkf button{width:100%;border:0;border-radius:12px;background:#E8A020;color:#fff;font-weight:800;font-size:1rem;padding:15px;cursor:pointer;box-shadow:0 12px 26px -12px rgba(200,120,0,.7);transition:transform .2s,background-color .2s}
.vbkf button:hover{background:#d8900f;transform:translateY(-1px)}
.vbkf button[disabled]{opacity:.6;cursor:wait}
.vbf-msg{padding:12px 14px;border-radius:12px;font-weight:700;font-size:.95rem}
.vbf-msg.ok{background:#e6f5ec;color:#1d6b3a}.vbf-msg.err{background:#fdecea;color:#a12a1f}

/* ---------- Fußbereich ---------- */
.vbs-fuss{margin-top:clamp(56px,7vw,96px);background:#007E91;color:#fff;font-family:Raleway,system-ui,sans-serif}
.vbs-fuss a{color:#fff;text-decoration:none}
.vbs-fuss-in{max-width:1240px;margin:0 auto;padding:0 clamp(16px,3vw,40px)}
.vbs-presse{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:24px 40px;align-items:center;padding:44px 0 26px}
.vbs-presse > span{font-size:1.6rem;font-weight:400}
.vbs-presse a{display:flex;justify-content:center}
.vbs-presse img{max-height:52px;width:auto;border-radius:8px}
.vbs-seo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 40px;padding:10px 0 28px;font-size:.98rem}
.vbs-seo a:hover{text-decoration:underline}
.vbs-unten{border-top:1px solid rgba(255,255,255,.55)}
.vbs-unten .vbs-fuss-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 30px;padding-top:26px;padding-bottom:30px;font-size:.95rem}
.vbs-widerruf{display:inline-block;margin-top:12px;padding:5px 15px;border:1px solid #fff;border-radius:4px;font-size:13px;opacity:.85}
.vbs-recht{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none}
.vbs-recht a{cursor:pointer}
.vbs-recht a:hover{text-decoration:underline}
.vbs-main > .vbs-band{max-width:1140px}
@media (max-width:900px){
  .vbs-main{padding-left:0;padding-right:0}
  .vbs-main > .vbhv,.vbs-main > .vbs-block{margin-left:12px;margin-right:12px}
  .vbs-presse{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .vbs-presse > span{grid-column:1/-1;text-align:center;font-size:1.3rem}
  .vbs-seo{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;font-size:.92rem}
  .vbs-unten .vbs-fuss-in{flex-direction:column;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
}

/* ---------- Kontaktleiste, Chat, Nach-oben-Knopf (aus dem WordPress-CSS übernommen) ---------- */
.vb-card-list .elementor-widget-container{background:#f2f8f9;border:1px solid #dcebee;border-radius:16px;padding:22px 26px}
.vb-card-list .elementor-icon-list-icon i,.vb-card-list .elementor-icon-list-icon svg{color:#007e91!important}
#vb-chat:not(.open){pointer-events:none!important}
#vb-sticky{position:fixed;left:0;right:0;bottom:0;z-index:2147483000;display:none;grid-template-columns:1fr 1fr 1.35fr 1fr 1fr;gap:5px;background:#fff;box-shadow:0 -6px 20px rgba(0,0,0,.13);padding:6px;font-family:Raleway,sans-serif}
#vb-sticky a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;font-weight:800;font-size:.68rem;padding:7px 2px;border-radius:12px;line-height:1.05}
#vb-sticky svg{width:20px;height:20px}
#vb-sticky .call{color:#007e91}
#vb-sticky .call svg{fill:#007E91}
#vb-sticky .mail{color:#007e91}
#vb-sticky .mail svg{fill:none;stroke:#007E91;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#vb-sticky .wa{color:#007e91}
#vb-sticky .wa svg{fill:#007E91}
#vb-sticky .chat{color:#007e91}
#vb-sticky .chat .chatlogo{width:21px;height:21px;object-fit:contain;display:block}
#vb-sticky .bw{background:#e8a020;color:#fff;box-shadow:0 4px 12px rgba(232,160,32,.4)}
#vb-sticky .bw svg{fill:#fff}
body #vb-close{width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:22px!important;line-height:1!important}
@media(max-width:880px){#vb-sticky{display:grid}
body #vb-bubble,body .vb-bubble{display:none!important}
body #vb-chat{top:0!important;left:0!important;right:0!important;bottom:auto!important;width:auto!important;max-width:100%!important;height:85vh!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
}
#vb-sticky{padding-bottom:calc(6px + env(safe-area-inset-bottom))!important}
@media(min-width:881px){#vb-sticky{display:flex!important;flex-direction:column;position:fixed;right:0;left:auto;top:50%;bottom:auto!important;transform:translateY(-50%);width:87px;grid-template-columns:none;gap:7px;padding:9px 6px;border-radius:16px 0 0 16px;box-shadow:-4px 4px 22px rgba(0,0,0,.15)}
#vb-sticky a{font-size:.65rem;padding:11px 4px;gap:5px}
#vb-sticky svg{width:23px;height:23px}
#vb-sticky .chat .chatlogo{width:25px;height:25px}
}
body #vb-bubble,body .vb-bubble{display:none!important}
#vb-bubble,#vb-chat,#vb-messages,.vb-header,.vb-input-area{--gold:#007e91;font-family:'DM Sans',sans-serif}
#vb-bubble{pointer-events:all!important;cursor:pointer!important;position:fixed!important;bottom:28px!important;right:28px!important;width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;border-radius:50%!important;background:#007e91!important;border:none!important;padding:0!important;margin:0!important;z-index:2147483647!important;box-shadow:0 8px 32px rgba(0,126,145,.45)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;box-sizing:border-box!important}
.vb-pulse{position:absolute;width:100%;height:100%;border-radius:50%;background:rgba(0,126,145,.3);animation:2.5s ease-out infinite vbpulse}
@keyframes vbpulse{0%{transform:scale(1);opacity:.6}
100%{transform:scale(1.6);opacity:0}
}
#vb-chat{pointer-events:all!important;position:fixed;bottom:100px;right:0;width:400px;max-height:600px;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 20px 60px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(20px) scale(.95);transform-origin:bottom right;transition:opacity .3s,transform .3s;pointer-events:none;z-index:2147483646;background:#fff}
#vb-chat.open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}
.vb-header{background:linear-gradient(135deg,#007e91,#005f6e);padding:16px 20px;display:flex;align-items:center;gap:12px}
.vb-avatar{width:42px;height:42px;border-radius:8px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.vb-avatar img{width:100%;height:100%;object-fit:contain}
.vb-header-text{flex:1}
.vb-header-text h3{font-size:15px;color:#fff;font-weight:600;line-height:1.2}
.vb-header-text p{font-size:12px;color:rgba(255,255,255,.85);margin-top:2px}
.vb-online{display:inline-block;width:7px;height:7px;background:#4ade80;border-radius:50%;margin-right:5px;animation:2s infinite vbblink}
@keyframes vbblink{0%,100%{opacity:1}
50%{opacity:.4}
}
#vb-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}
#vb-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#f5f7f8}
.vb-msg{display:flex;align-items:flex-end;gap:8px}
.vb-msg.user{flex-direction:row-reverse}
.vb-msg-avatar{width:28px;height:28px;border-radius:6px;background:#fff;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.vb-msg-avatar img{width:100%;height:100%;object-fit:contain}
.vb-bubble-text{max-width:80%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.55;white-space:pre-line}
.vb-msg.bot .vb-bubble-text{background:#fff;color:#1a2b2e;border:1px solid #e2e8f0;border-bottom-left-radius:4px}
.vb-msg.user .vb-bubble-text{background:linear-gradient(135deg,#007e91,#005f6e);color:#fff;border-bottom-right-radius:4px}
.vb-typing span{display:inline-block;width:6px;height:6px;background:#007e91;border-radius:50%;animation:1.2s infinite vbtyping;margin:0 2px}
.vb-typing span:nth-child(2){animation-delay:.2s}
.vb-typing span:nth-child(3){animation-delay:.4s}
@keyframes vbtyping{0%,100%,60%{transform:translateY(0);opacity:.4}
30%{transform:translateY(-6px);opacity:1}
}
.vb-quick-replies{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 6px;justify-content:flex-end}
.vb-quick-btn{background:#007e91!important;border:none!important;border-radius:20px!important;padding:10px 16px!important;color:#fff!important;font-size:14px!important;font-weight:700!important;box-shadow:0 3px 10px rgba(0,126,145,.28);cursor:pointer;transition:all .2s}
.vb-quick-btn:hover{background:#00697a!important;color:#fff!important}
.vb-input-area{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-top:1px solid #e2e8f0}
#vb-input{flex:1;background:#f0f4f5;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;font-size:14px;color:#1a2b2e;outline:0;resize:none;max-height:80px}
#vb-input:focus{border-color:#007e91}
#vb-send{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:10px!important;background:linear-gradient(135deg,#007e91,#005f6e)!important;border:none!important;padding:0!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important}
#vb-send svg{width:18px;height:18px;fill:#fff}
@media (max-width:768px){#vb-bubble{bottom:24px!important;right:24px!important;width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important}
#vb-chat{width:100vw!important;right:0!important;border-radius:16px 16px 0 0!important;bottom:0!important;max-height:85vh!important}
}
#vb-top-btn{position:fixed;right:14px;top:50%;transform:translateY(-50%);width:46px;height:46px;border:none;border-radius:50%;background:#007e91;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;z-index:9990;box-shadow:0 2px 10px rgba(0,0,0,.25);-webkit-tap-highlight-color:transparent;padding:0}
#vb-top-btn.vb-show{opacity:.92;visibility:visible}
#vb-top-btn:active{opacity:1}
#vb-top-btn svg{width:24px;height:24px;display:block}
@media (min-width:769px){#vb-top-btn{display:none!important}
}

