/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */

/* Custom CSS for Nexus Cart
 *
 * This block allows you to customize theme colors and styles for the entire Nexus Cart template.
 *
 * To customize colors:
 * - Replace the var() references with your own hex colors or other CSS values.
 * - For example, instead of --primary: #4b5563; use --primary: #your-color;
 * - You can also override any CSS properties here.
 */

html {
    font-size: 14px;
}

:root {
    --white: #fff;

    /* Neutral shades */
    --neutral-50: #fbf9fa;
    --neutral-100: #f4f5f7;
    --neutral-200: #e4e4e7;
    --neutral-300: #d0d5dd;
    --neutral-400: #9ca3af;
    --neutral-500: #6b7280;
    --neutral-600: #4b5563;
    --neutral-700: #374151;
    --neutral-800: #1f2937;
    --neutral-900: #111827;
    --neutral-950: #030712;

    /* Neutral shades */
    /* define own pallet with brand colors */
    --primary-50: var(--neutral-50);
    --primary-100: var(--neutral-100);
    --primary-200: var(--neutral-200);
    --primary-300: var(--neutral-300);
    --primary-400: var(--neutral-400);
    --primary-500: var(--neutral-500);
    --primary-600: var(--neutral-600);
    --primary-700: var(--neutral-700);
    --primary-800: var(--neutral-800);
    --primary-900: var(--neutral-900);
    --primary-950: var(--neutral-900);

    /* Primary colors */
    /* Use shades from comments if `primary` colors use other colors, then neutral */
    --primary: var(--neutral-900);          /* var(--primary-600) */
    --primary-lifted: var(--neutral-800);   /* var(--primary-700) */
    --primary-accented: var(--neutral-700); /* var(--primary-800) */

    /* Secondary colors */
    --secondary: var(--neutral-500);
    --secondary-lifted: var(--neutral-600);
    --secondary-accented: var(--neutral-700);

    /* Success colors */
    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;

    /* Info colors */
    --info: #155dfc;
    --info-lifted: #1447e6;
    --info-accented: #193cb8;

    /* Notice colors */
    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;

    /* Warning colors */
    --warning: #f54a00;
    --warning-lifted: #ca3500;
    --warning-accented: #9f2d00;

    /* Error colors */
    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    /* Grayscale colors */
    --grayscale: var(--neutral-900);
    --grayscale-lifted: var(--neutral-800);
    --grayscale-accented: var(--neutral-700);

    /* Neutral colors */
    --neutral: var(--neutral-500);
    --neutral-lifted: var(--neutral-600);
    --neutral-accented: var(--neutral-700);

    /* Text neutral colors */
    --text-inverted: var(--white);
    --text-muted: var(--neutral-400);
    --text-lifted: var(--neutral-500);
    --text-accented: var(--neutral-600);
    --text: var(--neutral-900);

    /* Border neutral colors */
    --border-muted: var(--neutral-200);
    --border: var(--neutral-300);
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    /* Background neutral colors */
    --bg: var(--white);
    --bg-muted: var(--neutral-50);
    --bg-lifted: var(--neutral-100);
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--neutral-900);

    /* Additional colors */
    --yellow-200: #fff085;
    --yellow-300: #ffdf20;
    --teal-300: #46edd5;
    --teal-400: #00d5be;
    --emerald-300: #5ee9b5;
    --pink-400: #fb64b6;

    /* Additional custom properties */
    /* Font sizes */
    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    /* Spacing */
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    /* Rounding */
    --rounding-sm: 0.25rem;
    --rounding-md: 0.5rem;
    --rounding-lg: 0.75rem;

    /* Other */
    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}
/* ===== VESUTEC Webhosting Redesign START ===== */
/* =========================================================
   VESUTEC WHMCS Store Redesign - Webhosting
   Für: /index.php?rp=/store/webhosting
   Theme: six
   ========================================================= */

/* Grundlayout */
body {
    background: #f4f7fb;
}

/* Nur Webhosting-Landingpage */
.landing-page.web-hosting,
.landing-page.mail-services,
.landing-page.sitebuilder,
.landing-page {
    background: linear-gradient(180deg, #f4f7fb 0%, #eef3f8 100%);
}

/* Oberer Bereich */
.landing-page .hero,
.landing-page.web-hosting .hero {
    background: linear-gradient(135deg, #0d5c88 0%, #0b74a8 45%, #26a0da 100%);
    color: #fff;
    border-radius: 18px;
    padding: 55px 30px;
    margin: 30px auto 40px;
    box-shadow: 0 18px 40px rgba(13, 92, 136, 0.22);
    position: relative;
    overflow: hidden;
}

.landing-page .hero:before,
.landing-page.web-hosting .hero:before {
    content: "";
    position: absolute;
    right: -80px;
    top: -80px;
    width: 260px;
    height: 260px;
    background: rgba(255,255,255,0.08);
    border-radius: 50%;
}

.landing-page .hero:after,
.landing-page.web-hosting .hero:after {
    content: "";
    position: absolute;
    left: -60px;
    bottom: -60px;
    width: 220px;
    height: 220px;
    background: rgba(255,255,255,0.06);
    border-radius: 50%;
}

.landing-page .hero h1,
.landing-page.web-hosting .hero h1 {
    color: #fff !important;
    font-size: 42px;
    font-weight: 700;
    letter-spacing: -0.5px;
    margin-bottom: 12px;
    position: relative;
    z-index: 2;
}

.landing-page .hero .lead,
.landing-page .hero p,
.landing-page.web-hosting .hero p {
    color: rgba(255,255,255,0.92) !important;
    font-size: 18px;
    line-height: 1.6;
    position: relative;
    z-index: 2;
    margin-bottom: 0;
}

/* Falls WHMCS keinen echten Hero-Container setzt:
   Headline allgemein schöner machen */
.landing-page .page-title,
.landing-page h1 {
    font-weight: 700;
    color: #13324a;
    letter-spacing: -0.4px;
}

.landing-page p.lead,
.landing-page .tagline,
.landing-page .sub-heading {
    color: #5f7487;
}

/* Produktbereich */
.landing-page .products,
.landing-page .product-grid,
.landing-page .row-pricing {
    margin-top: 20px;
}

/* Produktkarten */
.landing-page .product,
.landing-page .package,
.landing-page .pricing-box {
    background: #fff;
    border: 1px solid #e3ebf3;
    border-radius: 18px;
    box-shadow: 0 10px 25px rgba(18, 44, 72, 0.08);
    transition: all 0.28s ease;
    overflow: hidden;
    position: relative;
}

.landing-page .product:hover,
.landing-page .package:hover,
.landing-page .pricing-box:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(18, 44, 72, 0.16);
    border-color: #b8d6ea;
}

/* Kartenkopf */
.landing-page .product header,
.landing-page .product .header,
.landing-page .package .header,
.landing-page .pricing-box .header {
    background: linear-gradient(135deg, #0d5c88 0%, #0b74a8 100%);
    color: #fff;
    padding: 26px 20px 20px;
    text-align: center;
    border-bottom: none;
}

.landing-page .product header h2,
.landing-page .product .header h2,
.landing-page .product header h3,
.landing-page .product .header h3,
.landing-page .package .header h2,
.landing-page .package .header h3,
.landing-page .pricing-box .header h2,
.landing-page .pricing-box .header h3 {
    color: #fff !important;
    font-size: 20px;
    font-weight: 700;
    margin: 0;
}

/* Preisbereich */
.landing-page .product .pricing,
.landing-page .package .pricing,
.landing-page .pricing-box .pricing {
    background: transparent;
    text-align: center;
    padding: 20px 20px 10px;
    color: #0d5c88;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -1px;
}

.landing-page .product .pricing .price,
.landing-page .package .pricing .price,
.landing-page .pricing-box .pricing .price {
    color: #0d5c88 !important;
    font-weight: 800;
}

.landing-page .product .pricing .term,
.landing-page .package .pricing .term,
.landing-page .pricing-box .pricing .term {
    font-size: 14px;
    color: #6c8194;
    font-weight: 500;
}

/* Featureliste */
.landing-page .product ul,
.landing-page .package ul,
.landing-page .pricing-box ul {
    list-style: none;
    margin: 0;
    padding: 12px 24px 24px;
}

.landing-page .product ul li,
.landing-page .package ul li,
.landing-page .pricing-box ul li {
    padding: 11px 0;
    border-bottom: 1px solid #edf2f7;
    color: #355066;
    font-size: 15px;
    line-height: 1.5;
}

.landing-page .product ul li:last-child,
.landing-page .package ul li:last-child,
.landing-page .pricing-box ul li:last-child {
    border-bottom: none;
}

/* Check-Optik */
.landing-page .product ul li:before,
.landing-page .package ul li:before,
.landing-page .pricing-box ul li:before {
    content: "?";
    color: #14b86e;
    font-weight: 700;
    margin-right: 10px;
}

/* Buttons */
.landing-page .btn,
.landing-page .product .btn,
.landing-page .package .btn,
.landing-page .pricing-box .btn,
.landing-page .btn-order-now {
    background: linear-gradient(135deg, #0d5c88 0%, #1b89c9 100%) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 12px !important;
    padding: 13px 22px !important;
    font-weight: 700;
    font-size: 15px;
    box-shadow: 0 8px 20px rgba(13, 92, 136, 0.25);
    transition: all 0.25s ease;
}

.landing-page .btn:hover,
.landing-page .product .btn:hover,
.landing-page .package .btn:hover,
.landing-page .pricing-box .btn:hover,
.landing-page .btn-order-now:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(13, 92, 136, 0.32);
    opacity: 0.96;
}

/* Beliebtester Tarif / Featured */
.landing-page .featured,
.landing-page .product.featured,
.landing-page .package.featured,
.landing-page .pricing-box.featured {
    transform: scale(1.04);
    border: 2px solid #1b89c9;
    box-shadow: 0 24px 50px rgba(13, 92, 136, 0.18);
    z-index: 5;
}

.landing-page .featured:hover,
.landing-page .product.featured:hover,
.landing-page .package.featured:hover,
.landing-page .pricing-box.featured:hover {
    transform: scale(1.04) translateY(-6px);
}

.landing-page .featured header,
.landing-page .product.featured header,
.landing-page .package.featured .header,
.landing-page .pricing-box.featured .header {
    background: linear-gradient(135deg, #0b4b70 0%, #0d5c88 45%, #1ba0df 100%);
}

/* Beliebtesten-Badge */
.landing-page .featured:before,
.landing-page .product.featured:before,
.landing-page .package.featured:before,
.landing-page .pricing-box.featured:before {
    content: "BELIEBTESTE WAHL";
    position: absolute;
    top: 16px;
    right: -38px;
    background: #ffb400;
    color: #17324b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    padding: 8px 40px;
    transform: rotate(35deg);
    box-shadow: 0 6px 18px rgba(0,0,0,0.15);
    z-index: 9;
}

/* Text mittig schöner */
.landing-page .text-center {
    text-align: center;
}

/* Menübutton oben etwas cleaner */
#btnShowSidebar,
button#btnShowSidebar,
a#btnShowSidebar {
    border-radius: 10px !important;
    border: 1px solid #d6e2ed !important;
    background: #fff !important;
    color: #13324a !important;
    box-shadow: 0 6px 18px rgba(18, 44, 72, 0.06);
}

#btnShowSidebar:hover,
button#btnShowSidebar:hover,
a#btnShowSidebar:hover {
    background: #f7fbff !important;
}

/* Container mehr Luft */
.landing-page .container,
#main-body .container {
    max-width: 1280px;
}

