/* One footer and homepage Book entry across all collections and page states. */
[data-theme] footer.site-footer {
 width:100%; max-width:none; display:block; margin:0 auto; padding:28px 22px 18px;
 border-top:1px solid var(--line); background:var(--surface); color:var(--muted);
 font:13px/1.6 var(--font-body); text-align:center;
}
.site-footer .footer-inner { width:min(1100px,100%); margin:auto; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px 24px; align-items:end; }
.site-footer .footer-support { grid-column:1 / -1; width:100%; max-width:none; display:grid; grid-template-columns:repeat(2,minmax(0,300px)); justify-content:center; align-items:start; gap:36px; }
.site-footer .footer-coffee, .site-footer .footer-partner { display:flex; flex-direction:column; align-items:center; min-width:0; gap:4px; margin:0; }
.site-footer .coffee-frame { display:block; width:280px; max-width:100%; height:80px; border:0; }
.site-footer .footer-caption { display:block; max-width:300px; margin:0; font:13px/1.6 var(--font-body); color:var(--muted); }
.site-footer .footer-partner { color:var(--muted); text-decoration:none; }
.site-footer .footer-partner-media { display:flex; align-items:center; justify-content:center; width:300px; max-width:100%; height:80px; }
.site-footer .footer-partner img { display:block; width:300px; max-width:100%; height:auto; }
.site-footer .footer-partner:hover .footer-caption { text-decoration:underline; text-underline-offset:3px; }
.site-footer .footer-note { justify-self:start; text-align:left; font-size:11px; }
.site-footer .privacy-link { justify-self:end; display:inline-flex; align-items:center; justify-content:flex-end; min-height:44px; padding:8px 0 8px 16px; margin:0; color:var(--accent); text-align:right; background:transparent; border:0; font:13px/1.6 var(--font-body); }
.site-footer :is(.footer-partner,.privacy-link):focus-visible, .home-book-link:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
.home-book-entry { margin:28px auto 48px; padding:0 20px; text-align:center; }
.home-book-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:12px 18px; color:var(--setting-ink); border:1px solid currentColor; border-radius:4px; background:transparent; text-decoration:none; font:18px/1.4 var(--font-display); }
.home-book-link svg { width:27px; height:23px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.home-book-link:hover { color:var(--ink); background:var(--surface-deep); border-color:var(--line); }
@media(max-width:679px) {
 [data-theme] footer.site-footer { padding:24px 16px 12px; }
 .site-footer .footer-support { grid-template-columns:minmax(0,300px); gap:24px; }
 .site-footer .footer-inner { gap:16px 12px; }
 .home-book-link { font-size:16px; }
}
@media print { footer.site-footer { display:none; } }
