/*
Theme Name: Shinbu
Theme URI: https://shinbu.com.tw
Author: Shinbu
Description: 新武公司官網自訂主題(區塊主題 / FSE,三語:中/英/日)。視覺方向 D「職人×工場」:白底日系留白為主,機器與數字段落切深色。內容用原生區塊(後台可直接編輯),裝飾由本檔的 CSS class 提供。
Version: 0.7.13
Requires at least: 6.1
Requires PHP: 8.0
Text Domain: shinbu
*/

/*
 * 外觀 token 由 theme.json 控制;這裡放版面細節。
 * 命名慣例:首頁與共用元件一律 .sb-* 前綴。
 * 區塊編輯器裡的文字(標題/段落/數字)都可直接修改,不會破壞這些樣式。
 */

/* ---------- 共用 ---------- */

/* 日文頁字型:TC 字型缺日制漢字(如「産」),單字 fallback 造成字重/定位跑掉 →
   整組換成 JP 系(明朝=Noto Serif JP webfont;黑體=系統日文字型),attr 選擇器蓋過 :root 預設 */
html[lang^="ja"] {
	--wp--preset--font-family--serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif CJK JP", serif;
	--wp--preset--font-family--sans: -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;
}

/* 細節:選取文字即品牌 */
::selection { background: var(--wp--preset--color--brand); color: #fff; }

/* 全站暖紙底:無圖案,只帶極淡紙張顆粒(格線記號獨留給深色數字看板) */
body {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='0.03'/%3E%3C/svg%3E");
}

/* 滾動浮現(site.js 掛 .sb-reveal;無 JS 時不影響) */
.sb-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1), transform 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}
.sb-reveal.in-view { opacity: 1; transform: none; }

.sb-container {
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
.sb-section { padding-top: 6.5rem; }

.sb-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.3em;
	color: var(--wp--preset--color--faint);
	text-transform: uppercase;
}

/* 段落標題列:明朝體中文標題 + 英文 mono 小字 */
.sb-sec-title {
	display: flex;
	align-items: baseline;
	gap: 1.2rem;
	flex-wrap: wrap;
	margin-bottom: 2.6rem;
}
.sb-sec-title > * { margin: 0; }
.sb-sec-title h2 {
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.14em;
}
.sb-sec-en {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.68rem;
	letter-spacing: 0.26em;
	color: var(--wp--preset--color--faint);
	text-transform: uppercase;
}

/* hairline 分隔線(separator 區塊掛 sb-rule) */
hr.wp-block-separator.sb-rule {
	border: none;
	border-top: 1px solid var(--wp--preset--color--line);
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	opacity: 1;
}

/* 箭頭文字連結:<p class="sb-more"><a>...</a></p> */
.sb-more a {
	font-size: 0.9rem;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--ink);
	padding-bottom: 2px;
}
.sb-more a::after { content: " →"; }
.sb-more a:hover {
	color: var(--wp--preset--color--brand);
	border-bottom-color: var(--wp--preset--color--brand);
}

/* ---------- 版頭(吸頂+毛玻璃) ---------- */

/* sticky 掛在外層模板容器(其父層=整頁,可滑動範圍才是全頁;
   掛內層 header 的話父容器高度=自身 → 範圍零 → 永不黏,先前的 bug) */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 60;
}
/* 登入時:黏在 WP 管理工具列(32px/行動版 46px)之下,避免被蓋住 */
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) {
	.admin-bar header.wp-block-template-part { top: 46px; }
}
.site-header {
	background: rgba(246, 245, 241, 0.86);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transition: padding 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
}
/* 手機漢堡選單:backdrop-filter 會把 fixed 展開層關進 header 盒(containing block),
   選單開啟(html.has-modal-open)時暫時解除,展開層才能滿版 */
html.has-modal-open .site-header,
.site-header:has(.wp-block-navigation__responsive-container.is-menu-open) {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	background: var(--wp--preset--color--base);
}
/* ── 手機選單展開層(方向 D:紙面+紅頂線+工號索引) ── */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--base) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='0.03'/%3E%3C/svg%3E");
	padding: 4.6rem 1.8rem 2.2rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--wp--preset--color--brand);
}
/* 關閉鈕:右上、加大點觸 */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: 1rem; right: 1.1rem;
	padding: 0.6rem;
	color: var(--wp--preset--color--ink);
}
/* 項目:直排清單+工號+hairline,一律左對齊
   (核心以更長選擇器把桌機「靠右」帶進展開層,需同級選擇器蓋回) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	display: flex !important;
	flex-direction: column;
	align-items: stretch !important;
	justify-content: flex-start !important;
	width: 100%;
	counter-reset: sbnav;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
	display: block;
	width: 100%;
	counter-increment: sbnav;
	border-bottom: 1px solid #e7e4dc;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
	gap: 1.1rem;
	font-size: 1.22rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	padding: 1.05rem 0.2rem;
	color: var(--wp--preset--color--ink);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a::before {
	content: counter(sbnav, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.68rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--brand);
	flex: none;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:active { color: var(--wp--preset--color--brand); }
/* 進場:項目依序浮現 */
@media (prefers-reduced-motion: no-preference) {
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		animation: sbMenuIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 0.05s; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 0.1s; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 0.15s; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: 0.2s; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(6) { animation-delay: 0.25s; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(7) { animation-delay: 0.3s; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(8) { animation-delay: 0.35s; }
}
@keyframes sbMenuIn {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: none; }
}
/* 底部語言列(site.js 由 .sb-lang-menu 複製進來)+聯絡尾註 */
.sb-mnav-foot { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .sb-mnav-foot {
	display: block;
	margin-top: auto;
	padding-top: 1.6rem;
}
.sb-mnav-foot .sb-mnav-tel {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--faint);
}
.sb-mnav-foot .sb-mnav-tel a { color: inherit; text-decoration: none; }
/* 捲離首屏後:縮成細功能列 */
.site-header.is-compact {
	padding-top: 0.3rem !important;
	padding-bottom: 0.3rem !important;
	box-shadow: 0 1px 14px rgba(31, 33, 36, 0.07);
}
.site-header .sb-logo-img { transition: height 0.35s cubic-bezier(0.16, 1, 0.3, 1); }
.site-header.is-compact .sb-logo-img { height: 52px; }
.site-header .sb-since { transition: opacity 0.25s ease; }
.site-header.is-compact .sb-since { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
	.site-header, .site-header .sb-logo-img, .site-header .sb-since { transition: none; }
}
.site-header .wp-block-navigation a {
	font-size: clamp(0.76rem, 0.85vw, 0.85rem);
	letter-spacing: clamp(0.04em, 0.16vw, 0.2em);
	text-decoration: none;
}
.site-header .wp-block-navigation ul { gap: clamp(0.7rem, 1.6vw, 2rem); }
.sb-header-right { gap: clamp(1rem, 1.8vw, 2rem); }
.site-header .wp-block-navigation a:hover { color: var(--wp--preset--color--brand); }

/* logo(舊站原檔 assets/img/logo.png,406×100,原檔直出):放大到能辨識「三菱電機FA設備授權代理」 */
.sb-logo { display: inline-flex; align-items: center; gap: 1.1rem; text-decoration: none; }
.sb-logo-img {
	height: clamp(48px, 6.8vw, 96px); /* 原檔 100px 為不失真上限,隨視窗流動 */
	width: auto;
	display: block;
}
.sb-since {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.32em;
	color: var(--wp--preset--color--faint);
	border-left: 1px solid var(--wp--preset--color--line);
	padding-left: 1.1rem;
	white-space: nowrap;
}
/* 版尾沿用較小 logo */
.site-footer .sb-logo-img { height: 52px; }
.site-footer .sb-since { display: none; }

/* 版頭右側:導覽+語言切換 */
.sb-header-right { gap: 2rem; }

/* 語言切換器:地球 icon+hover 下拉 */
/* 導覽按鈕:等距整齊。選單「盒」推到最右(margin-left:auto),
   盒內內容一律靠左排 → 單行時視覺仍貼右,換行時第二行與第一行左緣對齊 */
.sb-header-right .wp-block-navigation { margin-left: auto; }
.sb-header-right .wp-block-navigation .wp-block-navigation__container {
	justify-content: flex-start;
	gap: 0.4rem 1.6rem;
	row-gap: 0.3rem;
}

.sb-lang {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.55rem;
	cursor: pointer;
	padding: 0.4rem 0;
	color: var(--wp--preset--color--ink);
}
.sb-lang-label {
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	color: var(--wp--preset--color--muted);
	white-space: nowrap;
}
.sb-lang-globe {
	width: 21px;
	height: 21px;
	flex: none;
	transition: color 0.2s ease, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.sb-lang:hover .sb-lang-globe,
.sb-lang:focus-within .sb-lang-globe {
	color: var(--wp--preset--color--brand);
	transform: rotate(18deg);
}
.sb-lang-menu {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	margin: 0;
	padding: 0.3rem 0;
	list-style: none;
	min-width: 8.5em;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	box-shadow: 0 14px 30px -16px rgba(31, 33, 36, 0.25);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
	z-index: 70;
}
.sb-lang:hover .sb-lang-menu,
.sb-lang:focus-within .sb-lang-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.sb-lang-menu li { margin: 0; }
.sb-lang-menu a {
	display: block;
	padding: 0.55rem 1.1rem;
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	white-space: nowrap;
}
.sb-lang-menu a:hover {
	color: var(--wp--preset--color--brand);
	background: rgba(230, 0, 18, 0.04);
}
.sb-lang-menu .is-current a { color: var(--wp--preset--color--brand); font-weight: 700; }
@media (max-width: 900px) {
	.sb-lang-label { display: none; }
}

/* ---------- Hero(滿版出血大圖+直書明朝體) ---------- */
/* 背景圖暫用舊站素材(模糊+壓暗+顆粒遮低解析);正式上線需換 1920px+ 形象照 */

.sb-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(1.5rem, 1fr) minmax(0, 1120px) minmax(1.5rem, 1fr);
	align-items: stretch;
	width: 100%;
	min-height: clamp(480px, 70vh, 720px);
	padding: 4.5rem 0 4rem;
	background: #0e1013;
	overflow: hidden;
}
/* 圖層:照片(緩慢推近) */
.sb-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("assets/img/industry-sheet-metal.png") center 42% / cover no-repeat;
	filter: blur(3px) brightness(0.6) saturate(0.85);
	transform: scale(1.08);
	animation: sb-hero-zoom 22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes sb-hero-zoom {
	from { transform: scale(1.14); }
	to   { transform: scale(1.06); }
}
/* 圖層:文字側 scrim(右側直書大標、左下副標)+上下漸暗+膠片顆粒 */
.sb-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.16'/%3E%3C/svg%3E"),
		linear-gradient(to left, rgba(10, 11, 13, 0.72), rgba(10, 11, 13, 0.28) 30%, transparent 52%),
		linear-gradient(to right, rgba(10, 11, 13, 0.55), transparent 42%),
		linear-gradient(to bottom, rgba(10, 11, 13, 0.5), rgba(10, 11, 13, 0.1) 38%, rgba(10, 11, 13, 0.72));
	pointer-events: none;
}
.sb-hero > * {
	grid-column: 2;
	margin: 0;
	position: relative;
	z-index: 1;
}
/* 原本的照片區塊由背景大圖取代,隱藏 */
.sb-hero .sb-hero-photo { display: none; }

.sb-hero-text {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: 1fr auto auto;
	column-gap: 2.5rem;
}
.sb-hero-text > * { margin: 0; }
.sb-hero-text h1 {
	grid-column: 2;
	grid-row: 1 / span 3;
	justify-self: end;
	writing-mode: vertical-rl;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 300;
	/* 字級同時受視窗「高」約束:直書欄高上限 56vh,最長行(五十年，只做一件事——)11 字×1.3 字距
	   → fs ≤ ~3.9vh;取 3.3vh 留餘裕,任何縮放比例/視窗高度都不折行 */
	font-size: clamp(1.1rem, min(2.2vw, 3.3vh), 2rem);
	letter-spacing: 0.3em;
	line-height: 2.35;
	color: #f4f4f2;
	max-height: 56vh;
	text-shadow: 0 1px 24px rgba(0, 0, 0, 0.35);
}
/* 重點字:紅色重點線(直書時畫在字的右側,橫書時在下方) */
.sb-hero h1 strong,
.sb-hero h1 b {
	font-weight: 400;
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--brand-bright);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.22em;
	text-underline-position: right;
}
.sb-hero-sub {
	grid-column: 1;
	grid-row: 2;
	align-self: end;
	font-size: 0.95rem;
	color: #c3c7cb;
	line-height: 2.5;
	max-width: 31em;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}
.sb-hero-text .sb-more { grid-column: 1; grid-row: 3; margin-block-start: 2rem; }
.sb-hero .sb-more a {
	color: #f4f4f2;
	border-bottom-color: rgba(244, 244, 242, 0.5);
}
.sb-hero .sb-more a:hover {
	color: var(--wp--preset--color--brand-bright);
	border-bottom-color: var(--wp--preset--color--brand-bright);
}

