.elementor-605 .elementor-element.elementor-element-1b098fdf{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;box-shadow:15px 15px 30px 5px rgba(0, 0, 0, 0.04);--z-index:96;}.elementor-605 .elementor-element.elementor-element-1b098fdf:not(.elementor-motion-effects-element-type-background), .elementor-605 .elementor-element.elementor-element-1b098fdf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-605 .elementor-element.elementor-element-5eb0d2b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-605 .elementor-element.elementor-element-64ab8284 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#000000;}.elementor-605 .elementor-element.elementor-element-d5a5bc0 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#000000;}.elementor-605 .elementor-element.elementor-element-a607d6c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-605 .elementor-element.elementor-element-8371013 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-605 .elementor-element.elementor-element-8371013 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-605 .elementor-element.elementor-element-8371013{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-605 .elementor-element.elementor-element-8371013 .elementor-icon-list-text{transition:color 0.3s;}.elementor-605 .elementor-element.elementor-element-3e300416 .elementor-icon-list-icon i{color:#1C244B;transition:color 0.3s;}.elementor-605 .elementor-element.elementor-element-3e300416 .elementor-icon-list-icon svg{fill:#1C244B;transition:fill 0.3s;}.elementor-605 .elementor-element.elementor-element-3e300416{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-605 .elementor-element.elementor-element-3e300416 .elementor-icon-list-icon{padding-inline-end:8px;}.elementor-605 .elementor-element.elementor-element-3e300416 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-605 .elementor-element.elementor-element-3e300416 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;}.elementor-605 .elementor-element.elementor-element-3e300416 .elementor-icon-list-text{color:#000000;transition:color 0.3s;}.elementor-605 .elementor-element.elementor-element-4bf9a3c{--display:flex;--min-height:62px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;box-shadow:15px 15px 30px 5px rgba(0, 0, 0, 0.04);--z-index:96;}.elementor-605 .elementor-element.elementor-element-4bf9a3c:not(.elementor-motion-effects-element-type-background), .elementor-605 .elementor-element.elementor-element-4bf9a3c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#8A9583;}.elementor-605 .elementor-element.elementor-element-849e70b .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-605 .elementor-element.elementor-element-849e70b .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-605 .elementor-element.elementor-element-849e70b{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-605 .elementor-element.elementor-element-849e70b .elementor-icon-list-item > .elementor-icon-list-text, .elementor-605 .elementor-element.elementor-element-849e70b .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;}.elementor-605 .elementor-element.elementor-element-849e70b .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-605 .elementor-element.elementor-element-d79378c .elementor-button{background-color:#FFFFFF;font-family:"Poppins", Sans-serif;fill:#000000;color:#000000;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-605 .elementor-element.elementor-element-5eb0d2b{--width:52%;}.elementor-605 .elementor-element.elementor-element-a607d6c{--width:30%;}}@media(max-width:1024px){.elementor-605 .elementor-element.elementor-element-1b098fdf{--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-605 .elementor-element.elementor-element-64ab8284 .elementor-heading-title{font-size:14px;}.elementor-605 .elementor-element.elementor-element-d5a5bc0 .elementor-heading-title{font-size:14px;}.elementor-605 .elementor-element.elementor-element-3e300416 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-605 .elementor-element.elementor-element-3e300416 .elementor-icon-list-item > a{font-size:14px;}.elementor-605 .elementor-element.elementor-element-4bf9a3c{--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}}@media(max-width:767px){.elementor-605 .elementor-element.elementor-element-1b098fdf{--min-height:50px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-605 .elementor-element.elementor-element-64ab8284{text-align:center;}.elementor-605 .elementor-element.elementor-element-d5a5bc0{text-align:center;}.elementor-605 .elementor-element.elementor-element-3e300416{--e-icon-list-icon-size:12px;}.elementor-605 .elementor-element.elementor-element-4bf9a3c{--min-height:50px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}}/* Start custom CSS for container, class: .elementor-element-1b098fdf *//* =========================================================
   BESTGEN HEADER – CLEAN FINAL VERSION

   REAL STRUCTURE:

   bestgen-topbar
   ├── bestgen-topbar-left
   └── bestgen-topbar-right

   bestgen-mainheader
   ├── bestgen-logo
   ├── bestgen-mainnav
   └── bestgen-header-cta

   Elementor controls:
   - Typography
   - Font sizes
   - Font weight
   - Text colors
   - Background colors
   - Button colors

   CSS controls:
   - Max content width: 1600px
   - Layout
   - Alignment
   - Padding
   - Responsive behavior
========================================================= */


/* =========================================================
   GLOBAL HEADER WIDTH SYSTEM
========================================================= */

.bestgen-topbar,
.bestgen-mainheader {

    /*
       Maximum content width = 1600px.

       On normal screens minimum side padding = 46px.
       On 2560px screen:
       (2560 - 1600) / 2 = 480px

       So content stays centered instead of stretching.
    */

    --bestgen-header-side:
        max(46px, calc((100vw - 1600px) / 2));

    width: 100% !important;

    box-sizing: border-box !important;

    margin: 0 !important;

    min-width: 0 !important;

    padding-left: var(--bestgen-header-side) !important;
    padding-right: var(--bestgen-header-side) !important;

    --padding-left: var(--bestgen-header-side) !important;
    --padding-right: var(--bestgen-header-side) !important;
}


