/**
 * DIAMLUME — 搜索默认展开界面 / 搜索结果页 / 登录页 / 右侧购物袋抽屉
 * 对应执行要求 第十一、十二、十三、十五、十六节（CSS px，桌面基准 1440）
 */

:root {
	--shoushi-ink: #1C1A17;
	--shoushi-warm: #F7F4EF;
	--shoushi-bag-bg: #FAF9F6;
	--shoushi-line: #DDD8D0;
	--shoushi-mask: rgba(28, 26, 23, 0.35);
}

html.shoushi-scroll-lock,
html.shoushi-scroll-lock body {
	overflow: hidden;
}

.shoushi-sr-only {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}

/* ============================================================
   一、搜索默认展开面板（第十二节）
   ============================================================ */
.shoushi-searchpanel {
	position: fixed;
	inset: 0;
	z-index: 1200;
	visibility: hidden;
	pointer-events: none;
}
.shoushi-searchpanel.is-open {
	visibility: visible;
	pointer-events: auto;
}
.shoushi-searchpanel-mask {
	position: absolute;
	inset: 0;
	background: var(--shoushi-mask);
	opacity: 0;
	transition: opacity 200ms ease;
}
.shoushi-searchpanel.is-open .shoushi-searchpanel-mask { opacity: 1; }

.shoushi-searchpanel-box {
	position: absolute;
	left: 0; right: 0;
	top: var(--shoushi-hdr-h, 118px);
	max-height: calc(100vh - var(--shoushi-hdr-h, 118px));
	overflow-y: auto;
	background: #FFFFFF;
	padding: 36px 40px 48px;
	transform: translateY(-12px);
	opacity: 0;
	transition: transform 220ms ease, opacity 220ms ease;
}
.shoushi-searchpanel.is-open .shoushi-searchpanel-box {
	transform: translateY(0);
	opacity: 1;
}

.shoushi-searchpanel-close {
	position: absolute;
	top: 18px; right: 24px;
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	background: none; border: 0; cursor: pointer;
	color: var(--shoushi-ink);
}
.shoushi-searchpanel-close svg { width: 20px; height: 20px; }

.shoushi-searchpanel-title {
	margin: 0 0 20px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-style: normal;
	font-size: 30px;
	line-height: 36px;
	letter-spacing: 0.01em;
	color: var(--shoushi-ink);
}

.shoushi-searchpanel-form {
	position: relative;
	max-width: 980px;
}
.shoushi-searchpanel-input {
	width: 100%;
	height: 52px;
	padding: 0 56px 0 18px;
	background: var(--shoushi-warm);
	border: 1px solid var(--shoushi-line);
	border-radius: 0;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 22px;
	color: var(--shoushi-ink);
	outline: none;
}
.shoushi-searchpanel-input::placeholder { color: #8C867E; }
.shoushi-searchpanel-input:focus {
	border-color: var(--shoushi-ink);
	box-shadow: 0 0 0 2px rgba(28, 26, 23, 0.08);
}
.shoushi-searchpanel.is-warn .shoushi-searchpanel-input {
	border-color: #B4472F;
}
.shoushi-searchpanel-submit {
	position: absolute;
	top: 0; right: 0;
	width: 52px; height: 52px;
	display: flex; align-items: center; justify-content: center;
	background: none; border: 0; cursor: pointer;
	color: var(--shoushi-ink);
}
.shoushi-searchpanel-submit svg { width: 20px; height: 20px; }

.shoushi-searchpanel-body {
	display: grid;
	grid-template-columns: minmax(240px, 1fr) minmax(0, 1.35fr);
	gap: 56px;
	margin-top: 40px;
	max-width: 980px;
}

.shoushi-searchpanel-links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}
.shoushi-searchpanel-grouptitle {
	margin: 0 0 14px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 600;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0.14em;
	color: #6E6862;
	text-transform: uppercase;
}
.shoushi-searchpanel-group ul,
.shoushi-searchpanel-group li {
	list-style: none;
	margin: 0; padding: 0;
}
.shoushi-searchpanel-group li + li { margin-top: 10px; }
.shoushi-searchpanel-group a {
	display: inline-block;
	min-height: 22px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
	color: var(--shoushi-ink);
	text-decoration: none;
}
.shoushi-searchpanel-group a:hover { text-decoration: underline; }

.shoushi-searchpanel-grid {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}
.shoushi-searchpanel-card {
	display: block;
	text-decoration: none;
	color: var(--shoushi-ink);
}
.shoushi-searchpanel-thumb {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--shoushi-warm);
}
.shoushi-searchpanel-thumb img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	transition: none;
}
.shoushi-searchpanel-cardname {
	display: block;
	margin-top: 10px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 22px;
}
.shoushi-searchpanel-cardprice {
	display: block;
	margin-top: 2px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: #55504A;
}

/* ============================================================
   二、搜索结果页（第十一节）
   ============================================================ */