/* 機台照(深色工場語言)。.sb-photo-placeholder 是真照片到位前的漸層佔位 */
.sb-hero-photo {
	position: relative;
	min-height: 440px;
	overflow: hidden;
	background: radial-gradient(120% 110% at 74% 26%, #3d4750 0%, #22262a 50%, #141618 100%);
}
.sb-hero-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* 雷射光佔位效果(換真照片後移除 sb-photo-placeholder) */
.sb-hero-photo.sb-photo-placeholder::before {
	content: "";
	position: absolute;
	left: 14%;
	top: 20%;
	width: 52%;
	height: 2px;
	background: linear-gradient(90deg, transparent, #f2b84b, #fff);
	transform: rotate(22deg);
	filter: blur(0.5px);
}
/* 紅色準星框 */
.sb-hero-photo::after {
	content: "";
	position: absolute;
	right: 12%;
	bottom: 16%;
	width: 32%;
	height: 42%;
	border: 1px solid rgba(226, 58, 78, 0.75);
	pointer-events: none;
}
.sb-spec-label {
	position: absolute;
	left: 14px;
	bottom: 10px;
	margin: 0;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	color: #8a9097;
	z-index: 1;
}
/* 直排小字:定位在左側留白欄(絕對定位的基準是它的格線欄,故指定第 1 欄) */
.sb-hero .sb-vertical {
	grid-column: 1;
	grid-row: 1;
	position: absolute;
	left: 1.1rem;
	bottom: 0;
	writing-mode: vertical-rl;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.66rem;
	letter-spacing: 0.5em;
	color: #7e858c;
	opacity: 0.6;
	user-select: none;
}

/* hero 與品牌列之間的分隔線隱藏(深色大圖本身就是分界) */
.sb-hero + hr.sb-rule { display: none; }

/* 直排小字只在左側留白夠寬時顯示,避免貼近內文 */
@media (max-width: 1360px) {
	.sb-hero .sb-vertical { display: none; }
}

/* ---------- 品牌牆 ---------- */

/* 首屏第二層:品牌帶(滿版白帶)。預設收合=7 家一列;展開=21 家換行,高度緩動 */
.sb-brands {
	position: relative;
	display: block;
	max-width: none;
	margin: 0;
	padding: 1.3rem max(2rem, calc((100vw - 1400px) / 2));
	background: #fff;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.sb-brands-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1rem, 1.8vw, 2.5rem) clamp(1.2rem, 2vw, 2.5rem);
	padding-right: clamp(7.5em, 11vw, 11em); /* 右側保留給固定位置的展開鈕 */
	overflow: hidden;
	transition: height 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.sb-brands-list > * { margin: 0; white-space: nowrap; }
/* 收合狀態:第 8 家以後隱藏 */
.sb-brands:not(.open) .sb-brand-item:nth-of-type(n+8) { display: none; }
.sb-brand-item a { display: block; }
/* 品牌 logo 圖(244×104 原檔):常駐彩色,滑過微放大提示 */
.sb-brands img,
.brand-wall__logo {
	height: clamp(40px, 4.5vw, 64px); /* 隨視窗流動,小筆電不折行 */
	width: auto;
	display: block;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.sb-brands img:hover,
.brand-wall__logo:hover { transform: scale(1.12); }
/* 展開/收合鈕:絕對定位於帶右上,展開收合都不移位 */
.sb-brands-toggle {
	position: absolute;
	right: max(2rem, calc((100vw - 1400px) / 2));
	top: calc(1.3rem + 32px);
	transform: translateY(-50%);
	border: none;
	background: none;
	cursor: pointer;
	font-family: inherit;
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--faint);
	padding: 0.4rem 0;
	white-space: nowrap;
	transition: color 0.2s ease;
}
.sb-brands-toggle:hover { color: var(--wp--preset--color--brand); }

/* ---------- 職人敘事(關於新武) ---------- */

/* 滿版底板:比底紙更深一階+細工程格線(與深色數字看板呼應) */
.sb-about-band {
	background-color: #efede7;
	background-image:
		linear-gradient(rgba(31, 33, 36, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(31, 33, 36, 0.05) 1px, transparent 1px);
	background-size: 44px 44px;
	border-top: 1px solid var(--wp--preset--color--line);
}
.sb-about {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 4.5rem;
	padding-top: 6.5rem;
	padding-bottom: 6rem;
}
.sb-about > * { margin: 0; }
.sb-about-vert {
	writing-mode: vertical-rl;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 300;
	font-size: 1.5rem;
	letter-spacing: 0.5em;
	color: var(--wp--preset--color--ink);
	padding-top: 0.3rem;
}
.sb-about-body { max-width: 40em; }
.sb-about-body > * { margin: 0; }
.sb-about-body > * + * { margin-block-start: 1.4rem; }
.sb-about-body h2 { font-size: 1.6rem; letter-spacing: 0.1em; }
.sb-about-narr {
	color: var(--wp--preset--color--muted);
	line-height: 2.4;
	font-size: 0.97rem;
}
.sb-about-quote {
	border: none;
	padding: 0.4rem 0 0.4rem 1.4rem;
	border-left: 2px solid var(--wp--preset--color--brand);
	margin-block-start: 2rem;
}
.sb-about-quote p {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.12rem;
	letter-spacing: 0.08em;
	line-height: 2.1;
	margin: 0;
}
.sb-about-quote cite {
	display: block;
	margin-top: 0.6rem;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.7rem;
	letter-spacing: 0.2em;
	color: var(--wp--preset--color--faint);
	font-style: normal;
}
.sb-about-body .sb-more { margin-block-start: 2.2rem; }

/* ---------- 精選機種櫥窗(四格平列,突破版心加寬) ---------- */

.sb-featured {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
	gap: clamp(1.2rem, 2vw, 2rem);
	padding-top: 0.4rem;
	/* 突破 1120px 版心:置中撐到 1400px,打破下半部段落同寬的整齊感 */
	width: min(1400px, calc(100vw - 4rem));
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}
.sb-feat-card {
	text-decoration: none;
	color: inherit;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.sb-feat-card:hover { transform: translateY(-6px); }
/* 商品圖:雙線框(外框+內細線),底部紅線 hover 展開 */
.sb-feat-img {
	position: relative;
	margin: 0 0 1rem;
	border: 1px solid #cfccc5;
	outline: 1px solid var(--wp--preset--color--line);
	outline-offset: -6px;
	background: #fff;
	overflow: hidden; /* 個別放大的圖不得溢出雙線框 */
	padding: 20px;
	transition: border-color 0.25s ease, box-shadow 0.35s ease;
}
.sb-feat-img::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 0;
	height: 2px;
	background: var(--wp--preset--color--brand);
	transition: width 0.3s ease;
}
.sb-feat-card:hover .sb-feat-img {
	border-color: var(--wp--preset--color--faint);
	box-shadow: 0 14px 30px -18px rgba(31, 33, 36, 0.25);
}
.sb-feat-card:hover .sb-feat-img::after { width: 100%; }
.sb-feat-img img {
	width: 100%;
	height: auto; /* 蓋掉 WP 輸出的 height 屬性,讓 aspect-ratio 接管 */
	aspect-ratio: 4 / 3;
	/* 首頁門面:機台必須完整,一律 contain(白底照,留白融進白底框) */
	object-fit: contain;
	padding: 6%;
	box-sizing: border-box;
	display: block;
}
/* 原始照自帶大留白的兩張,個別放大補視覺份量(overflow:hidden 保護框線) */
.sb-featured .sb-feat-card:nth-child(2) .sb-feat-img img,
.sb-featured .sb-feat-card:nth-child(3) .sb-feat-img img {
	padding: 0;
	transform: scale(1.18);
	background: #fff;
}
/* 第 1 張(MV1200R)原圖近方形,cover 會裁到機台 → 完整顯示 */
.sb-feat-model {
	display: block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1.12rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--ink);
}
.sb-feat-card:hover .sb-feat-model { color: var(--wp--preset--color--brand); }
.sb-feat-type {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.86rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--muted);
}

/* ---------- 三大產業(編輯式橫幅) ---------- */

.sb-ind-row { margin-bottom: 4rem; align-items: center; }
.sb-ind-row--alt { flex-direction: row-reverse; }
.sb-ind-row-pic figure { margin: 0; overflow: hidden; }
.sb-ind-row-pic img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
	filter: saturate(0.85);
	transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease;
}
.sb-ind-row:hover .sb-ind-row-pic img { transform: scale(1.03); filter: saturate(1); }
.sb-ind-row-txt > * { margin: 0; }
.sb-ind-row-txt > * + * { margin-block-start: 1rem; }
.sb-ind-row-txt h3 { font-size: 1.35rem; font-weight: 600; letter-spacing: 0.1em; }
.sb-ind-row-txt h3 a { text-decoration: none; color: inherit; }
.sb-ind-row-txt h3 a::after { content: " →"; color: var(--wp--preset--color--brand); opacity: 0; transition: opacity 0.25s ease; }
.sb-ind-row-txt h3 a:hover::after { opacity: 1; }
.sb-ind-row-txt p { font-size: 0.92rem; color: var(--wp--preset--color--muted); line-height: 2.1; }
.sb-ind-models {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.74rem !important;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--faint) !important;
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 0.9rem;
	margin-block-start: 1.6rem !important;
}

/* ---------- 服務網絡 ---------- */

.sb-network-lede {
	font-size: 0.97rem;
	color: var(--wp--preset--color--muted);
	line-height: 2.3;
	margin: 0 0 1.6rem;
}
.sb-network-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.sb-network-list li {
	padding: 0.7rem 0;
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: 0.92rem;
	letter-spacing: 0.06em;
}
.sb-network-list li::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--brand);
	margin-right: 0.8rem;
	vertical-align: 2px;
}
/* 亞洲服務據點地圖(Leaflet + Carto 淺灰底圖) */
.sb-map {
	height: 480px;
	border: 1px solid var(--wp--preset--color--line);
	background: #eceae6;
	z-index: 0; /* 蓋不過吸頂 header */
}
/* 據點頁:雙聯地圖(世界版圖+台灣版圖),突破版心,中央切線 */
.sb-map-duo {
	width: min(1400px, calc(100vw - 3rem));
	margin-left: calc((100% - min(1400px, 100vw - 3rem)) / 2);
	display: grid;
	grid-template-columns: 1.55fr 1fr;
	border: 1px solid var(--wp--preset--color--line);
	background: #fff;
}
.sb-map-duo > figure { margin: 0; min-width: 0; }
.sb-map-duo > figure + figure { border-left: 2px solid var(--wp--preset--color--ink); } /* 中央切線 */
.sb-map-duo .sb-map {
	height: 560px;
	border: none;
	width: 100%;
}
.sb-map-cap {
	margin: 0;
	text-align: center;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.3em;
	color: var(--wp--preset--color--ink);
	padding: 0.75rem 0;
	border-top: 1px solid var(--wp--preset--color--line);
	background: #fff;
}
.sb-map-label--big { font-weight: 700; }
/* 首頁服務網絡:欄內雙聯地圖(世界+台灣上下堆疊,不突破版心) */
.sb-net-duo { display: grid; grid-template-columns: 1fr; border: 1px solid var(--wp--preset--color--line); background: #fff; }
.sb-net-duo figure { margin: 0; min-width: 0; }
.sb-net-duo figure + figure { border-top: 2px solid var(--wp--preset--color--ink); }
.sb-net-duo .sb-map { border: none; width: 100%; }
.sb-net-duo figure:first-child .sb-map { height: 440px; } /* 世界圖加高:緯度跨度大,加高才拉得起 zoom */
.sb-net-duo figure:last-child .sb-map { height: 300px; }  /* 台灣圖 */
/* 據點頁:三聯地圖(世界大圖跨頂+中國左下+台灣右下),突破版心 */
.sb-map-trio {
	width: min(1400px, calc(100vw - 3rem));
	margin-left: calc((100% - min(1400px, 100vw - 3rem)) / 2);
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-areas: "world world" "cn tw";
	border: 1px solid var(--wp--preset--color--line);
	background: #fff;
}
.sb-map-trio > figure { margin: 0; min-width: 0; }
.sb-mt-world { grid-area: world; border-bottom: 2px solid var(--wp--preset--color--ink); }
.sb-mt-cn { grid-area: cn; border-right: 2px solid var(--wp--preset--color--ink); }
.sb-mt-tw { grid-area: tw; }
.sb-map-trio .sb-map { border: none; width: 100%; height: 440px; }
.sb-mt-world .sb-map { height: 520px; } /* 世界大圖 */
/* 首頁服務網絡:反 L 版面(文字左上+世界右上大圖+中國左下+台灣右下) */
.sb-net-lgrid {
	display: grid;
	grid-template-columns: 1fr 1fr; /* 世界圖左緣對齊台灣圖左緣(50% 中線);高度不變=縮放比例不變 */
	grid-template-areas: "text world" "bottom bottom";
	gap: 2.6rem;
	align-items: start;
}
.sb-net-text { grid-area: text; min-width: 0; }
.sb-net-world { grid-area: world; }
/* 中國/台灣底列:等寬 50/50(避免誰大誰小的敏感問題) */
.sb-net-bottom { grid-area: bottom; display: grid; grid-template-columns: 1fr 1fr; gap: 2.6rem; }
.sb-net-lgrid figure { margin: 0; min-width: 0; border: 1px solid var(--wp--preset--color--line); background: #fff; }
.sb-net-lgrid .sb-map { width: 100%; border: none; }
.sb-net-world .sb-map { height: 380px; }
.sb-net-cn .sb-map, .sb-net-tw .sb-map { height: 300px; }
@media (max-width: 860px) {
	.sb-map-duo { grid-template-columns: 1fr; }
	.sb-map-duo > figure + figure { border-left: none; border-top: 2px solid var(--wp--preset--color--ink); }
	.sb-map-duo .sb-map { height: 420px; }
	.sb-map-trio { grid-template-columns: 1fr; grid-template-areas: "world" "tw" "cn"; } /* 手機序:世界→台灣→中國 */
	.sb-mt-cn { border-right: none; border-bottom: none; }
	.sb-mt-tw { border-bottom: 2px solid var(--wp--preset--color--ink); }
	.sb-map-trio .sb-map, .sb-mt-world .sb-map { height: 380px; }
	.sb-net-lgrid { grid-template-columns: 1fr; grid-template-areas: "text" "world" "bottom"; gap: 1.6rem; }
	.sb-net-bottom { grid-template-columns: 1fr; gap: 1.6rem; }
	.sb-net-tw { order: -1; } /* 手機序:台灣排在中國前(世界→台灣→中國) */
}
.sb-map .sb-map-label {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 12px;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--ink);
	background: rgba(250, 250, 248, 0.92);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	box-shadow: none;
	padding: 2px 7px;
}
.sb-map .sb-map-label::before { display: none; }
.sb-map .leaflet-control-attribution {
	font-size: 9px;
	background: rgba(250, 250, 248, 0.7);
	color: var(--wp--preset--color--faint);
}

/* 兩岸八據點路線圖 */
.sb-net-group { margin-bottom: 3.2rem; }
.sb-net-group:last-child { margin-bottom: 0; }
.sb-net-head {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	margin-bottom: 1.6rem;
}
.sb-net-region { font-size: 1rem; font-weight: 600; letter-spacing: 0.14em; }
.sb-net-en {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.66rem;
	letter-spacing: 0.22em;
	color: var(--wp--preset--color--faint);
}
.sb-net-line {
	display: flex;
	justify-content: space-between;
	position: relative;
	padding: 0 0.4rem;
}
/* 貫穿節點的水平線 */
.sb-net-line::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 5px;
	height: 1px;
	background: var(--wp--preset--color--line);
}
.sb-net-node {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.7rem;
}
.sb-net-node i {
	position: relative;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--wp--preset--color--brand);
	border: 2px solid var(--wp--preset--color--base);
	box-shadow: 0 0 0 1px var(--wp--preset--color--brand);
	z-index: 1;
}
/* 雷達波紋:緩慢擴散,每點錯開 */
.sb-net-node i::after {
	content: "";
	position: absolute;
	inset: -2px;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--brand);
	opacity: 0;
	animation: sb-ping 3.2s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}
