/* ==========================================================================
   MOJI 子主题样式
   字体：Prata(标题) / Mulish(导航) / Lato(正文)
   配色：ink #1a1a1a / gold #b8925a / surface #f7f5f2
   ========================================================================== */

:root {
	--moji-ink: #1a1a1a;
	--moji-gold: #b8925a;
	--moji-muted: #6b6b6b;
	--moji-line: #e5e1db;
	--moji-surface: #f7f5f2;
	--moji-white: #fff;
	--moji-content: 1290px;
	--moji-wide: 1440px;
	--moji-header-h: 96px;
}

* { box-sizing: border-box; }

body.moji-body {
	margin: 0;
	font-family: 'Lato', 'Noto Sans SC', -apple-system, 'Segoe UI', Helvetica, sans-serif;
	color: var(--moji-ink);
	background: var(--moji-white);
	line-height: 1.6;
}

.moji-body h1, .moji-body h2, .moji-body h3 {
	font-family: 'Prata', 'Noto Serif SC', Georgia, serif;
	font-weight: 400;
	letter-spacing: .01em;
}

.moji-body a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

.moji-skip {
	position: absolute; left: -9999px; top: 0;
	background: #000; color: #fff; padding: 10px 16px; z-index: 100000;
}
.moji-skip:focus { left: 8px; top: 8px; }

