.elementor-584 .elementor-element.elementor-element-c16fe8a{--display:flex;--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;}.elementor-584 .elementor-element.elementor-element-59f9c4b{--display:flex;--min-height:100vh;}.elementor-584 .elementor-element.elementor-element-59f9c4b:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-59f9c4b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.bestgen-immobilien.de/wp-content/uploads/2026/09/bestgen_main.webp");background-position:top right;background-repeat:no-repeat;background-size:contain;}.elementor-584 .elementor-element.elementor-element-8d4e734{--display:flex;}.elementor-584 .elementor-element.elementor-element-9991bd1 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;text-transform:uppercase;color:var( --e-global-color-edd9f30 );}.elementor-584 .elementor-element.elementor-element-23e905d .elementor-heading-title{font-family:"Playfair Display","Playfair Display Fallback", Sans-serif;font-size:4rem;color:var( --e-global-color-edd9f30 );}.elementor-584 .elementor-element.elementor-element-91076fa{font-family:"Playfair Display","Playfair Display Fallback", Sans-serif;font-size:1.6rem;font-style:italic;color:#EFE9E9;}.elementor-584 .elementor-element.elementor-element-cf763a2 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(10px/2);}.elementor-584 .elementor-element.elementor-element-cf763a2 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(10px/2);}.elementor-584 .elementor-element.elementor-element-cf763a2 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(10px/2);}.elementor-584 .elementor-element.elementor-element-cf763a2 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-10px/2);}.elementor-584 .elementor-element.elementor-element-cf763a2 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-10px/2);}.elementor-584 .elementor-element.elementor-element-cf763a2 .elementor-icon-list-icon i{color:var( --e-global-color-e5e5cb3 );transition:color 0.3s;}.elementor-584 .elementor-element.elementor-element-cf763a2 .elementor-icon-list-icon svg{fill:var( --e-global-color-e5e5cb3 );transition:fill 0.3s;}.elementor-584 .elementor-element.elementor-element-cf763a2{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-584 .elementor-element.elementor-element-cf763a2 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-584 .elementor-element.elementor-element-cf763a2 .elementor-icon-list-item > a{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;}.elementor-584 .elementor-element.elementor-element-cf763a2 .elementor-icon-list-text{color:var( --e-global-color-edd9f30 );transition:color 0.3s;}.elementor-584 .elementor-element.elementor-element-be31824{--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-584 .elementor-element.elementor-element-2c9488e{--display:flex;--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;}.elementor-584 .elementor-element.elementor-element-4bb6909{--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-584 .elementor-element.elementor-element-4a43d4d{--display:flex;}.elementor-584 .elementor-element.elementor-element-958fbf6 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;text-transform:uppercase;color:#000000;}.elementor-584 .elementor-element.elementor-element-21fbbcf .elementor-heading-title{font-family:"Playfair Display","Playfair Display Fallback", Sans-serif;font-size:2rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-1c861f7{--display:flex;--justify-content:center;}.elementor-584 .elementor-element.elementor-element-000d69b{text-align:start;font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-f0d7acd{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-a31f945{--display:flex;}.elementor-584 .elementor-element.elementor-element-a31f945:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-a31f945 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-7ad4b41 .elementor-icon-wrapper{text-align:start;}.elementor-584 .elementor-element.elementor-element-7ad4b41.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-7ad4b41.elementor-view-framed .elementor-icon, .elementor-584 .elementor-element.elementor-element-7ad4b41.elementor-view-default .elementor-icon{color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-7ad4b41.elementor-view-framed .elementor-icon, .elementor-584 .elementor-element.elementor-element-7ad4b41.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-d89320b .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-ca7405e{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-1fa6a2c{--display:flex;}.elementor-584 .elementor-element.elementor-element-1fa6a2c:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-1fa6a2c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-226d368 .elementor-icon-wrapper{text-align:start;}.elementor-584 .elementor-element.elementor-element-60c4662 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-021c74e{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-c13e93e{--display:flex;}.elementor-584 .elementor-element.elementor-element-c13e93e:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-c13e93e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-b582808 .elementor-icon-wrapper{text-align:start;}.elementor-584 .elementor-element.elementor-element-a3cbbbe .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-2c587e3{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-e429afb{--display:flex;}.elementor-584 .elementor-element.elementor-element-e429afb:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-e429afb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-eccfc39 .elementor-icon-wrapper{text-align:start;}.elementor-584 .elementor-element.elementor-element-e1b83ee .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-eafa0c3{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-e0e6ee0{--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-584 .elementor-element.elementor-element-e0e6ee0:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-e0e6ee0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6F4F0;}.elementor-584 .elementor-element.elementor-element-a2df5af{--display:flex;}.elementor-584 .elementor-element.elementor-element-f70026c .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;text-transform:uppercase;color:#000000;}.elementor-584 .elementor-element.elementor-element-71af382{font-family:"Playfair Display","Playfair Display Fallback", Sans-serif;font-size:1.6rem;font-style:italic;color:#000000;}.elementor-584 .elementor-element.elementor-element-458c4fd .elementor-heading-title{font-family:"Playfair Display","Playfair Display Fallback", Sans-serif;font-size:2rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-75fa8e0 .elementor-button{font-family:"Poppins","Poppins Fallback", Sans-serif;}.elementor-584 .elementor-element.elementor-element-58cc041{--display:flex;}.elementor-584 .elementor-element.elementor-element-e058406 img{max-width:100%;}.elementor-584 .elementor-element.elementor-element-31590ef{text-align:end;}.elementor-584 .elementor-element.elementor-element-70ae291{--display:flex;--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;}.elementor-584 .elementor-element.elementor-element-e21aa39{--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;--align-items:flex-start;}.elementor-584 .elementor-element.elementor-element-1fb7ed8{--display:flex;--justify-content:flex-start;}.elementor-584 .elementor-element.elementor-element-ae9cfa5 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;text-transform:uppercase;color:#000000;}.elementor-584 .elementor-element.elementor-element-e481863 .elementor-heading-title{font-family:"Playfair Display","Playfair Display Fallback", Sans-serif;font-size:2rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-8247f29{--display:flex;--justify-content:center;}.elementor-584 .elementor-element.elementor-element-7a6d1fe{text-align:start;font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-a236588{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-de0a2de{--display:flex;}.elementor-584 .elementor-element.elementor-element-de0a2de:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-de0a2de > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-4a4ed90 );}.elementor-584 .elementor-element.elementor-element-edd3e22 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;}.elementor-584 .elementor-element.elementor-element-050f2af .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;}.elementor-584 .elementor-element.elementor-element-e681dcd{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-7a1f6fd{--display:flex;}.elementor-584 .elementor-element.elementor-element-7a1f6fd:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-7a1f6fd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-4192c93 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-37400d5{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-4931f6d{--display:flex;}.elementor-584 .elementor-element.elementor-element-4931f6d:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-4931f6d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-0abd075 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-30b3d28{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-e5724a9{--display:flex;}.elementor-584 .elementor-element.elementor-element-e5724a9:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-e5724a9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-951606d .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-78e3753{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-c400243{--display:flex;}.elementor-584 .elementor-element.elementor-element-c400243:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-c400243 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-7d5a23c .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;}.elementor-584 .elementor-element.elementor-element-97d5863{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-683e0ae{--display:flex;}.elementor-584 .elementor-element.elementor-element-683e0ae:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-683e0ae > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-a14ada5 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;}.elementor-584 .elementor-element.elementor-element-ca649cb{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-f037781{--display:flex;}.elementor-584 .elementor-element.elementor-element-f037781:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-f037781 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-3c7380c .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;}.elementor-584 .elementor-element.elementor-element-48fe4f2{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-72f257a{--display:flex;}.elementor-584 .elementor-element.elementor-element-72f257a:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-72f257a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-73d838e .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-55d3e48{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-15590aa{--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;--align-items:center;}.elementor-584 .elementor-element.elementor-element-f784465 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:12px;}.elementor-584 .elementor-element.elementor-element-f404b92 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-584 .elementor-element.elementor-element-f404b92 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-584 .elementor-element.elementor-element-f404b92{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-584 .elementor-element.elementor-element-f404b92 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-584 .elementor-element.elementor-element-f404b92 .elementor-icon-list-item > a{font-family:"Poppins","Poppins Fallback", Sans-serif;}.elementor-584 .elementor-element.elementor-element-f404b92 .elementor-icon-list-text{transition:color 0.3s;}.elementor-584 .elementor-element.elementor-element-381c5f6 .elementor-button{font-family:"Poppins","Poppins Fallback", Sans-serif;}.elementor-584 .elementor-element.elementor-element-1f4e732{--display:flex;--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;}.elementor-584 .elementor-element.elementor-element-1f4e732:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-1f4e732 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-4c9a9b3{--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-584 .elementor-element.elementor-element-ffe18c5{--display:flex;}.elementor-584 .elementor-element.elementor-element-13aabca .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;text-transform:uppercase;color:#000000;}.elementor-584 .elementor-element.elementor-element-c23d359 .elementor-heading-title{font-family:"Playfair Display","Playfair Display Fallback", Sans-serif;font-size:2rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-9cdee44{text-align:start;font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-ee36f0f{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-44bf72e{--display:flex;}.elementor-584 .elementor-element.elementor-element-44bf72e:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-44bf72e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-584 .elementor-element.elementor-element-0574e25 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;}.elementor-584 .elementor-element.elementor-element-c1842f1{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-aeb230f{--display:flex;}.elementor-584 .elementor-element.elementor-element-aeb230f:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-aeb230f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-584 .elementor-element.elementor-element-24aed05 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-86b6a5d{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-ebfc7b9{--display:flex;}.elementor-584 .elementor-element.elementor-element-ebfc7b9:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-ebfc7b9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-584 .elementor-element.elementor-element-3f3ce22 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;}.elementor-584 .elementor-element.elementor-element-c344893{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-44c657a{--display:flex;}.elementor-584 .elementor-element.elementor-element-44c657a:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-44c657a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-584 .elementor-element.elementor-element-f55f641 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.3rem;}.elementor-584 .elementor-element.elementor-element-a862fd9{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;color:var( --e-global-color-text );}.elementor-584 .elementor-element.elementor-element-e1700fe{--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-584 .elementor-element.elementor-element-e1700fe:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-e1700fe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-4a4ed90 );}.elementor-584 .elementor-element.elementor-element-b378dcc{--display:flex;}.elementor-584 .elementor-element.elementor-element-47c0c3a{--display:flex;}.elementor-584 .elementor-element.elementor-element-8988d76 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;text-transform:uppercase;color:#FFFFFF;}.elementor-584 .elementor-element.elementor-element-85229e1 .elementor-heading-title{font-family:"Playfair Display","Playfair Display Fallback", Sans-serif;font-size:2rem;color:#FFFFFF;}.elementor-584 .elementor-element.elementor-element-5472f93{width:var( --container-widget-width, 35% );max-width:35%;--container-widget-width:35%;--container-widget-flex-grow:0;color:#FFFFFF;}.elementor-584 .elementor-element.elementor-element-b9c48c8{--display:flex;}.elementor-584 .elementor-element.elementor-element-f4f2a4a{--display:flex;}.elementor-584 .elementor-element.elementor-element-fec3734.elementor-element{--align-self:center;}.elementor-584 .elementor-element.elementor-element-fec3734{text-align:center;}.elementor-584 .elementor-element.elementor-element-fec3734 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;text-transform:uppercase;color:#000000;}.elementor-584 .elementor-element.elementor-element-64dbf74{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;font-family:"Playfair Display","Playfair Display Fallback", Sans-serif;font-size:1.6rem;font-style:italic;color:#000000;}.elementor-584 .elementor-element.elementor-element-1a35168{--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-584 .elementor-element.elementor-element-01177d0{--display:flex;}.elementor-584 .elementor-element.elementor-element-714ed71 .elementor-image-box-wrapper{text-align:center;}.elementor-584 .elementor-element.elementor-element-714ed71.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-584 .elementor-element.elementor-element-714ed71.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-584 .elementor-element.elementor-element-714ed71.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-584 .elementor-element.elementor-element-714ed71 .elementor-image-box-wrapper .elementor-image-box-img{width:100%;}.elementor-584 .elementor-element.elementor-element-714ed71 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-584 .elementor-element.elementor-element-714ed71 .elementor-image-box-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.523rem;}.elementor-584 .elementor-element.elementor-element-714ed71 .elementor-image-box-description{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;}.elementor-584 .elementor-element.elementor-element-6f22321{--display:flex;}.elementor-584 .elementor-element.elementor-element-6b26678 .elementor-image-box-wrapper{text-align:start;}.elementor-584 .elementor-element.elementor-element-6b26678.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-584 .elementor-element.elementor-element-6b26678.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-584 .elementor-element.elementor-element-6b26678.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-584 .elementor-element.elementor-element-6b26678 .elementor-image-box-wrapper .elementor-image-box-img{width:100%;}.elementor-584 .elementor-element.elementor-element-6b26678 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-584 .elementor-element.elementor-element-6b26678 .elementor-image-box-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:1.523rem;}.elementor-584 .elementor-element.elementor-element-6b26678 .elementor-image-box-description{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;}.elementor-584 .elementor-element.elementor-element-f3526fb > .elementor-widget-container{margin:26px 0px 0px 0px;}.elementor-584 .elementor-element.elementor-element-840ec70{--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-584 .elementor-element.elementor-element-840ec70:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-840ec70 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-c44458b{--display:flex;}.elementor-584 .elementor-element.elementor-element-bc0e977{--display:flex;}.elementor-584 .elementor-element.elementor-element-d05e57b{--display:flex;}.elementor-584 .elementor-element.elementor-element-d56457a.elementor-element{--align-self:center;}.elementor-584 .elementor-element.elementor-element-d56457a{text-align:center;}.elementor-584 .elementor-element.elementor-element-d56457a .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;text-transform:uppercase;color:#000000;}.elementor-584 .elementor-element.elementor-element-337e1ba > .elementor-widget-container{padding:20px 0px 0px 0px;}.elementor-584 .elementor-element.elementor-element-337e1ba{text-align:center;}.elementor-584 .elementor-element.elementor-element-337e1ba .elementor-heading-title{font-family:"Playfair Display","Playfair Display Fallback", Sans-serif;font-size:2rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-d87f7e0 > .elementor-widget-container{padding:40px 0px 0px 0px;}.elementor-584 .elementor-element.elementor-element-c7bd25a{--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-584 .elementor-element.elementor-element-c7bd25a:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-c7bd25a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5e5cb3 );}.elementor-584 .elementor-element.elementor-element-630cc59{--display:flex;}.elementor-584 .elementor-element.elementor-element-823129b .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:18px;text-transform:uppercase;color:#000000;}.elementor-584 .elementor-element.elementor-element-5a05d03 .elementor-heading-title{font-family:"Playfair Display","Playfair Display Fallback", Sans-serif;font-size:2rem;color:#000000;}.elementor-584 .elementor-element.elementor-element-fec6ed0{--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-584 .elementor-element.elementor-element-c36de0d{--display:flex;}.elementor-584 .elementor-element.elementor-element-27efaf0 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;font-weight:600;}.elementor-584 .elementor-element.elementor-element-2c52b55{font-family:"Poppins","Poppins Fallback", Sans-serif;}.elementor-584 .elementor-element.elementor-element-4f81448{--display:flex;}.elementor-584 .elementor-element.elementor-element-16e9e5f .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;font-weight:600;}.elementor-584 .elementor-element.elementor-element-0264e35{font-family:"Poppins","Poppins Fallback", Sans-serif;}.elementor-584 .elementor-element.elementor-element-92cebe5{--display:flex;}.elementor-584 .elementor-element.elementor-element-0a27603 .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:16px;font-weight:600;}.elementor-584 .elementor-element.elementor-element-8efb908{font-family:"Poppins","Poppins Fallback", Sans-serif;}.elementor-584 .elementor-element.elementor-element-50d26f5{--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-584 .elementor-element.elementor-element-a1ca060{--display:flex;}:root{--page-title-display:none;}@media(max-width:1200px){.elementor-584 .elementor-element.elementor-element-59f9c4b:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-59f9c4b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-repeat:no-repeat;background-size:cover;}.elementor-584 .elementor-element.elementor-element-f0d7acd{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-a236588{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-ee36f0f{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-fec6ed0{--grid-auto-flow:row;}}@media(max-width:1024px){.elementor-584 .elementor-element.elementor-element-f0d7acd{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-a236588{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-ee36f0f{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-fec6ed0{--grid-auto-flow:row;}}@media(max-width:880px){.elementor-584 .elementor-element.elementor-element-f0d7acd{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-a236588{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-ee36f0f{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-fec6ed0{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-584 .elementor-element.elementor-element-f0d7acd{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-a236588{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-ee36f0f{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-5472f93{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-584 .elementor-element.elementor-element-714ed71 .elementor-image-box-img{margin-bottom:15px;}.elementor-584 .elementor-element.elementor-element-6b26678 .elementor-image-box-img{margin-bottom:15px;}.elementor-584 .elementor-element.elementor-element-fec6ed0{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}@media(min-width:768px){.elementor-584 .elementor-element.elementor-element-8d4e734{--width:100%;}.elementor-584 .elementor-element.elementor-element-4a43d4d{--width:50%;}.elementor-584 .elementor-element.elementor-element-1c861f7{--width:50%;}.elementor-584 .elementor-element.elementor-element-a2df5af{--width:50%;}.elementor-584 .elementor-element.elementor-element-58cc041{--width:50%;}.elementor-584 .elementor-element.elementor-element-1fb7ed8{--width:50%;}.elementor-584 .elementor-element.elementor-element-8247f29{--width:50%;}.elementor-584 .elementor-element.elementor-element-ffe18c5{--width:50%;}.elementor-584 .elementor-element.elementor-element-b378dcc{--width:100%;}.elementor-584 .elementor-element.elementor-element-01177d0{--width:50%;}.elementor-584 .elementor-element.elementor-element-6f22321{--width:50%;}.elementor-584 .elementor-element.elementor-element-c44458b{--width:100%;}.elementor-584 .elementor-element.elementor-element-630cc59{--width:70%;}.elementor-584 .elementor-element.elementor-element-a1ca060{--width:37%;}}@media(min-width:2400px){.elementor-584 .elementor-element.elementor-element-59f9c4b:not(.elementor-motion-effects-element-type-background), .elementor-584 .elementor-element.elementor-element-59f9c4b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.bestgen-immobilien.de/wp-content/uploads/2026/09/bestgen_main.webp");background-position:900px 0px;background-repeat:no-repeat;background-size:contain;}.elementor-584 .elementor-element.elementor-element-2c9488e{--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;}.elementor-584 .elementor-element.elementor-element-4bb6909{--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-584 .elementor-element.elementor-element-f0d7acd{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-70ae291{--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;}.elementor-584 .elementor-element.elementor-element-e21aa39{--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-584 .elementor-element.elementor-element-a236588{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-1f4e732{--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;}.elementor-584 .elementor-element.elementor-element-4c9a9b3{--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-584 .elementor-element.elementor-element-ee36f0f{--grid-auto-flow:row;}.elementor-584 .elementor-element.elementor-element-fec6ed0{--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-59f9c4b *//* =========================================================
   BESTGEN IMMOBILIEN — HERO
   FINAL EXTENDED GRADIENT VERSION

   ELEMENTOR CONTROLS:
   - Background image
   - Background size
   - Background position
   - Background repeat
   - Background attachment

   - Typography
   - Font sizes
   - Font weights
   - Text colors

   - Vertical spacing between Hero widgets
   - Gap between buttons

   CSS CONTROLS:
   - Site grid
   - Hero layout
   - Extended sage gradient
   - Content width
   - Buttons
   - Proof
   - Responsive layout
========================================================= */


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

.bestgen-hero {

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

    position: relative;

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

    box-sizing: border-box !important;

    margin: 0 !important;

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

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

    /* Elementor container variables */

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

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

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

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

    min-height: 650px;

    overflow: hidden;

    isolation: isolate;

    /*
       Fallback color only.

       IMPORTANT:
       background-image
       background-size
       background-position
       background-repeat

       are NOT controlled here.

       You control them in Elementor.
    */

    background-color: #8A9583;
}


/* =========================================================
   RESET POSSIBLE ELEMENTOR INNER WRAPPER
========================================================= */

.bestgen-hero > .e-con-inner,
.bestgen-hero.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;

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

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


/* =========================================================
   EXTENDED SMOOTH GRADIENT

   Main idea:

   Overlay width = 118%.

   This means the fade does NOT finish at the
   right edge of the viewport.

   It continues outside Hero and gets clipped.

   Result:
   - much longer transition
   - no hard end
   - better on 1920 / 2560 / ultra-wide
========================================================= */

.bestgen-hero::after {

    content: "";

    position: absolute;

    top: 0;
    bottom: 0;

    left: -2%;

    /*
       Gradient intentionally continues
       beyond the right edge.
    */

    width: 110%;

    z-index: 1;

    pointer-events: none;

    background: linear-gradient(
        90deg,

        /* solid / almost solid sage area */
        rgba(138, 149, 131, 0.98) 0%,
        rgba(138, 149, 131, 0.98) 27%,

        /* slightly earlier / shorter transition */
        rgba(138, 149, 131, 0.92) 37%,

        rgba(138, 149, 131, 0.80) 47%,

        rgba(138, 149, 131, 0.64) 57%,

        rgba(138, 149, 131, 0.47) 67%,

        rgba(138, 149, 131, 0.31) 76%,

        rgba(138, 149, 131, 0.17) 85%,

        rgba(138, 149, 131, 0.06) 94%,
        rgba(138, 149, 131, 0.00) 100%
    );

    transform: translateZ(0);

    backface-visibility: hidden;
}


/* =========================================================
   CONTENT ABOVE GRADIENT
========================================================= */

.bestgen-hero > *,
.bestgen-hero > .e-con-inner > * {

    position: relative;

    z-index: 2;
}


/* =========================================================
   HERO CONTENT COLUMN
========================================================= */

.bestgen-hero-content {

    position: relative;

    width: 52% !important;
    max-width: 790px !important;

    min-width: 0 !important;

    flex: 0 1 790px;

    box-sizing: border-box !important;

    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-start !important;
    justify-content: center !important;
}


/*
   IMPORTANT:

   No gap here.

   You control spacing between:

   kicker
   title
   quote
   list
   buttons
   proof

   directly in Elementor.
*/


/* =========================================================
   HERO ELEMENT WIDTHS
========================================================= */

.bestgen-hero-kicker,
.bestgen-hero-title,
.bestgen-hero-quote,
.bestgen-hero-list,
.bestgen-hero-actions,
.bestgen-hero-proof {

    width: 100% !important;

    max-width: 100%;

    min-width: 0;

    box-sizing: border-box;

    /*
       Only left / right margins reset.

       Top and bottom remain available
       for Elementor control.
    */

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


/* =========================================================
   REMOVE UNWANTED HORIZONTAL INNER OFFSETS
========================================================= */

.bestgen-hero-kicker > .elementor-widget-container,
.bestgen-hero-title > .elementor-widget-container,
.bestgen-hero-quote > .elementor-widget-container,
.bestgen-hero-list > .elementor-widget-container,
.bestgen-hero-proof > .elementor-widget-container {

    padding-left: 0 !important;
    padding-right: 0 !important;

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


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

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

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

    padding-left: 0 !important;
    padding-right: 0 !important;
}


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

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


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

   Gap stays controlled in Elementor.
========================================================= */

.bestgen-hero-actions {

    display: flex !important;

    flex-direction: row !important;

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

    flex-wrap: wrap !important;

    padding: 0 !important;

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


/* Prevent Elementor button stretching */

.bestgen-hero-actions > .elementor-widget-button,
.bestgen-hero-actions > .bestgen-hero-btn,
.bestgen-hero-actions .bestgen-hero-btn {

    width: auto !important;

    max-width: none !important;

    flex: 0 0 auto !important;

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


/* =========================================================
   BOTH BUTTONS
========================================================= */

.bestgen-hero-btn .elementor-button {

    display: inline-flex !important;

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

    width: auto !important;

    min-height: 52px;

    padding:
        14px
        26px !important;

    border-radius: 5px !important;

    text-decoration: none !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.bestgen-hero-btn .elementor-button-content-wrapper {

    display: flex;

    align-items: center;
    justify-content: center;
}


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

   CLASS:
   bestgen-hero-btn bestgen-hero-btn-primary
========================================================= */

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

    background-color: #C48632 !important;

    border:
        1px solid
        #C48632 !important;

    color: #FFFFFF !important;

    box-shadow:
        0 7px 18px
        rgba(0, 0, 0, 0.10) !important;
}


.bestgen-hero-btn-primary .elementor-button:hover,
.bestgen-hero-btn-primary .elementor-button:focus {

    background-color: #D0913A !important;

    border-color: #D0913A !important;

    color: #FFFFFF !important;

    transform: translateY(-1px);

    box-shadow:
        0 10px 23px
        rgba(0, 0, 0, 0.14) !important;
}


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

   CLASS:
   bestgen-hero-btn bestgen-hero-btn-secondary
========================================================= */

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

    background-color:
        rgba(255, 255, 255, 0.03) !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.72) !important;

    color: #FFFFFF !important;

    box-shadow: none !important;
}


.bestgen-hero-btn-secondary .elementor-button:hover,
.bestgen-hero-btn-secondary .elementor-button:focus {

    background-color:
        rgba(255, 255, 255, 0.13) !important;

    border-color: #FFFFFF !important;

    color: #FFFFFF !important;

    transform: translateY(-1px);
}


/* =========================================================
   HERO PROOF
========================================================= */

.bestgen-hero-proof {

    padding: 0 !important;

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


.bestgen-hero-proof-inner {

    width: 100%;

    display: flex;

    flex-direction: row;

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

    flex-wrap: wrap;

    gap: 16px;

    box-sizing: border-box;

    color: inherit;

    font: inherit;
}


/* Rating group */

.bestgen-hero-proof-rating {

    display: flex;

    flex-direction: row;

    align-items: center;

    gap: 14px;

    min-width: 0;
}


/* Stars */

.bestgen-hero-proof-stars {

    display: inline-block;

    color: #F5C451;

    font-family:
        Arial,
        sans-serif;

    font-size: 1em;

    font-weight: 400;

    line-height: 1;

    letter-spacing: 1px;

    white-space: nowrap;
}


/* Rating / experience */

.bestgen-hero-proof-google,
.bestgen-hero-proof-experience {

    font: inherit;

    color: inherit;

    white-space: nowrap;
}


/* Separator */

.bestgen-hero-proof-separator {

    width: 1px;

    height: 18px;

    flex: 0 0 1px;

    background:
        rgba(255, 255, 255, 0.28);
}


/* =========================================================
   ULTRA WIDE
   > 1692px

   ONLY GRID CHANGES.

   Gradient remains exactly the same,
   so there is no visual breakpoint.
========================================================= */

@media (min-width: 1693px) {

    .bestgen-hero {

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

}


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

@media (max-width: 1400px) {

    .bestgen-hero {

        --bestgen-hero-side: 32px;

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

        min-height: 620px;
    }


    .bestgen-hero-content {

        width: 54% !important;

        max-width: 720px !important;

        flex-basis: 720px;
    }

}


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

@media (max-width: 1200px) {

    .bestgen-hero {

        --bestgen-hero-side: 28px;

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

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

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

        min-height: 590px;
    }


    .bestgen-hero-content {

        width: 58% !important;

        max-width: 650px !important;

        flex-basis: 650px;
    }


    /*
       Slightly extend gradient even more
       on smaller desktop / laptop.

       Still no hard endpoint.
    */

    .bestgen-hero::after {

        width: 114%;
        left: -2%;
    }


    .bestgen-hero-btn .elementor-button {

        min-height: 50px;

        padding:
            13px
            22px !important;
    }

}


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

@media (max-width: 1024px) {

    .bestgen-hero {

        min-height: 570px;
    }


    .bestgen-hero-content {

        width: 61% !important;

        max-width: 600px !important;

        flex-basis: 600px;
    }


    .bestgen-hero::after {

        width: 118%;
        left: -2%;
    }

}


/* =========================================================
   NARROW TABLET
   <= 900px
========================================================= */

@media (max-width: 900px) {

    .bestgen-hero {

        min-height: 550px;
    }


    .bestgen-hero-content {

        width: 64% !important;

        max-width: 560px !important;

        flex-basis: 560px;
    }


    .bestgen-hero::after {

        width: 122%;
        left: -2%;
    }


    .bestgen-hero-proof-inner {

        gap: 12px;
    }


    .bestgen-hero-proof-rating {

        gap: 10px;
    }

}


/* =========================================================
   MOBILE
   <= 700px
========================================================= */

@media (max-width: 700px) {

    .bestgen-hero {

        --bestgen-hero-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;

        min-height: auto;

        align-items: flex-start !important;
    }


    .bestgen-hero-content {

        width: 100% !important;

        max-width: 100% !important;

        flex:
            0 0 100% !important;
    }


    /* =====================================================
       MOBILE OVERLAY

       On mobile we don't need a horizontal fade.

       Use a soft uniform sage tint instead.
       Background image remains Elementor-controlled.
    ===================================================== */

    .bestgen-hero::after {

        width: 100%;

        background:
            rgba(138, 149, 131, 0.88);
    }


    /* ---------------- BUTTONS ---------------- */

    .bestgen-hero-actions {

        flex-direction: column !important;

        align-items: stretch !important;
    }


    .bestgen-hero-actions > .elementor-widget-button,
    .bestgen-hero-actions > .bestgen-hero-btn,
    .bestgen-hero-actions .bestgen-hero-btn {

        width: 100% !important;
    }


    .bestgen-hero-btn .elementor-button {

        width: 100% !important;

        min-height: 50px;

        padding:
            13px
            18px !important;
    }


    /* ---------------- PROOF ---------------- */

    .bestgen-hero-proof-inner {

        flex-direction: column;

        align-items: flex-start;

        gap: 8px;
    }


    .bestgen-hero-proof-separator {

        display: none;
    }


    .bestgen-hero-proof-google,
    .bestgen-hero-proof-experience {

        white-space: normal;
    }

}


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

@media (max-width: 420px) {

    .bestgen-hero {

        --bestgen-hero-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-hero-proof-rating {

        flex-wrap: wrap;

        gap: 7px 10px;
    }


    .bestgen-hero-btn .elementor-button {

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

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2c9488e *//* =========================================================
   BESTGEN — SERVICES / LEISTUNGEN
   Vier Wege, ein Ansprechpartner

   ELEMENTOR CONTROLS:
   - Typography
   - Font sizes
   - Font weights
   - Text colors
   - Icon choice

   CSS CONTROLS:
   - Global site grid
   - Section spacing
   - Intro layout
   - Card grid
   - Cards
   - Icons
   - Link appearance
   - Responsive behaviour
========================================================= */


/* =========================================================
   SECTION / GLOBAL GRID
========================================================= */

.bestgen-services {

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

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

    box-sizing: border-box !important;

    margin: 0 !important;

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

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

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

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

    background: #FFFFFF;
}


/* Remove Elementor boxed limitation */

.bestgen-services > .e-con-inner,
.bestgen-services.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;
}


/* =========================================================
   TOP INTRO AREA
========================================================= */

.bestgen-services-top {

    width: 100% !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1.6fr)
        minmax(300px, 0.9fr);

    align-items: end !important;

    column-gap: 64px;

    margin: 0 0 46px 0 !important;

    padding: 0 !important;

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


/* =========================================================
   LEFT HEADING
========================================================= */

.bestgen-services-heading {

    width: 100% !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;
}


/*
   Kicker / title typography stays in Elementor.

   We only remove accidental horizontal offsets.
*/

.bestgen-services-kicker,
.bestgen-services-title {

    width: 100% !important;

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


.bestgen-services-kicker > .elementor-widget-container,
.bestgen-services-title > .elementor-widget-container {

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

    padding-left: 0 !important;
    padding-right: 0 !important;
}


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

.bestgen-services-intro {

    width: 100% !important;
    max-width: 470px;

    justify-self: end;

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

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


.bestgen-services-intro .elementor-widget-container {

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


.bestgen-services-intro p:last-child {

    margin-bottom: 0;
}


/* =========================================================
   SERVICES GRID
========================================================= */

.bestgen-services-grid {

    width: 100% !important;

    display: grid !important;

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

    gap: 20px !important;

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

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


/* =========================================================
   SERVICE CARD
========================================================= */

.bestgen-service-card {

    position: relative;

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

    min-height: 290px;

    box-sizing: border-box !important;

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

    align-items: flex-start !important;

    padding: 28px !important;

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

    margin: 0 !important;

    border:
        1px solid
        #E1DED6;

    border-radius: 7px;

    background: #FFFFFF;

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


/* Subtle premium hover */

.bestgen-service-card:hover {

    border-color:
        rgba(138, 149, 131, 0.72);

    transform: translateY(-3px);

    box-shadow:
        0 14px 32px
        rgba(33, 39, 32, 0.07);
}


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

.bestgen-service-icon {

    width: auto !important;

    margin: 0 0 20px 0 !important;

    padding: 0 !important;
}


.bestgen-service-icon .elementor-widget-container {

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


.bestgen-service-icon .elementor-icon {

    display: inline-flex;

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

    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
}


.bestgen-service-icon .elementor-icon i,
.bestgen-service-icon .elementor-icon svg {

    transition:
        transform 0.25s ease;
}


.bestgen-service-card:hover
.bestgen-service-icon .elementor-icon i,
.bestgen-service-card:hover
.bestgen-service-icon .elementor-icon svg {

    transform: translateY(-1px);
}


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

.bestgen-service-title {

    width: 100% !important;

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


.bestgen-service-title > .elementor-widget-container {

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* =========================================================
   CARD TEXT
========================================================= */

.bestgen-service-text {

    width: 100% !important;

    flex: 1 1 auto;

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


.bestgen-service-text > .elementor-widget-container {

    padding-left: 0 !important;
    padding-right: 0 !important;
}


.bestgen-service-text p:last-child {

    margin-bottom: 0;
}


/* =========================================================
   CARD LINK / ELEMENTOR BUTTON

   Turns normal Button widget into a clean text link.
========================================================= */

.bestgen-service-link {

    width: auto !important;

    margin-top: auto !important;
}


.bestgen-service-link .elementor-button {

    position: relative;

    display: inline-flex !important;

    width: auto !important;

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

    min-height: 0 !important;

    padding:
        4px 0
        3px 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    color: inherit;

    text-decoration: none;

    transition:
        opacity 0.2s ease;
}


/* Underline */

.bestgen-service-link .elementor-button::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 1px;

    background: currentColor;

    transform: scaleX(1);

    transform-origin: left center;

    transition:
        transform 0.25s ease;
}


.bestgen-service-link .elementor-button:hover {

    background: transparent !important;

    box-shadow: none !important;
}


.bestgen-service-link .elementor-button:hover::after {

    transform: scaleX(0.65);
}


/* =========================================================
   "NEU" BADGE

   Give third card:
   bestgen-service-card is-new
========================================================= */

.bestgen-service-card.is-new::after {

    content: "NEU";

    position: absolute;

    top: 18px;
    right: 18px;

    display: inline-flex;

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

    min-height: 22px;

    padding:
        3px
        8px;

    border-radius: 4px;

    background: #EEEAE2;

    color: #69665E;

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

    font-size: 10px;

    font-weight: 600;

    line-height: 1;

    letter-spacing: 0.06em;

    text-transform: uppercase;
}


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

@media (min-width: 1693px) {

    .bestgen-services {

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

}


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

@media (max-width: 1400px) {

    .bestgen-services {

        --bestgen-services-side: 32px;

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


    .bestgen-services-top {

        column-gap: 48px;

        margin-bottom: 42px !important;
    }


    .bestgen-services-grid {

        gap: 18px !important;
    }


    .bestgen-service-card {

        padding: 24px !important;

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

}


/* =========================================================
   <= 1200
   2 × 2 GRID
========================================================= */

@media (max-width: 1200px) {

    .bestgen-services {

        --bestgen-services-side: 28px;

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

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

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


    .bestgen-services-top {

        grid-template-columns:
            minmax(0, 1.3fr)
            minmax(280px, 0.8fr);

        column-gap: 40px;

        margin-bottom: 38px !important;
    }


    .bestgen-services-grid {

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

        gap: 20px !important;
    }


    .bestgen-service-card {

        min-height: 270px;
    }

}


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

@media (max-width: 767px) {

    .bestgen-services {

        --bestgen-services-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;
    }


    /* Intro becomes one column */

    .bestgen-services-top {

        display: flex !important;

        flex-direction: column !important;

        align-items: flex-start !important;

        gap: 20px;

        margin-bottom: 32px !important;
    }


    .bestgen-services-intro {

        max-width: 600px;

        justify-self: auto;
    }


    /* Cards */

    .bestgen-services-grid {

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

        gap: 16px !important;
    }


    .bestgen-service-card {

        min-height: 0;

        padding: 22px !important;

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


    .bestgen-service-icon {

        margin-bottom: 16px !important;
    }

}


/* =========================================================
   <= 420
========================================================= */

@media (max-width: 420px) {

    .bestgen-services {

        --bestgen-services-side: 16px;

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


    .bestgen-services-top {

        margin-bottom: 28px !important;
    }


    .bestgen-service-card {

        padding: 20px !important;

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


    .bestgen-service-card.is-new::after {

        top: 15px;
        right: 15px;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e0e6ee0 *//* =========================================================
   BESTGEN — ABOUT / DER TYP

   STRUCTURE

   .bestgen-about
      .bestgen-about-content
         .bestgen-about-kicker
         .bestgen-about-quote
         .bestgen-about-title
         .bestgen-about-text
         .bestgen-about-cta

      .bestgen-about-media
         .bestgen-about-image
         .bestgen-about-caption
========================================================= */


/* =========================================================
   SECTION / GLOBAL GRID
========================================================= */

.bestgen-about {

    --bestgen-about-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: 88px !important;
    padding-bottom: 88px !important;

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

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

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

    display: grid !important;

    grid-template-columns:
        minmax(0, 0.92fr)
        minmax(0, 1.08fr);

    align-items: center !important;

    column-gap: clamp(56px, 5vw, 88px);

    background: #F4F1EA;
}


/* =========================================================
   ELEMENTOR INNER RESET
========================================================= */

.bestgen-about > .e-con-inner,
.bestgen-about.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 CONTENT
========================================================= */

.bestgen-about-content {

    width: 100% !important;
    max-width: 690px !important;

    min-width: 0 !important;

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

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

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

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


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

.bestgen-about-kicker {

    width: 100% !important;

    margin: 0 0 24px 0 !important;
}


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

    margin: 0 !important;

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

    font-size: 12px;

    font-weight: 600;

    line-height: 1.4;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    color: #8A9583;
}


/* Little decorative line */

.bestgen-about-kicker::after {

    content: "";

    display: block;

    width: 34px;

    height: 1px;

    margin-top: 14px;

    background: #8A9583;
}


/* =========================================================
   QUOTE
========================================================= */

.bestgen-about-quote {

    width: 100% !important;

    max-width: 680px;

    margin: 0 0 42px 0 !important;
}


.bestgen-about-quote .elementor-widget-container,
.bestgen-about-quote p {

    margin: 0 !important;

    font-family:
        "Playfair Display","Playfair Display Fallback",
        Georgia,
        serif;

    font-size: clamp(30px, 2.4vw, 42px);

    font-weight: 400;

    font-style: italic;

    line-height: 1.34;

    letter-spacing: -0.01em;

    color: #17242E;
}


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

.bestgen-about-title {

    width: 100% !important;

    margin: 0 0 22px 0 !important;
}


.bestgen-about-title .elementor-heading-title {

    margin: 0 !important;

    font-family:
        "Playfair Display","Playfair Display Fallback",
        Georgia,
        serif;

    font-size: clamp(38px, 3vw, 50px);

    font-weight: 500;

    line-height: 1.08;

    letter-spacing: -0.025em;

    color: #17242E;
}


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

.bestgen-about-text {

    width: 100% !important;

    max-width: 650px;

    margin: 0 0 30px 0 !important;
}


.bestgen-about-text .elementor-widget-container {

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

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

    font-size: 16px;

    font-weight: 400;

    line-height: 1.75;

    color: #60665F;
}


.bestgen-about-text p {

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


.bestgen-about-text p:last-child {

    margin-bottom: 0;
}


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

.bestgen-about-cta {

    width: auto !important;

    margin: 0 !important;
}


.bestgen-about-cta .elementor-button {

    display: inline-flex !important;

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

    min-height: 52px;

    padding:
        14px
        25px !important;

    border:
        1px solid
        #B77A2D !important;

    border-radius: 4px !important;

    background:
        #B77A2D !important;

    color:
        #FFFFFF !important;

    box-shadow: none !important;

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

    font-size: 14px;

    font-weight: 600;

    line-height: 1.2;

    text-decoration: none !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


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

    background:
        #C68935 !important;

    border-color:
        #C68935 !important;

    color:
        #FFFFFF !important;

    transform:
        translateY(-1px);

    box-shadow:
        0 10px 24px
        rgba(59, 48, 34, 0.10) !important;
}


/* =========================================================
   RIGHT MEDIA
========================================================= */

.bestgen-about-media {

    width: 100% !important;

    min-width: 0 !important;

    display: flex !important;

    flex-direction: column !important;

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

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

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


/* =========================================================
   IMAGE
========================================================= */

.bestgen-about-image {

    width: 100% !important;

    margin: 0 !important;
}


.bestgen-about-image .elementor-widget-container {

    width: 100%;

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

    overflow: hidden;

    border-radius: 6px;
}


.bestgen-about-image img {

    display: block;

    width: 100% !important;

    height: auto;

    aspect-ratio: 1.22 / 1;

    object-fit: cover;

    object-position: center;

    border-radius: 6px;

    transition:
        transform 0.6s ease;
}


.bestgen-about-media:hover
.bestgen-about-image img {

    transform: scale(1.015);
}


/* =========================================================
   IMAGE CAPTION
========================================================= */

.bestgen-about-caption {

    width: 100% !important;

    margin: 16px 0 0 0 !important;
}


.bestgen-about-caption .elementor-heading-title {

    margin: 0 !important;

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

    font-size: 13px;

    font-weight: 500;

    line-height: 1.5;

    color: #6D726C;
}


/* =========================================================
   HORIZONTAL RESET
========================================================= */

.bestgen-about-kicker,
.bestgen-about-quote,
.bestgen-about-title,
.bestgen-about-text,
.bestgen-about-cta,
.bestgen-about-image,
.bestgen-about-caption {

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


.bestgen-about-kicker > .elementor-widget-container,
.bestgen-about-quote > .elementor-widget-container,
.bestgen-about-title > .elementor-widget-container,
.bestgen-about-text > .elementor-widget-container,
.bestgen-about-image > .elementor-widget-container,
.bestgen-about-caption > .elementor-widget-container {

    padding-left: 0 !important;
    padding-right: 0 !important;

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


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

@media (min-width: 1693px) {

    .bestgen-about {

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

}


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

@media (max-width: 1400px) {

    .bestgen-about {

        --bestgen-about-side: 32px;

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

        column-gap: 56px;
    }


    .bestgen-about-content {

        max-width: 620px !important;
    }

}


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

@media (max-width: 1200px) {

    .bestgen-about {

        --bestgen-about-side: 28px;

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

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

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

        grid-template-columns:
            minmax(0, 0.95fr)
            minmax(0, 1.05fr);

        column-gap: 42px;
    }


    .bestgen-about-quote {

        margin-bottom: 34px !important;
    }


    .bestgen-about-image img {

        aspect-ratio: 1.05 / 1;
    }

}


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

@media (max-width: 900px) {

    .bestgen-about {

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

        row-gap: 44px;
    }


    .bestgen-about-content {

        max-width: 720px !important;
    }


    .bestgen-about-media {

        max-width: 720px;
    }


    .bestgen-about-image img {

        aspect-ratio: 4 / 3;
    }

}


/* =========================================================
   MOBILE <= 700
========================================================= */

@media (max-width: 700px) {

    .bestgen-about {

        --bestgen-about-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;

        row-gap: 34px;
    }


    .bestgen-about-kicker {

        margin-bottom: 18px !important;
    }


    .bestgen-about-quote {

        margin-bottom: 30px !important;
    }


    .bestgen-about-quote .elementor-widget-container,
    .bestgen-about-quote p {

        font-size:
            clamp(27px, 7vw, 34px);

        line-height: 1.32;
    }


    .bestgen-about-title {

        margin-bottom: 18px !important;
    }


    .bestgen-about-title .elementor-heading-title {

        font-size:
            clamp(34px, 9vw, 42px);
    }


    .bestgen-about-text {

        margin-bottom: 26px !important;
    }


    .bestgen-about-text .elementor-widget-container {

        font-size: 15px;

        line-height: 1.7;
    }


    .bestgen-about-cta {

        width: 100% !important;
    }


    .bestgen-about-cta .elementor-button {

        width: 100% !important;
    }


    .bestgen-about-image img {

        aspect-ratio: 4 / 3;
    }

}


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

@media (max-width: 420px) {

    .bestgen-about {

        --bestgen-about-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-about-image img {

        aspect-ratio: 1 / 1;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70ae291 *//* =========================================================
   BESTGEN — STADTTEILE / AREAS
   CLEAN FINAL VERSION

   ELEMENTOR CONTROLS:
   - Section background
   - Normal card backgrounds
   - Featured card background
   - Content

   CSS CONTROLS:
   - Grid
   - Spacing
   - Typography
   - Borders
   - Hover
   - Chips
   - Link styling
   - Responsive behaviour
========================================================= */


/* =========================================================
   SECTION / GLOBAL GRID
========================================================= */

.bestgen-areas {

    --bestgen-areas-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: 80px !important;
    padding-bottom: 80px !important;

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

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

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


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

.bestgen-areas > .e-con-inner,
.bestgen-areas.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;
}


/* =========================================================
   TOP AREA
========================================================= */

.bestgen-areas-top {

    width: 100% !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(320px, 0.75fr);

    align-items: end !important;

    column-gap: 72px;

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

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


/* =========================================================
   LEFT HEADING
========================================================= */

.bestgen-areas-heading {

    width: 100% !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;
}


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

.bestgen-areas-kicker {

    width: 100% !important;

    margin: 0 0 15px 0 !important;
}


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

    margin: 0 !important;

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

    font-size: 12px;
    font-weight: 600;

    line-height: 1.4;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    color: #8A9583;
}


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

.bestgen-areas-title {

    width: 100% !important;
    max-width: 720px;

    margin: 0 !important;
}


.bestgen-areas-title .elementor-heading-title {

    margin: 0 !important;

    font-family:
        "Playfair Display","Playfair Display Fallback",
        Georgia,
        serif;

    font-size: clamp(40px, 3.2vw, 54px);

    font-weight: 500;

    line-height: 1.08;

    letter-spacing: -0.025em;

    color: #17242E;
}


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

.bestgen-areas-intro {

    width: 100% !important;
    max-width: 470px;

    justify-self: end;

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

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


.bestgen-areas-intro .elementor-widget-container {

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

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

    font-size: 15px;
    font-weight: 400;

    line-height: 1.7;

    color: #6B6C66;
}


.bestgen-areas-intro p {
    margin-top: 0;
}


.bestgen-areas-intro p:last-child {
    margin-bottom: 0;
}


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

.bestgen-areas-grid {

    width: 100% !important;

    display: grid !important;

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

    gap: 20px !important;

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

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


/* =========================================================
   AREA CARD
========================================================= */

.bestgen-area-card {

    position: relative;

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

    min-height: 170px;

    box-sizing: border-box !important;

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

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

    padding: 26px !important;

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

    margin: 0 !important;

    border:
        1px solid
        #DEDAD2 !important;

    border-radius: 7px;

    overflow: hidden;

    text-decoration: none !important;

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


.bestgen-area-card:hover {

    transform:
        translateY(-3px);

    border-color:
        #8A9583 !important;

    box-shadow:
        0 12px 28px
        rgba(35, 42, 36, 0.07);

    text-decoration: none !important;
}


/* =========================================================
   CARD LINK RESET

   Elementor может превратить весь контейнер в <a>.
   Поэтому полностью убираем стандартное оформление ссылок
   только внутри карточек.
========================================================= */

a.bestgen-area-card,
a.bestgen-area-card:link,
a.bestgen-area-card:visited,
a.bestgen-area-card:hover,
a.bestgen-area-card:active,
a.bestgen-area-card:focus {

    color: inherit !important;
    text-decoration: none !important;
}


.bestgen-area-card a,
.bestgen-area-card a:link,
.bestgen-area-card a:visited,
.bestgen-area-card a:hover,
.bestgen-area-card a:active,
.bestgen-area-card a:focus {

    color: inherit !important;
    text-decoration: none !important;
}


/* Elementor / Theme underline reset */

.bestgen-area-card *,
.bestgen-area-card *::before,
.bestgen-area-card *::after {

    text-decoration: none !important;
}


.bestgen-area-card .elementor-heading-title,
.bestgen-area-card .elementor-heading-title a,
.bestgen-area-card .elementor-widget-container,
.bestgen-area-card .elementor-widget-container a,
.bestgen-area-card p,
.bestgen-area-card span {

    text-decoration: none !important;
}


/* Keyboard focus */

a.bestgen-area-card:focus-visible {

    outline:
        2px solid
        rgba(138, 149, 131, 0.55);

    outline-offset:
        4px;
}


/* =========================================================
   CARD LABEL
========================================================= */

.bestgen-area-label {

    width: 100% !important;

    margin: 0 0 10px 0 !important;
}


.bestgen-area-label .elementor-heading-title {

    margin: 0 !important;

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

    font-size: 10px;

    font-weight: 600;

    line-height: 1.4;

    letter-spacing: 0.10em;

    text-transform: uppercase;

    color: #8A9583 !important;

    text-decoration: none !important;
}


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

.bestgen-area-title {

    width: 100% !important;

    margin: 0 0 8px 0 !important;
}


.bestgen-area-title .elementor-heading-title {

    margin: 0 !important;

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

    font-size: 22px;

    font-weight: 500;

    line-height: 1.25;

    color: #17242E !important;

    text-decoration: none !important;
}


/* =========================================================
   CARD TEXT
========================================================= */

.bestgen-area-text {

    width: 100% !important;

    margin: 0 !important;
}


.bestgen-area-text .elementor-widget-container {

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

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

    font-size: 14px;

    font-weight: 400;

    line-height: 1.6;

    color: #73746F !important;

    text-decoration: none !important;
}


.bestgen-area-text p {

    margin-top: 0;
    margin-bottom: 0;

    text-decoration: none !important;
}


/* =========================================================
   FEATURED CARD — EIMSBÜTTEL
========================================================= */

.bestgen-area-card.is-featured {

    border:
        1px solid
        #8A9583 !important;

    text-decoration: none !important;
}


.bestgen-area-card.is-featured:hover {

    border-color:
        #75806F !important;

    box-shadow:
        0 14px 30px
        rgba(80, 92, 78, 0.13);

    text-decoration: none !important;
}


/* Featured label */

.bestgen-area-card.is-featured
.bestgen-area-label
.elementor-heading-title {

    color: #E2B458 !important;

    text-decoration: none !important;
}


/* Featured title */

.bestgen-area-card.is-featured
.bestgen-area-title
.elementor-heading-title {

    color: #FFFFFF !important;

    text-decoration: none !important;
}


/* Featured text */

.bestgen-area-card.is-featured
.bestgen-area-text
.elementor-widget-container {

    color:
        rgba(255, 255, 255, 0.76) !important;

    text-decoration: none !important;
}


/* Featured nested links reset */

.bestgen-area-card.is-featured a,
.bestgen-area-card.is-featured a:link,
.bestgen-area-card.is-featured a:visited,
.bestgen-area-card.is-featured a:hover,
.bestgen-area-card.is-featured a:active,
.bestgen-area-card.is-featured a:focus {

    text-decoration: none !important;
}


/* =========================================================
   BOTTOM ROW
========================================================= */

.bestgen-areas-bottom {

    width: 100% !important;

    display: flex !important;

    flex-direction: row !important;

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

    flex-wrap: wrap !important;

    gap: 14px;

    margin: 30px 0 0 0 !important;

    padding: 0 !important;

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


/* =========================================================
   AUCH IM UMLAND
========================================================= */

.bestgen-areas-bottom-title {

    width: auto !important;

    flex: 0 0 auto;

    margin: 0 6px 0 0 !important;
}


.bestgen-areas-bottom-title
.elementor-heading-title {

    margin: 0 !important;

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

    font-size: 13px;

    font-weight: 600;

    line-height: 1.4;

    color: #6A6C67 !important;

    white-space: nowrap;
}


/* =========================================================
   UMLAND CHIPS
========================================================= */

.bestgen-areas-chips {

    width: auto !important;

    flex: 0 1 auto;

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


.bestgen-areas-chips
.elementor-icon-list-items {

    display: flex !important;

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

    align-items: center !important;

    gap: 9px !important;

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


.bestgen-areas-chips
.elementor-icon-list-item {

    width: auto !important;

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


.bestgen-areas-chips
.elementor-icon-list-icon {

    display: none !important;
}


/* =========================================================
   CHIP STYLE
========================================================= */

.bestgen-areas-chips
.elementor-icon-list-item a,
.bestgen-areas-chips
.elementor-icon-list-item
.elementor-icon-list-text {

    display: inline-flex !important;

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

    min-height: 34px;

    padding:
        6px
        15px !important;

    border:
        1px solid
        #D8D2C8 !important;

    border-radius: 999px;

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

    font-size: 12px;

    font-weight: 500;

    line-height: 1.2;

    color: #353C3A !important;

    text-decoration: none !important;

    white-space: nowrap;

    transition:
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}


/* visited state */

.bestgen-areas-chips
.elementor-icon-list-item a:visited {

    color: #353C3A !important;
}


/* hover */

.bestgen-areas-chips
.elementor-icon-list-item a:hover {

    border-color:
        #8A9583 !important;

    color:
        #17242E !important;

    transform:
        translateY(-1px);
}


/* =========================================================
   ALL AREAS LINK
   "Alle Stadtteile ansehen"
========================================================= */

.bestgen-areas-all {

    width: auto !important;

    flex: 0 0 auto;

    margin: 0 !important;
}


.bestgen-areas-all .elementor-button,
.bestgen-areas-all a.elementor-button {

    position: relative;

    display: inline-flex !important;

    width: auto !important;

    align-items: center !important;

    min-height: 0 !important;

    padding:
        4px 0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

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

    font-size: 12px;

    font-weight: 600;

    line-height: 1.3;

    color:
        #17242E !important;

    text-decoration:
        none !important;
}


/* Force inner Elementor text */

.bestgen-areas-all
.elementor-button
.elementor-button-text {

    color:
        #17242E !important;

    text-decoration:
        none !important;
}


/* NORMAL / VISITED / ACTIVE / FOCUS */

.bestgen-areas-all a,
.bestgen-areas-all a:link,
.bestgen-areas-all a:visited,
.bestgen-areas-all a:active,
.bestgen-areas-all a:focus {

    color:
        #17242E !important;

    text-decoration:
        none !important;
}


/* =========================================================
   CUSTOM UNDERLINE
========================================================= */

.bestgen-areas-all
.elementor-button::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;

    bottom: 1px;

    height: 1px;

    background:
        #17242E;

    transform:
        scaleX(1);

    transform-origin:
        left center;

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


/* Hover */

.bestgen-areas-all
.elementor-button:hover {

    background:
        transparent !important;

    color:
        #8A9583 !important;
}


.bestgen-areas-all
.elementor-button:hover
.elementor-button-text {

    color:
        #8A9583 !important;
}


.bestgen-areas-all
.elementor-button:hover::after {

    background:
        #8A9583;

    transform:
        scaleX(0.65);
}


/* Keyboard focus */

.bestgen-areas-all
.elementor-button:focus-visible {

    outline:
        2px solid
        rgba(138, 149, 131, 0.55);

    outline-offset:
        5px;
}


/* =========================================================
   REMOVE DEFAULT HORIZONTAL OFFSETS
========================================================= */

.bestgen-areas-kicker,
.bestgen-areas-title,
.bestgen-areas-intro,
.bestgen-area-label,
.bestgen-area-title,
.bestgen-area-text,
.bestgen-areas-bottom-title,
.bestgen-areas-chips,
.bestgen-areas-all {

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


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

@media (min-width: 1693px) {

    .bestgen-areas {

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

}


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

@media (max-width: 1400px) {

    .bestgen-areas {

        --bestgen-areas-side:
            32px;

        --padding-left:
            32px !important;

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


    .bestgen-areas-top {

        column-gap:
            52px;
    }


    .bestgen-areas-grid {

        gap:
            18px !important;
    }


    .bestgen-area-card {

        padding:
            23px !important;

        --padding-top:
            23px !important;

        --padding-right:
            23px !important;

        --padding-bottom:
            23px !important;

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

}


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

@media (max-width: 1200px) {

    .bestgen-areas {

        --bestgen-areas-side:
            28px;

        --padding-left:
            28px !important;

        --padding-right:
            28px !important;

        padding-top:
            64px !important;

        padding-bottom:
            64px !important;

        --padding-top:
            64px !important;

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


    .bestgen-areas-top {

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

        column-gap:
            40px;

        margin-bottom:
            40px !important;
    }


    .bestgen-areas-grid {

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

        gap:
            18px !important;
    }


    .bestgen-area-card {

        min-height:
            160px;
    }

}


/* =========================================================
   <= 900px
========================================================= */

@media (max-width: 900px) {

    .bestgen-areas-top {

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

        column-gap:
            32px;
    }

}


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

@media (max-width: 767px) {

    .bestgen-areas {

        --bestgen-areas-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;
    }


    /* Top stack */

    .bestgen-areas-top {

        display:
            flex !important;

        flex-direction:
            column !important;

        align-items:
            flex-start !important;

        gap:
            20px;

        margin-bottom:
            30px !important;
    }


    .bestgen-areas-intro {

        max-width:
            620px;

        justify-self:
            auto;
    }


    /* Cards */

    .bestgen-areas-grid {

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

        gap:
            14px !important;
    }


    .bestgen-area-card {

        min-height:
            0;

        padding:
            21px !important;

        --padding-top:
            21px !important;

        --padding-right:
            21px !important;

        --padding-bottom:
            21px !important;

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


    /* Bottom */

    .bestgen-areas-bottom {

        align-items:
            flex-start !important;

        gap:
            12px;

        margin-top:
            26px !important;
    }


    .bestgen-areas-bottom-title {

        width:
            100% !important;

        margin-bottom:
            2px !important;
    }


    .bestgen-areas-chips {

        width:
            100% !important;
    }

}


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

@media (max-width: 420px) {

    .bestgen-areas {

        --bestgen-areas-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-area-card {

        padding:
            19px !important;

        --padding-top:
            19px !important;

        --padding-right:
            19px !important;

        --padding-bottom:
            19px !important;

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


    .bestgen-areas-chips
    .elementor-icon-list-item a,
    .bestgen-areas-chips
    .elementor-icon-list-item
    .elementor-icon-list-text {

        min-height:
            32px;

        padding:
            5px
            12px !important;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1f4e732 *//* =========================================================
   BESTGEN — VERKAUFSANLÄSSE
   Wenn das Leben den Verkauf entscheidet

   BACKGROUNDS:
   controlled completely in Elementor.

   CSS:
   - global grid
   - section spacing
   - heading layout
   - cards
   - equal card heights
   - links
   - responsive behaviour
========================================================= */


/* =========================================================
   SECTION / GLOBAL SITE GRID
========================================================= */

.bestgen-reasons {

    --bestgen-reasons-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: 80px !important;
    padding-bottom: 80px !important;

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

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

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


/* =========================================================
   RESET POSSIBLE ELEMENTOR BOXED WRAPPER
========================================================= */

.bestgen-reasons > .e-con-inner,
.bestgen-reasons.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;
}


/* =========================================================
   TOP CONTENT
========================================================= */

.bestgen-reasons-top {

    width: 100% !important;

    display: block !important;

    margin: 0 0 46px 0 !important;

    padding: 0 !important;

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


/* =========================================================
   HEADING WRAPPER
========================================================= */

.bestgen-reasons-heading {

    width: 100% !important;

    max-width: 850px;

    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;
}


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

.bestgen-reasons-kicker {

    width: 100% !important;

    margin: 0 0 14px 0 !important;
}


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

    margin: 0 !important;

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

    font-size: 12px;
    font-weight: 600;

    line-height: 1.4;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    color: #8A9583;
}


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

.bestgen-reasons-title {

    width: 100% !important;

    margin: 0 0 18px 0 !important;
}


.bestgen-reasons-title .elementor-heading-title {

    margin: 0 !important;

    font-family:
        "Playfair Display","Playfair Display Fallback",
        Georgia,
        serif;

    font-size: clamp(40px, 3.1vw, 54px);

    font-weight: 500;

    line-height: 1.08;

    letter-spacing: -0.025em;

    color: #17242E;
}


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

.bestgen-reasons-intro {

    width: 100% !important;

    max-width: 790px;

    margin: 0 !important;
}


.bestgen-reasons-intro .elementor-widget-container {

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

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

    font-size: 15px;
    font-weight: 400;

    line-height: 1.7;

    color: #70716C;
}


.bestgen-reasons-intro p {

    margin-top: 0;
}


.bestgen-reasons-intro p:last-child {

    margin-bottom: 0;
}


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

.bestgen-reasons-grid {

    width: 100% !important;

    display: grid !important;

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

    gap: 20px !important;

    align-items: stretch !important;

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

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


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

   BACKGROUND = ELEMENTOR
========================================================= */

.bestgen-reason-card {

    position: relative;

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

    min-height: 270px;

    box-sizing: border-box !important;

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

    align-items: flex-start !important;

    padding: 28px !important;

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

    margin: 0 !important;

    border:
        1px solid
        rgba(138, 149, 131, 0.18);

    border-radius: 7px;

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


/* Hover */

.bestgen-reason-card:hover {

    transform:
        translateY(-3px);

    border-color:
        rgba(138, 149, 131, 0.72);

    box-shadow:
        0 13px 30px
        rgba(31, 41, 34, 0.07);
}


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

.bestgen-reason-title {

    width: 100% !important;

    margin: 0 0 13px 0 !important;
}


.bestgen-reason-title .elementor-heading-title {

    margin: 0 !important;

    font-family:
        "Playfair Display","Playfair Display Fallback",
        Georgia,
        serif;

    font-size: 22px;

    font-weight: 500;

    line-height: 1.25;

    color: #17242E;
}


/* =========================================================
   CARD TEXT
========================================================= */

.bestgen-reason-text {

    width: 100% !important;

    flex: 1 1 auto;

    margin: 0 0 20px 0 !important;
}


.bestgen-reason-text .elementor-widget-container {

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

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

    font-size: 14px;

    font-weight: 400;

    line-height: 1.65;

    color: #74756F;
}


.bestgen-reason-text p {

    margin-top: 0;
}


.bestgen-reason-text p:last-child {

    margin-bottom: 0;
}


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

   Elementor Button → editorial text link
========================================================= */

.bestgen-reason-link {

    width: auto !important;

    margin: auto 0 0 0 !important;
}


.bestgen-reason-link .elementor-button,
.bestgen-reason-link a.elementor-button {

    position: relative;

    display: inline-flex !important;

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

    width: auto !important;

    min-height: 0 !important;

    padding:
        4px 0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

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

    font-size: 13px;

    font-weight: 600;

    line-height: 1.3;

    color:
        #17242E !important;

    text-decoration:
        none !important;
}


/* Inner Elementor button text */

.bestgen-reason-link
.elementor-button-text {

    color:
        #17242E !important;

    text-decoration:
        none !important;
}


/* Remove browser / Elementor visited colors */

.bestgen-reason-link a,
.bestgen-reason-link a:link,
.bestgen-reason-link a:visited,
.bestgen-reason-link a:active,
.bestgen-reason-link a:focus {

    color:
        #17242E !important;

    text-decoration:
        none !important;
}


/* Underline */

.bestgen-reason-link
.elementor-button::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;

    bottom: 1px;

    height: 1px;

    background:
        #17242E;

    transform:
        scaleX(1);

    transform-origin:
        left center;

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


/* Hover */

.bestgen-reason-link
.elementor-button:hover {

    background:
        transparent !important;

    color:
        #8A9583 !important;
}


.bestgen-reason-link
.elementor-button:hover
.elementor-button-text {

    color:
        #8A9583 !important;
}


.bestgen-reason-link
.elementor-button:hover::after {

    background:
        #8A9583;

    transform:
        scaleX(0.65);
}


/* =========================================================
   NEW BADGE

   Add:
   bestgen-reason-card is-new
========================================================= */

.bestgen-reason-card.is-new::after {

    content: "NEU";

    position: absolute;

    top: 18px;
    right: 18px;

    display: inline-flex;

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

    min-height: 21px;

    padding:
        3px
        8px;

    border-radius: 4px;

    color: #756F63;

    border:
        1px solid
        rgba(117, 111, 99, 0.17);

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

    font-size: 9px;

    font-weight: 600;

    line-height: 1;

    letter-spacing: 0.07em;

    text-transform: uppercase;
}


/* Leave space for badge */

.bestgen-reason-card.is-new
.bestgen-reason-title {

    padding-right: 50px;
}


/* =========================================================
   HORIZONTAL RESET
========================================================= */

.bestgen-reasons-kicker,
.bestgen-reasons-title,
.bestgen-reasons-intro,
.bestgen-reason-title,
.bestgen-reason-text,
.bestgen-reason-link {

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


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

@media (min-width: 1693px) {

    .bestgen-reasons {

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

}


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

@media (max-width: 1400px) {

    .bestgen-reasons {

        --bestgen-reasons-side:
            32px;

        --padding-left:
            32px !important;

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


    .bestgen-reasons-grid {

        gap:
            18px !important;
    }


    .bestgen-reason-card {

        padding:
            24px !important;

        --padding-top:
            24px !important;

        --padding-right:
            24px !important;

        --padding-bottom:
            24px !important;

        --padding-left:
            24px !important;

        min-height:
            260px;
    }

}


/* =========================================================
   <= 1200px
   4 → 2 columns
========================================================= */

@media (max-width: 1200px) {

    .bestgen-reasons {

        --bestgen-reasons-side:
            28px;

        --padding-left:
            28px !important;

        --padding-right:
            28px !important;

        padding-top:
            64px !important;

        padding-bottom:
            64px !important;

        --padding-top:
            64px !important;

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


    .bestgen-reasons-top {

        margin-bottom:
            38px !important;
    }


    .bestgen-reasons-grid {

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

        gap:
            18px !important;
    }


    .bestgen-reason-card {

        min-height:
            240px;
    }

}


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

@media (max-width: 767px) {

    .bestgen-reasons {

        --bestgen-reasons-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;
    }


    .bestgen-reasons-top {

        margin-bottom:
            30px !important;
    }


    .bestgen-reasons-grid {

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

        gap:
            14px !important;
    }


    .bestgen-reason-card {

        min-height:
            0;

        padding:
            22px !important;

        --padding-top:
            22px !important;

        --padding-right:
            22px !important;

        --padding-bottom:
            22px !important;

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


    .bestgen-reason-text {

        margin-bottom:
            16px !important;
    }

}


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

@media (max-width: 420px) {

    .bestgen-reasons {

        --bestgen-reasons-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-reason-card {

        padding:
            19px !important;

        --padding-top:
            19px !important;

        --padding-right:
            19px !important;

        --padding-bottom:
            19px !important;

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


    .bestgen-reason-card.is-new::after {

        top: 15px;
        right: 15px;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e1700fe *//* =========================================================
   BESTGEN — REVIEWS / BEWERTUNGEN
   FINAL VERSION

   ELEMENTOR CONTROLS:
   - Background
   - Typography
   - Text colors
   - Width of subtitle / intro
   - Content

   CSS CONTROLS:
   - Global grid
   - Section spacing
   - Structure
   - Shortcode width
   - Responsive layout
========================================================= */


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

.bestgen-reviews {

    --bestgen-reviews-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: 56px !important;
    padding-bottom: 64px !important;

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

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

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

    /*
       Background НЕ задаётся.
       Контролируешь в Elementor.
    */
}


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

.bestgen-reviews > .e-con-inner,
.bestgen-reviews.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;
}


/* =========================================================
   INNER
========================================================= */

.bestgen-reviews-inner {

    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;
}


/* =========================================================
   CONTENT CONTAINER
========================================================= */

.bestgen-reviews-content {

    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: flex !important;
    flex-direction: column !important;

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

    gap: 0 !important;
    --gap: 0px !important;
}


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

.bestgen-reviews-kicker {

    width: 100% !important;

    margin:
        0 0 14px 0 !important;
}


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

    margin: 0 !important;

    /*
       Typography / color можешь менять
       в Elementor.
    */
}


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

.bestgen-reviews-title {

    width: 100% !important;

    margin:
        0 0 17px 0 !important;
}


.bestgen-reviews-title
.elementor-heading-title {

    margin: 0 !important;
}


/* =========================================================
   INTRO / SUBTEXT

   IMPORTANT:
   NO WIDTH
   NO MAX-WIDTH

   Width is 100% controlled in Elementor:
   Advanced → Layout → Width → Custom
========================================================= */

.bestgen-reviews-intro {

    margin:
        0 0 34px 0 !important;

    /*
       width intentionally NOT defined
       max-width intentionally NOT defined
    */
}


.bestgen-reviews-intro
.elementor-widget-container {

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


.bestgen-reviews-intro p {

    margin-top: 0;
}


.bestgen-reviews-intro p:last-child {

    margin-bottom: 0;
}


/* =========================================================
   REVIEWS SHORTCODE
========================================================= */

.bestgen-reviews-widget {

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

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

    box-sizing: border-box !important;
}


.bestgen-reviews-widget
.elementor-widget-container {

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

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


.bestgen-reviews-widget
.elementor-shortcode {

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

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

    box-sizing: border-box !important;
}


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

.bestgen-reviews-widget *,
.bestgen-reviews-widget *::before,
.bestgen-reviews-widget *::after {

    box-sizing: border-box;
}


.bestgen-reviews-widget img {

    max-width: 100%;
    height: auto;
}


.bestgen-reviews-widget iframe {

    display: block;

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

    margin: 0 !important;

    border: 0 !important;
}


/* =========================================================
   HORIZONTAL RESET

   IMPORTANT:
   Does NOT touch width of intro.
========================================================= */

.bestgen-reviews-kicker,
.bestgen-reviews-title,
.bestgen-reviews-intro,
.bestgen-reviews-widget {

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


.bestgen-reviews-kicker
> .elementor-widget-container,

.bestgen-reviews-title
> .elementor-widget-container,

.bestgen-reviews-intro
> .elementor-widget-container {

    padding-left: 0 !important;
    padding-right: 0 !important;

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


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

@media (min-width: 1693px) {

    .bestgen-reviews {

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

}


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

@media (max-width: 1400px) {

    .bestgen-reviews {

        --bestgen-reviews-side:
            32px;

        --padding-left:
            32px !important;

        --padding-right:
            32px !important;

        padding-top:
            54px !important;

        padding-bottom:
            60px !important;

        --padding-top:
            54px !important;

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

}


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

@media (max-width: 1200px) {

    .bestgen-reviews {

        --bestgen-reviews-side:
            28px;

        --padding-left:
            28px !important;

        --padding-right:
            28px !important;

        padding-top:
            48px !important;

        padding-bottom:
            56px !important;

        --padding-top:
            48px !important;

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


    .bestgen-reviews-intro {

        margin-bottom:
            30px !important;
    }

}


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

@media (max-width: 767px) {

    .bestgen-reviews {

        --bestgen-reviews-side:
            20px;

        --padding-left:
            20px !important;

        --padding-right:
            20px !important;

        padding-top:
            40px !important;

        padding-bottom:
            48px !important;

        --padding-top:
            40px !important;

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


    .bestgen-reviews-kicker {

        margin-bottom:
            11px !important;
    }


    .bestgen-reviews-title {

        margin-bottom:
            15px !important;
    }


    .bestgen-reviews-intro {

        margin-bottom:
            26px !important;
    }

}


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

@media (max-width: 420px) {

    .bestgen-reviews {

        --bestgen-reviews-side:
            16px;

        --padding-left:
            16px !important;

        --padding-right:
            16px !important;

        padding-top:
            36px !important;

        padding-bottom:
            44px !important;

        --padding-top:
            36px !important;

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

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9c48c8 *//* =========================================================
   BESTGEN — TEAM / DER TYP
   FINAL CLEAN VERSION

   ELEMENTOR CONTROLS:
   - Background
   - Images
   - Text colors
   - Button colors
   - Content

   CSS CONTROLS:
   - Global grid
   - Section spacing
   - Full-width heading area
   - Two-column team grid
   - Image proportions
   - CTA structure
   - Responsive behaviour
========================================================= */


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

.bestgen-team {

    --bestgen-team-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: 80px !important;
    padding-bottom: 80px !important;

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

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

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

    /*
       Background intentionally NOT defined.
       Set it in Elementor.
    */
}


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

.bestgen-team > .e-con-inner,
.bestgen-team.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;
}


/* =========================================================
   HEADER AREA — FULL WIDTH

   FIX:
   No max-width anymore.
========================================================= */

.bestgen-team-head {

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

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

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

    margin: 0 0 52px 0 !important;

    padding: 0 !important;

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

    gap: 0 !important;
    --gap: 0px !important;
}


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

   COLOR = ELEMENTOR
========================================================= */

.bestgen-team-kicker {

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

    margin: 0 0 16px 0 !important;
}


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

    margin: 0 !important;

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

    font-size: 12px;

    font-weight: 600;

    line-height: 1.4;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    /*
       No color here.
    */
}


/* =========================================================
   QUOTE — FULL WIDTH

   FIX:
   No max-width anymore.
========================================================= */

.bestgen-team-quote {

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

    margin: 0 !important;
}


.bestgen-team-quote
.elementor-widget-container {

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

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


.bestgen-team-quote p {

    margin: 0 !important;

    font-family:
        "Playfair Display","Playfair Display Fallback",
        Georgia,
        serif;

    font-size:
        clamp(30px, 2.5vw, 42px);

    font-weight: 400;

    font-style: italic;

    line-height: 1.34;

    letter-spacing: -0.015em;

    /*
       Text color and text alignment
       remain controlled in Elementor.
    */
}


/* =========================================================
   PEOPLE GRID
========================================================= */

.bestgen-team-grid {

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

    display: grid !important;

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

    gap: 32px !important;

    align-items: start !important;

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

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


/* =========================================================
   PERSON CARD
========================================================= */

.bestgen-team-card {

    width: 100% !important;
    max-width: none !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;
}


/* =========================================================
   IMAGE BOX
========================================================= */

.bestgen-team-person {

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

    margin: 0 !important;
}


.bestgen-team-person
.elementor-widget-container {

    width: 100% !important;

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


/* =========================================================
   IMAGE
========================================================= */

.bestgen-team-person
.elementor-image-box-img {

    width: 100% !important;

    margin:
        0 0 18px 0 !important;
}


.bestgen-team-person
.elementor-image-box-img a {

    display: block;

    width: 100%;
}


.bestgen-team-person
.elementor-image-box-img img {

    display: block;

    width: 100% !important;

    aspect-ratio: 4 / 3;

    object-fit: cover;

    object-position: center;

    border-radius: 6px;

    transition:
        transform 0.45s ease;
}


.bestgen-team-card:hover
.bestgen-team-person
.elementor-image-box-img img {

    transform:
        scale(1.012);
}


/* =========================================================
   IMAGE BOX CONTENT
========================================================= */

.bestgen-team-person
.elementor-image-box-content {

    width: 100% !important;

    text-align: left;
}


/* =========================================================
   PERSON NAME

   COLOR = ELEMENTOR
========================================================= */

.bestgen-team-person
.elementor-image-box-title {

    margin:
        0 0 5px 0 !important;

    font-family:
        "Playfair Display","Playfair Display Fallback",
        Georgia,
        serif;

    font-size: 22px;

    font-weight: 500;

    line-height: 1.25;

    /*
       No color here.
    */
}


/* =========================================================
   PERSON DESCRIPTION

   COLOR = ELEMENTOR
========================================================= */

.bestgen-team-person
.elementor-image-box-description {

    margin: 0 !important;

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

    font-size: 14px;

    font-weight: 400;

    line-height: 1.6;

    /*
       No color here.
    */
}


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

.bestgen-team-cta {

    width: auto !important;

    margin:
        30px 0 0 0 !important;
}


/* Elementor button → simple editorial link */

.bestgen-team-cta
.elementor-button,
.bestgen-team-cta
a.elementor-button {

    position: relative;

    display: inline-flex !important;

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

    width: auto !important;

    min-height: 0 !important;

    padding:
        5px 0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

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

    font-size: 13px;

    font-weight: 600;

    line-height: 1.3;

    text-decoration:
        none !important;

    /*
       Button text color comes from Elementor.
    */
}


/* Button inner text */

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

    color: inherit;

    text-decoration:
        none !important;
}


/* Remove default blue link states */

.bestgen-team-cta a,
.bestgen-team-cta a:link,
.bestgen-team-cta a:visited,
.bestgen-team-cta a:active,
.bestgen-team-cta a:focus {

    color: inherit;

    text-decoration:
        none !important;
}


/* Underline uses Elementor text color */

.bestgen-team-cta
.elementor-button::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;

    bottom: 1px;

    height: 1px;

    background:
        currentColor;

    transform:
        scaleX(1);

    transform-origin:
        left center;

    transition:
        transform 0.22s ease,
        opacity 0.22s ease;
}


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

    background:
        transparent !important;

    box-shadow:
        none !important;
}


.bestgen-team-cta
.elementor-button:hover::after {

    transform:
        scaleX(0.65);
}


/* =========================================================
   HORIZONTAL OFFSET RESET
========================================================= */

.bestgen-team-kicker,
.bestgen-team-quote,
.bestgen-team-person,
.bestgen-team-cta {

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


/* =========================================================
   ULTRA WIDE
   > 1692px
========================================================= */

@media (min-width: 1693px) {

    .bestgen-team {

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

}


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

@media (max-width: 1400px) {

    .bestgen-team {

        --bestgen-team-side:
            32px;

        --padding-left:
            32px !important;

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


    .bestgen-team-head {

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

        margin-bottom:
            46px !important;
    }


    .bestgen-team-grid {

        gap:
            26px !important;
    }

}


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

@media (max-width: 1200px) {

    .bestgen-team {

        --bestgen-team-side:
            28px;

        --padding-left:
            28px !important;

        --padding-right:
            28px !important;

        padding-top:
            64px !important;

        padding-bottom:
            64px !important;

        --padding-top:
            64px !important;

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


    /*
       IMPORTANT:
       Still full width.
       No 900px max-width anymore.
    */

    .bestgen-team-head {

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

        margin-bottom:
            40px !important;
    }


    .bestgen-team-quote {

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

}


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

@media (max-width: 767px) {

    .bestgen-team {

        --bestgen-team-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;
    }


    .bestgen-team-head {

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

        margin-bottom:
            30px !important;
    }


    .bestgen-team-quote {

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


    .bestgen-team-quote
    .elementor-widget-container,
    .bestgen-team-quote p {

        font-size:
            clamp(27px, 7.5vw, 34px);
    }


    /* 2 columns → 1 */

    .bestgen-team-grid {

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

        gap:
            28px !important;
    }


    .bestgen-team-person
    .elementor-image-box-img img {

        aspect-ratio:
            4 / 3;
    }


    .bestgen-team-cta {

        margin-top:
            26px !important;
    }

}


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

@media (max-width: 420px) {

    .bestgen-team {

        --bestgen-team-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-team-person
    .elementor-image-box-img img {

        aspect-ratio:
            1 / 1;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-840ec70 *//* =========================================================
   BESTGEN — MARKTDATEN
   "Was Hamburg gerade zahlt"

   ELEMENTOR CONTROLS:
   - Section background
   - Typography
   - Heading / text colors
   - Button background
   - Button text color
   - Button typography
   - Button padding
   - Button border / radius
   - Button hover styles

   CSS CONTROLS:
   - Global site grid
   - Two-column layout
   - Spacing
   - TablePress styling
   - Responsive behaviour
========================================================= */


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

.bestgen-market {

    --bestgen-market-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: 80px !important;
    padding-bottom: 80px !important;

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

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

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

    display: grid !important;

    grid-template-columns:
        minmax(300px, 0.72fr)
        minmax(0, 1.45fr);

    align-items: center !important;

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

    /*
       Background is intentionally NOT defined.
       Set it in Elementor.
    */
}


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

.bestgen-market > .e-con-inner,
.bestgen-market.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 CONTENT
========================================================= */

.bestgen-market-content {

    width: 100% !important;
    max-width: 490px !important;
    min-width: 0 !important;

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

    align-items: flex-start !important;
    justify-content: center !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

   Typography + color = Elementor
========================================================= */

.bestgen-market-kicker {

    width: 100% !important;

    margin: 0 0 15px 0 !important;
}


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

    margin: 0 !important;
}


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

   Typography + color = Elementor
========================================================= */

.bestgen-market-title {

    width: 100% !important;

    margin: 0 0 20px 0 !important;
}


.bestgen-market-title
.elementor-heading-title {

    margin: 0 !important;
}


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

   Typography + color + width = Elementor
========================================================= */

.bestgen-market-intro {

    margin: 0 0 28px 0 !important;
}


.bestgen-market-intro
.elementor-widget-container {

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


.bestgen-market-intro p {

    margin-top: 0;
}


.bestgen-market-intro p:last-child {

    margin-bottom: 0;
}


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

   VISUAL DESIGN = ELEMENTOR

   Elementor controls:
   - Background
   - Text color
   - Hover colors
   - Typography
   - Padding
   - Border
   - Border radius
========================================================= */

.bestgen-market-cta {

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

    flex: 0 0 auto !important;

    margin: 0 !important;
}


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

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

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


.bestgen-market-cta
.elementor-button {

    width: auto !important;

    display: inline-flex !important;

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

    text-decoration: none !important;

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease;
}


/* Keep Elementor hover design */

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

    transform: translateY(-1px);
}


/* =========================================================
   RIGHT TABLE WRAPPER
========================================================= */

.bestgen-market-table-wrap {

    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;
}


/* =========================================================
   SHORTCODE WIDGET
========================================================= */

.bestgen-market-table {

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

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

    overflow: visible;
}


.bestgen-market-table
.elementor-widget-container,
.bestgen-market-table
.elementor-shortcode {

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

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


/* =========================================================
   TABLEPRESS
========================================================= */

.bestgen-market-table .tablepress,
.bestgen-market-tablepress {

    width: 100% !important;

    margin: 0 !important;

    border-collapse: collapse !important;
    border-spacing: 0 !important;

    table-layout: fixed;

    background: transparent !important;

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


/* =========================================================
   COLUMN WIDTHS
========================================================= */

.bestgen-market-table
.tablepress th:nth-child(1),
.bestgen-market-table
.tablepress td:nth-child(1) {

    width: 29%;
}


.bestgen-market-table
.tablepress th:nth-child(2),
.bestgen-market-table
.tablepress td:nth-child(2) {

    width: 24%;
}


.bestgen-market-table
.tablepress th:nth-child(3),
.bestgen-market-table
.tablepress td:nth-child(3) {

    width: 24%;
}


.bestgen-market-table
.tablepress th:nth-child(4),
.bestgen-market-table
.tablepress td:nth-child(4) {

    width: 23%;
}


/* =========================================================
   TABLE HEADER
========================================================= */

.bestgen-market-table
.tablepress thead th {

    padding:
        0 16px 14px 16px !important;

    border: 0 !important;

    border-bottom:
        2px solid #1B272D !important;

    background:
        transparent !important;

    font-size:
        12px !important;

    font-weight:
        600 !important;

    line-height:
        1.4;

    letter-spacing:
        0.05em;

    text-transform:
        uppercase;

    text-align:
        left;

    vertical-align:
        bottom;

    color:
        #797970 !important;

    white-space:
        nowrap;
}


/* =========================================================
   TABLE BODY
========================================================= */

.bestgen-market-table
.tablepress tbody td {

    padding:
        16px !important;

    border: 0 !important;

    border-bottom:
        1px solid #DDD9D0 !important;

    background:
        transparent !important;

    font-size:
        14px !important;

    font-weight:
        400;

    line-height:
        1.45;

    color:
        #1B272D !important;

    vertical-align:
        middle;
}


/* Stadtteil stronger */

.bestgen-market-table
.tablepress tbody td:first-child {

    font-weight: 600;
}


/* =========================================================
   REMOVE TABLEPRESS ZEBRA COLORS
========================================================= */

.bestgen-market-table
.tablepress tbody tr.odd td,

.bestgen-market-table
.tablepress tbody tr.even td,

.bestgen-market-table
.tablepress tbody tr:nth-child(odd) td,

.bestgen-market-table
.tablepress tbody tr:nth-child(even) td {

    background:
        transparent !important;
}


/* =========================================================
   TABLE ROW HOVER
========================================================= */

.bestgen-market-table
.tablepress tbody tr:hover td {

    background:
        rgba(138, 149, 131, 0.07) !important;
}


/* =========================================================
   REMOVE TABLEPRESS SORTING ELEMENTS
========================================================= */

.bestgen-market-table
.tablepress thead th::before,

.bestgen-market-table
.tablepress thead th::after {

    display:
        none !important;
}


/* =========================================================
   DATATABLES / TABLEPRESS WRAPPER
========================================================= */

.bestgen-market-table
.dt-container,

.bestgen-market-table
.dataTables_wrapper {

    width:
        100% !important;
}


/* Hide unnecessary visitor controls */

.bestgen-market-table
.dt-search,

.bestgen-market-table
.dt-length,

.bestgen-market-table
.dt-info,

.bestgen-market-table
.dt-paging,

.bestgen-market-table
.dataTables_filter,

.bestgen-market-table
.dataTables_length,

.bestgen-market-table
.dataTables_info,

.bestgen-market-table
.dataTables_paginate {

    display:
        none !important;
}


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

.bestgen-market-table *,
.bestgen-market-table *::before,
.bestgen-market-table *::after {

    box-sizing:
        border-box;
}


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

@media (min-width: 1693px) {

    .bestgen-market {

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

}


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

@media (max-width: 1400px) {

    .bestgen-market {

        --bestgen-market-side:
            32px;

        --padding-left:
            32px !important;

        --padding-right:
            32px !important;

        grid-template-columns:
            minmax(280px, 0.68fr)
            minmax(0, 1.32fr);

        column-gap:
            48px;
    }


    .bestgen-market-content {

        max-width:
            450px !important;
    }

}


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

@media (max-width: 1200px) {

    .bestgen-market {

        --bestgen-market-side:
            28px;

        --padding-left:
            28px !important;

        --padding-right:
            28px !important;

        padding-top:
            64px !important;

        padding-bottom:
            64px !important;

        --padding-top:
            64px !important;

        --padding-bottom:
            64px !important;

        grid-template-columns:
            minmax(250px, 0.58fr)
            minmax(0, 1.42fr);

        column-gap:
            34px;
    }


    .bestgen-market-table
    .tablepress thead th {

        padding:
            0 11px 12px 11px !important;

        font-size:
            10.5px !important;
    }


    .bestgen-market-table
    .tablepress tbody td {

        padding:
            14px 11px !important;

        font-size:
            13px !important;
    }

}


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

@media (max-width: 900px) {

    .bestgen-market {

        display:
            flex !important;

        flex-direction:
            column !important;

        align-items:
            stretch !important;

        gap:
            38px;
    }


    .bestgen-market-content {

        width:
            100% !important;

        max-width:
            650px !important;
    }


    .bestgen-market-table-wrap {

        width:
            100% !important;
    }

}


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

@media (max-width: 767px) {

    .bestgen-market {

        --bestgen-market-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:
            30px;
    }


    /*
       Button stays content-width.
       Elementor continues to control its appearance.
    */

    .bestgen-market-cta {

        width:
            auto !important;
    }


    /* Horizontal table scrolling */

    .bestgen-market-table {

        width:
            100% !important;

        overflow-x:
            auto;

        overflow-y:
            hidden;

        -webkit-overflow-scrolling:
            touch;
    }


    .bestgen-market-table
    .tablepress {

        min-width:
            620px;
    }


    .bestgen-market-table
    .tablepress thead th {

        padding:
            0 10px 11px 10px !important;
    }


    .bestgen-market-table
    .tablepress tbody td {

        padding:
            13px 10px !important;
    }

}


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

@media (max-width: 420px) {

    .bestgen-market {

        --bestgen-market-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;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bc0e977 *//* =========================================================
   BESTGEN — FAQ
   FINAL VERSION

   STRUCTURE:

   .bestgen-faq
      .bestgen-faq-inner
         .bestgen-faq-kicker
         .bestgen-faq-title
         .bestgen-faq-html
            .bestgen-faq-list
               .bestgen-faq-item
========================================================= */


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

.bestgen-faq {

    --bestgen-faq-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: 80px !important;
    padding-bottom: 80px !important;

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

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

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

    /*
       Background intentionally NOT defined.
       Set background directly in Elementor.
    */
}


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

.bestgen-faq > .e-con-inner,
.bestgen-faq.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;
}


/* =========================================================
   INNER
========================================================= */

.bestgen-faq-inner {

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

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

    align-items: center !important;
    justify-content: 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;
    --gap: 0px !important;
}


/* =========================================================
   FAQ KICKER
   HÄUFIGE FRAGEN
========================================================= */

.bestgen-faq-kicker {

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

    margin: 0 0 14px 0 !important;

    text-align: center !important;
}


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

    width: 100% !important;

    margin: 0 !important;

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

    font-weight: 500;

    line-height: 1.4;

    text-align: center !important;

    color: #000000 !important;

    /*
       Font size stays controlled in Elementor.
    */
}


/* =========================================================
   FAQ TITLE
   Kurz und ehrlich beantwortet
========================================================= */

.bestgen-faq-title {

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

    margin: 0 0 46px 0 !important;

    text-align: center !important;
}


.bestgen-faq-title
.elementor-heading-title {

    width: 100% !important;

    margin: 0 !important;

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

    font-weight: 500;

    line-height: 1.2;

    text-align: center !important;

    color: #000000 !important;

    /*
       Font size stays controlled in Elementor.
    */
}


/* =========================================================
   HTML WIDGET
========================================================= */

.bestgen-faq-html {

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

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


.bestgen-faq-html
.elementor-widget-container {

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

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


/* =========================================================
   FAQ LIST
========================================================= */

.bestgen-faq-list {

    width: 100%;
    max-width: 1080px;

    margin: 0 auto;
    padding: 0;

    box-sizing: border-box;

    border-top:
        1px solid
        rgba(0, 0, 0, 0.15);
}


/* =========================================================
   FAQ ITEM
========================================================= */

.bestgen-faq-item {

    width: 100%;

    margin: 0;
    padding: 0;

    box-sizing: border-box;

    border-bottom:
        1px solid
        rgba(0, 0, 0, 0.15);

    background: transparent;
}


/* Remove native browser marker */

.bestgen-faq-item > summary {

    list-style: none;
}


.bestgen-faq-item > summary::-webkit-details-marker {

    display: none;
}


/* =========================================================
   QUESTION
========================================================= */

.bestgen-faq-question {

    position: relative;

    width: 100%;

    display: flex;

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

    gap: 32px;

    box-sizing: border-box;

    margin: 0;

    padding:
        22px 4px;

    cursor: pointer;

    user-select: none;

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

    font-size: 16px;

    font-weight: 500;

    line-height: 1.45;

    color: #000000;

    transition:
        opacity 0.2s ease;
}


.bestgen-faq-question:hover {

    opacity: 0.65;
}


/* =========================================================
   PLUS / MINUS ICON
========================================================= */

.bestgen-faq-icon {

    position: relative;

    width: 20px;
    height: 20px;

    flex: 0 0 20px;

    color: #000000;
}


/* Horizontal line */

.bestgen-faq-icon::before {

    content: "";

    position: absolute;

    left: 3px;
    right: 3px;

    top: 50%;

    height: 1px;

    background:
        currentColor;

    transform:
        translateY(-50%);
}


/* Vertical line */

.bestgen-faq-icon::after {

    content: "";

    position: absolute;

    top: 3px;
    bottom: 3px;

    left: 50%;

    width: 1px;

    background:
        currentColor;

    transform:
        translateX(-50%);

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


/* Open = minus */

.bestgen-faq-item[open]
.bestgen-faq-icon::after {

    opacity: 0;

    transform:
        translateX(-50%)
        rotate(90deg);
}


/* =========================================================
   ANSWER
========================================================= */

.bestgen-faq-answer {

    width: 100%;
    max-width: 850px;

    box-sizing: border-box;

    padding:
        0 52px 24px 4px;

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

    font-size: 14px;

    font-weight: 400;

    line-height: 1.75;

    color: #666666;
}


.bestgen-faq-answer p {

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


.bestgen-faq-answer p:last-child {

    margin-bottom: 0;
}


/* =========================================================
   OPEN STATE
========================================================= */

.bestgen-faq-item[open]
.bestgen-faq-question {

    padding-bottom:
        14px;
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.bestgen-faq-question:focus {

    outline: none;
}


.bestgen-faq-question:focus-visible {

    outline:
        2px solid
        rgba(138, 149, 131, 0.55);

    outline-offset:
        5px;
}


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

@media (min-width: 1693px) {

    .bestgen-faq {

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

}


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

@media (max-width: 1400px) {

    .bestgen-faq {

        --bestgen-faq-side:
            32px;

        --padding-left:
            32px !important;

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


    .bestgen-faq-title {

        margin-bottom:
            42px !important;
    }

}


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

@media (max-width: 1200px) {

    .bestgen-faq {

        --bestgen-faq-side:
            28px;

        --padding-left:
            28px !important;

        --padding-right:
            28px !important;

        padding-top:
            64px !important;

        padding-bottom:
            64px !important;

        --padding-top:
            64px !important;

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


    .bestgen-faq-list {

        max-width:
            960px;
    }

}


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

@media (max-width: 767px) {

    .bestgen-faq {

        --bestgen-faq-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;
    }


    .bestgen-faq-kicker {

        margin-bottom:
            11px !important;
    }


    .bestgen-faq-title {

        margin-bottom:
            30px !important;
    }


    .bestgen-faq-question {

        gap:
            20px;

        padding:
            19px 2px;

        font-size:
            15px;
    }


    .bestgen-faq-answer {

        max-width:
            100%;

        padding:
            0 36px 21px 2px;

        font-size:
            14px;

        line-height:
            1.7;
    }


    .bestgen-faq-icon {

        width:
            18px;

        height:
            18px;

        flex-basis:
            18px;
    }

}


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

@media (max-width: 420px) {

    .bestgen-faq {

        --bestgen-faq-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-faq-question {

        font-size:
            14px;

        gap:
            16px;
    }


    .bestgen-faq-answer {

        padding-right:
            26px;
    }

}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3485c0d *//* =========================================================
   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-c7bd25a *//* =========================================================
   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","Poppins Fallback",
        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","Poppins Fallback",
        Arial,
        sans-serif;

    font-size:
        23px;

    font-weight:
        600;

    line-height:
        1.3;

    color:
        #17242E;
}


.bestgen-contact-form-intro {

    margin: 0;

    font-family:
        "Poppins","Poppins Fallback",
        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","Poppins Fallback",
        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","Poppins Fallback",
        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","Poppins Fallback",
        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 */
/* Start custom CSS *//* Mobile Hero: Gesicht oben sichtbar, Text darunter ueber dem Oberkoerper */
@media (max-width: 767px) {
  html body.page-id-584 .bestgen-hero {
    --bg-person: min(100vw, 430px);
    background-size: auto var(--bg-person) !important;
    background-position: 125% 0 !important;
    background-repeat: no-repeat !important;
    padding-top: calc(var(--bg-person) * 0.5) !important;
    padding-bottom: 32px !important;
    align-items: flex-start !important;
  }
  html body.page-id-584 .bestgen-hero::after {
    background: linear-gradient(to bottom, rgba(14,17,15,0) 0, rgba(14,17,15,0) calc(var(--bg-person) * 0.38), rgba(14,17,15,.8) calc(var(--bg-person) * 0.62), rgba(14,17,15,.94) calc(var(--bg-person) * 0.8), rgba(14,17,15,.94) 100%) !important;
  }
}
/* Anker #kontakt nicht unter der sticky Anker-Leiste (nur Desktop) */
@media (min-width: 901px) {
  html body.page-id-584 #kontakt { scroll-margin-top: 150px; }
}/* End custom CSS */