:root{
  --tph-header-h:118px;
  --tph-nav-ink:#111;
  --tph-nav-orange:#ff9400;
  --tph-nav-orange2:#ff641e;
  --tph-nav-yellow:#ffc928;
}
body > .tph-site-header{
  position:sticky!important;
  top:0!important;
  z-index:9000!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
  background:#f4eee5!important;
  border:0!important;
  border-bottom:1px solid rgba(126,88,46,.12)!important;
  box-shadow:0 5px 18px rgba(66,43,20,.07)!important;
  color:var(--tph-nav-ink)!important;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  isolation:isolate;
}
body > .tph-site-header, body > .tph-site-header *{box-sizing:border-box}
body > .tph-site-header a{color:inherit;text-decoration:none}
body > .tph-site-header .tph-header-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:14px clamp(22px,4vw,64px) 12px!important;
  background:rgba(255,251,245,.97)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  transition:padding .26s ease,background .26s ease,box-shadow .26s ease!important;
}
body > .tph-site-header .tph-mobile-row{display:block!important}
body > .tph-site-header .tph-header-logo{
  display:block!important;
  width:280px!important;
  max-width:70vw!important;
  margin:0 auto 10px!important;
  transition:width .26s cubic-bezier(.2,.75,.2,1),margin .26s ease!important;
}
body > .tph-site-header .tph-header-logo img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
}
body > .tph-site-header .tph-nav-wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
}
body > .tph-site-header .tph-main-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:20px!important;
  margin:0!important;
  padding:0!important;
  font-size:inherit!important;
  transition:gap .26s ease!important;
}
body > .tph-site-header .tph-main-nav > a,
body > .tph-site-header .tph-nav-group > a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:36px!important;
  padding:7px 0 9px!important;
  font-size:.90rem!important;
  line-height:1.2!important;
  font-weight:650!important;
  white-space:nowrap!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transition:transform .22s ease,color .22s ease!important;
}
body > .tph-site-header .tph-main-nav > a:not(.tph-nav-cta)::after,
body > .tph-site-header .tph-nav-group > a::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:1px!important;
  width:0!important;
  height:2px!important;
  border-radius:999px!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(90deg,var(--tph-nav-yellow),var(--tph-nav-orange),var(--tph-nav-orange2))!important;
  box-shadow:0 2px 10px rgba(255,145,0,.20)!important;
  transition:width .28s cubic-bezier(.2,.8,.2,1)!important;
}
body > .tph-site-header .tph-main-nav > a:hover,
body > .tph-site-header .tph-nav-group > a:hover{transform:translateY(-2px)!important;color:#2b2115!important}
body > .tph-site-header .tph-main-nav > a:hover::after,
body > .tph-site-header .tph-main-nav > a.active::after,
body > .tph-site-header .tph-nav-group > a:hover::after,
body > .tph-site-header .tph-nav-group > a.active::after{width:30px!important}
body > .tph-site-header .tph-nav-group{position:relative!important;display:inline-flex!important;align-items:center!important}
body > .tph-site-header .tph-nav-group::after{content:""!important;position:absolute!important;left:-12px!important;right:-12px!important;top:100%!important;height:20px!important;background:transparent!important;z-index:9099!important;pointer-events:auto!important}

body > .tph-site-header .tph-nav-group > a{padding-right:16px!important}
body > .tph-site-header .tph-nav-group > a::before{
  content:""!important;position:absolute!important;right:1px!important;top:50%!important;width:6px!important;height:6px!important;
  border-right:1.5px solid currentColor!important;border-bottom:1.5px solid currentColor!important;
  transform:translateY(-65%) rotate(45deg)!important;opacity:.62!important;transition:transform .2s ease!important
}
body > .tph-site-header .tph-nav-group:hover > a::before,
body > .tph-site-header .tph-nav-group:focus-within > a::before{transform:translateY(-20%) rotate(225deg)!important}
body > .tph-site-header .tph-nav-sub{
  display:block!important;position:absolute!important;left:50%!important;top:calc(100% - 2px)!important;transform:translate(-50%,6px)!important;
  min-width:190px!important;padding:7px!important;border:1px solid rgba(117,78,38,.12)!important;border-radius:15px!important;
  background:rgba(255,251,245,.99)!important;box-shadow:0 16px 38px rgba(57,36,15,.14)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.18s ease!important;z-index:99999!important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)
}
body > .tph-site-header .tph-nav-group:hover .tph-nav-sub,
body > .tph-site-header .tph-nav-group:focus-within .tph-nav-sub{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important}
body > .tph-site-header .tph-nav-sub a{
  display:block!important;padding:9px 11px!important;border-radius:10px!important;font-size:.79rem!important;line-height:1.25!important;
  font-weight:750!important;color:#615346!important;background:transparent!important;transform:none!important;white-space:nowrap!important
}
body > .tph-site-header .tph-nav-sub a::before,body > .tph-site-header .tph-nav-sub a::after{display:none!important}
body > .tph-site-header .tph-nav-sub a:hover{background:#fff1dd!important;color:#2b1d10!important}
body > .tph-site-header .tph-nav-cta{
  min-height:40px!important;padding:10px 18px!important;border-radius:999px!important;
  background:linear-gradient(110deg,#fff7e9 0%,#fff1d5 48%,#fff7e9 100%)!important;background-size:220% 100%!important;
  border:1px solid #ffd7a0!important;box-shadow:0 5px 16px rgba(255,150,0,.10)!important;overflow:hidden!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-position .45s ease!important
}
body > .tph-site-header .tph-nav-cta::after{display:none!important}
body > .tph-site-header .tph-nav-cta:hover{transform:translateY(-2px)!important;border-color:#ffc56f!important;box-shadow:0 9px 22px rgba(255,140,0,.16)!important;background-position:100% 0!important}
body > .tph-site-header .tph-nav-arrow{display:inline-block;margin-left:4px;transition:transform .22s ease}
body > .tph-site-header .tph-nav-cta:hover .tph-nav-arrow{transform:translate(3px,-2px)}
body > .tph-site-header .tph-mobile-menu{display:none!important}

@media(min-width:781px){
  body > .tph-site-header.tph-compact .tph-header-inner{
    display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:24px!important;
    padding:9px clamp(16px,2vw,28px)!important;background:rgba(255,251,245,.97)!important;
  }
  body > .tph-site-header.tph-compact .tph-mobile-row{display:block!important}
  /* Logo bleibt beim Scrollen exakt so groß wie oben und wandert nur nach links. */
  body > .tph-site-header.tph-compact .tph-header-logo{width:280px!important;max-width:70vw!important;margin:0!important}
  body > .tph-site-header.tph-compact .tph-nav-wrap{justify-content:flex-end!important}
  body > .tph-site-header.tph-compact .tph-main-nav{gap:16px!important}
}

@media(max-width:1080px) and (min-width:781px){
  body > .tph-site-header .tph-main-nav{gap:13px!important}
  body > .tph-site-header .tph-main-nav > a,
  body > .tph-site-header .tph-nav-group > a{font-size:.78rem!important}
  body > .tph-site-header.tph-compact .tph-main-nav{gap:16px!important}
}

@media(max-width:780px){
  body > .tph-site-header{padding:6px 8px 0!important;background:transparent!important;border-bottom:0!important;box-shadow:none!important}
  body > .tph-site-header .tph-header-inner{
    display:block!important;padding:10px 12px!important;border:1px solid rgba(126,88,46,.13)!important;border-radius:19px!important;
    background:rgba(255,251,245,.97)!important;box-shadow:0 10px 28px rgba(66,43,20,.10)!important
  }
  body > .tph-site-header .tph-mobile-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}
  body > .tph-site-header .tph-header-logo{width:min(220px,64vw)!important;margin:0!important}
  body > .tph-site-header .tph-nav-wrap{display:none!important}
  body > .tph-site-header .tph-mobile-menu{display:block!important;position:relative!important}
  body > .tph-site-header .tph-mobile-menu summary{list-style:none!important;width:46px!important;height:46px!important;border:1px solid #eadfce!important;border-radius:15px!important;display:grid!important;place-items:center!important;background:#fff!important;cursor:pointer!important}
  body > .tph-site-header .tph-mobile-menu summary::-webkit-details-marker{display:none!important}
  body > .tph-site-header .tph-menu-lines,body > .tph-site-header .tph-menu-lines::before,body > .tph-site-header .tph-menu-lines::after{content:"";width:20px;height:2px;background:#111;border-radius:4px;display:block;position:relative}
  body > .tph-site-header .tph-menu-lines::before{position:absolute;top:-6px}.tph-menu-lines::after{position:absolute;top:6px}
  body > .tph-site-header .tph-mobile-panel{position:absolute!important;right:0!important;top:56px!important;width:min(86vw,330px)!important;background:#fff!important;border:1px solid #eee4d7!important;border-radius:20px!important;box-shadow:0 18px 46px rgba(48,30,8,.12)!important;padding:10px!important;z-index:9200!important}
  body > .tph-site-header .tph-mobile-panel a{display:block!important;padding:13px 14px!important;border-radius:13px!important;font-weight:650!important;font-size:.94rem!important;background:transparent!important;color:#211a14!important}
  body > .tph-site-header .tph-mobile-panel a:hover{background:#fff5e8!important}
  body > .tph-site-header .tph-mobile-sub{padding-left:24px!important;font-size:.78rem!important;opacity:.78}
  body > .tph-site-header .tph-mobile-sub::before{content:"↳ ";color:#df7d16}
  body > .tph-site-header .tph-mobile-cta{background:linear-gradient(90deg,#fff0c9,#fff0e8)!important;margin-top:5px!important}
}

section[id],form[id],header[id]{scroll-margin-top:calc(var(--tph-header-h) + 18px)!important}
.quicknav{top:var(--tph-header-h)!important}
@media(prefers-reduced-motion:reduce){body > .tph-site-header *,body > .tph-site-header *::before,body > .tph-site-header *::after{transition:none!important;animation:none!important}}


/* ==========================================================================\n   TPH MOBILE NAVIGATION LOCK · FINAL 2026-10-02\n   LOCKED: active main item = left orange bracket; active gallery subitem = orange.\n   This block is navigation-only and intentionally last-wins.\n   ========================================================================== */

/* Neutralize old page-local mobile navigation variants. */
body > .tph-site-header .tph-mobile-panel > a:not(.tph-mobile-sub):not(.tph-mobile-cta){
  position:relative!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#38271d!important;
  opacity:1!important;
}

/* Never use a right-side generated active arrow/marker. */
body > .tph-site-header .tph-mobile-panel > a:not(.tph-mobile-sub)::after{
  display:none!important;
  content:none!important;
}

/* MAIN ACTIVE = orange bracket on the LEFT. */
body > .tph-site-header .tph-mobile-panel > a.tph-main-active:not(.tph-mobile-sub):not(.tph-mobile-cta),
body > .tph-site-header .tph-mobile-panel > a.active:not(.tph-mobile-sub):not(.tph-mobile-cta){
  position:relative!important;
  padding-left:29px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#21170f!important;
  font-weight:800!important;
}
body > .tph-site-header .tph-mobile-panel > a.tph-main-active:not(.tph-mobile-sub):not(.tph-mobile-cta)::before,
body > .tph-site-header .tph-mobile-panel > a.active:not(.tph-mobile-sub):not(.tph-mobile-cta)::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:10px!important;
  top:50%!important;
  width:7px!important;
  height:26px!important;
  transform:translateY(-50%)!important;
  border-left:2px solid #df7d16!important;
  border-top:2px solid #df7d16!important;
  border-bottom:2px solid #df7d16!important;
  border-right:0!important;
  border-radius:4px 0 0 4px!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  pointer-events:none!important;
}

/* SUB ITEMS: subordinate, no arrow, no bracket. */
body > .tph-site-header .tph-mobile-panel > a.tph-mobile-sub{
  position:relative!important;
  width:calc(100% - 27px)!important;
  margin:1px 0 1px 27px!important;
  padding:9px 12px 9px 16px!important;
  border:0!important;
  border-left:1px solid #e4d7ca!important;
  border-radius:0 10px 10px 0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#77695e!important;
  font-size:.83rem!important;
  font-weight:700!important;
  opacity:1!important;
}
body > .tph-site-header .tph-mobile-panel > a.tph-mobile-sub::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:7px!important;
  top:50%!important;
  width:4px!important;
  height:4px!important;
  transform:translateY(-50%)!important;
  border:0!important;
  border-radius:50%!important;
  background:#c5b09c!important;
  box-shadow:none!important;
}
body > .tph-site-header .tph-mobile-panel > a.tph-mobile-sub::after{
  display:none!important;
  content:none!important;
}

/* CLICKED/CURRENT GALLERY = orange sub-item. */
body > .tph-site-header .tph-mobile-panel > a.tph-mobile-sub.tph-sub-active,
body > .tph-site-header .tph-mobile-panel > a.tph-mobile-sub.active{
  color:#c8660d!important;
  background:#fff5e8!important;
  border-left-color:#df7d16!important;
  font-weight:850!important;
}
body > .tph-site-header .tph-mobile-panel > a.tph-mobile-sub.tph-sub-active::before,
body > .tph-site-header .tph-mobile-panel > a.tph-mobile-sub.active::before{
  background:#df7d16!important;
}

/* Desktop dropdown: current gallery sub-item orange too. */
body > .tph-site-header .tph-nav-sub a.tph-sub-active,
body > .tph-site-header .tph-nav-sub a.active{
  color:#c8660d!important;
  background:#fff1dd!important;
  font-weight:850!important;
}

/* On mobile, old colored main blocks from page-local CSS must never win. */
@media (max-width:940px){
  body > .tph-site-header .tph-mobile-panel > a:not(.tph-mobile-sub):not(.tph-mobile-cta):not(.tph-main-active):not(.active){
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:#38271d!important;
  }
}


/* ==========================================================================\n   TPH MOBILE NAV SAFE FIX · 2026-10-04 · NAVIGATION ONLY\n   Fixes: iPhone pixel artifacts, off-screen sheet, consistent Anfrage CTA.\n   Desktop/tablet intentionally untouched.\n   ========================================================================== */
@media (max-width:600px){
  html,body{max-width:100%;overflow-x:clip;}

  html body > .tph-site-header .tph-mobile-menu{
    position:relative!important;
    z-index:12020!important;
  }

  html body > .tph-site-header .tph-mobile-panel,
  html body > .tph-site-header .tph-mobile-links{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:calc(var(--tph-header-h,90px) + 10px)!important;
    width:auto!important;
    min-width:0!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - var(--tph-header-h,90px) - 24px)!important;
    margin:0!important;
    padding:12px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    transform:none!important;
    translate:none!important;
    border:1px solid rgba(92,65,43,.12)!important;
    border-radius:24px!important;
    background:linear-gradient(145deg,rgba(255,253,250,.992),rgba(253,247,241,.985))!important;
    box-shadow:0 30px 78px rgba(47,31,17,.22),0 5px 18px rgba(47,31,17,.08),inset 0 1px 0 rgba(255,255,255,.9)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.05)!important;
    backdrop-filter:blur(22px) saturate(1.05)!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    box-sizing:border-box!important;
    animation:tphNavSafeEnter .18s ease both!important;
  }

  /* Eliminate old connector/pseudo-element collisions that produced beige pixel blocks. */
  html body > .tph-site-header .tph-mobile-panel > a.tph-mobile-sub::before,
  html body > .tph-site-header .tph-mobile-panel > a.tph-mobile-sub::after,
  html body > .tph-site-header .tph-mobile-links > a.tph-mobile-sub::before,
  html body > .tph-site-header .tph-mobile-links > a.tph-mobile-sub::after{
    display:none!important;
    content:none!important;
    background:none!important;
    border:0!important;
    box-shadow:none!important;
    width:0!important;
    height:0!important;
  }

  html body > .tph-site-header .tph-mobile-panel > a.tph-mobile-sub,
  html body > .tph-site-header .tph-mobile-links > a.tph-mobile-sub{
    width:calc(100% - 36px)!important;
    margin:0 0 5px 36px!important;
    padding:0 16px!important;
    min-height:41px!important;
    border:0!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.44)!important;
    box-shadow:none!important;
  }

  /* Keep the approved orange bracket only on the active MAIN entry. */
  html body > .tph-site-header .tph-mobile-panel > a.tph-main-active:not(.tph-mobile-sub):not(.tph-mobile-cta)::before,
  html body > .tph-site-header .tph-mobile-panel > a.active:not(.tph-mobile-sub):not(.tph-mobile-cta)::before,
  html body > .tph-site-header .tph-mobile-links > a.tph-main-active:not(.tph-mobile-sub):not(.tph-mobile-cta)::before,
  html body > .tph-site-header .tph-mobile-links > a.active:not(.tph-mobile-sub):not(.tph-mobile-cta)::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:10px!important;
    top:50%!important;
    width:7px!important;
    height:26px!important;
    transform:translateY(-50%)!important;
    border-left:2px solid #df7d16!important;
    border-top:2px solid #df7d16!important;
    border-bottom:2px solid #df7d16!important;
    border-right:0!important;
    border-radius:4px 0 0 4px!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  /* Anfrage: same red CTA everywhere; paper plane left, no redundant arrow right. */
  html body > .tph-site-header a.tph-mobile-cta{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    min-height:54px!important;
    margin:10px 2px 2px!important;
    padding:0 20px!important;
    border:1px solid rgba(135,54,36,.08)!important;
    border-radius:17px!important;
    background:linear-gradient(115deg,#d4654b 0%,#bd4f38 55%,#aa402d 100%)!important;
    color:#fff!important;
    box-shadow:0 12px 28px rgba(154,62,39,.22),inset 0 1px 0 rgba(255,255,255,.18)!important;
    font-size:1rem!important;
    line-height:1!important;
    font-weight:840!important;
    letter-spacing:-.01em!important;
    text-align:center!important;
  }
  html body > .tph-site-header a.tph-mobile-cta::before,
  html body > .tph-site-header a.tph-mobile-cta::after{
    display:none!important;
    content:none!important;
  }
  html body > .tph-site-header a.tph-mobile-cta .tph-mobile-icon{
    display:grid!important;
    place-items:center!important;
    flex:0 0 24px!important;
    width:24px!important;
    height:24px!important;
    margin:0!important;
    color:#fff!important;
  }
  html body > .tph-site-header a.tph-mobile-cta .tph-mobile-icon svg{
    display:block!important;
    width:24px!important;
    height:24px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
}
@keyframes tphNavSafeEnter{
  from{opacity:0;transform:translateY(-6px) scale(.992)}
  to{opacity:1;transform:translateY(0) scale(1)}
}


/* ==========================================================================
   TPH MOBILE ANFRAGEN UNIVERSAL RED V2
   STYLE ONLY. No href/link targets are touched here.
   Makes the mobile Anfrage CTA visually identical across all pages.
   ========================================================================== */
@media (max-width:600px){
  html body > header.tph-site-header nav.tph-mobile-panel > a.tph-mobile-cta,
  html body > header.tph-site-header .tph-mobile-links > a.tph-mobile-cta{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    min-height:54px!important;
    margin:10px 2px 2px!important;
    padding:0 20px!important;
    border:1px solid rgba(135,54,36,.08)!important;
    border-radius:17px!important;
    background:linear-gradient(115deg,#d4654b 0%,#bd4f38 55%,#aa402d 100%)!important;
    color:#fff!important;
    box-shadow:0 12px 28px rgba(154,62,39,.22),inset 0 1px 0 rgba(255,255,255,.18)!important;
    font-size:1rem!important;
    line-height:1!important;
    font-weight:840!important;
    letter-spacing:-.01em!important;
    text-align:center!important;
  }

  html body > header.tph-site-header nav.tph-mobile-panel > a.tph-mobile-cta:hover,
  html body > header.tph-site-header nav.tph-mobile-panel > a.tph-mobile-cta:focus,
  html body > header.tph-site-header nav.tph-mobile-panel > a.tph-mobile-cta:active,
  html body > header.tph-site-header .tph-mobile-links > a.tph-mobile-cta:hover,
  html body > header.tph-site-header .tph-mobile-links > a.tph-mobile-cta:focus,
  html body > header.tph-site-header .tph-mobile-links > a.tph-mobile-cta:active{
    background:linear-gradient(115deg,#d4654b 0%,#bd4f38 55%,#aa402d 100%)!important;
    color:#fff!important;
  }

  html body > header.tph-site-header a.tph-mobile-cta .tph-mobile-icon{
    display:grid!important;
    place-items:center!important;
    flex:0 0 24px!important;
    width:24px!important;
    height:24px!important;
    margin:0!important;
    color:#fff!important;
  }

  html body > header.tph-site-header a.tph-mobile-cta .tph-mobile-icon svg{
    display:block!important;
    width:24px!important;
    height:24px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
}


/* ==========================================================================
   TPH MOBILE NAV V3 · BUTTON ONLY + REFERENZEN OUT
   2026-10-04
   IMPORTANT:
   - CSS only
   - no href changes
   - no JS changes
   - no page markup changes
   ========================================================================== */

/* Referenzen gehört nicht in den Header / das Mobilmenü. Footer und Seitenbereich bleiben unberührt. */
html body > .tph-site-header .tph-main-nav a[href*="#referenzen" i],
html body > .tph-site-header .tph-main-nav a[data-tph-referenzen-link],
html body > .tph-site-header .tph-main-nav a[data-tph-referenzen-fixed],
html body > .tph-site-header .tph-mobile-panel > a[href*="#referenzen" i],
html body > .tph-site-header .tph-mobile-panel > a[data-tph-referenzen-link],
html body > .tph-site-header .tph-mobile-panel > a[data-tph-referenzen-fixed],
html body > .tph-site-header .tph-mobile-links > a[href*="#referenzen" i],
html body > .tph-site-header .tph-mobile-links > a[data-tph-referenzen-link],
html body > .tph-site-header .tph-mobile-links > a[data-tph-referenzen-fixed]{
  display:none!important;
}

/* Mobil: Anfrage auf ALLEN Seiten identisch rot.
   Der sichtbare Text wird rein per CSS erzeugt, damit alte "Anfragen ↗"-Texte
   keinen zweiten Pfeil mehr zeigen. Das href bleibt exakt wie es ist. */
@media (max-width:600px){
  html body > .tph-site-header a.tph-mobile-cta{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:100%!important;
    min-height:54px!important;
    margin:10px 0 2px!important;
    padding:0 20px!important;
    border:1px solid rgba(135,54,36,.08)!important;
    border-radius:17px!important;
    background:linear-gradient(115deg,#d4654b 0%,#bd4f38 55%,#aa402d 100%)!important;
    color:#fff!important;
    box-shadow:0 12px 28px rgba(154,62,39,.22),inset 0 1px 0 rgba(255,255,255,.18)!important;
    font-size:0!important; /* hides any legacy "Anfragen ↗" text */
    line-height:1!important;
    text-align:center!important;
    opacity:1!important;
  }

  html body > .tph-site-header a.tph-mobile-cta:hover,
  html body > .tph-site-header a.tph-mobile-cta:focus,
  html body > .tph-site-header a.tph-mobile-cta:active{
    background:linear-gradient(115deg,#d4654b 0%,#bd4f38 55%,#aa402d 100%)!important;
    color:#fff!important;
  }

  /* Avoid duplicate DOM icon from older/newer JS; V3 draws exactly one plane. */
  html body > .tph-site-header a.tph-mobile-cta > .tph-mobile-icon{
    display:none!important;
  }

  html body > .tph-site-header a.tph-mobile-cta::before{
    content:""!important;
    display:block!important;
    flex:0 0 23px!important;
    width:23px!important;
    height:23px!important;
    background:#fff!important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round' d='M22 2 15 22l-4-9-9-4L22 2ZM22 2 11 13'/%3E%3C/svg%3E") center/contain no-repeat!important;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round' d='M22 2 15 22l-4-9-9-4L22 2ZM22 2 11 13'/%3E%3C/svg%3E") center/contain no-repeat!important;
    border:0!important;
    box-shadow:none!important;
    position:static!important;
    transform:none!important;
    opacity:1!important;
  }

  html body > .tph-site-header a.tph-mobile-cta::after{
    content:"Anfragen"!important;
    display:block!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    background:none!important;
    border:0!important;
    box-shadow:none!important;
    color:#fff!important;
    font-size:1rem!important;
    line-height:1!important;
    font-weight:840!important;
    letter-spacing:-.01em!important;
    transform:none!important;
    opacity:1!important;
  }
}


/* ==========================================================================
   TPH MOBILE NAV V4 · FINAL SURGICAL OVERRIDE · 2026-10-04
   SCOPE:
   - mobile menu always stays inside viewport
   - compact red Anfrage button on every page
   - keeps every existing href unchanged
   - no HTML/JS/page-content change
   This selector is intentionally more specific than old page-local !important
   navigation rules (especially Grafikdesign).
   ========================================================================== */
@media (max-width:600px){

  html,
  html body{
    max-width:100%!important;
    overflow-x:clip!important;
  }

  /* HARD viewport lock: wins against Grafikdesign's later inline absolute/right rule. */
  html body > header.tph-site-header details.tph-mobile-menu[open] > nav.tph-mobile-panel{
    position:fixed!important;
    inset-inline-start:12px!important;
    inset-inline-end:12px!important;
    left:12px!important;
    right:12px!important;
    top:calc(var(--tph-header-h,90px) + 10px)!important;
    width:auto!important;
    min-width:0!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - var(--tph-header-h,90px) - 24px)!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    transform:none!important;
    translate:none!important;
  }

  /* Referenzen belongs to the page/footer, not to the mobile/header navigation. */
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a[href*="#referenzen" i],
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a[data-tph-referenzen-link],
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a[data-tph-referenzen-fixed]{
    display:none!important;
  }

  /* Compact CTA. Stronger selector than old Grafikdesign/Webdesign page-local rules. */
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a.tph-mobile-cta,
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a:last-child[href*="#anfrage" i],
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a:last-child[href*="#kontakt" i],
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a:last-child[href*="/Anfrage/" i]{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:start!important;
    align-self:start!important;
    gap:8px!important;
    width:max-content!important;
    min-width:0!important;
    max-width:calc(100% - 4px)!important;
    min-height:46px!important;
    margin:9px 0 2px 0!important;
    padding:0 15px!important;
    border:1px solid rgba(135,54,36,.09)!important;
    border-radius:14px!important;
    background:linear-gradient(115deg,#d4654b 0%,#bd4f38 55%,#aa402d 100%)!important;
    color:#fff!important;
    box-shadow:0 8px 20px rgba(154,62,39,.18),inset 0 1px 0 rgba(255,255,255,.16)!important;
    font-size:0!important; /* hides legacy visible "↗" without touching the href/HTML */
    line-height:1!important;
    opacity:1!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
    transform:none!important;
  }

  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a.tph-mobile-cta:hover,
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a.tph-mobile-cta:focus,
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a.tph-mobile-cta:active{
    background:linear-gradient(115deg,#d4654b 0%,#bd4f38 55%,#aa402d 100%)!important;
    color:#fff!important;
  }

  /* Hide any icon inserted by older JS/CSS; draw exactly one clean paper plane. */
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a.tph-mobile-cta > .tph-mobile-icon{
    display:none!important;
  }

  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a.tph-mobile-cta::before,
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a:last-child[href*="#anfrage" i]::before,
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a:last-child[href*="#kontakt" i]::before,
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a:last-child[href*="/Anfrage/" i]::before{
    content:""!important;
    display:block!important;
    position:static!important;
    flex:0 0 19px!important;
    width:19px!important;
    height:19px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background-color:transparent!important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2 15 22l-4-9-9-4L22 2Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E")!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-size:contain!important;
    box-shadow:none!important;
    opacity:1!important;
    transform:none!important;
  }

  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a.tph-mobile-cta::after,
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a:last-child[href*="#anfrage" i]::after,
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a:last-child[href*="#kontakt" i]::after,
  html body > header.tph-site-header details.tph-mobile-menu > nav.tph-mobile-panel
  > a:last-child[href*="/Anfrage/" i]::after{
    content:"Anfragen"!important;
    display:block!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    box-shadow:none!important;
    color:#fff!important;
    font-size:15.5px!important;
    line-height:1!important;
    font-weight:820!important;
    letter-spacing:-.01em!important;
    opacity:1!important;
    transform:none!important;
  }
}

/* ========================================================================== 
   TPH GLOBAL NAV V5 · DESKTOP/TABLET STABILITY LOCK · 2026-10-05
   - real chevrons instead of pseudo-arrows (no arrow inside text)
   - no invisible hover bridge stealing clicks
   - geometry controlled only by global JS
   ========================================================================== */
@media (min-width:781px){
  html body > header.tph-site-header .tph-main-nav > .tph-nav-group{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    overflow:visible!important;
  }

  /* Old page-local pseudo arrows are fully neutralized. */
  html body > header.tph-site-header .tph-main-nav > .tph-nav-group > a::before{
    display:none!important;
    content:none!important;
    width:0!important;
    height:0!important;
    border:0!important;
    transform:none!important;
  }

  html body > header.tph-site-header .tph-main-nav > .tph-nav-group > a{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    padding-right:0!important;
    pointer-events:auto!important;
  }

  html body > header.tph-site-header .tph-nav-chevron{
    display:inline-block!important;
    flex:0 0 auto!important;
    width:7px!important;
    height:7px!important;
    margin:0 1px 3px 1px!important;
    border-right:1.5px solid currentColor!important;
    border-bottom:1.5px solid currentColor!important;
    transform:rotate(45deg)!important;
    opacity:.58!important;
    pointer-events:none!important;
    transition:transform .18s ease,margin .18s ease!important;
  }
  html body > header.tph-site-header .tph-nav-group:hover > a > .tph-nav-chevron,
  html body > header.tph-site-header .tph-nav-group:focus-within > a > .tph-nav-chevron{
    transform:rotate(225deg)!important;
    margin-top:6px!important;
    margin-bottom:0!important;
  }

  /* No transparent hit-area over neighbouring navigation links. */
  html body > header.tph-site-header .tph-nav-group::after{
    display:none!important;
    content:none!important;
    pointer-events:none!important;
  }
  html body > header.tph-site-header .tph-nav-sub{
    top:calc(100% - 3px)!important;
    pointer-events:none!important;
  }
  html body > header.tph-site-header .tph-nav-group:hover .tph-nav-sub,
  html body > header.tph-site-header .tph-nav-group:focus-within .tph-nav-sub{
    pointer-events:auto!important;
  }

  html body > header.tph-site-header .tph-main-nav,
  html body > header.tph-site-header .tph-main-nav > a,
  html body > header.tph-site-header .tph-nav-group,
  html body > header.tph-site-header .tph-nav-group > a{
    animation:none!important;
  }
}

/* TPH LOGO ONLY SAFE — 2026-10-08
   Desktop open-state logo only. Compact state, mobile, menu and links stay locked. */
@media (min-width:781px){
  html body > header.tph-site-header:not(.tph-compact) .tph-header-logo,
  html body > .tph-site-header:not(.tph-compact) .tph-header-logo{
    width:610px!important;
    max-width:min(610px, 90vw)!important;
  }
}
