/* One Spa Warm Spring · 单品页（osw 壳）—— 竖向卡片，对齐配套页 osw-pk 视觉语言。
   复用 packages.css 的 .osw-bar / .osw-cart / .osw-foot / .osw-btn / .osw-bmodal 弹层 + 其 :root token。
   色彩全部走官方 8 色 token（阶段4 合规校准）：奶杏白底 / 墨褐字 / 赤陶价；价格补思源宋。 */

body.onespa-single {
	margin: 0;
	background: var(--cream);
	color: var(--ink);
	font-family: "Noto Sans SC", system-ui, -apple-system, "PingFang SC", sans-serif;
}
body.onespa-single .osw-app { background: var(--cream); }

.osw-sp {
	max-width: 580px;
	margin: 0 auto;
	padding: 14px 16px 52px;
}

.osw-sp-back {
	display: inline-block;
	margin: 4px 2px 14px;
	color: var(--ink-soft);
	text-decoration: none;
	font-size: 15px;
}
.osw-sp-back:hover { color: var(--clay); }

/* 竖向卡片：图在上、内容在下（与配套页卡片同构，去掉左右两栏的尴尬空白） */
.osw-sp-card {
	background: var(--paper);
	border: 1px solid var(--line-soft);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 18px 48px rgba(110, 42, 28, .13);
}
.osw-sp-img {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--rose);
}
.osw-sp-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.osw-sp-body { padding: 26px 26px 30px; }

.osw-sp-name {
	font-size: 31px;
	line-height: 1.18;
	margin: 0 0 14px;
	color: var(--clay);
	letter-spacing: .02em;
}
.osw-sp-meta {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: 4px;
}
.osw-sp-dur { color: var(--ink-soft); font-size: 15px; }
.osw-sp-price {
	font-family: "Noto Serif SC", serif;
	color: var(--clay);
	font-size: 29px;
	font-weight: 700;
	letter-spacing: .3px;
}
.osw-sp-price .osw-sp-unit { font-family: "Noto Sans SC", sans-serif; font-size: 14px; font-weight: 400; color: var(--ink-soft); }

.osw-sp-taxnote {
	color: var(--ink-soft);
	font-size: 12.5px;
	margin: 6px 0 20px;
}

.osw-sp-desc {
	color: var(--ink);
	line-height: 1.78;
	font-size: 15.5px;
	margin-bottom: 6px;
}
.osw-sp-desc p { margin: 0 0 12px; }
.osw-sp-desc-empty { color: var(--ink-soft); font-style: italic; }

/* R2-05 原价划线 */
.osw-sp-was {
	font-family: "Noto Sans SC", sans-serif;
	color: var(--taupe);
	font-size: 17px;
	font-weight: 400;
	text-decoration: line-through;
	margin-right: 6px;
}

/* R2-02 门票关系须知框 */
.osw-sp-note {
	margin-top: 16px;
	padding: 13px 16px;
	background: var(--peach);
	border-left: 3px solid var(--terra);
	border-radius: 8px;
	color: var(--ink);
	font-size: 13px;
	line-height: 1.7;
}

/* R2-04 风暴浴双价位：RM699 主推高亮 + RM499/小时 对比锚点 */
.osw-sp-roomprice { margin: 4px 0 2px; }
.osw-sp-combo { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; }
.osw-sp-combo .osw-sp-price { font-size: 32px; }
.osw-sp-combo-badge {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--peach);
	background: var(--terra);
	padding: 3px 10px;
	border-radius: 100px;
}
.osw-sp-combo-label {
	flex-basis: 100%;
	color: var(--ink-soft);
	font-size: 13px;
	margin-top: 2px;
}
.osw-sp-hourly {
	margin-top: 8px;
	color: var(--ink-soft);
	font-size: 16px;
	font-family: "Noto Serif SC", serif;
}
.osw-sp-hourly small { font-family: "Noto Sans SC", sans-serif; font-size: 12.5px; }

.osw-sp-cta { margin-top: 22px; }

@media (max-width: 480px) {
	.osw-sp-img { aspect-ratio: 4 / 3; }
	.osw-sp-body { padding: 22px 20px 26px; }
	.osw-sp-name { font-size: 27px; }
}

/* 单品页 body 带 .woocommerce-page，其 `img{height:auto}`(0,0,1,1) 比 .osw-flogo(0,0,1,0) 更 specific，
   会把页脚 logo 撑成原图高(412×230)。用 .osw-foot .osw-flogo(0,0,2,0)夺回 44px。 */
.osw-foot .osw-flogo { height: 44px; width: auto; }
