/* Eigenstil: Kopf, Navigation, linke Spalte, Kontaktblock,
   Barrierefreiheit, Typografie-Tokens */
/* --- Grosse Lasche wieder an der urspruenglichen Position im Kopf (nicht sticky) --- */
.elementor-66 .elementor-element.elementor-element-42f6eca{position:static;}
.elementor-66 .elementor-element.elementor-element-475a61f{
  position:absolute;
  left:58px;
  top:272px;
  width:214px!important;
  max-width:214px!important;
  height:46px;
  box-sizing:border-box;
  margin:0;
  padding:0;
  background-image:linear-gradient(180deg,#fdf8e2 0%,#fdf3ce 100%),linear-gradient(180deg,#c2ab77 0%,#e8d7ab 8%,#e3d3a4 50%,#b39c6a 92%,#f7ecd2 100%);
  background-origin:border-box;
  background-clip:padding-box,border-box;
  background-repeat:no-repeat;
  border:5px solid transparent;
  border-radius:3px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.55);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  z-index:3;
}
.elementor-66 .elementor-element.elementor-element-475a61f > .elementor-widget-container{
  height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;
}
.elementor-66 .elementor-element.elementor-element-475a61f .elementor-heading-title{
  margin:0!important;padding:0!important;line-height:1!important;text-align:center!important;width:100%!important;
}
/* --- Dezente Kontextueberschrift im Sticky-Bereich: erscheint erst, wenn die
   grosse Lasche aus dem Blickfeld gescrollt ist (nur Desktop) --- */