.sb-net-node:nth-child(2) i::after { animation-delay: 0.5s; }
.sb-net-node:nth-child(3) i::after { animation-delay: 1s; }
.sb-net-node:nth-child(4) i::after { animation-delay: 1.5s; }
.sb-net-node:nth-child(5) i::after { animation-delay: 2s; }
@keyframes sb-ping {
	0%   { transform: scale(1); opacity: 0.55; }
	70%  { transform: scale(3.2); opacity: 0; }
	100% { transform: scale(3.2); opacity: 0; }
}
.sb-net-node span {
	font-size: 0.88rem;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--ink);
	white-space: nowrap;
}

/* ---------- 三大產業 ---------- */

.sb-ind .sb-ind-pic {
	position: relative;
	overflow: hidden;
	margin-bottom: 0;
}
.sb-ind .sb-ind-pic img {
	width: 100%;
	height: 230px;
	object-fit: cover;
	display: block;
	filter: saturate(0.82);
	transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease;
}
.sb-ind:hover .sb-ind-pic img { transform: scale(1.035); filter: saturate(1); }
.sb-ind .sb-ind-pic::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 26%;
	height: 2px;
	background: var(--wp--preset--color--brand);
	transition: width 0.25s ease;
}
.sb-ind:hover .sb-ind-pic::after { width: 100%; }
/* 真照片到位前的佔位漸層(之後把 spacer 換成圖片區塊) */
.sb-ind-pic--pcb   { background: radial-gradient(130% 120% at 30% 20%, #33534a 0%, #18211e 65%); }
.sb-ind-pic--sheet { background: radial-gradient(130% 120% at 70% 25%, #544838 0%, #211d16 65%); }
.sb-ind-pic--mold  { background: radial-gradient(130% 120% at 50% 75%, #3a4a5e 0%, #161b22 65%); }
.sb-ind h3 {
	font-weight: 600;
	font-size: 1.05rem;
	margin-block-start: 1.2rem;
	margin-bottom: 0.4rem;
	letter-spacing: 0.08em;
}
.sb-ind h3 a { text-decoration: none; color: inherit; }
.sb-ind h3 a:hover { color: var(--wp--preset--color--brand); }
.sb-ind p {
	font-size: 0.88rem;
	color: var(--wp--preset--color--muted);
	margin: 0;
	line-height: 1.9;
}

/* ---------- 深色數字看板 ---------- */

.sb-stats {
	background-color: var(--wp--preset--color--graphite);
	background-image:
		linear-gradient(#1a1d20 1px, transparent 1px),
		linear-gradient(90deg, #1a1d20 1px, transparent 1px);
	background-size: 36px 36px;
}
.sb-stats-inner {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	gap: 2.5rem;
	max-width: 1120px;
	margin: 0 auto;
	padding: 5.5rem 1.5rem;
}
.sb-stats-inner > * { margin: 0; }
.sb-stat {
	border-left: 1px solid #2a2d31;
	padding-left: 1.4rem;
	position: relative;
}
.sb-stat::before {
	content: "";
	position: absolute;
	left: -1px;
	top: 0;
	width: 1px;
	height: 14px;
	background: var(--wp--preset--color--brand-bright);
}
.sb-stat > * { margin: 0; }
.sb-stat > * + * { margin-block-start: 8px; }
.sb-stat-row {
	display: flex;
	align-items: baseline;
	gap: 5px;
}
.sb-stat-row > * { margin: 0; }
.sb-stat-v {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 3rem;
	font-weight: 300;
	color: #fff;
	font-variant-numeric: tabular-nums;
	line-height: 1.15;
	letter-spacing: 0.03em;
}
.sb-stat-unit {
	color: var(--wp--preset--color--brand-bright);
	font-size: 0.95rem;
}
.sb-stat-k {
	font-size: 0.72rem;
	color: var(--wp--preset--color--graphite-text);
	letter-spacing: 0.32em;
}

/* ---------- 最新消息 ---------- */

.sb-news-grid .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}
.sb-news-item .wp-block-post-date {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--brand);
	margin-bottom: 0.3rem;
}
.sb-news-item .wp-block-post-title {
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.03em;
	margin: 0;
}
.sb-news-item .wp-block-post-title a { text-decoration: none; }
.sb-news-item .wp-block-post-title a:hover { color: var(--wp--preset--color--brand); }

/* ---------- 服務支援帶 ---------- */

.sb-support-item {
	border-top: 1px solid var(--wp--preset--color--ink);
	padding-top: 1.1rem;
}
.sb-support-item > * { margin: 0; }
.sb-support-item > * + * { margin-block-start: 0.4rem; }
.sb-support-en {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.66rem;
	letter-spacing: 0.24em;
	color: var(--wp--preset--color--faint);
	text-transform: uppercase;
}
.sb-support-item h3 { font-size: 1.05rem; }
.sb-support-item h3::after { content: " →"; color: var(--wp--preset--color--brand); }
.sb-support-item h3 a { text-decoration: none; color: inherit; }
.sb-support-item h3 a:hover { color: var(--wp--preset--color--brand); }
.sb-support-item p {
	font-size: 0.88rem;
	color: var(--wp--preset--color--muted);
	line-height: 1.9;
}

/* ---------- 聯絡 CTA ---------- */

.sb-cta {
	max-width: 1120px;
	margin: 6rem auto 0;
	padding: 5rem 1.5rem 6rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	flex-wrap: wrap;
	border-top: 1px solid var(--wp--preset--color--line);
}
.sb-cta > * { margin: 0; }
.sb-cta-text > * { margin: 0; }
.sb-cta-text h2 {
	font-weight: 600;
	font-size: 1.45rem;
	letter-spacing: 0.1em;
	margin-bottom: 0.6rem;
}
.sb-cta-tel a {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1.05rem;
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	letter-spacing: 0.06em;
}
.sb-cta-tel a:hover { color: var(--wp--preset--color--brand); }

/* ---------- 版尾 ---------- */

.site-footer {
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: 0.85rem;
	color: var(--wp--preset--color--muted);
}
.site-footer a { color: var(--wp--preset--color--muted); text-decoration: none; }
.site-footer a:hover { color: var(--wp--preset--color--brand); }
.sb-footer-legal {
	font-size: 0.78rem;
	color: var(--wp--preset--color--faint);
	letter-spacing: 0.06em;
}

/* ---------- 內頁共用:page head / 子分類 chips / 分頁 ---------- */

.sb-page-head { padding-top: 3.5rem; padding-bottom: 0.5rem; }
/* 代理品牌頁:首屏整體上調(原視覺重心偏低) */
.post-type-archive-brand .sb-page-head { padding-top: 1.7rem; }
.post-type-archive-brand .sb-archive-body { padding-top: 1.2rem; }
.sb-page-head h1 { margin: 0.4rem 0 0.6rem; font-size: 2rem; font-weight: 600; letter-spacing: 0.06em; }
.sb-page-head .sb-page-sub,
.sb-page-head .wp-block-term-description p {
	color: var(--wp--preset--color--muted);
	max-width: 40em;
	margin: 0;
	line-height: 2;
	font-size: 0.95rem;
}

.sb-subcats {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	padding: 1.2rem 0 0.4rem;
	margin: 0;
	border-top: 1px solid var(--wp--preset--color--line);
}
.sb-subcats li { margin: 0; }
.sb-subcats a {
	display: inline-block;
	padding: 0.4rem 0.95rem;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}
.sb-subcats a:hover { border-color: var(--wp--preset--color--brand); color: var(--wp--preset--color--brand); }
.sb-subcats .sb-subcats-n {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.7rem;
	color: var(--wp--preset--color--faint);
	margin-left: 2px;
}
.sb-subcats .sb-subcats-up a { border-style: dashed; color: var(--wp--preset--color--muted); }

.sb-archive-body { padding-top: 2rem; padding-bottom: 3.5rem; }

.sb-pagination { margin-top: 2.5rem; font-size: 0.9rem; }
.sb-pagination a, .sb-pagination .page-numbers {
	font-family: var(--wp--preset--font-family--mono);
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	padding: 0.2rem 0.5rem;
}
.sb-pagination .current { color: var(--wp--preset--color--brand); font-weight: 700; }
.sb-pagination a:hover { color: var(--wp--preset--color--brand); }

/* ---------- 產品型錄:左側分類樹+右側內容 ---------- */

/* 型錄頁版心加寬:目錄更靠左、主欄更寬 */
.sb-wide { max-width: 1300px; }

.sb-catalog {
	display: grid;
	grid-template-columns: 248px minmax(0, 1fr);
	gap: 3.2rem;
	padding-top: 1.6rem;
	padding-bottom: 3.5rem;
	align-items: start;
}
/* 兩欄是 grid 子項,WP blockGap 的 margin-block-start 會把主欄往下推,歸零對齊 */
.sb-catalog > * { margin-block-start: 0 !important; }
.sb-catalog-side {
	position: sticky;
	top: 110px; /* 縮合版頭下方 */
}
.admin-bar .sb-catalog-side { top: 142px; }

/* 分類目錄樹(型錄側欄,職人風格) */
.sb-cattree {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-top: 2px solid var(--wp--preset--color--brand);
}
.sb-cattree summary { list-style: none; cursor: default; }
.sb-cattree summary::-webkit-details-marker { display: none; }

/* 標題列 */
.sb-cattree-head {
	display: flex;
	align-items: baseline;
	gap: 0.8rem;
	padding: 1.05rem 1.2rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
	position: relative;
}
.sb-cattree-head strong {
	font-size: 1.08rem;
	font-weight: 700;
	letter-spacing: 0.18em;
}
.sb-cattree-head span {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.62rem;
	letter-spacing: 0.26em;
	color: var(--wp--preset--color--faint);
}

.sb-cattree ul { list-style: none; margin: 0 !important; padding: 0 !important; }
.sb-cattree > ul { padding: 0.5rem 0 0.7rem !important; }
.sb-cattree li { margin: 0; }

/* 列的共通 */
.sb-cattree a {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.6rem;
	flex: 1;
	min-width: 0;
	padding: 0.48rem 1.2rem;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}
.sb-cattree a:hover { color: var(--wp--preset--color--brand); background: rgba(31, 33, 36, 0.03); }
.sb-cattree a.is-current {
	color: var(--wp--preset--color--brand);
	font-weight: 700;
	background: rgba(230, 0, 18, 0.04);
	box-shadow: inset 3px 0 0 var(--wp--preset--color--brand);
}

/* 第一層(五大領域):粗體,領域之間 hairline 呼吸;所在領域自動展開,無手動開合 */
.sb-cattree > ul > li { border-bottom: 1px solid #f0efeb; }
.sb-cattree > ul > li:last-child { border-bottom: none; }
.sb-cattree > ul > li > a { font-weight: 700; font-size: 0.9rem; letter-spacing: 0.08em; padding-top: 0.62rem; padding-bottom: 0.62rem; }

/* 第二層(用途,目錄末端):縮排+左導線 */
.sb-cattree ul ul { border-left: 1px solid #eceae4; margin-left: 1.2rem !important; padding-bottom: 0.35rem !important; }
.sb-cattree ul ul a { padding-left: 0.9rem; font-size: 0.82rem; font-weight: 400; color: #3d4145; }

/* ── 型錄目錄容器 + 關鍵字搜尋 ── */
.sb-catdir { position: relative; }

.sb-search { position: relative; margin-bottom: 0.9rem; }
.sb-search-ic {
	position: absolute; left: 0.72rem; top: 50%; transform: translateY(-50%);
	color: var(--wp--preset--color--faint); pointer-events: none;
}
.sb-search-in {
	width: 100%;
	padding: 0.6rem 2rem 0.6rem 2.15rem;
	font-family: inherit; font-size: 0.85rem; letter-spacing: 0.02em;
	color: var(--wp--preset--color--ink);
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 0;
	-webkit-appearance: none; appearance: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.sb-search-in::placeholder { color: var(--wp--preset--color--faint); opacity: 1; }
.sb-search-in:focus {
	outline: none;
	border-color: var(--wp--preset--color--brand);
	box-shadow: 0 0 0 2px rgba(230, 0, 18, 0.08);
}
.sb-search-in::-webkit-search-cancel-button { -webkit-appearance: none; }
.sb-search-clear {
	position: absolute; right: 0.4rem; top: 50%; transform: translateY(-50%);
	width: 1.5rem; height: 1.5rem; padding: 0;
	display: flex; align-items: center; justify-content: center;
	border: none; background: none; cursor: pointer;
	font-size: 1.15rem; line-height: 1; color: var(--wp--preset--color--muted);
}
.sb-search-clear:hover { color: var(--wp--preset--color--brand); }

.sb-search-out {
	position: absolute; left: 0; right: 0; top: calc(100% - 1px);
	z-index: 50;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-top: 2px solid var(--wp--preset--color--brand);
	box-shadow: 0 14px 30px rgba(31, 33, 36, 0.16);
	max-height: 60vh; overflow-y: auto;
}
.sb-search-hit {
	display: flex; justify-content: space-between; align-items: baseline; gap: 0.7rem;
	padding: 0.55rem 0.9rem;
	text-decoration: none;
	border-bottom: 1px solid #f0efeb;
}
.sb-search-hit:last-child { border-bottom: none; }
.sb-search-hit:hover, .sb-search-hit.is-active { background: rgba(31, 33, 36, 0.04); }
.sb-search-hit-t { font-size: 0.85rem; line-height: 1.4; color: var(--wp--preset--color--ink); }
.sb-search-hit-t mark { background: rgba(230, 0, 18, 0.13); color: inherit; font-weight: 700; padding: 0 0.05em; }
.sb-search-hit-c {
	flex: none;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.62rem; letter-spacing: 0.1em;
	color: var(--wp--preset--color--faint); white-space: nowrap;
}
.sb-search-none { margin: 0; padding: 0.85rem 0.9rem; font-size: 0.8rem; color: var(--wp--preset--color--muted); }

@media (max-width: 980px) {
	.sb-catalog { grid-template-columns: 1fr; gap: 1.4rem; }
	/* 順序改為 標題→目錄→產品:main 攤平成 grid 子項,標題 order 提前 */
	.sb-catalog-main { display: contents; }
	/* 手機:大標題不再固定(隨頁捲走),改由目錄接手釘在版頭下。
	   用 relative 而非 static:仍在流內捲走,但保留定位脈絡(紅槓/工號等絕對子元素才不會脫逃) */
	.sb-domain-head { position: relative !important; order: -1; margin-bottom: 0; }
	.sb-domain-head::before { content: none; } /* 紙色遮蓋僅供 sticky,靜態時不需 */
	/* side 攤平:讓 cattree 直接成為高 grid 的子項,sticky 才能沿整段產品 travel */
	.sb-catalog-side { display: contents; }
	/* 目錄:併到標題下方、收合式(右側箭頭;site.js 預設收起+點空白收合) */
	.sb-cattree-head { cursor: pointer; }
	.sb-cattree-head::after {
		content: "\25BE";
		margin-left: auto;
		align-self: center;
		color: var(--wp--preset--color--brand);
		font-size: 0.95rem;
		line-height: 1;
		transition: transform 0.2s ease;
	}
	.sb-cattree[open] .sb-cattree-head::after { transform: rotate(180deg); }
	/* 目錄容器接手固定:整組(搜尋+目錄)釘在版頭(78px)下,底版滿版托住不再懸浮 */
	.sb-catdir {
		position: sticky; top: var(--sb-header-h, 72px); z-index: 30;
		background: var(--wp--preset--color--base);
		margin-left: -1.5rem; margin-right: -1.5rem;
		padding: 0.5rem 1.5rem 0.55rem;
		box-shadow: 0 8px 18px rgba(31, 33, 36, 0.09);
		border-bottom: 1px solid var(--wp--preset--color--line);
	}
	.sb-search { margin-bottom: 0.5rem; }
	.sb-cattree { position: relative; } /* 為下拉遮罩提供定位脈絡 */
	/* 手機收合列壓矮省空間(桌機側欄維持 1.05rem 不動) */
	.sb-cattree-head { padding: 0.6rem 1.1rem; }
	/* 目錄展開=下拉遮罩:絕對定位覆蓋產品,不推擠版面 */
	.sb-cattree[open] > ul {
		position: absolute;
		left: 0; right: 0; top: 100%;
		background: #fff;
		border: 1px solid var(--wp--preset--color--line);
		border-top: none;
		box-shadow: 0 14px 30px rgba(31, 33, 36, 0.16);
		z-index: 40;
		max-height: 66vh;
		overflow-y: auto;
	}
}

/* ---------- 五大領域卡(產品總覽=領域入口) ---------- */

.sb-domains {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 1.6rem;
	align-items: start; /* 卡片保持內容自然高度,不被同列較高者拉出大片空白 */
}
.sb-domain {
	position: relative;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	padding: 1.5rem 1.6rem 1.2rem;
	overflow: hidden;
}
/* 幽靈工號(呼應歷史沿革年代數字的語彙) */
.sb-domain > b {
	position: absolute;
	top: 0.6rem; right: 1rem;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 3.2rem;
	font-weight: 400;
	line-height: 1;
	color: rgba(31, 33, 36, 0.06);
	pointer-events: none;
}
.sb-domain h2 { margin: 0 0 0.15rem; font-size: 1.12rem; letter-spacing: 0.08em; line-height: 1.5; }
.sb-domain h2 a { text-decoration: none; color: var(--wp--preset--color--ink); }
.sb-domain h2 a:hover { color: var(--wp--preset--color--brand); }
.sb-domain > i {
	display: block;
	font-style: normal;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.66rem;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--muted);
	margin-bottom: 0.9rem;
}
.sb-domain ul { list-style: none; margin: 0; padding: 0; }
.sb-domain li { border-top: 1px solid #f0efeb; }
.sb-domain li a {
	display: block;
	padding: 0.45rem 0.1rem;
	font-size: 0.82rem;
	letter-spacing: 0.03em;
	color: #3d4145;
	text-decoration: none;
	transition: color 0.15s ease;
}
.sb-domain li a:hover { color: var(--wp--preset--color--brand); }
/* hover:頂緣紅線由左長出 */
.sb-domain::before {
	content: "";
	position: absolute;
	top: 0; left: 0;
	height: 2px; width: 100%;
	background: var(--wp--preset--color--brand);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.28s ease;
}
.sb-domain:hover::before { transform: scaleX(1); }

/* ---------- 主欄頂部固定標題塊(領域標題) ---------- */

.sb-domain-head {
	position: sticky;
	top: 100px; /* 縮合版頭下方;捲動時列表內容滑入其下被吃掉 */
	z-index: 20;
	background: var(--wp--preset--color--base);
	padding: 0.4rem 0 1rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.admin-bar .sb-domain-head { top: 132px; }
/* 總覽頁:桌機維持固定側欄(原樣);手機隱藏側欄目錄+縮減上方留白(僅手機+僅總覽) */
@media (max-width: 980px) {
	.post-type-archive-product .sb-catalog-side { display: none; }
	.post-type-archive-product main { margin-top: 0.4rem; }
	.post-type-archive-product .sb-catalog { padding-top: 0.4rem; }
	.post-type-archive-product .sb-domain-head { padding-top: 0; }
}
/* 向上延伸的紙色遮蓋:補掉與版頭之間的縫,內容吃掉後不再從上緣冒出 */
.sb-domain-head::before {
	content: "";
	position: absolute;
	left: 0; right: 0;
	top: -44px; height: 44px;
	background: var(--wp--preset--color--base);
}
/* 紅短槓疊在底線左端(與小節標題同語彙) */
.sb-domain-head::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 2.4rem; height: 3px;
	background: var(--wp--preset--color--brand);
}
/* 幽靈領域工號 */
.sb-domain-head > b {
	position: absolute;
	right: 0; bottom: 0.15rem;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 5rem;
	font-weight: 400;
	line-height: 1;
	color: rgba(31, 33, 36, 0.055);
	pointer-events: none;
}
.sb-domain-head .sb-eyebrow { margin: 0 0 0.25rem; }
.sb-domain-head-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1.2rem;
}
.sb-domain-head h1 {
	margin: 0;
	font-size: clamp(1.5rem, 2.4vw, 1.95rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.35;
}
.sb-domain-head-row i {
	font-style: normal;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	color: var(--wp--preset--color--muted);
	white-space: nowrap;
	margin-right: 3.4rem; /* 讓開幽靈工號 */
}
.sb-domain-head-lede {
	margin: 0.6rem 0 0;
	font-size: 0.9rem;
	color: var(--wp--preset--color--muted);
	letter-spacing: 0.04em;
}

/* ---------- 分類頁分節陳列 ---------- */

/* 小節(用途):標題+1/3 橫切線,節與節之間大間距 */
.sb-catsec { margin-top: 2.8rem; scroll-margin-top: 218px; /* 錨點跳轉落點=固定標題塊正下方 */ }
.admin-bar .sb-catsec { scroll-margin-top: 250px; }
.sb-catalog-main > .sb-plist + .sb-catsec,
.sb-catsec + .sb-catsec { margin-top: 3.4rem; }
.sb-catalog-main > .sb-catsec:first-child,
.sb-domain-head + .sb-catsec { margin-top: 0; }
.sb-catsec > h2 {
	position: relative;
	margin: 0 0 1.5rem;
	padding-bottom: 0.7rem;
	font-size: 1.18rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.sb-catsec > h2::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 33%; height: 1px;
	background: var(--wp--preset--color--ink);
}
.sb-catsec > h2::before {
	content: "";
	position: absolute;
	left: 0; bottom: -1px;
	width: 2.4rem; height: 3px;
	background: var(--wp--preset--color--brand);
}

/* 型號系列群組:虛線橫切+系列名小字 */
.sb-catsec-series {
	margin-top: 1.8rem;
	padding-top: 1.3rem;
	border-top: 1px dashed #d6d3ca;
}
.sb-catsec-series > h3 {
	margin: 0 0 1.1rem;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.74rem;
	font-weight: 400;
	letter-spacing: 0.14em;
	color: var(--wp--preset--color--muted);
}

/* ---------- 產品卡片格 ---------- */

.sb-plist {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(225px, 1fr));
	gap: clamp(1.4rem, 2vw, 2.2rem) clamp(1.2rem, 1.8vw, 1.8rem);
	list-style: none;
	padding: 0;
	margin: 0;
}
.sb-card .sb-card-img { margin: 0 0 0.8rem; }
.sb-card .sb-card-img img {
	width: 100%;
	height: auto; /* 壓掉 WP 輸出的 height 屬性,尺寸統一交給 aspect-ratio */
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	display: block;
	padding: 8px;
	box-sizing: border-box;
	transition: border-color 0.15s ease;
}
.sb-card:hover .sb-card-img img { border-color: var(--wp--preset--color--faint); }
.sb-card h3 { font-size: 0.95rem; margin: 0 0 0.25rem; line-height: 1.6; letter-spacing: 0.02em; }
.sb-card h3 a { text-decoration: none; }
.sb-card h3 a:hover { color: var(--wp--preset--color--brand); }
/* hover:標題下紅色短線由左長出(與首頁精選一致的語彙) */
.sb-card h3 { position: relative; padding-bottom: 0.35rem; }
.sb-card h3::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 2.2rem; height: 2px;
	background: var(--wp--preset--color--brand);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.28s ease;
}
.sb-card:hover h3::after { transform: scaleX(1); }
.sb-card .sb-card-terms {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--faint);
	margin: 0;
}
.sb-card .sb-card-terms a { color: inherit; text-decoration: none; }
.sb-card .sb-card-terms a:hover { color: var(--wp--preset--color--brand); }

/* ---------- 產品單頁 ---------- */

.sb-single-product { padding-top: 2.2rem; padding-bottom: 2rem; }

/* 麵包屑 */
.sb-crumb {
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--faint);
	margin: 0 0 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	align-items: baseline;
}
.sb-crumb a { color: var(--wp--preset--color--muted); text-decoration: none; }
.sb-crumb a:hover { color: var(--wp--preset--color--brand); }
.sb-crumb span { color: var(--wp--preset--color--line); }
.sb-crumb a:last-child { color: var(--wp--preset--color--ink); font-weight: 600; }

/* 規格區:規格表圖大圖呈現 */
.sb-specs { margin: 3rem 0 0; padding-top: 2.5rem; border-top: 1px solid var(--wp--preset--color--line); }
.sb-specs h2 {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin: 0 0 1.4rem;
	padding-left: 0.9rem;
	border-left: 3px solid var(--wp--preset--color--brand);
}
.sb-spec-figure {
	margin: 0 0 1rem;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	padding: 14px;
	max-width: 720px;
}
.sb-spec-figure img { width: 100%; height: auto; display: block; }
.sb-specs-note {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--faint);
	margin: 0.4rem 0 0;
}

/* 常見加工範疇:規格之後、聯絡帶之前的 tag chips */
.sb-apptags { margin: 3rem 0 0; padding-top: 2.5rem; border-top: 1px solid var(--wp--preset--color--line); }
.sb-apptags h2 {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin: 0 0 1.4rem;
	padding-left: 0.9rem;
	border-left: 3px solid var(--wp--preset--color--brand);
}
.sb-apptags-chips { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.sb-apptags-chips a {
	display: inline-block;
	border: 1px solid var(--wp--preset--color--line);
	background: #fff;
	padding: 0.38rem 1rem;
	font-size: 0.84rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: border-color 0.15s, color 0.15s;
}
.sb-apptags-chips a:hover {
	border-color: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--brand);
}

/* 相關機種 */
.sb-related { margin: 3.5rem 0 0; padding-top: 2.5rem; border-top: 1px solid var(--wp--preset--color--line); }
.sb-related .sb-sec-title { margin-bottom: 1.6rem; }
.sb-related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1.6rem;
}
/* 圖改用產品卡封面樣式:4:3 含入白底框,不裁切(原 sb-feat-img 的 cover 會切壞機台照) */
.sb-related-grid .sb-feat-img,
.sb-related-grid .sb-feat-img img {
	aspect-ratio: 4 / 3;
	height: auto;
}
.sb-related-grid .sb-feat-img img {
	width: 100%;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	padding: 8px;
	box-sizing: border-box;
}
/* 標題列:分類路徑靠左、品名靠右,同一水平線 */
.sb-product-titlebar {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 2rem;
	margin-bottom: 1.6rem;
	padding-bottom: 1.1rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
	position: relative;
}
.sb-product-titlebar::after {
	content: "";
	position: absolute;
	right: 0; bottom: -1px;
	width: 2.4rem; height: 3px;
	background: var(--wp--preset--color--brand);
}
.sb-product-titlebar > * { margin-block-start: 0 !important; }
.sb-product-titlebar .sb-crumb { margin: 0 0 0.35rem; }
/* 左組:返回鈕+麵包屑 */
.sb-tb-left { display: flex; align-items: center; gap: 1rem; }
.sb-tb-left > * { margin-block-start: 0 !important; }
.sb-tb-left .sb-crumb { margin: 0; }
.sb-product-name { text-align: right; }
.sb-product-name h1 { margin: 0; font-size: clamp(1.35rem, 2.2vw, 1.75rem); line-height: 1.45; font-weight: 600; letter-spacing: 0.04em; }
.sb-model {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	color: var(--wp--preset--color--brand);
	margin: 0.25rem 0 0;
}

/* 手機:標題列改直排(並排時兩欄都被壓成窄柱) */
@media (max-width: 700px) {
	.sb-product-titlebar { flex-direction: column; align-items: flex-start; gap: 0.6rem; }
	.sb-product-name { text-align: left; }
}

/* 照片水平橫列:單列不換行,溢出時左右箭頭切換 */
.sb-strip { position: relative; }
.sb-strip-track {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.sb-strip-track::-webkit-scrollbar { display: none; }
/* 每張圖統一 4:3 白底框,contain 不裁切;單張或多張皆同尺寸,跨產品頁一致 */
.sb-strip-track figure {
	margin: 0;
	flex: 0 0 auto;
	width: min(520px, 100%);
	aspect-ratio: 4 / 3;
}
.sb-strip-track img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	padding: 12px;
	box-sizing: border-box;
}
.sb-strip-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 44px; height: 44px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--ink);
	font-size: 1rem;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(31, 33, 36, 0.08);
	transition: color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}
.sb-strip-prev { left: -8px; }
.sb-strip-next { right: -8px; }
.sb-strip-btn:hover { color: var(--wp--preset--color--brand); border-color: var(--wp--preset--color--brand); }
.sb-strip-btn:disabled { opacity: 0.25; cursor: default; }
.sb-strip-btn:disabled:hover { color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--line); }

.sb-product-excerpt { margin-top: 1.8rem; }
.sb-product-excerpt p { color: var(--wp--preset--color--muted); line-height: 2; font-size: 0.95rem; margin: 0; max-width: 860px; }
.sb-product-tel { font-size: 0.85rem; color: var(--wp--preset--color--muted); margin: 0; }
.sb-product-tel a { font-family: var(--wp--preset--font-family--mono); text-decoration: none; color: var(--wp--preset--color--ink); }
.sb-product-tel a:hover { color: var(--wp--preset--color--brand); }

/* 聯絡帶:規格之後、同系列之前 */
.sb-product-contact {
	margin-top: 3rem;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-left: 3px solid var(--wp--preset--color--brand);
	padding: 1.4rem 1.8rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2rem;
	flex-wrap: wrap;
}
.sb-product-contact-txt { margin: 0; font-size: 0.92rem; color: var(--wp--preset--color--muted); letter-spacing: 0.03em; }
.sb-product-contact-txt strong { color: var(--wp--preset--color--ink); letter-spacing: 0.06em; margin-right: 0.5rem; }
.sb-product-contact-act { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; }
.sb-btn-dark {
	display: inline-block;
	background: var(--wp--preset--color--ink);
	color: #fff !important;
	text-decoration: none;
	font-size: 0.85rem;
	letter-spacing: 0.14em;
	padding: 0.7rem 1.6rem;
	transition: background 0.15s ease;
}
.sb-btn-dark:hover { background: var(--wp--preset--color--brand); }

.sb-product-body:not(:empty) { margin-top: 2.2rem; }
.sb-product-body table { border-collapse: collapse; width: 100%; font-size: 0.9rem; }
.sb-product-body table { border-collapse: collapse; width: 100%; font-size: 0.9rem; }
.sb-product-body td, .sb-product-body th { border: 1px solid var(--wp--preset--color--line); padding: 0.5rem 0.8rem; }
.sb-product-body .table-responsive { overflow-x: auto; }
.sb-product-body img { max-width: 100%; height: auto; }
/* 產品說明:原廠賣點分段(Phase 2 內容) */
.sb-product-body .sb-p-intro { font-size: 1.05rem; line-height: 1.9; margin: 0 0 1.6rem; }
.sb-product-body .sb-p-intro strong { color: var(--wp--preset--color--brand); font-weight: 600; }
.sb-pfeatures { display: flex; flex-direction: column; gap: 1.3rem; margin: 1.4rem 0 0; }
.sb-pfeatures .sb-pf { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1rem; }
.sb-pfeatures .sb-pf h3 { font-size: 1.06rem; letter-spacing: 0.02em; margin: 0 0 0.2rem; padding: 0; border: none; }
.sb-pfeatures .sb-pf-lead { color: var(--wp--preset--color--muted); font-size: 0.9rem; margin: 0 0 0.55rem; }
.sb-pfeatures .sb-pf ul { margin: 0; padding-left: 1.2rem; }
.sb-pfeatures .sb-pf li { margin: 0.3rem 0; line-height: 1.7; font-size: 0.95rem; }
.sb-pfeatures .sb-pf li b { font-variant-numeric: tabular-nums; }

/* ---------- 消息列表(編輯部風:全類混排、時間序) ---------- */

.sb-news-query .wp-block-post-template { list-style: none; padding: 0; margin: 0; border-top: 2px solid var(--wp--preset--color--ink); }
.sb-news-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 250px;
	gap: 2.4rem;
	align-items: center;
	padding: 1.7rem 0.2rem;
	border-bottom: 1px solid #e8e5de;
	position: relative;
	transition: background 0.15s ease;
}
.sb-news-row:hover { background: rgba(31, 33, 36, 0.018); }
/* 圖右文左(DOM 圖在前,用 order 對調) */
.sb-news-row .sb-news-thumb {
	margin: 0;
	order: 2;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
	background: #efedea; /* 淺灰底墊:圖比例不一(contain 不裁字為定案),讓留白讀作相框而非破版 */
}
.sb-news-row .sb-news-thumb img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: contain !important; /* 消息圖多為海報/合照,裁切會切字;區塊在 img 寫死 inline cover,必須 !important */
	display: block;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.sb-news-row:hover .sb-news-thumb img { transform: scale(1.04); }
