/*
 * Sparkfield 组件层样式。
 * 设计令牌全部来自 theme.json（--wp--preset--* / --wp--custom--*），此处不写死色值与字号。
 *
 * 版式（patterns/）只用核心区块 + 下列类名组合，编辑可在编辑器里直接改字：
 *   .sf-section  板块            .sf-head    标题区（标题 + 右侧导语）
 *   .sf-cells    单元格网格      .sf-rows    分隔行列表
 *   .sf-split    左右分栏        .sf-numbered 自动编号（CSS 计数器，调换顺序不会错号）
 *
 * 强调色 spark 只用于「+」火花符号与主 CTA。
 */

/* ── 页头 ───────────────────────────────────────────── */

.sf-header {
	padding: var(--wp--preset--spacing--20) var(--wp--custom--gutter) !important;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.sf-header .wp-block-site-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	letter-spacing: var(--wp--custom--letter-spacing--wordmark);
	text-transform: uppercase;
}

.sf-header .wp-block-site-title a { color: var(--wp--preset--color--ink); }
.sf-header .wp-block-buttons { margin: 0; }
.sf-header .wp-block-button__link { padding: 0.8rem 1.4rem; }

.sf-header__actions { gap: var(--wp--preset--spacing--30); }

/* 主导航：字标 | 导航（居中）| 语言 + 按钮 */
.sf-header { gap: var(--wp--preset--spacing--30); }
.sf-header .sf-nav { flex: 1; }

.sf-nav {
	font-size: var(--wp--preset--font-size--sm);
	--wp--style--block-gap: clamp(1rem, 2.2vw, 2.25rem);
}

.sf-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--graphite); padding-block: 0.4rem; }
.sf-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--ink); }

/* 当前页：下划细线标示位置，不用强调色 */
.sf-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ink);
	box-shadow: inset 0 -1px 0 var(--wp--preset--color--ink);
}

/* 手机菜单展开层 */
.sf-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--40) var(--wp--custom--gutter);
	background: var(--wp--preset--color--white);
}

.sf-nav .is-menu-open .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--30);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--xl);
}

/* 导航区块设为「始终折叠」，宽屏时在这里展开成横排（与核心「非折叠」状态的样式一致）。
   窄屏：字标 | 语言 | 菜单按钮 */
@media (min-width: 1024px) {
	.sf-nav .wp-block-navigation__responsive-container-open.always-shown { display: none; }
	.sf-nav .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) {
		display: block;
		position: relative;
		width: 100%;
		z-index: auto;
		background-color: inherit;
	}
	.sf-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
}

@media (max-width: 1023px) {
	.sf-header .sf-nav { flex: none; order: 3; }
	/* 需高于核心的 body .is-layout-flex > * { margin: 0 } */
	.sf-header > .sf-header__actions { margin-left: auto; }
}

/* 中等宽度放不下 6 项导航 + 语言 + 按钮：页头按钮让位（首屏与收尾都有同一 CTA） */
@media (max-width: 1199px) {
	.sf-header .wp-block-buttons { display: none; }
}

/* 语言切换：EN / 中文 / 日本語，当前语言为墨色不可点，其余为次要色 */
.sf-lang {
	display: flex;
	align-items: center;
	font-size: var(--wp--preset--font-size--xs);
	white-space: nowrap;
}

