/* =========================================================================
   Boho Store — Vesper Mesa 波西米亚 / 西部电商主题主样式表
   ========================================================================= */

/* ---------------------------------------------------------------- 变量 */
:root {
	/* 色板 */
	--boho-cream:        #F6F0E6;
	--boho-cream-2:      #EDE1CF;
	--boho-sand:         #DCC9A7;
	--boho-charcoal:     #26221E;
	--boho-charcoal-2:   #3B3128;
	--boho-brown:        #705945;
	--boho-brown-soft:   #A18B70;
	--boho-turquoise:    #277F7B;
	--boho-turquoise-dk: #185E5A;
	--boho-gold:         #B58845;
	--boho-gold-soft:    #DFC38A;
	--boho-line:         rgba(38, 34, 30, 0.15);
	--boho-white:        #FFFDF8;

	/* 字体：使用跨平台的高质感衬线 + 人文无衬线组合，不依赖外部字体请求。 */
	--font-display: "Bodoni 72", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, "Times New Roman", "Songti SC", serif;
	--font-body: "Avenir Next", "Segoe UI", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
	--font-ui: "Avenir Next", "Segoe UI", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;

	/* 尺度 */
	--boho-container: 1320px;
	--boho-container-narrow: 920px;
	--boho-radius: 0;
	--boho-radius-lg: 4px;
	--boho-gap: 30px;
	--boho-space: 96px;
	--boho-shadow: 0 22px 54px -28px rgba(38, 34, 30, 0.38);
	--boho-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ---------------------------------------------------------------- 重置 */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background-color: var(--boho-cream);
	color: var(--boho-charcoal);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	letter-spacing: 0.012em;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

a { color: var(--boho-charcoal); text-decoration: none; transition: color .25s var(--boho-ease), opacity .25s var(--boho-ease); }
a:hover { color: var(--boho-turquoise); }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	font-weight: 500;
	line-height: 1.15;
	margin: 0 0 .6em;
	letter-spacing: 0.015em;
}

h1 { font-size: clamp(2.4rem, 6vw, 4.6rem); }
h2 { font-size: clamp(1.9rem, 4.2vw, 3rem); }
h3 { font-size: clamp(1.15rem, 2vw, 1.5rem); }

p { margin: 0 0 1.1em; }

blockquote { margin: 0; }

button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}
.skip-link:focus {
	position: fixed; top: 12px; left: 12px; z-index: 9999;
	width: auto; height: auto; clip-path: none;
	background: var(--boho-charcoal); color: var(--boho-white);
	padding: 12px 20px;
}

/* ---------------------------------------------------------------- 布局 */
.boho-container {
	width: 100%;
	max-width: var(--boho-container);
	margin: 0 auto;
	padding: 0 28px;
}

.boho-section { padding: var(--boho-space) 0; }
.boho-section--tight { padding: 56px 0; }
.boho-section--sand { background: var(--boho-cream-2); }
.boho-section--dark { background: var(--boho-charcoal); color: var(--boho-cream); }
.boho-section--dark a { color: var(--boho-cream); }

/* ---------------------------------------------------------------- 公告条 */
.boho-announce {
	background: var(--boho-charcoal);
	color: var(--boho-cream);
	text-align: center;
	font-family: var(--font-ui);
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 11px 18px;
}
.boho-announce a { color: var(--boho-cream); }
.boho-announce a:hover { color: var(--boho-gold-soft); }

/* ---------------------------------------------------------------- 页头 */
.boho-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: rgba(244, 237, 225, 0.94);
	backdrop-filter: saturate(140%) blur(10px);
	border-bottom: 1px solid var(--boho-line);
}

.boho-header__inner {
	max-width: var(--boho-container);
	margin: 0 auto;
	padding: 16px 28px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 20px;
}

.boho-header__brand { text-align: center; }

.boho-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--boho-charcoal); }
.boho-logo:hover { color: var(--boho-charcoal); opacity: .88; }
.boho-logo__mark { width: 42px; height: 42px; color: var(--boho-turquoise); flex: 0 0 auto; }
.boho-logo__mark svg { width: 100%; height: 100%; }
.boho-logo__text { display: flex; flex-direction: column; line-height: 1.08; text-align: left; }
.boho-logo__name {
	font-family: var(--font-display);
	font-size: clamp(1.28rem, 2.4vw, 1.82rem);
	letter-spacing: 0.17em;
	text-transform: uppercase;
	white-space: nowrap;
}
.boho-logo__tag {
	font-family: var(--font-ui);
	font-size: 8.5px;
	font-weight: 600;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--boho-brown-soft);
	margin-top: 6px;
}