/* Kleine Zusatzinfos */
.landing-page small,
.landing-page .small-text {
    color: #7a8ea0;
}

/* Responsive */
@media (max-width: 991px) {
    .landing-page .featured,
    .landing-page .product.featured,
    .landing-page .package.featured,
    .landing-page .pricing-box.featured {
        transform: none;
    }

    .landing-page .featured:hover,
    .landing-page .product.featured:hover,
    .landing-page .package.featured:hover,
    .landing-page .pricing-box.featured:hover {
        transform: translateY(-6px);
    }

    .landing-page .hero h1,
    .landing-page.web-hosting .hero h1 {
        font-size: 30px;
    }
}

@media (max-width: 767px) {
    .landing-page .hero,
    .landing-page.web-hosting .hero {
        padding: 35px 20px;
        border-radius: 14px;
    }

    .landing-page .hero h1,
    .landing-page.web-hosting .hero h1 {
        font-size: 26px;
    }

    .landing-page .product,
    .landing-page .package,
    .landing-page .pricing-box {
        margin-bottom: 20px;
    }
}

/* ===== VESUTEC Webhosting Redesign END ===== */

/* ===== VESUTEC Webhosting Redesign FIX für aktuelles Theme START ===== */

/* Hintergrund der Seite */
body {
    background: #f4f7fb !important;
}

/* Hauptüberschrift */
h1,
.page-title,
.main-title {
    font-size: 46px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #16324a !important;
    text-align: center !important;
    margin-bottom: 10px !important;
}

/* Unterzeile unter der Überschrift */
h1 + p,
.page-subtitle,
.lead,
.subtitle {
    text-align: center !important;
    color: #5f7487 !important;
    font-size: 20px !important;
    margin-bottom: 40px !important;
}

/* Preisboxen / Karten */
.panel,
.package,
.product,
.pricing,
.pricebox,
.card,
.package-box {
    background: #ffffff !important;
    border: 1px solid #dfe8f1 !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 30px rgba(18, 44, 72, 0.08) !important;
    overflow: hidden !important;
    transition: all 0.25s ease !important;
}

/* Hover */
.panel:hover,
.package:hover,
.product:hover,
.pricing:hover,
.pricebox:hover,
.card:hover,
.package-box:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 40px rgba(18, 44, 72, 0.14) !important;
}

/* Kopfbereich der Karten */
.panel-heading,
.package-title,
.product-title,
.card-header,
.pricing-header,
.package-box .header {
    background: linear-gradient(135deg, #0d5c88 0%, #1688c5 100%) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 24px 20px !important;
    text-align: center !important;
}

/* Titel in Karten */
.panel-heading h2,
.panel-heading h3,
.package-title,
.product-title,
.card-header h2,
.card-header h3,
.pricing-header h2,
.pricing-header h3 {
    color: #ffffff !important;
    font-weight: 700 !important;
    margin: 0 !important;
    font-size: 20px !important;
}

/* Preis */
.price,
.pricing-price,
.package-price,
.panel-price {
    font-size: 38px !important;
    font-weight: 800 !important;
    color: #0d5c88 !important;
    text-align: center !important;
    padding: 24px 15px 14px !important;
}

/* Buttons */
.btn-primary,
.btn-success,
.btn-order-now,
button.btn,
a.btn {
    background: linear-gradient(135deg, #0d5c88 0%, #1b89c9 100%) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 12px !important;
    padding: 13px 22px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 20px rgba(13, 92, 136, 0.22) !important;
}

.btn-primary:hover,
.btn-success:hover,
.btn-order-now:hover,
button.btn:hover,
a.btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 24px rgba(13, 92, 136, 0.30) !important;
}

/* Listen schöner */
.panel ul,
.package ul,
.product ul,
.card ul,
.pricebox ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-bottom: 0 !important;
}

.panel ul li,
.package ul li,
.product ul li,
.card ul li,
.pricebox ul li {
    padding: 10px 0 !important;
    border-bottom: 1px solid #edf2f7 !important;
    color: #355066 !important;
}

.panel ul li:last-child,
.package ul li:last-child,
.product ul li:last-child,
.card ul li:last-child,
.pricebox ul li:last-child {
    border-bottom: none !important;
}

/* Haken vor Features */
.panel ul li::before,
.package ul li::before,
.product ul li::before,
.card ul li::before,
.pricebox ul li::before {
    content: "? ";
    color: #14b86e;
    font-weight: 700;
}

/* Mittlere / empfohlene Box hervorheben */
.featured,
.recommended,
.popular,
.most-popular {
    transform: scale(1.04) !important;
    border: 2px solid #1b89c9 !important;
    box-shadow: 0 22px 48px rgba(13, 92, 136, 0.16) !important;
    position: relative;
    z-index: 5;
}

/* Responsive */
@media (max-width: 991px) {
    .featured,
    .recommended,
    .popular,
    .most-popular {
        transform: none !important;
    }

    h1,
    .page-title,
    .main-title {
        font-size: 34px !important;
    }
}

/* ===== VESUTEC Webhosting Redesign FIX für aktuelles Theme END ===== */

/* ===== VESUTEC Preis-Fix START ===== */

/* Preis auf den Hosting-Karten besser lesbar */
.package-price,
.price,
.pricing-price,
.panel-price,
.package .price,
.product .price,
.card .price,
.package-box .price {
    color: #ffffff !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.18) !important;
    opacity: 1 !important;
}

/* Monat / Laufzeit lesbar machen */
.package-price small,
.package-price .term,
.price small,
.price .term,
.pricing-price small,
.pricing-price .term,
.panel-price small,
.panel-price .term {
    color: rgba(255,255,255,0.92) !important;
    opacity: 1 !important;
}

/* Preisbereich im dunklen Kartenkopf sauber darstellen */
.package .pricing,
.product .pricing,
.panel .pricing,
.card .pricing,
.package-box .pricing,
.package-price-wrapper,
.pricing-wrapper {
    background: transparent !important;
    text-align: center !important;
}

/* ===== VESUTEC Preis-Fix END ===== */

/* ===== VESUTEC Premium Feinschliff START ===== */

/* Mehr Luft im Content */
#main-body,
.main-content,
.container {
    padding-bottom: 50px !important;
}

/* Überschrift noch hochwertiger */
h1,
.page-title,
.main-title {
    font-size: 52px !important;
    font-weight: 700 !important;
    letter-spacing: -1px !important;
    margin-top: 25px !important;
    margin-bottom: 8px !important;
}

/* Untertitel etwas eleganter */
h1 + p,
.page-subtitle,
.lead,
.subtitle {
    font-size: 21px !important;
    color: #6a7d8f !important;
    margin-bottom: 50px !important;
}

/* Karten allgemein */
.panel,
.package,
.product,
.pricing,
.pricebox,
.card,
.package-box {
    border-radius: 20px !important;
    box-shadow: 0 14px 34px rgba(16, 42, 67, 0.08) !important;
    border: 1px solid #dde7f0 !important;
}