.sf-lang__item {
	padding: 0.5rem 0.35rem;
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.sf-lang__item + .sf-lang__item::before {
	content: "/";
	margin-right: 0.7rem;
	color: var(--wp--preset--color--line);
}

a.sf-lang__item:hover { color: var(--wp--preset--color--ink); }
.sf-lang__item.is-current { color: var(--wp--preset--color--ink); font-weight: 700; }
a.sf-lang__item:focus-visible { outline: 2px solid var(--wp--preset--color--ink); outline-offset: 2px; }

/* 手机宽度放不下字标 + 语言 + 按钮：保留语言切换，页头按钮隐藏（首屏已有同一 CTA） */
@media (max-width: 599px) {
	.sf-header .wp-block-buttons { display: none; }
}

/* 页面模板的 main 与页头之间不留空隙，首屏紧贴页头 */
.wp-site-blocks > main { margin-block-start: 0; }

/* 标题均衡换行，避免末行只剩一两个字（中日文尤其明显）；日文按词组断行，不拆开「コレクション」这类词 */
h1, h2, h3, summary { text-wrap: balance; }
:lang(ja) :is(h1, h2, h3, summary) { word-break: auto-phrase; }

/* ── 板块骨架 ───────────────────────────────────────── */

.wp-block-post-content > .alignfull { margin-block: 0; }

.sf-section {
	padding-block: var(--wp--preset--spacing--60);
}

.sf-section > * + * { margin-block-start: var(--wp--preset--spacing--50); }

/* 板块内标题统一不要上下外边距，由容器 gap 控制节奏 */
.sf-section h2,
.sf-section h3,
.sf-section p { margin-block: 0; }

.sf-eyebrow {
	display: flex;
	align-items: baseline;
	gap: 0.9em;
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 700;
	letter-spacing: var(--wp--custom--letter-spacing--eyebrow);
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.sf-eyebrow::before {
	content: "+";
	color: var(--wp--preset--color--spark);
	font-size: 1.3em;
	font-weight: 400;
	letter-spacing: 0;
}

.has-ink-background-color .sf-eyebrow { color: var(--wp--preset--color--stone); }

.sf-lead {
	font-size: var(--wp--preset--font-size--md);
	line-height: var(--wp--custom--line-height--relaxed);
	color: var(--wp--preset--color--muted);
	max-width: 36em;
}

.has-ink-background-color .sf-lead { color: var(--wp--preset--color--stone); }

/* ── 标题区：大标题左，导语右，底边对齐 ───────────────── */

.sf-head {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	align-items: end;
}

.sf-head > * { margin: 0; }
.sf-head__main { display: grid; gap: var(--wp--preset--spacing--30); }
.sf-head__main > * { margin: 0; }
.sf-head h2 { max-width: 14em; }
.sf-head__intro { max-width: 30em; }
.sf-head .wp-block-buttons { margin: 0; }

@media (min-width: 960px) {
	.sf-head { grid-template-columns: 7fr 4fr; gap: var(--wp--preset--spacing--50); }
	.sf-head > :last-child:not(:first-child) { justify-self: end; }
}

/* ── 自动编号 ────────────────────────────────────────── */

.sf-numbered { counter-reset: sf-n; }
.sf-numbered > * { counter-increment: sf-n; }

.sf-numbered > *::before {
	content: counter(sf-n, decimal-leading-zero);
	font-size: var(--wp--preset--font-size--sm);
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--muted);
}

/* ── 单元格网格（人群卡片 / 品类 / 流程步骤）──────────── */

.sf-cells {
	--sf-cols: 1;
	display: grid;
	grid-template-columns: repeat(var(--sf-cols), minmax(0, 1fr));
	border-top: 1px solid var(--wp--preset--color--line);
	border-left: 1px solid var(--wp--preset--color--line);
}

@media (min-width: 640px)  { .sf-cells { --sf-cols: 2; } }
@media (min-width: 1024px) {
	.sf-cells--3 { --sf-cols: 3; }
	.sf-cells--5 { --sf-cols: 5; }
}

/* 三语文本长度差异大（EN 比 ZH 长约 40%）：卡片用 flex + 最小高度对齐，不靠内容撑高 */
.sf-cells > * {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	min-height: 15rem;
	margin: 0;
	padding: var(--wp--preset--spacing--30);
	border-right: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.sf-cells > * > * { margin: 0; }

.sf-cells h3 { font-size: var(--wp--preset--font-size--xl); }
.sf-cells p  { color: var(--wp--preset--color--muted); }

/* 带编号的卡片：编号在上，标题从固定位置开始 —— 说明文字行数不同时同一行的标题仍然齐平 */
.sf-cells.sf-numbered > *::before { padding-bottom: var(--wp--preset--spacing--50); }
.sf-cells.sf-numbered > * { min-height: 18rem; }

/* 品类网格不编号，标题与说明之间留出固定空间 */
.sf-cells:not(.sf-numbered) h3 { margin-bottom: var(--wp--preset--spacing--20); }

/* 流程步骤：底边开口，提示「接续」 */
.sf-cells--5 > * { min-height: 18rem; }
.sf-cells--5 h3 { font-size: var(--wp--preset--font-size--lg); }

@media (min-width: 1024px) {
	.sf-cells--5 { border-bottom: 0; }
	.sf-cells--5 > * { border-bottom: 0; }
}

/* ── 分隔行列表（服务 / 优势 / 质控节点）───────────────── */

.sf-rows { border-top: 1px solid var(--wp--preset--color--line); }

.sf-rows > * {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	column-gap: var(--wp--preset--spacing--20);
	row-gap: 0.6rem;
	margin: 0;
	padding-block: var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.sf-rows > * > * { grid-column: 2; margin: 0; }
.sf-rows > *::before { grid-column: 1; grid-row: 1; padding-top: 0.35em; }

.sf-rows h3 { font-size: var(--wp--preset--font-size--lg); }
.sf-rows p  { color: var(--wp--preset--color--muted); max-width: 38em; }

/* 宽屏横排：编号 | 标题 | 说明 */
@media (min-width: 960px) {
	.sf-rows--wide > * { grid-template-columns: 4rem minmax(0, 5fr) minmax(0, 6fr); align-items: baseline; }
	.sf-rows--wide > * > p { grid-column: 3; grid-row: 1; }
}

.sf-tags {
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--graphite) !important;
	padding-top: 0.4rem;
}

/* 深色底上的行列表 */
.has-ink-background-color .sf-rows,
.has-ink-background-color .sf-rows > * { border-color: var(--wp--preset--color--graphite); }
.has-ink-background-color .sf-rows p,
.has-ink-background-color .sf-numbered > *::before { color: var(--wp--preset--color--ash); }

/* ── 左右分栏（Why / 质量控制）：左侧深色，整幅出血 ───── */

.sf-split {
	display: grid;
	padding: 0 !important;
}

.sf-split > * {
	margin: 0 !important;
	padding: var(--wp--preset--spacing--60) var(--wp--custom--gutter);
}

.sf-split > * > * { margin: 0; }
.sf-split > * > * + * { margin-top: var(--wp--preset--spacing--40); }

@media (min-width: 960px) {
	.sf-split { grid-template-columns: 5fr 7fr; }
	.sf-split > :first-child { padding-right: var(--wp--preset--spacing--50); }
	.sf-split > :last-child  { padding-left: var(--wp--preset--spacing--50); }
	.sf-split h2 { position: sticky; top: var(--wp--preset--spacing--40); }
}

@media (min-width: 960px) {
	.sf-split--ink > :last-child { border-left: 1px solid var(--wp--preset--color--graphite); }
}
@media (max-width: 959px) {
	.sf-split--ink > :last-child { padding-top: 0; }
}

/* ── 首屏 ───────────────────────────────────────────── */

.sf-hero {
	display: grid;
	padding: 0 !important;
}

.sf-hero > * { margin: 0 !important; }

.sf-hero__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--50) var(--wp--custom--gutter);
}