.boho-nav { justify-self: start; }
.boho-menu {
	display: flex;
	align-items: center;
	gap: 30px;
	list-style: none;
	margin: 0; padding: 0;
}
.boho-menu > li { position: relative; }
.boho-menu a {
	font-family: var(--font-ui);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--boho-charcoal-2);
	padding: 8px 0;
	display: inline-block;
}
.boho-menu a::after {
	content: "";
	display: block;
	height: 1px;
	width: 0;
	background: var(--boho-gold);
	transition: width .3s var(--boho-ease);
}
.boho-menu a:hover::after,
.boho-menu .current-menu-item > a::after { width: 100%; }
.boho-menu .current-menu-item > a { color: var(--boho-turquoise); }

/* 下拉子菜单 */
.boho-menu .sub-menu {
	position: absolute; top: 100%; left: 50%;
	transform: translateX(-50%) translateY(8px);
	min-width: 210px;
	background: var(--boho-white);
	border: 1px solid var(--boho-line);
	box-shadow: var(--boho-shadow);
	list-style: none;
	margin: 14px 0 0; padding: 12px 0;
	opacity: 0; visibility: hidden;
	transition: all .25s var(--boho-ease);
}
.boho-menu li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.boho-menu .sub-menu a { padding: 9px 22px; display: block; letter-spacing: .08em; }

.boho-header__actions { justify-self: end; display: flex; align-items: center; gap: 6px; }
.boho-icon-btn {
	position: relative;
	width: 40px; height: 40px;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--boho-charcoal-2);
	border-radius: 50%;
	transition: background .25s var(--boho-ease), color .25s var(--boho-ease);
}
.boho-icon-btn svg { width: 20px; height: 20px; }
.boho-icon-btn:hover { background: rgba(46, 139, 132, 0.1); color: var(--boho-turquoise); }
.boho-cart-count {
	position: absolute; top: 4px; right: 3px;
	min-width: 17px; height: 17px; padding: 0 4px;
	background: var(--boho-turquoise); color: #fff;
	font-size: 10px; line-height: 17px; text-align: center;
	border-radius: 50%;
}

.boho-nav-toggle { display: none; flex-direction: column; gap: 5px; width: 40px; height: 40px; align-items: center; justify-content: center; }
.boho-nav-toggle__bar { width: 22px; height: 1.5px; background: var(--boho-charcoal); display: block; transition: .3s var(--boho-ease); }

.boho-search-panel { border-top: 1px solid var(--boho-line); background: var(--boho-white); padding: 22px 0; }
.boho-search-panel .search-form { display: flex; gap: 12px; max-width: 640px; margin: 0 auto; }
.boho-search-panel input[type="search"] {
	flex: 1; padding: 14px 18px;
	border: 1px solid var(--boho-line);
	background: var(--boho-cream);
}
.boho-search-panel input[type="submit"] {
	padding: 14px 26px; background: var(--boho-charcoal); color: var(--boho-cream);
	border: 0; letter-spacing: .14em; text-transform: uppercase; font-size: 11px; cursor: pointer;
}

/* ---------------------------------------------------------------- 按钮 */
.boho-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	font-family: var(--font-ui);
	font-size: 11px; font-weight: 600;
	letter-spacing: 0.2em; text-transform: uppercase;
	padding: 16px 34px;
	border: 1px solid var(--boho-charcoal);
	background: transparent;
	color: var(--boho-charcoal);
	border-radius: var(--boho-radius);
	cursor: pointer;
	transition: all .3s var(--boho-ease);
}
.boho-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--boho-charcoal);
	color: var(--boho-cream);
}
.boho-btn--solid,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	background: var(--boho-charcoal);
	color: var(--boho-cream);
}
.boho-btn--solid:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--boho-turquoise); border-color: var(--boho-turquoise); color: #fff; }
.boho-btn--ghost-light { border-color: rgba(244,237,225,.7); color: var(--boho-cream); }
.boho-btn--ghost-light:hover { background: var(--boho-cream); color: var(--boho-charcoal); border-color: var(--boho-cream); }

.boho-btn svg { width: 16px; height: 16px; }