.sb-news-row-txt { order: 1; min-width: 0; }
.sb-news-row-txt > * { margin: 0 0 0.55rem; }
.sb-news-row-meta { display: flex; align-items: baseline; gap: 1.1rem; }
.sb-news-row-meta > * { margin: 0; }
.sb-news-row-meta .wp-block-post-date {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.95rem;
	letter-spacing: 0.14em;
	color: var(--wp--preset--color--brand);
	font-variant-numeric: tabular-nums;
}
/* 分類章:細框小印 */
.sb-news-cat, .sb-news-cat a {
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}
.sb-news-cat a {
	border: 1px solid var(--wp--preset--color--line);
	padding: 0.14rem 0.6rem;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.sb-news-cat a:hover { color: var(--wp--preset--color--brand); border-color: var(--wp--preset--color--brand); }
.sb-news-row h2 { font-size: 1.18rem; line-height: 1.7; font-weight: 600; letter-spacing: 0.03em; }
.sb-news-row h2 a { text-decoration: none; position: relative; }
/* hover:標題下紅短線由左長出(與全站卡片同語彙) */
.sb-news-row h2 a::after {
	content: "";
	position: absolute;
	left: 0; bottom: -0.25em;
	width: 2.2rem; height: 2px;
	background: var(--wp--preset--color--brand);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.28s ease;
}
.sb-news-row:hover h2 a { color: var(--wp--preset--color--brand); }
.sb-news-row:hover h2 a::after { transform: scaleX(1); }
.sb-news-row .wp-block-post-excerpt p {
	font-size: 0.9rem;
	color: var(--wp--preset--color--muted);
	margin: 0;
	line-height: 1.95;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
@media (max-width: 760px) {
	.sb-news-row { grid-template-columns: 1fr; gap: 1rem; align-items: start; }
	.sb-news-row .sb-news-thumb { order: 1; }
	.sb-news-row-txt { order: 2; }
}

.sb-single-news { padding-top: 3rem; padding-bottom: 2rem; }
.sb-single-news h1 { font-size: 1.7rem; font-weight: 600; line-height: 1.6; margin: 0.6rem 0 1.5rem; }
.sb-single-news .sb-news-hero { margin: 0 0 2rem; }
/* 消息照片多為低解析活動照:上限 640px,不放大到整欄糊掉 */
.sb-single-news .sb-news-hero img,
.sb-single-news .wp-block-post-content img {
	max-width: min(100%, 640px);
	height: auto;
	display: block;
	margin: 0 0 1.2rem;
}

/* ---------- 品牌牆/品牌頁 ---------- */

.sb-brand-wall {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 2rem 1.4rem;
}
/* 品牌卡:無白底(logo 直接落在紙面),logo 固定佔位置中 */
.sb-brand-card {
	display: block;
	padding: 1.2rem 0.8rem;
	text-align: center;
	text-decoration: none;
	color: inherit;
}
.sb-brand-card .sb-brand-logo {
	margin: 0 0 1.1rem;
	height: 124px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sb-brand-card .sb-brand-logo img {
	max-height: 104px;
	max-width: 90%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.sb-brand-card:hover .sb-brand-logo img { transform: scale(1.08); }
/* 品牌名固定兩行制:中文在上(若有,缺者留空行對齊)、拉丁在下(字體/字重/字色同中文) */
.sb-brand-card .sb-brand-name { margin: 0; }
.sb-brand-card .sb-brand-name b {
	display: block;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.6;
	min-height: 1.6em;
	color: var(--wp--preset--color--ink);
}
.sb-brand-card .sb-brand-name span {
	display: block;
	font-size: 0.94rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.7;
	min-height: 1.7em;
	color: var(--wp--preset--color--ink);
}
.sb-brand-card:hover .sb-brand-name b,
.sb-brand-card:hover .sb-brand-name span { color: var(--wp--preset--color--brand); }

/* 品牌單頁:白面板頭部(logo 固定框+名),內文,官網連結 */
.sb-single-brand { padding-top: 3rem; padding-bottom: 2rem; }
.sb-brand-head {
	display: flex;
	align-items: center;
	gap: 2.2rem;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-top: 2px solid var(--wp--preset--color--brand);
	padding: 1.8rem 2.2rem;
	margin-bottom: 2.4rem;
}
.sb-brand-head > * { margin-block-start: 0 !important; }
.sb-brand-head .sb-single-brand-logo {
	margin: 0;
	flex: none;
	width: 190px;
	height: 92px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sb-brand-head .sb-single-brand-logo img { max-height: 76px; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.sb-brand-head .sb-brand-name { margin: 0; border-left: 1px solid var(--wp--preset--color--line); padding-left: 2.2rem; }
.sb-brand-head .sb-brand-name b { display: block; font-size: 1.45rem; font-weight: 600; letter-spacing: 0.06em; line-height: 1.5; }
.sb-brand-head .sb-brand-name b.is-empty { display: none; }
.sb-brand-head .sb-brand-name span {
	display: block;
	font-size: 0.98rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--ink);
	margin-top: 0.2rem;
}
.sb-single-brand .wp-block-post-content img { max-width: 100%; height: auto; }
/* ---------- EN/JA 簡化首頁 landing ---------- */

.sb-lp-hero { padding-top: clamp(4rem, 9vh, 7rem); padding-bottom: 3.5rem; }
.sb-lp-hero h1 {
	margin: 1rem 0 1.4rem;
	font-size: clamp(2.4rem, 5.5vw, 4rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.25;
	position: relative;
}
html[lang="ja"] .sb-lp-hero h1 { font-family: var(--wp--preset--font-family--serif); font-weight: 600; }
.sb-lp-sub {
	max-width: 44em;
	color: var(--wp--preset--color--muted);
	line-height: 2;
	font-size: 1rem;
	margin: 0 0 2rem;
}
.sb-lp-cta { display: flex; gap: 1rem; flex-wrap: wrap; }
.sb-lp-ghost {
	display: inline-block;
	border: 1px solid var(--wp--preset--color--ink);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	font-size: 0.85rem;
	letter-spacing: 0.14em;
	padding: 0.7rem 1.6rem;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.sb-lp-ghost:hover { color: var(--wp--preset--color--brand); border-color: var(--wp--preset--color--brand); }
.sb-lp-domains { padding-top: 2rem; padding-bottom: 4rem; }
.sb-lp-domains .sb-sec-title { margin-bottom: 1.8rem; }

/* EN hero:明朝體直書大標改橫排(英文無直書;鏡射 860px fallback 規則) */
html[lang^="en"] .sb-hero .sb-hero-text { display: block; align-self: end; }
html[lang^="en"] .sb-hero-text h1 {
	writing-mode: horizontal-tb;
	max-height: none;
	font-size: clamp(1.7rem, 3vw, 2.5rem);
	line-height: 1.85;
	letter-spacing: 0.08em;
	margin: 1.2rem 0;
}

/* EN 頁面:立業精神直排改橫排(英文無直書;鏡射窄螢幕 fallback 規則) */
/* EN:每句獨立一行(直排改橫排+直向堆疊) */
html[lang^="en"] .sb-prose .sb-motto { flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 1.1rem; grid-template-columns: 1fr; }
html[lang^="en"] .sb-prose .sb-motto li { writing-mode: horizontal-tb; min-height: 0; padding-top: 0; padding-left: 1.4em; font-size: 1.35rem; letter-spacing: 0.1em; }
html[lang^="en"] .sb-prose .sb-motto li::before { top: 50%; left: 0; transform: translateY(-50%); }

/* 手機:內文表格改直疊式(舊站 th 寫死 250px,窄幕下值欄被壓成一字一行) */
@media (max-width: 640px) {
	.sb-prose table,
	.sb-prose tbody,
	.sb-prose tr,
	.sb-prose th,
	.sb-prose td {
		display: block;
		width: 100% !important;
		box-sizing: border-box;
	}
	.sb-prose tr { margin-bottom: 0.6rem; }
	.sb-prose th { text-align: left; border-bottom: none; }
	.sb-prose td { border-top: none; }
}

/* ---------- 近期活動行事曆(首頁服務網絡下方,首頁區塊樣式) ---------- */
.sb-events .sb-sec-title { margin-bottom: 1.6rem; }
.sb-events-wrap { overflow-x: auto; }
.sb-events-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
	line-height: 1.7;
}
.sb-events-table thead th {
	text-align: left;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	border-bottom: 2px solid var(--wp--preset--color--ink);
	padding: 0.6rem 1rem 0.6rem 0;
	white-space: nowrap;
}
.sb-events-table tbody td { padding: 0.95rem 1rem 0.95rem 0; border-bottom: 1px solid var(--wp--preset--color--line); vertical-align: top; }
.sb-events-table .sb-ev-date { font-family: var(--wp--preset--font-family--mono); color: var(--wp--preset--color--brand); white-space: nowrap; font-variant-numeric: tabular-nums; letter-spacing: 0.02em; }
.sb-events-table .sb-ev-name { font-weight: 600; color: var(--wp--preset--color--ink); min-width: 9em; }
.sb-events-table .sb-ev-loc { color: var(--wp--preset--color--ink); white-space: nowrap; }
.sb-events-table .sb-ev-desc { color: var(--wp--preset--color--muted); min-width: 18em; }
/* 手機:表格橫捲(min-width 保欄寬,.sb-events-wrap 提供捲動) */
@media (max-width: 640px) {
	.sb-events-table { min-width: 560px; }
}

/* 消息貼文允許無圖:列表無精選圖時單欄滿版,不留空框 */
.sb-news-row:not(:has(.sb-news-thumb)) { grid-template-columns: 1fr; }

/* 消息分類頁:返回鍵置於大標題左側(原本在標題上方) */
.sb-newscat-head { display: flex; align-items: center; gap: 1.1rem; }
.sb-newscat-head .sb-back { flex: none; margin: 0; }
.sb-newscat-head .sb-newscat-head-txt { min-width: 0; }
.sb-newscat-head .sb-newscat-head-txt > * { margin: 0; }

/* ---------- CSR 圖文交錯(zig-zag):圖一側、文一側,逐列左右輪替 ---------- */
/* 突破 880px 內頁版心置中加寬,讓圖文並排時各半更寬、圖片與字放大好讀 */
.sb-csr {
	display: flex;
	flex-direction: column;
	gap: 3.6rem;
	width: min(1160px, 94vw);
	margin: 2.6rem 0 0 50%;
	transform: translateX(-50%);
}
.sb-csr-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: start; /* 頂端對齊:圖與文各自頂端起,矮的那欄下方留空(非白邊) */
}
.sb-csr-txt p { font-size: 1.05rem; line-height: 2; }
.sb-csr-txt h2 { font-size: 1.4rem; }
.sb-csr-row--flip .sb-csr-img { order: 2; } /* 交錯:此列圖片移到右側 */
.sb-csr-row.is-textonly { grid-template-columns: 1fr; max-width: 60ch; } /* 無圖段=純文字窄欄 */
.sb-csr-img {
	margin: 0;
	border: 1px solid var(--wp--preset--color--line);
	background: #fff;
	overflow: hidden;
	align-self: start; /* 圖框貼合圖片高度,不拉伸到整列高 → 任何比例都不會上下露白邊 */
	display: block;
}
.sb-prose .sb-csr-img img { display: block; width: 100%; height: auto; margin: 0; } /* 提高優先級蓋過 .sb-prose img 的 1.3rem 下邊距(否則圖框底部多一條白邊) */
.sb-csr-txt { min-width: 0; }
.sb-csr-txt > :first-child { margin-top: 0; }
.sb-csr-txt h2 { margin-top: 0; } /* 沿用 .sb-prose h2 紅左槓樣式 */
.sb-csr-txt ol { margin: 0; padding-left: 1.3em; }
.sb-csr-txt ol li { margin: 0 0 0.5rem; line-height: 1.9; }
.sb-csr-steps {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.95rem;
	line-height: 2.2;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--ink);
	border-left: 2px solid var(--wp--preset--color--brand);
	padding-left: 1rem;
	margin-top: 1.2rem;
}
/* 展示場據點資訊列(地址/電話/時間,圖片下方) */
.sb-prose .sb-shr-info { list-style: none; margin: 0 0 1.2rem; padding: 0; font-size: 0.92rem; }
.sb-prose .sb-shr-info li { display: flex; align-items: baseline; gap: 1rem; margin: 0; padding: 0.42rem 0.1rem; border-top: 1px dashed #e3e1dc; }
.sb-prose .sb-shr-info li:last-child { border-bottom: 1px dashed #e3e1dc; }
.sb-prose .sb-shr-info li > span {
	flex: none; min-width: 3.4em;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem; letter-spacing: 0.18em;
	color: var(--wp--preset--color--muted);
}

/* ---------- 線上詢問表單(聯絡頁主表單+展示場預約簡表) ---------- */
.sb-form { max-width: 760px; margin: 1rem 0 0; }
.sb-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem 1.4rem; }
.sb-form label { display: block; font-size: 0.82rem; letter-spacing: 0.08em; color: var(--wp--preset--color--muted); }
.sb-form input, .sb-form select, .sb-form textarea {
	display: block; width: 100%; margin-top: 0.3rem;
	padding: 0.55rem 0.7rem;
	font-family: inherit; font-size: 0.92rem; color: var(--wp--preset--color--ink);
	background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 0;
	-webkit-appearance: none; appearance: none;
}
.sb-form select { background-image: linear-gradient(45deg, transparent 50%, #888 50%), linear-gradient(135deg, #888 50%, transparent 50%); background-position: calc(100% - 16px) 55%, calc(100% - 11px) 55%; background-size: 5px 5px; background-repeat: no-repeat; }
.sb-form input:focus, .sb-form select:focus, .sb-form textarea:focus {
	outline: none; border-color: var(--wp--preset--color--brand);
	box-shadow: 0 0 0 2px rgba(230, 0, 18, 0.08);
}
.sb-form .sb-form-full { margin-top: 0.9rem; }
.sb-form-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; } /* honeypot:真人看不到 */
.sb-form-actions { margin: 1.1rem 0 0; }
.sb-form-btn {
	display: inline-block; padding: 0.7rem 2.2rem;
	font-family: inherit; font-size: 0.9rem; letter-spacing: 0.14em; font-weight: 700;
	color: #fff; background: var(--wp--preset--color--brand);
	border: none; border-radius: 0; cursor: pointer;
	transition: opacity 0.15s ease;
}
.sb-form-btn:hover { opacity: 0.85; }
.sb-form-btn:disabled { background: #b9b6b0; cursor: default; opacity: 1; }
.sb-form-result { margin: 0.9rem 0 0; font-size: 0.9rem; color: var(--wp--preset--color--brand); }
.sb-form-result.is-ok { color: #1d7a3d; }
@media (max-width: 640px) {
	.sb-form-grid { grid-template-columns: 1fr; }
}

/* 人才培育列:圖資訊量大(階梯圖),圖欄加寬放大(:has 鎖定該列;三語檔名皆含 csr-04-talent) */
@media (min-width: 721px) {
	.sb-csr-row:has(img[src*="csr-04-talent"]) { grid-template-columns: 1.45fr 1fr; }
	.sb-csr-row--flip:has(img[src*="csr-04-talent"]) { grid-template-columns: 1fr 1.45fr; }
}
@media (max-width: 720px) {
	.sb-csr { gap: 2.4rem; }
	.sb-csr-row, .sb-csr-row--flip { grid-template-columns: 1fr; gap: 1.1rem; }
	.sb-csr-row--flip .sb-csr-img { order: 0; } /* 手機一律圖上文下 */
	.sb-csr-row.is-textonly { max-width: none; }
}

/* ---------- 人才招募:寬版重排(突破 880 版心;招募敘事+福利卡陣+Q&A+應徵) ---------- */
.sb-careers {
	width: min(1160px, 94vw);
	margin: 2.4rem 0 0 50%;
	transform: translateX(-50%);
}
.sb-careers > section { margin-top: 3.6rem; }
.sb-careers > section:first-child { margin-top: 0; }

/* 招募引言 + 歡迎新鮮人宣言 */
.sb-careers .sb-cr-intro p { font-size: 1.08rem; line-height: 2.05; color: var(--wp--preset--color--ink); max-width: 46em; margin: 0; }
.sb-cr-welcome {
	margin: 1.8rem 0 0;
	padding: 1.1rem 1.6rem;
	border-left: 3px solid var(--wp--preset--color--brand);
	background: #FBFAF7;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.7;
	color: var(--wp--preset--color--ink);
}

/* 薪資待遇醒目條(淺色米底+紅左槓,避免黑色重塊) */
.sb-cr-salary {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.5rem 1.3rem;
	padding: 1.3rem 1.6rem;
	background: #FBFAF7;
	border: 1px solid var(--wp--preset--color--line);
	border-left: 3px solid var(--wp--preset--color--brand);
}
.sb-cr-salary b {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brand);
	flex: none;
}
.sb-cr-salary span { font-size: 1.05rem; line-height: 1.7; letter-spacing: 0.02em; color: var(--wp--preset--color--ink); }

/* 區塊標題(共用):紅短槓 eyebrow + 大標 */
.sb-cr-h { margin: 0 0 1.8rem; }
.sb-cr-h i {
	display: block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.76rem;
	font-style: normal;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brand);
	margin-bottom: 0.5rem;
}
/* .sb-careers 前綴拉高特異度,蓋掉後定義的 .sb-prose h2 紅左框 */
.sb-careers .sb-cr-h h2 { font-size: 1.7rem; font-weight: 700; letter-spacing: 0.04em; margin: 0; line-height: 1.4; border-left: 0; padding-left: 0; }

/* 福利卡陣 */
.sb-cr-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(258px, 1fr));
	gap: 1.2rem;
}
.sb-cr-card {
	border: 1px solid var(--wp--preset--color--line);
	border-top: 2px solid var(--wp--preset--color--brand);
	background: #fff;
	padding: 1.4rem 1.4rem 1.5rem;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.sb-cr-card:hover { box-shadow: 0 6px 22px rgba(31, 33, 36, 0.08); transform: translateY(-2px); }
.sb-cr-card h3 {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: var(--wp--preset--color--brand);
	margin: 0 0 0.7rem;
}
.sb-careers .sb-cr-card p {
	font-size: 1.02rem;
	line-height: 1.85;
	color: var(--wp--preset--color--ink);
	margin: 0;
	flex: 1;
}
.sb-cr-card .sb-cr-note {
	margin-top: 0.9rem;
	padding-top: 0.7rem;
	border-top: 1px dashed #ECEAE3;
	font-size: 0.8rem;
	line-height: 1.7;
	color: var(--wp--preset--color--muted);
	flex: none;
}

/* 招募 Q&A */
.sb-cr-qa { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem 2.4rem; }
.sb-cr-qa-item { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1rem; }
.sb-cr-qa-item h3 {
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--ink);
	margin: 0 0 0.5rem;
	padding-left: 1.4em;
	position: relative;
	line-height: 1.6;
}
.sb-cr-qa-item h3::before {
	content: "Q";
	position: absolute;
	left: 0; top: 0;
	font-family: var(--wp--preset--font-family--mono);
	color: var(--wp--preset--color--brand);
	font-weight: 700;
}
.sb-careers .sb-cr-qa-item p { font-size: 0.95rem; line-height: 1.9; color: var(--wp--preset--color--muted); margin: 0; padding-left: 1.4em; }

/* 應徵方式 */
.sb-cr-apply { display: grid; grid-template-columns: 1.1fr 1fr; gap: 2.4rem; align-items: start; }
.sb-cr-apply-actions { display: flex; flex-direction: column; gap: 0.9rem; }
.sb-careers .sb-cr-apply-actions p { margin: 0 0 0.3rem; font-size: 0.98rem; color: var(--wp--preset--color--ink); }
.sb-careers .sb-cr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	padding: 0.85rem 1.3rem;
	font-size: 0.98rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-decoration: none;
	border: 1px solid var(--wp--preset--color--line);
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.sb-careers .sb-cr-btn::after { content: "→"; font-family: var(--wp--preset--font-family--mono); }
/* 全部留白線框,hover 才填色(去掉實心紅/黑重塊) */
.sb-careers .sb-cr-btn--primary { background: #fff; border-color: var(--wp--preset--color--brand); color: var(--wp--preset--color--brand); }
.sb-careers .sb-cr-btn--primary:hover { background: var(--wp--preset--color--brand); color: #fff; }
.sb-careers .sb-cr-btn--dark { background: #fff; border-color: var(--wp--preset--color--line); color: var(--wp--preset--color--ink); }
.sb-careers .sb-cr-btn--dark:hover { border-color: var(--wp--preset--color--ink); background: var(--wp--preset--color--ink); color: #fff; }
.sb-careers .sb-cr-btn--ghost { background: #fff; border-color: var(--wp--preset--color--line); color: var(--wp--preset--color--muted); }
.sb-careers .sb-cr-btn--ghost:hover { border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--ink); }
.sb-cr-contact {
	border: 1px solid var(--wp--preset--color--line);
	background: #FBFAF7;
	padding: 1.5rem 1.6rem;
}
.sb-cr-contact dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 0.6rem 1.1rem; }
.sb-cr-contact dt {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	padding-top: 0.15rem;
}
.sb-cr-contact dd { margin: 0; font-size: 0.95rem; line-height: 1.6; color: var(--wp--preset--color--ink); }
.sb-cr-contact dd a { color: var(--wp--preset--color--brand); text-decoration: none; }
.sb-cr-contact dd a:hover { text-decoration: underline; }
.sb-careers .sb-cr-close { margin: 3.8rem 0 0; padding-top: 2rem; border-top: 1px solid var(--wp--preset--color--line); font-size: 1.1rem; font-weight: 600; letter-spacing: 0.06em; color: var(--wp--preset--color--ink); text-align: center; }

@media (max-width: 820px) {
	.sb-cr-qa, .sb-cr-apply { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.sb-cr-welcome { font-size: 1.1rem; }
	.sb-cr-h h2 { font-size: 1.4rem; }
}

/* ---------- 返回箭頭(CPT 末端頁左上:無底、細長尾,hover 向左滑+染紅) ---------- */

.sb-back {
	display: inline-flex;
	align-items: center;
	flex: none;
	padding: 0.6rem 0.6rem 0.6rem 0; /* 隱形點觸範圍 */
	color: var(--wp--preset--color--ink);
	transition: color 0.2s ease;
}
.sb-back svg {
	width: 52px;
	height: 14px;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.sb-back:hover { color: var(--wp--preset--color--brand); }
.sb-back:hover svg { transform: translateX(-6px); }
.sb-back--page { margin-bottom: 1.2rem; }

/* ---------- 404 ---------- */

.sb-404 { padding: 7rem 0 8rem; text-align: center; }
.sb-404-code {
	font-family: var(--wp--preset--font-family--mono);
	font-size: clamp(5rem, 12vw, 8rem);
	font-weight: 300;
	line-height: 1;
	color: var(--wp--preset--color--brand);
	margin: 0 0 1rem;
	letter-spacing: 0.06em;
}
.sb-404 h1 { font-size: 1.5rem; font-weight: 600; letter-spacing: 0.08em; margin: 0 0 0.8rem; }
.sb-404-sub { color: var(--wp--preset--color--muted); margin: 0 0 2.2rem; }
.sb-404-actions { display: flex; gap: 1.6rem; justify-content: center; align-items: center; margin: 0; }
.sb-404-actions a:not(.sb-btn-dark) { color: var(--wp--preset--color--ink); text-decoration: none; font-size: 0.9rem; letter-spacing: 0.08em; }
.sb-404-actions a:not(.sb-btn-dark):hover { color: var(--wp--preset--color--brand); }

/* 頁尾法務連結列 */
.sb-legal-links { font-size: 0.78rem; letter-spacing: 0.06em; }
.sb-legal-links a { color: var(--wp--preset--color--muted); text-decoration: none; }
.sb-legal-links a:hover { color: var(--wp--preset--color--brand); }
.sb-legal-links i { font-style: normal; color: var(--wp--preset--color--faint); margin: 0 0.6em; }

/* ---------- 頁尾社群按鈕 ---------- */

/* 官方彩色 icon(app 樣式) */
.sb-social { display: flex; gap: 0.7rem; margin-top: 1rem; }
.sb-social a { display: block; line-height: 0; transition: transform 0.2s ease, filter 0.2s ease; }
.sb-social a svg { width: 34px; height: 34px; }
.sb-social a:hover { transform: translateY(-2px); filter: brightness(1.08); }

/* ---------- 服務支援:諮詢報價卡+地區窗口 ---------- */

.sb-sup-hq {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-left: 3px solid var(--wp--preset--color--brand);
	padding: 1.5rem 1.8rem;
	max-width: 34em;
	margin: 0 0 2.4rem;
}
.sb-sup-hq h3 { margin: 0 0 0.9rem; font-size: 1.02rem; letter-spacing: 0.1em; }
.sb-sup-hq ul { list-style: none; margin: 0; padding: 0; }
.sb-sup-hq li {
	display: flex;
	align-items: baseline;
	gap: 1.2rem;
	padding: 0.5rem 0;
	border-top: 1px solid #f0efeb;
	font-size: 1rem;
}
.sb-sup-hq li span {
	flex: 0 0 4em;
	font-size: 0.85rem;
	letter-spacing: 0.14em;
	color: var(--wp--preset--color--muted);
}
.sb-sup-hq li a, .sb-sup-hq li b {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 400;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	letter-spacing: 0.04em;
	overflow-wrap: anywhere; /* 手機寬:email 等長字串可斷行 */
	min-width: 0;
}
.sb-sup-hq li { flex-wrap: wrap; }
.sb-sup-hq li a:hover { color: var(--wp--preset--color--brand); }

/* 地區卡列:突破 880px 內文版心置中加寬 */
.sb-sup-regions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 1.6rem;
	margin: 1.8rem 0 0 50%;
	width: min(1120px, calc(100vw - 3rem));
	transform: translateX(-50%);
}
.sb-sup-region {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-top: 2px solid var(--wp--preset--color--brand);
	padding: 1.6rem 1.8rem 1.4rem;
}
.sb-sup-region h3 { margin: 0 0 1rem; font-size: 1.15rem; font-weight: 700; letter-spacing: 0.12em; }
.sb-sup-region ul { list-style: none; margin: 0; padding: 0; }
/* 兩行式:機類標籤一行、號碼一行(同行擠壓會把標籤折成直排) */
.sb-sup-region li {
	display: block;
	padding: 0.6rem 0 0.65rem;
	border-top: 1px solid #f0efeb;
}
.sb-sup-region li span {
	display: block;
	font-size: 0.84rem;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--muted);
	margin-bottom: 0.2rem;
}
.sb-sup-region li a, .sb-sup-region li b {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 400;
	font-size: 1rem;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
.sb-sup-region li a:hover { color: var(--wp--preset--color--brand); }

/* 品牌頁產品展示區:系列小標+格線,型號在各自圖片下 */
.sb-bp-title {
	position: relative;
	margin: 2.6rem 0 1.3rem;
	padding-bottom: 0.55rem;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.sb-bp-title::after {
	content: "";
	position: absolute;
	left: 0; bottom: -1px;
	width: 2.2rem; height: 2px;
	background: var(--wp--preset--color--brand);
}
.sb-bp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 1.4rem 1.2rem;
	margin: 0 0 2.2rem;
}
.sb-bp-item { margin: 0; }
.sb-bp-item img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	padding: 8px;
	box-sizing: border-box;
	display: block;
	transition: border-color 0.15s ease;
}
.sb-bp-item:hover img { border-color: var(--wp--preset--color--faint); }
.sb-bp-item figcaption {
	margin-top: 0.55rem;
	text-align: center;
	font-size: 0.84rem;
	letter-spacing: 0.04em;
	line-height: 1.6;
}
.sb-bp-item figcaption a { color: var(--wp--preset--color--ink); text-decoration: none; }
.sb-bp-item figcaption a:hover { color: var(--wp--preset--color--brand); }

.sb-brand-site { margin: 0 0 2rem; }
.sb-brand-site a {
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	font-weight: 600;
	letter-spacing: 0.06em;
	border-bottom: 2px solid var(--wp--preset--color--brand);
	padding-bottom: 2px;
}
.sb-brand-site a:hover { color: var(--wp--preset--color--brand); }
.sb-brand-site i {
	font-style: normal;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--faint);
	margin-left: 0.7rem;
}
@media (max-width: 700px) {
	.sb-brand-head { flex-direction: column; align-items: flex-start; gap: 1.2rem; }
	.sb-brand-head .sb-brand-name { border-left: none; padding-left: 0; }
}

/* ---------- 內頁框架(page.html) ---------- */

.sb-page { padding-top: 3.5rem; padding-bottom: 4rem; }
.sb-page-title {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-bottom: 1.4rem;
	margin-bottom: 1.8rem;
}
.sb-page-title h1 {
	font-size: 1.9rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	margin: 0;
	position: relative;
	padding-left: 1.1rem;
}
.sb-page-title h1::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35em;
	bottom: 0.25em;
	width: 3px;
	background: var(--wp--preset--color--brand);
}

/* 子頁導覽:chips(子頁)/卡片(母頁) */
.sb-subnav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-bottom: 2.4rem;
}
.sb-subnav a {
	padding: 0.38rem 0.95rem;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	font-size: 0.84rem;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}
.sb-subnav a:hover { border-color: var(--wp--preset--color--brand); color: var(--wp--preset--color--brand); }
.sb-subnav a.is-current { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }
.sb-subnav .sb-subnav-up { border-style: dashed; color: var(--wp--preset--color--muted); }

.sb-subpage-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
	margin: 0.6rem 0 2.6rem;
}
.sb-subpage-card {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	padding: 1.1rem 1.3rem;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.sb-subpage-card:hover { border-color: var(--wp--preset--color--faint); transform: translateY(-3px); }
.sb-subpage-card h3 { font-size: 0.95rem; font-weight: 600; letter-spacing: 0.06em; margin: 0; }
.sb-subpage-card span { color: var(--wp--preset--color--brand); }

/* ---------- 內頁 prose(舊站匯入內容的統一排版) ---------- */

.sb-prose { font-size: 0.97rem; line-height: 2.15; color: var(--wp--preset--color--ink); }
.sb-prose p { margin: 0 0 1.3rem; }
.sb-prose h2 {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin: 3rem 0 1.3rem;
	padding-left: 0.9rem;
	border-left: 3px solid var(--wp--preset--color--brand);
}
.sb-prose h3 { font-size: 1.05rem; font-weight: 600; letter-spacing: 0.08em; margin: 2.2rem 0 1rem; }
.sb-prose .sb-lede {
	font-size: 1.1rem;
	letter-spacing: 0.06em;
	line-height: 2.2;
	color: var(--wp--preset--color--ink);
	border-left: 2px solid var(--wp--preset--color--brand);
	padding-left: 1.2rem;
	margin: 0 0 2.2rem;
}
.sb-prose img { max-width: 100%; height: auto; display: block; margin: 0 0 1.3rem; }
.sb-prose hr { border: none; border-top: 1px solid var(--wp--preset--color--line); margin: 2rem 0; }
.sb-prose ul, .sb-prose ol { margin: 0 0 1.3rem; padding-left: 1.4em; }
.sb-prose a { color: var(--wp--preset--color--brand); text-decoration: none; }
.sb-prose a:hover { text-decoration: underline; }
.sb-prose .table-responsive { overflow-x: auto; margin: 0 0 1.5rem; }
.sb-prose table {
	border-collapse: collapse;
	width: 100%;
	font-size: 0.92rem;
	line-height: 1.9;
	background: #fff;
}
.sb-prose th, .sb-prose td {
	border: 1px solid var(--wp--preset--color--line) !important;
	padding: 0.65rem 1rem;
	text-align: left;
	vertical-align: top;
}
.sb-prose th { background: #f2f1ed !important; font-weight: 600; letter-spacing: 0.04em; color: var(--wp--preset--color--ink) !important; }
.sb-prose td[style*="background"] { background: #f7f6f3 !important; color: var(--wp--preset--color--ink) !important; }
.sb-prose td span[style*="color"] { color: inherit !important; }

/* ---------- 歷史沿革時間軸 ---------- */

.sb-tl { position: relative; padding-left: 2.2rem; margin: 0 0 2rem; }
.sb-tl::before {
	content: "";
	position: absolute;
	left: 6px;
	top: 6px;
	bottom: 6px;
	width: 1px;
	background: var(--wp--preset--color--line);
}
.sb-tl-item { position: relative; display: flex; gap: 1.6rem; padding: 0.55rem 0; }
.sb-tl-item::before {
	content: "";
	position: absolute;
	left: -2.2rem;
	top: calc(1.49rem - 5px); /* 圓點中心=年月列首行中心(0.55rem 內距+0.94rem 半行盒) */
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #fff;
	border: 1.5px solid var(--wp--preset--color--brand);
	margin-left: 2.5px;
}
.sb-tl-year {
	flex: 0 0 5.2em;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--brand);
	line-height: 1.88rem; /* 與內文首行同行盒,水平對齊圓點 */
}
.sb-tl-body { font-size: 0.94rem; line-height: 2; }
.sb-prose h2.sb-tl-era {
	border-left: none;
	padding-left: 0;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1.05rem;
	letter-spacing: 0.3em;
	color: var(--wp--preset--color--faint);
	margin: 3.2rem 0 1.4rem;
}

/* ---------- 歷史沿革:雙欄(左時間軸/右創辦人+標誌) ---------- */

.sb-hist {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	gap: 4rem;
	align-items: start;
	width: min(1120px, calc(100vw - 3rem));
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}
.sb-hist-l .sb-era:first-child { margin-top: 0.4rem; }
.sb-hist-r { padding-top: 0.4rem; }
.sb-hist-r h2:first-child { margin-top: 0 !important; }
.sb-hist-r img { max-width: 100%; }

@media (max-width: 980px) {
	.sb-hist { grid-template-columns: 1fr; gap: 1rem; width: auto; left: auto; transform: none; }
}

/* ---------- 據點頁卡片 ---------- */

.sb-loc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 1.4rem;
	margin: 0 0 2.4rem;
}
.sb-loc-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	padding: 0;
	overflow: hidden;
}
.sb-loc-card img {
	width: 100%;
	aspect-ratio: 16 / 10;
	/* 建築物必須完整入鏡:contain 不裁切,不足處以淡紙色補邊 */
	object-fit: contain;
	background: #F3F1EC;
	display: block;
	margin: 0;
}
.sb-loc-card-body { padding: 1rem 1.2rem 1.2rem; }
.sb-loc-card h3 { font-size: 0.98rem; font-weight: 600; letter-spacing: 0.06em; margin: 0 0 0.4rem; }
.sb-loc-card p { font-size: 0.84rem; color: var(--wp--preset--color--muted); margin: 0 0 0.5rem; line-height: 1.9; }
.sb-loc-card .sb-loc-tel {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.86rem;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	display: block;
}
.sb-loc-card .sb-loc-tel:hover { color: var(--wp--preset--color--brand); }
.sb-loc-card .sb-loc-map {
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--faint);
	text-decoration: none;
}
.sb-loc-card .sb-loc-map:hover { color: var(--wp--preset--color--brand); }

/* 團隊頁:深色數字面板(沿用首頁看板語言,盒裝) */
.sb-stats--panel { margin: 0 0 2.4rem; }
.sb-stats--panel .sb-stats-inner { padding: 2.6rem 2rem; }

/* ---------- 重點數據卡(公司概要) ---------- */

.sb-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
	gap: 1rem;
	margin: 0 0 2.6rem;
}
.sb-facts--two { grid-template-columns: repeat(2, 1fr); max-width: 560px; }
.sb-fact {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-top: 2px solid var(--wp--preset--color--brand);
	padding: 1.2rem 1.2rem 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}
.sb-fact-v {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1.9rem;
	font-weight: 300;
	line-height: 1.1;
	color: var(--wp--preset--color--ink);
	font-variant-numeric: tabular-nums;
}
.sb-fact-v i { font-style: normal; font-size: 1rem; color: var(--wp--preset--color--ink); margin-left: 2px; } /* 紅色尾綴撤除(CEO:紅字跨文化有虧損/不祥聯想) */
.sb-fact-k { font-size: 0.76rem; letter-spacing: 0.1em; color: var(--wp--preset--color--muted); }

/* ---------- 立業精神(直書職人帶) ---------- */

.sb-prose .sb-motto {
	list-style: none;
	padding: 2.6rem 2.4rem;
	margin: 0 0 2.4rem;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	background-color: #fdfdfb;
	background-image:
		linear-gradient(rgba(31, 33, 36, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(31, 33, 36, 0.045) 1px, transparent 1px);
	background-size: 36px 36px;
	border: 1px solid var(--wp--preset--color--line);
}
.sb-prose .sb-motto li {
	writing-mode: vertical-rl;
	/* CEO 指示:書法氣勢、告誡鼓勵感 → 明朝體加重加大 */
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.55rem;
	font-weight: 600;
	letter-spacing: 0.34em;
	line-height: 1;
	min-height: 10.5em;
	padding-top: 1.5em;
	position: relative;
	color: #26282b;
	text-shadow: 0.02em 0.02em 0 rgba(31, 33, 36, 0.18); /* 微墨暈,增筆劃厚度 */
}
/* 每條頂端一顆紅印點 */
.sb-prose .sb-motto li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--brand);
}
@media (max-width: 720px) {
	.sb-prose .sb-motto { flex-wrap: wrap; justify-content: flex-start; gap: 1.2rem 2rem; }
	.sb-prose .sb-motto li { writing-mode: horizontal-tb; min-height: 0; padding-top: 0; padding-left: 1.4em; }
	.sb-prose .sb-motto li::before { top: 50%; left: 0; transform: translateY(-50%); }
}

