/* 模块：页脚样式 / Footer layout and typography. */
footer {
	background-color: var(--secondary-bg);
	color: var(--text-color);
	padding: 1rem 1.25rem;
	text-align: center;
	font-size: 0.95rem;
	border-top: 1px solid var(--border-color);
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
	width: 100%;
	box-sizing: border-box;
}
body > footer {
	width: 100%;
	margin: 0;
	margin-top: auto;
	box-sizing: border-box;
}

/* Sticky footer: keep it pinned to viewport bottom when内容偏少 */
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	align-items: stretch;
	overflow-x: hidden;
}
#shell-root { flex: 0 0 auto; }
main { flex: 1 0 auto; min-height: 0; width: 100%; }
body > footer { margin-top: auto; }

/* Fallback when footer暂留在main内时，强制跨越两列并拉满 */
main footer {
	grid-column: 1 / -1;
	justify-self: stretch;
	width: 100%;
	margin: 0;
}
@media (max-width: 760px) {
	main footer {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
}

footer a {
	color: #0366d6;
	text-decoration: none;
}

footer a:hover,
footer a:focus {
	text-decoration: underline;
}

body.dark-mode footer a {
	color: #4db8ff;
}

/* 页脚 / 地址 小图标 */
footer img,
address img,
footer .icon,
address .icon {
	width: var(--icon-small);
	height: var(--icon-small);
	max-width: var(--icon-small);
	max-height: var(--icon-small);
	object-fit: contain;
	vertical-align: middle;
}