.shoushi-searchpage {
	max-width: 1320px;
	margin: 0 auto;
	padding: 36px 40px 80px;
}
.shoushi-searchpage-form {
	position: relative;
	max-width: 720px;
	margin: 0 auto 28px;
}
.shoushi-searchpage-input {
	width: 100%;
	height: 52px;
	padding: 0 56px 0 18px;
	background: var(--shoushi-warm);
	border: 1px solid var(--shoushi-line);
	border-radius: 0;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 16px;
	color: var(--shoushi-ink);
	outline: none;
}
.shoushi-searchpage-submit {
	position: absolute; top: 0; right: 0;
	width: 52px; height: 52px;
	background: none; border: 0; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	color: var(--shoushi-ink);
}
.shoushi-searchpage-submit svg { width: 20px; height: 20px; }

.shoushi-searchpage-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	justify-content: center;
	border-bottom: 1px solid var(--shoushi-line);
	padding-bottom: 12px;
	margin-bottom: 18px;
}
.shoushi-searchpage-tab {
	position: relative;
	padding: 4px 0;
	background: none; border: 0; cursor: pointer;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.06em;
	color: #6E6862;
	text-decoration: none;
}
.shoushi-searchpage-tab::after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: -13px;
	height: 1px;
	background: transparent;
}
.shoushi-searchpage-tab.is-active { color: var(--shoushi-ink); }
.shoushi-searchpage-tab.is-active::after { background: var(--shoushi-ink); }

.shoushi-searchpage-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: #55504A;
}
.shoushi-searchpage-count { letter-spacing: 0.02em; }
.shoushi-searchpage-sort {
	display: flex; align-items: center; gap: 8px;
}
.shoushi-searchpage-sort select,
.shoushi-searchpage-filter select {
	height: 44px;
	min-width: 160px;
	padding: 0 12px;
	background: #FFFFFF;
	border: 1px solid var(--shoushi-line);
	border-radius: 0;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
	color: var(--shoushi-ink);
}
.shoushi-searchpage-label {
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6E6862;
}

/* 商品网格：沿用分类页四列 */
.shoushi-searchpage-grid {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px 20px;
}
.shoushi-searchpage-card { display: block; text-decoration: none; color: var(--shoushi-ink); }
.shoushi-searchpage-card .shoushi-searchpage-imgwrap {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--shoushi-warm);
}
.shoushi-searchpage-card img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
}
.shoushi-searchpage-cardname {
	display: block;
	margin-top: 12px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 24px;
	line-height: 30px;
}
.shoushi-searchpage-cardprice {
	display: block;
	margin-top: 4px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 400;
	font-size: 22px;
	line-height: 28px;
}

/* 内容型结果（Collections / Guides & Pages / Journal） */
.shoushi-searchpage-list {
	list-style: none;
	margin: 0; padding: 0;
	border-top: 1px solid var(--shoushi-line);
}
.shoushi-searchpage-item {
	border-bottom: 1px solid var(--shoushi-line);
	padding: 20px 0;
}
.shoushi-searchpage-item a {
	display: block;
	text-decoration: none;
	color: var(--shoushi-ink);
}
.shoushi-searchpage-itemtitle {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 24px;
	line-height: 30px;
}
.shoushi-searchpage-itemdesc {
	margin-top: 6px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: #55504A;
}
.shoushi-searchpage-itemmeta {
	margin-top: 4px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 13px;
	line-height: 20px;
	color: #8C867E;
}

.shoushi-searchpage-empty {
	padding: 56px 0;
	text-align: center;
}
.shoushi-searchpage-emptytitle {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 30px;
	line-height: 36px;
	color: var(--shoushi-ink);
}
.shoushi-searchpage-emptysub {
	margin-top: 8px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: #55504A;
}
.shoushi-searchpage-emptyalt {
	display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
	margin-top: 24px;
}
.shoushi-searchpage-emptyalt a {
	padding: 10px 20px;
	border: 1px solid var(--shoushi-ink);
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: var(--shoushi-ink);
	text-decoration: none;
}

/* ============================================================
   三、右侧购物袋抽屉（第十五 / 十六节）
   ============================================================ */
.shoushi-bag {
	position: fixed;
	inset: 0;
	z-index: 1300;
	visibility: hidden;
	pointer-events: none;
}
.shoushi-bag.is-open { visibility: visible; pointer-events: auto; }

.shoushi-bag-mask {
	position: absolute; inset: 0;
	background: var(--shoushi-mask);
	opacity: 0;
	transition: opacity 220ms ease;
}
.shoushi-bag.is-open .shoushi-bag-mask { opacity: 1; }

.shoushi-bag-panel {
	position: absolute;
	top: 0; right: 0;
	width: 520px;
	max-width: 100vw;
	height: 100%;
	display: flex;
	flex-direction: column;
	background: var(--shoushi-bag-bg);
	color: var(--shoushi-ink);
	transform: translateX(100%);
	transition: transform 260ms ease;
}
.shoushi-bag.is-open .shoushi-bag-panel { transform: translateX(0); }

