/* Einheitlicher vertikaler Rhythmus für alle sechs Seiten.
   8 px: zusammengehörige Elemente; 16 px: Inhalte; 24 px: Blöcke;
   32 px: größere Abschnitte. Keine Änderungen an Farben oder Funktionen. */
:root{--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px}
body main>.wrap>.back-link{margin-top:var(--space-lg);margin-bottom:0}
body main>.wrap>section{padding-block:var(--space-lg)}
body #projekte,body #ausruestung{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}
body #ueber{margin-top:var(--space-lg);padding-top:var(--space-lg);padding-bottom:var(--space-lg);column-gap:var(--space-xl);row-gap:var(--space-lg)}
body #entdecken{padding-top:var(--space-xl);padding-bottom:var(--space-lg)}
body .sectiontop,body #entdecken>.sectiontop{gap:var(--space-lg);margin-bottom:var(--space-lg)}
body .sectiontop p,body #entdecken>.sectiontop p{margin-top:var(--space-md);margin-bottom:0}
body .sectiontop h2{margin-top:var(--space-md);margin-bottom:0}
body h1{margin-block:var(--space-lg)}
body p{margin-block:var(--space-md)}
body .button{margin-top:0;column-gap:var(--space-lg)}
body #ueber .button,body #ausruestung .button{margin-top:0}
body #ueber .motto{margin-top:var(--space-lg)}
body .footer{padding-block:var(--space-lg);column-gap:var(--space-lg);row-gap:var(--space-md)}
/* Keine summierten Leerzonen aus Absatz, Rasterabstand und Aufklappzeile. */
body .filters{gap:var(--space-xs);margin-bottom:var(--space-md)}
body .project{padding-block:var(--space-md);row-gap:var(--space-xs);column-gap:var(--space-md);align-items:start}
body .project>p{margin:0}
body .project h3{margin-top:0;margin-bottom:var(--space-xs)}
body .project-area{margin-bottom:var(--space-xs)}
body .project-details{margin:0}
body .project-details summary{padding-block:var(--space-xs);min-height:44px;box-sizing:border-box}
body .project-details p{margin-block:var(--space-sm)}
body .project-details h4{margin-top:var(--space-md);margin-bottom:var(--space-xs)}
body .project-details>:last-child{margin-bottom:0}
body .project-details .back-link{margin-top:var(--space-sm);margin-bottom:0}
/* Gleiche Abstände für Bildunterschriften, Berichte und Fließtext. */
body .equipment-gallery{gap:var(--space-lg)}
body .equipment-gallery figcaption{padding:var(--space-lg)}
body .equipment-gallery h3{margin-top:var(--space-sm);margin-bottom:var(--space-sm)}
body .equipment-gallery figcaption p{margin-top:var(--space-sm);margin-bottom:0}
body .equipment-story{margin-top:var(--space-md)}
body .equipment-story h4{margin-top:var(--space-md);margin-bottom:var(--space-xs)}
body .equipment-gallery>div>h3:first-child{margin-top:0}
body .about p{margin-block:var(--space-md)}
body .about>div>:last-child{margin-bottom:0}
/* Startseite: feste Mindesthöhen vermeiden, Inhalt bestimmt die Blockhöhe. */
body .hero{min-height:0;padding-block:var(--space-xl);gap:var(--space-lg)}
body .heroart{margin:0 auto}
body .metrics{margin-top:var(--space-lg);gap:var(--space-lg)}
body .grid{gap:var(--space-md)}
body .card{min-height:0;padding:var(--space-lg)}
body .card .icon{height:48px}
body .card h3{margin-block:var(--space-sm)}
body .card p{margin-top:var(--space-sm);margin-bottom:0}
body .connection{margin-top:var(--space-lg);padding:var(--space-xl);gap:var(--space-lg)}
body .connection p{margin:0}
body .thought{padding-block:var(--space-lg);margin:0}
body .thought blockquote{margin:0 0 var(--space-md)}
body .thought p{margin:0}
/* Der Chat behält seine begrenzte Höhe und seine unabhängige Scrollfunktion. */
body .forum-box{padding:var(--space-lg);margin-block:var(--space-lg)}
body .forum-box label{margin-top:var(--space-md);margin-bottom:var(--space-xs)}
body .sectiontop:has(+ #chat-window){display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}
body .sectiontop:has(+ #chat-window) h2{margin:0}
body .sectiontop:has(+ #chat-window) .small{margin:0}
body #compose{margin:var(--space-sm) 0 var(--space-md);padding:var(--space-md)}
body #compose label{margin-top:0;margin-bottom:var(--space-xs)}
body .compose-actions{margin-top:var(--space-sm);gap:var(--space-sm)}
body .whatsapp-contact{margin-bottom:var(--space-md)}
body .post{padding-block:var(--space-sm)}
body .post-text{margin-block:var(--space-xs)}
@media(max-width:800px){
 body .hero{padding-top:var(--space-lg);padding-bottom:var(--space-md);row-gap:var(--space-md)}
 body #entdecken{padding-top:var(--space-lg)}
 body .sectiontop,body #entdecken>.sectiontop{margin-bottom:var(--space-md)}
 body #ueber{row-gap:var(--space-lg)}
 body .connection,body .forum-box{padding:var(--space-lg)}
 body .project>p{grid-column:2 / -1}
}

/* Letzte Projektzeile und Chatkontakt: keinen doppelten Abstand vor dem Fußbereich. */
body #projekte{padding-bottom:0}
body #projekte>.project:last-of-type{padding-bottom:var(--space-xs)}
body main>.wrap>section:has(#chat-window){padding-bottom:var(--space-xs)}
body .whatsapp-contact{margin-bottom:0}
body #moderation[hidden],body #admin-login[hidden]{margin:0}

/* Dezente, zunächst geschlossene Zusatzinformationen ohne leere Platzhalter. */
body .website-notice{margin:0;padding:0 0 var(--space-md);font-size:11px;color:var(--muted)}
body .website-notice summary{cursor:pointer;padding:var(--space-xs) 0;min-height:40px;display:list-item;list-style-position:inside}
body .website-notice p{margin:var(--space-xs) 0 0;max-width:650px;line-height:1.7}
body .press-reference>summary{cursor:pointer;color:var(--lime);font-size:14px;line-height:1.6;padding:var(--space-xs) 0;min-height:44px;box-sizing:border-box}
body .press-reference:not([open]){padding-top:0;padding-bottom:0}

/* Websitehinweis direkt hinter der Copyrightzeile, ohne separate Leerzeile. */
.footer-identity{flex:1;min-width:0;line-height:1.7}
body .footer-identity .website-notice{display:inline;margin:0;padding:0;font-size:inherit}
body .footer-identity .website-notice summary{display:inline;padding:0;min-height:0;list-style:none;cursor:pointer}
body .footer-identity .website-notice summary::-webkit-details-marker{display:none}
body .footer-identity .website-notice summary::before{content:' ▸ ';color:var(--muted)}
body .footer-identity .website-notice[open] summary::before{content:' ▾ '}
body .footer-identity .website-notice p{margin:8px 0 0;line-height:1.7}
