/* Gemeinsame Gestaltung aller öffentlichen Unterseiten und ihrer Kopf-/Fußzeilen. */
.public-page{--page-blue:#4f6958;--page-lime:#e1e8d6;background:#faf7f0;color:#2a3c49}
.public-page .public-legal-header{background:#f1eee5;border-bottom:1px solid #deded1;padding:20px 0}
.public-page .public-legal-header .public-content{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.public-page .public-page-brand{display:inline-flex;align-items:center;gap:15px;color:#26394c;min-width:0;max-width:100%;text-decoration:none}
.public-page .public-page-brand ernestine-logo{display:block;width:81.12px;height:81.12px;flex:0 0 81.12px;--ernestine-logo-size:81.12px}
.public-page .public-page-brand>a{color:inherit;text-decoration:none;min-width:0}
.public-page-brand span{display:flex;flex-direction:column;gap:3px;line-height:1.4;min-width:0}
.public-page-brand strong{font-size:16.9px;font-weight:750;overflow-wrap:normal}
.public-page-brand small{font-size:14.3px}
.public-page .verein-nav{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:0}
.public-page .verein-nav a{border:1px solid #cfd5c7;border-radius:10px;padding:9px 13px;font-size:12px;font-weight:650;color:inherit;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;box-sizing:border-box}
.public-page .verein-nav a:hover{background:#e5eadf;border-color:#a9b8a4}
.public-page .verein-nav a[aria-current]{color:#fff;background:linear-gradient(155deg,#5c7663,#405d4b);border-color:#738b76}
.public-page .public-legal-main.verein-text{width:var(--public-content-width,80%);max-width:var(--public-reading-max,70ch);margin-inline:auto;padding-top:40px;padding-bottom:48px}
.public-page .verein-text>h1,.public-page .verein-text>.verein-lead,.public-page .verein-text>[data-legal-page]>h1{text-align:center}
.public-page .verein-text p,.public-page .verein-text li{text-align:left;line-height:1.8}
.public-page .verein-text>section{max-width:100%;margin-inline:auto;scroll-margin-top:24px}
.public-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;min-height:44px;max-width:100%;padding:11px 17px;border:1px solid #738b76;border-radius:10px;font:650 13px/1.5 Manrope,Arial,sans-serif;white-space:normal;text-decoration:none;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.public-page .btn.dark{background:linear-gradient(155deg,#5c7663,#405d4b);color:#fff;box-shadow:0 3px 10px #304a3520,inset 0 1px 0 #ffffff30}
.public-page .btn.secondary{background:#eef2e4;border-color:#cfd8bf;color:#3c5745}
.public-page .btn:hover{transform:translateY(-1px);box-shadow:0 5px 13px #304a3525}
.public-action-arrow{width:18px;height:18px;flex:0 0 18px;transition:transform .18s ease}
.public-page .btn:hover .public-action-arrow{transform:translateX(3px)}
.public-page .public-page-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 32px}
.public-page .verein-text>.public-page-actions{justify-content:center}
.public-page .public-legal-footer{border-top:1px solid #dcded0;padding-top:24px;text-align:center}
.public-page .public-legal-footer .public-legal-links{display:flex;justify-content:center;gap:10px 20px;flex-wrap:wrap;font-size:12px}
.public-page .public-legal-links a{font-weight:500;text-decoration:none;min-height:44px}
.public-page .public-legal-links a:hover{text-decoration:underline}
.public-page .public-legal-links a[aria-current]{font-weight:750;text-decoration:underline;text-underline-offset:5px}
.public-page .public-page-clubname{font-size:9px;color:#777b74;margin:19px auto 0;max-width:none;text-align:center}
.public-page a:focus-visible,.public-page button:focus-visible{outline:3px solid #8a9b65;outline-offset:4px}
@media(max-width:700px){.public-page .public-legal-header .public-content{justify-content:center;gap:18px}.public-page .public-page-brand{gap:12px}.public-page .public-page-brand ernestine-logo{width:70.98px;height:70.98px;flex-basis:70.98px;--ernestine-logo-size:70.98px}.public-page-brand strong{font-size:15.6px}.public-page-brand small{font-size:13px}.public-page .verein-nav{justify-content:center;gap:5px}.public-page .verein-nav a{font-size:11px;padding:7px 9px}}
@media(max-width:600px){.public-page .public-legal-main.verein-text{padding-top:28px}.public-page .public-page-actions{flex-direction:column;align-items:stretch}.public-page .public-legal-footer .public-legal-links{gap:8px 12px;font-size:11px}.public-page .public-page-clubname{font-size:8px}.public-page .btn{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.public-page .btn,.public-action-arrow{transition:none}.public-page .btn:hover,.public-page .btn:hover .public-action-arrow{transform:none}}