.shoushi-bag-head {
	position: relative;
	flex: 0 0 auto;
	padding: 28px 36px 16px;
	border-bottom: 1px solid var(--shoushi-line);
}
.shoushi-bag-title {
	margin: 0;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-weight: 400;
	font-size: 30px;
	line-height: 36px;
	color: var(--shoushi-ink);
}
.shoushi-bag-close {
	position: absolute;
	top: 20px; right: 24px;
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	background: none; border: 0; cursor: pointer;
	color: var(--shoushi-ink);
}
.shoushi-bag-close svg { width: 20px; height: 20px; }

.shoushi-bag-body {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

/* 空状态 */
.shoushi-bag-empty {
	flex: 0 0 auto;
	padding: 56px 36px;
	text-align: center;
}
.shoushi-bag-empty-title {
	margin: 0;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 24px;
	line-height: 32px;
	color: var(--shoushi-ink);
}
.shoushi-bag-empty-sub {
	margin: 8px 0 0;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: #55504A;
}
.shoushi-bag-empty .shoushi-bag-btn { margin-top: 28px; }

/* 已加购 */
.shoushi-bag-list {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	list-style: none;
	margin: 0;
	padding: 8px 36px 20px;
}
.shoushi-bag-row {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr) auto;
	gap: 16px;
	padding: 20px 0;
	border-bottom: 1px solid var(--shoushi-line);
}
.shoushi-bag-thumb {
	display: block;
	position: relative;
	width: 110px;
	height: 147px;
	overflow: hidden;
	background: #FFFFFF;
}
.shoushi-bag-thumb img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
}
.shoushi-bag-info { min-width: 0; }
.shoushi-bag-name {
	display: block;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: var(--shoushi-ink);
	text-decoration: none;
}
.shoushi-bag-meta {
	margin-top: 4px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 13px;
	line-height: 20px;
	color: #6E6862;
}
.shoushi-bag-meta dl, .shoushi-bag-meta dt, .shoushi-bag-meta dd {
	margin: 0; padding: 0;
	display: inline;
	font-size: 13px;
	line-height: 20px;
	font-weight: 400;
}
.shoushi-bag-meta dt::after { content: ': '; }
.shoushi-bag-meta dd::after { content: '; '; }
.shoushi-bag-meta dd:last-child::after { content: ''; }
.shoushi-bag-controls {
	display: flex; align-items: center; gap: 16px;
	margin-top: 12px;
}
.shoushi-bag-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--shoushi-line);
	background: #FFFFFF;
}
.shoushi-bag-qtybtn {
	width: 44px; height: 44px;
	background: none; border: 0; cursor: pointer;
	font-size: 16px; line-height: 1;
	color: var(--shoushi-ink);
}
.shoushi-bag-qtybtn[disabled] { color: #B9B3AB; cursor: not-allowed; }
.shoushi-bag-qtynum {
	min-width: 28px;
	text-align: center;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
}
.shoushi-bag-remove {
	min-height: 44px;
	padding: 0 2px;
	background: none; border: 0; cursor: pointer;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 13px;
	line-height: 20px;
	color: #6E6862;
	text-decoration: underline;
}
.shoushi-bag-lineprice {
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 22px;
	white-space: nowrap;
}

.shoushi-bag-foot {
	flex: 0 0 auto;
	padding: 20px 36px 28px;
	border-top: 1px solid var(--shoushi-line);
	background: var(--shoushi-bag-bg);
}
.shoushi-bag-subtotal {
	display: flex; align-items: baseline; justify-content: space-between;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: var(--shoushi-ink);
}
.shoushi-bag-subtotal-val { font-weight: 600; }
.shoushi-bag-note {
	margin: 6px 0 16px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 13px;
	line-height: 20px;
	color: #6E6862;
}
.shoushi-bag-btn {
	display: block;
	width: 100%;
	height: 52px;
	line-height: 52px;
	text-align: center;
	background: var(--shoushi-ink);
	color: #FFFFFF;
	border: 1px solid var(--shoushi-ink);
	border-radius: 0;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 2px;
	text-decoration: none;
	cursor: pointer;
}
.shoushi-bag-continue {
	display: block;
	width: 100%;
	min-height: 44px;
	margin-top: 12px;
	padding: 10px 0;
	background: none; border: 0; cursor: pointer;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
	color: var(--shoushi-ink);
	text-decoration: underline;
}

/* ============================================================
   三之二、登录页（第十三 / 十四节）
   纯白背景，无外框 / 卡片 / 底色 / 阴影；表单居中宽 430
   ============================================================ */
.shoushi-signin-main {
	background: #FFFFFF;
	padding: 100px 24px 80px;
}
.shoushi-signin-wrap {
	width: 430px;
	max-width: 430px;
	margin: 0 auto;
}
.shoushi-signin-title {
	margin: 0 0 12px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 400;
	font-size: 46px;
	line-height: 52px;
	color: #1C1A17;
}
.shoushi-signin-welcome {
	margin: 0 0 36px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
	color: #666666;
}
.shoushi-signin-field { margin-bottom: 20px; }
.shoushi-signin-field label {
	display: block;
	margin-bottom: 8px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 20px;
	color: #1C1A17;
}
.shoushi-signin-pwdwrap { position: relative; }
.shoushi-signin-form input[type="text"],
.shoushi-signin-form input[type="password"] {
	width: 100%;
	height: 52px;
	padding: 0 18px;
	background: #FFFFFF;
	border: 1px solid #C8C3BC;
	border-radius: 0;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
	color: #1C1A17;
	outline: none;
	box-shadow: none;
}
.shoushi-signin-pwdwrap input { padding-right: 56px; }
.shoushi-signin-form input:focus {
	border-color: #1C1A17;
	box-shadow: 0 0 0 2px rgba(28, 26, 23, 0.08);
}
.shoushi-signin-form input.is-invalid { border-color: #B4472F; }
.shoushi-signin-eye {
	position: absolute; top: 0; right: 0;
	width: 52px; height: 52px;
	display: flex; align-items: center; justify-content: center;
	background: none; border: 0; cursor: pointer;
	color: #55504A;
}
.shoushi-signin-eye svg { width: 20px; height: 20px; }
.shoushi-signin-err {
	min-height: 0;
	margin: 6px 0 0;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 13px;
	line-height: 20px;
	color: #B4472F;
}
.shoushi-signin-err:empty { display: none; }

.shoushi-signin-extras {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 26px;
}
.shoushi-signin-remember {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 20px;
	color: #1C1A17;
	cursor: pointer;
}
.shoushi-signin-remember input { width: 16px; height: 16px; }
.shoushi-signin-forgot {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 20px;
	color: #1C1A17;
	text-decoration: underline;
}
.shoushi-signin-btn {
	display: block;
	width: 100%;
	height: 52px;
	margin-top: 32px;
	background: #1C1A17;
	color: #FFFFFF;
	border: 0;
	border-radius: 0;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 3px;
	text-transform: uppercase;
	cursor: pointer;
}
.shoushi-signin-btn[disabled] { opacity: 0.65; cursor: default; }
.shoushi-signin-formerr {
	margin: 12px 0 0;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: #B4472F;
	text-align: left;
}
.shoushi-signin-formerr:empty { display: none; }
.shoushi-signin-register {
	margin: 24px 0 0;
	text-align: center;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: #1C1A17;
}
.shoushi-signin-register a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: #1C1A17;
	text-decoration: underline;
}
.shoushi-signin-policies {
	margin: 40px 0 0;
	text-align: center;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-size: 13px;
	line-height: 20px;
	color: #666666;
}
.shoushi-signin-policies a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 6px;
	color: #1C1A17;
	text-decoration: underline;
}