/* =========================================================
   TOP BAR
========================================================= */

.bestgen-topbar {

    min-height: 40px;

    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 24px;

    padding-top: 0 !important;
    padding-bottom: 0 !important;

    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
}


/* =========================================================
   TOP BAR LEFT
========================================================= */

.bestgen-topbar-left {

    width: auto !important;

    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-start !important;

    gap: 28px;

    flex: 0 1 auto;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    --padding-top: 0px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
}


/* =========================================================
   ADDRESS + HOURS
   TYPOGRAPHY = ELEMENTOR
========================================================= */

.bestgen-address,
.bestgen-hours {

    width: auto !important;

    flex: 0 0 auto;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-address .elementor-widget-container,
.bestgen-hours .elementor-widget-container {

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-address .elementor-heading-title,
.bestgen-hours .elementor-heading-title {

    margin: 0 !important;
    padding: 0 !important;

    white-space: nowrap !important;
}


/* =========================================================
   TOP BAR RIGHT
========================================================= */

.bestgen-topbar-right {

    width: auto !important;

    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-end !important;

    gap: 30px;

    flex: 0 0 auto;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    --padding-top: 0px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
}


/* =========================================================
   GOOGLE RATING
========================================================= */

.bestgen-google-rating {

    width: auto !important;

    flex: 0 0 auto;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-google-rating .elementor-widget-container {

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-rating-inner {

    width: auto;

    display: flex;

    flex-direction: row;

    align-items: center;
    justify-content: flex-start;

    gap: 9px;

    white-space: nowrap;
}


/* Stars */

.bestgen-stars {

    display: inline-block;

    color: #F5C451 !important;

    font-family: Arial, sans-serif !important;

    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    letter-spacing: 1px;

    white-space: nowrap;
}


/* HTML rating text */

.bestgen-rating-text {

    display: inline-block;

    font-size: 14px !important;
    font-weight: 400;
    line-height: 1.2;

    color: #18202A !important;

    white-space: nowrap !important;
}


/* =========================================================
   PHONE
   TYPOGRAPHY / COLOR = ELEMENTOR
========================================================= */

.bestgen-phone {

    width: auto !important;

    flex: 0 0 auto;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-phone .elementor-widget-container {

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-phone .elementor-icon-list-items {

    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-end !important;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-phone .elementor-icon-list-item {

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    white-space: nowrap !important;
}


.bestgen-phone .elementor-icon-list-text,
.bestgen-phone .elementor-icon-list-text a,
.bestgen-phone a {

    white-space: nowrap !important;

    text-decoration: none !important;
}


/* =========================================================
   MAIN HEADER

   EXACT STRUCTURE:
   Logo | Navigation | CTA
========================================================= */

.bestgen-mainheader {

    min-height: 74px;

    display: grid !important;

    /*
       Logo = auto
       Menu = takes remaining space
       CTA = auto
    */

    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto;

    align-items: center !important;

    column-gap: 34px;

    padding-top: 10px !important;
    padding-bottom: 10px !important;

    --padding-top: 10px !important;
    --padding-bottom: 10px !important;

    position: relative;

    z-index: 20;
}


/* =========================================================
   LOGO
========================================================= */

.bestgen-logo {

    width: auto !important;

    max-width: 190px;

    justify-self: start !important;
    align-self: center !important;

    margin: 0 !important;
    padding: 0 !important;

    min-width: 0 !important;
}


.bestgen-logo .elementor-widget-container {

    margin: 0 !important;
    padding: 0 !important;

    line-height: 0;
}


.bestgen-logo img {

    display: block;

    width: auto;
    height: auto;

    max-width: 100%;
    max-height: 54px;

    object-fit: contain;
    object-position: left center;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   MAIN NAVIGATION
========================================================= */

.bestgen-mainnav {

    width: 100% !important;

    min-width: 0 !important;

    justify-self: stretch !important;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-mainnav .elementor-widget-container {

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-mainnav .elementor-icon-list-items {

    width: 100%;

    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-end !important;

    flex-wrap: nowrap !important;

    column-gap: clamp(18px, 1.7vw, 28px);

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-mainnav .elementor-icon-list-item {

    width: auto !important;

    flex: 0 0 auto;

    display: flex !important;

    align-items: center !important;
    justify-content: flex-start !important;

    margin: 0 !important;
    padding: 0 !important;

    white-space: nowrap !important;
}


/* navigation has no icons */

.bestgen-mainnav .elementor-icon-list-icon {

    display: none !important;
}


/* Typography + colors remain Elementor controlled */

.bestgen-mainnav .elementor-icon-list-text,
.bestgen-mainnav a {

    white-space: nowrap !important;

    text-decoration: none !important;
}


/* =========================================================
   CTA
========================================================= */

.bestgen-header-cta {

    width: auto !important;

    flex: 0 0 auto;

    justify-self: end !important;
    align-self: center !important;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-header-cta .elementor-widget-container {

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-header-cta .elementor-button {

    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 44px;

    padding-top: 10px !important;
    padding-right: 20px !important;
    padding-bottom: 10px !important;
    padding-left: 20px !important;

    white-space: nowrap;

    box-shadow: none !important;
}


.bestgen-header-cta .elementor-button-text {

    white-space: nowrap !important;
}


/* =========================================================
   DO NOT BREAK ELEMENTOR ICONS
========================================================= */

/*
   Никаких:

   .bestgen-topbar i {
       font-family: inherit;
   }

   Здесь больше нет.

   Elementor / FontAwesome icon fonts остаются нетронутыми.
*/


/* =========================================================
   REMOVE DEFAULT TEXT MARGINS
========================================================= */

.bestgen-topbar p,
.bestgen-topbar h1,
.bestgen-topbar h2,
.bestgen-topbar h3,
.bestgen-topbar h4,
.bestgen-topbar h5,
.bestgen-topbar h6,
.bestgen-mainheader p,
.bestgen-mainheader h1,
.bestgen-mainheader h2,
.bestgen-mainheader h3,
.bestgen-mainheader h4,
.bestgen-mainheader h5,
.bestgen-mainheader h6 {

    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* =========================================================
   <= 1400px
========================================================= */

@media (max-width: 1400px) {

    .bestgen-topbar,
    .bestgen-mainheader {

        --bestgen-header-side: 32px;

        --padding-left: 32px !important;
        --padding-right: 32px !important;
    }


    .bestgen-topbar {

        gap: 20px;
    }


    .bestgen-topbar-left {

        gap: 22px;
    }


    .bestgen-topbar-right {

        gap: 24px;
    }


    .bestgen-mainheader {

        column-gap: 26px;
    }


    .bestgen-logo {

        max-width: 175px;
    }


    .bestgen-logo img {

        max-height: 50px;
    }


    .bestgen-mainnav .elementor-icon-list-items {

        column-gap: 20px;
    }

}


/* =========================================================
   <= 1200px
========================================================= */

@media (max-width: 1200px) {

    .bestgen-topbar,
    .bestgen-mainheader {

        --bestgen-header-side: 28px;

        --padding-left: 28px !important;
        --padding-right: 28px !important;
    }


    /* TOP BAR */

    .bestgen-topbar {

        min-height: 38px;

        gap: 14px;
    }


    .bestgen-topbar-left {

        gap: 16px;
    }


    .bestgen-topbar-right {

        gap: 16px;
    }


    .bestgen-rating-inner {

        gap: 6px;
    }


    .bestgen-stars {

        font-size: 15px !important;
    }


    /* MAIN HEADER */

    .bestgen-mainheader {

        min-height: 68px;

        column-gap: 20px;

        padding-top: 8px !important;
        padding-bottom: 8px !important;

        --padding-top: 8px !important;
        --padding-bottom: 8px !important;
    }


    .bestgen-logo {

        max-width: 155px;
    }


    .bestgen-logo img {

        max-height: 46px;
    }


    .bestgen-mainnav .elementor-icon-list-items {

        column-gap: 16px;
    }


    .bestgen-header-cta .elementor-button {

        min-height: 42px;

        padding-left: 16px !important;
        padding-right: 16px !important;
    }

}


/* =========================================================
   TABLET
   <= 1024px
========================================================= */

@media (max-width: 1024px) {

    .bestgen-topbar,
    .bestgen-mainheader {

        --bestgen-header-side: 22px;

        --padding-left: 22px !important;
        --padding-right: 22px !important;
    }


    /* -----------------------------------------
       TOP BAR
    ----------------------------------------- */

    .bestgen-topbar {

        min-height: 38px;

        gap: 12px;
    }


    .bestgen-topbar-left {

        gap: 12px;
    }


    .bestgen-topbar-right {

        gap: 12px;
    }


    .bestgen-stars {

        font-size: 14px !important;

        letter-spacing: 0;
    }


    /*
       Phone and rating stay together.
    */

    .bestgen-rating-inner {

        gap: 5px;
    }


    /* -----------------------------------------
       MAIN
    ----------------------------------------- */

    .bestgen-mainheader {

        grid-template-columns:
            auto
            minmax(0, 1fr)
            auto;

        column-gap: 16px;
    }


    .bestgen-logo {

        max-width: 135px;
    }


    .bestgen-mainnav .elementor-icon-list-items {

        column-gap: 13px;
    }


    .bestgen-header-cta .elementor-button {

        padding-left: 13px !important;
        padding-right: 13px !important;
    }

}


/* =========================================================
   NARROW TABLET
   768 – 900px

   CTA hidden so navigation has enough space.
========================================================= */

@media (min-width: 768px) and (max-width: 900px) {

    .bestgen-topbar,
    .bestgen-mainheader {

        --bestgen-header-side: 18px;

        --padding-left: 18px !important;
        --padding-right: 18px !important;
    }


    /* TOP */

    .bestgen-hours {

        display: none !important;
    }


    .bestgen-topbar-right {

        gap: 10px;
    }


    /* MAIN */

    .bestgen-mainheader {

        grid-template-columns:
            auto
            minmax(0, 1fr);

        column-gap: 20px;
    }


    .bestgen-header-cta {

        display: none !important;
    }


    .bestgen-logo {

        max-width: 130px;
    }


    .bestgen-mainnav .elementor-icon-list-items {

        justify-content: flex-end !important;

        column-gap: 12px;
    }

}


/* =========================================================
   MOBILE
   <= 767px
========================================================= */

@media (max-width: 767px) {

    /* TOP BAR HIDDEN */

    .bestgen-topbar {

        display: none !important;
    }


    /* MAIN */

    .bestgen-mainheader {

        --bestgen-header-side: 20px;

        --padding-left: 20px !important;
        --padding-right: 20px !important;

        grid-template-columns: 1fr;

        min-height: 64px;

        padding-top: 9px !important;
        padding-bottom: 9px !important;

        --padding-top: 9px !important;
        --padding-bottom: 9px !important;
    }


    .bestgen-logo {

        max-width: 145px;

        justify-self: start !important;
    }


    /*
       У тебя в структуре нет hamburger-widget,
       поэтому menu + CTA на mobile скрываем.
    */

    .bestgen-mainnav,
    .bestgen-header-cta {

        display: none !important;
    }

}


/* =========================================================
   SMALL MOBILE
   <= 420px
========================================================= */

@media (max-width: 420px) {

    .bestgen-mainheader {

        --bestgen-header-side: 16px;

        --padding-left: 16px !important;
        --padding-right: 16px !important;
    }


    .bestgen-logo {

        max-width: 135px;
    }

}

/* =========================================================
   TOPBAR SOCIAL LINKS
   Instagram / Facebook / LinkedIn etc.
========================================================= */

.bestgen-social-links {

    width: auto !important;
    max-width: none !important;

    flex: 0 0 auto;

    margin: 0 !important;
    padding: 0 !important;

    --padding-top: 0px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;

    align-self: center !important;
}


/* Elementor Widget Reset */

.bestgen-social-links .elementor-widget-container {

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   ICON LIST
========================================================= */

.bestgen-social-links .elementor-icon-list-items {

    width: auto !important;

    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: center !important;

    flex-wrap: nowrap !important;

    gap: 14px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   SINGLE ITEM
========================================================= */

.bestgen-social-links .elementor-icon-list-item {

    width: auto !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;
}


/* =========================================================
   LINK
========================================================= */

.bestgen-social-links .elementor-icon-list-item > a {

    width: 30px;
    height: 30px;

    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    text-decoration: none !important;

    border-radius: 50%;

    transition:
        opacity .2s ease,
        transform .2s ease,
        background-color .2s ease;
}


/* =========================================================
   ICON
   Farbe weiterhin über Elementor steuerbar
========================================================= */

.bestgen-social-links .elementor-icon-list-icon {

    width: auto !important;

    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-social-links .elementor-icon-list-icon i {

    font-size: 15px !important;

    width: auto !important;

    line-height: 1 !important;
}


.bestgen-social-links .elementor-icon-list-icon svg {

    width: 15px !important;
    height: 15px !important;

    display: block;
}


/* Kein Text nötig bei Social Icons */

.bestgen-social-links .elementor-icon-list-text {

    display: none !important;
}


/* =========================================================
   HOVER
========================================================= */

.bestgen-social-links .elementor-icon-list-item > a:hover {

    transform: translateY(-1px);

    opacity: .72;
}


/* =========================================================
   TOPBAR RIGHT — BETTER SPACING
========================================================= */

.bestgen-topbar-right {

    gap: 22px;
}


/* kleine optische Trennung vor Telefon */

.bestgen-social-links {

    position: relative;

    padding-right: 22px !important;
}


.bestgen-social-links::after {

    content: "";

    position: absolute;

    top: 50%;
    right: 0;

    width: 1px;
    height: 16px;

    background: rgba(24, 32, 42, 0.15);

    transform: translateY(-50%);
}


/* =========================================================
   <= 1200px
========================================================= */

@media (max-width: 1200px) {

    .bestgen-topbar-right {

        gap: 16px;
    }


    .bestgen-social-links {

        padding-right: 16px !important;
    }


    .bestgen-social-links
    .elementor-icon-list-items {

        gap: 10px !important;
    }


    .bestgen-social-links
    .elementor-icon-list-item > a {

        width: 28px;
        height: 28px;
    }


    .bestgen-social-links
    .elementor-icon-list-icon i {

        font-size: 14px !important;
    }


    .bestgen-social-links
    .elementor-icon-list-icon svg {

        width: 14px !important;
        height: 14px !important;
    }

}


/* =========================================================
   <= 1024px
========================================================= */

@media (max-width: 1024px) {

    .bestgen-social-links {

        padding-right: 12px !important;
    }


    .bestgen-topbar-right {

        gap: 12px;
    }

}


/* =========================================================
   NARROW TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 900px) {

    .bestgen-social-links {

        padding-right: 10px !important;
    }


    .bestgen-social-links
    .elementor-icon-list-item > a {

        width: 26px;
        height: 26px;
    }

}


/* =========================================================
   MOBILE
   Topbar ohnehin versteckt
========================================================= */

@media (max-width: 767px) {

    .bestgen-social-links {

        display: none !important;
    }

}

/* =========================================================
   FIX — SOCIAL ICON COLORS
========================================================= */

.bestgen-social-links,
.bestgen-social-links a,
.bestgen-social-links .elementor-icon-list-item,
.bestgen-social-links .elementor-icon-list-icon,
.bestgen-social-links .elementor-icon-list-icon i {

    color: #18202A !important;
}


/* Font Awesome SVG icons */

.bestgen-social-links .elementor-icon-list-icon svg {

    color: #18202A !important;
    fill: #18202A !important;
}


.bestgen-social-links .elementor-icon-list-icon svg path {

    fill: #18202A !important;
}


/* =========================================================
   HOVER
========================================================= */

.bestgen-social-links
.elementor-icon-list-item > a:hover,
.bestgen-social-links
.elementor-icon-list-item > a:hover
.elementor-icon-list-icon,
.bestgen-social-links
.elementor-icon-list-item > a:hover
.elementor-icon-list-icon i {

    color: #86917F !important;
}


.bestgen-social-links
.elementor-icon-list-item > a:hover
.elementor-icon-list-icon svg,
.bestgen-social-links
.elementor-icon-list-item > a:hover
.elementor-icon-list-icon svg path {

    color: #86917F !important;
    fill: #86917F !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4bf9a3c *//* =========================================================
   BESTGEN — MAIN HEADER
   CLEAN FINAL VERSION

   Original Header:
   - bleibt immer im normalen Dokumentfluss
   - keine Sticky-Manipulation

   Floating Header:
   - separate Kopie über JavaScript
   - erscheint nur beim Scroll-up
   - kein Layout-Sprung
========================================================= */


/* =========================================================
   ORIGINAL MAIN HEADER
========================================================= */

.bestgen-mainheader {

    width: 100%;
    max-width: none;
    min-width: 0;

    min-height: 82px;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;

    gap: 32px;

    padding: 12px 46px;

    box-sizing: border-box;

    background: #99A494;

    position: relative;
    z-index: 20;

    margin: 0 !important;
}


/* =========================================================
   REMOVE ALL DECORATIVE LINES / GLOW
========================================================= */

.bestgen-mainheader::before,
.bestgen-mainheader::after,
.bestgen-mainheader-floating::before,
.bestgen-mainheader-floating::after {

    content: none !important;

    display: none !important;

    background: none !important;

    border: none !important;

    box-shadow: none !important;
}


/* =========================================================
   LOGO
========================================================= */

.bestgen-logo {

    width: auto !important;

    max-width: 245px;

    flex: 0 0 auto;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-logo .elementor-widget-container {

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-logo img {

    display: block;

    width: auto;
    height: auto;

    max-width: 100%;
    max-height: 64px;

    object-fit: contain;

    margin: 0 !important;
}


/* =========================================================
   NAVIGATION
========================================================= */

.bestgen-mainnav {

    width: auto !important;

    flex: 1 1 auto;

    margin-left: auto !important;
    margin-right: 0 !important;

    padding: 0 !important;
}


.bestgen-mainnav .elementor-widget-container {

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-mainnav .elementor-icon-list-items {

    display: flex !important;

    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-end !important;

    flex-wrap: nowrap !important;

    column-gap: 26px;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-mainnav .elementor-icon-list-item {

    display: flex !important;

    align-items: center !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    white-space: nowrap;
}


/* Navigation braucht keine Icons */

.bestgen-mainnav .elementor-icon-list-icon {

    display: none !important;
}


/* Typography + Normalfarbe weiterhin Elementor */

.bestgen-mainnav .elementor-icon-list-text,
.bestgen-mainnav .elementor-icon-list-item > a,
.bestgen-mainnav a {

    text-decoration: none !important;

    white-space: nowrap;

    transition:
        opacity .2s ease;
}


/* Hover */

.bestgen-mainnav .elementor-icon-list-item:hover
.elementor-icon-list-text,

.bestgen-mainnav .elementor-icon-list-item:hover a {

    opacity: .68;
}


/* =========================================================
   CTA
========================================================= */

.bestgen-header-cta {

    width: auto !important;

    flex: 0 0 auto;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-header-cta .elementor-widget-container {

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-header-cta .elementor-button {

    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 46px;

    padding: 11px 22px !important;

    border-radius: 4px !important;

    box-shadow: none !important;

    transition:
        opacity .2s ease,
        transform .2s ease;
}


.bestgen-header-cta .elementor-button-text {

    white-space: nowrap;
}


.bestgen-header-cta .elementor-button:hover {

    transform: translateY(-1px);
}


/* =========================================================
   ELEMENTOR SPACING RESET
========================================================= */

.bestgen-mainheader p,
.bestgen-mainheader h1,
.bestgen-mainheader h2,
.bestgen-mainheader h3,
.bestgen-mainheader h4,
.bestgen-mainheader h5,
.bestgen-mainheader h6 {

    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* =========================================================
   FLOATING SMART HEADER
   JS ERSTELLT EINE KOPIE VON .bestgen-mainheader
========================================================= */

.bestgen-mainheader-floating {

    position: fixed !important;

    top: 0;
    left: 0;
    right: 0;

    width: 100% !important;
    max-width: none !important;

    min-height: 82px !important;

    margin: 0 !important;

    padding: 12px 46px !important;

    display: flex !important;

    flex-direction: row !important;

    align-items: center !important;

    justify-content: space-between !important;

    gap: 32px !important;

    box-sizing: border-box !important;

    z-index: 99999 !important;


    /* =====================================================
       GLASS
    ===================================================== */

    background:
        rgba(153, 164, 148, .94) !important;

    -webkit-backdrop-filter:
        blur(10px) saturate(105%);

    backdrop-filter:
        blur(10px) saturate(105%);


    /* nur sehr dezenter Schatten */

    box-shadow:
        0 8px 24px
        rgba(23, 36, 46, .09) !important;


    border:
        none !important;


    /* =====================================================
       STANDARD = VERSTECKT
    ===================================================== */

    transform:
        translate3d(0, -110%, 0);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;


    will-change:
        transform,
        opacity;


    transition:
        transform .30s cubic-bezier(.22,.61,.36,1),
        opacity .18s ease,
        visibility 0s linear .30s;
}


/* =========================================================
   FLOATING HEADER VISIBLE
========================================================= */

.bestgen-mainheader-floating.is-visible {

    transform:
        translate3d(0, 0, 0);

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transition:
        transform .30s cubic-bezier(.22,.61,.36,1),
        opacity .18s ease,
        visibility 0s linear 0s;
}


/* =========================================================
   FLOATING HEADER HIDDEN
========================================================= */

.bestgen-mainheader-floating.is-hidden {

    transform:
        translate3d(0, -110%, 0);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;
}


/* =========================================================
   FLOATING HEADER — LOGO
========================================================= */

.bestgen-mainheader-floating
.bestgen-logo {

    width: auto !important;

    max-width: 245px !important;

    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-mainheader-floating
.bestgen-logo
.elementor-widget-container {

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-mainheader-floating
.bestgen-logo img {

    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 100% !important;
    max-height: 64px !important;

    object-fit: contain;

    margin: 0 !important;
}


/* =========================================================
   FLOATING HEADER — NAV
========================================================= */

.bestgen-mainheader-floating
.bestgen-mainnav {

    width: auto !important;

    flex: 1 1 auto !important;

    margin-left: auto !important;
    margin-right: 0 !important;

    padding: 0 !important;
}


.bestgen-mainheader-floating
.bestgen-mainnav
.elementor-widget-container {

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-mainheader-floating
.bestgen-mainnav
.elementor-icon-list-items {

    display: flex !important;

    flex-direction: row !important;

    align-items: center !important;

    justify-content: flex-end !important;

    flex-wrap: nowrap !important;

    column-gap: 26px !important;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-mainheader-floating
.bestgen-mainnav
.elementor-icon-list-item {

    width: auto !important;

    display: flex !important;

    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    white-space: nowrap;
}


/* =========================================================
   WICHTIG:
   verhindert Pink / Rot / Theme Accent
========================================================= */

.bestgen-mainheader-floating
.bestgen-mainnav
.elementor-icon-list-text,

.bestgen-mainheader-floating
.bestgen-mainnav
.elementor-icon-list-item > a,

.bestgen-mainheader-floating
.bestgen-mainnav a,

.bestgen-mainheader-floating
.bestgen-mainnav a:visited {

    color:
        #FFFFFF !important;

    text-decoration:
        none !important;
}


/* Hover bleibt weiß */

.bestgen-mainheader-floating
.bestgen-mainnav
.elementor-icon-list-item:hover
.elementor-icon-list-text,

.bestgen-mainheader-floating
.bestgen-mainnav
.elementor-icon-list-item:hover > a,

.bestgen-mainheader-floating
.bestgen-mainnav a:hover {

    color:
        #FFFFFF !important;

    opacity:
        .70;
}


/* =========================================================
   FLOATING HEADER — CTA
========================================================= */

.bestgen-mainheader-floating
.bestgen-header-cta {

    width: auto !important;

    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-mainheader-floating
.bestgen-header-cta
.elementor-widget-container {

    margin: 0 !important;
    padding: 0 !important;
}


.bestgen-mainheader-floating
.bestgen-header-cta
.elementor-button {

    display:
        inline-flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    min-height:
        46px !important;

    padding:
        11px 22px !important;

    background:
        #FFFFFF !important;

    border:
        1px solid #FFFFFF !important;

    border-radius:
        4px !important;

    color:
        #17242E !important;

    box-shadow:
        none !important;

    transition:
        background-color .2s ease,
        transform .2s ease;
}


.bestgen-mainheader-floating
.bestgen-header-cta
.elementor-button-text {

    color:
        #17242E !important;

    white-space:
        nowrap;
}


.bestgen-mainheader-floating
.bestgen-header-cta
.elementor-button:hover {

    background:
        rgba(255,255,255,.88) !important;

    border-color:
        rgba(255,255,255,.88) !important;

    color:
        #17242E !important;

    transform:
        translateY(-1px);
}


/* =========================================================
   FLOATING HEADER — RESET THEME GLOBAL COLORS
========================================================= */

.bestgen-mainheader-floating
.elementor-widget-text-editor a,

.bestgen-mainheader-floating
.elementor-heading-title a {

    color:
        inherit !important;
}


/* =========================================================
   WORDPRESS ADMIN BAR
========================================================= */

body.admin-bar
.bestgen-mainheader-floating {

    top:
        32px;
}


/* =========================================================
   MEDIUM DESKTOP <= 1400
========================================================= */

@media (max-width: 1400px) {

    .bestgen-mainheader {

        padding-left:
            32px;

        padding-right:
            32px;

        gap:
            25px;
    }


    .bestgen-logo {

        max-width:
            220px;
    }


    .bestgen-logo img {

        max-height:
            58px;
    }


    .bestgen-mainnav
    .elementor-icon-list-items {

        column-gap:
            22px;
    }


    /* Floating */

    .bestgen-mainheader-floating {

        padding:
            12px 32px !important;

        gap:
            25px !important;
    }


    .bestgen-mainheader-floating
    .bestgen-logo {

        max-width:
            220px !important;
    }


    .bestgen-mainheader-floating
    .bestgen-logo img {

        max-height:
            58px !important;
    }


    .bestgen-mainheader-floating
    .bestgen-mainnav
    .elementor-icon-list-items {

        column-gap:
            22px !important;
    }

}


/* =========================================================
   SMALL DESKTOP <= 1200
========================================================= */

@media (max-width: 1200px) {

    .bestgen-mainheader {

        min-height:
            76px;

        padding:
            10px 24px;

        gap:
            20px;
    }


    .bestgen-logo {

        max-width:
            190px;
    }


    .bestgen-logo img {

        max-height:
            52px;
    }


    .bestgen-mainnav
    .elementor-icon-list-items {

        column-gap:
            17px;
    }


    .bestgen-header-cta
    .elementor-button {

        min-height:
            44px;

        padding:
            10px 18px !important;
    }


    /* Floating */

    .bestgen-mainheader-floating {

        min-height:
            76px !important;

        padding:
            10px 24px !important;

        gap:
            20px !important;
    }


    .bestgen-mainheader-floating
    .bestgen-logo {

        max-width:
            190px !important;
    }


    .bestgen-mainheader-floating
    .bestgen-logo img {

        max-height:
            52px !important;
    }


    .bestgen-mainheader-floating
    .bestgen-mainnav
    .elementor-icon-list-items {

        column-gap:
            17px !important;
    }


    .bestgen-mainheader-floating
    .bestgen-header-cta
    .elementor-button {

        min-height:
            44px !important;

        padding:
            10px 18px !important;
    }

}


/* =========================================================
   TABLET <= 1024
========================================================= */

@media (max-width: 1024px) {

    .bestgen-mainheader {

        min-height:
            72px;

        padding:
            10px 18px;

        gap:
            16px;
    }


    .bestgen-logo {

        max-width:
            165px;
    }


    .bestgen-logo img {

        max-height:
            48px;
    }


    .bestgen-mainnav
    .elementor-icon-list-items {

        column-gap:
            14px;
    }


    .bestgen-header-cta
    .elementor-button {

        padding:
            9px 14px !important;
    }


    /* Smart floating header desktop only */

    .bestgen-mainheader-floating {

        display:
            none !important;
    }

}


/* =========================================================
   MOBILE <= 767
========================================================= */

@media (max-width: 767px) {

    .bestgen-mainheader {

        min-height:
            68px;

        padding:
            10px 16px;
    }


    .bestgen-logo {

        max-width:
            160px;
    }


    .bestgen-logo img {

        max-height:
            46px;
    }


    .bestgen-mainnav {

        display:
            none !important;
    }


    .bestgen-header-cta {

        display:
            none !important;
    }

}


/* =========================================================
   FALLBACK WITHOUT BACKDROP-FILTER
========================================================= */

@supports not (
    (backdrop-filter: blur(10px)) or
    (-webkit-backdrop-filter: blur(10px))
) {

    .bestgen-mainheader-floating {

        background:
            rgba(153, 164, 148, .985) !important;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .bestgen-mainheader-floating {

        transition:
            none !important;
    }

}/* End custom CSS */
/* Start custom CSS *//* bestgen mobile header + hero v4 */
.elementor-location-header .bestgen-mainheader{position:relative}
.elementor-location-header .bestgen-phone a,.elementor-location-header .bestgen-phone a:hover,.elementor-location-header .bestgen-phone a:focus,.elementor-location-header .bestgen-phone .elementor-icon-list-text{text-decoration:none!important}
.elementor-location-header [data-id="77600cf5"]{display:none}
@media (max-width:767px){
.elementor-location-header .bestgen-mainheader{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:12px;padding:10px 16px!important;min-height:64px}
.elementor-location-header .bestgen-logo{flex:0 0 auto;width:auto!important;margin:0!important}
.elementor-location-header .bestgen-logo img{height:40px!important;width:auto!important}
.elementor-location-header [data-id="77600cf5"]{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;margin-left:auto;width:auto!important;position:static;padding:0}
.elementor-location-header [data-id="75f67716"]{display:block;flex:0 0 44px;box-sizing:border-box;width:44px;height:44px;padding:0!important;border:0;border-radius:50%;font-size:0!important;line-height:0;text-decoration:none!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%231C244B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/20px 20px no-repeat}
.elementor-location-header [data-id="8d05076"],.elementor-location-header [data-id="70e7dffe"]{position:static;flex:0 0 44px;padding:0;margin:0;background:none;border:0}
.elementor-location-header [data-id="2e2964f"]{display:block;box-sizing:border-box;list-style:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;cursor:pointer;background:linear-gradient(#1C244B,#1C244B) center calc(50% - 6px)/20px 2px no-repeat,linear-gradient(#1C244B,#1C244B) center/20px 2px no-repeat,linear-gradient(#1C244B,#1C244B) center calc(50% + 6px)/20px 2px no-repeat,#fff}
.elementor-location-header [data-id="2e2964f"]::-webkit-details-marker{display:none}
.elementor-location-header [data-id="70e7dffe"][open]>[data-id="2e2964f"]{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%231C244B' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center/20px 20px no-repeat}
.elementor-location-header [data-id="348cd6ab"]{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.elementor-location-header [data-id="4cbecf15"]{position:absolute;top:100%;left:0;right:0;z-index:99;box-sizing:border-box;padding:8px 20px 22px;background:#fff;box-shadow:0 24px 40px rgba(0,0,0,.14)}
.elementor-location-header [data-id="70e7dffe"][open]>[data-id="4cbecf15"]{display:flex;flex-direction:column}
.elementor-location-header [data-id="4cbecf15"] a{display:block;box-sizing:border-box;width:100%;padding:14px 4px!important;border:0;border-bottom:1px solid rgba(28,36,75,.1);border-radius:0;background:transparent!important;color:#1C244B!important;font-family:Poppins,sans-serif;font-size:17px;font-weight:500;line-height:1.3;text-align:left;text-decoration:none!important}
.elementor-location-header [data-id="4cbecf15"] a[data-id="5e404c81"]{margin-top:16px;padding:15px 20px!important;border:0;border-radius:6px;background:#8A9583!important;color:#fff!important;text-align:center}

/* einheitliche H1 */
body h1{font-size:clamp(28px,8.6vw,34px)!important;line-height:1.12!important;letter-spacing:-.01em!important;overflow-wrap:break-word;hyphens:auto}

/* Hero: dunkles neutrales Overlay, weisser Text, alles im ersten Screen */
.bestgen-hero{min-height:calc(100svh - 64px)!important;padding:28px 20px 32px!important;justify-content:center}
.bestgen-hero::after{background:rgba(8,10,9,.56)!important}
.bestgen-hero-content{gap:14px!important;padding:0!important;width:100%}
.bestgen-hero-kicker p,.bestgen-hero-kicker .elementor-heading-title{font-size:12px!important;letter-spacing:.14em!important;line-height:1.4!important;color:rgba(255,255,255,.88)!important}
.bestgen-hero h1,.bestgen-hero-title .elementor-heading-title{color:#fff!important}
.bestgen-hero-quote,.bestgen-hero-quote p{font-size:16px!important;line-height:1.5!important;color:rgba(255,255,255,.94)!important}
.bestgen-hero-list .elementor-icon-list-item{margin:0 0 6px!important}
.bestgen-hero-list .elementor-icon-list-text{font-size:14.5px!important;line-height:1.4!important;color:#fff!important}
.bestgen-hero-list .elementor-icon-list-icon i,.bestgen-hero-list .elementor-icon-list-icon svg{color:#fff!important;fill:#fff!important}
.bestgen-hero-actions{flex-direction:column!important;gap:10px!important;width:100%}
.bestgen-hero-btn,.bestgen-hero-btn .elementor-button{width:100%!important}
.bestgen-hero-btn .elementor-button{padding:14px 18px!important;font-size:15px!important;line-height:1.2!important;text-align:center}
.bestgen-hero-btn-secondary .elementor-button{background:transparent!important;border-color:rgba(255,255,255,.75)!important;color:#fff!important}
.bestgen-local-hero::before{background:rgba(8,10,9,.56)!important}
}
@media (max-width:767px) and (max-height:700px){
.bestgen-hero{padding:20px 20px 24px!important}
.bestgen-hero-content{gap:10px!important}
.bestgen-hero-quote,.bestgen-hero-quote p{font-size:15px!important;line-height:1.45!important}
.bestgen-hero-list .elementor-icon-list-text{font-size:13.5px!important}
}/* End custom CSS */