/* ---------- 歷史沿革:年代 ghost 數字 ---------- */

.sb-era {
	display: flex;
	align-items: baseline;
	gap: 1.2rem;
	margin: 3.6rem 0 1.6rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-bottom: 0.4rem;
}
.sb-era-num {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 3.6rem;
	font-weight: 200;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px #cfccc5;
	letter-spacing: 0.04em;
	user-select: none;
}
.sb-era-label {
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	color: var(--wp--preset--color--ink);
}
.sb-era-label::before {
	content: "";
	display: inline-block;
	width: 1.6em;
	height: 1px;
	background: var(--wp--preset--color--brand);
	vertical-align: 0.32em;
	margin-right: 0.8em;
}

/* 手機:年代收合(JS 注入 .sb-era-collapsible/.sb-era-toggle;桌機隱藏開關、全展開) */
.sb-era-toggle { display: none; }
@media (max-width: 720px) {
	.sb-era-collapsible { cursor: pointer; -webkit-tap-highlight-color: transparent; align-items: center; gap: 0.8rem; margin-bottom: 0.9rem; }
	.sb-era-collapsible .sb-era-num { font-size: 2.4rem; flex: none; }
	/* 年代標籤鎖單行:縮字距,過長以省略號截斷(不跨行) */
	.sb-era-collapsible .sb-era-label {
		flex: 1;
		min-width: 0;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		letter-spacing: 0.1em;
		font-size: 0.88rem;
	}
	.sb-era-collapsible .sb-era-label::before { width: 0.9em; margin-right: 0.5em; }
	.sb-era-toggle {
		display: inline-flex;
		align-items: center;
		margin-left: auto;
		background: none;
		border: 0;
		padding: 0.2rem 0 0.2rem 0.4rem;
		cursor: pointer;
	}
	.sb-era-chev {
		width: 8px;
		height: 8px;
		border-right: 1.5px solid var(--wp--preset--color--muted);
		border-bottom: 1.5px solid var(--wp--preset--color--muted);
		transform: rotate(45deg) translateY(-2px);
		transition: transform 0.2s;
	}
	.sb-era-collapsible.is-open .sb-era-chev { transform: rotate(-135deg) translateY(-2px); }
	.sb-era-collapsible + .sb-tl { display: none; }
	.sb-era-collapsible.is-open + .sb-tl { display: block; }
}

