/* Shared footer. Keep layout independent from page themes and QR image filenames. */
.site-footer{box-sizing:border-box;width:100%;margin:0;padding:24px 0;position:relative;bottom:auto;background:#1a1f35;color:#cbd5e0;font:400 14px/20px NotoSansSC,'PingFang SC','Microsoft YaHei',Arial,sans-serif;text-align:left}
.site-footer *,.site-footer *::before,.site-footer *::after{box-sizing:border-box}
.site-footer .site-footer__inner{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:32px}
.site-footer .site-footer__codes{display:grid;grid-template-columns:repeat(2,112px);gap:24px;align-items:start;flex:none}
.site-footer .site-footer__code{display:grid;grid-template-rows:80px 20px;justify-items:center;align-content:start;gap:8px;width:112px;margin:0;padding:0}
.site-footer .site-footer__control{display:grid;place-items:center;width:80px;height:80px;min-width:80px;min-height:80px;margin:0;padding:0;border:0;border-radius:0;background:#fff;line-height:normal;text-decoration:none;vertical-align:top;overflow:visible;cursor:pointer;transform:none;box-shadow:none}
.site-footer .site-footer__control img{display:block;width:80px;height:80px;min-width:80px;max-width:80px;max-height:80px;margin:0;padding:0;border:0;border-radius:0;object-fit:contain;transform:none;clip-path:none;box-shadow:none}
.site-footer .site-footer__label{display:block;width:112px;height:20px;min-height:20px;margin:0;padding:0;color:#cbd5e0;font-size:14px;font-weight:400;line-height:20px;white-space:nowrap;text-align:center}
.site-footer .site-footer__info{min-width:0;margin:0;padding:0;font-size:14px;line-height:26px;color:#cbd5e0;text-align:left}
.site-footer .site-footer__info p{margin:0;padding:0;color:inherit;font-size:inherit;line-height:26px;overflow-wrap:anywhere}
.site-footer .site-footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:0 5px}
.site-footer a{color:#b6c6fa;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer a:focus-visible,.site-footer button:focus-visible{outline:3px solid #64daca;outline-offset:4px}
.site-footer .site-footer__dialog{width:336px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:20px 24px 24px;border:1px solid #526780;border-radius:12px;background:#142137;color:#edf2fa;overflow:auto;text-align:center;box-shadow:0 20px 60px #0006}
.site-footer .site-footer__dialog::backdrop{background:#0009}
.site-footer .site-footer__close{display:block;min-height:44px;margin:0 0 12px auto;padding:8px 14px;border:1px solid #7187a1;border-radius:6px;background:transparent;color:#edf2fa;font:inherit;cursor:pointer}
.site-footer .site-footer__dialog h2{margin:0 0 16px;padding:0;color:#edf2fa;font-size:18px;line-height:1.5;letter-spacing:normal}
.site-footer .site-footer__preview{display:block;width:280px;max-width:100%;height:auto;margin:0 auto;padding:0;background:white;object-fit:contain;transform:none;clip-path:none}
.site-footer .site-footer__dialog p{margin:16px 0 0;padding:0;color:#cbd5e0;font-size:14px;line-height:1.7}
@media(max-width:640px){.site-footer .site-footer__inner{flex-direction:column;gap:24px;padding-inline:20px}.site-footer .site-footer__info{text-align:center;font-size:12px}.site-footer .site-footer__legal{justify-content:center}.site-footer .site-footer__label{font-size:12px}}
