/* Lokal eingebundene Schriften (kein Abruf bei Google) */
@font-face{font-family:'Poppins';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/poppins-400.woff) format('woff')}
@font-face{font-family:'Poppins';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/poppins-500.woff) format('woff')}
@font-face{font-family:'Poppins';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/poppins-600.woff) format('woff')}
@font-face{font-family:'Inter';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/inter-400.woff) format('woff')}
@font-face{font-family:'Inter';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/inter-600.woff) format('woff')}
/* Handschrift für den Claim: Datei fonts/caveat-700.woff2 selbst ablegen (siehe LIESMICH.txt). Fehlt sie, greift die Ersatzschrift. */
@font-face{font-family:'Caveat';font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/caveat-700.woff2) format('woff2')}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0}
a{color:#38742c;text-decoration:underline;text-underline-offset:3px}
a:hover{color:#0b2208}
:focus-visible{outline:3px solid #0b2208;outline-offset:3px;border-radius:4px}
.dk a:hover{color:#e3eedf}
.dk :focus-visible{outline-color:#ffffff}
.skip{position:absolute;left:16px;top:-120px;z-index:10;background:#0b2208;color:#ffffff;padding:12px 18px;border-radius:8px;font-family:'Poppins',sans-serif;font-weight:500}
.skip:focus{top:16px}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nl{display:inline-block;padding:12px 16px;font-family:'Poppins',sans-serif;font-weight:500;font-size:1.125rem;color:#0b2208;text-decoration:none;border-radius:10px}
.nl:hover{background:#e3f1de;color:#0b2208;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
#mail-link[hidden],#mail-reveal[hidden]{display:none}
.msg-ok{background:#e3f1de;color:#0b2208;padding:10px 14px;border-radius:8px;border:2px solid #38742c}
.msg-err{background:#fde8e6;color:#5a1008;padding:10px 14px;border-radius:8px;border:2px solid #8a1c10}
button{font-family:inherit}

/* Mobiles Menü (nur Symbol mit drei Strichen) und schwebende Menüleiste */
html{scroll-padding-top:104px}
.pg{container-type:inline-size;container-name:pg;display:flow-root}
.hdr{container-type:inline-size}
.menu-btn{display:none;align-items:center;justify-content:center;width:52px;height:52px;padding:0;background:#38742c;border:0;border-radius:50%;cursor:pointer}
.menu-btn:hover{background:#0b2208}
.menu-ico,.menu-ico::before,.menu-ico::after{display:block;width:24px;height:3px;background:#fff;border-radius:2px;position:relative;transition:transform .2s,background .2s}
.menu-ico::before,.menu-ico::after{content:"";position:absolute;left:0}
.menu-ico::before{top:-8px}.menu-ico::after{top:8px}
.menu-btn[aria-expanded="true"] .menu-ico{background:transparent}
.menu-btn[aria-expanded="true"] .menu-ico::before{top:0;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-ico::after{top:0;transform:rotate(-45deg)}
/* Sprachumschalter DE | EN */
.lang{display:inline-flex;border:2px solid #5f7f58;border-radius:40px;overflow:hidden;background:#fff}
.lg{display:inline-block;min-width:44px;box-sizing:border-box;padding:10px 14px;text-align:center;font-family:'Poppins',sans-serif;font-weight:500;font-size:1rem;color:#0b2208;text-decoration:none}
.lg:hover{background:#e3f1de;color:#0b2208}
.lg.on,.lg.on:hover{background:#38742c;color:#fff}
/* Schwebende Menüleiste am Desktop */
@container pg (min-width: 900px){
  .hdr{position:sticky;top:16px;z-index:50;width:min(1240px,calc(100% - 48px));margin:16px auto;border:1px solid rgba(56,116,44,.28) !important;border-radius:22px;background:rgba(255,255,255,.9) !important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 36px rgba(11,34,8,.25)}
}
@container (max-width: 860px){
  .js .menu-btn{display:inline-flex}
  .js #hauptnav{display:none !important;flex-basis:100%;flex-direction:column;align-items:stretch !important;padding:8px 0 12px}
  .js #hauptnav.offen{display:flex !important}
  .js #hauptnav .nl{display:block;padding:14px 16px;border-bottom:1px solid #e3eedf;border-radius:0}
  .js #hauptnav .btn-term{text-align:center;margin-top:10px}
  .js #hauptnav .lang{align-self:flex-start;margin-top:12px}
}
@media (prefers-reduced-motion: reduce){.menu-ico,.menu-ico::before,.menu-ico::after{transition:none}}