/* 部門合照:窄間距堆疊 */
.sb-dept-grid { display: grid; gap: 0.8rem; margin: 0 0 2rem; }
.sb-dept-grid img { margin: 0 !important; }

/* ---------- 組織結構(HTML 重建) ---------- */

.sb-org { margin: 0 0 2rem; }
.sb-org-lead {
	display: flex;
	align-items: center;
	gap: 0;
	flex-wrap: wrap;
	margin-bottom: 0.7rem;
}
.sb-org-box {
	border: 1px solid var(--wp--preset--color--ink);
	padding: 0.5rem 1.2rem;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	white-space: nowrap;
}
.sb-org-box--top { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }
.sb-org-line { width: 2rem; height: 1px; background: var(--wp--preset--color--ink); flex: none; }
.sb-org-note {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem !important;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--brand);
	margin: 0 0 1.8rem !important;
}
.sb-org-cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.4rem;
	margin-bottom: 1.4rem;
}
.sb-org-col { border-top: 1px solid var(--wp--preset--color--ink); padding-top: 0.9rem; }
.sb-org-col h3 { font-size: 0.98rem; margin: 0 0 0.7rem !important; letter-spacing: 0.14em; }
.sb-org-col h3:not(:first-child) { margin-top: 1.4rem !important; }
.sb-org-col ul { list-style: none; padding: 0 !important; margin: 0 !important; }
.sb-org-col li {
	font-size: 0.86rem;
	padding: 0.42rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	line-height: 1.7;
}
.sb-org-col li i {
	font-style: normal;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.7rem;
	color: var(--wp--preset--color--brand);
	margin-right: 0.6rem;
	letter-spacing: 0.06em;
}
.sb-org-foot { font-size: 0.78rem !important; color: var(--wp--preset--color--faint) !important; line-height: 1.9; }