/* Karten schweben schöner */
.panel:hover,
.package:hover,
.product:hover,
.pricing:hover,
.pricebox:hover,
.card:hover,
.package-box:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 24px 44px rgba(16, 42, 67, 0.14) !important;
}

/* Header der Karten */
.panel-heading,
.package-title,
.product-title,
.card-header,
.pricing-header,
.package-box .header {
    padding-top: 26px !important;
    padding-bottom: 22px !important;
}

/* Preise noch etwas edler */
.package-price,
.price,
.pricing-price,
.panel-price,
.package .price,
.product .price,
.card .price,
.package-box .price {
    letter-spacing: -1px !important;
    margin-bottom: 8px !important;
}

/* Buttons moderner */
.btn-primary,
.btn-success,
.btn-order-now,
button.btn,
a.btn {
    border-radius: 10px !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Buttons etwas kompakter in Karten */
.panel .btn,
.package .btn,
.product .btn,
.card .btn,
.pricebox .btn {
    width: 78% !important;
    margin: 0 auto 10px auto !important;
    display: block !important;
}

/* Listen luftiger */
.panel ul li,
.package ul li,
.product ul li,
.card ul li,
.pricebox ul li {
    padding: 12px 0 !important;
    line-height: 1.55 !important;
    font-size: 15px !important;
}

/* Mittlere Box stärker hervorheben */
.featured,
.recommended,
.popular,
.most-popular {
    transform: scale(1.06) !important;
    border: 2px solid #1e97d4 !important;
    box-shadow: 0 26px 56px rgba(13, 92, 136, 0.18) !important;
}

.featured:hover,
.recommended:hover,
.popular:hover,
.most-popular:hover {
    transform: scale(1.06) translateY(-8px) !important;
}

/* Beliebteste Wahl freundlicher */
.featured::before,
.recommended::before,
.popular::before,
.most-popular::before {
    content: "Empfohlen" !important;
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    background: #e9f7ff !important;
    color: #0d5c88 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    box-shadow: 0 6px 16px rgba(13, 92, 136, 0.12) !important;
    z-index: 10 !important;
}

/* Menübutton links dezenter */
#btnShowSidebar,
button#btnShowSidebar,
a#btnShowSidebar {
    border-radius: 14px !important;
    border: 1px solid #d9e4ee !important;
    background: #ffffff !important;
    color: #21415d !important;
    box-shadow: 0 8px 18px rgba(18, 44, 72, 0.08) !important;
    padding: 12px 18px !important;
}

/* Footer etwas ruhiger */
footer,
.footer,
#footer {
    color: #6d7f90 !important;
    font-size: 14px !important;
}

/* Mobile */
@media (max-width: 991px) {
    h1,
    .page-title,
    .main-title {
        font-size: 36px !important;
    }

    .featured,
    .recommended,
    .popular,
    .most-popular {
        transform: none !important;
    }

    .featured:hover,
    .recommended:hover,
    .popular:hover,
    .most-popular:hover {
        transform: translateY(-8px) !important;
    }
}

/* ===== VESUTEC Premium Feinschliff END ===== */

/* ===== VESUTEC Homepage Redesign START ===== */

/* Gesamter Seitenhintergrund */
body {
    background: #f4f7fb !important;
}

/* Hero / Domain-Suchbereich */
.hero,
#main-body .hero,
.domain-search-hero,
section.hero {
    background: linear-gradient(135deg, #0b4f75 0%, #0d5c88 45%, #1379b3 100%) !important;
    padding: 80px 20px 90px !important;
    position: relative !important;
    overflow: hidden !important;
}

.hero::before,
#main-body .hero::before,
.domain-search-hero::before,
section.hero::before {
    content: "" !important;
    position: absolute !important;
    top: -80px !important;
    right: -80px !important;
    width: 260px !important;
    height: 260px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.07) !important;
}

.hero::after,
#main-body .hero::after,
.domain-search-hero::after,
section.hero::after {
    content: "" !important;
    position: absolute !important;
    bottom: -70px !important;
    left: -70px !important;
    width: 220px !important;
    height: 220px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.05) !important;
}

/* Hero Überschrift */
.hero h1,
.hero h2,
.domain-search-hero h1,
.domain-search-hero h2,
section.hero h1,
section.hero h2 {
    color: #ffffff !important;
    font-size: 54px !important;
    font-weight: 700 !important;
    letter-spacing: -1px !important;
    line-height: 1.12 !important;
    text-align: center !important;
    margin-bottom: 18px !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Untertext im Hero */
.hero p,
.hero .lead,
.domain-search-hero p,
section.hero p {
    color: rgba(255,255,255,0.9) !important;
    font-size: 20px !important;
    text-align: center !important;
    margin-bottom: 32px !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Domain-Suchbox */
.domain-search-box,
.search-box,
.domain-checker-container,
.hero .domain-search,
#frmDomainChecker,
.domainsearch,
.lagom-domain-search,
.nexus-domain-search {
    background: #ffffff !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 45px rgba(10, 34, 55, 0.16) !important;
    padding: 18px !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 3 !important;
}

/* Eingabefelder Domain-Suche */
.domain-search-box input[type="text"],
.domain-search-box input[type="search"],
.search-box input[type="text"],
.search-box input[type="search"],
.domain-checker-container input[type="text"],
.domain-checker-container input[type="search"],
#frmDomainChecker input[type="text"],
#frmDomainChecker input[type="search"],
.domainsearch input[type="text"],
.domainsearch input[type="search"] {
    height: 62px !important;
    border-radius: 14px !important;
    border: 1px solid #d9e4ee !important;
    box-shadow: none !important;
    font-size: 18px !important;
    padding: 0 18px !important;
    color: #18364d !important;
}

/* Placeholder */
.domain-search-box input::placeholder,
.search-box input::placeholder,
.domain-checker-container input::placeholder,
#frmDomainChecker input::placeholder,
.domainsearch input::placeholder {
    color: #7f93a6 !important;
}

/* Buttons im Hero */
.domain-search-box .btn,
.search-box .btn,
.domain-checker-container .btn,
#frmDomainChecker .btn,
.domainsearch .btn,
.btn-search,
.btn-transfer,
.btn-domain-search {
    height: 56px !important;
    border-radius: 14px !important;
    border: none !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    padding: 0 22px !important;
    box-shadow: 0 10px 22px rgba(13, 92, 136, 0.18) !important;
}

/* Primärer Button */
.btn-success,
.btn-search,
.btn-domain-search,
.domain-search-box .btn-primary,
.domain-checker-container .btn-primary,
#frmDomainChecker .btn-primary {
    background: linear-gradient(135deg, #0d5c88 0%, #1b89c9 100%) !important;
    color: #fff !important;
}

/* Sekundärer Button */
.btn-transfer,
.domain-search-box .btn-default,
.domain-checker-container .btn-default,
#frmDomainChecker .btn-default {
    background: #eff5fb !important;
    color: #18415e !important;
    border: 1px solid #d6e3ef !important;
    box-shadow: none !important;
}

/* Dropdowns / Filter unter Suche */
.domain-search-box select,
.search-box select,
.domain-checker-container select,
#frmDomainChecker select,
.domainsearch select,
.domain-search-box .bootstrap-select .btn,
.domain-checker-container .bootstrap-select .btn,
#frmDomainChecker .bootstrap-select .btn {
    height: 50px !important;
    border-radius: 12px !important;
    border: 1px solid #d9e4ee !important;
    background: #f7fbff !important;
    color: #21415d !important;
    font-weight: 600 !important;
}

/* Bereich unter dem Hero / Quick Links */
.home-shortcuts,
.home-panels,
.featured-actions,
.client-home-panels,
#main-body .tiles,
.homepage-features {
    background: transparent !important;
    margin-top: -42px !important;
    position: relative !important;
    z-index: 5 !important;
}

/* Quicklink-Kacheln */
.home-shortcuts .item,
.home-panels .panel,
.featured-actions .item,
.client-home-panels .panel,
#main-body .tiles .tile,
.homepage-features .feature {
    background: #ffffff !important;
    border-radius: 18px !important;
    border: 1px solid #dfe8f1 !important;
    box-shadow: 0 14px 34px rgba(18, 44, 72, 0.08) !important;
    padding: 24px 18px !important;
    transition: all 0.25s ease !important;
}

.home-shortcuts .item:hover,
.home-panels .panel:hover,
.featured-actions .item:hover,
.client-home-panels .panel:hover,
#main-body .tiles .tile:hover,
.homepage-features .feature:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 22px 40px rgba(18, 44, 72, 0.13) !important;
}

