.elementor-1249 .elementor-element.elementor-element-d165d06{--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-1249 .elementor-element.elementor-element-d165d06:not(.elementor-motion-effects-element-type-background), .elementor-1249 .elementor-element.elementor-element-d165d06 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-1249 .elementor-element.elementor-element-6eb8b45{--display:flex;}.elementor-1249 .elementor-element.elementor-element-7d85180 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:18px;text-transform:uppercase;color:var( --e-global-color-71461e5 );}.elementor-1249 .elementor-element.elementor-element-e4bc711 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:4rem;color:var( --e-global-color-71461e5 );}.elementor-1249 .elementor-element.elementor-element-1d68e06{--display:flex;}.elementor-1249 .elementor-element.elementor-element-3cd15f5{--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-1249 .elementor-element.elementor-element-3cd15f5:not(.elementor-motion-effects-element-type-background), .elementor-1249 .elementor-element.elementor-element-3cd15f5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-1249 .elementor-element.elementor-element-8b1e505{--display:flex;}.elementor-1249 .elementor-element.elementor-element-0135f8f .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:18px;text-transform:uppercase;color:#000000;}.elementor-1249 .elementor-element.elementor-element-47bd90b .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:2rem;color:#000000;}.elementor-1249 .elementor-element.elementor-element-1626b63{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1249 .elementor-element.elementor-element-84f85f4{--display:flex;}.elementor-1249 .elementor-element.elementor-element-4b90073 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:600;}.elementor-1249 .elementor-element.elementor-element-7caa48d{font-family:"Poppins", Sans-serif;}.elementor-1249 .elementor-element.elementor-element-8d431e7{--display:flex;}.elementor-1249 .elementor-element.elementor-element-8201fce .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:600;}.elementor-1249 .elementor-element.elementor-element-b4e950d{font-family:"Poppins", Sans-serif;}.elementor-1249 .elementor-element.elementor-element-955a43a{--display:flex;}.elementor-1249 .elementor-element.elementor-element-70c5360 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:600;}.elementor-1249 .elementor-element.elementor-element-f1b904f{font-family:"Poppins", Sans-serif;}.elementor-1249 .elementor-element.elementor-element-65d11f8{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1249 .elementor-element.elementor-element-c069f0b{--display:flex;}:root{--page-title-display:none;}@media(max-width:1200px){.elementor-1249 .elementor-element.elementor-element-1626b63{--grid-auto-flow:row;}}@media(max-width:1024px){.elementor-1249 .elementor-element.elementor-element-1626b63{--grid-auto-flow:row;}}@media(max-width:880px){.elementor-1249 .elementor-element.elementor-element-1626b63{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-1249 .elementor-element.elementor-element-1626b63{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}@media(min-width:768px){.elementor-1249 .elementor-element.elementor-element-6eb8b45{--width:50%;}.elementor-1249 .elementor-element.elementor-element-1d68e06{--content-width:1400px;}.elementor-1249 .elementor-element.elementor-element-8b1e505{--width:70%;}.elementor-1249 .elementor-element.elementor-element-c069f0b{--width:37%;}}@media(min-width:2400px){.elementor-1249 .elementor-element.elementor-element-1d68e06{--content-width:1600px;}.elementor-1249 .elementor-element.elementor-element-1626b63{--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-d165d06 *//* =========================================================
   BESTGEN — VERMIETUNG HERO

   STRUCTURE:

   .bestgen-rent-hero
      .bestgen-rent-hero-main
         .bestgen-rent-hero-kicker
         .bestgen-rent-hero-title

      .bestgen-rent-hero-side
         .bestgen-rent-hero-intro
         .bestgen-rent-hero-actions
            .bestgen-rent-hero-btn

      .bestgen-rent-hero-media
         .bestgen-rent-hero-badge
            .bestgen-rent-hero-badge-title

   IMAGE:
   Set as background on .bestgen-rent-hero-media
   directly in Elementor.

   TYPOGRAPHY SIZE / COLORS:
   Elementor controlled.
========================================================= */


/* =========================================================
   OUTER HERO
========================================================= */

.bestgen-rent-hero {

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

    width:
        100% !important;

    max-width:
        none !important;

    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;

    display:
        grid !important;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(360px, 0.65fr);

    align-items:
        stretch !important;

    box-sizing:
        border-box !important;

    overflow:
        hidden;
}


/* =========================================================
   BOX SIZING
========================================================= */

.bestgen-rent-hero *,
.bestgen-rent-hero *::before,
.bestgen-rent-hero *::after {

    box-sizing:
        border-box;
}


/* =========================================================
   ELEMENTOR OUTER RESET
========================================================= */

.bestgen-rent-hero > .e-con-inner,
.bestgen-rent-hero.e-con-boxed > .e-con-inner {

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;
}


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

.bestgen-rent-hero-main {

    grid-column:
        1 / 2;

    width:
        100% !important;

    max-width:
        none !important;

    min-width:
        0 !important;

    margin:
        0 !important;

    padding-top:
        72px !important;

    padding-bottom:
        66px !important;

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

    padding-right:
        clamp(44px, 5vw, 90px) !important;

    --padding-top:
        72px !important;

    --padding-bottom:
        66px !important;

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

    --padding-right:
        clamp(44px, 5vw, 90px) !important;

    display:
        flex !important;

    flex-direction:
        column !important;

    align-items:
        flex-start !important;

    justify-content:
        center !important;

    text-align:
        left !important;
}


/* =========================================================
   LEFT INNER RESET
========================================================= */

.bestgen-rent-hero-main > .e-con-inner,
.bestgen-rent-hero-main.e-con-boxed > .e-con-inner {

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;
}


/* =========================================================
   KICKER
========================================================= */

.bestgen-rent-hero-kicker {

    width:
        100% !important;

    margin:
        0 0 14px 0 !important;

    text-align:
        left !important;
}


.bestgen-rent-hero-kicker
.elementor-widget-container {

    margin:
        0 !important;

    padding:
        0 !important;
}


.bestgen-rent-hero-kicker
.elementor-heading-title {

    margin:
        0 !important;

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

    text-align:
        left !important;
}


/* =========================================================
   MAIN TITLE
========================================================= */

.bestgen-rent-hero-title {

    width:
        100% !important;

    max-width:
        760px !important;

    margin:
        0 !important;

    text-align:
        left !important;
}


.bestgen-rent-hero-title
.elementor-widget-container {

    margin:
        0 !important;

    padding:
        0 !important;
}


.bestgen-rent-hero-title
.elementor-heading-title {

    margin:
        0 !important;

    font-family:
        "Playfair Display",
        Georgia,
        serif !important;

    text-align:
        left !important;
}


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

.bestgen-rent-hero-side {

    grid-column:
        2 / 3;

    width:
        100% !important;

    max-width:
        none !important;

    min-width:
        0 !important;

    margin:
        0 !important;

    padding-top:
        72px !important;

    padding-bottom:
        66px !important;

    padding-left:
        clamp(34px, 3vw, 58px) !important;

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

    --padding-top:
        72px !important;

    --padding-bottom:
        66px !important;

    --padding-left:
        clamp(34px, 3vw, 58px) !important;

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

    display:
        flex !important;

    flex-direction:
        column !important;

    align-items:
        flex-start !important;

    justify-content:
        center !important;

    text-align:
        left !important;
}


/* =========================================================
   RIGHT INNER RESET
========================================================= */

.bestgen-rent-hero-side > .e-con-inner,
.bestgen-rent-hero-side.e-con-boxed > .e-con-inner {

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;
}


/* =========================================================
   INTRO TEXT
========================================================= */

.bestgen-rent-hero-intro {

    width:
        100% !important;

    max-width:
        460px !important;

    margin:
        0 0 24px 0 !important;

    text-align:
        left !important;
}


.bestgen-rent-hero-intro
.elementor-widget-container {

    margin:
        0 !important;

    padding:
        0 !important;
}


.bestgen-rent-hero-intro p {

    margin-top:
        0;

    margin-bottom:
        0;

    font-family:
        "Poppins",
        Arial,
        sans-serif;
}


/* =========================================================
   ACTIONS
========================================================= */

.bestgen-rent-hero-actions {

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        0 !important;

    display:
        flex !important;

    flex-direction:
        row !important;

    justify-content:
        flex-start !important;

    align-items:
        center !important;
}


/* =========================================================
   BUTTON WIDGET
========================================================= */

.bestgen-rent-hero-btn {

    width:
        auto !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;

    flex:
        0 0 auto !important;
}


/* =========================================================
   BUTTON
========================================================= */

.bestgen-rent-hero-btn
.elementor-button {

    width:
        auto !important;

    min-height:
        50px !important;

    display:
        inline-flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    gap:
        10px !important;

    padding:
        13px 24px !important;

    border-radius:
        4px !important;

    background:
        #B77A2D !important;

    border:
        1px solid #B77A2D !important;

    color:
        #FFFFFF !important;

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

    text-decoration:
        none !important;

    box-shadow:
        none !important;

    transition:
        background-color 0.22s ease,
        border-color 0.22s ease,
        transform 0.22s ease;
}


.bestgen-rent-hero-btn
.elementor-button:hover {

    background:
        #A96F27 !important;

    border-color:
        #A96F27 !important;

    color:
        #FFFFFF !important;

    transform:
        translateY(-1px);
}


.bestgen-rent-hero-btn
.elementor-button-text {

    color:
        inherit !important;
}


/* =========================================================
   MEDIA / PHOTO
========================================================= */

.bestgen-rent-hero-media {

    position:
        relative !important;

    grid-column:
        1 / -1;

    width:
        100% !important;

    max-width:
        none !important;

    min-width:
        0 !important;

    min-height:
        500px;

    margin:
        0 !important;

    padding:
        0 !important;

    --padding-top:
        0px !important;

    --padding-right:
        0px !important;

    --padding-bottom:
        0px !important;

    --padding-left:
        0px !important;

    display:
        flex !important;

    flex-direction:
        column !important;

    align-items:
        flex-end !important;

    justify-content:
        flex-end !important;

    overflow:
        hidden !important;


    /*
       IMAGE / POSITION / SIZE:
       control in Elementor
    */
}


/* =========================================================
   MEDIA INNER RESET
========================================================= */

.bestgen-rent-hero-media > .e-con-inner,
.bestgen-rent-hero-media.e-con-boxed > .e-con-inner {

    width:
        100% !important;

    max-width:
        none !important;

    height:
        100% !important;

    min-height:
        inherit;

    margin:
        0 !important;

    padding:
        0 !important;

    display:
        flex !important;

    align-items:
        flex-end !important;

    justify-content:
        flex-end !important;
}


/* =========================================================
   GREEN BADGE
========================================================= */

.bestgen-rent-hero-badge {

    position:
        relative;

    z-index:
        2;

    width:
        auto !important;

    max-width:
        420px !important;

    min-width:
        320px;

    margin:
        0 !important;

    padding:
        26px 32px !important;

    --padding-top:
        26px !important;

    --padding-right:
        32px !important;

    --padding-bottom:
        26px !important;

    --padding-left:
        32px !important;

    background:
        #86917F;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        flex-start !important;

    text-align:
        left !important;
}


/* =========================================================
   BADGE INNER RESET
========================================================= */

.bestgen-rent-hero-badge > .e-con-inner,
.bestgen-rent-hero-badge.e-con-boxed > .e-con-inner {

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;
}


/* =========================================================
   BADGE TITLE
========================================================= */

.bestgen-rent-hero-badge-title {

    width:
        100% !important;

    margin:
        0 !important;

    text-align:
        left !important;
}


.bestgen-rent-hero-badge-title
.elementor-widget-container {

    margin:
        0 !important;

    padding:
        0 !important;
}


.bestgen-rent-hero-badge-title
.elementor-heading-title {

    margin:
        0 !important;

    font-family:
        "Playfair Display",
        Georgia,
        serif !important;

    color:
        #FFFFFF !important;

    text-align:
        left !important;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1693px) {

    .bestgen-rent-hero {

        --bestgen-rent-side:
            calc((100vw - 1600px) / 2);
    }


    .bestgen-rent-hero-media {

        min-height:
            540px;
    }

}


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

@media (max-width: 1400px) {

    .bestgen-rent-hero {

        --bestgen-rent-side:
            32px;

        grid-template-columns:
            minmax(0, 1.25fr)
            minmax(340px, 0.75fr);
    }


    .bestgen-rent-hero-main {

        padding-left:
            32px !important;

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


    .bestgen-rent-hero-side {

        padding-right:
            32px !important;

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


    .bestgen-rent-hero-media {

        min-height:
            470px;
    }

}


/* =========================================================
   <= 1100
========================================================= */

@media (max-width: 1100px) {

    .bestgen-rent-hero {

        --bestgen-rent-side:
            28px;

        grid-template-columns:
            minmax(0, 1.15fr)
            minmax(320px, 0.85fr);
    }


    .bestgen-rent-hero-main {

        padding:
            64px 40px 58px 28px !important;

        --padding-top:
            64px !important;

        --padding-right:
            40px !important;

        --padding-bottom:
            58px !important;

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


    .bestgen-rent-hero-side {

        padding:
            64px 28px 58px 30px !important;

        --padding-top:
            64px !important;

        --padding-right:
            28px !important;

        --padding-bottom:
            58px !important;

        --padding-left:
            30px !important;
    }


    .bestgen-rent-hero-media {

        min-height:
            430px;
    }


    .bestgen-rent-hero-badge {

        max-width:
            380px !important;

        min-width:
            290px;

        padding:
            23px 27px !important;
    }

}


/* =========================================================
   TABLET <= 850
========================================================= */

@media (max-width: 850px) {

    .bestgen-rent-hero {

        display:
            flex !important;

        flex-direction:
            column !important;
    }


    .bestgen-rent-hero-main {

        width:
            100% !important;

        padding:
            56px 28px 18px !important;

        --padding-top:
            56px !important;

        --padding-right:
            28px !important;

        --padding-bottom:
            18px !important;

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


    .bestgen-rent-hero-side {

        width:
            100% !important;

        padding:
            0 28px 48px !important;

        --padding-top:
            0px !important;

        --padding-right:
            28px !important;

        --padding-bottom:
            48px !important;

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


    .bestgen-rent-hero-intro {

        max-width:
            620px !important;
    }


    .bestgen-rent-hero-media {

        min-height:
            400px;
    }

}


/* =========================================================
   MOBILE <= 600
========================================================= */

@media (max-width: 600px) {

    .bestgen-rent-hero {

        --bestgen-rent-side:
            20px;
    }


    .bestgen-rent-hero-main {

        padding:
            48px 20px 16px !important;

        --padding-top:
            48px !important;

        --padding-right:
            20px !important;

        --padding-bottom:
            16px !important;

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


    .bestgen-rent-hero-side {

        padding:
            0 20px 40px !important;

        --padding-top:
            0px !important;

        --padding-right:
            20px !important;

        --padding-bottom:
            40px !important;

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


    .bestgen-rent-hero-actions,
    .bestgen-rent-hero-btn {

        width:
            100% !important;
    }


    .bestgen-rent-hero-btn
    .elementor-button {

        width:
            100% !important;
    }


    .bestgen-rent-hero-media {

        min-height:
            340px;
    }


    .bestgen-rent-hero-badge {

        width:
            calc(100% - 40px) !important;

        max-width:
            none !important;

        min-width:
            0;

        margin:
            0 20px 20px !important;

        padding:
            20px 22px !important;

        --padding-top:
            20px !important;

        --padding-right:
            22px !important;

        --padding-bottom:
            20px !important;

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

}


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

@media (max-width: 420px) {

    .bestgen-rent-hero {

        --bestgen-rent-side:
            16px;
    }


    .bestgen-rent-hero-main {

        padding-left:
            16px !important;

        padding-right:
            16px !important;

        --padding-left:
            16px !important;

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


    .bestgen-rent-hero-side {

        padding-left:
            16px !important;

        padding-right:
            16px !important;

        --padding-left:
            16px !important;

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


    .bestgen-rent-hero-media {

        min-height:
            310px;
    }


    .bestgen-rent-hero-badge {

        width:
            calc(100% - 32px) !important;

        margin:
            0 16px 16px !important;

        padding:
            18px !important;

        --padding-top:
            18px !important;

        --padding-right:
            18px !important;

        --padding-bottom:
            18px !important;

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

}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ca369ee *//* =========================================================
   BESTGEN CONTACT FORM — SUBMIT BUTTON
   защита от глобальных стилей Elementor / темы
========================================================= */

.bestgen-contact-form
.bestgen-contact-submit
button.bestgen-contact-button {
    -webkit-appearance: none !important;
    appearance: none !important;

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

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

    margin: 0 !important;
    padding: 15px 24px !important;

    background: #c3822b !important;
    background-color: #c3822b !important;
    background-image: none !important;

    color: #ffffff !important;

    border: 1px solid #c3822b !important;
    border-radius: 4px !important;

    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;

    box-shadow: none !important;
    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease !important;
}


/* HOVER */
.bestgen-contact-form
.bestgen-contact-submit
button.bestgen-contact-button:hover {
    background: #a96e21 !important;
    background-color: #a96e21 !important;

    color: #ffffff !important;

    border-color: #a96e21 !important;

    transform: translateY(-1px);
}


/* FOCUS / ACTIVE */
.bestgen-contact-form
.bestgen-contact-submit
button.bestgen-contact-button:focus,
.bestgen-contact-form
.bestgen-contact-submit
button.bestgen-contact-button:active {
    background: #a96e21 !important;
    background-color: #a96e21 !important;

    color: #ffffff !important;

    border-color: #a96e21 !important;
    outline: none !important;

    box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3cd15f5 *//* =========================================================
   BESTGEN — CONTACT
   FINAL FIXED VERSION

   STRUCTURE:

   .bestgen-contact
      .bestgen-contact-main
         .bestgen-contact-kicker
         .bestgen-contact-title
         .bestgen-contact-map

      .bestgen-contact-info-grid
         .bestgen-contact-info-card
            .bestgen-contact-info-title
            .bestgen-contact-info-text

      .bestgen-contact-actions
         .bestgen-contact-btn-primary
         .bestgen-contact-btn-secondary

      .bestgen-contact-form-wrap
         .bestgen-contact-form-html
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.bestgen-contact {

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

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

    box-sizing: border-box !important;

    margin: 0 !important;

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

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

    --padding-top: 64px !important;
    --padding-bottom: 64px !important;
    --padding-left: var(--bestgen-contact-side) !important;
    --padding-right: var(--bestgen-contact-side) !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(360px, 0.85fr);

    grid-template-rows:
        auto
        auto
        auto;

    column-gap:
        clamp(48px, 5vw, 80px);

    row-gap: 24px;

    align-items: start !important;

    /* Background задаёшь в Elementor */
}


/* =========================================================
   ELEMENTOR BOXED RESET
========================================================= */

.bestgen-contact > .e-con-inner,
.bestgen-contact.e-con-boxed > .e-con-inner {

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

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

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


/* =========================================================
   LEFT MAIN
========================================================= */

.bestgen-contact-main {

    grid-column: 1;
    grid-row: 1;

    width: 100% !important;
    min-width: 0 !important;

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

    align-items: flex-start !important;

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

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

    gap: 0 !important;
}


/* =========================================================
   KICKER
========================================================= */

.bestgen-contact-kicker {

    width: 100% !important;

    margin: 0 0 12px 0 !important;
}


.bestgen-contact-kicker
.elementor-heading-title {

    margin: 0 !important;
}


/* =========================================================
   TITLE
========================================================= */

.bestgen-contact-title {

    width: 100% !important;

    margin: 0 0 20px 0 !important;
}


.bestgen-contact-title
.elementor-heading-title {

    margin: 0 !important;
}


/* =========================================================
   GOOGLE MAP
========================================================= */

.bestgen-contact-map {

    width: 100% !important;

    margin: 0 !important;

    overflow: hidden;

    border-radius: 7px;
}


.bestgen-contact-map
.elementor-widget-container {

    width: 100% !important;

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

    overflow: hidden;

    border-radius: inherit;
}


.bestgen-contact-map
.elementor-custom-embed {

    width: 100% !important;

    height: 230px !important;
    min-height: 230px !important;

    overflow: hidden;

    border-radius: inherit;
}


.bestgen-contact-map iframe {

    display: block !important;

    width: 100% !important;

    height: 230px !important;
    min-height: 230px !important;

    margin: 0 !important;

    border: 0 !important;

    border-radius: inherit;
}


/* =========================================================
   INFO GRID

   EXTRA SPACE AFTER MAP
========================================================= */

.bestgen-contact-info-grid {

    grid-column: 1;
    grid-row: 2;

    width: 100% !important;
    min-width: 0 !important;

    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 24px !important;

    /*
       Вот дополнительный отступ после карты.
    */
    margin: 10px 0 0 0 !important;

    padding: 0 !important;

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


/* =========================================================
   INFO CARD
========================================================= */

.bestgen-contact-info-card {

    width: 100% !important;
    min-width: 0 !important;

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

    align-items: flex-start !important;

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

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

    gap: 0 !important;
}


/* =========================================================
   INFO TITLE
========================================================= */

.bestgen-contact-info-title {

    width: 100% !important;

    margin: 0 0 6px 0 !important;
}


.bestgen-contact-info-title
.elementor-heading-title {

    margin: 0 !important;
}


/* =========================================================
   INFO TEXT
========================================================= */

.bestgen-contact-info-text {

    width: 100% !important;

    margin: 0 !important;
}


.bestgen-contact-info-text
.elementor-widget-container {

    width: 100% !important;

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


.bestgen-contact-info-text p {

    margin-top: 0;
    margin-bottom: 3px;
}


.bestgen-contact-info-text p:last-child {

    margin-bottom: 0;
}


/* =========================================================
   CONTACT LINKS
   PHONE + EMAIL — CLEAN STYLE WITH ICONS
========================================================= */

/*
   ВАЖНО:
   Стили применяются только к телефону / email внутри info-grid.
   Поэтому кнопка "Jetzt anrufen" больше не попадает под эти правила.
*/

.bestgen-contact .bestgen-contact-info-grid a[href^="tel:"],
.bestgen-contact .bestgen-contact-info-grid a[href^="tel:"]:link,
.bestgen-contact .bestgen-contact-info-grid a[href^="tel:"]:visited,
.bestgen-contact .bestgen-contact-info-grid a[href^="tel:"]:focus,
.bestgen-contact .bestgen-contact-info-grid a[href^="tel:"]:active,
.bestgen-contact .bestgen-contact-info-grid a[href^="mailto:"],
.bestgen-contact .bestgen-contact-info-grid a[href^="mailto:"]:link,
.bestgen-contact .bestgen-contact-info-grid a[href^="mailto:"]:visited,
.bestgen-contact .bestgen-contact-info-grid a[href^="mailto:"]:focus,
.bestgen-contact .bestgen-contact-info-grid a[href^="mailto:"]:active {

    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;

    width: fit-content;
    max-width: 100%;

    color: #2F3631 !important;
    -webkit-text-fill-color: #2F3631 !important;

    text-decoration: none !important;
    text-decoration-line: none !important;

    font-weight: 500 !important;
    line-height: 1.45 !important;

    overflow-wrap: anywhere;

    transition:
        color 0.2s ease,
        opacity 0.2s ease;
}

.bestgen-contact .bestgen-contact-info-grid a[href^="tel:"]::before,
.bestgen-contact .bestgen-contact-info-grid a[href^="mailto:"]::before {

    flex: 0 0 28px;

    width: 28px;
    height: 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    border-radius: 50%;

    background: rgba(138, 149, 131, 0.12);
    border: 1px solid rgba(138, 149, 131, 0.28);

    color: #8A9583;
    -webkit-text-fill-color: #8A9583;

    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;

    text-decoration: none !important;
}

.bestgen-contact .bestgen-contact-info-grid a[href^="tel:"]::before {
    content: "\260E";
}

.bestgen-contact .bestgen-contact-info-grid a[href^="mailto:"]::before {
    content: "\2709";
}

.bestgen-contact .bestgen-contact-info-grid a[href^="tel:"]:hover,
.bestgen-contact .bestgen-contact-info-grid a[href^="mailto:"]:hover {

    color: #8A9583 !important;
    -webkit-text-fill-color: #8A9583 !important;

    text-decoration: none !important;
    opacity: 1 !important;
}


/* =========================================================
   BUTTON AREA
========================================================= */

.bestgen-contact-actions {

    grid-column: 1;
    grid-row: 3;

    width: 100% !important;

    display: flex !important;

    flex-direction: row !important;

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

    flex-wrap: wrap !important;

    gap: 12px !important;

    margin: 0 !important;
    padding: 0 0 2px 0 !important;

    overflow: visible !important;

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


/* =========================================================
   COMMON BUTTON
========================================================= */

.bestgen-contact-btn {

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

    flex: 0 0 auto !important;

    margin: 0 !important;

    overflow: visible !important;
}


.bestgen-contact-btn
.elementor-widget-container {

    width: auto !important;

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

    overflow: visible !important;
}


.bestgen-contact-btn
.elementor-button {

    width: auto !important;

    min-height: 46px !important;

    display: inline-flex !important;

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

    padding:
        12px 22px !important;

    border-radius:
        5px !important;

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

    font-size:
        14px !important;

    font-weight:
        500 !important;

    line-height:
        1.2 !important;

    text-decoration:
        none !important;

    box-shadow:
        none !important;

    transition:
        background-color 0.22s ease,
        border-color 0.22s ease,
        color 0.22s ease,
        transform 0.22s ease;
}


/* =========================================================
   PRIMARY BUTTON
   Jetzt anrufen
========================================================= */

.bestgen-contact-btn-primary
.elementor-button {

    background:
        #B77A2D !important;

    border:
        1px solid #B77A2D !important;

    color:
        #FFFFFF !important;
}


.bestgen-contact-btn-primary
.elementor-button .elementor-button-text {

    color:
        #FFFFFF !important;
}


.bestgen-contact-btn-primary
.elementor-button:hover {

    background:
        #A96E27 !important;

    border-color:
        #A96E27 !important;

    color:
        #FFFFFF !important;

    transform:
        translateY(-1px);
}


/* =========================================================
   SECONDARY BUTTON
   WhatsApp — BRAND GREEN, NO BLUE
========================================================= */

.bestgen-contact .bestgen-contact-btn-secondary .elementor-button,
.bestgen-contact .bestgen-contact-btn-secondary .elementor-button:link,
.bestgen-contact .bestgen-contact-btn-secondary .elementor-button:visited,
.bestgen-contact .bestgen-contact-btn-secondary .elementor-button:focus,
.bestgen-contact .bestgen-contact-btn-secondary .elementor-button:active {

    background: transparent !important;

    border: 1px solid #8A9583 !important;

    color: #596354 !important;
    -webkit-text-fill-color: #596354 !important;

    outline: none !important;
    box-shadow: none !important;
}

.bestgen-contact .bestgen-contact-btn-secondary .elementor-button .elementor-button-text,
.bestgen-contact .bestgen-contact-btn-secondary .elementor-button:link .elementor-button-text,
.bestgen-contact .bestgen-contact-btn-secondary .elementor-button:visited .elementor-button-text,
.bestgen-contact .bestgen-contact-btn-secondary .elementor-button:focus .elementor-button-text,
.bestgen-contact .bestgen-contact-btn-secondary .elementor-button:active .elementor-button-text {

    color: #596354 !important;
    -webkit-text-fill-color: #596354 !important;
}

.bestgen-contact .bestgen-contact-btn-secondary .elementor-button:hover {

    background: #8A9583 !important;

    border: 1px solid #8A9583 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    transform: translateY(-1px);
}

.bestgen-contact .bestgen-contact-btn-secondary .elementor-button:hover .elementor-button-text {

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

.bestgen-contact .bestgen-contact-btn-secondary .elementor-button:focus-visible {

    outline: none !important;

    box-shadow:
        0 0 0 3px rgba(138, 149, 131, 0.16) !important;
}


/* =========================================================
   BUTTON LINK STATES
   NO UNDERLINE — BUT KEEP THE BUTTON BORDER
========================================================= */

.bestgen-contact .bestgen-contact-btn .elementor-button,
.bestgen-contact .bestgen-contact-btn .elementor-button:link,
.bestgen-contact .bestgen-contact-btn .elementor-button:visited,
.bestgen-contact .bestgen-contact-btn .elementor-button:hover,
.bestgen-contact .bestgen-contact-btn .elementor-button:focus,
.bestgen-contact .bestgen-contact-btn .elementor-button:active,
.bestgen-contact .bestgen-contact-btn .elementor-button .elementor-button-content-wrapper,
.bestgen-contact .bestgen-contact-btn .elementor-button .elementor-button-text,
.bestgen-contact .bestgen-contact-btn .elementor-button:hover .elementor-button-text,
.bestgen-contact .bestgen-contact-btn .elementor-button:focus .elementor-button-text,
.bestgen-contact .bestgen-contact-btn .elementor-button:active .elementor-button-text {

    text-decoration: none !important;
    text-decoration-line: none !important;
}


/* =========================================================
   RIGHT FORM WRAPPER
========================================================= */

.bestgen-contact-form-wrap {

    grid-column: 2;

    grid-row:
        1 / span 3;

    width: 100% !important;
    min-width: 0 !important;

    align-self: start;

    margin: 0 !important;

    padding:
        28px !important;

    --padding-top:
        28px !important;

    --padding-right:
        28px !important;

    --padding-bottom:
        28px !important;

    --padding-left:
        28px !important;

    border-radius:
        9px;

    box-shadow:
        0 16px 38px
        rgba(30, 36, 30, 0.07);

    /* Background = Elementor */
}


/* =========================================================
   FORM HTML
========================================================= */

.bestgen-contact-form-html {

    width: 100% !important;

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


.bestgen-contact-form-html
.elementor-widget-container {

    width: 100% !important;

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


/* =========================================================
   FORM ROOT
========================================================= */

.bestgen-contact-form {

    width: 100%;

    margin: 0;
    padding: 0;

    box-sizing: border-box;
}


/* =========================================================
   FORM HEADER
========================================================= */

.bestgen-contact-form-head {

    width: 100%;

    margin:
        0 0 18px 0;
}


.bestgen-contact-form-title {

    margin:
        0 0 7px 0;

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size:
        23px;

    font-weight:
        600;

    line-height:
        1.3;

    color:
        #17242E;
}


.bestgen-contact-form-intro {

    margin: 0;

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size:
        14px;

    font-weight:
        400;

    line-height:
        1.55;

    color:
        #74756F;
}


/* =========================================================
   FORM FIELDS
========================================================= */

.bestgen-contact-form-fields {

    width: 100%;

    display: flex;

    flex-direction: column;

    gap: 12px;

    margin: 0;
    padding: 0;
}


/* =========================================================
   FIELD
========================================================= */

.bestgen-contact-field {

    position: relative;

    width: 100%;

    margin: 0;
}


/* =========================================================
   ACCESSIBLE LABEL
========================================================= */




/* =========================================================
   INPUT / SELECT / TEXTAREA
========================================================= */

.bestgen-contact-input {

    width: 100%;

    box-sizing: border-box;

    min-height:
        46px;

    padding:
        11px
        14px;

    border:
        1px solid #D6CFC3;

    border-radius:
        6px;

    outline: none;

    background:
        transparent;

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size:
        14px;

    font-weight:
        400;

    line-height:
        1.4;

    color:
        #303530;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


.bestgen-contact-input::placeholder {

    color:
        #888A85;

    opacity: 1;
}


.bestgen-contact-input:focus {

    border-color:
        #8A9583;

    box-shadow:
        0 0 0 3px
        rgba(138, 149, 131, 0.10);
}


/* =========================================================
   SELECT
========================================================= */

.bestgen-contact-select {

    appearance: none;
    -webkit-appearance: none;

    cursor: pointer;

    padding-right:
        42px;

    background-image:
        linear-gradient(
            45deg,
            transparent 50%,
            #777 50%
        ),
        linear-gradient(
            135deg,
            #777 50%,
            transparent 50%
        );

    background-position:
        calc(100% - 18px) 50%,
        calc(100% - 13px) 50%;

    background-size:
        5px 5px,
        5px 5px;

    background-repeat:
        no-repeat;
}


/* =========================================================
   TEXTAREA
========================================================= */

.bestgen-contact-textarea {

    min-height:
        88px;

    resize:
        vertical;
}


/* =========================================================
   FORM SUBMIT
========================================================= */

.bestgen-contact-submit {

    width: 100%;

    margin: 0;
}


.bestgen-contact-button {

    width: 100%;

    min-height:
        46px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    box-sizing:
        border-box;

    padding:
        11px 20px;

    border:
        0;

    border-radius:
        5px;

    cursor:
        pointer;

    background:
        #B77A2D;

    color:
        #FFFFFF;

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size:
        14px;

    font-weight:
        600;

    transition:
        transform 0.22s ease,
        background-color 0.22s ease;
}


.bestgen-contact-button:hover {

    background:
        #A96E27;

    transform:
        translateY(-1px);
}


/* =========================================================
   PRIVACY
========================================================= */

.bestgen-contact-privacy {

    margin:
        1px 0 0 0 !important;

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size:
        11px;

    font-weight:
        400;

    line-height:
        1.5;

    color:
        #929089;
}


/* Privacy link also not red */

.bestgen-contact-privacy a,
.bestgen-contact-privacy a:link,
.bestgen-contact-privacy a:visited,
.bestgen-contact-privacy a:hover,
.bestgen-contact-privacy a:focus,
.bestgen-contact-privacy a:active {

    color:
        #777872 !important;

    -webkit-text-fill-color:
        #777872 !important;

    text-decoration:
        underline !important;

    text-underline-offset:
        2px;
}


/* =========================================================
   SAFETY
========================================================= */

.bestgen-contact *,
.bestgen-contact *::before,
.bestgen-contact *::after {

    box-sizing:
        border-box;
}


/* =========================================================
   ULTRA WIDE
========================================================= */

@media (min-width: 1693px) {

    .bestgen-contact {

        --bestgen-contact-side:
            calc((100vw - 1600px) / 2);
    }

}


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

@media (max-width: 1400px) {

    .bestgen-contact {

        --bestgen-contact-side:
            32px;

        --padding-left:
            32px !important;

        --padding-right:
            32px !important;

        grid-template-columns:
            minmax(0, 1.45fr)
            minmax(340px, 0.85fr);

        column-gap:
            44px;
    }


    .bestgen-contact-form-wrap {

        padding:
            25px !important;

        --padding-top:
            25px !important;

        --padding-right:
            25px !important;

        --padding-bottom:
            25px !important;

        --padding-left:
            25px !important;
    }

}


/* =========================================================
   <= 1100
========================================================= */

@media (max-width: 1100px) {

    .bestgen-contact {

        grid-template-columns:
            minmax(0, 1.2fr)
            minmax(320px, 0.8fr);

        column-gap:
            32px;
    }


    .bestgen-contact-info-grid {

        gap:
            18px !important;
    }


    .bestgen-contact-map iframe,
    .bestgen-contact-map .elementor-custom-embed {

        height:
            220px !important;

        min-height:
            220px !important;
    }

}


/* =========================================================
   TABLET <= 900
========================================================= */

@media (max-width: 900px) {

    .bestgen-contact {

        display:
            flex !important;

        flex-direction:
            column !important;

        align-items:
            stretch !important;

        gap:
            26px;
    }


    .bestgen-contact-main,
    .bestgen-contact-info-grid,
    .bestgen-contact-actions,
    .bestgen-contact-form-wrap {

        width:
            100% !important;
    }


    .bestgen-contact-info-grid {

        margin-top:
            0 !important;
    }


    .bestgen-contact-form-wrap {

        max-width:
            650px;
    }

}


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

@media (max-width: 767px) {

    .bestgen-contact {

        --bestgen-contact-side:
            20px;

        --padding-left:
            20px !important;

        --padding-right:
            20px !important;

        padding-top:
            48px !important;

        padding-bottom:
            48px !important;

        --padding-top:
            48px !important;

        --padding-bottom:
            48px !important;

        gap:
            22px;
    }


    .bestgen-contact-title {

        margin-bottom:
            20px !important;
    }


    .bestgen-contact-map iframe,
    .bestgen-contact-map .elementor-custom-embed {

        height:
            220px !important;

        min-height:
            220px !important;
    }


    /* Infos stack */

    .bestgen-contact-info-grid {

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

        gap:
            17px !important;

        margin-top:
            4px !important;
    }


    /* Buttons */

    .bestgen-contact-actions {

        flex-direction:
            column !important;

        align-items:
            stretch !important;

        gap:
            10px !important;
    }


    .bestgen-contact-btn,
    .bestgen-contact-btn
    .elementor-widget-container,
    .bestgen-contact-btn
    .elementor-button {

        width:
            100% !important;
    }


    /* Form */

    .bestgen-contact-form-wrap {

        max-width:
            none;

        padding:
            22px !important;

        --padding-top:
            22px !important;

        --padding-right:
            22px !important;

        --padding-bottom:
            22px !important;

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

}


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

@media (max-width: 420px) {

    .bestgen-contact {

        --bestgen-contact-side:
            16px;

        --padding-left:
            16px !important;

        --padding-right:
            16px !important;

        padding-top:
            44px !important;

        padding-bottom:
            44px !important;

        --padding-top:
            44px !important;

        --padding-bottom:
            44px !important;
    }


    .bestgen-contact-form-wrap {

        padding:
            18px !important;

        --padding-top:
            18px !important;

        --padding-right:
            18px !important;

        --padding-bottom:
            18px !important;

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

}

/* =========================================================
   FINAL SAFEGUARD
   Elementor / theme must not underline button text
========================================================= */

.bestgen-contact .bestgen-contact-btn a.elementor-button,
.bestgen-contact .bestgen-contact-btn a.elementor-button:link,
.bestgen-contact .bestgen-contact-btn a.elementor-button:visited,
.bestgen-contact .bestgen-contact-btn a.elementor-button:hover,
.bestgen-contact .bestgen-contact-btn a.elementor-button:focus,
.bestgen-contact .bestgen-contact-btn a.elementor-button:active,
.bestgen-contact .bestgen-contact-btn a.elementor-button *,
.bestgen-contact .bestgen-contact-btn a.elementor-button:hover *,
.bestgen-contact .bestgen-contact-btn a.elementor-button:focus *,
.bestgen-contact .bestgen-contact-btn a.elementor-button:active * {

    text-decoration: none !important;
    text-decoration-line: none !important;
}

/* Secondary button: always preserve all four borders. */
.bestgen-contact .bestgen-contact-btn-secondary a.elementor-button,
.bestgen-contact .bestgen-contact-btn-secondary a.elementor-button:link,
.bestgen-contact .bestgen-contact-btn-secondary a.elementor-button:visited,
.bestgen-contact .bestgen-contact-btn-secondary a.elementor-button:focus,
.bestgen-contact .bestgen-contact-btn-secondary a.elementor-button:active {

    border-top: 1px solid #8A9583 !important;
    border-right: 1px solid #8A9583 !important;
    border-bottom: 1px solid #8A9583 !important;
    border-left: 1px solid #8A9583 !important;
}/* End custom CSS */