.sf-hero__text > * { margin: 0 !important; }

.sf-hero__title {
	font-weight: 350;
	max-width: 9em;
	margin-bottom: var(--wp--preset--spacing--10) !important;
}

.sf-hero__note {
	font-size: var(--wp--preset--font-size--sm);
	max-width: 30em;
}

.sf-hero .wp-block-buttons { margin-top: var(--wp--preset--spacing--20) !important; }

.sf-hero__media { position: relative; }
.sf-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.sf-hero__media figcaption {
	position: absolute;
	right: var(--wp--custom--gutter);
	bottom: var(--wp--preset--spacing--40);
	margin: 0;
	padding: 0.6rem 1.4rem;
	background: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--eyebrow);
	letter-spacing: var(--wp--custom--letter-spacing--eyebrow);
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
}

@media (min-width: 960px) {
	.sf-hero { grid-template-columns: 1fr 1fr; min-height: min(86vh, 920px); }
	.sf-hero__text { padding-right: var(--wp--preset--spacing--50); }
	.sf-hero__media img { aspect-ratio: auto; position: absolute; inset: 0; }
}

/* ── 精选项目 ───────────────────────────────────────── */

.sf-projects {
	display: grid;
	gap: 0;
	border: 1px solid var(--wp--preset--color--line);
}

