/*
 Theme Name:   GeneratePress Child
 Description:  VisaNerd Global Styles (V51 - ORIGINAL + CLEAN FIXES)
 Template:     generatepress
 Version:      51.0
*/

/* =========================================
   0. FONTS
   ========================================= */
@font-face { font-display: block; font-family: 'Instrument Serif'; font-style: normal; font-weight: 400; src: url('fonts/instrument-serif-v5-latin-regular.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; src: url('fonts/instrument-serif-v5-latin-italic.woff2') format('woff2'); }

@font-face { font-display: block; font-family: 'Outfit'; font-style: normal; font-weight: 400; src: url('fonts/outfit-v15-latin-regular.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Outfit'; font-style: normal; font-weight: 500; src: url('fonts/outfit-v15-latin-500.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Outfit'; font-style: normal; font-weight: 600; src: url('fonts/outfit-v15-latin-600.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Outfit'; font-style: normal; font-weight: 700; src: url('fonts/outfit-v15-latin-700.woff2') format('woff2'); }

@font-face { font-display: block; font-family: 'Inter'; font-style: normal; font-weight: 300; src: url('fonts/inter-v20-latin-300.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Inter'; font-style: italic; font-weight: 300; src: url('fonts/inter-v20-latin-300italic.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Inter'; font-style: normal; font-weight: 400; src: url('fonts/inter-v20-latin-regular.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Inter'; font-style: italic; font-weight: 400; src: url('fonts/inter-v20-latin-italic.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Inter'; font-style: normal; font-weight: 500; src: url('fonts/inter-v20-latin-500.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Inter'; font-style: italic; font-weight: 500; src: url('fonts/inter-v20-latin-500italic.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Inter'; font-style: normal; font-weight: 600; src: url('fonts/inter-v20-latin-600.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Inter'; font-style: italic; font-weight: 600; src: url('fonts/inter-v20-latin-600italic.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Inter'; font-style: normal; font-weight: 700; src: url('fonts/inter-v20-latin-700.woff2') format('woff2'); }
@font-face { font-display: block; font-family: 'Inter'; font-style: italic; font-weight: 700; src: url('fonts/inter-v20-latin-700italic.woff2') format('woff2'); }

/* =========================================
   1. RESET & STRUCTURE
   ========================================= */
html, body {
    overflow-x: visible !important; 
    background-color: #ffffff !important;
    margin: 0; 
    padding: 0; 
    font-family: 'Inter', sans-serif !important;
    color: #000000; /* Absolute Black */
}
.site-header, .site-footer, .site-info, #masthead, header.site-header, #mobile-header, .main-navigation { display: none !important; }
* { box-sizing: border-box; }
body.no-scroll { overflow: hidden !important; height: 100vh !important; }
.site-content { padding-top: 80px !important; } 
.site-content, .site-container, #page, .site-wrapper { overflow: visible !important; }

/* FIX: GENERATEPRESS CONTAINER TRANSPARENZ (Grauer Kasten Killer) */
.inside-article, 
.entry-content, 
.site-main, 
.one-container .site-content {
    background-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* =========================================
   2. CONTENT BODY
========================================= */

.vn-wrapper {
    color: #000; 
    line-height: 1.5; 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 40px 20px 80px 20px; 
    
    /* FIX: Transparenter Hintergrund statt Weiß */
    background: transparent !important; 
    box-sizing: border-box;
    box-shadow: none !important;
    border: none !important;
}
.vn-nowrap { white-space: nowrap; }

/* META HEADER */
.vn-top-bar {
    display: flex; justify-content: space-between; align-items: flex-end;
    border-bottom: 2px solid #0056b3; margin-bottom: 40px; padding-bottom: 5px; width: 100%;
}
.vn-label {
    font-size: 12px; font-weight: 800; text-transform: uppercase;
    letter-spacing: 1px; color: #0056b3; margin: 0;
}
.vn-date {
    font-size: 12px; font-weight: 700; color: #000; text-transform: uppercase; letter-spacing: 0.5px;
}

/* HEADLINE (H1) - FIX: No Caps, Dark Navy */
h1.vn-headline {
    font-size: clamp(24px, 4vw, 42px); 
    font-weight: 800 !important; /* Reduziert von 900 */
    text-transform: none !important; /* FIX: Kein Uppercase */
    line-height: 1.1; 
    margin: 0 0 50px 0; 
    color: #0f172a !important; /* FIX: Dark Navy */
    letter-spacing: -0.5px; 
    width: 100%; 
}

/* TYPOGRAPHY */
.vn-intro { font-size: 21px; line-height: 1.5; color: #000; font-weight: 500; margin-bottom: 40px; }
@media (max-width: 768px) { .vn-intro p { font-size: 18px !important; font-weight: 300 !important; color: #000 !important; } }

/* FIX: Body-Hintergrund auf transparent */
.vn-body {
    background-color: transparent !important;
}

.vn-body p { font-size: 18px; margin-bottom: 20px; color: #111; font-weight: 300; line-height: 1.6; }
.vn-body strong { font-weight: 700; color: #000; }

/* LINKS IM TEXT */
.vn-body a {
    color: #0056b3; 
    text-decoration: underline !important; 
    text-decoration-thickness: 1px !important;
    border-bottom: none !important; 
    font-weight: 600; font-size: 18px;
}
.vn-body a:hover { color: #000; text-decoration-color: #000; background: #f0f9ff; }

/* ZWISCHENÜBERSCHRIFTEN (H2) - FIX: Linie unten, kein Caps */
.vn-body h2 {
    font-size: 24px !important; 
    font-weight: 800 !important; 
    text-transform: none !important; /* FIX: Kein Uppercase */
    
    margin-top: 60px; /* Mehr Luft oben */
    margin-bottom: 30px; /* Luft unten */
    color: #0f172a !important; /* FIX: Dark Navy */
    letter-spacing: 0px; 
    
    padding-top: 0 !important; 
    padding-bottom: 10px !important;
    
    border-top: none !important; /* Linie oben weg */
    border-bottom: 1px solid #0f172a; /* Linie unten hin */
    
    display: inline-block; width: 100%; scroll-margin-top: 150px;
}
@media (min-width: 900px) { .vn-body h2 { margin-top: 60px; } }
.vn-body h3 { font-size: 18px; font-weight: 700; margin-top: 30px; margin-bottom: 10px; color: #000; text-transform: uppercase; letter-spacing: 0.5px; }

/* LISTS */
.vn-body ul, .vn-body ol { margin-bottom: 25px; }
.vn-body li { margin-bottom: 8px; font-size: 18px; font-weight: 500; color: #000; position: relative; }
.vn-body ul { list-style: none; padding-left: 0; }
.vn-body ul li { padding-left: 20px; }
.vn-body ul li::before { content: ''; position: absolute; left: 0; top: 10px; width: 6px; height: 6px; background: #0056b3; border-radius: 50%; }
.vn-body ol { list-style: decimal; padding-left: 20px; margin-left: 15px; }
.vn-body ol li { padding-left: 10px; }
.vn-body ol li::before { content: none !important; display: none !important; }
@media (max-width: 768px) {
    .vn-body ul, .vn-body ol { margin-left: 0 !important; padding-left: 0 !important; }
    .vn-body ul li { padding-left: 15px !important; }
    .vn-body ul li::before { left: 0 !important; }
    .vn-body ol { margin-left: 15px !important; padding-left: 0 !important; }
}

/* QUOTES & LINKS */
.vn-quote { margin: 40px 0; padding: 10px 0 10px 25px; background: transparent; border-left: 5px solid #0056b3; }
.vn-quote p { font-size: 20px; font-weight: 500; font-style: italic; line-height: 1.3; color: #000; margin: 0; }

.vn-source-link {
    display: block; margin-top: 15px; font-size: 12px; font-weight: 700;
    color: #0056b3;
    text-transform: uppercase; text-decoration: none;
    border-bottom: 1px solid rgba(0, 86, 179, 0.3); padding-bottom: 2px;
    width: fit-content; transition: all 0.2s ease;
}
.vn-source-link:hover { border-bottom-color: #0056b3; color: #000; }

/* BOXES & BUTTONS */
/* FIX: Step-Box Hintergrund transparent */
.vn-step-box { background: transparent !important; border-left: 4px solid #0056b3; padding: 25px; margin: 30px 0; }

.vn-step-title { 
    font-weight: 900; text-transform: uppercase; font-size: 18px; 
    letter-spacing: 0.5px; margin-bottom: 15px; display: block; color: #0056b3; 
}

/* FIX: Highlight-Box ohne Grau */
.vn-highlight-box {
    background-color: transparent !important;
    border: none !important;
}

.vn-hack-white { 
    background: #fff; border: 1px solid #e2e8f0; border-left: 4px solid #0f172a; 
    padding: 25px; margin: 30px 0; border-radius: 6px; box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}
.vn-hack-title { color: #000; font-weight: 800; text-transform: uppercase; font-size: 14px; letter-spacing: 0.5px; display: block; margin-bottom: 10px; }

/* BUTTONS - STATIC BLACK & WHITE */
.vn-button { 
    display: inline-block; 
    background-color: #0f172a !important; 
    color: #ffffff !important; 
    text-decoration: none !important;
    padding: 16px 32px; font-weight: 700; font-size: 15px; border-radius: 6px; 
    text-transform: uppercase; letter-spacing: 0.5px; margin-top: 10px; 
    /* Keine Animation */
    transform: none !important; 
    transition: none !important;
    box-shadow: none !important;
}
.vn-button:hover { 
    background-color: #0f172a !important; 
    color: #ffffff !important; 
    transform: none !important; 
    box-shadow: none !important; 
}

/* =========================================
   3. GRID & SIDEBAR
   ========================================= */
.vn-grid { display: grid; grid-template-columns: 1fr; gap: 40px; position: relative; }
@media (min-width: 900px) {
    .vn-grid { grid-template-columns: 240px 1fr; gap: 60px; align-items: start; }
    .vn-mobile-toc-wrapper { display: none !important; }
    .vn-desktop-sidebar { 
        display: block !important; position: -webkit-sticky; position: sticky; 
        top: 100px; z-index: 10; border-right: 1px solid #f0f0f0; padding-right: 20px; 
        height: auto; max-height: calc(100vh - 120px); overflow-y: auto;
    }
}

.vn-mobile-toc-wrapper { display: block; margin-bottom: 40px; position: relative; z-index: 10; margin-left: -20px; margin-right: -20px; }
/* FIX: Auch hier Transparenz sicherstellen */
details#vn-mobile-toc-container { background: transparent !important; border-bottom: 1px solid #0056b3; }
.vn-mob-summary {
    padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; 
    font-size: 13px; font-weight: 800; text-transform: uppercase; color: #000; letter-spacing: 1px; list-style: none;
}
.vn-mob-summary::-webkit-details-marker { display: none; }
.vn-mob-icon::after { content: '▼'; font-size: 10px; color: #0056b3; }
details[open] .vn-mob-icon::after { content: '▲'; }

.vn-mob-list { padding: 0; margin: 0; list-style: none; border-top: 1px solid #f0f0f0; overflow: visible; }
.vn-mob-list a { display: block; padding: 15px 20px; text-decoration: none; color: #000; font-size: 16px; font-weight: 600; border-bottom: 1px solid #f9f9f9; }
.vn-mob-list a.active { color: #0056b3; background: #f0f9ff; }

.vn-desktop-sidebar { display: none; }
.vn-desktop-nav ul { list-style: none; padding: 0; margin: 0; }
.vn-desktop-nav li { margin-bottom: 12px; }
.vn-desktop-nav a {
    text-decoration: none; color: #111; font-size: 14px; font-weight: 500;
    display: block; line-height: 1.3; transition: all 0.2s; border-left: 2px solid transparent; padding-left: 10px;
}
.vn-desktop-nav a:hover { color: #000; border-left-color: #000; font-weight: 600; }
.vn-desktop-nav a.active { color: #0056b3; border-left-color: #0056b3; font-weight: 700; }
.vn-toc-title { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; color: #000; }

/* SIGNATURE */
.vn-signature { margin-top: 80px; padding-top: 40px; border-top: 1px solid #eaeaea; display: flex; flex-direction: column; align-items: flex-start; gap: 15px; }
.vn-logo-img { width: 100px; height: auto; display: block; }
.vn-mail-link { font-size: 18px; font-weight: 700; color: #000; text-decoration: none; border-bottom: 2px solid #0056b3; line-height: 1.2; }
.vn-sub { margin-top: 5px; font-size: 14px; color: #111; }

/* =========================================
   4. HEADER
   ========================================= */
.custom-header {
    position: fixed !important; top: 0 !important; left: 0 !important; width: 100% !important; z-index: 2147483647 !important; 
    background: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important; height: 70px !important; display: flex !important; align-items: center !important; padding: 0 !important; transition: all 0.3s ease;
}
.nav-container { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 100%; max-width: 1250px; margin: 0 auto; padding: 0 20px; gap: 20px; }
.logo { display: flex; align-items: center; gap: 12px; text-decoration: none; flex-shrink: 0; }
.logo-img { height: 36px; width: auto; border-radius: 6px; }
.logo-text-wrapper { display: flex; flex-direction: column; justify-content: center; line-height: 1.1; }
.logo-title { font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 18px; color: #000; }
.logo-subtitle { font-family: 'Inter', sans-serif; font-weight: 600; font-size: 10px; color: #0056b3; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; }

.nav-links { display: flex; gap: 6px; align-items: center; height: 100%; margin: 0; padding: 0; }
.nav-item { font-size: 14px; font-weight: 600; color: #000; text-decoration: none; transition: all 0.2s; cursor: pointer; white-space: nowrap; padding: 8px 16px; border-radius: 99px; }
.nav-item:hover, .dropdown:hover .dropdown-toggle { color: #0056b3; background: transparent !important; }

/* DESKTOP MENU */
@media (min-width: 769px) {
    .custom-header .nav-links .dropdown { position: relative !important; display: flex !important; align-items: center !important; height: 100% !important; }
    .custom-header .dropdown-toggle { display: flex !important; align-items: center !important; height: 100% !important; position: relative; z-index: 10; cursor: default !important; }
    .custom-header .dropdown-toggle::after {
        content: ''; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg); transition: transform 0.2s; margin-left: 6px; margin-top: -3px; flex-shrink: 0; opacity: 0.6;
    }
    .custom-header .dropdown.mega-dropdown::after { content: ''; position: absolute; top: 100%; left: 0; width: 100%; height: 30px; background: transparent; }
    
    .custom-header .dropdown.mega-dropdown .dropdown-content { 
        display: none; flex-direction: column; width: 800px !important; 
        padding: 30px !important; z-index: 2147483647 !important; 
        left: 50% !important; 
        top: 100% !important; margin-top: 0px !important; 
        transform: translateX(-50%) !important; position: absolute !important; 
        background: #ffffff !important; border: 1px solid rgba(0,0,0,0.04) !important; 
        border-radius: 16px !important; border-top-left-radius: 0; border-top-right-radius: 0;
        box-shadow: 0 15px 40px -5px rgba(0,0,0,0.12), 0 5px 15px -5px rgba(0,0,0,0.05) !important;
    }
    .custom-header .dropdown.mega-dropdown:hover .dropdown-content { display: flex !important; }
    .custom-header .dropdown.mega-dropdown:hover .dropdown-toggle::after { transform: rotate(225deg) !important; margin-top: 3px !important; }
    
    .custom-header .dropdown .simple-dropdown { 
        display: none; width: 260px !important; 
        margin-top: 0px !important; 
        position: absolute !important; background: #ffffff !important; 
        border: 1px solid rgba(0,0,0,0.04) !important; border-radius: 16px !important; border-top-left-radius: 0; border-top-right-radius: 0;
        padding: 12px 0 !important; z-index: 2147483647 !important; 
        box-shadow: 0 15px 40px -5px rgba(0,0,0,0.12), 0 5px 15px -5px rgba(0,0,0,0.05) !important; 
        left: 50% !important; top: 100% !important; transform: translateX(-50%) !important; 
    }
    .custom-header .dropdown:hover .simple-dropdown { display: block !important; }
    
    .mega-program-title { font-size: 11px; font-weight: 900; letter-spacing: 2px; color: #0f172a; text-transform: uppercase; border-bottom: 2px solid #0056b3; padding-bottom: 15px; margin-bottom: 25px; width: 100%; display: block; }
    .mega-grid-wrapper { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; width: 100%; }
    .mega-col { display: flex; flex-direction: column; }
    .dropdown-header { display: block; font-size: 14px; font-weight: 800; color: #000; text-transform: uppercase; padding: 8px 20px 8px 20px; letter-spacing: 0.5px; border-bottom: 1px solid rgba(0,0,0,0.05); margin-bottom: 6px; }
    .custom-header .dropdown-content a { display: block !important; color: #111 !important; padding: 8px 20px !important; text-decoration: none !important; font-size: 14px !important; font-weight: 500 !important; transition: all 0.15s ease !important; white-space: nowrap !important; }
    .custom-header .dropdown-content a:hover { color: #0056b3 !important; background: #f8fafc !important; padding-left: 24px !important; }
}

/* MOBILE MENU */
.mobile-controls { display: none; align-items: center; gap: 10px; }
.mobile-menu-btn { display: none; width: 30px !important; height: 30px !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; gap: 5px !important; padding: 0 !important; background: transparent !important; border: none !important; cursor: pointer !important; z-index: 2147483648; }
.mobile-menu-btn span { display: block; width: 24px; height: 2px; background: #000; border-radius: 9px; transition: 0.3s; }
.mobile-menu-btn.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-menu-btn.active span:nth-child(2) { opacity: 0; }
.mobile-menu-btn.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 768px) {
    .mobile-controls { display: flex; }
    .mobile-menu-btn { display: flex !important; }
    .nav-links {
        position: fixed; top: 70px; left: 0; width: 100%; height: calc(100vh - 70px); background: #ffffff; flex-direction: column; align-items: flex-start; justify-content: flex-start;
        padding: 0; gap: 0 !important; transform: translateX(100%); transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); overflow-y: auto; overflow-x: hidden; border-top: 1px solid #f1f5f9; padding-bottom: 80px; 
    }
    .nav-links.active { transform: translateX(0); }
    .nav-item, .dropdown-toggle { 
        font-size: 19px !important; padding: 22px 25px !important; width: 100%; text-align: left; border-bottom: 1px solid #f1f5f9; border-radius: 0 !important;
        color: #000 !important; font-weight: 800 !important; display: flex !important; justify-content: space-between !important; align-items: center !important; background: #fff; z-index: 5; position: relative;
    }
    .dropdown-toggle::after { content: ''; width: 10px; height: 10px; border-right: 2px solid #0056b3; border-bottom: 2px solid #0056b3; transform: rotate(45deg); transition: transform 0.3s; margin-right: 5px; }
    .dropdown.open .dropdown-toggle::after { transform: rotate(225deg); }
    .dropdown.open .dropdown-toggle { color: #0056b3 !important; background: #f8fafc; }
    .dropdown { display: flex !important; flex-direction: column; width: 100%; height: auto !important; border-bottom: none; position: relative !important; }
    .dropdown-content { position: relative !important; top: 0 !important; left: 0 !important; transform: none !important; box-shadow: none !important; border: none !important; background: #fcfcfc !important; width: 100%; display: none !important; padding: 10px 0 20px 0 !important; border-left: 4px solid #0056b3; animation: none !important; }
    .dropdown.open .dropdown-content { display: block !important; border-bottom: 1px solid #e2e8f0; }
    .custom-header .dropdown-content a { padding: 14px 25px 14px 35px !important; font-size: 17px !important; color: #111 !important; font-weight: 600 !important; border-bottom: 1px solid rgba(0,0,0,0.03); display: block !important; white-space: normal !important; line-height: 1.4 !important; }
    .custom-header .dropdown-content a:hover { background: #f1f5f9 !important; color: #0056b3 !important; }
    .dropdown-header { padding: 25px 35px 8px 35px !important; font-size: 12px !important; color: #444 !important; text-transform: uppercase; letter-spacing: 1px; font-weight: 800; display: block; }
    .mega-program-title { padding: 20px 35px !important; border-bottom: 1px solid #eee; display: block; font-weight: 900; font-size: 13px; background: #f0f9ff; color: #0056b3; }
    .mega-grid-wrapper { padding: 0 !important; display: block !important; }
    .mega-col { padding: 0 !important; display: block !important; }
}

/* =========================================
   6. FOOTER
   ========================================= */
.custom-footer { width: 100% !important; margin: 0 !important; padding: 0 !important; background: #f8fafc !important; border-top: 1px solid #e2e8f0 !important; position: relative !important; display: block !important; margin-top: 80px !important; }
.footer-content-wrapper { width: 100%; max-width: 1250px; margin: 0 auto; padding: 60px 20px 40px 20px; display: flex; flex-direction: column; }
.desktop-footer-view { display: grid; grid-template-columns: 1fr 1.5fr 0.8fr; align-items: center; gap: 40px; padding-bottom: 50px; }
.mono-brand h3 { font-size: 32px; margin: 0; letter-spacing: -1px; font-weight:800; color:#0f172a; line-height:1; }
.mono-brand span { font-size: 11px; color: #222; text-transform: uppercase; letter-spacing: 2px; font-weight:700; display:block; margin-top:8px; }
.mono-brand p { margin-top:20px; font-size:14px; color:#111; line-height:1.6; max-width:260px; }
.desktop-copyright { margin-top: 30px; font-size: 12px; font-weight: 700; color: #222; text-transform: uppercase; letter-spacing: 0.5px; }
.mono-links { display: flex; gap: 60px; flex-direction: column; justify-content: center; border-left: 1px solid #e2e8f0; padding-left: 60px; border-right: 1px solid #e2e8f0; padding-right: 20px; }
.link-cols { display:grid; grid-template-columns: 1fr 1fr; gap:40px; width:100%; }
.mono-col { display: flex; flex-direction: column; align-items: flex-start; }
.mono-col strong { display: block; font-size: 12px; color: #000; text-transform: uppercase; margin-bottom: 20px; font-weight:700; letter-spacing:1px; }
.mono-col a { display: inline-block; width: fit-content; color: #111; text-decoration: none; margin-bottom: 12px; font-weight: 500; font-size: 15px; transition: 0.2s; }
.mono-col a:hover { color: #0056b3; transform: translateX(3px); }
.mono-action { display: flex; justify-content: flex-end; align-items: center; }

/* WHATSAPP FIX */
.whatsapp-mono { 
    background-color: #0c5237 !important; color: #fff !important; border: none; text-decoration: none; padding: 16px 30px; border-radius: 99px; font-weight: 700; font-size: 15px; box-shadow: 0 4px 15px rgba(12, 82, 55, 0.3); transition: all 0.2s; display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; 
}
.whatsapp-mono:hover { transform: scale(1.05); box-shadow: 0 8px 25px rgba(12, 82, 55, 0.4); }

@media (max-width: 900px) {
    .footer-bento-wrapper { display: none !important; }
    .desktop-footer-view { display: flex !important; flex-direction: column; gap: 40px; padding-bottom: 40px; text-align: center; }
    .mono-brand { display: flex; flex-direction: column; align-items: center; }
    .mono-brand p { text-align: center; margin-left: auto; margin-right: auto; }
    .mono-links { border: none; padding: 0; gap: 40px; width: 100%; border-top: 1px solid #eee; border-bottom: 1px solid #eee; padding: 30px 0; }
    .link-cols { grid-template-columns: 1fr; gap: 30px; text-align: center; }
    .mono-col { align-items: center; width: 100%; }
    .mono-col a { width: auto; }
    .mono-action { justify-content: center; width: 100%; margin-bottom: 20px; }
    .finder-integrated { display: none !important; }
    .footer-divider { display: none; }
}

.footer-divider { width: 100%; height: 1px; background: #e2e8f0; margin-bottom: 30px; }
.finder-integrated { display: flex; align-items: center; gap: 20px; width: 100%; }
.fb-title { font-size: 16px; font-weight: 700; color: #0056b3; white-space: nowrap; margin-right: 10px; }
.fb-group { display: flex; align-items: center; gap: 10px; flex: 1; }
.fb-label { font-size: 12px; text-transform: uppercase; color: #000; font-weight: 700; white-space: nowrap; }
.fb-select {
    width: 100%; padding: 10px 14px; border-radius: 8px; border: 1px solid #cbd5e1; background: #ffffff;
    font-size: 14px; color: #000; font-family: 'Inter', sans-serif; font-weight: 500; appearance: none; cursor: pointer;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat; background-position: right 14px center; background-size: 14px; transition: 0.2s;
}
.fb-select:hover { border-color: #000; }
.fb-btn { background: #0f172a; color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap; flex-shrink: 0; }
.fb-btn:hover { background: #334155; transform: translateY(-1px); }

/* =========================================
   7. PRICING & ADDONS
   ========================================= */
.vn-combo-card { background: #f8f9fa; border: 1px solid #e0e0e0; border-radius: 8px; padding: 30px; display: grid; grid-template-columns: 1fr; gap: 40px; margin-bottom: 40px; }
@media (min-width: 900px) { .vn-combo-card { grid-template-columns: 1fr 1fr; align-items: start; } }
.vn-value-col { border-bottom: 1px solid #ddd; padding-bottom: 30px; }
@media (min-width: 900px) { .vn-value-col { border-bottom: none; border-right: 1px solid #ddd; padding-bottom: 0; padding-right: 30px; } }
.vn-value-title { font-size: 20px; font-weight: 900; text-transform: uppercase; margin-bottom: 20px; display: block; color: #000; }
.vn-feature-list ul { list-style: none; padding: 0; margin: 0; }
.vn-feature-list li { position: relative; padding-left: 30px; margin-bottom: 12px; font-size: 16px; font-weight: 500; color: #000; }
.vn-feature-list li::before { content: '✓'; position: absolute; left: 0; top: 0; color: #fff; background: #0056b3; width: 20px; height: 20px; border-radius: 50%; font-size: 12px; line-height: 20px; text-align: center; font-weight: 900; }
.vn-highlight-box { background: #fff; border: 2px solid #0056b3; padding: 15px; margin-top: 20px; border-radius: 4px; font-size: 14px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
.vn-price-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #ddd; align-items: center; }
.vn-price-row:last-child { border-bottom: none; }
.vn-price-duration { font-weight: 600; color: #333; font-size: 15px; }
.vn-price-val { font-weight: 800; color: #000; font-size: 16px; }
.vn-price-row.highlight { background: #f0f9ff; margin: 0 -10px; padding: 10px 10px; border-radius: 4px; border-bottom: none; }
.vn-price-row.highlight .vn-price-duration, .vn-price-row.highlight .vn-price-val { color: #0056b3; }
.vn-addon-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin: 40px 0; }
@media (min-width: 768px) { .vn-addon-grid { grid-template-columns: 1fr 1fr; } }
.vn-addon-card { background: #fff; border: 1px solid #e0e0e0; padding: 25px; border-radius: 4px; display: flex; flex-direction: column; justify-content: space-between; }
.vn-addon-title { font-weight: 800; text-transform: uppercase; font-size: 16px; margin-bottom: 10px; display: block; color: #000; }
.vn-addon-price { font-size: 24px; font-weight: 700; color: #000; margin-bottom: 5px; display: block; }
.vn-sprintax-btn { display: inline-block; background-color: #0056b3; color: #fff; text-decoration: none; padding: 10px 20px; font-weight: 700; text-transform: uppercase; font-size: 14px; text-align: center; margin-top: 15px; transition: background 0.2s; }
.vn-sprintax-btn:hover { background-color: #000; }
.vn-cross-list ul { list-style: none; padding: 0; margin: 0; }
.vn-cross-list li { position: relative; padding-left: 25px; margin-bottom: 8px; font-size: 16px; color: #444; }
.vn-cross-list li::before { content: '×'; position: absolute; left: 0; color: #000; font-weight: 800; }

/* =========================================
   8. FORM & GENERAL UI
   ========================================= */
select#vn_topic, .vn-form-wrapper select,
input[type="text"], input[type="email"], textarea { 
    width: 100%; height: 50px !important; min-height: 50px !important; padding: 0 15px; border: 1px solid #ccc; border-radius: 4px; background: #fff; font-size: 16px; color: #000; appearance: none;
}
textarea { height: 120px !important; padding-top: 15px; resize: vertical; }
select#vn_topic, .vn-form-wrapper select {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat; background-position: right 15px center; background-size: 12px;
}

/* SUCCESS MESSAGE INLINE (Kein Popup mehr) */
.vn-inline-success {
    background: #f0fdf4; border: 1px solid #10b981; border-left: 5px solid #10b981;
    padding: 30px; border-radius: 8px; margin-bottom: 40px; color: #000;
}
.vn-inline-success h3 { margin-top: 0; color: #000; font-weight: 800; text-transform: uppercase; font-size: 20px; }
.vn-inline-success p { font-size: 16px; line-height: 1.6; margin-bottom: 0; color: #333; }

/* =========================================
   9. DATENSCHUTZ HARMONISIERUNG (Lowkey)
   ========================================= */

/* HIER IST IHR FIX: 13px für alles! */
.vn-privacy-hint,
.vn-legal-text-wrapper,
.gfield_consent_description, 
.wpforms-field-description,
label.vn-privacy-label {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #444444 !important; /* Lowkey Grau */
    font-weight: 400 !important;
    margin-top: 10px !important;
    display: block;
}

/* Der Link erbt die 13px und wird fett/blau */
.vn-privacy-hint a,
.vn-legal-text-wrapper a,
.gfield_consent_description a, 
.wpforms-field-description a,
label.vn-privacy-label a {
    font-size: 13px !important; /* GLEICH GROSS WIE TEXT */
    color: #0056b3 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    font-weight: 700 !important;
}

/* Hover Effekt */
.vn-privacy-hint a:hover,
.vn-legal-text-wrapper a:hover,
label.vn-privacy-label a:hover {
    color: #000000 !important;
}