/* Grundlagen: alles ist in .tj gekapselt, damit Astra und Elementor nichts verstellen */
.tj{background:#EBE8E8}
/* Elementor: Abstände rund um die HTML-Widgets entfernen */
.elementor-widget-html:has(.tj){margin:0!important;--widgets-spacing:0px}
.elementor-widget-html:has(.tj) .elementor-widget-container{margin:0!important;padding:0!important}
.e-con:has(>.e-con-inner>.elementor-widget-html .tj),.e-con:has(>.elementor-widget-html .tj){--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--content-width:100%;padding:0!important;gap:0!important;max-width:100%!important}
.e-con:has(.tj) .e-con-inner{max-width:100%!important;padding:0!important;gap:0!important}
.elementor-section:has(.tj) .elementor-container{max-width:100%!important}
.elementor-section:has(.tj) .elementor-column>.elementor-widget-wrap{padding:0!important}
/* Menüleiste bleibt beim Scrollen oben stehen (auch am Handy) */
.tj.tj-fixed{background:transparent!important;position:relative;z-index:9999}
body .tj.tj-fixed.tj-m{display:block}
@media (min-width:1200px){body .tj.tj-fixed.tj-m{display:none}}
@media (max-width:1199px){body .tj.tj-fixed.tj-d{display:none}}
.tj .tj-hd{position:fixed!important;top:0;left:0;right:0;width:100%;margin:0!important;z-index:9999}
.admin-bar .tj .tj-hd{top:var(--wp-admin--admin-bar--height,32px)}
.tj{font-family:'Figtree','Helvetica Neue',Arial,sans-serif;color:#1B231D;-webkit-font-smoothing:antialiased;line-height:1.4}
.tj *,.tj *::before,.tj *::after{box-sizing:content-box}
body .tj h1,body .tj h2,body .tj h3,body .tj p,body .tj summary{color:inherit;letter-spacing:inherit;text-transform:none}
body .tj h1,body .tj h2,body .tj h3{font-family:'Josefin Sans',sans-serif}
body .tj input,body .tj select,body .tj textarea{font-family:inherit}
body .tj button,body .tj .btn{text-transform:none!important;letter-spacing:.01em!important;font-family:inherit}
.tj img,.tj video{max-width:none}
.tj a{box-shadow:none}
.tj section,.tj [id]{scroll-margin-top:92px}
html{scroll-behavior:smooth}
.tj a:focus-visible,.tj button:focus-visible,.tj summary:focus-visible{outline:3px solid #8FA597;outline-offset:3px}

/* Animationen & Effekte */
.tj a{color:#1D2E23}a:hover{color:#141F18}
.tj a:focus-visible,.tj button:focus-visible{outline:3px solid #8FA597;outline-offset:3px}
@keyframes tj-rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes tj-reveal{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes tj-kb{from{transform:scale(1)}to{transform:scale(1.14)}}
@keyframes tj-spin{to{transform:rotate(360deg)}}
@keyframes tj-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes tj-dash{to{stroke-dashoffset:-48}}
@keyframes tj-pulse{0%{transform:scale(.7);opacity:.6}100%{transform:scale(1.7);opacity:0}}
@keyframes tj-drop{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}
@keyframes tj-blink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes tj-drift{0%{transform:translateY(50px);opacity:0}20%{opacity:.55}80%{opacity:.55}100%{transform:translateY(-70px);opacity:0}}
@keyframes tj-step{0%,12%{opacity:0;transform:scale(.5)}22%,70%{opacity:.7;transform:scale(1)}100%{opacity:0}}
@keyframes tj-floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.tj .rise{animation:tj-rise 1s cubic-bezier(.2,.7,.2,1) both}
.tj .reveal{animation:tj-reveal 1.4s cubic-bezier(.6,0,.2,1) both}
.tj .kb{animation:tj-kb 22s ease-in-out infinite alternate}
.tj .spin{animation:tj-spin 60s linear infinite}
.tj .spin-r{animation:tj-spin 90s linear infinite reverse}
.tj .marquee{animation:tj-marquee 40s linear infinite}
.tj .dash{animation:tj-dash 1.4s linear infinite}
.tj .pulse{animation:tj-pulse 3.6s ease-out infinite}
.tj .drop{animation:tj-drop 1.8s cubic-bezier(.6,0,.4,1) infinite}
.tj .blink{animation:tj-blink 2.4s ease-in-out infinite}
.tj .drift{animation:tj-drift 9s ease-in-out infinite both}
.tj .stepin{animation:tj-step 7s ease-out infinite both}
.tj .floaty{animation:tj-floaty 5s ease-in-out infinite}
.tj .lift{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.tj .lift:hover{transform:translateY(-8px);box-shadow:0 26px 50px rgba(20,31,24,.18)}
.tj .btn{transition:transform .25s,background-color .25s,color .25s}
.tj .btn:hover{transform:translateY(-3px)}
.tj .btn .arr{transition:transform .3s}
.tj .btn:hover .arr{transform:translateX(5px)}
.tj .tile .timg{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.tj .tile:hover .timg{transform:scale(1.08)}
.tj .tile .tov{transition:background-color .5s}
.tj .tile:hover .tov{background-color:rgba(20,31,24,.74)!important}
.tj .tile .tlabel{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.tj .tile:hover .tlabel{transform:translateY(-34px)}
.tj .tile .tdesc{opacity:0;transform:translateY(24px);transition:opacity .5s,transform .5s cubic-bezier(.2,.7,.2,1)}
.tj .tile:hover .tdesc{opacity:1;transform:none}
.tj .faqbtn{transition:background-color .25s}
.tj .faqbtn:hover{background-color:#F5F3F3}
@media (prefers-reduced-motion:reduce){.tj *{animation:none!important;transition:none!important}}

/* FAQ-Aufklapper */
.tj .tj-faq summary::-webkit-details-marker{display:none}
.tj .tj-faq-icon{position:relative;flex:0 0 auto;width:22px;height:22px}
.tj .tj-faq-icon::before,.tj .tj-faq-icon::after{content:"";position:absolute;left:0;top:10px;width:22px;height:2px;background:#1D2E23;transition:transform .3s}
.tj .tj-faq-icon::after{transform:rotate(90deg)}
.tj .tj-faq[open] .tj-faq-icon::after{transform:rotate(0deg)}
.tj .tj-faq[open] p{animation:tj-rise .45s cubic-bezier(.2,.7,.2,1) both}
.tj .tj-faq summary:hover{background:#F5F3F3}

/* Handy-Menü */
.tj .tj-menu{display:none;position:absolute;left:0;right:0;top:68px;background:rgba(20,31,24,.97);padding:8px 24px 24px}
.tj .tj-menu.is-open{display:block;animation:tj-rise .35s cubic-bezier(.2,.7,.2,1) both}
.tj .tj-ico-close{display:none}
.tj .tj-menu-btn.is-open .tj-ico-open{display:none}
.tj .tj-menu-btn.is-open .tj-ico-close{display:inline}

/* Auf Laptops etwas kompakter, damit nichts zu groß wirkt */
@media (min-width:1200px) and (max-width:1399px){.tj .tj-d,.tj.tj-fixed.tj-d{zoom:.8}}
@media (min-width:1400px) and (max-width:1699px){.tj .tj-d,.tj.tj-fixed.tj-d{zoom:.88}}

/* Desktop oder Handy anzeigen */
@media (min-width:1200px){.tj .tj-m{display:none}}
@media (max-width:1199px){
  .tj .tj-d{display:none}
  .tj .tj-m>section,.tj .tj-m>footer,.tj.tj-m>.tj-hd{padding-left:max(24px,calc((100% - 640px) / 2))!important;padding-right:max(24px,calc((100% - 640px) / 2))!important}
  .tj .tj-m section img{max-width:100%}
  .tj .tj-m .reveal img{width:100%!important}
}