/* ---------- 組織體系:樹狀圖(照舊站圖結構重繪) ---------- */

.sb-orgc-wrap {
	position: relative;
	width: min(1120px, calc(100vw - 3rem));
	left: 50%;
	transform: translateX(-50%);
	overflow-x: auto;
	padding-bottom: 0.5rem;
	margin: 0 0 1rem;
}
/* 寬度收斂到一屏可全覽:內容多寬就多寬,置中 */
.sb-orgc { width: max-content; margin: 0 auto; position: relative; padding-top: 0.2rem; }
.sb-orgc ul {
	display: flex;
	justify-content: center;
	padding: 1.1rem 0 0 !important;
	margin: 0 !important;
	position: relative;
	list-style: none;
}
.sb-orgc li {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	padding: 1.1rem 0.09rem 0;
	border: none !important;
}
/* 連接線 */
.sb-orgc li::before,
.sb-orgc li::after {
	content: "";
	position: absolute;
	top: 0;
	right: 50%;
	width: 50%;
	height: 1.1rem;
	border-top: 1px solid #c9c6c0;
}
.sb-orgc li::after {
	right: auto;
	left: 50%;
	border-left: 1px solid #c9c6c0;
}
.sb-orgc li:only-child::before, .sb-orgc li:only-child::after { display: none; }
.sb-orgc li:only-child { padding-top: 0; }
.sb-orgc li:first-child::before, .sb-orgc li:last-child::after { border-top: none; }
.sb-orgc li:last-child::before { border-right: 1px solid #c9c6c0; }
.sb-orgc ul ul::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	border-left: 1px solid #c9c6c0;
	height: 1.1rem;
}
/* 節點盒 */
/* 管理節點:品牌紅實心(照抄舊站),白字精修 */
.sb-orgc .n {
	border: none;
	background: var(--wp--preset--color--brand);
	color: #fff;
	padding: 0.42rem 1.1rem;
	font-size: 0.84rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	white-space: nowrap;
	box-shadow: 0 2px 0 rgba(31, 33, 36, 0.12); /* 微墨影,盒體浮起 */
}
.sb-orgc .n--top { font-size: 0.95rem; padding: 0.5rem 1.7rem; letter-spacing: 0.28em; }
.sb-orgc .n--dept { letter-spacing: 0.2em; }
/* 葉節點:直書描邊盒(照抄舊站),代號橫排在頂 */
.sb-orgc .n--v {
	writing-mode: vertical-rl;
	display: flex;
	/* 直書時 row=垂直主軸:代號疊在名稱正上方,不佔橫向空間 */
	flex-direction: row;
	align-items: center;
	border: 1px solid rgba(230, 0, 18, 0.38);
	background: #fff;
	color: var(--wp--preset--color--ink); /* .n 的白字必須蓋回墨色,否則白底白字隱形 */
	padding: 0.65rem 0.42rem;
	min-height: 9.6em;
	font-weight: 500;
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	line-height: 1;
	white-space: nowrap;
	box-sizing: content-box;
	box-shadow: none;
}
.sb-orgc .n--v i {
	font-style: normal;
	writing-mode: horizontal-tb; /* 代號橫排(照舊圖) */
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.68rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	letter-spacing: 0.02em;
	margin-bottom: 0.6em;
}
/* 董事會註記:紅實心盒懸於鏈右(照抄舊站位置) */
.sb-orgc-note {
	position: absolute;
	right: 0.4rem;
	top: 2.6rem;
	background: var(--wp--preset--color--brand);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	padding: 0.55rem 1rem;
	max-width: 16em;
	line-height: 1.9;
	text-align: center;
	box-shadow: 0 2px 0 rgba(31, 33, 36, 0.12);
}
.sb-orgc-foot { font-size: 0.76rem !important; color: var(--wp--preset--color--faint) !important; line-height: 1.9; }