.sf-projects > * {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	padding: var(--wp--preset--spacing--30);
}

.sf-projects > * > * { margin: 0; }
.sf-projects > * + * { border-top: 1px solid var(--wp--preset--color--line); }
.sf-projects > :first-child { background: var(--wp--preset--color--paper); }
.sf-projects h3 { font-size: var(--wp--preset--font-size--xl); max-width: 14em; }
.sf-projects > :first-child h3 { font-size: var(--wp--preset--font-size--2-xl); }

@media (min-width: 960px) {
	.sf-projects { grid-template-columns: 7fr 5fr; }
	.sf-projects > :first-child { grid-row: span 2; padding: var(--wp--preset--spacing--40); }
	.sf-projects > :nth-child(2) { border-top: 0; border-left: 1px solid var(--wp--preset--color--line); }
	.sf-projects > :nth-child(3) { border-left: 1px solid var(--wp--preset--color--line); }
}

.sf-meta {
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--graphite);
}

/* 标签—值 对：标签用加粗（编辑器原生格式），悬挂缩进对齐 */
.sf-kv { display: grid; gap: 0.5rem; margin-top: var(--wp--preset--spacing--20) !important; }
.sf-kv > * { margin: 0; }
.sf-kv p {
	padding-left: 7rem;
	text-indent: -7rem;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--graphite);
}
.sf-kv strong {
	display: inline-block;
	width: 7rem;
	text-indent: 0;
	font-size: var(--wp--preset--font-size--eyebrow);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.sf-link {
	margin-top: auto !important;
	padding-top: var(--wp--preset--spacing--20);
	text-align: right;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sf-link a::after,
a.sf-link::after { content: "→"; margin-left: 0.5em; }

/* ── 项目卡片（查询循环）与详情页 ───────────────────── */

/* 「查看项目」是核心的 read-more 链接，本身就是 <a>：靠右沉底 */
a.sf-link { align-self: flex-end; color: var(--wp--preset--color--ink); }

.sf-projects .wp-block-post-title a,
.sf-project-cells .wp-block-post-title a { color: inherit; }

.sf-projects .wp-block-post-title a:hover,
.sf-project-cells .wp-block-post-title a:hover { color: var(--wp--preset--color--graphite); }

.sf-project__excerpt p { margin: 0; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--graphite); max-width: 34em; }
.sf-project-cells h3 { font-size: var(--wp--preset--font-size--lg); }

.sf-pagination { margin-top: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--sm); gap: var(--wp--preset--spacing--20); }

.sf-intro .sf-eyebrow a { color: inherit; }
.sf-intro .sf-eyebrow a:hover { color: var(--wp--preset--color--ink); }

.sf-project__image { margin-top: var(--wp--preset--spacing--50) !important; }
.sf-project__image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

/* 详情页正文里的要点：比卡片里大一号 */
.sf-project-body .sf-kv { margin-top: 0 !important; gap: var(--wp--preset--spacing--20); padding-block: var(--wp--preset--spacing--30); border-block: 1px solid var(--wp--preset--color--line); }
.sf-project-body .sf-kv p { font-size: var(--wp--preset--font-size--base); padding-left: 9rem; text-indent: -9rem; }
.sf-project-body .sf-kv strong { width: 9rem; }
.sf-project-body p:not(.sf-kv p) { line-height: var(--wp--custom--line-height--relaxed); }