/* ---------------------------------------------------------------- 区块标题 */
.boho-heading { text-align: center; max-width: 760px; margin: 0 auto 48px; }
.boho-heading__eyebrow {
	font-family: var(--font-ui);
	font-size: 10px; letter-spacing: 0.36em; text-transform: uppercase;
	color: var(--boho-gold); margin-bottom: 16px;
}
.boho-heading__title { margin: 0 0 12px; text-transform: uppercase; letter-spacing: 0.06em; }
.boho-heading__sub { color: var(--boho-brown); font-size: 15px; margin: 0; }
.boho-ornament {
	display: block; width: 132px; height: 12px;
	margin: 18px auto 0; color: var(--boho-gold);
}
.boho-ornament svg { width: 100%; height: 100%; }
.boho-section--dark .boho-heading__sub { color: var(--boho-sand); }

/* ---------------------------------------------------------------- Hero */
.boho-hero {
	position: relative;
	min-height: clamp(560px, 78vh, 820px);
	display: grid;
	place-items: center;
	overflow: hidden;
	background:
		radial-gradient(120% 90% at 78% 18%, rgba(46,139,132,.34) 0%, rgba(46,139,132,0) 58%),
		radial-gradient(90% 70% at 12% 84%, rgba(176,138,70,.32) 0%, rgba(176,138,70,0) 60%),
		linear-gradient(160deg, #EAE0CE 0%, #D9C9AD 42%, #6E5C46 100%);
	color: var(--boho-cream);
	text-align: center;
}
.boho-hero__bg {
	position: absolute; inset: 0;
	background-size: cover; background-position: center 42%;
	opacity: .72;
	transform: scale(1.015);
}
.boho-hero--has-image .boho-hero__bg::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(38,34,30,.68) 0%, rgba(38,34,30,.24) 58%, rgba(38,34,30,.54) 100%), linear-gradient(180deg, rgba(38,34,30,.1) 0%, rgba(38,34,30,.62) 100%);
}
.boho-hero__inner { position: relative; z-index: 2; padding: 110px 28px; max-width: 980px; }
.boho-hero__eyebrow {
	font-family: var(--font-ui);
	font-size: 10px; letter-spacing: 0.4em; text-transform: uppercase;
	color: var(--boho-gold-soft); margin-bottom: 22px;
}
.boho-hero__title {
	font-size: clamp(2.8rem, 8vw, 6.4rem);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin: 0 0 22px;
	text-shadow: 0 2px 30px rgba(0,0,0,.24);
}
.boho-hero__sub {
	font-family: var(--font-display);
	font-size: clamp(1.05rem, 2.1vw, 1.5rem);
	font-style: italic;
	color: rgba(255,253,248,.94);
	margin: 0 0 38px;
}
.boho-hero .boho-ornament { color: var(--boho-gold-soft); margin-bottom: 34px; }

/* ---------------------------------------------------------------- 宝石系列 */
.boho-gems { position: relative; }
.boho-gems__scroller {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(210px, 1fr);
	gap: 20px;
	overflow-x: auto;
	padding-bottom: 18px;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}
.boho-gems__scroller::-webkit-scrollbar { height: 3px; }
.boho-gems__scroller::-webkit-scrollbar-thumb { background: var(--boho-sand); }