/* 經營企畫部:幕僚支線(董事長直線加長,水平線分出置右) */
.sb-orgc ul ul.sb-orgc-branch { padding-top: 3.6rem !important; }
.sb-orgc ul ul.sb-orgc-branch::before { height: 3.6rem; }
.sb-orgc-staff {
	position: absolute;
	left: 50%;
	top: 2.9rem;
	display: flex;
	align-items: center;
	white-space: nowrap;
	z-index: 2;
}
.sb-orgc-staff > i { display: block; width: 6rem; border-top: 1px solid #c9c6c0; flex: none; }

/* ---------- 組織圖(英文版):指揮鏈+部門卡片,橫排好讀(業主授權另一套) ---------- */

.sb-orgx { margin: 0 0 2.4rem; }
.sb-orgx-chain { display: flex; flex-direction: column; align-items: center; }
.sb-orgx .ox {
	display: inline-block;
	background: var(--wp--preset--color--brand);
	color: #fff;
	padding: 0.45rem 1.6rem;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	box-shadow: 0 2px 0 rgba(31, 33, 36, 0.12);
}
.sb-orgx .ox--top { font-size: 1rem; padding: 0.5rem 2rem; letter-spacing: 0.2em; }
.sb-orgx .ox-line { display: block; width: 1px; height: 1.15rem; background: #c9c6c0; }
.sb-orgx .ox-note {
	margin: 0.7rem 0 0;
	font-size: 0.76rem;
	color: var(--wp--preset--color--muted);
	letter-spacing: 0.05em;
	text-align: center;
}
.sb-orgx-band {
	margin: 1.6rem 0 1rem;
	text-align: center;
	font-size: 0.84rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--muted);
	display: flex;
	align-items: center;
	gap: 1rem;
}
.sb-orgx-band::before, .sb-orgx-band::after { content: ""; flex: 1; border-top: 1px solid var(--wp--preset--color--line); }
.sb-orgx-cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 1.2rem;
	align-items: start;
}
.sb-orgx .oxc { border: 1px solid var(--wp--preset--color--line); border-top: 2px solid var(--wp--preset--color--brand); background: #fff; }
.sb-orgx .oxc-h { padding: 0.6rem 1rem; font-size: 0.92rem; font-weight: 700; letter-spacing: 0.1em; border-bottom: 1px solid var(--wp--preset--color--line); }
.sb-orgx .oxc-sub { padding: 0.4rem 1rem; font-size: 0.74rem; letter-spacing: 0.08em; color: var(--wp--preset--color--muted); border-bottom: 1px solid var(--wp--preset--color--line); background: #FBFAF7; }
.sb-orgx .oxc ul { list-style: none; margin: 0; padding: 0.3rem 0 0.45rem; }
.sb-orgx .oxc li { display: flex; align-items: baseline; gap: 0.65rem; padding: 0.34rem 1rem; font-size: 0.84rem; letter-spacing: 0.03em; }
.sb-orgx .oxc li + li { border-top: 1px dashed #ECEAE3; }
.sb-orgx .oxc li i { font-style: normal; font-family: var(--wp--preset--font-family--mono); font-size: 0.68rem; color: var(--wp--preset--color--brand); min-width: 2.9em; flex: none; }
.sb-orgx .oxc-chips { display: flex; flex-wrap: wrap; gap: 0.45rem; padding: 0.7rem 1rem 0.9rem; }
.sb-orgx .oxc-chips b { font-weight: 500; font-size: 0.8rem; letter-spacing: 0.06em; border: 1px solid var(--wp--preset--color--line); padding: 0.2rem 0.65rem; background: #FBFAF7; }

/* ---------- SVG 圖表 ---------- */

.sb-chart {
	width: 100%;
	height: auto;
	border: 1px solid var(--wp--preset--color--line);
	background: #fff;
	padding: 10px 6px 4px;
	box-sizing: border-box;
	margin: 0 0 0.7rem;
}
.sb-chart-note {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem !important;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--faint) !important;
	margin-bottom: 2.4rem !important;
}

/* ---------- 創辦人的話:書信式區塊(併於歷史沿革內) ---------- */

/* 創辦人的話:和紙信箋(暖底+雙細框+頂緣紅槓+署名紅印) */
.sb-letter {
	position: relative;
	background: #FBF7EE;
	border: 1px solid #E3DCC9;
	padding: 3rem 3.2rem 2.4rem;
	margin: 0 0 2.4rem;
}
.sb-letter::before {
	content: "";
	position: absolute;
	inset: 10px;
	border: 1px solid rgba(31, 33, 36, 0.09);
	pointer-events: none;
}
.sb-letter::after {
	content: "";
	position: absolute;
	top: -1px;
	left: 3.2rem;
	width: 2.4rem;
	height: 3px;
	background: var(--wp--preset--color--brand);
}
.sb-letter p:not(.sb-letter-sign) {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.12rem;
	font-weight: 500; /* 600 在紙紋底+窄欄有毛邊感;500(真字重)+加大字級補足份量 */
	line-height: 2.15;
	letter-spacing: 0.04em;
	text-align: left; /* justify 在中英夾雜窄欄會逐行拉出不一致字距,撤除 */
	max-width: 38em;
	margin: 0 0 1.6em;
	font-synthesis: none; /* 禁止偽粗體 */
}
.sb-letter p:not(.sb-letter-sign):last-of-type { margin-bottom: 0; }
/* 署名與紅印已撤(業主定案);保留 class 樣式以防內容殘留 */
.sb-letter .sb-letter-sign {
	text-align: right;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 0.95rem;
	letter-spacing: 0.3em;
	color: var(--wp--preset--color--ink);
	margin: 2.6rem 0 0;
	padding: 0;
	border: none;
}

/* ---------- 響應式 ---------- */
/* 產業卡與服務帶用 columns 區塊,行動版由 WordPress 自動堆疊 */

/* 中間寬度:尺寸已由 clamp()/auto-fit 流動處理,僅保留顯示/隱藏切換 */
@media (max-width: 1100px) {
	.sb-since { display: none; }
}

@media (max-width: 860px) {
	.sb-hero {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		padding-top: 3.5rem;
		min-height: 0;
	}
	/* 手機:直書退回橫排,文字壓在大圖上 */
	.sb-hero { min-height: 78vh; padding-top: 4rem; }
	.sb-hero .sb-hero-text { display: block; align-self: end; }
	.sb-hero-text h1 {
		writing-mode: horizontal-tb;
		max-height: none;
		font-size: 1.55rem;
		line-height: 2;
		letter-spacing: 0.16em;
		margin: 1.2rem 0;
	}
	.sb-hero-sub { margin-bottom: 1.2rem; }
	.sb-vertical { display: none; }
	.sb-news-grid .wp-block-post-template { grid-template-columns: 1fr; }
	.sb-stats-inner { justify-content: flex-start; gap: 2rem 3.5rem; }
	.sb-stat-v { font-size: 1.9rem; }
	.sb-news-row { grid-template-columns: 1fr; gap: 0.8rem; }
	.sb-news-row .sb-news-thumb { max-width: 320px; }
	.sb-about { grid-template-columns: 1fr; }
	.sb-about-vert { display: none; }
	.sb-prose .sb-motto { grid-template-columns: 1fr; }
	.sb-org-cols { grid-template-columns: 1fr; }
}


@media (prefers-reduced-motion: reduce) {
	.sb-ind .sb-ind-pic::after, .brand-wall__logo, .sb-brands-list { transition: none; }
	.sb-hero::before { animation: none; transform: scale(1.06); }
	.sb-net-node i::after { animation: none; }
}

/* ---------- 歷史沿革:創辦人的話 標題列(標題左+照片右,文字區塊整塊在下不繞排) ---------- */
.sb-msg-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.4rem;
	margin-bottom: 1.4rem;
}
.sb-msg-head h2 { margin-bottom: 0; }
.sb-founder-fig {
	flex: none;
	width: 200px;
	max-width: 48%;
	margin: 0;
}
.sb-founder-fig img { width: 100%; height: auto; display: block; }
.sb-founder-fig figcaption {
	font-size: 0.76rem;
	color: var(--wp--preset--color--faint);
	text-align: center;
	margin-top: 0.5rem;
	letter-spacing: 0.06em;
}

/* ---------- 停產提示(eX/HV2R 系列頁:保留供搜尋、導購在售機種) ---------- */
.sb-discontinued {
	border-left: 3px solid var(--wp--preset--color--brand);
	background: #f7f5f1;
	padding: 0.7em 1.1em;
	margin: 0 0 1.6rem;
	font-size: 0.93rem;
	line-height: 1.8;
}
