
/* KGV additions on top of the original KGV Dobritz theme engine. */
:root{--kgv-green:#b7cfa1;--kgv-dark:#1f4e2c;--kgv-light:#daf8be}

/* Desktop uses the requested sticky sidebar menu; original ST off-canvas nav remains mobile only. */
.kgv-layout-container{width:min(calc(100% - 40px),var(--st-content-width,1520px));max-width:var(--st-content-width,1520px);margin:28px auto 48px;display:grid;gap:var(--kgv-sidebar-gap,24px);align-items:stretch;min-width:0}
.kgv-layout-none{grid-template-columns:minmax(0,1fr)}
.kgv-layout-left{grid-template-columns:var(--kgv-sidebar-left-width,260px) minmax(0,1fr)}
.kgv-layout-right{grid-template-columns:minmax(0,1fr) var(--kgv-sidebar-right-width,280px)}
.kgv-layout-both{grid-template-columns:var(--kgv-sidebar-left-width,260px) minmax(0,1fr) var(--kgv-sidebar-right-width,280px)}
.kgv-content-column{min-width:0}.kgv-content-column>.entry-card,.kgv-post-list>.entry-card{margin:0 0 24px}
.kgv-desktop-sidebar{min-width:0;align-self:stretch;position:relative}.kgv-sidebar-sticky{display:grid;gap:18px;transform:translateX(var(--kgv-sidebar-offset-x,0px));will-change:transform}.kgv-sidebar-sticky-enabled .kgv-sidebar-sticky{position:sticky;top:18px}
.admin-bar.kgv-sidebar-sticky-enabled .kgv-sidebar-sticky{top:50px}
.kgv-sidebar-box{background:var(--kgv-sidebar-bg,#fff);border-radius:var(--kgv-sidebar-radius,10px);padding:15px;min-width:0}
.kgv-sidebar-frame-enabled .kgv-sidebar-box{border:var(--kgv-sidebar-border-width,1px) solid var(--kgv-sidebar-border,#dce5d8)}
.kgv-sidebar-menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0 10px;font-weight:800;color:var(--st-heading-color,var(--kgv-dark))}
.kgv-sidebar-account-popover{position:relative}.kgv-sidebar-account-popover .header-action{width:42px;height:42px;padding:0}.kgv-sidebar-account-popover .header-action svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.kgv-sidebar-account-popover .st-header-panel{left:0;right:auto;top:calc(100% + 8px);min-width:240px;z-index:50}
.kgv-desktop-sidebar-nav .primary-menu{display:block;margin:0;padding:0;list-style:none}.kgv-desktop-sidebar-nav .primary-menu>li{position:relative}.kgv-desktop-sidebar-nav .primary-menu>li>a{display:block;min-height:0;padding:11px 2px;font-size:var(--st-menu-size-desktop,15px);font-family:var(--st-navigation-font-family,inherit);font-weight:700;color:var(--st-navigation-color,var(--kgv-dark))}
.kgv-desktop-sidebar-nav .sub-menu{position:static!important;display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;box-shadow:none!important;border:0!important;background:transparent!important;list-style:none;margin:0;padding:0 0 5px 14px!important;min-width:0!important}.kgv-desktop-sidebar-nav .sub-menu a{display:block;padding:7px 2px;font-size:.92em}
.kgv-sidebar-separators-enabled .kgv-desktop-sidebar-nav .primary-menu>li+li,.kgv-sidebar-separators-enabled .kgv-sidebar-widget+.kgv-sidebar-widget{border-top:var(--kgv-sidebar-separator-width,1px) solid var(--kgv-sidebar-separator,#dce5d8)}
.kgv-sidebar-widget{padding:12px 0}.kgv-sidebar-widget:first-child{padding-top:0}.kgv-sidebar-widget:last-child{padding-bottom:0}.kgv-sidebar-widget .widget-title{margin:0 0 10px;color:var(--st-heading-color,var(--kgv-dark))}

/* Desktop header keeps artwork/logo features but the horizontal ST navigation is not used. */
@media(min-width:981px){
  .kgv-mobile-nav-row{display:none!important}.kgv-mobile-site-title{display:none!important}
  .kgv-st-base-header .header-main{grid-template-columns:1fr;justify-items:center}.kgv-st-base-header .header-actions{display:none!important}
}

/* Mobile: the original ST builder now has Logo | Website-Name | Menü. */
.kgv-mobile-site-title{min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:750;line-height:1.15;color:var(--st-navigation-color,var(--kgv-dark))}
.kgv-mobile-site-title a{color:inherit!important;text-decoration:none!important;display:block;white-space:normal;overflow-wrap:anywhere}
@media(max-width:980px){
  .kgv-layout-container{display:block;width:min(calc(100% - 20px),var(--st-max));margin:18px auto 36px}.kgv-desktop-sidebar{display:none!important}
  .kgv-st-base-header .header-main.st-mobile-builder-active{padding-left:12px!important;padding-right:12px!important}
  .kgv-st-base-header .st-mobile-header-layout{grid-template-columns:minmax(62px,1fr) minmax(0,2fr) minmax(62px,1fr)!important;width:100%!important;max-width:100%!important}
  .kgv-st-base-header .st-mobile-header-zone{min-width:0!important;max-width:100%!important;overflow:visible!important}
  .kgv-st-base-header .st-mobile-header-zone-left{justify-content:flex-start!important}.kgv-st-base-header .st-mobile-header-zone-center{justify-content:center!important}.kgv-st-base-header .st-mobile-header-zone-right{justify-content:flex-end!important}
  .kgv-st-base-header .st-mobile-header-zone .site-branding{position:static!important;transform:none!important;width:min(var(--st-mobile-logo-width,72px),100%)!important;max-width:100%!important;margin:0!important}
  .kgv-st-base-header .st-mobile-header-zone .site-branding .custom-logo-link{transform:none!important;width:100%!important;max-width:100%!important}.kgv-st-base-header .st-mobile-header-zone .site-branding .custom-logo{width:100%!important;height:auto!important;max-width:100%!important;max-height:calc(var(--st-mobile-header-height,90px) - 10px)!important}
  .kgv-mobile-site-title{font-size:clamp(13px,3.6vw,18px);padding:0 6px;width:100%;max-width:100%}
  .kgv-st-base-header .header-actions{margin:0!important;justify-content:flex-end!important}
  .kgv-st-base-header .menu-toggle{display:inline-flex!important}
  body.st-mobile-left-handed{--kgv-unused:0} /* Händigkeit ist in KGV nicht bedienbar; Layout bleibt rechtsorientiert. */
  .main-navigation .mobile-menu-links{margin-top:auto!important}.main-navigation .st-mobile-account-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}.main-navigation .st-mobile-account-links a{min-width:0;text-align:center}.main-navigation .st-mobile-account-logout{grid-column:1/-1;justify-self:center;min-width:140px}
}
@media(max-width:480px){.kgv-st-base-header .st-mobile-header-layout{grid-template-columns:64px minmax(0,1fr) 64px!important}.kgv-mobile-site-title{font-size:13px}.main-navigation{width:min(92vw,430px)!important;max-width:calc(100vw - 18px)!important}}

/* Existing KGV/UM frontend styling. */
.um{color:var(--kgv-um-color,#0f172a)!important;max-width:var(--kgv-um-width-desktop,60%)!important;margin-left:auto!important;margin-right:auto!important}.um input,.um textarea,.um select{color:inherit}.um .um-button,.um input[type=submit].um-button{background:var(--kgv-um-bg,#2e7d32)!important;color:var(--kgv-um-text,#fff)!important;border-radius:var(--kgv-um-radius,4px)!important}.um .um-button:hover,.um input[type=submit].um-button:hover{background:var(--kgv-um-hover,#1b5e20)!important}
@media(max-width:782px){.um{max-width:var(--kgv-um-width-mobile,100%)!important}}

/* Existing KGV content components from Additional CSS. */
.tribe-events-single-event-description{background:#fff;max-width:680px;margin:20px auto;padding:25px;border-radius:10px;box-shadow:0 4px 15px rgba(0,0,0,.08);color:#1f4e2c}
.kgv-header-info,.kgv-content-box,.kgv-contact-box,.kgv-hero-box{box-sizing:border-box}.kgv-title,.kgv-main-title,.kgv-box-title,.kgv-contact-title{color:#1f4e2c}.kgv-list,.kgv-program-list,.kgv-bullets{padding-left:1.25em}.download-list-container,.download-admin-container{max-width:100%}.download-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}.btn-download{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.hb-search-fields-and-submit,.hb-title-search-form{display:none!important}.kgv-vereinsheim-product .booking-section .hb-search-fields-and-submit,.kgv-vereinsheim-product .booking-section .hb-title-search-form{display:revert!important}

.kgv-legacy-footer-widgets{padding:28px 0;background:var(--st-footer-bg,var(--kgv-green))}.kgv-legacy-footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.kgv-trustindex-footer{padding:20px 0}.kgv-featured-image{margin:18px 0}.kgv-loop-image img{border-radius:var(--st-radius,22px);margin-bottom:16px}
@media(max-width:760px){.kgv-legacy-footer-grid{grid-template-columns:1fr}}

/* =========================================================
 * KGV 0.3.2 – mobiles Header-Grundlayout + dauerhaft sticky
 * Logo links | Website-Name Mitte | Menü rechts
 * ======================================================= */
@media (max-width: 980px) {
  .kgv-st-base-header.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99990 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .kgv-st-base-header > .header-main,
  .kgv-st-base-header > .header-main.st-mobile-builder-active {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
    box-sizing: border-box !important;
  }

  .kgv-st-base-header .st-mobile-header-layout {
    display: grid !important;
    grid-template-columns: minmax(48px, var(--st-mobile-logo-width, 72px)) minmax(0, 1fr) minmax(48px, var(--st-mobile-icon-button-size, 58px)) !important;
    align-items: center !important;
    gap: clamp(8px, 2.5vw, 16px) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .kgv-st-base-header .st-mobile-header-zone {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
  }
  .kgv-st-base-header .st-mobile-header-zone-left { justify-content: flex-start !important; }
  .kgv-st-base-header .st-mobile-header-zone-center { justify-content: center !important; overflow: hidden !important; }
  .kgv-st-base-header .st-mobile-header-zone-right { justify-content: flex-end !important; }

  .kgv-st-base-header .st-mobile-header-zone-left .site-branding {
    position: static !important;
    width: min(var(--st-mobile-logo-width, 72px), 100%) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }
  .kgv-st-base-header .site-branding .custom-logo-link {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }
  .kgv-st-base-header .site-branding .custom-logo {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: calc(var(--st-mobile-header-height, 90px) - 12px) !important;
    object-fit: contain !important;
  }

  .kgv-st-base-header .kgv-mobile-site-title {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: clamp(13px, 3.8vw, 20px) !important;
    line-height: 1.15 !important;
    font-weight: 750 !important;
    overflow: hidden !important;
  }
  .kgv-st-base-header .kgv-mobile-site-title a {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
  }

  .kgv-st-base-header .header-actions,
  .kgv-st-base-header .st-mobile-header-zone-right .menu-toggle {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  /* Der Header bleibt immer sticky. Die ST-Logik schaltet nach dem
     eingestellten Scrollpunkt lediglich auf die kompakte Höhe um. */
  body.st-mobile-sticky-enabled .kgv-st-base-header.site-header,
  body.st-mobile-sticky-enabled.st-mobile-sticky-active .kgv-st-base-header.site-header {
    position: sticky !important;
    top: 0 !important;
  }

  body.st-mobile-sticky-enabled.st-mobile-sticky-active
  .kgv-st-base-header .kgv-mobile-site-title {
    font-size: clamp(12px, 3.3vw, 17px) !important;
  }
}

@media (max-width: 480px) {
  .kgv-st-base-header .st-mobile-header-layout {
    grid-template-columns: minmax(46px, min(var(--st-mobile-logo-width, 64px), 64px)) minmax(0, 1fr) minmax(46px, min(var(--st-mobile-icon-button-size, 54px), 54px)) !important;
    gap: 8px !important;
  }
  .kgv-st-base-header .kgv-mobile-site-title { font-size: clamp(12px, 3.5vw, 16px) !important; }
}

/* =========================================================
 * KGV 0.3.3 – Desktop-Header sauber auf KGV ausrichten
 * Logo links / verschiebbar | Website-Name Mitte
 * ======================================================= */
@media (min-width:981px){
  .kgv-st-base-header .header-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    align-items:center!important;
    width:min(calc(100% - 40px),var(--st-max))!important;
    margin-inline:auto!important;
    gap:20px!important;
    justify-items:stretch!important;
  }
  .kgv-st-base-header .header-main>.site-branding{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
    justify-content:var(--st-logo-justify,flex-start)!important;
  }
  .kgv-st-base-header .header-main>.site-branding .custom-logo-link{
    transform:translate(var(--st-logo-offset-x,0px),var(--st-logo-offset-y,0px))!important;
  }
  .kgv-st-base-header .kgv-header-site-title,
  .kgv-st-base-header .kgv-mobile-site-title{
    display:flex!important;
    grid-column:2!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    min-width:0!important;
    color:var(--kgv-header-title-color,#1f4e2c)!important;
    font-family:var(--st-font-headings,inherit)!important;
    font-size:var(--kgv-header-title-size-desktop,30px)!important;
    font-weight:var(--kgv-header-title-weight,700)!important;
    line-height:1.15!important;
  }
  .kgv-st-base-header .kgv-header-site-title a,
  .kgv-st-base-header .kgv-mobile-site-title a{
    color:inherit!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }
  .kgv-st-base-header .header-main>.header-actions{
    grid-column:3!important;
    display:block!important;
    visibility:hidden!important;
    pointer-events:none!important;
    min-width:1px!important;
  }
  .kgv-mobile-nav-row{display:none!important}
}

/* =========================================================
 * KGV 0.3.3 – Seitencontainer wieder mit eigenem Verlauf
 * ======================================================= */
body{background:var(--st-page-outer-background,var(--st-bg,#b7cfa1))!important}
.kgv-content-column>.kgv-page-card,
.kgv-post-list>.entry-card{
  width:min(100%,var(--st-page-content-width,1240px));
  margin-inline:auto;
  background:var(--st-page-card-background,linear-gradient(135deg,#f7fbf5 0%,#e8f2e1 58%,#d4e6c6 100%));
  border:var(--st-page-border-width,1px) var(--st-page-border-style,solid) var(--st-page-border-color,#dce5d8);
  border-radius:var(--st-page-radius,22px);
  box-shadow:var(--st-page-shadow,0 8px 28px rgba(31,78,44,.08));
  padding:var(--st-page-padding-desktop,30px);
  color:var(--st-page-text-color,var(--st-text));
}
.kgv-content-column>.kgv-page-card .entry-title,
.kgv-post-list>.entry-card .entry-title{color:var(--st-page-heading-color,var(--st-heading-color,#1f4e2c))}
@media(max-width:980px){
  .kgv-content-column>.kgv-page-card,
  .kgv-post-list>.entry-card{padding:var(--st-page-padding-mobile,14px)}
  .kgv-st-base-header .kgv-header-site-title,
  .kgv-st-base-header .kgv-mobile-site-title{font-size:var(--kgv-header-title-size-mobile,16px)!important}
}

/* =========================================================
 * KGV 0.3.3 – Desktop-Seitenleistenmenü als Akkordeon
 * ======================================================= */
@media(min-width:981px){
  .kgv-desktop-sidebar-nav .primary-menu>li,
  .kgv-desktop-sidebar-nav .sub-menu>li{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) 38px!important;align-items:center!important}
  .kgv-desktop-sidebar-nav .primary-menu>li>a,
  .kgv-desktop-sidebar-nav .sub-menu>li>a{grid-column:1!important;min-width:0!important;padding-right:8px!important}
  .kgv-desktop-sidebar-nav .kgv-sidebar-submenu-toggle{
    grid-column:2!important;
    grid-row:1!important;
    appearance:none!important;
    border:0!important;
    width:34px!important;
    height:34px!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:color-mix(in srgb,var(--kgv-sidebar-bg,#fff) 65%,var(--st-color-secondary,#daf8be))!important;
    color:var(--st-navigation-color,#1f4e2c)!important;
    cursor:pointer!important;
  }
  .kgv-desktop-sidebar-nav .kgv-sidebar-submenu-toggle .st-submenu-chevron{display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .18s ease}
  .kgv-desktop-sidebar-nav .submenu-open>.kgv-sidebar-submenu-toggle .st-submenu-chevron{transform:rotate(225deg) translate(-1px,-1px)}
  body.kgv-sidebar-menu-collapsible .kgv-desktop-sidebar-nav .sub-menu{
    grid-column:1/-1!important;
    display:none!important;
    position:static!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    box-shadow:none!important;
    border:0!important;
    background:transparent!important;
    list-style:none!important;
    margin:0!important;
    padding:2px 0 7px 14px!important;
    min-width:0!important;
  }
  body.kgv-sidebar-menu-collapsible .kgv-desktop-sidebar-nav .submenu-open>.sub-menu{display:block!important}
  body:not(.kgv-sidebar-menu-collapsible) .kgv-desktop-sidebar-nav .sub-menu{display:block!important}
}

/* Footer-Container sind die einzige Footer-Ausgabe. */
.site-footer .st-footer-builder-grid{width:100%;max-width:100%}
.site-footer .st-footer-builder-item .widget{margin:0}

/* KGV 0.3.4 – mobiler Kontobereich ohne doppelten Mitgliederbereich. */
@media(max-width:980px){
  .main-navigation .st-mobile-account-links.is-logged-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .main-navigation .st-mobile-account-links.is-logged-in .st-mobile-account-logout{grid-column:auto!important;justify-self:stretch!important;min-width:0!important}
}

/* KGV 0.3.4 – Sticky-Desktop-Seitenleiste braucht einen hohen Grid-Träger. */
@media(min-width:981px){
  .kgv-layout-container{align-items:stretch!important}
  .kgv-desktop-sidebar{align-self:stretch!important;height:100%!important}
  .kgv-sidebar-sticky-enabled .kgv-desktop-sidebar .kgv-sidebar-sticky{position:sticky!important;top:18px!important}
  .admin-bar.kgv-sidebar-sticky-enabled .kgv-desktop-sidebar .kgv-sidebar-sticky{top:50px!important}
}


/* =========================================================
 * KGV 0.3.7 – Desktop-Menü frei wählbar: Seitenleiste / Header
 * Mobile bleibt immer das originale Off-Canvas-Menü.
 * ======================================================= */
@media (min-width:981px){
  body.kgv-desktop-menu-sidebar .kgv-mobile-nav-row{display:none!important}
  body.kgv-desktop-menu-header .kgv-mobile-nav-row{display:block!important}

  body.kgv-desktop-menu-header .kgv-st-base-header .st-nav-row{
    position:relative!important;
    z-index:30!important;
    border-top:1px solid color-mix(in srgb,var(--st-navigation-color,#1f4e2c) 14%,transparent)!important;
    background:var(--st-desktop-menu-background-color,var(--st-header-bg-color,#b7cfa1))!important;
  }
  body.kgv-desktop-menu-header .kgv-st-base-header .st-desktop-nav-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    align-items:center!important;
    gap:14px!important;
    width:min(calc(100% - 32px),var(--st-header-content-width,1600px))!important;
    margin-inline:auto!important;
  }
  body.kgv-desktop-menu-header .kgv-st-base-header .main-navigation{
    display:block!important;
    position:static!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    overflow:visible!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  body.kgv-desktop-menu-header .kgv-st-base-header .main-navigation .mobile-menu-head,
  body.kgv-desktop-menu-header .kgv-st-base-header .main-navigation .mobile-menu-links{
    display:none!important;
  }
  body.kgv-desktop-menu-header .kgv-st-base-header .main-navigation .mobile-menu-scroll{
    display:block!important;
    overflow:visible!important;
    padding:0!important;
    height:auto!important;
  }
  body.kgv-desktop-menu-header .kgv-st-base-header .primary-menu{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:var(--st-desktop-menu-gap,18px)!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  body.kgv-desktop-menu-header .kgv-st-base-header .primary-menu>li>a{
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    white-space:nowrap!important;
  }
  body.kgv-desktop-menu-header .kgv-header-menu-account{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    position:relative!important;
  }
  body.kgv-desktop-menu-header .kgv-header-menu-account .header-action{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    padding:0!important;
  }
  body.kgv-desktop-menu-header .kgv-header-menu-account .header-action svg{
    width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important
  }
  body.kgv-desktop-menu-header .kgv-header-menu-account .st-header-panel{
    right:0!important;left:auto!important;top:calc(100% + 8px)!important;min-width:240px!important;z-index:100!important
  }
}
@media (max-width:980px){.kgv-header-menu-account{display:none!important}}


/* KGV 0.3.8 – viewport-stabile Desktop-Seitenleiste.
 * JS übernimmt nach dem Andocken mit position:fixed, damit der Menüblock nicht
 * mehr am unteren Ende des Content-Grids aus dem Viewport geschoben wird. */
@media (min-width:981px){
  .kgv-sidebar-sticky.kgv-sidebar-fixed-active{
    box-sizing:border-box!important;
    margin:0!important;
    scrollbar-gutter:stable;
    overscroll-behavior:contain;
  }
  .kgv-sidebar-sticky.kgv-sidebar-fixed-active::-webkit-scrollbar{width:8px}
}

/* =========================================================
 * KGV 0.3.10 – Kontopanel über Sidebar-Untermenübuttons
 * Das Desktop-Kontopanel darf nicht von den runden
 * Akkordeon-Buttons der Navigation überzeichnet werden.
 * ======================================================= */
@media (min-width:981px){
  .kgv-sidebar-menu-box{
    position:relative!important;
    overflow:visible!important;
    isolation:isolate;
  }
  .kgv-sidebar-menu-head{
    position:relative!important;
    z-index:200!important;
  }
  .kgv-sidebar-account-popover{
    position:relative!important;
    z-index:210!important;
  }
  .kgv-sidebar-account-popover.is-open,
  .kgv-sidebar-account-popover.is-hover-open{
    z-index:10000!important;
  }
  .kgv-sidebar-account-popover .st-header-panel{
    z-index:10001!important;
  }
  .kgv-desktop-sidebar-nav{
    position:relative!important;
    z-index:1!important;
  }
  .kgv-desktop-sidebar-nav .kgv-sidebar-submenu-toggle{
    position:relative!important;
    z-index:1!important;
  }
}

/* =========================================================
 * KGV 0.3.11 – Seitenleisten-Menü wird beim Desktop-Sticky
 * automatisch in den kompakten Header übernommen.
 *
 * Normalzustand: vertikal in der Seitenleiste und mitscrollend.
 * Sticky-Zustand: horizontales Menü im ST-Mini-Header.
 * ======================================================= */
@media (min-width:981px){
  /* Bei Seitenleisten-Menü ist die Sidebar selbst nicht mehr sticky/fixed. */
  body.kgv-desktop-menu-sidebar.kgv-sidebar-sticky-enabled .kgv-desktop-sidebar .kgv-sidebar-sticky{
    position:static!important;
    top:auto!important;
  }
  body.kgv-desktop-menu-sidebar .kgv-sidebar-sticky.kgv-sidebar-fixed-active{
    position:static!important;
    top:auto!important;
    left:auto!important;
    width:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  /* Solange der Mini-Sticky nicht aktiv ist, bleibt die Header-Navigation aus. */
  body.kgv-desktop-menu-sidebar:not(.st-laptop-mini-visible) .kgv-st-base-header .kgv-mobile-nav-row{
    display:none!important;
  }

  /* Beim ST-Mini-Sticky übernimmt dieselbe Navigation den Header. */
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-st-base-header.is-laptop-mini .kgv-mobile-nav-row{
    display:block!important;
  }

  /* Das vertikale Seitenleisten-Menü ist im Sticky-Zustand nicht doppelt sichtbar. */
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-sidebar-menu-box{
    visibility:hidden!important;
    pointer-events:none!important;
  }

  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-st-base-header.is-laptop-mini .st-desktop-nav-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    align-items:center!important;
    gap:14px!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
  }
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-st-base-header.is-laptop-mini .main-navigation{
    display:block!important;
    position:static!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100%!important;
    overflow:visible!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-st-base-header.is-laptop-mini .main-navigation .mobile-menu-head,
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-st-base-header.is-laptop-mini .main-navigation .mobile-menu-links{
    display:none!important;
  }
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-st-base-header.is-laptop-mini .main-navigation .mobile-menu-scroll{
    display:block!important;
    width:100%!important;
    height:100%!important;
    overflow:visible!important;
    padding:0!important;
  }
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-st-base-header.is-laptop-mini .primary-menu{
    display:flex!important;
    width:max-content!important;
    max-width:none!important;
    height:100%!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:var(--st-laptop-mini-menu-gap,var(--st-desktop-menu-gap,14px))!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-st-base-header.is-laptop-mini .primary-menu>li>a{
    display:flex!important;
    align-items:center!important;
    min-height:var(--st-laptop-mini-header-height,58px)!important;
    white-space:nowrap!important;
    font-size:var(--st-laptop-mini-auto-font-size,var(--st-laptop-mini-menu-size,17px))!important;
  }

  /* Konto-Symbol rechts wird nur im Header-Menü oder im übernommenen Sticky-Menü gezeigt. */
  body.kgv-desktop-menu-sidebar:not(.st-laptop-mini-visible) .kgv-header-menu-account{
    display:none!important;
  }
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-st-base-header.is-laptop-mini .kgv-header-menu-account{
    display:flex!important;
    position:relative!important;
    align-items:center!important;
    justify-content:flex-end!important;
    z-index:700!important;
    pointer-events:auto!important;
  }
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-header-menu-account .header-action{
    display:inline-flex!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    padding:0!important;
  }
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-header-menu-account .header-action svg{
    width:22px!important;
    height:22px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
  }
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible .kgv-header-menu-account .st-header-panel{
    right:0!important;
    left:auto!important;
    top:calc(100% + 8px)!important;
    min-width:240px!important;
    z-index:10000!important;
  }
}


/* =========================================================
 * KGV 0.3.12 – Desktop-Sticky bewusst ohne Branding.
 * Im kompakten Sticky bleiben ausschließlich Navigation und Konto/Login.
 * Der normale Header darüber behält Logo + Website-Name.
 * ======================================================= */
@media (min-width:981px){
  .kgv-st-base-header.is-laptop-mini > .header-main > .site-branding,
  .kgv-st-base-header.is-laptop-mini > .header-main > .kgv-header-site-title,
  .kgv-st-base-header.is-laptop-mini > .header-main > .kgv-mobile-site-title,
  .kgv-st-base-header.is-laptop-mini > .header-main > .header-actions{
    display:none!important;
  }

  .kgv-st-base-header.is-laptop-mini > .header-main{
    grid-template-columns:1fr!important;
    min-height:var(--st-laptop-mini-header-height,58px)!important;
  }
}


/* =========================================================
 * KGV 0.3.13 – mobiles Header-Layout endgültig fixieren
 * Logo links | Website-Name Mitte | Menü rechts
 * Auch als Fallback bevor/ohne JS-Builder.
 * ======================================================= */
@media (max-width:980px){
  .kgv-st-base-header .header-main:not(.st-mobile-builder-active){
    display:grid!important;
    grid-template-columns:minmax(48px,var(--st-mobile-logo-width,72px)) minmax(0,1fr) minmax(48px,var(--st-mobile-icon-button-size,58px))!important;
    align-items:center!important;
    gap:clamp(8px,2.5vw,16px)!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .kgv-st-base-header .header-main:not(.st-mobile-builder-active)>.site-branding{
    grid-column:1!important;
    grid-row:1!important;
    position:static!important;
    transform:none!important;
    justify-self:start!important;
    align-self:center!important;
    width:min(var(--st-mobile-logo-width,72px),100%)!important;
    margin:0!important;
  }
  .kgv-st-base-header .header-main:not(.st-mobile-builder-active)>.kgv-mobile-site-title{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:stretch!important;
    align-self:center!important;
    margin:0!important;
  }
  .kgv-st-base-header .header-main:not(.st-mobile-builder-active)>.header-actions{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
  }
  .kgv-st-base-header .st-mobile-header-zone-left>.site-branding{order:0!important}
  .kgv-st-base-header .st-mobile-header-zone-center>.kgv-mobile-site-title{order:0!important}
  .kgv-st-base-header .st-mobile-header-zone-right>.menu-toggle{order:0!important}
}

/* =========================================================
 * KGV 0.3.14 – ruhige Desktop-Sticky-Dropdowns
 * 1. Ebene: immer direkt unter dem Hauptmenüpunkt.
 * Weitere Ebenen: seitlich neben dem Elternpunkt; bei Bedarf links.
 * Keine Einfahr-/Translate-Animation mehr.
 * ======================================================= */
@media (min-width:981px){
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible
  .kgv-st-base-header.is-laptop-mini .primary-menu .menu-item-has-children{
    position:relative!important;
  }

  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible
  .kgv-st-base-header.is-laptop-mini .primary-menu .sub-menu{
    display:block!important;
    position:absolute!important;
    margin:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    transition:opacity .12s ease,visibility .12s linear!important;
    z-index:10000!important;
  }

  /* Erste Ebene exakt unter dem zugehörigen Hauptmenüpunkt. */
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible
  .kgv-st-base-header.is-laptop-mini .primary-menu>li>.sub-menu{
    top:calc(100% - 1px)!important;
    left:0!important;
    right:auto!important;
  }

  /* Falls am rechten Fensterrand kein Platz ist, rechts am Elternpunkt ausrichten. */
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible
  .kgv-st-base-header.is-laptop-mini .primary-menu>li.st-submenu-align-right>.sub-menu{
    left:auto!important;
    right:0!important;
  }

  /* Weitere Ebenen ohne Lücke seitlich neben dem gewählten Eintrag. */
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible
  .kgv-st-base-header.is-laptop-mini .primary-menu .sub-menu .menu-item-has-children>.sub-menu{
    top:-10px!important;
    left:calc(100% - 1px)!important;
    right:auto!important;
  }

  /* Automatisches Aufklappen nach links, wenn rechts der Platz fehlt. */
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible
  .kgv-st-base-header.is-laptop-mini .primary-menu .sub-menu .menu-item-has-children.st-submenu-open-left>.sub-menu{
    left:auto!important;
    right:calc(100% - 1px)!important;
  }

  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible
  .kgv-st-base-header.is-laptop-mini .primary-menu .menu-item-has-children:hover>.sub-menu,
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible
  .kgv-st-base-header.is-laptop-mini .primary-menu .menu-item-has-children:focus-within>.sub-menu,
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible
  .kgv-st-base-header.is-laptop-mini .primary-menu .menu-item-has-children.submenu-open>.sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  /* Untermenüzeilen selbst bleiben kompakt und bilden stabile Anker für Ebene 2+. */
  body.kgv-desktop-menu-sidebar.st-laptop-mini-visible
  .kgv-st-base-header.is-laptop-mini .primary-menu .sub-menu>li{
    position:relative!important;
  }
}


/* =========================================================
 * KGV 0.3.15 – finaler mobiler Header ohne ST-Overlap-Builder
 * Direkte Struktur: Logo links | Website-Name Mitte | Menü rechts
 * ======================================================= */
@media (max-width:980px){
  body .kgv-st-base-header > .header-main,
  body .kgv-st-base-header > .header-main:not(.st-mobile-builder-active){
    --kgv-mobile-side-width:clamp(64px,20vw,96px);
    position:relative!important;
    display:grid!important;
    grid-template-columns:var(--kgv-mobile-side-width) minmax(0,1fr) var(--kgv-mobile-side-width)!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    justify-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-left:max(10px,env(safe-area-inset-left))!important;
    padding-right:max(10px,env(safe-area-inset-right))!important;
    box-sizing:border-box!important;
  }

  body .kgv-st-base-header > .header-main > .site-branding,
  body.st-mobile-logo-overlap .kgv-st-base-header > .header-main > .site-branding,
  body.st-mobile-logo-inline .kgv-st-base-header > .header-main > .site-branding,
  body:not(.st-mobile-left-handed) .kgv-st-base-header > .header-main > .site-branding,
  body.st-mobile-left-handed .kgv-st-base-header > .header-main > .site-branding{
    grid-column:1!important;
    grid-row:1!important;
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    justify-self:start!important;
    align-self:center!important;
    width:min(var(--st-mobile-logo-width,72px),var(--kgv-mobile-side-width))!important;
    max-width:var(--kgv-mobile-side-width)!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    transform:none!important;
  }

  body .kgv-st-base-header > .header-main > .site-branding .custom-logo-link,
  body.st-mobile-logo-overlap .kgv-st-base-header > .header-main > .site-branding .custom-logo-link{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
    transform:none!important;
  }

  body .kgv-st-base-header > .header-main > .site-branding .custom-logo,
  body.st-mobile-logo-overlap .kgv-st-base-header > .header-main > .site-branding .custom-logo{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:min(calc(var(--st-mobile-header-height,90px) - 12px),82px)!important;
    margin:0!important;
    object-fit:contain!important;
    transform:none!important;
  }

  body .kgv-st-base-header > .header-main > .kgv-mobile-site-title,
  body .kgv-st-base-header > .header-main > .kgv-header-site-title{
    grid-column:2!important;
    grid-row:1!important;
    position:static!important;
    inset:auto!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:stretch!important;
    align-self:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 2px!important;
    text-align:center!important;
    transform:none!important;
    overflow:hidden!important;
  }

  body .kgv-st-base-header > .header-main > .kgv-mobile-site-title a,
  body .kgv-st-base-header > .header-main > .kgv-header-site-title a{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  body .kgv-st-base-header > .header-main > .header-actions,
  body:not(.st-mobile-left-handed) .kgv-st-base-header > .header-main > .header-actions,
  body.st-mobile-left-handed .kgv-st-base-header > .header-main > .header-actions{
    grid-column:3!important;
    grid-row:1!important;
    position:static!important;
    z-index:3!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    justify-self:end!important;
    align-self:center!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }

  body .kgv-st-base-header > .header-main > .header-actions .menu-toggle{
    display:inline-flex!important;
    flex:0 0 auto!important;
    margin:0!important;
  }
}

@media (max-width:480px){
  body .kgv-st-base-header > .header-main,
  body .kgv-st-base-header > .header-main:not(.st-mobile-builder-active){
    --kgv-mobile-side-width:clamp(58px,19vw,78px);
    gap:6px!important;
  }
}


/* =========================================================
 * KGV 0.3.16 – einfacher mobiler Header ohne ST-Bild/Overlap-Engine
 * Logo links | Website-Name exakt mittig | Hamburger rechts
 * ======================================================= */
@media (max-width:980px){
  body.kgv-mobile-header-simple .kgv-st-base-header.site-header{
    position:sticky!important;
    top:0!important;
    z-index:99990!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    overflow:visible!important;
    background:var(--kgv-mobile-header-bg,#b7cfa1)!important;
    background-image:none!important;
  }

  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main,
  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main:not(.st-mobile-builder-active){
    --kgv-mobile-side-width:max(var(--st-mobile-logo-width,64px),var(--st-mobile-icon-button-size,52px));
    position:relative!important;
    display:grid!important;
    grid-template-columns:var(--kgv-mobile-side-width) minmax(0,1fr) var(--kgv-mobile-side-width)!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    gap:var(--kgv-mobile-header-gap,8px)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:var(--kgv-mobile-header-height,86px)!important;
    min-height:var(--kgv-mobile-header-height,86px)!important;
    max-height:var(--kgv-mobile-header-height,86px)!important;
    aspect-ratio:auto!important;
    margin:0!important;
    padding:0 max(var(--kgv-mobile-header-padding-x,12px),env(safe-area-inset-right)) 0 max(var(--kgv-mobile-header-padding-x,12px),env(safe-area-inset-left))!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    background:var(--kgv-mobile-header-bg,#b7cfa1)!important;
    background-image:none!important;
    transform:none!important;
  }

  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main::before,
  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main::after{
    content:none!important;
    display:none!important;
  }

  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main>.site-branding{
    grid-column:1!important;
    grid-row:1!important;
    position:static!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    justify-self:start!important;
    align-self:center!important;
    width:min(var(--st-mobile-logo-width,64px),var(--kgv-mobile-side-width))!important;
    max-width:var(--kgv-mobile-side-width)!important;
    min-width:0!important;
    height:auto!important;
    max-height:calc(var(--kgv-mobile-header-height,86px) - 12px)!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    overflow:visible!important;
  }

  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main>.site-branding .custom-logo-link{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
    transform:none!important;
  }

  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main>.site-branding .custom-logo{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    max-height:calc(var(--kgv-mobile-header-height,86px) - 12px)!important;
    object-fit:contain!important;
    margin:0!important;
    transform:none!important;
  }

  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main>.kgv-mobile-site-title,
  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main>.kgv-header-site-title{
    grid-column:2!important;
    grid-row:1!important;
    position:static!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:stretch!important;
    align-self:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:0 2px!important;
    color:var(--kgv-header-title-color,#1f4e2c)!important;
    font-size:var(--kgv-header-title-size-mobile,16px)!important;
    font-weight:var(--kgv-header-title-weight,700)!important;
    line-height:1.15!important;
    text-align:center!important;
    transform:none!important;
    overflow:hidden!important;
  }

  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main>.kgv-mobile-site-title a,
  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main>.kgv-header-site-title a{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    color:inherit!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main>.header-actions{
    grid-column:3!important;
    grid-row:1!important;
    position:static!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    justify-self:end!important;
    align-self:center!important;
    width:var(--kgv-mobile-side-width)!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }

  body.kgv-mobile-header-simple .kgv-st-base-header>.header-main>.header-actions .menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:var(--st-mobile-icon-button-size,52px)!important;
    height:var(--st-mobile-icon-button-size,52px)!important;
    margin:0!important;
    transform:none!important;
  }

  /* Beim Scrollen wird nur dieselbe Zeile kompakter – kein zweiter Header und kein Logo-Overlap. */
  body.kgv-mobile-header-simple.st-mobile-sticky-active .kgv-st-base-header>.header-main{
    height:var(--st-mobile-sticky-height,64px)!important;
    min-height:var(--st-mobile-sticky-height,64px)!important;
    max-height:var(--st-mobile-sticky-height,64px)!important;
    background-image:none!important;
  }
  body.kgv-mobile-header-simple.st-mobile-sticky-active .kgv-st-base-header>.header-main>.site-branding,
  body.kgv-mobile-header-simple.st-mobile-sticky-active .kgv-st-base-header>.header-main>.site-branding .custom-logo{
    max-height:calc(var(--st-mobile-sticky-height,64px) - 10px)!important;
  }
}


/* =========================================================
 * KGV 0.3.19 – Mobile und Desktop strikt getrennt
 *
 * Der normale Mobile-Header bleibt im Dokumentfluss. Beim Scrollen wird
 * ausschließlich die separate KGV-Sticky-Leiste eingeblendet. Damit
 * greifen keine alten Desktop/ST-Sticky-Geometrien mehr in den mobilen
 * Header hinein.
 * ======================================================= */
.kgv-mobile-sticky-bar{
  display:none!important;
}

@media (min-width:981px){
  .kgv-mobile-sticky-bar{
    display:none!important;
  }
}

@media (max-width:980px){
  /* Der normale KGV-Mobile-Header bleibt immer ein normales Element. */
  body.kgv-mobile-header-simple .kgv-st-base-header.site-header,
  body.kgv-mobile-header-simple.st-mobile-sticky-enabled .kgv-st-base-header.site-header,
  body.kgv-mobile-header-simple.st-mobile-sticky-enabled.st-mobile-sticky-active .kgv-st-base-header.site-header,
  body.kgv-mobile-header-simple.st-mobile-sticky-enabled.kgv-mobile-sticky-active .kgv-st-base-header.site-header{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    translate:none!important;
    transform:none!important;
    z-index:1000!important;
    overflow:visible!important;
  }

  /* Auch bei aktivem Sticky bleibt der normale Header in seiner Normalhöhe.
     Er scrollt einfach nach oben aus dem Bild; nur die separate Leiste bleibt. */
  body.kgv-mobile-header-simple.kgv-mobile-sticky-active .kgv-st-base-header.site-header>.header-main,
  body.kgv-mobile-header-simple.kgv-mobile-sticky-active .kgv-st-base-header.site-header>.header-main:not(.st-mobile-builder-active){
    height:var(--kgv-mobile-header-height,86px)!important;
    min-height:var(--kgv-mobile-header-height,86px)!important;
    max-height:var(--kgv-mobile-header-height,86px)!important;
    background:var(--kgv-mobile-header-bg,#b7cfa1)!important;
    background-image:none!important;
    transform:none!important;
    translate:none!important;
    overflow:visible!important;
  }

  body.kgv-mobile-header-simple.kgv-mobile-sticky-active>.st-mobile-sticky-spacer{
    display:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
  }

  /* Eigenständiger kompakter Sticky. Standardmäßig vollständig unsichtbar. */
  body.kgv-mobile-header-simple .kgv-mobile-sticky-bar{
    display:none!important;
  }

  body.kgv-mobile-header-simple.st-mobile-sticky-enabled.kgv-mobile-sticky-active .kgv-mobile-sticky-bar{
    --kgv-mobile-sticky-side-width:max(
      min(var(--st-mobile-sticky-logo-width,64px),72px),
      min(var(--st-mobile-icon-button-size,52px),52px)
    );
    position:fixed!important;
    z-index:100000!important;
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    display:grid!important;
    grid-template-columns:var(--kgv-mobile-sticky-side-width) minmax(0,1fr) var(--kgv-mobile-sticky-side-width)!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    gap:var(--kgv-mobile-header-gap,8px)!important;
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    height:var(--st-mobile-sticky-height,64px)!important;
    min-height:var(--st-mobile-sticky-height,64px)!important;
    max-height:var(--st-mobile-sticky-height,64px)!important;
    margin:0!important;
    padding:0 max(var(--kgv-mobile-header-padding-x,12px),env(safe-area-inset-right)) 0 max(var(--kgv-mobile-header-padding-x,12px),env(safe-area-inset-left))!important;
    box-sizing:border-box!important;
    background:var(--st-mobile-sticky-menu-background-color,var(--kgv-mobile-header-bg,#b7cfa1))!important;
    background-image:none!important;
    border:0!important;
    border-bottom:1px solid rgba(31,78,44,.12)!important;
    box-shadow:0 7px 22px rgba(0,0,0,.10)!important;
    transform:none!important;
    translate:none!important;
    overflow:hidden!important;
  }

  .kgv-mobile-sticky-logo{
    grid-column:1!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:var(--kgv-mobile-sticky-side-width)!important;
    min-width:0!important;
    max-width:var(--kgv-mobile-sticky-side-width)!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .kgv-mobile-sticky-logo .custom-logo-link{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    max-width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    translate:none!important;
    line-height:0!important;
  }
  .kgv-mobile-sticky-logo .custom-logo{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    max-height:calc(var(--st-mobile-sticky-height,64px) - 10px)!important;
    object-fit:contain!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    translate:none!important;
  }

  .kgv-mobile-sticky-title{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0 4px!important;
    overflow:hidden!important;
    color:var(--kgv-header-title-color,#1f4e2c)!important;
    font-family:var(--st-font-headings,inherit)!important;
    font-size:clamp(12px,var(--kgv-header-title-size-mobile,16px),17px)!important;
    font-weight:var(--kgv-header-title-weight,700)!important;
    line-height:1.1!important;
    text-align:center!important;
  }
  .kgv-mobile-sticky-title a{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    color:inherit!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-align:center!important;
  }

  .kgv-mobile-sticky-actions{
    grid-column:3!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:var(--kgv-mobile-sticky-side-width)!important;
    min-width:0!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .kgv-mobile-sticky-toggle{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:min(var(--st-mobile-icon-button-size,52px),52px)!important;
    height:min(var(--st-mobile-icon-button-size,52px),52px)!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    border:var(--st-mobile-menu-button-border-width,2px) solid var(--st-mobile-menu-icon-color,#1f4e2c)!important;
    border-radius:999px!important;
    background:var(--st-mobile-menu-button-background,#daf8be)!important;
    color:var(--st-mobile-menu-icon-color,#1f4e2c)!important;
    box-shadow:none!important;
    transform:none!important;
    translate:none!important;
    cursor:pointer!important;
  }
  .kgv-mobile-sticky-toggle:hover,
  .kgv-mobile-sticky-toggle:focus-visible{
    background:var(--st-mobile-menu-button-background,#daf8be)!important;
    color:var(--st-mobile-menu-icon-color,#1f4e2c)!important;
    transform:none!important;
  }
  .kgv-mobile-sticky-toggle-lines,
  .kgv-mobile-sticky-toggle-lines::before,
  .kgv-mobile-sticky-toggle-lines::after{
    content:"";
    display:block!important;
    width:var(--st-mobile-menu-icon-size,24px)!important;
    height:2px!important;
    border-radius:3px!important;
    background:currentColor!important;
  }
  .kgv-mobile-sticky-toggle-lines{
    position:relative!important;
  }
  .kgv-mobile-sticky-toggle-lines::before,
  .kgv-mobile-sticky-toggle-lines::after{
    position:absolute!important;
    left:0!important;
  }
  .kgv-mobile-sticky-toggle-lines::before{top:-7px!important;}
  .kgv-mobile-sticky-toggle-lines::after{top:7px!important;}

  /* Der Drawer liegt immer über normalem und sticky Header. */
  body.kgv-mobile-header-simple .kgv-st-base-header .main-navigation,
  body.kgv-mobile-header-simple .kgv-st-base-header .main-navigation.is-open{
    z-index:100002!important;
  }
}


/* =========================================================
 * KGV 0.3.23 – Desktopbreiten mit Seitenleiste sauber koppeln
 * Desktop > Layout steuert die gesamte Gridbreite.
 * Seitencontainer & Verläufe begrenzt nur die Inhaltskarte.
 * Rechtstext-Regeln dürfen diese Breite nicht mehr überschreiben.
 * ======================================================= */
@media (min-width:981px){
  .kgv-layout-container{
    width:min(calc(100% - 40px),var(--st-content-width,1520px))!important;
    max-width:var(--st-content-width,1520px)!important;
    box-sizing:border-box!important;
  }
  .kgv-content-column{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body .kgv-content-column>.kgv-page-card,
  body.st-legal-page .kgv-content-column>.kgv-page-card,
  .kgv-post-list>.entry-card{
    width:min(100%,var(--st-page-content-width,1240px))!important;
    max-width:var(--st-page-content-width,1240px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  /* Die Gridspalte reserviert den Platz der Sidebar immer vollständig. */
  .kgv-desktop-sidebar{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .kgv-layout-left{grid-template-columns:minmax(190px,var(--kgv-sidebar-left-width,260px)) minmax(0,1fr)!important}
  .kgv-layout-right{grid-template-columns:minmax(0,1fr) minmax(190px,var(--kgv-sidebar-right-width,280px))!important}
  .kgv-layout-both{grid-template-columns:minmax(190px,var(--kgv-sidebar-left-width,260px)) minmax(0,1fr) minmax(190px,var(--kgv-sidebar-right-width,280px))!important}
}