/* Quicklink Titel */
.home-shortcuts .item h3,
.home-panels .panel h3,
.featured-actions .item h3,
.client-home-panels .panel h3,
#main-body .tiles .tile h3,
.homepage-features .feature h3,
.home-shortcuts .item a,
.home-panels .panel a,
.featured-actions .item a,
.client-home-panels .panel a {
    color: #153852 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Alte türkisfarbene Leiste neutralisieren */
.homepage-featured,
.homepage-panels,
section.home-kpis,
section.home-shortcuts {
    background: transparent !important;
    border: none !important;
}

/* News / Neuigkeiten Bereich */
.news,
.announcements,
.home-announcements,
#announcements,
.client-home-announcements {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

/* Überschrift News */
.news h2,
.announcements h2,
.home-announcements h2,
#announcements h2,
.client-home-announcements h2 {
    color: #17324b !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 26px !important;
}

/* News-Einträge als Karten */
.news .post,
.announcements .announcement-single,
.home-announcements .announcement-single,
#announcements .announcement-single,
.client-home-announcements .announcement-single,
.news article,
.announcements article {
    background: #ffffff !important;
    border: 1px solid #dfe8f1 !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 30px rgba(18, 44, 72, 0.08) !important;
    padding: 24px 26px !important;
    margin-bottom: 22px !important;
}

/* News-Datum */
.news .date,
.announcements .label,
.announcements .announcement-date,
.home-announcements .announcement-date,
#announcements .announcement-date {
    background: #eaf5ff !important;
    color: #0d5c88 !important;
    border-radius: 999px !important;
    padding: 8px 12px !important;
    font-weight: 700 !important;
    display: inline-block !important;
    min-width: auto !important;
}

/* News-Titel */
.news h3,
.announcements h3,
.home-announcements h3,
#announcements h3,
.client-home-announcements h3,
.news h3 a,
.announcements h3 a {
    color: #17324b !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* News-Text */
.news p,
.announcements p,
.home-announcements p,
#announcements p,
.client-home-announcements p {
    color: #546b7f !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Mehr erfahren Buttons */
.news .btn,
.announcements .btn,
.home-announcements .btn,
#announcements .btn,
.client-home-announcements .btn,
.news a.btn,
.announcements a.btn {
    background: linear-gradient(135deg, #0d5c88 0%, #1b89c9 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    padding: 12px 18px !important;
    box-shadow: 0 10px 22px rgba(13, 92, 136, 0.16) !important;
}

/* Navigation oben etwas ruhiger */
.navbar,
.main-navbar,
header .navbar {
    box-shadow: 0 6px 22px rgba(14, 33, 51, 0.08) !important;
}

/* Oberer rechter CTA */
.btn-nav,
.navbar .btn,
header .btn {
    border-radius: 14px !important;
}

/* Footer */
footer,
.footer,
#footer {
    background: transparent !important;
    color: #708396 !important;
}

/* Mobile */
@media (max-width: 991px) {
    .hero h1,
    .hero h2,
    .domain-search-hero h1,
    .domain-search-hero h2,
    section.hero h1,
    section.hero h2 {
        font-size: 38px !important;
    }

    .hero,
    #main-body .hero,
    .domain-search-hero,
    section.hero {
        padding: 60px 15px 70px !important;
    }

    .home-shortcuts,
    .home-panels,
    .featured-actions,
    .client-home-panels,
    #main-body .tiles,
    .homepage-features {
        margin-top: 20px !important;
    }

    .news h2,
    .announcements h2,
    .home-announcements h2,
    #announcements h2,
    .client-home-announcements h2 {
        font-size: 30px !important;
    }

    .news h3,
    .announcements h3,
    .home-announcements h3,
    #announcements h3,
    .client-home-announcements h3 {
        font-size: 22px !important;
    }
}

/* ===== VESUTEC Homepage Redesign END ===== */

/* ===== VESUTEC Homepage Fix Layout START ===== */

/* Hero sauber abschließen */
.hero,
#main-body .hero,
.domain-search-hero,
section.hero {
    padding-bottom: 120px !important;
}

/* Domainbox wirklich mittig & schöner Abstand */
.domain-search-box,
.search-box,
.domain-checker-container,
#frmDomainChecker {
    margin-top: 25px !important;
}

/* Übergang Hero -> Content sauber */
.home-shortcuts,
.home-panels,
.featured-actions,
.client-home-panels,
#main-body .tiles,
.homepage-features {
    margin-top: -70px !important;
    padding-top: 0 !important;
}

/* Quicklinks wirklich als Karten darstellen */
.home-shortcuts .item,
.home-panels .panel,
.featured-actions .item,
.client-home-panels .panel,
#main-body .tiles .tile {
    background: #ffffff !important;
    border-radius: 18px !important;
    padding: 22px 18px !important;
    box-shadow: 0 18px 35px rgba(18,44,72,0.12) !important;
    border: none !important;
}

/* Diese komische blaue Trennlinie entfernen */
.home-shortcuts .item:before,
.home-shortcuts .item:after,
.home-panels .panel:before,
.home-panels .panel:after {
    display: none !important;
}

/* Quicklinks Icons größer */
.home-shortcuts i,
.home-panels i,
.featured-actions i {
    font-size: 26px !important;
    margin-bottom: 10px !important;
    color: #0d5c88 !important;
}

/* Quicklinks Text schöner */
.home-shortcuts span,
.home-panels span,
.featured-actions span {
    display: block !important;
    font-weight: 600 !important;
    color: #17324b !important;
}

/* Grauen Übergangsbereich entfernen */
.homepage-featured,
.homepage-panels,
section.home-kpis,
section.home-shortcuts {
    background: transparent !important;
    margin-top: 0 !important;
    padding-top: 30px !important;
}

/* News mehr Abstand nach oben */
.news,
.announcements,
.home-announcements,
#announcements {
    margin-top: 30px !important;
}

/* News Karten stärker hervorheben */
.news article,
.announcements article,
.home-announcements article,
#announcements article {
    transition: all 0.25s ease !important;
}

.news article:hover,
.announcements article:hover,
.home-announcements article:hover,
#announcements article:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 20px 40px rgba(18,44,72,0.12) !important;
}

/* Mehr erfahren Button moderner */
.news .btn,
.announcements .btn {
    background: #ff9f2a !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-weight: 700 !important;
}

/* ===== VESUTEC Homepage Fix Layout END ===== */

/* ===== VESUTEC Homepage Shortcut Fix START ===== */

/* Shortcut-Gesamtbereich sauber aufbauen */
.home-shortcuts,
.home-panels,
.featured-actions,
.client-home-panels,
#main-body .tiles,
.homepage-features {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 18px !important;
    margin-top: -45px !important;
    margin-bottom: 40px !important;
    padding: 0 20px !important;
    background: transparent !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Einzelne Shortcut-Elemente */
.home-shortcuts .item,
.home-panels .panel,
.featured-actions .item,
.client-home-panels .panel,
#main-body .tiles .tile,
.homepage-features .feature {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    min-width: 210px !important;
    max-width: 240px !important;
    min-height: 120px !important;
    padding: 24px 18px !important;
    background: #ffffff !important;
    border: 1px solid #dfe8f1 !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 34px rgba(18,44,72,0.10) !important;
    text-align: center !important;
    overflow: hidden !important;
    position: relative !important;
}

/* Hover */
.home-shortcuts .item:hover,
.home-panels .panel:hover,
.featured-actions .item:hover,
.client-home-panels .panel:hover,
#main-body .tiles .tile:hover,
.homepage-features .feature:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 40px rgba(18,44,72,0.14) !important;
}

/* Vertikale Trennlinien und alte Dekoelemente abschalten */
.home-shortcuts .item::before,
.home-shortcuts .item::after,
.home-panels .panel::before,
.home-panels .panel::after,
.featured-actions .item::before,
.featured-actions .item::after,
.client-home-panels .panel::before,
.client-home-panels .panel::after,
#main-body .tiles .tile::before,
#main-body .tiles .tile::after {
    display: none !important;
    content: none !important;
}

/* Icons sauber darstellen */
.home-shortcuts .item i,
.home-shortcuts .item .icon,
.home-panels .panel i,
.home-panels .panel .icon,
.featured-actions .item i,
.featured-actions .item .icon,
.client-home-panels .panel i,
.client-home-panels .panel .icon,
#main-body .tiles .tile i,
#main-body .tiles .tile .icon {
    display: block !important;
    font-size: 28px !important;
    line-height: 1 !important;
    margin: 0 0 14px 0 !important;
    color: #0d5c88 !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
}

/* Text / Links in den Shortcut-Boxen */
.home-shortcuts .item a,
.home-shortcuts .item span,
.home-panels .panel a,
.home-panels .panel span,
.featured-actions .item a,
.featured-actions .item span,
.client-home-panels .panel a,
.client-home-panels .panel span,
#main-body .tiles .tile a,
#main-body .tiles .tile span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #17324b !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    text-decoration: none !important;
    position: static !important;
}

/* Eventuell automatisch eingefügte Sonderzeichen / Quotes ausblenden */
.home-shortcuts .item a::before,
.home-shortcuts .item a::after,
.home-panels .panel a::before,
.home-panels .panel a::after,
.featured-actions .item a::before,
.featured-actions .item a::after,
.client-home-panels .panel a::before,
.client-home-panels .panel a::after,
#main-body .tiles .tile a::before,
#main-body .tiles .tile a::after,
.home-shortcuts .item span::before,
.home-shortcuts .item span::after,
.home-panels .panel span::before,
.home-panels .panel span::after {
    content: none !important;
    display: none !important;
}

/* "Wie können wir heute helfen?" sauber gestalten */
.home-shortcuts-title,
.home-panels-title,
.section-title-shortcuts,
.homepage-features-title {
    text-align: center !important;
    width: 100% !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 22px !important;
}

/* Falls der Text direkt im Shortcut-Bereich liegt */
.home-shortcuts > h2,
.home-shortcuts > h3,
.home-shortcuts > p,
.home-panels > h2,
.home-panels > h3,
.home-panels > p {
    width: 100% !important;
    text-align: center !important;
    color: rgba(255,255,255,0.95) !important;
    margin-bottom: 18px !important;
}

