/* site-footer.css — the site footer of astro.nyc and the QR pair (微信 · 公众号).
 * Author: [ASTRO-S1] helper of the 命理学 iMac window — a17 supervisor (Claude Opus 5.5), 2026-11-15. New file.
 * Owner decisions N196, N197 (both codes side by side in every footer, larger on 申请 and 关于), N165 (quiet).
 *
 * Isolation as site-header.css: each root (.astro-site-footer, .astro-qr) starts from initial values, every
 * descendant except SVG and img is rolled back at (0,1,1), every rule below has at least two classes. No rem.
 * The 公众号 code is 258 px: never shown wider than 258 CSS px (max-width on its figure).
 */

/* ---------- isolation ---------- */
.astro-site-footer, .astro-qr { all: initial; -webkit-locale: "zh-Hans"; }
.astro-site-footer *:not(svg, svg *, img),
.astro-qr *:not(svg, svg *, img),
.astro-site-footer :where(*:not(svg, svg *))::before,
.astro-site-footer :where(*:not(svg, svg *))::after { all: revert; box-sizing: border-box; }
.astro-site-footer :where(*:not(svg, svg *))::marker { all: revert; }
.astro-site-footer svg, .astro-site-footer svg * { border-color: revert; min-width: revert; min-height: revert; box-sizing: content-box; }
.astro-site-footer img, .astro-qr img { all: revert; box-sizing: border-box; }
.astro-site-footer.astro-site-footer :focus, .astro-qr.astro-qr :focus { outline: revert; outline-offset: revert; }

/* ---------- the footer ---------- */
.astro-site-footer {
  --asf-ink: #0A0907; --asf-text: #DDD3BE; --asf-dim: #B3A994; --asf-lamp: #E2A847; --asf-line: rgba(226, 168, 71, .22);
  --asf-song: "Songti SC", "STSong", "Source Han Serif SC", "Noto Serif CJK SC", "Noto Serif SC", serif;
  display: block; box-sizing: border-box;
  background: var(--asf-ink); color: var(--asf-text);
  border-top: 1px solid var(--asf-line);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;
  font-size: 15px; line-height: 1.8;
  -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
  padding: 64px clamp(20px, 5vw, 72px) 28px;
}
.astro-site-footer .asf-inner {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 4fr); gap: 48px;
  max-width: 1200px; margin: 0 auto;
}
.astro-site-footer .asf-home { display: inline-flex; align-items: center; gap: 14px; color: var(--asf-text); text-decoration: none; }
.astro-site-footer .asf-mark { color: var(--asf-lamp); flex: none; }
.astro-site-footer .asf-name { font-family: var(--asf-song); font-size: 22px; letter-spacing: .08em; }
.astro-site-footer .asf-statement { margin: 20px 0 0; max-width: 34em; color: var(--asf-dim); font-size: 14px; line-height: 1.9; }
.astro-site-footer .asf-links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, auto); justify-content: start; column-gap: 40px; row-gap: 2px; }
.astro-site-footer .asf-links a { color: var(--asf-text); text-decoration: none; font-size: 15px; display: inline-block; padding: 4px 0; }
.astro-site-footer .asf-links a:hover, .astro-site-footer .asf-mail:hover { color: var(--asf-lamp); }
.astro-site-footer .asf-h { margin: 0 0 8px; font-family: var(--asf-song); font-weight: 400; font-size: 17px; color: var(--asf-lamp); letter-spacing: .06em; }
.astro-site-footer .asf-p { margin: 0; font-size: 14px; color: var(--asf-text); }
.astro-site-footer .asf-mail { color: var(--asf-text); text-decoration: underline; text-decoration-color: var(--asf-line); text-underline-offset: 3px; }
.astro-site-footer .asf-qr-lead { margin-top: 16px; margin-bottom: 10px; color: var(--asf-dim); }
.astro-site-footer .asf-copy { max-width: 1200px; margin: 48px auto 0; padding-top: 20px; border-top: 1px solid var(--asf-line); font-size: 12px; color: var(--asf-dim); letter-spacing: .04em; }

@media (max-width: 819.98px) {
  .astro-site-footer .asf-inner { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .astro-site-footer .asf-links { grid-template-columns: repeat(4, auto); justify-content: start; column-gap: 20px; }
}

/* ---------- the QR pair ----------
   Every rule at (0,2,0)+: inside the footer the pair is a descendant of .astro-site-footer, whose roll-back rule is (0,1,1). */
.astro-qr.astro-qr {
  display: flex; flex-wrap: wrap; gap: 20px; box-sizing: border-box;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", sans-serif;
  color: #DDD3BE; font-size: 13px; line-height: 1.4;
}
.astro-qr.astro-qr .aqr-item { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; width: 112px; }
/* a white quiet zone kept round each code, so a phone reads it on the dark ground */
.astro-qr.astro-qr .aqr-img { display: block; width: 100%; height: auto; background: #fff; padding: 6px; border-radius: 2px; }
.astro-qr.astro-qr .aqr-cap { letter-spacing: .12em; }
.astro-qr.astro-qr.astro-qr--large { gap: 32px; font-size: 15px; justify-content: center; }
.astro-qr.astro-qr.astro-qr--large .aqr-item { width: 220px; max-width: 258px; }
@media (max-width: 479.98px) {
  .astro-qr.astro-qr.astro-qr--large .aqr-item { width: calc(50% - 16px); }
}