.boho-gem {
	position: relative;
	scroll-snap-align: start;
	display: block;
	overflow: hidden;
	background: var(--boho-charcoal-2);
	color: var(--boho-cream);
	aspect-ratio: 3 / 4;
}
.boho-gem__media { position: absolute; inset: 0; }
.boho-gem__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--boho-ease); }
.boho-gem__media--placeholder {
	background:
		radial-gradient(80% 60% at 30% 25%, rgba(46,139,132,.55), rgba(46,139,132,0) 70%),
		linear-gradient(150deg, #7C6A52, #3A332C);
}
.boho-gem::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(43,38,34,0) 40%, rgba(43,38,34,.82) 100%);
}
.boho-gem:hover .boho-gem__media img { transform: scale(1.07); }
.boho-gem__body { position: relative; z-index: 2; padding: 22px 20px; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
.boho-gem__name { font-family: var(--font-display); font-size: 1.4rem; margin: 0 0 6px; text-transform: uppercase; letter-spacing: .07em; }
.boho-gem__tagline { font-family: var(--font-ui); font-size: 9.5px; letter-spacing: .28em; text-transform: uppercase; color: var(--boho-gold-soft); }
.boho-gems__hint {
	text-align: center; font-family: var(--font-ui); font-size: 10px;
	letter-spacing: .3em; text-transform: uppercase; color: var(--boho-brown-soft);
	margin-top: 8px;
}

/* ---------------------------------------------------------------- 品类网格 */
.boho-cats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}
.boho-cat {
	position: relative;
	overflow: hidden;
	background: linear-gradient(150deg, #E6D9C1, #C9B48F);
	aspect-ratio: 4 / 5;
	color: var(--boho-cream);
}
.boho-cat:nth-child(1) { grid-row: span 2; aspect-ratio: auto; }
.boho-cat__media { position: absolute; inset: 0; }
.boho-cat__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--boho-ease); }
.boho-cat:hover .boho-cat__media img { transform: scale(1.06); }
.boho-cat::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(43,38,34,.06) 30%, rgba(43,38,34,.74) 100%);
}
.boho-cat__body { position: relative; z-index: 2; height: 100%; padding: 26px; display: flex; flex-direction: column; justify-content: flex-end; }
.boho-cat__name { font-family: var(--font-display); font-size: clamp(1.3rem, 2.4vw, 2rem); margin: 0 0 6px; text-transform: uppercase; letter-spacing: .08em; }
.boho-cat__tag { font-size: 13px; color: rgba(255,253,248,.86); margin: 0; }
.boho-cat__ornament { width: 74px; height: 9px; color: var(--boho-gold-soft); margin-bottom: 12px; }

/* ---------------------------------------------------------------- 收藏/故事横幅 */
.boho-story {
	display: grid;
	grid-template-columns: 1.15fr 1fr 1fr;
	gap: 4px;
	background: var(--boho-charcoal);
}
.boho-story__cell { position: relative; overflow: hidden; min-height: 340px; background: linear-gradient(150deg, #7C6A52, #3A332C); }
.boho-story__cell img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--boho-ease); }
.boho-story__cell:hover img { transform: scale(1.05); }

/* ---------------------------------------------------------------- 品牌理念 */
.boho-ethos { text-align: center; max-width: var(--boho-container-narrow); margin: 0 auto; }
.boho-ethos__eyebrow {
	font-family: var(--font-ui); font-size: 10px; letter-spacing: .4em;
	text-transform: uppercase; color: var(--boho-gold); margin-bottom: 18px;
}
.boho-ethos__title { text-transform: uppercase; letter-spacing: .08em; margin-bottom: 22px; }
.boho-ethos__text { font-family: var(--font-display); font-size: clamp(1.05rem, 1.9vw, 1.42rem); line-height: 1.7; color: var(--boho-brown); margin-bottom: 34px; }

/* ---------------------------------------------------------------- 工艺四步 */
.boho-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 34px;
	margin-top: 10px;
}
.boho-step__num {
	font-family: var(--font-ui); font-size: 10px; letter-spacing: .3em;
	text-transform: uppercase; color: var(--boho-turquoise); margin-bottom: 14px;
}
.boho-step__title { font-family: var(--font-display); font-size: 1.22rem; margin: 0 0 10px; }
.boho-step__desc { font-size: 14px; color: var(--boho-brown); margin: 0; }
.boho-step::before {
	content: ""; display: block; width: 42px; height: 1px;
	background: var(--boho-gold); margin-bottom: 18px;
}

/* ---------------------------------------------------------------- 商品网格 */
.boho-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 42px 24px; }

.boho-card { position: relative; display: flex; flex-direction: column; min-width: 0; }
.boho-card__media {
	position: relative; overflow: hidden;
	background: var(--boho-cream-2);
	aspect-ratio: 1 / 1;
	margin-bottom: 18px;
	border: 1px solid rgba(38,34,30,.08);
}
.boho-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--boho-ease); }
.boho-card:hover .boho-card__media img { transform: scale(1.06); }
.boho-card__badge {
	position: absolute; top: 12px; left: 12px; z-index: 3;
	background: var(--boho-turquoise); color: #fff;
	font-family: var(--font-ui); font-size: 9.5px; letter-spacing: .18em; text-transform: uppercase;
	padding: 6px 11px;
}
.boho-card__collection {
	font-family: var(--font-ui); font-size: 9px; font-weight: 600; letter-spacing: .24em;
	text-transform: uppercase; color: var(--boho-gold); margin-bottom: 9px;
}
.boho-card__title { font-family: var(--font-display); font-size: 1.1rem; margin: 0 0 9px; line-height: 1.34; letter-spacing: .025em; }
.boho-card__title a { color: var(--boho-charcoal); }
.boho-card__price { font-family: var(--font-ui); font-size: 13px; letter-spacing: .08em; color: var(--boho-charcoal-2); }
.boho-card__price del { color: var(--boho-brown-soft); margin-right: 8px; }
.boho-card__price ins { text-decoration: none; color: var(--boho-turquoise); font-weight: 600; }
.boho-card__cta { margin-top: 14px; }
.boho-card__cta .boho-btn { padding: 12px 22px; font-size: 10px; width: 100%; }