/* News-Bereich wieder etwas näher heranholen */
.news,
.announcements,
.home-announcements,
#announcements {
    margin-top: 10px !important;
}

/* Hero-Suchbox noch etwas hochwertiger */
.domain-search-box,
.search-box,
.domain-checker-container,
#frmDomainChecker,
.domainsearch {
    border-radius: 18px !important;
    overflow: hidden !important;
}

/* Eingabefeld oben in der Suchbox */
.domain-search-box input[type="text"],
.domain-search-box input[type="search"],
.search-box input[type="text"],
.search-box input[type="search"],
.domain-checker-container input[type="text"],
.domain-checker-container input[type="search"],
#frmDomainChecker input[type="text"],
#frmDomainChecker input[type="search"] {
    min-height: 58px !important;
    font-size: 17px !important;
}

/* Mobile */
@media (max-width: 991px) {
    .home-shortcuts,
    .home-panels,
    .featured-actions,
    .client-home-panels,
    #main-body .tiles,
    .homepage-features {
        margin-top: 20px !important;
        gap: 14px !important;
    }

    .home-shortcuts .item,
    .home-panels .panel,
    .featured-actions .item,
    .client-home-panels .panel,
    #main-body .tiles .tile,
    .homepage-features .feature {
        min-width: 100% !important;
        max-width: 100% !important;
    }
}

/* ===== VESUTEC Homepage Shortcut Fix END ===== */

/* ===== VESUTEC Homepage Shortcut Emergency Fix START ===== */

/* gesamten Hilfe-/Shortcut-Bereich sauber zurücksetzen */
.home-shortcuts,
.home-panels,
.featured-actions,
.client-home-panels,
#main-body .tiles,
.homepage-features,
section.home-shortcuts,
section.home-kpis,
section.homepage-featured {
    background: #ffffff !important;
    margin: 0 auto 40px auto !important;
    padding: 30px 20px !important;
    position: relative !important;
    z-index: 5 !important;
    display: block !important;
    border: none !important;
    box-shadow: none !important;
}

/* Überschrift im Bereich */
.home-shortcuts h2,
.home-shortcuts h3,
.home-shortcuts p,
.home-panels h2,
.home-panels h3,
.home-panels p,
section.home-shortcuts h2,
section.home-shortcuts h3,
section.home-shortcuts p {
    color: #17324b !important;
    text-align: center !important;
    margin-bottom: 22px !important;
}

/* Spalten/Items */
.home-shortcuts .item,
.home-panels .panel,
.featured-actions .item,
.client-home-panels .panel,
#main-body .tiles .tile,
.homepage-features .feature,
section.home-shortcuts .item,
section.home-shortcuts .panel {
    background: #f8fbff !important;
    border: 1px solid #dbe7f1 !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(18,44,72,0.08) !important;
    padding: 22px 14px !important;
    min-height: 110px !important;
    text-align: center !important;
    overflow: hidden !important;
}

/* alle alten Linien und Deko raus */
.home-shortcuts .item::before,
.home-shortcuts .item::after,
.home-panels .panel::before,
.home-panels .panel::after,
.featured-actions .item::before,
.featured-actions .item::after,
.client-home-panels .panel::before,
.client-home-panels .panel::after,
#main-body .tiles .tile::before,
#main-body .tiles .tile::after,
.homepage-features .feature::before,
.homepage-features .feature::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
}

/* Icons */
.home-shortcuts i,
.home-panels i,
.featured-actions i,
.client-home-panels i,
#main-body .tiles i,
.homepage-features i {
    display: block !important;
    color: #0d5c88 !important;
    font-size: 28px !important;
    margin: 0 0 12px 0 !important;
    line-height: 1 !important;
}

/* Links/Text */
.home-shortcuts a,
.home-panels a,
.featured-actions a,
.client-home-panels a,
#main-body .tiles a,
.homepage-features a,
.home-shortcuts span,
.home-panels span,
.featured-actions span,
.client-home-panels span,
#main-body .tiles span,
.homepage-features span {
    color: #17324b !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-block !important;
}

/* unschöne Pfeile ausblenden */
.home-shortcuts a::before,
.home-shortcuts a::after,
.home-panels a::before,
.home-panels a::after,
.featured-actions a::before,
.featured-actions a::after,
.client-home-panels a::before,
.client-home-panels a::after,
#main-body .tiles a::before,
#main-body .tiles a::after,
.homepage-features a::before,
.homepage-features a::after {
    content: none !important;
    display: none !important;
}

/* direkte Pfeil-Elemente ausblenden */
.home-shortcuts .arrow,
.home-panels .arrow,
.featured-actions .arrow,
.client-home-panels .arrow,
#main-body .tiles .arrow,
.homepage-features .arrow,
.home-shortcuts .fa-angle-right,
.home-panels .fa-angle-right,
.featured-actions .fa-angle-right,
.client-home-panels .fa-angle-right,
#main-body .tiles .fa-angle-right,
.homepage-features .fa-angle-right {
    display: none !important;
}

/* falls der Bereich weiter kaputt bleibt: Untertexte verstecken */
.home-shortcuts small,
.home-panels small,
.featured-actions small,
.client-home-panels small,
#main-body .tiles small,
.homepage-features small,
.home-shortcuts .description,
.home-panels .description,
.featured-actions .description,
.client-home-panels .description,
#main-body .tiles .description,
.homepage-features .description {
    display: none !important;
}

/* ===== VESUTEC Homepage Shortcut Emergency Fix END ===== */

/* ===== VESUTEC Domain Search Redesign START ===== */

/* komplette Box */
.domain-search-box,
.search-box,
.domain-checker-container,
#frmDomainChecker,
.domainsearch {
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 14px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.18) !important;
    border: none !important;
    overflow: hidden !important;
}

/* oberer grauer Bereich entfernen */
.domain-search-box .panel,
.domain-search-box .panel-body,
.domain-search-box .input-group,
.search-box .panel,
.domain-checker-container .panel {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Eingabefeld */
.domain-search-box input,
.search-box input,
.domain-checker-container input,
#frmDomainChecker input {
    height: 60px !important;
    border-radius: 14px !important;
    border: 1px solid #dbe7f1 !important;
    font-size: 18px !important;
    padding: 0 18px !important;
    color: #16324a !important;
    box-shadow: none !important;
}

/* Placeholder */
.domain-search-box input::placeholder {
    color: #8aa0b3 !important;
}

/* Button Gruppe sauber */
.domain-search-box .input-group-btn,
#frmDomainChecker .input-group-btn {
    display: flex !important;
    gap: 8px !important;
}

/* SUCHEN Button */
.domain-search-box .btn-success,
.domain-search-box .btn-primary,
#frmDomainChecker .btn-success,
#frmDomainChecker .btn-primary {
    height: 60px !important;
    border-radius: 14px !important;
    padding: 0 26px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, #0d5c88 0%, #1b89c9 100%) !important;
    border: none !important;
    box-shadow: 0 10px 20px rgba(13,92,136,0.25) !important;
}

/* ÜBERTRAGEN Button dezenter */
.domain-search-box .btn-default,
#frmDomainChecker .btn-default {
    height: 60px !important;
    border-radius: 14px !important;
    padding: 0 18px !important;
    background: #eef4fa !important;
    color: #1b4a6b !important;
    border: 1px solid #d6e3ef !important;
    box-shadow: none !important;
}

/* unterer Bereich (TLD etc.) */
.domain-search-box .row,
.domain-checker-container .row {
    margin-top: 10px !important;
}

/* Dropdowns */
.domain-search-box select,
.domain-search-box .bootstrap-select .btn,
.domain-checker-container select {
    height: 44px !important;
    border-radius: 10px !important;
    background: #f4f8fc !important;
    border: 1px solid #dbe7f1 !important;
    font-size: 14px !important;
}

/* Checkbox */
.domain-search-box label,
.domain-checker-container label {
    font-size: 13px !important;
    color: #5f7487 !important;
}

/* ===== VESUTEC Domain Search Redesign END ===== */

/* ===== VESUTEC Domain Search Hard Fix START ===== */

/* Äußerer Suchbereich */
.domain-search-box,
.search-box,
.domain-checker-container,
#frmDomainChecker,
.domainsearch,
#main-body .domain-checker-container {
    max-width: 760px !important;
    margin: 22px auto 0 auto !important;
    background: #ffffff !important;
    border-radius: 18px !important;
    padding: 16px !important;
    box-shadow: 0 18px 40px rgba(0,0,0,0.18) !important;
    border: none !important;
    overflow: hidden !important;
}

