/* Shared topic structure, available on every page and without JavaScript. */
.site-header{max-width:1280px;margin:0 auto;padding:0 36px;position:relative;z-index:20}
.site-topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-meta{display:flex;align-items:center;gap:25px;font-size:11px;color:#607054}
.site-meta a{padding:9px 0}.site-meta a:hover,.site-meta a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.site-navigation{position:relative;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dbe1cc;border-bottom:1px solid #c9d3b9;margin-bottom:15px}
.nav-section,.nav-section:last-child{border:0}
.nav-section>summary{padding:13px 20px;font-size:13px;color:#36543b;display:flex;align-items:center;justify-content:center;gap:13px;min-height:47px;font-weight:550;position:relative;border-radius:6px 6px 0 0}
.nav-section>summary>span{font:16px/1 var(--sans);transform:none;transition:transform .15s}
.nav-section>summary:hover,.nav-section[open]>summary{background:#e6ebd6}
.nav-section[open]>summary>span{transform:rotate(180deg)}
.nav-section[data-current=true]>summary:after{content:'';position:absolute;bottom:-1px;left:20%;right:20%;height:3px;border-radius:2px;background:#778b4e}
.nav-panel{position:absolute;top:100%;left:0;right:0;z-index:30;background:#f6f7ec;border:1px solid #c9d3b9;border-top:0;border-radius:0 0 16px 16px;padding:23px;box-shadow:0 24px 35px #1d402628;max-height:calc(100dvh - 160px);overflow-y:auto}
.nav-panel>p{font-size:12px;color:#6c7c59;padding:0 10px 15px;border-bottom:1px solid #d8dfc9;margin-bottom:13px}
.nav-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.nav-links a{display:flex;flex-direction:column;gap:7px;padding:15px 12px;border-radius:9px;color:#254732;min-height:96px}
.nav-links a:hover,.nav-links a:focus-visible{background:#e8edd7}.nav-links a[aria-current=page]{background:#dce7c5;box-shadow:inset 3px 0 #718e50}
.nav-links strong{font-size:14px;font-weight:600;line-height:1.4}.nav-links span{font-size:11px;line-height:1.6;color:#6a795d}
/* The controls carry names, with no ornamental enumeration. */
.earth-stops button{min-height:43px;font-size:10px;padding:11px 5px}
.repro-menu>button{gap:12px}.repro-explanation{gap:12px}.step-buttons{margin-left:auto}
@media(max-width:760px){.site-header{padding:0 23px}.site-topbar{height:72px;gap:15px}.site-header .brand{font-size:20px;gap:8px}.site-header .brand svg{width:25px}.site-meta{gap:16px;font-size:10px}.nav-section>summary{padding:12px 8px;font-size:12px;gap:7px}.nav-links{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-panel{padding:17px;max-height:calc(100dvh - 148px)}.nav-links a{padding:12px 10px;min-height:80px}.nav-links strong{font-size:13px}.nav-links span{font-size:10px}.nav-panel>p{font-size:11px;padding:0 5px 12px}}
@media(max-width:580px){.site-meta a[href="datenschutz.html"]{display:none}.site-navigation{margin-bottom:12px}.nav-links{grid-template-columns:1fr;gap:2px}.nav-links a{padding:12px;min-height:69px;gap:4px}.nav-links span{font-size:11px}.nav-panel{padding:13px}.nav-links strong{font-size:14px}.nav-panel>p{line-height:1.6;margin-bottom:8px;padding:0 12px 11px}.repro-menu>button{justify-content:center;min-height:75px}}
@media(max-width:400px){.site-header{padding:0 18px}.site-header .brand{font-size:18px;gap:6px}.site-header .brand svg{width:21px}.site-meta{font-size:9px}.nav-section>summary{font-size:11px;gap:6px;padding:12px 6px}.nav-section>summary>span{font-size:12px}}

/* Legal links stay visible and wrap before they crowd the footer. */
.compact-footer nav{flex-wrap:wrap;gap:12px 20px}
@media(min-width:701px) and (max-width:1050px){.compact-footer{grid-template-columns:1fr}.compact-footer nav{justify-content:flex-start}}