.bh-ctx{
  display:none;
  margin:0 0 18px 40px;padding:0 0 8px;
  border-bottom:1px solid #E9DDBD;
  font-family:"AlegreyaSC","Alegreya",serif;font-weight:600;font-size:15px;letter-spacing:.05em;
  color:#546647;
}
/* --- CTA-Bereich der Seiten ohne Untermenue: rein typografisch --- */
.bh-cta{margin:28px 0 0 40px;}
.bh-cta p{margin:0;font-size:1rem;line-height:1.4;color:#5a5f4e;}
.bh-cta p.bh-cta-h{margin:0 0 5px;font-weight:700;color:#546647;}
.bh-cta-tel{margin:16px 0 0;font-family:'Alegreya',serif;font-weight:700;color:#3f5233!important;text-decoration:none!important;line-height:1.2;}
.bh-cta-tel:hover,.bh-cta-tel:focus{color:#B44800!important;}
.bh-cta-tel-note{display:block;margin:1px 0 0;font-weight:400;}
.bh-cta-link{margin-top:14px;font-weight:700;}
.bh-cta-link:hover,.bh-cta-link:focus{text-decoration:underline;}
.bh-cta-ico{flex:0 0 auto;margin-top:.18em;opacity:.85;}
.bh-cta-tel,.bh-cta-link{display:flex;align-items:flex-start;gap:9px;width:-moz-max-content;width:max-content;max-width:100%;}
.bh-cta-tel span.bh-cta-tel-txt{display:block;}
@media only screen and (min-width:1025px){
  .bh-ctx.is-visible{display:block;}
}

/* --- Sticky-Kontext: Lasche + Navigation bzw. Bild; stoppt vor dem Praxisblock --- */
.elementor-60 .elementor-element.elementor-element-b441738.e-con{--flex-grow:0;}
.bh-sticky-track{flex:1 1 auto;min-height:0;padding-bottom:20px;}
.bh-leaf-clip{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
@media only screen and (min-width:1025px){
  .bh-sticky{position:sticky;top:28px;}
}

/* --- Bausteine des Textpakets: Termin-Block, Fragen, visuelle Seitenspalte --- */
.bh-termin{background:#F6F2E0;border:1px solid #E9DDBD;padding:20px 26px;margin:10px 0 6px;}
.bh-termin h2{margin-top:0!important;}
.bh-termin p:last-child{margin-bottom:0;}
.bh-faq{border-top:1px solid #E9DDBD;}
.bh-faq:last-of-type{border-bottom:1px solid #E9DDBD;}
.bh-faq summary{cursor:pointer;padding:11px 0;font-weight:700;color:#546647;list-style:none;}
.bh-faq summary::-webkit-details-marker{display:none;}
.bh-faq summary::before{content:"+";display:inline-block;width:1.1em;color:#EC6602;}
.bh-faq[open] summary::before{content:"\2013";}
.bh-faq > p{margin:0 0 14px 1.1em;}
.bh-side-visual{margin:0 0 20px;}
.bh-side-visual img{display:block;width:100%;height:auto;}

/* --- Breitere Standardbreite (1140 px) --- */
.e-con{--container-max-width:1140px!important;}
.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px!important;}
@media(min-width:768px){
  .elementor-location-header > .e-con,
  .elementor-location-single > .e-con,
  .elementor-location-footer > .e-con{--content-width:1140px!important;}
  .elementor-location-header > .e-con > .e-con-inner,
  .elementor-location-single > .e-con > .e-con-inner,
  .elementor-location-footer > .e-con > .e-con-inner{max-width:1140px!important;}
}
/* Leseschrift an die groessere Breite angepasst */
body{font-size:17px;}
.elementor-kit-5 h2{font-size:23px;}
.elementor-kit-5 h3{font-size:20px;}

/* --- Kopf komplett aus Einzelelementen: oranger Balken, cremefarbenes Band,
   Logo, echter Alegreya-Namenszug, freigestellte Blattgrafik, Goldlinie.
   Kein Rasterbild als Untergrund, harte Unterkante durch overflow:hidden. --- */
.elementor-66 .elementor-element.elementor-element-525e4ee:not(.elementor-motion-effects-element-type-background){
  background-image:none!important;
}
.elementor-66 .elementor-element.elementor-element-525e4ee{--min-height:341px!important;}
.elementor-66 .elementor-element.elementor-element-525e4ee > .e-con-inner{
  position:relative;
  overflow:hidden;
  min-height:341px;
  background-image:
    radial-gradient(118% 150% at 42% 46%, #FFFDF4 0%, #FDFAE6 34%, #FBF6D8 62%, rgba(242,235,196,0) 100%),
    linear-gradient(180deg,
      #EC6602 0px, #DA5E02 11px,
      #F2EBC4 12px, #F2EBC4 288px,
      #FEFBEC 289px,
      #FEFBEC 341px);
  background-repeat:no-repeat,no-repeat;
  background-position:left 12px,left top;
  background-size:100% 277px,100% 341px;
}
.bh-head-parts{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.bh-head-leaves{
  position:absolute;
  right:-56px;
  top:-80px;
  width:480px;
  height:566px;
  display:block;
  opacity:.88;
  clip-path:inset(92px 0 0 0);
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.25) 22%, rgba(0,0,0,.85) 48%, rgba(0,0,0,1) 66%);
  mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.25) 22%, rgba(0,0,0,.85) 48%, rgba(0,0,0,1) 66%);
}
.bh-head-logo{position:absolute;left:78px;top:68px;width:172px;height:172px;display:block;}
.bh-head-text{position:absolute;left:250px;top:98px;color:#3f442e;font-family:'Alegreya',serif;}
.bh-head-text p{margin:0;padding:0;color:#3f442e;}
.bh-head-pre{font-size:19px;font-weight:700;line-height:1.15;}
.bh-head-name{font-size:30px;font-weight:700;line-height:1.18;margin-top:2px!important;color:#465438!important;}
.bh-head-sub{font-size:25px;font-weight:400;line-height:1.15;margin-top:15px!important;}
/* --- Rechteckige Menuebuttons statt runder Bild-Buttons, gleiche Farbwelt.
   Alle gleich hoch und vertikal mittig auf der goldenen Linie (y=295 im Kopf). --- */
@media only screen and (min-width:768px){
  /* Rahmen und Verlauf 1:1 aus nav_bg.png abgenommen, nur rechteckig statt rund:
     goldener Bevel-Rand aussen, gruener Verlauf innen, heller Innenrand oben */
  .nav-new li.menu-item{
    background-image:linear-gradient(180deg,#55701a 0%,#4f6a16 30%,#456012 65%,#374d0d 100%),linear-gradient(180deg,#c2ab77 0%,#e8d7ab 8%,#e3d3a4 50%,#b39c6a 92%,#f7ecd2 100%)!important;
    background-origin:border-box!important;
    background-clip:padding-box,border-box!important;
    background-repeat:no-repeat!important;
    background-size:auto!important;
    border:5px solid transparent!important;
    border-radius:3px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.55)!important;
    width:auto!important;
    height:46px!important;
    min-height:0!important;
    margin:0 8px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
  }
  .nav-new li.menu-item:hover,
  .nav-new li.menu-item.current-menu-item.page_item,
  .nav-new li.menu-item.current-menu-item{
    background-image:linear-gradient(180deg,#c25000 0%,#b74a00 30%,#a84300 65%,#973b00 100%),linear-gradient(180deg,#c2ab77 0%,#e8d7ab 8%,#e3d3a4 50%,#b39c6a 92%,#f7ecd2 100%)!important;
  }
  .nav-new .elementor-nav-menu--main .elementor-nav-menu{align-items:center!important;}
  .nav-new .elementor-item{
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    border-radius:0!important;
    padding:0 20px!important;
    white-space:nowrap!important;
    line-height:1.2!important;
  }
  /* Buttonreihe so setzen, dass die Linie mittig durchlaeuft */
  .elementor-66 .elementor-element.elementor-element-beb05b9{--padding-bottom:23px!important;}
}


/* --- Tablet-Kopf (881–1024 px) aus denselben Bausteinen; vorher wurde hier
   header.jpg auf die Containerbreite skaliert und dabei mitten durch den
   Namenszug beschnitten. --- */
.elementor-66 .elementor-element.elementor-element-fd18aa1:not(.elementor-motion-effects-element-type-background){
  background-image:none!important;
}
.elementor-66 .elementor-element.elementor-element-fd18aa1 > .e-con-inner{
  position:relative;
  overflow:hidden;
  min-height:210px;
  background-image:
    radial-gradient(118% 150% at 42% 48%, #FFFDF4 0%, #FDFAE6 34%, #FBF6D8 62%, rgba(242,235,196,0) 100%),
    linear-gradient(180deg, #EC6602 0px, #DA5E02 9px, #F2EBC4 10px, #F2EBC4 210px);
  background-repeat:no-repeat,no-repeat;
  background-position:left 10px,left top;
  background-size:100% 200px,100% 210px;
}
.bh-head-tab .bh-head-leaves{right:-40px;top:-52px;width:299px;height:352px;clip-path:inset(62px 0 0 0);}
.bh-head-tab .bh-head-logo{left:24px;top:44px;width:120px;height:120px;}
.bh-head-tab .bh-head-text{left:158px;top:64px;}
.bh-head-tab .bh-head-pre{font-size:15px;}
.bh-head-tab .bh-head-name{font-size:23px;}
.bh-head-tab .bh-head-sub{font-size:19px;margin-top:10px!important;}

.elementor-66 .elementor-element.elementor-element-beb05b9{position:relative;z-index:3;}

/* --- Inhaltsbereich: eigene, saubere Flaeche statt der alten Hintergrundbilder
   (faux_bg.jpg / content_bg.jpg), damit er links und rechts glatt abschliesst --- */
.elementor-60 .elementor-element.elementor-element-e521e16,
.elementor-60 .elementor-element.elementor-element-f259b99{
  background-image:none!important;
  background-color:transparent!important;
}
.elementor-60 .elementor-element.elementor-element-e521e16 > .e-con-inner,
.elementor-60 .elementor-element.elementor-element-f259b99 > .e-con-inner{
  position:relative;
  z-index:0;
  background:#FEFBEC;
}
.elementor-60 .elementor-element.elementor-element-1b313d6{background-image:none!important;}
/* senkrechte Trennlinie: duenn und im Ton des Untergrunds statt als goldener Balken */
.elementor-60 .elementor-element.elementor-element-4a63500{
  border-right:1px solid #E9DDBD;
}
/* das Blatt laeuft aus dem Kopf in den Inhalt weiter — gleiche Groesse,
   gleicher rechter Abstand, nahtlos an der Kopfunterkante fortgesetzt */
.bh-content-leaf{
  position:absolute;
  right:-56px;
  top:-421px;
  width:480px;
  height:566px;
  clip-path:inset(421px 56px 0 0);
  opacity:1;
  pointer-events:none;
  z-index:0;
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.25) 22%, rgba(0,0,0,.85) 48%, rgba(0,0,0,1) 66%);
  mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.25) 22%, rgba(0,0,0,.85) 48%, rgba(0,0,0,1) 66%);
}
/* Inhaltsspalten liegen ueber der Blattgrafik, damit der Text lesbar bleibt */
.elementor-60 .elementor-element.elementor-element-e521e16 > .e-con-inner > .e-con,
.elementor-60 .elementor-element.elementor-element-f259b99 > .e-con-inner > .e-con{
  position:relative;
  z-index:1;
}
/* unterhalb 1025 px greift der kleinere Tablet-Kopf — die Fortsetzung folgt seinen Massen */
@media(max-width:1024px){
  .bh-content-leaf{right:-40px;top:-262px;width:299px;height:352px;clip-path:inset(262px 40px 0 0);}
}

/* --- Goldlinie als eigene Ebene ueber der Blattgrafik: die Pflanze laeuft
   dadurch hinter der Linie durch, statt an ihr abgeschnitten zu werden --- */
.elementor-66 .elementor-element.elementor-element-525e4ee > .e-con-inner::after{
  content:"";
  position:absolute;
  left:0;right:0;
  top:288px;
  height:14px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,
    rgba(230,217,182,0) 0px,
    #E6D9B6 1px,
    #D6C391 3px,
    #E2D2A4 5px,
    #F2E6C6 8px,
    #EFE3C0 11px,
    rgba(253,248,228,0) 14px);
}
.elementor-66 .elementor-element.elementor-element-beb05b9{position:relative;z-index:3;}

/* --- weiches, unscharfes Blatt oben links wie im Bestandsheader --- */
.bh-head-leaf-left{
  position:absolute;
  left:-46px;
  top:8px;
  width:246px;
  height:250px;
  display:block;
  opacity:.82;
  clip-path:inset(4px 0 0 0);
  -webkit-mask-image:linear-gradient(135deg, #000 0%, #000 52%, rgba(0,0,0,.55) 78%, rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(135deg, #000 0%, #000 52%, rgba(0,0,0,.55) 78%, rgba(0,0,0,0) 100%);
}
.bh-head-tab .bh-head-leaf-left{left:-32px;top:6px;width:172px;height:175px;clip-path:inset(4px 0 0 0);}

/* --- linke Seitennavigation: aktiver Eintrag hervorheben --- */
.nav-left .elementor-nav-menu--main li.bh-left-item > a.elementor-item.elementor-item-active,
.nav-left .elementor-nav-menu--main li.bh-left-item.current-menu-item > a.elementor-item{
  color:#EC6602!important;
  font-weight:700!important;
}
.nav-left .elementor-nav-menu--main li.bh-left-item.current-menu-item{
  background-position:left center;
}

.bh-verfahren{columns:2;column-gap:28px;}
@media(max-width:767px){.bh-verfahren{columns:1;}}

/* --- Linke Spalte 20 px schmaler, Inhaltsspalte entsprechend breiter;
   Lasche exakt mittig zur schmaleren Spalte --- */
.elementor-60 .elementor-element.elementor-element-4a63500{--width:30.25%;}
.elementor-60 .elementor-element.elementor-element-1b313d6{--width:68.42%;}
.elementor-66 .elementor-element.elementor-element-475a61f{left:65px;}

/* --- Barrierefreiheit: Kontraste auf WCAG AA, sichtbarer Tastaturfokus --- */
a{color:#B44800;}
a:hover,a:focus{color:#973B00;}
.moduletable a{color:#B44800;}
.bh-cta-link{color:#B44800!important;}
.bh-cta-link:hover,.bh-cta-link:focus{color:#973B00!important;}
.bh-cta-tel-note{color:#6E725F!important;}
.bh-faq summary::before{color:#B44800;}
.bh-kachel-m{color:#B44800;}
[style*="color:#999999"],[style*="color: #999999"]{color:#6E725F!important;}
.nav-new a.elementor-item,.nav-new .elementor-nav-menu--main .elementor-item{font-size:.9375rem!important;}
:focus-visible{outline:2px solid #3F5233;outline-offset:2px;}
.nav-new li.menu-item a:focus-visible,.bh-cta-tel:focus-visible,.bh-cta-link:focus-visible{outline:2px solid #3F5233;outline-offset:3px;}

/* --- Typografie zentral: Groessen als Custom Properties, Fliesstext in rem,
   Ueberschriften mit clamp(); em nur noch fuer Abstaende im Element --- */
:root{
  --fs-body:1.0625rem;
  --fs-small:0.9375rem;
  --fs-xsmall:0.875rem;
  --fs-h1:clamp(1.5rem, 1.16rem + 0.85vw, 1.7rem);
  --fs-h2:clamp(1.3125rem, 1.15rem + 0.4vw, 1.4375rem);
  --fs-h3:clamp(1.125rem, 1.05rem + 0.25vw, 1.25rem);
  --fs-name:clamp(1.375rem, 0.95rem + 1.1vw, 1.875rem);
  --fs-sub:clamp(1.125rem, 0.85rem + 0.75vw, 1.5625rem);
  --fs-tel:1.3125rem;
  --lh-body:1.65;
  --lh-head:1.2;
}
body{font-size:var(--fs-body);line-height:var(--lh-body);}
.wp-block-paragraph,.wp-block-list li,.moduletable p,.bh-termin p{font-size:var(--fs-body);}
h1.elementor-heading-title{font-size:var(--fs-h1)!important;line-height:var(--lh-head);}
h2.wp-block-heading{font-size:var(--fs-h2)!important;line-height:var(--lh-head);}
h3{font-size:var(--fs-h3);line-height:var(--lh-head);}
.bh-head-name{font-size:var(--fs-name)!important;}
.bh-head-sub{font-size:var(--fs-sub)!important;}
.elementor-66 .elementor-element.elementor-element-475a61f .elementor-heading-title{font-size:var(--fs-body)!important;}
.bh-cta-tel{font-size:var(--fs-tel);}
.bh-cta-tel-note,[style*="color:#999999"],[style*="color: #999999"]{font-size:var(--fs-xsmall);}
.bh-ctx,.bh-faq summary{font-size:var(--fs-small);}