/* Alle inneren Wrapper neutralisieren */
.domain-search-box .panel,
.domain-search-box .panel-body,
.search-box .panel,
.search-box .panel-body,
.domain-checker-container .panel,
.domain-checker-container .panel-body,
#frmDomainChecker .panel,
#frmDomainChecker .panel-body,
#frmDomainChecker .input-group,
.domain-checker-container .input-group {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Erste Zeile sauber als Flex */
#frmDomainChecker .input-group,
.domain-checker-container .input-group,
.search-box .input-group {
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    gap: 10px !important;
}

/* Das eigentliche Eingabefeld */
#frmDomainChecker input[type="text"],
#frmDomainChecker input[type="search"],
.domain-checker-container input[type="text"],
.domain-checker-container input[type="search"],
.search-box input[type="text"],
.search-box input[type="search"],
.domainsearch input[type="text"],
.domainsearch input[type="search"] {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 58px !important;
    line-height: 58px !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 14px !important;
    background: #f8fbfe !important;
    box-shadow: none !important;
    padding: 0 18px !important;
    font-size: 17px !important;
    color: #17324b !important;
    resize: none !important;
}

/* Falls Theme textarea statt input nutzt */
#frmDomainChecker textarea,
.domain-checker-container textarea,
.search-box textarea {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    line-height: 1.4 !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 14px !important;
    background: #f8fbfe !important;
    box-shadow: none !important;
    padding: 16px 18px !important;
    font-size: 17px !important;
    color: #17324b !important;
    resize: none !important;
    overflow: hidden !important;
}

/* Placeholder */
#frmDomainChecker input::placeholder,
#frmDomainChecker textarea::placeholder,
.domain-checker-container input::placeholder,
.domain-checker-container textarea::placeholder {
    color: #8a9daf !important;
}

/* Button-Wrapper */
#frmDomainChecker .input-group-btn,
.domain-checker-container .input-group-btn,
.search-box .input-group-btn {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: auto !important;
    white-space: nowrap !important;
}

/* Buttons allgemein */
#frmDomainChecker .btn,
.domain-checker-container .btn,
.search-box .btn {
    height: 58px !important;
    line-height: 58px !important;
    padding: 0 22px !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Suchen */
#frmDomainChecker .btn-success,
#frmDomainChecker .btn-primary,
.domain-checker-container .btn-success,
.domain-checker-container .btn-primary,
.search-box .btn-success,
.search-box .btn-primary {
    background: linear-gradient(135deg, #0d5c88 0%, #1b89c9 100%) !important;
    color: #fff !important;
    box-shadow: 0 10px 20px rgba(13,92,136,0.22) !important;
}

/* Übertragen */
#frmDomainChecker .btn-default,
#frmDomainChecker .btn-secondary,
.domain-checker-container .btn-default,
.domain-checker-container .btn-secondary,
.search-box .btn-default,
.search-box .btn-secondary {
    background: #eef4fa !important;
    color: #1d4867 !important;
    border: 1px solid #d8e3ed !important;
}

/* Unterer Bereich mit Filtern */
#frmDomainChecker .row,
.domain-checker-container .row,
.search-box .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 12px 0 0 0 !important;
}

/* Spalten unten neutralisieren */
#frmDomainChecker .col-md-4,
#frmDomainChecker .col-md-3,
#frmDomainChecker .col-md-2,
#frmDomainChecker .col-sm-4,
#frmDomainChecker .col-sm-3,
#frmDomainChecker .col-sm-2,
.domain-checker-container .col-md-4,
.domain-checker-container .col-md-3,
.domain-checker-container .col-md-2,
.domain-checker-container .col-sm-4,
.domain-checker-container .col-sm-3,
.domain-checker-container .col-sm-2 {
    width: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
}

/* Dropdown Buttons / Selects */
#frmDomainChecker select,
#frmDomainChecker .bootstrap-select > .btn,
.domain-checker-container select,
.domain-checker-container .bootstrap-select > .btn,
.search-box select,
.search-box .bootstrap-select > .btn {
    height: 46px !important;
    line-height: 46px !important;
    border-radius: 12px !important;
    border: 1px solid #dbe5ef !important;
    background: #f7fbff !important;
    color: #21415d !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* Checkbox / Label */
#frmDomainChecker label,
.domain-checker-container label,
.search-box label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    font-size: 13px !important;
    color: #5e7486 !important;
}

/* Hilfetext / Beispieltext innerhalb des Feldes ausblenden, wenn Theme ihn separat ausgibt */
#frmDomainChecker .help-block,
#frmDomainChecker .small-text,
.domain-checker-container .help-block,
.domain-checker-container .small-text {
    margin-top: 8px !important;
    color: #7f92a3 !important;
    font-size: 13px !important;
}

/* Mobile */
@media (max-width: 767px) {
    #frmDomainChecker .input-group,
    .domain-checker-container .input-group,
    .search-box .input-group {
        flex-wrap: wrap !important;
    }

    #frmDomainChecker .input-group-btn,
    .domain-checker-container .input-group-btn,
    .search-box .input-group-btn {
        width: 100% !important;
    }

    #frmDomainChecker .btn,
    .domain-checker-container .btn,
    .search-box .btn {
        flex: 1 1 auto !important;
    }
}

/* ===== VESUTEC Domain Search Hard Fix END ===== */

/* ===== VESUTEC FINAL FIX: Domain Search + Mobile Header START ===== */

/* =========================
   DOMAIN SEARCH DESKTOP
   ========================= */

/* Container */
#frmDomainChecker,
.domain-checker-container,
.domain-search-box,
.search-box,
.domainsearch {
    max-width: 760px !important;
    margin: 24px auto 0 !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: 0 16px 40px rgba(0,0,0,0.18) !important;
    overflow: hidden !important;
}

/* Alle inneren Standard-Wrapper neutralisieren */
#frmDomainChecker .panel,
#frmDomainChecker .panel-body,
#frmDomainChecker .input-group,
.domain-checker-container .panel,
.domain-checker-container .panel-body,
.domain-checker-container .input-group,
.domain-search-box .panel,
.domain-search-box .panel-body,
.search-box .panel,
.search-box .panel-body {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Oberer Eingabebereich */
#frmDomainChecker .input-group,
.domain-checker-container .input-group,
.domain-search-box .input-group,
.search-box .input-group {
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    border-bottom: 1px solid #dbe5ef !important;
}

/* Das eigentliche Suchfeld: input ODER textarea */
#frmDomainChecker input[type="text"],
#frmDomainChecker input[type="search"],
#frmDomainChecker textarea,
.domain-checker-container input[type="text"],
.domain-checker-container input[type="search"],
.domain-checker-container textarea,
.domain-search-box input[type="text"],
.domain-search-box input[type="search"],
.domain-search-box textarea,
.search-box input[type="text"],
.search-box input[type="search"],
.search-box textarea {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 118px !important;
    height: 118px !important;
    max-height: 118px !important;
    padding: 18px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    resize: none !important;
    overflow: hidden !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    color: #17324b !important;
}

/* Buttons rechts */
#frmDomainChecker .input-group-btn,
.domain-checker-container .input-group-btn,
.domain-search-box .input-group-btn,
.search-box .input-group-btn {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 0 !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
}

/* Buttons allgemein */
#frmDomainChecker .btn,
.domain-checker-container .btn,
.domain-search-box .btn,
.search-box .btn {
    min-width: 125px !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 18px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

/* Suchen */
#frmDomainChecker .btn-success,
#frmDomainChecker .btn-primary,
.domain-checker-container .btn-success,
.domain-checker-container .btn-primary,
.domain-search-box .btn-success,
.domain-search-box .btn-primary,
.search-box .btn-success,
.search-box .btn-primary {
    background: #2f8f68 !important;
    color: #ffffff !important;
}

/* Übertragen */
#frmDomainChecker .btn-default,
#frmDomainChecker .btn-secondary,
.domain-checker-container .btn-default,
.domain-checker-container .btn-secondary,
.domain-search-box .btn-default,
.domain-search-box .btn-secondary,
.search-box .btn-default,
.search-box .btn-secondary {
    background: #8d8b91 !important;
    color: #ffffff !important;
}

/* Untere Filterzeile */
#frmDomainChecker .row,
.domain-checker-container .row,
.domain-search-box .row,
.search-box .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px !important;
    margin: 0 !important;
    background: #f8fbfe !important;
}

/* Grid-Spalten unten neutralisieren */
#frmDomainChecker .col-md-4,
#frmDomainChecker .col-md-3,
#frmDomainChecker .col-md-2,
#frmDomainChecker .col-sm-4,
#frmDomainChecker .col-sm-3,
#frmDomainChecker .col-sm-2,
.domain-checker-container .col-md-4,
.domain-checker-container .col-md-3,
.domain-checker-container .col-md-2,
.domain-checker-container .col-sm-4,
.domain-checker-container .col-sm-3,
.domain-checker-container .col-sm-2 {
    width: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Dropdowns unten */
#frmDomainChecker select,
#frmDomainChecker .bootstrap-select > .btn,
.domain-checker-container select,
.domain-checker-container .bootstrap-select > .btn,
.domain-search-box select,
.domain-search-box .bootstrap-select > .btn,
.search-box select,
.search-box .bootstrap-select > .btn {
    height: 46px !important;
    line-height: 46px !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 12px !important;
    background: #1f86c7 !important;
    color: #ffffff !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

/* Checkbox */
#frmDomainChecker label,
.domain-checker-container label,
.domain-search-box label,
.search-box label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    font-size: 13px !important;
    color: #5e7486 !important;
}

/* =========================
   MOBILE HEADER / NAV FIX
   ========================= */
@media (max-width: 767px) {

    /* Oberen Header reparieren */
    .navbar,
    .main-navbar,
    header .navbar,
    .header,
    .top-bar,
    .main-header {
        min-height: auto !important;
        height: auto !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Topbereich mit Logo/Buttons */
    .header .container,
    .top-bar .container,
    .main-header .container,
    .navbar .container {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    /* Logo */
    .logo,
    .navbar-brand,
    .logo img,
    .navbar-brand img {
        max-height: 42px !important;
        height: auto !important;
        width: auto !important;
    }

    /* Warenkorb/Login Buttons oben */
    .btn-nav,
    .navbar .btn,
    header .btn,
    .top-bar .btn {
        border-radius: 12px !important;
        padding: 10px 14px !important;
        font-size: 14px !important;
    }

    /* Dicke blaue Menüleiste reduzieren */
    .navbar-collapse,
    .main-nav,
    .navigation,
    .primary-nav {
        min-height: 56px !important;
    }

    /* Hamburger-Zeile kompakter */
    .navbar-toggle,
    .menu-toggle,
    .mobile-nav-toggle {
        margin: 10px 12px !important;
        padding: 8px 10px !important;
    }

    /* Hero weniger hoch */
    .hero,
    #main-body .hero,
    .domain-search-hero,
    section.hero {
        padding: 42px 12px 46px !important;
    }

    /* Hero Headline mobile */
    .hero h1,
    .hero h2,
    .domain-search-hero h1,
    .domain-search-hero h2,
    section.hero h1,
    section.hero h2 {
        font-size: 28px !important;
        line-height: 1.15 !important;
        margin-bottom: 16px !important;
    }

    /* Domain-Suche mobil untereinander */
    #frmDomainChecker .input-group,
    .domain-checker-container .input-group,
    .domain-search-box .input-group,
    .search-box .input-group {
        display: block !important;
    }

    #frmDomainChecker input[type="text"],
    #frmDomainChecker input[type="search"],
    #frmDomainChecker textarea,
    .domain-checker-container input[type="text"],
    .domain-checker-container input[type="search"],
    .domain-checker-container textarea,
    .domain-search-box input[type="text"],
    .domain-search-box input[type="search"],
    .domain-search-box textarea,
    .search-box input[type="text"],
    .search-box input[type="search"],
    .search-box textarea {
        width: 100% !important;
        height: 96px !important;
        min-height: 96px !important;
        max-height: 96px !important;
        border-bottom: 1px solid #dbe5ef !important;
    }

    #frmDomainChecker .input-group-btn,
    .domain-checker-container .input-group-btn,
    .domain-search-box .input-group-btn,
    .search-box .input-group-btn {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        width: 100% !important;
    }

    #frmDomainChecker .btn,
    .domain-checker-container .btn,
    .domain-search-box .btn,
    .search-box .btn {
        min-width: 0 !important;
        width: 100% !important;
        height: 54px !important;
        line-height: 54px !important;
    }

    /* Untere Filter mobil */
    #frmDomainChecker .row,
    .domain-checker-container .row,
    .domain-search-box .row,
    .search-box .row {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
    }

    #frmDomainChecker label,
    .domain-checker-container label,
    .domain-search-box label,
    .search-box label {
        grid-column: 1 / -1 !important;
    }
}

/* ===== VESUTEC FINAL FIX: Domain Search + Mobile Header END ===== */

/* ===== VESUTEC Homepage Domain Search FINAL START ===== */

/* Hero-Abstand */
#home-banner {
    padding: 48px 0 72px !important;
}

#home-banner h2 {
    color: #ffffff !important;
    font-size: 34px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    margin-bottom: 24px !important;
}

/* Formularbreite */
#frmDomainHomepage {
    max-width: 760px !important;
    margin: 0 auto !important;
    position: relative !important;
}

#frmDomainHomepage .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#frmDomainHomepage .col-lg-6,
#frmDomainHomepage .col-md-8,
#frmDomainHomepage .col-sm-10 {
    float: none !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Beide advanced-input Blöcke zurück auf block */
#frmDomainHomepage .advanced-input {
    display: block !important;
    width: 100% !important;
    position: relative !important;
    float: none !important;
}

/* OBERER BLOCK */
#frmDomainHomepage .input-group.input-group-lg.advanced-input:first-of-type {
    background: #ffffff !important;
    border-radius: 18px 18px 0 0 !important;
    box-shadow: 0 18px 40px rgba(0,0,0,0.18) !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Textarea */
#frmDomainHomepage textarea#message {
    display: block !important;
    width: 100% !important;
    height: 132px !important;
    min-height: 132px !important;
    max-height: 132px !important;
    padding: 18px 240px 18px 18px !important;
    border: none !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #17324b !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    box-shadow: none !important;
    resize: none !important;
    overflow: hidden !important;
}

#frmDomainHomepage textarea#message::placeholder {
    color: #879aad !important;
}