@media (max-width: 599px) {
	.sf-kv p, .sf-project-body .sf-kv p { padding-left: 0; text-indent: 0; }
	.sf-kv strong, .sf-project-body .sf-kv strong { display: block; width: auto; margin-bottom: 0.2rem; }
}

/* ── 关于：竖排品牌语 ────────────────────────────────── */

.sf-about {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	align-items: center;
}

.sf-about > * { margin: 0 !important; }

@media (min-width: 960px) {
	.sf-about { grid-template-columns: 5fr 7fr; gap: var(--wp--preset--spacing--60); }
}

/* 「薪火传承」按中文传统竖排、自右向左阅读 —— 全页唯一的视觉重点 */
.sf-about__panel {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 28rem;
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--paper);
	outline: 1px solid var(--wp--preset--color--line);
	outline-offset: calc(-1 * var(--wp--preset--spacing--40));
}

.sf-about__panel::after {
	content: "+";
	position: absolute;
	left: calc(var(--wp--preset--spacing--40) * 1.6);
	bottom: calc(var(--wp--preset--spacing--40) * 1.25);
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1;
	color: var(--wp--preset--color--spark);
}

.sf-about__motto {
	margin: 0;
	writing-mode: vertical-rl;
	font-family: "Songti SC", "Noto Serif SC", "Source Han Serif SC", "STSong", serif;
	font-size: clamp(2rem, 3vw, 2.75rem);
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.18em;
	color: var(--wp--preset--color--ink);
}

.sf-about__body { display: grid; gap: var(--wp--preset--spacing--30); }
.sf-about__body > * { margin: 0; }
.sf-about__body > p:not(.sf-eyebrow) { color: var(--wp--preset--color--muted); max-width: 36em; }

.sf-facts {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--20) !important;
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--wp--preset--color--line);
}

@media (min-width: 640px) { .sf-facts { grid-template-columns: 1fr 1fr; } }

.sf-facts > * { margin: 0; }
.sf-facts > * > * { margin: 0; }
.sf-facts h3 { font-size: var(--wp--preset--font-size--md); font-family: var(--wp--preset--font-family--sans); }
.sf-facts p  { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); }

/* ── FAQ ───────────────────────────────────────────── */

.sf-faq {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	align-items: start;
}

.sf-faq > * { margin: 0 !important; }
.sf-faq__intro { display: grid; gap: var(--wp--preset--spacing--30); }
.sf-faq__intro > * { margin: 0; }

@media (min-width: 960px) {
	.sf-faq { grid-template-columns: 4fr 7fr; gap: var(--wp--preset--spacing--60); }
	.sf-faq__intro { position: sticky; top: var(--wp--preset--spacing--40); }
}

.sf-faq__list { border-top: 1px solid var(--wp--preset--color--line); }
.sf-faq__list > * { margin: 0 !important; }

.sf-faq__list details { border-bottom: 1px solid var(--wp--preset--color--line); }

.sf-faq__list summary {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--wp--preset--spacing--30);
	padding-block: var(--wp--preset--spacing--30);
	list-style: none;
	cursor: pointer;
	font-size: var(--wp--preset--font-size--lg);
	line-height: var(--wp--custom--line-height--snug);
}

.sf-faq__list summary::-webkit-details-marker { display: none; }
.sf-faq__list summary::after { content: "+"; flex: none; font-weight: 300; }
.sf-faq__list details[open] > summary::after { content: "−"; }
.sf-faq__list summary:hover { color: var(--wp--preset--color--graphite); }
.sf-faq__list summary:focus-visible { outline: 2px solid var(--wp--preset--color--ink); outline-offset: 4px; }

.sf-faq__list details > :not(summary) {
	margin: 0;
	padding-bottom: var(--wp--preset--spacing--30);
	max-width: 40em;
	color: var(--wp--preset--color--muted);
	line-height: var(--wp--custom--line-height--relaxed);
}

/* 展开动画：只回应用户的点击，且尊重「减少动态效果」 */
@supports (interpolate-size: allow-keywords) {
	@media (prefers-reduced-motion: no-preference) {
		.sf-faq__list details { interpolate-size: allow-keywords; }
		.sf-faq__list details::details-content {
			block-size: 0;
			overflow: clip;
			transition: block-size 260ms ease, content-visibility 260ms allow-discrete;
		}
		.sf-faq__list details[open]::details-content { block-size: auto; }
	}
}

