/* Native Elementor pages: the original CSS classes remain authoritative.
   Do not zero out padding/margins on page sections, as the previous version did. */
body.gvn-elementor-native{width:100%;max-width:100%;overflow-x:clip}
body.gvn-elementor-native .elementor{width:100%;max-width:none}
body.gvn-elementor-native .elementor > .e-con{width:100%;--container-max-width:100%}
body.gvn-elementor-native .e-con{min-width:0}
body.gvn-elementor-native .elementor-widget{min-width:0}
body.gvn-elementor-native .elementor-widget-text-editor p:last-child{margin-bottom:0}
body.gvn-elementor-native .elementor-widget-heading .elementor-heading-title{font-family:inherit;font-weight:700;line-height:inherit;color:inherit}
body.gvn-elementor-native .hero h1.elementor-heading-title{font-size:clamp(30px,4vw,48px);font-weight:800;line-height:1.08;color:#fff}
body.gvn-elementor-native .hero-slide h1.elementor-heading-title{font-size:clamp(40px,4.8vw,68px);font-weight:800;line-height:1.1;letter-spacing:-.8px}
body.gvn-elementor-native .hero .elementor-widget-text-editor p{color:inherit}
body.gvn-elementor-native .elementor .e-con:is(.services-grid,.gvn-card-grid,.gvn-download-grid,.gvn-price-grid,.gvn-list-grid,.gvn-news-list,.contact-grid,.grid,.footer-grid,.footer-top,.about-cols,.news-grid){display:grid}
body.gvn-elementor-native .elementor .e-con:is(.hero-btns,.gvn-actions,.contact-note-actions,.footer-bottom,.topbar-right,.nav-inner){display:flex;flex-direction:row;flex-wrap:wrap}
body.gvn-elementor-native .e-con.hero{padding:52px 32px;min-height:300px}
body.gvn-elementor-native .e-con.hero-inner{padding:0;max-width:1200px;width:100%;margin-inline:auto}
body.gvn-elementor-native .e-con.page{max-width:1200px;width:100%;margin-inline:auto;padding:46px 32px 70px}
body.gvn-elementor-native .elementor .e-con.section-inner{max-width:1200px;width:100%;margin-inline:auto}
body.gvn-elementor-native .e-con.section{padding-block:70px}
body.gvn-elementor-native .elementor .e-con.hero-slide{flex-direction:column}
body.gvn-elementor-native .gvn-el-img .elementor-widget-container img{max-width:100%;display:block}
body.gvn-elementor-native .gvn-el-img.scard-img img{height:100%;object-fit:cover}
body.gvn-elementor-native .gvn-el-img.hero-slide-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0}
body.gvn-elementor-native .gvn-el-img.hero-slide-bg .elementor-widget-container,body.gvn-elementor-native .gvn-el-img.hero-slide-bg img{width:100%;height:100%;object-fit:cover}
body.gvn-elementor-native .gvn-el-img.card-image .elementor-widget-container img{height:210px;width:100%;object-fit:cover}
body.gvn-elementor-native .gvn-vector-icon{width:24px;height:24px;max-width:24px;align-self:flex-start}
body.gvn-elementor-native .gvn-vector-icon img{height:24px;width:24px;object-fit:contain}
body.gvn-elementor-native .gvn-el-button{width:auto;max-width:100%;align-self:flex-start}
body.gvn-elementor-native .gvn-el-button .elementor-button{background:transparent;color:inherit;padding:0;border-radius:inherit;font:inherit}
body.gvn-elementor-native .gvn-el-button.gvn-button,body.gvn-elementor-native .gvn-el-button.btn{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.gvn-elementor-native .gvn-el-button.gvn-button .elementor-button{display:inline-flex;align-items:center;padding:11px 18px;border-radius:999px;color:#fff;background:linear-gradient(90deg,var(--green),var(--blue));font-weight:800;font-size:12px}
body.gvn-elementor-native .gvn-el-button.gvn-button-secondary .elementor-button{color:var(--blue);background:#fff;border:1px solid var(--border)}
body.gvn-elementor-native .gvn-el-button.btn .elementor-button{display:inline-flex;align-items:center;padding:12px 21px;border-radius:100px;font-weight:700}
body.gvn-elementor-native .gvn-el-button.btn-green .elementor-button{background:var(--green);color:#fff}
body.gvn-elementor-native .gvn-el-button.btn-ghost .elementor-button{border:1px solid rgba(255,255,255,.7);color:#fff}
body.gvn-elementor-native .elementor-widget-heading.sh-title .elementor-heading-title,body.gvn-elementor-native .elementor-widget-heading.card-title .elementor-heading-title{font-size:inherit;color:inherit}
body.gvn-elementor-native .gvn-elementor-text.lead p{font-size:inherit;line-height:inherit;color:inherit}
body.gvn-elementor-native .e-con .elementor-widget-text-editor{width:auto;max-width:100%}
body.gvn-elementor-native .elementor-widget-accordion.gvn-partner-accordion{width:100%}
body.gvn-elementor-native .gvn-partner-accordion .elementor-accordion .elementor-tab-title{border-radius:8px;background:#f4f8fb;margin-top:9px;font-weight:700}
body.gvn-elementor-native .gvn-partner-accordion .elementor-accordion .elementor-tab-content{padding:20px 16px;border:1px solid #e3eaf1}
body.gvn-elementor-native .gvn-partner-accordion .elementor-accordion .elementor-tab-content img{max-width:100%;height:auto}
body.gvn-elementor-native .gvn-widget-root{width:100%;min-width:0}
body.gvn-elementor-native .elementor .e-con .gvn-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
body.gvn-elementor-native .gvn-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
body.gvn-elementor-native .gvn-filter .gvn-search{flex:2 1 250px;max-width:none}
body.gvn-elementor-native .gvn-filter .gvn-city-select{flex:1 1 190px;min-width:170px;max-width:360px;min-height:48px;border:1px solid var(--border);border-radius:99px;padding:0 15px;background:#fff;color:var(--text);font:inherit}
body.gvn-elementor-native .gvn-directory-card[hidden],body.gvn-elementor-native .gvn-kasse-item[hidden],body.gvn-elementor-native [data-filter-item][hidden]{display:none!important}
@media(max-width:768px){body.gvn-elementor-native .e-con.hero{padding:34px 20px;min-height:240px}body.gvn-elementor-native .e-con.page{padding:28px 20px 54px}body.gvn-elementor-native .elementor .e-con.section{padding-block:40px}body.gvn-elementor-native .elementor .e-con:is(.services-grid,.gvn-card-grid,.gvn-download-grid,.gvn-price-grid,.gvn-list-grid,.gvn-news-list,.contact-grid,.grid,.news-grid,.about-cols){grid-template-columns:1fr}body.gvn-elementor-native .elementor .e-con .gvn-directory-grid{grid-template-columns:1fr}body.gvn-elementor-native .gvn-filter .gvn-city-select{max-width:none;width:100%}body.gvn-elementor-native .gvn-el-img.card-image img{height:220px}}

/* Slider uses positioned slides; keep the native Elementor containers aligned
   like their original semantic div/article elements. */
body.gvn-elementor-native .elementor .e-con.hero-slides{position:absolute;inset:0;z-index:2}
body.gvn-elementor-native .elementor .e-con.hero-slide{position:absolute;inset:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-start}
body.gvn-elementor-native .elementor .e-con.hero-slide .e-con.hero-inner{max-width:1200px;margin-inline:auto;width:100%}
body.gvn-elementor-native .elementor .e-con.hero-dots{position:absolute;left:0;right:0;bottom:26px;z-index:4;display:flex;flex-direction:row;justify-content:center;gap:10px;width:100%}
body.gvn-elementor-native .hero-dots>.elementor-widget{flex:0 0 10px;width:10px}
body.gvn-elementor-native .hero-dots .gvn-widget-root{width:10px;height:10px}
body.gvn-elementor-native .hero-dots .hero-dot{width:10px;height:10px;border-radius:50%;border:0;display:block;padding:0}

/* Center generic hero copy vertically just as the original flex-row hero does. */
body.gvn-elementor-native .elementor .e-con.hero:not(:has(.hero-slides)){justify-content:center}