/* Buttons rechts unten im Textfeld */
#frmDomainHomepage .input-group-btn {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 5 !important;
    display: flex !important;
    gap: 0 !important;
    width: auto !important;
    white-space: nowrap !important;
}

/* Buttons */
#frmDomainHomepage .input-group-btn .btn {
    min-width: 118px !important;
    height: 46px !important;
    line-height: 46px !important;
    padding: 0 16px !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

#frmDomainHomepage .input-group-btn .btn:first-child {
    border-radius: 10px 0 0 10px !important;
}

#frmDomainHomepage .input-group-btn .btn:last-child {
    border-radius: 0 10px 10px 0 !important;
}

#frmDomainHomepage .input-group-btn .btn.btn-success,
#frmDomainHomepage .input-group-btn .btn.btn-primary {
    background: #2f8f68 !important;
    color: #ffffff !important;
}

#frmDomainHomepage .input-group-btn .btn.btn-default,
#frmDomainHomepage .input-group-btn .btn.btn-secondary {
    background: #8f8c92 !important;
    color: #ffffff !important;
}

/* UNTERER BLOCK */
#frmDomainHomepage span.input-group.input-group-lg.advanced-input:last-child {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #f8fbfe !important;
    border-top: 1px solid #dbe5ef !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow: 0 18px 40px rgba(0,0,0,0.18) !important;
    margin: 0 !important;
    padding: 12px !important;
}

/* Dropdowns unten */
#frmDomainHomepage .bootstrap-select {
    margin: 0 !important;
}

#frmDomainHomepage .bootstrap-select > .btn,
#frmDomainHomepage select {
    height: 46px !important;
    line-height: 46px !important;
    background: #1f86c7 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

/* Checkbox */
#frmDomainHomepage label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    color: #5e7486 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* Mobile */
@media (max-width: 767px) {
    #home-banner {
        padding: 36px 0 48px !important;
    }

    #home-banner h2 {
        font-size: 26px !important;
        line-height: 1.15 !important;
        margin-bottom: 18px !important;
    }

    #frmDomainHomepage .input-group.input-group-lg.advanced-input:first-of-type {
        border-radius: 16px 16px 0 0 !important;
    }

    #frmDomainHomepage textarea#message {
        height: 96px !important;
        min-height: 96px !important;
        max-height: 96px !important;
        padding: 14px 14px 70px 14px !important;
        font-size: 15px !important;
    }

    #frmDomainHomepage .input-group-btn {
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    #frmDomainHomepage .input-group-btn .btn {
        min-width: 0 !important;
        width: 100% !important;
        height: 48px !important;
        line-height: 48px !important;
        border-radius: 0 !important;
    }

    #frmDomainHomepage .input-group-btn .btn:first-child {
        border-radius: 0 !important;
    }

    #frmDomainHomepage .input-group-btn .btn:last-child {
        border-radius: 0 !important;
    }

    #frmDomainHomepage span.input-group.input-group-lg.advanced-input:last-child {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        padding: 12px !important;
        border-radius: 0 0 16px 16px !important;
    }

    #frmDomainHomepage label {
        grid-column: 1 / -1 !important;
    }
}

/* ===== VESUTEC Homepage Domain Search FINAL END ===== */

/* ===== VESUTEC Mobile Domain Search Fix START ===== */
@media (max-width: 767px) {

    /* Suchbox mobil etwas kompakter */
    #frmDomainHomepage .input-group.input-group-lg.advanced-input:first-of-type {
        padding-bottom: 0 !important;
    }

    /* Textfeld oben genug Platz geben */
    #frmDomainHomepage textarea#message {
        height: 120px !important;
        min-height: 120px !important;
        max-height: 120px !important;
        padding: 14px !important;
        border-bottom: 1px solid #dbe5ef !important;
    }

    /* Buttonleiste nicht mehr absolut, sondern normal unter dem Feld */
    #frmDomainHomepage .input-group-btn {
        position: static !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    /* Buttons mobil sauber untereinander im Grid */
    #frmDomainHomepage .input-group-btn .btn {
        min-width: 0 !important;
        width: 100% !important;
        height: 48px !important;
        line-height: 48px !important;
        border-radius: 0 !important;
        margin: 0 !important;
    }

    /* Untere Filterleiste erst NACH den Buttons */
    #frmDomainHomepage span.input-group.input-group-lg.advanced-input:last-child {
        margin-top: 0 !important;
    }
}
/* ===== VESUTEC Mobile Domain Search Fix END ===== */

/* ===== VESUTEC Search Button Color Update START ===== */
#frmDomainHomepage .input-group-btn .btn.btn-success,
#frmDomainHomepage .input-group-btn .btn.btn-primary {
    background: linear-gradient(135deg, #0d5c88 0%, #1b89c9 100%) !important;
    color: #ffffff !important;
}