/* ============================================================
   四、响应式
   ============================================================ */
@media (max-width: 1024px) {
	.shoushi-searchpanel-body {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.shoushi-searchpage-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.shoushi-searchpanel-box {
		padding: 20px 20px 36px;
		max-height: calc(100vh - var(--shoushi-hdr-h, 108px));
	}
	.shoushi-searchpanel-title { font-size: 24px; line-height: 30px; }
	.shoushi-searchpanel-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}
	.shoushi-searchpanel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
	.shoushi-searchpanel-group a { min-height: 44px; display: flex; align-items: center; }

	.shoushi-searchpage { padding: 24px 20px 60px; }
	.shoushi-searchpage-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		justify-content: flex-start;
		gap: 20px;
		-webkit-overflow-scrolling: touch;
	}
	.shoushi-searchpage-tab { white-space: nowrap; }
	.shoushi-searchpage-meta { flex-direction: column; align-items: flex-start; gap: 12px; }
	.shoushi-searchpage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
	.shoushi-searchpage-cardname { font-size: 18px; line-height: 22px; }
	.shoushi-searchpage-cardprice { font-size: 18px; line-height: 24px; }
	.shoushi-searchpage-itemtitle { font-size: 20px; line-height: 26px; }

	/* 购物袋：手机全宽 */
	.shoushi-bag-panel { width: 100vw; }
	.shoushi-bag-head { padding: 20px 20px 14px; }
	.shoushi-bag-title { font-size: 26px; line-height: 32px; }
	.shoushi-bag-close { top: 12px; right: 8px; }
	.shoushi-bag-list { padding: 4px 20px 16px; }
	.shoushi-bag-row { grid-template-columns: 84px minmax(0, 1fr); gap: 12px; }
	.shoushi-bag-thumb { width: 84px; height: 112px; }
	.shoushi-bag-lineprice { grid-column: 2; }
	.shoushi-bag-foot { padding: 16px 20px 24px; }

	/* 登录页手机端 */
	.shoushi-signin-main { padding: 48px 24px 56px; }
	.shoushi-signin-wrap { width: auto; max-width: 430px; }
	.shoushi-signin-title { font-size: 36px; line-height: 42px; }
	.shoushi-signin-form input[type="text"],
	.shoushi-signin-form input[type="password"] { height: 52px; font-size: 16px; }
	.shoushi-signin-btn { height: 52px; }
	.shoushi-signin-extras { flex-wrap: wrap; gap: 8px 16px; }
}