/* ---------------------------------------------------------------- WooCommerce 商品循环 */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px 24px; margin: 0; padding: 0; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
	width: 100% !important; margin: 0 !important; float: none !important;
	display: flex; flex-direction: column; text-align: left;
}
.woocommerce ul.products li.product a img {
	margin: 0 0 16px; aspect-ratio: 4 / 5; object-fit: cover;
	background: var(--boho-cream-2); transition: transform .7s var(--boho-ease);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-display) !important;
	font-size: 1.06rem !important;
	padding: 0 !important;
	color: var(--boho-charcoal);
}
.woocommerce ul.products li.product .price { font-family: var(--font-ui); font-size: 13px !important; color: var(--boho-charcoal-2) !important; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--boho-turquoise); }
.woocommerce ul.products li.product .button { margin-top: 14px; width: 100%; padding: 12px 22px; font-size: 10px; }

.woocommerce span.onsale {
	background: var(--boho-turquoise) !important;
	color: #fff !important;
	border-radius: 0 !important;
	font-family: var(--font-ui); font-size: 9.5px !important;
	letter-spacing: .18em; text-transform: uppercase;
	min-height: 0 !important; min-width: 0 !important;
	line-height: 1 !important; padding: 7px 11px !important;
	top: 12px !important; left: 12px !important; right: auto !important;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { font-family: var(--font-ui); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--boho-brown); }
.woocommerce .woocommerce-ordering select { padding: 8px 12px; border: 1px solid var(--boho-line); background: var(--boho-white); }

.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--boho-line); min-width: 40px; height: 40px; line-height: 38px;
	color: var(--boho-charcoal); background: transparent;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--boho-charcoal); color: var(--boho-cream); border-color: var(--boho-charcoal); }

/* --------------------------- WooCommerce 单品页 */
.boho-woo-main { padding: var(--boho-space) 0; }

.woocommerce div.product .product_title {
	font-family: var(--font-display);
	font-size: clamp(1.8rem, 3.4vw, 2.6rem);
	letter-spacing: .04em;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--boho-charcoal) !important;
	font-family: var(--font-ui);
	font-size: 1.4rem !important;
}
.woocommerce div.product p.price del { color: var(--boho-brown-soft) !important; }
.woocommerce div.product p.price ins { text-decoration: none; color: var(--boho-turquoise) !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 28px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--boho-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent !important; border: 0 !important; border-radius: 0 !important;
	margin: 0 !important; padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--font-ui); font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
	padding: 14px 20px !important; color: var(--boho-brown) !important; display: block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--boho-charcoal) !important; border-bottom: 1px solid var(--boho-charcoal); }

.woocommerce div.product form.cart div.quantity .qty,
.woocommerce .quantity input.qty {
	width: 76px; height: 48px; padding: 0 10px;
	border: 1px solid var(--boho-line); background: var(--boho-white);
}
.woocommerce div.product form.cart .button { padding: 15px 40px; }

.woocommerce div.product .product_meta { font-family: var(--font-ui); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--boho-brown); }
.woocommerce div.product .product_meta a { color: var(--boho-turquoise); }

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce #reviews #comments ol.commentlist li .meta { font-family: var(--font-display); }

.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"],
.woocommerce .woocommerce-Input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 1px solid var(--boho-line); background: var(--boho-white); padding: 13px 15px; border-radius: 0;
}