#frmDomainHomepage .input-group-btn .btn.btn-default,
#frmDomainHomepage .input-group-btn .btn.btn-secondary {
    background: #e7eef5 !important;
    color: #17324b !important;
}
/* ===== VESUTEC Search Button Color Update END ===== */

/* ===== VESUTEC Search Button Color Force Override START ===== */

/* Desktop + Mobile: Suchen */
#frmDomainHomepage .input-group-btn .btn,
#frmDomainHomepage .input-group-btn .btn.btn-success,
#frmDomainHomepage .input-group-btn .btn.btn-primary,
#frmDomainHomepage .input-group-btn button.btn-success,
#frmDomainHomepage .input-group-btn button.btn-primary,
#frmDomainHomepage .input-group-btn input.btn-success,
#frmDomainHomepage .input-group-btn input.btn-primary {
    background: linear-gradient(135deg, #0d5c88 0%, #1b89c9 100%) !important;
    color: #ffffff !important;
    border: none !important;
}

/* Nur Übertragen gezielt wieder überschreiben */
#frmDomainHomepage .input-group-btn .btn.btn-default,
#frmDomainHomepage .input-group-btn .btn.btn-secondary,
#frmDomainHomepage .input-group-btn button.btn-default,
#frmDomainHomepage .input-group-btn button.btn-secondary,
#frmDomainHomepage .input-group-btn input.btn-default,
#frmDomainHomepage .input-group-btn input.btn-secondary,
#frmDomainHomepage .input-group-btn .transfer-btn {
    background: #e7eef5 !important;
    color: #17324b !important;
    border: none !important;
}

/* Falls das zweite Element kein btn-default ist, sondern nur der zweite Button */
#frmDomainHomepage .input-group-btn > *:last-child,
#frmDomainHomepage .input-group-btn > .btn:last-child {
    background: #e7eef5 !important;
    color: #17324b !important;
    border: none !important;
}

/* ===== VESUTEC Search Button Color Force Override END ===== */

/* ===== VESUTEC NAVBAR REDESIGN START ===== */

/* gesamte Menüleiste */
.navbar,
.main-navbar,
header .navbar,
.navbar-main,
.navbar-default {
    background: linear-gradient(135deg, #0d5c88 0%, #1b6d9c 100%) !important;
    border: none !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.15) !important;
    min-height: 64px !important;
}

/* Container etwas kompakter */
.navbar .container {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

/* Menüeinträge */
.navbar-nav > li > a {
    color: rgba(255,255,255,0.92) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    padding: 14px 16px !important;
    transition: all 0.25s ease !important;
    position: relative;
}

/* Hover Effekt */
.navbar-nav > li > a:hover {
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* moderner Underline Hover */
.navbar-nav > li > a::after {
    content: "";
    position: absolute;
    left: 16px;
    bottom: 8px;
    width: 0;
    height: 2px;
    background: #ffffff;
    transition: width 0.25s ease;
}

.navbar-nav > li > a:hover::after {
    width: calc(100% - 32px);
}

/* aktiver Menüpunkt */
.navbar-nav > li.active > a,
.navbar-nav > li.open > a {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Dropdown */
.dropdown-menu {
    border-radius: 12px !important;
    border: none !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.15) !important;
    padding: 8px 0 !important;
}

.dropdown-menu > li > a {
    font-size: 14px !important;
    padding: 10px 18px !important;
    color: #17324b !important;
}

.dropdown-menu > li > a:hover {
    background: #f4f8fc !important;
}

/* Konto rechts */
.navbar-nav.navbar-right > li > a {
    font-weight: 600 !important;
}

/* ===== MOBILE ===== */
@media (max-width: 767px) {

    /* Leiste schlanker */
    .navbar {
        min-height: 56px !important;
    }

    .navbar .container {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

    /* Hamburger */
    .navbar-toggle {
        margin: 8px 12px !important;
        padding: 6px 10px !important;
    }

    /* Menü geöffnet */
    .navbar-collapse {
        background: #0d5c88 !important;
        border-top: none !important;
    }

    .navbar-nav > li > a {
        padding: 12px 16px !important;
        font-size: 15px !important;
    }
}

/* ===== VESUTEC NAVBAR REDESIGN END ===== */

/* ===== VESUTEC NAVBAR PREMIUM UPGRADE START ===== */

/* Sticky Navigation */
.navbar,
.main-navbar,
header .navbar,
.navbar-main,
.navbar-default {
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    background: rgba(13, 92, 136, 0.92) !important;
}

/* Leichte Trennung nach unten */
.navbar::after,
.main-navbar::after,
header .navbar::after,
.navbar-main::after,
.navbar-default::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: rgba(255,255,255,0.10);
}

/* Menüeinträge etwas hochwertiger */
.navbar-nav > li > a {
    border-radius: 10px !important;
    margin: 0 2px !important;
}

/* Hover als Soft-Pill */
.navbar-nav > li > a:hover,
.navbar-nav > li.open > a,
.navbar-nav > li.active > a {
    background: rgba(255,255,255,0.08) !important;
}

/* Underline bei Hover etwas dezenter */
.navbar-nav > li > a::after {
    bottom: 6px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.95) !important;
}

/* Dropdown moderner */
.dropdown-menu {
    margin-top: 10px !important;
    background: rgba(255,255,255,0.98) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* Mobile geöffnetes Menü angenehmer */
@media (max-width: 767px) {
    .navbar-collapse {
        background: rgba(13, 92, 136, 0.97) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        border-top: 1px solid rgba(255,255,255,0.08) !important;
    }

    .navbar-nav > li > a {
        border-radius: 8px !important;
        margin: 2px 8px !important;
    }
}

/* ===== VESUTEC NAVBAR PREMIUM UPGRADE END ===== */

/* ===== VESUTEC Mobile Header Cutoff Fix START ===== */
@media (max-width: 767px) {

    html,
    body {
        overflow-x: hidden !important;
    }

    /* oberen Bereich wieder normal fließen lassen */
    .navbar,
    .main-navbar,
    header .navbar,
    .navbar-main,
    .navbar-default {
        position: relative !important;
        top: auto !important;
        min-height: auto !important;
        margin-top: 0 !important;
    }

    /* oberer Kopfbereich */
    .top-bar,
    .header,
    .main-header,
    .header .container,
    .top-bar .container,
    .main-header .container {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        min-height: auto !important;
    }

    /* Logo */
    .logo,
    .navbar-brand,
    .logo img,
    .navbar-brand img {
        max-height: 44px !important;
        width: auto !important;
        height: auto !important;
    }

    /* Warenkorb-Button oben kleiner */
    .btn-nav,
    .navbar .btn,
    header .btn,
    .top-bar .btn {
        font-size: 14px !important;
        padding: 10px 14px !important;
        border-radius: 12px !important;
    }

    /* Sicherheitsabstand oben */
    body {
        padding-top: 0 !important;
    }
}
/* ===== VESUTEC Mobile Header Cutoff Fix END ===== */

/* ===== VESUTEC Mobile Top Header Hard Reset START ===== */
@media (max-width: 767px) {

    html,
    body {
        margin-top: 0 !important;
        padding-top: 0 !important;
        overflow-x: hidden !important;
    }

    /* Alle oberen Wrapper zurücksetzen */
    #header,
    .header,
    .top-bar,
    .main-header,
    .header-holder,
    .header-wrapper,
    .top-header,
    .navbar-header,
    .lagom-header,
    .navbar.navbar-top,
    .header .container,
    .top-bar .container,
    .main-header .container {
        position: relative !important;
        top: 0 !important;
        margin-top: 0 !important;
        padding-top: 12px !important;
        min-height: auto !important;
        height: auto !important;
        overflow: visible !important;
        transform: none !important;
    }

    /* Falls irgendwo der erste Wrapper nach oben geschoben wird */
    body > header,
    body > .header,
    body > #header,
    body > .top-bar,
    body > .main-header {
        margin-top: 0 !important;
        top: 0 !important;
        transform: none !important;
    }

    /* Container im oberen Kopfbereich */
    .header .container,
    .top-bar .container,
    .main-header .container,
    .navbar-header .container,
    .container.top-nav {
        padding-top: 12px !important;
        padding-bottom: 10px !important;
        overflow: visible !important;
    }

    /* Logo-Bereich */
    .logo,
    .navbar-brand,
    .logo img,
    .navbar-brand img {
        display: block !important;
        max-height: 42px !important;
        height: auto !important;
        width: auto !important;
        margin-top: 0 !important;
    }

    /* obere Buttons und Links */
    .btn-nav,
    .navbar .btn,
    header .btn,
    .top-bar .btn,
    .top-header .btn,
    .header .btn {
        font-size: 14px !important;
        line-height: 1.2 !important;
        padding: 10px 14px !important;
        margin-top: 0 !important;
    }

    /* Falls die obere Zeile per Flex vertikal abgeschnitten wird */
    .header .row,
    .top-bar .row,
    .main-header .row,
    .navbar-header .row {
        align-items: center !important;
        overflow: visible !important;
    }

    /* Sticky/blur mobil komplett deaktivieren */
    .navbar,
    .main-navbar,
    header .navbar,
    .navbar-main,
    .navbar-default {
        position: relative !important;
        top: auto !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}
/* ===== VESUTEC Mobile Top Header Hard Reset END ===== */