/* ============================================================================
   P0-06 修复：搜索面板 / 搜索结果页 的「文字过浅」与「图片缺失」
   ----------------------------------------------------------------------------
   1) 文字过浅（根因：特异性竞争）
      body 带 .shoushi-kinn，而 kinnstudio.css 第 184 行有
        .shoushi-kinn a { color: #F7F3EC; }      → 特异性 (0,1,1) = 11
      本节此前写的
        .shoushi-searchpage-card { color: var(--shoushi-ink); }  → 特异性 (0,1,0) = 10
      于是卡片标题 / 价格被压成米白色，在米色背景上完全不可见。
      这里用 (0,2,0)=20 的选择器显式压回墨色 / 次级灰。
      （价格内部还有 WooCommerce 的 .woocommerce-Price-amount，一并锁定。）

   2) 图片缺失（根因：inline 元素不接受 width / aspect-ratio）
      .shoushi-searchpage-imgwrap 是 <span>，本节此前未声明 display，
      默认 display:inline ⇒ width:100% 与 aspect-ratio:3/4 全部失效，
      容器高度塌陷为 0，图片因 position:absolute 被裁掉 → 表现为「图片不显示」。

   3) 分类 Tab 未选中态同样被 .shoushi-kinn a 覆盖，一并压回 #6E6862。
   ============================================================================ */

