/*
Theme Name: Vatter Minimal
Theme URI: https://vatter.de
Description: Minimales Performance-Theme für vatter.de / new.vatter.de. Kein Elementor, kein Framework. Basiert auf SW Minimal (salewski.it).
Author: VATTER GmbH / yasmin
Version: 1.4.4
License: proprietary
Text Domain: vatter-minimal
*/

/* === CSS VARIABLES === */
:root{
    --vp-primary:#003781;
    --vp-primary-hover:#324A6D;
    --vp-secondary:#7A7A7A;
    --vp-accent:#D7192F;
    --vp-text:#000000;
    --vp-bg:#FFFFFF;
    --vp-bg-sub:#F3F5F8;
    --vp-bg-sub-hover:#F9FAFD;
    --vp-sep:#dddddd;
    --vp-font:'Open Sans Hebrew Condensed','Arial Narrow',Arial,sans-serif;
}

/* === RESET & BASE === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--vp-font);font-size:16px;line-height:1.6;color:var(--vp-text);background:var(--vp-bg);letter-spacing:1px}
img{max-width:100%;height:auto;display:block}
a{color:var(--vp-primary);text-decoration:none;transition:color .3s}
a:hover{color:var(--vp-accent)}
h1,h2,h3,h4,h5,h6{color:var(--vp-primary);font-weight:700;line-height:1.3}
p{margin-bottom:1em}
ul,ol{list-style:none}

/* === TOPBAR (grau, oberhalb des Headers, nicht-sticky) === */
.vp-topbar{background:var(--vp-secondary);color:#fff}
.vp-topbar-inner{max-width:1600px;margin:0 auto;padding:0 40px;display:flex;justify-content:flex-end;align-items:center}
.vp-topbar-list{display:flex;align-items:center;gap:0;font-size:15px;font-weight:500;letter-spacing:6px;line-height:50px}
.vp-topbar-list li{display:flex;align-items:center;padding:0 18px;position:relative}
.vp-topbar-list li + li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:40%;border-left:1px solid var(--vp-sep)}
.vp-topbar-list a{color:#fff;display:flex;align-items:center;gap:8px;transition:color .3s}
.vp-topbar-list a:hover{color:var(--vp-accent)}
.vp-topbar-list svg{width:16px;height:16px;fill:#fff;transition:fill .3s}
.vp-topbar-list a:hover svg{fill:var(--vp-accent)}
@media(max-width:767px){.vp-topbar{display:none}}

/* === HEADER (weiß, sticky) === */
.vp-header{position:sticky;top:0;z-index:95;background:#fff;border-bottom:1px solid #eee;transition:box-shadow .3s}
.vp-header.vp-scrolled{box-shadow:0 2px 14px rgba(0,55,129,.08)}
.vp-header-inner{max-width:1600px;margin:0 auto;padding:12px 40px;display:flex;align-items:center;gap:20px;min-height:100px}
.vp-logo{flex:0 0 auto}
.vp-logo img{height:clamp(32px,4.5vw,72px);width:auto;display:block;transition:height .2s}
.vp-nav-wrap{flex:1;display:flex;justify-content:flex-end;align-items:center}

/* Desktop-Navigation */
.vp-nav{display:flex;align-items:center;gap:20px}
.vp-nav-item{position:relative}
.vp-nav-item>a{display:inline-block;padding:14px 8px;font-family:var(--vp-font);font-size:16px;font-weight:500;letter-spacing:6px;color:var(--vp-primary);position:relative;transition:color .3s}
.vp-nav-item>a::after{content:"";position:absolute;left:50%;bottom:4px;width:0;height:2px;background:var(--vp-accent);transition:width .3s,left .3s}
.vp-nav-item>a:hover,.vp-nav-item>a.vp-active{color:var(--vp-accent)}
.vp-nav-item>a:hover::after,.vp-nav-item>a.vp-active::after{width:calc(100% - 16px);left:8px}

/* Dropdown */
.vp-nav-sub{display:none;position:absolute;top:100%;left:-10px;min-width:240px;background:var(--vp-bg-sub);box-shadow:0 8px 24px rgba(0,0,0,.08);padding:8px 0;z-index:10}
.vp-nav-item:hover .vp-nav-sub,.vp-nav-item:focus-within .vp-nav-sub{display:block}
.vp-nav-sub a{display:block;padding:12px 20px;font-size:16px;font-weight:500;letter-spacing:6px;color:var(--vp-primary);transition:background .2s,color .2s}
.vp-nav-sub a:hover{background:var(--vp-bg-sub-hover);color:var(--vp-accent)}

/* Burger */
.vp-burger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--vp-primary)}
.vp-burger svg{width:28px;height:28px;fill:var(--vp-primary)}

/* Mobile-Navigation */
.vp-mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:2px solid var(--vp-primary);box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:calc(100vh - 100px);overflow-y:auto;z-index:99}
.vp-mobile-nav.vp-open{display:block}
.vp-mobile-nav a{display:block;padding:14px 24px;font-size:16px;font-weight:500;letter-spacing:6px;color:var(--vp-primary);border-bottom:1px solid #eee;transition:background .2s,color .2s}
.vp-mobile-nav a:hover{background:var(--vp-bg-sub-hover);color:var(--vp-accent)}
.vp-mobile-nav .vp-sub-indent{padding-left:48px;font-size:14px;color:var(--vp-primary);opacity:.75}

@media(max-width:1024px){
    .vp-header-inner{min-height:85px;padding:0 5%}
    .vp-nav{display:none}
    .vp-burger{display:block}
}
@media(max-width:767px){
    .vp-header-inner{min-height:65px}
}

/* Admin-Bar-Fix */
.admin-bar .vp-header{top:32px}
@media(max-width:782px){.admin-bar .vp-header{top:46px}}

/* === MAIN CONTENT === */
.vp-main{min-height:60vh}
.vp-main>*{overflow-x:visible}

/* === FOOTER ZEILE 1 (grau) === */
footer[role="contentinfo"]::before{content:"";display:block;height:10px;background:#fff}
.vp-footer-top{background:var(--vp-secondary);padding:28px 16px 14px}
.vp-footer-top-inner{max-width:1600px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:8px}
.vp-footer-menu{display:flex;gap:24px;list-style:none;flex-wrap:wrap;justify-content:center}
.vp-footer-menu a{color:#fff;font-family:var(--vp-font);font-size:16px;font-weight:700;letter-spacing:6px;line-height:50px;transition:color .3s}
.vp-footer-menu a:hover{color:var(--vp-accent)}
.vp-footer-address{color:rgba(255,255,255,.85);font-family:var(--vp-font);font-size:14px;font-weight:200;letter-spacing:5px;line-height:40px;text-align:center}

/* === FOOTER ZEILE 2 (weiß) === */
.vp-footer-bottom{background:#fff;min-height:60px;display:flex;align-items:center;justify-content:flex-end;padding:0 40px}
.vp-footer-copy a{color:#999;font-family:var(--vp-font);font-size:14px;font-weight:200;letter-spacing:5px;line-height:50px;padding-left:10px;transition:color .3s}
.vp-footer-copy a:hover{color:var(--vp-accent)}

@media(max-width:767px){
    .vp-footer-top{padding:25px 0 10px}
    .vp-footer-address{font-size:14px;line-height:35px;letter-spacing:3px;padding:0 20px}
    .vp-footer-bottom{justify-content:center;padding:0 20px}
    .vp-footer-copy a{font-size:14px;line-height:35px;letter-spacing:3px}
}

/* === Legal Pages === */
/* === Rechtstext-Seiten (Impressum, Datenschutz, AGB) === */
.vp-legal{max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:10px;padding-bottom:10px;overflow-x:hidden}
.vp-heading{padding:30px 20px 10px}
.vp-heading h1{font-size:45px;font-weight:600;line-height:50px;letter-spacing:2px;color:#003781;padding-left:15px;border-left:5px solid #D7192F;margin:0}
.vp-block{background:transparent;padding:40px 40px 80px 220px}
.vp-block p,.vp-block div,.vp-block span{font-size:20px;font-weight:300;line-height:1.8;letter-spacing:1px;color:#2B2B2B}
.vp-block h2{font-size:22px;font-weight:600;color:#003781;margin:1.5em 0 0.5em;line-height:1.4}
.vp-block h3{font-size:19px;font-weight:600;color:#003781;margin:1.2em 0 0.4em}
.vp-block a{color:#003781;text-decoration:underline}
.vp-block a:hover{color:#D7192F}
.vp-pdf-buttons{margin-bottom:10px}
.vp-pdf-btn{display:inline-block;background:#D7192F;border-radius:5px;padding:12px 24px;font-family:'Open Sans Condensed','Arial Narrow',sans-serif;font-size:20px;font-weight:500}
.vp-block a.vp-pdf-btn,.vp-block a.vp-pdf-btn:hover{color:#fff!important;text-decoration:none!important;background:#D7192F}
@media(max-width:1024px){.vp-block{padding-left:80px}}
@media(max-width:767px){.vp-heading h1{font-size:30px;line-height:38px}.vp-block{padding:30px 15px 60px 24px}.vp-block p,.vp-block div{font-size:17px}}

/* === Button Hover: rote Buttons behalten weißen Text === */
.btn-primary,
.form-submit,
a.btn-primary:hover,
a.btn-primary:focus,
button.form-submit:hover { color:#FFFFFF }

a.btn-primary:hover,
.btn-primary:hover,
button.form-submit:hover {
    background:#003781;
    color:#FFFFFF;
    transform:translateY(-2px);
    box-shadow:0 0 0 1px #FFFFFF;
}

/* === Seiten-Heading (H1 mit roter Border-Left) === */
.vn-page-heading{padding:60px 40px 20px;max-width:1600px;margin:0 auto}
.vn-page-heading h1{font-size:40px;font-weight:600;color:#003781;border-left:5px solid #D7192F;padding-left:20px;margin-bottom:0}
@media(max-width:767px){.vn-page-heading h1{font-size:28px}}

/* === Hub-Kacheln (Übersichtsseiten: Downloads, Datenschutz etc.) === */
.vn-hub-section{padding:20px 40px 80px;max-width:1600px;margin:0 auto}
.vn-hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
a.vn-hub-card{display:flex;align-items:center;gap:24px;padding:40px 36px;background:#fff;border:2px solid #E5E5E5;text-decoration:none;color:inherit;transition:border-color .4s,transform .4s,box-shadow .4s}
a.vn-hub-card:hover{border-color:#D7192F;transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,55,129,.12);color:inherit;text-decoration:none}
.vn-hub-icon{flex:0 0 60px;width:60px;height:60px;background:#F2F4F8;display:flex;align-items:center;justify-content:center;transition:background .3s}
a.vn-hub-card:hover .vn-hub-icon{background:#D7192F}
.vn-hub-icon svg{width:28px;height:28px;fill:#003781;transition:fill .3s}
a.vn-hub-card:hover .vn-hub-icon svg{fill:#fff}
.vn-hub-body{flex:1;min-width:0}
.vn-hub-title{font-size:22px;font-weight:600;color:#003781;letter-spacing:1px;margin-bottom:6px;font-family:var(--vp-font)}
.vn-hub-desc{font-size:15px;font-weight:300;color:#7A7A7A;line-height:1.5;margin:0;letter-spacing:0}
.vn-hub-arrow{flex:0 0 auto;display:flex;align-items:center}
.vn-hub-arrow svg{width:22px;height:22px;fill:#003781;transition:fill .3s,transform .3s}
a.vn-hub-card:hover .vn-hub-arrow svg{fill:#D7192F;transform:translateX(4px)}
@media(max-width:900px){
    .vn-hub-section{padding:20px 5% 60px}
    .vn-hub-grid{grid-template-columns:1fr}
    .vn-hub-icon{flex:0 0 48px;width:48px;height:48px}
    .vn-hub-icon svg{width:22px;height:22px}
    a.vn-hub-card{padding:28px 24px;gap:18px}
}

/* === Hero (Service-Seiten) === */
.vn-hero{position:relative;width:100%;height:400px;overflow:hidden}
.vn-hero img{width:100%;height:100%;object-fit:cover;display:block}
.vn-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,rgba(0,0,0,.15) 60%,rgba(0,0,0,.05) 100%)}
.vn-hero-text{position:absolute;bottom:80px;left:80px;color:#fff;z-index:2}
.vn-hero-text h1{font-size:45px;font-weight:600;line-height:50px;letter-spacing:2px;margin-bottom:10px}
.vn-hero-text p{font-size:22px;font-weight:300;line-height:32px;letter-spacing:3px;opacity:.9}
@media(max-width:767px){.vn-hero{height:240px}.vn-hero-text{bottom:30px;left:24px}.vn-hero-text h1{font-size:28px}.vn-hero-text p{font-size:16px}}

/* === Öffnungszeiten — H1 + Live-Clock === */
.vn-h1-clock-row{display:flex;align-items:center;justify-content:space-between;padding:60px 80px 40px;max-width:1600px;margin:0 auto}
.vn-h1-clock-row h1{font-size:45px;font-weight:600;color:#003781;border-left:5px solid #D7192F;padding-left:20px}
.vn-clock-pill{display:flex;align-items:center;gap:10px;background:#F6F6F6;padding:10px 22px;font-size:16px;font-weight:400;letter-spacing:1px;line-height:1.4;color:#2B2B2B;white-space:nowrap}
.vn-pulse-dot{width:10px;height:10px;border-radius:50%;background:#2ECC40;flex-shrink:0;animation:vnPulse 2s ease-in-out infinite}
.vn-pulse-dot.gray{background:#999;animation:none}
@keyframes vnPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
@media(max-width:767px){.vn-h1-clock-row{padding:40px 24px 20px;flex-wrap:wrap;gap:16px}.vn-h1-clock-row h1{font-size:28px}}

/* === Öffnungszeiten — Heute & Schnellzugriff === */
.vn-content-stack{display:flex;flex-direction:column;gap:10px;max-width:1600px;margin:0 auto;margin-bottom:10px}
.vn-heute-schnell{display:flex;gap:60px;padding:100px;background:#7A7A7A}
.vn-heute-col{flex:0 0 40%;display:flex;flex-direction:column;justify-content:center}
.vn-schnell-col{flex:1;display:flex;flex-direction:column;justify-content:center}
.vn-section-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:rgba(255,255,255,.55);margin-bottom:20px}
.vn-heute-weekday{font-size:48px;font-weight:600;letter-spacing:2px;color:#fff;margin-bottom:4px;line-height:1.15}
.vn-heute-date{font-size:20px;font-weight:300;letter-spacing:2px;color:rgba(255,255,255,.7);margin-bottom:20px}
.vn-status-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;font-size:16px;font-weight:700;letter-spacing:1.5px;margin-bottom:14px}
.vn-status-badge.open{background:#2ECC40;color:#fff}
.vn-status-badge.closed{background:#D7192F;color:#fff}
.vn-heute-detail{font-size:17px;font-weight:300;letter-spacing:1px;color:rgba(255,255,255,.75)}
.vn-heute-detail strong{font-weight:700;color:#fff}
.vn-schnell-tiles{display:flex;gap:14px}
.vn-schnell-tile{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;text-decoration:none;transition:background .25s,transform .25s}
.vn-schnell-tile:hover{background:rgba(255,255,255,.15);transform:translateY(-4px);color:#fff}
.vn-schnell-tile:hover .vn-schnell-label{color:#D7192F}
.vn-schnell-tile svg{width:40px;height:40px;margin-bottom:14px;stroke:#fff;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vn-schnell-label{font-size:18px;font-weight:600;letter-spacing:1.5px;line-height:1.4;margin-bottom:4px}
.vn-schnell-sub{font-size:14px;font-weight:300;letter-spacing:1px;color:rgba(255,255,255,.6)}
@media(max-width:1024px){.vn-heute-schnell{flex-direction:column;gap:40px;padding:60px 40px}}
@media(max-width:767px){.vn-heute-schnell{padding:40px 24px}.vn-schnell-tiles{flex-direction:column}.vn-heute-weekday{font-size:36px}}

/* === Öffnungszeiten — Zeit-Kacheln === */
.vn-zeiten-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vn-zeit-kachel{background:#7A7A7A;padding:60px;transition:background .25s,transform .25s}
.vn-zeit-kachel:hover{background:#858585;transform:translateY(-3px)}
.vn-zeit-kachel svg{width:48px;height:48px;stroke:#fff;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:20px;display:block}
.vn-zeit-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.vn-zeit-header h3{font-size:28px;font-weight:600;letter-spacing:1.5px;color:#fff;line-height:1.3}
.vn-zeit-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:#999}
.vn-zeit-dot.active{background:#2ECC40;animation:vnPulse 2s ease-in-out infinite}
.vn-zeit-subtitle{font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:2.5px;color:rgba(255,255,255,.6);margin-bottom:24px}
.vn-zeit-time{font-size:36px;font-weight:300;letter-spacing:3px;color:#fff;margin-bottom:4px}
.vn-zeit-days{font-size:18px;font-weight:300;letter-spacing:1.5px;color:rgba(255,255,255,.88)}
@media(max-width:1024px){.vn-zeiten-grid{grid-template-columns:1fr}.vn-zeit-kachel{padding:40px}}
@media(max-width:767px){.vn-zeit-kachel{padding:28px}.vn-zeit-time{font-size:28px}}

/* === Öffnungszeiten — Termin-Formular === */
.vn-termin-section{display:flex;gap:60px;padding:100px;background:#7A7A7A}
.vn-termin-info{flex:0 0 40%;min-width:0}
.vn-termin-info h2{font-size:40px;font-weight:600;color:#fff;border-left:5px solid #D7192F;padding-left:20px;margin-bottom:30px;line-height:50px;letter-spacing:2px}
.vn-termin-info p{font-size:18px;font-weight:300;line-height:1.8;letter-spacing:1px;color:rgba(255,255,255,.88);margin-bottom:30px}
.vn-termin-notice{background:rgba(255,255,255,.06);border-left:4px solid #D7192F;padding:24px 28px;display:flex;gap:16px;margin-bottom:30px}
.vn-termin-notice svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.5;flex-shrink:0;margin-top:3px}
.vn-termin-notice p{font-size:15px;letter-spacing:.5px;color:rgba(255,255,255,.75);margin-bottom:0}
.vn-termin-contact{font-size:17px;letter-spacing:1px;color:rgba(255,255,255,.75)}
.vn-termin-contact a{color:#fff;font-weight:700;text-decoration:none}
.vn-termin-contact a:hover{color:#D7192F}
.vn-termin-contact-row{display:flex;align-items:center;gap:10px;margin-top:8px}
.vn-termin-contact-row svg{width:20px;height:20px;stroke:rgba(255,255,255,.6);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.vn-termin-form-col{flex:1;min-width:0}
.vn-termin-form-wrap{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:40px}
.vn-form-row{display:flex;gap:20px;margin-bottom:20px}
.vn-form-group{flex:1;min-width:0;display:flex;flex-direction:column;margin-bottom:20px}
.vn-form-group label{font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.7);margin-bottom:6px}
.vn-form-group input,.vn-form-group select,.vn-form-group textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:16px;font-weight:300;letter-spacing:1px;padding:14px 16px;outline:none;transition:border-color .2s;width:100%;font-family:inherit}
.vn-form-group input::placeholder,.vn-form-group textarea::placeholder{color:rgba(255,255,255,.4)}
.vn-form-group input:focus,.vn-form-group select:focus,.vn-form-group textarea:focus{border-color:rgba(255,255,255,.5)}
.vn-form-group textarea{resize:vertical;min-height:100px}
.vn-form-checkbox{display:flex;align-items:flex-start;gap:12px;margin-bottom:28px}
.vn-form-checkbox input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:#D7192F}
.vn-form-checkbox label{font-size:14px;font-weight:300;color:rgba(255,255,255,.7)}
.vn-form-checkbox a{color:#fff;text-decoration:underline}
.vn-termin-submit{background:#D7192F;color:#fff;border:none;padding:14px 36px;font-size:18px;font-weight:500;font-family:inherit;letter-spacing:2px;cursor:pointer;transition:background .3s}
.vn-termin-submit:hover{background:#003781}
.vn-termin-success{display:none;background:rgba(46,204,64,.12);border-left:4px solid #2ECC40;padding:20px 24px;color:#fff;font-size:17px;letter-spacing:1px;margin-top:20px}
@media(max-width:1024px){.vn-termin-section{flex-direction:column;gap:40px;padding:60px 40px}}
@media(max-width:767px){.vn-termin-section{padding:40px 24px}.vn-form-row{flex-direction:column;gap:0}.vn-termin-info h2{font-size:28px}}

/* === Sortiment-Unterseiten === */
.vn-sort-page{display:flex;flex-direction:column;gap:10px;max-width:1600px;margin:0 auto;padding-bottom:10px}
.vn-sort-hero{position:relative;width:100%;height:600px;overflow:hidden}
.vn-sort-hero img{width:100%;height:100%;object-fit:cover;display:block}
.vn-sort-hero--pos-bottom img{object-position:50% 30%}
.vn-sort-hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.vn-sort-hero-text{position:absolute;bottom:0;right:0;padding:0 160px 100px 0;text-align:right;color:#fff;z-index:2}
.vn-sort-hero-text h2{font-size:45px;font-weight:600;line-height:50px;letter-spacing:2px;color:#fff;margin-bottom:10px}
.vn-sort-hero-text p{font-size:24px;font-weight:200;line-height:50px;letter-spacing:6px;word-spacing:5px}
.vn-sort-h1{background:#fff;padding:50px 40px 20px}
.vn-sort-h1 h1{font-size:45px;font-weight:600;line-height:50px;letter-spacing:2px;color:#003781;border-left:5px solid #D7192F;padding-left:20px}
.vn-sort-h2{background:#fff;padding:40px 40px 15px}
.vn-sort-h2 h2{font-size:40px;font-weight:600;color:#003781;border-left:5px solid #D7192F;padding-left:20px}
.vn-sort-row{display:flex;gap:10px}
.vn-sort-text{flex:1;min-width:0;background:#7A7A7A;color:rgba(255,255,255,.88);padding:100px;font-size:24px;font-weight:200;line-height:50px;letter-spacing:6px;word-spacing:5px}
.vn-sort-text-compact{padding-top:60px;padding-bottom:30px;line-height:1.6}
.vn-sort-text-compact p+p{margin-top:12px}
.vn-sort-text-compact li{line-height:1.5;margin-bottom:2px}
.vn-sort-text p+p{margin-top:30px}
.vn-sort-text strong{font-weight:700;color:#fff}
.vn-sort-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:3px;word-spacing:normal;line-height:1.5;color:rgba(255,255,255,.6);margin-bottom:20px}
.vn-sort-imgs{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.vn-sort-imgs-h{flex-direction:row}
.vn-sort-imgs-fit .vn-sort-img{min-height:0}
.vn-sort-imgs-landscape{align-self:flex-start}
.vn-sort-imgs-landscape .vn-sort-img{min-height:0;flex:none;height:300px}
.vn-sort-img{flex:1;overflow:hidden;min-height:240px;position:relative}
.vn-sort-img a{display:block;width:100%;height:100%}
.vn-sort-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.vn-sort-img:hover img{transform:scale(1.03)}
.vn-sort-img-single{flex:1;min-width:0;overflow:hidden;min-height:450px;position:relative}
.vn-sort-img-single a{display:block;width:100%;height:100%}
.vn-sort-img-single img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.vn-sort-img-single:hover img{transform:scale(1.03)}
.vn-sort-cta{background:#003781;color:#fff;padding:100px 40px;text-align:center}
.vn-sort-cta h2{font-size:40px;font-weight:600;color:#fff;margin-bottom:30px;border-left:none;padding-left:0}
.vn-sort-cta p{font-size:24px;font-weight:200;color:rgba(255,255,255,.88);line-height:50px;letter-spacing:6px;word-spacing:5px;margin-bottom:20px}
.vn-sort-btn{display:inline-block;background:#D7192F;color:#fff !important;border:2px solid #D7192F;border-radius:5px;padding:12px 24px;font-family:'Open Sans Condensed','Arial Narrow',sans-serif;font-size:32px;font-weight:500;text-decoration:none !important;margin:0 8px;transition:all .3s}
.vn-sort-btn:hover{background:#003781 !important;border:2px solid #fff;color:#fff !important;text-decoration:none !important}
@media(max-width:1024px){
  .vn-sort-hero{height:420px}
  .vn-sort-hero-text{padding:0 60px 60px 0}
  .vn-sort-hero-text h2{font-size:38px;line-height:45px}
  .vn-sort-row{flex-direction:column}
  .vn-sort-text{padding:60px 40px}
  .vn-sort-h1{padding:40px 30px 15px}
  .vn-sort-h1 h1{font-size:40px;line-height:45px}
  .vn-sort-h2{padding:30px 30px 12px}
  .vn-sort-h2 h2{font-size:35px}
  .vn-sort-img{min-height:300px}
  .vn-sort-img-single{min-height:400px}
  .vn-sort-cta{padding:60px 30px}
  .vn-sort-cta h2{font-size:35px}
}
@media(max-width:767px){
  .vn-sort-hero{height:350px}
  .vn-sort-hero-text{padding:0 20px 30px;right:0;left:0;text-align:left}
  .vn-sort-hero-text h2{font-size:30px;line-height:38px}
  .vn-sort-hero-text p{font-size:18px;line-height:30px;letter-spacing:3px}
  .vn-sort-text{padding:40px 20px;font-size:20px;line-height:38px;letter-spacing:3px;word-spacing:3px}
  .vn-sort-h1 h1{font-size:30px;line-height:38px;letter-spacing:1px}
  .vn-sort-h2 h2{font-size:30px}
  .vn-sort-img{min-height:220px}
  .vn-sort-img-single{min-height:280px}
  .vn-sort-cta{padding:40px 20px}
  .vn-sort-cta h2{font-size:30px}
  .vn-sort-cta p{font-size:20px;line-height:38px;letter-spacing:3px;word-spacing:3px}
  .vn-sort-btn{font-size:24px;display:block;margin:8px 0}
}

/* Sortiment: Listen in grauen Text-Blöcken (Fußbodenheizung etc.) */
.vn-sort-text ul{list-style:disc;padding-left:28px;margin:.5em 0 1em}
.vn-sort-text li{font-size:20px;font-weight:200;line-height:1.8;letter-spacing:3px;word-spacing:2px;margin-bottom:4px}

/* === Galerie: Ausstellung === */
.vn-gal-page{display:flex;flex-direction:column;gap:10px;max-width:1600px;margin:0 auto;padding-bottom:10px}
.vn-gal-intro{background:#fff;padding:50px 40px 30px}
.vn-gal-intro h1{font-size:45px;font-weight:600;line-height:50px;letter-spacing:2px;color:#003781;border-left:5px solid #D7192F;padding-left:20px;margin-bottom:20px}
.vn-gal-intro p{font-size:20px;font-weight:200;line-height:1.8;letter-spacing:3px;word-spacing:4px;color:var(--vp-text)}
.vn-gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.vn-gal-item{display:block;overflow:hidden;aspect-ratio:4/3;background:#eee}
.vn-gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.vn-gal-item:hover img{transform:scale(1.05)}

/* === Galerie: Referenzen === */
.vn-ref-page{display:flex;flex-direction:column;gap:10px;max-width:1600px;margin:0 auto;padding-bottom:10px}
.vn-ref-intro{background:#fff;padding:50px 40px 30px}
.vn-ref-intro h1{font-size:45px;font-weight:600;line-height:50px;letter-spacing:2px;color:#003781;border-left:5px solid #D7192F;padding-left:20px;margin-bottom:20px}
.vn-ref-intro p{font-size:20px;font-weight:200;line-height:1.8;letter-spacing:3px;word-spacing:4px;color:var(--vp-text)}
.vn-ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:#fff}
.vn-ref-card{overflow:hidden;background:#fff;border:2px solid #E5E5E5;display:flex;flex-direction:column;transition:border-color .4s,transform .4s,box-shadow .4s}
.vn-ref-card:hover{border-color:#D7192F;transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,55,129,.12)}
.vn-ref-card-img{overflow:hidden;aspect-ratio:4/3}
.vn-ref-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.vn-ref-card:hover .vn-ref-card-img img{transform:scale(1.05)}
.vn-ref-card-body{padding:28px;flex:1;display:flex;flex-direction:column}
.vn-ref-card-body h2{font-size:22px;font-weight:600;line-height:1.3;letter-spacing:1px;color:var(--vp-primary);border-left:5px solid #D7192F;padding-left:15px;margin-bottom:14px}
.vn-ref-card-body p{font-size:16px;font-weight:200;line-height:1.7;letter-spacing:2px;word-spacing:3px;color:var(--vp-secondary);flex:1;margin-bottom:20px}
.vn-ref-card-btn{display:inline-block;background:#D7192F;color:#fff;border-radius:5px;padding:10px 22px;font-family:'Open Sans Condensed','Arial Narrow',sans-serif;font-size:18px;font-weight:500;letter-spacing:1px;transition:background .3s;align-self:flex-start}
.vn-ref-card-btn:hover{background:#003781;color:#fff}
/* Referenz-Detailseite */
.vn-ref-detail-intro{display:flex;align-items:baseline;flex-wrap:wrap;gap:20px}
.vn-ref-detail-intro h1{margin-bottom:0;min-width:0;overflow-wrap:break-word;word-break:break-word;max-width:100%}
.vn-ref-back-link{font-family:'Open Sans Condensed','Arial Narrow',sans-serif;font-size:16px;font-weight:500;color:#D7192F;letter-spacing:1px;white-space:nowrap;text-decoration:none;transition:color .3s}
.vn-ref-back-link:hover{color:#003781}
.vn-ref-detail-text{padding:0 50px 40px}
.vn-ref-detail-text p{font-size:18px;font-weight:300;line-height:1.8;letter-spacing:1px;color:var(--vp-text);margin-bottom:16px}
.vn-ref-back-bottom{padding:40px 50px;text-align:center}
@media(max-width:1024px){
  .vn-gal-grid{grid-template-columns:repeat(3,1fr)}
  .vn-ref-grid{grid-template-columns:repeat(2,1fr)}
  .vn-gal-intro h1,.vn-ref-intro h1{font-size:40px;line-height:45px}
  .vn-gal-intro,.vn-ref-intro{padding:40px 30px 20px}
}
@media(max-width:767px){
  .vn-gal-grid{grid-template-columns:repeat(2,1fr);gap:4px}
  .vn-ref-grid{grid-template-columns:1fr}
  .vn-gal-intro,.vn-ref-intro{padding:30px 20px 20px}
  .vn-gal-intro h1,.vn-ref-intro h1{font-size:30px;line-height:38px;letter-spacing:1px}
  .vn-gal-intro p,.vn-ref-intro p{font-size:18px;letter-spacing:2px}
  .vn-ref-card-body h2{font-size:18px}
  .vn-ref-detail-intro{display:block}
  .vn-ref-detail-intro h1{font-size:22px;line-height:30px;letter-spacing:0;margin-bottom:12px}
  .vn-ref-back-link{display:inline-block;margin-top:0}
}
/* ======================== BERATUNGSTEAM ======================== */
.vn-bt-page{display:flex;flex-direction:column;gap:10px;max-width:1600px;margin:30px auto 0;padding-bottom:10px}
.vn-bt-intro{background:#7A7A7A;padding:60px 80px}
.vn-bt-intro p{font-size:20px;font-weight:200;color:rgba(255,255,255,.88);letter-spacing:4px;word-spacing:4px;line-height:1.8;margin:0}
.vn-bt-section{background:#fff}
.vn-bt-section-header{padding:60px 40px 0;display:flex;align-items:center;gap:24px}
.vn-bt-section-num{font-size:96px;font-weight:200;line-height:1;color:rgba(0,55,129,.18);flex-shrink:0;letter-spacing:0}
.vn-bt-section-header h1,.vn-bt-section-header h2{font-size:40px;font-weight:600;color:#003781;letter-spacing:1px;border-left:5px solid #D7192F;padding-left:18px;margin:0;line-height:1.3}
.vn-bt-section-sub{padding:16px 40px 0}
.vn-bt-section-sub p{font-size:18px;font-weight:200;color:#5A5A6E;letter-spacing:2px;word-spacing:3px;margin:0}
.vn-bt-section--b2b{background:#F4F4F4}
.vn-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:40px 40px 80px}
.vn-team-card{background:#fff;border:2px solid #E5E5E5;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:border-color .4s,transform .4s,box-shadow .4s}
.vn-team-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:#D7192F;transform:scaleX(0);transform-origin:left;transition:transform .5s;z-index:3}
.vn-team-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,55,129,.12)}
.vn-team-card:hover::before{transform:scaleX(1)}
.vn-team-card__photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#F2F4F8}
.vn-team-card__photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .8s ease;display:block}
.vn-team-card:hover .vn-team-card__photo img{transform:scale(1.06)}
.vn-team-card__body{padding:28px 26px 32px;display:flex;flex-direction:column;gap:18px;flex:1}
.vn-team-card__name{font-size:28px;font-weight:600;color:#003781;letter-spacing:1px;padding-bottom:14px;border-bottom:2px solid #E5E5E5;margin:0}
.vn-team-card__contacts{display:flex;flex-direction:column;gap:10px}
.vn-team-card__contact{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:400;color:#2B2B2B;letter-spacing:.5px;text-decoration:none;transition:color .3s}
.vn-team-card__contact:hover{color:#D7192F}
.vn-team-card__contact-icon{width:32px;height:32px;min-width:32px;background:#F2F4F8;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s}
.vn-team-card__contact-icon svg{width:14px;height:14px;fill:#003781;transition:fill .3s}
.vn-team-card__contact:hover .vn-team-card__contact-icon{background:#D7192F}
.vn-team-card__contact:hover .vn-team-card__contact-icon svg{fill:#fff}
.vn-team-card__contact-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vn-team-card.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s,transform .5s}
.vn-team-card.reveal.visible{opacity:1;transform:translateY(0)}
.vn-team-card.reveal:nth-child(1){transition-delay:0ms}
.vn-team-card.reveal:nth-child(2){transition-delay:120ms}
.vn-team-card.reveal:nth-child(3){transition-delay:240ms}
.vn-team-card.reveal:nth-child(4){transition-delay:360ms}
@media(max-width:1200px){
  .vn-team-grid{grid-template-columns:repeat(2,1fr)}
  .vn-team-card.reveal:nth-child(3){transition-delay:0ms}
  .vn-team-card.reveal:nth-child(4){transition-delay:120ms}
  .vn-bt-section-header{padding:40px 30px 0;gap:16px}
  .vn-bt-section-num{font-size:72px}
  .vn-bt-section-sub{padding:14px 30px 0}
  .vn-team-grid{padding:30px 30px 60px}
}
@media(max-width:767px){
  .vn-team-grid{grid-template-columns:1fr;padding:24px 20px 50px;gap:20px}
  .vn-bt-intro{padding:40px 20px}
  .vn-bt-intro p{font-size:17px;letter-spacing:2px;word-spacing:2px}
  .vn-bt-section-header{padding:30px 20px 0;gap:12px}
  .vn-bt-section-num{font-size:56px}
  .vn-bt-section-header h1,.vn-bt-section-header h2{font-size:24px}
  .vn-bt-section-sub{padding:12px 20px 0}
  .vn-team-card.reveal:nth-child(n){transition-delay:0ms}
  .vn-ref-detail-text{padding:0 20px 30px}
  .vn-ref-detail-text p{font-size:16px}
  .vn-ref-back-bottom{padding:30px 20px}
}

/* ======================== HISTORIE / TIMELINE ======================== */
.vn-hist-page{max-width:960px;margin:60px auto 100px;padding:0 40px}
.vn-hist-intro{background:#7A7A7A;padding:60px 80px;max-width:1600px;margin:30px auto 0}
.vn-hist-intro p{font-size:20px;font-weight:200;color:rgba(255,255,255,.88);letter-spacing:4px;word-spacing:4px;line-height:1.8;margin:0}
.vn-hist-timeline{position:relative;padding-top:20px}
.vn-hist-timeline::before{content:'';position:absolute;left:170px;top:0;bottom:0;width:2px;background:rgba(0,55,129,.1)}
.vn-hist-item{display:flex;align-items:flex-start;padding:50px 0;border-bottom:1px solid rgba(0,55,129,.07);position:relative}
.vn-hist-item:last-child{border-bottom:none;padding-bottom:20px}
.vn-hist-year{font-size:64px;font-weight:200;line-height:1;color:rgba(0,55,129,.18);flex-shrink:0;width:150px;text-align:right;letter-spacing:-2px;padding-top:3px}
.vn-hist-dot{position:absolute;left:163px;top:58px;width:16px;height:16px;border-radius:50%;background:#D7192F;border:3px solid #fff;box-shadow:0 0 0 2px rgba(0,55,129,.2);flex-shrink:0}
.vn-hist-body{flex:1;margin-left:40px;padding-left:28px}
.vn-hist-body p{font-size:17px;line-height:1.9;color:#2B2B2B;margin:0;font-weight:300;letter-spacing:.3px}
.vn-hist-item.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s,transform .5s}
.vn-hist-item.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1200px){
  .vn-hist-intro{padding:50px 50px}
  .vn-hist-page{padding:0 30px;margin:50px auto 80px}
}
@media(max-width:767px){
  .vn-hist-intro{padding:40px 20px}
  .vn-hist-intro p{font-size:17px;letter-spacing:2px;word-spacing:2px}
  .vn-hist-page{padding:0 20px;margin:30px auto 60px}
  .vn-hist-timeline::before{left:52px}
  .vn-hist-item{flex-direction:column;gap:0;padding:32px 0 32px 80px}
  .vn-hist-year{width:auto;text-align:left;font-size:40px;letter-spacing:-1px;position:absolute;left:0;top:32px}
  .vn-hist-dot{left:45px;top:40px;width:12px;height:12px}
  .vn-hist-body{margin-left:0;padding-left:20px}
  .vn-hist-body p{font-size:16px}
}

/* ======================== KARRIERE ÜBERSICHT ======================== */
.vn-karr-page{display:flex;flex-direction:column;gap:10px;max-width:1600px;margin:0 auto;padding-bottom:10px}
.vn-karr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;background:#fff;padding:20px 40px 50px}
@media(max-width:1200px){.vn-karr-grid{padding:16px 24px 36px}}
@media(max-width:767px){.vn-karr-grid{grid-template-columns:1fr;padding:12px 16px 24px}}

/* ======================== STELLENAUSSCHREIBUNGEN ======================== */
.vn-job-intro-bar{background:#fff;padding:60px 80px 50px}
.vn-job-intro-bar h1{font-size:36px;font-weight:600;color:#003781;letter-spacing:1px;line-height:1.3;margin:0 0 18px;border-left:5px solid #D7192F;padding-left:18px}
.vn-job-intro-bar p{font-size:19px;font-weight:300;color:#2B2B2B;line-height:1.85;margin:0;letter-spacing:.3px}
.vn-job-page{max-width:1100px;margin:0 auto;padding:40px 40px 60px}
.vn-job-section{margin-bottom:48px}
.vn-job-section h2{font-size:26px;font-weight:600;color:#003781;letter-spacing:1px;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #E5E5E5}
.vn-job-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.vn-job-list li{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#F4F4F4;font-size:16px;font-weight:300;color:#2B2B2B;letter-spacing:.3px}
.vn-job-list li::before{content:'';display:block;width:10px;height:10px;min-width:10px;border-radius:50%;background:#D7192F}
.vn-job-img-strip img{width:100%;max-height:520px;object-fit:cover;object-position:center top;display:block}
.vn-job-cta{background:#003781;padding:64px 40px;text-align:center}
.vn-job-cta h2{color:#fff;font-size:30px;font-weight:600;margin:0 0 14px;letter-spacing:1px}
.vn-job-cta p{color:rgba(255,255,255,.85);font-size:18px;font-weight:300;margin:0 0 32px;line-height:1.7}
.vn-job-btn{display:inline-block;background:#D7192F;color:#fff !important;border:2px solid #D7192F;border-radius:5px;padding:12px 24px;font-family:'Open Sans Hebrew Condensed','Arial Narrow',sans-serif;font-size:32px;font-weight:500;line-height:40px;letter-spacing:1px;text-align:center;text-decoration:none !important;cursor:pointer;transition:all .3s}
.vn-job-btn:hover{background:#003781 !important;border:2px solid #fff;color:#fff !important;text-decoration:none !important}
.vn-job-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:0}
.vn-job-tile{background:#003781;padding:30px 26px}
.vn-job-tile-title{font-size:18px;font-weight:600;letter-spacing:1px;margin:0 0 8px;color:#fff}
.vn-job-tile-desc{font-size:15px;font-weight:300;color:rgba(255,255,255,.85);line-height:1.65;margin:0}
.vn-job-aspects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vn-job-aspect{padding:28px;background:#F4F4F4;border-top:4px solid #D7192F}
.vn-job-aspect-title{font-size:17px;font-weight:600;color:#003781;margin:0 0 8px;letter-spacing:1px}
.vn-job-aspect-text{font-size:16px;font-weight:300;color:#2B2B2B;line-height:1.75;margin:0}
.vn-job-about-bar{background:#7A7A7A;padding:56px 80px}
.vn-job-about-bar p{font-size:19px;font-weight:200;color:rgba(255,255,255,.9);letter-spacing:3px;word-spacing:4px;line-height:1.8;margin:0}
.vn-btn-blue-strip{background:#003781;text-align:center}
.vn-ref-card-body .vn-btn-blue-strip{padding:20px 28px 24px;margin:4px -28px -28px}
.vn-job-intro-bar .vn-btn-blue-strip{padding:28px 80px 32px;margin:28px -80px -50px}
@media(max-width:1200px){
  .vn-job-intro-bar{padding:50px 50px 40px}
  .vn-job-intro-bar .vn-btn-blue-strip{padding:24px 50px 28px;margin:24px -50px -40px}
  .vn-job-tiles{grid-template-columns:repeat(2,1fr)}
  .vn-job-aspects{grid-template-columns:repeat(2,1fr)}
  .vn-job-about-bar{padding:44px 50px}
}
@media(max-width:767px){
  .vn-job-intro-bar{padding:36px 20px 28px}
  .vn-job-intro-bar .vn-btn-blue-strip{padding:20px 20px 24px;margin:20px -20px -28px}
  .vn-job-intro-bar h1{font-size:26px;padding-left:14px}
  .vn-job-intro-bar p{font-size:17px}
  .vn-job-page{padding:24px 20px 40px}
  .vn-job-list{grid-template-columns:1fr}
  .vn-job-cta{padding:44px 20px}
  .vn-job-cta h2{font-size:24px}
  .vn-job-btn{padding:10px 20px;font-size:24px;line-height:32px}
  .vn-job-tiles{grid-template-columns:1fr}
  .vn-job-aspects{grid-template-columns:1fr}
  .vn-job-about-bar{padding:36px 20px}
  .vn-job-about-bar p{font-size:17px;letter-spacing:2px;word-spacing:2px}
}


/* === AUSBILDUNG v2 (2026-05-06) === */
.vn-job-stack{display:flex;flex-direction:column;gap:10px;max-width:1600px;margin:0 auto;padding-bottom:10px;width:100%}
/* Seitenspezifischer Overflow-Fix via WP-Body-Klasse — schlägt alle globalen Regeln */
body.page-id-6950{overflow-x:hidden}
/* h1 Titel: responsiv via clamp(), kein horizontaler Überlauf */
.vn-job-intro-bar h1{overflow-wrap:break-word;word-break:break-word;hyphens:auto;font-size:clamp(19px,5vw,26px);letter-spacing:0.4px}
.vn-section-heading{overflow-wrap:break-word;word-break:break-word}
.vn-hero-pill{display:inline-block;background:#D7192F;color:#fff;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:6px 18px;margin-bottom:14px}
.vn-section-heading{font-size:28px;font-weight:600;letter-spacing:1px;margin:0 0 36px;text-align:center}
.vn-section-heading--white{color:#fff}
.vn-section-heading--blue{color:#003781}
.vn-section-heading::after{content:'';display:block;width:48px;height:3px;background:#D7192F;margin:12px auto 0}
.vn-job-glass-section{background:#003781;padding:60px 40px}
.vn-job-glass-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1100px;margin:0 auto}
.vn-job-glass-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:32px 28px 28px;transition:background .25s,transform .2s;box-sizing:border-box}
.vn-job-glass-card:hover{background:rgba(255,255,255,.14);transform:translateY(-4px)}
.vn-job-glass-card .card-icon{width:44px;height:44px;color:#D7192F;margin-bottom:18px}
.vn-job-glass-card .card-icon svg{width:100%;height:100%}
.vn-job-glass-card .card-title{font-size:18px;font-weight:600;color:#fff;letter-spacing:1px;margin-bottom:10px}
.vn-job-glass-card .card-text{font-size:15px;font-weight:300;color:rgba(255,255,255,.8);line-height:1.7;letter-spacing:.3px}
.vn-job-benefits-section{background:#F4F4F4;padding:60px 40px}
.vn-job-icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1100px;margin:0 auto}
.vn-job-icon-tile{background:#fff;border-top:3px solid #D7192F;padding:26px 22px 22px;transition:transform .2s,box-shadow .2s;box-sizing:border-box}
.vn-job-icon-tile:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.09)}
.vn-job-icon-tile .tile-icon{width:36px;height:36px;color:#D7192F;margin-bottom:14px}
.vn-job-icon-tile .tile-icon svg{width:100%;height:100%}
.vn-job-icon-tile .tile-title{font-size:16px;font-weight:600;color:#003781;letter-spacing:.5px;margin-bottom:6px}
.vn-job-icon-tile .tile-desc{font-size:14px;font-weight:300;color:#555;line-height:1.6;letter-spacing:.2px}
.vn-job-tags-section{background:#fff;padding:56px 40px}
.vn-job-tag-wrap{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:900px;margin:0 auto}
.vn-job-tag{display:inline-flex;align-items:center;gap:8px;background:#EEF2F9;border:1px solid rgba(0,55,129,.12);color:#003781;font-size:15px;font-weight:400;letter-spacing:.5px;padding:10px 16px;transition:background .15s;box-sizing:border-box}
.vn-job-tag:hover{background:#dde5f5}
.vn-job-tag svg{width:14px;height:14px;flex-shrink:0;color:#D7192F}
.vn-job-form-section{background:#003781;padding:64px 40px}
.vn-job-form-section .vn-section-heading{margin-bottom:8px}
.vn-job-form-section .form-sub{font-size:17px;font-weight:300;color:rgba(255,255,255,.75);text-align:center;margin-bottom:44px;letter-spacing:.5px}
.vn-form-panel{max-width:820px;margin:0 auto;background:#fff;padding:44px 48px;box-sizing:border-box;width:100%}
.vn-fg{margin-bottom:32px}
.vn-fg-label{display:block;font-size:16px;font-weight:600;color:#003781;letter-spacing:.5px;margin-bottom:14px;border-left:3px solid #D7192F;padding-left:10px;box-sizing:border-box;overflow-wrap:break-word;word-break:break-word}
.vn-cg{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.vn-co{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:10px 12px;background:#F4F4F4;border:1px solid transparent;transition:border-color .15s,background .15s;box-sizing:border-box;min-width:0}
.vn-co:hover{background:#e8e8e8;border-color:rgba(0,55,129,.15)}
.vn-co input[type="checkbox"]{width:17px;height:17px;flex-shrink:0;margin-top:2px;accent-color:#D7192F;cursor:pointer}
.vn-co span{font-size:14px;font-weight:300;color:#2B2B2B;line-height:1.45;letter-spacing:.2px;overflow-wrap:break-word;word-break:break-word;min-width:0}
.vn-form-hr{border:none;border-top:1px solid #E5E5E5;margin:28px 0}
.vn-input-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.vn-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.vn-field label{font-size:14px;font-weight:600;color:#003781;letter-spacing:.4px}
.vn-field label .req,.vn-field .req{color:#D7192F;margin-left:2px}
.vn-field input{font-size:15px;font-weight:300;color:#2B2B2B;background:#fff;border:1px solid #C8C8C8;padding:12px 14px;letter-spacing:.3px;outline:none;transition:border-color .2s;width:100%;font-family:var(--vp-font);box-sizing:border-box}
.vn-field input::placeholder{color:#AAAAAA}
.vn-field input:focus{border-color:#003781}
.vn-accept{display:flex;align-items:flex-start;gap:12px;margin-bottom:28px;cursor:pointer;padding:14px 16px;background:#F4F4F4;border:1px solid #E0E0E0;box-sizing:border-box}
.vn-accept input[type="checkbox"]{width:17px;height:17px;flex-shrink:0;margin-top:2px;accent-color:#D7192F;cursor:pointer}
.vn-accept span{font-size:13px;font-weight:300;color:#555;line-height:1.55;letter-spacing:.2px}
.vn-accept a{color:#003781;text-decoration:underline}
.vn-form-submit-wrap{text-align:center}
.vn-submit-btn{display:inline-block;background:#D7192F;color:#fff !important;border:2px solid #D7192F;border-radius:5px;padding:12px 24px;font-family:'Open Sans Hebrew Condensed','Arial Narrow',sans-serif;font-size:32px;font-weight:500;line-height:40px;letter-spacing:1px;text-align:center;text-decoration:none !important;cursor:pointer;transition:all .3s;-webkit-appearance:none;appearance:none}
.vn-submit-btn:hover{background:#003781 !important;border:2px solid #fff !important;color:#fff !important}
.vn-form-success{text-align:center;padding:48px 20px}
.vn-form-success .success-icon{width:52px;height:52px;margin:0 auto 20px;background:#D7192F;color:#fff;display:flex;align-items:center;justify-content:center}
.vn-form-success .success-icon svg{width:28px;height:28px}
.vn-form-success h3{font-size:22px;font-weight:600;color:#003781;margin-bottom:10px}
.vn-form-success p{font-size:16px;font-weight:300;color:#555}
@media(max-width:1024px){
  .vn-job-glass-grid{grid-template-columns:repeat(2,1fr)}
  .vn-job-icon-grid{grid-template-columns:repeat(2,1fr)}
  .vn-job-glass-section,.vn-job-benefits-section,.vn-job-tags-section,.vn-job-form-section{padding:48px 32px}
  .vn-form-panel{padding:36px 32px}
}
@media(max-width:767px){
  .vn-hero-pill{font-size:11px;padding:5px 14px}
  .vn-job-glass-section{padding:40px 16px}
  .vn-job-glass-grid{grid-template-columns:1fr;gap:10px}
  .vn-job-glass-card{padding:24px 20px}
  .vn-job-benefits-section{padding:40px 16px}
  .vn-job-icon-grid{grid-template-columns:1fr 1fr;gap:8px}
  .vn-job-icon-tile{padding:18px 14px 16px}
  .vn-job-icon-tile .tile-icon{width:28px;height:28px}
  .vn-job-icon-tile .tile-title{font-size:14px}
  .vn-job-icon-tile .tile-desc{font-size:13px}
  .vn-job-tags-section{padding:40px 16px}
  .vn-job-tag{font-size:13px;padding:9px 12px}
  .vn-job-form-section{padding:40px 16px}
  .vn-form-panel{padding:24px 16px}
  .vn-section-heading{font-size:22px!important}
  .vn-cg{grid-template-columns:1fr}
  .vn-co span{font-size:15px}
  .vn-input-row{grid-template-columns:1fr}
  .vn-field input{font-size:16px;padding:14px 12px}
  .vn-submit-btn{font-size:24px;line-height:32px;padding:10px 20px;width:100%;box-sizing:border-box}
}
@media(max-width:420px){.vn-job-icon-grid{grid-template-columns:1fr}}

/* === VERTRIEBSMITARBEITER (2026-05-06) ===*/
.vn-job-white-section{background:#fff;padding:60px 40px}
@media(max-width:1024px){.vn-job-white-section{padding:48px 32px}}
@media(max-width:767px){.vn-job-white-section{padding:40px 16px}}

/* === VERTRIEBSMITARBEITER – Anforderungen (2026-05-06) ===*/
.vn-vt-req-section{background:#003781;padding:60px 40px}
.vn-vt-req-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:1000px;margin:0 auto}
.vn-vt-req-item{display:flex;align-items:flex-start;gap:16px;padding:24px;background:rgba(255,255,255,.05)}
.vn-vt-req-item:hover{background:rgba(255,255,255,.09)}
.vn-vt-req-check{flex-shrink:0;width:22px;height:22px;color:#D7192F;margin-top:1px}
.vn-vt-req-check svg{width:100%;height:100%}
.vn-vt-req-title{font-size:17px;font-weight:600;color:#fff;letter-spacing:.5px;margin:0 0 6px}
.vn-vt-req-text{font-size:14px;font-weight:300;color:rgba(255,255,255,.75);line-height:1.6;margin:0}
@media(max-width:1024px){.vn-vt-req-section{padding:48px 32px}}
@media(max-width:767px){.vn-vt-req-section{padding:40px 16px}.vn-vt-req-grid{grid-template-columns:1fr}}

/* === KONTAKT – Team-Cards ohne Kontaktdetails (2026-05-06) ===*/
.vn-knt-staff .vn-team-card__body{padding:28px 26px 20px!important;flex:0 0 auto!important;gap:0!important}
.vn-knt-staff .vn-team-card__name{border-bottom:none!important;padding-bottom:0!important}
