/* Bestehende Farben, Bildüberschriften und Georgia bleiben erhalten. */
html { -webkit-text-size-adjust:100%; --reading-size:clamp(18px,1.45vw,24px); }
body { margin:40px 0; overflow-wrap:anywhere; background:#fff; }
.email-address,.email-address tbody { display:block; }
.email-address tr { display:flex; flex-wrap:wrap; }
.email-address td { padding:0; }
img { max-width:100%; height:auto; }
body > div.Normalschrift { width:calc(100% - 40px)!important; max-width:1060px; }
body > table { width:calc(100% - 40px); max-width:1060px; margin-left:auto; margin-right:auto; }
.Normalschrift,.NormalschriftFett { font-size:var(--reading-size); line-height:1.65; }
.EnglischBlau,.EnglischSchwarz,.EnglischRot { font-size:var(--reading-size); line-height:1.6; }
.Postingtext,.PostingtextMarkiert,.Thread { font-size:var(--reading-size); line-height:1.55; }
.Navigation { font-size:14px; line-height:2; }
.Navigation a { display:inline-block; }
.Zitat { font-size:var(--reading-size); line-height:1.6; }
input,select,textarea { box-sizing:border-box; max-width:100%; font-size:16px!important; }
textarea { width:100%; }
body.home { margin:0; }
body.home { --home-gutter:clamp(24px,4vw,72px); }
.home-layout { box-sizing:border-box; width:100%; max-width:1680px; margin:clamp(28px,4vw,64px) auto 28px; padding:0 var(--home-gutter); display:grid; grid-template-columns:minmax(0,0.75fr) minmax(0,1.6fr); align-items:center; gap:clamp(24px,4vw,64px); }
.home-photo { width:100%; min-width:0; }
.text-menu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; min-width:0; width:100%; }
.text-menu a { display:block; min-width:0; padding:6px 0; color:#142F89; text-decoration:none; }

.home-audio { text-align:center; margin:20px; }
.home-audio audio { max-width:100%; }
.home-note { box-sizing:border-box; width:100%; max-width:1540px; margin:32px auto 48px; padding:0 var(--home-gutter); }
.home-note p { font-size:var(--reading-size); line-height:1.65; }
@media(max-width:760px) {
 body { margin:24px 0; }
 body > div.Normalschrift,body > table { width:calc(100% - 48px)!important; }
 .home-layout { grid-template-columns:1fr; justify-items:center; gap:26px; margin-top:24px; }
 .home-photo { width:clamp(210px,42vw,300px); }
 .text-menu { width:100%; max-width:620px; }
 table { max-width:100%; }
 body > table { table-layout:fixed; }
 form table,form table tbody,form table tr,form table td { display:block; width:auto!important; }
 form table td:has(>img[src="dummy.gif"]:only-child) { display:none; }
 input:not([type=checkbox]):not([type=radio]):not([type=submit]) { width:100%; }
 td { overflow-wrap:anywhere; }
 #bildrechts,#bildlinks,#bildboots { max-width:45%; }
 .Navigation { line-height:2.3; }
}
@media(max-width:420px) {
 .text-menu { grid-template-columns:1fr; max-width:300px; }
 #bildrechts,#bildlinks,#bildboots { float:none; display:block; max-width:100%; margin:12px auto; }
}
@media(max-width:540px) {
 .text-menu { grid-template-columns:1fr; max-width:380px; }
}

/* Kurze Seiten mittig, lange Seiten wachsen ohne abgeschnittenen Anfang. */
@media(min-width:761px) {
 body { min-height:calc(100svh - 80px); display:flex; flex-direction:column; justify-content:center; }
 body > * { flex-shrink:0; }
 body > div.Normalschrift { margin-top:0!important; margin-bottom:0!important; }
 body > table, body > table > tbody > tr { height:auto; }
 body.home { min-height:100svh; }
}

/* Punkte nur zwischen Nachbarn derselben Footerzeile. */
.footer-nav { display:flex; flex-wrap:wrap; justify-content:center; column-gap:1.5em; row-gap:.25em; box-sizing:border-box; max-width:1060px; padding:0 20px; margin:24px auto; width:100%; }
.footer-nav a { position:relative; white-space:nowrap; }
.footer-nav a.footer-separated::before { content:"\2022"; position:absolute; left:-.9em; width:.3em; text-align:center; pointer-events:none; }

/* Historische Pfeilbilder an der Textgrundlinie statt am Zeilenboden. */
img[src="b.gif"], img[src="r.gif"] { vertical-align:baseline; }
img[src="pfeil.gif"] { vertical-align:baseline; position:relative; top:-3px; }
@media(max-width:760px) {
 .footer-nav { padding-left:24px; padding-right:24px; }
}

@font-face { font-family:Adler; src:url("fonts/adler.woff2") format("woff2"); font-style:normal; font-weight:400; font-display:swap; }
.text-menu { column-gap:clamp(20px,3vw,48px); row-gap:clamp(12px,1.6vw,24px); align-items:start; }
.menu-title { display:block; font-family:Adler,Georgia,serif; font-size:clamp(25px,2.2vw,36px); font-weight:400; line-height:1.25; }
.menu-description { display:block; margin-top:3px; font-family:Georgia,serif; font-size:clamp(16px,1.15vw,20px); line-height:1.4; }
.text-menu a:hover,.text-menu a:focus-visible { color:#9b1919; text-decoration:none; }
.text-menu a:hover .menu-title,.text-menu a:focus-visible .menu-title { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:540px) { .text-menu { row-gap:16px; } .menu-title { font-size:28px; } }

/* Kapitelüberschriften als echter Text in derselben Adler-Schrift wie das Menü. */
.chapter-title { display:inline-block; max-width:100%; margin:0; font-family:Adler,Georgia,serif; font-weight:400; font-style:normal; font-size:clamp(28px,2.8vw,44px); line-height:1.3; color:#142F89; text-decoration:none; overflow-wrap:normal; }

/* Mehr Innenabstand für Formulare; Auswahlkreise und Checkboxen bleiben kompakt. */
input:not([type]), input[type="text"], input[type="password"], input[type="email"], input[type="search"], input[type="url"], input[type="tel"], input[type="number"], select, textarea {
 padding:10px 12px; min-height:44px; line-height:1.4; border:1px solid #a6aebf; border-radius:4px; background-color:#fff; color:#17213a;
}
input[type="submit"], input[type="button"], input[type="reset"], button {
 box-sizing:border-box; max-width:100%; padding:10px 18px; min-height:44px; font-size:16px; line-height:1.4; border:1px solid #a6aebf; border-radius:4px; background-color:#f3f5f9; color:#142F89; cursor:pointer; white-space:normal;
}
input[type="submit"]:hover, input[type="button"]:hover, input[type="reset"]:hover, button:hover { background-color:#e8edf6; }