/* ── 收尾 CTA ──────────────────────────────────────── */

.sf-cta { text-align: center; }
.sf-cta .sf-eyebrow { flex-direction: column; align-items: center; gap: 0.8rem; }
.sf-cta h2 { font-size: var(--wp--preset--font-size--display); font-weight: 350; margin-inline: auto !important; max-width: 12em; }
.sf-cta .sf-lead { margin-inline: auto !important; }
.sf-cta .wp-block-buttons { justify-content: center; }
.sf-section.sf-cta > * + * { margin-block-start: var(--wp--preset--spacing--40); }

/* ── 内页标题区 ─────────────────────────────────────── */

.sf-intro {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.sf-intro__inner { display: grid; gap: var(--wp--preset--spacing--30); }
.sf-intro__inner > * { margin: 0 !important; }

.sf-intro h1 {
	font-size: var(--wp--preset--font-size--display);
	font-weight: 350;
	max-width: 13em;
}

/* 内页标题区之后紧跟的板块若同为白底，去掉多余的上边距 */
.sf-intro + .sf-section:not(.has-background) { padding-top: var(--wp--preset--spacing--50); }

/* ── 页脚 ───────────────────────────────────────────── */

.sf-footer {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--sm);
}

.sf-footer a { color: var(--wp--preset--color--stone); }
.sf-footer a:hover { color: var(--wp--preset--color--white); }
.sf-footer a:focus-visible { outline: 2px solid var(--wp--preset--color--white); outline-offset: 3px; }

.sf-footer__top {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--50);
	border-bottom: 1px solid var(--wp--preset--color--graphite);
}

@media (min-width: 960px) {
	.sf-footer__top { grid-template-columns: 5fr 7fr; }
}

.sf-footer__brand > * { margin: 0; }
.sf-footer__brand > * + * { margin-top: var(--wp--preset--spacing--30); }

/* 品牌语是页脚唯一的大字，带一个火花「+」收尾呼应页面开头的栏目标记 */
.sf-footer__tagline {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--2-xl);
	font-weight: 350;
	line-height: var(--wp--custom--line-height--tight);
	color: var(--wp--preset--color--white);
	max-width: 11em;
	text-wrap: balance;
}

.sf-footer__tagline::after { content: " +"; color: var(--wp--preset--color--spark); }

.sf-footer__about { max-width: 26em; color: var(--wp--preset--color--ash); }

.sf-footer__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
	gap: var(--wp--preset--spacing--40);
}

.sf-footer__cols > * { margin: 0; }

.sf-footer__heading {
	margin: 0 0 var(--wp--preset--spacing--20);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	color: var(--wp--preset--color--white);
}

.sf-footer__links { margin: 0; padding: 0; list-style: none; }
.sf-footer__links li + li { margin-top: 0.45rem; }

.sf-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
	padding-top: var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--ash);
}

.sf-footer__bottom > * { margin: 0 !important; }
.sf-footer__legal a + a { margin-left: var(--wp--preset--spacing--30); }

/* 页脚紧接在页面最后一个板块之后 */
.wp-site-blocks > footer { margin-block-start: 0; }

/* ── 按钮 ───────────────────────────────────────────── */

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--ink);
	padding: calc(1.1rem - 1px) calc(2rem - 1px);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.has-ink-background-color .wp-block-button.is-style-outline > .wp-block-button__link {
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
}

.sf-arrow .wp-block-button__link::after {
	content: "→";
	display: inline-block;
	margin-left: 0.7em;
	transition: transform var(--wp--custom--transition--base);
}

.sf-arrow .wp-block-button__link:hover::after { transform: translateX(3px); }

.wp-element-button:focus-visible {
	outline: 2px solid var(--wp--preset--color--ink);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.sf-arrow .wp-block-button__link::after { transition: none; }
}
