/* Shared with smore-site/public-chrome.css; keep both copies identical. */
@font-face { font-family: "Smore Public"; src: url("./soehne-leicht.woff2") format("woff2"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Smore Public"; src: url("./soehne-buch.woff2") format("woff2"); font-weight: 400 800; font-display: swap; }
.public-nav, .public-footer { font-family:"Smore Public","Helvetica Neue",sans-serif; font-weight:400; color:#1E201E; line-height:1.5; box-sizing:border-box; }
.public-nav *, .public-footer * { box-sizing:border-box; }
.public-nav { position:relative; z-index:1; display:block; width:100%; max-width:none; margin:0; padding:26px 56px; background:transparent; border:0; }
.public-nav .public-nav-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1180px; margin:0 auto; }
.public-nav .public-wordmark, .public-footer .public-wordmark { display:inline-flex; align-items:center; gap:9px; color:#1E201E; font-size:21px; font-weight:400; letter-spacing:-.025em; text-decoration:none; flex-shrink:0; }
.public-nav .public-nav-links { display:flex; align-items:center; gap:28px; }
.public-nav-links a { font-size:13px; font-weight:400; text-decoration:none; white-space:nowrap; color:#4A463F; }
.public-nav-links a:hover, .public-nav-links a[aria-current] { color:#2C4A3B; text-decoration:underline; text-underline-offset:6px; }
.public-nav-links a.public-signin { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border-radius:6px; background:#2C4A3B; color:#FFFEFB; text-decoration:none; }
.public-nav-links a.public-signin:hover { background:#213A2D; }
.public-footer { display:block; width:100%; max-width:none; margin:0; border:0; border-top:1px solid #E4E1D9; padding:44px 56px; background:#F9F9F6; }
.public-footer .public-footer-grid { display:grid; grid-template-columns:minmax(140px,.7fr) repeat(3,minmax(0,1fr)); gap:36px; max-width:1180px; margin:0 auto; font-size:12px; }
.public-footer-grid > div { display:flex; flex-direction:column; align-items:start; gap:10px; }
.public-footer .public-footer-grid h2 { margin:0 0 4px; font-size:12px; line-height:1.5; font-weight:400; letter-spacing:0; text-transform:none; color:#1E201E; }
.public-footer p { margin:0; color:#6B655C; font-size:12px; }
.public-footer a { color:#6B655C; text-decoration:none; font-size:12px; }
.public-footer a:hover { color:#2C4A3B; text-decoration:underline; }
.public-footer .public-wordmark { margin-bottom:5px; }
.public-footer .public-legal { display:flex; gap:12px; }
.public-nav a:focus-visible, .public-footer a:focus-visible { outline:2px solid #2C4A3B; outline-offset:5px; border-radius:3px; }
.public-shell { min-height:100vh; display:flex; flex-direction:column; background:radial-gradient(ellipse 70% 520px at 0 0,rgba(232,150,82,.13),transparent 75%),radial-gradient(ellipse 70% 520px at 100% 0,rgba(232,150,82,.13),transparent 75%),#F9F9F6; }
.public-shell > .public-content { flex:1; }
.public-shell .auth-page, .public-shell .auth-shell { min-height:65vh; background:transparent; margin:40px auto; }
.public-shell .loading-page { min-height:60vh; }
.public-confirm { width:min(calc(100% - 48px),620px); margin:64px auto; padding:32px; border:1px solid #E4E1D9; border-radius:16px; background:#FFFEFB; }
.public-confirm h1 { font-size:32px; font-weight:300; margin-bottom:20px; }
.public-confirm p { margin:16px 0; }
@media(max-width:900px) { .public-nav { padding:24px; } .public-nav .public-nav-inner, .public-nav .public-nav-links { flex-wrap:wrap; gap:18px; } .public-footer { padding:40px 24px; } }
@media(max-width:720px) { .public-footer .public-footer-grid { grid-template-columns:1fr 1fr; gap:32px 24px; } .public-nav .public-nav-links { gap:12px 18px; } }
@media(max-width:420px) { .public-nav .public-nav-links { gap:10px 14px; } .public-nav-links a { font-size:12px; } .public-footer .public-footer-grid { grid-template-columns:1fr; } }