.shoushi-kinn .shoushi-searchpage-card,
.shoushi-kinn .shoushi-searchpanel-card { color: #1C1A17; }

.shoushi-searchpage-card .shoushi-searchpage-cardname,
.shoushi-searchpanel-card .shoushi-searchpanel-cardname { color: #1C1A17; }

.shoushi-searchpage-card .shoushi-searchpage-cardprice,
.shoushi-searchpage-card .shoushi-searchpage-cardprice .woocommerce-Price-amount,
.shoushi-searchpage-card .shoushi-searchpage-cardprice .amount,
.shoushi-searchpage-card .shoushi-searchpage-cardprice bdi,
.shoushi-searchpanel-card .shoushi-searchpanel-cardprice,
.shoushi-searchpanel-card .shoushi-searchpanel-cardprice .woocommerce-Price-amount,
.shoushi-searchpanel-card .shoushi-searchpanel-cardprice bdi { color: #55504A; }

.shoushi-searchpage .shoushi-searchpage-tab { color: #6E6862; }
.shoushi-searchpage .shoushi-searchpage-tab.is-active { color: #1C1A17; }

/* 图片容器必须是块级，否则 width / aspect-ratio 失效（图片高度塌陷为 0） */
.shoushi-searchpage-card .shoushi-searchpage-imgwrap { display: block; }

/* 结果为空 / 切换入口的文字，避免继承浅色 */
.shoushi-searchpage .shoushi-searchpage-emptyalt a { color: #1C1A17; text-decoration: underline; }
.shoushi-searchpage .shoushi-searchpage-emptytitle { color: #1C1A17; }
.shoushi-searchpage .shoushi-searchpage-emptysub { color: #55504A; }

/* ============================================================================
   P0-05 / P0-06 版式对齐
   依据：确认版《DIAMLUME-搜索默认展开-2880-确认版.png》《DIAMLUME-搜索结果页-2880-确认版.png》
        + 执行要求 §11 / §12 / §19 参数表 / §22
   ============================================================================ */

/* ---------- 一、搜索默认展开面板（§12） ---------- */

/* 1) 顶部公告 + 主导航保持可见，遮罩只压住下方页面；
      确认稿中「搜索图标位置显示关闭按钮」，故关闭按钮改由导航内的
      #shoushi-search-toggle 承担（原面板内右上角的 X 隐去）。 */
.shoushi-searchpanel {
	inset: auto;
	top: var(--shoushi-hdr-h, 118px);
	right: 0;
	bottom: 0;
	left: 0;
}
.shoushi-searchpanel-box {
	top: 0;
	max-height: 100%;
	padding: 40px 48px 56px;
}
.shoushi-searchpanel-close { display: none; }

/* 2) 导航搜索按钮 → 打开时变 X（两条 1.5px 交叉线）。
      注意：按钮本身靠内嵌 24px SVG 撑开，SVG 隐藏后会塌成 0×0，
      因此必须显式给定尺寸（保持与其它导航图标一致的 24×24 占位，避免页头重排）。 */
.shoushi-search-toggle { position: relative; }
.shoushi-search-toggle.is-open {
	position: relative;
	width: 24px;
	height: 24px;
	padding: 0;
	justify-content: center;
}
.shoushi-search-toggle.is-open svg { display: none; }
.shoushi-search-toggle.is-open::before,
.shoushi-search-toggle.is-open::after {
	content: '';
	position: absolute;
	left: 50%; top: 50%;
	width: 18px; height: 1.5px;
	background: currentColor;
}
.shoushi-search-toggle.is-open::before { transform: translate(-50%, -50%) rotate(45deg); }
.shoushi-search-toggle.is-open::after  { transform: translate(-50%, -50%) rotate(-45deg); }

/* 3) 标题 Search DIAMLUME：Cormorant Garamond 500 / 42 / 48（§19 参数表） */
.shoushi-searchpanel-title {
	margin: 0 0 22px;
	font-size: 42px;
	line-height: 48px;
	letter-spacing: 0.005em;
}

/* 4) 展开区：搜索框 → 分隔线 → 左「三组快捷入口（纵向堆叠）」/ 右「推荐商品」 */
.shoushi-searchpanel-form { max-width: 1040px; }
.shoushi-searchpanel-input { height: 56px; }
.shoushi-searchpanel-submit { width: 56px; height: 56px; }

.shoushi-searchpanel-body {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 0;
	max-width: none;
	margin-top: 32px;
	border-top: 1px solid var(--shoushi-line);
	padding-top: 32px;
}
.shoushi-searchpanel-links {
	grid-template-columns: minmax(0, 1fr);
	gap: 34px;
	border-right: 1px solid var(--shoushi-line);
	padding-right: 32px;
}
.shoushi-searchpanel-products { padding-left: 32px; }

/* 5) 推荐商品标题 / 价格：Cormorant Garamond 500 20/25、400 18/24（§19 参数表） */
.shoushi-searchpanel-cardname {
	margin-top: 12px;
	font-size: 20px;
	line-height: 25px;
}
.shoushi-searchpanel-cardprice {
	margin-top: 4px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 24px;
}

/* ---------- 二、搜索结果页（§11 / §22） ---------- */

/* 1) 搜索框：居中、最大宽 1040、高 56、上距 24（§22） */
.shoushi-searchpage { max-width: none; padding: 24px 48px 80px; }
.shoushi-searchpage-form { max-width: 1040px; margin: 0 auto 24px; }
.shoushi-searchpage-input { height: 56px; }
.shoushi-searchpage-submit { width: 56px; height: 56px; }

/* 2) 结果类型标签：左对齐、间距 24、选中项下划线 1px、下内边距 8（§22） */
.shoushi-searchpage-tabs {
	justify-content: flex-start;
	gap: 24px;
	padding-bottom: 8px;
	margin-bottom: 20px;
}
.shoushi-searchpage-tab { line-height: 20px; }
.shoushi-searchpage-tab::after { bottom: -9px; height: 1px; }

/* 3) 工具行（数量 + Sort by）与结果列表的节奏：工具行下 24 进入结果（§22） */
.shoushi-searchpage-meta { margin-bottom: 24px; }

/* 4) 商品网格：4 列，列间 24；与工具区同一 48px 外边距（确认版实测对齐） */
.shoushi-searchpage-grid { gap: 40px 24px; }

/* ---------- 三、手机端 ---------- */
@media (max-width: 767px) {
	/* §12：关闭与搜索操作热区至少 44×44 */
	.shoushi-search-toggle,
	.shoushi-search-toggle.is-open { min-width: 44px; min-height: 44px; }

	.shoushi-searchpanel-box { padding: 24px 20px 40px; }
	.shoushi-searchpanel-title { font-size: 32px; line-height: 38px; }
	.shoushi-searchpanel-form,
	.shoushi-searchpanel-input { max-width: none; }
	.shoushi-searchpanel-body {
		display: block;
		margin-top: 24px;
		padding-top: 24px;
	}
	.shoushi-searchpanel-links {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
		border-right: 0;
		padding-right: 0;
		border-bottom: 1px solid var(--shoushi-line);
		padding-bottom: 20px;
	}
	.shoushi-searchpanel-products { padding-left: 0; padding-top: 20px; }
	.shoushi-searchpanel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.shoushi-searchpanel-cardname { font-size: 18px; line-height: 22px; }

	.shoushi-searchpage { padding: 20px 20px 56px; }
	.shoushi-searchpage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
	.shoushi-searchpage-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.shoushi-searchpage-tabs::-webkit-scrollbar { display: none; }
	.shoushi-searchpage-tab { white-space: nowrap; }
	.shoushi-searchpage-cardname { font-size: 18px; line-height: 22px; }
	.shoushi-searchpage-cardprice { font-size: 16px; line-height: 22px; }
}

/* ============================================================================
   P0-05 / P0-06 · 精校（《分类页面宣传图执行要求-20260917更新版》第十九节参数表）
   ----------------------------------------------------------------------------
   上一版只对齐了「视觉大方向」，本轮按 §19 的逐项数值校正，并修正两处与确认稿不符：
     · 展开面板搜索框：确认稿为「整幅宽（左右 56）」，上一版误设 max-width 1040
     · 结果页商品卡：§19 表内只规定「推荐商品标题 20/25、价格 18/24」，
       结果页卡片未单列 → 按 §19「商品网格沿用第十八节」，随 P1-01 一起收敛为
       名称 20/26、价格 Manrope 400 14/20 #716B64
   ----------------------------------------------------------------------------
   桌面基准 1440。展开面板（§19「默认展开状态」）：
     主体左右 56 / 顶部 32 / 底部 32；标题下 20 为输入框；输入框高 60、左右内边距 20、
     底色 #F5F1EC、直角；输入框与下方分隔线间 28，分隔线与内容间 28；
     侧栏宽 240，与推荐区间距 40，细竖线与内容间 24；侧栏链接行间 8，分组间 32；
     右侧四列等宽，列间 8；图至标题 10，标题至价格 8
   简化结果页（§19「提交后的简化结果页」）：
     搜索框最大宽 1040、居中、顶部 24、高 56，两侧至少 32；
     框下 24 排列标签，标签间 24、选中项下划线 1px、下内边距 8；
     再下 20 排列结果数量与 Filter／Sort，工具行下 24 进入结果
   手机（<768）：面板左右 20、顶部 24、标题下 16、输入框高 52、分组间 20、链接间 8、
     推荐两列列间 8；结果页左右 16、顶部 20、输入框高 52、标签行距搜索框 16、行间 12
   ============================================================================ */

/* ---------- 一、搜索默认展开面板 ---------- */
.shoushi-searchpanel-box { padding: 32px 56px; }
.shoushi-searchpanel-title { margin: 0 0 20px; font-size: 42px; line-height: 48px; }

/* 输入框：整幅宽 + 高 60 + 左右内边距 20 + 底色 #F5F1EC + 直角
   ※ 选择器要带 .shoushi-searchpanel 前缀、并加 !important：
     Avada 全局有 `.search input { border:1px solid #e7e6e6; padding:8px 15px;
     font-size:13px; color:#333 }`，特异性 (0,1,1)=11 > `.shoushi-searchpanel-input` (0,1,0)=10，
     会把输入框压成 13px / 8px 15px 内边距（已实测）。 */
.shoushi-searchpanel .shoushi-searchpanel-form { max-width: none; }
.shoushi-searchpanel .shoushi-searchpanel-input {
	height: 60px !important;
	padding: 0 64px 0 20px !important;
	background: #F5F1EC !important;
	border: 1px solid var(--shoushi-line) !important;
	border-radius: 0 !important;
	font-family: 'Manrope', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-size: 18px !important;
	line-height: 26px !important;
	color: #1C1A17 !important;
}
.shoushi-searchpanel .shoushi-searchpanel-submit { width: 60px; height: 60px; }

/* 输入框与分隔线间 28；分隔线与内容间 28；侧栏宽 240；侧栏与推荐区间距 40 */
.shoushi-searchpanel-body {
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 40px;
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px solid var(--shoushi-line);
}
/* 细竖线与内容间 24；分组间 32 */
.shoushi-searchpanel-links {
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	border-right: 1px solid var(--shoushi-line);
	padding-right: 24px;
}
.shoushi-searchpanel-products { padding-left: 0; }

/* 分组名 Manrope 500 12/18 字距 .14em；链接 Manrope 400 16/24；链接行间 8 */
.shoushi-searchpanel-grouptitle { font-weight: 500; font-size: 12px; line-height: 18px; letter-spacing: 0.14em; }
.shoushi-searchpanel-group li + li { margin-top: 8px; }
.shoushi-searchpanel-group a {
	min-height: 24px;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
}

/* 推荐区：四列等宽、列间 8；图至标题 10、标题至价格 8 */
.shoushi-searchpanel-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.shoushi-searchpanel-cardname { margin-top: 10px; font-size: 20px; line-height: 25px; }
.shoushi-searchpanel-cardprice { margin-top: 8px; font-size: 18px; line-height: 24px; }

/* ---------- 二、搜索结果页 ---------- */
/* 容器：内容最大 1440 居中；顶部 24；标签／工具行左右 40；网格左右 10（与分类页同一网格） */
.shoushi-searchpage {
	max-width: 1440px;
	margin: 0 auto;
	padding: 24px 0 80px;
}
.shoushi-searchpage .shoushi-searchpage-form { max-width: 1040px; margin: 0 auto 24px; }
.shoushi-searchpage .shoushi-searchpage-input {
	height: 56px !important;
	padding: 0 60px 0 20px !important;
	background: var(--shoushi-warm) !important;
	border: 1px solid var(--shoushi-line) !important;
	border-radius: 0 !important;
	font-family: 'Manrope', Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-size: 18px !important;
	line-height: 26px !important;
	color: #1C1A17 !important;
	outline: none;
}
.shoushi-searchpage .shoushi-searchpage-submit { width: 56px; height: 56px; }

/* 标签：左右 40，间距 24，选中项下划线 1px、下内边距 8；工具行在其下 20 */
.shoushi-searchpage-tabs {
	padding: 0 40px 8px;
	gap: 24px;
	margin-bottom: 20px;
}
.shoushi-searchpage-tab { font-weight: 500; font-size: 14px; line-height: 20px; }
.shoushi-searchpage-tab::after { bottom: -9px; height: 1px; }

/* 工具行：左右 40，下 24 进入结果 */
.shoushi-searchpage-meta { padding: 0 40px; margin-bottom: 24px; font-weight: 400; font-size: 14px; line-height: 22px; }
.shoushi-searchpage-tools { display: flex; align-items: center; gap: 24px; }
.shoushi-searchpage-filterbtn {
	margin: 0; padding: 0;
	background: none; border: 0;
	-webkit-appearance: none; appearance: none;
	cursor: pointer;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 500; font-size: 14px; line-height: 20px;
	color: #1C1A17;
	white-space: nowrap;
}
.shoushi-searchpage-filterbtn:hover { text-decoration: underline; }
.shoushi-searchpage-filterbtn:focus-visible { outline: 1px solid #1C1A17; outline-offset: 4px; }
.shoushi-searchpage-sort { gap: 12px; }
.shoushi-searchpage-label { font-weight: 500; font-size: 14px; line-height: 20px; letter-spacing: 0; text-transform: none; color: #1C1A17; }
.shoushi-searchpage-sort select { min-width: 180px; height: 52px; padding: 0 16px; font-weight: 400; font-size: 14px; line-height: 20px; }

/* 结果网格：左右 10、列间 10、行间 32（P1-01 商品列表共用网格） */
.shoushi-searchpage-grid { padding: 0 10px; gap: 32px 10px; }
.shoushi-searchpage-cardname {
	margin-top: 12px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 26px;
}
.shoushi-searchpage-cardprice {
	margin-top: 12px;
	font-family: 'Manrope', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
}
.shoushi-searchpage-card .shoushi-searchpage-imgwrap { display: block; }

/* 卡片文字配色与分类页统一（P1-01：名 #1D1A18 / 价 #716B64）。
   ※ 用 (0,3,0) 选择器压过 P0-06 修复块的 (0,2,0)#1C1A17/#55504A，并压过
     kinnstudio.css `.shoushi-kinn a { color:#F7F3EC }`（(0,1,1)=11）。 */
.shoushi-kinn .shoushi-searchpage-card .shoushi-searchpage-cardname { color: #1D1A18; }
.shoushi-kinn .shoushi-searchpage-card .shoushi-searchpage-cardprice,
.shoushi-kinn .shoushi-searchpage-card .shoushi-searchpage-cardprice .woocommerce-Price-amount,
.shoushi-kinn .shoushi-searchpage-card .shoushi-searchpage-cardprice .amount,
.shoushi-kinn .shoushi-searchpage-card .shoushi-searchpage-cardprice bdi,
.shoushi-kinn .shoushi-searchpage-card .shoushi-searchpage-cardprice .shoushi-price-from { color: #716B64; }
.shoushi-kinn .shoushi-searchpanel-card .shoushi-searchpanel-cardname { color: #1C1A17; }
.shoushi-kinn .shoushi-searchpanel-card .shoushi-searchpanel-cardprice,
.shoushi-kinn .shoushi-searchpanel-card .shoushi-searchpanel-cardprice .woocommerce-Price-amount,
.shoushi-kinn .shoushi-searchpanel-card .shoushi-searchpanel-cardprice .amount,
.shoushi-kinn .shoushi-searchpanel-card .shoushi-searchpanel-cardprice bdi,
.shoushi-kinn .shoushi-searchpanel-card .shoushi-searchpanel-cardprice .shoushi-price-from { color: #55504A; }
/* 真实卡片里的 From 前缀继承卡片价格色 */
.shoushi-searchpage-card .shoushi-price-from { font: inherit; color: inherit; }

/* 内容型结果（Collections / Guides & Pages / Journal）：§19 非商品结果标题 24/30、摘要 14/22 */
.shoushi-searchpage-list { margin: 0 40px; }

/* ---------- 三、手机 ---------- */
@media (max-width: 767px) {
	.shoushi-searchpanel-box { padding: 24px 20px 40px; }
	.shoushi-searchpanel-title { font-size: 32px; line-height: 38px; margin-bottom: 16px; }
	.shoushi-searchpanel-input { height: 52px; font-size: 16px; line-height: 24px; }
	.shoushi-searchpanel-submit { width: 52px; height: 52px; }
	.shoushi-searchpanel-body { display: block; margin-top: 24px; padding-top: 24px; }
	.shoushi-searchpanel-links {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
		border-right: 0;
		padding-right: 0;
		border-bottom: 1px solid var(--shoushi-line);
		padding-bottom: 20px;
	}
	.shoushi-searchpanel-group li + li { margin-top: 8px; }
	.shoushi-searchpanel-group a { font-size: 14px; line-height: 22px; min-height: 22px; }
	.shoushi-searchpanel-products { padding-left: 0; padding-top: 20px; }
	.shoushi-searchpanel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 8px; }
	.shoushi-searchpanel-cardname { font-size: 18px; line-height: 22px; }

	.shoushi-searchpage { padding: 20px 0 56px; }
	.shoushi-searchpage-form { max-width: none; margin: 0 16px 16px; }
	.shoushi-searchpage-input { height: 52px; font-size: 16px; line-height: 24px; }
	.shoushi-searchpage-submit { width: 52px; height: 52px; }
	.shoushi-searchpage-tabs { padding: 0 16px 8px; margin-bottom: 16px; }
	.shoushi-searchpage-meta { padding: 0 16px; flex-wrap: wrap; gap: 12px; }
	.shoushi-searchpage-tools { flex-wrap: wrap; gap: 12px; }
	.shoushi-searchpage-sort select { min-width: 0; width: 100%; }
	.shoushi-searchpage-grid { padding: 0 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
	.shoushi-searchpage-cardname { font-size: 16px; line-height: 22px; }
	.shoushi-searchpage-cardprice { font-size: 13px; line-height: 20px; }
	.shoushi-searchpage-list { margin: 0 16px; }
}
