#mobile-breadcrumb {
 max-height: 0;
 visibility: hidden;
 opacity: 0;
 pointer-events: none;
 position: absolute;
 left: 60px;
 top: 0;
 height: 58px;
 line-height: 58px;
 max-height: 58px;
 transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0.3s linear 300ms;
 display: none;
 }
#mobile-menu-overlay {
 display: none;
 }
#mobile-menu-panel {
 display: none;
 }
#main-toolbar {
 max-height: 100px;
 transition: max-height 0.3s ease, opacity 0.3s ease;
 }
#mainnav {
 max-height: 300px;
 transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0.3s linear 300ms;
 }
header {
 transition: height 0.3s ease;
 }
#mobile-menu-btn {
 position: fixed;
 top: calc(var(--header-top) + 8px); 
 left: 8px;
 width: 38px; 
 height: 38px;
 background: var(--year-color);
 color: var(--year-color-text);
 border: none;
 cursor: pointer;
 display: flex;
 flex-direction: column;
 justify-content: center;
 gap: 5px;
 padding: 8px;
 border-radius: 3px;
 flex-shrink: 0; 
 opacity: 0;
 transition: background 0.2s, opacity 0.3s ease;
 pointer-events: none;
 z-index: 101;
 }
#mobile-menu-btn span {
 display: block; height: 2px;
 background: var(--year-color-text);
 border-radius: 2px;
 transition: transform 0.3s, opacity 0.3s;
 }
#mobile-menu-btn.is-open span:nth-child(1) { 
 transform: translateY(7px) rotate(45deg); 
 }
#mobile-menu-btn.is-open span:nth-child(2) { 
 opacity: 0; 
 }
#mobile-menu-btn.is-open span:nth-child(3) { 
 transform: translateY(-7px) rotate(-45deg); 
 }

@media (max-width: 955px) {
 .hide-on-small {
  display: none;
  }
 #main-toolbar {
  max-height: 0;
  opacity: 0;
  z-index: 101;
  }
 #mainnav {
  max-height: 0;
  opacity: 0; 
  visibility: hidden;
  pointer-events: none;
  } 
 #mobile-menu-btn {
  pointer-events: all;
  opacity: 1;
  }
 #mobile-breadcrumb {
  max-height: 58px;
  visibility: visible;
  opacity: 1;
  pointer-events: all;
  visibility: visible;
  opacity: 1;
  pointer-events: all;
  }

 /* ── Overlay ───────────────────────────────────────────────────────────── */
#mobile-menu-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.35);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
    z-index: 100;
}
#mobile-menu-overlay.is-open {
    opacity: 1;
    pointer-events: all;
}
 
/* ── Panel ─────────────────────────────────────────────────────────────── */
#mobile-menu-panel {
    position: fixed;
    top: var(--header-top); 
    left: 0;           /* ggf. top auf Header-Höhe anpassen */
    width: var(--itd-panel-w);
    height: 100dvh;
    background: #fff;
    box-shadow: 4px 0 20px rgba(0,0,0,.15);
    transform: translateX(-100%);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
    z-index: 100;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
#mobile-menu-panel.is-open {
    transform: translateX(0);
}
 
/* ── Suche ─────────────────────────────────────────────────────────────── */
.panel-search {
 display: flex;
 height: 50px;
 align-items: center;
 }
.panel-search form { 
 border: 1px solid var(--search-border);
 position: relative;
 height: 26px;
 margin-left: 56px;
 margin-right: 10px;
 width: 100%;
 }
.panel-search form:focus-within { 
 border-color: var(--search-border-focus);
 }
.panel-search svg { 
 width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round; 
 }
.panel-search input { 
 border: none; 
 outline: none; 
 font-size: 13px; 
 width: 100%; 
 padding: 2px 27px 2px 4px;
 background: transparent; 
 height: 100%;
 }
.panel-search input::placeholder { 
 color: #aaa;
 }

.panel-search button {
  position: absolute;
  right: 4px;
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  cursor: pointer;
} 
.panel-search .languages-switcher {
 display: flex;
 align-items: center;
 column-gap: 5px;
 margin-right: 10px;
 }
 