/* 购物车 / 结算 / 账户 */
.woocommerce table.shop_table { border: 1px solid var(--boho-line); border-radius: 0; border-collapse: collapse; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-top: 1px solid var(--boho-line); padding: 16px 14px; }
.woocommerce table.shop_table thead th {
	font-family: var(--font-ui); font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase;
	background: var(--boho-cream-2); color: var(--boho-brown);
}
.woocommerce .cart_totals h2,
.woocommerce #order_review_heading,
.woocommerce .woocommerce-order h2 { font-family: var(--font-display); letter-spacing: .05em; }
.woocommerce .cart-collaterals .cart_totals { background: var(--boho-cream-2); padding: 26px; }
.woocommerce-checkout #payment { background: var(--boho-cream-2); border-radius: 0; }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { border: 1px solid var(--boho-line); border-radius: 0; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--boho-turquoise);
	background: var(--boho-cream-2); color: var(--boho-charcoal);
	font-family: var(--font-ui); font-size: 13px;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--boho-turquoise); }

/* ---------------------------------------------------------------- 评价 */
.boho-reviews__track {
	display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 1fr);
	gap: 22px; overflow-x: auto; padding-bottom: 16px;
	scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
}
.boho-reviews__track::-webkit-scrollbar { height: 3px; }
.boho-reviews__track::-webkit-scrollbar-thumb { background: var(--boho-brown); }

.boho-review {
	scroll-snap-align: start;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(244,237,225,.16);
	padding: 32px 28px;
	display: flex; flex-direction: column; gap: 18px;
}
.boho-review__quote {
	font-family: var(--font-display); font-size: 1.06rem; line-height: 1.7;
	color: var(--boho-cream); margin: 0; font-style: italic;
}
.boho-review__quote::before { content: "\201C"; display: block; font-size: 2.6rem; line-height: .6; color: var(--boho-gold); margin-bottom: 10px; }
.boho-review__author { display: flex; align-items: center; gap: 14px; margin-top: auto; }
.boho-review__avatar {
	width: 42px; height: 42px; border-radius: 50%; flex: 0 0 auto;
	background: linear-gradient(140deg, var(--boho-turquoise), var(--boho-gold));
	color: #fff; display: grid; place-items: center;
	font-family: var(--font-display); font-size: 1rem;
}
.boho-review__name { font-family: var(--font-display); font-size: 1rem; margin: 0; color: var(--boho-cream); }
.boho-review__place { font-family: var(--font-ui); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--boho-gold-soft); }

/* ---------------------------------------------------------------- Instagram 墙 */
.boho-ig__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.boho-ig__item { position: relative; aspect-ratio: 1; overflow: hidden; background: linear-gradient(140deg, #D8C8AC, #A18B6C); display: block; }
.boho-ig__item::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,253,248,.18); pointer-events: none; }
.boho-ig__item:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.boho-ig__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--boho-ease), opacity .4s var(--boho-ease); }
.boho-ig__item:hover img { transform: scale(1.08); opacity: .85; }
.boho-ig__actions { display: flex; gap: 14px; justify-content: center; margin-top: 30px; }