/* ---------- 按钮 ---------- */
.moji-btn {
	display: inline-block;
	padding: 14px 30px;
	font-family: 'Mulish', 'Noto Sans SC', sans-serif;
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
	border: 1px solid var(--moji-ink);
	transition: background-color .25s ease, color .25s ease, border-color .25s ease;
	cursor: pointer;
}
.moji-btn:hover { background: var(--moji-ink); color: #fff; }
.moji-btn--gold { background: var(--moji-gold); border-color: var(--moji-gold); color: #fff; }
.moji-btn--gold:hover { background: #a37f49; border-color: #a37f49; }

/* ==========================================================================
   Header
   ========================================================================== */
.moji-header {
	position: sticky; top: 0; z-index: 900;
	background: var(--moji-white);
	border-bottom: 1px solid var(--moji-line);
	transition: background .3s ease, border-color .3s ease, box-shadow .3s ease;
}

/* 首页：透明叠加在全屏 hero 上，滚动后变实心白底 */
.moji-header--transparent {
	position: fixed; left: 0; right: 0; top: 0;
	background: transparent; border-bottom-color: transparent;
}
/* 顶部渐变遮罩，保证白色导航文字在亮图上可读 */
.moji-header--transparent::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(0,0,0,.38) 0%, rgba(0,0,0,0) 100%);
	pointer-events: none; transition: opacity .3s ease;
}
.moji-header--transparent .moji-nav__item > a,
.moji-header--transparent .moji-header__enquiry { color: #fff; }
.moji-header__brand { color: var(--moji-ink); transition: color .3s ease; }
.moji-header--transparent .moji-header__brand { color: #fff; }
.moji-header--transparent .moji-header__enquiry { border-color: rgba(255,255,255,.7); }
.moji-header--transparent .moji-header__enquiry:hover { background: #fff; color: var(--moji-ink); border-color: #fff; }
.moji-header--transparent .moji-header__toggle span { background: #fff; }
/* 深色 logo 反白 */
.moji-header--transparent .moji-header__logo img { filter: brightness(0) invert(1); transition: filter .3s ease; }

/* 滚动后：恢复实心白底 header 与深色内容 */
.moji-header--transparent.is-scrolled {
	position: fixed; background: var(--moji-white);
	border-bottom-color: var(--moji-line);
	box-shadow: 0 6px 24px rgba(0,0,0,.06);
}
.moji-header--transparent.is-scrolled::before { opacity: 0; }
.moji-header--transparent.is-scrolled .moji-nav__item > a,
.moji-header--transparent.is-scrolled .moji-header__enquiry,
.moji-header--transparent.is-scrolled .moji-header__brand { color: var(--moji-ink); }
.moji-header--transparent.is-scrolled .moji-header__enquiry { border-color: var(--moji-ink); }
.moji-header--transparent.is-scrolled .moji-header__enquiry:hover { background: var(--moji-ink); color: #fff; }
.moji-header--transparent.is-scrolled .moji-header__toggle span { background: var(--moji-ink); }
.moji-header--transparent.is-scrolled .moji-header__logo img { filter: none; }
.moji-header__bar {
	max-width: var(--moji-wide); margin: 0 auto;
	display: flex; align-items: center; gap: 24px;
	padding: 14px 24px; position: relative;
}
.moji-header .moji-header__logo img { height: 52px; width: auto; max-width: none; object-fit: contain; }
.moji-header__logo { margin-right: auto; }

/* 主导航 */
.moji-nav__list { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
.moji-nav__item > a {
	font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-weight: 700;
	font-size: 14px; letter-spacing: .14em; text-transform: uppercase;
	padding: 12px 0; display: inline-block;
	border-bottom: 2px solid transparent; transition: border-color .2s;
}
.moji-nav__item > a:hover { border-color: var(--moji-gold); }

/* 居中品牌名 */
.moji-header__brand {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	font-family: 'Prata', 'Noto Serif SC', serif; font-weight: 700; color: var(--moji-ink);
	font-size: 22px; letter-spacing: .08em; white-space: nowrap; pointer-events: none;
}

.moji-header__enquiry {
	font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-weight: 700; font-size: 13px;
	letter-spacing: .12em; text-transform: uppercase;
	border: 1px solid var(--moji-ink); padding: 10px 22px;
	transition: background-color .2s, color .2s, border-color .2s;
}
.moji-header__enquiry:hover { background: var(--moji-ink); color: #fff; }

/* 语言切换器（地球图标 + 下拉） */
.moji-lang { position: relative; flex: 0 0 auto; }
.moji-lang__toggle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border: 0; background: none; cursor: pointer;
	color: var(--moji-ink); padding: 0;
}
.moji-lang__toggle svg { width: 22px; height: 22px; }
.moji-lang__menu {
	position: absolute; right: 0; top: calc(100% + 10px); min-width: 150px;
	background: #fff; border: 1px solid var(--moji-line);
	box-shadow: 0 18px 34px rgba(0,0,0,.1);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .2s ease, visibility .2s ease, transform .2s ease; z-index: 960; padding: 6px 0;
}
.moji-lang.is-open .moji-lang__menu { opacity: 1; visibility: visible; transform: translateY(0); }
.moji-lang__opt {
	display: block; padding: 10px 18px; font-family: 'Mulish', 'Noto Sans SC', sans-serif;
	font-size: 14px; font-weight: 600; color: var(--moji-ink); white-space: nowrap;
}
.moji-lang__opt:hover { background: var(--moji-surface); color: var(--moji-gold); }
.moji-lang__opt.is-active { color: var(--moji-gold); }
.moji-header--transparent .moji-lang__toggle { color: #fff; }
.moji-header--transparent.is-scrolled .moji-lang__toggle { color: var(--moji-ink); }

/* Mega menu */
.moji-nav__item--has-mega { position: static; }
.moji-mega {
	position: absolute; left: 0; right: 0; top: 100%;
	background: var(--moji-white); border-top: 1px solid var(--moji-line);
	box-shadow: 0 24px 40px rgba(0,0,0,.08);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .22s ease, visibility .22s ease, transform .22s ease; z-index: 950;
}
.moji-nav__item--has-mega:hover .moji-mega,
.moji-nav__item--has-mega.is-open .moji-mega {
	opacity: 1; visibility: visible; transform: translateY(0);
}
.moji-mega__inner {
	max-width: var(--moji-wide); margin: 0 auto;
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px;
	padding: 36px 24px 44px;
}
.moji-mega__title {
	font-family: 'Prata', 'Noto Serif SC', serif; font-size: 18px; font-weight: 700;
	display: block; margin-bottom: 16px; padding-bottom: 10px;
	border-bottom: 1px solid var(--moji-line);
}
.moji-mega__title:hover { color: var(--moji-gold); }
.moji-mega__list { list-style: none; margin: 0; padding: 0; }
.moji-mega__list li { margin: 10px 0; }
.moji-mega__list a {
	font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-size: 14px; font-weight: 600; color: var(--moji-ink);
	transition: color .18s;
}
.moji-mega__list a:hover { color: var(--moji-gold); }

/* 移动端 toggle / drawer */
.moji-header__toggle { display: none; flex-direction: column; gap: 5px; background: none; border: 0; cursor: pointer; padding: 8px; }
.moji-header__toggle span { width: 24px; height: 2px; background: var(--moji-ink); display: block; transition: .25s; }
.moji-drawer { display: none; }

/* ==========================================================================
   Hero carousel
   ========================================================================== */
.moji-hero { position: relative; width: 100%; overflow: hidden; background: #ddd; }
.moji-hero__track { position: relative; width: 100%; height: 100vh; min-height: 560px; }
.moji-hero__slide {
	position: absolute; inset: 0; opacity: 0; transition: opacity .8s ease;
	pointer-events: none;
}
.moji-hero__slide.is-active { opacity: 1; pointer-events: auto; }
.moji-hero__slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

/* 左下角标语（叠加图上） */
.moji-hero__caption {
	position: absolute; left: 0; bottom: 14%; z-index: 3;
	max-width: var(--moji-wide); width: 100%;
	padding: 0 160px; pointer-events: none;
}
.moji-hero__title {
	margin: 0; color: #fff; font-family: 'Prata', 'Noto Serif SC', serif; font-weight: 400;
	font-size: clamp(34px, 5vw, 72px); line-height: 1.08;
	text-shadow: 0 2px 24px rgba(0,0,0,.4);
}

.moji-hero__dots { position: absolute; bottom: 18px; left: 0; right: 0; display: flex; justify-content: center; gap: 10px; }
.moji-hero__dot { width: 10px; height: 10px; border-radius: 50%; border: 0; background: rgba(255,255,255,.55); cursor: pointer; padding: 0; }
.moji-hero__dot.is-active { background: #fff; }

/* ==========================================================================
   Sections + grid
   ========================================================================== */
.moji-section { max-width: var(--moji-content); margin: 0 auto; padding: 72px 24px 8px; }
.moji-section__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 30px; }
.moji-section__title { font-size: 32px; margin: 0; }
.moji-section__more {
	font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-size: 13px; letter-spacing: .12em;
	text-transform: uppercase; color: var(--moji-muted); border-bottom: 1px solid var(--moji-gold);
	padding-bottom: 3px;
}
.moji-section__more:hover { color: var(--moji-gold); }

.moji-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.moji-grid__item { display: block; }
.moji-grid__frame {
	display: block; overflow: hidden; background: var(--moji-surface);
	aspect-ratio: 1 / 1;
}
.moji-grid__frame img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .5s ease;
}
.moji-grid__item:hover .moji-grid__frame img { transform: scale(1.06); }
.moji-grid__item { transition: transform .3s ease, box-shadow .3s ease; }
.moji-grid__item:hover { transform: translateY(-6px); box-shadow: 0 18px 34px rgba(0,0,0,.12); }

/* ==========================================================================
   USP
   ========================================================================== */
.moji-usp { background: var(--moji-surface); margin-top: 72px; }
.moji-usp__inner {
	max-width: var(--moji-content); margin: 0 auto;
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px;
	padding: 56px 24px;
}
.moji-usp__head { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; }
.moji-usp__icon {
	flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: #fff; color: var(--moji-gold); border: 1px solid var(--moji-line);
}
.moji-usp__icon svg { width: 22px; height: 22px; }
.moji-usp__item h3 { font-size: 19px; margin: 0; }
.moji-usp__item p { margin: 0; color: var(--moji-muted); font-size: 15px; }

/* ==========================================================================
   Footer
   ========================================================================== */
.moji-footer { background: var(--moji-ink); color: #cfcac2; }
.moji-footer__inner {
	max-width: var(--moji-content); margin: 0 auto;
	display: grid; grid-template-columns: 1.2fr 2fr 1fr; gap: 48px;
	padding: 64px 24px;
}
.moji-footer .moji-footer__logo { height: 46px; width: auto; max-width: none; background: #fff; padding: 8px; border-radius: 4px; margin-bottom: 16px; }
.moji-footer__addr { font-size: 14px; margin: 0 0 14px; }
.moji-footer__line { font-size: 14px; margin: 4px 0; }
.moji-footer a { color: #cfcac2; }
.moji-footer a:hover { color: #fff; }
.moji-footer__social { margin-top: 16px; display: flex; gap: 14px; }
.moji-footer__social a {
	width: 38px; height: 38px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid rgba(255,255,255,.28); color: #cfcac2;
	transition: background .2s, color .2s, border-color .2s;
}
.moji-footer__social a:hover { background: var(--moji-gold); color: var(--moji-ink); border-color: var(--moji-gold); }
.moji-footer__social svg { width: 19px; height: 19px; }

.moji-footer__nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.moji-footer__coltitle { font-family: 'Prata', 'Noto Serif SC', serif; color: #fff; font-size: 15px; display: block; margin-bottom: 12px; }
.moji-footer__nav ul { list-style: none; margin: 0; padding: 0; }
.moji-footer__nav li { margin: 8px 0; font-size: 13px; }

.moji-footer__cta h3 { color: #fff; font-size: 20px; margin: 0 0 10px; }
.moji-footer__cta p { font-size: 14px; margin: 0 0 18px; }
.moji-footer__cta .moji-btn--gold { color:#fff; }

.moji-footer__bottom {
	border-top: 1px solid rgba(255,255,255,.12);
	text-align: center; font-size: 13px; padding: 20px; color: #9a938a;
}

/* ==========================================================================
   Enquiry modal + form
   ========================================================================== */
.moji-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; }
.moji-modal[hidden] { display: none; }
.moji-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.moji-modal__box {
	position: relative; background: #fff; width: min(560px, 92vw);
	max-height: 90vh; overflow: auto; padding: 40px; z-index: 1;
}
.moji-modal__title { margin: 0 0 20px; font-size: 26px; }
.moji-modal__close {
	position: absolute; top: 14px; right: 18px; background: none; border: 0;
	font-size: 30px; line-height: 1; cursor: pointer; color: var(--moji-muted);
}

.moji-form { display: grid; gap: 16px; }
.moji-form label { font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-size: 13px; letter-spacing: .04em; display: block; margin-bottom: 6px; }
.moji-form input, .moji-form select, .moji-form textarea {
	width: 100%; padding: 12px 14px; border: 1px solid var(--moji-line);
	font-family: 'Lato', 'Noto Sans SC', sans-serif; font-size: 15px; background: #fff;
}
.moji-form textarea { min-height: 110px; resize: vertical; }
.moji-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.moji-form__msg { font-size: 14px; padding: 10px 0; }
.moji-form__msg--ok { color: #2e7d32; }
.moji-form__msg--err { color: #c62828; }
.moji-form__hp { position: absolute; left: -9999px; }

/* ==========================================================================
   About page
   ========================================================================== */
.moji-about { max-width: var(--moji-content); margin: 0 auto; padding: 64px 24px; }
.moji-about h1 { font-size: 40px; margin: 0 0 24px; }
.moji-about h2 { font-size: 26px; margin: 40px 0 14px; }
.moji-about p { color: #333; margin: 0 0 16px; max-width: 900px; }
.moji-about__contact {
	background: var(--moji-surface); padding: 32px; margin: 40px 0;
	display: grid; gap: 8px;
}
.moji-about__contact a { color: var(--moji-gold); }
.moji-about__enquiry { max-width: 640px; margin-top: 24px; }

/* ==========================================================================
   WooCommerce 商城（对齐 landerstone：目录/询盘模式）
   ========================================================================== */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce .price { display: none !important; }

/* 隐藏 Kadence 默认商城/归档标题条（用自定义 banner 替代，避免与 Products 重复） */
body.woocommerce-page .page-title,
body.woocommerce .page-title,
body.woocommerce-page .entry-hero-container-inner,
body.woocommerce .entry-hero-container-inner { display: none !important; }

/* 页面顶部标题带 */
.moji-shop-banner {
	background: var(--moji-surface); text-align: center;
	padding: 56px 24px; margin-bottom: 40px;
}
.moji-shop-banner__title { font-family: 'Prata', 'Noto Serif SC', serif; font-size: 40px; margin: 0 0 10px; }
.moji-shop-banner__crumb { font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-size: 13px; letter-spacing: .06em; color: var(--moji-muted); }
.moji-shop-banner__crumb a:hover { color: var(--moji-gold); }

/* 仅商城页居中内容容器；后代选择器不命中 body，body 保持整屏宽 */
body.woocommerce .content-container.site-container,
body.woocommerce-page .content-container.site-container {
	max-width: var(--moji-content); margin-left: auto; margin-right: auto;
}
.woocommerce .woocommerce-products-header { padding: 0 24px; }
/* Kadence 面包屑容器补装订边（body 作用域压过其归零，与内容列对齐） */
body.woocommerce .kadence-breadcrumb-container,
body.woocommerce-page .kadence-breadcrumb-container { padding-left: 24px; padding-right: 24px; }
/* 顶部 banner 满宽通栏 */
.moji-shop-banner { max-width: 100%; }

/* 结果数 + 排序条 */
.woocommerce .woocommerce-result-count {
	font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-size: 13px;
	color: var(--moji-muted); letter-spacing: .04em; margin: 0 0 24px; padding: 0 24px;
}
.woocommerce .woocommerce-ordering { margin-bottom: 24px; padding: 0 24px; }
.woocommerce .woocommerce-ordering select {
	font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-size: 13px;
	padding: 10px 14px; border: 1px solid var(--moji-line); background: #fff;
}

/* Kadence 顶部工具条整体加装订边，子项归零避免双重内缩（body 作用域压过 Kadence） */
body.woocommerce .kadence-shop-top-row,
body.woocommerce-page .kadence-shop-top-row { padding-left: 24px; padding-right: 24px; }
body.woocommerce .kadence-shop-top-row .woocommerce-result-count,
body.woocommerce .kadence-shop-top-row .woocommerce-ordering,
body.woocommerce-page .kadence-shop-top-row .woocommerce-result-count,
body.woocommerce-page .kadence-shop-top-row .woocommerce-ordering { padding-left: 0; padding-right: 0; }

/* 产品网格：4 列 */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 40px;
	margin: 0; padding: 0 24px 40px; list-style: none;
}
body.woocommerce ul.products,
body.woocommerce-page ul.products { padding-left: 24px; padding-right: 24px; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	text-align: left; padding: 0;
}
.woocommerce ul.products li.product a img {
	width: 100%; height: auto; aspect-ratio: 1/1; object-fit: cover;
	margin: 0 0 16px; background: var(--moji-surface); transition: transform .5s ease;
}
.woocommerce ul.products li.product { overflow: hidden; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: 'Prata', 'Noto Serif SC', serif; font-size: 17px; font-weight: 500;
	color: var(--moji-ink); padding: 0; margin: 0 0 14px; line-height: 1.4; text-transform: none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block; }

/* 列表页 Enquiry 按钮 */
.woocommerce ul.products li.product .moji-enquiry-btn,
.woocommerce a.button.moji-enquiry-btn {
	display: inline-block; margin: 0; background: var(--moji-ink); color: #fff;
	font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-size: 12px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase; padding: 11px 22px; border-radius: 0;
	transition: background .2s;
}
.woocommerce ul.products li.product .moji-enquiry-btn:hover,
.woocommerce a.button.moji-enquiry-btn:hover { background: var(--moji-gold); }

/* ---------- 单品详情页：左图右信息两栏 ---------- */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; padding: 0 24px; }
/* 实际单品容器带 .entry-content-wrap，用 body 作用域压过 Kadence 的 padding 归零 */
body.woocommerce div.product.entry-content-wrap,
body.woocommerce-page div.product.entry-content-wrap { padding-left: 24px !important; padding-right: 24px !important; }
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; margin: 0; float: none; }
/* 小尺寸产品图（如 155x155）撑满图库列宽，不左上角孤立 */
.woocommerce div.product .woocommerce-product-gallery__image a,
.woocommerce div.product .woocommerce-product-gallery__image a img,
.woocommerce div.product .woocommerce-product-gallery__image img { width: 100%; height: auto; }
.woocommerce div.product .summary { width: 100% !important; margin: 0; float: none; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products,
.woocommerce div.product .up-sells { grid-column: 1 / -1; }

.woocommerce div.product .product_title {
	font-family: 'Prata', 'Noto Serif SC', serif; font-size: 34px; font-weight: 400;
	line-height: 1.2; margin: 0 0 24px;
}
.woocommerce div.product .woocommerce-product-details__short-description ul { padding-left: 18px; margin: 0 0 28px; }
.woocommerce div.product .woocommerce-product-details__short-description li {
	font-family: 'Lato', 'Noto Sans SC', sans-serif; font-size: 15px; color: #444; margin: 0 0 12px; line-height: 1.6;
}
.woocommerce a.moji-enquiry-btn,
.woocommerce a.button.moji-enquiry-btn,
.woocommerce a.button.alt.moji-enquiry-btn,
.woocommerce div.product a.moji-enquiry-btn {
	display: inline-block; background: var(--moji-ink) !important; color: #fff !important;
	font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-size: 13px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase; padding: 16px 40px; border-radius: 0; border: 0;
	transition: background .2s; cursor: pointer;
}
.woocommerce a.moji-enquiry-btn:hover,
.woocommerce a.button.moji-enquiry-btn:hover,
.woocommerce a.button.alt.moji-enquiry-btn:hover,
.woocommerce div.product a.moji-enquiry-btn:hover { background: var(--moji-gold) !important; }

/* 详情页标签 */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 48px 0 0; border-bottom: 1px solid var(--moji-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none; border: 0; border-bottom: 2px solid transparent; margin: 0 24px 0 0; padding: 0 0 12px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--moji-gold); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-size: 14px; font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase; color: var(--moji-ink); padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }
/* 桌面端标签居中：flex 行、可换行、左右对称间距，保留 active 下划线 */
@media (min-width: 769px) {
	.woocommerce div.product .woocommerce-tabs ul.tabs {
		display: flex; flex-wrap: wrap; justify-content: center;
	}
	body.woocommerce div.product .woocommerce-tabs ul.tabs,
	body.woocommerce-page div.product .woocommerce-tabs ul.tabs { padding-left: 0; padding-right: 0; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 12px; }
}
.woocommerce div.product .woocommerce-Tabs-panel h2 { font-family: 'Prata', 'Noto Serif SC', serif; font-weight: 400; }
.woocommerce div.product .woocommerce-Tabs-panel p,
.woocommerce div.product .woocommerce-Tabs-panel li { font-family: 'Lato', 'Noto Sans SC', sans-serif; color: #444; line-height: 1.7; }

/* 相关产品标题 */
.woocommerce .related > h2, .woocommerce .up-sells > h2 {
	font-family: 'Prata', 'Noto Serif SC', serif; font-weight: 400; font-size: 26px; margin: 56px 0 28px;
}

/* ---------- 商城响应式：网格 4/3/2/1，详情页 <=768 收拢为单列 ---------- */
@media (max-width: 1024px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); padding: 0 16px 32px; }
	body.woocommerce ul.products,
	body.woocommerce-page ul.products { padding-left: 16px; padding-right: 16px; }
	.woocommerce div.product { grid-template-columns: 1fr; gap: 32px; padding: 0 16px; }
	body.woocommerce div.product.entry-content-wrap,
	body.woocommerce-page div.product.entry-content-wrap { padding-left: 16px !important; padding-right: 16px !important; }
	body.woocommerce .kadence-shop-top-row,
	body.woocommerce-page .kadence-shop-top-row { padding-left: 16px; padding-right: 16px; }
	body.woocommerce .kadence-breadcrumb-container,
	body.woocommerce-page .kadence-breadcrumb-container { padding-left: 16px; padding-right: 16px; }
	.woocommerce .woocommerce-products-header { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 480px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: 1fr; }
	.woocommerce div.product .product_title { font-size: 28px; }
	.woocommerce div.product .summary a.moji-enquiry-btn,
	.woocommerce div.product .summary a.button.alt.moji-enquiry-btn {
		display: block; width: 100%; text-align: center;
	}
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
	.moji-nav, .moji-header__enquiry, .moji-header__brand { display: none; }
	.moji-header__toggle { display: flex; }
	.moji-header__logo { margin: 0 auto; }
	.moji-header__bar { justify-content: space-between; }
	.moji-lang__menu { right: 0; }
	.moji-drawer__lang { display: flex; gap: 10px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--moji-line); }
	.moji-drawer__langopt { font-family: 'Mulish', 'Noto Sans SC', sans-serif; font-size: 14px; font-weight: 600; padding: 8px 14px; border: 1px solid var(--moji-line); }
	.moji-drawer__langopt.is-active { background: var(--moji-gold); color: #fff; border-color: var(--moji-gold); }

	.moji-drawer { display: block; position: fixed; inset: 0; z-index: 999; visibility: hidden; }
	.moji-drawer.is-open { visibility: visible; }
	.moji-drawer::before {
		content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.5);
		opacity: 0; transition: opacity .25s;
	}
	.moji-drawer.is-open::before { opacity: 1; }
	.moji-drawer__panel {
		position: absolute; top: 0; right: 0; bottom: 0; width: min(360px, 86vw);
		background: #fff; padding: 64px 24px 28px; overflow-y: auto;
		transform: translateX(100%); transition: transform .3s ease;
	}
	.moji-drawer.is-open .moji-drawer__panel { transform: translateX(0); }
	.moji-drawer__close {
		position: absolute; top: 10px; right: 14px;
		width: 44px; height: 44px; min-width: 44px; min-height: 44px;
		display: inline-flex; align-items: center; justify-content: center;
		background: none; border: 0; cursor: pointer;
		font-size: 30px; line-height: 1; color: var(--moji-muted);
	}
	.moji-drawer__close:hover { color: var(--moji-ink); }
	.moji-drawer__close:focus-visible { outline: 2px solid var(--moji-gold); outline-offset: 2px; }
	.moji-drawer__link { display: block; font-family: 'Mulish', 'Noto Sans SC', sans-serif; text-transform: uppercase; letter-spacing: .1em; font-size: 15px; padding: 14px 0; border-bottom: 1px solid var(--moji-line); }
	.moji-drawer__group { padding: 8px 0; }
	.moji-drawer__grouptitle { display: block; font-family: 'Mulish', 'Noto Sans SC', sans-serif; text-transform: uppercase; letter-spacing: .1em; font-size: 15px; padding: 14px 0 8px; color: var(--moji-muted); }
	.moji-drawer__sub { display: block; font-family: 'Prata', 'Noto Serif SC', serif; font-size: 16px; padding: 10px 0 4px; }
	.moji-drawer__leaf { display: block; font-size: 14px; color: var(--moji-muted); padding: 6px 0 6px 14px; }

	.moji-mega__inner { grid-template-columns: repeat(2, 1fr); }
	.moji-footer__inner { grid-template-columns: 1fr; gap: 36px; }
	.moji-footer__nav { grid-template-columns: repeat(2, 1fr); }
	.moji-usp__inner { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
	.moji-hero__track { height: 100vh; min-height: 460px; }
	.moji-hero__caption { padding: 0 24px; bottom: 12%; }
	.moji-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.moji-section { padding-top: 48px; }
	.moji-section__title { font-size: 26px; }
	.moji-usp__inner { grid-template-columns: 1fr; }
	.moji-form__row { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Reduced motion：移除非必要动效，保留开合可见性与焦点提示
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.moji-header,
	.moji-header__brand,
	.moji-header--transparent::before,
	.moji-header--transparent .moji-header__logo img,
	.moji-btn,
	.moji-header__enquiry,
	.moji-nav__item > a,
	.moji-mega__list a,
	.moji-footer__social a,
	.moji-header__toggle span {
		transition: none;
	}
	.moji-hero__slide { transition: none; }
	.moji-lang__menu,
	.moji-mega {
		transition: opacity .01ms, visibility .01ms;
		transform: none;
	}
	.moji-lang.is-open .moji-lang__menu,
	.moji-nav__item--has-mega:hover .moji-mega,
	.moji-nav__item--has-mega.is-open .moji-mega { transform: none; }
	.moji-drawer::before { transition: none; }
	.moji-drawer__panel {
		transition: visibility .01ms;
		transform: translateX(100%);
	}
	.moji-drawer.is-open .moji-drawer__panel { transform: translateX(0); }
	.moji-grid__item,
	.moji-grid__frame img,
	.woocommerce ul.products li.product a img,
	.moji-enquiry-btn,
	.moji-modal__close {
		transition: none;
	}
	.moji-grid__item:hover { transform: none; }
	.moji-grid__item:hover .moji-grid__frame img,
	.woocommerce ul.products li.product:hover a img { transform: none; }
	body.woocommerce ul.products li.product .product-details,
	body.woocommerce-page ul.products li.product .product-details {
		transition: none !important;
		transform: none !important;
	}
	body.woocommerce ul.products li.product:hover .product-details,
	body.woocommerce-page ul.products li.product:hover .product-details { transform: none !important; }
	body.woocommerce ul.products li.product .product-action-wrap,
	body.woocommerce-page ul.products li.product .product-action-wrap { transition: none !important; }
	.woocommerce a.moji-enquiry-btn,
	.woocommerce a.button.moji-enquiry-btn,
	.woocommerce a.button.alt.moji-enquiry-btn,
	.woocommerce div.product a.moji-enquiry-btn { transition: none !important; }
}
