/*
Theme Name: Alevi Modern Theme WordPress
Author: Alevitische Gemeinde Lübeck e.V.
Description: Modernes responsives WordPress-Theme für die Alevitische Gemeinde Lübeck e.V. mit Stabilitäts-Fix, reparierten Theme-Optionen, skalierbarer Menüschrift, Vereinslogo-Themebild, SEO, Polylang und DSGVO-Funktionen.
Version: 46.1
Requires at least: 6.8
Tested up to: 7.0
Text Domain: alevi-modern-theme
*/
:root{
  --primary:#9d1c1f;
  --dark:#111827;
  --header-bg:#ffffff;
  --hero-text:#ffffff;
  --body-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --site-title-size:26px;
  --menu-font-size:16px;
  --hero-title-size:64px;
  --hero-subtitle-size:21px;
  --hero-overlay:.58;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--body-font);color:var(--dark);background:#fff;line-height:1.6}

.site-header{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
  padding:16px 5%;
  background:var(--header-bg);
  box-shadow:0 2px 12px rgba(0,0,0,.08);
  position:sticky;
  top:0;
  z-index:999;
  overflow:visible;
}
.logo-area{display:flex;align-items:center;gap:14px;min-width:230px}
.custom-logo{max-height:58px;width:auto}
.site-branding{display:flex;flex-direction:column}
.site-title{margin:0;font-size:var(--site-title-size);font-weight:800;line-height:1.15}
.site-title a{text-decoration:none;color:var(--dark)}
.site-description{margin:4px 0 0;color:#6b7280;font-size:14px;font-weight:600}

.main-navigation{justify-self:end;overflow:visible}
.main-navigation ul{display:flex;align-items:center;justify-content:flex-end;gap:22px;list-style:none;margin:0;padding:0}
.main-navigation li{position:relative;margin:0;padding:0}
.main-navigation a{display:block;text-decoration:none;color:var(--dark);font-weight:700;font-size:var(--menu-font-size);padding:10px 0}
.main-navigation a:hover,.current-menu-item>a{color:var(--primary)}

.main-navigation .sub-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:230px;
  background:#fff;
  padding:10px;
  margin:0;
  border-radius:12px;
  box-shadow:0 14px 30px rgba(0,0,0,.16);
  z-index:99999;
  gap:0;
}
.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu,
.main-navigation li.is-submenu-open > .sub-menu{display:block}
.main-navigation .sub-menu li{display:block;width:100%}
.main-navigation .sub-menu a{display:block;padding:10px 12px;white-space:nowrap;color:var(--dark);border-radius:8px}
.main-navigation .sub-menu a:hover{background:#f9fafb;color:var(--primary)}
.main-navigation .sub-menu .sub-menu{top:0;left:100%}

.submenu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:6px;
  width:28px;
  height:28px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--dark);
  cursor:pointer;
  font-weight:900;
  line-height:1;
  vertical-align:middle;
}
.submenu-toggle:hover,.submenu-toggle:focus{background:#f3f4f6;color:var(--primary)}
.submenu-toggle::before{content:"▾";font-size:13px}

.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.menu-toggle{display:none;border:0;background:var(--primary);color:#fff;padding:10px 14px;border-radius:10px;font-weight:800;cursor:pointer;align-items:center;gap:8px}
.menu-toggle-icon{font-size:22px;line-height:1}

.language-switcher{display:flex;align-items:center;gap:8px;white-space:nowrap}
.language-switcher a,.language-switcher .lang-current{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:6px 9px;
  font-size:13px;
  font-weight:800;
  color:var(--dark);
  background:#fff;
}
.language-switcher a:hover,.language-switcher .lang-current{border-color:var(--primary);color:var(--primary)}
.language-switcher .lang-disabled{font-size:13px;color:#6b7280}
.footer-language-switcher{margin-top:16px;display:flex;justify-content:center}
.footer-language-switcher .language-switcher a,.footer-language-switcher .language-switcher .lang-current{color:#111827;background:#fff}

.hero{min-height:480px;display:flex;align-items:center;justify-content:center;text-align:center;padding:110px 20px;color:var(--hero-text);background-position:center;background-size:cover;background-repeat:no-repeat;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--hero-overlay));z-index:1}
.hero-inner{position:relative;z-index:2;max-width:920px}
.hero h1{font-size:var(--hero-title-size);margin:0 0 18px;line-height:1.08;font-weight:800}
.hero p{font-size:var(--hero-subtitle-size);margin:0 0 30px}
.button,.protected-contact-button{display:inline-block;background:var(--primary);color:#fff;padding:10px 18px;border-radius:999px;text-decoration:none;font-weight:800;border:0;cursor:pointer}

.content-wrap{max-width:1180px;margin:auto;padding:70px 20px}
.content-wrap.narrow{max-width:980px}
.posts-list{display:grid;gap:28px}
.post-card{background:#fff;border:1px solid #eee;border-radius:14px;padding:28px;box-shadow:0 6px 18px rgba(0,0,0,.06)}
.post-card h2{margin-top:0}
.post-card a{text-decoration:none;color:var(--dark)}
.post-card a:hover{color:var(--primary)}

.site-footer{background:#111827;color:#fff;text-align:center;padding:34px 20px}
.site-footer p{margin:8px 0}
.footer-links,.social-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:12px}
.footer-links a,.social-links a{color:#fff;text-decoration:none;font-weight:700}
.footer-links a:hover,.social-links a:hover{text-decoration:underline}
.social-links{margin-top:16px}
.social-links a{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px}
.social-logo{width:20px;height:20px;object-fit:contain;display:inline-block}
.social-fallback{font-size:16px;line-height:1;font-weight:900}

.alevi-contact-box{border:1px solid #e5e7eb;background:#f9fafb;color:#111827;border-radius:16px;padding:24px;margin:24px auto;max-width:760px;text-align:left;box-shadow:0 10px 26px rgba(0,0,0,.12)}
.alevi-contact-box p{margin:.45rem 0;color:#111827}
.alevi-contact-box strong{color:#111827}
.alevi-contact-box a{color:var(--primary);font-weight:800}
.site-footer .alevi-contact-box{color:#111827}
.protected-contact-result{margin-left:10px;font-weight:700;word-break:break-word}
.protected-contact-result a{color:var(--primary)}
.alevi-admin-preview{max-width:360px;height:auto;border-radius:8px;border:1px solid #ccd0d4;margin-top:10px;display:block}
.social-admin-row{border:1px solid #dcdcde;background:#fff;padding:14px;margin:12px 0;border-radius:8px}
.social-logo-preview{max-width:48px;max-height:48px;display:block;margin-top:8px}

@media(max-width:1100px){
  .site-header{grid-template-columns:1fr auto;gap:14px}
  .main-navigation{grid-column:1 / -1;justify-self:stretch;display:none}
  .main-navigation.is-open{display:block}
  .header-actions{justify-self:end}
  .menu-toggle{display:inline-flex}
  .main-navigation ul{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;width:100%;background:#fff;padding:10px 0;border-top:1px solid #eee}
  .main-navigation li{width:100%}
  .main-navigation a{display:inline-block;padding:12px 8px;border-bottom:1px solid #f1f1f1}
  .submenu-toggle{float:right;margin-top:8px;margin-right:8px;background:#f3f4f6}
  .main-navigation li.is-submenu-open > .submenu-toggle::before{content:"▴"}
  .main-navigation .sub-menu{display:none;position:static;min-width:0;box-shadow:none;border-radius:0;padding:0 0 0 18px;background:#fafafa}
  .main-navigation li:hover > .sub-menu,
  .main-navigation li:focus-within > .sub-menu{display:none}
  .main-navigation li.is-submenu-open > .sub-menu{display:block}
  .main-navigation .sub-menu a{white-space:normal;border-radius:0}
  .main-navigation .sub-menu .sub-menu{position:static}
  .site-title{font-size:calc(var(--site-title-size) * .82)}
  .custom-logo{max-height:48px}
  .hero{min-height:390px;padding:75px 18px}
  .hero h1{font-size:calc(var(--hero-title-size) * .60)}
  .hero p{font-size:calc(var(--hero-subtitle-size) * .90)}
}
@media(max-width:520px){
  .site-header{padding:10px 14px}
  .site-title{font-size:18px}
  .site-description{font-size:12px}
  .menu-toggle{padding:9px 11px}
  .menu-toggle-text{display:none}
  .language-switcher a,.language-switcher .lang-current{font-size:12px;padding:5px 7px}
  .hero h1{font-size:calc(var(--hero-title-size) * .50)}
  .alevi-contact-box{text-align:left;padding:18px}
  .protected-contact-result{display:block;margin:8px 0 0}
}


/* v21 clean submenu design */
.main-navigation li.menu-item-has-children > a::after{
  content:" ▾";
  font-size:.75em;
  opacity:.75;
}

.main-navigation .submenu-toggle{
  display:none !important;
}

@media(max-width:1100px){
  .main-navigation li.menu-item-has-children > a::after{
    content:"";
  }

  .main-navigation .submenu-toggle{
    display:inline-flex !important;
    float:right;
    margin-top:8px;
    margin-right:8px;
    width:30px;
    height:30px;
    border:0;
    border-radius:999px;
    background:#f3f4f6;
    color:var(--dark);
    align-items:center;
    justify-content:center;
    cursor:pointer;
  }

  .main-navigation .submenu-toggle::before{
    content:"▾";
    font-size:14px;
    font-weight:900;
  }

  .main-navigation li.is-submenu-open > .submenu-toggle::before{
    content:"▴";
  }
}


/* v22 language flags */
.language-switcher a,
.language-switcher .lang-current{
  gap:6px;
}

.lang-flag{
  width:18px;
  height:18px;
  border-radius:999px;
  object-fit:cover;
  display:inline-block;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
}

.lang-emoji-flag{
  font-size:16px;
  line-height:1;
}

.language-switcher.flags-only a,
.language-switcher.flags-only .lang-current{
  width:36px;
  height:36px;
  padding:0;
}

.language-switcher.flags-only .lang-label{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}


/* v23: fallback-safe submenu support */
.main-navigation li.page_item_has_children > a::after,
.main-navigation li.menu-item-has-children > a::after{
  content:" ▾";
  font-size:.75em;
  opacity:.75;
}

.main-navigation li.page_item_has_children:hover > .children,
.main-navigation li.page_item_has_children:focus-within > .children,
.main-navigation li.page_item_has_children.is-submenu-open > .children{
  display:block;
}

.main-navigation .children{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:230px;
  background:#fff;
  padding:10px;
  margin:0;
  border-radius:12px;
  box-shadow:0 14px 30px rgba(0,0,0,.16);
  z-index:99999;
  gap:0;
  list-style:none;
}

.main-navigation .children li{
  display:block;
  width:100%;
}

.main-navigation .children a{
  display:block;
  padding:10px 12px;
  white-space:nowrap;
  color:var(--dark);
  border-radius:8px;
}

.main-navigation .children a:hover{
  background:#f9fafb;
  color:var(--primary);
}

@media(max-width:1100px){
  .main-navigation li.page_item_has_children > a::after,
  .main-navigation li.menu-item-has-children > a::after{
    content:"";
  }

  .main-navigation .children{
    display:none;
    position:static;
    min-width:0;
    box-shadow:none;
    border-radius:0;
    padding:0 0 0 18px;
    background:#fafafa;
  }

  .main-navigation li.page_item_has_children.is-submenu-open > .children{
    display:block;
  }

  .main-navigation .children a{
    white-space:normal;
    border-radius:0;
  }
}

/* v23: flags are first-class */
.lang-flag{
  width:20px;
  height:20px;
}

.lang-emoji-flag{
  font-size:18px;
}


/* v24 mobile redesign */
@media(max-width:760px){
  .site-header{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:10px;
    padding:12px 16px;
  }

  .logo-area{
    min-width:0;
    grid-column:1 / 3;
    gap:10px;
  }

  .custom-logo{
    max-height:54px;
    flex:0 0 auto;
  }

  .site-title{
    font-size:22px !important;
    line-height:1.12;
    max-width:250px;
  }

  .site-description{
    font-size:13px;
    line-height:1.35;
    max-width:260px;
  }

  .header-actions{
    grid-column:3 / 4;
    grid-row:1 / 2;
    align-self:center;
  }

  .menu-toggle{
    display:inline-flex !important;
    width:44px;
    height:44px;
    padding:0;
    justify-content:center;
    border-radius:14px;
  }

  .menu-toggle-text{
    display:none !important;
  }

  .header-actions > .language-switcher{
    display:none !important;
  }

  .main-navigation{
    grid-column:1 / -1;
    display:none;
    width:100%;
    margin-top:10px;
    background:#fff;
    border-top:1px solid #eef0f3;
    box-shadow:none;
  }

  .main-navigation.is-open{
    display:block;
  }

  .main-navigation ul{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:8px 0;
    margin:0;
    width:100%;
    background:#fff;
  }

  .main-navigation li{
    width:100%;
    border-bottom:1px solid #f1f1f1;
  }

  .main-navigation a{
    display:inline-block;
    padding:13px 8px;
    font-size:16px;
    line-height:1.25;
    border-bottom:0 !important;
  }

  .main-navigation .children,
  .main-navigation .sub-menu{
    position:static !important;
    display:none;
    min-width:0;
    box-shadow:none;
    border-radius:0;
    margin:0;
    padding:0 0 0 18px;
    background:#fafafa;
  }

  .main-navigation li.is-submenu-open > .children,
  .main-navigation li.is-submenu-open > .sub-menu{
    display:block;
  }

  .main-navigation li:hover > .children,
  .main-navigation li:hover > .sub-menu,
  .main-navigation li:focus-within > .children,
  .main-navigation li:focus-within > .sub-menu{
    display:none;
  }

  .main-navigation li.is-submenu-open:hover > .children,
  .main-navigation li.is-submenu-open:hover > .sub-menu,
  .main-navigation li.is-submenu-open:focus-within > .children,
  .main-navigation li.is-submenu-open:focus-within > .sub-menu{
    display:block;
  }

  .submenu-toggle{
    display:inline-flex !important;
    float:right;
    margin-top:8px;
    margin-right:6px;
    width:32px;
    height:32px;
    background:#f3f4f6;
  }

  .main-navigation li.is-submenu-open > .submenu-toggle::before{
    content:"▴";
  }

  .mobile-language-switcher{
    display:block;
    padding:12px 6px 6px;
    border-top:2px solid #f3f4f6;
  }

  .mobile-language-switcher .language-switcher{
    display:flex;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:10px;
  }

  .mobile-language-switcher .language-switcher a,
  .mobile-language-switcher .language-switcher .lang-current{
    width:auto;
    height:auto;
    padding:8px 12px;
  }

  .mobile-language-switcher .language-switcher.flags-only .lang-label{
    position:static;
    width:auto;
    height:auto;
    overflow:visible;
    clip:auto;
    white-space:normal;
  }

  .content-wrap{
    padding:42px 20px;
  }

  .content-wrap.narrow{
    padding-left:20px;
    padding-right:20px;
  }

  .content-wrap h1,
  .content-wrap.narrow h1{
    font-size:42px;
    line-height:1.12;
    margin-top:0;
    margin-bottom:26px;
  }

  .content-wrap img,
  .content-wrap figure img,
  .wp-block-image img{
    max-width:100%;
    height:auto;
    border-radius:14px;
  }

  .wp-block-image.size-full img,
  .wp-block-image img{
    max-height:380px;
    object-fit:cover;
    width:100%;
  }

  p{
    font-size:18px;
    line-height:1.65;
  }

  .hero{
    min-height:320px;
    padding:60px 20px;
  }

  .hero h1{
    font-size:34px !important;
  }

  .hero p{
    font-size:17px !important;
  }
}

@media(min-width:761px){
  .mobile-language-switcher{
    display:none !important;
  }
}


/* v25 definitive navigation visibility fix */

/* Desktop/tablet: menu must always be visible */
@media(min-width:761px){
  .site-header{
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    align-items:center !important;
  }

  .main-navigation{
    display:block !important;
    grid-column:auto !important;
    justify-self:end !important;
    width:auto !important;
    margin-top:0 !important;
    background:transparent !important;
    border-top:0 !important;
  }

  .main-navigation ul.menu{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:18px !important;
    padding:0 !important;
    margin:0 !important;
    border-top:0 !important;
    background:transparent !important;
  }

  .main-navigation li{
    width:auto !important;
    border-bottom:0 !important;
  }

  .main-navigation a{
    display:block !important;
    padding:10px 0 !important;
    border-bottom:0 !important;
  }

  .menu-toggle{
    display:none !important;
  }

  .header-actions > .language-switcher{
    display:flex !important;
  }

  .mobile-language-switcher{
    display:none !important;
  }
}

/* Mobile: menu only opens via hamburger */
@media(max-width:760px){
  .site-header{
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
  }

  .main-navigation{
    display:none !important;
    grid-column:1 / -1 !important;
    width:100% !important;
    margin-top:10px !important;
  }

  .main-navigation.is-open{
    display:block !important;
  }

  .main-navigation ul.menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    width:100% !important;
    padding:8px 0 !important;
  }

  .menu-toggle{
    display:inline-flex !important;
  }
}

/* v25 desktop submenu stability */
@media(min-width:761px){
  .main-navigation .sub-menu,
  .main-navigation .children{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    min-width:230px !important;
    background:#fff !important;
    padding:10px !important;
    margin:0 !important;
    border-radius:12px !important;
    box-shadow:0 14px 30px rgba(0,0,0,.16) !important;
    z-index:99999 !important;
  }

  .main-navigation li:hover > .sub-menu,
  .main-navigation li:focus-within > .sub-menu,
  .main-navigation li.is-submenu-open > .sub-menu,
  .main-navigation li:hover > .children,
  .main-navigation li:focus-within > .children,
  .main-navigation li.is-submenu-open > .children{
    display:block !important;
  }

  .main-navigation .sub-menu li,
  .main-navigation .children li{
    display:block !important;
    width:100% !important;
  }

  .main-navigation .sub-menu a,
  .main-navigation .children a{
    white-space:nowrap !important;
    padding:10px 12px !important;
  }
}

/* v25 avoid oversized logo/title on mobile */
@media(max-width:760px){
  .logo-area{
    grid-column:1 / 3 !important;
    display:flex !important;
    align-items:center !important;
  }

  .site-title{
    font-size:21px !important;
    line-height:1.12 !important;
  }

  .site-description{
    font-size:13px !important;
    line-height:1.35 !important;
  }

  .custom-logo{
    max-height:52px !important;
  }
}


/* v28 header social links */
.header-social-links{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}

.header-social-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  text-decoration:none;
  color:var(--dark);
  transition:transform .15s ease, border-color .15s ease, color .15s ease;
}

.header-social-links a:hover,
.header-social-links a:focus{
  transform:translateY(-1px);
  border-color:var(--primary);
  color:var(--primary);
}

.header-social-links .social-logo{
  width:18px;
  height:18px;
}

.header-social-links .social-fallback{
  font-size:14px;
}

.header-social-label{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

@media(max-width:760px){
  .header-social-links{
    margin-top:6px;
    gap:6px;
  }

  .header-social-links a{
    width:28px;
    height:28px;
  }

  .header-social-links .social-logo{
    width:17px;
    height:17px;
  }
}


/* v30 tablet / landscape intermediate layout */
@media(min-width:761px) and (max-width:1180px){
  .site-header{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:"brand actions" "nav nav" !important;
    align-items:center !important;
    gap:12px 18px !important;
    padding:14px 4% !important;
  }
  .logo-area{grid-area:brand !important;min-width:0 !important}
  .header-actions{grid-area:actions !important;justify-self:end !important}
  .main-navigation{
    grid-area:nav !important;justify-self:stretch !important;display:block !important;
    width:100% !important;border-top:1px solid #eef0f3 !important;padding-top:8px !important
  }
  .main-navigation ul.menu{justify-content:flex-start !important;flex-wrap:wrap !important;gap:10px 20px !important}
  .main-navigation a{font-size:15px !important;padding:8px 0 !important}
  .site-title{font-size:24px !important;line-height:1.15 !important}
  .site-description{font-size:13px !important;line-height:1.35 !important;max-width:520px !important}
  .custom-logo{max-height:54px !important}
  .header-social-links{margin-top:6px !important}
  .language-switcher a,.language-switcher .lang-current{padding:5px 8px !important;font-size:12px !important}
}

/* v30 mobile header refinement */
@media(max-width:760px){
  .site-header{grid-template-columns:1fr auto !important}
  .logo-area{grid-column:1 / 2 !important}
  .header-actions{grid-column:2 / 3 !important}
  .site-title{max-width:230px !important}
  .site-description{max-width:240px !important}
}


/* v32 visual refinement */
.site-header{
  padding:12px 4.5% !important;
  gap:22px !important;
  border-bottom:1px solid #eef0f3;
}

.logo-area{
  gap:12px !important;
  min-width:330px !important;
}

.custom-logo{
  max-height:54px !important;
}

.site-title{
  font-size:25px !important;
  letter-spacing:-.02em;
}

.site-description{
  font-size:13px !important;
  line-height:1.35 !important;
  color:#6b7280 !important;
  max-width:420px;
}

.header-social-links{
  margin-top:7px !important;
  gap:8px !important;
}

.header-social-links a{
  width:28px !important;
  height:28px !important;
  background:#fff !important;
  border-color:#e6e8ee !important;
}

.header-social-links a:hover{
  background:#f9fafb !important;
}

.main-navigation ul.menu{
  gap:20px !important;
}

.main-navigation a{
  font-size:15px !important;
  line-height:1.2 !important;
  padding:9px 0 !important;
}

.main-navigation li.menu-item-has-children > a::after,
.main-navigation li.page_item_has_children > a::after{
  content:" ▼" !important;
  font-size:9px !important;
  opacity:.75 !important;
  color:var(--primary);
  vertical-align:middle;
}

.main-navigation li.menu-item-has-children > .submenu-toggle,
.main-navigation li.page_item_has_children > .submenu-toggle{
  display:none !important;
}

.main-navigation .sub-menu,
.main-navigation .children{
  margin-top:6px !important;
  border:1px solid #edf0f4 !important;
}

.language-switcher{
  gap:7px !important;
}

.language-switcher a,
.language-switcher .lang-current{
  min-height:34px;
  padding:6px 10px !important;
  border-color:#e6e8ee !important;
  background:#fff !important;
}

.language-switcher .lang-current{
  background:#fff7f7 !important;
  border-color:var(--primary) !important;
  box-shadow:0 2px 10px rgba(157,28,31,.08);
}

.lang-flag{
  width:20px !important;
  height:20px !important;
}

.content-wrap{
  padding-top:56px !important;
}

.content-wrap.narrow{
  padding-top:56px !important;
}

.content-wrap h1,
.content-wrap.narrow h1{
  letter-spacing:-.02em;
}

.hero{
  min-height:430px !important;
}

.hero h1{
  letter-spacing:-.035em;
}

/* v32 tablet: compact two-row header */
@media(min-width:761px) and (max-width:1180px){
  .site-header{
    padding:12px 4% !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:"brand actions" "nav nav" !important;
  }

  .logo-area{
    min-width:0 !important;
  }

  .main-navigation{
    border-top:1px solid #eef0f3 !important;
    padding-top:8px !important;
  }

  .main-navigation ul.menu{
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    gap:8px 18px !important;
  }

  .site-title{
    font-size:23px !important;
  }

  .site-description{
    max-width:560px !important;
  }
}

/* v32 mobile: clean compact header */
@media(max-width:760px){
  .site-header{
    padding:10px 14px !important;
    gap:8px !important;
  }

  .logo-area{
    min-width:0 !important;
    gap:10px !important;
  }

  .custom-logo{
    max-height:48px !important;
  }

  .site-title{
    font-size:20px !important;
    max-width:230px !important;
  }

  .site-description{
    font-size:12px !important;
    max-width:235px !important;
  }

  .header-social-links{
    margin-top:5px !important;
  }

  .header-social-links a{
    width:26px !important;
    height:26px !important;
  }

  .menu-toggle{
    width:42px !important;
    height:42px !important;
    border-radius:13px !important;
  }

  .main-navigation li.menu-item-has-children > a::after,
  .main-navigation li.page_item_has_children > a::after{
    content:"" !important;
  }

  .main-navigation li.menu-item-has-children > .submenu-toggle,
  .main-navigation li.page_item_has_children > .submenu-toggle{
    display:inline-flex !important;
  }

  .content-wrap,
  .content-wrap.narrow{
    padding-top:40px !important;
  }

  .content-wrap h1,
  .content-wrap.narrow h1{
    font-size:38px !important;
  }
}


/* v33 desktop dropdown fix: no hover gap, clickable submenu */
@media(min-width:761px){
  .site-header,
  .main-navigation,
  .main-navigation ul.menu,
  .main-navigation li{
    overflow:visible !important;
  }

  .main-navigation li{
    position:relative !important;
  }

  .main-navigation li.menu-item-has-children > a,
  .main-navigation li.page_item_has_children > a{
    padding-right:13px !important;
  }

  .main-navigation li.menu-item-has-children > a::after,
  .main-navigation li.page_item_has_children > a::after{
    content:" ▼" !important;
    display:inline !important;
    position:static !important;
    margin-left:4px !important;
    font-size:8px !important;
    line-height:1 !important;
    color:var(--primary) !important;
    vertical-align:middle !important;
  }

  .main-navigation .sub-menu,
  .main-navigation .children{
    display:block !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    position:absolute !important;
    top:calc(100% - 1px) !important;
    left:0 !important;
    min-width:240px !important;
    padding:10px !important;
    margin:0 !important;
    background:#fff !important;
    border:1px solid #edf0f4 !important;
    border-radius:14px !important;
    box-shadow:0 18px 38px rgba(17,24,39,.16) !important;
    transform:translateY(6px) !important;
    transition:opacity .14s ease, transform .14s ease, visibility .14s ease !important;
    z-index:999999 !important;
  }

  .main-navigation .sub-menu::before,
  .main-navigation .children::before{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:-12px !important;
    height:12px !important;
    background:transparent !important;
  }

  .main-navigation li:hover > .sub-menu,
  .main-navigation li:focus-within > .sub-menu,
  .main-navigation li.is-submenu-open > .sub-menu,
  .main-navigation li:hover > .children,
  .main-navigation li:focus-within > .children,
  .main-navigation li.is-submenu-open > .children{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  .main-navigation .sub-menu li,
  .main-navigation .children li{
    display:block !important;
    width:100% !important;
    white-space:nowrap !important;
  }

  .main-navigation .sub-menu a,
  .main-navigation .children a{
    display:block !important;
    padding:10px 12px !important;
    border-radius:9px !important;
    white-space:nowrap !important;
    font-size:14px !important;
    color:var(--dark) !important;
  }

  .main-navigation .sub-menu a:hover,
  .main-navigation .children a:hover{
    background:#f9fafb !important;
    color:var(--primary) !important;
  }

  .main-navigation .sub-menu .sub-menu,
  .main-navigation .children .children{
    top:0 !important;
    left:calc(100% - 1px) !important;
  }

  .main-navigation .submenu-toggle{
    display:none !important;
  }
}

/* v33 header balance refinement */
@media(min-width:1181px){
  .site-header{
    grid-template-columns:minmax(330px, 420px) 1fr auto !important;
  }

  .main-navigation{
    justify-self:center !important;
  }

  .main-navigation ul.menu{
    gap:24px !important;
  }
}


/* v35 Polylang menu cleanup note:
   Das Theme registriert nur noch eine Hauptmenü-Position.
   Polylang verwaltet die Sprachversionen dieses Menüs.
*/


/* v38 Kontaktseite / Contact Form 7 */
body.page-id-15 .content-wrap,
body.page-template-default .content-wrap:has(.wpcf7){
  max-width:1180px;
  padding-top:52px;
}

body.page-id-15 .content-wrap > h1,
body.page-template-default .content-wrap:has(.wpcf7) > h1{
  font-size:clamp(42px,5vw,62px);
  line-height:1.05;
  margin:0 0 22px;
  letter-spacing:-.035em;
}

body.page-id-15 .content-wrap > h2,
body.page-template-default .content-wrap:has(.wpcf7) > h2{
  color:var(--primary);
  font-size:clamp(24px,3vw,34px);
  margin-top:18px;
  letter-spacing:-.02em;
}

body.page-id-15 .content-wrap hr,
body.page-template-default .content-wrap:has(.wpcf7) hr{
  border:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#e5e7eb,transparent);
  margin:34px 0;
}

.wpcf7{
  max-width:820px;
  margin:38px auto 20px;
  padding:34px;
  background:#fff;
  border:1px solid #edf0f4;
  border-radius:22px;
  box-shadow:0 18px 46px rgba(17,24,39,.10);
}

.wpcf7 form{display:grid;gap:18px}
.wpcf7 p{margin:0}
.wpcf7 label{display:block;font-weight:800;color:var(--dark);margin-bottom:8px}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select{
  width:100%;
  padding:14px 16px;
  border:2px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  color:var(--dark);
  font-size:16px;
  line-height:1.4;
  box-sizing:border-box;
  transition:border-color .18s ease, box-shadow .18s ease;
}

.wpcf7 textarea{min-height:170px;resize:vertical}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(157,28,31,.12);
}

.wpcf7 .wpcf7-acceptance{
  display:block;
  padding:14px 16px;
  background:#f9fafb;
  border:1px solid #edf0f4;
  border-radius:14px;
  color:#475569;
  font-size:14px;
  line-height:1.45;
}

.wpcf7 .wpcf7-acceptance label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  font-weight:600;
}

.wpcf7 input[type="checkbox"]{
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--primary);
  flex:0 0 auto;
}

.wpcf7 input[type="submit"]{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-width:180px;
  background:var(--primary);
  color:#fff;
  border:0;
  padding:14px 28px;
  border-radius:999px;
  font-size:16px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(157,28,31,.22);
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:focus{
  background:#111827;
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(17,24,39,.20);
}

.wpcf7 .wpcf7-not-valid-tip{margin-top:6px;color:var(--primary);font-weight:700;font-size:14px}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output{
  margin:18px 0 0;
  padding:14px 16px;
  border-radius:14px;
  font-weight:700;
}

.wpcf7 form.sent .wpcf7-response-output{border-color:#16a34a;background:#f0fdf4;color:#166534}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{border-color:var(--primary);background:#fff7f7;color:var(--primary)}

@media(max-width:760px){
  .wpcf7{margin:28px 0 12px;padding:22px;border-radius:18px}
  .wpcf7 input[type="submit"]{width:100%}
  body.page-id-15 .content-wrap > h1,
  body.page-template-default .content-wrap:has(.wpcf7) > h1{font-size:40px}
}


/* v39 Header Designer base */
.site-header{
  min-height: var(--header-min-height, auto);
}

.logo-area{
  gap: var(--logo-title-gap, 12px) !important;
}

.custom-logo{
  width: var(--logo-width, auto) !important;
  max-width: var(--logo-width, 90px) !important;
  height: auto !important;
  max-height: none !important;
}

.site-title{
  font-size: var(--site-title-size, 25px) !important;
}

.site-description{
  margin-top: var(--title-subtitle-gap, 4px) !important;
  font-size: var(--site-subtitle-size, 13px) !important;
}

.header-social-links{
  margin-top: var(--subtitle-social-gap, 7px) !important;
}

.header-social-links a{
  width: var(--social-icon-size, 28px) !important;
  height: var(--social-icon-size, 28px) !important;
}

.header-social-links .social-logo{
  width: calc(var(--social-icon-size, 28px) * .62) !important;
  height: calc(var(--social-icon-size, 28px) * .62) !important;
}

.main-navigation ul.menu{
  gap: var(--menu-gap, 24px) !important;
}

.main-navigation a{
  font-size: var(--menu-font-size, 15px) !important;
}

.language-switcher a,
.language-switcher .lang-current{
  min-height: var(--language-button-size, 34px) !important;
}

.lang-flag{
  width: var(--language-flag-size, 20px) !important;
  height: var(--language-flag-size, 20px) !important;
}


/* v40 Smartphone-Menü: kompakter, moderner, app-ähnlich */
@media(max-width:760px){
  .site-header{
    align-items:center !important;
    border-bottom:1px solid #e6ece4 !important;
  }

  .menu-toggle{
    width:42px !important;
    height:42px !important;
    border-radius:13px !important;
    background:var(--primary) !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(157,28,31,.20);
    position:relative;
    transition:transform .18s ease, background .18s ease;
  }

  .menu-toggle:hover,
  .menu-toggle:focus{
    background:#111827 !important;
    transform:translateY(-1px);
  }

  .menu-toggle::before{
    content:"☰";
    font-size:22px;
    line-height:1;
    font-weight:900;
  }

  .menu-toggle[aria-expanded="true"]::before{
    content:"×";
    font-size:30px;
    line-height:.8;
  }

  .main-navigation{
    margin-top:12px !important;
    border-top:0 !important;
    background:#fff !important;
    border-radius:18px !important;
    box-shadow:0 14px 34px rgba(17,24,39,.10);
    overflow:hidden !important;
    animation:aleviMobileMenuIn .22s ease both;
  }

  @keyframes aleviMobileMenuIn{
    from{opacity:0;transform:translateY(-6px)}
    to{opacity:1;transform:translateY(0)}
  }

  .main-navigation ul.menu{
    padding:6px 0 !important;
    background:#fff !important;
  }

  .main-navigation li{
    border-bottom:1px solid #f1f3f5 !important;
  }

  .main-navigation li:last-child{
    border-bottom:0 !important;
  }

  .main-navigation a{
    display:block !important;
    padding:12px 18px !important;
    font-size:15px !important;
    font-weight:850 !important;
    line-height:1.25 !important;
    color:#111827 !important;
  }

  .main-navigation a:hover,
  .main-navigation a:focus{
    color:var(--primary) !important;
    background:#fafafa !important;
  }

  .submenu-toggle{
    width:38px !important;
    height:38px !important;
    margin-top:5px !important;
    margin-right:10px !important;
    border-radius:999px !important;
    background:#f3f4f6 !important;
    color:#111827 !important;
    transition:transform .18s ease, background .18s ease;
  }

  .submenu-toggle::before{
    content:"⌄" !important;
    font-size:18px !important;
    font-weight:900 !important;
    line-height:1 !important;
  }

  .main-navigation li.is-submenu-open > .submenu-toggle{
    transform:rotate(180deg);
    background:#fff1f2 !important;
    color:var(--primary) !important;
  }

  .main-navigation li.is-submenu-open > a{
    color:var(--primary) !important;
  }

  .main-navigation .sub-menu,
  .main-navigation .children{
    background:#f8fafc !important;
    border-top:1px solid #eef2f7 !important;
    padding:4px 0 6px 0 !important;
    animation:aleviSubMenuIn .20s ease both;
  }

  @keyframes aleviSubMenuIn{
    from{opacity:.3;transform:translateY(-4px)}
    to{opacity:1;transform:translateY(0)}
  }

  .main-navigation .sub-menu li,
  .main-navigation .children li{
    border-bottom:0 !important;
  }

  .main-navigation .sub-menu a,
  .main-navigation .children a{
    padding:10px 20px 10px 34px !important;
    font-size:14px !important;
    font-weight:750 !important;
    color:#334155 !important;
  }

  .main-navigation .sub-menu a::before,
  .main-navigation .children a::before{
    content:"";
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:9px;
    border-radius:999px;
    background:var(--primary);
    opacity:.55;
    vertical-align:middle;
  }

  .mobile-language-switcher{
    padding:12px 14px 14px !important;
    background:#fff !important;
    border-top:1px solid #eef2f7 !important;
  }

  .mobile-language-switcher .language-switcher{
    justify-content:center !important;
    gap:8px !important;
  }

  .mobile-language-switcher .language-switcher a,
  .mobile-language-switcher .language-switcher .lang-current{
    padding:7px 10px !important;
    min-height:34px !important;
    border-radius:999px !important;
    font-size:13px !important;
    font-weight:850 !important;
  }

  .header-actions > .language-switcher{
    display:none !important;
  }

  .header-social-links{
    margin-top:6px !important;
  }

  .header-social-links a{
    width:28px !important;
    height:28px !important;
  }
}


/* v41 Mobile Menü-Button Fix */
@media(max-width:760px){
  .menu-toggle{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    border-radius:14px !important;
    background:#111827 !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(17,24,39,.18) !important;
    position:relative !important;
    overflow:hidden !important;
    font-size:0 !important;
    line-height:0 !important;
  }

  .menu-toggle::before{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:20px !important;
    height:2px !important;
    background:#fff !important;
    border-radius:999px !important;
    transform:translate(-50%,-50%) !important;
    box-shadow:0 -7px 0 #fff, 0 7px 0 #fff !important;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  }

  .menu-toggle::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:20px !important;
    height:2px !important;
    background:#fff !important;
    border-radius:999px !important;
    transform:translate(-50%,-50%) rotate(0deg) !important;
    opacity:0 !important;
    transition:transform .18s ease, opacity .18s ease;
  }

  .menu-toggle[aria-expanded="true"]::before{
    transform:translate(-50%,-50%) rotate(45deg) !important;
    box-shadow:none !important;
  }

  .menu-toggle[aria-expanded="true"]::after{
    opacity:1 !important;
    transform:translate(-50%,-50%) rotate(-45deg) !important;
  }

  .menu-toggle:hover,
  .menu-toggle:focus{
    background:var(--primary) !important;
    transform:none !important;
  }
}

/* v41 Footer Designer */
.site-footer{
  background:var(--footer-bg,#111827) !important;
  color:var(--footer-text,#ffffff) !important;
  padding-top:var(--footer-padding-y,48px) !important;
  padding-bottom:var(--footer-padding-y,48px) !important;
}

.site-footer a{
  color:var(--footer-link,#ffffff) !important;
}

.site-footer a:hover,
.site-footer a:focus{
  color:var(--footer-link-hover,#f3c9ca) !important;
}

.site-footer .footer-card,
.site-footer .footer-info,
.site-footer .footer-contact,
.site-footer .footer-content{
  background:var(--footer-card-bg,rgba(255,255,255,.06)) !important;
  color:var(--footer-text,#ffffff) !important;
}

.site-footer .copyright,
.site-footer .footer-copyright{
  background:var(--footer-copyright-bg,transparent) !important;
  color:var(--footer-text,#ffffff) !important;
}

.site-footer .social-logo{
  width:var(--footer-social-icon-size,22px) !important;
  height:var(--footer-social-icon-size,22px) !important;
}


/* v42 Mobile Navigation 2.0 */
@media(max-width:760px){
  .main-navigation li.menu-item-has-children,
  .main-navigation li.page_item_has_children{
    position:relative !important;
  }

  .main-navigation li.menu-item-has-children > a,
  .main-navigation li.page_item_has_children > a{
    padding-right:70px !important;
  }

  .submenu-toggle{
    position:absolute !important;
    top:5px !important;
    right:8px !important;
    width:52px !important;
    height:42px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:12px !important;
    background:transparent !important;
    color:#64748b !important;
    box-shadow:none !important;
    cursor:pointer !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    z-index:5 !important;
  }

  .submenu-toggle::before{
    content:"" !important;
    width:9px !important;
    height:9px !important;
    border-right:2px solid currentColor !important;
    border-bottom:2px solid currentColor !important;
    transform:rotate(45deg) translateY(-2px) !important;
    transition:transform .22s ease, color .22s ease !important;
  }

  .submenu-toggle:hover,
  .submenu-toggle:focus{
    background:#f8fafc !important;
    color:var(--primary) !important;
    outline:none !important;
  }

  .main-navigation li.is-submenu-open > .submenu-toggle{
    background:#fff7f7 !important;
    color:var(--primary) !important;
  }

  .main-navigation li.is-submenu-open > .submenu-toggle::before{
    transform:rotate(225deg) translate(-2px,-2px) !important;
  }

  .main-navigation .sub-menu,
  .main-navigation .children{
    display:block !important;
    max-height:0 !important;
    overflow:hidden !important;
    opacity:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:#f8fafc !important;
    border-top:0 !important;
    transition:max-height .26s ease, opacity .22s ease, padding .22s ease, border-color .22s ease !important;
  }

  .main-navigation li.is-submenu-open > .sub-menu,
  .main-navigation li.is-submenu-open > .children{
    max-height:520px !important;
    opacity:1 !important;
    padding:8px 0 10px 0 !important;
    border-top:1px solid #eef2f7 !important;
  }

  .main-navigation .sub-menu li,
  .main-navigation .children li{
    border-bottom:0 !important;
  }

  .main-navigation .sub-menu a,
  .main-navigation .children a{
    position:relative !important;
    padding:10px 20px 10px 42px !important;
    font-size:14px !important;
    font-weight:750 !important;
    color:#334155 !important;
  }

  .main-navigation .sub-menu a::before,
  .main-navigation .children a::before{
    content:"" !important;
    position:absolute !important;
    left:26px !important;
    top:12px !important;
    bottom:12px !important;
    width:3px !important;
    min-height:18px !important;
    border-radius:999px !important;
    background:var(--primary) !important;
    opacity:.42 !important;
  }

  .main-navigation .sub-menu a:hover,
  .main-navigation .children a:hover,
  .main-navigation .sub-menu a:focus,
  .main-navigation .children a:focus{
    background:#fff !important;
    color:var(--primary) !important;
  }

  .main-navigation li.is-submenu-open > a{
    color:var(--primary) !important;
  }

  .main-navigation li.is-submenu-open{
    background:#fff !important;
  }
}


/* v42.1 Footer Designer fallback */
.site-footer{
  background:var(--footer-bg,#111827) !important;
  color:var(--footer-text,#ffffff) !important;
  padding-top:var(--footer-padding-y,48px) !important;
  padding-bottom:var(--footer-padding-y,48px) !important;
}
.site-footer a{color:var(--footer-link,#ffffff) !important;}
.site-footer a:hover,.site-footer a:focus{color:var(--footer-link-hover,#f3c9ca) !important;}
.site-footer .footer-card,
.site-footer .footer-info,
.site-footer .footer-contact,
.site-footer .footer-content{
  background:var(--footer-card-bg,#1f2937) !important;
  color:var(--footer-text,#ffffff) !important;
}
.site-footer .copyright,
.site-footer .footer-copyright{
  background:var(--footer-copyright-bg,#111827) !important;
  color:var(--footer-text,#ffffff) !important;
}
.site-footer .social-logo{
  width:var(--footer-social-icon-size,22px) !important;
  height:var(--footer-social-icon-size,22px) !important;
}


/* v43.1 Footer Designer fallback */
.site-footer{
  background:var(--footer-bg,#111827) !important;
  color:var(--footer-text,#ffffff) !important;
  padding-top:var(--footer-padding-y,48px) !important;
  padding-bottom:var(--footer-padding-y,48px) !important;
}
.site-footer a{color:var(--footer-link,#ffffff) !important;}
.site-footer a:hover,.site-footer a:focus{color:var(--footer-link-hover,#f3c9ca) !important;}
.site-footer .footer-card,
.site-footer .footer-info,
.site-footer .footer-contact,
.site-footer .footer-content{background:var(--footer-card-bg,#1f2937) !important;color:var(--footer-text,#ffffff) !important;}
.site-footer .copyright,
.site-footer .footer-copyright{background:var(--footer-copyright-bg,#111827) !important;color:var(--footer-text,#ffffff) !important;}
.site-footer .social-logo{width:var(--footer-social-icon-size,22px) !important;height:var(--footer-social-icon-size,22px) !important;}


/* v44 Mobile Menu Scroll Lock */
@media(max-width:760px){
  body.mobile-menu-open{
    overflow:hidden !important;
    position:fixed !important;
    width:100% !important;
    left:0 !important;
    right:0 !important;
  }

  body.mobile-menu-open .site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:999999 !important;
  }

  body.admin-bar.mobile-menu-open .site-header{
    top:46px !important;
  }

  body.mobile-menu-open .main-navigation.is-open{
    max-height:calc(100vh - var(--mobile-header-offset, 120px)) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    touch-action:pan-y !important;
  }

  body.mobile-menu-open::after{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(17,24,39,.26);
    z-index:999990;
    pointer-events:none;
  }

  body.mobile-menu-open .site-header{
    box-shadow:0 16px 40px rgba(17,24,39,.18) !important;
  }

  body.mobile-menu-open .main-navigation{
    position:relative !important;
    z-index:999999 !important;
  }
}


/* v45 Mobile Menu Overlay Fix */
@media(max-width:760px){
  body.mobile-menu-open{
    overflow:hidden !important;
    width:100% !important;
  }

  body.mobile-menu-open .site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:999999 !important;
  }

  body.admin-bar.mobile-menu-open .site-header{
    top:46px !important;
  }

  body.mobile-menu-open .main-navigation.is-open{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    top:var(--mobile-menu-top, 150px) !important;
    bottom:12px !important;
    max-height:none !important;
    height:auto !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    touch-action:pan-y !important;
    z-index:1000000 !important;
    margin:0 !important;
  }

  body.mobile-menu-open::after{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(17,24,39,.30);
    z-index:999990;
    pointer-events:none;
  }

  body.mobile-menu-open .site-header{
    box-shadow:0 16px 40px rgba(17,24,39,.18) !important;
  }

  body.mobile-menu-open .main-navigation.is-open ul.menu{
    padding-bottom:18px !important;
  }
}


/* v45.1 Footer/Copyright Hotfix */
.site-footer{
  background:var(--footer-bg,#111827) !important;
  color:var(--footer-text-color,#ffffff) !important;
  padding-top:var(--footer-padding-y,48px) !important;
  padding-bottom:var(--footer-padding-y,48px) !important;
}

.site-footer,
.site-footer p,
.site-footer div,
.site-footer span,
.site-footer li{
  color:var(--footer-text-color,#ffffff);
}

.site-footer a{
  color:var(--footer-link-color,#ffffff) !important;
}

.site-footer a:hover,
.site-footer a:focus{
  color:var(--footer-link-hover-color,#f3c9ca) !important;
}

.site-footer .footer-card,
.site-footer .footer-info,
.site-footer .footer-contact,
.site-footer .footer-content{
  background:var(--footer-card-bg,#1f2937) !important;
  color:var(--footer-text-color,#ffffff) !important;
}

.site-footer .copyright,
.site-footer .footer-copyright,
.site-footer .site-info,
.site-footer .footer-bottom{
  background:var(--footer-copyright-bg,transparent) !important;
  color:var(--footer-copyright-text-color,var(--footer-text-color,#ffffff)) !important;
}

.site-footer .copyright *,
.site-footer .footer-copyright *,
.site-footer .site-info *,
.site-footer .footer-bottom *{
  color:var(--footer-copyright-text-color,var(--footer-text-color,#ffffff)) !important;
}

.site-footer .social-logo{
  width:var(--footer-social-icon-size,22px) !important;
  height:var(--footer-social-icon-size,22px) !important;
}


/* v46 Stabilitäts-Fix: Menü-Schriftgröße zentral steuerbar */
.main-navigation a,
.main-navigation .menu a,
.site-header .main-navigation a{
  font-size:var(--menu-font-size,15px) !important;
}

.main-navigation .sub-menu a,
.main-navigation .children a{
  font-size:calc(var(--menu-font-size,15px) - 1px) !important;
}

@media(max-width:760px){
  .main-navigation a,
  .main-navigation .menu a,
  .site-header .main-navigation a{
    font-size:var(--mobile-menu-font-size,var(--menu-font-size,16px)) !important;
  }

  .main-navigation .sub-menu a,
  .main-navigation .children a{
    font-size:calc(var(--mobile-menu-font-size,var(--menu-font-size,16px)) - 1px) !important;
  }
}

/* v46 Footer/Copyright vereinheitlicht */
.site-footer{
  background:var(--footer-bg,#111827) !important;
  color:var(--footer-text-color,#ffffff) !important;
}
.site-footer,
.site-footer p,
.site-footer div,
.site-footer span,
.site-footer li{
  color:var(--footer-text-color,#ffffff);
}
.site-footer a{color:var(--footer-link-color,#ffffff) !important;}
.site-footer a:hover,.site-footer a:focus{color:var(--footer-link-hover-color,#f3c9ca) !important;}
.site-footer .copyright,
.site-footer .footer-copyright,
.site-footer .site-info,
.site-footer .footer-bottom{
  background:var(--footer-copyright-bg,transparent) !important;
  color:var(--footer-copyright-text-color,var(--footer-text-color,#ffffff)) !important;
}
.site-footer .copyright *,
.site-footer .footer-copyright *,
.site-footer .site-info *,
.site-footer .footer-bottom *{
  color:var(--footer-copyright-text-color,var(--footer-text-color,#ffffff)) !important;
}
