.ust-nav ul li a {
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.05rem;
	}
.ust-nav ul li li a {
	font-weight:400;
	text-transform:uppercase;
	letter-spacing:0.05rem;
	}	
	
.ust-nav a:hover {text-decoration:none !important;}

/* =========================
   NAV: Desktop
   ========================= */
@media (min-width: 1361px){
  .ust-nav-toggle{ display:none; }
  #ust-primary-menu{ display:flex; gap:1.5rem; }
}

/* =========================
   NAV: Mobile (fullscreen)
   ========================= */
@media (max-width: 1360px){

  /* Header: Logo links, Toggle rechts */
  .ust-header-inner{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: var(--ust-space-2, 1rem);
    width:100%;
  }

  /* Luft rechts, damit Branding nie unter den Toggle läuft */
  .ust-header-branding{
    padding-right:56px; /* 44px Toggle + Luft */
  }

  .ust-nav{
    margin-left:auto;
    width:auto !important;        /* überschreibt Theme (width:100%) */
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:nowrap !important;  /* überschreibt Theme (wrap) */
    gap:0;
  }

  /* Toggle fest rechts */
  .ust-nav-toggle{
    position:absolute;
    right:12px;                  /* ggf. an Header-Padding anpassen */
    top:20%;
    transform:translateY(-50%);

    width:44px;
    height:44px;
    padding:0;
    margin:0 !important;
    border:0;
    background:transparent;
    cursor:pointer;

    /* Default (oben / unscrolled): initiale Header-Linkfarbe */
    color: var(--ust-header-link, var(--ust-header-text, #ffffff));

    line-height:0;
    flex:0 0 auto;
    z-index:9999;
  }

  /* SCROLLED (Theme-Klassen!): Farbe soll wechseln */
  body.ust-hsticky-sticky .ust-header.ust-scrolled .ust-nav-toggle{
    color: var(--ust-header-sticky-link-scrolled, var(--ust-header-sticky-text-scrolled));
  }

  /* OPEN: X soll auf weißem Panel sichtbar sein (immer sticky/scrolled Farbe) */
  .ust-nav-toggle[aria-expanded="true"]{
    color: var(--ust-header-sticky-link-scrolled, var(--ust-header-sticky-text-scrolled));
  }

  /* Icon: immer exakt zentriert */
  .ust-nav-toggle::before,
  .ust-nav-toggle::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:22px;
    height:2px;
    background:currentColor;
    transform:translate(-50%,-50%);
    transition:transform .18s ease, opacity .18s ease, box-shadow .18s ease;
  }

  /* Hamburger */
  .ust-nav-toggle::before{
    box-shadow: 0 -7px 0 currentColor, 0 7px 0 currentColor;
  }

  /* zweite Linie für X */
  .ust-nav-toggle::after{
    opacity:0;
  }

  /* Open -> X */
  .ust-nav-toggle[aria-expanded="true"]::before{
    box-shadow:none;
    transform:translate(-50%,-50%) rotate(45deg);
  }
  .ust-nav-toggle[aria-expanded="true"]::after{
    opacity:1;
    transform:translate(-50%,-50%) rotate(-45deg);
  }

  /* FULLSCREEN MENU PANEL */
  #ust-primary-menu{
    position:fixed;
    left:0;
    right:0;
    top:0;
    height:100dvh;
    padding: calc(var(--logo-top, 48px) + 56px) 24px 24px;
    margin:0;

    /* default closed on mobile; opened via .is-open (JS) */
    display:none;
    flex-direction:column;
    gap:14px;

    background:#fff;

    /* Panel-Text */
    color: var(--ust-header-sticky-text-scrolled, #111111);

    z-index:9998;
    overflow:auto;
    -webkit-overflow-scrolling: touch;

    list-style:none;
    padding-left:24px; /* optional, falls WP einrückt */
  }

  /* Open state */
  #ust-primary-menu.is-open{
    display:flex;
  }
}
/* Footer Nav */
footer .ust-footer-widgets ul.menu {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
footer .ust-footer-widgets ul.menu a {text-decoration:none;}

.ust-header-search{
  position: relative;
  display: flex;
  align-items: center;
  margin-left: 1rem;
}

.ust-search-toggle{
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  color: inherit;
  cursor: pointer;
  line-height: 1;
}

.ust-search-toggle svg{
  display: block;
}

.ust-search-panel{
  position: absolute;
  top: calc(100% + 0.75rem);
  right: 0;
  width: min(24rem, 80vw);
  padding: 0.9rem;
  background: #fff;
  color: #111;
  z-index: 10001;
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

.ust-search-panel .search-form{
  display: flex;
  gap: 0.5rem;
  margin: 0;
}

.ust-search-panel .search-field{
  width: 100%;
}

@media (max-width: 1360px){

  .ust-header-search{
    position: static;
    margin-left: 0;

  }

  .ust-search-panel{
    position: fixed;
    top: 4.75rem;
    left: 1rem;
    right: 1rem;
    width: auto;
    max-width: none;
    padding: 2.75rem 1rem 1rem;
    background: #fff;
    color: #111;
    box-shadow: 0 12px 30px rgba(0,0,0,0.18);
    z-index: 10001;
  }

  .ust-search-close{
    position: absolute;
    top: 0.55rem;
    right: 0.65rem;
    font-size: 1.5rem;
    line-height: 1;
  }

  .ust-search-panel .search-form{
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.5rem;
    align-items: center;
    margin: 0;
  }

  .ust-search-panel .search-field{
    width: 100%;
    min-width: 0;
  }

  .ust-search-panel .search-submit{
    white-space: nowrap;
  }
}

.ust-search-panel{
  position: absolute;
  top: calc(100% + 0.75rem);
  right: 0;
  width: min(24rem, 80vw);
  padding: 2.5rem 0.9rem 0.9rem;
  background: #fff;
  color: #111;
  z-index: 10001;
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

.ust-search-close{
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0.25rem;
  line-height: 1;
  font-size: 1.5rem;
  cursor: pointer;
  color: inherit;
}