/* ── Nav-Container ─────────────────────────────────────────────────────── */
.panel-nav { flex: 1; overflow-y: auto; }
 
/* ── Top-Level <ul> (= #mobile-mainnav) ───────────────────────────────── */
#mobile-mainnav {
    list-style: none;
    margin: 0; padding: 0;
}
 
/* Top-Level <li> */
#mobile-mainnav > li {
    border-bottom: 1px solid var(--itd-border);
}
 
/* Wrapper den JS einfügt: <div class="itd-item-wrap"> */
#mobile-mainnav > li > .itd-item-wrap {
    display: flex;
    align-items: stretch;
}
 
/* Top-Level <a> */
#mobile-mainnav > li > .itd-item-wrap > a,
#mobile-mainnav > li > a {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 14px;
    color: var(--link-color);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .3px;
    border-left: 3px solid transparent;
    transition: background .12s, border-color .12s;
}
#mobile-mainnav > li > .itd-item-wrap > a:hover,
#mobile-mainnav > li > a:hover {
    background: #fafafa;
    border-left-color: var(--year-color);
}
 
/* Chevron-Button (von JS eingefügt) */
.itd-chevron-btn {
    background: none;
    border: none;
    border-left: 1px solid var(--itd-border);
    padding: 0 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    color: #999;
    flex-shrink: 0;
    transition: background .12s;
}
.itd-chevron-btn svg {
    width: 17px; height: 17px;
    transition: transform .25s;
}
 
/* Aktives Top-Level-Item (mit und ohne Untermenü) */
#mobile-mainnav > li.current-menu-item > a,
#mobile-mainnav > li.current-menu-item > .itd-item-wrap > a {
    background: var(--year-color);
    border-left-color: transparent;
}

/* Aktives Sub-Menü-Item */
#mobile-mainnav .sub-menu > li.current-menu-item > a {
    background: #efefef;
    color: var(--link-color);
    font-weight: 600;
    padding-left: 26px;
}
#mobile-mainnav .sub-menu > li.current-menu-item > a::before {
    opacity: 1;
}

/* Aufgeklappter Zustand */
#mobile-mainnav > li.is-open > .itd-item-wrap > a,
#mobile-mainnav > li.is-open > .itd-item-wrap .itd-chevron-btn {
    background: var(--year-color);
    color: var(--year-color-text);
    border-left-color: transparent;
}
#mobile-mainnav > li.is-open .itd-chevron-btn { border-left-color: rgba(0,0,0,.1); }
#mobile-mainnav > li.is-open .itd-chevron-btn svg { transform: rotate(180deg); }
 
/* ── Sub-Menü (.sub-menu = WordPress-Standard) ─────────────────────────── */
#mobile-mainnav .sub-menu {
    list-style: none;
    margin: 0; padding: 0;
    background: var(--itd-sub-bg);
    border-top: 2px solid var(--year-color);
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
}
#mobile-mainnav li.is-open > .sub-menu { max-height: 400px; }
 
#mobile-mainnav .sub-menu > li { border-bottom: 1px solid #e8e8e8; }
#mobile-mainnav .sub-menu > li:last-child { border-bottom: none; }
 
#mobile-mainnav .sub-menu a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 14px 11px 22px;
    color: #444;
    text-decoration: none;
    font-size: 13px;
    transition: background .12s, color .12s, padding-left .15s;
}
#mobile-mainnav .sub-menu a::before {
    content: '';
    display: block;
    width: 5px; height: 5px;
    background: var(--year-color);
    border-radius: 50%;
    opacity: .5;
    flex-shrink: 0;
    transition: opacity .15s;
}
#mobile-mainnav .sub-menu a:hover { 
 background: #efefef; 
 color: var(--year-color-text); 
 padding-left: 26px; 
 }
#mobile-mainnav .sub-menu a:hover::before { 
 opacity: 1; 
 }

footer .col:nth-child(1) h3 {
 padding-left: 10px;
 }
footer .col:nth-child(1) ul {
 margin-left: 10px !important;
 }
footer .social-media {
 padding-right: 10px;
 }
footer .menu {
 padding-left: 10px;  
 }
article.page {
 padding: 0 10px 0 10px;
 }
}