/* ---------------------------------------------------------------- 信任徽章 */
.boho-badges { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.boho-badge { text-align: center; padding: 0 10px; }
.boho-badge__icon { width: 40px; height: 40px; margin: 0 auto 16px; color: var(--boho-turquoise); }
.boho-badge__icon svg { width: 100%; height: 100%; }
.boho-badge__title { font-family: var(--font-ui); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; margin: 0 0 10px; }
.boho-badge__desc { font-size: 13px; color: var(--boho-brown); margin: 0; }

/* ---------------------------------------------------------------- 页脚 */
.boho-footer { background: var(--boho-charcoal); color: var(--boho-cream); margin-top: 0; }
.boho-footer a { color: rgba(244,237,225,.82); }
.boho-footer a:hover { color: var(--boho-gold-soft); }

.boho-footer__ethos { background: var(--boho-charcoal-2); padding: 62px 0; text-align: center; border-bottom: 1px solid rgba(244,237,225,.1); }
.boho-footer__ethos-inner { max-width: 760px; }
.boho-footer__ethos-title { font-family: var(--font-display); font-size: clamp(1.3rem, 2.6vw, 2rem); letter-spacing: .12em; text-transform: uppercase; margin: 0 0 18px; color: var(--boho-cream); }
.boho-footer__ethos p { color: rgba(244,237,225,.72); font-size: 14px; margin: 0; }

.boho-footer__grid {
	display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
	gap: 40px;
	padding: 66px 0 50px;
}
.boho-footer__title {
	font-family: var(--font-ui); font-size: 10.5px; letter-spacing: .26em;
	text-transform: uppercase; color: var(--boho-gold); margin: 0 0 20px;
}
.boho-logo--footer { display: inline-flex; margin-bottom: 16px; }
.boho-logo--footer .boho-logo__mark { color: var(--boho-gold-soft); }
.boho-logo--footer .boho-logo__name { color: var(--boho-cream); }
.boho-logo--footer .boho-logo__tag { color: rgba(244,237,225,.58); }
.boho-footer__blurb { font-size: 13.5px; color: rgba(244,237,225,.66); max-width: 300px; }
.boho-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.boho-footer__menu a { font-size: 13.5px; }
.boho-footer__social { display: flex; gap: 18px; margin-top: 20px; }
.boho-footer__social a { font-family: var(--font-ui); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }

.boho-newsletter { display: flex; border-bottom: 1px solid rgba(244,237,225,.34); max-width: 320px; }
.boho-newsletter input[type="email"] {
	flex: 1; background: transparent; border: 0; padding: 12px 4px; color: var(--boho-cream); font-size: 13.5px;
}
.boho-newsletter input[type="email"]::placeholder { color: rgba(244,237,225,.42); }
.boho-newsletter input[type="email"]:focus { outline: none; }
.boho-newsletter button { color: var(--boho-gold); padding: 10px 6px; }
.boho-newsletter button svg { width: 20px; height: 20px; }

.boho-footer__bottom {
	display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
	border-top: 1px solid rgba(244,237,225,.1);
	padding: 24px 0 34px;
}
.boho-footer__copy { margin: 0; font-size: 12px; color: rgba(244,237,225,.5); }
.boho-footer__pay { list-style: none; display: flex; gap: 16px; margin: 0; padding: 0; }
.boho-footer__pay li {
	font-family: var(--font-ui); font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase;
	color: rgba(244,237,225,.44); border: 1px solid rgba(244,237,225,.18); padding: 5px 10px;
}

/* ---------------------------------------------------------------- 归档 / 文章 */
.boho-page-head { padding: 56px 0 10px; text-align: center; }
.boho-page-head h1 { margin: 0; text-transform: uppercase; letter-spacing: .07em; }
.boho-breadcrumb { font-family: var(--font-ui); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--boho-brown); margin-bottom: 16px; }
.boho-breadcrumb a { color: var(--boho-brown); }
.boho-breadcrumb a:hover { color: var(--boho-turquoise); }
.crumb-sep { color: var(--boho-brown-soft); }

.boho-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; padding: var(--boho-space) 0; }
.boho-layout--none { grid-template-columns: minmax(0, 1fr); max-width: var(--boho-container-narrow); }
.boho-layout--none .boho-sidebar { display: none; }

.boho-entry { border-bottom: 1px solid var(--boho-line); padding-bottom: 46px; margin-bottom: 46px; }
.boho-entry:last-child { border-bottom: 0; margin-bottom: 0; }
.boho-entry__meta { font-family: var(--font-ui); font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--boho-brown-soft); margin-bottom: 14px; }
.boho-entry__title { font-size: clamp(1.5rem, 2.6vw, 2rem); margin-bottom: 16px; }
.boho-entry__thumb { margin-bottom: 24px; }
.boho-entry__thumb img { width: 100%; }
.boho-entry__content { font-size: 16.5px; }
.boho-entry__content a { color: var(--boho-turquoise); text-decoration: underline; text-underline-offset: 3px; }
.boho-entry__content img,
.woocommerce-product-details__short-description img { margin: 20px 0; }

.boho-sidebar .widget { margin-bottom: 38px; }
.boho-sidebar .widget-title { font-family: var(--font-ui); font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--boho-gold); margin-bottom: 16px; }
.boho-sidebar ul { list-style: none; margin: 0; padding: 0; }
.boho-sidebar li { padding: 9px 0; border-bottom: 1px solid var(--boho-line); font-size: 14px; }

.boho-posts-nav { display: flex; justify-content: space-between; gap: 20px; padding: 40px 0 0; font-family: var(--font-ui); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }

/* 评论 */
.comment-list { list-style: none; margin: 0; padding: 0; }
.comment-list .comment-body { border: 1px solid var(--boho-line); background: var(--boho-white); padding: 22px; margin-bottom: 18px; }
.comment-list .children { list-style: none; margin: 0 0 0 34px; padding: 0; }
.comment-reply-title, .comments-title { font-family: var(--font-display); font-size: 1.3rem; letter-spacing: .05em; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea { width: 100%; border: 1px solid var(--boho-line); background: var(--boho-white); padding: 13px 15px; }
.comment-form input[type="submit"] {
	background: var(--boho-charcoal); color: var(--boho-cream); border: 0;
	padding: 15px 38px; font-family: var(--font-ui); font-size: 11px; letter-spacing: .2em;
	text-transform: uppercase; cursor: pointer;
}

/* 404 / 搜索无结果 */
.boho-empty { text-align: center; padding: 70px 0; }
.boho-empty h1 { font-size: clamp(2rem, 4vw, 3rem); }
.boho-empty .search-form { max-width: 520px; margin: 28px auto 0; display: flex; gap: 10px; }
.boho-empty input[type="search"] { flex: 1; border: 1px solid var(--boho-line); background: var(--boho-white); padding: 14px 18px; }
.boho-empty input[type="submit"] { background: var(--boho-charcoal); color: var(--boho-cream); border: 0; padding: 14px 26px; cursor: pointer; letter-spacing: .16em; text-transform: uppercase; font-size: 11px; }

/* ---------------------------------------------------------------- 响应式 */
@media (max-width: 1100px) {
	.boho-products,
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
	.boho-footer__grid { grid-template-columns: 1.4fr 1fr 1.2fr; }
	.boho-footer__grid .boho-footer__col:last-child { grid-column: span 3; }
	.boho-steps { grid-template-columns: repeat(2, 1fr); gap: 34px 26px; }
	.boho-ig__grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 900px) {
	:root { --boho-space: 62px; }

	.boho-header__inner { grid-template-columns: auto 1fr auto; padding: 14px 20px; }
	.boho-nav-toggle { display: flex; }
	.boho-nav {
		position: fixed; inset: 0 32% 0 0;
		background: var(--boho-white);
		padding: 96px 28px 28px;
		transform: translateX(-102%);
		transition: transform .38s var(--boho-ease);
		box-shadow: var(--boho-shadow);
		overflow-y: auto;
		z-index: 300;
		justify-self: stretch;
	}
	.boho-nav.is-open { transform: translateX(0); }
	.boho-menu { flex-direction: column; align-items: flex-start; gap: 4px; }
	.boho-menu a { font-size: 14px; padding: 12px 0; width: 100%; }
	.boho-menu .sub-menu {
		position: static; transform: none; opacity: 1; visibility: visible;
		box-shadow: none; border: 0; background: transparent; padding: 0 0 0 16px; margin: 0;
	}
	.boho-menu .sub-menu a { padding: 8px 0; }

	.boho-layout, .boho-layout--none { grid-template-columns: 1fr; gap: 40px; }
	.boho-cats { grid-template-columns: repeat(2, 1fr); }
	.boho-cat:nth-child(1) { grid-row: span 1; aspect-ratio: 4 / 5; }
	.boho-story { grid-template-columns: 1fr; }
	.boho-story__cell { min-height: 240px; }
	.boho-badges { grid-template-columns: repeat(2, 1fr); gap: 30px 20px; }
}

@media (max-width: 640px) {
	:root { --boho-space: 50px; --boho-gap: 18px; }

	.boho-container { padding: 0 18px; }
	.boho-hero { min-height: 70vh; }
	.boho-hero__inner { padding: 76px 18px; }
	.boho-logo__mark { width: 36px; height: 36px; }
	.boho-logo__name { font-size: 1.18rem; letter-spacing: .12em; }

	.boho-products,
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 28px 14px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .95rem !important; }

	.boho-cats { grid-template-columns: 1fr; }
	.boho-steps { grid-template-columns: 1fr; }
	.boho-gems__scroller { grid-auto-columns: 76%; }
	.boho-reviews__track { grid-auto-columns: 88%; }
	.boho-ig__grid { grid-template-columns: repeat(3, 1fr); }
	.boho-badges { grid-template-columns: 1fr; }

	.boho-footer__grid { grid-template-columns: 1fr; padding: 46px 0 30px; gap: 34px; }
	.boho-footer__grid .boho-footer__col:last-child { grid-column: span 1; }
	.boho-footer__bottom { flex-direction: column; align-items: flex-start; }
	.boho-nav { inset: 0 12% 0 0; }

	.boho-btn, .woocommerce a.button { padding: 14px 26px; }
}

/* 打印 */
@media print {
	.boho-header, .boho-footer, .boho-announce { display: none; }
	body { background: #fff; }
}